diff --git a/DEPS b/DEPS
index 2042322..ab4c0c1 100644
--- a/DEPS
+++ b/DEPS
@@ -245,19 +245,19 @@
   # 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': '1f2435f46b48a19b3818df20085af685119cb8e0',
+  'skia_revision': '1351a5954f99df4d3bd280fc4d313e5a8841c17d',
   # 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': '50e6d38885688ec38fcc5ccd214ac16eb85ee389',
+  'v8_revision': '008b5322301289852198d9275e20c48884c4a107',
   # 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': '464396c7b9edd05a329ed33135e53a844dca699a',
+  'angle_revision': '4ac0f1436354b7b92b00e14a7ac4ce9168af240b',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
-  'swiftshader_revision': '6014f10de5542e5f2727583b43dd35b737643d0c',
+  'swiftshader_revision': '8b32b5bd46985259fadf6655e855c3aee127c718',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
@@ -292,7 +292,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling freetype
   # and whatever else without interference from each other.
-  'freetype_revision': '56d182a74d90cde8753d5ec28d37f748f909c729',
+  'freetype_revision': 'dd8676b2779a5c2130d6265a4e966515ff0509f6',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling freetype
   # and whatever else without interference from each other.
@@ -320,7 +320,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling devtools-frontend
   # and whatever else without interference from each other.
-  'devtools_frontend_revision': '4d1f2028c3076194a05decd1a94574ff48f2c22b',
+  'devtools_frontend_revision': '75d2a066e43661fbbab4388da3df36bccbaa2bb1',
   # 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.
@@ -360,7 +360,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': '7c5000abeaec4b9ecb7a8368c3519d7b4d3ba9ec',
+  'dawn_revision': 'e0db2b9bafd6353cf7863373e6610c439c06d7cf',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -663,7 +663,7 @@
     Var('chromium_git') + '/external/github.com/toji/webvr.info.git' + '@' + 'c58ae99b9ff9e2aa4c524633519570bf33536248',
 
   'src/docs/website': {
-    'url': Var('chromium_git') + '/website.git' + '@' + '1458c7dec61fcadb57f9cebb556a218dadd7a4ba',
+    'url': Var('chromium_git') + '/website.git' + '@' + '6b3d35fe83261e5eac5e082865e6913ebfe4fd79',
   },
 
   'src/ios/third_party/earl_grey2/src': {
@@ -768,7 +768,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/linux-amd64',
-          'version': '8X5fry_0LEaM9wa7o8gU_75JRNKxeK3jclA_VbJ0VVkC',
+          'version': 'YaDR_sd3y7nMyjWjVlImgsn30rTmuO92WVaRH0MW6CsC',
         },
       ],
       'dep_type': 'cipd',
@@ -779,7 +779,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/mac-amd64',
-          'version': 'lm1hYgyIhU0Sj0zojQpmEwmjsEV9NNrsfq7uyb8WWEYC',
+          'version': 'PITkHeFLTCoVpwaONJiDW9xJ7g4UWfZ-DYl4qSQ9jE4C',
         },
       ],
       'dep_type': 'cipd',
@@ -790,7 +790,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/windows-amd64',
-          'version': 'PoRAJoRaSvyMXayzldUoA0kCx2B4qvUyWPBQ__fHBvAC',
+          'version': 'f7pzWoHRXKfCHR41LP6KNJ_OpGkPApodlyGs3ObPIwYC',
         },
       ],
       'dep_type': 'cipd',
@@ -851,7 +851,7 @@
     'packages': [
       {
           'package': 'chromium/third_party/androidx',
-          'version': 'nfjVLoN-XGTXpgb9_rGZXUPYfs_5j9hzi26MwMKtcsYC',
+          'version': 'z0_8IP3oNNpzyK8deRS7SNRpW9oeD_V3jrSJuW89QDUC',
       },
     ],
     'condition': 'checkout_android',
@@ -1070,7 +1070,7 @@
   # Tools used when building Chrome for Chrome OS. This affects both the Simple
   # Chrome workflow, as well as the chromeos-chrome ebuild.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '979718c7892a78c83e083f4aaa0b84668a32a108',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'd56591c51b77b35d941d0cf159387f25aaef3bdf',
       'condition': 'checkout_chromeos',
   },
 
@@ -1230,7 +1230,7 @@
     Var('chromium_git') + '/chromium/deps/hunspell_dictionaries.git' + '@' + '18e09b9197a3b1d771c077c530d1a4ebad04c167',
 
   'src/third_party/icu':
-    Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '609143a639dcc0884a87c899614895ce129afdb8',
+    Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '2e0f2989441ec2f55abec30f48e89981dbac2c34',
 
   'src/third_party/icu4j': {
       'packages': [
@@ -1473,7 +1473,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + '8d95cd174a866457acd2ef57eae1ee43c6799d96',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '3bcca55bc51476087892050a0ff530f465226cf1',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1655,7 +1655,7 @@
   'src/third_party/usrsctp/usrsctplib':
     Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '62d7d0c928c9a040dce96aa2f16c00e7e67d59cb',
 
-  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@3a6f074dbd38e318d7b36551276c0dca5870808b',
+  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@3126799a96dcf9e4838d80b6eb858020057c12e4',
 
   'src/third_party/vulkan_memory_allocator':
     Var('chromium_git') + '/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git' + '@' + 'ebe84bec02c041d28f902da0214bf442743fc907',
@@ -1764,7 +1764,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@02cbb4e7969f8898a0d480347a2a5cba52373a6f',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@f9b445b79db8126c2023d3edf981081bcda2ea78',
     'condition': 'checkout_src_internal',
   },
 
@@ -1794,7 +1794,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/help_app/app',
-        'version': 'jutDQDmnS5gUIpisrhe9upy-MFj8T7I75wXb5OUHMwkC',
+        'version': 'ukvpW97JmsEe_PUH_dAYvpTReZZk5ZNRDtg_eWouu7AC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -1805,7 +1805,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/media_app/app',
-        'version': 'UOU2eOss5fCkkYxOrr15lhw_fJqs5rYUZ-AwzvfsupYC',
+        'version': 'ys03EtngWhLQQ7994Y64lxbHzdOBnnobHlw2b37ou94C',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/SafeBrowsingTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/SafeBrowsingTest.java
index 64e46d3..db0fd2ac 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/SafeBrowsingTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/SafeBrowsingTest.java
@@ -52,7 +52,6 @@
 import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.CriteriaNotSatisfiedException;
 import org.chromium.base.test.util.Feature;
-import org.chromium.base.test.util.FlakyTest;
 import org.chromium.base.test.util.InMemorySharedPreferences;
 import org.chromium.components.safe_browsing.SafeBrowsingApiBridge;
 import org.chromium.components.safe_browsing.SafeBrowsingApiHandler;
@@ -1142,7 +1141,6 @@
     @Test
     @SmallTest
     @Feature({"AndroidWebView"})
-    @FlakyTest(message = "Test is flaky, see crbug.com/1286902")
     public void testSafeBrowsingClickWhitePaperLink() throws Throwable {
         final String whitepaperUrl =
                 Uri.parse("https://www.google.com/chrome/browser/privacy/whitepaper.html")
diff --git a/android_webview/tools/system_webview_shell/BUILD.gn b/android_webview/tools/system_webview_shell/BUILD.gn
index 0a955e5..a9d90d4 100644
--- a/android_webview/tools/system_webview_shell/BUILD.gn
+++ b/android_webview/tools/system_webview_shell/BUILD.gn
@@ -159,6 +159,7 @@
     "//third_party/blink/web_tests/virtual/stable/webexposed/",
     "//third_party/blink/web_tests/webexposed/global-interface-listing.html",
     "//third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt",
+    "//third_party/blink/web_tests/webexposed/global-interface-listing-platform-specific-expected.txt",
   ]
   use_webview_provider = system_webview_apk_target
 }
diff --git a/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java b/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java
index d99a123..c617586 100644
--- a/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java
+++ b/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java
@@ -146,7 +146,6 @@
         }
     }
 
-    @DisabledTest(message = "https://crbug.com/1293089")
     @Test
     @MediumTest
     public void testWebViewExcludedInterfaces() throws Exception {
@@ -155,6 +154,8 @@
                 + "webexposed/global-interface-listing.html", mTestActivity);
         String blinkExpected = readFile(PATH_BLINK_PREFIX
                 + "webexposed/global-interface-listing-expected.txt");
+        String blinkPlatformSpecificExpected = readFile(PATH_BLINK_PREFIX
+                + "webexposed/global-interface-listing-platform-specific-expected.txt");
         String webviewExcluded = readFile(PATH_WEBVIEW_PREFIX
                 + "webexposed/not-webview-exposed.txt");
         mTestActivity.waitForFinish(TIMEOUT_SECONDS, TimeUnit.SECONDS);
@@ -164,6 +165,8 @@
                 buildHashMap(webviewExcluded);
         HashMap<String, HashSet<String>> webviewInterfacesMap = buildHashMap(result);
         HashMap<String, HashSet<String>> blinkInterfacesMap = buildHashMap(blinkExpected);
+        blinkInterfacesMap = buildHashMap(blinkPlatformSpecificExpected, blinkInterfacesMap);
+
         StringBuilder unexpected = new StringBuilder();
 
         // Check that each excluded interface and its properties are present in blinkInterfaceMap
@@ -437,10 +440,16 @@
     }
 
     private HashMap<String, HashSet<String>> buildHashMap(String contents) {
+        HashMap<String, HashSet<String>> interfaces = new HashMap<String, HashSet<String>>();
+
+        return buildHashMap(contents, interfaces);
+    }
+
+    private HashMap<String, HashSet<String>> buildHashMap(
+            String contents, HashMap<String, HashSet<String>> interfaces) {
         String[] lineByLine = contents.split("\\n");
 
         HashSet<String> subset = null;
-        HashMap<String, HashSet<String>> interfaces = new HashMap<String, HashSet<String>>();
         for (String line : lineByLine) {
             String s = trimAndRemoveComments(line);
             if (isInterfaceOrGlobalObject(s)) {
diff --git a/android_webview/tools/system_webview_shell/test/data/webexposed/not-webview-exposed.txt b/android_webview/tools/system_webview_shell/test/data/webexposed/not-webview-exposed.txt
index 671c49c..1a27939 100644
--- a/android_webview/tools/system_webview_shell/test/data/webexposed/not-webview-exposed.txt
+++ b/android_webview/tools/system_webview_shell/test/data/webexposed/not-webview-exposed.txt
@@ -224,7 +224,7 @@
 interface BluetoothRemoteGATTCharacteristic : EventTarget
 interface BluetoothRemoteGATTDescriptor
 interface BluetoothRemoteGATTServer
-interface BluetoothRemoteGATTService : EventTarget
+interface BluetoothRemoteGATTService
 interface BluetoothUUID
 
 # WebUSB is not implemented on WebView. crbug.com/933055
diff --git a/ash/accessibility/accessibility_controller_impl.cc b/ash/accessibility/accessibility_controller_impl.cc
index 988c23f..0402b13b 100644
--- a/ash/accessibility/accessibility_controller_impl.cc
+++ b/ash/accessibility/accessibility_controller_impl.cc
@@ -2027,7 +2027,7 @@
 
     key_codes[key_code] = std::set<std::string>();
 
-    for (const base::Value& device_type : v.second.GetList())
+    for (const base::Value& device_type : v.second.GetListDeprecated())
       key_codes[key_code].insert(device_type.GetString());
 
     DCHECK(!key_codes[key_code].empty());
diff --git a/ash/ambient/ambient_controller.h b/ash/ambient/ambient_controller.h
index 6b344ad..5c1e3cc 100644
--- a/ash/ambient/ambient_controller.h
+++ b/ash/ambient/ambient_controller.h
@@ -140,9 +140,10 @@
  private:
   friend class AmbientAshTestBase;
   friend class AmbientControllerTest;
-  FRIEND_TEST_ALL_PREFIXES(AmbientControllerTest,
+  FRIEND_TEST_ALL_PREFIXES(AmbientControllerTestForAnyTheme,
                            BindsObserversWhenAmbientEnabled);
-  FRIEND_TEST_ALL_PREFIXES(AmbientControllerTest, BindsObserversWhenAmbientOn);
+  FRIEND_TEST_ALL_PREFIXES(AmbientControllerTestForAnyTheme,
+                           BindsObserversWhenAmbientOn);
 
   // Hide or close Ambient mode UI.
   void DismissUI();
diff --git a/ash/ambient/ambient_controller_unittest.cc b/ash/ambient/ambient_controller_unittest.cc
index b30cfa20..4fd8038 100644
--- a/ash/ambient/ambient_controller_unittest.cc
+++ b/ash/ambient/ambient_controller_unittest.cc
@@ -90,11 +90,6 @@
 
 // Tests for behavior that are agnostic to the AmbientAnimationTheme selected by
 // the user should use this test harness.
-//
-// Currently there are test cases that actually fall under this category but
-// do not use this test fixture. This is done purely for time constraint reasons
-// (it takes a lot of compute time to repeat every single one of these test
-// cases).
 class AmbientControllerTestForAnyTheme
     : public AmbientControllerTest,
       public ::testing::WithParamInterface<AmbientAnimationTheme> {
@@ -112,6 +107,11 @@
     // to make sure that fundamental behavior holds for both the slideshow and
     // lottie-animated codepaths.
     testing::Values(AmbientAnimationTheme::kSlideshow
+// TODO(esum): Fully enable this AmbientAnimationTheme once:
+// * The |include_ash_ambient_animation_resources| GN arg is true by default
+//   (the resources' size is currently being reduced to fit in the image).
+// * The ash ambient resources are publishable (they are currently WIP).
+// The tests will crash/fail without these resources available.
 #if BUILDFLAG(HAS_ASH_AMBIENT_ANIMATION_RESOURCES)
                     ,
                     AmbientAnimationTheme::kFeelTheBreeze
@@ -236,7 +236,7 @@
   EXPECT_TRUE(GetContainerViews().empty());
 }
 
-TEST_F(AmbientControllerTest, NotShowAmbientWhenLockSecondaryUser) {
+TEST_P(AmbientControllerTestForAnyTheme, NotShowAmbientWhenLockSecondaryUser) {
   // Simulate the login screen.
   ClearLogin();
   SimulateUserLogin(kUser1);
@@ -289,7 +289,8 @@
   EXPECT_FALSE(IsAccessTokenRequestPending());
 }
 
-TEST_F(AmbientControllerTest, ShouldNotRequestAccessTokenWhenPrefNotEnabled) {
+TEST_P(AmbientControllerTestForAnyTheme,
+       ShouldNotRequestAccessTokenWhenPrefNotEnabled) {
   SetAmbientModeEnabled(false);
   EXPECT_FALSE(IsAccessTokenRequestPending());
 
@@ -327,7 +328,7 @@
   CloseAmbientScreen();
 }
 
-TEST_F(AmbientControllerTest, ShouldReturnEmptyAccessToken) {
+TEST_P(AmbientControllerTestForAnyTheme, ShouldReturnEmptyAccessToken) {
   EXPECT_FALSE(IsAccessTokenRequestPending());
 
   // Lock the screen will request a token.
@@ -369,7 +370,8 @@
   CloseAmbientScreen();
 }
 
-TEST_F(AmbientControllerTest, ShouldRetryRefreshAccessTokenAfterFailure) {
+TEST_P(AmbientControllerTestForAnyTheme,
+       ShouldRetryRefreshAccessTokenAfterFailure) {
   EXPECT_FALSE(IsAccessTokenRequestPending());
 
   // Lock the screen will request a token.
@@ -386,7 +388,8 @@
   CloseAmbientScreen();
 }
 
-TEST_F(AmbientControllerTest, ShouldRetryRefreshAccessTokenWithBackoffPolicy) {
+TEST_P(AmbientControllerTestForAnyTheme,
+       ShouldRetryRefreshAccessTokenWithBackoffPolicy) {
   EXPECT_FALSE(IsAccessTokenRequestPending());
 
   // Lock the screen will request a token.
@@ -411,7 +414,8 @@
   CloseAmbientScreen();
 }
 
-TEST_F(AmbientControllerTest, ShouldRetryRefreshAccessTokenOnlyThreeTimes) {
+TEST_P(AmbientControllerTestForAnyTheme,
+       ShouldRetryRefreshAccessTokenOnlyThreeTimes) {
   EXPECT_FALSE(IsAccessTokenRequestPending());
 
   // Lock the screen will request a token.
@@ -445,7 +449,7 @@
   CloseAmbientScreen();
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        CheckAcquireAndReleaseWakeLockWhenBatteryIsCharging) {
   // Simulate a device being connected to a charger initially.
   SetPowerStateCharging();
@@ -479,7 +483,7 @@
                    device::mojom::WakeLockType::kPreventDisplaySleep));
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        CheckAcquireAndReleaseWakeLockWhenBatteryBatteryIsFullAndDischarging) {
   SetPowerStateDischarging();
   SetBatteryPercent(100.f);
@@ -514,7 +518,7 @@
                    device::mojom::WakeLockType::kPreventDisplaySleep));
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        CheckAcquireAndReleaseWakeLockWhenBatteryStateChanged) {
   SetPowerStateDischarging();
   SetExternalPowerConnected();
@@ -656,7 +660,7 @@
   EXPECT_FALSE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        ShouldDismissContainerViewOnKeyEventWhenLockScreenInBackground) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(true);
   SetPowerStateCharging();
@@ -679,7 +683,7 @@
   EXPECT_FALSE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        ShouldShowAmbientScreenWithLockscreenWhenScreenIsDimmed) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(true);
   SetPowerStateCharging();
@@ -700,7 +704,7 @@
   EXPECT_FALSE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        ShouldShowAmbientScreenWithLockscreenWithNoisyPowerEvents) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(true);
   SetPowerStateCharging();
@@ -728,7 +732,7 @@
   EXPECT_FALSE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        ShouldShowAmbientScreenWithoutLockscreenWhenScreenIsDimmed) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(true);
   // When power is discharging, we do not lock the screen with ambient
@@ -754,7 +758,8 @@
   CloseAmbientScreen();
 }
 
-TEST_F(AmbientControllerTest, ShouldShowAmbientScreenWhenScreenIsDimmed) {
+TEST_P(AmbientControllerTestForAnyTheme,
+       ShouldShowAmbientScreenWhenScreenIsDimmed) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(false);
   SetPowerStateCharging();
   EXPECT_FALSE(ambient_controller()->IsShown());
@@ -774,7 +779,8 @@
   CloseAmbientScreen();
 }
 
-TEST_F(AmbientControllerTest, ShouldHideAmbientScreenWhenDisplayIsOff) {
+TEST_P(AmbientControllerTestForAnyTheme,
+       ShouldHideAmbientScreenWhenDisplayIsOff) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(false);
   EXPECT_FALSE(ambient_controller()->IsShown());
 
@@ -797,7 +803,7 @@
   EXPECT_FALSE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        ShouldHideAmbientScreenWhenDisplayIsOffThenComesBackWithLockScreen) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(true);
   SetPowerStateCharging();
@@ -831,7 +837,7 @@
   EXPECT_TRUE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest,
+TEST_P(AmbientControllerTestForAnyTheme,
        ShouldHideAmbientScreenWhenDisplayIsOffAndNotStartWhenLockScreen) {
   GetSessionControllerClient()->SetShouldLockScreenAutomatically(true);
   SetPowerStateDischarging();
@@ -899,6 +905,7 @@
   FastForwardTiny();
 
   ShowAmbientScreen();
+  FastForwardToNextImage();
 
   auto* screen = display::Screen::GetScreen();
   EXPECT_EQ(screen->GetNumDisplays(), 2);
@@ -921,6 +928,7 @@
 
   UpdateDisplay("800x600");
   ShowAmbientScreen();
+  FastForwardToNextImage();
 
   auto* screen = display::Screen::GetScreen();
   EXPECT_EQ(screen->GetNumDisplays(), 1);
@@ -945,6 +953,7 @@
   FastForwardTiny();
 
   ShowAmbientScreen();
+  FastForwardToNextImage();
 
   auto* screen = display::Screen::GetScreen();
   EXPECT_EQ(screen->GetNumDisplays(), 2);
@@ -960,7 +969,7 @@
   EXPECT_TRUE(WidgetsVisible());
 }
 
-TEST_F(AmbientControllerTest, ClosesAmbientBeforeSuspend) {
+TEST_P(AmbientControllerTestForAnyTheme, ClosesAmbientBeforeSuspend) {
   LockScreen();
   FastForwardToLockScreenTimeout();
 
@@ -975,7 +984,7 @@
   EXPECT_FALSE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest, RestartsAmbientAfterSuspend) {
+TEST_P(AmbientControllerTestForAnyTheme, RestartsAmbientAfterSuspend) {
   LockScreen();
   FastForwardToLockScreenTimeout();
 
@@ -997,7 +1006,7 @@
   EXPECT_TRUE(ambient_controller()->IsShown());
 }
 
-TEST_F(AmbientControllerTest, ObservesPrefsWhenAmbientEnabled) {
+TEST_P(AmbientControllerTestForAnyTheme, ObservesPrefsWhenAmbientEnabled) {
   SetAmbientModeEnabled(false);
 
   // This pref is always observed.
@@ -1019,7 +1028,7 @@
     EXPECT_TRUE(IsPrefObserved(pref_name));
 }
 
-TEST_F(AmbientControllerTest, BindsObserversWhenAmbientEnabled) {
+TEST_P(AmbientControllerTestForAnyTheme, BindsObserversWhenAmbientEnabled) {
   auto* ctrl = ambient_controller();
 
   SetAmbientModeEnabled(false);
@@ -1038,7 +1047,8 @@
   EXPECT_TRUE(AreSessionSpecificObserversBound());
 }
 
-TEST_F(AmbientControllerTest, SwitchActiveUsersDoesNotDoubleBindObservers) {
+TEST_P(AmbientControllerTestForAnyTheme,
+       SwitchActiveUsersDoesNotDoubleBindObservers) {
   ClearLogin();
   SimulateUserLogin(kUser1);
   SetAmbientModeEnabled(true);
@@ -1063,7 +1073,7 @@
   session->SwitchActiveUser(AccountId::FromUserEmail(kUser2));
 }
 
-TEST_F(AmbientControllerTest, BindsObserversWhenAmbientOn) {
+TEST_P(AmbientControllerTestForAnyTheme, BindsObserversWhenAmbientOn) {
   auto* ctrl = ambient_controller();
 
   LockScreen();
@@ -1101,6 +1111,11 @@
   EXPECT_FALSE(ambient_controller()->IsShown());
 }
 
+// TODO(esum): Fully enable this test once:
+// * The |include_ash_ambient_animation_resources| GN arg is true by default
+//   (the resources' size is currently being reduced to fit in the image).
+// * The ash ambient resources are publishable (they are currently WIP).
+// This test will crash/fail without these resources available.
 #if BUILDFLAG(HAS_ASH_AMBIENT_ANIMATION_RESOURCES)
 #define MAYBE_RendersCorrectView RendersCorrectView
 #else
diff --git a/ash/ambient/backdrop/ambient_backend_controller_impl.cc b/ash/ambient/backdrop/ambient_backend_controller_impl.cc
index 453045f5..971e2df7 100644
--- a/ash/ambient/backdrop/ambient_backend_controller_impl.cc
+++ b/ash/ambient/backdrop/ambient_backend_controller_impl.cc
@@ -178,7 +178,7 @@
     return absl::nullopt;
 
   WeatherInfo weather_info;
-  const auto& list_result = result.GetList();
+  const auto& list_result = result.GetListDeprecated();
 
   weather_info.condition_icon_url = GetStringValue(
       list_result, backdrop::WeatherInfo::kConditionIconUrlFieldNumber);
diff --git a/ash/ambient/resources/BUILD.gn b/ash/ambient/resources/BUILD.gn
index 5def896..d40e86d 100644
--- a/ash/ambient/resources/BUILD.gn
+++ b/ash/ambient/resources/BUILD.gn
@@ -2,14 +2,15 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//ash/ambient/resources/resources.gni")
 import("//build/cipd/cipd.gni")
+import("//build/config/chrome_build.gni")
 import("//build/config/chromeos/ui_mode.gni")
 import("//tools/grit/grit_rule.gni")
 import("//ui/webui/resources/tools/generate_grd.gni")
 
-assert(is_chromeos_ash)
-assert(include_ash_ambient_animation_resources)
+# See DEPS file. Both of these are prerequisites for downloading Lottie
+# ambient mode resources from CIPD.
+assert(is_chromeos_ash && is_chrome_branded)
 
 lottie_resources_grd_file = "$target_gen_dir/lottie_resources.grd"
 
diff --git a/ash/ambient/resources/resources.gni b/ash/ambient/resources/resources.gni
index 9dd6214..28e5435 100644
--- a/ash/ambient/resources/resources.gni
+++ b/ash/ambient/resources/resources.gni
@@ -2,16 +2,12 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//build/config/chrome_build.gni")
-import("//build/config/chromeos/ui_mode.gni")
-
 declare_args() {
-  # Build flag to include resources for the animated screensaver in ash builds.
-  #
-  # Currently, these resources are included by default for internal ChromeOS
-  # builds as both conditions below are prerequisites for downloading Lottie
-  # ambient mode resources from CIPD in the DEPS file.
-  #
-  # May be overridden locally to false for testing purposes if desired.
-  include_ash_ambient_animation_resources = is_chromeos_ash && is_chrome_branded
+  # Temporary build flag to include resources for the animated screensaver in
+  # ash builds. The resources are still under development and there are plans to
+  # reduce their size since a few are pretty big. This flag prevents the main
+  # resource pak at HEAD from being impacted until the size issues are
+  # addressed, while still allowing developers to test this feature by
+  # overriding this flag to true.
+  include_ash_ambient_animation_resources = false
 }
diff --git a/ash/app_list/views/app_list_reorder_undo_container_view.cc b/ash/app_list/views/app_list_reorder_undo_container_view.cc
index 353b562e..3c25923 100644
--- a/ash/app_list/views/app_list_reorder_undo_container_view.cc
+++ b/ash/app_list/views/app_list_reorder_undo_container_view.cc
@@ -72,6 +72,7 @@
   // Remove `toast_view_` when the temporary sorting order is cleared.
   if (!new_order) {
     RemoveChildView(toast_view_);
+    delete toast_view_;
     toast_view_ = nullptr;
     return;
   }
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd
index 662512d..d34acc2 100644
--- a/ash/ash_strings.grd
+++ b/ash/ash_strings.grd
@@ -4552,6 +4552,45 @@
       <message name="IDS_REMOVE_SUGGESTION_BUTTON_LABEL" desc="Remove suggestion button label">
         Remove
       </message>
+      <message name="IDS_APP_LIST_KEYBOARD_SHORTCUT_OR" desc="Joiner text for several keyboard shortcuts that all do the same thing. Eg: 'Ctrl-A or Ctrl-B or Ctrl-C'">
+        Or
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_EDITED_JUST_NOW" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown. 'Just now' should apply to any time within the last few minutes.">
+        Edited just now
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_EDITED_PAST_MONTH" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Edited in the past month
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_EDITED_PAST_WEEK" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Edited in the past week
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_EDITED_RECENTLY" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown. 'Recently' should apply to any time between 'just now' and 'a week ago'.">
+        Edited recently
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_EDITED_TODAY" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Edited today
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_EDITED_YESTERDAY" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Edited yesterday
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_OPENED_JUST_NOW" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown. 'Just now' should apply to any time within the last few minutes.">
+        Opened just now
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_OPENED_PAST_MONTH" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Opened in the past month
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_OPENED_PAST_WEEK" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Opened in the past week
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_OPENED_RECENTLY" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown. 'Recently' should apply to any time between 'just now' and 'a week ago'.">
+        Opened recently
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_OPENED_TODAY" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Opened today
+      </message>
+      <message name="IDS_APP_LIST_CONTINUE_OPENED_YESTERDAY" desc="Text displayed under a file suggestion in the launcher, describing why it is being shown.">
+        Opened yesterday
+      </message>
       <message name="IDS_APP_LIST_START_ASSISTANT" desc="Tooltip for the button that starts Google Assistant from the search box in the app list.">
         Google Assistant
       </message>
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_JUST_NOW.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_JUST_NOW.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_JUST_NOW.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_PAST_MONTH.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_PAST_MONTH.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_PAST_MONTH.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_PAST_WEEK.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_PAST_WEEK.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_PAST_WEEK.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_RECENTLY.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_RECENTLY.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_RECENTLY.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_TODAY.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_TODAY.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_TODAY.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_YESTERDAY.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_YESTERDAY.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_EDITED_YESTERDAY.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_JUST_NOW.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_JUST_NOW.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_JUST_NOW.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_PAST_MONTH.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_PAST_MONTH.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_PAST_MONTH.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_PAST_WEEK.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_PAST_WEEK.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_PAST_WEEK.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_RECENTLY.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_RECENTLY.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_RECENTLY.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_TODAY.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_TODAY.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_TODAY.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_YESTERDAY.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_YESTERDAY.png.sha1
new file mode 100644
index 0000000..ac478cf
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_CONTINUE_OPENED_YESTERDAY.png.sha1
@@ -0,0 +1 @@
+f389c3fa94432db7a1b45aad5aee8ba20ce10f8e
\ No newline at end of file
diff --git a/ash/ash_strings_grd/IDS_APP_LIST_KEYBOARD_SHORTCUT_OR.png.sha1 b/ash/ash_strings_grd/IDS_APP_LIST_KEYBOARD_SHORTCUT_OR.png.sha1
new file mode 100644
index 0000000..9a62e7b8
--- /dev/null
+++ b/ash/ash_strings_grd/IDS_APP_LIST_KEYBOARD_SHORTCUT_OR.png.sha1
@@ -0,0 +1 @@
+e4cb4661f3e16027fdb8bfc49cdec7bb41e31ee4
\ No newline at end of file
diff --git a/ash/clipboard/clipboard_history_controller_unittest.cc b/ash/clipboard/clipboard_history_controller_unittest.cc
index d616e22..a33b1cd7 100644
--- a/ash/clipboard/clipboard_history_controller_unittest.cc
+++ b/ash/clipboard/clipboard_history_controller_unittest.cc
@@ -350,9 +350,9 @@
   // newly-encoded PNG is included.
   base::Value result = future.Take();
   EXPECT_TRUE(result.is_list());
-  EXPECT_EQ(1u, result.GetList().size());
+  EXPECT_EQ(1u, result.GetListDeprecated().size());
 
-  ExpectHistoryValueMatchesBitmap(result.GetList()[0], test_bitmap);
+  ExpectHistoryValueMatchesBitmap(result.GetListDeprecated()[0], test_bitmap);
 }
 
 TEST_F(ClipboardHistoryControllerTest, EncodeMultipleImages) {
@@ -377,12 +377,12 @@
   // newly-encoded PNGs are included.
   base::Value result = future.Take();
   EXPECT_TRUE(result.is_list());
-  auto num_results = result.GetList().size();
+  auto num_results = result.GetListDeprecated().size();
   EXPECT_EQ(num_results, test_bitmaps.size());
 
   // History values should be sorted by recency.
   for (uint i = 0; i < num_results; ++i) {
-    ExpectHistoryValueMatchesBitmap(result.GetList()[i],
+    ExpectHistoryValueMatchesBitmap(result.GetListDeprecated()[i],
                                     test_bitmaps[num_results - 1 - i]);
   }
 }
@@ -413,12 +413,12 @@
   // newly-encoded PNGs are included.
   base::Value result = future.Take();
   EXPECT_TRUE(result.is_list());
-  auto num_results = result.GetList().size();
+  auto num_results = result.GetListDeprecated().size();
   EXPECT_EQ(num_results, test_bitmaps.size());
 
   // History values should be sorted by recency.
   for (uint i = 0; i < num_results; ++i) {
-    ExpectHistoryValueMatchesBitmap(result.GetList()[i],
+    ExpectHistoryValueMatchesBitmap(result.GetListDeprecated()[i],
                                     test_bitmaps[num_results - 1 - i]);
   }
 }
diff --git a/ash/components/login/auth/challenge_response/known_user_pref_utils.cc b/ash/components/login/auth/challenge_response/known_user_pref_utils.cc
index 71c5b83..11b0f3d 100644
--- a/ash/components/login/auth/challenge_response/known_user_pref_utils.cc
+++ b/ash/components/login/auth/challenge_response/known_user_pref_utils.cc
@@ -73,7 +73,7 @@
   deserialized_challenge_response_keys->clear();
   if (!pref_value.is_list())
     return false;
-  for (const base::Value& key_representation : pref_value.GetList()) {
+  for (const base::Value& key_representation : pref_value.GetListDeprecated()) {
     if (!key_representation.is_dict()) {
       LOG(WARNING) << "Ignoring challenge-response key info: not a dictionary";
       continue;
diff --git a/ash/components/tether/tether_host_response_recorder.cc b/ash/components/tether/tether_host_response_recorder.cc
index abad158..089b7d8 100644
--- a/ash/components/tether/tether_host_response_recorder.cc
+++ b/ash/components/tether/tether_host_response_recorder.cc
@@ -100,7 +100,8 @@
   updated_ids.EraseListValue(device_id_value);
 
   // Add the device ID to the front of the queue.
-  updated_ids.Insert(updated_ids.GetList().begin(), std::move(device_id_value));
+  updated_ids.Insert(updated_ids.GetListDeprecated().begin(),
+                     std::move(device_id_value));
 
   // Store the updated list back in |pref_service_|.
   pref_service_->Set(pref_name, std::move(updated_ids));
diff --git a/ash/login/ui/lock_contents_view.cc b/ash/login/ui/lock_contents_view.cc
index 0953cedd..db59f16 100644
--- a/ash/login/ui/lock_contents_view.cc
+++ b/ash/login/ui/lock_contents_view.cc
@@ -1054,18 +1054,8 @@
   if (!big_view || !big_view->auth_user())
     return;
 
-  // TODO(crbug.com/893298): Re-enable animation once the error bubble supports
-  // being displayed on the left. This also requires that we dynamically
-  // track/update the position of the bubble, or alternatively we set the bubble
-  // location to the target animation position and not the current position.
-  bool animate = true;
-  if (user_state->fingerprint_state ==
-      FingerprintState::DISABLED_FROM_TIMEOUT) {
-    animate = false;
-  }
-
   big_view->auth_user()->SetFingerprintState(user_state->fingerprint_state);
-  LayoutAuth(big_view, nullptr /*opt_to_hide*/, animate);
+  LayoutAuth(big_view, nullptr /*opt_to_hide*/, true /*animate*/);
 }
 
 void LockContentsView::OnFingerprintAuthResult(const AccountId& account_id,
diff --git a/ash/public/cpp/desk_template.cc b/ash/public/cpp/desk_template.cc
index b6e19088..d9c41b1c 100644
--- a/ash/public/cpp/desk_template.cc
+++ b/ash/public/cpp/desk_template.cc
@@ -54,7 +54,7 @@
       source_(DeskTemplateSource::kUnknownSource),
       created_time_(base::Time::Now()) {}
 
-std::unique_ptr<DeskTemplate> DeskTemplate::Clone() const {
+std::unique_ptr<DeskTemplate> DeskTemplate::Clone() {
   std::unique_ptr<DeskTemplate> desk_template = std::make_unique<DeskTemplate>(
       uuid_.AsLowercaseString(), source_, base::UTF16ToUTF8(template_name_),
       created_time_);
diff --git a/ash/public/cpp/desk_template.h b/ash/public/cpp/desk_template.h
index 0bd4607..ae5f17e 100644
--- a/ash/public/cpp/desk_template.h
+++ b/ash/public/cpp/desk_template.h
@@ -78,7 +78,7 @@
   // This specifically used in the DeskSyncBridge which requires a map
   // of DeskTemplate unique pointers to be valid and needs to pass
   // that information in DeskModel callbacks.
-  std::unique_ptr<DeskTemplate> Clone() const;
+  std::unique_ptr<DeskTemplate> Clone();
 
   // Indicates the last time the user created or updated this template.
   // If this desk template was never updated since creation, its creation time
diff --git a/ash/quick_pair/pairing/retroactive_pairing_detector_impl.cc b/ash/quick_pair/pairing/retroactive_pairing_detector_impl.cc
index 850f537..638ae61 100644
--- a/ash/quick_pair/pairing/retroactive_pairing_detector_impl.cc
+++ b/ash/quick_pair/pairing/retroactive_pairing_detector_impl.cc
@@ -85,6 +85,8 @@
       << __func__
       << ": Logged in user, instantiate retroactive pairing scenario.";
 
+  retroactive_pairing_detector_instatiated_ = true;
+
   device::BluetoothAdapterFactory::Get()->GetAdapter(
       base::BindOnce(&RetroactivePairingDetectorImpl::OnGetAdapter,
                      weak_ptr_factory_.GetWeakPtr()));
diff --git a/ash/strings/ash_strings_af.xtb b/ash/strings/ash_strings_af.xtb
index 89ce98d..9e8bf55 100644
--- a/ash/strings/ash_strings_af.xtb
+++ b/ash/strings/ash_strings_af.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">Assistent (laai tans …)</translation>
 <translation id="1838895407229022812">Aandbeligting is af.</translation>
 <translation id="1864454756846565995">USB C-toestel (poort aan agterkant)</translation>
+<translation id="1879018240766558464">Incognito-vensters word nie tans gesteun nie. Ander programme sal gestoor word.</translation>
 <translation id="1882814835921407042">Geen selnetwerk nie</translation>
 <translation id="1882897271359938046">Weerspieëling na <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Ontsluit met vingerafdruk</translation>
@@ -948,6 +949,7 @@
 <translation id="7366890467478514168">Koppel <ph name="NAME" /></translation>
 <translation id="7371404428569700291">Neem venster op</translation>
 <translation id="7377169924702866686">Hoofletterslot is aan.</translation>
+<translation id="7377481913241237033">Koppel met 'n kode</translation>
 <translation id="7378203170292176219">Sleep om 'n area te kies om op te neem</translation>
 <translation id="7378594059915113390">Media-kontroles</translation>
 <translation id="7378889811480108604">Batterybespaardermodus is af</translation>
@@ -975,6 +977,7 @@
 <translation id="7514365320538308">Laai af</translation>
 <translation id="7526573455193969409">Netwerk kan gemonitor word</translation>
 <translation id="7536035074519304529">IP-adres: <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Linux-programme en Incognito-vensters word nie tans gesteun nie. Ander programme sal gestoor word.</translation>
 <translation id="7544300628205093162">Sleutelbord se agterlig is aan</translation>
 <translation id="7548434653388805669">Slaaptyd</translation>
 <translation id="7551643184018910560">Speld aan rak vas</translation>
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb
index 974c5f4..8082969 100644
--- a/ash/strings/ash_strings_ar.xtb
+++ b/ash/strings/ash_strings_ar.xtb
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">سيتم الرجوع إلى درجة الدقة القديمة في غضون <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">إعادة التحميل</translation>
+<translation id="718361511487535372">‏فتح في "تقويم Google"</translation>
 <translation id="7188494361780961876">تم نقل القائمة إلى أعلى يمين الشاشة.</translation>
 <translation id="7189412385142492784">كم يبعد كوكب الزهرة؟</translation>
 <translation id="7246071203293827765">‏<ph name="UPDATE_TEXT" />. يجب إعادة تشغيل جهاز Chromebook لتطبيق التحديث. قد يستغرق هذا الإجراء مدة تصل إلى دقيقة واحدة.</translation>
diff --git a/ash/strings/ash_strings_be.xtb b/ash/strings/ash_strings_be.xtb
index e345f0be..6c793fd3 100644
--- a/ash/strings/ash_strings_be.xtb
+++ b/ash/strings/ash_strings_be.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt + Shift + K</translation>
 <translation id="7168224885072002358">Вяртанне да старой раздзяляльнасці праз <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Абнавіць</translation>
+<translation id="718361511487535372">Адкрыць у Календары Google</translation>
 <translation id="7188494361780961876">Меню перамешчана ў левы верхні вугал экрана.</translation>
 <translation id="7189412385142492784">Якая адлегласць да Венеры</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Для ўсталявання абнаўлення патрабуецца перазапуск Chromebook. Гэта можа заняць да 1 хвіліны.</translation>
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb
index 6b338dbb..238340a 100644
--- a/ash/strings/ash_strings_bg.xtb
+++ b/ash/strings/ash_strings_bg.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt + Shift + K</translation>
 <translation id="7168224885072002358">Старата разделителна способност ще се възстанови след <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Опресняване</translation>
+<translation id="718361511487535372">Отваряне в Google Календар</translation>
 <translation id="7188494361780961876">Менюто е преместено в горния ляв ъгъл на екрана.</translation>
 <translation id="7189412385142492784">How far is Venus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Този Chromebook трябва да бъде рестартиран, за да се приложи актуализация. Това може да отнеме до минута.</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index 3ce00a51..7537f31 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Maj+K</translation>
 <translation id="7168224885072002358">Es revertirà a la resolució anterior d'aquí a <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Actualitza</translation>
+<translation id="718361511487535372">Obre a Google Calendar</translation>
 <translation id="7188494361780961876">El menú s'ha mogut a l'extrem superior esquerre de la pantalla.</translation>
 <translation id="7189412385142492784">A quina distància es troba Venus?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Aquest Chromebook s'ha de reiniciar perquè s'apliqui una actualització. Aquest procés pot tardar fins a 1 minut</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb
index d3d8130..8a234196 100644
--- a/ash/strings/ash_strings_cs.xtb
+++ b/ash/strings/ash_strings_cs.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt + Shift + K</translation>
 <translation id="7168224885072002358">Původní rozlišení bude obnoveno za <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Obnovit</translation>
+<translation id="718361511487535372">Otevřít v Kalendáři Google</translation>
 <translation id="7188494361780961876">Nabídka byla přesunuta do levého horního rohu obrazovky.</translation>
 <translation id="7189412385142492784">Jak daleko je Venuše</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Kvůli použití aktualizace je třeba Chromebook restartovat. Může to trvat až minutu.</translation>
diff --git a/ash/strings/ash_strings_de.xtb b/ash/strings/ash_strings_de.xtb
index ea5bcda..ef036e1 100644
--- a/ash/strings/ash_strings_de.xtb
+++ b/ash/strings/ash_strings_de.xtb
@@ -924,6 +924,7 @@
 <translation id="7165278925115064263">Alt + Umschalttaste + K</translation>
 <translation id="7168224885072002358">Alte Auflösung wird in <ph name="TIMEOUT_SECONDS" /> wiederhergestellt.</translation>
 <translation id="7180611975245234373">Aktualisieren</translation>
+<translation id="718361511487535372">Im Google-Kalender öffnen</translation>
 <translation id="7188494361780961876">Menü wurde nach links oben auf dem Bildschirm verschoben.</translation>
 <translation id="7189412385142492784">Wie weit ist die Venus entfernt?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Dieses Chromebook muss zur Installation eines Updates neu gestartet werden. Dies kann bis zu einer Minute dauern.</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb
index 0f992e14..432beb44 100644
--- a/ash/strings/ash_strings_en-GB.xtb
+++ b/ash/strings/ash_strings_en-GB.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">Assistant (loading...)</translation>
 <translation id="1838895407229022812">Night Light is off.</translation>
 <translation id="1864454756846565995">USB-C device (rear port)</translation>
+<translation id="1879018240766558464">Incognito windows aren’t currently supported. Other apps will be saved.</translation>
 <translation id="1882814835921407042">No mobile network</translation>
 <translation id="1882897271359938046">Mirroring to <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Unlock with fingerprint</translation>
@@ -947,6 +948,7 @@
 <translation id="7366890467478514168">Connect <ph name="NAME" /></translation>
 <translation id="7371404428569700291">Record window</translation>
 <translation id="7377169924702866686">Caps Lock is on.</translation>
+<translation id="7377481913241237033">Connect with a code</translation>
 <translation id="7378203170292176219">Drag to select an area to record</translation>
 <translation id="7378594059915113390">Media controls</translation>
 <translation id="7378889811480108604">Battery saver mode is off</translation>
@@ -974,6 +976,7 @@
 <translation id="7514365320538308">Download</translation>
 <translation id="7526573455193969409">Network may be monitored</translation>
 <translation id="7536035074519304529">IP address: <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Linux apps and incognito windows aren’t currently supported. Other apps will be saved.</translation>
 <translation id="7544300628205093162">Keyboard backlight is on</translation>
 <translation id="7548434653388805669">Time for bed</translation>
 <translation id="7551643184018910560">Pin to shelf</translation>
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb
index 2b242e21..4bd6c51 100644
--- a/ash/strings/ash_strings_es-419.xtb
+++ b/ash/strings/ash_strings_es-419.xtb
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt+mayúscula+K</translation>
 <translation id="7168224885072002358">Se revertirá a la resolución anterior en <ph name="TIMEOUT_SECONDS" />.</translation>
 <translation id="7180611975245234373">Actualizar</translation>
+<translation id="718361511487535372">Abrir en Calendario de Google</translation>
 <translation id="7188494361780961876">El menú se movió a la esquina superior izquierda de la pantalla.</translation>
 <translation id="7189412385142492784">A qué distancia está Venus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Debes reiniciar esta Chromebook para aplicar una actualización. Este proceso puede tardar 1 minuto.</translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index 906c89b..d6cb221d 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt + Mayús + K</translation>
 <translation id="7168224885072002358">Restableciendo la resolución anterior en <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Actualizar</translation>
+<translation id="718361511487535372">Abrir en Google Calendar</translation>
 <translation id="7188494361780961876">Se ha movido el menú a la esquina superior izquierda de la pantalla.</translation>
 <translation id="7189412385142492784">¿A qué distancia está Venus?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. El Chromebook debe reiniciarse para aplicar una actualización. Este proceso puede tardar hasta 1 minuto.</translation>
@@ -1107,7 +1108,7 @@
 <translation id="8375916635258623388">Este <ph name="DEVICE_NAME" /> y tu teléfono se conectarán automáticamente</translation>
 <translation id="8380784334203145311">Buenas noches,</translation>
 <translation id="8388750414311082622">No se puede quitar el último escritorio.</translation>
-<translation id="8394567579869570560">Tu padre, madre o tutor han bloqueado este dispositivo</translation>
+<translation id="8394567579869570560">Tu padre, madre o tutor/a han bloqueado este dispositivo</translation>
 <translation id="8401850874595457088">Menú de selección de idioma</translation>
 <translation id="8412677897383510995">Mostrar ajustes de pantalla</translation>
 <translation id="8413272770729657668">La grabación empezará en 3, 2. 1…</translation>
@@ -1232,7 +1233,7 @@
 <translation id="9211490828691860325">Todos los escritorios</translation>
 <translation id="9211681782751733685">Tiempo restante para que se cargue totalmente la batería: <ph name="TIME_REMAINING" />.</translation>
 <translation id="9215934040295798075">Fondo de pantalla</translation>
-<translation id="921989828232331238">Tu padre, madre o tutor han bloqueado tu dispositivo todo el día</translation>
+<translation id="921989828232331238">Tu padre, madre o tutor/a han bloqueado tu dispositivo todo el día</translation>
 <translation id="9220525904950070496">Quitar cuenta</translation>
 <translation id="923686485342484400">Pulsa Control Mayús Q dos veces para cerrar sesión.</translation>
 <translation id="925832987464884575">Ocultar vistas previas</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index 65152fa..9fdc8e1 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt + Tõstuklahv + K</translation>
 <translation id="7168224885072002358">Ekraan ennistatakse vanale eraldusvõimele <ph name="TIMEOUT_SECONDS" /> pärast</translation>
 <translation id="7180611975245234373">Värskenda</translation>
+<translation id="718361511487535372">Ava Google’i kalendris</translation>
 <translation id="7188494361780961876">Menüü teisaldati ekraanikuva vasakusse ülanurka.</translation>
 <translation id="7189412385142492784">Kui kaugel on Veenus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. See Chromebook tuleb värskenduse rakendamiseks taaskäivitada. Selleks võib kuluda kuni 1 minut.</translation>
diff --git a/ash/strings/ash_strings_eu.xtb b/ash/strings/ash_strings_eu.xtb
index 67c6ad7..db513d7 100644
--- a/ash/strings/ash_strings_eu.xtb
+++ b/ash/strings/ash_strings_eu.xtb
@@ -4,7 +4,7 @@
 <translation id="1012876632442809908">USB-C gailua (aurrealdeko ataka)</translation>
 <translation id="1013598600051641573"><ph name="RESOLUTION" />-ko bereizmenera (<ph name="REFRESH_RATE" /> Hz) aldatu da <ph name="DISPLAY_NAME" /> pantaila. Aldaketak gordetzeko, sakatu berresteko botoia. <ph name="TIMEOUT_SECONDS" /> barru aurreko ezarpenak leheneratuko dira.</translation>
 <translation id="1013923882670373915">Bluetooth bidezko "<ph name="DEVICE_NAME" />" gailuak parekatzeko baimena nahi du. Idatzi PIN kode hau gailuan: <ph name="PINCODE" /></translation>
-<translation id="1014111206066007277">Pantaila-argazki audiodunak ateratzeko tresnak</translation>
+<translation id="1014111206066007277">Pantaila-bideoen tresnak</translation>
 <translation id="1024261588257374085">Pantaila-argazki partziala hautatu da</translation>
 <translation id="1032891413405719768">Pila agortzen ari zaio arkatzari</translation>
 <translation id="1036073649888683237">Jakinarazpenak kudeatzeko, joan ezarpenetara</translation>
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt + Maius + K</translation>
 <translation id="7168224885072002358">Aurreko bereizmenera leheneratuko da <ph name="TIMEOUT_SECONDS" /> ondoren</translation>
 <translation id="7180611975245234373">Freskatu</translation>
+<translation id="718361511487535372">Ireki Google Calendar-en</translation>
 <translation id="7188494361780961876">Pantailaren goiko ezkerreko izkinara eraman da menua.</translation>
 <translation id="7189412385142492784">Zer distantziatara dago Artizarra</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Chromebook hau berrabiarazi egin behar da eguneratzea aplikatzeko. Baliteke minutu bat behar izatea.</translation>
@@ -1093,7 +1094,7 @@
 <translation id="826107067893790409">Sakatu Sartu <ph name="USER_EMAIL_ADDRESS" /> desblokeatzeko</translation>
 <translation id="8261506727792406068">Ezabatu</translation>
 <translation id="8270450402312105425">{0,plural, =1{Itzuli gailuaren aurreko bertsiora ordubete barru}other{Itzuli gailuaren aurreko bertsiora # ordu barru}}</translation>
-<translation id="8281279285293265212">Ezin izan da gorde pantaila-argazki audioduna</translation>
+<translation id="8281279285293265212">Ezin izan da gorde pantaila-bideoa</translation>
 <translation id="8284362522226889623">Aurreko lan-eremura itzultzeko, pasatu lau hatz ezkerrera</translation>
 <translation id="828708037801473432">Desaktibatuta</translation>
 <translation id="8297006494302853456">Ahula</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb
index 68a05e7..7bc1f7b 100644
--- a/ash/strings/ash_strings_fi.xtb
+++ b/ash/strings/ash_strings_fi.xtb
@@ -926,6 +926,7 @@
 <translation id="7165278925115064263">Alt+Vaihto+K</translation>
 <translation id="7168224885072002358">Palautetaan vanha tarkkuus, aikaa palautukseen <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Päivitä</translation>
+<translation id="718361511487535372">Avaa Google Kalenterissa</translation>
 <translation id="7188494361780961876">Valikko siirretty näytön vasempaan ylänurkkaan</translation>
 <translation id="7189412385142492784">Kuinka kaukana Venus on</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Tämä Chromebook on käynnistettävä uudelleen, jotta päivitys voidaan ottaa käyttöön. Tämä voi kestää enintään minuutin.</translation>
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb
index 2d14990d..01dd67e 100644
--- a/ash/strings/ash_strings_fr.xtb
+++ b/ash/strings/ash_strings_fr.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Maj+K</translation>
 <translation id="7168224885072002358">Rétablissement de la résolution précédente dans <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Actualiser</translation>
+<translation id="718361511487535372">Ouvrir dans Google Agenda</translation>
 <translation id="7188494361780961876">Le menu a été déplacé dans l'angle supérieur gauche de l'écran.</translation>
 <translation id="7189412385142492784">À quelle distance se trouve Vénus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Ce Chromebook doit redémarrer pour installer une mise à jour. Ceci peut prendre jusqu'à une minute.</translation>
diff --git a/ash/strings/ash_strings_gl.xtb b/ash/strings/ash_strings_gl.xtb
index 247a30ed..e0863e45 100644
--- a/ash/strings/ash_strings_gl.xtb
+++ b/ash/strings/ash_strings_gl.xtb
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt+Maiús+K</translation>
 <translation id="7168224885072002358">Volvendo á resolución anterior dentro de <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Actualizar</translation>
+<translation id="718361511487535372">Abrir en Google Calendar</translation>
 <translation id="7188494361780961876">O menú moveuse á esquina superior esquerda da pantalla.</translation>
 <translation id="7189412385142492784">A que distancia está Venus?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Tes que reiniciar este Chromebook para aplicar unha actualización. Esta acción pode tardar 1 minuto.</translation>
diff --git a/ash/strings/ash_strings_hi.xtb b/ash/strings/ash_strings_hi.xtb
index 99f441c..95226245 100644
--- a/ash/strings/ash_strings_hi.xtb
+++ b/ash/strings/ash_strings_hi.xtb
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358"><ph name="TIMEOUT_SECONDS" /> में पुराने रिज़ॉल्यूशन में वापस लौट रहा है</translation>
 <translation id="7180611975245234373">रीफ्रेश करें</translation>
+<translation id="718361511487535372">Google Calendar में खोलें</translation>
 <translation id="7188494361780961876">मेन्यू, स्क्रीन के सबसे ऊपर बाएं कोने में चला गया है.</translation>
 <translation id="7189412385142492784">धरती से शुक्र ग्रह कितना दूर है</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. किसी अपडेट को लागू करने के लिए इस Chromebook को रीस्टार्ट करना ज़रूरी है. इसमें एक मिनट तक लग सकता है.</translation>
diff --git a/ash/strings/ash_strings_hy.xtb b/ash/strings/ash_strings_hy.xtb
index 5eb9f8f..70da0da 100644
--- a/ash/strings/ash_strings_hy.xtb
+++ b/ash/strings/ash_strings_hy.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">Օգնական (բեռնում...)</translation>
 <translation id="1838895407229022812">Գիշերային ռեժիմն անջատված է</translation>
 <translation id="1864454756846565995">USB-C սարք (հետևի միացք)</translation>
+<translation id="1879018240766558464">Ինկոգնիտո պատուհանները ներկայումս չեն աջակցվում։ Մյուս հավելվածները կպահվեն։</translation>
 <translation id="1882814835921407042">Բջջային կապ չկա</translation>
 <translation id="1882897271359938046">Հայելապատճենվում է <ph name="DISPLAY_NAME" />-ին</translation>
 <translation id="1885785240814121742">Ապակողպում մատնահետքով</translation>
@@ -927,6 +928,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Վերադարձ նախորդ լուծաչափին <ph name="TIMEOUT_SECONDS" /> վայրկյանից</translation>
 <translation id="7180611975245234373">Թարմացնել</translation>
+<translation id="718361511487535372">Բացել Google Օրացույցում</translation>
 <translation id="7188494361780961876">Ընտրացանկը տեղափոխվեց էկրանի վերևի ձախ անկյուն։</translation>
 <translation id="7189412385142492784">Որքան հեռու է Վեներան</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />։ Այս Chromebook-ը պետք է վերագործարկվի՝ թարմացումը կիրառելու համար։ Դա կարող է տևել մինչև 1 րոպե։</translation>
@@ -946,6 +948,7 @@
 <translation id="7366890467478514168">Զուգակցել <ph name="NAME" /> սարքը</translation>
 <translation id="7371404428569700291">Տեսագրել պատուհանը</translation>
 <translation id="7377169924702866686">Caps Lock-ը միացված է:</translation>
+<translation id="7377481913241237033">Միացում կոդով</translation>
 <translation id="7378203170292176219">Քաշեք՝ տեսագրման հատվածն ընտրելու համար</translation>
 <translation id="7378594059915113390">Մեդիա կարգավորումներ</translation>
 <translation id="7378889811480108604">Մարտկոցի տնտեսման ռեժիմն անջատված է</translation>
@@ -973,6 +976,7 @@
 <translation id="7514365320538308">Ներբեռնել</translation>
 <translation id="7526573455193969409">Ցանցը կարող է վերահսկվել</translation>
 <translation id="7536035074519304529">IP հասցե՝ <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Լինուքսի հավելվածներն ու ինկոգնիտո պատուհանները ներկայումս չեն աջակցվում։ Մյուս հավելվածները կպահվեն։</translation>
 <translation id="7544300628205093162">Ստեղնաշարի հետնալույսը միացված է</translation>
 <translation id="7548434653388805669">Քնելու ժամն է</translation>
 <translation id="7551643184018910560">Ամրացնել դարակում</translation>
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb
index 0545834..37192d8 100644
--- a/ash/strings/ash_strings_id.xtb
+++ b/ash/strings/ash_strings_id.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Mengembalikan ke resolusi lama dalam <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Perbarui</translation>
+<translation id="718361511487535372">Buka di Google Kalender</translation>
 <translation id="7188494361780961876">Menu dipindahkan ke pojok kiri atas layar.</translation>
 <translation id="7189412385142492784">Seberapa jauh Venus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Chromebook ini perlu dimulai ulang untuk menerapkan update. Proses ini dapat memerlukan waktu hingga 1 menit.</translation>
diff --git a/ash/strings/ash_strings_is.xtb b/ash/strings/ash_strings_is.xtb
index 4b95840c5..43d23a6 100644
--- a/ash/strings/ash_strings_is.xtb
+++ b/ash/strings/ash_strings_is.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+shift+K</translation>
 <translation id="7168224885072002358">Skiptir aftur yfir í fyrri upplausn eftir <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Endurnýja</translation>
+<translation id="718361511487535372">Opna í Google dagatali</translation>
 <translation id="7188494361780961876">Valmynd færð efst í vinstra horn skjásins.</translation>
 <translation id="7189412385142492784">Hvað er Venus langt í burtu?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Endurræsa þarf Chromebook til að setja upp uppfærslu. Þetta getur tekið allt að mínútu.</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb
index 8ebd301..ff77a105 100644
--- a/ash/strings/ash_strings_it.xtb
+++ b/ash/strings/ash_strings_it.xtb
@@ -925,6 +925,7 @@
 <translation id="7165278925115064263">ALT + MAIUSC + K</translation>
 <translation id="7168224885072002358">Ripristino della risoluzione precedente tra <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Aggiorna</translation>
+<translation id="718361511487535372">Apri in Google Calendar</translation>
 <translation id="7188494361780961876">Menu spostato nell'angolo in alto a sinistra dello schermo.</translation>
 <translation id="7189412385142492784">Quanto è distante Venere</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. È richiesto il riavvio del Chromebook per installare un aggiornamento. L'operazione può richiedere fino a 1 minuto.</translation>
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb
index c534a1b..4514fcf 100644
--- a/ash/strings/ash_strings_iw.xtb
+++ b/ash/strings/ash_strings_iw.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">תבוצע חזרה לרזולוציה הקודמת בעוד <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">רענון</translation>
+<translation id="718361511487535372">‏פתיחה ביומן Google</translation>
 <translation id="7188494361780961876">התפריט הועבר לפינה הימנית העליונה של המסך.</translation>
 <translation id="7189412385142492784">מה המרחק בין כדור הארץ לנוגה</translation>
 <translation id="7246071203293827765">‏<ph name="UPDATE_TEXT" />. יש להפעיל את ה-Chromebook מחדש כדי להחיל עדכון. התהליך עשוי להימשך עד דקה אחת.</translation>
diff --git a/ash/strings/ash_strings_ka.xtb b/ash/strings/ash_strings_ka.xtb
index 6f63a49..ec0235d 100644
--- a/ash/strings/ash_strings_ka.xtb
+++ b/ash/strings/ash_strings_ka.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">ასისტენტი (იტვირთება...)</translation>
 <translation id="1838895407229022812">ღამის განათება გამორთულია.</translation>
 <translation id="1864454756846565995">USB-C მოწყობილობა (უკანა პორტი)</translation>
+<translation id="1879018240766558464">ინკოგნიტო ფანჯრები ამჟამად მხარდაუჭერელია. სხვა აპები შეინახება.</translation>
 <translation id="1882814835921407042">მობილური ქსელი არ არის</translation>
 <translation id="1882897271359938046">გამოსახვა <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">თითის ანაბეჭდით განბლოკვა</translation>
@@ -947,6 +948,7 @@
 <translation id="7366890467478514168">დააკავშირეთ <ph name="NAME" /></translation>
 <translation id="7371404428569700291">ფანჯრის ჩაწერა</translation>
 <translation id="7377169924702866686">Caps Lock ჩართულია.</translation>
+<translation id="7377481913241237033">კოდით დაკავშირება</translation>
 <translation id="7378203170292176219">ჩავლებით გადაიტანეთ, ჩასაწერი არე რომ აირჩიოთ</translation>
 <translation id="7378594059915113390">მედიის მართვის საშუალებები</translation>
 <translation id="7378889811480108604">ბატარეის დამზოგის რეჟიმი გამორთულია</translation>
@@ -974,6 +976,7 @@
 <translation id="7514365320538308">ჩამოტვირთვა</translation>
 <translation id="7526573455193969409">ქსელზე შესაძლოა ხორციელდებოდეს მონიტორინგი</translation>
 <translation id="7536035074519304529">IP მისამართი: <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Linux აპები და ინკოგნიტო ფანჯრები ამჟამად მხარდაუჭერელია. სხვა აპები შეინახება.</translation>
 <translation id="7544300628205093162">კლავიატურის შენათება ჩართულია</translation>
 <translation id="7548434653388805669">ძილის დროა</translation>
 <translation id="7551643184018910560">თაროზე ჩამაგრება</translation>
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb
index 6c07831..6e9412d 100644
--- a/ash/strings/ash_strings_ko.xtb
+++ b/ash/strings/ash_strings_ko.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358"><ph name="TIMEOUT_SECONDS" />초 후 기존 해상도로 돌아갑니다.</translation>
 <translation id="7180611975245234373">새로고침</translation>
+<translation id="718361511487535372">Google Calendar에서 열기</translation>
 <translation id="7188494361780961876">메뉴가 화면 왼쪽 상단으로 이동했습니다.</translation>
 <translation id="7189412385142492784">금성까지의 거리</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. 업데이트를 적용하려면 Chromebook을 다시 시작해야 합니다. 여기에는 최대 1분이 걸릴 수 있습니다.</translation>
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb
index 869ec736..d3b2ac02 100644
--- a/ash/strings/ash_strings_lv.xtb
+++ b/ash/strings/ash_strings_lv.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Iepriekšējā izšķirtspēja tiks atgriezta pēc <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Atsvaidzināt</translation>
+<translation id="718361511487535372">Atvērt Google kalendārā</translation>
 <translation id="7188494361780961876">Izvēlne pārvietota uz ekrāna augšējo kreiso malu.</translation>
 <translation id="7189412385142492784">Cik tālu atrodas Venera?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Šis Chromebook dators ir jārestartē, lai lietotu atjauninājumu. Tas var ilgt aptuveni 1 minūti.</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb
index d837d81..89451df 100644
--- a/ash/strings/ash_strings_ml.xtb
+++ b/ash/strings/ash_strings_ml.xtb
@@ -113,6 +113,7 @@
 <translation id="1555130319947370107">നീല</translation>
 <translation id="1570871743947603115">Bluetooth മാറ്റുക. <ph name="STATE_TEXT" /></translation>
 <translation id="1589090746204042747">ഈ സെഷനിൽ നിങ്ങളുടെ എല്ലാ ആക്‌റ്റിവിറ്റികളും ആക്‌സസ് ചെയ്യുക</translation>
+<translation id="1610778689852195798">"പഴയപടിയാക്കുക"</translation>
 <translation id="1611993646327628135">ഓണാണ്</translation>
 <translation id="1632985212731562677">ക്രമീകരണം &gt; ഉപയോഗസഹായി എന്നതിൽ 'സ്വിച്ച് ആക്‌സസ്' പ്രവർത്തനരഹിതമാക്കാം.</translation>
 <translation id="1637505162081889933"><ph name="NUM_DEVICES" /> ഉപകരണങ്ങൾ</translation>
@@ -247,6 +248,7 @@
 <translation id="2596078834055697711">വിൻഡോ സ്ക്രീൻഷോട്ട് എടുക്കുക</translation>
 <translation id="2607678425161541573">ഓൺലൈനായി സൈൻ ഇൻ ചെയ്യേണ്ടതുണ്ട്</translation>
 <translation id="2621713457727696555">സുരക്ഷിതമാക്കി</translation>
+<translation id="263399434338050016">"എല്ലാം തിരഞ്ഞെടുക്കുക"</translation>
 <translation id="2653019840645008922">വിൻഡോ ക്യാപ്‌ചർ</translation>
 <translation id="2653659639078652383">സമര്‍പ്പിക്കുക</translation>
 <translation id="2658778018866295321">ക്ലിക്ക് ചെയ്‌ത് വലിച്ചിടുക</translation>
@@ -263,6 +265,7 @@
 <translation id="2727175239389218057">മറുപടി നൽകുക</translation>
 <translation id="2727977024730340865">കുറഞ്ഞ തോതിൽ വൈദ്യുതി പ്രവഹിക്കുന്ന ചാർജ്ജറിലേക്ക് പ്ലഗ് ചെയ്‌തിരിക്കുന്നു. ബാറ്ററി ചാർജുചെയ്യൽ വിശ്വസനീയമാകണമെന്നില്ല.</translation>
 <translation id="2749082172777216925"><ph name="APP_NAME_INFO" />, <ph name="PRICE" /></translation>
+<translation id="2750932254614666392">"ഇല്ലാതാക്കുക"</translation>
 <translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്</translation>
 <translation id="2782591952652094792">ക്യാപ്‌ചർ മോഡിൽ നിന്ന് പുറത്തുകടക്കുക</translation>
 <translation id="2792498699870441125">Alt+തിരയൽ</translation>
@@ -306,6 +309,7 @@
 <translation id="3038571455154067151">സൈൻ ഇൻ ചെയ്യാൻ, നിങ്ങളുടെ Family Link രക്ഷാകർതൃ ആക്‌സസ് കോഡ് നൽകുക</translation>
 <translation id="3039939407102840004">സ്റ്റൈലസ് ബാറ്ററി <ph name="PERCENTAGE" /> ശതമാനത്തിലാണ്.</translation>
 <translation id="3045488863354895414">ഗുഡ് ആഫ്‌റ്റർനൂൺ,</translation>
+<translation id="3047761520276763270">ഇങ്ങനെ പറഞ്ഞ് നോക്കൂ:</translation>
 <translation id="3051189971848907985">പ്രൊഫൈലിന്റെ പേര് മാറ്റുന്നു. അൽപ്പസമയം കാത്തിരിക്കുക.</translation>
 <translation id="3055162170959710888">നിങ്ങൾ ഇന്ന് <ph name="USED_TIME" />, ഈ ഉപകരണം ഉപയോഗിച്ചു</translation>
 <translation id="3068711042108640621">സ്‌ക്രീനിൻ്റെ ഇടതുഭാഗത്താണ് ഷെൽഫ്</translation>
@@ -551,6 +555,7 @@
 <translation id="4561267230861221837">3G</translation>
 <translation id="4565377596337484307">പാസ്‌വേഡ് മറയ്ക്കുക</translation>
 <translation id="4570957409596482333">വായിച്ചുകേൾക്കാൻ തിരഞ്ഞെടുക്കുക ബട്ടൺ</translation>
+<translation id="4573176682887762361">"ടൈപ്പ് ചെയ്യുക [വാക്ക് / ശൈലി]"</translation>
 <translation id="4577274620589681794"><ph name="LABEL" /> · സമയം കഴിഞ്ഞു</translation>
 <translation id="4577990005084629481">പ്രിവ്യുകൾ കാണിക്കുക</translation>
 <translation id="4578196883126898996">നിങ്ങളുടെ മൈക്രോഫോൺ ഓഫാണ്. ഉപകരണത്തിന്റെ മൈക്രോഫോൺ ബട്ടൺ ഓണാക്കുക.</translation>
@@ -1165,6 +1170,7 @@
 <translation id="8785070478575117577"><ph name="NETWORK_NAME" /> എന്നതിലേക്ക് കണക്‌റ്റ് ചെയ്യുക</translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8806053966018712535">ഫോൾഡർ <ph name="FOLDER_NAME" /></translation>
+<translation id="880709030178078220">"സഹായം"</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="881757059229893486">ഇൻപുട്ട് രീതികളുടെ ക്രമീകരണം</translation>
 <translation id="8818320199597151042">പ്രൊഫൈല്‍ നീക്കം ചെയ്യുന്നു. അൽപ്പസമയം കാത്തിരിക്കുക.</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb
index 68b58b62..9caf8ba 100644
--- a/ash/strings/ash_strings_mr.xtb
+++ b/ash/strings/ash_strings_mr.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358"><ph name="TIMEOUT_SECONDS" /> मध्ये जुन्या रिझोल्युशनवर परत करत आहे</translation>
 <translation id="7180611975245234373">रिफ्रेश करा</translation>
+<translation id="718361511487535372">Google Calendar मध्ये उघडा</translation>
 <translation id="7188494361780961876">मेनू स्क्रीनच्या वरच्या डाव्या कोपर्‍यात हलवला.</translation>
 <translation id="7189412385142492784">शुक्र किती दूर आहे</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. अपडेट लागू करण्यासाठी तुम्ही हे Chromebook रीस्टार्ट करणे आवश्यक आहे. याला सुमारे एक मिनिट लागू शकते.</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb
index b3af64c7..f28ab13 100644
--- a/ash/strings/ash_strings_ms.xtb
+++ b/ash/strings/ash_strings_ms.xtb
@@ -928,6 +928,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Kembali kepada peleraian lama dalam <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Muat semula</translation>
+<translation id="718361511487535372">Buka dalam Google Calendar</translation>
 <translation id="7188494361780961876">Menu dialihkan ke sudut atas sebelah kiri skrin.</translation>
 <translation id="7189412385142492784">Berapa jauhkah Venus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Chromebook ini perlu dimulakan semula untuk menerapkan kemas kini. Proses ini boleh mengambil masa sehingga 1 minit.</translation>
diff --git a/ash/strings/ash_strings_my.xtb b/ash/strings/ash_strings_my.xtb
index 59712ff..49ea009 100644
--- a/ash/strings/ash_strings_my.xtb
+++ b/ash/strings/ash_strings_my.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">စက္ကန့် <ph name="TIMEOUT_SECONDS" /> အတွင်းမှာ ပြတ်သားမှု အဟောင်းဆီကို ပြန်ပြောင်းမည်</translation>
 <translation id="7180611975245234373">ပြန်လည်စတင်ရန်</translation>
+<translation id="718361511487535372">Google Calendar တွင် ဖွင့်ရန်</translation>
 <translation id="7188494361780961876">မီနူးကို ဖန်သားပြင်၏ ဘယ်ဘက်ထိပ်ထောင့်သို့ ရွှေ့လိုက်သည်။</translation>
 <translation id="7189412385142492784">သောကြာဂြိုဟ်က ဘယ်လောက်ဝေးလဲ</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />။ အပ်ဒိတ် အသုံးပြုနိုင်ရန်အတွက် ဤ Chromebook ကို ပြန်လည်စတင်ရန် လိုအပ်သည်။ ၎င်းက ၁ မိနစ်အထိ ကြာနိုင်သည်။</translation>
diff --git a/ash/strings/ash_strings_nl.xtb b/ash/strings/ash_strings_nl.xtb
index b032a1f..7103fb5 100644
--- a/ash/strings/ash_strings_nl.xtb
+++ b/ash/strings/ash_strings_nl.xtb
@@ -924,6 +924,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Terugzetten naar oude resolutie over <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Vernieuwen</translation>
+<translation id="718361511487535372">Openen in Google Agenda</translation>
 <translation id="7188494361780961876">Menu verplaatst naar linksboven in het scherm.</translation>
 <translation id="7189412385142492784">Hoe ver weg is Venus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Deze Chromebook moet opnieuw worden opgestart om een update uit te voeren. Dit kan ongeveer één minuut duren.</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb
index b89f0c38..35b81b6 100644
--- a/ash/strings/ash_strings_pl.xtb
+++ b/ash/strings/ash_strings_pl.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">Asystent (ładuję…)</translation>
 <translation id="1838895407229022812">Podświetlenie nocne jest wyłączone.</translation>
 <translation id="1864454756846565995">Urządzenie USB-C (tylny port)</translation>
+<translation id="1879018240766558464">Okna incognito nie są obecnie obsługiwane. Inne aplikacje zostaną zapisane.</translation>
 <translation id="1882814835921407042">Brak sieci komórkowej</translation>
 <translation id="1882897271359938046">Kopia na <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Odblokuj odciskiem palca</translation>
@@ -926,6 +927,7 @@
 <translation id="7165278925115064263">Alt + Shift + K</translation>
 <translation id="7168224885072002358">Powrót do wcześniejszej rozdzielczości za <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Odśwież</translation>
+<translation id="718361511487535372">Otwórz w Kalendarzu Google</translation>
 <translation id="7188494361780961876">Menu zostało przeniesione w lewy górny róg ekranu.</translation>
 <translation id="7189412385142492784">Jak daleko jest Wenus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Konieczne jest ponowne uruchomienie tego Chromebooka, by zainstalować aktualizację. Może to potrwać około minuty.</translation>
@@ -945,6 +947,7 @@
 <translation id="7366890467478514168">Połącz z urządzeniem <ph name="NAME" /></translation>
 <translation id="7371404428569700291">Nagraj okno</translation>
 <translation id="7377169924702866686">Caps Lock jest włączony.</translation>
+<translation id="7377481913241237033">Połącz przy użyciu kodu</translation>
 <translation id="7378203170292176219">Przeciągnij, by wybrać obszar, który chcesz nagrać</translation>
 <translation id="7378594059915113390">Sterowanie multimediami</translation>
 <translation id="7378889811480108604">Oszczędzanie baterii jest wyłączone.</translation>
@@ -972,6 +975,7 @@
 <translation id="7514365320538308">Pobierz</translation>
 <translation id="7526573455193969409">Sieć może być monitorowana</translation>
 <translation id="7536035074519304529">Adres IP: <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Aplikacje na Linuksa ani okna incognito nie są obecnie obsługiwane. Inne aplikacje zostaną zapisane.</translation>
 <translation id="7544300628205093162">Podświetlenie klawiatury jest włączone</translation>
 <translation id="7548434653388805669">Czas iść spać</translation>
 <translation id="7551643184018910560">Przypnij do półki</translation>
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb
index 82ccb6d..7117c1c5 100644
--- a/ash/strings/ash_strings_pt-BR.xtb
+++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Revertendo para resolução anterior em <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Atualizar</translation>
+<translation id="718361511487535372">Abrir no Google Agenda</translation>
 <translation id="7188494361780961876">O menu foi movido para o canto superior esquerdo da tela.</translation>
 <translation id="7189412385142492784">Qual é a distância até Vênus?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Este Chromebook precisa ser reiniciado para que uma atualização seja aplicada. Isso pode demorar até um minuto.</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb
index 6bf2bb6..fdbe873 100644
--- a/ash/strings/ash_strings_pt-PT.xtb
+++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">A reverter para a resolução antiga dentro de <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Atualizar</translation>
+<translation id="718361511487535372">Abrir no Calendário Google</translation>
 <translation id="7188494361780961876">O menu foi movido para o canto superior esquerdo do ecrã.</translation>
 <translation id="7189412385142492784">Qual é a distância para Vénus?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. É necessário reiniciar o Chromebook para aplicar uma atualização. Esta ação pode demorar até 1 minuto.</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb
index d540cdf..e8e479d 100644
--- a/ash/strings/ash_strings_ru.xtb
+++ b/ash/strings/ash_strings_ru.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt + Shift + K</translation>
 <translation id="7168224885072002358">Возврат к предыдущему разрешению через <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Обновить</translation>
+<translation id="718361511487535372">Открыть в Google Календаре</translation>
 <translation id="7188494361780961876">Меню перемещено в левый верхний угол экрана.</translation>
 <translation id="7189412385142492784">Расстояние до Венеры</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" /> Для установки обновления необходимо перезапустить Chromebook. Это может занять около минуты.</translation>
diff --git a/ash/strings/ash_strings_sq.xtb b/ash/strings/ash_strings_sq.xtb
index 3a291aa..f6776f6d 100644
--- a/ash/strings/ash_strings_sq.xtb
+++ b/ash/strings/ash_strings_sq.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Po rikthehet te rezolucioni i vjetër për <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Rifresko</translation>
+<translation id="718361511487535372">Hap në kalendarin e Google</translation>
 <translation id="7188494361780961876">Menyja u zhvendos në këndin lart majtas të ekranit.</translation>
 <translation id="7189412385142492784">Sa larg është Afërdita</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Kjo pajisje Chromebook duhet të riniset për të zbatuar një përditësim. Kjo mund të zgjasë deri në 1 minutë.</translation>
diff --git a/ash/strings/ash_strings_sr-Latn.xtb b/ash/strings/ash_strings_sr-Latn.xtb
index 364957a..552f5f2 100644
--- a/ash/strings/ash_strings_sr-Latn.xtb
+++ b/ash/strings/ash_strings_sr-Latn.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">Pomoćnik (učitava se...)</translation>
 <translation id="1838895407229022812">Noćno svetlo je isključeno.</translation>
 <translation id="1864454756846565995">Uređaj sa USB priključkom tipa C (zadnji port)</translation>
+<translation id="1879018240766558464">Prozori bez arhiviranja trenutno nisu podržani. Druge aplikacije će biti sačuvane.</translation>
 <translation id="1882814835921407042">Nema mobilne mreže</translation>
 <translation id="1882897271359938046">Preslikavanje u <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Otključajte otiskom prsta</translation>
@@ -947,6 +948,7 @@
 <translation id="7366890467478514168">Povežite <ph name="NAME" /></translation>
 <translation id="7371404428569700291">Snimi prozor</translation>
 <translation id="7377169924702866686">Caps Lock je uključen.</translation>
+<translation id="7377481913241237033">Povežite se pomoću koda</translation>
 <translation id="7378203170292176219">Prevucite da biste izabrali oblast za snimanje</translation>
 <translation id="7378594059915113390">Kontrole za medije</translation>
 <translation id="7378889811480108604">Režim uštede baterije je isključen</translation>
@@ -974,6 +976,7 @@
 <translation id="7514365320538308">Preuzmi</translation>
 <translation id="7526573455193969409">Mreža se možda nadgleda</translation>
 <translation id="7536035074519304529">IP adresa: <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Linux aplikacije i prozori bez arhiviranja trenutno nisu podržani. Druge aplikacije će biti sačuvane.</translation>
 <translation id="7544300628205093162">Pozadinsko osvetljenje tastature je uključeno</translation>
 <translation id="7548434653388805669">Vreme je za spavanje</translation>
 <translation id="7551643184018910560">Zakači na policu</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index 3018844..e1ca377 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">Помоћник (учитава се...)</translation>
 <translation id="1838895407229022812">Ноћно светло је искључено.</translation>
 <translation id="1864454756846565995">Уређај са USB прикључком типа C (задњи порт)</translation>
+<translation id="1879018240766558464">Прозори без архивирања тренутно нису подржани. Друге апликације ће бити сачуване.</translation>
 <translation id="1882814835921407042">Нема мобилне мреже</translation>
 <translation id="1882897271359938046">Пресликавање у <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Откључајте отиском прста</translation>
@@ -947,6 +948,7 @@
 <translation id="7366890467478514168">Повежите <ph name="NAME" /></translation>
 <translation id="7371404428569700291">Сними прозор</translation>
 <translation id="7377169924702866686">Caps Lock је укључен.</translation>
+<translation id="7377481913241237033">Повежите се помоћу кода</translation>
 <translation id="7378203170292176219">Превуците да бисте изабрали област за снимање</translation>
 <translation id="7378594059915113390">Контроле за медије</translation>
 <translation id="7378889811480108604">Режим уштеде батерије је искључен</translation>
@@ -974,6 +976,7 @@
 <translation id="7514365320538308">Преузми</translation>
 <translation id="7526573455193969409">Мрежа се можда надгледа</translation>
 <translation id="7536035074519304529">IP адреса: <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Linux апликације и прозори без архивирања тренутно нису подржани. Друге апликације ће бити сачуване.</translation>
 <translation id="7544300628205093162">Позадинско осветљење тастатуре је укључено</translation>
 <translation id="7548434653388805669">Време је за спавање</translation>
 <translation id="7551643184018910560">Закачи на полицу</translation>
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb
index 78dcfb8..74d63f9 100644
--- a/ash/strings/ash_strings_sv.xtb
+++ b/ash/strings/ash_strings_sv.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt + Skift + K</translation>
 <translation id="7168224885072002358">Återgår till den gamla upplösningen om <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Uppdatera</translation>
+<translation id="718361511487535372">Öppna i Google Kalender</translation>
 <translation id="7188494361780961876">Menyn har flyttats till skärmens övre vänstra hörn.</translation>
 <translation id="7189412385142492784">Hår långt är det till Venus</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Denna Chromebook behöver startas om så att en uppdatering tillämpas. Det kan ta upp till en minut.</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb
index 61bc0800..074f757d 100644
--- a/ash/strings/ash_strings_sw.xtb
+++ b/ash/strings/ash_strings_sw.xtb
@@ -951,7 +951,7 @@
 <translation id="7378594059915113390">Vidhibiti vya Maudhui</translation>
 <translation id="7378889811480108604">Hali ya kuokoa betri imezimwa</translation>
 <translation id="7392563512730092880">Unaweza kuweka baadaye kwenye Mipangilio.</translation>
-<translation id="7405710164030118432">Ili ufungue kifaa, weka msimbo wa ufikiaji wa mzazi katika Family Link</translation>
+<translation id="7405710164030118432">Ili ufungue kifaa, weka msimbo wako wa kufikia wa mzazi wa Family Link</translation>
 <translation id="7406608787870898861">Maliza kuweka mipangilio ya mtandao wako wa simu</translation>
 <translation id="740790383907119240">Njia za Mikato za Programu</translation>
 <translation id="7413851974711031813">Bonyeza kitufe cha "escape" ili ufunge</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb
index c8ac2a5..56eb529 100644
--- a/ash/strings/ash_strings_ta.xtb
+++ b/ash/strings/ash_strings_ta.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">ஆல்ட்+ஷிஃப்ட்+K</translation>
 <translation id="7168224885072002358"><ph name="TIMEOUT_SECONDS" /> வினாடிகளில் பழைய தெளிவுதிறனுக்கு மாற்றியமைக்கப்படும்</translation>
 <translation id="7180611975245234373">புதுப்பி</translation>
+<translation id="718361511487535372">Google Calendarரில் திற</translation>
 <translation id="7188494361780961876">திரையின் மேல் இடது மூலைக்கு மெனு நகர்த்தப்பட்டது.</translation>
 <translation id="7189412385142492784">வெள்ளி கிரகம் எவ்வளவு தொலைவில் உள்ளது?</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. புதுப்பிப்பைப் பயன்படுத்த இந்த Chromebookகை மீண்டும் தொடங்க வேண்டும். இதற்கு 1 நிமிடம் வரை ஆகலாம்.</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb
index 6d43763d..bcc15765 100644
--- a/ash/strings/ash_strings_te.xtb
+++ b/ash/strings/ash_strings_te.xtb
@@ -146,6 +146,7 @@
 <translation id="1836215606488044471">సహాయకం (లోడ్ అవుతోంది...)</translation>
 <translation id="1838895407229022812">రాత్రి కాంతి ఆఫ్‌లో ఉంది.</translation>
 <translation id="1864454756846565995">USB-C పరికరం (వెనుకవైపు పోర్ట్)</translation>
+<translation id="1879018240766558464">అజ్ఞాత విండోలు ప్రస్తుత సపోర్ట్ చేయవు. ఇతర యాప్‌లు సేవ్ చేయబడతాయి.</translation>
 <translation id="1882814835921407042">మొబైల్ నెట్‌వర్క్ ఏదీ అందుబాటులో లేదు</translation>
 <translation id="1882897271359938046"><ph name="DISPLAY_NAME" />కు మిర్రరింగ్ చేస్తోంది</translation>
 <translation id="1885785240814121742">వేలిముద్రతో అన్‌లాక్ చేయండి</translation>
@@ -683,7 +684,7 @@
 <translation id="547979256943495781">అర కుడి వైపున ఉంది</translation>
 <translation id="5491186829646618080">ఫర్మ్‌వేర్ అప్‌డేట్‌లు అందుబాటులో ఉన్నాయి</translation>
 <translation id="5519195206574732858">LTE</translation>
-<translation id="5520229639206813572">మీ అడ్మినిస్ట్రేటర్ అన్ని eSIM ప్రొఫైల్‌లను తీసివేసారు. మరింత సమాచారం కోసం మీ అడ్మినిస్ట్రేటర్‌ను సంప్రదించండి.</translation>
+<translation id="5520229639206813572">మీ అడ్మినిస్ట్రేటర్ అన్ని eSIM ప్రొఫైళ్లను తీసివేసారు. మరింత సమాచారం కోసం మీ అడ్మినిస్ట్రేటర్‌ను సంప్రదించండి.</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> కనెక్ట్ అవుతోంది.</translation>
 <translation id="5532994612895037630">ఫుల్ స్క్రీన్‌ను రికార్డ్ చేయడానికి ఎక్కడైనా ట్యాప్ చేయండి</translation>
 <translation id="553675580533261935">సెషన్ నుండి నిష్క్రమిస్తోంది</translation>
@@ -948,6 +949,7 @@
 <translation id="7366890467478514168"><ph name="NAME" />‌ను కనెక్ట్ చేయండి</translation>
 <translation id="7371404428569700291">విండోను రికార్డ్ చేయండి</translation>
 <translation id="7377169924702866686">Caps Lock ఆన్‌లో ఉంది.</translation>
+<translation id="7377481913241237033">కోడ్ ద్వారా కనెక్ట్ అవ్వండి</translation>
 <translation id="7378203170292176219">రికార్డ్ చేసేందుకు ప్రదేశాన్ని ఎంచుకోవడానికి లాగండి</translation>
 <translation id="7378594059915113390">మీడియా నియంత్రణలు</translation>
 <translation id="7378889811480108604">బ్యాటరీ సేవర్ మోడ్ ఆఫ్‌లో ఉంది</translation>
@@ -975,6 +977,7 @@
 <translation id="7514365320538308">డౌన్‌లోడ్ చేయి</translation>
 <translation id="7526573455193969409">నెట్‌వ‌ర్క్‌పై ప‌ర్య‌వేక్ష‌ణ ఉండ‌వ‌చ్చు</translation>
 <translation id="7536035074519304529">IP అడ్రస్‌: <ph name="ADDRESS" /></translation>
+<translation id="7543399541175347147">Linux యాప్‌లు, అజ్ఞాత విండోలు ప్రస్తుత సపోర్ట్ చేయవు. ఇతర యాప్‌లు సేవ్ చేయబడతాయి.</translation>
 <translation id="7544300628205093162">కీబోర్డ్ బ్యాక్‌లైట్ ఆన్‌లో ఉంది</translation>
 <translation id="7548434653388805669">నిద్రపోయే సమయం</translation>
 <translation id="7551643184018910560">అరకు పిన్ చేయండి</translation>
diff --git a/ash/strings/ash_strings_tr.xtb b/ash/strings/ash_strings_tr.xtb
index 23bea048..aa5dcf0c 100644
--- a/ash/strings/ash_strings_tr.xtb
+++ b/ash/strings/ash_strings_tr.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Üst Karakter+K</translation>
 <translation id="7168224885072002358"><ph name="TIMEOUT_SECONDS" /> saniye içinde eski çözünürlüğe dönülüyor</translation>
 <translation id="7180611975245234373">Yenile</translation>
+<translation id="718361511487535372">Google Takvim'de aç</translation>
 <translation id="7188494361780961876">Menü, ekranın sol üst köşesine taşındı.</translation>
 <translation id="7189412385142492784">Venüs ne kadar uzak</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Bir güncellemenin uygulanması için bu Chromebook'un yeniden başlatılması gerekiyor. Bu işlem bir dakika kadar sürebilir.</translation>
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb
index b20ae36..4f99c297 100644
--- a/ash/strings/ash_strings_uk.xtb
+++ b/ash/strings/ash_strings_uk.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Попередня роздільна здатність повернеться через <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Оновити</translation>
+<translation id="718361511487535372">Відкрити в Google Календарі</translation>
 <translation id="7188494361780961876">Меню переміщено у верхній лівий кут екрана.</translation>
 <translation id="7189412385142492784">Яка відстань від Землі до Венери</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Щоб оновлення почали діяти, Chromebook потрібно перезапустити. Це може зайняти до 1 хвилини.</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb
index e9551d2..86944232 100644
--- a/ash/strings/ash_strings_vi.xtb
+++ b/ash/strings/ash_strings_vi.xtb
@@ -927,6 +927,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358">Sẽ hoàn nguyên về độ phân giải cũ sau <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7180611975245234373">Làm mới</translation>
+<translation id="718361511487535372">Mở trong Lịch Google</translation>
 <translation id="7188494361780961876">Đã di chuyển trình đơn vào góc trên cùng bên trái màn hình.</translation>
 <translation id="7189412385142492784">Sao Kim cách đây bao xa</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />. Cần khởi động lại Chromebook này để áp dụng bản cập nhật. Quá trình này có thể mất tối đa 1 phút.</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb
index 8d4242a..66b89ca 100644
--- a/ash/strings/ash_strings_zh-CN.xtb
+++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -924,6 +924,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358"><ph name="TIMEOUT_SECONDS" />秒后恢复到原分辨率</translation>
 <translation id="7180611975245234373">刷新</translation>
+<translation id="718361511487535372">在 Google 日历中打开</translation>
 <translation id="7188494361780961876">菜单已移至屏幕的左上角。</translation>
 <translation id="7189412385142492784">金星有多远</translation>
 <translation id="7246071203293827765"><ph name="UPDATE_TEXT" />。此 Chromebook 需要重新启动才能让更新生效。此过程最多可能需要 1 分钟的时间。</translation>
diff --git a/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.html b/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.html
index 7bea5c4..53c7b0ed 100644
--- a/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.html
+++ b/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.html
@@ -12,6 +12,7 @@
   <template>
     <wallpaper-grid-item
       class="photo"
+      image-src="[[photo.url.url]]"
       tabindex$="[[tabIndex]]">
     </wallpaper-grid-item>
   </template>
diff --git a/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.ts b/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.ts
index d8842317..d1a266d2 100644
--- a/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.ts
+++ b/ash/webui/personalization_app/resources/trusted/wallpaper/google_photos_photos_by_album_id_element.ts
@@ -14,37 +14,12 @@
 import {afterNextRender, html} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {isNonEmptyArray} from '../../common/utils.js';
-import {WallpaperProviderInterface} from '../personalization_app.mojom-webui.js';
+import {GooglePhotosPhoto, WallpaperProviderInterface} from '../personalization_app.mojom-webui.js';
 import {PersonalizationStore, WithPersonalizationStore} from '../personalization_store.js';
 
 import {fetchGooglePhotosAlbum} from './wallpaper_controller.js';
 import {getWallpaperProvider} from './wallpaper_interface_provider.js';
 
-let fetchGooglePhotosAlbumFunction = fetchGooglePhotosAlbum;
-
-type WallpaperControllerFunctionPromisesForTesting = {
-  fetchGooglePhotosAlbum: Promise<any[]>,
-};
-
-/**
- * TODO(dmblack): Remove once mojo provider is used to fetch data.
- * Mocks out wallpaper controller functions for testing. Returns promises that
- * are resolved when the function is called by |GooglePhotosPhotosByAlbumId|.
- */
-export function promisifyWallpaperControllerFunctionsForTesting():
-    WallpaperControllerFunctionPromisesForTesting {
-  const resolvers: Record<string, (args: any[]) => void> = {};
-  const promises = {
-    fetchGooglePhotosAlbum: new Promise<any[]>(
-        resolve => resolvers[fetchGooglePhotosAlbum.name] = resolve),
-  };
-  fetchGooglePhotosAlbumFunction = (...args: any): Promise<void> => {
-    resolvers[fetchGooglePhotosAlbum.name](args);
-    return Promise.resolve();
-  };
-  return promises;
-}
-
 export interface GooglePhotosPhotosByAlbumId {
   $: {grid: IronListElement;};
 }
@@ -89,10 +64,10 @@
   hidden: boolean;
 
   /** The list of photos for the currently selected album id. */
-  private album_: unknown[]|null|undefined;
+  private album_: GooglePhotosPhoto[]|null|undefined;
 
   /** The list of photos by album id. */
-  private photosByAlbumId_: Record<string, unknown[]|null|undefined>;
+  private photosByAlbumId_: Record<string, GooglePhotosPhoto[]|null|undefined>;
 
   /** Whether the list of photos by album id is currently loading. */
   private photosByAlbumIdLoading_: Record<string, boolean>;
@@ -127,7 +102,7 @@
   }
 
   /** Invoked to compute |album_|. */
-  private computeAlbum_(): number[]|null|undefined {
+  private computeAlbum_(): GooglePhotosPhoto[]|null {
     // If no album is currently selected or if the currently selected album is
     // still loading then there is nothing to display.
     if (!this.albumId || this.photosByAlbumIdLoading_[this.albumId]) {
@@ -137,13 +112,13 @@
     // If the currently selected album has not already been fetched, do so
     // though there is still nothing to display.
     if (!this.photosByAlbumId_.hasOwnProperty(this.albumId)) {
-      fetchGooglePhotosAlbumFunction(
+      fetchGooglePhotosAlbum(
           this.wallpaperProvider_, this.getStore(), this.albumId);
       return null;
     }
 
     // Once the currently selected album has been fetched it can be displayed.
-    return this.photosByAlbumId_[this.albumId]?.map((_, i) => i + 1);
+    return this.photosByAlbumId_[this.albumId]!;
   }
 }
 
diff --git a/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_actions.ts b/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_actions.ts
index 16d6a49..d74356b5 100644
--- a/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_actions.ts
+++ b/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_actions.ts
@@ -230,7 +230,7 @@
 export type SetGooglePhotosAlbumAction = Action&{
   name: WallpaperActionName.SET_GOOGLE_PHOTOS_ALBUM;
   albumId: string;
-  photos: unknown[];
+  photos: GooglePhotosPhoto[]|null;
 };
 
 /**
@@ -238,7 +238,8 @@
  * specified id. May be called with null on error.
  */
 export function setGooglePhotosAlbumAction(
-    albumId: string, photos: unknown[]): SetGooglePhotosAlbumAction {
+    albumId: string,
+    photos: GooglePhotosPhoto[]|null): SetGooglePhotosAlbumAction {
   return {albumId, photos, name: WallpaperActionName.SET_GOOGLE_PHOTOS_ALBUM};
 }
 
@@ -258,9 +259,7 @@
   count: number|null;
 };
 
-/**
- * Sets the count of Google Photos photos. May be called with null on error.
- */
+/** Sets the count of Google Photos photos. May be called with null on error. */
 export function setGooglePhotosCountAction(count: number|
                                            null): SetGooglePhotosCountAction {
   return {count, name: WallpaperActionName.SET_GOOGLE_PHOTOS_COUNT};
diff --git a/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_controller.ts b/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_controller.ts
index 72d5035..f09c9fb 100644
--- a/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_controller.ts
+++ b/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_controller.ts
@@ -66,17 +66,29 @@
  * specified id and saves it to the store.
  */
 export async function fetchGooglePhotosAlbum(
-    _: WallpaperProviderInterface, store: PersonalizationStore,
+    provider: WallpaperProviderInterface, store: PersonalizationStore,
     albumId: string): Promise<void> {
   store.dispatch(action.beginLoadGooglePhotosAlbumAction(albumId));
 
-  // TODO(dmblack): Create and wire up mojo API. For now, simulate an async
-  // request that returns a list of 1,000 Google Photos photos.
-  return new Promise(resolve => setTimeout(() => {
-                       store.dispatch(action.setGooglePhotosAlbumAction(
-                           albumId, Array.from({length: 1000})));
-                       resolve();
-                     }, 1000));
+  let photos: Array<GooglePhotosPhoto>|null = [];
+  let resumeToken: string|null|undefined = null;
+
+  // TODO(b/216882690): Support incremental load of photos as the user scrolls
+  // through their library as opposed to loading them all at once.
+  do {
+    const {response} =
+        await provider.fetchGooglePhotosPhotos(albumId, resumeToken) as
+        {response: FetchGooglePhotosPhotosResponse};
+    if (!Array.isArray(response.photos)) {
+      console.warn('Failed to fetch Google Photos album');
+      photos = null;
+      break;
+    }
+    photos.push(...response.photos);
+    resumeToken = response.resumeToken;
+  } while (resumeToken);
+
+  store.dispatch(action.setGooglePhotosAlbumAction(albumId, photos));
 }
 
 /** Fetches the list of Google Photos albums and saves it to the store. */
@@ -121,14 +133,13 @@
   store.dispatch(action.beginLoadGooglePhotosPhotosAction());
 
   let photos: Array<GooglePhotosPhoto>|null = [];
-  const albumId: string|null|undefined = null;
   let resumeToken: string|null|undefined = null;
 
   // TODO(b/216882690): Support incremental load of photos as the user scrolls
   // through their library as opposed to loading them all at once.
   do {
-    const {response} =
-        await provider.fetchGooglePhotosPhotos(albumId, resumeToken) as
+    const {response} = await provider.fetchGooglePhotosPhotos(
+                           /*albumId=*/ null, resumeToken) as
         {response: FetchGooglePhotosPhotosResponse};
     if (!Array.isArray(response.photos)) {
       console.warn('Failed to fetch Google Photos photos');
diff --git a/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_state.ts b/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_state.ts
index b634b54..046056cc 100644
--- a/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_state.ts
+++ b/ash/webui/personalization_app/resources/trusted/wallpaper/wallpaper_state.ts
@@ -30,7 +30,7 @@
   count: number|null|undefined;
   albums: GooglePhotosAlbum[]|null|undefined;
   photos: GooglePhotosPhoto[]|null|undefined;
-  photosByAlbumId: Record<string, unknown[]|null|undefined>;
+  photosByAlbumId: Record<string, GooglePhotosPhoto[]|null|undefined>;
 }
 
 /**
diff --git a/ash/webui/projector_app/projector_message_handler.cc b/ash/webui/projector_app/projector_message_handler.cc
index d875e29..fcf5f748 100644
--- a/ash/webui/projector_app/projector_message_handler.cc
+++ b/ash/webui/projector_app/projector_message_handler.cc
@@ -112,7 +112,7 @@
   if (!args.is_list())
     return false;
 
-  const auto& args_list = args.GetList();
+  const auto& args_list = args.GetListDeprecated();
 
   if (args_list.size() != 1 || !args_list[0].is_string())
     return false;
@@ -128,7 +128,7 @@
   if (!args.is_list())
     return false;
 
-  const auto& args_list = args.GetList();
+  const auto& args_list = args.GetListDeprecated();
 
   if (args_list.size() != 2 || !args_list[0].is_string()) {
     return false;
@@ -301,8 +301,8 @@
   // The first entry is the drive directory to save the screen cast to.
   // TODO(b/177959166): Pass the directory to ProjectorController when starting
   // a new session.
-  DCHECK_EQ(func_args.GetList().size(), 1u);
-  auto storage_dir_name = func_args.GetList()[0].GetString();
+  DCHECK_EQ(func_args.GetListDeprecated().size(), 1u);
+  auto storage_dir_name = func_args.GetListDeprecated()[0].GetString();
   if (RE2::PartialMatch(storage_dir_name, kInvalidStorageDirNameRegex)) {
     ResolveJavascriptCallback(args[0], base::Value(false));
     return;
@@ -330,10 +330,11 @@
 
   const auto& requested_account = args[1];
   DCHECK(requested_account.is_list());
-  DCHECK_EQ(requested_account.GetList().size(), 1u);
+  DCHECK_EQ(requested_account.GetListDeprecated().size(), 1u);
 
   auto& oauth_token_fetch_callback = args[0].GetString();
-  const std::string& email = requested_account.GetList()[0].GetString();
+  const std::string& email =
+      requested_account.GetListDeprecated()[0].GetString();
 
   oauth_token_fetcher_.GetAccessTokenFor(
       email,
@@ -347,7 +348,7 @@
   DCHECK_EQ(args.size(), 2u);
   const auto& callback_id = args[0].GetString();
 
-  const auto& func_args = args[1].GetList();
+  const auto& func_args = args[1].GetListDeprecated();
   // Four function arguments:
   // 1. The request URL.
   // 2. The request method, for example: GET
diff --git a/ash/webui/scanning/scanning_handler.cc b/ash/webui/scanning/scanning_handler.cc
index 6082ffe1..52aafdd8 100644
--- a/ash/webui/scanning/scanning_handler.cc
+++ b/ash/webui/scanning/scanning_handler.cc
@@ -135,7 +135,7 @@
   CHECK_EQ(1U, args->GetListDeprecated().size());
   DCHECK(args->GetListDeprecated()[0].is_list());
   const base::Value::ConstListView& value_list =
-      args->GetListDeprecated()[0].GetList();
+      args->GetListDeprecated()[0].GetListDeprecated();
   DCHECK(!value_list.empty());
 
   std::vector<base::FilePath> file_paths;
diff --git a/ash/wm/desks/templates/desks_templates_grid_view.cc b/ash/wm/desks/templates/desks_templates_grid_view.cc
index 2c7c6ab..0f1cd1b 100644
--- a/ash/wm/desks/templates/desks_templates_grid_view.cc
+++ b/ash/wm/desks/templates/desks_templates_grid_view.cc
@@ -32,9 +32,10 @@
 
 namespace {
 
-// Maximum number of columns for items when width >= height.
+// Items are laid out in landscape mode when the aspect ratio of the view is
+// above this number.
+constexpr float kAspectRatioLimit = 1.38f;
 constexpr int kLandscapeMaxColumns = 3;
-// Ditto for when width < height.
 constexpr int kPortraitMaxColumns = 2;
 
 constexpr int kGridPaddingDp = 25;
@@ -111,14 +112,38 @@
   return widget;
 }
 
-void DesksTemplatesGridView::PopulateGridUI(
+void DesksTemplatesGridView::UpdateGridUI(
     const std::vector<DeskTemplate*>& desk_templates,
     const gfx::Rect& grid_bounds) {
-  // In the cases where the grid was hidden and needs to be reshown, we will
-  // clear the current views and repopulate the grid with the new
-  // `desk_templates`.
-  // TODO(crbug.com/1291087): Change this logic so that we just go through and
-  // add/update the necessary views.
+  // Check if any of the template items or their name views have overview focus
+  // and notify the highlight controller. This should only be needed when a
+  // template item is deleted, but currently we call `UpdateGridUI` every time
+  // the model changes.
+  // TODO(crbug.com/1266552): Remove this when `UpdateGridUI` is not rebuilt
+  // every time.
+  if (!grid_items_.empty()) {
+    auto* highlight_controller = Shell::Get()
+                                     ->overview_controller()
+                                     ->overview_session()
+                                     ->highlight_controller();
+    if (highlight_controller->IsFocusHighlightVisible()) {
+      // Notify the highlight controller if any of the about to be destroyed
+      // views have overview focus to prevent use-after-free.
+      for (DesksTemplatesItemView* template_view : grid_items_) {
+        if (template_view->IsViewHighlighted()) {
+          highlight_controller->OnViewDestroyingOrDisabling(template_view);
+          break;
+        }
+
+        if (template_view->name_view()->IsViewHighlighted()) {
+          highlight_controller->OnViewDestroyingOrDisabling(
+              template_view->name_view());
+          break;
+        }
+      }
+    }
+  }
+
   RemoveAllChildViews();
   grid_items_.clear();
 
@@ -128,8 +153,24 @@
   DCHECK_LE(desk_templates.size(),
             DesksTemplatesPresenter::Get()->GetMaxEntryCount());
 
-  AddTemplatesToGrid(std::vector<const DeskTemplate*>(desk_templates.begin(),
-                                                      desk_templates.end()));
+  std::vector<std::unique_ptr<DesksTemplatesItemView>> desk_template_views;
+
+  for (DeskTemplate* desk_template : desk_templates) {
+    desk_template_views.push_back(
+        std::make_unique<DesksTemplatesItemView>(desk_template));
+  }
+
+  // Sort the `desk_template_views` into alphabetical order based on template
+  // name, note that accessible name == template name.
+  std::sort(desk_template_views.begin(), desk_template_views.end(),
+            [](const std::unique_ptr<DesksTemplatesItemView>& a,
+               const std::unique_ptr<DesksTemplatesItemView>& b) {
+              return a->GetAccessibleName() < b->GetAccessibleName();
+            });
+
+  // Add each of the templates to the grid.
+  for (auto& view : desk_template_views)
+    grid_items_.push_back(AddChildView(std::move(view)));
 
   feedback_button_ = AddChildView(std::make_unique<PillButton>(
       base::BindRepeating(&DesksTemplatesGridView::OnFeedbackButtonPressed,
@@ -150,53 +191,6 @@
     Layout();
 }
 
-void DesksTemplatesGridView::AddOrUpdateTemplates(
-    const std::vector<const DeskTemplate*>& new_entries) {
-  // TODO(crbug.com/1291087): Instead of deleting and then adding a new template
-  // view, we should just add a way to directly update the existing view.
-  std::vector<std::string> entries_uuids;
-  for (auto* new_entry : new_entries)
-    entries_uuids.emplace_back(new_entry->uuid().AsLowercaseString());
-
-  // We wait to do a layout until after we both delete and add all the templates
-  // views to the grid.
-  DeleteTemplates(entries_uuids, /*layout=*/false);
-  AddTemplatesToGrid(new_entries);
-
-  Layout();
-}
-
-void DesksTemplatesGridView::DeleteTemplates(
-    const std::vector<std::string>& uuids,
-    bool layout) {
-  OverviewHighlightController* highlight_controller =
-      Shell::Get()
-          ->overview_controller()
-          ->overview_session()
-          ->highlight_controller();
-  DCHECK(highlight_controller);
-
-  for (const std::string& uuid : uuids) {
-    auto iter =
-        std::find_if(grid_items_.begin(), grid_items_.end(),
-                     [uuid](DesksTemplatesItemView* grid_item) {
-                       return uuid == grid_item->uuid().AsLowercaseString();
-                     });
-
-    if (iter == grid_items_.end())
-      continue;
-
-    highlight_controller->OnViewDestroyingOrDisabling(*iter);
-    highlight_controller->OnViewDestroyingOrDisabling((*iter)->name_view());
-
-    RemoveChildView(*iter);
-    grid_items_.erase(iter);
-  }
-
-  if (layout)
-    Layout();
-}
-
 bool DesksTemplatesGridView::IsTemplateNameBeingModified() const {
   if (!GetWidget()->IsActive())
     return false;
@@ -214,8 +208,11 @@
 
   const size_t count = grid_items_.size();
   const gfx::Size grid_item_size = grid_items_[0]->GetPreferredSize();
-  const size_t max_column_count =
-      width() >= height() ? kLandscapeMaxColumns : kPortraitMaxColumns;
+  const float aspect_ratio =
+      static_cast<float>(width()) / std::max(height(), 1);
+  const size_t max_column_count = aspect_ratio > kAspectRatioLimit
+                                      ? kLandscapeMaxColumns
+                                      : kPortraitMaxColumns;
   const size_t column_count = std::min(count, max_column_count);
   const size_t row_count =
       (count / max_column_count) + ((count % max_column_count) == 0 ? 0 : 1);
@@ -273,26 +270,6 @@
   widget_window_ = nullptr;
 }
 
-void DesksTemplatesGridView::AddTemplatesToGrid(
-    const std::vector<const DeskTemplate*>& desk_templates) {
-  for (const DeskTemplate* desk_template : desk_templates) {
-    grid_items_.push_back(
-        AddChildView(std::make_unique<DesksTemplatesItemView>(desk_template)));
-  }
-
-  // Sort the `grid_items_` into alphabetical order based on template name.
-  // Note that this doesn't update the order of the child views, but just sorts
-  // the vector. `Layout` is responsible for placing the views in the correct
-  // locations in the grid and callers are expected to call `Layout` after this
-  // function.
-  std::sort(
-      grid_items_.begin(), grid_items_.end(),
-      [](const DesksTemplatesItemView* a, const DesksTemplatesItemView* b) {
-        return a->name_view()->GetAccessibleName() <
-               b->name_view()->GetAccessibleName();
-      });
-}
-
 void DesksTemplatesGridView::OnLocatedEvent(ui::LocatedEvent* event,
                                             bool is_touch) {
   if (widget_window_ && widget_window_->event_targeting_policy() ==
diff --git a/ash/wm/desks/templates/desks_templates_grid_view.h b/ash/wm/desks/templates/desks_templates_grid_view.h
index 6f90068..6d05a50 100644
--- a/ash/wm/desks/templates/desks_templates_grid_view.h
+++ b/ash/wm/desks/templates/desks_templates_grid_view.h
@@ -40,17 +40,8 @@
 
   // Updates the UI by creating a grid layout and populating the grid with the
   // provided list of desk templates.
-  void PopulateGridUI(const std::vector<DeskTemplate*>& desk_templates,
-                      const gfx::Rect& grid_bounds);
-
-  // Adds new templates to the grid, and updates existing templates by first
-  // deleting the old `DesksTemplatesItemView` then creating a new one and
-  // adding it.
-  void AddOrUpdateTemplates(
-      const std::vector<const DeskTemplate*>& new_entries);
-
-  // Removes templates from the grid by UUID.
-  void DeleteTemplates(const std::vector<std::string>& uuids, bool layout);
+  void UpdateGridUI(const std::vector<DeskTemplate*>& desk_templates,
+                    const gfx::Rect& grid_bounds);
 
   // Returns true if a template name is being modified using an item view's
   // `DesksTemplatesNameView` in this grid.
@@ -66,11 +57,6 @@
  private:
   friend class DesksTemplatesEventHandler;
 
-  // Adds the list of templates to the grid. Also sorts `grid_items_` in
-  // alphabetical order.
-  void AddTemplatesToGrid(
-      const std::vector<const DeskTemplate*>& desk_templates);
-
   // Updates the visibility state of the hover buttons on all the `grid_items_`
   // as a result of mouse and gesture events.
   void OnLocatedEvent(ui::LocatedEvent* event, bool is_touch);
diff --git a/ash/wm/desks/templates/desks_templates_item_view.cc b/ash/wm/desks/templates/desks_templates_item_view.cc
index 19b378b..0d5740f 100644
--- a/ash/wm/desks/templates/desks_templates_item_view.cc
+++ b/ash/wm/desks/templates/desks_templates_item_view.cc
@@ -99,8 +99,7 @@
 
 }  // namespace
 
-DesksTemplatesItemView::DesksTemplatesItemView(
-    const DeskTemplate* desk_template)
+DesksTemplatesItemView::DesksTemplatesItemView(DeskTemplate* desk_template)
     : desk_template_(desk_template->Clone()) {
   auto launch_template_callback =
       base::BindRepeating(&DesksTemplatesItemView::OnGridItemPressed,
@@ -109,7 +108,7 @@
   const std::u16string template_name = desk_template_->template_name();
   auto* color_provider = AshColorProvider::Get();
   const bool is_admin_managed =
-      desk_template_->source() == DeskTemplateSource::kPolicy;
+      desk_template->source() == DeskTemplateSource::kPolicy;
 
   views::BoxLayoutView* card_container;
   views::View* spacer;
@@ -425,7 +424,7 @@
                        DesksTemplatesPresenter::Get()->SaveOrUpdateDeskTemplate(
                            /*is_update=*/true, std::move(desk_template));
                      },
-                     desk_template_->Clone()));
+                     std::move(desk_template_)));
 }
 
 void DesksTemplatesItemView::ContentsChanged(
@@ -535,6 +534,16 @@
 }
 
 void DesksTemplatesItemView::OnDeleteTemplate() {
+  // Notify the highlight controller that we're going away.
+  OverviewHighlightController* highlight_controller =
+      Shell::Get()
+          ->overview_controller()
+          ->overview_session()
+          ->highlight_controller();
+  DCHECK(highlight_controller);
+  highlight_controller->OnViewDestroyingOrDisabling(this);
+  highlight_controller->OnViewDestroyingOrDisabling(name_view_);
+
   DesksTemplatesPresenter::Get()->DeleteEntry(
       desk_template_->uuid().AsLowercaseString());
 }
@@ -582,9 +591,7 @@
   name_view_->SetAccessibleName(new_name);
   SetAccessibleName(new_name);
 
-  // This will trigger `name_view_` to compute its new preferred bounds and
-  // invalidate the layout for `this`.
-  name_view_->OnContentsChanged();
+  Layout();
 }
 
 views::View* DesksTemplatesItemView::GetView() {
diff --git a/ash/wm/desks/templates/desks_templates_item_view.h b/ash/wm/desks/templates/desks_templates_item_view.h
index 5f5ce96..1980d13 100644
--- a/ash/wm/desks/templates/desks_templates_item_view.h
+++ b/ash/wm/desks/templates/desks_templates_item_view.h
@@ -6,7 +6,6 @@
 #define ASH_WM_DESKS_TEMPLATES_DESKS_TEMPLATES_ITEM_VIEW_H_
 
 #include "ash/ash_export.h"
-#include "ash/public/cpp/desk_template.h"
 #include "ash/wm/overview/overview_highlightable_view.h"
 #include "base/memory/weak_ptr.h"
 #include "base/scoped_observation.h"
@@ -26,6 +25,7 @@
 class CloseButton;
 class DesksTemplatesIconContainer;
 class DesksTemplatesNameView;
+class DeskTemplate;
 class PillButton;
 
 // A view that represents each individual template item in the desks templates
@@ -67,14 +67,13 @@
  public:
   METADATA_HEADER(DesksTemplatesItemView);
 
-  explicit DesksTemplatesItemView(const DeskTemplate* desk_template);
+  explicit DesksTemplatesItemView(DeskTemplate* desk_template);
   DesksTemplatesItemView(const DesksTemplatesItemView&) = delete;
   DesksTemplatesItemView& operator=(const DesksTemplatesItemView&) = delete;
   ~DesksTemplatesItemView() override;
 
   DeskTemplate* desk_template() const { return desk_template_.get(); }
   DesksTemplatesNameView* name_view() const { return name_view_; }
-  const base::GUID uuid() const { return desk_template_->uuid(); }
 
   // Updates the visibility state of the delete and launch buttons depending on
   // the current mouse or touch event location, or if switch access is enabled.
diff --git a/ash/wm/desks/templates/desks_templates_presenter.cc b/ash/wm/desks/templates/desks_templates_presenter.cc
index 542af30..3cbf225d 100644
--- a/ash/wm/desks/templates/desks_templates_presenter.cc
+++ b/ash/wm/desks/templates/desks_templates_presenter.cc
@@ -24,7 +24,6 @@
 #include "ash/wm/overview/overview_session.h"
 #include "base/bind.h"
 #include "base/i18n/number_formatting.h"
-#include "base/time/time.h"
 #include "ui/base/l10n/l10n_util.h"
 
 namespace ash {
@@ -139,9 +138,8 @@
 void DesksTemplatesPresenter::DeleteEntry(const std::string& template_uuid) {
   weak_ptr_factory_.InvalidateWeakPtrs();
   GetDeskModel()->DeleteEntry(
-      template_uuid,
-      base::BindOnce(&DesksTemplatesPresenter::OnDeleteEntry,
-                     weak_ptr_factory_.GetWeakPtr(), template_uuid));
+      template_uuid, base::BindOnce(&DesksTemplatesPresenter::OnDeleteEntry,
+                                    weak_ptr_factory_.GetWeakPtr()));
   cached_saved_template_uuid_.reset();
 }
 
@@ -186,9 +184,6 @@
   if (!desk_template)
     return;
 
-  if (is_update)
-    desk_template->set_updated_time(base::Time::Now());
-
   weak_ptr_factory_.InvalidateWeakPtrs();
 
   if (!is_update) {
@@ -198,15 +193,11 @@
     cached_saved_template_uuid_.reset();
   }
 
-  // TODO(richui): Look into passing the entire template and not just the
-  // UUID.
-  const std::string template_uuid = desk_template->uuid().AsLowercaseString();
-
   // Save or update `desk_template` as an entry in DeskModel.
   GetDeskModel()->AddOrUpdateEntry(
       std::move(desk_template),
       base::BindOnce(&DesksTemplatesPresenter::OnAddOrUpdateEntry,
-                     weak_ptr_factory_.GetWeakPtr(), is_update, template_uuid));
+                     weak_ptr_factory_.GetWeakPtr(), is_update));
 }
 
 void DesksTemplatesPresenter::OnDeskModelDestroying() {
@@ -215,12 +206,14 @@
 
 void DesksTemplatesPresenter::EntriesAddedOrUpdatedRemotely(
     const std::vector<const DeskTemplate*>& new_entries) {
-  AddOrUpdateUIEntries(new_entries);
+  if (overview_session_->IsShowingDesksTemplatesGrid())
+    GetAllEntries();
 }
 
 void DesksTemplatesPresenter::EntriesRemovedRemotely(
     const std::vector<std::string>& uuids) {
-  RemoveUIEntries(uuids);
+  if (overview_session_->IsShowingDesksTemplatesGrid())
+    GetAllEntries();
 }
 
 void DesksTemplatesPresenter::OnGetAllEntries(
@@ -240,8 +233,7 @@
             overview_grid->desks_templates_grid_widget()) {
       auto* grid_view =
           static_cast<DesksTemplatesGridView*>(grid_widget->GetContentsView());
-      grid_view->PopulateGridUI(entries,
-                                overview_grid->GetGridEffectiveBounds());
+      grid_view->UpdateGridUI(entries, overview_grid->GetGridEffectiveBounds());
       if (cached_saved_template_uuid_) {
         for (auto* item_view : grid_view->grid_items()) {
           if (cached_saved_template_uuid_ ==
@@ -262,34 +254,14 @@
     std::move(on_update_ui_closure_for_testing_).Run();
 }
 
-void DesksTemplatesPresenter::GetEntryByUUID(const std::string& template_uuid) {
-  weak_ptr_factory_.InvalidateWeakPtrs();
-  GetDeskModel()->GetEntryByUUID(
-      template_uuid, base::BindOnce(&DesksTemplatesPresenter::OnGetEntryByUUID,
-                                    weak_ptr_factory_.GetWeakPtr()));
-}
-
-void DesksTemplatesPresenter::OnGetEntryByUUID(
-    desks_storage::DeskModel::GetEntryByUuidStatus status,
-    std::unique_ptr<ash::DeskTemplate> entry) {
-  if (status != desks_storage::DeskModel::GetEntryByUuidStatus::kOk)
-    return;
-
-  if (!entry)
-    return;
-
-  AddOrUpdateUIEntries({entry.get()});
-}
-
 void DesksTemplatesPresenter::OnDeleteEntry(
-    const std::string& template_uuid,
     desks_storage::DeskModel::DeleteEntryStatus status) {
   if (status != desks_storage::DeskModel::DeleteEntryStatus::kOk)
     return;
 
   RecordDeleteTemplateHistogram();
   RecordUserTemplateCountHistogram(GetEntryCount(), GetMaxEntryCount());
-  RemoveUIEntries({template_uuid});
+  GetAllEntries();
 }
 
 void DesksTemplatesPresenter::OnGetTemplateForDeskLaunch(
@@ -323,7 +295,6 @@
 
 void DesksTemplatesPresenter::OnAddOrUpdateEntry(
     bool was_update,
-    const std::string& template_uuid,
     desks_storage::DeskModel::AddOrUpdateEntryStatus status) {
   // TODO(crbug.com/1284449): Add visible cue when failing to save a desk
   // template.
@@ -332,9 +303,9 @@
   if (status != desks_storage::DeskModel::AddOrUpdateEntryStatus::kOk)
     return;
 
-  // If the templates grid is already shown, just update the entry.
+  // If the templates grid is already shown, just update the entries.
   if (overview_session_->IsShowingDesksTemplatesGrid()) {
-    GetEntryByUUID(template_uuid);
+    GetAllEntries();
     return;
   }
 
@@ -352,47 +323,4 @@
   }
 }
 
-void DesksTemplatesPresenter::AddOrUpdateUIEntries(
-    const std::vector<const DeskTemplate*>& new_entries) {
-  if (new_entries.empty())
-    return;
-
-  // This updates `should_show_templates_ui_`.
-  UpdateDesksTemplatesUI();
-
-  for (auto& overview_grid : overview_session_->grid_list()) {
-    // Update `DesksTemplatesGridView` with the new or added desk template
-    // entries.
-    if (views::Widget* grid_widget =
-            overview_grid->desks_templates_grid_widget()) {
-      static_cast<DesksTemplatesGridView*>(grid_widget->GetContentsView())
-          ->AddOrUpdateTemplates(new_entries);
-    }
-  }
-
-  if (on_update_ui_closure_for_testing_)
-    std::move(on_update_ui_closure_for_testing_).Run();
-}
-
-void DesksTemplatesPresenter::RemoveUIEntries(
-    const std::vector<std::string>& uuids) {
-  if (uuids.empty())
-    return;
-
-  // This updates `should_show_templates_ui_`.
-  UpdateDesksTemplatesUI();
-
-  for (auto& overview_grid : overview_session_->grid_list()) {
-    // Remove the entries from `DesksTemplatesGridView`.
-    if (views::Widget* grid_widget =
-            overview_grid->desks_templates_grid_widget()) {
-      static_cast<DesksTemplatesGridView*>(grid_widget->GetContentsView())
-          ->DeleteTemplates(uuids, /*layout=*/true);
-    }
-  }
-
-  if (on_update_ui_closure_for_testing_)
-    std::move(on_update_ui_closure_for_testing_).Run();
-}
-
 }  // namespace ash
diff --git a/ash/wm/desks/templates/desks_templates_presenter.h b/ash/wm/desks/templates/desks_templates_presenter.h
index fdb76a94..0a8112b4 100644
--- a/ash/wm/desks/templates/desks_templates_presenter.h
+++ b/ash/wm/desks/templates/desks_templates_presenter.h
@@ -89,19 +89,9 @@
   void OnGetAllEntries(desks_storage::DeskModel::GetAllEntriesStatus status,
                        const std::vector<DeskTemplate*>& entries);
 
-  // Calls the DeskModel to get a specific template entry, with a callback to
-  // `OnGetEntryByUUID`.
-  void GetEntryByUUID(const std::string& template_uuid);
-
-  // Callback ran after querying the model for a specific entry. Will then call
-  // `AddOrUpdateUIEntries` to update specified template in the UI.
-  void OnGetEntryByUUID(desks_storage::DeskModel::GetEntryByUuidStatus status,
-                        std::unique_ptr<ash::DeskTemplate> entry);
-
-  // Callback after deleting an entry. Will then call `RemoveUIEntries` to
-  // update the UI by removing the deleted template.
-  void OnDeleteEntry(const std::string& template_uuid,
-                     desks_storage::DeskModel::DeleteEntryStatus status);
+  // Callback after deleting an entry. Will then call `GetAllEntries` to update
+  // the UI with the most up to date list of templates.
+  void OnDeleteEntry(desks_storage::DeskModel::DeleteEntryStatus status);
 
   // Launches DeskTemplate after retrieval from storage.
   void OnGetTemplateForDeskLaunch(
@@ -110,18 +100,10 @@
       desks_storage::DeskModel::GetEntryByUuidStatus status,
       std::unique_ptr<DeskTemplate> entry);
 
-  // Callback after adding or updating an entry. Will then call
-  // `AddOrUpdateUIEntries` to update the UI by adding or updating the template.
   void OnAddOrUpdateEntry(
       bool was_update,
-      const std::string& template_uuid,
       desks_storage::DeskModel::AddOrUpdateEntryStatus status);
 
-  // Helper functions for updating the UI.
-  void AddOrUpdateUIEntries(
-      const std::vector<const DeskTemplate*>& new_entries);
-  void RemoveUIEntries(const std::vector<std::string>& uuids);
-
   // Pointer to the session which owns `this`.
   OverviewSession* const overview_session_;
 
diff --git a/ash/wm/desks/templates/desks_templates_unittest.cc b/ash/wm/desks/templates/desks_templates_unittest.cc
index 35b7273..7f62816f 100644
--- a/ash/wm/desks/templates/desks_templates_unittest.cc
+++ b/ash/wm/desks/templates/desks_templates_unittest.cc
@@ -1567,14 +1567,20 @@
       static_cast<DesksTemplatesGridView*>(grid_widget->GetContentsView());
   ASSERT_TRUE(templates_grid_view);
 
-  const std::vector<DesksTemplatesItemView*> grid_items =
-      templates_grid_view->grid_items();
-  ASSERT_EQ(3ul, grid_items.size());
+  // The grid has three items and one feedback button.
+  views::View::Views grid_views = templates_grid_view->children();
+  ASSERT_EQ(4ul, grid_views.size());
 
   // Tests that templates are sorted in alphabetical order.
-  EXPECT_EQ(u"1_template", grid_items[0]->GetAccessibleName());
-  EXPECT_EQ(u"A_template", grid_items[1]->GetAccessibleName());
-  EXPECT_EQ(u"B_template", grid_items[2]->GetAccessibleName());
+  EXPECT_EQ(
+      u"1_template",
+      static_cast<DesksTemplatesItemView*>(grid_views[0])->GetAccessibleName());
+  EXPECT_EQ(
+      u"A_template",
+      static_cast<DesksTemplatesItemView*>(grid_views[1])->GetAccessibleName());
+  EXPECT_EQ(
+      u"B_template",
+      static_cast<DesksTemplatesItemView*>(grid_views[2])->GetAccessibleName());
 }
 
 // Tests that the color of the desks templates button border is as expected.
@@ -1756,7 +1762,6 @@
   EXPECT_EQ(base::UTF8ToUTF16(template_name), name_view->GetText());
 
   // Empty text fields will also revert back to the original name.
-  ClickOnView(name_view);
   SendKey(ui::VKEY_A, ui::EF_CONTROL_DOWN);
   SendKey(ui::VKEY_BACK);
   SendKey(ui::VKEY_RETURN);
@@ -1932,15 +1937,15 @@
   const auto* templates_grid_view =
       static_cast<DesksTemplatesGridView*>(grid_widget->GetContentsView());
 
-  const std::vector<DesksTemplatesItemView*> grid_items =
-      templates_grid_view->grid_items();
-  ASSERT_EQ(4ul, grid_items.size());
+  // The grid has four items and one feedback button.
+  views::View::Views grid_views = templates_grid_view->children();
+  ASSERT_EQ(5ul, grid_views.size());
 
   // We expect the first three items to be laid out in one row.
-  EXPECT_EQ(grid_items[0]->bounds().y(), grid_items[1]->bounds().y());
-  EXPECT_EQ(grid_items[0]->bounds().y(), grid_items[2]->bounds().y());
+  EXPECT_EQ(grid_views[0]->bounds().y(), grid_views[1]->bounds().y());
+  EXPECT_EQ(grid_views[0]->bounds().y(), grid_views[2]->bounds().y());
   // The fourth item goes in the second row.
-  EXPECT_NE(grid_items[0]->bounds().y(), grid_items[3]->bounds().y());
+  EXPECT_NE(grid_views[0]->bounds().y(), grid_views[3]->bounds().y());
 }
 
 TEST_F(DesksTemplatesTest, LayoutItemsInPortrait) {
@@ -1960,15 +1965,15 @@
   const auto* templates_grid_view =
       static_cast<DesksTemplatesGridView*>(grid_widget->GetContentsView());
 
-  const std::vector<DesksTemplatesItemView*> grid_items =
-      templates_grid_view->grid_items();
-  ASSERT_EQ(4ul, grid_items.size());
+  // The grid has four items and one feedback button.
+  views::View::Views grid_views = templates_grid_view->children();
+  ASSERT_EQ(5ul, grid_views.size());
 
   // We expect the first two items to be laid out in one row.
-  EXPECT_EQ(grid_items[0]->bounds().y(), grid_items[1]->bounds().y());
+  EXPECT_EQ(grid_views[0]->bounds().y(), grid_views[1]->bounds().y());
   // And the last two items on the next row.
-  EXPECT_NE(grid_items[0]->bounds().y(), grid_items[2]->bounds().y());
-  EXPECT_EQ(grid_items[2]->bounds().y(), grid_items[3]->bounds().y());
+  EXPECT_NE(grid_views[0]->bounds().y(), grid_views[2]->bounds().y());
+  EXPECT_EQ(grid_views[2]->bounds().y(), grid_views[3]->bounds().y());
 }
 
 // Tests that there is no overlap with the shelf on our smallest supported
diff --git a/ash/wm/overview/overview_session.cc b/ash/wm/overview/overview_session.cc
index d9251fed3..cb5a11c5 100644
--- a/ash/wm/overview/overview_session.cc
+++ b/ash/wm/overview/overview_session.cc
@@ -1007,9 +1007,6 @@
 }
 
 void OverviewSession::ShowDesksTemplatesGrids(bool was_zero_state) {
-  if (IsShowingDesksTemplatesGrid())
-    return;
-
   for (auto& grid : grid_list_)
     grid->ShowDesksTemplatesGrid(was_zero_state);
   desks_templates_presenter_->GetAllEntries();
diff --git a/base/android/java/src/org/chromium/base/SysUtils.java b/base/android/java/src/org/chromium/base/SysUtils.java
index 7dba4ff..ab5ef15 100644
--- a/base/android/java/src/org/chromium/base/SysUtils.java
+++ b/base/android/java/src/org/chromium/base/SysUtils.java
@@ -4,7 +4,6 @@
 
 package org.chromium.base;
 
-import android.annotation.TargetApi;
 import android.app.ActivityManager;
 import android.content.Context;
 import android.content.pm.PackageManager;
@@ -161,7 +160,6 @@
                 || pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY);
     }
 
-    @TargetApi(Build.VERSION_CODES.KITKAT)
     private static boolean detectLowEndDevice() {
         assert CommandLine.isInitialized();
         if (CommandLine.getInstance().hasSwitch(BaseSwitches.ENABLE_LOW_END_DEVICE_MODE)) {
diff --git a/base/json/json_value_converter.h b/base/json/json_value_converter.h
index 6b747a8..436eed3 100644
--- a/base/json/json_value_converter.h
+++ b/base/json/json_value_converter.h
@@ -268,9 +268,9 @@
       return false;
     }
 
-    field->reserve(value.GetList().size());
+    field->reserve(value.GetListDeprecated().size());
     size_t i = 0;
-    for (const Value& element : value.GetList()) {
+    for (const Value& element : value.GetListDeprecated()) {
       auto e = std::make_unique<Element>();
       if (basic_converter_.Convert(element, e.get())) {
         field->push_back(std::move(e));
@@ -301,9 +301,9 @@
     if (!value.is_list())
       return false;
 
-    field->reserve(value.GetList().size());
+    field->reserve(value.GetListDeprecated().size());
     size_t i = 0;
-    for (const Value& element : value.GetList()) {
+    for (const Value& element : value.GetListDeprecated()) {
       auto nested = std::make_unique<NestedType>();
       if (converter_.Convert(element, nested.get())) {
         field->push_back(std::move(nested));
@@ -338,9 +338,9 @@
     if (!value.is_list())
       return false;
 
-    field->reserve(value.GetList().size());
+    field->reserve(value.GetListDeprecated().size());
     size_t i = 0;
-    for (const Value& element : value.GetList()) {
+    for (const Value& element : value.GetListDeprecated()) {
       auto nested = std::make_unique<NestedType>();
       if ((*convert_func_)(&element, nested.get())) {
         field->push_back(std::move(nested));
diff --git a/base/json/json_writer.cc b/base/json/json_writer.cc
index 634eb95..e661b8a0 100644
--- a/base/json/json_writer.cc
+++ b/base/json/json_writer.cc
@@ -122,7 +122,7 @@
 
       bool first_value_has_been_output = false;
       bool result = true;
-      for (const auto& value : node.GetList()) {
+      for (const auto& value : node.GetListDeprecated()) {
         if (omit_binary_values_ && value.type() == Value::Type::BINARY)
           continue;
 
diff --git a/base/metrics/histogram_unittest.cc b/base/metrics/histogram_unittest.cc
index 6b83a16..69d993d5 100644
--- a/base/metrics/histogram_unittest.cc
+++ b/base/metrics/histogram_unittest.cc
@@ -932,7 +932,7 @@
   EXPECT_EQ(1440, count_and_data_bucket.sum);
 
   const base::Value::ConstListView buckets_list =
-      count_and_data_bucket.buckets.GetList();
+      count_and_data_bucket.buckets.GetListDeprecated();
   ASSERT_EQ(2u, buckets_list.size());
 
   // Check the first bucket.
diff --git a/base/metrics/sparse_histogram_unittest.cc b/base/metrics/sparse_histogram_unittest.cc
index 6836811a..862c757 100644
--- a/base/metrics/sparse_histogram_unittest.cc
+++ b/base/metrics/sparse_histogram_unittest.cc
@@ -411,7 +411,7 @@
   EXPECT_EQ(4000, count_and_data_bucket.sum);
 
   const base::Value::ConstListView buckets_list =
-      count_and_data_bucket.buckets.GetList();
+      count_and_data_bucket.buckets.GetListDeprecated();
   ASSERT_EQ(2u, buckets_list.size());
 
   // Check the first bucket.
diff --git a/base/rs_glue/values_glue.cc b/base/rs_glue/values_glue.cc
index d7dfcaef..d227398 100644
--- a/base/rs_glue/values_glue.cc
+++ b/base/rs_glue/values_glue.cc
@@ -61,12 +61,12 @@
 
 base::Value& ValueAppendDict(base::Value& v) {
   v.Append(base::Value(base::Value::Type::DICTIONARY));
-  return v.GetList().back();
+  return v.GetListDeprecated().back();
 }
 
 base::Value& ValueAppendList(base::Value& v) {
   v.Append(base::Value(base::Value::Type::LIST));
-  return v.GetList().back();
+  return v.GetListDeprecated().back();
 }
 
 void ValueReserveSize(base::Value& v, size_t len) {
diff --git a/base/task/sequenced_task_runner.h b/base/task/sequenced_task_runner.h
index 10f6d489..b3b4b39 100644
--- a/base/task/sequenced_task_runner.h
+++ b/base/task/sequenced_task_runner.h
@@ -15,10 +15,6 @@
 #include "base/task/task_runner.h"
 #include "base/types/pass_key.h"
 
-namespace ash {
-class PSIMemoryMetrics;
-}
-
 namespace blink {
 class TimerBase;
 }
@@ -44,9 +40,6 @@
   friend class base::internal::DelayTimerBase;
   friend class base::DeadlineTimer;
   friend class blink::TimerBase;
-  // TODO(pmonette): Remove this once PSIMemoryMetrics no longer uses
-  // PostCancelableDelayedTask.
-  friend class ash::PSIMemoryMetrics;
   friend class PostDelayedTaskPassKeyForTesting;
 };
 
diff --git a/base/trace_event/trace_config.cc b/base/trace_event/trace_config.cc
index 0ceeea3a..da02db2 100644
--- a/base/trace_event/trace_config.cc
+++ b/base/trace_event/trace_config.cc
@@ -567,7 +567,7 @@
 void TraceConfig::SetHistogramNamesFromConfigList(
     const Value& histogram_names) {
   histogram_names_.clear();
-  for (const Value& value : histogram_names.GetList())
+  for (const Value& value : histogram_names.GetListDeprecated())
     histogram_names_.insert(value.GetString());
 }
 
@@ -575,7 +575,7 @@
     const Value& category_event_filters) {
   event_filters_.clear();
 
-  for (const Value& event_filter : category_event_filters.GetList()) {
+  for (const Value& event_filter : category_event_filters.GetListDeprecated()) {
     if (!event_filter.is_dict())
       continue;
 
diff --git a/base/trace_event/trace_config_category_filter.cc b/base/trace_event/trace_config_category_filter.cc
index 4934eea..8f5924fa 100644
--- a/base/trace_event/trace_config_category_filter.cc
+++ b/base/trace_event/trace_config_category_filter.cc
@@ -179,7 +179,7 @@
 void TraceConfigCategoryFilter::SetCategoriesFromIncludedList(
     const Value& included_list) {
   included_categories_.clear();
-  for (const Value& item : included_list.GetList()) {
+  for (const Value& item : included_list.GetListDeprecated()) {
     if (!item.is_string())
       continue;
     const std::string& category = item.GetString();
@@ -195,7 +195,7 @@
 void TraceConfigCategoryFilter::SetCategoriesFromExcludedList(
     const Value& excluded_list) {
   excluded_categories_.clear();
-  for (const Value& item : excluded_list.GetList()) {
+  for (const Value& item : excluded_list.GetListDeprecated()) {
     if (item.is_string())
       excluded_categories_.push_back(item.GetString());
   }
diff --git a/base/trace_event/trace_event_memory_overhead.cc b/base/trace_event/trace_event_memory_overhead.cc
index 977600d9..e8a65af 100644
--- a/base/trace_event/trace_event_memory_overhead.cc
+++ b/base/trace_event/trace_event_memory_overhead.cc
@@ -122,7 +122,7 @@
 
     case Value::Type::LIST:
       Add(kBaseValue, sizeof(Value));
-      for (const auto& v : value.GetList())
+      for (const auto& v : value.GetListDeprecated())
         AddValue(v);
       break;
 
diff --git a/base/trace_event/trace_event_unittest.cc b/base/trace_event/trace_event_unittest.cc
index ebbc3f7..cb39445 100644
--- a/base/trace_event/trace_event_unittest.cc
+++ b/base/trace_event/trace_event_unittest.cc
@@ -271,7 +271,7 @@
 const Value* TraceEventTestFixture::FindMatchingTraceEntry(
     const JsonKeyValue* key_values) {
   // Scan all items
-  for (const Value& value : trace_parsed_.GetList()) {
+  for (const Value& value : trace_parsed_.GetListDeprecated()) {
     if (!value.is_dict())
       continue;
 
@@ -349,7 +349,7 @@
                             const char* string_to_match,
                             const Value* match_after_this_item = nullptr) {
   // Scan all items
-  for (const Value& value : trace_parsed.GetList()) {
+  for (const Value& value : trace_parsed.GetListDeprecated()) {
     if (match_after_this_item) {
       if (&value == match_after_this_item)
         match_after_this_item = nullptr;
@@ -367,7 +367,7 @@
 std::vector<const Value*> FindTraceEntries(const Value& trace_parsed,
                                            const char* string_to_match) {
   std::vector<const Value*> hits;
-  for (const Value& value : trace_parsed.GetList()) {
+  for (const Value& value : trace_parsed.GetListDeprecated()) {
     if (!value.is_dict())
       continue;
 
@@ -837,7 +837,7 @@
                                               int num_events) {
   std::map<int, std::map<int, bool>> results;
 
-  for (const Value& value : trace_parsed.GetList()) {
+  for (const Value& value : trace_parsed.GetListDeprecated()) {
     if (!value.is_dict())
       continue;
 
@@ -895,7 +895,7 @@
 
   CancelTrace();
 
-  EXPECT_TRUE(trace_parsed_.GetList().empty());
+  EXPECT_TRUE(trace_parsed_.GetListDeprecated().empty());
 }
 
 class MockEnabledStateChangedObserver :
@@ -1195,7 +1195,7 @@
   TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD);
   EndTraceAndFlush();
   DropTracedMetadataRecords();
-  EXPECT_TRUE(trace_parsed_.GetList().empty());
+  EXPECT_TRUE(trace_parsed_.GetListDeprecated().empty());
 
   // Include existent category -> only events of that category
   Clear();
@@ -2175,8 +2175,8 @@
   // Test that buffer_limit_reached_timestamp's value is between the timestamp
   // of the last trace event and current time.
   DropTracedMetadataRecords();
-  ASSERT_TRUE(!trace_parsed_.GetList().empty());
-  const Value& last_trace_event = trace_parsed_.GetList().back();
+  ASSERT_TRUE(!trace_parsed_.GetListDeprecated().empty());
+  const Value& last_trace_event = trace_parsed_.GetListDeprecated().back();
   EXPECT_TRUE(last_trace_event.is_dict());
   absl::optional<double> maybe_last_trace_event_timestamp =
       last_trace_event.FindDoubleKey("ts");
@@ -2557,7 +2557,7 @@
   double end_time = static_cast<double>(
       (TimeTicks::Now() - time_offset).ToInternalValue());
   double last_timestamp = 0;
-  for (const Value& item : trace_parsed_.GetList()) {
+  for (const Value& item : trace_parsed_.GetListDeprecated()) {
     EXPECT_TRUE(item.is_dict());
     absl::optional<double> timestamp = item.FindDoubleKey("ts");
     EXPECT_TRUE(timestamp.has_value());
diff --git a/base/tracing/protos/chrome_track_event.proto b/base/tracing/protos/chrome_track_event.proto
index 1102a59..b43bd18 100644
--- a/base/tracing/protos/chrome_track_event.proto
+++ b/base/tracing/protos/chrome_track_event.proto
@@ -617,6 +617,7 @@
 
 message EventLatency {
   enum EventType {
+    EVENT_TYPE_UNSPECIFIED = 0;
     MOUSE_PRESSED = 1;
     MOUSE_RELEASED = 2;
     MOUSE_WHEEL = 3;
@@ -648,9 +649,42 @@
   optional EventType event_type = 1;
 }
 
+message ProcessSingleton {
+  enum RemoteProcessInteractionResult {
+    INTERACTION_RESULT_UNSPECIFIED = 0;
+    TERMINATE_FAILED = 1;
+    REMOTE_PROCESS_NOT_FOUND = 2;
+    TERMINATE_WAIT_TIMEOUT = 3;
+    RUNNING_PROCESS_NOTIFY_ERROR = 4;
+    TERMINATE_NOT_ENOUGH_PERMISSIONS = 5;
+    REMOTE_PROCESS_SHUTTING_DOWN = 6;
+    PROFILE_UNLOCKED = 7;
+    PROFILE_UNLOCKED_BEFORE_KILL = 8;
+    SAME_BROWSER_INSTANCE = 9;
+    SAME_BROWSER_INSTANCE_BEFORE_KILL = 10;
+    FAILED_TO_EXTRACT_PID = 11;
+    INVALID_LOCK_FILE = 12;
+    ORPHANED_LOCK_FILE = 13;
+    USER_REFUSED_TERMINATION = 14;
+    TERMINATE_SUCCEEDED = 100;
+  }
+
+  enum RemoteHungProcessTerminateReason {
+    TERMINATE_REASON_UNSPECIFIED = 0;
+    USER_ACCEPTED_TERMINATION = 1;
+    NO_VISIBLE_WINDOW_FOUND = 2;
+    NOTIFY_ATTEMPTS_EXCEEDED = 3;
+    SOCKET_WRITE_FAILED = 4;
+    SOCKET_READ_FAILED = 5;
+  }
+
+  optional RemoteProcessInteractionResult remote_process_interaction_result = 1;
+  optional RemoteHungProcessTerminateReason remote_process_terminate_reason = 2;
+}
+
 message ChromeTrackEvent {
   // Extension range for Chrome: 1000-1999
-  // Next ID: 1032
+  // Next ID: 1034
   extend TrackEvent {
     optional ChromeAppState chrome_app_state = 1000;
 
@@ -722,5 +756,7 @@
         renderer_main_thread_task_execution = 1031;
 
     optional EventLatency event_latency = 1032;
+
+    optional ProcessSingleton process_singleton = 1033;
   }
 }
diff --git a/base/values.cc b/base/values.cc
index 206b9ab..726ad12c 100644
--- a/base/values.cc
+++ b/base/values.cc
@@ -54,13 +54,14 @@
 // expects |node| to always be non-NULL.
 std::unique_ptr<Value> CopyListWithoutEmptyChildren(const Value& list) {
   Value copy(Value::Type::LIST);
-  for (const auto& entry : list.GetList()) {
+  for (const auto& entry : list.GetListDeprecated()) {
     std::unique_ptr<Value> child_copy = CopyWithoutEmptyChildren(entry);
     if (child_copy)
       copy.Append(std::move(*child_copy));
   }
-  return copy.GetList().empty() ? nullptr
-                                : std::make_unique<Value>(std::move(copy));
+  return copy.GetListDeprecated().empty()
+             ? nullptr
+             : std::make_unique<Value>(std::move(copy));
 }
 
 std::unique_ptr<DictionaryValue> CopyDictionaryWithoutEmptyChildren(
diff --git a/base/values.h b/base/values.h
index 9d13f88..5ccb7ca 100644
--- a/base/values.h
+++ b/base/values.h
@@ -825,11 +825,11 @@
   // ListValue no longer supports iteration. Instead, use GetList() to get the
   // underlying list:
   //
-  // for (const auto& entry : list_value.GetList()) {
+  // for (const auto& entry : list_value.GetListDeprecated()) {
   //   ...
   //
-  // for (auto it = list_value.GetList().begin();
-  //      it != list_value.GetList().end(); ++it) {
+  // for (auto it = list_value.GetListDeprecated().begin();
+  //      it != list_value.GetListDeprecated().end(); ++it) {
   //   ...
 };
 
diff --git a/build/config/ios/BUILD.gn b/build/config/ios/BUILD.gn
index 60164cc..e516b701 100644
--- a/build/config/ios/BUILD.gn
+++ b/build/config/ios/BUILD.gn
@@ -127,7 +127,7 @@
   # libclang_rt.iossim.a for arm64 simulator builds. This can be
   # removed when an arm64 slice is added to upstream Clang.
   if (target_environment == "simulator" && current_cpu == "arm64") {
-    assert(xcode_version_int == 1300)
+    assert(1300 <= xcode_version_int && xcode_version_int <= 1321)
     ldflags += [
       "-lSystem",
       rebase_path("$ios_toolchains_path/usr/lib/clang/13.0.0/" +
@@ -141,8 +141,7 @@
   # for catalyst build. This can be removed when a catalyst slice is added
   # to upstream Clang.
   if (target_environment == "catalyst") {
-    assert(xcode_version_int == 1300 || xcode_version_int == 1310 ||
-           xcode_version_int == 1320 || xcode_version_int == 1321)
+    assert(1300 <= xcode_version_int && xcode_version_int <= 1321)
     ldflags += [
       "-lSystem",
       rebase_path("$ios_toolchains_path/usr/lib/clang/13.0.0/" +
@@ -207,8 +206,16 @@
     _swift_compatibility_libs_dir =
         "$_swift_compatibility_libs_dir_prefix/iphoneos"
   } else if (target_environment == "catalyst") {
-    _swift_compatibility_libs_dir =
-        "$_swift_compatibility_libs_dir_prefix/maccatalyst"
+    # The Swift compatibility libraries have changed location starting with
+    # Xcode 13.0, so check the version of Xcode when deciding which path to
+    # use.
+    if (xcode_version_int >= 1300) {
+      _swift_compatibility_libs_dir =
+          "$_swift_compatibility_libs_dir_prefix/macosx"
+    } else {
+      _swift_compatibility_libs_dir =
+          "$_swift_compatibility_libs_dir_prefix/maccatalyst"
+    }
   }
 
   lib_dirs = [
diff --git a/cc/layers/tile_size_calculator.cc b/cc/layers/tile_size_calculator.cc
index b6397bc..133876e 100644
--- a/cc/layers/tile_size_calculator.cc
+++ b/cc/layers/tile_size_calculator.cc
@@ -4,9 +4,12 @@
 
 #include "cc/layers/tile_size_calculator.h"
 
+#include <algorithm>
+
 #include "cc/base/math_util.h"
 #include "cc/layers/picture_layer_impl.h"
 #include "cc/trees/layer_tree_impl.h"
+#include "ui/base/ui_base_features.h"
 
 namespace cc {
 namespace {
@@ -35,25 +38,10 @@
   return content_size_in_dps;
 }
 
-// For GPU rasterization, we pick an ideal tile size using the viewport so we
-// don't need any settings. The current approach uses 4 tiles to cover the
-// viewport vertically.
-gfx::Size CalculateGpuTileSize(const gfx::Size& base_tile_size,
-                               const gfx::Size& content_bounds,
-                               const gfx::Size& max_tile_size,
-                               int min_height_for_gpu_raster_tile) {
-  int tile_width = base_tile_size.width();
-
-  // Increase the height proportionally as the width decreases, and pad by our
-  // border texels to make the tiles exactly match the viewport.
-  int divisor = 4;
-  if (content_bounds.width() <= base_tile_size.width() / 2)
-    divisor = 2;
-  if (content_bounds.width() <= base_tile_size.width() / 4)
-    divisor = 1;
-  int tile_height =
-      MathUtil::UncheckedRoundUp(base_tile_size.height(), divisor) / divisor;
-
+gfx::Size AdjustGpuTileSize(int tile_width,
+                            int tile_height,
+                            const gfx::Size& max_tile_size,
+                            int min_height_for_gpu_raster_tile) {
   // Grow default sizes to account for overlapping border texels.
   tile_width += 2 * PictureLayerTiling::kBorderTexels;
   tile_height += 2 * PictureLayerTiling::kBorderTexels;
@@ -73,6 +61,46 @@
   return gfx::Size(tile_width, tile_height);
 }
 
+// For GPU rasterization, we pick an ideal tile size using the viewport so we
+// don't need any settings. The current approach uses 4 tiles to cover the
+// viewport vertically.
+gfx::Size CalculateGpuTileSize(const gfx::Size& base_tile_size,
+                               const gfx::Size& content_bounds,
+                               const gfx::Size& max_tile_size,
+                               int min_height_for_gpu_raster_tile) {
+  int tile_width = base_tile_size.width();
+
+  // Increase the height proportionally as the width decreases, and pad by our
+  // border texels to make the tiles exactly match the viewport.
+  int divisor = 4;
+  if (content_bounds.width() <= base_tile_size.width() / 2)
+    divisor = 2;
+  if (content_bounds.width() <= base_tile_size.width() / 4)
+    divisor = 1;
+  int tile_height =
+      MathUtil::UncheckedRoundUp(base_tile_size.height(), divisor) / divisor;
+
+  return AdjustGpuTileSize(tile_width, tile_height, max_tile_size,
+                           min_height_for_gpu_raster_tile);
+}
+
+gfx::Size CalculateGpuRawDrawTileSize(const gfx::Size& base_tile_size,
+                                      const gfx::Size& content_bounds,
+                                      const gfx::Size& max_tile_size,
+                                      int min_height_for_gpu_raster_tile,
+                                      double raw_draw_tile_size_factor) {
+  int tile_size =
+      std::ceil(std::max(base_tile_size.width(), base_tile_size.height()) *
+                raw_draw_tile_size_factor);
+
+  // Clamp tile size with content bounds
+  int tile_width = std::min(tile_size, content_bounds.width());
+  int tile_height = std::min(tile_size, content_bounds.height());
+
+  return AdjustGpuTileSize(tile_width, tile_height, max_tile_size,
+                           min_height_for_gpu_raster_tile);
+}
+
 }  // namespace
 
 // AffectingParams.
@@ -90,7 +118,9 @@
 
 // TileSizeCalculator.
 TileSizeCalculator::TileSizeCalculator(PictureLayerImpl* layer_impl)
-    : layer_impl_(layer_impl) {}
+    : layer_impl_(layer_impl),
+      is_using_raw_draw_(features::IsUsingRawDraw()),
+      raw_draw_tile_size_factor_(features::RawDrawTileSizeFactor()) {}
 
 bool TileSizeCalculator::IsAffectingParamsChanged() {
   AffectingParams new_params = GetAffectingParams();
@@ -151,18 +181,26 @@
 
     // Set our initial size assuming a |base_tile_size| equal to our
     // |viewport_size|.
-    gfx::Size default_tile_size =
-        CalculateGpuTileSize(base_tile_size, content_bounds, max_tile_size,
-                             affecting_params_.min_height_for_gpu_raster_tile);
-
-    // Use half-width GPU tiles when the content_width is greater than our
-    // calculated tile size.
-    if (content_bounds.width() > default_tile_size.width()) {
-      // Divide width by 2 and round up.
-      base_tile_size.set_width((base_tile_size.width() + 1) / 2);
+    gfx::Size default_tile_size;
+    if (is_using_raw_draw_) {
+      default_tile_size = CalculateGpuRawDrawTileSize(
+          base_tile_size, content_bounds, max_tile_size,
+          affecting_params_.min_height_for_gpu_raster_tile,
+          raw_draw_tile_size_factor_);
+    } else {
       default_tile_size = CalculateGpuTileSize(
           base_tile_size, content_bounds, max_tile_size,
           affecting_params_.min_height_for_gpu_raster_tile);
+
+      // Use half-width GPU tiles when the content_width is greater than our
+      // calculated tile size.
+      if (content_bounds.width() > default_tile_size.width()) {
+        // Divide width by 2 and round up.
+        base_tile_size.set_width((base_tile_size.width() + 1) / 2);
+        default_tile_size = CalculateGpuTileSize(
+            base_tile_size, content_bounds, max_tile_size,
+            affecting_params_.min_height_for_gpu_raster_tile);
+      }
     }
 
     default_tile_width = default_tile_size.width();
diff --git a/cc/layers/tile_size_calculator.h b/cc/layers/tile_size_calculator.h
index 0cafa69..e4616b8 100644
--- a/cc/layers/tile_size_calculator.h
+++ b/cc/layers/tile_size_calculator.h
@@ -41,6 +41,8 @@
   bool IsAffectingParamsChanged();
 
   raw_ptr<PictureLayerImpl> layer_impl_;
+  const bool is_using_raw_draw_;
+  const double raw_draw_tile_size_factor_;
 
   AffectingParams affecting_params_;
 
diff --git a/chrome/VERSION b/chrome/VERSION
index 7cd2ae35..3607ef8 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=100
 MINOR=0
-BUILD=4868
+BUILD=4869
 PATCH=0
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java
index a996623..8dc33b6 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java
@@ -6,12 +6,9 @@
 
 import android.content.Context;
 
-import androidx.annotation.VisibleForTesting;
-
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.base.supplier.Supplier;
-import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.tab_ui.R;
 import org.chromium.ui.modaldialog.DialogDismissalCause;
 import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -22,26 +19,16 @@
  * Manages the close all tabs modal dialog.
  */
 public class CloseAllTabsDialog {
-    @VisibleForTesting
-    static final String SHOW_CANNOT_UNDO_WARNING = "show_cannot_undo_warning";
-
     private CloseAllTabsDialog() {}
 
     /**
      * Shows a modal dialog to confirm or cancel the close all tabs action.
      */
     public static void show(Context context,
-            Supplier<ModalDialogManager> modalDialogManagerSupplier, Runnable onCloseAll,
-            boolean willExitOnCloseAll) {
+            Supplier<ModalDialogManager> modalDialogManagerSupplier, Runnable onCloseAll) {
         assert modalDialogManagerSupplier.hasValue();
         final ModalDialogManager manager = modalDialogManagerSupplier.get();
 
-        // Show the cannot undo warning if the app will exit on close all and the param is enabled.
-        final boolean showCannotUndoWarning = willExitOnCloseAll
-                && ChromeFeatureList.getFieldTrialParamByFeatureAsBoolean(
-                        ChromeFeatureList.CLOSE_ALL_TABS_MODAL_DIALOG, SHOW_CANNOT_UNDO_WARNING,
-                        true);
-
         ModalDialogProperties.Controller controller = new ModalDialogProperties.Controller() {
             @Override
             public void onClick(
@@ -64,11 +51,7 @@
                 }
 
                 // Assess whether a stricter warning has any impact on close all tabs behavior.
-                RecordHistogram.recordBooleanHistogram("Tab.CloseAllTabsDialog.ClosedAllTabs."
-                                + (showCannotUndoWarning
-                                                ? "CannotUndoWarning"
-                                                : (willExitOnCloseAll ? "NoWarningImmediateExit"
-                                                                      : "Default")),
+                RecordHistogram.recordBooleanHistogram("Tab.CloseAllTabsDialog.ClosedAllTabs",
                         dismissalCause == DialogDismissalCause.POSITIVE_BUTTON_CLICKED);
             }
         };
@@ -79,9 +62,7 @@
                         .with(ModalDialogProperties.TITLE,
                                 context.getString(R.string.close_all_tabs_dialog_title))
                         .with(ModalDialogProperties.MESSAGE,
-                                context.getString(showCannotUndoWarning
-                                                ? R.string.close_all_tabs_dialog_warning_message
-                                                : R.string.close_all_tabs_dialog_message))
+                                context.getString(R.string.close_all_tabs_dialog_message))
                         .with(ModalDialogProperties.POSITIVE_BUTTON_TEXT,
                                 context.getString(R.string.menu_close_all_tabs))
                         .with(ModalDialogProperties.NEGATIVE_BUTTON_TEXT,
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMenuCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMenuCoordinator.java
index 5ccd660..2acf48e 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMenuCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMenuCoordinator.java
@@ -13,8 +13,8 @@
 import android.widget.ListView;
 
 import androidx.annotation.IntDef;
+import androidx.appcompat.content.res.AppCompatResources;
 
-import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.Callback;
 import org.chromium.base.LifetimeAssert;
 import org.chromium.chrome.tab_ui.R;
@@ -105,9 +105,8 @@
         ViewRectProvider rectProvider = new ViewRectProvider(anchorView);
 
         mMenuWindow = new AnchoredPopupWindow(mContext, decorView,
-                ApiCompatibilityUtils.getDrawable(
-                        mContext.getResources(), R.drawable.menu_bg_tinted),
-                contentView, rectProvider);
+                AppCompatResources.getDrawable(mContext, R.drawable.menu_bg_tinted), contentView,
+                rectProvider);
         mMenuWindow.setFocusable(true);
         mMenuWindow.setHorizontalOverlapAnchor(true);
         mMenuWindow.setVerticalOverlapAnchor(true);
diff --git a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd
index 127a948..c8df2e3d 100644
--- a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd
+++ b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd
@@ -501,10 +501,7 @@
         Close all tabs?
       </message>
       <message name="IDS_CLOSE_ALL_TABS_DIALOG_MESSAGE" desc="When users click the menu item 'Close all tabs' in tab switcher, a dialog will pop up and this text is the message of the dialog.">
-        Close all tabs and lose any unsaved data?
-      </message>
-      <message name="IDS_CLOSE_ALL_TABS_DIALOG_WARNING_MESSAGE" desc="When users click the menu item 'Close all tabs' in tab switcher, a dialog will pop up and this text is the message of the dialog if closing cannot be undone.">
-        WARNING: This action cannot be undone. Close all tabs and lose any unsaved data?
+       You can find your closed tabs in Recent tabs under the Chrome main menu
       </message>
     </messages>
   </release>
diff --git a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_CLOSE_ALL_TABS_DIALOG_MESSAGE.png.sha1 b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_CLOSE_ALL_TABS_DIALOG_MESSAGE.png.sha1
index 2e857de..02fa4c7 100644
--- a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_CLOSE_ALL_TABS_DIALOG_MESSAGE.png.sha1
+++ b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_CLOSE_ALL_TABS_DIALOG_MESSAGE.png.sha1
@@ -1 +1 @@
-74807f1e85a1fda5edf37789b62c4170d0663f7f
\ No newline at end of file
+4dea6559fbf58170ab374a1a7db827d84cf5852c
\ No newline at end of file
diff --git a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_CLOSE_ALL_TABS_DIALOG_WARNING_MESSAGE.png.sha1 b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_CLOSE_ALL_TABS_DIALOG_WARNING_MESSAGE.png.sha1
deleted file mode 100644
index 2d6f579..0000000
--- a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_CLOSE_ALL_TABS_DIALOG_WARNING_MESSAGE.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f2f5e1f2dba3a9340958064c769948b65931b5ac
\ No newline at end of file
diff --git a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialogUnitTest.java b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialogUnitTest.java
index b6041c0..4ba4393 100644
--- a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialogUnitTest.java
+++ b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialogUnitTest.java
@@ -25,11 +25,9 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.annotation.Config;
 
-import org.chromium.base.FeatureList;
 import org.chromium.base.metrics.UmaRecorder;
 import org.chromium.base.metrics.UmaRecorderHolder;
 import org.chromium.base.test.BaseRobolectricTestRunner;
-import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.tab_ui.R;
 import org.chromium.ui.modaldialog.DialogDismissalCause;
 import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -85,7 +83,6 @@
     private Context mContext;
     private MockModalDialogManager mMockModalDialogManager;
     private boolean mRunnableCalled;
-    private boolean mShowWarning;
 
     @Mock
     private UmaRecorder mUmaRecorder;
@@ -99,20 +96,11 @@
         mRunnableCalled = false;
     }
 
-    private void setShowWarning(boolean enableWarning) {
-        mShowWarning = enableWarning;
-        FeatureList.TestValues testValues = new FeatureList.TestValues();
-        testValues.addFieldTrialParamOverride(ChromeFeatureList.CLOSE_ALL_TABS_MODAL_DIALOG,
-                CloseAllTabsDialog.SHOW_CANNOT_UNDO_WARNING, Boolean.toString(enableWarning));
-        FeatureList.setTestValues(testValues);
-    }
-
     private ModalDialogManager getModalDialogManager() {
         return mMockModalDialogManager;
     }
 
-    private void verifyModel(boolean willExitOnCloseAll) {
-        final boolean showCannotUndoWarning = willExitOnCloseAll && mShowWarning;
+    private void verifyModel() {
         assertEquals(
                 ModalDialogManager.ModalDialogType.APP, mMockModalDialogManager.getDialogType());
 
@@ -120,9 +108,7 @@
         assertNotNull(model);
         assertEquals(mContext.getString(R.string.close_all_tabs_dialog_title),
                 model.get(ModalDialogProperties.TITLE));
-        assertEquals(mContext.getString(showCannotUndoWarning
-                                     ? R.string.close_all_tabs_dialog_warning_message
-                                     : R.string.close_all_tabs_dialog_message),
+        assertEquals(mContext.getString(R.string.close_all_tabs_dialog_message),
                 model.get(ModalDialogProperties.MESSAGE));
         assertEquals(mContext.getString(R.string.menu_close_all_tabs),
                 model.get(ModalDialogProperties.POSITIVE_BUTTON_TEXT));
@@ -133,71 +119,35 @@
                 model.get(ModalDialogProperties.BUTTON_STYLES));
     }
 
-    private void verifyDismissed(boolean willExitOnCloseAll, boolean positiveAction) {
+    private void verifyDismissed(boolean positiveAction) {
         assertNull(mMockModalDialogManager.getDialogModel());
         assertEquals(-1, mMockModalDialogManager.getDialogType());
         verify(mUmaRecorder, times(1))
-                .recordBooleanHistogram("Tab.CloseAllTabsDialog.ClosedAllTabs."
-                                + ((willExitOnCloseAll && mShowWarning)
-                                                ? "CannotUndoWarning"
-                                                : (willExitOnCloseAll ? "NoWarningImmediateExit"
-                                                                      : "Default")),
-                        positiveAction);
+                .recordBooleanHistogram("Tab.CloseAllTabsDialog.ClosedAllTabs", positiveAction);
     }
 
     @Test
     @SmallTest
     public void testDialog() {
-        setShowWarning(false);
-        final boolean willExitOnCloseAll = false;
-        CloseAllTabsDialog.show(mContext, this::getModalDialogManager,
-                () -> { mRunnableCalled = true; }, willExitOnCloseAll);
-        verifyModel(willExitOnCloseAll);
+        CloseAllTabsDialog.show(
+                mContext, this::getModalDialogManager, () -> { mRunnableCalled = true; });
+        verifyModel();
 
         mMockModalDialogManager.simulateButtonClick(ModalDialogProperties.ButtonType.POSITIVE);
         assertTrue(mRunnableCalled);
-        verifyDismissed(willExitOnCloseAll, true);
-    }
-
-    @Test
-    @SmallTest
-    public void testDialogWithWarning() {
-        setShowWarning(true);
-        final boolean willExitOnCloseAll = true;
-        CloseAllTabsDialog.show(mContext, this::getModalDialogManager,
-                () -> { mRunnableCalled = true; }, willExitOnCloseAll);
-        verifyModel(willExitOnCloseAll);
-
-        mMockModalDialogManager.simulateButtonClick(ModalDialogProperties.ButtonType.NEGATIVE);
-        assertFalse(mRunnableCalled);
-        verifyDismissed(willExitOnCloseAll, false);
-    }
-
-    @Test
-    @SmallTest
-    public void testDialogImmediateExitNoWarning() {
-        setShowWarning(false);
-        final boolean willExitOnCloseAll = true;
-        CloseAllTabsDialog.show(mContext, this::getModalDialogManager,
-                () -> { mRunnableCalled = true; }, willExitOnCloseAll);
-        verifyModel(willExitOnCloseAll);
-
-        mMockModalDialogManager.simulateButtonClick(ModalDialogProperties.ButtonType.NEGATIVE);
-        assertFalse(mRunnableCalled);
-        verifyDismissed(willExitOnCloseAll, false);
+        verifyDismissed(true);
     }
 
     @Test
     @SmallTest
     public void testDismissNoButton() {
-        final boolean willExitOnCloseAll = false;
-        CloseAllTabsDialog.show(mContext, this::getModalDialogManager,
-                () -> { mRunnableCalled = true; }, willExitOnCloseAll);
-        verifyModel(willExitOnCloseAll);
+        CloseAllTabsDialog.show(
+                mContext, this::getModalDialogManager, () -> { mRunnableCalled = true; });
+        verifyModel();
 
         mMockModalDialogManager.dismissDialog(mMockModalDialogManager.getDialogModel(),
                 DialogDismissalCause.NAVIGATE_BACK_OR_TOUCH_OUTSIDE);
         assertFalse(mRunnableCalled);
-        verifyDismissed(willExitOnCloseAll, false);
+        verifyDismissed(false);
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
index c486811..0918d140 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -2060,9 +2060,7 @@
         } else if (id == R.id.close_all_tabs_menu_id) {
             if (ChromeFeatureList.isEnabled(ChromeFeatureList.CLOSE_ALL_TABS_MODAL_DIALOG)) {
                 CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
-                        ()
-                                -> getTabModelSelector().closeAllTabs(),
-                        HomepageManager.shouldCloseAppWithZeroTabs());
+                        () -> getTabModelSelector().closeAllTabs());
             } else {
                 // Close both incognito and normal tabs.
                 getTabModelSelector().closeAllTabs();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
index 74e6df9..f38197ac 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java
@@ -6,10 +6,10 @@
 import android.app.Activity;
 import android.content.Intent;
 import android.net.Uri;
+
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.password_check.PasswordCheckFactory;
-import org.chromium.chrome.browser.password_check.PasswordCheckReferrer;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
 import org.chromium.ui.base.WindowAndroid;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
index a12889c..d79476f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -33,8 +33,8 @@
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.password_check.PasswordCheck;
 import org.chromium.chrome.browser.password_check.PasswordCheckFactory;
-import org.chromium.chrome.browser.password_check.PasswordCheckReferrer;
 import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java
index aae7e8d7..156760a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java
@@ -8,12 +8,11 @@
 
 import org.chromium.base.Callback;
 import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
+import org.chromium.chrome.browser.tab.state.SerializedCriticalPersistedTabData;
 import org.chromium.content_public.browser.LoadUrlParams;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.ui.base.WindowAndroid;
 
-import java.nio.ByteBuffer;
-
 /**
  * Builds {@link Tab} using builder pattern. All Tab classes should be instantiated
  * through this builder.
@@ -33,7 +32,7 @@
     private TabDelegateFactory mDelegateFactory;
     private boolean mInitiallyHidden;
     private TabState mTabState;
-    private ByteBuffer mSerializedCriticalPersistedTabData;
+    private SerializedCriticalPersistedTabData mSerializedCriticalPersistedTabData;
     private Callback<Tab> mPreInitializeAction;
 
     /**
@@ -155,7 +154,7 @@
      * @return {@link TabBuilder} creating the Tab
      */
     public TabBuilder setSerializedCriticalPersistedTabData(
-            @Nullable ByteBuffer serializedCriticalPersistedTabData) {
+            @Nullable SerializedCriticalPersistedTabData serializedCriticalPersistedTabData) {
         mSerializedCriticalPersistedTabData = serializedCriticalPersistedTabData;
         return this;
     }
@@ -179,7 +178,8 @@
         if (mParent != null) {
             parent = mParent;
         } else if (mTabResolver != null) {
-            if (mSerializedCriticalPersistedTabData != null) {
+            if (!CriticalPersistedTabData.isEmptySerialization(
+                        mSerializedCriticalPersistedTabData)) {
                 parent = mTabResolver.resolve(CriticalPersistedTabData.from(tab).getParentId());
             } else if (mTabState != null) {
                 parent = mTabResolver.resolve(mTabState.parentId);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
index 3aa1301..39077471 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -46,6 +46,7 @@
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.rlz.RevenueStats;
 import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
+import org.chromium.chrome.browser.tab.state.SerializedCriticalPersistedTabData;
 import org.chromium.chrome.browser.ui.TabObscuringHandler;
 import org.chromium.chrome.browser.ui.native_page.FrozenNativePage;
 import org.chromium.chrome.browser.ui.native_page.NativePage;
@@ -69,8 +70,6 @@
 import org.chromium.ui.util.ColorUtils;
 import org.chromium.url.GURL;
 
-import java.nio.ByteBuffer;
-
 /**
  * Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}.
  * This class is not intended to be extended.
@@ -223,7 +222,7 @@
      */
     @SuppressLint("HandlerLeak")
     TabImpl(int id, boolean incognito, @Nullable @TabLaunchType Integer launchType,
-            @Nullable ByteBuffer serializedCriticalPersistedTabData) {
+            @Nullable SerializedCriticalPersistedTabData serializedCriticalPersistedTabData) {
         mIsTabSaveEnabledSupplier.set(false);
         mId = TabIdManager.getInstance().generateValidId(id);
         mIncognito = incognito;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
index 8b37e7d..ae8edda 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -73,6 +73,7 @@
 import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxDialogController;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.read_later.ReadLaterIPHController;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
@@ -609,11 +610,20 @@
         mReadLaterIPHController = new ReadLaterIPHController(mActivity,
                 getToolbarManager().getMenuButtonView(), mAppMenuCoordinator.getAppMenuHandler());
 
-        boolean didTriggerPromo = FeatureNotificationUtils.willShowIPH(FeatureType.DEFAULT_BROWSER);
-        FeatureNotificationUtils.registerIPHCallback(FeatureType.DEFAULT_BROWSER, () -> {
-            DefaultBrowserPromoUtils.prepareLaunchPromoIfNeeded(
-                    mActivity, mWindowAndroid, true /* ignoreMaxCount */);
-        });
+        boolean didTriggerPromo = false;
+
+        if (ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_SANDBOX_SETTINGS_3)) {
+            didTriggerPromo =
+                    PrivacySandboxDialogController.maybeLaunchPrivacySandboxDialog(mActivity);
+        }
+
+        if (!didTriggerPromo) {
+            didTriggerPromo = FeatureNotificationUtils.willShowIPH(FeatureType.DEFAULT_BROWSER);
+            FeatureNotificationUtils.registerIPHCallback(FeatureType.DEFAULT_BROWSER, () -> {
+                DefaultBrowserPromoUtils.prepareLaunchPromoIfNeeded(
+                        mActivity, mWindowAndroid, true /* ignoreMaxCount */);
+            });
+        }
 
         if (!didTriggerPromo) {
             didTriggerPromo = triggerPromo(intentWithEffect);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
index bff123d..a7c8720 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -33,6 +33,7 @@
 import org.chromium.chrome.browser.tab.TabParentIntent;
 import org.chromium.chrome.browser.tab.TabResolver;
 import org.chromium.chrome.browser.tab.TabState;
+import org.chromium.chrome.browser.tab.state.SerializedCriticalPersistedTabData;
 import org.chromium.components.embedder_support.util.UrlConstants;
 import org.chromium.components.embedder_support.util.UrlUtilities;
 import org.chromium.components.url_formatter.UrlFormatter;
@@ -42,8 +43,6 @@
 import org.chromium.ui.base.WindowAndroid;
 import org.chromium.url.GURL;
 
-import java.nio.ByteBuffer;
-
 /**
  * This class creates various kinds of new tabs and adds them to the right {@link TabModel}.
  */
@@ -383,8 +382,9 @@
     }
 
     @Override
-    public Tab createFrozenTab(TabState state, ByteBuffer serializedCriticalPersistedTabData,
-            int id, boolean isIncognito, int index) {
+    public Tab createFrozenTab(TabState state,
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData, int id,
+            boolean isIncognito, int index) {
         TabModelSelector selector = mTabModelSelectorSupplier.get();
         TabResolver resolver = (tabId) -> {
             return selector != null ? selector.getTabById(tabId) : null;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
index a3302ea2..4846e54 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -48,6 +48,7 @@
 import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
 import org.chromium.chrome.browser.tab.state.FilePersistedTabDataStorage;
 import org.chromium.chrome.browser.tab.state.PersistedTabData;
+import org.chromium.chrome.browser.tab.state.SerializedCriticalPersistedTabData;
 import org.chromium.chrome.browser.tabpersistence.TabStateDirectory;
 import org.chromium.chrome.browser.tabpersistence.TabStateFileManager;
 import org.chromium.chrome.features.start_surface.StartSurfaceUserData;
@@ -68,7 +69,6 @@
 import java.io.IOException;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import java.nio.ByteBuffer;
 import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -282,7 +282,7 @@
 
     AsyncTask<TabState> mPrefetchTabStateActiveTabTask;
 
-    AsyncTask<ByteBuffer> mPrefetchCriticalPersistedTabDataActiveTabTask;
+    AsyncTask<SerializedCriticalPersistedTabData> mPrefetchCriticalPersistedTabDataActiveTabTask;
 
     /**
      * Creates an instance of a TabPersistentStore.
@@ -608,7 +608,7 @@
             // If the CriticalPersistedTabData flag is on, we try to restore
             // CriticalPersistedTabData.
             @Nullable
-            ByteBuffer serializedCriticalPersistedTabData =
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData =
                     maybeRestoreCriticalPersistedTabData(restoredTabId, tabToRestore);
             // If the CriticalPersistedTabData flag is off or we failed to read
             // CriticalPersistedTabData we fall back to TabState.
@@ -625,8 +625,9 @@
         }
     }
 
-    private @Nullable ByteBuffer maybeRestoreCriticalPersistedTabData(int restoredTabId,
-            TabRestoreDetails tabToRestore) throws InterruptedException, ExecutionException {
+    private @Nullable SerializedCriticalPersistedTabData maybeRestoreCriticalPersistedTabData(
+            int restoredTabId, TabRestoreDetails tabToRestore)
+            throws InterruptedException, ExecutionException {
         if (!isCriticalPersistedTabDataEnabled()) return null;
         // If Tab being restored is the active Tab and the CriticalPersistedTabData prefetch
         // was initiated, use the prefetch result.
@@ -642,7 +643,8 @@
         return CriticalPersistedTabData.restore(tabToRestore.id, isIncognito);
     }
 
-    private @Nullable TabState maybeRestoreTabState(ByteBuffer serializedCriticalPersistedTabData,
+    private @Nullable TabState maybeRestoreTabState(
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData,
             int restoredTabId, TabRestoreDetails tabToRestore)
             throws InterruptedException, ExecutionException {
         // If CriticalPersistedTabData flag is on and CriticalPersistedTabData was retrieved, no
@@ -666,12 +668,14 @@
      *
      * @param tabToRestore Meta data about the tab to be restored.
      * @param tabState     The previously serialized state of the tab to be restored.
+     * @param serializedCriticalPersistedTabData serialized {@link CriticalPersistedTabData}
      * @param setAsActive  Whether the tab should be set as the active tab as part of the
      *                     restoration process.
      */
     @VisibleForTesting
     protected void restoreTab(TabRestoreDetails tabToRestore, TabState tabState,
-            ByteBuffer serializedCriticalPersistedTabData, boolean setAsActive) {
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData,
+            boolean setAsActive) {
         // If we don't have enough information about the Tab, bail out.
         boolean isIncognito = isIncognitoTabBeingRestored(
                 tabToRestore, tabState, serializedCriticalPersistedTabData);
@@ -1640,7 +1644,7 @@
     }
 
     private void completeLoad(TabRestoreDetails tabToRestore, TabState tabState,
-            ByteBuffer serializedCriticalPersistedTabData) {
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData) {
         boolean isIncognito = isIncognitoTabBeingRestored(
                 tabToRestore, tabState, serializedCriticalPersistedTabData);
         if (isIncognito) {
@@ -1692,7 +1696,7 @@
      * @return True if the tab is definitely Incognito, false if it's not or if it's undecideable.
      */
     private boolean isIncognitoTabBeingRestored(TabRestoreDetails tabDetails, TabState tabState,
-            ByteBuffer serializedCriticalPersistedTabData) {
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData) {
         if (tabState != null) {
             Log.i(TAG, "#isIncognitoTabBeingRestored from tabState:  " + tabState.isIncognito());
             // The Tab's previous state was completely restored.
@@ -1753,14 +1757,14 @@
             // file.
             Boolean isIncognito = FilePersistedTabDataStorage.isIncognito(activeTabId);
             mPrefetchCriticalPersistedTabDataActiveTabTask =
-                    new BackgroundOnlyAsyncTask<ByteBuffer>() {
+                    new BackgroundOnlyAsyncTask<SerializedCriticalPersistedTabData>() {
                         @Override
-                        protected ByteBuffer doInBackground() {
+                        protected SerializedCriticalPersistedTabData doInBackground() {
                             if (isIncognito == null) {
                                 prefetchActiveTabTask(activeTabId, taskRunner);
                                 return null;
                             }
-                            ByteBuffer res =
+                            SerializedCriticalPersistedTabData res =
                                     CriticalPersistedTabData.restore(activeTabId, isIncognito);
                             if (CriticalPersistedTabData.isEmptySerialization(res)) {
                                 prefetchActiveTabTask(activeTabId, taskRunner);
@@ -1855,7 +1859,8 @@
     }
 
     @VisibleForTesting
-    public AsyncTask<ByteBuffer> getPrefetchCriticalPersistedTabDataActiveTabTaskForTesting() {
+    public AsyncTask<SerializedCriticalPersistedTabData>
+    getPrefetchCriticalPersistedTabDataActiveTabTaskForTesting() {
         return mPrefetchCriticalPersistedTabDataActiveTabTask;
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java
index 81c6021..48ffbd7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java
@@ -29,6 +29,7 @@
 import org.chromium.chrome.browser.tab.TabIdManager;
 import org.chromium.chrome.browser.tab.TabLaunchType;
 import org.chromium.chrome.browser.tab.TabState;
+import org.chromium.chrome.browser.tab.state.SerializedCriticalPersistedTabData;
 import org.chromium.chrome.browser.tabmodel.AsyncTabCreationParams;
 import org.chromium.chrome.browser.tabmodel.AsyncTabCreator;
 import org.chromium.content_public.browser.LoadUrlParams;
@@ -36,8 +37,6 @@
 import org.chromium.ui.base.PageTransition;
 import org.chromium.url.GURL;
 
-import java.nio.ByteBuffer;
-
 /**
  * Asynchronously creates Tabs by creating/starting up Activities.
  */
@@ -76,7 +75,8 @@
      * The index is ignored in DocumentMode because Android handles the ordering of Tabs.
      */
     @Override
-    public Tab createFrozenTab(TabState state, ByteBuffer criticalPersistedTabData, int id,
+    public Tab createFrozenTab(TabState state,
+            SerializedCriticalPersistedTabData criticalPersistedTabData, int id,
             boolean isIncognito, int index) {
         if (isIncognito != mIsIncognito) {
             throw new IllegalStateException("Incognito state mismatch. isIncognito: " + isIncognito
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java
index 47ce0c89..e13e07a 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java
@@ -339,10 +339,10 @@
                 PersistedTabDataConfiguration config = PersistedTabDataConfiguration.get(
                         CriticalPersistedTabData.class, tab.isIncognito());
 
-                ByteBuffer serialized =
+                SerializedCriticalPersistedTabData serialized =
                         CriticalPersistedTabData.restore(tab.getId(), tab.isIncognito());
                 CriticalPersistedTabData deserialized = new CriticalPersistedTabData(
-                        tab, serialized, config.getStorage(), config.getId());
+                        tab, serialized.getByteBuffer(), config.getStorage(), config.getId());
                 Assert.assertEquals(EXPECTED_TITLE,
                         deserialized.getWebContentsState().getDisplayTitleFromState());
                 Assert.assertEquals(
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java
index 22919615..90aad54 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java
@@ -484,8 +484,8 @@
         LoadCallbackHelper callbackHelper = new LoadCallbackHelper();
         int chCount = callbackHelper.getCallCount();
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            CriticalPersistedTabData.restore(
-                    tabId, isIncognito, (res) -> { callbackHelper.notifyCalled(res); });
+            CriticalPersistedTabData.restore(tabId, isIncognito,
+                    (res) -> { callbackHelper.notifyCalled(res.getByteBuffer()); });
         });
         callbackHelper.waitForCallback(chCount);
         if (isNull) {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuRenderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuRenderTest.java
index 5a24e2f4..191d3d28 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuRenderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuRenderTest.java
@@ -11,6 +11,7 @@
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 
+import androidx.appcompat.content.res.AppCompatResources;
 import androidx.test.filters.MediumTest;
 
 import org.junit.After;
@@ -20,7 +21,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.test.BaseActivityTestRule;
 import org.chromium.base.test.params.ParameterAnnotations;
 import org.chromium.base.test.params.ParameterSet;
@@ -88,8 +88,8 @@
 
             int popupWidth =
                     activity.getResources().getDimensionPixelSize(R.dimen.tab_switcher_menu_width);
-            mView.setBackground(ApiCompatibilityUtils.getDrawable(
-                    activity.getResources(), R.drawable.menu_bg_tinted));
+            mView.setBackground(
+                    AppCompatResources.getDrawable(activity, R.drawable.menu_bg_tinted));
             activity.setContentView(mView, new LayoutParams(popupWidth, WRAP_CONTENT));
         });
     }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuRenderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuRenderTest.java
index 264b1b9..54c4dfc 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuRenderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuRenderTest.java
@@ -11,13 +11,13 @@
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 
+import androidx.appcompat.content.res.AppCompatResources;
 import androidx.test.filters.MediumTest;
 
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.test.params.ParameterAnnotations;
 import org.chromium.base.test.params.ParameterSet;
 import org.chromium.base.test.params.ParameterizedRunner;
@@ -92,8 +92,8 @@
 
             int popupWidth =
                     activity.getResources().getDimensionPixelSize(R.dimen.tab_switcher_menu_width);
-            mView.setBackground(ApiCompatibilityUtils.getDrawable(
-                    activity.getResources(), R.drawable.menu_bg_tinted));
+            mView.setBackground(
+                    AppCompatResources.getDrawable(activity, R.drawable.menu_bg_tinted));
             activity.setContentView(mView, new LayoutParams(popupWidth, WRAP_CONTENT));
         });
     }
diff --git a/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkIdentityServiceClientTest.java b/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkIdentityServiceClientTest.java
index 842807d3..5e0cbc3b 100644
--- a/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkIdentityServiceClientTest.java
+++ b/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkIdentityServiceClientTest.java
@@ -16,6 +16,7 @@
 import org.robolectric.Shadows;
 import org.robolectric.android.util.concurrent.RoboExecutorService;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.shadows.ShadowLooper;
 
@@ -31,6 +32,7 @@
  */
 @RunWith(LocalRobolectricTestRunner.class)
 @Config(manifest = Config.NONE)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class WebApkIdentityServiceClientTest {
     static final String BROWSER_PACKAGE_NAME = "org.chromium.test";
 
diff --git a/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkServiceConnectionManagerTest.java b/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkServiceConnectionManagerTest.java
index 07241f24..a54a140 100644
--- a/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkServiceConnectionManagerTest.java
+++ b/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkServiceConnectionManagerTest.java
@@ -21,6 +21,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import org.chromium.base.task.PostTask;
@@ -37,6 +38,7 @@
  */
 @RunWith(LocalRobolectricTestRunner.class)
 @Config(manifest = Config.NONE)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class WebApkServiceConnectionManagerTest {
     private static class TestExecutor implements Executor {
         private LinkedList<Runnable> mPendingTasks = new LinkedList<>();
diff --git a/chrome/app/app_management_strings.grdp b/chrome/app/app_management_strings.grdp
index 3e76864..150ada5 100644
--- a/chrome/app/app_management_strings.grdp
+++ b/chrome/app/app_management_strings.grdp
@@ -28,6 +28,9 @@
   <message name="IDS_APP_MANAGEMENT_PRESET_WINDOW_SIZES" desc="Label for the preset window sizes toggle in the app settings page.">
     Preset window sizes
   </message>
+  <message name="IDS_APP_MANAGEMENT_WINDOW" desc="Label for changing window mode.">
+    Open app in a separate window
+  </message>
   <message name="IDS_APP_MANAGEMENT_PRESET_WINDOW_SIZES_TEXT" desc="Label for the description of the window preset toggle in the app settings page.">
     Use presets for phone, tablet, or resizable windows to prevent app from misbehaving
   </message>
diff --git a/chrome/app/app_management_strings_grdp/IDS_APP_MANAGEMENT_WINDOW.png.sha1 b/chrome/app/app_management_strings_grdp/IDS_APP_MANAGEMENT_WINDOW.png.sha1
new file mode 100644
index 0000000..95e66c0
--- /dev/null
+++ b/chrome/app/app_management_strings_grdp/IDS_APP_MANAGEMENT_WINDOW.png.sha1
@@ -0,0 +1 @@
+99108bb839413247ac26a68c5340ff82959cc88e
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp
index cfb7c26..b86f2e5 100644
--- a/chrome/app/chromeos_strings.grdp
+++ b/chrome/app/chromeos_strings.grdp
@@ -4095,6 +4095,32 @@
     Accept and continue
   </message>
 
+  <!-- Smart privacy protection OOBE screen -->
+  <message name="IDS_SMART_PRIVACY_PROTECTION_TITLE" desc="Title of the smart privacy protection screen.">
+    Guard your privacy with Smart Privacy Protection
+  </message>
+  <message name="IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK" desc="Title of the screen lock section.">
+    Smart screen lock
+  </message>
+  <message name="IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK_DESCRIPTION" desc="Description of the lock screen feature.">
+    When you leave your computer, the screen is automatically locked to protect your privacy.
+  </message>
+  <message name="IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION" desc="Title of the snooping detection section.">
+    Snooping detection
+  </message>
+  <message name="IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION_DESCRIPTION" desc="Description of the snooping detection feature.">
+    Detect when someone is snooping your screen from behind, and protect privacy by masking notifications.
+  </message>
+  <message name="IDS_SMART_PRIVACY_PROTECTION_CONTENT" desc="Description of the privacy protection feature.">
+    Smart Privacy Protection uses built-in sensor to detect human presence. The data is encrypted and securely processed, then completely deleted after used. Google doesn’t access this data.
+  </message>
+  <message name="IDS_SMART_PRIVACY_PROTECTION_TURN_ON_BUTTON" desc="Label on a button to turn on the smart privacy protection feature and continue.">
+    Turn on
+  </message>
+  <message name="IDS_SMART_PRIVACY_PROTECTION_TURN_OFF_BUTTON" desc="Label on a button to turn off the smart privacy protection feature and continue.">
+    No Thanks
+  </message>
+
   <!-- Supervision transition OOBE screen. -->
   <message name="IDS_ADDING_MANAGEMENT_TITLE" desc="Title of the management transition OOBE scree when user transitions to managed state. MANAGER can be a domain or an email address.">
     Setting up management by <ph name="MANAGER">$1<ex>example.com</ex></ph>
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_CONTENT.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_CONTENT.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_CONTENT.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK_DESCRIPTION.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK_DESCRIPTION.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK_DESCRIPTION.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION_DESCRIPTION.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION_DESCRIPTION.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION_DESCRIPTION.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TITLE.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TITLE.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TITLE.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TURN_OFF_BUTTON.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TURN_OFF_BUTTON.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TURN_OFF_BUTTON.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TURN_ON_BUTTON.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TURN_ON_BUTTON.png.sha1
new file mode 100644
index 0000000..c47c6cc
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_SMART_PRIVACY_PROTECTION_TURN_ON_BUTTON.png.sha1
@@ -0,0 +1 @@
+65baefc9e1900e97b4d004fe1a794a5bf23bae87
\ No newline at end of file
diff --git a/chrome/app/resources/chromium_strings_be.xtb b/chrome/app/resources/chromium_strings_be.xtb
index 711b887..a31a736 100644
--- a/chrome/app/resources/chromium_strings_be.xtb
+++ b/chrome/app/resources/chromium_strings_be.xtb
@@ -225,6 +225,7 @@
 Не ўдалося аднавіць налады ў браўзеры Chromium.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Новае акно</translation>
+<translation id="7342713658732509484">Дазволы, якія вы ўжо далі вэб-сайтам і праграмам, могуць дзейнічаць для гэтага ўліковага запісу. Калі вы не хочаце даваць вэб-сайтам або праграмам доступ да даных уліковага запісу, выкарыстоўвайце Гасцявы рэжым браўзера Chromium. Вы таксама можаце кіраваць Уліковымі запісамі Google у <ph name="LINK_2_BEGIN" />Наладах<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Тут знаходзяцца вашы вэб-старонкі, закладкі і іншыя даныя браўзера Chromium.</translation>
 <translation id="7349591376906416160">Ваш сістэмны адміністратар наладзіў Chromium так, каб для доступу да <ph name="TARGET_URL_HOSTNAME" /> адкрываўся браўзер <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="7398989605938454041">Профілі Chromium патрэбныя для раздзельнага выкарыстання браўзера рознымі людзьмі або ў розных мэтах. Выкарыстоўваючы іх, прасцей раздзяляць работу і забавы.</translation>
diff --git a/chrome/app/resources/chromium_strings_bg.xtb b/chrome/app/resources/chromium_strings_bg.xtb
index 19f1b55..96cd3c1f 100644
--- a/chrome/app/resources/chromium_strings_bg.xtb
+++ b/chrome/app/resources/chromium_strings_bg.xtb
@@ -218,6 +218,7 @@
 <translation id="7318036098707714271">Файлът с предпочитанията ви е повреден или невалиден. Chromium не може да възстанови настройките ви.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Нов прозорец</translation>
+<translation id="7342713658732509484">За този профил може да важат разрешенията, които вече сте предоставили на уебсайтове и приложения. Ако не искате уебсайтовете и приложенията да имат достъп до информацията в профила ви, използвайте режима на гост в браузъра Chromium. Можете също да управлявате профилите си в Google в <ph name="LINK_2_BEGIN" />Настройки<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Тук ще намерите посещаваните от вас места в мрежата, отметките и другите си неща в Chromium.</translation>
 <translation id="7349591376906416160">Системният ви администратор е конфигурирал Chromium да отваря <ph name="ALTERNATIVE_BROWSER_NAME" /> за достъп до <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">С помощта на потребителските профили в Chromium можете да разделите нещата си в браузъра. Това улеснява разграничаването на работата и забавленията.</translation>
diff --git a/chrome/app/resources/chromium_strings_bs.xtb b/chrome/app/resources/chromium_strings_bs.xtb
index 8340a36..b2f13e1 100644
--- a/chrome/app/resources/chromium_strings_bs.xtb
+++ b/chrome/app/resources/chromium_strings_bs.xtb
@@ -226,6 +226,7 @@
 Chromium ne može vratiti vaše postavke.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Novi prozor</translation>
+<translation id="7342713658732509484">Odobrenja koja ste već dali web lokacijama i aplikacijama se mogu primjenjivati na ovaj račun. Ako ne želite da web lokacije ili aplikacije pristupaju informacijama o vašem računu, koristite Način rada za gosta u pregledniku Chromium. Također možete upravljati Google računima u <ph name="LINK_2_BEGIN" />Postavkama<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Vaš web, oznake i ostali sadržaji s Chromiuma se nalaze ovdje.</translation>
 <translation id="7349591376906416160">Administrator sistema je konfigurirao Chromium da otvori preglednik <ph name="ALTERNATIVE_BROWSER_NAME" /> radi pristupa web lokaciji <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">S Chromium profilima možete odvojiti sve svoje Chromium stvari. Tako ćete lakše razdvojiti posao i zabavu.</translation>
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb
index 1d842c4..5e4634fe 100644
--- a/chrome/app/resources/chromium_strings_ca.xtb
+++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -224,6 +224,7 @@
 Chromium no pot recuperar la configuració.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Finestra nova</translation>
+<translation id="7342713658732509484">És possible que els permisos que hagis donat a llocs web i aplicacions s'apliquin a aquest compte. Si no vols que els llocs web o les aplicacions accedeixin a la informació del teu compte, utilitza el mode de convidat al navegador Chromium. També pots gestionar els teus Comptes de Google a <ph name="LINK_2_BEGIN" />Configuració<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">El vostre web, les adreces d'interès i altres coses de Chromium resideixen aquí.</translation>
 <translation id="7349591376906416160">L'administrador del sistema ha configurat Chromium perquè obri <ph name="ALTERNATIVE_BROWSER_NAME" /> per accedir a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Els perfils de Chromium et permeten separar tot el teu contingut de Chromium. Així et serà més fàcil separar la feina de la diversió.</translation>
diff --git a/chrome/app/resources/chromium_strings_cs.xtb b/chrome/app/resources/chromium_strings_cs.xtb
index 4ae1b54..895e7d9 100644
--- a/chrome/app/resources/chromium_strings_cs.xtb
+++ b/chrome/app/resources/chromium_strings_cs.xtb
@@ -226,6 +226,7 @@
 Chromium nemůže vaše nastavení obnovit.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nové okno</translation>
+<translation id="7342713658732509484">Na tento účet se mohou vztahovat oprávnění, která jste již udělili webům a aplikacím. Pokud nechcete, aby weby nebo aplikace měly přístup k informacím o vašem účtu, použijte v prohlížeči Chromium režim hosta. Své účty Google můžete také spravovat v <ph name="LINK_2_BEGIN" />Nastavení<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Zde jsou k dispozici vaše weby, záložky a další obsah prohlížeče Chromium.</translation>
 <translation id="7349591376906416160">Administrátor systému nakonfiguroval prohlížeč Chromium tak, aby pro přístup k adrese <ph name="TARGET_URL_HOSTNAME" /> otevřel prohlížeč <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="7398989605938454041">Pomocí profilů prohlížeče Chromium můžete všechny své údaje v prohlížeči Chromium uchovávat odděleně. Budete tak moci snáze oddělit zábavu od práce.</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb
index fe30746..d8aba7d0 100644
--- a/chrome/app/resources/chromium_strings_el.xtb
+++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -224,6 +224,7 @@
 Το Chromium δεν μπορεί να ανακτήσει τις ρυθμίσεις σας.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Νέο παράθυρο</translation>
+<translation id="7342713658732509484">Οι άδειες που έχετε εκχωρήσει ήδη σε ιστοτόπους και εφαρμογές μπορεί να ισχύουν για αυτόν τον λογαριασμό. Εάν δεν θέλετε οι ιστότοποι ή οι εφαρμογές να έχουν πρόσβαση στις πληροφορίες του λογαριασμού σας, χρησιμοποιήστε τη λειτουργία επισκέπτη στο πρόγραμμα περιήγησης Chromium. Μπορείτε επίσης να διαχειριστείτε τους Λογαριασμούς σας Google στις <ph name="LINK_2_BEGIN" />Ρυθμίσεις<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Εδώ μπορείτε να βρείτε τις ιστοσελίδες, τους σελιδοδείκτες σας και άλλα δεδομένα του Chromium.</translation>
 <translation id="7349591376906416160">Ο διαχειριστής συστήματος έχει διαμορφώσει το Chromium ώστε να ανοίγει το <ph name="ALTERNATIVE_BROWSER_NAME" /> για την πρόσβαση σε <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Με τα προφίλ του Chromium μπορείτε να διαχωρίσετε όλο το περιεχόμενό σας στο Chromium. Αυτό σας βοηθά να διαχωρίζετε την εργασία από την ψυχαγωγία.</translation>
diff --git a/chrome/app/resources/chromium_strings_es-419.xtb b/chrome/app/resources/chromium_strings_es-419.xtb
index 937f943..ea15f0c 100644
--- a/chrome/app/resources/chromium_strings_es-419.xtb
+++ b/chrome/app/resources/chromium_strings_es-419.xtb
@@ -218,6 +218,7 @@
 <translation id="7318036098707714271">Tu archivo de preferencias está dañado o no es válido. Chromium no puede recuperar tu configuración.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nueva ventana</translation>
+<translation id="7342713658732509484">Es posible que se apliquen a esta cuenta los permisos que otorgaste a sitios web y apps. Si no quieres que los sitios web o apps accedan a la información de la cuenta, usa el Modo de Invitado en el navegador Chromium. También puedes administrar tus Cuentas de Google en <ph name="LINK_2_BEGIN" />Configuración<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Aquí puedes encontrar tus páginas web, favoritos y otros contenidos de Chromium.</translation>
 <translation id="7349591376906416160">El administrador del sistema configuró Chromium de manera que se abriera <ph name="ALTERNATIVE_BROWSER_NAME" /> para acceder a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Con los perfiles de Chromium, puedes separar todo lo que tienes en Chromium. De esta manera, es más fácil separar el trabajo del entretenimiento.</translation>
diff --git a/chrome/app/resources/chromium_strings_es.xtb b/chrome/app/resources/chromium_strings_es.xtb
index 75e7435d..317b6b11 100644
--- a/chrome/app/resources/chromium_strings_es.xtb
+++ b/chrome/app/resources/chromium_strings_es.xtb
@@ -226,6 +226,7 @@
 Chromium no puede recuperar tu configuración.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nueva ventana</translation>
+<translation id="7342713658732509484">Los permisos que hayas dado a sitios web y aplicaciones se pueden aplicar a esta cuenta. Si no quieres que los sitios web ni las aplicaciones accedan a la información de tu cuenta, usa el Modo invitados en el navegador Chromium. También puedes gestionar tus cuentas de Google en <ph name="LINK_2_BEGIN" />Configuración<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Aquí puedes encontrar tus páginas web, marcadores y otros contenidos de Chromium.</translation>
 <translation id="7349591376906416160">El administrador del sistema ha configurado Chromium para que abra <ph name="ALTERNATIVE_BROWSER_NAME" /> al acceder a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Los perfiles de Chromium te permiten organizar todos tus elementos de Chromium. Esto permite separar el trabajo del entretenimiento con más facilidad.</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb
index 1c2b17c..c581c912d 100644
--- a/chrome/app/resources/chromium_strings_et.xtb
+++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -223,6 +223,7 @@
 Chromium ei saa teie seadeid taastada.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Uus aken</translation>
+<translation id="7342713658732509484">Load, mille olete juba veebisaitidele ja rakendustele andnud, võivad selle konto puhul kehtida. Kui te ei soovi, et veebisaidid või rakendused teie kontoteabele juurde pääseksid, kasutage Chromiumi brauseris külalisrežiimi. Saate oma Google'i kontosid hallata ka jaotises <ph name="LINK_2_BEGIN" />Seaded<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Siin asuvad teie veeb, järjehoidjad ja ülejäänud Chromiumi kraam.</translation>
 <translation id="7349591376906416160">Teie süsteemiadministraator on seadistanud Chromiumi avama brauseri <ph name="ALTERNATIVE_BROWSER_NAME" />, et lehele <ph name="TARGET_URL_HOSTNAME" /> juurde pääseda.</translation>
 <translation id="7398989605938454041">Chromiumi profiilidega saate eraldada kogu oma Chromiumi sisu. See muudab töö ja lõbu eraldamise lihtsamaks.</translation>
diff --git a/chrome/app/resources/chromium_strings_fi.xtb b/chrome/app/resources/chromium_strings_fi.xtb
index f67ba99..759e5d8e 100644
--- a/chrome/app/resources/chromium_strings_fi.xtb
+++ b/chrome/app/resources/chromium_strings_fi.xtb
@@ -224,6 +224,7 @@
 Chromium ei voi palauttaa asetuksiasi.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Uusi ikkuna</translation>
+<translation id="7342713658732509484">Sivustoille ja sovelluksille myöntämäsi luvat saattavat koskea tätä tiliä. Jos et halua, että sivustot ja sovellukset saavat pääsyn tilitietoihisi, käytä Chromium-selaimen Vierastilaa. Voit ylläpitää Google-tilejä myös <ph name="LINK_2_BEGIN" />asetuksissa<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Tämä on verkkosi, kirjanmerkkiesi ja muun Chromium-sisältösi koti.</translation>
 <translation id="7349591376906416160">Järjestelmänvalvojasi on määrittänyt Chromiumin avaamaan osoitteen <ph name="TARGET_URL_HOSTNAME" /> selaimella <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="7398989605938454041">Kun käytät Chromium-profiileja, voit pitää kaiken Chromium-sisällön erillään. Näin työ ja hauskanpito on helpompi erottaa toisistaan.</translation>
diff --git a/chrome/app/resources/chromium_strings_fr.xtb b/chrome/app/resources/chromium_strings_fr.xtb
index 1b63c07..7df288ae9 100644
--- a/chrome/app/resources/chromium_strings_fr.xtb
+++ b/chrome/app/resources/chromium_strings_fr.xtb
@@ -225,6 +225,7 @@
 Chromium ne peut pas récupérer vos paramètres.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nouvelle fenêtre</translation>
+<translation id="7342713658732509484">Les autorisations que vous avez déjà accordées aux sites Web et aux applis peuvent s'appliquer à ce compte. Si vous ne voulez pas que les sites Web ou applis aient accès aux infos de votre compte, utilisez le mode Invité dans le navigateur Chromium. Vous pouvez également gérer vos comptes Google dans <ph name="LINK_2_BEGIN" />Paramètres<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Votre contenu Web, vos favoris et toutes vos données Chromium sont conservés ici.</translation>
 <translation id="7349591376906416160">Votre administrateur système a configuré Chromium de sorte que <ph name="ALTERNATIVE_BROWSER_NAME" /> s'ouvre pour accéder à <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Utilisez les profils Chromium pour dissocier toutes vos données Chromium. Vous pouvez ainsi faire plus facilement la distinction entre vos contenus personnels et professionnels.</translation>
diff --git a/chrome/app/resources/chromium_strings_gl.xtb b/chrome/app/resources/chromium_strings_gl.xtb
index e7861c22..928c9d7 100644
--- a/chrome/app/resources/chromium_strings_gl.xtb
+++ b/chrome/app/resources/chromium_strings_gl.xtb
@@ -225,6 +225,7 @@
 Chromium non pode recuperar a túa configuración.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nova ventá</translation>
+<translation id="7342713658732509484">Pode que se lle apliquen a esta conta os permisos que xa lles concedeses aos sitios web e ás aplicacións. Se non queres que os sitios web ou as aplicacións accedan á información da túa conta, utiliza o modo de convidado no navegador Chromium. Tamén podes xestionar as túas Contas de Google en <ph name="LINK_2_BEGIN" />Configuración<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Aquí podes atopar as túas páxinas web, marcadores e outros contidos de Chromium.</translation>
 <translation id="7349591376906416160">O teu administrador do sistema configurou Chromium para abrir o navegador <ph name="TARGET_URL_HOSTNAME" /> co obxectivo de acceder a <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="7398989605938454041">Cos perfís de Chromium podes separar todas as cousas que teñas neste navegador. Así é máis sinxelo separar o traballo do lecer.</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb
index f08d3c2..a0b5d41 100644
--- a/chrome/app/resources/chromium_strings_hr.xtb
+++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -224,6 +224,7 @@
 Chromium ne može oporaviti vaše postavke.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Novi prozor</translation>
+<translation id="7342713658732509484">Dopuštenja koja ste već dali web-lokacijama i aplikacijama mogu se primijeniti na ovaj račun. Ako ne želite da web-lokacije i aplikacije pristupaju podacima o vašem računu, koristite način rada za goste u pregledniku Chromium. Možete i upravljati svojim Google računima u <ph name="LINK_2_BEGIN" />postavkama<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Ovdje se nalaze vaš web, oznake i ostali sadržaji u Chromiumu.</translation>
 <translation id="7349591376906416160">Vaš administrator sustava konfigurirao je Chromium da otvara <ph name="ALTERNATIVE_BROWSER_NAME" /> za pristup URL-u <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Pomoću Chromiumovih profila možete razdvojiti sve svoje sadržaje u Chromiumu. To olakšava odvajanje posla i zabave.</translation>
diff --git a/chrome/app/resources/chromium_strings_id.xtb b/chrome/app/resources/chromium_strings_id.xtb
index cd0d0fd..bf66c52 100644
--- a/chrome/app/resources/chromium_strings_id.xtb
+++ b/chrome/app/resources/chromium_strings_id.xtb
@@ -224,6 +224,7 @@
 Chromium tidak dapat memulihkan setelan Anda.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Jendela baru</translation>
+<translation id="7342713658732509484">Izin yang telah Anda berikan ke situs dan aplikasi dapat berlaku untuk akun ini. Jika Anda tidak ingin situs atau aplikasi mengakses info akun Anda, gunakan mode Tamu di browser Chromium. Anda juga dapat mengelola Akun Google Anda di <ph name="LINK_2_BEGIN" />Setelan<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Web, bookmark, dan barang Chromium Anda lainnya tersedia di sini.</translation>
 <translation id="7349591376906416160">Administrator sistem Anda telah mengonfigurasi Chromium untuk membuka <ph name="ALTERNATIVE_BROWSER_NAME" /> guna mengakses <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Dengan profil Chromium, Anda dapat memisahkan semua aktivitas Chromium Anda. Hal ini mempermudah pemisahan antara aktivitas kerja dan hiburan.</translation>
diff --git a/chrome/app/resources/chromium_strings_is.xtb b/chrome/app/resources/chromium_strings_is.xtb
index b1e310e7..9c56a3bb 100644
--- a/chrome/app/resources/chromium_strings_is.xtb
+++ b/chrome/app/resources/chromium_strings_is.xtb
@@ -226,6 +226,7 @@
 Chromium getur ekki endurheimt stillingarnar þínar.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nýr gluggi</translation>
+<translation id="7342713658732509484">Heimildir sem þú hefur þegar veitt vefsvæðum og forritum kunna að gilda á þessum reikningi. Ef þú vilt ekki að vefsvæði eða forrit fái aðgang að upplýsingunum þínum skaltu nota gestastillingu í Chromium vafra. Þú getur einnig haft umsjón með Google reikningunum þínum í <ph name="LINK_2_BEGIN" />Stillingum<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Hér er vefefnið þitt, bókamerkin og annað dót úr Chromium.</translation>
 <translation id="7349591376906416160">Kerfisstjórinn hefur stillt Google Chromium á að opna <ph name="ALTERNATIVE_BROWSER_NAME" /> til að fá aðgang að <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Þú getur aðskilið allt efnið þitt á Chromium með Chromium prófílum. Á þann hátt er auðveldara að skipta á milli vinnu og afþreyingar.</translation>
diff --git a/chrome/app/resources/chromium_strings_iw.xtb b/chrome/app/resources/chromium_strings_iw.xtb
index ba81252..30046fa 100644
--- a/chrome/app/resources/chromium_strings_iw.xtb
+++ b/chrome/app/resources/chromium_strings_iw.xtb
@@ -222,6 +222,7 @@
 Chromium לא יכול לשחזר את ההגדרות שלך.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">חלון חדש</translation>
+<translation id="7342713658732509484">‏יכול להיות שהרשאות שכבר ניתנו לאתרים ולאפליקציות יחולו על החשבון הזה. אם אינך רוצה שלאתרים או לאפליקציות תהיה גישה לפרטי החשבון שלך, צריך להשתמש ב'מצב אורח' בדפדפן Chromium. יש לך גם אפשרות לנהל את חשבונות Google שלך ב<ph name="LINK_2_BEGIN" />הגדרות<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">‏היסטוריית האתרים, הסימניות ונתונים נוספים מ-Chromium נמצאים כאן.</translation>
 <translation id="7349591376906416160">‏לפי הגדרת מנהל המערכת, Chromium יפתח את<ph name="ALTERNATIVE_BROWSER_NAME" /> כדי לגשת אל <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">‏באמצעות פרופילים ב-Chromium, מפרידים את כל הפריטים ב-Chromium. באופן הזה קל יותר להפריד בין עבודה לפנאי.</translation>
diff --git a/chrome/app/resources/chromium_strings_kk.xtb b/chrome/app/resources/chromium_strings_kk.xtb
index 96bd4c4..2949af5d1 100644
--- a/chrome/app/resources/chromium_strings_kk.xtb
+++ b/chrome/app/resources/chromium_strings_kk.xtb
@@ -225,6 +225,7 @@
 Chromium параметрлеріңізді қалпына келтіре алмайды.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Жаңа терезе</translation>
+<translation id="7342713658732509484">Веб-сайттар мен қолданбаларға берілген рұқсаттар осы аккаунтқа пайдаланылуы мүмкін. Егер веб-сайттардың немесе қолданбалардың аккаунт ақпаратын пайдаланғанын қаламасаңыз, Chromium браузеріндегі Қонақ режиміне өтіңіз. Сондай-ақ Google аккаунттарын <ph name="LINK_2_BEGIN" />Параметрлер<ph name="LINK_2_END" /> бөлімінен басқаруға болады.</translation>
 <translation id="734373864078049451">Мұнда веб-беттер, бетбелгілер және басқа Chromium материалдары тұрады.</translation>
 <translation id="7349591376906416160">Жүйе әкімшісі Chromium браузерін <ph name="TARGET_URL_HOSTNAME" /> бетіне кіргенде <ph name="ALTERNATIVE_BROWSER_NAME" /> браузері ашылатын етіп конфигурациялады.</translation>
 <translation id="7398989605938454041">Chromium профильдері арқылы Chromium-дегі барлық материалыңызды бөле аласыз. Осылайша оларды жұмыс немесе көңіл көтеру топтарына оңай іріктеуге болады.</translation>
diff --git a/chrome/app/resources/chromium_strings_km.xtb b/chrome/app/resources/chromium_strings_km.xtb
index f962e5b..b0f30de 100644
--- a/chrome/app/resources/chromium_strings_km.xtb
+++ b/chrome/app/resources/chromium_strings_km.xtb
@@ -227,6 +227,7 @@
 Chromium មិនអាចសង្គ្រោះការកំណត់របស់អ្នកទេ។</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">ផ្ទាំងថ្មី</translation>
+<translation id="7342713658732509484">ការអនុញ្ញាត​ដែលអ្នកបានផ្ដល់​ឱ្យគេហទំព័រ និងកម្មវិធីរួចហើយ​អាចអនុវត្តចំពោះ​គណនីនេះ។ ប្រសិនបើអ្នកមិនចង់ឱ្យគេហទំព័រ ឬកម្មវិធីចូលប្រើព័ត៌មានគណនីរបស់អ្នកទេ សូមប្រើមុខងារភ្ញៀវក្នុងកម្មវិធីរុករកតាមអ៊ីនធឺណិត Chromium។ អ្នកក៏អាចគ្រប់គ្រងគណនី Google របស់អ្នកបានផងដែរនៅក្នុង<ph name="LINK_2_BEGIN" />ការកំណត់<ph name="LINK_2_END" />។</translation>
 <translation id="734373864078049451">គេហទំព័រ ចំណាំ និងរបស់ទៀតរបស់ Chromium របស់អ្នកនៅទីនេះ។</translation>
 <translation id="7349591376906416160">អ្នក​គ្រប់គ្រង​ប្រព័ន្ធ​របស់អ្នក​បានកំណត់រចនាសម្ព័ន្ធ Chromium ឱ្យ​បើក <ph name="ALTERNATIVE_BROWSER_NAME" /> ដើម្បី​ចូលប្រើ <ph name="TARGET_URL_HOSTNAME" /> ។</translation>
 <translation id="7398989605938454041">អ្នកអាចបែងចែកទិន្នន័យនៅលើ Chromium ទាំងអស់របស់អ្នកបាន ដោយប្រើកម្រងព័ត៌មាន Chromium។ ការធ្វើបែបនេះធ្វើឱ្យកាន់តែងាយស្រួលក្នុងការបែងចែករវាងការងារ និងការកម្សាន្ត។</translation>
diff --git a/chrome/app/resources/chromium_strings_ko.xtb b/chrome/app/resources/chromium_strings_ko.xtb
index 460aa6e..6b7290848 100644
--- a/chrome/app/resources/chromium_strings_ko.xtb
+++ b/chrome/app/resources/chromium_strings_ko.xtb
@@ -226,6 +226,7 @@
 Chromium에서 설정을 복구할 수 없습니다.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">새 창</translation>
+<translation id="7342713658732509484">웹사이트와 앱에 이미 부여한 권한이 계정에 적용될 수 있습니다. 웹사이트나 앱에서 계정 정보에 액세스하기를 원하지 않으면 Chromium 브라우저에서 게스트 모드를 사용하세요. <ph name="LINK_2_BEGIN" />설정<ph name="LINK_2_END" />에서 Google 계정을 관리할 수도 있습니다.</translation>
 <translation id="734373864078049451">웹, 북마크 및 기타 Chromium 콘텐츠가 여기에 저장됩니다.</translation>
 <translation id="7349591376906416160">시스템 관리자가 <ph name="TARGET_URL_HOSTNAME" /> 액세스를 위해 <ph name="ALTERNATIVE_BROWSER_NAME" />을(를) 열도록 Chromium을 구성했습니다.</translation>
 <translation id="7398989605938454041">Chromium 프로필을 사용하면 모든 Chromium 데이터를 분리할 수 있습니다. 업무용 데이터와 개인용 데이터를 더 쉽게 분리해 보세요.</translation>
diff --git a/chrome/app/resources/chromium_strings_lv.xtb b/chrome/app/resources/chromium_strings_lv.xtb
index eec2e1e..9de1b1c4 100644
--- a/chrome/app/resources/chromium_strings_lv.xtb
+++ b/chrome/app/resources/chromium_strings_lv.xtb
@@ -221,6 +221,7 @@
 <translation id="7318036098707714271">Jūsu preferenču fails ir bojāts vai nederīgs. Chromium nespēj atkopt jūsu iestatījumus.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Jauns logs</translation>
+<translation id="7342713658732509484">Uz šo kontu var attiekties atļaujas, ko jau esat piešķīris vietnēm un lietotnēm. Ja nevēlaties atļaut vietnēm vai lietotnēm piekļūt jūsu konta informācijai, pārlūkā Chromium izmantojiet viesa režīmu. Varat arī pārvaldīt savus Google kontus <ph name="LINK_2_BEGIN" />iestatījumu sadaļā<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Šeit atrodas jūsu tīmekļa saturs, grāmatzīmes un cits Chromium saturs.</translation>
 <translation id="7349591376906416160">Jūsu sistēmas administrators ir konfigurējis Chromium atvērt <ph name="ALTERNATIVE_BROWSER_NAME" />, lai piekļūtu <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Izmantojot Chromium profilus, varat nodalīt visu savu Chromium saturu. Tādējādi tiek atvieglota darba un izklaides satura nodalīšana.</translation>
diff --git a/chrome/app/resources/chromium_strings_or.xtb b/chrome/app/resources/chromium_strings_or.xtb
index bd3bf44c..1250a8c0 100644
--- a/chrome/app/resources/chromium_strings_or.xtb
+++ b/chrome/app/resources/chromium_strings_or.xtb
@@ -225,6 +225,7 @@
 Chromium ଆପଣଙ୍କ ସେଟିଂସ୍‌କୁ ପୁନରୁଦ୍ଧାର କରିପାରିବ ନାହିଁ।</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">ନୂଆ ୱିଣ୍ଡୋ</translation>
+<translation id="7342713658732509484">ୱେବସାଇଟ ଏବଂ ଆପଗୁଡ଼ିକ ପାଇଁ ଆପଣ ପୂର୍ବରୁ ଦେଇଥିବା ଅନୁମତିଗୁଡ଼ିକ ଏହି ଆକାଉଣ୍ଟରେ ଲାଗୁ ହୋଇପାରେ। ଯଦି ୱେବସାଇଟ କିମ୍ବା ଆପଗୁଡ଼ିକ ଆପଣଙ୍କ ଆକାଉଣ୍ଟ ସୂଚନାକୁ ଆକ୍ସେସ କରୁ ବୋଲି ଆପଣ ଚାହୁଁନାହାଁନ୍ତି, ତେବେ Chromium ବ୍ରାଉଜରରେ ଅତିଥି ମୋଡ ବ୍ୟବହାର କରନ୍ତୁ। ଆପଣ <ph name="LINK_2_BEGIN" />ସେଟିଂସ<ph name="LINK_2_END" />ରେ ମଧ୍ୟ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟକୁ ପରିଚାଳନା କରିପାରିବେ।</translation>
 <translation id="734373864078049451">ଆପଣଙ୍କର ୱେବ୍, ବୁକ୍‍ମାର୍କ ଓ ଅନ୍ୟାନ୍ୟ Chromium ଷ୍ଟଫ୍ ଏଠାରେ ଅଛି।</translation>
 <translation id="7349591376906416160"><ph name="TARGET_URL_HOSTNAME" /> ଆକ୍ସେସ କରିବା ପାଇଁ <ph name="ALTERNATIVE_BROWSER_NAME" />ଖୋଲିବାକୁ ଆପଣଙ୍କର ସିଷ୍ଟମ୍ ଆଡ୍‌ମିନିଷ୍ଟ୍ରେଟର୍ Chromium କନ୍‌ଫିଗର୍ କରିଛନ୍ତି।</translation>
 <translation id="7398989605938454041">Chromium ପ୍ରୋଫାଇଲଗୁଡ଼ିକ ସାହାଯ୍ୟରେ ଆପଣ ଆପଣଙ୍କ ସମସ୍ତ Chromium ଷ୍ଟଫକୁ ଅଲଗା କରିପାରିବେ। କାର୍ଯ୍ୟ ଏବଂ ମଜା ମଧ୍ୟରେ ସ୍ପ୍ଲିଟ କରିବାକୁ ଏହା ସହଜ କରିଥାଏ।</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-BR.xtb b/chrome/app/resources/chromium_strings_pt-BR.xtb
index 80f4819..d23cfe3 100644
--- a/chrome/app/resources/chromium_strings_pt-BR.xtb
+++ b/chrome/app/resources/chromium_strings_pt-BR.xtb
@@ -218,6 +218,7 @@
 <translation id="7318036098707714271">Seu arquivo de preferências foi corrompido ou não é válido. O Chromium não conseguiu recuperar suas configurações.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nova janela</translation>
+<translation id="7342713658732509484">As permissões que você já concedeu a sites e apps podem ser aplicadas a esta conta. Se você não quer que sites ou apps tenham acesso às informações da sua conta, use o Modo convidado no navegador Chromium. Também é possível gerenciar suas Contas do Google nas <ph name="LINK_2_BEGIN" />Configurações<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Sua Web, seus favoritos e demais conteúdo do Chromium estão aqui.</translation>
 <translation id="7349591376906416160">O administrador do seu sistema configurou o Chromium para abrir o <ph name="ALTERNATIVE_BROWSER_NAME" /> ao acessar <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Você pode usar os perfis do Chromium para separar todos os seus dados nele. Assim, fica mais fácil dividir suas atividades entre trabalho e diversão.</translation>
diff --git a/chrome/app/resources/chromium_strings_sq.xtb b/chrome/app/resources/chromium_strings_sq.xtb
index fc96f902..af968f6 100644
--- a/chrome/app/resources/chromium_strings_sq.xtb
+++ b/chrome/app/resources/chromium_strings_sq.xtb
@@ -225,6 +225,7 @@
 Chromium nuk është në gjendje të rikuperojë cilësimet e tua.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Dritare e re</translation>
+<translation id="7342713658732509484">Lejet që u ke dhënë sajteve të uebit dhe aplikacioneve mund të zbatohen për këtë llogari. Nëse nuk dëshiron që sajtet e uebit ose aplikacionet të kenë qasje tek informacionet e llogarisë sate, përdor modalitetin "Vizitor" në shfletuesin Chromium. "Llogaritë e tua të Google" mund t'i menaxhosh edhe te <ph name="LINK_2_BEGIN" />Cilësimet<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Këtu janë materialet e tua të uebit, të faqeshënuesve dhe të tjera nga Chromium.</translation>
 <translation id="7349591376906416160">Administratori i sistemit ka konfiguruar Chromium që të hapë <ph name="ALTERNATIVE_BROWSER_NAME" /> për t'u qasur te <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Me profilet e Chromium mund t'i mbash veçmas të gjitha gjërat e tua të Chromium. Kjo e bën më të lehtë ta ndash punën nga argëtimi.</translation>
diff --git a/chrome/app/resources/chromium_strings_sv.xtb b/chrome/app/resources/chromium_strings_sv.xtb
index 8d9b319..5074814b 100644
--- a/chrome/app/resources/chromium_strings_sv.xtb
+++ b/chrome/app/resources/chromium_strings_sv.xtb
@@ -226,6 +226,7 @@
 Chromium kan inte återställa dina inställningar.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Nytt fönster</translation>
+<translation id="7342713658732509484">Behörigheter som du redan har gett webbplatser och appar kan gälla för det här kontot. Om du inte vill ge webbplatser och appar åtkomst till information i ditt konto kan du använda gästläget i webbläsaren Chromium. Du kan även hantera dina Google-konton i <ph name="LINK_2_BEGIN" />inställningarna<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Här finns webben, bokmärken och allt annat du använder Chromium till.</translation>
 <translation id="7349591376906416160">Systemadministratören har konfigurerat Chromium så att <ph name="TARGET_URL_HOSTNAME" /> öppnas i <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="7398989605938454041">Du kan hålla dina saker i Chromium åtskilda med hjälp av Chromium-profiler. Det gör det enklare att skilja på nytta och nöje.</translation>
diff --git a/chrome/app/resources/chromium_strings_ta.xtb b/chrome/app/resources/chromium_strings_ta.xtb
index 318d787..abcf5d6e 100644
--- a/chrome/app/resources/chromium_strings_ta.xtb
+++ b/chrome/app/resources/chromium_strings_ta.xtb
@@ -224,6 +224,7 @@
 உங்கள் அமைப்புகளை Chromium ஆல் மீட்டெடுக்க முடியவில்லை.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">புதிய சாளரம்</translation>
+<translation id="7342713658732509484">இணையதளங்களுக்கும் ஆப்ஸுக்கும் நீங்கள் ஏற்கெனவே வழங்கிய அனுமதிகள் இந்தக் கணக்கிற்கும் பொருந்தக்கூடும். உங்கள் கணக்குத் தகவல்களை இணையதளங்களோ ஆப்ஸோ அணுக வேண்டாம் என விரும்பினால் Chromium உலாவியை கெஸ்ட் பயன்முறையில் பயன்படுத்தவும். உங்கள் Google கணக்குகளை <ph name="LINK_2_BEGIN" />அமைப்புகள்<ph name="LINK_2_END" /> என்பதிலும் நிர்வகிக்கலாம்.</translation>
 <translation id="734373864078049451">உங்களின் இணையம், புக்மார்க்குகள் மற்றும் பிற Chromium உருப்படிகள் இங்கே உள்ளன.</translation>
 <translation id="7349591376906416160"><ph name="ALTERNATIVE_BROWSER_NAME" /> மூலம் <ph name="TARGET_URL_HOSTNAME" /> இணைப்பைப் பார்ப்பதற்கு உங்கள் சிஸ்டம் நிர்வாகி Chromiumமை உள்ளமைத்துள்ளார்.</translation>
 <translation id="7398989605938454041">Chromium சுயவிவரங்களைப் பயன்படுத்தி உங்கள் Chromium தொடர்பான அனைத்தையும் தனித்தனியாக வைத்துக்கொள்ளலாம். இதன்மூலம் வேலை, பொழுதுபோக்கு ஆகியவை தொடர்பான செயல்பாடுகளைத் தனித்தனியாக எளிதில் பிரிக்கலாம்.</translation>
diff --git a/chrome/app/resources/chromium_strings_te.xtb b/chrome/app/resources/chromium_strings_te.xtb
index 35a6622..45158dc 100644
--- a/chrome/app/resources/chromium_strings_te.xtb
+++ b/chrome/app/resources/chromium_strings_te.xtb
@@ -77,10 +77,10 @@
 <translation id="3349211344363550267">మీరు ఈ ఫైల్‌ను డౌన్‌లోడ్ చేయవద్దు లేదా తెరవవద్దని Chromium సిఫార్సు చేస్తుంది</translation>
 <translation id="3350761136195634146">ఈ ఖాతాతో ఇప్పటికే ఒక Chromium ప్రొఫైల్ ఉంది</translation>
 <translation id="3406848076815591792">ప్రస్తుతం ఉన్న Chromium ప్రొఫైల్‌కు స్విచ్ చేయాలా?</translation>
-<translation id="3430503420100763906">మీ మొత్తం Chromium అంశాలను Chromium ప్రొఫైల్‌లతో విభజించవచ్చు. స్నేహితులు, ఫ్యామిలీ కోసం ప్రొఫైల్‌లను క్రియేట్ చేయండి, లేదా ఆఫీస్, వినోదం మధ్య విభజించండి.</translation>
+<translation id="3430503420100763906">మీ మొత్తం Chromium అంశాలను Chromium ప్రొఫైళ్లతో విభజించవచ్చు. స్నేహితులు, ఫ్యామిలీ కోసం ప్రొఫైళ్లను క్రియేట్ చేయండి, లేదా ఆఫీస్, వినోదం మధ్య విభజించండి.</translation>
 <translation id="347328004046849135">చోరీకి గురైన పాస్‌వర్డ్‌తో మీరు సైన్ ఇన్ చేసినప్పుడు Chromium మీకు తెలియజేస్తుంది</translation>
 <translation id="3474745554856756813">ఇది ఈ పరికరం నుండి <ph name="ITEMS_COUNT" /> అంశాలను తొలగిస్తుంది. మీ డేటాను తర్వాత తిరిగి పొందడానికి, Chromiumకు <ph name="USER_EMAIL" /> లాగా సైన్ ఇన్ చేయండి.</translation>
-<translation id="3497319089134299931"><ph name="SHORTCUT" /> Chromium ప్రొఫైల్‌ల మధ్య స్విచ్ చేయగలదు</translation>
+<translation id="3497319089134299931"><ph name="SHORTCUT" /> Chromium ప్రొఫైళ్ల మధ్య స్విచ్ చేయగలదు</translation>
 <translation id="3509308970982693815">దయచేసి అన్ని Chromium విండోలను మూసివేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="3575459661164320785">మీ కంప్యూటర్‌లో మీ భద్రతకు హాని కలిగించే సాఫ్ట్‌వేర్‌ ఉంది. మీ బ్రౌజర్‌ని మళ్లీ సాధారణంగా పని చేసేలా చేయడానికి Chromium దానిని తీసివేసి, మీ సెట్టింగ్‌లను పునరుద్ధరించి, ఎక్స్‌టెన్షన్‌లను నిలిపివేయగలదు.</translation>
 <translation id="3639635944603682591">ఈ వ్యక్తి బ్రౌజింగ్ డేటా‌ ఈ పరికరం నుండి తొలగించబడుతుంది. డేటాను పునరుద్ధరించడానికి, <ph name="USER_EMAIL" />గా Chromiumకు సైన్ ఇన్ చేయండి.</translation>
@@ -164,7 +164,7 @@
 <translation id="6120345080069858279">Chromium ఈ పాస్‌వర్డ్‌ను మీ Google ఖాతాలో సేవ్ చేస్తుంది. మీరు దీనిని గుర్తుంచుకోవాల్సిన అవసరం లేదు.</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> హానికరం, కావున Chromium దాన్ని బ్లాక్ చేసింది.</translation>
 <translation id="6134968993075716475">సురక్షిత బ్రౌజింగ్ ఆఫ్ చేయబడింది. దాన్ని ఆన్ చేయమని Chromium సిఫార్సు చేస్తోంది.</translation>
-<translation id="6145820983052037069">మీరు ఇక్కడ Chromium ప్రొఫైల్‌ల మధ్య స్విచ్ అవ్వవచ్చు</translation>
+<translation id="6145820983052037069">మీరు ఇక్కడ Chromium ప్రొఫైళ్ల మధ్య స్విచ్ అవ్వవచ్చు</translation>
 <translation id="6183079672144801177">మీ <ph name="TARGET_DEVICE_NAME" />లో మీరు Chromiumకు సైన్ ఇన్ చేశారని నిర్ధారించుకుని, ఆపై మళ్లీ పంపడానికి ట్రై చేయండి.</translation>
 <translation id="6212496753309875659">ఈ కంప్యూటర్‌లో ఇప్పటికే మరింత తాజాదైన Chromium వెర్షన్ ఉంది. సాఫ్ట్‌వేర్ పని చేయకపోతే, దయచేసి Chromiumను అన్ఇన్‌స్టాల్ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="6219195342503754812">{0,plural, =0{Chromium ఇప్పుడు తిరిగి ప్రారంభించబడుతుంది}=1{1 సెకనులో Chromium తిరిగి ప్రారంభించబడుతుంది}other{# సెకన్లలో Chromium తిరిగి ప్రారంభించబడుతుంది}}</translation>
@@ -182,7 +182,7 @@
 <translation id="6373523479360886564">మీరు ఖచ్చితంగా Chromiumను అన్ఇన్‌స్టాల్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="6403826409255603130">Chromium అనేది మెరుపు వేగంతో వెబ్‌పేజీలను మరియు యాప్‌ల‌ను అమలు చేసే వెబ్ బ్రౌజర్. ఇది వేగవంతమైనది, స్థిరమైనది మరియు ఉపయోగించడానికి సులభమైనది. Chromiumలో రూపొందించిన మాల్‌వేర్‌ మరియు ఫిషింగ్ రక్షణతో మరింత సురక్షితంగా వెబ్‌లో బ్రౌజ్ చేయండి.</translation>
 <translation id="6434250628340475518">Chromium OS సిస్టమ్</translation>
-<translation id="6455857529632101747">Chromium ప్రొఫైల్‌లకు స్వాగతం</translation>
+<translation id="6455857529632101747">Chromium ప్రొఫైళ్లకు స్వాగతం</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium 1 సెకనులో పునఃప్రారంభమవుతుంది}other{Chromium # సెకన్లలో పునఃప్రారంభమవుతుంది}}</translation>
 <translation id="6475912303565314141">ఇది మీరు Chromiumని ప్రారంభించేటప్పుడు చూపబడే పేజీని కూడా నియంత్రిస్తుంది.</translation>
 <translation id="6510925080656968729">Chromiumను అన్ఇన్‌స్టాల్ చేయి</translation>
@@ -223,7 +223,7 @@
 <translation id="7342713658732509484">మీరు వెబ్‌సైట్‌లు, యాప్‌లకు ఇప్పటికే ఇచ్చిన అనుమతులు ఈ ఖాతాకు వర్తించవచ్చు. మీరు మీ ఖాతా సమాచారాన్ని సైట్‌లు లేదా యాప్‌లు యాక్సెస్ చేయకూడదనుకుంటే, Chromium బ్రౌజర్‌లో గెస్ట్ మోడ్‌లో ఉపయోగించండి. మీ Google ఖాతాలను మీరు <ph name="LINK_2_BEGIN" />సెట్టింగ్‌లు<ph name="LINK_2_END" /> లింక్‌లో కూడా మేనేజ్ చేయవచ్చు.</translation>
 <translation id="734373864078049451">మీ వెబ్, బుక్‌మార్క్‌లు మరియు ఇతర Chromium అంశాలు ఇక్కడ చూపబడతాయి.</translation>
 <translation id="7349591376906416160"><ph name="TARGET_URL_HOSTNAME" />ను యాక్సెస్ చేయడం కోసం <ph name="ALTERNATIVE_BROWSER_NAME" />ను తెరిచే విధంగా Chromiumను మీ సిస్టమ్ నిర్వాహకుడు కాన్ఫిగర్ చేశారు.</translation>
-<translation id="7398989605938454041">మీ మొత్తం Chromium అంశాలను, మీరు Chromium ప్రొఫైల్‌లతో వేరు చేయండి. ఇలా చేయడం వలన ఆఫీస్, వినోదాన్ని వేర్వేరుగా ఉంచవచ్చు.</translation>
+<translation id="7398989605938454041">మీ మొత్తం Chromium అంశాలను, మీరు Chromium ప్రొఫైళ్లతో వేరు చేయండి. ఇలా చేయడం వలన ఆఫీస్, వినోదాన్ని వేర్వేరుగా ఉంచవచ్చు.</translation>
 <translation id="7448255348454382571">Chromium OSని మళ్లీ ప్రారంభించండి</translation>
 <translation id="7449453770951226939"><ph name="PAGE_TITLE" /> - Chromium Dev</translation>
 <translation id="7451052299415159299">ఈ సైట్ కోసం మీ కెమెరాను యాక్సెస్ చేయడానికి Chromiumకు అనుమతి అవసరం</translation>
diff --git a/chrome/app/resources/chromium_strings_tr.xtb b/chrome/app/resources/chromium_strings_tr.xtb
index a0e5ff2..2a6a3b2 100644
--- a/chrome/app/resources/chromium_strings_tr.xtb
+++ b/chrome/app/resources/chromium_strings_tr.xtb
@@ -221,6 +221,7 @@
 Chromium ayarlarınızı kurtaramıyor.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Yeni pencere</translation>
+<translation id="7342713658732509484">Web sitelerine ve uygulamalara verdiğiniz izinler, bu hesap için geçerli olabilir. Web sitelerinin veya uygulamaların hesap bilgilerinize erişmesini istemiyorsanız Chromium tarayıcıdaki Misafir Modu'nu kullanın. Google Hesaplarınızı <ph name="LINK_2_BEGIN" />Ayarlar<ph name="LINK_2_END" /> bölümünden de yönetebilirsiniz.</translation>
 <translation id="734373864078049451">Web, yer işaretleri ve diğer Chromium bilgileriniz burada bulunur.</translation>
 <translation id="7349591376906416160">Sistem yöneticiniz Chromium'u <ph name="TARGET_URL_HOSTNAME" /> adresine erişmek için <ph name="ALTERNATIVE_BROWSER_NAME" /> tarayıcısını açacak şekilde yapılandırmış.</translation>
 <translation id="7398989605938454041">Chromium profilleri ile tüm Chromium öğelerinizi ayırabilirsiniz. Bu özellik, iş ile eğlenceyi daha kolay ayırmayı sağlar.</translation>
diff --git a/chrome/app/resources/chromium_strings_uk.xtb b/chrome/app/resources/chromium_strings_uk.xtb
index 9cbb1fe..1a00c3a 100644
--- a/chrome/app/resources/chromium_strings_uk.xtb
+++ b/chrome/app/resources/chromium_strings_uk.xtb
@@ -224,6 +224,7 @@
 Chromium не може відновити ваші налаштування.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Нове вікно</translation>
+<translation id="7342713658732509484">Дозволи, надані веб-сайтам і додаткам, можуть діяти для цього облікового запису. Якщо ви не хочете, щоб веб-сайти чи додатки мали доступ до даних облікового запису, можете користуватися веб-переглядачем Chromium у режимі гостя. Ви також можете керувати своїми обліковими записами Google у <ph name="LINK_2_BEGIN" />Налаштуваннях<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Тут містяться ваші веб-сторінки, закладки та інші дані Chromium.</translation>
 <translation id="7349591376906416160">Ваш системний адміністратор налаштував Chromium відкривати сторінку <ph name="TARGET_URL_HOSTNAME" /> в <ph name="ALTERNATIVE_BROWSER_NAME" />.</translation>
 <translation id="7398989605938454041">Створюйте профілі Chromium для різних цілей (наприклад, робочий і особистий), щоб розмежовувати роботу й дозвілля.</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb
index 0cfbb896..7badd90 100644
--- a/chrome/app/resources/chromium_strings_vi.xtb
+++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -224,6 +224,7 @@
 Chromium không thể khôi phục cài đặt của bạn.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7339898014177206373">Cửa sổ mới</translation>
+<translation id="7342713658732509484">Các quyền bạn từng cấp cho trang web và ứng dụng có thể áp dụng cho tài khoản này. Nếu bạn không muốn trang web và ứng dụng truy cập thông tin tài khoản của mình, hãy dùng Chế độ khách trong trình duyệt Chromium. Bạn cũng có thể quản lý Tài khoản Google của mình trong phần <ph name="LINK_2_BEGIN" />Cài đặt<ph name="LINK_2_END" />.</translation>
 <translation id="734373864078049451">Web, dấu trang và các nội dung khác của bạn trên Chromium đều có ở đây.</translation>
 <translation id="7349591376906416160">Quản trị viên hệ thống đã định cấu hình Chromium để mở <ph name="ALTERNATIVE_BROWSER_NAME" /> khi truy cập vào <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="7398989605938454041">Với các hồ sơ trên Chromium, bạn có thể tách biệt mọi nội dung của mình khi dùng trình duyệt này. Nhờ vậy, việc phân tách nội dung công việc với nội dung giải trí sẽ trở nên dễ dàng hơn.</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-HK.xtb b/chrome/app/resources/chromium_strings_zh-HK.xtb
index 85d4fc61..5a7c108 100644
--- a/chrome/app/resources/chromium_strings_zh-HK.xtb
+++ b/chrome/app/resources/chromium_strings_zh-HK.xtb
@@ -225,7 +225,7 @@
 Chromium 無法復原您的設定。</translation>
 <translation id="7337881442233988129">ChromiumHelper</translation>
 <translation id="7339898014177206373">新視窗</translation>
-<translation id="7342713658732509484">你授予網站和應用程式的權限可能會套用到這個帳戶。如果不想讓網站或應用程式存取你的帳戶資訊,請使用 Chromium 瀏覽器的訪客模式。你也可以前往「<ph name="LINK_2_BEGIN" />設定<ph name="LINK_2_END" />」管理 Google 帳戶。</translation>
+<translation id="7342713658732509484">您已向網站和應用程式授予的權限,可能會套用到此帳戶。如果您不想網站或應用程式存取您的帳戶資料,請使用 Chromium 瀏覽器的訪客模式。您亦可在「<ph name="LINK_2_BEGIN" />設定<ph name="LINK_2_END" />」中管理 Google 帳戶。</translation>
 <translation id="734373864078049451">您瀏覽的網頁、書籤和其他 Chromium 內容都在這裡。</translation>
 <translation id="7349591376906416160">系統管理員已設定由 Chromium 開啟 <ph name="ALTERNATIVE_BROWSER_NAME" /> 以存取 <ph name="TARGET_URL_HOSTNAME" />。</translation>
 <translation id="7398989605938454041">透過 Chromium 設定檔,您可將所有 Chromium 內容分門別類,從而更輕易劃分工作和娛樂內容。</translation>
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb
index 4a868342..d346b9f 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> vereis dat jy jou slimkaart ingesteek hou.}other{Jy sal oor # sekondes outomaties afgemeld word.
 <ph name="DOMAIN" /> vereis dat jy jou slimkaart ingesteek hou.}}</translation>
 <translation id="1193927020065025187">Hierdie werf probeer jou dalk mislei om indringerige kennisgewings toe te laat</translation>
+<translation id="1195210374336998651">Gaan na programinstellings toe</translation>
 <translation id="1195447618553298278">Onbekende fout.</translation>
 <translation id="1195558154361252544">Kennisgewings word outomaties geblokkeer vir alle werwe behalwe dié wat jy toelaat</translation>
 <translation id="1197088940767939838">Oranje</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Was hierdie resultaat onverwags? <ph name="BEGIN_LINK" />Stuur terugvoer<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Die gebruikernaam en wagwoord wat jy ingevoer het, pas nie</translation>
 <translation id="1397500194120344683">Geen geskikte toestelle nie. <ph name="LINK_BEGIN" />Kom meer te wete<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Jy is by Chrome aangemeld op hierdie toestelle en daarom kan jy hulle as sekuriteitsleutels gebruik.</translation>
 <translation id="1398853756734560583">Maak groot</translation>
 <translation id="139911022479327130">Ontsluit jou foon en bevestig dat dit jy is</translation>
 <translation id="1401308693935339022">Gebruik ligging. Laat programme en dienste met liggingtoestemming toe om hierdie toestel se ligging te gebruik. Google kan van tyd tot tyd liggingdata insamel en hierdie data op 'n anonieme wyse gebruik om liggingakkuraatheid en ligginggegronde dienste te verbeter.</translation>
@@ -1180,6 +1182,7 @@
 <translation id="2163470535490402084">Koppel aan die internet om by jou <ph name="DEVICE_TYPE" /> aan te meld.</translation>
 <translation id="2163937499206714165">Skakel donkermodus aan</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> en nog 1 skakelaar</translation>
+<translation id="2165102982098084499">Jy het hierdie toestelle gekoppel deur 'n QR-kode te skandeer.</translation>
 <translation id="2165177462441582039">Kies hoe lank die kleurmerk op elke item moet bly</translation>
 <translation id="2166369534954157698">abcde fghij klmno pqrst uvwxyz</translation>
 <translation id="2169062631698640254">Meld in elk geval aan</translation>
@@ -2581,6 +2584,7 @@
 <translation id="3592260987370335752">Kom meer te wete</translation>
 <translation id="3593152357631900254">Aktiveer Fuzzy-Pinyin-modus</translation>
 <translation id="3593965109698325041">Sertifikaatnaam-beperkings</translation>
+<translation id="3596012367874587041">Programinstellings</translation>
 <translation id="3596414637720633074">Blokkeer derdepartywebkoekies in Incognito</translation>
 <translation id="3599221874935822507">Opgehewe</translation>
 <translation id="3599863153486145794">Vee geskiedenis op alle aangemelde toestelle uit. Jou Google-rekening het dalk ander vorme van blaaigeskiedenis by <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5703,6 +5707,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> sek.</translation>
 <translation id="6860097299815761905">Instaanbedienerinstellings …</translation>
 <translation id="6860427144121307915">Maak in 'n oortjie oop</translation>
+<translation id="6863496016067551393">Alle uitbreidings word toegelaat</translation>
 <translation id="686366188661646310">Vee wagwoord uit?</translation>
 <translation id="6865313869410766144">Vul vormdata outomaties in</translation>
 <translation id="6865598234501509159">Bladsy is nie in <ph name="LANGUAGE" /> nie</translation>
@@ -5732,6 +5737,7 @@
 <translation id="6900532703269623216">Verbeterde beskerming</translation>
 <translation id="6900651018461749106">Meld weer aan om <ph name="USER_EMAIL" /> op te dateer</translation>
 <translation id="6900654715912436255">Is jy seker jy wil hierdie soekenjin uitvee?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Stem om vooraf te beskou</translation>
 <translation id="6902336033320348843">Afdeling word nie gesteun nie: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Koppel toestel aan domein</translation>
@@ -7383,6 +7389,7 @@
 <translation id="8610103157987623234">Verkeerde formaat; probeer asseblief weer</translation>
 <translation id="8611682088849615761">Hou aan om hierdie werf toe te laat om volle beheer oor MIDI-toestelle te hê</translation>
 <translation id="8613164732773110792">Net kleinletters, syfers, onderstrepe en aandagstrepe</translation>
+<translation id="8613645710357126807">Mag nie uitbreidings gebruik nie</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> is te groot vir 'n sekuriteitkontrole. Jy kan lêers van tot 50 MB oopmaak.</translation>
 <translation id="8615618338313291042">Incognito-program: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Voeg <ph name="CONTACT_NAME" /> by jou kontakte</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index 258edf9..978c5401 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -205,6 +205,7 @@
 <ph name="DOMAIN" /> የእርስዎን ዘመናዊ ካርድ እንደገባ እንዲቆይ ይፈልግብዎታል።}other{በ# ሰከንዶች ውስጥ በራስ-ሰር ዘግተው እንዲወጡ ይደረጋሉ።
 <ph name="DOMAIN" /> የእርስዎን ዘመናዊ ካርድ እንደገባ እንዲቆይ ይፈልግብዎታል።}}</translation>
 <translation id="1193927020065025187">ይህ ጣቢያ በጣም ጣልቃ-ገብ ማሳወቂያዎችን እንዲፈቅዱ እርስዎን ለማታለል እየሞከረ ሊሆን ይችላል</translation>
+<translation id="1195210374336998651">ወደ የመተግበሪያ ቅንብሮች ይሂዱ</translation>
 <translation id="1195447618553298278">ያልታወቀ ስህተት።</translation>
 <translation id="1195558154361252544">እርስዎ ከፈቀዱላቸው ጣቢያዎች በስተቀር ማሳወቂያዎች ለሁሉም ጣቢያዎች በራስ-ሰር ይታገዳሉ</translation>
 <translation id="1197088940767939838">ብርቱካናማ</translation>
@@ -385,6 +386,7 @@
 <translation id="1396259464226642517">ይህ ውጤት ያልተጠበቀ ነበር? <ph name="BEGIN_LINK" />ግብረመልስ ይላኩ<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">ያስገቡት የተጠቃሚ ስም እና የይለፍ ቃል አይዛመዱም</translation>
 <translation id="1397500194120344683">ምንም ብቁ የሆኑ መሣሪያዎች የሉም። <ph name="LINK_BEGIN" />የበለጠ ለመረዳት<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">እንደ የደህንነት ቁልፎች ሊጠቀሙባቸው እንዲችሉ በእነዚህ መሣሪያዎች ላይ ወደ Chrome ገብተዋል።</translation>
 <translation id="1398853756734560583">አስፋ</translation>
 <translation id="139911022479327130">ስልክዎን ይክፈቱትና እርስዎ መሆንዎን ያረጋግጡ</translation>
 <translation id="1401308693935339022">አካባቢን ተጠቀም። የአካባቢ ፈቃድ ያላቸው መተግበሪያዎች እና አገልግሎቶች የዚህ መሣሪያ አካባቢን እንዲጠቀሙ ይፍቀዱላቸው። Google በየጊዜው የአካባቢ ውሂብን ሊሰበስብ እና ይህን ውሂብ ስም-አልባ በሆነ መልኩ ተጠቅሞ የአካባቢን ትክክለኛነት እና በአካባቢ ላይ የተመሠረቱ አገልግሎቶችን ለማሻሻል ሊጠቀምበት ይችላል።</translation>
@@ -1176,6 +1178,7 @@
 <translation id="2163470535490402084">ወደ የእርስዎ <ph name="DEVICE_TYPE" /> ለመግባት እባክዎ ከበይነመረብ ጋር ይገናኙ።</translation>
 <translation id="2163937499206714165">የጨለማ ሁነታን አብራ</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />፣ <ph name="SECOND_SWITCH" />፣ <ph name="THIRD_SWITCH" /> እና 1 ተጨማሪ ማብሪያና ማጥፊያ</translation>
+<translation id="2165102982098084499">እነዚህን መሳሪያዎች QR ኮድ በመቃኘት አገናኝተዋል።</translation>
 <translation id="2165177462441582039">በእያንዳንዱ ንጥል ላይ ድምቀቱ ምን ያህል ጊዜ መቆየት እንዳለበት ይምረጡ</translation>
 <translation id="2166369534954157698">The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">ለማንኛውም ግባ</translation>
@@ -2575,6 +2578,7 @@
 <translation id="3592260987370335752">&amp;ተጨማሪ ይወቁ</translation>
 <translation id="3593152357631900254">ያልጠራ-በቻይና ፊደል መጻፊያ ሁነታን ያንቁ</translation>
 <translation id="3593965109698325041">የሰርቲፊኬት ስም እገዳዎች</translation>
+<translation id="3596012367874587041">የመተግበሪያ ቅንብሮች</translation>
 <translation id="3596414637720633074">ማንነትን በማያሳውቅ ሁነታ ሦስተኛ ወገን ኩኪዎች ያግዱ</translation>
 <translation id="3599221874935822507">የተነሣ</translation>
 <translation id="3599863153486145794">ታሪክን በመለያ ከገቡ ሁሉም መሣሪያዎች ላይ ያጸዳል። የእርስዎ Google መለያ <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> ላይ ሌሎች የአሰሳ ታሪክ ዓይነቶች ሊኖረው ይችላል</translation>
@@ -5693,6 +5697,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> ሰከንድ</translation>
 <translation id="6860097299815761905">የተኪ ቅንብሮች...</translation>
 <translation id="6860427144121307915">በትር ውስጥ ክፈት</translation>
+<translation id="6863496016067551393">ሁሉም ቅጥያዎች ተፈቅደዋል</translation>
 <translation id="686366188661646310">የይለፍ ቃል ይሰረዝ?</translation>
 <translation id="6865313869410766144">የራስ-ሙላ ቅጽ ውሂብ</translation>
 <translation id="6865598234501509159">ገጽ በ<ph name="LANGUAGE" /> አይደለም</translation>
@@ -5722,6 +5727,7 @@
 <translation id="6900532703269623216">የላቀ ጥበቃ</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" />ን ለማዘመን በመለያ እንደገና ይግቡ</translation>
 <translation id="6900654715912436255">እርግጠኛ ነዎት ይህን የፍለጋ ፕሮግራም መሰረዝ ይፈልጋሉ?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">ቅድሚያ የሚታይ ድምጽ</translation>
 <translation id="6902336033320348843">ክፍል አይደገፍም፦ <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">መሣሪያን ከጎራ ጋር ቀላቅል</translation>
@@ -7379,6 +7385,7 @@
 <translation id="8610103157987623234">ትክክል ያልሆነ ቅርጸት፣ እባክዎ እንደገና ይሞክሩ</translation>
 <translation id="8611682088849615761">ይህ መሣሪያ የMIDI መሣሪያዎችን ሙሉ ቁጥጥር እንዲኖረው መፍቀድ ይቀጥሉ</translation>
 <translation id="8613164732773110792">ንዑስ ሆሄ ቁምፊዎች፣ አኃዞች፣ የስር መስመሮች ወይም ሰረዞች ብቻ</translation>
+<translation id="8613645710357126807">ቅጥያዎችን መጠቀም አልተፈቀደም</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ለደህንነት ፍተሻ በጣም ትልቅ ነው። እስከ 50 ሜባ የሚያህሉ ፋይሎችን መክፈት ይችላሉ።</translation>
 <translation id="8615618338313291042">ማንነትን የማያሳውቅ መተግበሪያ፦ <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" />ን ወደ የእርስዎ እውቂያዎች ያክሉ</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index 0bcdaed..2b683bc1 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -208,6 +208,7 @@
 يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}other{سيتم تسجيل خروجك تلقائيًا بعد # ثانية.
 يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}}</translation>
 <translation id="1193927020065025187">قد يحاول هذا الموقع الإلكتروني خداعك للسماح بإشعارات غير مرغوب فيها.</translation>
+<translation id="1195210374336998651">الانتقال إلى إعدادات التطبيق</translation>
 <translation id="1195447618553298278">خطأ  غير محدّد.</translation>
 <translation id="1195558154361252544">يتم حظر الإشعارات تلقائيًا لجميع المواقع الإلكترونية باستثناء المواقع التي تسمح بها.</translation>
 <translation id="1197088940767939838">برتقالي</translation>
@@ -388,6 +389,7 @@
 <translation id="1396259464226642517">هل كانت هذه النتيجة غير متوقعة؟ <ph name="BEGIN_LINK" />إرسال تعليقات<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">اسم المستخدم وكلمة المرور اللذان أدخلتهما غير متطابقين</translation>
 <translation id="1397500194120344683">لا تتوفَّر أجهزة مؤهَّلة. <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">‏أنت مسجّل دخولك إلى Chrome على هذه الأجهزة، ما يعني أنّ بإمكانك استخدامها كمفاتيح أمان.</translation>
 <translation id="1398853756734560583">تكبير</translation>
 <translation id="139911022479327130">فتح قفل هاتفك وتأكيد هويتك</translation>
 <translation id="1401308693935339022">‏يمكنك استخدام الموقع الجغرافي. يمكنك السماح للتطبيقات والخدمات التي لديها إذن تحديد الموقع الجغرافي باستخدام الموقع الجغرافي لهذا الجهاز. ويجوز لشركة Google جمع بيانات الموقع الجغرافي بشكل دوري واستخدام هذه البيانات بطريقة لا تعرّف الهوية لتحسين دقة الموقع والخدمات المستندة إلى الموقع الجغرافي.</translation>
@@ -1172,6 +1174,7 @@
 <translation id="2163470535490402084">يُرجى الاتصال بالإنترنت لتسجيل الدخول إلى <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">تفعيل الوضع المُعتِم</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" /> و<ph name="SECOND_SWITCH" /> و<ph name="THIRD_SWITCH" /> ومفتاح تبديل آخر</translation>
+<translation id="2165102982098084499">تم ربط هذه الأجهزة من خلال المسح الضوئي لرمز الاستجابة السريعة.</translation>
 <translation id="2165177462441582039">اختَر مدة إبقاء كل عنصر مميّزًا.</translation>
 <translation id="2166369534954157698">أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ</translation>
 <translation id="2169062631698640254">تسجيل الدخول على أيّ حال</translation>
@@ -1899,6 +1902,7 @@
 <translation id="287205682142673348">إعادة توجيه المنفذ</translation>
 <translation id="287286579981869940">جارٍ إضافة <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">إيقاف التشغيل</translation>
+<translation id="2873995907777332853">عرض تفاصيل حظر جميع ملفات تعريف الارتباط</translation>
 <translation id="2874939134665556319">المقطع الصوتي السابق</translation>
 <translation id="2875698561019555027">‏(صفحات الخطأ في Chrome)</translation>
 <translation id="2876336351874743617">إصبع 2</translation>
@@ -1946,6 +1950,7 @@
 <translation id="2915873080513663243">المسح التلقائي</translation>
 <translation id="2916073183900451334">يؤدي الضغط على علامة تبويب في صفحة الويب إلى إبراز الروابط وكذلك حقول النماذج</translation>
 <translation id="2916745397441987255">بحث في الإضافات</translation>
+<translation id="2918484639460781603">الانتقال إلى الإعدادات</translation>
 <translation id="2918484644467055090">لا يمكن تسجيل هذا الجهاز في المؤسّسة التي ينتمي إليها حسابك لإنه ستتم إدارة الجهاز من قِبَل مؤسّسة أخرى.</translation>
 <translation id="2920852127376356161">المواقع الإلكترونية التي لا يُسمح لها بمعالجة البروتوكولات</translation>
 <translation id="2921081876747860777">يُرجى إنشاء كلمة مرور لحماية بياناتك المحلية.</translation>
@@ -2202,6 +2207,7 @@
 <translation id="3189187154924005138">مؤشّر الماوس الكبير</translation>
 <translation id="3190558889382726167">تم حفظ كلمة المرور</translation>
 <translation id="3192947282887913208">ملفات صوتية</translation>
+<translation id="3194786596445804250">عرض تفاصيل حظر ملفات تعريف الارتباط التابعة لجهات خارجية</translation>
 <translation id="3197453258332670132">يمكنك النقر بزر الماوس الأيمن أو الضغط مع الاستمرار لعرض المعلومات ذات الصلة بالنص الذي اختَرته.</translation>
 <translation id="3199127022143353223">الخوادم</translation>
 <translation id="3200061262156232574">المنتجات داخل سلّة التسوّق</translation>
@@ -2570,6 +2576,7 @@
 <translation id="3592260987370335752">&amp;مزيد من المعلومات</translation>
 <translation id="3593152357631900254">تفعيل وضع شبيه بـ "بين ين"</translation>
 <translation id="3593965109698325041">قيود اسم الشهادة</translation>
+<translation id="3596012367874587041">إعدادات التطبيق</translation>
 <translation id="3596414637720633074">حظر ملفات تعريف الارتباط التابعة لجهات خارجية في وضع التصفّح المتخفي</translation>
 <translation id="3599221874935822507">مرتفعة</translation>
 <translation id="3599863153486145794">‏يمسح السجل من كل الأجهزة التي تم تسجيل الدخول عليها. وقد يتضمن حسابك في Google نماذج أخرى من سجل التصفح في <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5294,6 +5301,7 @@
 <translation id="6455264371803474013">على مواقع إلكترونية محددة</translation>
 <translation id="6455894534188563617">&amp;مجلد جديد</translation>
 <translation id="645705751491738698">‏متابعة منع تشغيل JavaScript</translation>
+<translation id="6458347417133445570">عرض تفاصيل السماح بجميع ملفات تعريف الارتباط</translation>
 <translation id="6458701200018867744">تعذَّر التحميل (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">استخدام التحديد للبحث</translation>
 <translation id="6459799433792303855">تم نقل نافذة نشطة إلى شاشة عرض أخرى.</translation>
@@ -5686,6 +5694,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> ثانية</translation>
 <translation id="6860097299815761905">إعدادات الخادم الوكيل...</translation>
 <translation id="6860427144121307915">فتح في علامة تبويب</translation>
+<translation id="6863496016067551393">المواقع الإلكترونية التي تسمح باستخدام كل الإضافات</translation>
 <translation id="686366188661646310">هل تريد حذف كلمة المرور؟</translation>
 <translation id="6865313869410766144">الملء التلقائي للبيانات</translation>
 <translation id="6865598234501509159">الصفحة ليست باللغة <ph name="LANGUAGE" />.</translation>
@@ -5715,6 +5724,7 @@
 <translation id="6900532703269623216">حماية مُحسّنة</translation>
 <translation id="6900651018461749106">تسجيل الدخول مرة أخرى لتحديث <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">هل تريد فعلاً حذف محرك البحث هذا؟</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">صوت للمعاينة</translation>
 <translation id="6902336033320348843">القسم غير متاح: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">انضمام الجهاز إلى النطاق</translation>
@@ -6726,6 +6736,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> ثوانٍ</translation>
 <translation id="7920363873148656176">بإمكان <ph name="ORIGIN" /> عرض الملف <ph name="FILENAME" />.</translation>
 <translation id="7920482456679570420">يُرجى إضافة كلمات تريد أن يتخطاها التدقيق الإملائي.</translation>
+<translation id="7922935920104868876">عرض تفاصيل حظر ملفات تعريف الارتباط التابعة لجهات خارجية في وضع التصفّح المتخفي</translation>
 <translation id="7924358170328001543">خطأ في إعادة توجيه المنفذ</translation>
 <translation id="7925108652071887026">ملء البيانات تلقائيًا</translation>
 <translation id="792514962475806987">مستوى التكبير الذي تم إرساؤه:</translation>
@@ -6890,6 +6901,7 @@
 <translation id="8076492880354921740">علامات التبويب</translation>
 <translation id="8076835018653442223">أوقف المشرف إمكانية الوصول إلى الملفات المحلية على جهازك.</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">‏الحسابات المتوفّرة لاستخدامها مع تطبيقات Android</translation>
 <translation id="8081989000209387414">‏هل تريد إيقاف خيار "تصحيح الأخطاء عبر ADB"؟</translation>
 <translation id="8082106343289440791">هل تريد الإقران مع جهاز "<ph name="DEVICE_NAME" />"؟</translation>
 <translation id="8082390128630131497">‏سيؤدي إيقاف خيار "تصحيح الأخطاء عبر ADB" إلى إعادة ضبط جهاز <ph name="DEVICE_TYPE" /> هذا على الإعدادات الأصلية. وسيتم محو جميع حسابات المستخدمين والبيانات المحلّية.</translation>
@@ -7151,6 +7163,7 @@
 <translation id="8342861492835240085">اختيار مجموعة</translation>
 <translation id="8347227221149377169">مهام الطباعة</translation>
 <translation id="834785183489258869">في وضع التصفُّح المتخفي، لا يمكن للمواقع الإلكترونية استخدام ملفات تعريف الارتباط للاطّلاع على نشاط التصفُّح على المواقع الإلكترونية المختلفة، بهدف تقديم إعلانات مخصّصة لك مثلاً. قد لا تعمل الميزات على بعض المواقع الإلكترونية.</translation>
+<translation id="8349499562373871073">‏يمكنك اختيار حساب حالي لاستخدامه في تطبيقات Android أو إضافة حساب جديد على Google. بعد تسجيل الدخول إلى أحد تطبيقات Android، يمكنك استخدام الحساب في تطبيقات Android الأخرى. يمكنك تغيير الحساب المستخدم للوصول إلى تطبيقات Android من خلال <ph name="LINK_BEGIN" />الإعدادات &gt; الحسابات<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">أدوات قلم الشاشة في لوحة الأدوات</translation>
 <translation id="8351316842353540018">عرض خيارات إمكانية الوصول دائمًا</translation>
 <translation id="8351419472474436977">أصبح بإمكان هذه الإضافة التحكم في إعدادات الخادم الوكيل التابعة لك، مما يعني أن بإمكانها تغيير أي إجراء لك على الإنترنت أو قطعه أو التجسس عليه. إذا كنت غير متيقن من سبب حدوث هذا التغيير، فأنت لا ترغب فيه على الأرجح.</translation>
@@ -7366,6 +7379,7 @@
 <translation id="8610103157987623234">تنسيق غير صحيح، يُرجى إعادة المحاولة</translation>
 <translation id="8611682088849615761">‏مواصلة السماح لهذا الموقع الإلكتروني بالتحكُّم الكامل بأجهزة MIDI</translation>
 <translation id="8613164732773110792">أحرف صغيرة أو أرقام أو شرطات سفلية أو شرطات فقط</translation>
+<translation id="8613645710357126807">المواقع الإلكترونية التي لا تسمح باستخدام الإضافات</translation>
 <translation id="8613786722548417558">إنّ حجم الملف <ph name="FILE_NAME" /> كبير جدًا بالنسبة إلى فحص الأمان. يمكنك فتح ملفات لا يزيد حجمها عن 50 ميغابايت.</translation>
 <translation id="8615618338313291042">تطبيق وضع التصفح المتخفي: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">إضافة <ph name="CONTACT_NAME" /> إلى جهات الاتصال</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb
index cc4d8c471..b93cb302 100644
--- a/chrome/app/resources/generated_resources_as.xtb
+++ b/chrome/app/resources/generated_resources_as.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}other{আপোনাক স্বয়ংক্ৰিয়ভাৱে # ছেকেণ্ডত ছাইন আউট কৰা হ’ব।
 <ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}}</translation>
 <translation id="1193927020065025187">এই ছাইটটোৱে আপোনাক বিনা অনুমতিত দেখুওৱা জাননীৰ অনুমতি দিবলৈ জালত পেলাব পাৰে</translation>
+<translation id="1195210374336998651">এপৰ ছেটিঙলৈ যাওক</translation>
 <translation id="1195447618553298278">অজ্ঞাত আসোঁৱাহ।</translation>
 <translation id="1195558154361252544">আপুনি অনুমতি দিয়াটোৰ বাদে আন সকলো ছাইটৰ বাবে জাননীসমূহ স্বয়ংক্ৰিয়ভাৱে অৱৰোধ কৰা হয়</translation>
 <translation id="1197088940767939838">কমলা</translation>
@@ -2580,6 +2581,7 @@
 <translation id="3592260987370335752">&amp;অধিক জানক</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin ম’ড সক্ষম কৰক</translation>
 <translation id="3593965109698325041">প্ৰমাণপত্ৰৰ নামৰ সীমাবদ্ধতা</translation>
+<translation id="3596012367874587041">এপৰ ছেটিং</translation>
 <translation id="3596414637720633074">ইনক'গনিট'ত তৃতীয় পক্ষৰ কুকিসমূহ অৱৰোধ কৰক</translation>
 <translation id="3599221874935822507">উঠঙা</translation>
 <translation id="3599863153486145794">সকলো ছাইন ইন হৈ থকা ডিভাইচৰ পৰা ইতিহাস মচে। <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />ত আপোনাৰ Google একাউণ্টৰ অন্য প্ৰকাৰৰ ব্ৰাউজিং ইতিহাস থাকিব পাৰে।</translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb
index 7312233..64e1a1e 100644
--- a/chrome/app/resources/generated_resources_az.xtb
+++ b/chrome/app/resources/generated_resources_az.xtb
@@ -202,6 +202,7 @@
 <ph name="DOMAIN" /> smart kartınızın taxılı qalmasını tələb edir.}other{# saniyə sonra avtomatik çıxılacaq.
 <ph name="DOMAIN" /> smart kartınızın taxılı qalmasını tələb edir.}}</translation>
 <translation id="1193927020065025187">Bu sayt təhlükəli bildirişlərə icazə verməniz üçün sizi cəlb etmiş ola bilər</translation>
+<translation id="1195210374336998651">Tətbiq ayarlarına keçin</translation>
 <translation id="1195447618553298278">Naməlum xəta.</translation>
 <translation id="1195558154361252544">İcazə verdiklərinizdən başqa bütün saytlarda bildirişlər blok edilib</translation>
 <translation id="1197088940767939838">Narıncı</translation>
@@ -382,6 +383,7 @@
 <translation id="1396259464226642517">Bu nəticə gözlənilməz oldu? <ph name="BEGIN_LINK" />Rəy göndərin<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Daxil etdiyiniz istifadəçi adı və parol üst-üstə düşmür</translation>
 <translation id="1397500194120344683">Uyğun cihaz yoxdur. <ph name="LINK_BEGIN" />Ətraflı məlumat<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Bu cihazlarda Chrome'a daxil olmusunuz, ona görə də onlardan təhlükəsizlik açarı kimi istifadə edə bilərsiniz.</translation>
 <translation id="1398853756734560583">Artırın</translation>
 <translation id="139911022479327130">Telefonunuzu kiliddən çıxarın və kimliyinizi təsdiq edin</translation>
 <translation id="1401308693935339022">Məkandan istifadə edin. Məkan icazəsi olan tətbiq və xidmətlərə bu cihazın məkanından istifadə etmək icazəsi verin. Google məkan dəqiqliyini və məkan ilə əlaqəli xidmətləri təkmilləşdirmək üçün periodik olaraq məkan verilənlərinizi toplaya və bu verilənlərdən anonim qaydada istifadə edə bilər.</translation>
@@ -1164,6 +1166,7 @@
 <translation id="2163470535490402084">Daxil etmək üçün İnternetə qoşulmaq edin sizin <ph name="DEVICE_TYPE" /> .</translation>
 <translation id="2163937499206714165">Qaranlıq rejimi aktiv edin</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> və daha 1 dəyişdirici</translation>
+<translation id="2165102982098084499">Bu cihazları QR kodu skan etməklə əlaqələndirmisiniz.</translation>
 <translation id="2165177462441582039">Vurğulamanın hər element üzərində qalma müddətini seçin</translation>
 <translation id="2166369534954157698">Qəhvəyi tülkə tənbəl itin üzərindən qaçaraq hoppanır</translation>
 <translation id="2169062631698640254">Hər bir halda daxil olun</translation>
@@ -2564,6 +2567,7 @@
 <translation id="3592260987370335752">Əlavə məlumat</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin rejimini aktiv edin</translation>
 <translation id="3593965109698325041">Sertifikat adları limitləri</translation>
+<translation id="3596012367874587041">Tətbiq ayarları</translation>
 <translation id="3596414637720633074">Anonim rejimdə üçüncü tərəf kukilərini bloklayın</translation>
 <translation id="3599221874935822507">Qabarıq</translation>
 <translation id="3599863153486145794">Bütün daxil olunmuş cihazlardan tarixçəni silir. <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> linkində Google Hesabına məxsus axtarış tarixçəsinin başqa formaları ola bilər.</translation>
@@ -5680,6 +5684,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> san</translation>
 <translation id="6860097299815761905">Proksi ayarları...</translation>
 <translation id="6860427144121307915">Vərəqədə açın</translation>
+<translation id="6863496016067551393">Bütün artırmalara icazə verilir</translation>
 <translation id="686366188661646310">Parol silinsin?</translation>
 <translation id="6865313869410766144">Avtomatik data doldurması</translation>
 <translation id="6865598234501509159">Səhifə <ph name="LANGUAGE" /> dilində deyil</translation>
@@ -5709,6 +5714,7 @@
 <translation id="6900532703269623216">Təkmil qoruma</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" />hesabını yeniləmək üçün yenidən daxil olun</translation>
 <translation id="6900654715912436255">Bu axtarış sistemini silmək istədiyinizə əminsiniz?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Önizləmək üçün səs</translation>
 <translation id="6902336033320348843">Bölmə dəstəklənmir: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Cihazı domenə qoşun</translation>
@@ -7359,6 +7365,7 @@
 <translation id="8610103157987623234">Yanlış format. Yenidən cəhd edin</translation>
 <translation id="8611682088849615761">Bu saytın MIDI cihazlar üzərində tam nəzarətin' icazə verməyə davam edin</translation>
 <translation id="8613164732773110792">Yalnız kiçik hərf simvolları, rəqəmlər, altdan xətt və ya tirelər</translation>
+<translation id="8613645710357126807">Artırmalardan istifadə etməyə icazə verilmir</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> Güvənlik yoxlanışı üçün çox böyükdür. 50 MB-a qədər faylları aça bilərsiniz.</translation>
 <translation id="8615618338313291042">Gizli tətbiq: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> adlı şəxsi kontaktlarınıza əlavə edin</translation>
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb
index c95ed3d..59f53d6 100644
--- a/chrome/app/resources/generated_resources_be.xtb
+++ b/chrome/app/resources/generated_resources_be.xtb
@@ -207,6 +207,7 @@
 Па правілах дамена <ph name="DOMAIN" /> разумная картка павінна быць устаўлена.}other{Вы выйдзеце з уліковага запісу праз # секунды.
 Па правілах дамена <ph name="DOMAIN" /> разумная картка павінна быць устаўлена.}}</translation>
 <translation id="1193927020065025187">Гэты сайт можа спрабаваць падмануць вас і прымусіць даць дазвол на паказ назойлівых апавяшчэнняў</translation>
+<translation id="1195210374336998651">Перайсці ў налады праграмы</translation>
 <translation id="1195447618553298278">Невядомая памылка.</translation>
 <translation id="1195558154361252544">Апавяшчэнні аўтаматычна блакіруюцца для ўсіх сайтаў, акрамя тых, якім вы далі дазвол іх паказваць</translation>
 <translation id="1197088940767939838">Аранжавы</translation>
@@ -771,6 +772,7 @@
 <translation id="176587472219019965">&amp;Новае акно</translation>
 <translation id="1766575458646819543">Поўнаэкранны рэжым выключаны</translation>
 <translation id="1766957085594317166">Захоўвайце паролі ва Уліковым запісе Google: гэта бяспечна і вам больш ніколі не спатрэбіцца ўводзіць іх зноў</translation>
+<translation id="1767043563165955993">Выкарыстоўваць у праграмах для Android</translation>
 <translation id="1768212860412467516">Адпраўце водгук пра эксперымент "<ph name="EXPERIMENT_NAME" />".</translation>
 <translation id="1768278914020124551">Памылка!  Узнікла праблема пры ўстаноўцы сувязі з серверам уваходу. Праверце падключэнне да сеткі і назву дамена і паўтарыце спробу.</translation>
 <translation id="1769104665586091481">Адкрыць спасылку ў новым &amp;акне</translation>
@@ -1106,6 +1108,7 @@
 <translation id="2113479184312716848">Адкрыць &amp;файл...</translation>
 <translation id="2113921862428609753">Доступ да інфармацыя аб паўнамоцтвах</translation>
 <translation id="2114326799768592691">Перазагрузіць &amp;фрэйм</translation>
+<translation id="2114413269775311385">Выкарыстоўваць гэты ўліковы запіс у праграмах для Android. Вы можаце кіраваць дазволамі, дадзенымі праграмам для Android, у <ph name="LINK_BEGIN" />Наладах праграм<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Фота ад аўтара <ph name="NAME" /></translation>
 <translation id="2114995631896158695">SIM-карта не ўстаўлена</translation>
 <translation id="2116619964159595185">Сайты звычайна падключаюцца да прылад з Bluetooth для работы такіх функцый, як наладжванне або сінхранізацыя маячкоў з нізкім энергаспажываннем, фітнес-трэкераў або разумных лямпачак</translation>
@@ -1894,6 +1897,7 @@
 <translation id="287205682142673348">Пераадрасацыя партоў</translation>
 <translation id="287286579981869940">Дадаць: <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Завяршыць працу</translation>
+<translation id="2873995907777332853">Паказаць падрабязныя звесткі пра блакіроўку ўсіх файлаў cookie</translation>
 <translation id="2874939134665556319">Папярэдні трэк</translation>
 <translation id="2875698561019555027">(Старонкі памылак Chrome)</translation>
 <translation id="2876336351874743617">Палец 2</translation>
@@ -2197,6 +2201,7 @@
 <translation id="3189187154924005138">Вялікі курсор</translation>
 <translation id="3190558889382726167">Пароль захаваны</translation>
 <translation id="3192947282887913208">Аўдыяфайлы</translation>
+<translation id="3194786596445804250">Паказаць падрабязныя звесткі пра блакіроўку старонніх файлаў cookie</translation>
 <translation id="3197453258332670132">Па націсканні правай кнопкай мышы або доўгім націсканні паказваць звязаную інфармацыю пра вылучаны вамі тэкст</translation>
 <translation id="3199127022143353223">Серверы</translation>
 <translation id="3200061262156232574">У вашым кошыку</translation>
@@ -2564,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;Даведацца больш</translation>
 <translation id="3593152357631900254">Уключыць рэжым Fuzzy Pinyin</translation>
 <translation id="3593965109698325041">Абмежаванні назваў сертыфікатаў</translation>
+<translation id="3596012367874587041">Налады праграмы</translation>
 <translation id="3596414637720633074">Блакіраваць староннія файлы cookie у рэжыме інкогніта</translation>
 <translation id="3599221874935822507">Прыўзняты</translation>
 <translation id="3599863153486145794">Ачышчае гісторыю на ўсіх прыладах, з якіх выкананы ўваход. На сайце <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> могуць быць размешчаны іншыя формы запісу гісторыі прагляду сайтаў для вашага Уліковага запісу Google.</translation>
@@ -2941,6 +2947,7 @@
 <translation id="3943582379552582368">&amp;Назад</translation>
 <translation id="3943857333388298514">Уставіць</translation>
 <translation id="3945513714196326460">Паспрабуйце ўвесці карацейшую назву</translation>
+<translation id="3947643756376959257">Увядзіце код доступу, паказаны на тэлевізары або прыладзе Chromecast.</translation>
 <translation id="3948027458879361203">Змяніць імя хоста</translation>
 <translation id="3948116654032448504">&amp;Пошук відарыса праз <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786">Сайт <ph name="ORIGIN" /> можа змяняць файлы ў наступных папках</translation>
@@ -3182,12 +3189,14 @@
 <translation id="4210048056321123003">Ідзе спампоўка віртуальнай машыны</translation>
 <translation id="421182450098841253">&amp;Паказваць панэль закладак</translation>
 <translation id="4211851069413100178">Адпраўка даных пра выкарыстанне і дыягностыку. Дапамажыце палепшыць функцыянальнасць прылады Android шляхам аўтаматычнай адпраўкі ў Google даных пра дыягностыку, выкарыстанне прылады і праграм. Яны будуць карысныя для паляпшэння стабільнасці сістэмы і праграм і для іншых удасканаленняў. Некаторыя згрупаваныя даныя таксама будуць карысныя для праграм і партнёраў Google, напрыклад распрацоўшчыкаў Android. Гэта <ph name="BEGIN_LINK1" />налада<ph name="END_LINK1" /> ўключана ўладальнікам. Уладальнік можа ўключыць адпраўку ў Google даных пра выкарыстанне і дыягностыку гэтай прылады. Калі налада "Дадатковыя дзеянні ў інтэрнэце і праграмах" уключана, адпаведныя даныя могуць захоўвацца ва Уліковым запісе Google. <ph name="BEGIN_LINK2" />Даведацца больш<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Перастаць выкарыстоўваць у праграмах для Android</translation>
 <translation id="42126664696688958">Экспартаваць</translation>
 <translation id="42137655013211669">Доступ да рэсурсу быў забаронены серверам.</translation>
 <translation id="4217571870635786043">Галасавы ўвод</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Падчас актывацыі ўзнікла памылка.</translation>
 <translation id="4225397296022057997">На ўсіх сайтах</translation>
+<translation id="4227605727325220318">Дадаць новы тэлефон Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Гэта пашырэнне забаронена}one{Некаторыя пашырэнні забаронены}few{Некаторыя пашырэнні забаронены}many{Некаторыя пашырэнні забаронены}other{Некаторыя пашырэнні забаронены}}</translation>
 <translation id="4231095370974836764">Усталёўвайце праграмы і гульні з Google Play на сваёй прыладзе "<ph name="DEVICE_TYPE" />". <ph name="LINK_BEGIN" />Даведацца больш<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Канфігурацыя Kerberos</translation>
@@ -4716,6 +4725,7 @@
 <translation id="5862109781435984885">Паказваць інструменты стыла на паліцы</translation>
 <translation id="5862319196656206789">Наладзіць падключаныя прылады</translation>
 <translation id="5863445608433396414">Уключыць функцыі адладкі</translation>
+<translation id="5864147196375746035">Трансляцыя на прыладу пад кіраваннем</translation>
 <translation id="5864195618110239517">Выкарыстоўваць падключэнне з улікам трафіка</translation>
 <translation id="5864754048328252126">Пры бяздзейнасці падчас зарадкі</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> хутка прыпыніцца</translation>
@@ -5285,6 +5295,7 @@
 <translation id="6455264371803474013">На канкрэтных сайтах</translation>
 <translation id="6455894534188563617">&amp;Новая папка</translation>
 <translation id="645705751491738698">Працягнуць блакіраваць JavaScript</translation>
+<translation id="6458347417133445570">Паказаць падрабязныя звесткі пра дазвол выкарыстоўваць усе файлы cookie</translation>
 <translation id="6458701200018867744">Збой запампоўвання (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Выкарыстаць вылучанае для пошуку</translation>
 <translation id="6459799433792303855">Актыўнае акно перамешчана на іншы дысплэй.</translation>
@@ -5895,6 +5906,7 @@
 <translation id="7086672505018440886">Дадаць у архіў файлы журналаў Chrome.</translation>
 <translation id="7088434364990739311">Не ўдалося запусціць праверку абнаўленняў (код памылкі <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Ініцыялізацыя прылады была скасавана адміністратарам. Каб прыладу можна было зарэгістраваць, адміністратар павінен перавесці яе ў стан чакання.</translation>
+<translation id="7090160970140261931">Вы можаце дадаць іншыя ўліковыя запісы на прыкладу "<ph name="DEVICE_TYPE" />", каб выкарыстоўваць іх у праграмах для Android і на сайтах. Вы таксама можаце ўказаць, якія ўліковыя запісы трэба выкарыстоўваць у праграмах для Android.</translation>
 <translation id="7093220653036489319">Хуткія адказы</translation>
 <translation id="7093416310351037609">У мэтах абароны даных ваша арганізацыя патрабуе, каб усе дазволеныя спампоўкі захоўваліся ва ўліковым запісе сэрвісу "<ph name="WEB_DRIVE" />" вашай арганізацыі.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6714,6 +6726,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> с</translation>
 <translation id="7920363873148656176">Сайт <ph name="ORIGIN" /> можа праглядаць файл <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Дадайце словы, правапіс якіх не трэба правяраць</translation>
+<translation id="7922935920104868876">Паказаць падрабязныя звесткі пра блакіроўку старонніх файлаў cookie у рэжыме інкогніта</translation>
 <translation id="7924358170328001543">Памылка пераадрасацыі партоў</translation>
 <translation id="7925108652071887026">Даныя аўтазапаўнення</translation>
 <translation id="792514962475806987">Маштаб прыстыкаванай лупы:</translation>
@@ -6877,6 +6890,7 @@
 <translation id="8076492880354921740">Укладкі</translation>
 <translation id="8076835018653442223">Доступ да лакальных файлаў на прыладзе адключаны адміністратарам</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Уліковыя запісы, якія можна выкарыстоўваць у праграмах Android</translation>
 <translation id="8081989000209387414">Выключыць адладку ADB?</translation>
 <translation id="8082106343289440791">Спалучыць з прыладай "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Выключэнне адладкі ADB скіне налады прылады "<ph name="DEVICE_TYPE" />" да заводскіх. Усе ўліковыя запісы карыстальнікаў і лакальныя даныя будуць сцёрты.</translation>
@@ -6951,6 +6965,7 @@
 <translation id="8147900440966275470">Знойдзена ўкладак: <ph name="NUM" /></translation>
 <translation id="8148760431881541277">Абмежаваць уваход</translation>
 <translation id="8149564499626272569">Спраўдзіць з дапамогай тэлефона, выкарыстаўшы кабель USB</translation>
+<translation id="815114315010033526">Выкарыстаць QR-код</translation>
 <translation id="8151638057146502721">Наладзіць</translation>
 <translation id="8154790740888707867">Файла няма</translation>
 <translation id="8154912474061769055">На многіх сайтах можа не працаваць частка функцый</translation>
@@ -6976,6 +6991,7 @@
 <translation id="8176332201990304395">Ружовы і белы</translation>
 <translation id="8177196903785554304">Інфармацыя пра сетку</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Перамясціць укладку ў новае акно}one{Перамясціць укладкі ў новае акно}few{Перамясціць укладкі ў новае акно}many{Перамясціць укладкі ў новае акно}other{Перамясціць укладкі ў новае акно}}</translation>
+<translation id="8179188928355984576">Не выкарыстоўваецца ў праграмах для Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" можа чытаць і выдаляць відарысы, відэа- і аўдыяфайлы ў адзначаных месцах.</translation>
 <translation id="8181215761849004992">Не ўдаецца далучыцца да дамена. Праверце, ці мае ваш уліковы запіс дастатковыя паўнамоцтвы, каб дадаваць прылады.</translation>
@@ -7135,6 +7151,7 @@
 <translation id="8342861492835240085">Выберыце калекцыю</translation>
 <translation id="8347227221149377169">Заданні друку</translation>
 <translation id="834785183489258869">У рэжыме інкогніта сайты не могуць выкарыстоўваць файлы cookie для адсочвання вашых дзеянняў у браўзеры на розных сайтах у мэтах персаналізацыі рэкламы. На некаторых сайтах можа не працаваць частка функцый.</translation>
+<translation id="8349499562373871073">Вы можаце выкарыстоўваць з праграмамі Android адзін з існуючых уліковых запісаў або дадаць новы Уліковы запіс Google. Пасля таго як вы ўвойдзеце ва ўліковы запіс з адной праграмы Android, яго можна будзе выкарыстоўваць і ў іншых. Параметры доступу да праграм Android можна змяніць у раздзеле <ph name="LINK_BEGIN" />Налады &gt; Уліковыя запісы<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Інструменты для пяра ў вобласці паведамленняў</translation>
 <translation id="8351316842353540018">Заўсёды паказваць параметры даступнасці</translation>
 <translation id="8351419472474436977">Гэта пашырэнне ўзяло пад кантроль налады проксі-сервера: яно можа змяняць, пашкоджваць і праслухоўваць усе даныя падчас вашай працы ў інтэрнэце. Калі вы не ведаеце, чаму гэта адбылося, хутчэй за ўсё, гэта непатрэбная вам змена.</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index c98f2d38..22b8704 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> изисква да не изваждате смарткартата си.}other{Ще излезете автоматично от профила си след # секунди.
 <ph name="DOMAIN" /> изисква да не изваждате смарткартата си.}}</translation>
 <translation id="1193927020065025187">Този сайт може да се опитва да ви подведе да разрешите натрапчиви известия</translation>
+<translation id="1195210374336998651">Към настройките за приложението</translation>
 <translation id="1195447618553298278">Неизвестна грешка.</translation>
 <translation id="1195558154361252544">Известията се блокират автоматично за всички сайтове освен за онези, за които ги разрешите</translation>
 <translation id="1197088940767939838">оранжево</translation>
@@ -775,6 +776,7 @@
 <translation id="176587472219019965">&amp;Нов прозорец</translation>
 <translation id="1766575458646819543">Излязохте от режима на цял екран</translation>
 <translation id="1766957085594317166">Паролите ви ще се съхраняват сигурно в профила ви в Google и няма да се налага да ги въвеждате отново</translation>
+<translation id="1767043563165955993">Използване с приложения за Android</translation>
 <translation id="1768212860412467516">Изпращане на отзиви за „<ph name="EXPERIMENT_NAME" />“.</translation>
 <translation id="1768278914020124551">Ами сега! При свързването със сървъра за вход възникна проблем. Моля, проверете връзката си с мрежата и името на домейна, след което опитайте отново.</translation>
 <translation id="1769104665586091481">Отваряне на връзката в нов &amp;прозорец</translation>
@@ -1111,6 +1113,7 @@
 <translation id="2113479184312716848">&amp;Отваряне на файл...</translation>
 <translation id="2113921862428609753">Достъп до информация за органа</translation>
 <translation id="2114326799768592691">Презареждане на рамката</translation>
+<translation id="2114413269775311385">Използване на този профил с приложения за Android. Можете да контролирате разрешенията за приложенията за Android в <ph name="LINK_BEGIN" />Настройки за приложението<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Снимка от <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Няма поставена SIM карта</translation>
 <translation id="2116619964159595185">Сайтовете обикновено се свързват с устройства с Bluetooth, за да осигуряват функции като настройване или синхронизиране на маяци с нисък разход на енергия, инструменти за проследяване на здравословното състояние или физическата активност или интелигентни електрически крушки</translation>
@@ -1903,6 +1906,7 @@
 <translation id="287205682142673348">Пренасочване на портове</translation>
 <translation id="287286579981869940">Добавяне на <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Изключване</translation>
+<translation id="2873995907777332853">Показване на подробностите за блокирането на всички „бисквитки“</translation>
 <translation id="2874939134665556319">Предишен запис</translation>
 <translation id="2875698561019555027">(Страници с грешки в Chrome)</translation>
 <translation id="2876336351874743617">Пръст 2</translation>
@@ -1950,6 +1954,7 @@
 <translation id="2915873080513663243">Автоматично сканиране</translation>
 <translation id="2916073183900451334">При натискането на клавиша „Tab“ върху уеб страница се открояват връзките, както и полетата на формулярите</translation>
 <translation id="2916745397441987255">Търсете в разширенията</translation>
+<translation id="2918484639460781603">Към настройките</translation>
 <translation id="2918484644467055090">Това устройство не може да бъде записано в организацията, към която принадлежи профилът ви, защото е означено за управление от друга организация.</translation>
 <translation id="2920852127376356161">Сайтове без разрешение за обработване на протоколи</translation>
 <translation id="2921081876747860777">Моля, създайте парола, за да защитите локалните си данни.</translation>
@@ -2206,6 +2211,7 @@
 <translation id="3189187154924005138">Голям курсор</translation>
 <translation id="3190558889382726167">Паролата бе запазена</translation>
 <translation id="3192947282887913208">Аудиофайлове</translation>
+<translation id="3194786596445804250">Показване на подробностите за блокирането на „бисквитки“ на трети страни</translation>
 <translation id="3197453258332670132">Показване на сродна информация за избрания от вас текст посредством кликване с десния бутон или продължително натискане</translation>
 <translation id="3199127022143353223">Сървъри</translation>
 <translation id="3200061262156232574">В пазарската ви кошница</translation>
@@ -2573,6 +2579,7 @@
 <translation id="3592260987370335752">&amp;Научете повече</translation>
 <translation id="3593152357631900254">Активиране на режим „неточен пинин“</translation>
 <translation id="3593965109698325041">Ограничения за името на сертификата</translation>
+<translation id="3596012367874587041">Настройки за приложението</translation>
 <translation id="3596414637720633074">Блокиране на „бисквитките“ на трети страни в режим „инкогнито“</translation>
 <translation id="3599221874935822507">Повдигната</translation>
 <translation id="3599863153486145794">Изчиства историята от всички устройства, на които сте влезли в профила си в Google. В него може да има други видове история на сърфиране, съхранявани на адрес <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2951,6 +2958,7 @@
 <translation id="3943582379552582368">&amp;Назад</translation>
 <translation id="3943857333388298514">Поставяне</translation>
 <translation id="3945513714196326460">Опитайте с по-кратко име</translation>
+<translation id="3947643756376959257">Въведете кода за достъп, показан от Chromecast или телевизора.</translation>
 <translation id="3948027458879361203">Промяна на името на хоста</translation>
 <translation id="3948116654032448504">&amp;Търсене на изображението чрез <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> може да редактира файловете в следните папки</translation>
@@ -3192,12 +3200,14 @@
 <translation id="4210048056321123003">Виртуалната машина се изтегля</translation>
 <translation id="421182450098841253">&amp;Показване на лентата на отметките</translation>
 <translation id="4211851069413100178">Изпращане на данни за употребата и диагностиката. Помогнете за подобряването на работата си с Android, като автоматично изпращате до Google диагностична информация и данни за употребата на устройството и приложенията. Това ще послужи за подобряване на стабилността на системата и приложенията и др. Някои обобщени данни също така ще подпомогнат приложенията и партньорите на Google, напр. програмистите за Android. Тази <ph name="BEGIN_LINK1" />настройка<ph name="END_LINK1" /> е наложена от собственика. Той може да избере до Google да се изпращат диагностична информация и данни за употребата на това устройство. Ако настройката „Допълнителна активност в мрежата и приложенията“ е включена за вас, тези данни може да се запазват в профила ви в Google. <ph name="BEGIN_LINK2" />Научете повече<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Спиране на използването с приложения за Android</translation>
 <translation id="42126664696688958">Експортиране</translation>
 <translation id="42137655013211669">Достъпът до този ресурс бе забранен от сървъра.</translation>
 <translation id="4217571870635786043">Диктуване</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">При активирането възникна грешка.</translation>
 <translation id="4225397296022057997">На всички сайтове</translation>
+<translation id="4227605727325220318">Добавяне на нов телефон с Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Това разширение не е разрешено}other{Някои разширения не са разрешени}}</translation>
 <translation id="4231095370974836764">Инсталирайте приложения и игри от Google Play на своя <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Конфигуриране на Kerberos</translation>
@@ -4730,6 +4740,7 @@
 <translation id="5862109781435984885">Показване на инструментите за писане в лавицата</translation>
 <translation id="5862319196656206789">Настройване на свързаните устройства</translation>
 <translation id="5863445608433396414">Активиране на функциите за отстраняване на грешки</translation>
+<translation id="5864147196375746035">Предаване към управлявано устройство</translation>
 <translation id="5864195618110239517">Използване на връзка с отчитане</translation>
 <translation id="5864754048328252126">Действие при неактивност, когато устройството се зарежда</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> скоро ще бъде на пауза</translation>
@@ -5299,6 +5310,7 @@
 <translation id="6455264371803474013">На конкретни сайтове</translation>
 <translation id="6455894534188563617">&amp;Нова папка</translation>
 <translation id="645705751491738698">Блокирането на JavaScript да продължи</translation>
+<translation id="6458347417133445570">Показване на подробностите за разрешаването на всички „бисквитки“</translation>
 <translation id="6458701200018867744">Качването не бе успешно (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Използване на избраното за търсене</translation>
 <translation id="6459799433792303855">Активният прозорец е преместен на друг екран.</translation>
@@ -5909,6 +5921,7 @@
 <translation id="7086672505018440886">Добавяне на регистрационните файлове за Chrome в архива.</translation>
 <translation id="7088434364990739311">Стартирането на проверката за актуализации не бе успешно (код на грешката <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Администраторът е поставил това устройство в необезпечено състояние. За да го активирате за регистрация, моля, накарайте администратора да промени състоянието му на изчакващо.</translation>
+<translation id="7090160970140261931">Можете да добавите към своя <ph name="DEVICE_TYPE" /> допълнителни профили, които да използвате с уебсайтове и приложения за Android. Можете също така да контролирате кои профили да се използват с приложенията за Android.</translation>
 <translation id="7093220653036489319">Бързи отговори</translation>
 <translation id="7093416310351037609">С цел безопасност и сигурност на данните организацията ви изисква всички отговарящи на условията изтегляния да се запазват в профила ѝ в(ъв) <ph name="WEB_DRIVE" />.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6729,6 +6742,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> сек</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> може да преглежда <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Добавете думи, които да се пропускат при проверка на правописа</translation>
+<translation id="7922935920104868876">Показване на подробностите за блокирането на „бисквитки“ на трети страни в режим „инкогнито“</translation>
 <translation id="7924358170328001543">Грешка при пренасочване на порта</translation>
 <translation id="7925108652071887026">Автоматично попълване на данни</translation>
 <translation id="792514962475806987">Ниво на мащаба при прикрепен режим:</translation>
@@ -6893,6 +6907,7 @@
 <translation id="8076492880354921740">Раздели</translation>
 <translation id="8076835018653442223">Достъпът до локални файлове на устройството ви е деактивиран от администратора ви</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Профили, налични за използване с приложения за Android</translation>
 <translation id="8081989000209387414">Да се деактивира ли отстраняването на грешки през ADB?</translation>
 <translation id="8082106343289440791">Искате ли да сдвоите с(ъс) „<ph name="DEVICE_NAME" />“?</translation>
 <translation id="8082390128630131497">Деактивирането на отстраняването на грешки през ADB ще възстанови фабричните настройки на това устройство <ph name="DEVICE_TYPE" />. Всички профили на потребители и локални данни ще бъдат изтрити.</translation>
@@ -6967,6 +6982,7 @@
 <translation id="8147900440966275470">Бе открит <ph name="NUM" /> раздел</translation>
 <translation id="8148760431881541277">Лимитиране на влизането в профил</translation>
 <translation id="8149564499626272569">Потвърждаване чрез телефона ви, свързан с USB кабел</translation>
+<translation id="815114315010033526">Използване на QR код вместо това</translation>
 <translation id="8151638057146502721">Конфигуриране</translation>
 <translation id="8154790740888707867">Няма файл</translation>
 <translation id="8154912474061769055">Функциите в много сайтове може да не работят</translation>
@@ -6992,6 +7008,7 @@
 <translation id="8176332201990304395">Розово и бяло</translation>
 <translation id="8177196903785554304">Подробности за мрежата</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Преместване на раздела в нов прозорец}other{Преместване на разделите в нов прозорец}}</translation>
+<translation id="8179188928355984576">Не се използва с приложения за Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389"><ph name="EXTENSION" /> може да чете и изтрива изображения, видео- и звукови файлове в местоположенията с отметка.</translation>
 <translation id="8181215761849004992">Присъединяването към домейна не успя. Проверете дали профилът ви има достатъчно права за добавяне на устройства.</translation>
@@ -7151,6 +7168,7 @@
 <translation id="8342861492835240085">Избиране на колекция</translation>
 <translation id="8347227221149377169">Задания за отпечатване</translation>
 <translation id="834785183489258869">Докато сте в режим „инкогнито“, сайтовете не могат да използват „бисквитките“ ви, за да следят активността ви при сърфиране в различни сайтове, например с цел персонализиране на реклами. Функциите в някои сайтове може да не работят.</translation>
+<translation id="8349499562373871073">Можете да изберете съществуващ профил в Google, който да използвате с приложения за Android, или да добавите нов. След като влезете в едно приложение за Android, профилът ви ще може да се използва и с други такива приложения. Можете да промените достъпа до приложения за Android от <ph name="LINK_BEGIN" />Настройки &gt; Профили<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Инструменти за писане в лентата за прикрепяне</translation>
 <translation id="8351316842353540018">Опциите за достъпност да се показват винаги</translation>
 <translation id="8351419472474436977">Настройките ви за прокси сървър се контролират от посоченото разширение. Това означава, че то може да променя, прекъсва или следи всичко, което правите онлайн. Ако не сте сигурни какво е причинило тази промяна, вероятно не искате тя да остава в сила.</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index 8dd7c7ea9..e2f4dad 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" />-এর জন্য আপনার স্মার্ট কার্ড প্রবেশ করিয়ে রাখতে হবে।}other{আপনি # সেকেন্ডে অটোমেটিক সাইন-আউট হয়ে যাবেন।
 <ph name="DOMAIN" />-এর জন্য আপনার স্মার্ট কার্ড প্রবেশ করিয়ে রাখতে হবে।}}</translation>
 <translation id="1193927020065025187">এই সাইট সম্ভবত আপনাকে প্রতারিত করে ক্ষতিকর বিজ্ঞপ্তির জন্য অনুমতি নিয়ে নিচ্ছে</translation>
+<translation id="1195210374336998651">অ্যাপ সেটিংসে যান</translation>
 <translation id="1195447618553298278">অজানা ত্রুটি৷</translation>
 <translation id="1195558154361252544">আপনার অনুমতি দেওয়া সাইট ছাড়া, বাকি সব সাইটের জন্য বিজ্ঞপ্তি অটোমেটিক ব্লক করা হয়েছে</translation>
 <translation id="1197088940767939838">কমলা</translation>
@@ -1957,6 +1958,7 @@
 <translation id="2915873080513663243">অটো-স্ক্যান</translation>
 <translation id="2916073183900451334">ওয়েবপেজ হাইলাইট লিংক এবং ফরম ফিল্ডে ট্যাব প্রেস করে</translation>
 <translation id="2916745397441987255">এক্সটেনশানগুলি খুঁজুন</translation>
+<translation id="2918484639460781603">সেটিংসে যান</translation>
 <translation id="2918484644467055090">এই ডিভাইসটি একটি আলাদা সংস্থার ম্যানেজ করা হিসেবে চিহ্নিত হওয়ায় আপনার অ্যাকাউন্টটি যে সংস্থার আওতায় রয়েছে তাতে এনরোল করা যাবে না।</translation>
 <translation id="2920852127376356161">প্রোটোকল ব্যবহার করার অনুমতি নেই</translation>
 <translation id="2921081876747860777">আপনার স্থানীয় ডেটা রক্ষা করার জন্য দয়া করে একটি পাসওয়ার্ড তৈরি করুন।</translation>
@@ -2581,6 +2583,7 @@
 <translation id="3592260987370335752">এবং আরও জানুন</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin মোড সক্ষম করুন</translation>
 <translation id="3593965109698325041">সার্টিফিকেট নাম সীমাবদ্ধতাসমূহ</translation>
+<translation id="3596012367874587041">অ্যাপ সেটিংস</translation>
 <translation id="3596414637720633074">ছদ্মবেশী মোডে থার্ড-পার্টি কুকি ব্লক করুন</translation>
 <translation id="3599221874935822507">উঁচু করা</translation>
 <translation id="3599863153486145794">সমস্ত সাইন-ইন করা ডিভাইসগুলি থেকে ইতিহাস মুছে ফেলে। <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />-এ আপনার Google অ্যাকাউন্টের অন্যান্য ধরনের ব্রাউজিংয়ের ইতিহাস থাকতে পারে।</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index 82051cb5..3358b86f 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -208,6 +208,7 @@
 Domena <ph name="DOMAIN" /> zahtijeva da pametna kartica ostane umetnuta.}other{Automatski ćete se odjaviti za # sekundi.
 Domena <ph name="DOMAIN" /> zahtijeva da pametna kartica ostane umetnuta.}}</translation>
 <translation id="1193927020065025187">Ova vas web lokacija možda pokušava prevariti da dopustite ometajuća obavještenja</translation>
+<translation id="1195210374336998651">Idite u postavke aplikacije</translation>
 <translation id="1195447618553298278">Nepoznata greška.</translation>
 <translation id="1195558154361252544">Obavještenja se automatski blokiraju za sve web lokacije osim onih koje omogućite</translation>
 <translation id="1197088940767939838">Narandžasta</translation>
@@ -388,6 +389,7 @@
 <translation id="1396259464226642517">Je li ovaj rezultat bio neočekivan? <ph name="BEGIN_LINK" />Pošaljite povratne informacije<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Korisničko ime i lozinka koje ste unijeli nisu podudarni</translation>
 <translation id="1397500194120344683">Nema uređaja koji ispunjavaju uslove. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Prijavili ste se u Chrome na ovim uređajima, pa ih možete koristiti kao sigurnosne ključeve.</translation>
 <translation id="1398853756734560583">Povećaj maksimalno</translation>
 <translation id="139911022479327130">Otključajte telefon i potvrdite identitet</translation>
 <translation id="1401308693935339022">Koristite lokaciju. Dozvolite aplikacijama i uslugama s odobrenjem za lokaciju da koriste lokaciju ovog uređaja. Google može povremeno prikupljati podatke o lokaciji i anonimno koristiti te podatke radi poboljšavanja preciznosti lokacije i usluga koje se zasnivaju na lokaciji.</translation>
@@ -778,6 +780,7 @@
 <translation id="176587472219019965">&amp;Novi prozor</translation>
 <translation id="1766575458646819543">Zatvorili ste prikaz preko cijelog zaslona</translation>
 <translation id="1766957085594317166">Sačuvajte lozinke sigurno na svom Google računu i više ih nikada nećete morati ponovo upisivati</translation>
+<translation id="1767043563165955993">Koristi s Android aplikacijama</translation>
 <translation id="1768212860412467516">Pošaljite povratne informacije za: <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Ups!  Došlo je do problema prilikom komunikacije sa serverom za prijavu. Provjerite mrežnu vezu i naziv domene pa pokušajte ponovo.</translation>
 <translation id="1769104665586091481">Otvori link u novom prozoru</translation>
@@ -1114,6 +1117,7 @@
 <translation id="2113479184312716848">Otvori fajl...</translation>
 <translation id="2113921862428609753">Pristup informacijama o odobrenjima</translation>
 <translation id="2114326799768592691">Ponovo učitaj &amp;okvir</translation>
+<translation id="2114413269775311385">Koristite ovaj račun s Android aplikacijama. Možete kontrolirati odobrenja za Android aplikacije u <ph name="LINK_BEGIN" />Postavkama aplikacija<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Fotografija autora <ph name="NAME" /></translation>
 <translation id="2114995631896158695">SIM kartica nije umetnuta</translation>
 <translation id="2116619964159595185">Web lokacije se obično povezuju s Bluetooth uređajima radi funkcija kao što je postavljanje ili sinhroniziranje signala male potrošnje energije, uređaja za praćenje zdravlja ili fitnesa ili pametne sijalice</translation>
@@ -1177,6 +1181,7 @@
 <translation id="2163470535490402084">Povežite se na internet da se prijavite na uređaj <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">Uključi tamni način rada</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> i još 1 prekidač</translation>
+<translation id="2165102982098084499">Ove uređaje ste povezali skeniranjem QR koda.</translation>
 <translation id="2165177462441582039">Odaberite koliko dugo će svaka stavka biti istaknuta</translation>
 <translation id="2166369534954157698">Bošnjak Fadil Hadžić žučljiv zet najgrđem piscu!</translation>
 <translation id="2169062631698640254">Ipak se prijavi</translation>
@@ -1905,7 +1910,7 @@
 <translation id="287205682142673348">Prosljeđivanje priključka</translation>
 <translation id="287286579981869940">Dodaj <ph name="PROVIDER_NAME" />…</translation>
 <translation id="2872961005593481000">Isključi</translation>
-<translation id="2873995907777332853">Prikaži pojedinosti o blokiranju svih kolačića</translation>
+<translation id="2873995907777332853">Prikaži detalje o blokiranju svih kolačića</translation>
 <translation id="2874939134665556319">Prethodna numera</translation>
 <translation id="2875698561019555027">(Chrome stranice grešaka)</translation>
 <translation id="2876336351874743617">2. prst</translation>
@@ -1953,6 +1958,7 @@
 <translation id="2915873080513663243">Automatsko skeniranje</translation>
 <translation id="2916073183900451334">Pritiskom na karticu na web stranici istaknu se linkovi, kao i rubrike u obrascu</translation>
 <translation id="2916745397441987255">Pretražite ekstenzije</translation>
+<translation id="2918484639460781603">Idite na postavke</translation>
 <translation id="2918484644467055090">Ovaj uređaj se ne može prijaviti u organizaciju kojoj pripada vaš račun jer je druga organizacija označila ovaj uređaj za upravljanje.</translation>
 <translation id="2920852127376356161">Nije dozvoljeno upravljanje protokolima</translation>
 <translation id="2921081876747860777">Kreirajte lozinku da zaštitite svoje lokalne podatke.</translation>
@@ -2209,7 +2215,7 @@
 <translation id="3189187154924005138">Veliki kursor</translation>
 <translation id="3190558889382726167">Lozinka je sačuvana</translation>
 <translation id="3192947282887913208">Audio fajlovi</translation>
-<translation id="3194786596445804250">Prikaži pojedinosti o blokiranju kolačića trećih strana</translation>
+<translation id="3194786596445804250">Prikaži detalje o blokiranju kolačića trećih strana</translation>
 <translation id="3197453258332670132">Desnim klikom ili dugim pritiskom pogledajte srodne informacije za odabir teksta</translation>
 <translation id="3199127022143353223">Serveri</translation>
 <translation id="3200061262156232574">U kolicima za kupovinu</translation>
@@ -2577,6 +2583,7 @@
 <translation id="3592260987370335752">Saznajte više</translation>
 <translation id="3593152357631900254">Omogući način Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Ograničenja naziva potvrde</translation>
+<translation id="3596012367874587041">Postavke aplikacije</translation>
 <translation id="3596414637720633074">Blokirajte kolačiće trećih strana u anonimnom načinu rada</translation>
 <translation id="3599221874935822507">Podignuto</translation>
 <translation id="3599863153486145794">Briše historiju sa svih prijavljenih uređaja. Vaš Google račun može imati druge oblike historije pregledanja na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2954,6 +2961,7 @@
 <translation id="3943582379552582368">&amp;Nazad</translation>
 <translation id="3943857333388298514">Zalijepi</translation>
 <translation id="3945513714196326460">Pokušajte s kraćim nazivom</translation>
+<translation id="3947643756376959257">Unesite pristupni kôd prikazan na Chromecastu ili TV-u.</translation>
 <translation id="3948027458879361203">Promijeni naziv host računara</translation>
 <translation id="3948116654032448504">Traženje slike koristeći <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> može uređivati fajlove u sljedećim folderima</translation>
@@ -3195,12 +3203,14 @@
 <translation id="4210048056321123003">Preuzimanje virtuelnog računara</translation>
 <translation id="421182450098841253">&amp;Prikaži traku oznaka</translation>
 <translation id="4211851069413100178">Šaljite podatke o korištenju i dijagnostici. Poboljšajte svoje iskustvo korištenja Androida automatskim slanjem podataka o dijagnostici, uređaju i korištenju aplikacija Googleu. Ovo će pomoći poboljšati stabilnost sistema i aplikacija i još mnogo toga. Neki zbirni podaci će također pomoći Googleovim aplikacijama i partnerima, kao što su Androidovi programeri. Ovu <ph name="BEGIN_LINK1" />postavku<ph name="END_LINK1" /> je nametnuo korisnik. Vlasnik može odabrati slanje podataka o dijagnostici i korištenju ovog uređaja Googleu. Ako je uključena postavka dodatne Aktivnosti na webu i u aplikacijama, ti podaci se mogu sačuvati na vaš Google račun. <ph name="BEGIN_LINK2" />Saznajte više<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Zaustavi korištenje s Android aplikacijama</translation>
 <translation id="42126664696688958">Izvezi</translation>
 <translation id="42137655013211669">Server je zabranio pristup ovom izvoru.</translation>
 <translation id="4217571870635786043">Diktiranje</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Došlo je do greške prilikom aktiviranja.</translation>
 <translation id="4225397296022057997">Na svim web lokacijama</translation>
+<translation id="4227605727325220318">Dodaj novi Android telefon</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Ova ekstenzija nije dozvoljena}one{Neke ekstenzije nisu dozvoljene}few{Neke ekstenzije nisu dozvoljene}other{Neke ekstenzije nisu dozvoljene}}</translation>
 <translation id="4231095370974836764">Instalirajte aplikacije i igre s Google Playa na uređaj <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Konfiguriranje Kerberosa</translation>
@@ -4732,6 +4742,7 @@
 <translation id="5862109781435984885">Prikaži alate za digitalnu olovku na polici</translation>
 <translation id="5862319196656206789">Postavite povezane uređaje</translation>
 <translation id="5863445608433396414">Omogući funkcije za otklanjanje grešaka</translation>
+<translation id="5864147196375746035">Emitirajte na upravljani uređaj</translation>
 <translation id="5864195618110239517">Koristi vezu s naplatom</translation>
 <translation id="5864754048328252126">Radnja u slučaju neaktivnosti tokom punjenja</translation>
 <translation id="5865508026715185451">Aplikacija <ph name="APP_NAME" /> će se uskoro pauzirati</translation>
@@ -5301,7 +5312,7 @@
 <translation id="6455264371803474013">Na određenim web lokacijama</translation>
 <translation id="6455894534188563617">&amp;Novi folder</translation>
 <translation id="645705751491738698">Nastavi blokirati JavaScript</translation>
-<translation id="6458347417133445570">Prikaži pojedinosti o dopuštanju svih kolačića</translation>
+<translation id="6458347417133445570">Prikaži detalje o omogućavanju svih kolačića</translation>
 <translation id="6458701200018867744">Otpremanje nije uspjelo (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Koristi odabir za traženje</translation>
 <translation id="6459799433792303855">Aktivni prozor je premješten na drugi ekran.</translation>
@@ -5694,6 +5705,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> s</translation>
 <translation id="6860097299815761905">Postavke proksi servera...</translation>
 <translation id="6860427144121307915">Otvori u kartici</translation>
+<translation id="6863496016067551393">Sve ekstenzije su dozvoljene</translation>
 <translation id="686366188661646310">Izbrisati lozinku?</translation>
 <translation id="6865313869410766144">Podaci za automatsko popunjavanje obrasca</translation>
 <translation id="6865598234501509159">Jezik stranice nije <ph name="LANGUAGE" /></translation>
@@ -5723,6 +5735,7 @@
 <translation id="6900532703269623216">Poboljšana zaštita</translation>
 <translation id="6900651018461749106">Prijavite se ponovo da ažurirate račun <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Jeste li sigurni da želite izbrisati ovaj pretraživač?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Glas za pregled</translation>
 <translation id="6902336033320348843">Odjeljak nije podržan: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Pridružite uređaj domeni</translation>
@@ -5912,6 +5925,7 @@
 <translation id="7086672505018440886">Uključi fajlove zapisnika Chromea u arhivu.</translation>
 <translation id="7088434364990739311">Pokretanje provjere ažuriranja nije uspjelo (kôd greške <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Administrator je postavio uređaj u stanje uklonjenog pristupa. Da biste omogućili njegovu prijavu, zamolite administratora da postavi uređaj u stanje na čekanju.</translation>
+<translation id="7090160970140261931">Možete dodati još računa na uređaj <ph name="DEVICE_TYPE" /> da ih koristite s web lokacijama i Android aplikacijama. Također možete kontrolirati koji računi se koriste s Android aplikacijama.</translation>
 <translation id="7093220653036489319">Brzi odgovori</translation>
 <translation id="7093416310351037609">Zbog sigurnosti i zaštite podataka vaša organizacija zahtijeva da se sva preuzimanja koja ispunjavaju uslove pohranjuju na <ph name="WEB_DRIVE" /> račun organizacije.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6732,7 +6746,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176">Web lokacija <ph name="ORIGIN" /> može pregledati <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Dodajte riječi koje želite da provjera pravopisa preskoči</translation>
-<translation id="7922935920104868876">Prikaži pojedinosti o blokiranju kolačića trećih strana u anonimnom načinu</translation>
+<translation id="7922935920104868876">Prikaži detalje o blokiranju kolačića trećih strana u anonimnom načinu rada</translation>
 <translation id="7924358170328001543">Greška pri prosljeđivanju priključka</translation>
 <translation id="7925108652071887026">Podaci automatskog popunjavanja</translation>
 <translation id="792514962475806987">Nivo priključenog povećala:</translation>
@@ -6897,7 +6911,7 @@
 <translation id="8076492880354921740">Kartice</translation>
 <translation id="8076835018653442223">Administrator je onemogućio pristup lokalnim fajlovima na vašem uređaju</translation>
 <translation id="808089508890593134">Google</translation>
-<translation id="8081243065355858508">Računi dostupni za upotrebu s Android aplikacijama</translation>
+<translation id="8081243065355858508">Računi dostupni za korištenje s Android aplikacijama</translation>
 <translation id="8081989000209387414">Onemogućiti otklanjanje grešaka putem ADB-a?</translation>
 <translation id="8082106343289440791">Upariti s uređajem "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Ako omogućite otklanjanje grešaka putem ADB-a, uređaj <ph name="DEVICE_TYPE" /> će se vratiti na fabričke postavke. Svi korisnički računi i lokalni podaci će se potpuno izbrisati.</translation>
@@ -6972,6 +6986,7 @@
 <translation id="8147900440966275470">Pronađen je sljedeći broj kartica: <ph name="NUM" /></translation>
 <translation id="8148760431881541277">Ograniči prijavu</translation>
 <translation id="8149564499626272569">Potvrdite telefonom putem USB kabla</translation>
+<translation id="815114315010033526">Umjesto toga koristi QR kôd</translation>
 <translation id="8151638057146502721">Konfiguriraj</translation>
 <translation id="8154790740888707867">Nema fajla</translation>
 <translation id="8154912474061769055">Moguće je da funkcije neće raditi na mnogim web lokacijama</translation>
@@ -6997,6 +7012,7 @@
 <translation id="8176332201990304395">Ružičasta i bijela</translation>
 <translation id="8177196903785554304">Informacije o mreži</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Premjesti karticu u novi prozor}one{Premjesti kartice u novi prozor}few{Premjesti kartice u novi prozor}other{Premjesti kartice u novi prozor}}</translation>
+<translation id="8179188928355984576">Ne koristit se s Android aplikacijama</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" može čitati i brisati slike, videozapise i zvučne fajlove na označenim lokacijama.</translation>
 <translation id="8181215761849004992">Nije se moguće pridružiti domeni. Provjerite račun da vidite imate li dovoljno privilegija za dodavanje uređaja.</translation>
@@ -7156,7 +7172,7 @@
 <translation id="8342861492835240085">Odaberite kolekciju</translation>
 <translation id="8347227221149377169">Zadaci štampanja</translation>
 <translation id="834785183489258869">U anonimnom načinu rada web lokacije ne mogu koristiti kolačiće da vide vašu aktivnost pregledanja na različitim web lokacijama, npr. radi personaliziranja oglasa. Moguće je da funkcije neće raditi na nekim web lokacijama.</translation>
-<translation id="8349499562373871073">Možete odabrati postojeći račun za upotrebu s Android aplikacijama ili dodati novi Google račun. Kada se prijavite na Android aplikaciju, vaš se račun može upotrebljavati s drugim Android aplikacijama. Možete promijeniti pristup Android aplikacijama putem opcije <ph name="LINK_BEGIN" />Postavke &gt; Računi<ph name="LINK_END" />.</translation>
+<translation id="8349499562373871073">Možete odabrati postojeći račun da ga koristite s Android aplikacijama ili dodati novi Google račun. Kada se prijavite u Android aplikaciju, vaš račun se može koristiti s drugim Android aplikacijama. Možete promijeniti pristup Android aplikacijama u <ph name="LINK_BEGIN" />Postavkama &gt; Računi<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Alati olovke na priključnoj traci</translation>
 <translation id="8351316842353540018">Uvijek prikaži opcije pristupačnosti</translation>
 <translation id="8351419472474436977">Ova ekstenzija je preuzela kontrolu nad postavkama vašeg proksi servera, što znači da može promijeniti, prekinuti ili prisluškivati sve što radite na mreži. Ako niste sigurni zašto je došlo do ove promjene, vjerovatno je i ne želite.</translation>
@@ -7372,6 +7388,7 @@
 <translation id="8610103157987623234">Neispravan format, pokušajte ponovo</translation>
 <translation id="8611682088849615761">Nastavi dozvoljavati ovoj web lokaciji punu kontrolu nad MIDI uređajima</translation>
 <translation id="8613164732773110792">Samo mala slova, brojevi, donje crte ili crtice</translation>
+<translation id="8613645710357126807">Korištenje ekstenzija nije dozvoljeno</translation>
 <translation id="8613786722548417558">Fajl <ph name="FILE_NAME" /> je prevelik za sigurnosnu provjeru. Možete otvoriti fajlove veličine do 50 MB.</translation>
 <translation id="8615618338313291042">Anonimna aplikacija: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Dodajte kontakt <ph name="CONTACT_NAME" /> u svoje kontakte</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index ca1837b..2d1d105 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> requereix que mantinguis la targeta intel·ligent inserida.}other{Se't tancarà la sessió automàticament d'aquí a # segons.
 <ph name="DOMAIN" /> requereix que mantinguis la targeta intel·ligent inserida.}}</translation>
 <translation id="1193927020065025187">Pot ser que aquest lloc web estigui provant d'enganyar-te perquè permetis les notificacions intrusives</translation>
+<translation id="1195210374336998651">Ves a la configuració de l'aplicació</translation>
 <translation id="1195447618553298278">Error desconegut.</translation>
 <translation id="1195558154361252544">Les notificacions de tots els llocs web estan bloquejades automàticament excepte les que permetis</translation>
 <translation id="1197088940767939838">Taronja</translation>
@@ -768,6 +769,7 @@
 <translation id="176587472219019965">&amp;Finestra nova</translation>
 <translation id="1766575458646819543">S'ha sortit de la pantalla completa</translation>
 <translation id="1766957085594317166">Desa les contrasenyes de manera segura al teu Compte de Google i no caldrà que les tornis a escriure mai més</translation>
+<translation id="1767043563165955993">Utilitza amb les aplicacions d'Android</translation>
 <translation id="1768212860412467516">Envia suggeriments amb relació a <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">S'ha produït un problema en contactar amb el servidor d'inici de sessió. Comprova la connexió a la xarxa i el nom de domini, i torna-ho a provar.</translation>
 <translation id="1769104665586091481">Obre l'enllaç en una &amp;finestra nova</translation>
@@ -1103,6 +1105,7 @@
 <translation id="2113479184312716848">Obre un &amp;fitxer...</translation>
 <translation id="2113921862428609753">Accés a la informació d'entitats</translation>
 <translation id="2114326799768592691">Torna a carregar el &amp;marc</translation>
+<translation id="2114413269775311385">Utilitza aquest compte amb les aplicacions d'Android. Pots controlar els permisos de les aplicacions d'Android a <ph name="LINK_BEGIN" />Configuració de l'aplicació<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto feta per <ph name="NAME" /></translation>
 <translation id="2114995631896158695">No hi ha cap targeta SIM inserida</translation>
 <translation id="2116619964159595185">Els llocs web solen connectar-se a dispositius Bluetooth per a funcions com ara configurar o sincronitzar una balisa de baix consum, una aplicació de seguiment de fitnes o salut, o una bombeta intel·ligent</translation>
@@ -1891,6 +1894,7 @@
 <translation id="287205682142673348">Redirecció de ports</translation>
 <translation id="287286579981869940">Afegeix <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Apaga</translation>
+<translation id="2873995907777332853">Mostra els detalls sobre com es bloquegen totes les galetes</translation>
 <translation id="2874939134665556319">Pista anterior</translation>
 <translation id="2875698561019555027">(Pàgines d'error de Chrome)</translation>
 <translation id="2876336351874743617">Dit 2</translation>
@@ -1938,6 +1942,7 @@
 <translation id="2915873080513663243">Cerca automàtica</translation>
 <translation id="2916073183900451334">En prémer la tecla de tabulació en una pàgina web, es ressalten els enllaços i els camps de formulari</translation>
 <translation id="2916745397441987255">Cerca extensions</translation>
+<translation id="2918484639460781603">Ves a la configuració</translation>
 <translation id="2918484644467055090">Aquest dispositiu no es pot inscriure a l'organització a la qual pertany el teu compte perquè està marcat perquè el gestioni una altra organització.</translation>
 <translation id="2920852127376356161">Sense permís per gestionar protocols</translation>
 <translation id="2921081876747860777">Crea una contrasenya per protegir les teves dades locals.</translation>
@@ -2194,6 +2199,7 @@
 <translation id="3189187154924005138">Cursor gran</translation>
 <translation id="3190558889382726167">S'ha desat la contrasenya</translation>
 <translation id="3192947282887913208">Fitxers d'àudio</translation>
+<translation id="3194786596445804250">Mostra els detalls sobre com es permeten les galetes de tercers</translation>
 <translation id="3197453258332670132">Si mantens el text premut o hi fas clic amb el botó dret, es mostrarà informació relacionada amb el text seleccionat</translation>
 <translation id="3199127022143353223">Servidors</translation>
 <translation id="3200061262156232574">Al carretó electrònic</translation>
@@ -2561,6 +2567,7 @@
 <translation id="3592260987370335752">&amp;Més informació</translation>
 <translation id="3593152357631900254">Activa el mode pinyin per aproximació</translation>
 <translation id="3593965109698325041">Restriccions del nom de certificat</translation>
+<translation id="3596012367874587041">Configuració de l'aplicació</translation>
 <translation id="3596414637720633074">Bloqueja les galetes de tercers en mode d'incògnit</translation>
 <translation id="3599221874935822507">Elevat</translation>
 <translation id="3599863153486145794">Esborra l'historial de tots els dispositius en què tinguis iniciada la sessió. A <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> trobaràs altres maneres d'explorar l'historial de navegació del Compte de Google.</translation>
@@ -2937,6 +2944,7 @@
 <translation id="3943582379552582368">&amp;Enrere</translation>
 <translation id="3943857333388298514">Enganxa</translation>
 <translation id="3945513714196326460">Prova un nom més curt</translation>
+<translation id="3947643756376959257">Introdueix el codi d'accés que es mostra al Chromecast o al televisor.</translation>
 <translation id="3948027458879361203">Canvia el nom d'amfitrió</translation>
 <translation id="3948116654032448504">&amp;Cerca la imatge a <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> pot editar els fitxers de les carpetes següents</translation>
@@ -3178,12 +3186,14 @@
 <translation id="4210048056321123003">S'està baixant la màquina virtual</translation>
 <translation id="421182450098841253">&amp;Mostra la Barra d'adreces d'interès</translation>
 <translation id="4211851069413100178">Envia dades d'ús i de diagnòstic. Ajuda a millorar la teva experiència a Android enviant automàticament a Google dades de diagnòstic, del dispositiu i d'ús d'aplicacions. Aquestes dades ajudaran a millorar l'estabilitat del sistema i de les aplicacions, entre altres característiques. Una part de les dades agregades també serà útil per a les aplicacions i per als partners de Google, com ara els desenvolupadors d'Android. El propietari ha aplicat aquesta <ph name="BEGIN_LINK1" />opció de configuració<ph name="END_LINK1" />. És possible que el propietari decideixi enviar a Google dades de diagnòstic i d'ús sobre aquest dispositiu. Si tens activada l'opció Activitat al web i en aplicacions addicional, és possible que aquestes dades es desin al teu Compte de Google. <ph name="BEGIN_LINK2" />Més informació<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Deixa d'utilitzar amb les aplicacions d'Android</translation>
 <translation id="42126664696688958">Exporta</translation>
 <translation id="42137655013211669">El servidor ha prohibit l'accés a aquest recurs.</translation>
 <translation id="4217571870635786043">Dictat</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">S'ha produït un error durant l'activació.</translation>
 <translation id="4225397296022057997">En tots els llocs web</translation>
+<translation id="4227605727325220318">Afegeix un telèfon Android nou</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Aquesta extensió no està permesa}other{Algunes extensions no estan permeses}}</translation>
 <translation id="4231095370974836764">Instal·la aplicacions i jocs de Google Play al dispositiu <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Configura Kerberos</translation>
@@ -4716,6 +4726,7 @@
 <translation id="5862109781435984885">Mostra les eines del llapis òptic al prestatge</translation>
 <translation id="5862319196656206789">Configura els dispositius connectats</translation>
 <translation id="5863445608433396414">Activa les funcions de depuració</translation>
+<translation id="5864147196375746035">Emet a un dispositiu gestionat</translation>
 <translation id="5864195618110239517">Fes servir la connexió d'ús mesurat</translation>
 <translation id="5864754048328252126">Acció d'inactivitat mentre es carrega</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> aviat es posarà en pausa</translation>
@@ -5285,6 +5296,7 @@
 <translation id="6455264371803474013">En llocs web específics</translation>
 <translation id="6455894534188563617">Carpeta &amp;nova</translation>
 <translation id="645705751491738698">Continua bloquejant JavaScript</translation>
+<translation id="6458347417133445570">Mostra els detalls sobre com es permeten totes les galetes</translation>
 <translation id="6458701200018867744">Ha fallat la pujada (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Utilitza la selecció per a la cerca</translation>
 <translation id="6459799433792303855">La finestra activa s'ha mogut a una altra pantalla.</translation>
@@ -5895,6 +5907,7 @@
 <translation id="7086672505018440886">Inclou els fitxers de registre de Chrome a l'arxiu.</translation>
 <translation id="7088434364990739311">La comprovació d'actualització no s'ha pogut iniciar (codi d'error <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">L'administrador ha canviat l'estat d'aquest dispositiu perquè no es pugui utilitzar. Per permetre que us hi pugueu registrar, demaneu a l'administrador que en defineixi l'estat com a pendent.</translation>
+<translation id="7090160970140261931">Pots afegir comptes addicionals al <ph name="DEVICE_TYPE" /> per utilitzar-los amb les aplicacions d'Android i amb els llocs web. També pots controlar quins comptes es fan servir amb les aplicacions d'Android.</translation>
 <translation id="7093220653036489319">Respostes ràpides</translation>
 <translation id="7093416310351037609">Per motius de seguretat de les dades, la teva organització requereix que totes les baixades aptes es desin al compte de <ph name="WEB_DRIVE" /> de la teva organització.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6715,6 +6728,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> pot veure <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Afegeix paraules que vulguis que el corrector ortogràfic passi per alt</translation>
+<translation id="7922935920104868876">Mostra els detalls sobre com es bloquegen les galetes de tercers en mode d'incògnit</translation>
 <translation id="7924358170328001543">Error en redireccionar el port</translation>
 <translation id="7925108652071887026">Dades d'emplenament automàtic</translation>
 <translation id="792514962475806987">Nivell de zoom acoblat:</translation>
@@ -6879,6 +6893,7 @@
 <translation id="8076492880354921740">Pestanyes</translation>
 <translation id="8076835018653442223">L'administrador ha desactivat l'accés als fitxers locals del dispositiu</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Comptes disponibles per utilitzar-los amb aplicacions d'Android</translation>
 <translation id="8081989000209387414">Vols desactivar la depuració d'ADB?</translation>
 <translation id="8082106343289440791">El vols vincular amb "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">En desactivar la depuració d'ADB, es restablirà la configuració de fàbrica del dispositiu <ph name="DEVICE_TYPE" />. S'esborraran tots els comptes d'usuari i totes les dades locals.</translation>
@@ -6953,6 +6968,7 @@
 <translation id="8147900440966275470">S'ha trobat <ph name="NUM" /> pestanya</translation>
 <translation id="8148760431881541277">Limita l'inici de sessió</translation>
 <translation id="8149564499626272569">Verifica mitjançant el telèfon amb un cable USB</translation>
+<translation id="815114315010033526">Utilitza un codi QR</translation>
 <translation id="8151638057146502721">Configura</translation>
 <translation id="8154790740888707867">No hi ha cap fitxer</translation>
 <translation id="8154912474061769055">Pot ser que les funcions de molts llocs web no funcionin</translation>
@@ -6978,6 +6994,7 @@
 <translation id="8176332201990304395">Rosa i blanc</translation>
 <translation id="8177196903785554304">Informació sobre la xarxa</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Mou la pestanya a una finestra nova}other{Mou les pestanyes a una finestra nova}}</translation>
+<translation id="8179188928355984576">No s'utilitza amb les aplicacions d'Android</translation>
 <translation id="8179976553408161302">Retorn</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" pot llegir imatges, vídeos i fitxers d'àudio a les ubicacions marcades, així com suprimir aquest contingut.</translation>
 <translation id="8181215761849004992">No es pot connectar el domini. Comprova al compte si tens prou privilegis per afegir-hi dispositius.</translation>
@@ -7138,6 +7155,7 @@
 <translation id="8342861492835240085">Selecciona una col·lecció</translation>
 <translation id="8347227221149377169">Tasques d'impressió</translation>
 <translation id="834785183489258869">En mode d'incògnit, els llocs web no poden fer servir les teves galetes per veure la teva activitat de navegació en diferents llocs web, per exemple, per personalitzar els anuncis. Pot ser que les funcions d'alguns llocs web no funcionin.</translation>
+<translation id="8349499562373871073">Pots seleccionar un compte existent per utilitzar-lo amb les aplicacions d'Android o bé afegir un compte de Google nou. Un cop inicies la sessió en una aplicació d'Android, el teu compte es pot fer servir amb altres aplicacions d'Android. Per canviar l'accés a les aplicacions d'Android, ves a <ph name="LINK_BEGIN" />Configuració &gt; Comptes<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Eines del llapis òptic a la barra d'aplicacions</translation>
 <translation id="8351316842353540018">Mostra sempre les opcions d'accessibilitat</translation>
 <translation id="8351419472474436977">Aquesta extensió ha passat a controlar la configuració del servidor intermediari. Això vol dir que pot modificar, desfer o espiar qualsevol acció que feu en línia. Si no esteu segur del motiu d'aquest canvi, és possible que no el vulgueu aplicar.</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 24bb2a97..979f211 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> vyžaduje, abyste čipovou kartu ponechali vloženou.}other{Za # sekund budete automaticky odhlášeni.
 <ph name="DOMAIN" /> vyžaduje, abyste čipovou kartu ponechali vloženou.}}</translation>
 <translation id="1193927020065025187">Tento web se vás může pokoušet přimět k povolení rušivých oznámení</translation>
+<translation id="1195210374336998651">Přejít na nastavení aplikace</translation>
 <translation id="1195447618553298278">Neznámá chyba.</translation>
 <translation id="1195558154361252544">Oznámení jsou automaticky blokována u všech webů s výjimkou těch, u nichž je povolíte</translation>
 <translation id="1197088940767939838">Oranžová</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Byl tento výsledek neočekávaný? <ph name="BEGIN_LINK" />Odeslat zpětnou vazbu<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Zadané uživatelské jméno a heslo se neshodují.</translation>
 <translation id="1397500194120344683">Žádná způsobilá zařízení. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Na těchto zařízeních jste přihlášeni do Chromu a můžete je použít jako bezpečnostní klíče.</translation>
 <translation id="1398853756734560583">Maximalizovat</translation>
 <translation id="139911022479327130">Odemkněte telefon a potvrďte, že jste to skutečně vy</translation>
 <translation id="1401308693935339022">Používat polohu. Povolte aplikacím a službám s oprávněním pro přístup k poloze využívat polohu tohoto zařízení. Google může pravidelně shromažďovat údaje o poloze a anonymně je používat ke zlepšování přesnosti polohy a služeb založených na poloze.</translation>
@@ -770,6 +772,7 @@
 <translation id="176587472219019965">&amp;Nové okno</translation>
 <translation id="1766575458646819543">Byl ukončen režim celé obrazovky</translation>
 <translation id="1766957085594317166">Ukládejte si hesla bezpečně do účtu Google, abyste je už nemuseli zadávat</translation>
+<translation id="1767043563165955993">Používat s aplikacemi pro Android</translation>
 <translation id="1768212860412467516">Odeslat zpětnou vazbu k funkci <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Jejda! Při kontaktování přihlašovacího serveru došlo k chybě. Zkontrolujte připojení k síti a název domény a zkuste to znovu.</translation>
 <translation id="1769104665586091481">Otevřít odkaz v &amp;novém okně</translation>
@@ -1105,6 +1108,7 @@
 <translation id="2113479184312716848">&amp;Otevřít soubor...</translation>
 <translation id="2113921862428609753">Přístup k informacím autority</translation>
 <translation id="2114326799768592691">Znovu načíst &amp;rámec</translation>
+<translation id="2114413269775311385">Používat tento účet s aplikacemi pro Android. Oprávnění aplikací pro Android můžete ovládat v sekci <ph name="LINK_BEGIN" />Nastavení aplikací<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Autor fotografie: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Není vložena žádná SIM karta</translation>
 <translation id="2116619964159595185">Weby se k zařízením Bluetooth obvykle připojují kvůli funkcím, jako je nastavení nebo synchronizace nízkoenergetických lokátorů, zařízení ke sledování kondice a zdraví nebo chytrých žárovek</translation>
@@ -1168,6 +1172,7 @@
 <translation id="2163470535490402084">Chcete-li se přihlásit do zařízení <ph name="DEVICE_TYPE" />, připojte se k internetu.</translation>
 <translation id="2163937499206714165">Zapnout tmavý režim</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> a 1 další přepínač</translation>
+<translation id="2165102982098084499">Tato zařízení jste propojili naskenováním QR kódu.</translation>
 <translation id="2165177462441582039">Vyberte, jak dlouho mají jednotlivé položky zůstat zvýrazněny</translation>
 <translation id="2166369534954157698">Příliš žluťoučký kůň úpěl ďábelské ódy</translation>
 <translation id="2169062631698640254">Přesto se přihlásit</translation>
@@ -1893,6 +1898,7 @@
 <translation id="287205682142673348">Přesměrování portů</translation>
 <translation id="287286579981869940">Přidat <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Vypnout</translation>
+<translation id="2873995907777332853">Zobrazit podrobnosti o blokování všech souborů cookie</translation>
 <translation id="2874939134665556319">Předchozí skladba</translation>
 <translation id="2875698561019555027">(Chybové stránky Chromu)</translation>
 <translation id="2876336351874743617">Prst 2</translation>
@@ -1940,6 +1946,7 @@
 <translation id="2915873080513663243">Automatické prohledávání</translation>
 <translation id="2916073183900451334">Stiskem klávesy Tab zvýrazníte na webové stránce odkazy a pole formulářů</translation>
 <translation id="2916745397441987255">Hledat rozšíření</translation>
+<translation id="2918484639460781603">Přejít na nastavení</translation>
 <translation id="2918484644467055090">Toto zařízení nelze zaregistrovat do organizace, do které patří váš účet, protože je označeno pro správu jinou organizací.</translation>
 <translation id="2920852127376356161">Zákaz zpracovávat protokoly</translation>
 <translation id="2921081876747860777">Ochraňte svá místní data pomocí hesla.</translation>
@@ -2196,6 +2203,7 @@
 <translation id="3189187154924005138">Velký kurzor</translation>
 <translation id="3190558889382726167">Heslo uloženo</translation>
 <translation id="3192947282887913208">Zvukové soubory</translation>
+<translation id="3194786596445804250">Zobrazit podrobnosti o blokování souborů cookie třetích stran</translation>
 <translation id="3197453258332670132">Zobrazit kliknutím pravým tlačítkem nebo dlouhým stisknutím informace o vybraném textu</translation>
 <translation id="3199127022143353223">Servery</translation>
 <translation id="3200061262156232574">V nákupním košíku</translation>
@@ -2563,6 +2571,7 @@
 <translation id="3592260987370335752">&amp;Další informace</translation>
 <translation id="3593152357631900254">Aktivovat režim Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Omezení názvu certifikátu</translation>
+<translation id="3596012367874587041">Nastavení aplikace</translation>
 <translation id="3596414637720633074">V anonymním režimu blokovat soubory cookie třetích stran</translation>
 <translation id="3599221874935822507">Reliéf</translation>
 <translation id="3599863153486145794">Vymaže historii ze všech zařízení, na kterých jste přihlášeni. Na stránce <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> mohou být k dispozici další druhy historie prohlížení zaznamenané ve vašem účtu Google.</translation>
@@ -2939,6 +2948,7 @@
 <translation id="3943582379552582368">&amp;Zpět</translation>
 <translation id="3943857333388298514">Vložit</translation>
 <translation id="3945513714196326460">Zkuste kratší název</translation>
+<translation id="3947643756376959257">Zadejte přístupový kód zobrazený na Chromecastu nebo na televizi.</translation>
 <translation id="3948027458879361203">Změnit název hostitele</translation>
 <translation id="3948116654032448504">&amp;Vyhledat obrázek pomocí vyhledávače <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786">Web <ph name="ORIGIN" /> může upravovat soubory v následujících složkách</translation>
@@ -3180,12 +3190,14 @@
 <translation id="4210048056321123003">Stahování virtuálního počítače</translation>
 <translation id="421182450098841253">&amp;Zobrazit lištu záložek</translation>
 <translation id="4211851069413100178">Odesílat údaje o využití a diagnostice. Pomozte se zlepšením prostředí Android tím, že budete do Googlu automaticky odesílat diagnostická data a údaje o využití zařízení a aplikací. Tyto údaje nám pomohou se zvyšováním stability systému a aplikací a dalšími vylepšeními. Některá souhrnná data budou moci využít také naši partneři, např. vývojáři aplikací pro Android. Toto nastavení je <ph name="BEGIN_LINK1" />vyžadováno<ph name="END_LINK1" /> vlastníkem. Vlastník může zvolit, že se diagnostické údaje a údaje o využití z tohoto zařízení mají odesílat do Googlu. Pokud máte zapnuté dodatečné nastavení Aktivita na webu a v aplikacích, mohou se tato data ukládat do vašeho účtu Google. <ph name="BEGIN_LINK2" />Další informace<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Přestat používat s aplikacemi pro Android</translation>
 <translation id="42126664696688958">Exportovat</translation>
 <translation id="42137655013211669">Server zakázal přístup k tomuto zdroji.</translation>
 <translation id="4217571870635786043">Diktování</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Při aktivaci došlo k chybě.</translation>
 <translation id="4225397296022057997">Na všech webech</translation>
+<translation id="4227605727325220318">Přidat nový telefon Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Toto rozšíření není povoleno}few{Některá rozšíření nejsou povolena}many{Některá rozšíření nejsou povolena}other{Některá rozšíření nejsou povolena}}</translation>
 <translation id="4231095370974836764">Instalujte do svého zařízení <ph name="DEVICE_TYPE" /> aplikace a hry z Google Play. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Nakonfigurovat Kerberos</translation>
@@ -4716,6 +4728,7 @@
 <translation id="5862109781435984885">Zobrazovat na poličce nástroje pro dotykové pero</translation>
 <translation id="5862319196656206789">Nastavit připojená zařízení</translation>
 <translation id="5863445608433396414">Aktivovat funkce ladění</translation>
+<translation id="5864147196375746035">Odesílání do spravovaného zařízení</translation>
 <translation id="5864195618110239517">Použít měřené připojení</translation>
 <translation id="5864754048328252126">Akce nečinnosti při nabíjení</translation>
 <translation id="5865508026715185451">Aplikace <ph name="APP_NAME" /> se brzy pozastaví</translation>
@@ -5285,6 +5298,7 @@
 <translation id="6455264371803474013">Na konkrétních webech</translation>
 <translation id="6455894534188563617">&amp;Nová složka</translation>
 <translation id="645705751491738698">Pokračovat v blokování JavaScriptu</translation>
+<translation id="6458347417133445570">Zobrazit podrobnosti o povolení všech souborů cookie</translation>
 <translation id="6458701200018867744">Nahrávání se nezdařilo (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Pro hledání použít výběr</translation>
 <translation id="6459799433792303855">Aktivní okno bylo přesunuto na jinou obrazovku.</translation>
@@ -5677,6 +5691,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> s</translation>
 <translation id="6860097299815761905">Nastavení proxy serveru...</translation>
 <translation id="6860427144121307915">Otevřít na kartě</translation>
+<translation id="6863496016067551393">Všechna rozšíření jsou povolena</translation>
 <translation id="686366188661646310">Vymazat heslo?</translation>
 <translation id="6865313869410766144">Automatické vyplňování formulářů</translation>
 <translation id="6865598234501509159">Stránka není v jazyce <ph name="LANGUAGE" />?</translation>
@@ -5706,6 +5721,7 @@
 <translation id="6900532703269623216">Vylepšená ochrana</translation>
 <translation id="6900651018461749106">Chcete-li uživatele <ph name="USER_EMAIL" /> aktualizovat, přihlaste se znovu</translation>
 <translation id="6900654715912436255">Opravdu chcete tento vyhledávač smazat?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Hlas k náhledu</translation>
 <translation id="6902336033320348843">Sekce není podporována: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Přidat zařízení do domény</translation>
@@ -5895,6 +5911,7 @@
 <translation id="7086672505018440886">Zahrnout do archivu soubory protokolů Chromu.</translation>
 <translation id="7088434364990739311">Kontrolu aktualizace se nepodařilo spustit (kód chyby <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Zařízení bylo vyřazeno administrátorem. Chcete-li zařízení zaregistrovat, požádejte administrátora, aby jeho registraci umožnil.</translation>
+<translation id="7090160970140261931">Do zařízení <ph name="DEVICE_TYPE" /> můžete přidat další účty k použití s weby a aplikacemi pro Android. Můžete také určit, které účty se s aplikacemi pro Android používají.</translation>
 <translation id="7093220653036489319">Rychlé odpovědi</translation>
 <translation id="7093416310351037609">Vaše organizace z důvodu bezpečnosti dat a zabezpečení vyžaduje, aby všechna aktivní stahování byla ukládána do jejího účtu <ph name="WEB_DRIVE" />.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6714,6 +6731,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> může číst soubor <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Přidat slova, která má kontrola pravopisu přeskakovat</translation>
+<translation id="7922935920104868876">Zobrazit podrobnosti o blokování souborů cookie třetí strany v anonymním režimu</translation>
 <translation id="7924358170328001543">Při přesměrování portu došlo k chybě</translation>
 <translation id="7925108652071887026">Data automatického vyplňování</translation>
 <translation id="792514962475806987">Úroveň přiblížení zadokované lupy:</translation>
@@ -6878,6 +6896,7 @@
 <translation id="8076492880354921740">Karty</translation>
 <translation id="8076835018653442223">Správce přístup k místním souborům v tomto zařízení zakázal</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Účty dostupné k použití s aplikacemi pro Android</translation>
 <translation id="8081989000209387414">Deaktivovat ladění ADB?</translation>
 <translation id="8082106343289440791">Spárovat se zařízením <ph name="DEVICE_NAME" />?</translation>
 <translation id="8082390128630131497">Deaktivací ladění ADB toto zařízení <ph name="DEVICE_TYPE" /> resetujete do továrního nastavení. Budou vymazány všechny uživatelské účty a místní data.</translation>
@@ -6952,6 +6971,7 @@
 <translation id="8147900440966275470">Byla nalezena <ph name="NUM" /> karta</translation>
 <translation id="8148760431881541277">Omezit přihlášení</translation>
 <translation id="8149564499626272569">Ověřit pomocí telefonu s kabelem USB</translation>
+<translation id="815114315010033526">Použít QR kód</translation>
 <translation id="8151638057146502721">Konfigurovat</translation>
 <translation id="8154790740888707867">Žádný soubor</translation>
 <translation id="8154912474061769055">Mnoho webů může přestat fungovat</translation>
@@ -6977,6 +6997,7 @@
 <translation id="8176332201990304395">Růžová a bílá</translation>
 <translation id="8177196903785554304">Podrobnosti o síti</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Přesunout kartu do nového okna}few{Přesunout karty do nového okna}many{Přesunout karty do nového okna}other{Přesunout karty do nového okna}}</translation>
+<translation id="8179188928355984576">Nepoužívá se s aplikacemi pro Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">Rozšíření <ph name="EXTENSION" /> může číst obrázky, video a zvukové soubory v povolených umístěních a mazat je.</translation>
 <translation id="8181215761849004992">Přidání do domény se nezdařilo. Zkontrolujte, zda má váš účet k přidávání zařízení dostatečná oprávnění.</translation>
@@ -7136,6 +7157,7 @@
 <translation id="8342861492835240085">Vyberte sbírku</translation>
 <translation id="8347227221149377169">Tiskové úlohy</translation>
 <translation id="834785183489258869">V anonymním režimu weby nemohou používat soubory cookie ke sledování vaší aktivity prohlížení na různých webech, například k personalizaci reklam. Některé weby mohou přestat fungovat.</translation>
+<translation id="8349499562373871073">Pro použití s aplikacemi pro Android můžete vybrat stávající účet nebo vytvořit nový účet Google. Po přihlášení do jedné aplikace pro Android může být účet použit s ostatními aplikacemi pro Android. Přístup aplikací pro Android můžete změnit v <ph name="LINK_BEGIN" />Nastavení &gt; Účty<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Nástroje pro dotykové pero v doku</translation>
 <translation id="8351316842353540018">Vždy zobrazovat možnosti přístupnosti</translation>
 <translation id="8351419472474436977">Toto rozšíření převzalo kontrolu nad nastavením vašeho proxy serveru, což znamená, že může změnit, narušit nebo sledovat vše, co děláte na internetu. Pokud si nejste jisti, proč k tomu došlo, zřejmě se jedná o nežádoucí změnu.</translation>
@@ -7351,6 +7373,7 @@
 <translation id="8610103157987623234">Nesprávný formát, zkuste to znovu</translation>
 <translation id="8611682088849615761">I nadále tomuto webu povolit úplné ovládání zařízení MIDI</translation>
 <translation id="8613164732773110792">Jen malá písmena, číslice, podtržítka nebo spojovníky</translation>
+<translation id="8613645710357126807">Používání rozšíření není povoleno</translation>
 <translation id="8613786722548417558">Soubor <ph name="FILE_NAME" /> je na bezpečnostní kontrolu příliš velký. Můžete otevírat soubory maximálně do 50 MB.</translation>
 <translation id="8615618338313291042">Anonymní aplikace: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Přidat kontakt <ph name="CONTACT_NAME" /> do kontaktů</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 4384372..6e47bc7d 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" /> kræver, at chipkortet er indsat.}other{Du logges automatisk ud om # sekunder.
 <ph name="DOMAIN" /> kræver, at chipkortet er indsat.}}</translation>
 <translation id="1193927020065025187">Dette website forsøger muligvis at narre dig til at tillade påtrængende notifikationer</translation>
+<translation id="1195210374336998651">Gå til appindstillinger</translation>
 <translation id="1195447618553298278">Ukendt fejl.</translation>
 <translation id="1195558154361252544">Notifikationer blokeres automatisk for alle website med undtagelse dem, du har givet tilladelse til</translation>
 <translation id="1197088940767939838">Orange</translation>
@@ -387,6 +388,7 @@
 <translation id="1396259464226642517">Var resultatet ikke som forventet? <ph name="BEGIN_LINK" />Send feedback<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Brugernavnet og adgangskoden, du har angivet, stemmer ikke overens.</translation>
 <translation id="1397500194120344683">Der er ingen kvalificerede enheder. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Da du er logget ind i Chrome på disse enheder, kan du bruge dem som sikkerhedsnøgler.</translation>
 <translation id="1398853756734560583">Maksimér</translation>
 <translation id="139911022479327130">Lås din telefon op, og bekræft din identitet</translation>
 <translation id="1401308693935339022">Brug placering. Tillad, at apps og tjenester med placeringstilladelse kan bruge denne enheds lokation. Google kan jævnligt indsamle lokationsdata og bruge disse data på en anonym måde for at forbedre lokationernes nøjagtighed og placeringsbaserede tjenester.</translation>
@@ -1181,6 +1183,7 @@
 <translation id="2163470535490402084">Du skal oprette forbindelse til internettet for at kunne logge ind på din <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">Aktivér mørkt tilstand</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> og 1 anden kontakt</translation>
+<translation id="2165102982098084499">Du tilknyttede disse enheder ved at scanne en QR-kode.</translation>
 <translation id="2165177462441582039">Vælg, hvor længe hvert element skal fremhæves</translation>
 <translation id="2166369534954157698">Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon</translation>
 <translation id="2169062631698640254">Log ind alligevel</translation>
@@ -1958,6 +1961,7 @@
 <translation id="2915873080513663243">Automatisk scanning</translation>
 <translation id="2916073183900451334">Tryk på Tab på en webside fremhæver links og felter i formularer</translation>
 <translation id="2916745397441987255">Søg efter udvidelser</translation>
+<translation id="2918484639460781603">Gå til indstillinger</translation>
 <translation id="2918484644467055090">Denne enhed kan ikke tilmeldes den organisation, din konto tilhører, da administration af enheden er tildelt en anden organisation.</translation>
 <translation id="2920852127376356161">Har ikke tilladelse til at håndtere protokoller</translation>
 <translation id="2921081876747860777">Opret en adgangskode for at beskytte dine lokale data.</translation>
@@ -2582,6 +2586,7 @@
 <translation id="3592260987370335752">&amp;Få flere oplysninger</translation>
 <translation id="3593152357631900254">Aktiver tilstanden Fuzzy-pinyin</translation>
 <translation id="3593965109698325041">Begrænsninger for certifikatnavn</translation>
+<translation id="3596012367874587041">Appindstillinger</translation>
 <translation id="3596414637720633074">Bloker tredjepartscookies i inkognito</translation>
 <translation id="3599221874935822507">Hævet</translation>
 <translation id="3599863153486145794">Rydder historikken på alle enheder, hvor du er logget ind. Din Google-konto kan have andre former for browserhistorik på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5703,6 +5708,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> sek.</translation>
 <translation id="6860097299815761905">Indstillinger for proxy...</translation>
 <translation id="6860427144121307915">Åbn på en fane</translation>
+<translation id="6863496016067551393">Alle udvidelser er tilladt</translation>
 <translation id="686366188661646310">Vil du slette adgangskoden?</translation>
 <translation id="6865313869410766144">Formulardata for AutoFyld</translation>
 <translation id="6865598234501509159">Siden findes ikke på <ph name="LANGUAGE" /></translation>
@@ -5732,6 +5738,7 @@
 <translation id="6900532703269623216">Forbedret beskyttelse</translation>
 <translation id="6900651018461749106">Log ind igen for at opdatere <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Er du sikker på, at du vil slette denne søgemaskine?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Eksempel på stemme</translation>
 <translation id="6902336033320348843">Sektionen understøttes ikke: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Føj enheden til domænet</translation>
@@ -7383,6 +7390,7 @@
 <translation id="8610103157987623234">Formatet er forkert. Prøv igen.</translation>
 <translation id="8611682088849615761">Tillad fortsat, at dette website kan få fuld kontrol over MIDI-enheder</translation>
 <translation id="8613164732773110792">Kun små bogstaver, cifre, understregninger og tankestreger</translation>
+<translation id="8613645710357126807">Har ikke tilladelse til at bruge udvidelser</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> er for stor til, at der kan udføres et sikkerhedstjek. Du kan åbne filer på op til 50 MB.</translation>
 <translation id="8615618338313291042">Inkognitoprogram: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Føj <ph name="CONTACT_NAME" /> til dine kontakter</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 40f8bc27..cf07706 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> erfordert, dass deine Smartcard eingesteckt ist.}other{Du wirst automatisch in # Sekunden abgemeldet.
 <ph name="DOMAIN" /> erfordert, dass deine Smartcard eingesteckt ist.}}</translation>
 <translation id="1193927020065025187">Diese Website verleitet Sie möglicherweise dazu, aufdringliche Benachrichtigungen zuzulassen</translation>
+<translation id="1195210374336998651">App-Einstellungen öffnen</translation>
 <translation id="1195447618553298278">Unbekannter Fehler.</translation>
 <translation id="1195558154361252544">Benachrichtigungen werden automatisch für alle Websites blockiert, außer für diejenigen, die Sie zulassen</translation>
 <translation id="1197088940767939838">Orange</translation>
@@ -384,6 +385,7 @@
 <translation id="1396259464226642517">War dieses Ergebnis unerwartet? <ph name="BEGIN_LINK" />Feedback geben<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Der eingegebene Nutzername und das Passwort stimmen nicht überein</translation>
 <translation id="1397500194120344683">Keine geeigneten Geräte vorhanden. <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Sie sind auf diesen Geräten in Chrome angemeldet und können sie als Sicherheitsschlüssel verwenden.</translation>
 <translation id="1398853756734560583">Maximieren</translation>
 <translation id="139911022479327130">Entsperren Sie Ihr Smartphone, um Ihre Identität zu bestätigen</translation>
 <translation id="1401308693935339022">Standort verwenden. Apps und Dienste mit Berechtigung zur Standortermittlung dürfen den Standort dieses Geräts nutzen. Google kann Standortdaten in regelmäßigen Abständen erfassen und diese Daten auf anonyme Weise verwenden, um die Standortgenauigkeit und standortbezogene Dienste zu verbessern.</translation>
@@ -1165,6 +1167,7 @@
 <translation id="2163470535490402084">Stellen Sie eine Internetverbindung her, um sich auf Ihrem Gerät (<ph name="DEVICE_TYPE" />) anzumelden.</translation>
 <translation id="2163937499206714165">Dunklen Modus einschalten</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> und ein weiterer Schalter</translation>
+<translation id="2165102982098084499">Sie haben einen QR-Code gescannt, um diese Geräte zu verknüpfen.</translation>
 <translation id="2165177462441582039">Sie können festlegen, wie lange ein Element markiert bleiben soll</translation>
 <translation id="2166369534954157698">Zwölf Boxkämpfer jagen Viktor quer über den großen Sylter Deich</translation>
 <translation id="2169062631698640254">Trotzdem anmelden</translation>
@@ -1891,6 +1894,7 @@
 <translation id="287205682142673348">Portweiterleitung</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> hinzufügen...</translation>
 <translation id="2872961005593481000">Herunterfahren</translation>
+<translation id="2873995907777332853">Informationen zum Blockieren aller Cookies aufrufen</translation>
 <translation id="2874939134665556319">Vorheriger Titel</translation>
 <translation id="2875698561019555027">(Chrome-Fehlerseiten)</translation>
 <translation id="2876336351874743617">Finger 2</translation>
@@ -1938,6 +1942,7 @@
 <translation id="2915873080513663243">Automatischer Scan</translation>
 <translation id="2916073183900451334">Links und Formularfelder auf Webseiten durch Drücken der Tab-Taste auswählen</translation>
 <translation id="2916745397441987255">In Erweiterungen suchen</translation>
+<translation id="2918484639460781603">Zu den Einstellungen wechseln</translation>
 <translation id="2918484644467055090">Dieses Gerät kann nicht in der Organisation registriert werden, zu der Ihr Konto gehört, weil die Geräteverwaltung einer anderen Organisation zugewiesen wurde.</translation>
 <translation id="2920852127376356161">Dürfen keine Protokolle verarbeiten</translation>
 <translation id="2921081876747860777">Erstellen Sie ein Passwort, um Ihre lokalen Daten zu schützen.</translation>
@@ -2194,6 +2199,7 @@
 <translation id="3189187154924005138">Großer Cursor</translation>
 <translation id="3190558889382726167">Passwort gespeichert</translation>
 <translation id="3192947282887913208">Audiodateien</translation>
+<translation id="3194786596445804250">Informationen zum Blockieren von Drittanbieter-Cookies aufrufen</translation>
 <translation id="3197453258332670132">Wenn Sie rechts klicken oder lange drücken, werden verknüpfte Informationen zum ausgewählten Text angezeigt</translation>
 <translation id="3199127022143353223">Server</translation>
 <translation id="3200061262156232574">In meinem Einkaufswagen</translation>
@@ -2561,6 +2567,7 @@
 <translation id="3592260987370335752">&amp;Weitere Informationen</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin-Modus aktivieren</translation>
 <translation id="3593965109698325041">Beschränkungen für Zertifikatsnamen</translation>
+<translation id="3596012367874587041">App-Einstellungen</translation>
 <translation id="3596414637720633074">Cookies von Drittanbietern im Inkognitomodus blockieren</translation>
 <translation id="3599221874935822507">Erhöht</translation>
 <translation id="3599863153486145794">Löscht den Verlauf auf allen angemeldeten Geräten. Unter <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> sind möglicherweise weitere Arten von Browserverlaufsdaten für Ihr Google-Konto gespeichert.</translation>
@@ -5286,6 +5293,7 @@
 <translation id="6455264371803474013">Auf bestimmten Websites</translation>
 <translation id="6455894534188563617">&amp;Neuer Ordner</translation>
 <translation id="645705751491738698">JavaScript weiterhin blockieren</translation>
+<translation id="6458347417133445570">Informationen zum Zulassen aller Cookies aufrufen</translation>
 <translation id="6458701200018867744">Upload fehlgeschlagen (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Auswahl für Suche übernehmen</translation>
 <translation id="6459799433792303855">Aktives Fenster auf anderen Bildschirm verschoben.</translation>
@@ -5678,6 +5686,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> Sek.</translation>
 <translation id="6860097299815761905">Proxy-Einstellungen...</translation>
 <translation id="6860427144121307915">In Tab öffnen</translation>
+<translation id="6863496016067551393">Alle Erweiterungen zulässig</translation>
 <translation id="686366188661646310">Passwort löschen?</translation>
 <translation id="6865313869410766144">Formulardaten für automatisches Ausfüllen</translation>
 <translation id="6865598234501509159">Diese Seite ist nicht auf <ph name="LANGUAGE" /></translation>
@@ -5707,6 +5716,7 @@
 <translation id="6900532703269623216">Erweitertes Safe Browsing</translation>
 <translation id="6900651018461749106">Zum Aktualisieren von <ph name="USER_EMAIL" /> noch einmal anmelden</translation>
 <translation id="6900654715912436255">Möchten Sie diese Suchmaschine wirklich löschen?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Stimme zum Anhören</translation>
 <translation id="6902336033320348843">Abschnitt nicht unterstützt: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Gerät bei Domain registrieren</translation>
@@ -6716,6 +6726,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> darf <ph name="FILENAME" /> aufrufen</translation>
 <translation id="7920482456679570420">Hier fügen Sie Wörter hinzu, die bei der Rechtschreibprüfung übersprungen werden sollen</translation>
+<translation id="7922935920104868876">Informationen zum Blockieren von Drittanbieter-Cookies im Inkognitomodus aufrufen</translation>
 <translation id="7924358170328001543">Fehler bei der Portweiterleitung</translation>
 <translation id="7925108652071887026">AutoFill-Daten</translation>
 <translation id="792514962475806987">Zoomstufe für angedockte Lupe:</translation>
@@ -6880,6 +6891,7 @@
 <translation id="8076492880354921740">Tabs</translation>
 <translation id="8076835018653442223">Der Zugriff auf lokale Dateien auf Ihrem Gerät wurde von Ihrem Administrator deaktiviert</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Konten, die mit Android-Apps verwendet werden können</translation>
 <translation id="8081989000209387414">ADB-Fehlerbehebung deaktivieren?</translation>
 <translation id="8082106343289440791">Mit "<ph name="DEVICE_NAME" />" koppeln?</translation>
 <translation id="8082390128630131497">Wenn Sie die ADB-Fehlerbehebung deaktivieren, wird dieses <ph name="DEVICE_TYPE" /> auf die Werkseinstellungen zurückgesetzt. Alle Benutzerkonten und lokalen Daten werden entfernt.</translation>
@@ -7140,6 +7152,7 @@
 <translation id="8342861492835240085">Sammlung auswählen</translation>
 <translation id="8347227221149377169">Druckaufträge</translation>
 <translation id="834785183489258869">Wenn der Inkognitomodus aktiviert ist, können Websites keine Cookies verwenden, um Ihre Browseraktivitäten auf anderen Websites zu sehen und beispielsweise zur Personalisierung von Werbung zu nutzen. Einige Websites funktionieren dann möglicherweise nicht mehr richtig.</translation>
+<translation id="8349499562373871073">Sie können ein bestehendes Konto für die Verwendung mit Android-Apps auswählen oder ein neues Google-Konto hinzufügen. Sobald Sie sich in einer Android-App angemeldet haben, kann Ihr Konto in anderen Android-Apps verwendet werden. Entsprechende Änderungen können Sie unter <ph name="LINK_BEGIN" />„Einstellungen“ &gt; „Konten“<ph name="LINK_END" /> vornehmen.</translation>
 <translation id="8350789879725387295">Eingabestift-Tools in Leiste</translation>
 <translation id="8351316842353540018">Optionen für Bedienungshilfen immer anzeigen</translation>
 <translation id="8351419472474436977">Diese Erweiterung hat die Kontrolle über Ihre Proxyeinstellungen übernommen. Das bedeutet, dass sie sämtliche Onlineaktivitäten ändern, abbrechen oder überwachen kann. Wenn Sie nicht sicher sind, wie es zu dieser Änderung gekommen ist, war sie wahrscheinlich nicht beabsichtigt.</translation>
@@ -7355,6 +7368,7 @@
 <translation id="8610103157987623234">Fehlerhaftes Format. Bitte versuchen Sie es noch einmal.</translation>
 <translation id="8611682088849615761">Weiterhin zulassen, dass diese Website vollständige Kontrolle über MIDI-Geräte hat</translation>
 <translation id="8613164732773110792">Nur Kleinbuchstaben, Zahlen, Unterstriche und Bindestriche</translation>
+<translation id="8613645710357126807">Keine Erweiterungen zulässig</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ist zu groß für eine Sicherheitsprüfung. Sie können Dateien mit einer Größe von bis zu 50 MB öffnen.</translation>
 <translation id="8615618338313291042">Anonyme App: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> zu meinen Kontakten hinzufügen</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index b0cf21a..20546336 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -206,6 +206,7 @@
 Ο τομέας <ph name="DOMAIN" /> απαιτεί να μην αφαιρέσετε την έξυπνη κάρτα.}other{Θα αποσυνδεθείτε αυτόματα σε # δευτερόλεπτα.
 Ο τομέας <ph name="DOMAIN" /> απαιτεί να μην αφαιρέσετε την έξυπνη κάρτα.}}</translation>
 <translation id="1193927020065025187">Αυτός ο ιστότοπος ενδέχεται να προσπαθεί να σας εξαπατήσει ώστε να επιτρέψετε ενοχλητικές ειδοποιήσεις</translation>
+<translation id="1195210374336998651">Μετάβαση στις ρυθμίσεις εφαρμογής</translation>
 <translation id="1195447618553298278">Άγνωστο σφάλμα.</translation>
 <translation id="1195558154361252544">Οι ειδοποιήσεις αποκλείονται αυτόματα για όλους τους ιστοτόπους εκτός από αυτούς στους οποίους τις επιτρέπετε</translation>
 <translation id="1197088940767939838">Πορτοκαλί</translation>
@@ -780,6 +781,7 @@
 <translation id="176587472219019965">&amp;Νέο Παράθυρο</translation>
 <translation id="1766575458646819543">Έξοδος από πλήρη οθόνη</translation>
 <translation id="1766957085594317166">Αποθηκεύστε τους κωδικούς πρόσβασης με ασφάλεια στον Λογαριασμό σας Google και δεν θα χρειαστεί να τους πληκτρολογήσετε ποτέ ξανά</translation>
+<translation id="1767043563165955993">Χρήση με εφαρμογές Android</translation>
 <translation id="1768212860412467516">Αποστολή σχολίων για <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Δυστυχώς, παρουσιάστηκε κάποιο πρόβλημα κατά την επικοινωνία με τον διακομιστή σύνδεσης. Ελέγξτε τη σύνδεση δικτύου και το όνομα τομέα και δοκιμάστε ξανά.</translation>
 <translation id="1769104665586091481">Άνοιγμα Συνδέσμου σε Νέο &amp;Παράθυρο</translation>
@@ -1116,6 +1118,7 @@
 <translation id="2113479184312716848">Άνοιγμα αρχείου...</translation>
 <translation id="2113921862428609753">Πρόσβαση σε πληροφορίες αρχής</translation>
 <translation id="2114326799768592691">Επαναφόρτωση &amp;πλαισίου</translation>
+<translation id="2114413269775311385">Χρησιμοποιήστε αυτόν τον λογαριασμό με εφαρμογές Android. Μπορείτε να ελέγξετε τις άδειες για εφαρμογές Android στις <ph name="LINK_BEGIN" />Ρυθμίσεις εφαρμογών<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Φωτογραφία από <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Δεν έχει εισαχθεί κάρτα SIM</translation>
 <translation id="2116619964159595185">Οι ιστότοποι συνδέονται συνήθως με συσκευές Bluetooth για λειτουργίες όπως η ρύθμιση ή ο συγχρονισμός ενός beacon χαμηλής ενέργειας, ενός συστήματος παρακολούθησης υγείας ή φυσικής κατάστασης ή ενός λαμπτήρα έξυπνου φωτισμού.</translation>
@@ -1957,6 +1960,7 @@
 <translation id="2915873080513663243">Αυτόματη σάρωση</translation>
 <translation id="2916073183900451334">Εάν πατήσετε το πλήκτρο Tab σε μια ιστοσελίδα, επισημαίνονται οι σύνδεσμοι, καθώς και τα πεδία φόρμας</translation>
 <translation id="2916745397441987255">Αναζήτηση επεκτάσεων</translation>
+<translation id="2918484639460781603">Μετάβαση στις ρυθμίσεις</translation>
 <translation id="2918484644467055090">Δεν είναι δυνατή η εγγραφή αυτής της συσκευής στον οργανισμό στον οποίο ανήκει ο λογαριασμός σας, επειδή η συσκευή έχει επισημανθεί για διαχείριση από κάποιον άλλο οργανισμό.</translation>
 <translation id="2920852127376356161">Δεν επιτρέπεται να χειρίζονται πρωτόκολλα</translation>
 <translation id="2921081876747860777">Δημιουργήστε έναν κωδικό πρόσβασης για να προστατεύσετε τα τοπικά δεδομένα σας.</translation>
@@ -2581,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;Μάθετε περισσότερα</translation>
 <translation id="3593152357631900254">Ενεργοποίηση κατάστασης Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Περιορισμοί ονόματος πιστοποιητικού</translation>
+<translation id="3596012367874587041">Ρυθμίσεις εφαρμογής</translation>
 <translation id="3596414637720633074">Αποκλεισμός cookie τρίτων μερών στην Ανώνυμη περιήγηση</translation>
 <translation id="3599221874935822507">Ανάγλυφο</translation>
 <translation id="3599863153486145794">Διαγράφει το ιστορικό από όλες τις συνδεδεμένες συσκευές. Ο Λογαριασμός σας Google ενδέχεται να διαθέτει άλλες μορφές ιστορικού περιήγησης στη διεύθυνση <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2958,6 +2963,7 @@
 <translation id="3943582379552582368">&amp;Πίσω</translation>
 <translation id="3943857333388298514">Επικόλληση</translation>
 <translation id="3945513714196326460">Δοκιμάστε ένα πιο σύντομο όνομα</translation>
+<translation id="3947643756376959257">Εισαγάγετε τον κωδικό πρόσβασης που εμφανίζεται στο Chromecast ή την τηλεόραση.</translation>
 <translation id="3948027458879361203">Αλλαγή ονόματος κεντρικού υπολογιστή</translation>
 <translation id="3948116654032448504">&amp;Αναζήτηση <ph name="SEARCH_ENGINE" /> για εικόνα</translation>
 <translation id="3948507072814225786">Ο ιστότοπος <ph name="ORIGIN" /> μπορεί να επεξεργαστεί τα αρχεία στους παρακάτω φακέλους</translation>
@@ -3199,12 +3205,14 @@
 <translation id="4210048056321123003">Λήψη του εικονικού μηχανήματος</translation>
 <translation id="421182450098841253">&amp;Εμφάνιση γραμμής σελιδοδεικτών</translation>
 <translation id="4211851069413100178">Αποστολή δεδομένων χρήσης και διαγνωστικών. Συμβάλετε στη βελτίωση της εμπειρίας Android με αυτόματη αποστολή διαγνωστικών δεδομένων και δεδομένων συσκευής και χρήσης εφαρμογών στην Google. Με αυτόν τον τρόπο βελτιώνεται η σταθερότητα του συστήματος και των εφαρμογών και παρέχονται επιπλέον βελτιώσεις. Ορισμένα συγκεντρωτικά δεδομένα θα βοηθήσουν επίσης τις εφαρμογές και τους συνεργάτες της Google, όπως τους προγραμματιστές Android. Αυτή η <ph name="BEGIN_LINK1" />ρύθμιση<ph name="END_LINK1" /> επιβάλλεται από τον κάτοχο. Ο κάτοχος μπορεί να επιλέξει να στέλνει διαγνωστικά δεδομένα και δεδομένα χρήσης για αυτήν τη συσκευή στην Google. Εάν η ρύθμιση της πρόσθετης Δραστηριότητας ιστού και εφαρμογών είναι ενεργοποιημένη, αυτά τα δεδομένα μπορεί να αποθηκευτούν στον Λογαριασμό σας Google. <ph name="BEGIN_LINK2" />Μάθετε περισσότερα<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Διακοπή χρήσης με εφαρμογές Android</translation>
 <translation id="42126664696688958">Εξαγωγή</translation>
 <translation id="42137655013211669">Η πρόσβαση σε αυτόν τον πόρο απαγορεύεται από το διακομιστή.</translation>
 <translation id="4217571870635786043">Υπαγόρευση</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Παρουσιάστηκε σφάλμα κατά την ενεργοποίηση.</translation>
 <translation id="4225397296022057997">Σε όλους τους ιστοτόπους</translation>
+<translation id="4227605727325220318">Προσθήκη νέου τηλεφώνου Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Δεν επιτρέπεται αυτή η επέκταση}other{Δεν επιτρέπονται ορισμένες επεκτάσεις}}</translation>
 <translation id="4231095370974836764">Εγκαταστήστε εφαρμογές και παιχνίδια από το Google Play στη συσκευή <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Διαμόρφωση του Kerberos</translation>
@@ -4737,6 +4745,7 @@
 <translation id="5862109781435984885">Εμφάνιση εργαλείων γραφίδας στο ράφι</translation>
 <translation id="5862319196656206789">Ρύθμιση συνδεδεμένων συσκευών</translation>
 <translation id="5863445608433396414">Ενεργοποίηση λειτουργιών εντοπισμού σφαλμάτων</translation>
+<translation id="5864147196375746035">Μετάδοση σε διαχειριζόμενη συσκευή</translation>
 <translation id="5864195618110239517">Χρήση σύνδεσης με ογκοχρέωση</translation>
 <translation id="5864754048328252126">Ενέργεια αδράνειας κατά τη φόρτιση</translation>
 <translation id="5865508026715185451">Η εφαρμογή <ph name="APP_NAME" /> θα τεθεί σύντομα σε παύση.</translation>
@@ -5919,6 +5928,7 @@
 <translation id="7086672505018440886">Συμπερίληψη αρχείων καταγραφής Chrome στο αρχείο.</translation>
 <translation id="7088434364990739311">O έλεγχος ενημερώσεων απέτυχε να ξεκινήσει (κωδικός σφάλματος <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Αυτή η συσκευή έχει τεθεί σε ανενεργή κατάσταση από το διαχειριστή. Για να την ενεργοποιήσετε για εγγραφή, ζητήστε από το διαχειριστή σας να τη θέσει σε κατάσταση εκκρεμότητας.</translation>
+<translation id="7090160970140261931">Μπορείτε να προσθέσετε επιπλέον λογαριασμούς στη συσκευή σας <ph name="DEVICE_TYPE" /> για χρήση με ιστοτόπους και εφαρμογές Android. Μπορείτε επίσης να ελέγξετε ποιοι λογαριασμοί χρησιμοποιούνται με εφαρμογές Android.</translation>
 <translation id="7093220653036489319">Γρήγορες απαντήσεις</translation>
 <translation id="7093416310351037609">Για την ασφάλεια των δεδομένων, ο οργανισμός σας απαιτεί όλες οι κατάλληλες λήψεις να αποθηκεύονται στον λογαριασμό <ph name="WEB_DRIVE" /> του οργανισμού.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6979,6 +6989,7 @@
 <translation id="8147900440966275470">Βρέθηκε <ph name="NUM" /> καρτέλα</translation>
 <translation id="8148760431881541277">Περιορισμός σύνδεσης</translation>
 <translation id="8149564499626272569">Επαλήθευση μέσω του τηλεφώνου σας με καλώδιο USB</translation>
+<translation id="815114315010033526">Εναλλακτικά, χρήση κωδικού QR</translation>
 <translation id="8151638057146502721">Διαμόρφωση</translation>
 <translation id="8154790740888707867">Δεν υπάρχει αρχείο</translation>
 <translation id="8154912474061769055">Ορισμένες λειτουργίες πολλών ιστοτόπων μπορεί να μην είναι διαθέσιμες.</translation>
@@ -7004,6 +7015,7 @@
 <translation id="8176332201990304395">Ροζ και λευκό</translation>
 <translation id="8177196903785554304">Λεπτομέρειες δικτύου</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Μετακίνηση καρτέλας σε νέο παράθυρο}other{Μετακίνηση καρτελών σε νέο παράθυρο}}</translation>
+<translation id="8179188928355984576">Δεν χρησιμοποιείται με εφαρμογές Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">Η επέκταση "<ph name="EXTENSION" />" μπορεί να διαβάσει και να εγγράψει εικόνες, βίντεο και αρχεία ήχου σε επιλεγμένες τοποθεσίες.</translation>
 <translation id="8181215761849004992">Δεν είναι δυνατή η σύνδεση στον τομέα. Ελέγξτε τον λογαριασμό σας, για να δείτε εάν έχετε επαρκή προνόμια για την προσθήκη συσκευών.</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index 56a207f3..507706a 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> requires you to keep your smart card inserted.}other{You will be automatically signed out in # seconds.
 <ph name="DOMAIN" /> requires you to keep your smart card inserted.}}</translation>
 <translation id="1193927020065025187">This site may be trying to trick you into allowing intrusive notifications</translation>
+<translation id="1195210374336998651">Go to app settings</translation>
 <translation id="1195447618553298278">Unknown error.</translation>
 <translation id="1195558154361252544">Notifications are automatically blocked for all sites except ones that you allow</translation>
 <translation id="1197088940767939838">Orange</translation>
@@ -1959,6 +1960,7 @@
 <translation id="2915873080513663243">Auto-scan</translation>
 <translation id="2916073183900451334">Pressing Tab on a web page highlights links, as well as form fields</translation>
 <translation id="2916745397441987255">Search extensions</translation>
+<translation id="2918484639460781603">Go to settings</translation>
 <translation id="2918484644467055090">This device cannot be enrolled to the organisation that your account belongs to because the device is marked for management by a different organisation.</translation>
 <translation id="2920852127376356161">Not allowed to handle protocols</translation>
 <translation id="2921081876747860777">Please create a password to protect your local data.</translation>
@@ -2583,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;Learn more</translation>
 <translation id="3593152357631900254">Enable Fuzzy-Pinyin mode</translation>
 <translation id="3593965109698325041">Certificate Name Constraints</translation>
+<translation id="3596012367874587041">App settings</translation>
 <translation id="3596414637720633074">Block third-party cookies in Incognito</translation>
 <translation id="3599221874935822507">Raised</translation>
 <translation id="3599863153486145794">Clears history from all signed-in devices. Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index 18c0e12..22ed1fe 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> requiere que no quites la tarjeta inteligente.}other{Saldrás automáticamente en # segundos.
 <ph name="DOMAIN" /> requiere que no quites la tarjeta inteligente.}}</translation>
 <translation id="1193927020065025187">Es posible que este sitio esté intentando engañarte para que permitas notificaciones intrusivas</translation>
+<translation id="1195210374336998651">Ir a la configuración de la app</translation>
 <translation id="1195447618553298278">Error desconocido.</translation>
 <translation id="1195558154361252544">Se bloquearon automáticamente las notificaciones para todos los sitios, excepto en los sitios en que las permites</translation>
 <translation id="1197088940767939838">Naranja</translation>
@@ -765,6 +766,7 @@
 <translation id="176587472219019965">&amp;Nueva ventana</translation>
 <translation id="1766575458646819543">Saliste de la pantalla completa</translation>
 <translation id="1766957085594317166">Guarda las contraseñas de forma segura en tu Cuenta de Google para no tener que volver a escribirlas</translation>
+<translation id="1767043563165955993">Usar en las apps para Android</translation>
 <translation id="1768212860412467516">Envía comentarios sobre <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Se produjo un error al contactar el servidor de acceso. Comprueba la conexión de tu red y el nombre del dominio; luego, vuelve a intentarlo.</translation>
 <translation id="1769104665586091481">Abrir vínculo en una ventana &amp;nueva</translation>
@@ -1100,6 +1102,7 @@
 <translation id="2113479184312716848">Abrir &amp;archivo...</translation>
 <translation id="2113921862428609753">Acceso a la información de la autoridad</translation>
 <translation id="2114326799768592691">Volver a cargar &amp;marco</translation>
+<translation id="2114413269775311385">Usar esta cuenta en las apps para Android Puedes controlar los permisos de las apps para Android en <ph name="LINK_BEGIN" />Configuración de apps<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto de <ph name="NAME" /></translation>
 <translation id="2114995631896158695">No se insertó ninguna tarjeta SIM</translation>
 <translation id="2116619964159595185">Por lo general, los sitios se conectan a dispositivos Bluetooth para usarlos en funciones, como configurar o sincronizar una baliza electrónica, un monitor de actividad física o de salud, o una lámpara inteligente.</translation>
@@ -1889,6 +1892,7 @@
 <translation id="287205682142673348">Redirección de puertos</translation>
 <translation id="287286579981869940">Agregar <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Apagar</translation>
+<translation id="2873995907777332853">Mostrar detalles sobre cómo bloquear todas las cookies</translation>
 <translation id="2874939134665556319">Pista anterior</translation>
 <translation id="2875698561019555027">(Páginas de error de Chrome)</translation>
 <translation id="2876336351874743617">Dedo 2</translation>
@@ -1936,6 +1940,7 @@
 <translation id="2915873080513663243">Búsqueda automática</translation>
 <translation id="2916073183900451334">Si presionas el tabulador en una página web, se resaltan los vínculos y los campos de formularios</translation>
 <translation id="2916745397441987255">Buscar extensiones</translation>
+<translation id="2918484639460781603">Ir a Configuración</translation>
 <translation id="2918484644467055090">No se puede inscribir este dispositivo en la organización al que pertenece tu cuenta porque ya lo administra otra organización.</translation>
 <translation id="2920852127376356161">No pueden procesar protocolos</translation>
 <translation id="2921081876747860777">Crea una contraseña para proteger tus datos locales.</translation>
@@ -2192,6 +2197,7 @@
 <translation id="3189187154924005138">Cursor grande</translation>
 <translation id="3190558889382726167">Se guardó la contraseña</translation>
 <translation id="3192947282887913208">Archivos de audio</translation>
+<translation id="3194786596445804250">Mostrar detalles sobre cómo bloquear cookies de terceros</translation>
 <translation id="3197453258332670132">Para ver información relacionada sobre la selección de texto, haz clic con el botón derecho en ella o mantenla presionada.</translation>
 <translation id="3199127022143353223">Servidores</translation>
 <translation id="3200061262156232574">En tu carrito de compras</translation>
@@ -2559,6 +2565,7 @@
 <translation id="3592260987370335752">&amp;Más información</translation>
 <translation id="3593152357631900254">Habilitar modo Pinyin aproximado</translation>
 <translation id="3593965109698325041">Restricciones para el nombre del certificado</translation>
+<translation id="3596012367874587041">Configuración de la app</translation>
 <translation id="3596414637720633074">Bloquear cookies de terceros en modo Incógnito</translation>
 <translation id="3599221874935822507">Elevada</translation>
 <translation id="3599863153486145794">Borra el historial de todos los dispositivos en los que accediste. Es posible que tu cuenta de Google tenga otros tipos de historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2936,6 +2943,7 @@
 <translation id="3943582379552582368">&amp;Atrás</translation>
 <translation id="3943857333388298514">Pegar</translation>
 <translation id="3945513714196326460">Prueba un nombre más corto.</translation>
+<translation id="3947643756376959257">Ingresa el código de acceso que se muestra en el Chromecast o TV.</translation>
 <translation id="3948027458879361203">Cambiar el nombre de host</translation>
 <translation id="3948116654032448504">Buscar imagen en <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> puede editar archivos en las siguientes carpetas</translation>
@@ -3177,12 +3185,14 @@
 <translation id="4210048056321123003">Se está descargando la máquina virtual</translation>
 <translation id="421182450098841253">Mo&amp;strar la barra de favoritos</translation>
 <translation id="4211851069413100178">Envía datos de uso y diagnóstico. Para ayudar a mejorar tu experiencia de Android, envía a Google datos de diagnóstico y uso de dispositivos y apps de forma automática. Esta información ayudará a lograr la estabilidad de las apps y el sistema, entre otras mejoras. Algunos datos agregados también ayudarán a las apps y los socios de Google, como los desarrolladores de Android. El propietario controla esta <ph name="BEGIN_LINK1" />configuración<ph name="END_LINK1" />. Es posible que el propietario decida enviar a Google datos de uso y diagnóstico de este dispositivo. Si habilitaste la "Actividad de web y de aplicaciones adicional", es posible que se almacenen estos datos en tu Cuenta de Google. <ph name="BEGIN_LINK2" />Más información<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Dejar de usar en las apps para Android</translation>
 <translation id="42126664696688958">Exportar</translation>
 <translation id="42137655013211669">El servidor prohibió el acceso a este recurso.</translation>
 <translation id="4217571870635786043">Dictado</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Se produjo un error durante la activación.</translation>
 <translation id="4225397296022057997">En todos los sitios</translation>
+<translation id="4227605727325220318">Agregar un teléfono Android nuevo</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{No se permite esta extensión}other{No se permiten algunas extensiones}}</translation>
 <translation id="4231095370974836764">Instala apps y juegos de Google Play en tu <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Configurar Kerberos</translation>
@@ -4713,6 +4723,7 @@
 <translation id="5862109781435984885">Mostrar herramientas de la pluma stylus en la biblioteca</translation>
 <translation id="5862319196656206789">Configurar los dispositivos conectados</translation>
 <translation id="5863445608433396414">Habilitar funciones de depuración</translation>
+<translation id="5864147196375746035">Transmitir a un dispositivo administrado</translation>
 <translation id="5864195618110239517">Usar la conexión de uso medido</translation>
 <translation id="5864754048328252126">Acción de inactividad durante la carga</translation>
 <translation id="5865508026715185451">Pronto se pausará <ph name="APP_NAME" /></translation>
@@ -5282,6 +5293,7 @@
 <translation id="6455264371803474013">En sitios específicos</translation>
 <translation id="6455894534188563617">&amp;Nueva carpeta</translation>
 <translation id="645705751491738698">Continuar con el bloqueo de JavaScript</translation>
+<translation id="6458347417133445570">Mostrar detalles sobre cómo permitir todas las cookies</translation>
 <translation id="6458701200018867744">No se pudo realizar la descarga (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Usar la selección para buscar</translation>
 <translation id="6459799433792303855">La ventana activa se movió a otra pantalla.</translation>
@@ -5892,6 +5904,7 @@
 <translation id="7086672505018440886">Incluye los archivos de registro de Chrome en el archivo.</translation>
 <translation id="7088434364990739311">Error al iniciar la verificación de actualizaciones (código de error <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">El administrador estableció el estado de desaprovisionamiento para este dispositivo. Para poder utilizarlo en el registro, el administrador debe actualizar el estado del dispositivo a pendiente.</translation>
+<translation id="7090160970140261931">Puedes agregar una cuenta adicional a tu <ph name="DEVICE_TYPE" /> para usarlas en sitios web y apps para Android. También puedes controlar qué cuentas se usan en las apps para Android.</translation>
 <translation id="7093220653036489319">Respuestas rápidas</translation>
 <translation id="7093416310351037609">Con el fin de preservar la seguridad de los datos, tu organización requiere que todas las descargas aptas se guarden en la cuenta de <ph name="WEB_DRIVE" /> de tu organización.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6712,6 +6725,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> puede ver <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Agrega las palabras que quieras que el corrector ortográfico omita</translation>
+<translation id="7922935920104868876">Mostrar detalles sobre cómo bloquear cookies de terceros en el modo Incógnito</translation>
 <translation id="7924358170328001543">Se produjo un error al reenviar el puerto</translation>
 <translation id="7925108652071887026">Datos de Autocompletar</translation>
 <translation id="792514962475806987">Nivel de zoom en vista acoplada:</translation>
@@ -6876,6 +6890,7 @@
 <translation id="8076492880354921740">Pestañas</translation>
 <translation id="8076835018653442223">El administrador inhabilitó el acceso a los archivos locales de tu dispositivo</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Cuentas disponibles para usar en apps para Android</translation>
 <translation id="8081989000209387414">¿Quieres inhabilitar la depuración de adb?</translation>
 <translation id="8082106343289440791">¿Deseas vincular "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Si inhabilitas la depuración de adb, se restablecerá el dispositivo <ph name="DEVICE_TYPE" /> a la configuración de fábrica. Se borrarán todas las cuentas de usuario y los datos locales.</translation>
@@ -6950,6 +6965,7 @@
 <translation id="8147900440966275470">Se encontró <ph name="NUM" /> pestaña</translation>
 <translation id="8148760431881541277">Limitar el acceso</translation>
 <translation id="8149564499626272569">Verificar por teléfono con un cable USB</translation>
+<translation id="815114315010033526">Usar un código QR en su lugar</translation>
 <translation id="8151638057146502721">Configurar</translation>
 <translation id="8154790740888707867">Sin archivos</translation>
 <translation id="8154912474061769055">Es posible que algunas funciones no puedan utilizarse en muchos sitios.</translation>
@@ -6975,6 +6991,7 @@
 <translation id="8176332201990304395">Rosa y blanco</translation>
 <translation id="8177196903785554304">Detalles de la red</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Mover la pestaña a una ventana nueva}other{Mover las pestañas a una ventana nueva}}</translation>
+<translation id="8179188928355984576">No se usa en las apps para Android</translation>
 <translation id="8179976553408161302">Intro</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" puede leer y eliminar imágenes, videos y archivos de sonido en las ubicaciones marcadas.</translation>
 <translation id="8181215761849004992">No se puede unir al dominio. Verifica que tu cuenta tenga privilegios suficientes para agregar dispositivos.</translation>
@@ -7134,6 +7151,7 @@
 <translation id="8342861492835240085">Seleccionar una colección</translation>
 <translation id="8347227221149377169">Trabajos de impresión</translation>
 <translation id="834785183489258869">Cuando está activado el modo Incógnito, los sitios no pueden usar tus cookies para ver tu actividad de navegación en diferentes sitios, por ejemplo, para personalizar anuncios. Es posible que algunas funciones no puedan utilizarse en algunos sitios.</translation>
+<translation id="8349499562373871073">Puedes seleccionar una cuenta existente para usar en las apps para Android, o bien, agregar una Cuenta de Google nueva. Una vez que accedas a una app para Android, podrás usar tu cuenta en otras apps para Android. Puedes cambiar el acceso de las apps para Android en <ph name="LINK_BEGIN" />Configuración &gt; Cuentas<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Herramientas de la pluma stylus en el panel</translation>
 <translation id="8351316842353540018">Mostrar siempre las opciones de accesibilidad</translation>
 <translation id="8351419472474436977">Esta extensión tomó control de tu configuración de proxy, lo que significa que puede cambiar, dañar o espiar cualquier actividad que realices en línea. Si sabes con certeza por qué se produjo este cambio, probablemente no lo desees.</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index 9a32a51..19f828f 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> requiere que mantengas insertada tu tarjeta inteligente.}other{Tu sesión se cerrará automáticamente dentro de # segundos.
 <ph name="DOMAIN" /> requiere que mantengas insertada tu tarjeta inteligente.}}</translation>
 <translation id="1193927020065025187">Es posible que este sitio web esté intentando engañarte para que permitas notificaciones invasivas</translation>
+<translation id="1195210374336998651">Accede a la configuración de la aplicación</translation>
 <translation id="1195447618553298278">Error desconocido.</translation>
 <translation id="1195558154361252544">Las notificaciones se bloquean automáticamente en todos los sitios, excepto en los que las permitas.</translation>
 <translation id="1197088940767939838">Naranja</translation>
@@ -768,6 +769,7 @@
 <translation id="176587472219019965">&amp;Nueva ventana</translation>
 <translation id="1766575458646819543">Has salido de la pantalla completa</translation>
 <translation id="1766957085594317166">Guarda las contraseñas de forma segura en tu cuenta de Google y no tendrás que escribirlas nunca más.</translation>
+<translation id="1767043563165955993">Usar con aplicaciones Android</translation>
 <translation id="1768212860412467516">Escribe tus comentarios sobre <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">¡Vaya! No se ha podido establecer conexión con el servidor de inicio de sesión. Comprueba tu conexión de red y el nombre de dominio e inténtalo de nuevo.</translation>
 <translation id="1769104665586091481">Abrir enlace en una &amp;ventana nueva</translation>
@@ -1103,6 +1105,7 @@
 <translation id="2113479184312716848">Abrir &amp;archivo...</translation>
 <translation id="2113921862428609753">Acceso a la información de la entidad emisora</translation>
 <translation id="2114326799768592691">Volver a cargar &amp;marco</translation>
+<translation id="2114413269775311385">Usar esta cuenta con aplicaciones Android. Puedes controlar los permisos de aplicaciones Android en <ph name="LINK_BEGIN" />Configuración de aplicaciones<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto de <ph name="NAME" /></translation>
 <translation id="2114995631896158695">No hay ninguna tarjeta SIM insertada.</translation>
 <translation id="2116619964159595185">Los sitios se suelen conectar a dispositivos Bluetooth para usarlos en funciones como configurar o sincronizar una baliza electrónica, un monitor de actividad física o de salud, o una bombilla inteligente</translation>
@@ -1892,6 +1895,7 @@
 <translation id="287205682142673348">Redirección de puertos</translation>
 <translation id="287286579981869940">Añadir <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Apagar</translation>
+<translation id="2873995907777332853">Muestra información sobre cómo bloquear todas las cookies</translation>
 <translation id="2874939134665556319">Pista anterior</translation>
 <translation id="2875698561019555027">(Páginas de error de Chrome)</translation>
 <translation id="2876336351874743617">Dedo 2</translation>
@@ -1939,6 +1943,7 @@
 <translation id="2915873080513663243">Búsqueda automática</translation>
 <translation id="2916073183900451334">El tabulador permite destacar los enlaces de una página web, así como los campos de formulario.</translation>
 <translation id="2916745397441987255">Buscar extensiones</translation>
+<translation id="2918484639460781603">Ir a Configuración</translation>
 <translation id="2918484644467055090">Este dispositivo no se puede registrar en la organización a la que pertenece tu cuenta porque está marcado para que lo administre otra organización.</translation>
 <translation id="2920852127376356161">No pueden procesar protocolos</translation>
 <translation id="2921081876747860777">Crea una contraseña para proteger tus datos locales</translation>
@@ -2195,6 +2200,7 @@
 <translation id="3189187154924005138">Cursor grande</translation>
 <translation id="3190558889382726167">Contraseña guardada</translation>
 <translation id="3192947282887913208">Archivos de audio</translation>
+<translation id="3194786596445804250">Muestra información sobre cómo bloquear cookies de terceros</translation>
 <translation id="3197453258332670132">Si haces clic con el botón derecho en el texto seleccionado o lo mantienes pulsado se te mostrará información sobre él</translation>
 <translation id="3199127022143353223">Servidores</translation>
 <translation id="3200061262156232574">En tu carrito de la compra</translation>
@@ -2480,7 +2486,7 @@
 <translation id="3496689104192986836">Nivel de batería: <ph name="PERCENTAGE" /> %</translation>
 <translation id="3497501929010263034">Dispositivo USB de <ph name="VENDOR_NAME" /> (producto <ph name="PRODUCT_ID" />)</translation>
 <translation id="3497560059572256875">Compartir doodle</translation>
-<translation id="3498215018399854026">No hemos podido contactar con tu padre/madre/tutor. Vuelve a intentarlo.</translation>
+<translation id="3498215018399854026">No hemos podido contactar con tu padre/madre/tutor/a. Vuelve a intentarlo.</translation>
 <translation id="3500417806337761827">No se ha podido activar el sistema de archivos compartidos. Ya se han activado demasiados sistemas de archivos compartidos SMB.</translation>
 <translation id="3503995387997205657">Puedes restaurar tus aplicaciones anteriores</translation>
 <translation id="3505030558724226696">Revocar acceso al dispositivo</translation>
@@ -2562,6 +2568,7 @@
 <translation id="3592260987370335752">&amp;Más información</translation>
 <translation id="3593152357631900254">Habilitar modo de pinyin difuso</translation>
 <translation id="3593965109698325041">Restricciones de nombres de certificado</translation>
+<translation id="3596012367874587041">Configuración de la aplicación</translation>
 <translation id="3596414637720633074">Bloquear cookies de terceros en incógnito</translation>
 <translation id="3599221874935822507">Elevada</translation>
 <translation id="3599863153486145794">Borra el historial de todos los dispositivos en los que hayas iniciado sesión. Es posible que tu cuenta de Google tenga otros tipos de historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2938,6 +2945,7 @@
 <translation id="3943582379552582368">&amp;Atrás</translation>
 <translation id="3943857333388298514">Pegar</translation>
 <translation id="3945513714196326460">Prueba un nombre más corto</translation>
+<translation id="3947643756376959257">Introduce el código de acceso mostrado en el Chromecast o la televisión.</translation>
 <translation id="3948027458879361203">Cambiar nombre de host</translation>
 <translation id="3948116654032448504">&amp;Buscar imagen en <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> puede editar archivos de las siguientes carpetas</translation>
@@ -3179,12 +3187,14 @@
 <translation id="4210048056321123003">Descargando la máquina virtual</translation>
 <translation id="421182450098841253">&amp;Mostrar barra de marcadores</translation>
 <translation id="4211851069413100178">Enviar datos de uso y diagnóstico. Contribuye a mejorar tu experiencia de Android enviando automáticamente a Google datos de diagnóstico, del dispositivo y del uso de las aplicaciones. Los datos servirán para aumentar la estabilidad de las aplicaciones y del sistema y realizar otras mejoras. Parte de los datos recogidos también ayudarán a las aplicaciones y los colaboradores de Google, como los desarrolladores de Android. El propietario ha aplicado este <ph name="BEGIN_LINK1" />ajuste<ph name="END_LINK1" />. El propietario puede elegir si se envían a Google datos de uso y diagnóstico de este dispositivo. Si la opción Actividad en la Web y en Aplicaciones Adicional está activada, es posible que estos datos se guarden en tu cuenta de Google. <ph name="BEGIN_LINK2" />Más información<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Dejar de usar con aplicaciones Android</translation>
 <translation id="42126664696688958">Exportar</translation>
 <translation id="42137655013211669">El servidor ha prohibido el acceso a este recurso.</translation>
 <translation id="4217571870635786043">Dictado</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">No se ha podido activar.</translation>
 <translation id="4225397296022057997">En todos los sitios</translation>
+<translation id="4227605727325220318">Añadir un teléfono Android nuevo</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Esta extensión no está permitida}other{Algunas extensiones no están permitidas}}</translation>
 <translation id="4231095370974836764">Instala aplicaciones y juegos de Google Play en tu <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Configurar Kerberos</translation>
@@ -4715,6 +4725,7 @@
 <translation id="5862109781435984885">Mostrar herramientas del lápiz óptico en la estantería</translation>
 <translation id="5862319196656206789">Configurar dispositivos conectados</translation>
 <translation id="5863445608433396414">Habilitar funciones de depuración</translation>
+<translation id="5864147196375746035">Enviar a un dispositivo gestionado</translation>
 <translation id="5864195618110239517">Usar conexión de uso medido</translation>
 <translation id="5864754048328252126">Modo de inactividad durante la carga</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> se pausará pronto</translation>
@@ -5284,6 +5295,7 @@
 <translation id="6455264371803474013">En sitios específicos</translation>
 <translation id="6455894534188563617">&amp;Nueva carpeta</translation>
 <translation id="645705751491738698">Seguir bloqueando JavaScript</translation>
+<translation id="6458347417133445570">Muestra información sobre cómo permitir todas las cookies</translation>
 <translation id="6458701200018867744">No se ha podido subir (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Usar selección para buscar</translation>
 <translation id="6459799433792303855">La ventana activa se ha movido a otra pantalla.</translation>
@@ -5894,6 +5906,7 @@
 <translation id="7086672505018440886">Incluye archivos de registro de Chrome en el archivo.</translation>
 <translation id="7088434364990739311">No se ha podido iniciar la comprobación de actualizaciones (código de error <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">El administrador ha puesto este dispositivo en el estado Sin aprovisionamiento. Para poder registrarlo, el administrador debe actualizar el estado del dispositivo a Pendiente.</translation>
+<translation id="7090160970140261931">Puedes añadir cuentas adicionales a tu <ph name="DEVICE_TYPE" /> para usarlas con sitios web y aplicaciones Android. También puedes controlar qué cuentas se usan con aplicaciones Android.</translation>
 <translation id="7093220653036489319">Respuestas rápidas</translation>
 <translation id="7093416310351037609">Por motivos de seguridad de los datos, tu organización requiere que todas las descargas aptas se guarden en la cuenta de <ph name="WEB_DRIVE" /> de tu organización.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6714,6 +6727,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> puede ver <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Añade palabras que quieras que se omitan en el corrector ortográfico</translation>
+<translation id="7922935920104868876">Muestra información sobre cómo bloquear cookies de terceros en incógnito</translation>
 <translation id="7924358170328001543">No se ha podido redirigir el puerto</translation>
 <translation id="7925108652071887026">Datos de Autocompletar</translation>
 <translation id="792514962475806987">Nivel de zoom fijado:</translation>
@@ -6878,6 +6892,7 @@
 <translation id="8076492880354921740">Pestañas</translation>
 <translation id="8076835018653442223">Tu administrador ha inhabilitado el acceso a los archivos locales de tu dispositivo</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Cuentas disponibles para usar con aplicaciones Android</translation>
 <translation id="8081989000209387414">¿Quieres inhabilitar la depuración ADB?</translation>
 <translation id="8082106343289440791">¿Quieres emparejar "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Si se inhabilita la depuración ADB, se restablecerá la configuración de fábrica de este <ph name="DEVICE_TYPE" />. Se borrarán todas las cuentas de usuario y todos los datos locales.</translation>
@@ -6952,6 +6967,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> pestaña encontrada</translation>
 <translation id="8148760431881541277">Limitar inicio de sesión</translation>
 <translation id="8149564499626272569">Verificar mediante tu teléfono con un cable USB</translation>
+<translation id="815114315010033526">Usar código QR</translation>
 <translation id="8151638057146502721">Configurar</translation>
 <translation id="8154790740888707867">Ningún archivo encontrado</translation>
 <translation id="8154912474061769055">Es posible que las funciones de muchos sitios no funcionen</translation>
@@ -6977,6 +6993,7 @@
 <translation id="8176332201990304395">Rosa y blanco</translation>
 <translation id="8177196903785554304">Información de la red</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Mover pestaña a una nueva ventana}other{Mover pestañas a una nueva ventana}}</translation>
+<translation id="8179188928355984576">No usada con aplicaciones Android</translation>
 <translation id="8179976553408161302">Intro</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" puede leer y eliminar imágenes, vídeos y archivos de sonido en las ubicaciones seleccionadas.</translation>
 <translation id="8181215761849004992">No se puede vincular el dispositivo. Consulta en tu cuenta si tienes permisos suficientes para añadir dispositivos.</translation>
@@ -7136,6 +7153,7 @@
 <translation id="8342861492835240085">Seleccionar una colección</translation>
 <translation id="8347227221149377169">Trabajos de impresión</translation>
 <translation id="834785183489258869">Mientras estás en modo de incógnito, los sitios no pueden usar las cookies para ver tu actividad de navegación en otros sitios con el objetivo de, por ejemplo, personalizar tus anuncios. Es posible que las funciones de algunos sitios no funcionen.</translation>
+<translation id="8349499562373871073">Puedes seleccionar una cuenta de Google para usarla con aplicaciones Android o añadir una nueva. Cuando inicies sesión en una aplicación Android, tu cuenta podrá usarse en otras aplicaciones Android. Puedes cambiar el acceso a aplicaciones Android en <ph name="LINK_BEGIN" />Ajustes &gt; Cuentas<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Herramientas del lápiz óptico en el Dock</translation>
 <translation id="8351316842353540018">Mostrar siempre las opciones de accesibilidad</translation>
 <translation id="8351419472474436977">Esta extensión ha tomado el control de la configuración del proxy, lo que significa que puede cambiar, deshacer o espiar cualquier acción que hagas online. Si no estás seguro de los motivos por los que se ha producido este cambio, probablemente no lo quieras.</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index 26bcab2..022100e 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> nõuab, et teie kiipkaart oleks pidevalt sisestatud.}other{Teid logitakse # sekundi pärast automaatselt välja.
 <ph name="DOMAIN" /> nõuab, et teie kiipkaart oleks pidevalt sisestatud.}}</translation>
 <translation id="1193927020065025187">See sait võib üritada meelitada teid lubama sekkuvaid märguandeid</translation>
+<translation id="1195210374336998651">Rakenduse seadete avamine</translation>
 <translation id="1195447618553298278">Tundmatu viga.</translation>
 <translation id="1195558154361252544">Märguanded blokeeritakse automaatselt kõigi saitide, välja arvatud lubatud saitide puhul.</translation>
 <translation id="1197088940767939838">Oranž</translation>
@@ -771,6 +772,7 @@
 <translation id="176587472219019965">&amp;Uus aken</translation>
 <translation id="1766575458646819543">Väljuti täisekraanirežiimist</translation>
 <translation id="1766957085594317166">Salvestage paroolid turvaliselt oma Google'i kontole ja te ei pea neid enam kunagi sisestama</translation>
+<translation id="1767043563165955993">Kasuta Androidi rakendustega</translation>
 <translation id="1768212860412467516">Katse <ph name="EXPERIMENT_NAME" /> kohta tagasiside saatmine.</translation>
 <translation id="1768278914020124551">Vabandust! Sisselogimisserveriga ühenduse võtmisel ilmnes probleem. Kontrollige oma võrguühendust ja domeeni nime ning proovige siis uuesti.</translation>
 <translation id="1769104665586091481">Ava link uues &amp;aknas</translation>
@@ -1106,6 +1108,7 @@
 <translation id="2113479184312716848">Ava &amp;fail ...</translation>
 <translation id="2113921862428609753">Juurdepääs keskuseteabele</translation>
 <translation id="2114326799768592691">Laadi &amp;raam uuesti</translation>
+<translation id="2114413269775311385">Kasutage seda kontot Androidi rakendustega. Saate Androidi rakenduste lube hallata jaotises <ph name="LINK_BEGIN" />Rakenduste seaded<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto autor: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">SIM-kaarti pole sisestatud</translation>
 <translation id="2116619964159595185">Saidid loovad Bluetooth-seadmetega ühenduse tavaliselt teatud funktsioonide jaoks, nagu väikese energiakuluga majaka, tervise- või treeningurakenduse või nutivalgusti pirni seadistamine või sünkroonimine</translation>
@@ -1898,6 +1901,7 @@
 <translation id="287205682142673348">Pordisiire</translation>
 <translation id="287286579981869940">Lisa <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Lülita välja</translation>
+<translation id="2873995907777332853">Kuva üksikasjad kõigi küpsisefailide blokeerimise kohta</translation>
 <translation id="2874939134665556319">Eelmine lugu</translation>
 <translation id="2875698561019555027">(Chrome'i vealehed)</translation>
 <translation id="2876336351874743617">2. sõrm</translation>
@@ -1945,6 +1949,7 @@
 <translation id="2915873080513663243">Automaatne skannimine</translation>
 <translation id="2916073183900451334">Veebilehel tabeldusklahvi vajutades tõstetakse esile lingid ja ka vormiväljad</translation>
 <translation id="2916745397441987255">Otsige laiendusi</translation>
+<translation id="2918484639460781603">Ava seaded</translation>
 <translation id="2918484644467055090">Seda seadet ei saa registreerida organisatsioonis, kuhu teie konto kuulub, sest seade on märgitud teises organisatsioonis haldamiseks.</translation>
 <translation id="2920852127376356161">Pole lubatud protokolle käsitleda</translation>
 <translation id="2921081876747860777">Looge parool, et oma kohalikke andmeid kaitsta.</translation>
@@ -2201,6 +2206,7 @@
 <translation id="3189187154924005138">Suur kursor</translation>
 <translation id="3190558889382726167">Parool salvestati</translation>
 <translation id="3192947282887913208">Helifailid</translation>
+<translation id="3194786596445804250">Kuva üksikasjad kolmanda osapoole küpsisefailide blokeerimise kohta</translation>
 <translation id="3197453258332670132">Paremkliki või pika vajutusega kuvatakse valitud teksti kohta seotud teavet</translation>
 <translation id="3199127022143353223">Serverid</translation>
 <translation id="3200061262156232574">Teie ostukorvis</translation>
@@ -2568,6 +2574,7 @@
 <translation id="3592260987370335752">&amp;Lisateave</translation>
 <translation id="3593152357631900254">Luba hägus pinyini režiim</translation>
 <translation id="3593965109698325041">Sertifikaadi nimepiirangud</translation>
+<translation id="3596012367874587041">Rakenduse seaded</translation>
 <translation id="3596414637720633074">Blokeerige kolmanda osapoole küpsisefailid inkognito režiimis</translation>
 <translation id="3599221874935822507">Tõstetud</translation>
 <translation id="3599863153486145794">Kustutab ajaloo kõigist sisselogitud seadmetest. Aadressil <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> võib teie Google'i kontol olla muus vormis sirvimisajalugu.</translation>
@@ -2945,6 +2952,7 @@
 <translation id="3943582379552582368">&amp;Tagasi</translation>
 <translation id="3943857333388298514">Kleebi</translation>
 <translation id="3945513714196326460">Proovige lühemat nime</translation>
+<translation id="3947643756376959257">Sisestage Chromecastis või teleris kuvatud pääsukood.</translation>
 <translation id="3948027458879361203">Hosti nime muutmine</translation>
 <translation id="3948116654032448504">&amp;Otsi teenusest <ph name="SEARCH_ENGINE" /> kujutist</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> saab muuta järgmistes kaustades olevaid faile</translation>
@@ -3186,12 +3194,14 @@
 <translation id="4210048056321123003">Virtuaalseadme allalaadimine</translation>
 <translation id="421182450098841253">Kuva &amp;järjehoidjariba</translation>
 <translation id="4211851069413100178">Saada kasutus- ja diagnostikaandmeid. Aidake täiustada Androidi kasutuskogemust, saates Google'ile automaatselt seadme teavet ning rakenduse kasutus- ja  diagnostikaandmeid. See aitab parandada süsteemi ja rakenduse stabiilsust ning muud. Teatud koondandmed on abiks ka Google'i rakendustele ja partneritele, näiteks Androidi arendajatele. Selle <ph name="BEGIN_LINK1" />seade<ph name="END_LINK1" /> on jõustanud omanik. Omanik võib otsustada saata Google'ile selle seadme diagnostika- ja kasutusandmeid. Kui täiendavad veebi- ja rakendustegevused on sisse lülitatud, võidakse need andmed salvestada teie Google'i kontole. <ph name="BEGIN_LINK2" />Lisateave<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Lõpeta Androidi rakendustega kasutamine</translation>
 <translation id="42126664696688958">Eksportimine</translation>
 <translation id="42137655013211669">Server keelas juurdepääsu ressursile.</translation>
 <translation id="4217571870635786043">Dikteerimine</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Aktiveerimisel ilmnes viga.</translation>
 <translation id="4225397296022057997">Kõikidel saitidel</translation>
+<translation id="4227605727325220318">Lisa uus Android-telefon</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{See laiendus pole lubatud}other{Mõned laiendused pole lubatud}}</translation>
 <translation id="4231095370974836764">Installige Google Playst oma seadmesse <ph name="DEVICE_TYPE" /> rakendusi ja mänge. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Kerberose seadistamine</translation>
@@ -4722,6 +4732,7 @@
 <translation id="5862109781435984885">Kuva riiulis elektronpliiatsi tööriistad</translation>
 <translation id="5862319196656206789">Ühendatud seadmete seadistamine</translation>
 <translation id="5863445608433396414">Silumisfunktsioonide lubamine</translation>
+<translation id="5864147196375746035">Ülekandmine hallatud seadmesse</translation>
 <translation id="5864195618110239517">Kasuta mahupõhist ühendust</translation>
 <translation id="5864754048328252126">Toiming Tegevusetu laadimise ajal</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> peatatakse varsti</translation>
@@ -5291,6 +5302,7 @@
 <translation id="6455264371803474013">Konkreetsetel saitidel</translation>
 <translation id="6455894534188563617">&amp;Uus kaust</translation>
 <translation id="645705751491738698">Jätka JavaScripti blokeerimist</translation>
+<translation id="6458347417133445570">Kuva üksikasjad kõigi küpsisefailide lubamise kohta</translation>
 <translation id="6458701200018867744">Üleslaadimine nurjus (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Kasuta otsimiseks valikut</translation>
 <translation id="6459799433792303855">Aktiivne aken teisaldati teisele ekraanile.</translation>
@@ -5901,6 +5913,7 @@
 <translation id="7086672505018440886">Kaasake sellesse arhiivi Chrome'i logifailid.</translation>
 <translation id="7088434364990739311">Värskenduste otsimist ei õnnestunud käivitada (veakood <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Administraator on määranud seadme mittetoetatud olekusse. Liitumise lubamiseks paluge administraatoril määrata seade ootel olekusse.</translation>
+<translation id="7090160970140261931">Saate oma seadmesse <ph name="DEVICE_TYPE" /> lisada täiendavaid kontosid, mida veebisaitide ja Androidi rakendustega kasutada. Samuti saate juhtida, milliseid kontosid Androidi rakendustega kasutatakse.</translation>
 <translation id="7093220653036489319">Kiired vastused</translation>
 <translation id="7093416310351037609">Andmete ohutuse ja turvalisuse huvides nõuab teie organisatsioon kõigi sobilike allalaadimiste salvestamist organisatsiooni teenuse <ph name="WEB_DRIVE" /> kontole.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6721,6 +6734,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> saab vaadata faili <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Lisage sõnad, mille soovite lasta õigekirjakontrollil vahele jätta</translation>
+<translation id="7922935920104868876">Kuva üksikasjad kolmanda osapoole küpsisefailide blokeerimise kohta inkognito režiimis</translation>
 <translation id="7924358170328001543">Viga pordi edastamisel</translation>
 <translation id="7925108652071887026">Andmete automaatne täitmine</translation>
 <translation id="792514962475806987">Dokitud luubi suumitase:</translation>
@@ -6885,6 +6899,7 @@
 <translation id="8076492880354921740">Vahelehed</translation>
 <translation id="8076835018653442223">Teie administraator on keelanud seadmes juurdepääsu kohalikele failidele</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Kontod, mis on saadaval Androidi rakendustega kasutamiseks</translation>
 <translation id="8081989000209387414">Kas keelata ADB silumine?</translation>
 <translation id="8082106343289440791">Kas siduda seadmega „<ph name="DEVICE_NAME" />”?</translation>
 <translation id="8082390128630131497">ADB silumise keelamine lähtestab seadme <ph name="DEVICE_TYPE" /> tehaseseadetele. Kõik kasutajakontod ja kohalikud andmed tühjendatakse.</translation>
@@ -6959,6 +6974,7 @@
 <translation id="8147900440966275470">Leiti <ph name="NUM" /> vaheleht</translation>
 <translation id="8148760431881541277">Sisselogimise piiramine</translation>
 <translation id="8149564499626272569">Kinnita telefoniga USB-kaabli kaudu</translation>
+<translation id="815114315010033526">Kasuta selle asemel QR-koodi</translation>
 <translation id="8151638057146502721">Seadista</translation>
 <translation id="8154790740888707867">Fail puudub</translation>
 <translation id="8154912474061769055">Funktsioonid ei pruugi paljudel saitidel toimida</translation>
@@ -6984,6 +7000,7 @@
 <translation id="8176332201990304395">Roosa ja valge</translation>
 <translation id="8177196903785554304">Võrgu üksikasjad</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Teisalda vaheleht uude aknasse}other{Teisalda vahelehed uude aknasse}}</translation>
+<translation id="8179188928355984576">Ei kasutata Androidi rakendustega</translation>
 <translation id="8179976553408161302">Sisestusklahv</translation>
 <translation id="8180786512391440389">„<ph name="EXTENSION" />” saab märgitud asukohtade pildi-, video- ja helifaile lugeda ning kirjutada.</translation>
 <translation id="8181215761849004992">Domeeniga ei saa liituda. Kontrollige oma kontot ja veenduge, et teil oleks seadmete lisamiseks piisavad õigused.</translation>
@@ -7143,6 +7160,7 @@
 <translation id="8342861492835240085">Kogu valimine</translation>
 <translation id="8347227221149377169">Prinditööd</translation>
 <translation id="834785183489258869">Inkognito režiimis ei saa saidid eri saitidel küpsisefailide kaudu teie sirvimistegevusi jälgida, näiteks selleks, et reklaame isikupärastada. Funktsioonid ei pruugi mõnel saidil toimida.</translation>
+<translation id="8349499562373871073">Saate valida olemasoleva konto, mida kasutada Androidi rakendustega, või lisada uue Google'i konto. Kui Androidi rakendusse sisse logite, saab teie kontot kasutada muude Androidi rakendustega. Saate Androidi rakenduste juurdepääsu muuta menüüs <ph name="LINK_BEGIN" />Seaded &gt; Kontod<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Elektronpliiatsi tööriistad dokis</translation>
 <translation id="8351316842353540018">Kuva alati a11y valikud</translation>
 <translation id="8351419472474436977">Laiendus on hõivanud puhverserveri seaded, mis tähendab, et see saab muuta, lõhkuda või kuulata pealt kogu teie veebitegevust. Kui te pole kindel, miks see muudatus toimus, siis te tõenäoliselt ei taha seda.</translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb
index db161a0..6859c45 100644
--- a/chrome/app/resources/generated_resources_eu.xtb
+++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -204,6 +204,7 @@
 Txartel adimenduna sartuta edukitzea eskatzen du <ph name="DOMAIN" /> domeinuak.}other{# segundo barru amaituko da saioa automatikoki.
 Txartel adimenduna sartuta edukitzea eskatzen du <ph name="DOMAIN" /> domeinuak.}}</translation>
 <translation id="1193927020065025187">Webgune hau zu iruzurtzen saiatzen ari da jakinarazpen oztopatzaileak baimen ditzazun</translation>
+<translation id="1195210374336998651">Joan aplikazioen ezarpenetara</translation>
 <translation id="1195447618553298278">Errore ezezaguna.</translation>
 <translation id="1195558154361252544">Webgune guztien jakinarazpenak automatikoki blokeatzen dira, zuk baimentzen dituzunenak izan ezik</translation>
 <translation id="1197088940767939838">Laranja</translation>
@@ -1893,6 +1894,7 @@
 <translation id="287205682142673348">Ataka-birbideratzea</translation>
 <translation id="287286579981869940">Gehitu <ph name="PROVIDER_NAME" /></translation>
 <translation id="2872961005593481000">Itzali</translation>
+<translation id="2873995907777332853">Erakutsi cookie guztiak blokeatzeari buruzko xehetasunak</translation>
 <translation id="2874939134665556319">Aurreko pista</translation>
 <translation id="2875698561019555027">(Chrome errore-orriak)</translation>
 <translation id="2876336351874743617">2. hatz-marka</translation>
@@ -2196,6 +2198,7 @@
 <translation id="3189187154924005138">Kurtsore handia</translation>
 <translation id="3190558889382726167">Gorde da pasahitza</translation>
 <translation id="3192947282887913208">Audio-fitxategiak</translation>
+<translation id="3194786596445804250">Erakutsi hirugarrenen cookieak blokeatzeari buruzko xehetasunak</translation>
 <translation id="3197453258332670132">Eskuineko botoiarekin klik eginda edo luze sakatuta, erakutsi hautatutako testuarekin erlazionatutako informazioa</translation>
 <translation id="3199127022143353223">Zerbitzariak</translation>
 <translation id="3200061262156232574">Erosketa-saskian</translation>
@@ -2563,6 +2566,7 @@
 <translation id="3592260987370335752">&amp;Lortu informazio gehiago</translation>
 <translation id="3593152357631900254">Gaitu Fuzzy-Pinyin modua</translation>
 <translation id="3593965109698325041">Ziurtagiri-izenen murriztapenak</translation>
+<translation id="3596012367874587041">Aplikazioen ezarpenak</translation>
 <translation id="3596414637720633074">Blokeatu hirugarrenen cookieak ezkutuko moduan</translation>
 <translation id="3599221874935822507">Goratua</translation>
 <translation id="3599863153486145794">Saioa hasita daukaten gailu guztietako historia garbitzen du. Google-ko kontuko historia arakatzeko beste modu batzuk aurki zenitzake <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> webgunean.</translation>
@@ -5290,6 +5294,7 @@
 <translation id="6455264371803474013">Webgune zehatzetan</translation>
 <translation id="6455894534188563617">&amp;Karpeta berria</translation>
 <translation id="645705751491738698">Jarraitu JavaScript blokeatzen</translation>
+<translation id="6458347417133445570">Erakutsi cookie guztiak erabiltzeko baimenari buruzko xehetasunak</translation>
 <translation id="6458701200018867744">Ezin izan da kargatu (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Erabili hautespena aurkitzeko</translation>
 <translation id="6459799433792303855">Beste pantaila batera eraman da leiho aktiboa.</translation>
@@ -6720,6 +6725,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> webguneak <ph name="FILENAME" /> ikus dezake</translation>
 <translation id="7920482456679570420">Gehitu zer hitz nahi duzun ortografia-zuzentzaileak saltatzea</translation>
+<translation id="7922935920104868876">Erakutsi ezkutuko moduan hirugarrenen cookieak blokeatzeari buruzko xehetasunak</translation>
 <translation id="7924358170328001543">Errore bat gertatu da ataka desbideratzean</translation>
 <translation id="7925108652071887026">Bete datuak automatikoki</translation>
 <translation id="792514962475806987">Ainguratzearen zoom-maila:</translation>
@@ -6883,6 +6889,7 @@
 <translation id="8076492880354921740">Fitxak</translation>
 <translation id="8076835018653442223">Administratzaileak zure gailuko fitxategi lokaletarako sarbidea blokeatu du</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Android-erako aplikazioetan saioa hasteko erabilgarri dauden kontuak</translation>
 <translation id="8081989000209387414">ADB arazketa desgaitu nahi duzu?</translation>
 <translation id="8082106343289440791">"<ph name="DEVICE_NAME" />" gailuarekin parekatu?</translation>
 <translation id="8082390128630131497">ADB arazketa desgaitzen baduzu, <ph name="DEVICE_TYPE" /> gailuaren jatorrizko ezarpenak berrezarriko dira. Erabiltzaile-kontu guztiak eta gailuko datuak ezabatu egingo dira.</translation>
@@ -7143,6 +7150,7 @@
 <translation id="8342861492835240085">Hautatu bilduma bat</translation>
 <translation id="8347227221149377169">Inprimatze-lanak</translation>
 <translation id="834785183489258869">Ezkutuko moduan zaudenean, webguneek ezin dituzte erabili cookieak beste webguneetan egiten dituzun arakatze-jarduerak ikusteko, hala nola iragarkiak pertsonalizatzeko. Baliteke webgune batzuetako eginbideek ez funtzionatzea.</translation>
+<translation id="8349499562373871073">Lehendik daukazun kontu bat hauta dezakezu Android-erako aplikazioekin erabiltzeko. Bestela, gehitu Google-ko beste kontu bat. Android-erako aplikazio batean saioa hasten baduzu, kontu hori Android-erako beste aplikazio batzuetan erabili ahal izango da. Android-erako aplikazioetarako sarbidea aldatzeko, joan <ph name="LINK_BEGIN" />Ezarpenak &gt; Kontuak<ph name="LINK_END" /> atalera.</translation>
 <translation id="8350789879725387295">Arkatzaren tresnak oinarrian</translation>
 <translation id="8351316842353540018">Erakutsi beti erabilerraztasun-aukerak</translation>
 <translation id="8351419472474436977">Luzapen honek zure proxy-ezarpenen kontrola hartu du; alegia, sarean egiten duzun edozer alda, honda edo zelata dezake. Aldaketa zergatik gertatu den ziur ez badakizu, baliteke aldaketa nahi ez izatea.</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 6f29b11..6a4b710d 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -207,6 +207,7 @@
 برای اینکه از سیستم <ph name="DOMAIN" /> خارج نشوید، باید کارت هوشمندتان را در دستگاه نگه دارید.}other{# ثانیه دیگر به‌طور خودکار از سیستم خارج خواهید شد.
 برای اینکه از سیستم <ph name="DOMAIN" /> خارج نشوید، باید کارت هوشمندتان را در دستگاه نگه دارید.}}</translation>
 <translation id="1193927020065025187">شاید این سایت تلاش می‌کند شما را برای مجاز کردن اعلان‌های مزاحم فریب دهد.</translation>
+<translation id="1195210374336998651">رفتن به تنظیمات برنامه</translation>
 <translation id="1195447618553298278">خطای ناشناس.</translation>
 <translation id="1195558154361252544">اعلان‌ها به‌طور خودکار برای همه سایت‌ها، به‌جز آن‌هایی که مجاز کرده‌اید، مسدود می‌شوند</translation>
 <translation id="1197088940767939838">نارنجی</translation>
@@ -387,6 +388,7 @@
 <translation id="1396259464226642517">این نتیجه غیرمنتظره بود؟ <ph name="BEGIN_LINK" />ارسال بازخورد<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">نام کاربری و گذرواژه‌ای که وارد کرده‌اید، مطابقت ندارند</translation>
 <translation id="1397500194120344683">دستگاه واجد شرایطی وجود ندارد. <ph name="LINK_BEGIN" />بیشتر بدانید.<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">‏در این دستگاه‌ها به سیستم Chrome وارد شده‌اید، بنابراین می‌توانید از آن‌ها به‌عنوان کلید امنیتی استفاده کنید.</translation>
 <translation id="1398853756734560583">بزرگ کردن</translation>
 <translation id="139911022479327130">باز کردن قفل تلفن و تأیید کردن اینکه خودتان هستید</translation>
 <translation id="1401308693935339022">‏استفاده از مکان. به برنامه‌ها و سرویس‌هایی که اجازه مکان دارند اجازه می‌دهید از مکان این دستگاه استفاده کنند. Google ممکن است به‌صورت دوره‌ای داده‌های مکان را جمع‌آوری کند و از این داده‌ها به شیوه‌ای ناشناس برای بهبود دقت مکان و خدمات مکان‌مبنا استفاده کند.</translation>
@@ -1177,6 +1179,7 @@
 <translation id="2163470535490402084">لطفاً برای ورود به سیستم در <ph name="DEVICE_TYPE" /> خود، به اینترنت وصل شوید.</translation>
 <translation id="2163937499206714165">روشن کردن حالت تاریک</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />، <ph name="SECOND_SWITCH" />، <ph name="THIRD_SWITCH" />، و ۱ کلید دیگر</translation>
+<translation id="2165102982098084499">این دستگاه‌ها را با اسکن کردن رمزینه پاسخ‌سریع پیوند داده‌اید.</translation>
 <translation id="2165177462441582039">انتخاب کنید هر مورد چه مدت برجسته بماند</translation>
 <translation id="2166369534954157698">روباه قهوه‌ای چالاک از روی سگ تنبل پرید</translation>
 <translation id="2169062631698640254">در هر صورت وارد سیستم شود</translation>
@@ -1954,6 +1957,7 @@
 <translation id="2915873080513663243">اسکن-خودکار</translation>
 <translation id="2916073183900451334">‏فشار دادن Tab در صفحهٔ وب، پیوندها و قسمت‌های فرم را برجسته می‌کند</translation>
 <translation id="2916745397441987255">جستجوی افزونه‌ها</translation>
+<translation id="2918484639460781603">رفتن به تنظیمات</translation>
 <translation id="2918484644467055090">نمی‌توان این دستگاه را در سازمانی که حسابتان متعلق به آن است ثبت‌نام کرد زیرا دستگاه برای مدیریت توسط سازمان دیگری علامت‌گذاری شده است.</translation>
 <translation id="2920852127376356161">اجازه ندارد پروتکل‌ها را کنترل کند</translation>
 <translation id="2921081876747860777">لطفاً برای محافظت از داده محلی گذرواژه‌ای ایجاد کنید.</translation>
@@ -2578,6 +2582,7 @@
 <translation id="3592260987370335752">&amp;بیشتر بیاموزید</translation>
 <translation id="3593152357631900254">‏فعال کردن حالت Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">محدودیتهای نام گواهی</translation>
+<translation id="3596012367874587041">تنظیمات برنامه</translation>
 <translation id="3596414637720633074">مسدود کردن کوکی‌های شخص ثالث در «حالت ناشناس»</translation>
 <translation id="3599221874935822507">برجسته</translation>
 <translation id="3599863153486145794">‏سابقه را از همه دستگاه‌های به سیستم واردشده پاک می‌کند. ممکن است حساب Google شما اشکال دیگری از سابقه مرور در <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> داشته باشد.</translation>
@@ -5699,6 +5704,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> ثانیه</translation>
 <translation id="6860097299815761905">تنظیمات پراکسی...</translation>
 <translation id="6860427144121307915">باز کردن در یک برگه</translation>
+<translation id="6863496016067551393">همه افزونه‌ها مجاز هستند</translation>
 <translation id="686366188661646310">گذرواژه حذف شود؟</translation>
 <translation id="6865313869410766144">تکمیل خودکار داده‌های فرم</translation>
 <translation id="6865598234501509159">صفحه به زبان <ph name="LANGUAGE" /> نیست</translation>
@@ -5728,6 +5734,7 @@
 <translation id="6900532703269623216">محافظت بهبودیافته</translation>
 <translation id="6900651018461749106">برای به‌روزرسانی <ph name="USER_EMAIL" />، دوباره به سیستم وارد شوید</translation>
 <translation id="6900654715912436255">مطمئنید می‌خواهید این موتور جستجو را حذف کنید؟</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">انتخاب صدا برای پیش‌نمایش</translation>
 <translation id="6902336033320348843">بخش پشتیبانی نمی‌شود: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">اتصال دستگاه به دامنه</translation>
@@ -7380,6 +7387,7 @@
 <translation id="8610103157987623234">قالب نادرست است، لطفاً دوباره امتحان کنید</translation>
 <translation id="8611682088849615761">‏کنترل کامل این سایت روی دستگاه‌های MIDI همچنان مجاز باشد</translation>
 <translation id="8613164732773110792">نویسه‌های حروف کوچک، ارقام، زیرخط‌ها یا فقط خطوط تیره</translation>
+<translation id="8613645710357126807">استفاده از افزونه‌ها مجاز نیست</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> برای بررسی امنیتی بسیار بزرگ است. فایل‌های تا حداکثر ۵۰ مگابایت را می‌توانید باز کنید.</translation>
 <translation id="8615618338313291042">برنامه ناشناس: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">افزودن <ph name="CONTACT_NAME" /> به مخاطبین</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 8897b124..4e71dd8c 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> ei salli älykortin poistamista.}other{Sinut kirjataan automaattisesti ulos # sekunnin päästä.
 <ph name="DOMAIN" /> ei salli älykortin poistamista.}}</translation>
 <translation id="1193927020065025187">Tämä sivusto saattaa yrittää huijata sinua sallimaan häiritseviä ilmoituksia</translation>
+<translation id="1195210374336998651">Siirry sovellusasetuksiin</translation>
 <translation id="1195447618553298278">Tuntematon virhe.</translation>
 <translation id="1195558154361252544">Ilmoitukset estetään automaattisesti kaikilla muilla paitsi sallituilla sivustoilla</translation>
 <translation id="1197088940767939838">Oranssi</translation>
@@ -778,6 +779,7 @@
 <translation id="176587472219019965">Uusi ikku&amp;na</translation>
 <translation id="1766575458646819543">Poistuttiin koko näytön tilasta</translation>
 <translation id="1766957085594317166">Tallenna salasanat turvallisesti Google-tilillesi, niin et joudu koskaan enää kirjoittamaan niitä.</translation>
+<translation id="1767043563165955993">Käytä Android-sovelluksissa</translation>
 <translation id="1768212860412467516">Lähetä palautetta kokeilusta (<ph name="EXPERIMENT_NAME" />)</translation>
 <translation id="1768278914020124551">Hups! Kirjautumispalvelimeesi yhdistämisessä oli ongelma. Tarkista verkkoyhteytesi ja verkkotunnuksen nimi, ja yritä sitten uudelleen.</translation>
 <translation id="1769104665586091481">Avaa linkki uudessa &amp;ikkunassa</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2113479184312716848">Avaa &amp;tiedosto...</translation>
 <translation id="2113921862428609753">Myöntäjän tietojen käyttö</translation>
 <translation id="2114326799768592691">Lataa kehys uudelleen</translation>
+<translation id="2114413269775311385">Käytä tiliä Android-sovellusten kanssa. Voit päättää Android-sovellusten luvista <ph name="LINK_BEGIN" />sovellusten asetuksissa<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Kuvaaja: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">SIM-korttia ei ole asetettu</translation>
 <translation id="2116619964159595185">Sivustot yhdistävät yleensä Bluetooth-laitteisiin esim. ottaakseen käyttöön tai synkronoidakseen vähän virtaa käyttävän majakan, terveys- tai liikuntaseurannan tai älylampun</translation>
@@ -1906,6 +1909,7 @@
 <translation id="287205682142673348">Porttiohjaus</translation>
 <translation id="287286579981869940">Lisää <ph name="PROVIDER_NAME" />…</translation>
 <translation id="2872961005593481000">Sammuta</translation>
+<translation id="2873995907777332853">Näytä tietoa kaikkien evästeiden estämisestä</translation>
 <translation id="2874939134665556319">Edellinen kappale</translation>
 <translation id="2875698561019555027">(Chromen virhesivut)</translation>
 <translation id="2876336351874743617">Sormi 2</translation>
@@ -1953,6 +1957,7 @@
 <translation id="2915873080513663243">Automaattinen skannaus</translation>
 <translation id="2916073183900451334">Sarkaimen painaminen verkkosivulla korostaa linkit ja lomakekentät</translation>
 <translation id="2916745397441987255">Hae laajennuksia</translation>
+<translation id="2918484639460781603">Avaa asetukset</translation>
 <translation id="2918484644467055090">Tätä laitetta ei voi rekisteröidä organisaatiolle, johon tilisi kuuluu, koska laite on merkitty eri organisaation hallinnoitavaksi.</translation>
 <translation id="2920852127376356161">Protokollien käsittely kielletty</translation>
 <translation id="2921081876747860777">Suojaa paikalliset tiedot luomalla salasana</translation>
@@ -2209,6 +2214,7 @@
 <translation id="3189187154924005138">Suuri kohdistin</translation>
 <translation id="3190558889382726167">Salasana on tallennettu</translation>
 <translation id="3192947282887913208">Äänitiedostot</translation>
+<translation id="3194786596445804250">Näytä tietoa kolmansien osapuolten evästeiden estämisestä</translation>
 <translation id="3197453258332670132">Näytä valittuun tekstiin liittyviä tietoja klikkaamalla kakkospainikkeella tai painamalla pitkään</translation>
 <translation id="3199127022143353223">Palvelimet</translation>
 <translation id="3200061262156232574">Ostoskorissa</translation>
@@ -2576,6 +2582,7 @@
 <translation id="3592260987370335752">&amp;Lisätietoja</translation>
 <translation id="3593152357631900254">Ota Fuzzy-Pinyin-tila käyttöön</translation>
 <translation id="3593965109698325041">Varmenteen nimirajoitukset</translation>
+<translation id="3596012367874587041">Sovellusasetukset</translation>
 <translation id="3596414637720633074">Kolmannen osapuolen evästeiden estäminen incognito-tilassa</translation>
 <translation id="3599221874935822507">Korotettu</translation>
 <translation id="3599863153486145794">Tyhjentää kaikkien sisäänkirjautuneiden laitteiden historian. Google-tililläsi voi olla muuta toimintaa osoitteessa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2950,6 +2957,7 @@
 <translation id="3943582379552582368">&amp;Edellinen</translation>
 <translation id="3943857333388298514">Liitä</translation>
 <translation id="3945513714196326460">Kokeile lyhyempää nimeä</translation>
+<translation id="3947643756376959257">Lisää Chromecastissa tai televisiossa näkyvä käyttökoodi.</translation>
 <translation id="3948027458879361203">Muuta isäntänimeä</translation>
 <translation id="3948116654032448504">&amp;Hae kuvaa (<ph name="SEARCH_ENGINE" />)</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> saa muokata seuraavien kansioiden tiedostoja</translation>
@@ -3191,12 +3199,14 @@
 <translation id="4210048056321123003">Ladataan virtuaalikonetta</translation>
 <translation id="421182450098841253">Näytä kirjanmerkkipalkki</translation>
 <translation id="4211851069413100178">Lähetä käyttö- ja diagnostiikkadataa. Auta parantamaan Android-käyttökokemusta lähettämällä diagnostiikkadataa sekä laitteen ja sovellusten käyttödataa automaattisesti Googlelle. Datan avulla parannetaan esimerkiksi järjestelmän ja sovellusten vakautta. Kootusta datasta on hyötyä myös Googlen sovelluksille ja kumppaneille, kuten Android-kehittäjille. Omistaja on ottanut tämän <ph name="BEGIN_LINK1" />asetuksen<ph name="END_LINK1" /> käyttöön. Omistaja voi lähettää tätä laitetta koskevaa diagnostiikka- ja käyttödataa Googlelle. Jos olet ottanut käyttöön muun verkko- ja sovellustoiminnan asetuksen, tätä dataa voidaan tallentaa Google-tilillesi. <ph name="BEGIN_LINK2" />Lue lisää<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Lopeta käyttäminen Android-sovelluksissa</translation>
 <translation id="42126664696688958">Vie</translation>
 <translation id="42137655013211669">Palvelin kielsi tämän resurssin käytön.</translation>
 <translation id="4217571870635786043">Sanelu</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Aktivoinnin aikana tapahtui virhe.</translation>
 <translation id="4225397296022057997">Kaikilla sivustoilla</translation>
+<translation id="4227605727325220318">Lisää uusi Android-puhelin</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Tämä laajennus ei ole sallittu}other{Nämä laajennukset eivät ole sallittuja}}</translation>
 <translation id="4231095370974836764">Asenna sovelluksia ja pelejä Google Playsta (<ph name="DEVICE_TYPE" />). <ph name="LINK_BEGIN" />Lue lisää<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Määritä Kerberos</translation>
@@ -4728,6 +4738,7 @@
 <translation id="5862109781435984885">Näytä näyttökynätyökalut hyllyssä</translation>
 <translation id="5862319196656206789">Lisää yhdistettyjä laitteita</translation>
 <translation id="5863445608433396414">Ota käyttöön virheenkorjausominaisuudet</translation>
+<translation id="5864147196375746035">Striimaa hallinnoidulle laitteelle</translation>
 <translation id="5864195618110239517">Käytä maksullista yhteyttä</translation>
 <translation id="5864754048328252126">Käyttämättömyystila latauksessa</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> keskeytetään pian</translation>
@@ -5297,6 +5308,7 @@
 <translation id="6455264371803474013">Tietyillä sivustoilla</translation>
 <translation id="6455894534188563617">Uusi ka&amp;nsio</translation>
 <translation id="645705751491738698">Estä JavaScript edelleen</translation>
+<translation id="6458347417133445570">Näytä tietoa kaikkien evästeiden sallimisesta</translation>
 <translation id="6458701200018867744">Lataus epäonnistui (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Hae valinnan avulla</translation>
 <translation id="6459799433792303855">Aktiivinen ikkuna siirrettiin toiselle näytölle.</translation>
@@ -5907,6 +5919,7 @@
 <translation id="7086672505018440886">Sisällytä Chromen lokitiedostot arkistoon.</translation>
 <translation id="7088434364990739311">Päivitystarkistuksen käynnistäminen epäonnistui (virhekoodi <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Järjestelmänvalvoja on asettanut tämän laitteen poistotilaan. Voit asettaa sen käyttöönottotilaan pyytämällä järjestelmänvalvojaa asettamaan laitteen odottavaan tilaan.</translation>
+<translation id="7090160970140261931"><ph name="DEVICE_TYPE" /> voi olla kirjautuneena useille tileille, joita voi käyttää sivustoilla ja Android-sovelluksissa. Voit päättää, mitä tilejä Android-sovelluksissa käytetään.</translation>
 <translation id="7093220653036489319">Pikavastaukset</translation>
 <translation id="7093416310351037609">Datan suojaamiseksi organisaatiosi edellyttää, että kaikki kelvolliset lataukset tallennetaan organisaation tilille: <ph name="WEB_DRIVE" />.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6726,6 +6739,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> saa nähdä tämän: <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Lisää sanoja, jotka oikeinkirjoituksen tarkistuksen tulee ohittaa</translation>
+<translation id="7922935920104868876">Näytä tietoa kolmansien osapuolten evästeiden estämisestä incognito-tilassa</translation>
 <translation id="7924358170328001543">Virhe porttiohjauksessa</translation>
 <translation id="7925108652071887026">Tietojen automaattinen täyttö</translation>
 <translation id="792514962475806987">Kiinnitetyn zoomauksen taso:</translation>
@@ -6890,6 +6904,7 @@
 <translation id="8076492880354921740">Välilehdet</translation>
 <translation id="8076835018653442223">Järjestelmänvalvojasi on estänyt sinua käyttämästä laitteellesi tallennettuja tiedostoja.</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Tilit, jotka voi lisätä Android-sovelluksiin</translation>
 <translation id="8081989000209387414">Poistetaanko ADB-virheenkorjaus käytöstä?</translation>
 <translation id="8082106343289440791">Lisätäänkö <ph name="DEVICE_NAME" /> laitepariksi?</translation>
 <translation id="8082390128630131497">Kun ADB-virheenkorjaus poistetaan käytöstä, <ph name="DEVICE_TYPE" /> on palautettava tehdasasetuksiin. Kaikki käyttäjätilit ja paikalliset tiedot poistetaan.</translation>
@@ -6964,6 +6979,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> välilehti löydetty</translation>
 <translation id="8148760431881541277">Rajoita sisäänkirjautumista</translation>
 <translation id="8149564499626272569">Todenna puhelimella USB-johdon kautta</translation>
+<translation id="815114315010033526">Käytä QR-koodia</translation>
 <translation id="8151638057146502721">Määritä</translation>
 <translation id="8154790740888707867">Ei tiedostoa</translation>
 <translation id="8154912474061769055">Useiden sivustojen ominaisuudet eivät välttämättä toimi</translation>
@@ -6989,6 +7005,7 @@
 <translation id="8176332201990304395">Pinkki ja valkoinen</translation>
 <translation id="8177196903785554304">Verkon tiedot</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Siirrä välilehti uuteen ikkunaan}other{Siirrä välilehdet uuteen ikkunaan}}</translation>
+<translation id="8179188928355984576">Ei käytössä Android-sovelluksissa</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389"><ph name="EXTENSION" /> voi lukea ja poistaa kuva-, video- ja äänitiedostoja valituissa sijainneissa.</translation>
 <translation id="8181215761849004992">Verkkotunnukseen liittyminen ei onnistu. Katso tililtäsi, onko sinulla laitteiden lisäämisoikeudet.</translation>
@@ -7148,6 +7165,7 @@
 <translation id="8342861492835240085">Valitse kokoelma</translation>
 <translation id="8347227221149377169">Tulostustyöt</translation>
 <translation id="834785183489258869">Kun olet incognito-tilassa, sivustot eivät näe selaustoimintaasi eri sivustoilla evästeiden kautta esim. personoidakseen mainoksia. Joidenkin sivustojen ominaisuudet eivät välttämättä toimi.</translation>
+<translation id="8349499562373871073">Voit valita nykyisen tai lisätä uuden Google-tilin, jota käytät Android-sovelluksissa. Kun kirjaudut sisään Android-sovellukseen, tiliäsi voidaan käyttää muiden Android-sovellusten kanssa. Voit muokata Android-sovellusten pääsyä valitsemalla <ph name="LINK_BEGIN" />Asetukset &gt; Tilit<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Näyttökynätyökalut alapalkissa</translation>
 <translation id="8351316842353540018">Näytä aina esteettömyysvaihtoehdot</translation>
 <translation id="8351419472474436977">Välityspalvelimesi asetuksia hallinnoi tällä hetkellä tämä laajennus, joka voi muokata, haitata tai salakuunnella kaikkia verkkotoimiasi. Jos et tiedä, miksi tämä muutos tehtiin, et luultavasti halua käyttää sitä.</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index 40af9a5..25270e09 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -207,6 +207,7 @@
 Inaatasan ka ng <ph name="DOMAIN" /> na panatilihing nakalagay ang iyong smart card.}other{Awtomatiko kang masa-sign out sa loob ng # na segundo.
 Inaatasan ka ng <ph name="DOMAIN" /> na panatilihing nakalagay ang iyong smart card.}}</translation>
 <translation id="1193927020065025187">Posibleng sinusubukan kang linlangin ng site na ito para payagan ang mga nakakasagabal na notification</translation>
+<translation id="1195210374336998651">Pumunta sa mga setting ng app</translation>
 <translation id="1195447618553298278">Hindi kilalang error.</translation>
 <translation id="1195558154361252544">Awtomatikong naka-block ang mga notification para sa lahat ng site maliban sa mga pinapayagan mo</translation>
 <translation id="1197088940767939838">Orange</translation>
@@ -1960,6 +1961,7 @@
 <translation id="2915873080513663243">Awtomatikong Pag-scan</translation>
 <translation id="2916073183900451334">Ang pagpindot sa Tab sa isang webpage ay nagha-highlight ng mga link, pati na rin ang mga field ng form</translation>
 <translation id="2916745397441987255">Maghanap sa mga extension</translation>
+<translation id="2918484639460781603">Pumunta sa mga setting</translation>
 <translation id="2918484644467055090">Hindi puwedeng i-enroll ang device na ito sa organisasyon kung saan nabibilang ang iyong account dahil minarkahan ang device para pamahalaan ng ibang organisasyon.</translation>
 <translation id="2920852127376356161">Hindi pinapayagang mangasiwa ng mga protocol</translation>
 <translation id="2921081876747860777">Mangyaring gumawa ng password upang protektahan ang iyong lokal na data.</translation>
@@ -2584,6 +2586,7 @@
 <translation id="3592260987370335752">&amp;Matuto nang higit pa</translation>
 <translation id="3593152357631900254">Paganahin ang Fuzzy-Pinyin mode</translation>
 <translation id="3593965109698325041">Mga Limitasyon sa Pangalan ng Certificate</translation>
+<translation id="3596012367874587041">Mga setting ng app</translation>
 <translation id="3596414637720633074">I-block ang third-party na cookies sa Incognito</translation>
 <translation id="3599221874935822507">Raised</translation>
 <translation id="3599863153486145794">Kini-clear ang history sa lahat ng naka-sign in na device. Maaaring may iba pang anyo ng history ng pag-browse ang iyong Google Account sa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb
index 830923d1..3c81499a 100644
--- a/chrome/app/resources/generated_resources_fr-CA.xtb
+++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -205,6 +205,7 @@
 <ph name="DOMAIN" /> vous demande de laisser votre carte à puce insérée.}other{Vous serez automatiquement déconnecté dans # secondes.
 <ph name="DOMAIN" /> vous demande de laisser votre carte à puce insérée.}}</translation>
 <translation id="1193927020065025187">Ce site essaie peut-être de vous inciter à autoriser les notifications intrusives</translation>
+<translation id="1195210374336998651">Accédez aux paramètres de l'application</translation>
 <translation id="1195447618553298278">Erreur inconnue.</translation>
 <translation id="1195558154361252544">Les notifications sont automatiquement bloquées pour tous les sites, sauf ceux que vous autorisez</translation>
 <translation id="1197088940767939838">Orange</translation>
@@ -2564,6 +2565,7 @@
 <translation id="3592260987370335752">&amp;En savoir plus</translation>
 <translation id="3593152357631900254">Activer le mode pinyin flou</translation>
 <translation id="3593965109698325041">Contraintes de nom de certificat</translation>
+<translation id="3596012367874587041">Paramètres de l'application</translation>
 <translation id="3596414637720633074">Bloquer les témoins tiers en navigation privée</translation>
 <translation id="3599221874935822507">Surélevé</translation>
 <translation id="3599863153486145794">Efface l'historique de tous les appareils connectés. D'autres formes d'historique de navigation peuvent exister sur votre compte Google à l'adresse <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index 6873740..bebd129 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -205,6 +205,7 @@
 <ph name="DOMAIN" /> vous demande de laisser votre carte à puce insérée.}other{Vous serez automatiquement déconnecté dans # secondes.
 <ph name="DOMAIN" /> vous demande de laisser votre carte à puce insérée.}}</translation>
 <translation id="1193927020065025187">Ce site essaie peut-être de vous inciter à autoriser les notifications intrusives</translation>
+<translation id="1195210374336998651">Accéder aux paramètres de l'appli</translation>
 <translation id="1195447618553298278">Erreur inconnue</translation>
 <translation id="1195558154361252544">Les notifications sont bloquées automatiquement pour tous les sites, sauf ceux que vous autorisez</translation>
 <translation id="1197088940767939838">Orange</translation>
@@ -769,6 +770,7 @@
 <translation id="176587472219019965">&amp;Nouvelle fenêtre</translation>
 <translation id="1766575458646819543">Mode plein écran désactivé</translation>
 <translation id="1766957085594317166">Enregistrez les mots de passe en toute sécurité dans votre compte Google pour ne plus jamais avoir à les saisir</translation>
+<translation id="1767043563165955993">Utiliser avec les applis Android</translation>
 <translation id="1768212860412467516">Envoyez des commentaires sur <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Petit problème… Impossible de contacter le serveur d'ouverture de session. Vérifiez votre connexion réseau et le nom de domaine, puis réessayez.</translation>
 <translation id="1769104665586091481">Ouvrir le lien dans une nouvelle &amp;fenêtre</translation>
@@ -1104,6 +1106,7 @@
 <translation id="2113479184312716848">&amp;Ouvrir un fichier...</translation>
 <translation id="2113921862428609753">Accès aux informations de l'autorité</translation>
 <translation id="2114326799768592691">Actualiser le &amp;cadre</translation>
+<translation id="2114413269775311385">Utiliser ce compte avec les applis Android. Vous pouvez contrôler les autorisations pour les applis Android dans <ph name="LINK_BEGIN" />Paramètres des applications<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Photo : <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Aucune carte SIM insérée</translation>
 <translation id="2116619964159595185">Les sites se connectent généralement aux appareils Bluetooth pour proposer des fonctionnalités comme la configuration ou la synchronisation d'une balise à faible consommation d'énergie, d'un moniteur de santé ou d'activité physique, ou d'une ampoule connectée</translation>
@@ -1893,6 +1896,7 @@
 <translation id="287205682142673348">Transfert de port</translation>
 <translation id="287286579981869940">Ajouter <ph name="PROVIDER_NAME" />…</translation>
 <translation id="2872961005593481000">Éteindre</translation>
+<translation id="2873995907777332853">Afficher les détails sur le blocage de tous les cookies</translation>
 <translation id="2874939134665556319">Piste précédente</translation>
 <translation id="2875698561019555027">(pages d'erreur Chrome)</translation>
 <translation id="2876336351874743617">Doigt 2</translation>
@@ -1940,6 +1944,7 @@
 <translation id="2915873080513663243">Exploration automatique</translation>
 <translation id="2916073183900451334">La touche TAB permet de sélectionner des liens et d'accéder à des champs de formulaire sur une page Web.</translation>
 <translation id="2916745397441987255">Rechercher dans les extensions</translation>
+<translation id="2918484639460781603">Accéder aux paramètres</translation>
 <translation id="2918484644467055090">Impossible d'enregistrer cet appareil auprès de l'organisation propriétaire de votre compte, car la gestion de l'appareil est attribuée à une autre organisation.</translation>
 <translation id="2920852127376356161">Non autorisés à gérer les protocoles</translation>
 <translation id="2921081876747860777">Veuillez créer un mot de passe pour protéger vos données locales</translation>
@@ -2196,6 +2201,7 @@
 <translation id="3189187154924005138">Grand curseur</translation>
 <translation id="3190558889382726167">Mot de passe enregistré</translation>
 <translation id="3192947282887913208">Fichiers audio</translation>
+<translation id="3194786596445804250">Afficher les détails sur le blocage des cookies tiers</translation>
 <translation id="3197453258332670132">Affichez des infos liées au texte sélectionné avec un clic droit ou un appui de manière prolongée</translation>
 <translation id="3199127022143353223">Serveurs</translation>
 <translation id="3200061262156232574">Dans votre panier</translation>
@@ -2563,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;En savoir plus</translation>
 <translation id="3593152357631900254">Activer le mode Pinyin fuzzy</translation>
 <translation id="3593965109698325041">Contraintes de nom du certificat</translation>
+<translation id="3596012367874587041">Paramètres de l'appli</translation>
 <translation id="3596414637720633074">Bloquer les cookies tiers en mode navigation privée</translation>
 <translation id="3599221874935822507">Bord en relief</translation>
 <translation id="3599863153486145794">Efface l'historique de tous les appareils sur lesquels vous êtes connecté à votre compte Google. Ce dernier peut conserver d'autres formes d'historique de navigation sur la page <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2940,6 +2947,7 @@
 <translation id="3943582379552582368">R&amp;etour</translation>
 <translation id="3943857333388298514">Coller</translation>
 <translation id="3945513714196326460">Saisissez un nom plus court</translation>
+<translation id="3947643756376959257">Saisissez le code d'accès affiché sur le Chromecast ou la télévision.</translation>
 <translation id="3948027458879361203">Modifier le nom d'hôte</translation>
 <translation id="3948116654032448504">&amp;Rechercher une image avec <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786">Le site <ph name="ORIGIN" /> peut modifier les fichiers des dossiers suivants</translation>
@@ -3181,12 +3189,14 @@
 <translation id="4210048056321123003">Téléchargement de la machine virtuelle…</translation>
 <translation id="421182450098841253">&amp;Afficher la barre de favoris</translation>
 <translation id="4211851069413100178">Envoyer des données d'utilisation et de diagnostic. Contribuez à l'amélioration de votre expérience sur Android en envoyant automatiquement à Google des données relatives aux diagnostics et à l'utilisation de l'appareil et des applications. Ce processus permettra d'améliorer, entre autres, la stabilité du système et des applications. Certaines données globales seront également utiles aux développeurs des applications Google et à nos partenaires, tels que les développeurs Android. Ce <ph name="BEGIN_LINK1" />paramètre<ph name="END_LINK1" /> est appliqué par le propriétaire. Le propriétaire de cet appareil peut choisir d'envoyer à Google des données de diagnostic et d'utilisation. Si vous activez le paramètre relatif à l'activité supplémentaire sur le Web et les applications, ces données peuvent être enregistrées dans votre compte Google. <ph name="BEGIN_LINK2" />En savoir plus<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Ne plus utiliser avec les applis Android</translation>
 <translation id="42126664696688958">Exporter</translation>
 <translation id="42137655013211669">L'accès à cette ressource est interdit sur ce serveur.</translation>
 <translation id="4217571870635786043">Dictée</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Une erreur s'est produite lors de l'activation.</translation>
 <translation id="4225397296022057997">Sur tous les sites</translation>
+<translation id="4227605727325220318">Ajouter un nouveau téléphone Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Cette extension n'est pas autorisée}one{Cette extension n'est pas autorisée}other{Certaines extensions ne sont pas autorisées}}</translation>
 <translation id="4231095370974836764">Installez des applications et des jeux Google Play sur votre <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Configurer Kerberos</translation>
@@ -4718,6 +4728,7 @@
 <translation id="5862109781435984885">Afficher les outils de stylet sur l'étagère</translation>
 <translation id="5862319196656206789">Configurer les appareils connectés</translation>
 <translation id="5863445608433396414">Activer les fonctionnalités de débogage</translation>
+<translation id="5864147196375746035">Caster sur un appareil géré</translation>
 <translation id="5864195618110239517">Utiliser une connexion facturée à l'usage</translation>
 <translation id="5864754048328252126">Lorsque l'appareil est inactif et en charge</translation>
 <translation id="5865508026715185451">L'application <ph name="APP_NAME" /> sera bientôt suspendue</translation>
@@ -5287,6 +5298,7 @@
 <translation id="6455264371803474013">Sur des sites spécifiques</translation>
 <translation id="6455894534188563617">&amp;Nouveau dossier</translation>
 <translation id="645705751491738698">Continuer à bloquer JavaScript</translation>
+<translation id="6458347417133445570">Afficher les détails sur l'autorisation de tous les cookies</translation>
 <translation id="6458701200018867744">Échec de l'importation (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Rechercher la sélection</translation>
 <translation id="6459799433792303855">Fenêtre active transférée vers un autre écran.</translation>
@@ -5897,6 +5909,7 @@
 <translation id="7086672505018440886">Ajouter des fichiers journaux Chrome dans l'archive.</translation>
 <translation id="7088434364990739311">Échec du lancement de la vérification des mises à jour (code d'erreur <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">L'administrateur a associé l'état "Non géré" à cet appareil. Pour activer son inscription, veuillez demander à l'administrateur d'activer l'état "En attente" pour cet appareil.</translation>
+<translation id="7090160970140261931">Pour accéder à des sites Web et des applis Android avec votre <ph name="DEVICE_TYPE" />, ajoutez-y des comptes supplémentaires. Vous pouvez aussi contrôler les comptes qui sont utilisés avec les applis Android.</translation>
 <translation id="7093220653036489319">Réponses rapides</translation>
 <translation id="7093416310351037609">Pour la protection et la sécurité des données, votre organisation exige que tous les téléchargements éligibles soient enregistrés sur le compte <ph name="WEB_DRIVE" /> de votre organisation.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6717,6 +6730,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> peut accéder à <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Ajoutez les termes que le correcteur orthographique doit ignorer</translation>
+<translation id="7922935920104868876">Afficher les détails sur le blocage des cookies tiers en navigation privée</translation>
 <translation id="7924358170328001543">Erreur lors du transfert du port.</translation>
 <translation id="7925108652071887026">Données de saisie automatique</translation>
 <translation id="792514962475806987">Niveau de zoom ancré :</translation>
@@ -6881,6 +6895,7 @@
 <translation id="8076492880354921740">Onglets</translation>
 <translation id="8076835018653442223">Votre administrateur a désactivé l'accès aux fichiers locaux sur votre appareil</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Comptes utilisables avec les applis Android</translation>
 <translation id="8081989000209387414">Désactiver le débogage ADB ?</translation>
 <translation id="8082106343289440791">Associer à "<ph name="DEVICE_NAME" />" ?</translation>
 <translation id="8082390128630131497">La désactivation du débogage ADB rétablira la configuration d'usine de <ph name="DEVICE_TYPE" />. Tous les comptes utilisateur et toutes les données locales seront supprimés.</translation>
@@ -6955,6 +6970,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> onglet trouvé</translation>
 <translation id="8148760431881541277">Limiter les connexions</translation>
 <translation id="8149564499626272569">Valider via votre téléphone avec un câble USB</translation>
+<translation id="815114315010033526">Utiliser un code QR à la place</translation>
 <translation id="8151638057146502721">Configurer</translation>
 <translation id="8154790740888707867">Fichier introuvable.</translation>
 <translation id="8154912474061769055">Les fonctionnalités de nombreux sites peuvent ne pas fonctionner</translation>
@@ -6980,6 +6996,7 @@
 <translation id="8176332201990304395">Rose et blanc</translation>
 <translation id="8177196903785554304">Détails du réseau</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Déplacer l'onglet vers une nouvelle fenêtre}one{Déplacer l'onglet vers une nouvelle fenêtre}other{Déplacer les onglets vers une nouvelle fenêtre}}</translation>
+<translation id="8179188928355984576">Non utilisé avec les applis Android</translation>
 <translation id="8179976553408161302">Entrée</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" dispose d'un droit d'accès en lecture/écriture sur les images, les vidéos et les fichiers audio figurant aux emplacements indiqués.</translation>
 <translation id="8181215761849004992">Impossible d'effectuer l'association au domaine. Vérifiez dans votre compte si vous disposez de droits suffisants pour ajouter des appareils.</translation>
@@ -7139,6 +7156,7 @@
 <translation id="8342861492835240085">Sélectionner une collection</translation>
 <translation id="8347227221149377169">Tâches d'impression</translation>
 <translation id="834785183489258869">Lorsque vous êtes en navigation privée, les sites ne peuvent pas utiliser vos cookies pour voir votre activité de navigation sur différents sites (par exemple, pour personnaliser les annonces). Les fonctionnalités de certains sites peuvent ne pas fonctionner.</translation>
+<translation id="8349499562373871073">Vous pouvez sélectionner un compte existant à utiliser avec les applis Android ou ajouter un nouveau compte Google. Une fois connecté à une appli Android, vous pouvez utiliser votre compte avec d'autres applis Android. Vous pouvez modifier leur accès dans <ph name="LINK_BEGIN" />Paramètres &gt; Comptes<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Outils de stylet dans le panneau d'ancrage</translation>
 <translation id="8351316842353540018">Toujours afficher les options d'accessibilité</translation>
 <translation id="8351419472474436977">Cette extension a pris le contrôle de vos paramètres de proxy, ce qui signifie que toutes vos activités en ligne peuvent être modifiées, interrompues ou espionnées. Si vous ne savez pas pourquoi cette modification s'est produite, c'est qu'elle est probablement indésirable.</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb
index 43a5032..4df8020 100644
--- a/chrome/app/resources/generated_resources_gl.xtb
+++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> require que manteñas a tarxeta intelixente inserida.}other{Pecharase a túa sesión automaticamente en # segundos.
 <ph name="DOMAIN" /> require que manteñas a tarxeta intelixente inserida.}}</translation>
 <translation id="1193927020065025187">É posible que este sitio estea tentando enganarte para que permitas notificacións intrusivas</translation>
+<translation id="1195210374336998651">Ir á configuración da aplicación</translation>
 <translation id="1195447618553298278">Erro descoñecido.</translation>
 <translation id="1195558154361252544">Bloquéanse automaticamente as notificacións para todos os sitios, excepto para os que permitas</translation>
 <translation id="1197088940767939838">Laranxa</translation>
@@ -767,6 +768,7 @@
 <translation id="176587472219019965">&amp;Nova ventá</translation>
 <translation id="1766575458646819543">Saíches do modo de pantalla completa</translation>
 <translation id="1766957085594317166">Garda contrasinais de forma segura na túa Conta de Google e non volvas escribilos nunca</translation>
+<translation id="1767043563165955993">Usar con aplicacións Android</translation>
 <translation id="1768212860412467516">Envía comentarios sobre este experimento: <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Produciuse un problema ao contactar co servidor de inicio de sesión. Comproba a conexión de rede, verifica o dominio e, despois, volve tentalo.</translation>
 <translation id="1769104665586091481">Abrir a ligazón nunha &amp;ventá nova</translation>
@@ -1102,6 +1104,7 @@
 <translation id="2113479184312716848">Abrir &amp;ficheiro...</translation>
 <translation id="2113921862428609753">Acceso a información de autoridades</translation>
 <translation id="2114326799768592691">Volver cargar &amp;marco</translation>
+<translation id="2114413269775311385">Usar esta conta con aplicacións Android. Podes controlar os permisos correspondentes ás aplicacións Android en <ph name="LINK_BEGIN" />Configuración das aplicacións<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto de <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Non se inseriu ningunha tarxeta SIM</translation>
 <translation id="2116619964159595185">Os sitios adoitan conectarse a dispositivos Bluetooth para ofrecerche determinadas funcións (por exemplo, configurar ou sincronizar unha baliza de baixo consumo, un dispositivo de seguimento da saúde ou da forma física, ou unha lámpada de luz intelixente)</translation>
@@ -1890,6 +1893,7 @@
 <translation id="287205682142673348">Encamiñamento de portos</translation>
 <translation id="287286579981869940">Engadir a <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Pechar</translation>
+<translation id="2873995907777332853">Mostrar detalles sobre o bloqueo de todas as cookies</translation>
 <translation id="2874939134665556319">Pista anterior</translation>
 <translation id="2875698561019555027">(Páxinas de erro de Chrome)</translation>
 <translation id="2876336351874743617">Dedo 2</translation>
@@ -2193,6 +2197,7 @@
 <translation id="3189187154924005138">Cursor grande</translation>
 <translation id="3190558889382726167">Gardouse o contrasinal</translation>
 <translation id="3192947282887913208">Ficheiros de audio</translation>
+<translation id="3194786596445804250">Mostrar detalles sobre o bloqueo de cookies de terceiros</translation>
 <translation id="3197453258332670132">Mostra información relacionada coa selección de texto ao mantela premida ou ao facer clic co botón dereito sobre ela</translation>
 <translation id="3199127022143353223">Servidores</translation>
 <translation id="3200061262156232574">No teu carro da compra</translation>
@@ -2560,6 +2565,7 @@
 <translation id="3592260987370335752">&amp;Máis información</translation>
 <translation id="3593152357631900254">Activar modo de pinyin difuso</translation>
 <translation id="3593965109698325041">Restricións nos nomes de certificados</translation>
+<translation id="3596012367874587041">Axustes da aplicación</translation>
 <translation id="3596414637720633074">Bloquear cookies de terceiros no modo de incógnito</translation>
 <translation id="3599221874935822507">Elevada</translation>
 <translation id="3599863153486145794">Borra o historial de todos os dispositivos que teñen a sesión iniciada. É posible que a túa conta de Google teña outras formas do historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2937,6 +2943,7 @@
 <translation id="3943582379552582368">&amp;Atrás</translation>
 <translation id="3943857333388298514">Pegar</translation>
 <translation id="3945513714196326460">Proba cun nome máis curto</translation>
+<translation id="3947643756376959257">Mete o código de acceso que se mostra no Chromecast ou na televisión.</translation>
 <translation id="3948027458879361203">Cambiar nome do host</translation>
 <translation id="3948116654032448504">&amp;Buscar imaxe en <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> pode editar os ficheiros dos seguintes cartafoles</translation>
@@ -3178,12 +3185,14 @@
 <translation id="4210048056321123003">Descargando máquina virtual</translation>
 <translation id="421182450098841253">&amp;Mostrar a barra de marcadores</translation>
 <translation id="4211851069413100178">Enviar datos de uso e de diagnóstico. Envía automaticamente datos de diagnóstico e de uso do dispositivo e das aplicacións a Google para axudar a mellorar a túa experiencia en Android. Esta información permitirá aumentar a estabilidade do sistema e das aplicacións, e realizar outras melloras. Algúns datos agregados tamén serán útiles para as aplicacións e os socios de Google, como os programadores de Android. Esta <ph name="BEGIN_LINK1" />opción de configuración<ph name="END_LINK1" /> contrólaa o propietario. O cal pode optar por enviar datos de diagnóstico e uso deste dispositivo a Google. Se está activada a opción Actividade web e das aplicacións adicional, estes datos pódense gardar na túa conta de Google. <ph name="BEGIN_LINK2" />Máis información<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Deixar de usar con aplicacións Android</translation>
 <translation id="42126664696688958">Exportar</translation>
 <translation id="42137655013211669">O servidor non permitiu acceder a este recurso.</translation>
 <translation id="4217571870635786043">Ditado</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Produciuse un erro durante a activación.</translation>
 <translation id="4225397296022057997">En todos os sitios</translation>
+<translation id="4227605727325220318">Engadir teléfono Android novo</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Esta extensión non está permitida}other{Algunhas extensións non están permitidas}}</translation>
 <translation id="4231095370974836764">Instala aplicacións e xogos de Google Play no dispositivo <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Máis información<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Configurar Kerberos</translation>
@@ -4714,6 +4723,7 @@
 <translation id="5862109781435984885">Mostrar ferramentas do lapis óptico no estante</translation>
 <translation id="5862319196656206789">Configurar dispositivos conectados</translation>
 <translation id="5863445608433396414">Activar funcións de depuración</translation>
+<translation id="5864147196375746035">Emitir o contido nun dispositivo xestionado</translation>
 <translation id="5864195618110239517">Usar conexión de pago por consumo</translation>
 <translation id="5864754048328252126">Acción de inactividade durante a carga</translation>
 <translation id="5865508026715185451">A aplicación <ph name="APP_NAME" /> porase en pausa en breve</translation>
@@ -5283,6 +5293,7 @@
 <translation id="6455264371803474013">En sitios específicos</translation>
 <translation id="6455894534188563617">&amp;Novo cartafol</translation>
 <translation id="645705751491738698">Continuar bloqueando JavaScript</translation>
+<translation id="6458347417133445570">Mostrar detalles sobre a concesión de permiso para todas as cookies</translation>
 <translation id="6458701200018867744">Produciuse un erro ao cargar o rexistro (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Utilizar selección para buscar</translation>
 <translation id="6459799433792303855">A ventá activa moveuse a outra pantalla.</translation>
@@ -5893,6 +5904,7 @@
 <translation id="7086672505018440886">Incluír ficheiros de rexistro de Chrome no arquivo.</translation>
 <translation id="7088434364990739311">Erro ao iniciar a comprobación da actualización (código de erro <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">O administrador cambiou o estado do dispositivo para que non se poida utilizar. Para que se poida rexistrar, o administrador debe colocar o dispositivo en estado pendente.</translation>
+<translation id="7090160970140261931">Podes engadir contas adicionais ao teu dispositivo (<ph name="DEVICE_TYPE" />) para utilizalas en sitios web e aplicacións Android. Tamén podes controlar cales das contas se utilizan con aplicacións Android.</translation>
 <translation id="7093220653036489319">Respostas rápidas</translation>
 <translation id="7093416310351037609">Por motivos de seguranza de datos, a túa organización esixe que todas as descargas aptas se garden na conta de <ph name="WEB_DRIVE" /> da túa organización.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6712,6 +6724,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> pode ver <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Engade as palabras que queiras que omita o corrector ortográfico</translation>
+<translation id="7922935920104868876">Mostrar detalles sobre o bloqueo de cookies de terceiros no modo de incógnito</translation>
 <translation id="7924358170328001543">Produciuse un erro co encamiñamento do porto</translation>
 <translation id="7925108652071887026">Autocompletar datos</translation>
 <translation id="792514962475806987">Nivel de zoom da lupa ancorada:</translation>
@@ -6875,6 +6888,7 @@
 <translation id="8076492880354921740">Pestanas</translation>
 <translation id="8076835018653442223">O administrador desactivou o acceso aos ficheiros locais do teu dispositivo</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Contas dispoñibles para utilizar coas aplicacións Android</translation>
 <translation id="8081989000209387414">Queres desactivar a depuración de ADB?</translation>
 <translation id="8082106343289440791">Queres sincronizar o dispositivo co teclado (<ph name="DEVICE_NAME" />)?</translation>
 <translation id="8082390128630131497">A desactivación da depuración de ADB restablecerá a configuración de fábrica deste <ph name="DEVICE_TYPE" />. Eliminaranse todas as contas de usuario e os datos locais.</translation>
@@ -6949,6 +6963,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> pestana atopada</translation>
 <translation id="8148760431881541277">Limitar inicio de sesión</translation>
 <translation id="8149564499626272569">Verificar mediante o teléfono cun cable USB</translation>
+<translation id="815114315010033526">Utilizar código QR</translation>
 <translation id="8151638057146502721">Configurar</translation>
 <translation id="8154790740888707867">Non hai ningún ficheiro</translation>
 <translation id="8154912474061769055">As funcións de moitos sitios poden deixar de funcionar</translation>
@@ -6974,6 +6989,7 @@
 <translation id="8176332201990304395">Rosa e branco</translation>
 <translation id="8177196903785554304">Detalles da rede</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Mover pestana a unha ventá nova}other{Mover pestanas a unha ventá nova}}</translation>
+<translation id="8179188928355984576">Non se utiliza con aplicacións Android</translation>
 <translation id="8179976553408161302">Intro</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" pode ler e eliminar ficheiros de imaxes, vídeo e son nas localizacións seleccionadas.</translation>
 <translation id="8181215761849004992">O dispositivo non se puido vincular ao dominio. Comproba a túa conta para ver se tes privilexios suficientes para engadir dispositivos.</translation>
@@ -7133,6 +7149,7 @@
 <translation id="8342861492835240085">Seleccionar unha colección</translation>
 <translation id="8347227221149377169">Traballos de impresión</translation>
 <translation id="834785183489258869">Co modo de incógnito activado, os sitios web non poden utilizar cookies para ver a túa actividade de navegación en distintos sitios (por exemplo, para personalizar os anuncios). As funcións dalgúns sitios poden deixar de funcionar.</translation>
+<translation id="8349499562373871073">Podes seleccionar unha conta existente para usala coas aplicacións Android ou engadir unha nova Conta de Google. Unha vez que inicies sesión nunha aplicación Android, a túa conta poderá utilizarse con outras destas aplicacións. Podes cambiar o acceso ás aplicacións Android en <ph name="LINK_BEGIN" />Configuración &gt; Contas<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Ferramentas do lapis óptico na base</translation>
 <translation id="8351316842353540018">Mostrar sempre as opcións de accesibilidade</translation>
 <translation id="8351419472474436977">Esta extensión asumiu o control da túa configuración de proxy, o que significa que pode cambiar, anular ou espiar todo o que fagas en liña. Se non estás seguro de por que se produciu este cambio, é probable que non che interese conservalo.</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index e2b2c952..a239a9f 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -205,6 +205,7 @@
 <ph name="DOMAIN" /> માટે જરૂરી છે કે તમે તમારું સ્માર્ટ કાર્ડ દાખલ કરેલું રાખો.}other{તમે ઑટોમૅટિક રીતે # સેકન્ડમાં સાઇન આઉટ થશો.
 <ph name="DOMAIN" /> માટે જરૂરી છે કે તમે તમારું સ્માર્ટ કાર્ડ દાખલ કરેલું રાખો.}}</translation>
 <translation id="1193927020065025187">આ સાઇટ તમારી પાસેથી ઘૂસણખોરીવાળાં નોટિફિકેશન માટે મંજૂરી મેળવવાનો છળપૂર્વક પ્રયાસ કરતી હોઈ શકે છે</translation>
+<translation id="1195210374336998651">ઍપ સેટિંગ પર જાઓ</translation>
 <translation id="1195447618553298278">અજ્ઞાત ભૂલ.</translation>
 <translation id="1195558154361252544">તમે જેના માટે મંજૂરી આપી હોય તે સિવાયની બધી સાઇટ માટે નોટિફિકેશનને ઑટોમૅટિક રીતે બ્લૉક કરવામાં આવે છે</translation>
 <translation id="1197088940767939838">નારંગી</translation>
@@ -385,6 +386,7 @@
 <translation id="1396259464226642517">શું આ પરિણામ અનપેક્ષિત હતું? <ph name="BEGIN_LINK" />પ્રતિસાદ મોકલો<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">તમે દાખલ કરેલ વપરાશકર્તાનામ અને પાસવર્ડ મેળ ખાતા નથી</translation>
 <translation id="1397500194120344683">કોઈ પાત્ર ડિવાઇસ નથી. <ph name="LINK_BEGIN" />વધુ જાણો<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">તમે આ ડિવાઇસ પર Chromeમાં સાઇન ઇન કરેલું છે, આથી તમે તેમનો સિક્યુરિટી કી તરીકે ઉપયોગ કરી શકો છો.</translation>
 <translation id="1398853756734560583">મોટું કરો</translation>
 <translation id="139911022479327130">તમારા ફોનને અનલૉક કરો અને કન્ફર્મ કરો કે તે તમે જ છો</translation>
 <translation id="1401308693935339022">સ્થાનનો ઉપયોગ કરો. સ્થાનની પરવાનગી ધરાવતી ઍપ અને સેવાઓને આ ડિવાઇસના સ્થાનનો ઉપયોગ કરવાની મંજૂરી આપો. Google સ્થાનનો ડેટા સમયાંતરે એકત્રિત કરી શકે છે અને અનામી રીતે સ્થાન સચોટતા અને સ્થાન-આધારિત સેવાઓને બહેતર બનાવવા માટે તેનો ઉપયોગ કરી શકે છે.</translation>
@@ -1165,6 +1167,7 @@
 <translation id="2163470535490402084">કૃપા કરીને તમારા <ph name="DEVICE_TYPE" /> માં સાઇન ઇન કરવા માટે ઇન્ટરનેટથી કનેક્ટ કરો.</translation>
 <translation id="2163937499206714165">ઘેરો મોડ ચાલુ કરો</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> અને વધુ 1 સ્વિચ</translation>
+<translation id="2165102982098084499">તમે QR કોડ સ્કૅન કરીને આ ડિવાઇસ લિંક કર્યા છે.</translation>
 <translation id="2165177462441582039">દરેક આઇટમ પર હાઇલાઇટ કેટલીવાર સુધી રહેશે તે પસંદ કરો</translation>
 <translation id="2166369534954157698">The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">કોઈપણ રીતે સાઇન ઇન કરો</translation>
@@ -1940,6 +1943,7 @@
 <translation id="2915873080513663243">ઑટો સ્કેન</translation>
 <translation id="2916073183900451334">વેબપેજ પર ટૅબને દબાવવાથી લિંકની સાથે ફોર્મ ફીલ્ડ હાઇલાઇટ થાય છે</translation>
 <translation id="2916745397441987255">એક્સ્ટેન્શન શોધો</translation>
+<translation id="2918484639460781603">સેટિંગ્સ પર જાઓ </translation>
 <translation id="2918484644467055090">તમારું એકાઉન્ટ જે સંસ્થા સાથે સંબંધિત છે, તેમાં આ ડિવાઇસની નોંધણી કરી શકાતી નથી, કારણ કે ડિવાઇસને કોઈ બીજી સંસ્થા દ્વારા મેનેજ કરવા માટે માર્ક કરાયેલું છે.</translation>
 <translation id="2920852127376356161">પ્રોટોકૉલ હૅન્ડલ કરવાની મંજૂરી નથી</translation>
 <translation id="2921081876747860777">તમારો સ્થાનિક ડેટા સુરક્ષિત કરવા માટે કૃપા કરીને એક પાસવર્ડ બનાવો.</translation>
@@ -2564,6 +2568,7 @@
 <translation id="3592260987370335752">&amp;વધુ જાણો</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin મોડને સક્ષમ કરો </translation>
 <translation id="3593965109698325041">પ્રમાણપત્રના નામની મર્યાદાઓ</translation>
+<translation id="3596012367874587041">ઍપ સેટિંગ</translation>
 <translation id="3596414637720633074">ત્રીજા પક્ષની કુકીને છૂપા મોડમાં બ્લૉક કરો</translation>
 <translation id="3599221874935822507">ઉપસેલા</translation>
 <translation id="3599863153486145794">બધા સાઇન ઇન કરેલ ડિવાઇસમાંથી ઇતિહાસ સાફ કરે છે. તમારા Google એકાઉન્ટમાં <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> પર બ્રાઉઝિંગ ઇતિહાસના બીજા સ્વરૂપો હોય શકે.</translation>
@@ -5686,6 +5691,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> સેકન્ડ</translation>
 <translation id="6860097299815761905">પ્રૉક્સી સેટિંગ...</translation>
 <translation id="6860427144121307915">એક ટેબમાં ખોલો</translation>
+<translation id="6863496016067551393">બધા એક્સ્ટેન્શનને મંજૂરી છે</translation>
 <translation id="686366188661646310">પાસવર્ડ ડિલીટ કરીએ?</translation>
 <translation id="6865313869410766144">સ્વતઃભરણ ફોર્મ ડેટા</translation>
 <translation id="6865598234501509159">પેજ <ph name="LANGUAGE" />માં નથી</translation>
@@ -5715,6 +5721,7 @@
 <translation id="6900532703269623216">વધારેલું સંરક્ષણ</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" />ને અપડેટ કરવા માટે ફરીથી સાઇન ઇન કરો</translation>
 <translation id="6900654715912436255">શું તમે ખરેખર આ શોધ એન્જિન ડિલીટ કરવા માગો છો?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">ટેક્સ્ટ ટૂ સ્પીચના વૉઇસ પ્રીવ્યૂ માટે</translation>
 <translation id="6902336033320348843">વિભાગની સુવિધા નથી: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">ઉપકરણને ડોમેન સાથે જોડો</translation>
@@ -7361,6 +7368,7 @@
 <translation id="8610103157987623234">ખોટું ફૉર્મેટ. કૃપા કરીને ફરી પ્રયાસ કરો</translation>
 <translation id="8611682088849615761">આ સાઇટને MIDI ડિવાઇસનું સંપૂર્ણ નિયંત્રણ રાખવાની મંજૂરી આપવાનું ચાલુ રાખો</translation>
 <translation id="8613164732773110792">માત્ર લોઅરકેસ અક્ષરો, અંકો, અન્ડરસ્કોર અથવા ડૅશ</translation>
+<translation id="8613645710357126807">એક્સ્ટેન્શનનો ઉપયોગ કરવાની મંજૂરી નથી</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" />નું કદ બહુ મોટું હોવાથી સુરક્ષા તપાસ કરી નહીં શકાય. તમે 50 MB સુધીના કદવાળી ફાઇલો ખોલી શકશો.</translation>
 <translation id="8615618338313291042">છૂપી ઍપ્લિકેશન: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" />ને તમારા સંપર્કોમાં ઉમેરો</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index 96aa37d..fda6e7b 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" /> के लिए ज़रूरी है कि आप अपना स्मार्ट कार्ड डालकर रखें.}other{आप अगले # सेकंड में अपने-आप साइन आउट हो जाएंगे.
 <ph name="DOMAIN" /> के लिए ज़रूरी है कि आप अपना स्मार्ट कार्ड डालकर रखें.}}</translation>
 <translation id="1193927020065025187">हो सकता है कि यह साइट आपको गुमराह कर रही हो, ताकि आप धोखे से परेशान करने वाली सूचनाओं के लिए अनुमति दें</translation>
+<translation id="1195210374336998651">ऐप्लिकेशन की सेटिंग पर जाएं</translation>
 <translation id="1195447618553298278">अज्ञात गड़बड़ी.</translation>
 <translation id="1195558154361252544">जिन साइट को आप फ़ॉलो करते हैं उन्हें छोड़कर सभी साइट के लिए सूचनाएं अपने आप बंद हो गई हैं</translation>
 <translation id="1197088940767939838">नारंगी</translation>
@@ -387,6 +388,7 @@
 <translation id="1396259464226642517">क्या आपको इस नतीजे की उम्मीद नहीं थी? <ph name="BEGIN_LINK" />सुझाव भेजें<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">आपने जो उपयोगकर्ता नाम और पासवर्ड डाला है, वो मेल नहीं खाते हैं</translation>
 <translation id="1397500194120344683">कनेक्ट हो सकने वाला कोई डिवाइस नहीं है. <ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">आपने इन डिवाइसों पर Chrome में साइन इन किया है, इसलिए इन डिवाइसों का इस्तेमाल सुरक्षा कुंजी के तौर पर किया जा सकता है.</translation>
 <translation id="1398853756734560583">बड़ा करें</translation>
 <translation id="139911022479327130">अपना फ़ोन अनलॉक करके इस बात की पुष्टि करें कि यह आप ही हैं</translation>
 <translation id="1401308693935339022">जगह की जानकारी इस्तेमाल करें. जगह की जानकारी देखने की अनुमति मांगने वाले ऐप्लिकेशन और सेवाओं को इस डिवाइस की जगह की जानकारी का इस्तेमाल करने दें. Google समय-समय पर जगह से जुड़ा डेटा इकट्ठा कर सकता है. साथ ही, जगह की जानकारी को ज़्यादा सटीक बनाने और उससे जुड़ी सेवाओं में सुधार के लिए, आपकी पहचान ज़ाहिर किए बगैर यह डेटा इस्तेमाल कर सकता है.</translation>
@@ -1181,6 +1183,7 @@
 <translation id="2163470535490402084">अपने <ph name="DEVICE_TYPE" /> में साइन इन करने के लिए कृपया इंटरनेट से कनेक्ट करें.</translation>
 <translation id="2163937499206714165">गहरे रंग वाला मोड चालू करें</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" />, और 1 और स्विच ऐक्सेस बटन</translation>
+<translation id="2165102982098084499">आपने इन डिवाइसों को क्यूआर कोड स्कैन करके जोड़ा है.</translation>
 <translation id="2165177462441582039">चुनें कि हर आइटम कितनी देर तक हाइलाइट रहना चाहिए</translation>
 <translation id="2166369534954157698">स्वास्थ्यप्रद ठण्ढ में सफल गणितज्ञ के घर छत पर द्वन्द के उद्घोष का शङ्ख बजकर जैसे ही थमा, उच्च मञ्च पर वह दम्भी अकड़ू क्षत्रिय झट धनुष ले आ डटा कि चिह्नित उपजाऊ कृषि-भूमि की इकाई पर कब्ज़े से सम्बन्धित प्रश्नोत्तर हो, किन्तु तप भग्न होने से रुष्ट ऋषि की धुँआईं आँखों ने ऐसा श्राप दिया कि प्रसन्नचित्त कव्वाल की उच्छृङ्खल स्वर-शृंखला के उग्र रूप ने मेरे अद्भुत प्रज्ज्वलित ख्वाबों को मिट्टी की चुक्कड़ की चाय में डुबो डाला, और तब उदभ्रमित मैं दीर्घ उच्छ्वास लेकर कब्र से उठा कि पुरानी चिट्ठियाँ ढूँढकर पढ़ूँगा</translation>
 <translation id="2169062631698640254">किसी भी तरह साइन इन करें</translation>
@@ -1909,6 +1912,7 @@
 <translation id="287205682142673348">पोर्ट फ़ॉरवर्डिंग</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> जोड़ें...</translation>
 <translation id="2872961005593481000">शट डाउन करें</translation>
+<translation id="2873995907777332853">सभी कुकी को ब्लॉक करने से जुड़ी जानकारी दिखाएं</translation>
 <translation id="2874939134665556319">पिछला ट्रैक</translation>
 <translation id="2875698561019555027">(Chrome गड़बड़ी पृष्‍ठ)</translation>
 <translation id="2876336351874743617">उंगली दो</translation>
@@ -1956,6 +1960,7 @@
 <translation id="2915873080513663243">अपने आप स्कैन होने की सुविधा</translation>
 <translation id="2916073183900451334">किसी वेबपेज पर टैब दबाने से लिंक के साथ-साथ फ़ॉर्म भी हाइलाइट होते हैं</translation>
 <translation id="2916745397441987255">एक्सटेंशन खोजें</translation>
+<translation id="2918484639460781603">सेटिंग में जाएं</translation>
 <translation id="2918484644467055090">इस डिवाइस का नाम उस संगठन में दर्ज नहीं किया जा सकता जिससे आपका खाता जुड़ा है, क्योंकि इस डिवाइस को कोई दूसरा संगठन प्रबंधित करता है.</translation>
 <translation id="2920852127376356161">प्रोटोकॉल हैंडल करने की अनुमति नहीं है</translation>
 <translation id="2921081876747860777">कृपया अपने स्थानीय डेटा की सुरक्षा करने के लिए एक पासवर्ड बनाएं.</translation>
@@ -2212,6 +2217,7 @@
 <translation id="3189187154924005138">बड़ा कर्सर</translation>
 <translation id="3190558889382726167">पासवर्ड सेव किया गया</translation>
 <translation id="3192947282887913208">ऑडियो फ़ाइलें</translation>
+<translation id="3194786596445804250">तीसरे पक्ष की कुकी को ब्लॉक करने से जुड़ी जानकारी दिखाएं</translation>
 <translation id="3197453258332670132">दायां क्लिक करने या दबाकर रखने पर, आपके चुने गए टेक्स्ट से जुड़ी जानकारी दिखती है</translation>
 <translation id="3199127022143353223">सर्वर</translation>
 <translation id="3200061262156232574">आपके शॉपिंग कार्ट में</translation>
@@ -2579,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;अधिक जानें</translation>
 <translation id="3593152357631900254">अस्पष्ट-पिनयिन मोड सक्षम करें</translation>
 <translation id="3593965109698325041">प्रमाणपत्र नाम बाध्यताएं</translation>
+<translation id="3596012367874587041">ऐप्लिकेशन की सेटिंग</translation>
 <translation id="3596414637720633074">गुप्त मोड के दौरान तीसरे पक्ष की कुकी को ब्लॉक करें</translation>
 <translation id="3599221874935822507">बढ़ाया गया</translation>
 <translation id="3599863153486145794">साइन इन किए हुए सभी डिवाइसों से इतिहास साफ़ कर देता है. आपके Google खाते में <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> पर अन्य प्रकार के ब्राउज़िंग इतिहास हो सकते हैं.</translation>
@@ -5306,6 +5313,7 @@
 <translation id="6455264371803474013">कुछ खास साइटों पर</translation>
 <translation id="6455894534188563617">&amp;नया फ़ोल्डर</translation>
 <translation id="645705751491738698">JavaScript को अवरोधित करना जारी रखें</translation>
+<translation id="6458347417133445570">सभी कुकी को अनुमति देने से जुड़ी जानकारी दिखाएं</translation>
 <translation id="6458701200018867744">अपलोड नहीं हो सका (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">ढूंढने के लिए चुनाव का उपयोग करें</translation>
 <translation id="6459799433792303855">चालू विंडो को किसी दूसरे डिसप्ले में ले जाया गया.</translation>
@@ -5698,6 +5706,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> सेकंड</translation>
 <translation id="6860097299815761905">प्रॉक्‍सी सेटिंग...</translation>
 <translation id="6860427144121307915">टैब में खोलें</translation>
+<translation id="6863496016067551393">सभी एक्सटेंशन इस्तेमाल किए जा सकते हैं</translation>
 <translation id="686366188661646310">क्या आप पासवर्ड मिटाना चाहते हैं?</translation>
 <translation id="6865313869410766144">ऑटोमैटिक भरने वाले फ़ॉर्म का डेटा</translation>
 <translation id="6865598234501509159">पेज <ph name="LANGUAGE" /> भाषा में नहीं है</translation>
@@ -5727,6 +5736,7 @@
 <translation id="6900532703269623216">बेहतर सुरक्षा मोड</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> अपडेट करने के लिए साइन करें</translation>
 <translation id="6900654715912436255">क्या आपको वाकई इस सर्च इंजन को मिटाना है?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">वह आवाज़ जिसकी झलक सुननी है</translation>
 <translation id="6902336033320348843">सेक्शन काम नहीं करता: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">डिवाइस को डोमेन से जोड़ें</translation>
@@ -6736,6 +6746,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> सेकंड</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" />, <ph name="FILENAME" /> को देख सकती है</translation>
 <translation id="7920482456679570420">जिन शब्दों को आप वर्तनी जांच में शामिल नहीं करना चाहते उन्हें जोड़ें</translation>
+<translation id="7922935920104868876">गुप्त मोड में तीसरे पक्ष की कुकी को ब्लॉक करने से जुड़ी जानकारी दिखाएं</translation>
 <translation id="7924358170328001543">पोर्ट को फ़ॉरवर्ड करने में गड़बड़ी हुई</translation>
 <translation id="7925108652071887026">स्‍वत:-भरण डेटा</translation>
 <translation id="792514962475806987">डॉक किया गया ज़ूम स्तर:</translation>
@@ -6900,6 +6911,7 @@
 <translation id="8076492880354921740">टैब</translation>
 <translation id="8076835018653442223">आपके एडमिन ने आपके डिवाइस की स्थानीय फ़ाइलों का एक्सेस बंद कर दिया है</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Android ऐप्लिकेशन के साथ इस्तेमाल करने के लिए उपलब्ध खाते</translation>
 <translation id="8081989000209387414">ADB डीबग करने की सुविधा बंद करें?</translation>
 <translation id="8082106343289440791">"<ph name="DEVICE_NAME" />" से जोड़ना चाहते हैं?</translation>
 <translation id="8082390128630131497">ADB डीबग करने की सुविधा बंद करने से यह <ph name="DEVICE_TYPE" /> फ़ैक्ट्री सेटिंग पर रीसेट हो जाएगा. सभी उपयोगकर्ता खातों और स्थानीय डेटा को हमेशा के लिए मिटा दिया जाएगा.</translation>
@@ -7160,6 +7172,7 @@
 <translation id="8342861492835240085">कोई संग्रह चुनें</translation>
 <translation id="8347227221149377169">प्रिंट जॉब</translation>
 <translation id="834785183489258869">गुप्त मोड इस्तेमाल करने पर, अलग-अलग साइटों पर की गई आपकी ब्राउज़िंग गतिविधि देखने के लिए, साइटें, कुकी इस्तेमाल नहीं कर सकतीं. जैसे, लोगों के हिसाब से विज्ञापन दिखाने के लिए. हो सकता है कि कुछ साइटों पर खास सुविधाएं काम न करें.</translation>
+<translation id="8349499562373871073">Android ऐप्लिकेशन पर इस्तेमाल करने के लिए, किसी मौजूदा खाते को चुना जा सकता है या नया Google खाता जोड़ा जा सकता है. अगर आपने किसी Android ऐप्लिकेशन पर साइन इन किया है, तो आपके खाते को अन्य Android ऐप्लिकेशन पर इस्तेमाल किया जा सकता है. <ph name="LINK_BEGIN" />सेटिंग &gt; खाते<ph name="LINK_END" /> में जाकर, Android ऐप्लिकेशन पर इस्तेमाल हो रहे खाते को बदला जा सकता है.</translation>
 <translation id="8350789879725387295">डॉक में स्टाइलस टूल</translation>
 <translation id="8351316842353540018">सुलभता के विकल्प हमेशा दिखाएं</translation>
 <translation id="8351419472474436977">इस एक्सटेंशन ने आपकी प्रॉक्सी सेटिंग पर नियंत्रण कर लिया है, जिसका अर्थ है कि यह   ऑनलाइन किए जाने वाले काम को बदल सकता है, खंडित कर सकता है या उसे छिप कर सुन सकता है. अगर आप पक्का नहीं हैं कि यह बदलाव क्यों हुआ है, तो संभवत: आप उसे नहीं चाहते हैं.</translation>
@@ -7375,6 +7388,7 @@
 <translation id="8610103157987623234">फ़ॉर्मैट गलत है, कृपया फिर से कोशिश करें</translation>
 <translation id="8611682088849615761">इस साइट को, MIDI डिवाइस का पूरा कंट्रोल रखने का ऐक्सेस देना जारी रखें</translation>
 <translation id="8613164732773110792">सिर्फ़ छोटे अक्षर, अंक, अंडरस्कोर या डैश</translation>
+<translation id="8613645710357126807">एक्सटेंशन इस्तेमाल करने की अनुमति नहीं है</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> बहुत बड़ी है, इसलिए इसकी सुरक्षा जांच नहीं की जा सकती. आप 50 एमबी तक की फ़ाइलें खोल सकते हैं.</translation>
 <translation id="8615618338313291042">गुप्‍त ऐप्लिकेशन: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> को अपने संपर्कों में जोड़ें</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index 83eec85a..ef0cde8f5 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> zahtijeva da vaša pametna kartica ostane umetnuta.}other{Automatski ćete se odjaviti za # sekundi.
 <ph name="DOMAIN" /> zahtijeva da vaša pametna kartica ostane umetnuta.}}</translation>
 <translation id="1193927020065025187">Ova vas web-lokacija možda pokušava prevariti kako biste dopustili ometajuće obavijesti</translation>
+<translation id="1195210374336998651">Otvorite postavke aplikacije</translation>
 <translation id="1195447618553298278">Nepoznata pogreška.</translation>
 <translation id="1195558154361252544">Obavijesti su automatski blokirane za sve web-lokacije osim za one koje dopustite</translation>
 <translation id="1197088940767939838">Narančasta</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Je li taj rezultat bio neočekivan? <ph name="BEGIN_LINK" />Pošaljite svoje dojmove<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Unijeli ste e-adresu i zaporku koje se ne podudaraju</translation>
 <translation id="1397500194120344683">Nema uređaja koji ispunjavaju uvjete. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Prijavljeni ste u Chrome na sljedećim uređajima, stoga ih možete upotrebljavati kao sigurnosne ključeve.</translation>
 <translation id="1398853756734560583">Maksimiziraj</translation>
 <translation id="139911022479327130">Otključajte telefon i potvrdite da ste to vi</translation>
 <translation id="1401308693935339022">Upotreba lokacije. Aplikacijama i uslugama s dopuštenjem za lokaciju dopustite da upotrebljavaju lokaciju ovog uređaja. Google može povremeno prikupljati podatke o lokaciji i upotrebljavati ih na anoniman način kako bi poboljšao točnost lokacije i usluga temeljenih na lokaciji.</translation>
@@ -770,6 +772,7 @@
 <translation id="176587472219019965">&amp;Novi prozor</translation>
 <translation id="1766575458646819543">Zatvorili ste prikaz preko cijelog zaslona</translation>
 <translation id="1766957085594317166">Na siguran način spremite zaporke na svoj Google račun i nikada ih više nećete morati upisivati</translation>
+<translation id="1767043563165955993">Koristi s Android aplikacijama</translation>
 <translation id="1768212860412467516">Slanje povratnih informacija za <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Ups! Pojavio se problem s kontaktiranjem poslužitelja za prijavu. Provjerite mrežnu vezu i naziv domene, a zatim pokušajte ponovo.</translation>
 <translation id="1769104665586091481">Otvori vezu u novom &amp;prozoru</translation>
@@ -1105,6 +1108,7 @@
 <translation id="2113479184312716848">Open &amp;File... (Otvori datoteku...)</translation>
 <translation id="2113921862428609753">Pristup informacijama o ovlaštenom tijelu</translation>
 <translation id="2114326799768592691">Ponovo učitaj okvir</translation>
+<translation id="2114413269775311385">Upotrebljavajte ovaj račun s Android aplikacijama. Dopuštenjima za Android aplikacije možete upravljati u <ph name="LINK_BEGIN" />postavkama aplikacija<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Fotografija, <ph name="NAME" /></translation>
 <translation id="2114995631896158695">SIM kartica nije umetnuta</translation>
 <translation id="2116619964159595185">Web-lokacije se obično povezuju s Bluetooth uređajima radi značajki poput postavljanja ili sinkroniziranja niskoenergetskog lokatora, uređaja za praćenje zdravlja ili fitnessa ili male žarulje</translation>
@@ -1168,6 +1172,7 @@
 <translation id="2163470535490402084">Povežite se s internetom da biste se prijavili na uređaj <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">Uključivanje tamnog načina</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> i još jedan prekidač</translation>
+<translation id="2165102982098084499">Ove uređaje povezali ste skeniranjem QR koda.</translation>
 <translation id="2165177462441582039">Odaberite trajanje isticanja pojedine stavke</translation>
 <translation id="2166369534954157698">Đačić sjedi u hladu i čita zanimljivu knjigu, u džepu mu šljiva, boca, frula i puž.</translation>
 <translation id="2169062631698640254">Ipak se prijavi</translation>
@@ -1943,6 +1948,7 @@
 <translation id="2915873080513663243">Automatsko traženje</translation>
 <translation id="2916073183900451334">Pritiskom na Tab na web-stranici ističu se veze, isto kao i iz polja</translation>
 <translation id="2916745397441987255">Pretražite proširenja</translation>
+<translation id="2918484639460781603">Idite na postavke</translation>
 <translation id="2918484644467055090">Uređaj se ne može prijaviti u organizaciji kojoj pripada vaš račun jer je postavljen kao uređaj kojim upravlja neka druga organizacija.</translation>
 <translation id="2920852127376356161">Nije dopušteno rukovanje protokolima</translation>
 <translation id="2921081876747860777">Napravite zaporku da biste zaštitili lokalne podatke.</translation>
@@ -2567,6 +2573,7 @@
 <translation id="3592260987370335752">&amp;Saznajte više</translation>
 <translation id="3593152357631900254">Omogući način Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Ograničenja naziva certifikata</translation>
+<translation id="3596012367874587041">Postavke aplikacije</translation>
 <translation id="3596414637720633074">Blokiranje kolačića trećih strana u anonimnom načinu</translation>
 <translation id="3599221874935822507">Izdignuto</translation>
 <translation id="3599863153486145794">Briše povijest na svim uređajima na kojima ste prijavljeni. Na vašem Google računu možda postoje drugi oblici povijesti pregledavanja na stranici <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2944,6 +2951,7 @@
 <translation id="3943582379552582368">&amp;Natrag</translation>
 <translation id="3943857333388298514">Zalijepi</translation>
 <translation id="3945513714196326460">Pokušajte s kraćim nazivom</translation>
+<translation id="3947643756376959257">Unesite pristupnu šifru koja se prikazuje na Chromecastu ili TV-u.</translation>
 <translation id="3948027458879361203">Promijeni naziv hosta</translation>
 <translation id="3948116654032448504">&amp;Traži sliku uz <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786">Web-lokacija <ph name="ORIGIN" /> može uređivati datoteke u sljedećim mapama</translation>
@@ -3185,12 +3193,14 @@
 <translation id="4210048056321123003">Preuzimanje virtualnog računala</translation>
 <translation id="421182450098841253">&amp;Prikaz trake oznake</translation>
 <translation id="4211851069413100178">Slanje podataka o upotrebi i dijagnostici. Pomognite poboljšati Android automatskim slanjem dijagnostičkih podataka te podataka o upotrebi uređaja i aplikacija Googleu. Ti podaci pomoći će poboljšati stabilnost sustava, aplikacija i drugo. Neki skupni podaci pomoći će i Googleovim aplikacijama i partnerima, na primjer razvojnim programerima za Android. Ovu <ph name="BEGIN_LINK1" />postavku<ph name="END_LINK1" /> zadao je vlasnik. Vlasnik može Googleu slati dijagnostiku i podatke o upotrebi za ovaj uređaj. Ako je uključena dodatna postavka Aktivnost na webu i u aplikacijama, ti se podaci mogu spremati na vaš Google račun. <ph name="BEGIN_LINK2" />Saznajte više<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Prestani koristiti s Android aplikacijama</translation>
 <translation id="42126664696688958">Izvezi</translation>
 <translation id="42137655013211669">Pristup tom resursu zabranio je poslužitelj.</translation>
 <translation id="4217571870635786043">Diktat</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Došlo je do pogreške prilikom aktivacije.</translation>
 <translation id="4225397296022057997">Na svim web-lokacijama</translation>
+<translation id="4227605727325220318">Dodajte novi Android telefon</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{To proširenje nije dopušteno}one{Neka proširenja nisu dopuštena}few{Neka proširenja nisu dopuštena}other{Neka proširenja nisu dopuštena}}</translation>
 <translation id="4231095370974836764">Instalirajte aplikacije i igre s Google Playa na <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Konfigurirajte Kerberos</translation>
@@ -4721,6 +4731,7 @@
 <translation id="5862109781435984885">Prikaži alate pisaljke na polici</translation>
 <translation id="5862319196656206789">Postavljanje povezanih uređaja</translation>
 <translation id="5863445608433396414">Omogući značajke za otklanjanje pogrešaka</translation>
+<translation id="5864147196375746035">Emitiranje na upravljani uređaj</translation>
 <translation id="5864195618110239517">Koristi vezu s ograničenim prometom</translation>
 <translation id="5864754048328252126">Radnja tijekom napajanja</translation>
 <translation id="5865508026715185451">Uskoro će se pauzirati <ph name="APP_NAME" /></translation>
@@ -5683,6 +5694,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> s</translation>
 <translation id="6860097299815761905">Proxy postavke...</translation>
 <translation id="6860427144121307915">Otvori u kartici</translation>
+<translation id="6863496016067551393">Dopuštena su sva proširenja</translation>
 <translation id="686366188661646310">Izbrisati zaporku?</translation>
 <translation id="6865313869410766144">Automatski ispuni podatke u obrascu</translation>
 <translation id="6865598234501509159">Jezik stranice nije <ph name="LANGUAGE" /></translation>
@@ -5712,6 +5724,7 @@
 <translation id="6900532703269623216">Poboljšana zaštita</translation>
 <translation id="6900651018461749106">Prijavite se ponovo da biste ažurirali <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Jeste li sigurni da želite izbrisati tu tražilicu?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Glas za pregled</translation>
 <translation id="6902336033320348843">Odjeljak nije podržan: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Pridružite uređaj domeni</translation>
@@ -5901,6 +5914,7 @@
 <translation id="7086672505018440886">Uključi Chromeove datoteke zapisnika u arhivu.</translation>
 <translation id="7088434364990739311">Nije uspjelo pokretanje ažuriranja (kôd pogreške <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Administrator je postavio uređaj u stanje uklonjenog pristupa. Da biste omogućili njegovu prijavu, zamolite administratora da postavi uređaj u stanje na čekanju.</translation>
+<translation id="7090160970140261931">Na svoj uređaj <ph name="DEVICE_TYPE" /> možete dodati dodatne račune da biste ih koristili s web-lokacijama i Android aplikacijama. Možete i upravljati time koji se računi koriste s Android aplikacijama.</translation>
 <translation id="7093220653036489319">Brzi odgovori</translation>
 <translation id="7093416310351037609">Za potrebe sigurnosti i zaštite vaša organizacija zahtijeva da se sva preuzimanja koja ispunjavaju uvjete spreme na račun <ph name="WEB_DRIVE" /> vaše organizacije.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6960,6 +6974,7 @@
 <translation id="8147900440966275470">Pronađena je <ph name="NUM" /> kartica</translation>
 <translation id="8148760431881541277">Ograničavanje prijave</translation>
 <translation id="8149564499626272569">Potvrdite putem telefona povezanog USB kabelom</translation>
+<translation id="815114315010033526">Umjesto toga upotrijebite QR kôd</translation>
 <translation id="8151638057146502721">Konfiguracija</translation>
 <translation id="8154790740888707867">Nema datoteke</translation>
 <translation id="8154912474061769055">Značajke na mnogim web-lokacijama možda neće funkcionirati</translation>
@@ -6985,6 +7000,7 @@
 <translation id="8176332201990304395">Ružičasta i bijela</translation>
 <translation id="8177196903785554304">Podaci o mreži</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Premjesti karticu u novi prozor}one{Premjesti kartice u novi prozor}few{Premjesti kartice u novi prozor}other{Premjesti kartice u novi prozor}}</translation>
+<translation id="8179188928355984576">Ne koristi se s Android aplikacijama</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" može čitati i brisati slikovne, video i audiodatoteke na označenim lokacijama.</translation>
 <translation id="8181215761849004992">Pridruživanje domeni nije uspjelo. Na računu provjerite imate li dovoljno ovlasti za dodavanje uređaja.</translation>
@@ -7360,6 +7376,7 @@
 <translation id="8610103157987623234">Format nije točan. Pokušajte ponovo.</translation>
 <translation id="8611682088849615761">Nastavi dopuštati ovoj web-lokaciji potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8613164732773110792">Samo mala slova, brojke, podvlake ili crtice</translation>
+<translation id="8613645710357126807">Upotreba proširenja nije dopuštena</translation>
 <translation id="8613786722548417558">Datoteka <ph name="FILE_NAME" /> prevelika je za sigurnosnu provjeru. Možete otvarati datoteke do 50 MB.</translation>
 <translation id="8615618338313291042">Anonimna aplikacija: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Dodajte kontakt <ph name="CONTACT_NAME" /> u kontakte</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 3942efcc..29319f9 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -206,6 +206,7 @@
 A(z) <ph name="DOMAIN" /> megköveteli, hogy ne távolítsa el az intelligens kártyát.}other{A rendszer # másodperc múlva automatikusan kijelentkezteti.
 A(z) <ph name="DOMAIN" /> megköveteli, hogy ne távolítsa el az intelligens kártyát.}}</translation>
 <translation id="1193927020065025187">Előfordulhat, hogy ez a webhely arra próbálja megtévesztő módon rávenni Önt, hogy engedélyezze a tolakodó értesítéseket.</translation>
+<translation id="1195210374336998651">Ugrás az alkalmazás beállításaihoz</translation>
 <translation id="1195447618553298278">Ismeretlen hiba.</translation>
 <translation id="1195558154361252544">Az Ön által engedélyezett webhelyek kivételével a böngésző automatikusan letiltja az értesítéseket</translation>
 <translation id="1197088940767939838">Narancssárga</translation>
@@ -1957,6 +1958,7 @@
 <translation id="2915873080513663243">Automatikus keresés</translation>
 <translation id="2916073183900451334">A Tab billentyű megnyomása a weboldalakon kiemeli a linkeket és a beviteli mezőket</translation>
 <translation id="2916745397441987255">Bővítmények keresése</translation>
+<translation id="2918484639460781603">Ugrás a beállításokhoz</translation>
 <translation id="2918484644467055090">Ez az eszköz nem regisztrálható annál a szervezetnél, amelyhez fiókja tartozik, mert az eszköz felügyeletére egy másik szervezet van kijelölve.</translation>
 <translation id="2920852127376356161">Nem kezelhetnek protokollokat</translation>
 <translation id="2921081876747860777">Hozzon létre jelszót a helyi adatok védelme érdekében.</translation>
@@ -2581,6 +2583,7 @@
 <translation id="3592260987370335752">&amp;További információ</translation>
 <translation id="3593152357631900254">Részleges pinjin mód engedélyezése</translation>
 <translation id="3593965109698325041">Tanúsítvány nevének megkötései</translation>
+<translation id="3596012367874587041">Alkalmazásbeállítások</translation>
 <translation id="3596414637720633074">Harmadik felektől származó cookie-k letiltása Inkognitó módban</translation>
 <translation id="3599221874935822507">Megemelt</translation>
 <translation id="3599863153486145794">Törli az előzményeket valamennyi bejelentkezett eszközről. Előfordulhat, hogy a böngészési előzmények más formái még megtalálhatók Google-fiókjában a <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> webhelyen.</translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb
index a643d07..433231b 100644
--- a/chrome/app/resources/generated_resources_hy.xtb
+++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -205,6 +205,7 @@
 Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։}other{Դուք # վայրկյանից ավտոմատ դուրս կգաք համակարգից։
 Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։}}</translation>
 <translation id="1193927020065025187">Այս կայքը կարող է խաբեությամբ համոզել ձեզ, որ թույլատրեք ձանձրացնող ծանուցումների ուղարկումը</translation>
+<translation id="1195210374336998651">Անցնել հավելվածի կարգավորումներ</translation>
 <translation id="1195447618553298278">Անհայտ սխալ:</translation>
 <translation id="1195558154361252544">Բացի ձեր նշած կայքերից՝ մնացած բոլոր կայքերի համար ծանուցումներն ավտոմատ արգելափակվում են:</translation>
 <translation id="1197088940767939838">Նարնջագույն</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Այս արդյունքն անսպասելի՞ էր։ <ph name="BEGIN_LINK" />Կարծիք հայտնել<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Մուտքագրված օգտանունն ու գաղտնաբառը չեն համընկնում</translation>
 <translation id="1397500194120344683">Համապատասխան սարքեր չկան: <ph name="LINK_BEGIN" />Իմանալ ավելին<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Դուք այս սարքերում մուտք եք գործել Chrome և կարող եք դրանք օգտագործել որպես անվտանգության բանալիներ։</translation>
 <translation id="1398853756734560583">Առավելացնել</translation>
 <translation id="139911022479327130">Ապակողպեք հեռախոսն ու հաստատեք ձեր ինքնությունը</translation>
 <translation id="1401308693935339022">Տեղորոշման օգտագործում։ Թույլ տվեք հավելվածներին և ծառայություններին օգտագործել սարքի գտնվելու վայրի մասին տվյալները։ Google-ը կարող է պարբերաբար հավաքել տեղադրության տվյալները և անանուն կերպով օգտագործել դրանք՝ տեղորոշումն ավելի ճշգրիտ դարձնելու և տեղադրության վրա հիմնված ծառայությունների որակը բարձրացնելու համար։</translation>
@@ -1170,6 +1172,7 @@
 <translation id="2163470535490402084"><ph name="DEVICE_TYPE" /> սարք մուտք գործելու համար միացեք համացանցին:</translation>
 <translation id="2163937499206714165">Միացնել մուգ ռեժիմը</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> ու ևս 1 փոխանջատիչ</translation>
+<translation id="2165102982098084499">Դուք կապել եք այս սարքերը՝ սկանավորելով QR կոդ։</translation>
 <translation id="2165177462441582039">Ընտրեք, թե յուրաքանչյուր տարր որքան ժամանակ պետք է նշված մնա</translation>
 <translation id="2166369534954157698">The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">Մուտք գործել</translation>
@@ -1895,6 +1898,7 @@
 <translation id="287205682142673348">Միացքի փոխանցում</translation>
 <translation id="287286579981869940">Ավելացնել <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Անջատել</translation>
+<translation id="2873995907777332853">Իմանալ ավելին բոլոր քուքիներն արգելափակելու մասին</translation>
 <translation id="2874939134665556319">Նախորդը</translation>
 <translation id="2875698561019555027">(Chrome սխալների էջեր)</translation>
 <translation id="2876336351874743617">Մատ 2</translation>
@@ -2198,6 +2202,7 @@
 <translation id="3189187154924005138">Մեծ նշորդ</translation>
 <translation id="3190558889382726167">Գաղտնաբառը պահվեց</translation>
 <translation id="3192947282887913208">Աուդիո ֆայլեր</translation>
+<translation id="3194786596445804250">Իմանալ ավելին կողմնակի կայքերի քուքիներն արգելափակելու մասին</translation>
 <translation id="3197453258332670132">Մկնիկի աջ կոճակը սեղմելու կամ երկար սեղմելու դեպքում կցուցադրվեն տեղեկություններ ընտրված տեքստի մասին</translation>
 <translation id="3199127022143353223">Սերվերներ</translation>
 <translation id="3200061262156232574">Ձեր գնումների զամբյուղում</translation>
@@ -2565,6 +2570,7 @@
 <translation id="3592260987370335752">&amp;Իմանալ ավելին</translation>
 <translation id="3593152357631900254">Միացնել Fuzzy-Pinyin ռեժիմը</translation>
 <translation id="3593965109698325041">Վկայագրի անվան սահմանափակումներ</translation>
+<translation id="3596012367874587041">Հավելվածի կարգավորումներ</translation>
 <translation id="3596414637720633074">Արգելափակել կողմնակի կայքերի քուքիները ինկոգնիտո ռեժիմում</translation>
 <translation id="3599221874935822507">Ուռուցիկ</translation>
 <translation id="3599863153486145794">Մաքրում է պատմությունը բոլոր սարքերից, որոնցում մուտք եք գործել։ Ձեր Google հաշվում կարող են լինել այցելությունների պատմության այլ ձևեր ևս: Դրանք կարող եք գտնել <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> էջում։</translation>
@@ -5295,6 +5301,7 @@
 <translation id="6455264371803474013">Որոշակի կայքերում</translation>
 <translation id="6455894534188563617">&amp;Նոր պանակ</translation>
 <translation id="645705751491738698">Շարունակել JavaScript-ի արգելափակումը</translation>
+<translation id="6458347417133445570">Իմանալ ավելին բոլոր քուքիները թույլատրելու մասին</translation>
 <translation id="6458701200018867744">Չհաջողվեց վերբեռնել (<ph name="WEBRTC_LOG_UPLOAD_TIME" />):</translation>
 <translation id="6459488832681039634">Use Selection for Find</translation>
 <translation id="6459799433792303855">Ակտիվ պատուհանը տեղափոխվել է այլ էկրան։</translation>
@@ -5687,6 +5694,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> վ</translation>
 <translation id="6860097299815761905">Պրոքսի-սերվերի կարգավորումներ…</translation>
 <translation id="6860427144121307915">Բացել ներդիրով</translation>
+<translation id="6863496016067551393">Բոլոր ընդլայնումները թույլատրված են</translation>
 <translation id="686366188661646310">Ջնջե՞լ գաղտնաբառը</translation>
 <translation id="6865313869410766144">Ինքնալցման տվյալներ</translation>
 <translation id="6865598234501509159">Էջը <ph name="LANGUAGE" /> չէ</translation>
@@ -5716,6 +5724,7 @@
 <translation id="6900532703269623216">Բարելավված պաշտպանություն</translation>
 <translation id="6900651018461749106">Նորից մուտք գործեք՝ <ph name="USER_EMAIL" /> հաշիվը թարմացնելու համար</translation>
 <translation id="6900654715912436255">Իսկապե՞ս ուզում եք ջնջել այս որոնողական համակարգը։</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Ձայնի նախնական հնչեցում</translation>
 <translation id="6902336033320348843">Բաժինը չի աջակցվում՝ <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Միացրեք սարքը տիրույթին</translation>
@@ -6724,6 +6733,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> վ</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> կայքը կարող է դիտել <ph name="FILENAME" /> ֆայլը</translation>
 <translation id="7920482456679570420">Ավելացրեք բառեր, որոնք անհրաժեշտ է բաց թողնել ուղղագրությունը ստուգելիս</translation>
+<translation id="7922935920104868876">Իմանալ ավելին ինկոգնիտո ռեժիմում կողմնակի կայքերի քուքիներն արգելափակելու մասին</translation>
 <translation id="7924358170328001543">Չհաջողվեց փոխանցել միացքը</translation>
 <translation id="7925108652071887026">Ինքնալրացման տվյալները</translation>
 <translation id="792514962475806987">Ամրացված խոշորացույցի մասշտաբը՝</translation>
@@ -6887,6 +6897,7 @@
 <translation id="8076492880354921740">Ներդիրներ</translation>
 <translation id="8076835018653442223">Ադմինիստրատորն արգելափակել է ձեր սարքի տեղային ֆայլերի օգտագործումը</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Հաշիվներ, որոնք կարելի է օգտագործել Android-ի համար հավելվածներում</translation>
 <translation id="8081989000209387414">Անջատե՞լ ADB վրիպազերծումը</translation>
 <translation id="8082106343289440791">Զուգակցե՞լ «<ph name="DEVICE_NAME" />» սարքի հետ</translation>
 <translation id="8082390128630131497">Եթե անջատեք ADB վրիպազերծումը, <ph name="DEVICE_TYPE" /> սարքի գործարանային կարգավորումները կվերականգնվեն։ Օգտատիրոջ բոլոր հաշիվները և տեղային տվյալները կհեռացվեն:</translation>
@@ -7147,6 +7158,7 @@
 <translation id="8342861492835240085">Ընտրել հավաքածու</translation>
 <translation id="8347227221149377169">Տպելու առաջադրանքներ</translation>
 <translation id="834785183489258869">Ինկոգնիտո ռեժիմում կայքերը չեն կարող օգտագործել քուքիներ՝ դիտարկիչում ձեր գործողությունները տեսնելու համար, օրինակ, գովազդի անհատականացման նպատակով։ Որոշ կայքերում գործառույթները կարող են չաշխատել։</translation>
+<translation id="8349499562373871073">Ընտրեք գոյություն ունեցող Google հաշիվ, որն ուզում եք օգտագործել Android-ի համար հավելվածներում, կամ ստեղծեք նորը։ Մուտք գործելուց հետո դուք կկարողանաք օգտագործել ձեր հաշիվը Android-ի համար այլ հավելվածներում։ Հավելվածների մուտքի պարամետրերը փոխելու համար անցեք <ph name="LINK_BEGIN" />Կարգավորումներ &gt; Հաշիվներ<ph name="LINK_END" />։</translation>
 <translation id="8350789879725387295">Ստիլուսի գործիքներ դոկ-կայանում</translation>
 <translation id="8351316842353540018">Միշտ ցույց տալ հատուկ գործառույթները</translation>
 <translation id="8351419472474436977">Ձեր պրոքսիի կարգավորումները վերահսկվում են այս ընդլայնման կողմից: Դա նշանակում է, որ այն կարող է փոխել, խափանել կամ աննկատ գրառել այն ամենը, ինչ անում եք առցանց: Եթե չգիտեք, թե ինչու է այդ փոփոխությունը տեղի ունեցել, հավանաբար դուք դա չէիք ուզում:</translation>
@@ -7362,6 +7374,7 @@
 <translation id="8610103157987623234">Ձևաչափը սխալ է։ Նորից փորձեք։</translation>
 <translation id="8611682088849615761">Թույլատրել այս կայքին նախկինի պես ամբողջությամբ վերահսկել MIDI սարքերը</translation>
 <translation id="8613164732773110792">Միայն փոքրատառեր, թվեր, ընդգծման նշաններ և գծիկներ</translation>
+<translation id="8613645710357126807">Ընդլայնումների օգտագործումն արգելված է</translation>
 <translation id="8613786722548417558">«<ph name="FILE_NAME" />» ֆայլը չափազանց մեծ է անվտանգության ստուգման համար։ Դուք կարող եք բացել մինչև 50 ՄԲ չափի ֆայլեր։</translation>
 <translation id="8615618338313291042">Ինկոգնիտո հավելված՝ <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" />՝ ավելացնել կոնտակտներում</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 1ac65ee..198be67 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> mengharuskan Anda tetap memasang kartu smart.}other{Anda akan otomatis logout dalam # detik.
 <ph name="DOMAIN" /> mengharuskan Anda tetap memasang kartu smart.}}</translation>
 <translation id="1193927020065025187">Situs ini mungkin mencoba mengelabui Anda agar mengizinkan notifikasi yang mengganggu</translation>
+<translation id="1195210374336998651">Buka setelan aplikasi</translation>
 <translation id="1195447618553298278">Kesalahan tak dikenal.</translation>
 <translation id="1195558154361252544">Notifikasi otomatis diblokir untuk semua situs kecuali situs yang Anda izinkan</translation>
 <translation id="1197088940767939838">Oranye</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Apakah hasil ini tidak diharapkan? <ph name="BEGIN_LINK" />Kirim masukan<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Nama pengguna dan sandi yang Anda masukkan tidak cocok</translation>
 <translation id="1397500194120344683">Tidak ada perangkat yang memenuhi syarat. <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Anda login ke Chrome di perangkat berikut, sehingga Anda dapat menggunakannya sebagai kunci keamanan.</translation>
 <translation id="1398853756734560583">Perbesar</translation>
 <translation id="139911022479327130">Buka kunci ponsel dan konfirmasikan bahwa ini memang Anda</translation>
 <translation id="1401308693935339022">Gunakan lokasi. Izinkan aplikasi dan layanan yang memiliki izin akses lokasi untuk menggunakan lokasi perangkat ini. Google dapat mengumpulkan data lokasi secara berkala dan menggunakan data ini secara anonim untuk meningkatkan akurasi lokasi dan layanan berdasarkan lokasi.</translation>
@@ -779,6 +781,7 @@
 <translation id="176587472219019965">Je&amp;ndela Baru</translation>
 <translation id="1766575458646819543">Layar penuh ditutup</translation>
 <translation id="1766957085594317166">Simpan sandi dengan aman di Akun Google Anda, dan Anda tidak perlu lagi mengetikkannya</translation>
+<translation id="1767043563165955993">Gunakan dengan aplikasi Android</translation>
 <translation id="1768212860412467516">Kirim masukan untuk <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Maaf.  Terjadi masalah saat menghubungi server login. Harap periksa koneksi jaringan dan nama domain, lalu coba lagi.</translation>
 <translation id="1769104665586091481">Buka Tautan di &amp;Jendela Baru</translation>
@@ -1115,6 +1118,7 @@
 <translation id="2113479184312716848">Buka &amp;Berkas...</translation>
 <translation id="2113921862428609753">Akses Informasi Otoritas</translation>
 <translation id="2114326799768592691">Muat ulang &amp;Frame</translation>
+<translation id="2114413269775311385">Gunakan akun ini dengan aplikasi Android. Anda dapat mengontrol izin untuk aplikasi Android di <ph name="LINK_BEGIN" />Setelan Aplikasi<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto oleh <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Tidak ada kartu SIM yang dimasukkan</translation>
 <translation id="2116619964159595185">Situs biasanya terhubung ke perangkat Bluetooth untuk fitur seperti penyiapan atau sinkronisasi beacon hemat energi, pelacak kesehatan atau kebugaran, atau bohlam lampu smart</translation>
@@ -1178,6 +1182,7 @@
 <translation id="2163470535490402084">Sambungkan ke internet untuk masuk ke <ph name="DEVICE_TYPE" /> Anda.</translation>
 <translation id="2163937499206714165">Aktifkan mode gelap</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" />, dan 1 tombol lainnya</translation>
+<translation id="2165102982098084499">Anda menautkan perangkat ini dengan memindai kode QR.</translation>
 <translation id="2165177462441582039">Pilih seberapa lama sorotan harus tetap berada di setiap item</translation>
 <translation id="2166369534954157698">Lihat gaya font dan contoh ukurannya dengan cara yang menyenangkan</translation>
 <translation id="2169062631698640254">Tetap login</translation>
@@ -1907,6 +1912,7 @@
 <translation id="287205682142673348">Penerusan port</translation>
 <translation id="287286579981869940">Menambahkan <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Matikan</translation>
+<translation id="2873995907777332853">Tampilkan detail tentang pemblokiran semua cookie</translation>
 <translation id="2874939134665556319">Lagu sebelumnya</translation>
 <translation id="2875698561019555027">(Halaman kesalahan Chrome)</translation>
 <translation id="2876336351874743617">Jari 2</translation>
@@ -1954,6 +1960,7 @@
 <translation id="2915873080513663243">Pemindaian otomatis</translation>
 <translation id="2916073183900451334">Menekan Tab pada halaman web akan menyorot link, juga bidang formulir</translation>
 <translation id="2916745397441987255">Telusuri ekstensi</translation>
+<translation id="2918484639460781603">Buka setelan</translation>
 <translation id="2918484644467055090">Perangkat ini tidak dapat didaftarkan ke organisasi tempat akun Anda berada karena perangkat ditandai untuk dikelola oleh organisasi lain.</translation>
 <translation id="2920852127376356161">Tidak diizinkan menangani protokol</translation>
 <translation id="2921081876747860777">Buat sandi untuk melindungi data lokal Anda.</translation>
@@ -2210,6 +2217,7 @@
 <translation id="3189187154924005138">Kursor besar</translation>
 <translation id="3190558889382726167">Sandi tersimpan</translation>
 <translation id="3192947282887913208">File Audio</translation>
+<translation id="3194786596445804250">Tampilkan detail tentang pemblokiran cookie pihak ketiga</translation>
 <translation id="3197453258332670132">Dengan klik kanan atau tekan lama, tampilkan info terkait untuk teks yang Anda pilih</translation>
 <translation id="3199127022143353223">Server</translation>
 <translation id="3200061262156232574">Di keranjang belanja Anda</translation>
@@ -2577,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;Pelajari lebih lanjut</translation>
 <translation id="3593152357631900254">Aktifkan mode Pinyin Fuzi</translation>
 <translation id="3593965109698325041">Kendala Nama Sertifikat</translation>
+<translation id="3596012367874587041">Setelan aplikasi</translation>
 <translation id="3596414637720633074">Blokir cookie pihak ketiga dalam mode Samaran</translation>
 <translation id="3599221874935822507">Dinaikkan</translation>
 <translation id="3599863153486145794">Menghapus histori dari semua perangkat yang dibuat login. Akun Google Anda mungkin memiliki bentuk histori penjelajahan lainnya di <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2954,6 +2963,7 @@
 <translation id="3943582379552582368">&amp;Mundur</translation>
 <translation id="3943857333388298514">Sisipkan</translation>
 <translation id="3945513714196326460">Coba nama yang lebih singkat</translation>
+<translation id="3947643756376959257">Masukkan kode akses yang ditampilkan di Chromecast atau TV.</translation>
 <translation id="3948027458879361203">Ubah nama host</translation>
 <translation id="3948116654032448504">&amp;Telusuri <ph name="SEARCH_ENGINE" /> untuk Gambar</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> dapat mengedit file dalam folder berikut ini</translation>
@@ -3195,12 +3205,14 @@
 <translation id="4210048056321123003">Mendownload mesin virtual</translation>
 <translation id="421182450098841253">&amp;Tampilkan Bilah Bookmark</translation>
 <translation id="4211851069413100178">Kirim data penggunaan dan diagnostik. Bantuan sempurnakan pengalaman Android Anda dengan otomatis mengirim data diagnostik, perangkat, dan penggunaan aplikasi ke Google. Data ini akan membantu sistem dan stabilitas aplikasi serta peningkatan lainnya. Beberapa data gabungan juga akan membantu aplikasi dan partner Google, seperti developer Android. <ph name="BEGIN_LINK1" />Setelan<ph name="END_LINK1" /> ini diterapkan oleh pemilik. Pemilik dapat memilih untuk mengirim data diagnostik dan penggunaan untuk perangkat ini ke Google. Jika setelan Aktivitas Web &amp; Aplikasi tambahan diaktifkan, data ini mungkin akan disimpan ke Akun Google Anda. <ph name="BEGIN_LINK2" />Pelajari Lebih Lanjut<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Hentikan penggunaan dengan aplikasi Android</translation>
 <translation id="42126664696688958">Ekspor</translation>
 <translation id="42137655013211669">Akses ke sumber daya ini tidak diizinkan oleh server.</translation>
 <translation id="4217571870635786043">Dikte</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Terjadi error selama aktivasi.</translation>
 <translation id="4225397296022057997">Di semua situs</translation>
+<translation id="4227605727325220318">Tambahkan ponsel Android baru</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Ekstensi ini tidak diizinkan}other{Beberapa ekstensi tidak diizinkan}}</translation>
 <translation id="4231095370974836764">Instal aplikasi dan game dari Google Play di <ph name="DEVICE_TYPE" /> Anda. <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Konfigurasikan Kerberos</translation>
@@ -4732,6 +4744,7 @@
 <translation id="5862109781435984885">Tampilkan alat stilus di rak</translation>
 <translation id="5862319196656206789">Siapkan perangkat yang terhubung</translation>
 <translation id="5863445608433396414">Aktifkan fitur debug</translation>
+<translation id="5864147196375746035">Transmisikan ke perangkat terkelola</translation>
 <translation id="5864195618110239517">Gunakan koneksi berbayar</translation>
 <translation id="5864754048328252126">Tidak ada aktivitas saat mengisi daya</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> akan segera dijeda</translation>
@@ -5301,6 +5314,7 @@
 <translation id="6455264371803474013">Di situs tertentu</translation>
 <translation id="6455894534188563617">&amp;Folder Baru</translation>
 <translation id="645705751491738698">Lanjutkan mencekal JavaScript</translation>
+<translation id="6458347417133445570">Tampilkan detail tentang penerimaan izin semua cookie</translation>
 <translation id="6458701200018867744">Upload gagal (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Gunakan Pilihan untuk Temukan</translation>
 <translation id="6459799433792303855">Jendela aktif dipindahkan ke layar lain.</translation>
@@ -5693,6 +5707,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> detik</translation>
 <translation id="6860097299815761905">Setelan proxy...</translation>
 <translation id="6860427144121307915">Buka di Tab</translation>
+<translation id="6863496016067551393">Semua ekstensi diizinkan</translation>
 <translation id="686366188661646310">Hapus sandi?</translation>
 <translation id="6865313869410766144">Data formulir isi-otomatis</translation>
 <translation id="6865598234501509159">Halaman Tidak dalam Bahasa <ph name="LANGUAGE" /></translation>
@@ -5722,6 +5737,7 @@
 <translation id="6900532703269623216">Perlindungan yang ditingkatkan</translation>
 <translation id="6900651018461749106">Login lagi untuk memperbarui <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Yakin ingin menghapus mesin telusur ini?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Suara untuk dipratinjau</translation>
 <translation id="6902336033320348843">Bagian tidak didukung: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Gabungkan perangkat ke domain</translation>
@@ -5911,6 +5927,7 @@
 <translation id="7086672505018440886">Sertakan file log Chrome di arsip.</translation>
 <translation id="7088434364990739311">Pengecekan pembaruan gagal dilakukan (kode kesalahan <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Perangkat ini telah dialihkan ke status dibatalkan penetapannya oleh administrator. Agar bisa dipakai untuk pendaftaran, minta administrator mengubah status perangkat menjadi menunggu keputusan.</translation>
+<translation id="7090160970140261931">Anda dapat menambahkan akun tambahan ke <ph name="DEVICE_TYPE" /> untuk digunakan dengan situs dan aplikasi Android. Anda juga dapat mengontrol akun mana yang digunakan dengan aplikasi Android.</translation>
 <translation id="7093220653036489319">Jawaban instan</translation>
 <translation id="7093416310351037609">Demi keselamatan dan keamanan data, organisasi Anda mengharuskan semua download yang valid untuk disimpan ke akun <ph name="WEB_DRIVE" /> organisasi.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6731,6 +6748,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" />d</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> dapat melihat <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Tambahkan kata yang ejaannya tidak ingin diperiksa</translation>
+<translation id="7922935920104868876">Tampilkan detail tentang pemblokiran cookie pihak ketiga dalam mode Samaran</translation>
 <translation id="7924358170328001543">Error saat meneruskan port</translation>
 <translation id="7925108652071887026">Mengisi otomatis data</translation>
 <translation id="792514962475806987">Tingkat zoom yang dipasang ke dok:</translation>
@@ -6895,6 +6913,7 @@
 <translation id="8076492880354921740">Tab</translation>
 <translation id="8076835018653442223">Akses ke file lokal di perangkat Anda dinonaktifkan oleh administrator</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Akun yang tersedia untuk digunakan dengan aplikasi Android</translation>
 <translation id="8081989000209387414">Nonaktifkan proses debug ADB?</translation>
 <translation id="8082106343289440791">Sambungkan dengan "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Menonaktifkan proses debug ADB akan menyetel ulang <ph name="DEVICE_TYPE" /> ini ke setelan pabrik. Semua akun dan data lokal pengguna akan dihapus.</translation>
@@ -6969,6 +6988,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> Tab Ditemukan</translation>
 <translation id="8148760431881541277">Batasi login</translation>
 <translation id="8149564499626272569">Verifikasi melalui ponsel dengan kabel USB</translation>
+<translation id="815114315010033526">Gunakan kode QR saja</translation>
 <translation id="8151638057146502721">Konfigurasi</translation>
 <translation id="8154790740888707867">Tidak ada file</translation>
 <translation id="8154912474061769055">Fitur tertentu di banyak situs mungkin tidak berfungsi</translation>
@@ -6994,6 +7014,7 @@
 <translation id="8176332201990304395">Merah muda dan putih</translation>
 <translation id="8177196903785554304">Detail Jaringan</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Pindahkan tab ke jendela baru}other{Pindahkan beberapa tab ke jendela baru}}</translation>
+<translation id="8179188928355984576">Tidak digunakan dengan aplikasi Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" dapat membaca dan menghapus file gambar, video, dan suara di lokasi yang dicentang.</translation>
 <translation id="8181215761849004992">Tidak dapat bergabung dengan domain. Periksa akun untuk mengetahui apakah Anda memiliki hak istimewa yang memadai untuk menambahkan perangkat.</translation>
@@ -7153,6 +7174,7 @@
 <translation id="8342861492835240085">Pilih koleksi</translation>
 <translation id="8347227221149377169">Pekerjaan cetak</translation>
 <translation id="834785183489258869">Selama dalam mode Samaran, situs tidak dapat menggunakan cookie untuk melihat aktivitas penjelajahan Anda di berbagai situs, misalnya untuk mempersonalisasi iklan. Fitur tertentu di beberapa situs mungkin tidak berfungsi.</translation>
+<translation id="8349499562373871073">Anda dapat memilih akun yang sudah ada untuk digunakan dengan aplikasi Android atau menambahkan Akun Google baru. Setelah login ke salah satu aplikasi Android, akun Anda dapat digunakan dengan aplikasi Android lainnya. Anda dapat mengubah akses aplikasi Android di <ph name="LINK_BEGIN" />Setelan &gt; Akun<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Alat stilus di dok</translation>
 <translation id="8351316842353540018">Selalu tampilkan opsi a11y</translation>
 <translation id="8351419472474436977">Ekstensi ini telah mengambil alih kontrol setelan proxy Anda, yang berarti ekstensi dapat mengubah, merusak, atau menyadap apa pun yang Anda lakukan secara online. Jika Anda tidak yakin mengapa perubahan ini terjadi, mungkin Anda tidak menginginkannya.</translation>
@@ -7368,6 +7390,7 @@
 <translation id="8610103157987623234">Format salah, harap coba lagi</translation>
 <translation id="8611682088849615761">Terus izinkan situs ini untuk memiliki kontrol penuh atas perangkat MIDI</translation>
 <translation id="8613164732773110792">Karakter huruf kecil, angka, garis bawah, atau tanda hubung saja</translation>
+<translation id="8613645710357126807">Tidak diizinkan menggunakan ekstensi</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> terlalu besar untuk pemeriksaan keamanan. Anda dapat membuka file hingga 50 MB.</translation>
 <translation id="8615618338313291042">Aplikasi Samaran: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Tambahkan <ph name="CONTACT_NAME" /> ke kontak Anda</translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb
index b15b061..185d9fe 100644
--- a/chrome/app/resources/generated_resources_is.xtb
+++ b/chrome/app/resources/generated_resources_is.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" /> krefst þess að snjallkortið sé haft í.}other{Þú verður skráð(ur) út sjálfkrafa eftir # sekúndur.
 <ph name="DOMAIN" /> krefst þess að snjallkortið sé haft í.}}</translation>
 <translation id="1193927020065025187">Þetta vefsvæði gæti verið að reyna að plata þig til að leyfa ágengar tilkynningar</translation>
+<translation id="1195210374336998651">Opna forritastillingar</translation>
 <translation id="1195447618553298278">Óþekkt villa.</translation>
 <translation id="1195558154361252544">Sjálfkrafa er lokað á tilkynningar fyrir öll vefsvæði nema þau sem þú hefur gefið leyfi</translation>
 <translation id="1197088940767939838">Appelsínugulur</translation>
@@ -780,6 +781,7 @@
 <translation id="176587472219019965">&amp;Nýr gluggi</translation>
 <translation id="1766575458646819543">Hætt að birta á öllum skjánum</translation>
 <translation id="1766957085594317166">Vistaðu aðgangsorðin þín á öruggum stað á Google reikningnum þínum til að þurfa aldrei að slá þau inn aftur</translation>
+<translation id="1767043563165955993">Nota með Android forritum</translation>
 <translation id="1768212860412467516">Senda ábendingu um <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Úbbs! Vandamál kom upp við að ná sambandi við innskráningarþjóninn. Athugaðu nettenginguna og lénsheitið og reyndu svo aftur.</translation>
 <translation id="1769104665586091481">Opna tengil í nýjum glugga</translation>
@@ -1116,6 +1118,7 @@
 <translation id="2113479184312716848">Opna skrá...</translation>
 <translation id="2113921862428609753">Aðgangur að vottunarstöðvarupplýsingum</translation>
 <translation id="2114326799768592691">Endurhlaða &amp;ramma</translation>
+<translation id="2114413269775311385">Nota þennan reikning með Android forritum. Hægt er að stjórna heimildum fyrir Android forrit í <ph name="LINK_BEGIN" />stillingum forrita<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Mynd eftir <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Ekkert SIM-kort sett inn</translation>
 <translation id="2116619964159595185">Yfirleitt tengjast vefsvæði Bluetooth-tækjum til að nota eiginleika eins og að setja upp eða samstilla lágspennuvita, heilsu- eða hreystimæli eða snjallljós</translation>
@@ -1907,6 +1910,7 @@
 <translation id="287205682142673348">Framsending gáttar</translation>
 <translation id="287286579981869940">Bæta <ph name="PROVIDER_NAME" /> við...</translation>
 <translation id="2872961005593481000">Slökkva</translation>
+<translation id="2873995907777332853">Sýna upplýsingar um að loka á öll fótspor</translation>
 <translation id="2874939134665556319">Fyrra lag</translation>
 <translation id="2875698561019555027">(Chrome villusíður)</translation>
 <translation id="2876336351874743617">Fingur 2</translation>
@@ -2210,6 +2214,7 @@
 <translation id="3189187154924005138">Stór bendill</translation>
 <translation id="3190558889382726167">Aðgangsorð vistað</translation>
 <translation id="3192947282887913208">Hljóðskrár</translation>
+<translation id="3194786596445804250">Sýna upplýsingar um að loka á fótspor þriðju aðila</translation>
 <translation id="3197453258332670132">Viðeigandi upplýsingar um valinn texta birtast þegar þú hægrismellir eða heldur inni</translation>
 <translation id="3199127022143353223">Netþjónar</translation>
 <translation id="3200061262156232574">Í innkaupakörfunni þinni</translation>
@@ -2577,6 +2582,7 @@
 <translation id="3592260987370335752">Frekari upp&amp;lýsingar</translation>
 <translation id="3593152357631900254">Kveikja á stillingu fyrir óljóst pinyin</translation>
 <translation id="3593965109698325041">Takmarkanir vottorðsheitis</translation>
+<translation id="3596012367874587041">Forritastillingar</translation>
 <translation id="3596414637720633074">Loka á fótspor þriðju aðila í huliðsstillingu</translation>
 <translation id="3599221874935822507">Lyft</translation>
 <translation id="3599863153486145794">Hreinsar ferilinn úr öllum innskráðum tækjum. Google reikningurinn þinn kann að vera með annars konar vefskoðunarferil á <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2954,6 +2960,7 @@
 <translation id="3943582379552582368">Til &amp;baka</translation>
 <translation id="3943857333388298514">Líma</translation>
 <translation id="3945513714196326460">Prófaðu styttra heiti</translation>
+<translation id="3947643756376959257">Sláðu inn aðgangskóðann sem birtist í Chromecast eða sjónvarpinu.</translation>
 <translation id="3948027458879361203">Breyta hýsilheiti</translation>
 <translation id="3948116654032448504">&amp;Leita að mynd á <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> getur breytt skrám í eftirfarandi möppum</translation>
@@ -3195,12 +3202,14 @@
 <translation id="4210048056321123003">Sækir sýndarvélina</translation>
 <translation id="421182450098841253">&amp;Sýna bókamerkjastiku</translation>
 <translation id="4211851069413100178">Senda notkunar- og greiningargögn. Hjálpaðu okkur að bæta Android fyrir þig með því að senda sjálfkrafa greiningargögn, tækisgögn og upplýsingar um forritanotkun til Google. Þetta mun stuðla að því að bæta stöðugleika kerfa og forrita auk annarra endurbóta. Sum uppsöfnuð gögn munu einnig gagnast forritum og samstarfsaðilum Google, til dæmis þróunaraðilum Android. Eigandi valdi þessa <ph name="BEGIN_LINK1" />stillingu<ph name="END_LINK1" />. Eigandi getur kosið að senda greiningar- og notkunargögn þessa tækis til Google. Ef kveikt er á ítarlegri vef- og forritavirkni geta þessi gögn verið vistuð á Google reikningnum þínum. <ph name="BEGIN_LINK2" />Frekari upplýsingar<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Hætta að nota með Android forritum</translation>
 <translation id="42126664696688958">Flytja út</translation>
 <translation id="42137655013211669">Þjónninn bannaði aðgang að þessu tilfangi.</translation>
 <translation id="4217571870635786043">Upplestur</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Villa kom upp við virkjun.</translation>
 <translation id="4225397296022057997">Á öllum vefsvæðum</translation>
+<translation id="4227605727325220318">Bæta við nýjum Android síma</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Þessi viðbót er bönnuð}one{Sumar viðbætur eru bannaðar}other{Sumar viðbætur eru bannaðar}}</translation>
 <translation id="4231095370974836764">Settu upp forrit og leiki af Google Play í <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Frekari upplýsingar<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Stilla Kerberos</translation>
@@ -4732,6 +4741,7 @@
 <translation id="5862109781435984885">Sýna pennaverkfæri á hillu</translation>
 <translation id="5862319196656206789">Setja upp tengd tæki</translation>
 <translation id="5863445608433396414">Virkja villuleitareiginleika</translation>
+<translation id="5864147196375746035">Senda út í stýrt tæki</translation>
 <translation id="5864195618110239517">Nota mælda tengingu</translation>
 <translation id="5864754048328252126">Aðgerðaleysi meðan á hleðslu stendur</translation>
 <translation id="5865508026715185451">Hlé verður gert á <ph name="APP_NAME" /> fljótlega</translation>
@@ -5301,6 +5311,7 @@
 <translation id="6455264371803474013">Á tilteknum vefsvæðum</translation>
 <translation id="6455894534188563617">&amp;Ný mappa</translation>
 <translation id="645705751491738698">Halda áfram að loka fyrir JavaScript</translation>
+<translation id="6458347417133445570">Sýna upplýsingar um að leyfa öll fótspor</translation>
 <translation id="6458701200018867744">Flutningur mistókst (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Nota val til að leita</translation>
 <translation id="6459799433792303855">Virkur gluggi færður á annan skjá.</translation>
@@ -5911,6 +5922,7 @@
 <translation id="7086672505018440886">Hafa Chrome-annálaskrár með í geymslunni.</translation>
 <translation id="7088434364990739311">Ekki tókst að ræsa leit að uppfærslum (villukóði <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Stjórnandi hefur sett þetta tæki í óúthlutaða stöðu. Til að gera það virkt fyrir skráningu skaltu fá stjórnandann til að breyta stöðu þess í biðstöðu.</translation>
+<translation id="7090160970140261931">Þú getur bætt fleiri reikningum við <ph name="DEVICE_TYPE" /> til að nota með vefsvæðum og Android forritum. Einnig geturðu stjórnað því hvaða reikningar eru notaðir með Android forritum.</translation>
 <translation id="7093220653036489319">Skjót svör</translation>
 <translation id="7093416310351037609">Í því skyni að auka gagnaöryggi krefst fyrirtækið þitt þess að allt gjaldgengt niðurhal sé vistað á <ph name="WEB_DRIVE" /> reikningi fyrirtækisins.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6731,6 +6743,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> sek.</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> getur skoðað <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Bættu við orðum sem þú vilt að villuleitin sleppi</translation>
+<translation id="7922935920104868876">Sýna upplýsingar um að loka á fótspor þriðju aðila í huliðsstillingu</translation>
 <translation id="7924358170328001543">Villa við framsendingu gáttar</translation>
 <translation id="7925108652071887026">Gögn sjálfvirkrar útfyllingar</translation>
 <translation id="792514962475806987">Aðdráttur í föstum glugga:</translation>
@@ -6894,6 +6907,7 @@
 <translation id="8076492880354921740">Flipar</translation>
 <translation id="8076835018653442223">Stjórnandi hefur lokað fyrir aðgang að staðbundnum skrám tækisins</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Reikningar sem er hægt að nota með Android forritum</translation>
 <translation id="8081989000209387414">Slökkva á ADB-villuleit?</translation>
 <translation id="8082106343289440791">Para við „<ph name="DEVICE_NAME" />“?</translation>
 <translation id="8082390128630131497">Ef slökkt er á ADB-villuleit verður þetta <ph name="DEVICE_TYPE" /> tæki núllstillt. Öllum notendareikningum og staðbundnum gögnum verður eytt.</translation>
@@ -6968,6 +6982,7 @@
 <translation id="8147900440966275470">Fann <ph name="NUM" /> flipa</translation>
 <translation id="8148760431881541277">Takmarka innskráningu</translation>
 <translation id="8149564499626272569">Staðfesta með símanum með USB-snúru</translation>
+<translation id="815114315010033526">Nota frekar QR-kóða</translation>
 <translation id="8151638057146502721">Grunnstilla</translation>
 <translation id="8154790740888707867">Engin skrá</translation>
 <translation id="8154912474061769055">Óvíst er að eiginleikar á mörgum vefsvæðum virki</translation>
@@ -6993,6 +7008,7 @@
 <translation id="8176332201990304395">Bleikur og hvítur</translation>
 <translation id="8177196903785554304">Upplýsingar um kerfi</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Færa flipa í nýjan glugga}one{Færa flipa í nýjan glugga}other{Færa flipa í nýjan glugga}}</translation>
+<translation id="8179188928355984576">Ekki notaður með Android forritum</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">„<ph name="EXTENSION" />“ getur lesið og eytt myndum, myndskeiðum og hljóðskrám á stöðunum sem merkt er við</translation>
 <translation id="8181215761849004992">Ekki tókst að tengjast léninu. Skoðaðu reikninginn þinn til að athuga hvort þú hafir réttindi til að bæta við tækjum.</translation>
@@ -7152,6 +7168,7 @@
 <translation id="8342861492835240085">Velja safn</translation>
 <translation id="8347227221149377169">Prentverk</translation>
 <translation id="834785183489258869">Þegar huliðsstilling er notuð geta vefsvæði ekki notað fótspor til að sjá vafranotkun þína á vefsvæðum, til dæmis til að sérsníða auglýsingar. Óvíst er að eiginleikar á sumum vefsvæðum virki.</translation>
+<translation id="8349499562373871073">Þú getur valið reikning til sem fyrir er til að nota með Android forritum eða bætt við nýjum Google reikningi. Um leið og þú skráir þig inn í Android forrit er hægt að nota reikninginn með öðrum Android forritum. Þú getur breytt aðgangi Android forrita í <ph name="LINK_BEGIN" />Stillingar &gt; Reikningar<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Pennaverkfæri í dokku</translation>
 <translation id="8351316842353540018">Sýna alltaf a11y valkosti</translation>
 <translation id="8351419472474436977">Þessi viðbót hefur tekið að sér stjórn yfir proxy-stillingunum þínum, sem þýðir að hún getur breytt, slitið eða hlerað allt sem þú gerir á netinu. Ef þú veist ekki hvernig þetta gerðist er þetta líklega eitthvað sem þú vilt ekki.</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index dcc34ce..314aaa33 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -205,6 +205,7 @@
 <ph name="DOMAIN" /> richiede di lasciare la smart card inserita.}other{Verrà eseguita automaticamente la disconnessione tra # secondi.
 <ph name="DOMAIN" /> richiede di lasciare la smart card inserita.}}</translation>
 <translation id="1193927020065025187">Il sito potrebbe cercare di ingannarti per indurti a consentire notifiche invasive</translation>
+<translation id="1195210374336998651">Vai alle impostazioni dell'app</translation>
 <translation id="1195447618553298278">Errore sconosciuto.</translation>
 <translation id="1195558154361252544">Le notifiche vengono bloccate automaticamente per tutti i siti, tranne per quelli che consenti tu</translation>
 <translation id="1197088940767939838">Arancione</translation>
@@ -385,6 +386,7 @@
 <translation id="1396259464226642517">Questo risultato non era previsto? <ph name="BEGIN_LINK" />Invia feedback<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Il nome utente e la password inseriti non corrispondono</translation>
 <translation id="1397500194120344683">Nessun dispositivo idoneo. <ph name="LINK_BEGIN" />Ulteriori informazioni<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Hai eseguito l'accesso a Chrome su questi dispositivi, pertanto puoi usarli come token di sicurezza.</translation>
 <translation id="1398853756734560583">Ingrandisci</translation>
 <translation id="139911022479327130">Sblocca il telefono e conferma la tua identità</translation>
 <translation id="1401308693935339022">Utilizza la geolocalizzazione. Consenti ad app e servizi che dispongono dell'autorizzazione di accesso alla posizione di usare la posizione del dispositivo. Google potrebbe raccogliere periodicamente dati sulla posizione da usare in forma anonima per migliorare la precisione della geolocalizzazione e i servizi basati sulla posizione geografica.</translation>
@@ -1169,6 +1171,7 @@
 <translation id="2163470535490402084">Connettiti a Internet per accedere al tuo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">Attiva la modalità Buio</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> e 1 altro sensore</translation>
+<translation id="2165102982098084499">Hai collegato questi dispositivi scansionando un codice QR.</translation>
 <translation id="2165177462441582039">Scegli la durata dell'evidenziazione di ogni elemento</translation>
 <translation id="2166369534954157698">Pranzo d'acqua fa volti sghembi</translation>
 <translation id="2169062631698640254">Accedi comunque</translation>
@@ -1895,6 +1898,7 @@
 <translation id="287205682142673348">Port forwarding</translation>
 <translation id="287286579981869940">Aggiungi <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Spegni</translation>
+<translation id="2873995907777332853">Mostra dettagli sul blocco di tutti i cookie</translation>
 <translation id="2874939134665556319">Traccia precedente</translation>
 <translation id="2875698561019555027">(pagine di errore Chrome)</translation>
 <translation id="2876336351874743617">Dito 2</translation>
@@ -1942,6 +1946,7 @@
 <translation id="2915873080513663243">Scansione automatica</translation>
 <translation id="2916073183900451334">Se premi Tab in una pagina web vengono evidenziati i link, così come i campi dei moduli</translation>
 <translation id="2916745397441987255">Cerca tra le estensioni</translation>
+<translation id="2918484639460781603">Passa alle impostazioni</translation>
 <translation id="2918484644467055090">Questo dispositivo non può essere registrato nell'organizzazione a cui appartiene il tuo account perché è contrassegnato per essere gestito da un'altra organizzazione.</translation>
 <translation id="2920852127376356161">Non autorizzati a gestire protocolli</translation>
 <translation id="2921081876747860777">Crea una password per proteggere i tuoi dati locali.</translation>
@@ -2198,6 +2203,7 @@
 <translation id="3189187154924005138">Puntatore grande</translation>
 <translation id="3190558889382726167">Password salvata</translation>
 <translation id="3192947282887913208">File audio</translation>
+<translation id="3194786596445804250">Mostra dettagli sul blocco dei cookie di terze parti</translation>
 <translation id="3197453258332670132">Se fai clic con il pulsante destro del mouse o se applichi una pressione prolungata, vengono mostrate informazioni correlate al testo selezionato</translation>
 <translation id="3199127022143353223">Server</translation>
 <translation id="3200061262156232574">Nel tuo carrello degli acquisti</translation>
@@ -2565,6 +2571,7 @@
 <translation id="3592260987370335752">&amp;Ulteriori informazioni</translation>
 <translation id="3593152357631900254">Abilita modalità Fuzzy pinyin</translation>
 <translation id="3593965109698325041">Vincoli nomi certificati</translation>
+<translation id="3596012367874587041">Impostazioni app</translation>
 <translation id="3596414637720633074">Blocca cookie di terze parti nella modalità di navigazione in incognito</translation>
 <translation id="3599221874935822507">In rilievo</translation>
 <translation id="3599863153486145794">Consente di cancellare la cronologia da tutti i dispositivi su cui hai eseguito l'accesso. Il tuo Account Google potrebbe avere altri tipi di cronologia di navigazione all'indirizzo <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5292,6 +5299,7 @@
 <translation id="6455264371803474013">Su siti specifici</translation>
 <translation id="6455894534188563617">&amp;Nuova cartella</translation>
 <translation id="645705751491738698">Continua a bloccare JavaScript</translation>
+<translation id="6458347417133445570">Mostra dettagli sull'accettazione di tutti i cookie</translation>
 <translation id="6458701200018867744">Caricamento non riuscito (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Utilizza selezione per Trova</translation>
 <translation id="6459799433792303855">Finestra attiva spostata in un altro schermo.</translation>
@@ -5684,6 +5692,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> sec</translation>
 <translation id="6860097299815761905">Impostazioni proxy...</translation>
 <translation id="6860427144121307915">Apri in una scheda</translation>
+<translation id="6863496016067551393">Uso di tutte le estensioni consentito</translation>
 <translation id="686366188661646310">Vuoi eliminare la password?</translation>
 <translation id="6865313869410766144">Dati della compilazione automatica dei moduli</translation>
 <translation id="6865598234501509159">La pagina non è in <ph name="LANGUAGE" /></translation>
@@ -5713,6 +5722,7 @@
 <translation id="6900532703269623216">Protezione avanzata</translation>
 <translation id="6900651018461749106">Accedi nuovamente per aggiornare <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Vuoi eliminare questo motore di ricerca?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Voce per l'anteprima</translation>
 <translation id="6902336033320348843">Sezione non supportata: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Aggiungi il dispositivo al dominio</translation>
@@ -6723,6 +6733,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> può visualizzare <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Aggiungi le parole che vuoi non vengano segnalate dal controllo ortografico</translation>
+<translation id="7922935920104868876">Mostra dettagli sul blocco di cookie di terze parti nella modalità di navigazione in incognito</translation>
 <translation id="7924358170328001543">Errore durante port forwarding</translation>
 <translation id="7925108652071887026">Dati della Compilazione automatica</translation>
 <translation id="792514962475806987">Livello di zoom ancorato:</translation>
@@ -6887,6 +6898,7 @@
 <translation id="8076492880354921740">Schede</translation>
 <translation id="8076835018653442223">L'accesso ai file locali sul dispositivo è stato disattivato dall'amministratore</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Account che è possibile usare con app per Android</translation>
 <translation id="8081989000209387414">Disattivare il debug ADB?</translation>
 <translation id="8082106343289440791">Vuoi eseguire l'accoppiamento con "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">La disattivazione del debug ADB ripristinerà le impostazioni di fabbrica di questo <ph name="DEVICE_TYPE" />. Tutti gli account utente e i dati locali verranno resettati.</translation>
@@ -7147,6 +7159,7 @@
 <translation id="8342861492835240085">Seleziona una raccolta</translation>
 <translation id="8347227221149377169">Processi di stampa</translation>
 <translation id="834785183489258869">In modalità di navigazione in incognito, i siti non possono utilizzare i cookie per conoscere la tua attività di navigazione su diversi siti, ad esempio per personalizzare gli annunci. Le funzionalità su alcuni siti potrebbero non essere disponibili.</translation>
+<translation id="8349499562373871073">Puoi selezionare un account esistente da usare con le app per Android o aggiungere un nuovo Account Google. Dopo aver eseguito l'accesso a un'app per Android, potrai usare il tuo account con altre app per Android. Puoi modificare l'accesso alle app per Android in <ph name="LINK_BEGIN" />Impostazioni &gt; Account<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Strumenti stilo nel dock</translation>
 <translation id="8351316842353540018">Mostrare sempre le impostazioni di accessibilità</translation>
 <translation id="8351419472474436977">Questa estensione ha assunto il controllo delle tue impostazioni proxy, il che significa che può cambiare, interrompere o spiare tutto ciò che fai online. Se non sei sicuro del motivo per cui si sia verificato questo cambiamento, è probabile che sia indesiderato.</translation>
@@ -7362,6 +7375,7 @@
 <translation id="8610103157987623234">Formato errato, riprova</translation>
 <translation id="8611682088849615761">Continua a consentire a questo sito di avere il controllo totale dei dispositivi MIDI</translation>
 <translation id="8613164732773110792">Solo caratteri minuscoli, numeri, trattini bassi o trattini</translation>
+<translation id="8613645710357126807">Uso delle estensioni non consentito</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> è troppo grande per essere sottoposto a un controllo di sicurezza. La dimensione massima dei file che puoi aprire è di 50 MB.</translation>
 <translation id="8615618338313291042">Applicazione in incognito: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Aggiungi <ph name="CONTACT_NAME" /> ai tuoi contatti</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index 8747d48..4c5c7e1 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -208,6 +208,7 @@
 כדי לעבוד עם הדומיין <ph name="DOMAIN" />, צריך להשאיר את הכרטיס החכם בפנים.}other{בעוד # שניות תתבצע יציאה אוטומטית מחשבונך.
 כדי לעבוד עם הדומיין <ph name="DOMAIN" />, צריך להשאיר את הכרטיס החכם בפנים.}}</translation>
 <translation id="1193927020065025187">ייתכן שהאתר הזה מנסה להטעות אותך ולגרום לך להפעיל התראות מפריעות</translation>
+<translation id="1195210374336998651">להגדרות האפליקציה</translation>
 <translation id="1195447618553298278">שגיאה לא ידועה.</translation>
 <translation id="1195558154361252544">הצגת ההודעות חסומה באופן אוטומטי בכל האתרים, מלבד האתרים שבהם היא אושרה</translation>
 <translation id="1197088940767939838">כתום</translation>
@@ -388,6 +389,7 @@
 <translation id="1396259464226642517">האם התוצאה הזו הייתה בלתי צפויה? <ph name="BEGIN_LINK" />שליחת משוב<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">הזנת שם משתמש או סיסמה שגויים</translation>
 <translation id="1397500194120344683">אין מכשירים שיכולים להתחבר. <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">‏נכנסת לחשבון ב-Chrome במכשירים האלה, לכן יש לך אפשרות להשתמש בהם כמפתחות אבטחה.</translation>
 <translation id="1398853756734560583">הגדלת החלון</translation>
 <translation id="139911022479327130">ביטול הנעילה של הטלפון ואימות הזהות שלך</translation>
 <translation id="1401308693935339022">‏שימוש במיקום. אפליקציות ושירותים עם הרשאת מיקום יכולים להשתמש במיקום של המכשיר הזה. Google עשויה לאסוף נתוני מיקום מדי פעם, ולהשתמש בנתונים האלה בצורה אנונימית כדי לשפר את הדיוק של המיקום ואת האיכות של שירותים מבוססי-מיקום.</translation>
@@ -778,6 +780,7 @@
 <translation id="176587472219019965">&amp;חלון חדש</translation>
 <translation id="1766575458646819543">התבצעה יציאה ממסך מלא</translation>
 <translation id="1766957085594317166">‏אפשר לשמור סיסמאות בצורה בטוחה בחשבון Google, כך שלאחר מכן לא יהיה יותר צורך להקליד אותן ידנית</translation>
+<translation id="1767043563165955993">‏שימוש באפליקציות ל-Android</translation>
 <translation id="1768212860412467516">שליחת משוב בנושא <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">אופס! נתקלנו בבעיה ביצירת קשר עם שרת ההתחברות. יש לבדוק את חיבור הרשת ואת שם הדומיין ולאחר מכן לנסות שוב.</translation>
 <translation id="1769104665586091481">פתיחת קישור &amp;בחלון חדש</translation>
@@ -1114,6 +1117,7 @@
 <translation id="2113479184312716848">פתיחת &amp;קובץ...</translation>
 <translation id="2113921862428609753">גישה לפרטי רשות</translation>
 <translation id="2114326799768592691">טעינה מחדש של ה&amp;מסגרת</translation>
+<translation id="2114413269775311385">‏יש להשתמש בחשבון הזה עם אפליקציות ל-Android. אפשר לקבוע את ההרשאות לאפליקציות ל-Android ב<ph name="LINK_BEGIN" />הגדרות האפליקציות<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">צילום מאת <ph name="NAME" /></translation>
 <translation id="2114995631896158695">‏אין כרטיס SIM</translation>
 <translation id="2116619964159595185">‏בדרך כלל, אתרים מתחברים למכשירי Bluetooth כדי לתמוך בתכונות כמו הגדרת איתות Bluetooth בעל מתח נמוך או סנכרון עם איתות כזה, מכשיר מעקב אחר נתוני בריאות או כושר או נורה חכמה</translation>
@@ -1177,6 +1181,7 @@
 <translation id="2163470535490402084">צריך להתחבר לאינטרנט כדי להיכנס אל ה-<ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">הפעלת המצב הכהה</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> ועוד מתג אחד</translation>
+<translation id="2165102982098084499">‏קישרת את המכשירים האלה באמצעות סריקה של קוד QR.</translation>
 <translation id="2165177462441582039">יש לבחור את משך הזמן שבו ההדגשה תוצב על פריט כלשהו</translation>
 <translation id="2166369534954157698">דג סקרן שט בים זך ולפתע מצא חבורה נחמדה</translation>
 <translation id="2169062631698640254">אני רוצה להיכנס בכל זאת</translation>
@@ -1907,6 +1912,7 @@
 <translation id="287205682142673348">העברה ליציאה אחרת</translation>
 <translation id="287286579981869940">הוספת <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">כיבוי</translation>
+<translation id="2873995907777332853">‏הצגת פרטים על חסימה של כל קובצי ה-cookie</translation>
 <translation id="2874939134665556319">הרצועה הקודמת</translation>
 <translation id="2875698561019555027">‏(דפי שגיאה ב-Chrome)</translation>
 <translation id="2876336351874743617">אצבע שנייה</translation>
@@ -1954,6 +1960,7 @@
 <translation id="2915873080513663243">סריקה אוטומטית</translation>
 <translation id="2916073183900451334">‏לחיצה על המקש Tab תדגיש קישורים בדף וכן שדות של טפסים</translation>
 <translation id="2916745397441987255">חיפוש תוספים</translation>
+<translation id="2918484639460781603">המשך להגדרות</translation>
 <translation id="2918484644467055090">לא ניתן לרשום את המכשיר הזה לארגון שאליו שייך החשבון שלך מפני שהמכשיר מסומן לניהול על ידי ארגון אחר.</translation>
 <translation id="2920852127376356161">לא מורשים לטפל בפרוטוקולים</translation>
 <translation id="2921081876747860777">יצירת סיסמה להגנה על הנתונים המקומיים שלך.</translation>
@@ -2210,6 +2217,7 @@
 <translation id="3189187154924005138">סמן גדול</translation>
 <translation id="3190558889382726167">הסיסמה נשמרה</translation>
 <translation id="3192947282887913208">קובצי אודיו</translation>
+<translation id="3194786596445804250">‏הצגת פרטים על חסימת קובצי cookie של צדדים שלישיים</translation>
 <translation id="3197453258332670132">בלחיצה ימנית או בלחיצה ארוכה, יוצג מידע שקשור לטקסט שבחרת</translation>
 <translation id="3199127022143353223">שרתים</translation>
 <translation id="3200061262156232574">בעגלת הקניות שלך</translation>
@@ -2577,6 +2585,7 @@
 <translation id="3592260987370335752">למידע נוסף</translation>
 <translation id="3593152357631900254">‏הפיכת מצב Fuzzy-Pinyin לפעיל</translation>
 <translation id="3593965109698325041">מגבלות שם אישור </translation>
+<translation id="3596012367874587041">הגדרות האפליקציה</translation>
 <translation id="3596414637720633074">‏חסימת קובצי cookie של צד שלישי במצב אנונימי</translation>
 <translation id="3599221874935822507">בולט</translation>
 <translation id="3599863153486145794">‏ניקוי ההיסטוריה מכל המכשירים שבהם המשתמש נכנס לחשבון. ייתכן שלחשבון Google שלך יהיו צורות אחרות של היסטוריית גלישה בכתובת <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2954,6 +2963,7 @@
 <translation id="3943582379552582368">&amp;אחורה</translation>
 <translation id="3943857333388298514">הדבקה</translation>
 <translation id="3945513714196326460">יש לנסות שם קצר יותר</translation>
+<translation id="3947643756376959257">‏צריך להזין את קוד הגישה שמופיע ב-Chromecast או בטלוויזיה.</translation>
 <translation id="3948027458879361203">שינוי שם המארח</translation>
 <translation id="3948116654032448504">&amp;חיפוש תמונה ב-<ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786">ל-<ph name="ORIGIN" /> יש הרשאה לערוך קבצים בתיקיות הבאות</translation>
@@ -3195,12 +3205,14 @@
 <translation id="4210048056321123003">מתבצעת הורדה של המכונה הווירטואלית</translation>
 <translation id="421182450098841253">&amp;הצגת את סרגל הסימניות</translation>
 <translation id="4211851069413100178">‏שליחה של נתוני אבחון ונתונים על השימוש. אפשר לעזור בשיפור החוויה ב-Android. לשם כך יש לשלוח אל Google באופן אוטומטי נתוני אבחון ונתונים לגבי השימוש במכשיר ובאפליקציות. נתונים אלה יעזרו לשמור על יציבות המערכת והאפליקציות, כמו גם לביצוע שיפורים אחרים. חלק מהנתונים הנצברים יעזרו גם לאפליקציות ולשותפים של Google, כמו מפתחי Android. ה<ph name="BEGIN_LINK1" />הגדרה<ph name="END_LINK1" /> הזו נאכפת על-ידי הבעלים. ייתכן שהבעלים יבחרו לשלוח אל Google נתוני אבחון ונתונים לגבי אופן השימוש במכשיר הזה. אם הופעלה האפשרות 'פעילות באתרי אינטרנט ובאפליקציות נוספים', ייתכן שהנתונים יישמרו בחשבון Google שלך. <ph name="BEGIN_LINK2" />מידע נוסף<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">‏הפסקת השימוש באפליקציות ל-Android</translation>
 <translation id="42126664696688958">ייצוא</translation>
 <translation id="42137655013211669">הגישה למשאב זה נאסרה על-ידי השרת.</translation>
 <translation id="4217571870635786043">הכתבה</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">קרתה שגיאה בזמן ההפעלה.</translation>
 <translation id="4225397296022057997">בכל האתרים</translation>
+<translation id="4227605727325220318">‏הוספת טלפון Android חדש</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{אסור להתקין את התוסף הזה}two{אסור להתקין את חלק מהתוספים האלה}many{אסור להתקין את חלק מהתוספים האלה}other{אסור להתקין את חלק מהתוספים האלה}}</translation>
 <translation id="4231095370974836764">‏ניתן להתקין אפליקציות ומשחקים מ-Google Play ב-<ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">‏הגדרת Kerberos</translation>
@@ -4732,6 +4744,7 @@
 <translation id="5862109781435984885">הצגת כלי סטיילוס במדף</translation>
 <translation id="5862319196656206789">הגדרה של מכשירים מחוברים</translation>
 <translation id="5863445608433396414">הפעלת תכונות ניפוי באגים</translation>
+<translation id="5864147196375746035">‏העברה (cast) למכשיר מנוהל</translation>
 <translation id="5864195618110239517">שימוש בחיבור עם חיוב לפי שימוש בנתונים</translation>
 <translation id="5864754048328252126">מה לעשות בעת חוסר פעילות בזמן טעינה</translation>
 <translation id="5865508026715185451">האפליקציה <ph name="APP_NAME" /> תושהה בקרוב</translation>
@@ -5301,6 +5314,7 @@
 <translation id="6455264371803474013">באתרים ספציפיים</translation>
 <translation id="6455894534188563617">&amp;תיקייה חדשה</translation>
 <translation id="645705751491738698">‏אני רוצה להמשיך לחסום JavaScript</translation>
+<translation id="6458347417133445570">‏הצגת פרטים על אישור של כל קובצי ה-cookie</translation>
 <translation id="6458701200018867744">ההעלאה נכשלה (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">שימוש בבחירה לחיפוש</translation>
 <translation id="6459799433792303855">החלון הפעיל הועבר אל צג אחר.</translation>
@@ -5693,6 +5707,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> שניות</translation>
 <translation id="6860097299815761905">‏הגדרות שרת proxy...</translation>
 <translation id="6860427144121307915">פתיחה בכרטיסייה</translation>
+<translation id="6863496016067551393">כל התוספים מותרים</translation>
 <translation id="686366188661646310">למחוק את הסיסמה?</translation>
 <translation id="6865313869410766144">נתוני טפסים למילוי אוטומטי</translation>
 <translation id="6865598234501509159">הדף לא ב<ph name="LANGUAGE" /></translation>
@@ -5722,6 +5737,7 @@
 <translation id="6900532703269623216">הגנה משופרת</translation>
 <translation id="6900651018461749106">יש להיכנס שוב כדי לעדכן את <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">בחרת למחוק את מנוע החיפוש הזה. להמשיך?</translation>
+<translation id="6901024547292737736"><ph name="MAX_CHAR_COUNT" />/<ph name="ACTUAL_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">קול להשמעה מקדימה</translation>
 <translation id="6902336033320348843">הקטע לא נתמך: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">צירוף המכשיר לדומיין</translation>
@@ -5911,6 +5927,7 @@
 <translation id="7086672505018440886">‏הכללה של קובצי יומן Chrome בארכיון.</translation>
 <translation id="7088434364990739311">המערכת לא הצליחה להפעיל את בדיקת העדכונים (קוד שגיאה <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">המכשיר הזה הועבר למצב 'ללא הקצאה' על ידי מנהל המערכת. על מנת להפעיל אותו עבור הרשמה, יש לבקש ממנהל המערכת להעביר את המכשיר למצב המתנה.</translation>
+<translation id="7090160970140261931">‏יש לך אפשרות להוסיף חשבונות נוספים למכשיר <ph name="DEVICE_TYPE" /> לצורך שימוש באתרים ובאפליקציות ל-Android. אפשר לקבוע אילו חשבונות יהיו בשימוש באפליקציות ל-Android.</translation>
 <translation id="7093220653036489319">תשובות מהירות</translation>
 <translation id="7093416310351037609">כדי לשמור על האבטחה והבטיחות של הנתונים שלך, הארגון דורש שכל ההורדות המתאימות יישמרו בחשבון <ph name="WEB_DRIVE" /> של הארגון.</translation>
 <translation id="7093434536568905704">GTK+‎</translation>
@@ -6730,6 +6747,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> שנ'</translation>
 <translation id="7920363873148656176">ל-<ph name="ORIGIN" /> יש אפשרות להציג את <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">הוספת מילים שיש לדלג עליהן בבדיקות איות</translation>
+<translation id="7922935920104868876">‏הצגת פרטים על חסימת קובצי cookie של צדדים שלישיים במצב פרטי</translation>
 <translation id="7924358170328001543">שגיאה בהעברת היציאה</translation>
 <translation id="7925108652071887026">נתוני מילוי אוטומטי</translation>
 <translation id="792514962475806987">רמת זום במצב מעוגן:</translation>
@@ -6894,6 +6912,7 @@
 <translation id="8076492880354921740">כרטיסיות</translation>
 <translation id="8076835018653442223">מנהל המערכת ביטל את הגישה לקבצים מקומיים במכשיר שלך</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">‏חשבונות שזמינים לשימוש עם אפליקציות ל-Android</translation>
 <translation id="8081989000209387414">‏להשבית ניפוי באגים באמצעות ADB?</translation>
 <translation id="8082106343289440791">האם להתאים עם "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">‏השבתה של ניפוי באגים באמצעות ADB יאפס את ה<ph name="DEVICE_TYPE" /> הזה להגדרות היצרן. כל חשבונות המשתמש והנתונים המקומיים יימחקו.</translation>
@@ -6970,6 +6989,7 @@
 <translation id="8147900440966275470">נמצאה כרטיסייה אחת (<ph name="NUM" />)</translation>
 <translation id="8148760431881541277">הגבלת כניסה</translation>
 <translation id="8149564499626272569">‏אימות באמצעות הטלפון עם כבל USB</translation>
+<translation id="815114315010033526">‏שימוש בקוד QR במקום זאת</translation>
 <translation id="8151638057146502721">הגדרה</translation>
 <translation id="8154790740888707867">אין קובץ</translation>
 <translation id="8154912474061769055">ייתכן שהתכונות של חלק גדול מהאתרים לא יפעלו</translation>
@@ -6995,6 +7015,7 @@
 <translation id="8176332201990304395">ורוד ולבן</translation>
 <translation id="8177196903785554304">פרטי הרשת</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{העברת כרטיסייה לחלון חדש}two{העברת כרטיסיות לחלון חדש}many{העברת כרטיסיות לחלון חדש}other{העברת כרטיסיות לחלון חדש}}</translation>
+<translation id="8179188928355984576">‏לא בשימוש באפליקציות ל-Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" יכול לקרוא ולמחוק קובצי תמונות, וידאו ואודיו במיקומים המסומנים.</translation>
 <translation id="8181215761849004992">לא ניתן להצטרף לדומיין. יש לבדוק את החשבון כדי לראות אם יש לך הרשאות מתאימות להוספת מכשירים.</translation>
@@ -7154,6 +7175,7 @@
 <translation id="8342861492835240085">בחירת אוסף</translation>
 <translation id="8347227221149377169">משימות הדפסה</translation>
 <translation id="834785183489258869">‏במצב אנונימי, אתרים לא יכולים להשתמש בקובצי cookie כדי לקבל מידע על פעילות הגלישה שלך באתרים השונים, למשל לצורך הצגת מודעות בהתאמה אישית. ייתכן שתכונות באתרים מסוימים לא יפעלו.</translation>
+<translation id="8349499562373871073">‏יש לך אפשרות לבחור חשבון קיים כדי להשתמש בו באפליקציות ל-Android, או להוסיף חשבון Google חדש. אחרי שנכנסים לחשבון באפליקציה ל-Android, ניתן להשתמש בו גם באפליקציות אחרות ל-Android. ניתן לשנות את אפשרות הגישה לאפליקציות ל-Android ב<ph name="LINK_BEGIN" />'הגדרות' &gt; 'חשבונות'<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">כלי סטיילוס באזור המוצמד</translation>
 <translation id="8351316842353540018">להציג תמיד אפשרויות נגישוּת</translation>
 <translation id="8351419472474436977">‏תוסף זה השתלט על הגדרות שרת ה-Proxy שלך. משמעות הדבר היא שהוא יכול לשנות, לקטוע או לצותת לכל פעולה שתבצע באינטרנט. אם אינך יודע בוודאות מדוע שינוי זה התרחש, סביר להניח שזהו שינוי לא רצוי.</translation>
@@ -7369,6 +7391,7 @@
 <translation id="8610103157987623234">פורמט לא נכון, צריך לנסות שוב</translation>
 <translation id="8611682088849615761">‏לאשר – האתר ימשיך לקבל שליטה מלאה במכשירי MIDI</translation>
 <translation id="8613164732773110792">אותיות קטנות, ספרות, תווי קו תחתון או תווי קו מפריד בלבד</translation>
+<translation id="8613645710357126807">אתרים שאין להם הרשאה לשימוש בתוספים</translation>
 <translation id="8613786722548417558">‏<ph name="FILE_NAME" /> גדול מדי לביצוע בדיקת אבטחה. אפשר לפתוח קבצים בגודל של עד 50 MB.</translation>
 <translation id="8615618338313291042">יישום גלישה אנונימית: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">הוספת <ph name="CONTACT_NAME" /> לאנשי הקשר שלך</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index be7a094..4fdd3d60 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> では必ずスマートカードを挿入した状態にしてください。}other{# 秒後に自動的にログアウトします。
 <ph name="DOMAIN" /> では必ずスマートカードを挿入した状態にしてください。}}</translation>
 <translation id="1193927020065025187">このサイトは、ユーザーをだまして煩わしい通知を許可させようとする可能性があります</translation>
+<translation id="1195210374336998651">アプリの設定に移動</translation>
 <translation id="1195447618553298278">不明なエラーです。</translation>
 <translation id="1195558154361252544">許可したサイトを除くすべてのサイトで通知を自動的にブロックします</translation>
 <translation id="1197088940767939838">オレンジ</translation>
@@ -384,6 +385,7 @@
 <translation id="1396259464226642517">この処理が想定と異なる場合は<ph name="BEGIN_LINK" />フィードバックをお送りください<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">入力したユーザー名とパスワードが一致しません</translation>
 <translation id="1397500194120344683">対象となるデバイスはありません。<ph name="LINK_BEGIN" />詳細<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">以下のデバイスで Chrome にログインしており、セキュリティ キーとして使用できます。</translation>
 <translation id="1398853756734560583">最大化</translation>
 <translation id="139911022479327130">スマートフォンのロックを解除して本人確認を行う</translation>
 <translation id="1401308693935339022">位置情報を使用するとともに、位置情報の利用を許可されているアプリやサービスがこのデバイスの位置情報を使用することを許可します。Google は、位置情報の精度と位置情報に基づくサービスを改善する目的で、位置情報を定期的に収集し、このデータを匿名で使用することがあります。</translation>
@@ -1167,6 +1169,7 @@
 <translation id="2163470535490402084">お使いの <ph name="DEVICE_TYPE" /> にログインするにはインターネットに接続してください。</translation>
 <translation id="2163937499206714165">ダークモードをオンにする</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />、<ph name="SECOND_SWITCH" />、<ph name="THIRD_SWITCH" />、他 1 個のスイッチ</translation>
+<translation id="2165102982098084499">次のデバイスを QR コードのスキャンによりリンクしました。</translation>
 <translation id="2165177462441582039">各項目のハイライト表示の長さを選択します</translation>
 <translation id="2166369534954157698">あいうえおアイウエオABCabc123漢字</translation>
 <translation id="2169062631698640254">このままログインする</translation>
@@ -1939,6 +1942,7 @@
 <translation id="2915873080513663243">自動スキャン</translation>
 <translation id="2916073183900451334">ウェブページで Tab キーを押すと、リンクやフォーム欄がハイライト表示されます</translation>
 <translation id="2916745397441987255">拡張機能を検索</translation>
+<translation id="2918484639460781603">設定に移動</translation>
 <translation id="2918484644467055090">このデバイスは、別の組織の管理対象として指定されているため、現在のアカウントの所属先組織に登録することはできません。</translation>
 <translation id="2920852127376356161">プロトコルの処理を許可しないサイト</translation>
 <translation id="2921081876747860777">ローカルデータを保護するパスワードを作成してください。</translation>
@@ -2563,6 +2567,7 @@
 <translation id="3592260987370335752">詳細(&amp;L)</translation>
 <translation id="3593152357631900254">ファジーピンイン モードを有効にする</translation>
 <translation id="3593965109698325041">証明書名の制約</translation>
+<translation id="3596012367874587041">アプリの設定</translation>
 <translation id="3596414637720633074">シークレット モードでサードパーティの Cookie をブロックする</translation>
 <translation id="3599221874935822507">浮き彫り</translation>
 <translation id="3599863153486145794">ログインしているすべてのデバイスの履歴を削除します。お使いの Google アカウントの <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> に、他の形式の閲覧履歴が記録されている場合があります。</translation>
@@ -5670,6 +5675,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> 秒</translation>
 <translation id="6860097299815761905">プロキシの設定...</translation>
 <translation id="6860427144121307915">タブで開く</translation>
+<translation id="6863496016067551393">すべての拡張機能を許可するサイト</translation>
 <translation id="686366188661646310">パスワードを削除しますか?</translation>
 <translation id="6865313869410766144">自動入力フォームのデータ</translation>
 <translation id="6865598234501509159"><ph name="LANGUAGE" />のページではない場合</translation>
@@ -5699,6 +5705,7 @@
 <translation id="6900532703269623216">保護強化機能</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> を更新するにはもう一度ログインしてください</translation>
 <translation id="6900654715912436255">この検索エンジンを削除してもよろしいですか?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">プレビューする音声</translation>
 <translation id="6902336033320348843">セクションがサポートされていません: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">デバイスをドメインに追加しましょう</translation>
@@ -7348,6 +7355,7 @@
 <translation id="8610103157987623234">無効な形式です。もう一度お試しください</translation>
 <translation id="8611682088849615761">このサイトによる MIDI デバイスのフル コントロールを引き続き許可する</translation>
 <translation id="8613164732773110792">英小文字、数字、アンダースコア、ダッシュのみ</translation>
+<translation id="8613645710357126807">拡張機能の使用を許可しないサイト</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> はセキュリティ チェックには大きすぎます。開けるファイルは 50 MB までです。</translation>
 <translation id="8615618338313291042">シークレット モード アプリ: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">連絡先に <ph name="CONTACT_NAME" /> さんを追加する</translation>
diff --git a/chrome/app/resources/generated_resources_ka.xtb b/chrome/app/resources/generated_resources_ka.xtb
index 2ec4d5d..a41fb39 100644
--- a/chrome/app/resources/generated_resources_ka.xtb
+++ b/chrome/app/resources/generated_resources_ka.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> მოითხოვს, რომ თქვენი სმარტ-ბარათი ჩასმული იყოს.}other{# წამში სისტემიდან ავტომატურად გამოხვალთ.
 <ph name="DOMAIN" /> მოითხოვს, რომ თქვენი სმარტ-ბარათი ჩასმული იყოს.}}</translation>
 <translation id="1193927020065025187">შესაძლოა, ეს საიტი ცდილობდეს თქვენს შეცდომაში შეყვანას, რომ მომაბეზრებელი შეტყობინებების მიღება დაუშვათ</translation>
+<translation id="1195210374336998651">აპის პარამეტრებზე გადასვლა</translation>
 <translation id="1195447618553298278">უცნობი შეცდომა.</translation>
 <translation id="1195558154361252544">შეტყობინებები ავტომატურად დაბლოკილია ყველა საიტისთვის, გარდა თქვენ მიერ დაშვებულისა</translation>
 <translation id="1197088940767939838">ნარინჯისფერი</translation>
@@ -2568,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;შეიტყვეთ მეტი</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin რეჟიმის ჩართვა</translation>
 <translation id="3593965109698325041">სერტიფიკატის სახელის შეზღუდვები</translation>
+<translation id="3596012367874587041">აპის პარამეტრები</translation>
 <translation id="3596414637720633074">მესამე მხარის ქუქი-ჩანაწერების დაბლოკვა ინკოგნიტო რეჟიმში</translation>
 <translation id="3599221874935822507">ამოწეული</translation>
 <translation id="3599863153486145794">გაასუფთავებს ისტორიას სისტემაში შესული ყველა მოწყობილობიდან. თქვენს Google ანგარიშში შეიძლება ინახებოდეს სხვა ტიპის დათვალიერების ისტორიაც, რომელიც ხელმისაწვდომია მისამართზე: <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_kk.xtb b/chrome/app/resources/generated_resources_kk.xtb
index 49d602c..9b5361a 100644
--- a/chrome/app/resources/generated_resources_kk.xtb
+++ b/chrome/app/resources/generated_resources_kk.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> домені смарт картаңызды салып жүруіңізді талап етеді.}other{Сіз # секундтан кейін аккаунттан автоматты түрде шығасыз.
 <ph name="DOMAIN" /> домені смарт картаңызды салып жүруіңізді талап етеді.}}</translation>
 <translation id="1193927020065025187">Бұл сайт мазалайтын хабарландыруларға рұқсат етуіңіз үшін, сізді алдап жатқан болуы мүмкін.</translation>
+<translation id="1195210374336998651">Қолданба параметрлеріне өту</translation>
 <translation id="1195447618553298278">Белгісіз қате.</translation>
 <translation id="1195558154361252544">Сіз рұқсат еткеннен басқа сайттар үшін хабарландырулар автоматты түрде бөгелді.</translation>
 <translation id="1197088940767939838">Қызғылт сары</translation>
@@ -765,6 +766,7 @@
 <translation id="176587472219019965">&amp;Жаңа терезе</translation>
 <translation id="1766575458646819543">Толық экран режимінен шықтыңыз.</translation>
 <translation id="1766957085594317166">Құпия сөздеріңізді Google аккаунтыңызға сақтасаңыз, оларды қайта терудің қажеті болмайды.</translation>
+<translation id="1767043563165955993">Android қолданбаларымен пайдалану</translation>
 <translation id="1768212860412467516"><ph name="EXPERIMENT_NAME" /> туралы пікір жіберіңіз.</translation>
 <translation id="1768278914020124551">Қап! Жүйеге кіру серверімен байланыс орнатуда қате кетті. Желі байланысы мен домен атауын тексеріп, әрекетті қайталаңыз.</translation>
 <translation id="1769104665586091481">Сілтемені &amp;жаңа терезеде ашу</translation>
@@ -1099,6 +1101,7 @@
 <translation id="2113479184312716848">Файлды &amp;ашу…</translation>
 <translation id="2113921862428609753">Сертификаттау органдарының ақпаратына кіру</translation>
 <translation id="2114326799768592691">&amp;Кадрды қайта жүктеу</translation>
+<translation id="2114413269775311385">Android қолданбалары үшін осы аккаунтты пайдаланасыз. Android қолданбаларына арналған рұқсаттарды <ph name="LINK_BEGIN" />Қолданба параметрлері<ph name="LINK_END" /> бөлімінен басқаруға болады.</translation>
 <translation id="2114896190328250491"><ph name="NAME" /> суреті</translation>
 <translation id="2114995631896158695">Ешқандай SIM картасы салынбаған.</translation>
 <translation id="2116619964159595185">Сайттар әдетте төмен қуатты сигналды, денсаулық немесе фитнес трекерін, сондай-ақ смарт жарық көзін орнату немесе синхрондау сияқты функциялар үшін Bluetooth құрылғыларына қосылады.</translation>
@@ -2555,6 +2558,7 @@
 <translation id="3592260987370335752">&amp;Толығырақ</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin режимін қосу</translation>
 <translation id="3593965109698325041">Сертификат атауы шектеулері</translation>
+<translation id="3596012367874587041">Қолданба параметрлері</translation>
 <translation id="3596414637720633074">Инкогнито режимінде үшінші тарап cookie файлдарын бөгеу</translation>
 <translation id="3599221874935822507">Көтеріңкі</translation>
 <translation id="3599863153486145794">Барлық жүйеге кірген құрылғылардан тарихты өшіреді.<ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> мекенжайында Google аккаунтымен шолу тарихының басқа да үлгілері болуы мүмкін.</translation>
@@ -2932,6 +2936,7 @@
 <translation id="3943582379552582368">&amp;Артқа</translation>
 <translation id="3943857333388298514">Қою</translation>
 <translation id="3945513714196326460">Атты қысқартыңыз.</translation>
+<translation id="3947643756376959257">Chromecast құрылғысында немесе теледидарда көрсетілген рұқсат кодын енгізіңіз.</translation>
 <translation id="3948027458879361203">Хост атауын өзгерту</translation>
 <translation id="3948116654032448504">Кескінді <ph name="SEARCH_ENGINE" /> арқылы &amp;іздеу</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> мына қалталардағы файлдарды өңдей алады.</translation>
@@ -3173,12 +3178,14 @@
 <translation id="4210048056321123003">Виртуалдық құрылғы жүктеп алынуда</translation>
 <translation id="421182450098841253">&amp;Бетбелгілер жолағын көрсету</translation>
 <translation id="4211851069413100178">Пайдаланылуы және диагностикасы туралы деректерді жіберу. Диагностикалық деректерді, сондай-ақ құрылғы мен қолданбаларды пайдалану деректерін Google қызметіне автоматты түрде жіберу арқылы Android жүйесін пайдалану тәжірибесін жақсартуға көмектесіңіз. Олар жүйе мен қолданбаның тұрақты жұмыс істеуіне және басқа да жақсартулар енгізуге көмектеседі. Кейбір жиынтық деректер Google қолданбаларын жетілдіруге және Android әзірлеушілері сияқты серіктестердің жұмысына көмектеседі. Бұл <ph name="BEGIN_LINK1" />параметрді<ph name="END_LINK1" /> иесі орнатқан. Иесі бұл құрылғының диагностикасы және пайдаланылуы туралы деректерді Google қызметіне жіберуге рұқсат бере алады. Егер "Интернет пен қолданбаларды пайдаланудың қосымша тарихы" параметрі қосулы болса, бұл деректер сіздің Google аккаунтыңызға сақталуы мүмкін. <ph name="BEGIN_LINK2" />Толығырақ<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Android қолданбаларымен пайдаланбау</translation>
 <translation id="42126664696688958">Экспорттау</translation>
 <translation id="42137655013211669">Бұл ресурсқа кіруге сервер тыйым салған.</translation>
 <translation id="4217571870635786043">Мәтінді дауыспен енгізу</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Іске қосу кезінде қате шықты.</translation>
 <translation id="4225397296022057997">Барлық сайттарда</translation>
+<translation id="4227605727325220318">Жаңа Android телефонын қосу</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Бұл кеңейтімге рұқсат берілмеді}other{Кейбір кеңейтімге рұқсат берілмеді}}</translation>
 <translation id="4231095370974836764">Google Play дүкеніндегі қолданбалар мен ойындарды <ph name="DEVICE_TYPE" /> құрылғысына орнатыңыз. <ph name="LINK_BEGIN" />Толығырақ<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Kerberos билетін конфигурациялау</translation>
@@ -4707,6 +4714,7 @@
 <translation id="5862109781435984885">Стилус құралдарын сөреден көрсету</translation>
 <translation id="5862319196656206789">Жалғанған құрылғыларды реттеу</translation>
 <translation id="5863445608433396414">Түзету мүмкіндіктерін қосу</translation>
+<translation id="5864147196375746035">Басқарылатын құрылғыға трансляциялау</translation>
 <translation id="5864195618110239517">Шектелген байланысты пайдалану</translation>
 <translation id="5864754048328252126">Зарядтау кезіндегі жұмыссыз режим</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> сәлден кейін кідіртіледі</translation>
@@ -5883,6 +5891,7 @@
 <translation id="7086672505018440886">Мұрағатта Chrome журнал файлдарын қамту.</translation>
 <translation id="7088434364990739311">Жаңарту тексеруін іске қосу сәтсіз аяқталды (<ph name="ERROR" /> қате коды).</translation>
 <translation id="7088674813905715446">Бұл құрылғыны әкімші "жойылған" күйіне қойды. Тіркеу үшін оны қайта қосу мақсатында әкімшіңізден құрылғыңызды күту күйіне қоюын сұраңыз.</translation>
+<translation id="7090160970140261931">Веб-сайттармен және Android қолданбаларымен пайдалану үшін <ph name="DEVICE_TYPE" /> құрылғысына қосымша аккаунттар қосуға болады. Сондай-ақ Android қолданбаларымен пайдаланылатын аккаунттарды таңдай аласыз.</translation>
 <translation id="7093220653036489319">Жылдам жауаптар</translation>
 <translation id="7093416310351037609">Деректің қауіпсіздігі үшін ұйым барлық жүктеп алынған файлдың өзінің <ph name="WEB_DRIVE" /> аккаунтына сақталуын талап етеді.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6938,6 +6947,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> қойынды табылды.</translation>
 <translation id="8148760431881541277">Кіруді шектеу</translation>
 <translation id="8149564499626272569">USB кабелімен қосылған телефоныңыз арқылы растау</translation>
+<translation id="815114315010033526">Орнына QR кодын пайдалану</translation>
 <translation id="8151638057146502721">Конфигурациялау</translation>
 <translation id="8154790740888707867">Файл жоқ</translation>
 <translation id="8154912474061769055">Көптеген сайттың функциялары жұмыс істемеуі мүмкін.</translation>
@@ -6963,6 +6973,7 @@
 <translation id="8176332201990304395">Ашық қызғылт және ақ</translation>
 <translation id="8177196903785554304">Желі мәліметтері</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Қойындыны жаңа терезеден ашу}other{Қойындыларды жаңа терезеден ашу}}</translation>
+<translation id="8179188928355984576">Android қолданбаларымен пайдаланылмайды</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" белгіленген орындарда кескіндерді, бейнені және дыбыстық файлдарды оқи және жоя алады.</translation>
 <translation id="8181215761849004992">Доменге қосылу мүмкін емес. Аккаунт мәліметтерін қарап, құрылғы енгізуге құқығыңыз бар-жоғын тексеріңіз.</translation>
diff --git a/chrome/app/resources/generated_resources_km.xtb b/chrome/app/resources/generated_resources_km.xtb
index 1309678..1cb569c 100644
--- a/chrome/app/resources/generated_resources_km.xtb
+++ b/chrome/app/resources/generated_resources_km.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> តម្រូវឱ្យ​អ្នក​បន្តដោត​កាតឆ្លាតវៃ​របស់អ្នក។}other{អ្នក​នឹងត្រូវបាន​នាំចេញ​ដោយស្វ័យប្រវត្តិ​ក្នុងរយៈពេល # វិនាទី​ទៀត​។
 <ph name="DOMAIN" /> តម្រូវឱ្យ​អ្នក​បន្តដោត​កាតឆ្លាតវៃ​របស់អ្នក។}}</translation>
 <translation id="1193927020065025187">គេហទំព័រ​នេះ​អាច​កំពុងព្យាយាមបោកបញ្ឆោតអ្នកឱ្យអនុញ្ញាតការជូនដំណឹងដែលរំខាន</translation>
+<translation id="1195210374336998651">ចូលទៅកាន់​ការកំណត់កម្មវិធី</translation>
 <translation id="1195447618553298278">កំហុសឆ្គងមិនស្គាល់។</translation>
 <translation id="1195558154361252544">ការជូនដំណឹង​ត្រូវបានទប់ស្កាត់​ដោយស្វ័យប្រវត្តិ​សម្រាប់គេហទំព័រ​ទាំងអស់ លើកលែងតែ​គេហទំព័រ​ដែលអ្នក​អនុញ្ញាត​ប៉ុណ្ណោះ</translation>
 <translation id="1197088940767939838">ទឹក​ក្រូច</translation>
@@ -780,6 +781,7 @@
 <translation id="176587472219019965">ផ្ទាំងថ្មី</translation>
 <translation id="1766575458646819543">បានចាកចេញពីមុខងារពេញអេក្រង់</translation>
 <translation id="1766957085594317166">រក្សាទុកពាក្យ​សម្ងាត់នៅក្នុងគណនី Google របស់អ្នកដោយសុវត្ថិភាព ហើយអ្នកនឹងមិនចាំបាច់​វាយបញ្ចូលពាក្យ​សម្ងាត់ទាំងនោះ​ម្ដងទៀតទេ</translation>
+<translation id="1767043563165955993">ប្រើជាមួយកម្មវិធី Android</translation>
 <translation id="1768212860412467516">ផ្ញើ​មតិកែលម្អ​សម្រាប់ <ph name="EXPERIMENT_NAME" />។</translation>
 <translation id="1768278914020124551">អូ៎!  មានបញ្ហាក្នុងការទាក់ទងទៅម៉ាស៊ីនមេសម្រាប់ចូល។ សូមពិនិត្យមើលការតភ្ជាប់បណ្តាញរបស់អ្នក និងឈ្មោះ​ដែននេះ រួចព្យាយាមម្តងទៀត។</translation>
 <translation id="1769104665586091481">បើកតំណនៅក្នុងផ្ទាំងថ្មី</translation>
@@ -1116,6 +1118,7 @@
 <translation id="2113479184312716848">បើកឯកសារ...</translation>
 <translation id="2113921862428609753">ការចូលប្រើព័ត៌មានអាជ្ញាធរ</translation>
 <translation id="2114326799768592691">ដំណើរការហ្វ្រេមឡើងវិញ</translation>
+<translation id="2114413269775311385">ប្រើគណនីនេះជាមួយកម្មវិធី Android។ អ្នកអាចគ្រប់គ្រងការអនុញ្ញាតសម្រាប់កម្មវិធី Android នៅក្នុង<ph name="LINK_BEGIN" />ការកំណត់កម្មវិធី<ph name="LINK_END" />។</translation>
 <translation id="2114896190328250491">រូបថតដោយ <ph name="NAME" /></translation>
 <translation id="2114995631896158695">មិនបាន​ស៊កបញ្ចូល​ស៊ីមកាតទេ</translation>
 <translation id="2116619964159595185">ជាធម្មតា គេហទំព័រ​ភ្ជាប់ជាមួយ​ឧបករណ៍​ប៊្លូធូស​សម្រាប់​មុខងារផ្សេងៗដូចជា ការរៀបចំ ឬ​ការធ្វើសមកាលកម្ម​សញ្ញាថាមពលទាប កម្មវិធី​តាមដានសម្បទា​ឬសុខភាព ឬអំពូលភ្លើង​ឆ្លាតវៃជាដើម</translation>
@@ -2581,6 +2584,7 @@
 <translation id="3592260987370335752">ស្វែងយល់បន្ថែម</translation>
 <translation id="3593152357631900254">បើកដំណើរការរបៀបភិញអ៊ិញមិនច្បាស់</translation>
 <translation id="3593965109698325041">ឧបសគ្គឈ្មោះវិញ្ញាបនប័ត្រ</translation>
+<translation id="3596012367874587041">ការកំណត់កម្មវិធី</translation>
 <translation id="3596414637720633074">ទប់ស្កាត់​ខូគីភាគីទីបីក្នុងមុខងារឯកជន</translation>
 <translation id="3599221874935822507">លយ​ឡើង</translation>
 <translation id="3599863153486145794">សម្អាតប្រវត្តិពីឧបករណ៍ទាំងអស់ដែលបានចូលគណនី។ គណនី Google របស់អ្នកអាចនឹងមានទម្រង់ប្រវត្តិរុករកផ្សេងទៀតនៅ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> ។</translation>
@@ -2958,6 +2962,7 @@
 <translation id="3943582379552582368">ត្រលប់</translation>
 <translation id="3943857333388298514">បិទភ្ជាប់</translation>
 <translation id="3945513714196326460">សាកល្បងប្រើ​ឈ្មោះខ្លីជាងនេះ</translation>
+<translation id="3947643756376959257">បញ្ចូលលេខកូដចូលប្រើប្រាស់ដែលបង្ហាញនៅលើ Chromecast ឬទូរទស្សន៍។</translation>
 <translation id="3948027458879361203">ប្ដូរឈ្មោះ​ម៉ាស៊ីន</translation>
 <translation id="3948116654032448504">&amp;ស្វែងរករូបភាពតាម <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> អាចកែ​ឯកសារ​នៅក្នុង​ថត​ខាងក្រោម</translation>
@@ -3199,12 +3204,14 @@
 <translation id="4210048056321123003">កំពុង​ទាញយក​ម៉ាស៊ីន​និម្មិត</translation>
 <translation id="421182450098841253">បង្ហាញរបាចំណាំ</translation>
 <translation id="4211851069413100178">បញ្ជូន​ទិន្នន័យ​ប្រើប្រាស់ និង​វិភាគ។ ជួយ​ធ្វើ​ឱ្យ​បទពិសោធន៍​ប្រើប្រាស់ Android របស់អ្នក​ប្រសើរ​ឡើង ដោយ​បញ្ជូន​ទិន្នន័យ​នៃការ​វិភាគ ​​ឧបករណ៍ និង​ការប្រើប្រាស់កម្មវិធី​ទៅ Google ដោយ​ស្វ័យប្រវត្តិ។ ការធ្វើ​បែបនេះ​នឹងជួយ​ដល់ស្ថិរភាព​កម្មវិធី និង​ប្រព័ន្ធ ព្រមទាំង​ការកែលម្អ​ផ្សេងទៀត។ ទិន្នន័យ​ប្រមូលបាន​មួយចំនួន​ក៏នឹង​ជួយដល់​កម្មវិធី និង​ដៃគូ Google ដូចជា​អ្នកអភិវឌ្ឍន៍ Android ផងដែរ។ <ph name="BEGIN_LINK1" />ការកំណត់<ph name="END_LINK1" />នេះត្រូវបាន​អនុវត្ត​ដោយម្ចាស់។ ម្ចាស់អាចនឹង​ជ្រើសរើស ដើម្បីបញ្ជូនទិន្នន័យប្រើប្រាស់ និងវិភាគសម្រាប់​ឧបករណ៍នេះ​ទៅ Google ។ ប្រសិនបើ​ការកំណត់​សកម្មភាព​កម្មវិធី និង​គេហទំព័រ​បន្ថែម​របស់អ្នក​ត្រូវបាន​បើក នោះទិន្នន័យនេះ​អាចត្រូវ​បានរក្សាទុក​ទៅក្នុង​គណនី Google របស់អ្នក។ <ph name="BEGIN_LINK2" />ស្វែងយល់​បន្ថែម<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">ឈប់ប្រើជាមួយកម្មវិធី Android</translation>
 <translation id="42126664696688958">នាំចេញ</translation>
 <translation id="42137655013211669">ការចូលប្រើធនធាននេះត្រូវបានហាមឃាត់ដោយម៉ាស៊ីនមេ។</translation>
 <translation id="4217571870635786043">ការសរសេរ​តាមអាន​</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">មានបញ្ហា​បានកើតឡើង អំឡុងពេល​បើកដំណើរការ។</translation>
 <translation id="4225397296022057997">នៅលើ​ទំព័រ​ទាំងអស់</translation>
+<translation id="4227605727325220318">បញ្ចូលទូរសព្ទ Android ថ្មី</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{កម្មវិធីបន្ថែម​នេះ​មិនត្រូវបាន​អនុញ្ញាតទេ}other{កម្មវិធីបន្ថែម​មួយចំនួន​មិនត្រូវបាន​អនុញ្ញាតទេ}}</translation>
 <translation id="4231095370974836764">ដំឡើង​កម្មវិធី និង​ហ្គេមពី Google Play នៅលើ <ph name="DEVICE_TYPE" /> របស់អ្នក។ <ph name="LINK_BEGIN" />ស្វែងយល់បន្ថែម<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">កំណត់​រចនាសម្ព័ន្ធ Kerberos</translation>
@@ -4737,6 +4744,7 @@
 <translation id="5862109781435984885">បង្ហាញឧបករណ៍ប៊ិចនៅក្នុងធ្នើនេះ</translation>
 <translation id="5862319196656206789">រៀបចំ​ឧបករណ៍​ដែលបានភ្ជាប់</translation>
 <translation id="5863445608433396414">បើកដំណើរការលក្ខណៈពិសេសកម្ចាត់កំហុស</translation>
+<translation id="5864147196375746035">ភ្ជាប់ទៅឧបករណ៍ដែលស្ថិតក្រោមការគ្រប់គ្រង</translation>
 <translation id="5864195618110239517">ប្រើការតភ្ជាប់​តាមកម្រិត</translation>
 <translation id="5864754048328252126">សកម្មភាព​អសកម្ម ពេលកំពុង​សាកថ្ម</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> នឹងផ្អាក​ក្នុងពេល​ឆាប់ៗ​នេះ</translation>
@@ -5919,6 +5927,7 @@
 <translation id="7086672505018440886">រួមបញ្ចូល​ឯកសារ​កំណត់​ហេតុ Chrome នៅក្នុង​បណ្ណសារ។</translation>
 <translation id="7088434364990739311">ការពិនិត្យការធ្វើបច្ចុប្បន្នភាពបានបរាជ័យក្នុងការចាប់ផ្តើម (កំហុសឆ្គងលេខកូដ <ph name="ERROR" />)។</translation>
 <translation id="7088674813905715446">ឧបករណ៍នេះត្រូវបានដាក់ទៅក្នុងស្ថានភាពដែលបានផ្តាច់ការចូលប្រើដោយអ្នកគ្រប់គ្រង។ ដើម្បីបើកដំណើរការសម្រាប់ការចុះឈ្មោះចូល សូមស្នើឲ្យអ្នកគ្រប់គ្រងរបស់អ្នកដាក់ឧបករណ៍ទៅក្នុងស្ថានភាពរង់ចាំ។</translation>
+<translation id="7090160970140261931">អ្នកអាចបញ្ចូលគណនី​បន្ថែមទៅក្នុង <ph name="DEVICE_TYPE" /> របស់អ្នក ដើម្បីប្រើជាមួយគេហទំព័រ និងកម្មវិធី Android។ អ្នកក៏អាចគ្រប់គ្រងថាតើគណនីណាខ្លះត្រូវប្រើជាមួយកម្មវិធី Android បានផងដែរ។</translation>
 <translation id="7093220653036489319">ចម្លើយរហ័ស</translation>
 <translation id="7093416310351037609">ដើម្បី​សន្តិសុខ និងសុវត្ថិភាព​ទិន្នន័យ ស្ថាប័នរបស់អ្នក​តម្រូវឱ្យរក្សាទុក​ការទាញយក​ទាំងអស់​ដែលអាច​រក្សាទុកបាន​នៅក្នុង​គណនី <ph name="WEB_DRIVE" /> របស់​ស្ថាប័នអ្នក។</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6978,6 +6987,7 @@
 <translation id="8147900440966275470">បានរកឃើញផ្ទាំង <ph name="NUM" /></translation>
 <translation id="8148760431881541277">ដាក់កំហិត​ការចូលគណនី</translation>
 <translation id="8149564499626272569">ផ្ទៀងផ្ទាត់តាមរយៈទូរសព្ទរបស់អ្នកដោយប្រើខ្សែ USB</translation>
+<translation id="815114315010033526">ប្រើកូដ QR ជំនួសវិញ</translation>
 <translation id="8151638057146502721">តំឡើង</translation>
 <translation id="8154790740888707867">គ្មានឯកសារទេ</translation>
 <translation id="8154912474061769055">មុខងារ​នៅលើ​គេហទំព័រ​ជាច្រើន​អាចនឹងមិនដំណើរការទេ</translation>
@@ -7003,6 +7013,7 @@
 <translation id="8176332201990304395">ផ្កាឈូក និងស</translation>
 <translation id="8177196903785554304">ព័ត៌មានលម្អិតនៃបណ្តាញ</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{ផ្លាស់ទី​ផ្ទាំង​ទៅ​វិនដូ​ថ្មី}other{ផ្លាស់ទី​ផ្ទាំង​ទៅ​វិនដូ​ថ្មី}}</translation>
+<translation id="8179188928355984576">មិនប្រើជាមួយកម្មវិធី Android ទេ</translation>
 <translation id="8179976553408161302">បញ្ចូល</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" អាចអាន និងលុបឯកសាររូបភាព វីដេអូ និងសម្លេងនៅក្នុងទីតាំងដែលបានពិនិត្យ។</translation>
 <translation id="8181215761849004992">មិន​អាច​ភ្ជាប់​​ទៅដែន​បានទេ។ សូម​ពិនិត្យ​មើលគណនី​របស់អ្នក ដើម្បី​ប្រាកដថា​អ្នកមានសិទ្ធិ​គ្រប់គ្រាន់ក្នុងការបញ្ចូល​ឧបករណ៍។</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index b627cee..66cb9bb 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" />, ನಿಮ್ಮ ಸ್ಮಾರ್ಟ್ ಕಾರ್ಡ್ ಅನ್ನು ಸೇರಿಸಬೇಕೆಂದು ಬಯಸುತ್ತದೆ.}other{ನೀವು # ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೈನ್ ಔಟ್ ಆಗುತ್ತೀರಿ.
 <ph name="DOMAIN" />, ನಿಮ್ಮ ಸ್ಮಾರ್ಟ್ ಕಾರ್ಡ್ ಅನ್ನು ಸೇರಿಸಬೇಕೆಂದು ಬಯಸುತ್ತದೆ.}}</translation>
 <translation id="1193927020065025187">ಅತಿಕ್ರಮಣದ ಅಧಿಸೂಚನೆಗಳನ್ನು ಅನುಮತಿಸುವುದಕ್ಕಾಗಿ ಈ ಸೈಟ್ ನಿಮ್ಮ ದಾರಿ ತಪ್ಪಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರಬಹುದು</translation>
+<translation id="1195210374336998651">ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ</translation>
 <translation id="1195447618553298278">ಅಪರಿಚಿತ ದೋಷ.</translation>
 <translation id="1195558154361252544">ನೀವು ಅನುಮತಿಸಿರುವ ಸೈಟ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಉಳಿದ ಎಲ್ಲಾ ಸೈಟ್‌ಗಳಿಂದ ಬರುವ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
 <translation id="1197088940767939838">ಕಿತ್ತಳೆ</translation>
@@ -387,6 +388,7 @@
 <translation id="1396259464226642517">ಈ ಫಲಿತಾಂಶ ಅನಿರೀಕ್ಷಿತವಾಗಿದೆಯೇ? <ph name="BEGIN_LINK" />ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಳುಹಿಸಿ<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">ನೀವು ನಮೂದಿಸಿದ ಬಳಕೆದಾರ ಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್‌ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ</translation>
 <translation id="1397500194120344683">ಯಾವುದೇ ಅರ್ಹ ಸಾಧನಗಳಿಲ್ಲ. <ph name="LINK_BEGIN" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">ಈ ಸಾಧನಗಳಲ್ಲಿ ನೀವು Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿರುವಿರಿ, ಆದ್ದರಿಂದ ನೀವು ಅವುಗಳನ್ನು ಭದ್ರತಾ ಕೀಗಳಾಗಿ ಬಳಸಬಹುದು.</translation>
 <translation id="1398853756734560583">ಗರಿಷ್ಠಗೊಳಿಸು</translation>
 <translation id="139911022479327130">ನಿಮ್ಮ ಫೋನ್‌ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ ಹಾಗೂ ಇದು ನೀವೇ ಎಂದು ದೃಢೀಕರಿಸಿ.</translation>
 <translation id="1401308693935339022">ಸ್ಥಳ ಬಳಸಿ. ಸ್ಥಳ ಅನುಮತಿಯನ್ನು ಹೊಂದಿರುವ ಆ್ಯಪ್‌ಗಳು ಹಾಗೂ ಸೇವೆಗಳು ಈ ಸಾಧನದ ಸ್ಥಳವನ್ನು ಬಳಸಲು ಅನುಮತಿ ನೀಡಿ. Google, ಸ್ಥಳ ಡೇಟಾವನ್ನು ನಿಯಮಿತವಾಗಿ ಸಂಗ್ರಹಿಸಬಹುದು ಮತ್ತು ಸ್ಥಳದ ನಿಖರತೆ ಹಾಗೂ ಸ್ಥಳ-ಆಧಾರಿತ ಸೇವೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಈ ಡೇಟಾವನ್ನು ಅನಾಮಧೇಯವಾಗಿ ಬಳಸಬಹುದು.</translation>
@@ -1173,6 +1175,7 @@
 <translation id="2163470535490402084">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಇಂಟರ್ನೆಟ್‌ಗೆ ಸಂಪರ್ಕಗೊಳಿಸಿ.</translation>
 <translation id="2163937499206714165">ಕತ್ತಲೆ ಮೋಡ್ ಆನ್ ಮಾಡಿ</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> ಮತ್ತು ಇನ್ನೂ 1 ಸ್ವಿಚ್</translation>
+<translation id="2165102982098084499">QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುವ ಮೂಲಕ ನೀವು ಈ ಸಾಧನಗಳನ್ನು ಲಿಂಕ್ ಮಾಡಿದ್ದೀರಿ.</translation>
 <translation id="2165177462441582039">ಪ್ರತಿ ಐಟಂನಲ್ಲಿ ಹೈಲೈಟ್‌ ಎಷ್ಟು ಕಾಲ ಉಳಿಯಬೇಕು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="2166369534954157698">The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">ಹೇಗಾದರೂ ಸೈನ್ ಇನ್ ಮಾಡಿ</translation>
@@ -1949,6 +1952,7 @@
 <translation id="2915873080513663243">ಸ್ವಯಂ-ಸ್ಕ್ಯಾನ್</translation>
 <translation id="2916073183900451334">ಫಾರ್ಮ್ ಕ್ಷೇತ್ರಗಳಂತೆ ವೆಬ್‌ಪುಟದಲ್ಲಿನ ಹೈಲೈಟ್ ಲಿಂಕ್‌ಗಳ ಟ್ಯಾಬ್ ಒತ್ತಿರಿ</translation>
 <translation id="2916745397441987255">ವಿಸ್ತರಣೆಗಳನ್ನು ಹುಡುಕಿ</translation>
+<translation id="2918484639460781603">ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ</translation>
 <translation id="2918484644467055090">ಈ ಸಾಧನವನ್ನು ನಿಮ್ಮ ಖಾತೆಗೆ ಸಂಬಂಧಿಸಿದ ಸಂಸ್ಥೆಗೆ ಸೇರಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಈ ಸಾಧನವನ್ನು ಬೇರೊಂದು ಸಂಸ್ಥೆಯ ಮೂಲಕ ನಿರ್ವಹಿಸಲು ಗುರುತಿಸಲಾಗಿದೆ.</translation>
 <translation id="2920852127376356161">ಪ್ರೊಟೊಕಾಲ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ</translation>
 <translation id="2921081876747860777">ನಿಮ್ಮ ಸ್ಥಳೀಯ ಡೇಟಾವನ್ನು ರಕ್ಷಿಸಲು ದಯವಿಟ್ಟು ಪಾಸ್‌ವರ್ಡ್ ರಚಿಸಿ.</translation>
@@ -2573,6 +2577,7 @@
 <translation id="3592260987370335752">&amp;ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ</translation>
 <translation id="3593152357631900254">ಅಸ್ಪಷ್ಟ -ಪಿನ್‌ಯಿನ್‌ ಮೋಡ್‌ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="3593965109698325041">ಪ್ರಮಾಣಪತ್ರ ಹೆಸರು ನಿರ್ಬಂಧಗಳು</translation>
+<translation id="3596012367874587041">ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
 <translation id="3596414637720633074">ಅದೃಶ್ಯ ಮೋಡ್‌ನಲ್ಲಿ ಥರ್ಡ್-ಪಾರ್ಟಿ ಕುಕೀಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ</translation>
 <translation id="3599221874935822507">ಎತ್ತರಿಸಲಾಗಿದೆ</translation>
 <translation id="3599863153486145794">ಸೈನ್-ಇನ್ ಮಾಡಿರುವ ಎಲ್ಲ ಸಾಧನಗಳಿಂದ ಇತಿಹಾಸವನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ. ನಿಮ್ಮ Google ಖಾತೆಯು <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> ನಲ್ಲಿ ಇತರ ವಿಧಗಳ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಹೊಂದಿರಬಹುದು.</translation>
@@ -5696,6 +5701,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> ಸೆ</translation>
 <translation id="6860097299815761905">ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು...</translation>
 <translation id="6860427144121307915">ಟ್ಯಾಬ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
+<translation id="6863496016067551393">ಎಲ್ಲಾ ವಿಸ್ತರಣೆಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ</translation>
 <translation id="686366188661646310">ಪಾಸ್‌ವರ್ಡ್ ಅಳಿಸುವುದೇ?</translation>
 <translation id="6865313869410766144">ಸ್ವಯಂತುಂಬುವಿಕೆ ಫಾರ್ಮ್ ಡೇಟಾ</translation>
 <translation id="6865598234501509159">ಪುಟವು <ph name="LANGUAGE" /> ಭಾಷೆಯಲ್ಲಿಲ್ಲ</translation>
@@ -5725,6 +5731,7 @@
 <translation id="6900532703269623216">ವರ್ಧಿತ ಸುರಕ್ಷತೆ</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಪುನಃ ಸೈನ್ ಇನ್ ಮಾಡಿ</translation>
 <translation id="6900654715912436255">ನೀವು ಖಂಡಿತವಾಗಿಯೂ ಈ ಹುಡುಕಾಟ ಎಂಜಿನ್ ಅನ್ನು ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">ಪೂರ್ವವೀಕ್ಷಣೆಗಾಗಿ ಧ್ವನಿ</translation>
 <translation id="6902336033320348843">ವಿಭಾಗಕ್ಕೆ ಬೆಂಬಲವಿಲ್ಲ: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">ಡೊಮೇನ್‌ಗೆ ಸಾಧನವನ್ನು ಸೇರಿಸಿ</translation>
@@ -7374,6 +7381,7 @@
 <translation id="8610103157987623234">ತಪ್ಪಾದ ಸ್ವರೂಪ, ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="8611682088849615761">MIDI ಸಾಧನಗಳ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಲು ಈ ಸೈಟ್‌ಗೆ ಅನುಮತಿಸುವುದನ್ನು ಮುಂದುವರಿಸಿ</translation>
 <translation id="8613164732773110792">ಸಣ್ಣಕ್ಷರಗಳು, ಅಂಕಿಗಳು, ಅಂಡರ್‌ಸ್ಕೋರ್‌ಗಳು ಅಥವಾ ಡ್ಯಾಶ್‌ಗಳು ಮಾತ್ರ</translation>
+<translation id="8613645710357126807">ವಿಸ್ತರಣೆಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ</translation>
 <translation id="8613786722548417558">ಭದ್ರತೆ ಪರಿಶೀಲನೆಗಾಗಿ <ph name="FILE_NAME" /> ತುಂಬಾ ದೊಡ್ಡದಾಗಿದೆ. ನೀವು 50 MB ವರೆಗಿನ ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯಬಹುದು.</translation>
 <translation id="8615618338313291042">ಅದೃಶ್ಯ ಅಪ್ಲಿಕೇಶನ್: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">ನಿಮ್ಮ ಸಂಪರ್ಕಗಳಲ್ಲಿ <ph name="CONTACT_NAME" /> ಅವರನ್ನು ಸೇರಿಸಿ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 1f21ddc..605f38e4 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" />에서 스마트 카드를 삽입해 둔 상태로 둘 것을 요청합니다.}other{#초 후에 자동으로 로그아웃됩니다.
 <ph name="DOMAIN" />에서 스마트 카드를 삽입해 둔 상태로 둘 것을 요청합니다.}}</translation>
 <translation id="1193927020065025187">이 사이트는 방해가 되는 알림을 허용하도록 사용자를 속일 수 있습니다.</translation>
+<translation id="1195210374336998651">앱 설정으로 이동</translation>
 <translation id="1195447618553298278">알 수 없는 오류</translation>
 <translation id="1195558154361252544">허용한 사이트를 제외한 모든 사이트의 알림이 자동으로 차단됩니다.</translation>
 <translation id="1197088940767939838">오렌지색</translation>
@@ -779,6 +780,7 @@
 <translation id="176587472219019965">새 창(&amp;N)</translation>
 <translation id="1766575458646819543">전체 화면 종료됨</translation>
 <translation id="1766957085594317166">다시 입력할 필요가 없도록 비밀번호를 Google 계정에 안전하게 저장하세요.</translation>
+<translation id="1767043563165955993">Android 앱에서 사용</translation>
 <translation id="1768212860412467516"><ph name="EXPERIMENT_NAME" />에 관한 의견 보내기</translation>
 <translation id="1768278914020124551">로그온 서버에 연결하는 중에 문제가 발생했습니다. 네트워크 연결 및 도메인 이름을 확인한 다음 다시 시도하세요.</translation>
 <translation id="1769104665586091481">새 창에서 링크 열기(&amp;W)</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2113479184312716848">파일 열기(&amp;F)...</translation>
 <translation id="2113921862428609753">기관 정보 액세스</translation>
 <translation id="2114326799768592691">프레임 새로고침(&amp;F)</translation>
+<translation id="2114413269775311385">Android 앱에서 계정을 사용합니다. <ph name="LINK_BEGIN" />앱 설정<ph name="LINK_END" />에서 Android 앱에 대한 권한을 제어할 수 있습니다.</translation>
 <translation id="2114896190328250491">사진 제공: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">삽입된 SIM 카드 없음</translation>
 <translation id="2116619964159595185">사이트에서는 주로 저전력 비콘, 건강 또는 피트니스 추적기, 스마트 조명 전구를 설정 또는 동기화하는 기능을 지원하기 위해 블루투스 기기에 연결합니다.</translation>
@@ -1907,6 +1910,7 @@
 <translation id="287205682142673348">포트 전달</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> 추가...</translation>
 <translation id="2872961005593481000">종료</translation>
+<translation id="2873995907777332853">모든 쿠키 차단에 관한 세부정보 표시</translation>
 <translation id="2874939134665556319">이전 트랙</translation>
 <translation id="2875698561019555027">(Chrome 오류 페이지)</translation>
 <translation id="2876336351874743617">손가락 2</translation>
@@ -1954,6 +1958,7 @@
 <translation id="2915873080513663243">자동 스캔</translation>
 <translation id="2916073183900451334">웹페이지에서 Tab 키를 누르면 링크뿐 아니라 양식 입력란도 강조표시됩니다.</translation>
 <translation id="2916745397441987255">확장 프로그램 검색</translation>
+<translation id="2918484639460781603">설정으로 이동</translation>
 <translation id="2918484644467055090">이 기기는 다른 조직에서 관리하는 것으로 표시되어 있으므로 사용자의 계정이 속한 조직에 등록할 수 없습니다.</translation>
 <translation id="2920852127376356161">프로토콜을 처리하도록 허용되지 않음</translation>
 <translation id="2921081876747860777">비밀번호를 만들어 로컬 데이터 보호</translation>
@@ -2210,6 +2215,7 @@
 <translation id="3189187154924005138">큰 커서</translation>
 <translation id="3190558889382726167">비밀번호 저장됨</translation>
 <translation id="3192947282887913208">오디오 파일</translation>
+<translation id="3194786596445804250">서드 파티 쿠키 차단에 관한 세부정보 표시</translation>
 <translation id="3197453258332670132">마우스 오른쪽 버튼으로 클릭하거나 길게 누르면 선택한 텍스트에 관한 관련 정보가 표시됩니다.</translation>
 <translation id="3199127022143353223">서버</translation>
 <translation id="3200061262156232574">장바구니 항목</translation>
@@ -2577,6 +2583,7 @@
 <translation id="3592260987370335752">자세히 알아보기(&amp;L)</translation>
 <translation id="3593152357631900254">퍼지 병음 모드 사용</translation>
 <translation id="3593965109698325041">인증서 이름 제약조건</translation>
+<translation id="3596012367874587041">앱 설정</translation>
 <translation id="3596414637720633074">시크릿 모드에서 타사 쿠키 차단</translation>
 <translation id="3599221874935822507">양각</translation>
 <translation id="3599863153486145794">로그인된 모든 기기에서 방문 기록을 지웁니다. Google 계정의 내 활동(<ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />)에는 인터넷 사용 기록이 다른 형식으로 남아 있을 수도 있습니다.</translation>
@@ -2954,6 +2961,7 @@
 <translation id="3943582379552582368">뒤로(&amp;B)</translation>
 <translation id="3943857333388298514">붙여넣기</translation>
 <translation id="3945513714196326460">더 짧은 이름을 입력하세요.</translation>
+<translation id="3947643756376959257">Chromecast 또는 TV에 표시되는 액세스 코드를 입력합니다.</translation>
 <translation id="3948027458879361203">호스트 이름 변경</translation>
 <translation id="3948116654032448504"><ph name="SEARCH_ENGINE" />에서 이미지 검색(&amp;S)</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" />에서 다음 폴더의 파일을 수정할 수 있습니다.</translation>
@@ -3193,12 +3201,14 @@
 <translation id="4210048056321123003">가상 머신 다운로드 중</translation>
 <translation id="421182450098841253">북마크바 표시(&amp;S)</translation>
 <translation id="4211851069413100178">사용 및 진단 데이터를 보냅니다. 진단, 기기, 앱 사용 데이터를 Google에 자동으로 보내 Android 사용 환경 개선에 참여합니다. 이 데이터는 시스템 및 앱 안정성 등을 개선하는 데 활용됩니다. 일부 수집 데이터는 Google 앱과 파트너(Android 개발자 등)에게도 도움을 줍니다. 이 <ph name="BEGIN_LINK1" />설정<ph name="END_LINK1" />은 소유자가 지정합니다. 소유자가 이 기기의 진단 및 사용 데이터를 Google에 전송할지 선택할 수 있습니다. 추가 웹 및 앱 활동이 사용 설정되어 있다면 이 데이터가 Google 계정에 저장될 수 있습니다. <ph name="BEGIN_LINK2" />자세히 알아보기<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Android 앱에서 사용 중지</translation>
 <translation id="42126664696688958">내보내기</translation>
 <translation id="42137655013211669">서버에서 이 리소스에 대한 액세스를 금지했습니다.</translation>
 <translation id="4217571870635786043">음성기록</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">활성화 중 오류가 발생했습니다.</translation>
 <translation id="4225397296022057997">모든 사이트에서</translation>
+<translation id="4227605727325220318">새 Android 휴대전화 추가</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{확장 프로그램이 허용되지 않음}other{일부 확장 프로그램이 허용되지 않음}}</translation>
 <translation id="4231095370974836764"><ph name="DEVICE_TYPE" />에서 Google Play 앱 및 게임을 설치하세요. <ph name="LINK_BEGIN" />자세히 알아보기<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Kerberos 설정</translation>
@@ -4729,6 +4739,7 @@
 <translation id="5862109781435984885">실행기에 스타일러스 도구 표시</translation>
 <translation id="5862319196656206789">연결된 기기 설정</translation>
 <translation id="5863445608433396414">디버깅 기능 사용</translation>
+<translation id="5864147196375746035">관리 기기로 전송</translation>
 <translation id="5864195618110239517">종량제 연결 사용</translation>
 <translation id="5864754048328252126">충전 시 유휴 작업</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> 앱이 곧 일시중지됨</translation>
@@ -5298,6 +5309,7 @@
 <translation id="6455264371803474013">특정 사이트에서</translation>
 <translation id="6455894534188563617">새 폴더(&amp;N)</translation>
 <translation id="645705751491738698">자바스크립트 계속 차단</translation>
+<translation id="6458347417133445570">모든 쿠키 허용에 관한 세부정보 표시</translation>
 <translation id="6458701200018867744">업로드 실패(<ph name="WEBRTC_LOG_UPLOAD_TIME" />)</translation>
 <translation id="6459488832681039634">선택 부분으로 찾기</translation>
 <translation id="6459799433792303855">활성 창이 다른 디스플레이로 이동했습니다.</translation>
@@ -5908,6 +5920,7 @@
 <translation id="7086672505018440886">보관 파일에 Chrome 로그 파일을 포함합니다.</translation>
 <translation id="7088434364990739311">업데이트 확인을 시작하지 못했습니다(오류 코드: <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">이 기기는 관리자에 의해 사용 중단 상태로 설정되었습니다. 기기를 등록에 사용하려면 관리자에게 기기를 대기 상태로 전환해 달라고 요청해야 합니다.</translation>
+<translation id="7090160970140261931"><ph name="DEVICE_TYPE" />에 계정을 추가하여 웹사이트 및 Android 앱에서 사용할 수 있습니다. Android 앱에서 어떤 계정을 사용할지 제어할 수도 있습니다.</translation>
 <translation id="7093220653036489319">빠른 답변</translation>
 <translation id="7093416310351037609">조직에서 데이터 안전 및 보안을 위해 조건을 충족하는 다운로드 항목을 모두 조직의 <ph name="WEB_DRIVE" /> 계정에 저장할 것을 요구합니다.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6728,6 +6741,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" />초</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" />에서 <ph name="FILENAME" /> 파일을 볼 수 있습니다.</translation>
 <translation id="7920482456679570420">맞춤법 검사를 건너뛸 단어를 추가합니다.</translation>
+<translation id="7922935920104868876">시크릿 모드에서 서드 파티 쿠키 차단에 관한 세부정보 표시</translation>
 <translation id="7924358170328001543">포트 전달 중 오류 발생</translation>
 <translation id="7925108652071887026">데이터 자동완성</translation>
 <translation id="792514962475806987">고정 돋보기 확대/축소 수준:</translation>
@@ -6892,6 +6906,7 @@
 <translation id="8076492880354921740">탭</translation>
 <translation id="8076835018653442223">관리자가 내 기기의 로컬 파일 액세스를 차단했습니다</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Android 앱과 사용할 수 있는 계정</translation>
 <translation id="8081989000209387414">ADB 디버깅을 사용 중지하시겠습니까?</translation>
 <translation id="8082106343289440791">‘<ph name="DEVICE_NAME" />’과(와) 페어링하시겠습니까?</translation>
 <translation id="8082390128630131497">ADB 디버깅을 사용 중지하면 이 <ph name="DEVICE_TYPE" /> 기기가 초기화됩니다. 모든 사용자 계정과 로컬 데이터가 삭제됩니다.</translation>
@@ -6966,6 +6981,7 @@
 <translation id="8147900440966275470">탭 <ph name="NUM" />개 찾음</translation>
 <translation id="8148760431881541277">로그인 제한</translation>
 <translation id="8149564499626272569">USB 케이블로 휴대전화를 연결하여 인증</translation>
+<translation id="815114315010033526">대신 QR 코드 사용</translation>
 <translation id="8151638057146502721">구성</translation>
 <translation id="8154790740888707867">파일 없음</translation>
 <translation id="8154912474061769055">다수의 사이트에서 기능이 작동하지 않을 수 있음</translation>
@@ -6991,6 +7007,7 @@
 <translation id="8176332201990304395">분홍색 및 흰색</translation>
 <translation id="8177196903785554304">네트워크 세부정보</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{탭을 새 창으로 이동}other{탭을 새 창으로 이동}}</translation>
+<translation id="8179188928355984576">Android 앱에서 사용되지 않음</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">'<ph name="EXTENSION" />'은(는) 선택된 위치에서 이미지, 동영상 및 사운드 파일을 읽고 삭제할 수 있습니다.</translation>
 <translation id="8181215761849004992">도메인에 가입할 수 없습니다. 기기를 추가하기에 충분한 권한이 계정에 있는지 확인하세요.</translation>
@@ -7150,6 +7167,7 @@
 <translation id="8342861492835240085">컬렉션 선택</translation>
 <translation id="8347227221149377169">인쇄 작업</translation>
 <translation id="834785183489258869">시크릿 모드에 있는 동안에는 사이트에서 사용자의 다양한 사이트 탐색 활동 정보를 이용해 광고 맞춤설정 등의 작업을 하는 데 쿠키를 사용할 수 없습니다. 일부 사이트에서는 기능이 작동하지 않을 수 있습니다.</translation>
+<translation id="8349499562373871073">Android 앱과 사용할 기존 계정을 선택하거나 새로운 Google 계정을 추가할 수 있습니다. Android 앱에 로그인하면 계정을 다른 Android 앱에서도 사용할 수 있습니다. <ph name="LINK_BEGIN" />설정 &gt; 계정<ph name="LINK_END" />에서 Android 앱 액세스를 변경할 수 있습니다.</translation>
 <translation id="8350789879725387295">도크에 스타일러스 도구 표시</translation>
 <translation id="8351316842353540018">항상 접근성 옵션 표시</translation>
 <translation id="8351419472474436977">이 확장 프로그램이 프록시 설정을 제어할 수 있게 되었으며, 따라서 사용자가 온라인에서 수행하는 모든 작업을 변경 및 중단하고 엿볼 수 있게 되었음을 의미합니다. 이와 같이 변경된 이유가 확실하지 않다면 이 설정을 사용하지 않는 것이 좋습니다.</translation>
diff --git a/chrome/app/resources/generated_resources_ky.xtb b/chrome/app/resources/generated_resources_ky.xtb
index 8f0510fa..6ae070c 100644
--- a/chrome/app/resources/generated_resources_ky.xtb
+++ b/chrome/app/resources/generated_resources_ky.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> эрежелери боюнча акылдуу картаңыз салынып турушу керек.}other{# секунддан кийин автоматтык түрдө чыгасыз.
 <ph name="DOMAIN" /> эрежелери боюнча акылдуу картаңыз салынып турушу керек.}}</translation>
 <translation id="1193927020065025187">Бул сайт тажатма билдирүүлөрдү көрсөтүүгө аракет кылып жатышы мүмкүн.</translation>
+<translation id="1195210374336998651">Колдонмонун жөндөөлөрүнө өтүү</translation>
 <translation id="1195447618553298278">Белгисиз ката.</translation>
 <translation id="1195558154361252544">Билдирмелер өзүңүз белгилеген сайттардан тышкары бардык сайттар үчүн автоматтык түрдө бөгөттөлгөн</translation>
 <translation id="1197088940767939838">Кызгылт сары</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Бул күтүлбөгөн натыйжа болдубу? <ph name="BEGIN_LINK" />Пикир билдирүү<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Киргизилген колдонуучунун аты менен сырсөз дал келбейт</translation>
 <translation id="1397500194120344683">Жарамдуу түзмөктөр жок. <ph name="LINK_BEGIN" />Кеңири маалымат<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Chrome'го бул түзмөктөрдөн кирдиңиз, андыктан аларды коопсуздук ачкычтары катары колдоно аласыз.</translation>
 <translation id="1398853756734560583">Чоңойтуу</translation>
 <translation id="139911022479327130">Телефонуңуздун кулпусун ачып, сиз экениңизди ырастаңыз</translation>
 <translation id="1401308693935339022">Жайгашкан жер тууралуу маалыматты колдонуу. Колдонмолорго бул түзмөктүн жайгашкан жерин табууга жардам бериңиз. Google аныкталган жерлер тууралуу маалыматты маал-маалы менен чогултуп, жайгашкан жерди тагыраак аныктоо үчүн, жана жайгашкан жерге негизделген кызматтарда жашыруун колдонушу мүмкүн.</translation>
@@ -1180,6 +1182,7 @@
 <translation id="2163470535490402084"><ph name="DEVICE_TYPE" /> түзмөгүңүзгө кирүү үчүн Интернетке туташыңыз.</translation>
 <translation id="2163937499206714165">Караңгы теманы күйгүзүү</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> жана дагы 1 которгуч</translation>
+<translation id="2165102982098084499">Бул түзмөктөрдү QR кодун скандоо аркылуу туташтырдыңыз.</translation>
 <translation id="2165177462441582039">Бир объекттен экинчисине өтүү ылдамдыгын тандаңыз</translation>
 <translation id="2166369534954157698">Билимдүүнүн түнү - күн, билимсиздин күнү - түн</translation>
 <translation id="2169062631698640254">Баары бир кирүү</translation>
@@ -2581,6 +2584,7 @@
 <translation id="3592260987370335752">&amp;Көбүрөөк билүү</translation>
 <translation id="3593152357631900254">Бүдөмүк Пинйин режимин иштетүү</translation>
 <translation id="3593965109698325041">Тастыктама аталышынын чектөөлөрү</translation>
+<translation id="3596012367874587041">Колдонмонун жөндөөлөрү</translation>
 <translation id="3596414637720633074">Жашыруун режимде үчүнчү тараптын cookie файлдарын бөгөттөө</translation>
 <translation id="3599221874935822507">Көтөрүлгөн</translation>
 <translation id="3599863153486145794">Аккаунтка кирген бардык түзмөктөрүңүздөгү таржымал тазаланат. Google аккаунтуңуздун серептөө таржымалынын башка түрлөрү <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> дарегинде болушу мүмкүн.</translation>
@@ -5702,6 +5706,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> сек.</translation>
 <translation id="6860097299815761905">Прокси жөндөөлөрү…</translation>
 <translation id="6860427144121307915">Өтмөктө ачуу</translation>
+<translation id="6863496016067551393">Бардык кеңейтүүлөрдү колдоно алат</translation>
 <translation id="686366188661646310">Сырсөз жок кылынсынбы?</translation>
 <translation id="6865313869410766144">Автотолтуруу формасынын дайындары</translation>
 <translation id="6865598234501509159">Барак <ph name="LANGUAGE" /> эмес</translation>
@@ -5731,6 +5736,7 @@
 <translation id="6900532703269623216">Жакшыртылган коргоо</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> аккаунтун жаңыртуу үчүн аккаунтуңузга кайра кириңиз</translation>
 <translation id="6900654715912436255">Ушул издөө каражатын чын эле өчүрөсүзбү?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Үндү алдын ала угуп көрүү</translation>
 <translation id="6902336033320348843">Бөлүм колдоого алынбайт: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Түзмөктү доменге кошуу</translation>
@@ -7382,6 +7388,7 @@
 <translation id="8610103157987623234">Туура эмес формат, кайталап көрүңүз</translation>
 <translation id="8611682088849615761">Бул сайт MIDI түзмөктөрүн мындан ары да толук көзөмөлдөй берсин</translation>
 <translation id="8613164732773110792">Кичинекей тамгаларды, сандарды, ылдыйкы сызыктарды жана дефистерди гана колдонууга болот</translation>
+<translation id="8613645710357126807">Кеңейтүүлөрдү колдоно албайт</translation>
 <translation id="8613786722548417558">Коопсуздукту текшерүү үчүн <ph name="FILE_NAME" /> файлынын көлөмү өтө чоң. Көлөмү 50 Мб чейинки файлдарды ача аласыз.</translation>
 <translation id="8615618338313291042">Жашыруун колдонмо: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> аттуу колдонуучуну байланыштарга кошуу</translation>
diff --git a/chrome/app/resources/generated_resources_lo.xtb b/chrome/app/resources/generated_resources_lo.xtb
index 26045e6..470fe353 100644
--- a/chrome/app/resources/generated_resources_lo.xtb
+++ b/chrome/app/resources/generated_resources_lo.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> ກຳນົດໃຫ້ທ່ານສຽບບັດອັດສະລິຍະຄາໄວ້.}other{ທ່ານຈະຖືກນຳອອກຈາກລະບົບໂດຍອັດຕະໂນມັດໃນ # ວິນາທີ.
 <ph name="DOMAIN" /> ກຳນົດໃຫ້ທ່ານສຽບບັດອັດສະລິຍະຄາໄວ້.}}</translation>
 <translation id="1193927020065025187">ເວັບໄຊນີ້ອາດຈະກຳລັງພະຍາຍາມຫຼອກໃຫ້ທ່ານອະນຸຍາດການແຈ້ງເຕືອນທີ່ລ່ວງລໍ້າ</translation>
+<translation id="1195210374336998651">ໄປຫາການຕັ້ງຄ່າແອັບ</translation>
 <translation id="1195447618553298278">ຄວາມຜິດພາດທີ່ບໍ່ຮູ້ຈັກ.</translation>
 <translation id="1195558154361252544">ການແຈ້ງເຕືອນຖືກບລັອກໄວ້ໂດຍອັດຕະໂນມັດສຳລັບເວັບໄຊທັງໝົດ ຍົກເວັ້ນເວັບໄຊທີ່ທ່ານອະນຸຍາດ</translation>
 <translation id="1197088940767939838">ສີໝາກກ້ຽງ</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">ຜົນຮັບນີ້ຕ່າງຈາກທີ່ຄາດໄວ້ບໍ? <ph name="BEGIN_LINK" />ສົ່ງຄຳຕິຊົມ<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">ຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານທີ່ທ່ານປ້ອນເຂົ້າບໍ່ກົງກັນ</translation>
 <translation id="1397500194120344683">ບໍ່ມີອຸປະກອນທີ່ມີສິດ. <ph name="LINK_BEGIN" />ສຶກສາເພີ່ມເຕີມ<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">ທ່ານໄດ້ເຂົ້າສູ່ລະບົບຫາ Chrome ຢູ່ອຸປະກອນເຫຼົ່ານີ້ແລ້ວ, ດັ່ງນັ້ນຈຶ່ງທ່ານສາມາດໃຊ້ພວກມັນເປັນກະແຈຄວາມປອດໄພໄດ້.</translation>
 <translation id="1398853756734560583">ຂະຫຍາຍໃຫຍ່</translation>
 <translation id="139911022479327130">ປົດລັອກໂທລະສັບຂອງທ່ານ ແລະ ຢືນຢັນວ່າແມ່ນທ່ານ</translation>
 <translation id="1401308693935339022">ໃຊ້ສະຖານທີ່. ອະນຸຍາດໃຫ້ແອັບ ແລະ ການບໍລິການທີ່ມີການອະນຸຍາດສະຖານທີ່ໃຊ້ສະຖານທີ່ຂອງອຸປະກອນນີ້. Google ອາດຈະເກັບເອົາຂໍ້ມູນສະຖານທີ່ເປັນຊ່ວງໄລຍະ ແລະ ໃຊ້ຂໍ້ມູນນີ້ແບບບໍ່ເປີດເຜີຍຊື່ ເພື່ອປັບປຸງຄວາມຖືກຕ້ອງຂອງສະຖານທີ່ ແລະ ການບໍລິການທີ່ອີງໃສ່ສະຖານທີ່.</translation>
@@ -1177,6 +1179,7 @@
 <translation id="2163470535490402084">ກະ​ລຸ​ນາ​ເຊື່ອມ​ຕໍ່​ກັບ​ອິນ​ເຕີ​ເນັດ ເພື່ອ​ລົງຊື່ເຂົ້າໃຊ້​ຫາ <ph name="DEVICE_TYPE" /> ຂອງ​ທ່ານ.</translation>
 <translation id="2163937499206714165">ເປີດໃຊ້ໂໝດມືດ</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> ແລະ ອີກ 1 ປຸ່ມ</translation>
+<translation id="2165102982098084499">ທ່ານລິ້ງອຸປະກອນເຫຼົ່ານີ້ແລ້ວໂດຍການສະແກນລະຫັດ QR.</translation>
 <translation id="2165177462441582039">ເລືອກວ່າຈະໃຫ້ໄຮໄລ້ຢູ່ດົນປານໃດໃນແຕ່ລະລາຍການ</translation>
 <translation id="2166369534954157698">The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">ແນວໃດກໍ່ລົງຊື່ເຂົ້າໃຊ້</translation>
@@ -2578,6 +2581,7 @@
 <translation id="3592260987370335752">​ຮຽນ​ຮູ້​ເພີ່ມ​ເຕີມ</translation>
 <translation id="3593152357631900254">ເປີດໃຊ້ງານໂໝດຄີບອດ Fuzzy​-Pinyin</translation>
 <translation id="3593965109698325041">ຂໍ້ຈໍາກັດ​ຊື່ໃບຢັ້ງຢືນ</translation>
+<translation id="3596012367874587041">ການຕັ້ງຄ່າແອັບ</translation>
 <translation id="3596414637720633074">ບລັອກຄຸກກີ້ພາກສ່ວນທີສາມໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ</translation>
 <translation id="3599221874935822507">ຍົກຂຶ້ນ</translation>
 <translation id="3599863153486145794">ລຶບລ້າງປະຫວັດຈາກທຸກອຸປະກອນທີ່ເຂົ້າສູ່ລະບົບແລ້ວ. ບັນຊີ Google ຂອງທ່ານອາດຈະມີຮູບແບບອື່ນຂອງປະຫວັດການທ່ອງເວັບຢູ່ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5698,6 +5702,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> ວິ</translation>
 <translation id="6860097299815761905">ການຕັ້ງຄ່າພຣັອກຊີ...</translation>
 <translation id="6860427144121307915">ເປີດ​​ຢູ່​ໃນ​ແຖບ​</translation>
+<translation id="6863496016067551393">ອະນຸຍາດສ່ວນຂະຫຍາຍທັງໝົດ</translation>
 <translation id="686366188661646310">ລຶບລະຫັດຜ່ານບໍ?</translation>
 <translation id="6865313869410766144">ຕື່ມຂໍ້ມູນແບບຟອມອັດຕະໂນມັດ</translation>
 <translation id="6865598234501509159">ໜ້ານີ້ບໍ່ແມ່ນພາສາ <ph name="LANGUAGE" /></translation>
@@ -5727,6 +5732,7 @@
 <translation id="6900532703269623216">ການປົກປ້ອງທີ່ປັບປຸງດີຂຶ້ນ</translation>
 <translation id="6900651018461749106">ເຂົ້າສູ່ລະບົບອີກຄັ້ງເພື່ອອັບເດດ <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບໂປຣແກຣມຊອກຫານີ້?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">ສຽງທີ່ຈະສະແດງຕົວຢ່າງ</translation>
 <translation id="6902336033320348843">ສ່ວນທີ່ບໍ່ຮອງຮັບ: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">ເຊື່ອມຕໍ່ອຸປະກອນເຂົ້າກັບໂດເມນ</translation>
@@ -7377,6 +7383,7 @@
 <translation id="8610103157987623234">ຮູບແບບບໍ່ຖືກຕ້ອງ, ກະລຸນາລອງອີກຄັ້ງ</translation>
 <translation id="8611682088849615761">ສືບຕໍ່ອະນຸຍາດໃຫ້ເວັບໄຊນີ້ມີການຄວບຄຸມອຸປະກອນ MIDI ແບບເຕັມ</translation>
 <translation id="8613164732773110792">ຕົວອັກສອນຕົວພິມນ້ອຍ, ຕົວເລກ, ຂີດກ້ອງ ຫຼື ຂີດຕໍ່ເທົ່ານັ້ນ</translation>
+<translation id="8613645710357126807">ບໍ່ອະນຸຍາດໃຫ້ໃຊ້ສ່ວນຂະຫຍາຍ</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ໃຫຍ່ເກີນໄປສຳລັບການກວດສອບຄວາມປອດໄພ. ທ່ານສາມາດເປີດໄຟລ໌ໄດ້ບໍ່ເກີນ 50 MB.</translation>
 <translation id="8615618338313291042">ແອັບບໍ່ເປີດເຜີຍຕົນຕົວ: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">ເພີ່ມ <ph name="CONTACT_NAME" /> ໃສ່ລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານ</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index 98574414..4d812915 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -209,6 +209,7 @@
 <ph name="DOMAIN" /> reikia, kad paliktumėte įdėtą išmaniąją kortelę.}other{Būsite automatiškai atjungti po # sekundžių.
 <ph name="DOMAIN" /> reikia, kad paliktumėte įdėtą išmaniąją kortelę.}}</translation>
 <translation id="1193927020065025187">Šioje svetainėje gali būti bandoma apgaule priversti jus leisti nepageidaujamus pranešimus</translation>
+<translation id="1195210374336998651">Eiti į programos nustatymus</translation>
 <translation id="1195447618553298278">Nežinoma klaida.</translation>
 <translation id="1195558154361252544">Pranešimai automatiškai blokuojami visose svetainėse, išskyrus svetaines, kuriose leidote rodyti</translation>
 <translation id="1197088940767939838">Oranžinė</translation>
@@ -1960,6 +1961,7 @@
 <translation id="2915873080513663243">Automatinis nuskaitymas</translation>
 <translation id="2916073183900451334">Paspaudus tinklalapio skirtuką paryškinamos nuorodos ir formos laukai</translation>
 <translation id="2916745397441987255">Ieškoti plėtinių</translation>
+<translation id="2918484639460781603">Eiti į nustatymus</translation>
 <translation id="2918484644467055090">Šio įrenginio negalima užregistruoti organizacijoje, kuriai priklauso paskyra, nes pažymėta, kad įrenginys tvarkomas kitos organizacijos.</translation>
 <translation id="2920852127376356161">Neleidžiama apdoroti protokolų</translation>
 <translation id="2921081876747860777">Sukurkite slaptažodį, kad apsaugotumėte vietinius duomenis.</translation>
@@ -2584,6 +2586,7 @@
 <translation id="3592260987370335752">&amp;Sužinokite daugiau</translation>
 <translation id="3593152357631900254">Įgalinti netikslų Pinjino režimą</translation>
 <translation id="3593965109698325041">Sertifikato pavadinimo apribojimai</translation>
+<translation id="3596012367874587041">Programos nustatymai</translation>
 <translation id="3596414637720633074">Blokuoti trečiųjų šalių slapukus inkognito režimu</translation>
 <translation id="3599221874935822507">Iškilęs</translation>
 <translation id="3599863153486145794">Išvaloma visų įrenginių, prie kurių prisijungta, istorija. „Google“ paskyroje gali būti kito tipo naršymo istorijos, kuri pasiekiama adresu <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 4961d14..52bd2c6 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -206,6 +206,7 @@
 Saskaņā ar domēna <ph name="DOMAIN" /> prasībām viedkartei ir jābūt ievietotai.}other{Jūs tiksiet automātiski izrakstīts pēc # sekundēm.
 Saskaņā ar domēna <ph name="DOMAIN" /> prasībām viedkartei ir jābūt ievietotai.}}</translation>
 <translation id="1193927020065025187">Šī vietne var mēģināt jūs maldināt, mudinot atļaut traucējošu paziņojumu rādīšanu.</translation>
+<translation id="1195210374336998651">Pāriet uz lietotnes iestatījumiem</translation>
 <translation id="1195447618553298278">Nezināma kļūda.</translation>
 <translation id="1195558154361252544">Paziņojumi tiek automātiski bloķēti visās vietnēs, izņemot tās, kurās atļāvāt to rādīšanu.</translation>
 <translation id="1197088940767939838">Oranža</translation>
@@ -770,6 +771,7 @@
 <translation id="176587472219019965">Jau&amp;ns logs</translation>
 <translation id="1766575458646819543">Tika aizvērts pilnekrāna režīms</translation>
 <translation id="1766957085594317166">Droši saglabājiet paroles Google kontā, lai vairs nebūtu tās jāraksta</translation>
+<translation id="1767043563165955993">Izmantot Android lietotnēs</translation>
 <translation id="1768212860412467516">Sūtiet atsauksmes par eksperimentu <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Diemžēl radās kļūda, mēģinot sazināties ar pieteikšanās serveri. Lūdzu, pārbaudiet savu tīkla savienojumu un domēna nosaukumu, pēc tam mēģiniet vēlreiz.</translation>
 <translation id="1769104665586091481">Atvērt saiti &amp;jaunā logā</translation>
@@ -1105,6 +1107,7 @@
 <translation id="2113479184312716848">Atvērt failu...</translation>
 <translation id="2113921862428609753">Piekļuve izdevējiestādes datiem</translation>
 <translation id="2114326799768592691">Atkārtoti ielādēt &amp;ietvaru</translation>
+<translation id="2114413269775311385">Izmantot šo kontu Android lietotnēs. Varat pārvaldīt Android lietotņu atļaujas <ph name="LINK_BEGIN" />lietotņu iestatījumos<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Fotogrāfs: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Nav ievietota SIM karte</translation>
 <translation id="2116619964159595185">Parasti vietnēs tiek veidots savienojums ar Bluetooth ierīcēm, lai nodrošinātu noteiktas funkcijas, piemēram, iestatītu vai sinhronizētu samazināta enerģijas patēriņa signālierīci, veselības uzraudzības vai fizisko aktivitāšu uzskaites ierīci vai viedā apgaismojuma ierīces spuldzīti.</translation>
@@ -1894,6 +1897,7 @@
 <translation id="287205682142673348">Portu pārsūtīšana</translation>
 <translation id="287286579981869940">Pievienot pakalpojumu sniedzēju <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Beidzēt</translation>
+<translation id="2873995907777332853">Rādīt detalizētu informāciju par visu sīkfailu bloķēšanu</translation>
 <translation id="2874939134665556319">Iepriekšējais ieraksts</translation>
 <translation id="2875698561019555027">(Chrome kļūdu lapas)</translation>
 <translation id="2876336351874743617">2. pirksts</translation>
@@ -1941,6 +1945,7 @@
 <translation id="2915873080513663243">Automātiska meklēšana</translation>
 <translation id="2916073183900451334">Tabulēšanas taustiņa piespiešana tīmekļa lapā izgaismo saites, kā arī veidlapu laukus</translation>
 <translation id="2916745397441987255">Meklēt paplašinājumus</translation>
+<translation id="2918484639460781603">Pāriet uz iestatījumiem</translation>
 <translation id="2918484644467055090">Šo ierīci nevar reģistrēt organizācijā, kurai pieder jūsu konts, jo ierīce ir iestatīta pārvaldībai citā organizācijā.</translation>
 <translation id="2920852127376356161">Nedrīkst apstrādāt protokolus</translation>
 <translation id="2921081876747860777">Paroles izveide lokālo datu aizsardzībai</translation>
@@ -2197,6 +2202,7 @@
 <translation id="3189187154924005138">Liels kursors</translation>
 <translation id="3190558889382726167">Parole ir saglabāta</translation>
 <translation id="3192947282887913208">Audio faili</translation>
+<translation id="3194786596445804250">Rādīt detalizētu informāciju par trešo pušu sīkfailu bloķēšanu</translation>
 <translation id="3197453258332670132">Noklikšķiniet ar peles labo pogu vai nospiediet un turiet, lai parādītu ar atlasīto tekstu saistīto informāciju</translation>
 <translation id="3199127022143353223">Serveri</translation>
 <translation id="3200061262156232574">Jūsu iepirkumu grozā</translation>
@@ -2564,6 +2570,7 @@
 <translation id="3592260987370335752">&amp;Uzziniet vairāk</translation>
 <translation id="3593152357631900254">Iespējot Fuzzy-Pinyin režīmu</translation>
 <translation id="3593965109698325041">Sertifikāta nosaukuma ierobežojumi</translation>
+<translation id="3596012367874587041">Lietotnes iestatījumi</translation>
 <translation id="3596414637720633074">Inkognito režīmā bloķēt trešo pušu sīkfailus</translation>
 <translation id="3599221874935822507">Paaugstināta</translation>
 <translation id="3599863153486145794">Notīra vēsturi no visām ierīcēm, kurās esat pierakstījies. Jūsu Google kontam vietnē <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> var būt citu veidu pārlūkošanas vēstures dati.</translation>
@@ -2941,6 +2948,7 @@
 <translation id="3943582379552582368">Atpakaļ</translation>
 <translation id="3943857333388298514">Ielīmēt</translation>
 <translation id="3945513714196326460">Izmantojiet īsāku nosaukumu.</translation>
+<translation id="3947643756376959257">Ievadiet piekļuves kodu, kas norādīts Chromecast ierīcē vai televizorā.</translation>
 <translation id="3948027458879361203">Saimniekdatora nosaukuma maiņa</translation>
 <translation id="3948116654032448504">Meklēt attēlu <ph name="SEARCH_ENGINE" /> tīklā</translation>
 <translation id="3948507072814225786">Vietne <ph name="ORIGIN" /> var rediģēt tālāk norādītajās mapēs esošos failus.</translation>
@@ -3182,12 +3190,14 @@
 <translation id="4210048056321123003">Notiek virtuālās mašīnas lejupielāde</translation>
 <translation id="421182450098841253">&amp;Rādīt grāmatzīmju joslu</translation>
 <translation id="4211851069413100178">Lietojuma un diagnostikas datu sūtīšana. Palīdziet uzlabot Android lietošanas pieredzi, automātiski nosūtot diagnostikas, ierīces un lietotņu lietojuma datus uzņēmumam Google. Šī informācija palīdzēs uzlabot sistēmas un lietotņu stabilitāti un daudz ko citu. Noteiktus apkopotus datus izmantos arī Google lietotņu izstrādātāji un partneri, piemēram, Android izstrādātāji. Šo <ph name="BEGIN_LINK1" />iestatījumu<ph name="END_LINK1" /> ir noteicis īpašnieks. Īpašnieks var izvēlēties nosūtīt šīs ierīces diagnostikas un lietojuma datus uz Google serveriem. Ja ir ieslēgts papildu iestatījums “Darbības tīmeklī un lietotnēs”, šie dati var tikt saglabāti jūsu Google kontā. <ph name="BEGIN_LINK2" />Uzzināt vairāk<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Vairs neizmantot Android lietotnēs</translation>
 <translation id="42126664696688958">Eksportēt</translation>
 <translation id="42137655013211669">Serveris neatļāva piekļūt šim resursam.</translation>
 <translation id="4217571870635786043">Diktēšana</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Aktivizēšanas laikā radās kļūda.</translation>
 <translation id="4225397296022057997">Visās vietnēs</translation>
+<translation id="4227605727325220318">Pievienot jaunu Android tālruni</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Šis paplašinājums nav atļauts}zero{Daži paplašinājumi nav atļauti}one{Daži paplašinājumi nav atļauti}other{Daži paplašinājumi nav atļauti}}</translation>
 <translation id="4231095370974836764">Instalējiet lietotnes un spēles no pakalpojuma Google Play savā <ph name="DEVICE_TYPE" /> ierīcē. <ph name="LINK_BEGIN" />Uzziniet vairāk<ph name="LINK_END" />.</translation>
 <translation id="4232375817808480934">Kerberos konfigurēšana</translation>
@@ -4718,6 +4728,7 @@
 <translation id="5862109781435984885">Rādīt skārienekrāna pildspalvas rīkus plauktā</translation>
 <translation id="5862319196656206789">Iestatīt pievienotās ierīces</translation>
 <translation id="5863445608433396414">Iespējot atkļūdošanas funkcijas</translation>
+<translation id="5864147196375746035">Apraide uz pārvaldītu ierīci</translation>
 <translation id="5864195618110239517">Izmantot maksas savienojumu</translation>
 <translation id="5864754048328252126">Darbība neaktivitātes dēļ uzlādes laikā</translation>
 <translation id="5865508026715185451">Lietotnes <ph name="APP_NAME" /> darbība drīz tiks apturēta.</translation>
@@ -5287,6 +5298,7 @@
 <translation id="6455264371803474013">Konkrētās vietnēs</translation>
 <translation id="6455894534188563617">&amp;Jauna mape</translation>
 <translation id="645705751491738698">Turpināt bloķēt JavaScript</translation>
+<translation id="6458347417133445570">Rādīt detalizētu informāciju par visu sīkfailu atļaušanu</translation>
 <translation id="6458701200018867744">Augšupielāde neizdevās (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Izmantot atlasīto meklēšanai</translation>
 <translation id="6459799433792303855">Aktīvais logs ir pārvietots uz citu attēlojumu.</translation>
@@ -5897,6 +5909,7 @@
 <translation id="7086672505018440886">Iekļaut Chrome žurnālfailus arhīvā.</translation>
 <translation id="7088434364990739311">Neizdevās palaist atjauninājumu pārbaudi (kļūdas kods: <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Administrators šai ierīcei ir piešķīris noņemšanas statusu. Lai tiktu aktivizēta šīs ierīces reģistrēšana, lūdziet administratoram piešķirt tai gaidīšanas statusu.</translation>
+<translation id="7090160970140261931">Varat pievienot ierīcei (<ph name="DEVICE_TYPE" />) papildkontus, ko izmantot vietnēs un Android lietotnēs. Varat arī pārvaldīt, kuri konti tiek izmantoti Android lietotnēs.</translation>
 <translation id="7093220653036489319">Ātrās atbildes</translation>
 <translation id="7093416310351037609">Lai aizsargātu datus, jūsu organizācija ir noteikusi, ka visas piemērotās lejupielādes ir jāsaglabā jūsu organizācijas <ph name="WEB_DRIVE" /> kontā.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6716,6 +6729,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> var skatīt failu <ph name="FILENAME" />.</translation>
 <translation id="7920482456679570420">Pievienojiet vārdus, kurus pareizrakstības pārbaudē izlaist</translation>
+<translation id="7922935920104868876">Rādīt detalizētu informāciju par trešo pušu sīkfailu bloķēšanu inkognito režīmā</translation>
 <translation id="7924358170328001543">Porta pārsūtīšanas kļūda</translation>
 <translation id="7925108652071887026">Automātiskās aizpildes dati</translation>
 <translation id="792514962475806987">Dokotās tālummaiņas līmenis:</translation>
@@ -6880,6 +6894,7 @@
 <translation id="8076492880354921740">Cilnes</translation>
 <translation id="8076835018653442223">Administrators ir atspējojis piekļuvi lokālajiem failiem jūsu ierīcē.</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Konti, kas pieejami izmantošanai ar Android lietotnēm</translation>
 <translation id="8081989000209387414">Vai atspējot ADB atkļūdošanu?</translation>
 <translation id="8082106343289440791">Vai izveidot savienojumu pārī ar ierīci <ph name="DEVICE_NAME" />?</translation>
 <translation id="8082390128630131497">ADB atkļūdošanas atspējošana atiestatīs šo <ph name="DEVICE_TYPE" /> ierīci uz rūpnīcas iestatījumiem. Visi lietotāju konti un vietējie dati tiks dzēsti.</translation>
@@ -6954,6 +6969,7 @@
 <translation id="8147900440966275470">Atrasta <ph name="NUM" /> cilne</translation>
 <translation id="8148760431881541277">Pierakstīšanās ierobežošana</translation>
 <translation id="8149564499626272569">Apstiprināt, izmantojot tālruni ar USB vadu</translation>
+<translation id="815114315010033526">Tā vietā izmantot QR kodu</translation>
 <translation id="8151638057146502721">Konfigurēt</translation>
 <translation id="8154790740888707867">Nav faila.</translation>
 <translation id="8154912474061769055">Daudzās vietnēs funkcijas var nedarboties.</translation>
@@ -6979,6 +6995,7 @@
 <translation id="8176332201990304395">Rozā un balta</translation>
 <translation id="8177196903785554304">Detalizēta informācija par tīklu</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Pārvietot cilni uz jaunu logu}zero{Pārvietot cilnes uz jaunu logu}one{Pārvietot cilnes uz jaunu logu}other{Pārvietot cilnes uz jaunu logu}}</translation>
+<translation id="8179188928355984576">Netiek izmantots Android lietotnēs</translation>
 <translation id="8179976553408161302">Ievadīt</translation>
 <translation id="8180786512391440389">Ar paplašinājumu “<ph name="EXTENSION" />” var lasīt un dzēst attēlus, videoklipus un skaņu failus atzīmētajās vietās.</translation>
 <translation id="8181215761849004992">Nevar pievienoties domēnam. Pārbaudiet savā kontā, vai jums ir pietiekamas tiesības, lai pievienotu ierīces.</translation>
@@ -7138,6 +7155,7 @@
 <translation id="8342861492835240085">Kolekcijas atlase</translation>
 <translation id="8347227221149377169">Drukas uzdevumi</translation>
 <translation id="834785183489258869">Inkognito režīmā vietnes nedrīkst izmantot sīkfailus, lai skatītu jūsu pārlūkošanas darbības dažādās vietnēs, piemēram, reklāmu personalizēšanai. Noteiktās vietnēs funkcijas var nedarboties.</translation>
+<translation id="8349499562373871073">Varat atlasīt esošu kontu, ko izmantot ar Android lietotnēm, vai pievienot jaunu Google kontu. Tiklīdz pierakstīsieties kādā Android lietotnē, varēsiet izmantot savu kontu ar citām Android lietotnēm. Varat mainīt Android lietotņu piekļuvi sadaļā <ph name="LINK_BEGIN" />Iestatījumi &gt; Konti<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Skārienekrāna pildspalvas rīki joslā</translation>
 <translation id="8351316842353540018">Vienmēr rādīt pieejamības iespējas</translation>
 <translation id="8351419472474436977">Šis paplašinājums pārvalda jūsu starpniekservera iestatījumus. Tas nozīmē, ka tas var mainīt, pārtraukt vai izsekot visas jūsu darbības tiešsaistē. Ja neesat pārliecināts, kāpēc notika šīs izmaiņas, visticamāk, jūs tās nevēlaties.</translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb
index 1a13bada..25e6766 100644
--- a/chrome/app/resources/generated_resources_mk.xtb
+++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" /> бара паметната картичка да ви остане вметната.}other{Автоматски ќе ве одјавиме по # секунди.
 <ph name="DOMAIN" /> бара паметната картичка да ви остане вметната.}}</translation>
 <translation id="1193927020065025187">Сајтов можеби се обидува да ве измами да дозволите нападни известувања</translation>
+<translation id="1195210374336998651">Одете во постаките за апликацијата</translation>
 <translation id="1195447618553298278">Непозната грешка.</translation>
 <translation id="1195558154361252544">Известувањата се автоматски блокирани за сите сајтови, освен за оние за коишто сте ги дозволиле</translation>
 <translation id="1197088940767939838">Портокалова</translation>
@@ -387,6 +388,7 @@
 <translation id="1396259464226642517">Дали резултатов беше неочекуван? <ph name="BEGIN_LINK" />Испратете повратни информации<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Корисничкото име и лозинката што ги внесовте не се совпаѓаат</translation>
 <translation id="1397500194120344683">Нема уреди што ги исполнуваат условите. <ph name="LINK_BEGIN" />Дознајте повеќе<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Најавени сте на Chrome на уредиве, па така можете да ги користите како безбедносни клучеви.</translation>
 <translation id="1398853756734560583">Максимизирај</translation>
 <translation id="139911022479327130">Отклучете го телефонот и потврдете дека сте вие</translation>
 <translation id="1401308693935339022">Користење на локацијата. Дозволете апликациите и услугите со дозвола за локација да ја користат локацијата на уредов. Google може повремено да прибира податоци за локацијата и анонимно да ги користи податоциве за да ги подобри прецизноста на локацијата и услугите според локација.</translation>
@@ -1181,6 +1183,7 @@
 <translation id="2163470535490402084">Поврзете се на интернет за да се најавите на <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">Вклучи темен режим</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> и уште 1 копче</translation>
+<translation id="2165102982098084499">Ги поврзавте уредиве со скенирање QR-код.</translation>
 <translation id="2165177462441582039">Изберете колку долго да стои нагласувањето на секоја ставка</translation>
 <translation id="2166369534954157698">Ѓакон Гоце и Љутфи Хоџа ноќе ѕвезди бројат. Постоиш ли боже? Молчење.</translation>
 <translation id="2169062631698640254">Сепак, најави се</translation>
@@ -2582,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;Дознај повеќе</translation>
 <translation id="3593152357631900254">Овозможи режим за нејасен Пин Јин</translation>
 <translation id="3593965109698325041">Ограничувања на име на сертификат</translation>
+<translation id="3596012367874587041">Поставки за апликацијата</translation>
 <translation id="3596414637720633074">Блокирај колачиња од трети страни во „Инкогнито“</translation>
 <translation id="3599221874935822507">Со подигнат раб</translation>
 <translation id="3599863153486145794">Ја чисти историјата од сите најавени уреди. Вашата сметка на Google можеби има други видови историја на прелистување на <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5703,6 +5707,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> сек.</translation>
 <translation id="6860097299815761905">Поставки на прокси…</translation>
 <translation id="6860427144121307915">Отвори во картичка</translation>
+<translation id="6863496016067551393">Сите екстензии се дозволени</translation>
 <translation id="686366188661646310">Да се избрише лозинката?</translation>
 <translation id="6865313869410766144">Автоматско пополнување податоци во формулар</translation>
 <translation id="6865598234501509159">Страницата не е на <ph name="LANGUAGE" /></translation>
@@ -5732,6 +5737,7 @@
 <translation id="6900532703269623216">Подобрена заштита</translation>
 <translation id="6900651018461749106">Најавете се повторно за да ја ажурирате <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Дали сигурно сакате да го избришете овој пребарувач?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Глас за преглед</translation>
 <translation id="6902336033320348843">Делот не е поддржан: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Приклучете го уредот на домен</translation>
@@ -7386,6 +7392,7 @@
 <translation id="8610103157987623234">Погрешен формат. Обидете се повторно</translation>
 <translation id="8611682088849615761">Продолжи да дозволуваш сајтов да има целосна контрола врз MIDI-уредите</translation>
 <translation id="8613164732773110792">Само мали букви, цифри, долни црти и црти</translation>
+<translation id="8613645710357126807">Не е дозволено да се користат екстензии</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> е преголема за безбедносна проверка. Може да отворате датотеки до 50 MB.</translation>
 <translation id="8615618338313291042">Инкогнито апликација: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Додај го/ја <ph name="CONTACT_NAME" /> во контактите</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 49efd61..c7f9469 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" />-ൽ തുടരുന്നതിന് നിങ്ങളുടെ സ്‌മാർട്ട് കാർഡ് ഇൻസേർട്ട് ചെയ്ത നിലയിൽ തുടരേണ്ടതുണ്ട്.}other{# സെക്കൻഡിൽ നിങ്ങൾ സ്വയമേവ സൈൻ ഔട്ട് ആകും.
 <ph name="DOMAIN" />-ൽ തുടരുന്നതിന് നിങ്ങളുടെ സ്‌മാർട്ട് കാർഡ് ഇൻസേർട്ട് ചെയ്ത നിലയിൽ തുടരേണ്ടതുണ്ട്.}}</translation>
 <translation id="1193927020065025187">തടസ്സമുണ്ടാക്കുന്ന അറിയിപ്പുകൾ അനുവദിക്കാൻ ഈ സൈറ്റ് നിങ്ങളെ കബളിപ്പിക്കാൻ ശ്രമിക്കുന്നുണ്ടാകാം</translation>
+<translation id="1195210374336998651">ആപ്പ് ക്രമീകരണത്തിലേക്ക് പോകുക</translation>
 <translation id="1195447618553298278">അജ്ഞാത പിശക്.</translation>
 <translation id="1195558154361252544">നിങ്ങൾ അനുവദിക്കുന്ന സൈറ്റുകൾക്ക് ഒഴികെ മറ്റ് എല്ലാ സൈറ്റുകൾക്കും അറിയിപ്പുകൾ സ്വയമേവ ബ്ലോക്ക് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="1197088940767939838">ഓറഞ്ച്</translation>
@@ -340,6 +341,7 @@
 <translation id="1340527397989195812">Files ആപ്പ് ഉപയോഗിച്ച് ഉപകരണത്തിൽ നിന്നും മീഡിയ ബാക്കപ്പ് ചെയ്യുക.</translation>
 <translation id="1341988552785875222">നിലവിലുള്ള വാൾപേപ്പർ സജ്ജീകരിച്ചത് '<ph name="APP_NAME" />' ആണ്. മറ്റൊരു വാൾപേപ്പർ തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ് നിങ്ങൾ '<ph name="APP_NAME" />' അൺഇൻസ്‌റ്റാൾ ചെയ്യേണ്ടിവന്നേക്കാം.</translation>
 <translation id="1343865611738742294">USB ഉപകരണങ്ങൾ ആക്‌സസ് ചെയ്യാൻ Linux ആപ്പുകൾക്ക് അനുമതി നൽകുക. USB ഉപകരണം നീക്കം ചെയ്‌തുകഴിഞ്ഞാൽ Linux അത് ഓർക്കില്ല.</translation>
+<translation id="1343920184519992513">നിങ്ങൾ നിർത്തിയ ഇടത്ത് നിന്ന് തുടരുക, പേജുകളുടെ നിർദ്ദിഷ്ട സെറ്റ് തുറക്കുക</translation>
 <translation id="1346630054604077329">സ്ഥിരീകരിച്ച് റീസ്‌റ്റാർട്ട് ചെയ്യുക</translation>
 <translation id="1347256498747320987">അപ്‌ഡേറ്റുകളും ആപ്പുകളും ഇൻസ്റ്റാൾ ചെയ്യുക. തുടരുന്നതിലൂടെ, ഈ ഉപകരണം Google-ൽ നിന്നും നിങ്ങളുടെ സേവനദാതാവിൽ നിന്നും ഉപകരണ നിർമ്മാതാവിൽ നിന്നും, ഒരുപക്ഷേ സെല്ലുലാർ ഡാറ്റ ഉപയോഗിച്ച്, അപ്‌ഡേറ്റുകളും ആപ്പുകളും സ്വമേധയാ ഡൗൺലോഡ് ചെയ്‌ത് ഇൻസ്‌റ്റാൾ ചെയ്യുന്നത് നിങ്ങൾ അംഗീകരിക്കുന്നു. ഈ ആപ്പുകളിൽ ചിലത് 'ആപ്പ് വഴി വാങ്ങൽ' സൗകര്യം നൽകിയേക്കാം. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
 <translation id="1347512539447549782">Linux സ്‌റ്റോറേജ്</translation>
@@ -1943,6 +1945,7 @@
 <translation id="2915873080513663243">സ്വയമേവയുള്ള സ്‌കാൻ</translation>
 <translation id="2916073183900451334">വെബ്‌പേജിലെ ടാബില്‍‌ അമര്‍‌ത്തുന്നത് ലിങ്കുകളെയും ഫോം ഫീല്‍‌ഡുകളെയും ഹൈലൈറ്റ് ചെയ്ത് കാണിക്കുന്നു</translation>
 <translation id="2916745397441987255">വിപുലീകരണങ്ങൾ തിരയുക</translation>
+<translation id="2918484639460781603">ക്രമീകരണത്തിലേക്ക് പോകുക</translation>
 <translation id="2918484644467055090">മറ്റൊരു സ്ഥാപനം ഉപകരണത്തെ നിയന്ത്രിക്കുന്നതിനായി അടയാളപ്പെടുത്തിയിരിക്കുന്നതിനാൽ, ഈ ഉപകരണത്തിന് നിങ്ങളുടെ അക്കൗണ്ട് ഉൾപ്പെട്ടിരിക്കുന്ന സ്ഥാപനത്തിലേക്ക് എൻറോൾ ചെയ്യാനാകില്ല.</translation>
 <translation id="2920852127376356161">പ്രോട്ടോകോളുകൾ കൈകാര്യം ചെയ്യാൻ അനുവാദമില്ല</translation>
 <translation id="2921081876747860777">നിങ്ങളുടെ ലോക്കൽ ഡാറ്റ സംരക്ഷിക്കുന്നതിന് പാസ്‌വേഡ് സൃഷ്‌ടിക്കുക.</translation>
@@ -2567,6 +2570,7 @@
 <translation id="3592260987370335752">&amp;കൂടുതലറിയുക</translation>
 <translation id="3593152357631900254">ഫസ്സി-പിന്‍‌യിന്‍‌ മോഡ് പ്രാപ്‌തമാക്കുക</translation>
 <translation id="3593965109698325041">സര്‍‌ട്ടിഫിക്കറ്റ് നാമ നിയന്ത്രണങ്ങള്‍‌</translation>
+<translation id="3596012367874587041">ആപ്പ് ക്രമീകരണം</translation>
 <translation id="3596414637720633074">അദൃശ്യ മോഡിൽ മൂന്നാം കക്ഷി കുക്കികളെ ബ്ലോക്ക് ചെയ്യുക</translation>
 <translation id="3599221874935822507">ഉയർന്ന് നിൽക്കുന്നത്</translation>
 <translation id="3599863153486145794">സൈൻ ഇൻ ചെയ്‌ത എല്ലാ ഉപകരണങ്ങളിൽ നിന്നും ചരിത്രം മായ്ക്കുന്നു. നിങ്ങളുടെ Google അക്കൗണ്ടിന് <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> എന്നതിൽ മറ്റ് തരത്തിലുള്ള ബ്രൗസിംഗ് ചരിത്രങ്ങളുണ്ടായിരിക്കാം.</translation>
@@ -5386,6 +5390,7 @@
 <translation id="654871471440386944">കാരറ്റ് ബ്രൗസ് ചെയ്യൽ ഓണാക്കണോ?</translation>
 <translation id="6549038875972762904">സജ്ജീകരണം വീണ്ടും ചെയ്യുക</translation>
 <translation id="6550675742724504774">ഓപ്ഷനുകൾ</translation>
+<translation id="65513682072153627">നിങ്ങളുടെ അഡ്‌മിൻ, ക്രമീകരണമോ ഫീച്ചറോ മാനേജ് ചെയ്യുമ്പോൾ നിങ്ങൾക്ക് ഈ 'മാനേജ് ചെയ്യുന്നു' ഐക്കൺ കാണാം.</translation>
 <translation id="6551508934388063976">കമാൻഡ് ലഭ്യമല്ല. പുതിയ വിൻഡോ തുറക്കാൻ control-N അമർത്തുക.</translation>
 <translation id="6551612971599078809">സൈറ്റ് USB ഉപയോഗിക്കുന്നുണ്ട്</translation>
 <translation id="6551739526055143276">Family Link മാനേജ് ചെയ്യുന്നത്</translation>
diff --git a/chrome/app/resources/generated_resources_mn.xtb b/chrome/app/resources/generated_resources_mn.xtb
index 6e1dfb7..f630630 100644
--- a/chrome/app/resources/generated_resources_mn.xtb
+++ b/chrome/app/resources/generated_resources_mn.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> таныг ухаалаг картаа оруулсан хэвээр байхыг шаардана.}other{Та # секундийн дараа автоматаар гарна.
 <ph name="DOMAIN" /> таныг ухаалаг картаа оруулсан хэвээр байхыг шаардана.}}</translation>
 <translation id="1193927020065025187">Энэ сайт таныг төвөгтэй мэдэгдлүүдэд зөвшөөрөл өгүүлэхээр хуурч байж болзошгүй</translation>
+<translation id="1195210374336998651">Аппын тохиргоо руу очно уу</translation>
 <translation id="1195447618553298278">Үл танигдах алдаа гаргасан байна</translation>
 <translation id="1195558154361252544">Таны зөвшөөрөх сайтаас бусад бүх сайтын мэдэгдлийг автоматаар хориглоно</translation>
 <translation id="1197088940767939838">Улбар шар</translation>
@@ -2579,6 +2580,7 @@
 <translation id="3592260987370335752">Дэлгэрэнгүй мэдээлэл</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin горимыг идэвхжүүл</translation>
 <translation id="3593965109698325041">Сертификатын нэрийн хязгаарлалт</translation>
+<translation id="3596012367874587041">Aппын тохиргоо</translation>
 <translation id="3596414637720633074">Нууцлалтай горимд гуравдагч талын күүкиг блоклох</translation>
 <translation id="3599221874935822507">Томруулсан</translation>
 <translation id="3599863153486145794">Бүх нэвтэрсэн төхөөрөмжийн түүхийг устгана. Таны Google бүртгэл <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />-д хайлтын түүхийн өөр хэлбэртэй байж болзошгүй.</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index 5e2a9f75..8f31e37 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> ला तुम्ही तुमचे स्मार्ट कार्ड घालून ठेवणे आवश्यक आहे.}other{तुम्हाला # सेकंदांनी आपोआप साइन आउट केले जाईल.
 <ph name="DOMAIN" /> ला तुम्ही तुमचे स्मार्ट कार्ड घालून ठेवणे आवश्यक आहे.}}</translation>
 <translation id="1193927020065025187">ही साइट कदाचित तुम्हाला फसवून अनाहूत सूचनांना अनुमती द्यायला लावण्याचा प्रयत्न करत आहे</translation>
+<translation id="1195210374336998651">अ‍ॅप सेटिंग्जवर जा</translation>
 <translation id="1195447618553298278">अज्ञात एरर.</translation>
 <translation id="1195558154361252544">तुम्ही अनुमती दिलेली साइट वगळता सर्व साइटसाठी सूचना आपोआप ब्लॉक केल्या आहेत</translation>
 <translation id="1197088940767939838">नारिंगी</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">हा परिणाम अनपेक्षित होता का? <ph name="BEGIN_LINK" />फीडबॅक पाठवा<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">तुम्ही एंटर केलेले वापरकर्ता नाव आणि पासवर्ड जुळत नाही</translation>
 <translation id="1397500194120344683">कोणतीही पात्र डिव्हाइस नाहीत. <ph name="LINK_BEGIN" />अधिक जाणून घ्या.<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">तुम्ही या डिव्हाइसवर Chrome मध्ये साइन इन केलेले असल्यामुळे ती सिक्युरिटी की म्हणून वापरू शकता.</translation>
 <translation id="1398853756734560583">वाढवा</translation>
 <translation id="139911022479327130">तुमचा फोन अनलॉक करा आणि हे तुम्हीच आहात याची खात्री करा</translation>
 <translation id="1401308693935339022">स्थान वापरा. स्थान परवानगी असलेल्या अ‍ॅप्स आणि सेवांना या डिव्हाइसचे स्थान वापरू द्या. Google वेळोवेळी स्थान डेटा गोळा करू शकते आणि स्थान अचूकता व स्थानावर आधारित सेवांमध्ये सुधारणा करण्यासाठी हा डेटा निनावी पद्धतीने वापरू शकते.</translation>
@@ -1179,6 +1181,7 @@
 <translation id="2163470535490402084">कृपया आपल्‍या <ph name="DEVICE_TYPE" /> मध्‍ये साइन इन करण्‍यासाठी इंटरनेटशी कनेक्ट करा.</translation>
 <translation id="2163937499206714165">गडद मोड सुरू करा</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> आणि आणखी एक स्विच</translation>
+<translation id="2165102982098084499">तुम्ही QR कोड स्कॅन करून ही डिव्हाइस लिंक केली आहेत.</translation>
 <translation id="2165177462441582039">प्रत्येक आयटमवर किती वेळ हायलाइट रहावे ते निवडा</translation>
 <translation id="2166369534954157698">चपळ तपकिरी कोल्ह्याने आळशी कुत्र्यावर उडी मारली</translation>
 <translation id="2169062631698640254">तरीही साइन इन करा</translation>
@@ -1908,6 +1911,7 @@
 <translation id="287205682142673348">पोर्ट फॉरवर्डिंग</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> जोडा...</translation>
 <translation id="2872961005593481000">बंद करा</translation>
+<translation id="2873995907777332853">सर्व कुकी ब्लॉक करण्यासंबंधित तपशील दाखवा</translation>
 <translation id="2874939134665556319">मागील ट्रॅक</translation>
 <translation id="2875698561019555027">(Chrome एरर पेज)</translation>
 <translation id="2876336351874743617">दुसरे बोट</translation>
@@ -1955,6 +1959,7 @@
 <translation id="2915873080513663243">ऑटो-स्कॅन</translation>
 <translation id="2916073183900451334">वेबपेजवर टॅब दाबल्याने लिंक हायलाइट होतात, तसेच भाग तयार होतात</translation>
 <translation id="2916745397441987255">शोध विस्तार</translation>
+<translation id="2918484639460781603">सेटिंग्ज वर जा</translation>
 <translation id="2918484644467055090">तुमचे खाते ज्या संस्थेच्या मालकीचे आहे त्या संस्थेमध्ये या डिव्हाइसची नोंदणी केली जाऊ शकत नाही कारण डिव्हाइसवर वेगळ्या संस्थेने व्यवस्थापनासाठी खूण केली आहे.</translation>
 <translation id="2920852127376356161">प्रोटोकॉल हाताळण्याची अनुमती नाही</translation>
 <translation id="2921081876747860777">कृपया तुमचा स्थानिक डेटा संरक्षित करण्‍यासाठी एक पासवर्ड तयार करा.</translation>
@@ -2211,6 +2216,7 @@
 <translation id="3189187154924005138">मोठा कर्सर</translation>
 <translation id="3190558889382726167">पासवर्ड सेव्ह केला</translation>
 <translation id="3192947282887913208">ऑडिओ फाइल</translation>
+<translation id="3194786596445804250">तृतीय पक्ष कुकी ब्लॉक करण्यासंबंधित तपशील दाखवा</translation>
 <translation id="3197453258332670132">राइट क्लिक केल्यामुळे किंवा दाबून ठेवल्यामुळे, तुमच्या मजकूर निवडीशी संबंधित माहिती दाखवते</translation>
 <translation id="3199127022143353223">सर्व्हर</translation>
 <translation id="3200061262156232574">तुमच्या शॉपिंग कार्टमध्ये</translation>
@@ -2578,6 +2584,7 @@
 <translation id="3592260987370335752">&amp;अधिक जाणून घ्या</translation>
 <translation id="3593152357631900254"> Fuzzy-Pinyin मोड सक्षम करा</translation>
 <translation id="3593965109698325041">सर्टिफिकेट नाव प्रतिबंध</translation>
+<translation id="3596012367874587041">अ‍ॅप सेटिंग्ज</translation>
 <translation id="3596414637720633074">तृतीय पक्ष कुकी गुप्त मोडमध्ये ब्लॉक करा</translation>
 <translation id="3599221874935822507">रेझ्ड</translation>
 <translation id="3599863153486145794">साइन-इन केलेल्या सर्व डिव्हाइसमधून इतिहास साफ करते. तुमच्या Google खात्यामध्ये <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> वर कदाचित ब्राउझिंगचे इतर फॉर्म असतील.</translation>
@@ -5305,6 +5312,7 @@
 <translation id="6455264371803474013">विशिष्ट साइटवर</translation>
 <translation id="6455894534188563617">नवीन फोल्‍डर</translation>
 <translation id="645705751491738698">JavaScript अवरोधित करणे सुरू ठेवा</translation>
+<translation id="6458347417133445570">सर्व कुकींना अनुमती देण्यासंबंधित तपशील दाखवा</translation>
 <translation id="6458701200018867744">अपलोड करता आले नाही (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">शोधण्यासाठी निवड वापरा</translation>
 <translation id="6459799433792303855">ॲक्टिव्ह विंडो दुसऱ्या डिस्प्लेवर हलवली आहे.</translation>
@@ -5697,6 +5705,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> सेकंद</translation>
 <translation id="6860097299815761905">प्रॉक्सी सेटिंग्ज...</translation>
 <translation id="6860427144121307915">एका टॅबमध्ये उघडा</translation>
+<translation id="6863496016067551393">सर्व एक्स्टेंशनना अनुमती आहे</translation>
 <translation id="686366188661646310">पासवर्ड हटवायचा का?</translation>
 <translation id="6865313869410766144">ऑटोफिल फॉर्म डेटा</translation>
 <translation id="6865598234501509159">पेज <ph name="LANGUAGE" /> मध्ये नाही</translation>
@@ -5726,6 +5735,7 @@
 <translation id="6900532703269623216">वर्धित संरक्षण</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> अपडेट करण्यासाठी पुन्हा साइन इन करा</translation>
 <translation id="6900654715912436255">तुम्हाला हे शोध इंजीन नक्की हटवायचे आहे का?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">पूर्वावलोकनासाठी व्हॉइस</translation>
 <translation id="6902336033320348843">विभाग सपोर्ट करत नाही: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">डोमेनशी डिव्हाइस जोडा</translation>
@@ -6734,6 +6744,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> से</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> ला <ph name="FILENAME" /> पाहता येते</translation>
 <translation id="7920482456679570420">तुम्हाला स्पेल चेकने वगळायला हवे असलेले शब्द जोडा</translation>
+<translation id="7922935920104868876">गुप्त मोडमध्ये तृतीय पक्ष कुकी ब्लॉक करण्यासंबंधित तपशील दाखवा</translation>
 <translation id="7924358170328001543">पोर्ट फॉरवर्ड करताना एरर आली</translation>
 <translation id="7925108652071887026">स्वयं-भरण डेटा</translation>
 <translation id="792514962475806987">डॉक केलेली झूम पातळी:</translation>
@@ -6898,6 +6909,7 @@
 <translation id="8076492880354921740">टॅब</translation>
 <translation id="8076835018653442223">तुमच्या ॲडमिनिस्ट्रेटरने तुमच्या डिव्‍हाइसवरील स्‍थानिक फायलीचा ॲक्सेस बंद केला आहे</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Android अ‍ॅप्ससह वापरण्यासाठी खाती उपलब्ध आहेत</translation>
 <translation id="8081989000209387414">ADB डीबगिंग बंद करायचे?</translation>
 <translation id="8082106343289440791">"<ph name="DEVICE_NAME" />" सोबत पेअर करायचे?</translation>
 <translation id="8082390128630131497">ADB डिबगिंग बंद केल्यामुळे हे <ph name="DEVICE_TYPE" /> फॅक्टरी सेटिंग्जवर रीसेट होईल. सर्व वापरकर्ता खाती आणि स्थानिक डेटा मिटवला जाईल.</translation>
@@ -7158,6 +7170,7 @@
 <translation id="8342861492835240085">संकलन निवडा</translation>
 <translation id="8347227221149377169">प्रिंट कार्ये</translation>
 <translation id="834785183489258869">गुप्त मोडमध्ये असताना, वेगवेगळ्या साइटवरील तुमची ब्राउझिंग अ‍ॅक्टिव्हिटी पाहण्यासाठी साइट तुमच्या कुकी वापरू शकत नाहीत. उदाहरणार्थ, जाहिराती पर्सनलाइझ करण्याकरिता. काही साइटवर वैशिष्ट्ये कदाचित काम करणार नाहीत.</translation>
+<translation id="8349499562373871073">तुम्ही Android अ‍ॅप्ससह वापरण्यासाठी सध्याचे खाते निवडू शकता किंवा नवीन Google खाते जोडा. तुम्ही Android अ‍ॅपमध्ये साइन केल्यानंतर, तुमचे खाते दुसऱ्या Android अ‍ॅप्ससह वापरले जाऊ शकते. तुम्ही <ph name="LINK_BEGIN" />सेटिंग्ज &gt; खाती<ph name="LINK_END" /> मध्ये Android अ‍ॅप्सचा अ‍ॅक्सेस बदलू शकता.</translation>
 <translation id="8350789879725387295">डॉकमध्ये स्टायलस टूल</translation>
 <translation id="8351316842353540018">a11y पर्याय नेहमी दाखवा</translation>
 <translation id="8351419472474436977">या एक्स्टेंशनने तुमच्या प्रॉक्सी सेटिंग्जचे नियंत्रण घेतले आहे, याचा अर्थ ही बदलू शकते, खंडित होवू शकते किंवा तुम्ही ऑनलाइन करता ती कोणतीहीगोष्ट चोरून एकू शकतो. हा बदल का झाला, याबद्दल तुम्ही निश्चित नसल्यास, तुम्हाला कदाचित तो नको आहे.</translation>
@@ -7373,6 +7386,7 @@
 <translation id="8610103157987623234">चुकीचा फॉरमॅट, कृपया पुन्हा प्रयत्न करा</translation>
 <translation id="8611682088849615761">या साइटला MIDI डिव्हाइसचे पूर्ण नियंत्रण असण्याची अनुमती देणे पुढे सुरू ठेवा</translation>
 <translation id="8613164732773110792">फक्त लोअरकेस वर्ण, अंक, अंडरस्कोअर किंवा डॅश</translation>
+<translation id="8613645710357126807">एक्स्टेंशन वापरण्याची अनुमती नाही</translation>
 <translation id="8613786722548417558">सुरक्षा तपासणीसाठी <ph name="FILE_NAME" /> बरेच मोठे आहे. तुम्ही कमाल ५०MB च्या फाइल उघडू शकता.</translation>
 <translation id="8615618338313291042">गुप्त ॲप्लिकेशन: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> यांना तुमच्या संपर्कांमध्ये जोडा</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index ee81638..dd6e01c 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> menghendaki anda memastikan kad pintar anda tidak dikeluarkan.}other{Anda akan dilog keluar secara automatik dalam masa # saat.
 <ph name="DOMAIN" /> menghendaki anda memastikan kad pintar anda tidak dikeluarkan.}}</translation>
 <translation id="1193927020065025187">Tapak ini mungkin cuba memperdaya anda agar membenarkan pemberitahuan yang mengganggu</translation>
+<translation id="1195210374336998651">Pergi ke tetapan apl</translation>
 <translation id="1195447618553298278">Ralat tidak diketahui.</translation>
 <translation id="1195558154361252544">Pemberitahuan disekat secara automatik untuk semua tapak kecuali tapak yang anda benarkan</translation>
 <translation id="1197088940767939838">Oren</translation>
@@ -1909,6 +1910,7 @@
 <translation id="287205682142673348">Kiriman semula port</translation>
 <translation id="287286579981869940">Tambahkan <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Mematikan</translation>
+<translation id="2873995907777332853">Tunjukkan butiran tentang menyekat semua kuki</translation>
 <translation id="2874939134665556319">Lagu sebelumnya</translation>
 <translation id="2875698561019555027">(Halaman ralat Chrome)</translation>
 <translation id="2876336351874743617">Jari 2</translation>
@@ -1956,6 +1958,7 @@
 <translation id="2915873080513663243">Autoimbas</translation>
 <translation id="2916073183900451334">Menekan Tab pada pautan serlahan halaman web, dan juga medan borang</translation>
 <translation id="2916745397441987255">Cari sambungan</translation>
+<translation id="2918484639460781603">Pergi ke tetapan</translation>
 <translation id="2918484644467055090">Peranti ini tidak boleh didaftarkan pada organisasi yang memiliki akaun anda kerana peranti ini telah ditandai untuk pengurusan oleh organisasi lain.</translation>
 <translation id="2920852127376356161">Tidak dibenarkan untuk mengendalikan protokol</translation>
 <translation id="2921081876747860777">Sila buat kata laluan untuk melindungi data setempat anda.</translation>
@@ -2212,6 +2215,7 @@
 <translation id="3189187154924005138">Kursor besar</translation>
 <translation id="3190558889382726167">Kata laluan yang disimpan</translation>
 <translation id="3192947282887913208">Fail Audio</translation>
+<translation id="3194786596445804250">Tunjukkan butiran tentang menyekat kuki pihak ketiga</translation>
 <translation id="3197453258332670132">Dengan klik kanan atau tekan lama, paparkan maklumat yang berkaitan untuk pilihan teks anda</translation>
 <translation id="3199127022143353223">Pelayan</translation>
 <translation id="3200061262156232574">Dalam troli beli-belah anda</translation>
@@ -2579,6 +2583,7 @@
 <translation id="3592260987370335752">&amp;Ketahui lebih lanjut</translation>
 <translation id="3593152357631900254">Dayakan mod Pinyin Kabur</translation>
 <translation id="3593965109698325041">Kekangan Nama Sijil</translation>
+<translation id="3596012367874587041">Tetapan apl</translation>
 <translation id="3596414637720633074">Sekat kuki pihak ketiga dalam Inkognito</translation>
 <translation id="3599221874935822507">Ditinggikan</translation>
 <translation id="3599863153486145794">Mengosongkan sejarah daripada semua peranti yang dilog masuk. Akaun Google anda mungkin mempunyai sejarah penyemakan imbas dalam bentuk lain di <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5307,6 +5312,7 @@
 <translation id="6455264371803474013">Di laman web tertentu</translation>
 <translation id="6455894534188563617">&amp;Folder Baharu</translation>
 <translation id="645705751491738698">Terus menyekat JavaScript</translation>
+<translation id="6458347417133445570">Tunjukkan butiran tentang membenarkan semua kuki</translation>
 <translation id="6458701200018867744">Muat naik gagal (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Use Selection for Find</translation>
 <translation id="6459799433792303855">Tetingkap aktif dialihkan ke paparan lain.</translation>
@@ -6738,6 +6744,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" />s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> boleh melihat <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Tambah perkataan yang perlu dilangkau oleh semak ejaan</translation>
+<translation id="7922935920104868876">Tunjukkan butiran tentang menyekat kuki pihak ketiga dalam Inkognito</translation>
 <translation id="7924358170328001543">Ralat semasa mengirim semula port</translation>
 <translation id="7925108652071887026">Autolengkap data</translation>
 <translation id="792514962475806987">Tahap zum dok:</translation>
@@ -6902,6 +6909,7 @@
 <translation id="8076492880354921740">Tab</translation>
 <translation id="8076835018653442223">Akses kepada fail setempat pada peranti anda dilumpuhkan oleh pentadbir anda</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Akaun tersedia untuk digunakan dengan apl Android</translation>
 <translation id="8081989000209387414">Lumpuhkan penyahpepijatan ADB?</translation>
 <translation id="8082106343289440791">Jadikan berpasangan dengan "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Tindakan melumpuhkan penyahpepijatan ADB akan menetapkan semula <ph name="DEVICE_TYPE" /> ini kepada tetapan kilang. Semua akaun pengguna dan data setempat akan dipadam.</translation>
@@ -7162,6 +7170,7 @@
 <translation id="8342861492835240085">Pilih koleksi</translation>
 <translation id="8347227221149377169">Tugas cetak</translation>
 <translation id="834785183489258869">Semasa dalam mod Inkognito, laman tidak boleh menggunakan kuki anda untuk melihat aktiviti penyemakan imbas anda merentas beberapa laman yang berlainan, contohnya, untuk memeribadikan iklan. Ciri pada sesetengah laman mungkin tidak berfungsi.</translation>
+<translation id="8349499562373871073">Anda boleh memilih akaun yang sedia ada untuk digunakan dengan apl Android atau menambah Google Account yang baharu. Sebaik sahaja anda log masuk ke apl Android, akaun anda boleh digunakan dengan apl Android lain. Anda boleh menukar akses apl Android dalam <ph name="LINK_BEGIN" />Tetapan &gt; Akaun<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Alatan stilus dalam dok</translation>
 <translation id="8351316842353540018">Sentiasa paparkan pilihan a11y</translation>
 <translation id="8351419472474436977">Pelanjutan telah mengambil alih kawalan tetapan proksi anda, yang bermakna pelanjutan ini boleh mengubah, menghentikan atau mendengar secara senyap terhadap apa sahaja yang anda lakukan dalam talian. Jika anda tidak pasti mengapa 
diff --git a/chrome/app/resources/generated_resources_my.xtb b/chrome/app/resources/generated_resources_my.xtb
index 26f9555..46a0c31 100644
--- a/chrome/app/resources/generated_resources_my.xtb
+++ b/chrome/app/resources/generated_resources_my.xtb
@@ -206,6 +206,7 @@
 သင့်စမတ်ကတ်ကို ထည့်သွင်းထားရန် <ph name="DOMAIN" /> က သတ်မှတ်ထားသည်။}other{# စက္ကန့်အကြာတွင် သင်အလိုအလျောက် ထွက်သွားပါမည်။
 သင့်စမတ်ကတ်ကို ထည့်သွင်းထားရန် <ph name="DOMAIN" /> က သတ်မှတ်ထားသည်။}}</translation>
 <translation id="1193927020065025187">အနှောင့်အယှက်ပေးသော အကြောင်းကြားချက်များ ခွင့်ပြုရန် ဤဝဘ်ဆိုက်က သင့်ကို လှည့်စားနေခြင်း ဖြစ်နိုင်သည်</translation>
+<translation id="1195210374336998651">အက်ပ်ဆက်တင်များသို့ သွားရန်</translation>
 <translation id="1195447618553298278">မှားရသည့်အကြောင်း မသိပါ။</translation>
 <translation id="1195558154361252544">သင်ခွင့်ပြုထားသည့် ဝဘ်ဆိုက်များအတွက်မှလွဲ၍ အကြောင်းကြားချက်များကို အလိုအလျောက် ပိတ်ထားသည်</translation>
 <translation id="1197088940767939838">လိမ္မော်ရောင်</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">ဤရလဒ်ကို မျှော်မှန်းထားပါသလား။ <ph name="BEGIN_LINK" />အကြံပြုချက် ပို့ရန်<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">သင်ထည့်သွင်းသည့် အသုံးပြုသူအမည်နှင့် စကားဝှက်တို့ ကိုက်ညီမှုမရှိပါ</translation>
 <translation id="1397500194120344683">သတ်မှတ်ချက် ပြည့်မီသည့် စက်မရှိပါ။ <ph name="LINK_BEGIN" />ပိုမိုလေ့လာရန်<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">ဤစက်များတွင် Chrome သို့ လက်မှတ်ထိုးဝင်ထားသောကြောင့် ၎င်းတို့ကို လုံခြုံရေးကီးများအဖြစ် အသုံးပြုနိုင်သည်။</translation>
 <translation id="1398853756734560583">ချဲ့</translation>
 <translation id="139911022479327130">သင့်ဖုန်းကို ဖွင့်ပြီး သင်ဖြစ်ကြောင်း အတည်ပြုပါ</translation>
 <translation id="1401308693935339022">တည်နေရာကို သုံးရန်။ တည်နေရာ ခွင့်ပြုချက်ပါဝင်သည့် အက်ပ်နှင့် ဝန်ဆောင်မှုများအား ဤစက်၏ တည်နေရာကို အသုံးပြုခွင့်ပေးပါ။ Google သည် တည်နေရာအချက်အလက်များကို အခါအားလျော်စွာ စုဆောင်းထားနိုင်ပြီး တည်နေရာ ပိုမိုတိကျမှု ရှိစေရန်နှင့် တည်နေရာအခြေပြု ဝန်ဆောင်မှုများ ပိုမိုကောင်းမွန်လာစေရန် ၎င်းအချက်အလက်များကို အသုံးပြုသွားပါမည်။</translation>
@@ -1178,6 +1180,7 @@
 <translation id="2163470535490402084">သင့် <ph name="DEVICE_TYPE" /> သို့ လက်မှတ်ထိုးဝင်ရောက်ရန် ကျေးဇူးပြု၍ အင်တာနက်သို့ ချိတ်ဆက်ပါ။</translation>
 <translation id="2163937499206714165">အမှောင်မုဒ် ဖွင့်ရန်</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />၊ <ph name="SECOND_SWITCH" />၊ <ph name="THIRD_SWITCH" /> နှင့် နောက်ထပ် အသွင်တူခလုတ် 1 ခု</translation>
+<translation id="2165102982098084499">QR ကုဒ်စကင်ဖတ်ခြင်းဖြင့် ဤစက်များကို ချိတ်ဆက်ထားသည်။</translation>
 <translation id="2165177462441582039">အကြောင်းအရာတစ်ခုစီအား မြင်သာအောင်ပြမည့်အချိန်ကို ရွေးနိုင်သည်</translation>
 <translation id="2166369534954157698">ကံယုံ၍ ဆူးပုံမနင်းရာသော်လည်း ကမ္ဘာမီးလောင်ချိန် သားကောင်ချနင်းသူများ ကိုယ်ထင် ခုတင်ရွှေနန်းပြုသူ ပညာ သမာ အာဘာ နတ္တိဖြင့် မိုးခါး ရေသောက် မျက်ကန်း တစ္ဆေမကြောက်သို့တည်း</translation>
 <translation id="2169062631698640254">မည်သို့ပင်ဖြစ်စေ ဝင်ရောက်မည်</translation>
@@ -1907,6 +1910,7 @@
 <translation id="287205682142673348">ပို့တ် ထပ်ဆင့်ပို့ခြင်း</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> ထပ်ထည့်ရန်...</translation>
 <translation id="2872961005593481000">ပိတ်ရန်</translation>
+<translation id="2873995907777332853">ကွတ်ကီးအားလုံး ပိတ်ထားခြင်းအကြောင်း အသေးစိတ်ပြပါ</translation>
 <translation id="2874939134665556319">ယခင်တစ်ပုဒ်</translation>
 <translation id="2875698561019555027">(Chrome အမှား စာမျက်နှာများ)</translation>
 <translation id="2876336351874743617">လက်ချောင်း ၂</translation>
@@ -2210,6 +2214,7 @@
 <translation id="3189187154924005138">ကာဆာ အကြီး</translation>
 <translation id="3190558889382726167">စကားဝှက် သိမ်းဆည်းပြီး၏</translation>
 <translation id="3192947282887913208">အသံ ဖိုင်များ</translation>
+<translation id="3194786596445804250">ပြင်ပကုမ္ပဏီကွတ်ကီးများ ပိတ်ထားခြင်းအကြောင်း အသေးစိတ်ပြပါ</translation>
 <translation id="3197453258332670132">ညာဘက်ခလုတ်ကို နှိပ်လျှင် (သို့) ကြာရှည်စွာဖိထားလျှင် သင့်စာသားရွေးချယ်မှုအတွက် ဆက်စပ်သော အချက်အလက်ကို ပြနိုင်သည်</translation>
 <translation id="3199127022143353223">ဆာဗာများ</translation>
 <translation id="3200061262156232574">သင်၏ဈေးခြင်းတောင်းတွင်</translation>
@@ -2577,6 +2582,7 @@
 <translation id="3592260987370335752">ပိုမို လေ့လာရန်</translation>
 <translation id="3593152357631900254">ခန့်မှန်းရေး-Pinyin မုဒ် ဖွင့်ပေးရန်</translation>
 <translation id="3593965109698325041">လက်မှတ် အမည် ကန့်သတ်ချက်များ</translation>
+<translation id="3596012367874587041">အက်ပ်ဆက်တင်များ</translation>
 <translation id="3596414637720633074">'ရုပ်ဖျက်' မုဒ်တွင် ပြင်ပကုမ္ပဏီ၏ ကွတ်ကီးများကို ပိတ်ပါ</translation>
 <translation id="3599221874935822507">စာလုံးကြွ ပြုလုပ်ထားသည်</translation>
 <translation id="3599863153486145794">လက်မှတ်ထိုးဝင်ထားသော စက်ပစ္စည်းအားလုံးထဲမှ မှတ်တမ်းများကို ဖျက်လိုက်ပါလိမ့်မည်။ သင့်  Google အကောင့်က ဖွင့်ကြည့်ထားသောမှတ်တမ်းသည် <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> တွင် အခြားပုံစံများဖြင့် ရှိနေနိုင်ပါသည်။</translation>
@@ -5304,6 +5310,7 @@
 <translation id="6455264371803474013">ရွေးထားသည့် ဝဘ်ဆိုက်များတွင်</translation>
 <translation id="6455894534188563617">&amp;ဖိုင်တွဲအသစ်</translation>
 <translation id="645705751491738698">JavaScript အား ဆက်လက် ပိတ်ဆို့ထားရန်</translation>
+<translation id="6458347417133445570">ကွတ်ကီးအားလုံး ခွင့်ပြုခြင်းအကြောင်း အသေးစိတ်ပြပါ</translation>
 <translation id="6458701200018867744">အပ်လုဒ်လုပ်ခြင်း မအောင်မြင်ပါ (<ph name="WEBRTC_LOG_UPLOAD_TIME" />)။</translation>
 <translation id="6459488832681039634">ရှာဖွေမှု အတွက် ရွေးချယ်ခြင်းအသုံးပြုရန်</translation>
 <translation id="6459799433792303855">လက်ရှိဖွင့်ထားသည့်ဝင်းဒိုးကို အခြားမျက်နှာပြင်ပြသမှုသို့ ရွှေ့ထားသည်။</translation>
@@ -5694,6 +5701,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> sec</translation>
 <translation id="6860097299815761905">ပရောက်စီ ဆက်တင်များ...</translation>
 <translation id="6860427144121307915">တဘ် တစ်ခု ထဲမှာ ဖွင့်ရန်</translation>
+<translation id="6863496016067551393">နောက်ဆက်တွဲအားလုံးကို ခွင့်ပြုထားသည်</translation>
 <translation id="686366188661646310">စကားဝှက်ကို ဖျက်မလား။</translation>
 <translation id="6865313869410766144">ဒေတာမှ အလိုလျောက် ဖြည့်စွက်</translation>
 <translation id="6865598234501509159">စာမျက်နှာသည် <ph name="LANGUAGE" /> ဘာသာဖြင့် မဟုတ်ပါ</translation>
@@ -5723,6 +5731,7 @@
 <translation id="6900532703269623216">အရည်အသွေးမြှင့်တင်ထားသည့် ကာကွယ်မှု</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> ကို အပ်ဒိပ်လုပ်ရန် ထပ်မံ လက်မှတ်ထိုးဝင်ခြင်း</translation>
 <translation id="6900654715912436255">ဤရှာဖွေရေးအင်ဂျင်ကို ဖျက်ရန် သေချာပါသလား။</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">အစမ်းနားထောင်ရန်အသံ</translation>
 <translation id="6902336033320348843">အပိုင်းကို ပံ့ပိုးမထားပါ- <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">စက်ကို ဒိုမိန်းသို့ ချိတ်ဆက်ပါ</translation>
@@ -6733,6 +6742,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" />စက္ကန့်</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> သည် <ph name="FILENAME" /> ကို ကြည့်နိုင်သည်</translation>
 <translation id="7920482456679570420">စာလုံးပေါင်းစစ်ဆေးခြင်း ကျော်သွားစေလိုသည့် စာလုံးများ ထည့်နိုင်သည်</translation>
+<translation id="7922935920104868876">ရုပ်ဖျက်မုဒ်တွင် ပြင်ပကုမ္ပဏီကွတ်ကီးများ ပိတ်ထားခြင်းအကြောင်း အသေးစိတ်ပြပါ</translation>
 <translation id="7924358170328001543">ပို့တ်ထပ်ဆင့်ပို့ရာတွင် အမှားဖြစ်သွားသည်</translation>
 <translation id="7925108652071887026">အလိုအလျောက်ဖြည့် ဒေတာ</translation>
 <translation id="792514962475806987">နေရာချထားသည့် ဇူးမ်အဆင့်−</translation>
@@ -6896,6 +6906,7 @@
 <translation id="8076492880354921740">တဘ်များ</translation>
 <translation id="8076835018653442223">သင်၏စီမံအုပ်ချုပ်သူက သင့်စက်အတွင်းရှိဖိုင်များ သုံးခွင့်ကို ပိတ်ထားသည်</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Android အက်ပ်များနှင့်သုံးနိုင်သော အကောင့်များ</translation>
 <translation id="8081989000209387414">ADB အမှားရှာပြင်ခြင်းကို ပိတ်လိုပါသလား။</translation>
 <translation id="8082106343289440791">"<ph name="DEVICE_NAME" />" နှင့် တွဲချိတ်မလား။</translation>
 <translation id="8082390128630131497">ADB အမှားရှာပြင်ခြင်းကို ပိတ်ခြင်းအားဖြင့် ဤ <ph name="DEVICE_TYPE" /> ကို စက်ရုံထုတ်ဆက်တင်များအတိုင်း ပြင်ဆင်သတ်မှတ်သွားပါမည်။ အသုံးပြုသူ အကောင့်များနှင့် ဒေတာအားလုံး ဖယ်ရှားလိုက်ပါမည်။</translation>
@@ -7156,6 +7167,7 @@
 <translation id="8342861492835240085">သိမ်းဆည်းထားသည်များကို ရွေးရန်</translation>
 <translation id="8347227221149377169">ပရင့်ထုတ်ရန် ဖိုင်များ</translation>
 <translation id="834785183489258869">ရုပ်ဖျက်မုဒ်သုံးနေစဉ် ဥပမာ- ကြော်ငြာများကို ပုဂ္ဂိုလ်ရေးသီးသန့်ပြုလုပ်ရန်အတွက် မတူညီသည့် ဝဘ်ဆိုက်များတစ်လျှောက်ရှိ သင့်ကြည့်ရှုခြင်းများကို မြင်ရရန် ဝဘ်ဆိုက်များက သင်၏ကွတ်ကီးများကို မသုံးနိုင်ပါ။ ဝဘ်ဆိုက်အချို့ရှိ ဝန်ဆောင်မှုများ အလုပ်မလုပ်နိုင်လောက်ပါ။</translation>
+<translation id="8349499562373871073">Android အက်ပ်များနှင့်သုံးရန် လက်ရှိအကောင့်ကို ရွေးနိုင်သည် (သို့) Google Account အသစ် ထည့်နိုင်သည်။ Android အက်ပ်တွင် လက်မှတ်ထိုးဝင်သောအခါ သင်၏အကောင့်ကို အခြား Android အက်ပ်များနှင့် သုံးနိုင်သည်။ <ph name="LINK_BEGIN" />ဆက်တင်များ &gt; အကောင့်များ<ph name="LINK_END" /> တွင် Android အက်ပ်များသုံးခွင့်ကို ပြောင်းနိုင်သည်။</translation>
 <translation id="8350789879725387295">စတိုင်လပ်စ်တူးလ်များ နေရာချရန်</translation>
 <translation id="8351316842353540018">a11y ရွေးစရာများကို အမြဲပြရန်</translation>
 <translation id="8351419472474436977">ဒီတိုးချဲ့မှုက သင့် ပရောက်စီ ဆက်တင်များ၏ ထိန်းချုပ်မှုကို ရယူထားသည် ဖြစ်ရာ ၎င်းသည် အွန်လိုင်းမှာ သင် လုပ်သည့် မည်သည့် အရာကိုမဆို ပြောင်းလဲခြင်း၊ ရိုက်ချိုးခြင်း၊ သို့မဟုတ် ချောင်းခိုးနားထောင်ခြင်း လုပ်နိုင်မှာကို ဆိုလိုပါသည်။ အပြောင်းအလဲ တစ်ခု ဘာကြောင့် ဖြစ်တာကို သင် မသေချာလျှင်၊ သင်သည် ၎င်းကို မလိုအပ်တာ ဖြစ်နိုင်သည်။</translation>
@@ -7371,6 +7383,7 @@
 <translation id="8610103157987623234">ပုံစံ မမှန်ပါ၊ ထပ်စမ်းကြည့်ပါ</translation>
 <translation id="8611682088849615761">ဤဝဘ်ဆိုက်ကို MIDI စက်များ၏ ထိန်းချုပ်ခွင့်အပြည့်အဝ ဆက်လက်ခွင့်ပြုရန်</translation>
 <translation id="8613164732773110792">အက္ခရာအသေးများ၊ ဂဏန်းများ၊ အောက်မျဉ်းများ သို့မဟုတ် မျဉ်းတိုများသာ</translation>
+<translation id="8613645710357126807">နောက်ဆက်တွဲများ သုံးခွင့်မပြုထားပါ</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> က လုံခြုံရေး စစ်ဆေးရန် ကြီးလွန်းသည်။ ၅၀ MB အထိ ဖိုင်များကိုသာ ဖွင့်နိုင်သည်။</translation>
 <translation id="8615618338313291042">ရုပ်ဖျက် အက်ပ်: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> ကို သင့်အဆက်အသွယ်များသို့ ထည့်မည်</translation>
diff --git a/chrome/app/resources/generated_resources_ne.xtb b/chrome/app/resources/generated_resources_ne.xtb
index 492e6af..6dbb2ba 100644
--- a/chrome/app/resources/generated_resources_ne.xtb
+++ b/chrome/app/resources/generated_resources_ne.xtb
@@ -202,6 +202,7 @@
 <ph name="DOMAIN" /> मा तपाईंले आफ्नो स्मार्ट कार्ड इन्सर्ट गरिराख्नु पर्ने हुन्छ।}other{तपाईं # सेकेन्डमा स्वतः साइन आउट हुनु हुने छ।
 <ph name="DOMAIN" /> मा तपाईंले आफ्नो स्मार्ट कार्ड इन्सर्ट गरिराख्नु पर्ने हुन्छ।}}</translation>
 <translation id="1193927020065025187">यो साइटले तपाईंलाई झुक्याएर हस्तक्षेपकारी सूचना देखाउने अनुमति प्राप्त गर्न खोजिरहेको हुन सक्छ</translation>
+<translation id="1195210374336998651">एपका सेटिङमा जानुहोस्</translation>
 <translation id="1195447618553298278">अज्ञात त्रुटि:</translation>
 <translation id="1195558154361252544">तपाईंले अनुमति दिएका साइटबाहेक अन्य सबै साइटका सूचनाहरूलाई स्वतः रोक लगाइएको छ</translation>
 <translation id="1197088940767939838">सुन्तला रङ्ग</translation>
@@ -2566,6 +2567,7 @@
 <translation id="3592260987370335752">&amp;थप जान्नुहोस्</translation>
 <translation id="3593152357631900254">फज्जि-</translation>
 <translation id="3593965109698325041">प्रमाणपत्र नाम अवरोध</translation>
+<translation id="3596012367874587041">एपका सेटिङ</translation>
 <translation id="3596414637720633074">इन्कोग्निटो मोडमा तेस्रो पक्षीय कुकीहरूमाथि रोक लगाउनुहोस्</translation>
 <translation id="3599221874935822507">उठेको</translation>
 <translation id="3599863153486145794">साइन इन गरिएका सबै यन्त्रहरूबाट इतिहास खाली गर्दछ। तपाईंको Google खाताको <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> मा अन्य किसिमका ब्राउजिङ इतिहास रहेका हुन सक्छन्।</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 0f26936..2a8c348 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> vereist dat je smartcard geplaatst blijft.}other{Over # seconden word je automatisch uitgelogd.
 <ph name="DOMAIN" /> vereist dat je smartcard geplaatst blijft.}}</translation>
 <translation id="1193927020065025187">Deze site probeert je mogelijk zover te krijgen dat je opdringerige meldingen toestaat</translation>
+<translation id="1195210374336998651">Ga naar app-instellingen</translation>
 <translation id="1195447618553298278">Onbekende fout</translation>
 <translation id="1195558154361252544">Meldingen zijn automatisch geblokkeerd voor alle sites, behalve de meldingen die je toestaat</translation>
 <translation id="1197088940767939838">Oranje</translation>
@@ -384,6 +385,7 @@
 <translation id="1396259464226642517">Was dit resultaat onverwacht? <ph name="BEGIN_LINK" />Feedback sturen<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">De gebruikersnaam en het wachtwoord die je hebt opgegeven, komen niet overeen</translation>
 <translation id="1397500194120344683">Geen geschikte apparaten. <ph name="LINK_BEGIN" />Meer informatie<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Je bent op deze apparaten ingelogd bij Chrome, dus kun je ze als beveiligingssleutels gebruiken.</translation>
 <translation id="1398853756734560583">Maximaliseren</translation>
 <translation id="139911022479327130">Ontgrendel je telefoon en bevestig dat jij het bent</translation>
 <translation id="1401308693935339022">Gebruik de locatie. Apps en services met locatierechten mogen de locatie van dit apparaat gebruiken. Google kan periodiek locatiegegevens verzamelen en anoniem gebruiken om de locatienauwkeurigheid en locatiegebaseerde services te verbeteren.</translation>
@@ -1168,6 +1170,7 @@
 <translation id="2163470535490402084">Maak verbinding met internet om in te loggen op je <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">Donkere modus aanzetten</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> en nog 1 schakelaar</translation>
+<translation id="2165102982098084499">Je hebt deze apparaten gekoppeld door een QR-code te scannen.</translation>
 <translation id="2165177462441582039">Kiezen hoelang elk item gemarkeerd moet blijven</translation>
 <translation id="2166369534954157698">Pa's wijze lynx bezag vroom het fikse aquaduct</translation>
 <translation id="2169062631698640254">Toch inloggen</translation>
@@ -1893,6 +1896,7 @@
 <translation id="287205682142673348">Poortdoorschakeling</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> toevoegen…</translation>
 <translation id="2872961005593481000">Afsluiten</translation>
+<translation id="2873995907777332853">Details tonen over het blokkeren van alle cookies</translation>
 <translation id="2874939134665556319">Vorig nummer</translation>
 <translation id="2875698561019555027">(Chrome-foutpagina's)</translation>
 <translation id="2876336351874743617">Vinger 2</translation>
@@ -1940,6 +1944,7 @@
 <translation id="2915873080513663243">Automatisch scannen</translation>
 <translation id="2916073183900451334">Als je op een webpagina op Tab drukt, worden links en velden in formulieren gemarkeerd</translation>
 <translation id="2916745397441987255">Extensies zoeken</translation>
+<translation id="2918484639460781603">Ga naar instellingen</translation>
 <translation id="2918484644467055090">Dit apparaat kan niet worden ingeschreven bij de organisatie waarbij je account hoort, omdat het apparaat is aangewezen voor beheer door een andere organisatie.</translation>
 <translation id="2920852127376356161">Geen toestemming om protocollen te verwerken</translation>
 <translation id="2921081876747860777">Stel een wachtwoord in om je lokale gegevens te beschermen.</translation>
@@ -2196,6 +2201,7 @@
 <translation id="3189187154924005138">Grote cursor</translation>
 <translation id="3190558889382726167">Wachtwoord opgeslagen</translation>
 <translation id="3192947282887913208">Audiobestanden</translation>
+<translation id="3194786596445804250">Details tonen over het blokkeren van cookies van derden</translation>
 <translation id="3197453258332670132">Gerelateerde informatie voor je tekstselectie bekijken door met de rechtermuisknop te klikken of de selectie lang ingedrukt te houden</translation>
 <translation id="3199127022143353223">Servers</translation>
 <translation id="3200061262156232574">In je winkelwagentje</translation>
@@ -2563,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;Meer informatie</translation>
 <translation id="3593152357631900254">Fuzzy-pinyinmethode aanzetten</translation>
 <translation id="3593965109698325041">Naambeperkingen voor certificaten</translation>
+<translation id="3596012367874587041">App-instellingen</translation>
 <translation id="3596414637720633074">Cookies van derden blokkeren in incognitomodus</translation>
 <translation id="3599221874935822507">Verhoogd</translation>
 <translation id="3599863153486145794">Hiermee wordt de geschiedenis van alle ingelogde apparaten gewist. Er kunnen andere vormen van browsegeschiedenis zijn opgeslagen voor je Google-account op <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5288,6 +5295,7 @@
 <translation id="6455264371803474013">Op specifieke sites</translation>
 <translation id="6455894534188563617">&amp;Nieuwe map</translation>
 <translation id="645705751491738698">JavaScript blijven blokkeren</translation>
+<translation id="6458347417133445570">Details tonen over het toestaan van alle cookies</translation>
 <translation id="6458701200018867744">Upload mislukt (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Gebruik selectie voor zoekactie</translation>
 <translation id="6459799433792303855">Het actieve venster is verplaatst naar een ander scherm.</translation>
@@ -5680,6 +5688,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> s</translation>
 <translation id="6860097299815761905">Proxyinstellingen...</translation>
 <translation id="6860427144121307915">Openen in een tabblad</translation>
+<translation id="6863496016067551393">Alle extensies toegestaan</translation>
 <translation id="686366188661646310">Wachtwoord verwijderen?</translation>
 <translation id="6865313869410766144">Formuliergegevens voor 'Automatisch invullen'</translation>
 <translation id="6865598234501509159">Pagina is niet in het <ph name="LANGUAGE" /></translation>
@@ -5709,6 +5718,7 @@
 <translation id="6900532703269623216">Geoptimaliseerde beveiliging</translation>
 <translation id="6900651018461749106">Log opnieuw in om <ph name="USER_EMAIL" /> te updaten</translation>
 <translation id="6900654715912436255">Weet je zeker dat je deze zoekmachine wilt verwijderen?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Stem om als voorbeeld te beluisteren</translation>
 <translation id="6902336033320348843">Sectie niet ondersteund: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Apparaat koppelen aan domein</translation>
@@ -6717,6 +6727,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" />s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> kan <ph name="FILENAME" /> bekijken</translation>
 <translation id="7920482456679570420">Woorden toevoegen waarvan je wilt dat de spellingcontrole deze overslaat</translation>
+<translation id="7922935920104868876">Details tonen over het blokkeren van cookies van derden in de incognitomodus</translation>
 <translation id="7924358170328001543">Fout bij doorschakelen van poort</translation>
 <translation id="7925108652071887026">Gegevens van Automatisch invullen</translation>
 <translation id="792514962475806987">Vastgezet zoomniveau:</translation>
@@ -6881,6 +6892,7 @@
 <translation id="8076492880354921740">Tabbladen</translation>
 <translation id="8076835018653442223">Toegang tot lokale bestanden op je apparaat is ingetrokken door je beheerder</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Accounts die beschikbaar zijn voor gebruik met Android-apps</translation>
 <translation id="8081989000209387414">ADB-foutopsporing uitzetten?</translation>
 <translation id="8082106343289440791">Koppelen met '<ph name="DEVICE_NAME" />'?</translation>
 <translation id="8082390128630131497">Als je ADB-foutopsporing uitzet, wordt deze <ph name="DEVICE_TYPE" /> teruggezet op de fabrieksinstellingen. Alle gebruikersaccounts en lokale gegevens worden gewist.</translation>
@@ -7141,6 +7153,7 @@
 <translation id="8342861492835240085">Een verzameling selecteren</translation>
 <translation id="8347227221149377169">Afdruktaken</translation>
 <translation id="834785183489258869">Als je de incognitomodus gebruikt, kunnen sites je cookies niet gebruiken om je browse-activiteit op verschillende sites te bekijken, bijvoorbeeld om advertenties te personaliseren. Functies op bepaalde sites werken misschien niet.</translation>
+<translation id="8349499562373871073">Je kunt een bestaand account selecteren om met Android-apps te gebruiken of een nieuw Google-account toevoegen. Nadat je bent ingelogd bij een Android-app, kun je je account met andere Android-apps gebruiken. Je kunt de toegang tot Android-apps wijzigen in <ph name="LINK_BEGIN" />Instellingen &gt; Accounts<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Stylustools in dock</translation>
 <translation id="8351316842353540018">Altijd A11y-opties bekijken</translation>
 <translation id="8351419472474436977">Deze extensie heeft het beheer van je proxyinstellingen overgenomen. Dit betekent dat de extensie alles wat je online doet, kan wijzigen, beschadigen of bekijken. Als je niet zeker weet waarom deze wijziging heeft plaatsgevonden, is het waarschijnlijk een ongewenste wijziging.</translation>
@@ -7356,6 +7369,7 @@
 <translation id="8610103157987623234">Onjuiste indeling. Probeer het opnieuw.</translation>
 <translation id="8611682088849615761">Volledig beheer van MIDI-apparaten blijven toestaan voor deze site</translation>
 <translation id="8613164732773110792">Alleen kleine letters, cijfers, underscores of koppeltekens</translation>
+<translation id="8613645710357126807">Geen toestemming om extensies te gebruiken</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> is te groot voor een beveiligingscontrole. Je kunt bestanden tot 50 MB openen.</translation>
 <translation id="8615618338313291042">Incognitotoepassing: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> aan je contacten toevoegen</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 7d13d2d..a6d9a40 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> krever at smartkortet blir stående i.}other{Du blir logget av automatisk om # sekunder.
 <ph name="DOMAIN" /> krever at smartkortet blir stående i.}}</translation>
 <translation id="1193927020065025187">Det kan hende at dette nettstedet prøver å lure deg til å tillate påtrengende varsler</translation>
+<translation id="1195210374336998651">Gå til appinnstillinger</translation>
 <translation id="1195447618553298278">Ukjent feil.</translation>
 <translation id="1195558154361252544">Varsler blokkeres automatisk for alle nettsteder unntatt dem du tillater</translation>
 <translation id="1197088940767939838">Oransje</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Var dette resultatet uventet? <ph name="BEGIN_LINK" />Send tilbakemelding<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Brukernavnet og passordet du skrev inn, stemmer ikke overens</translation>
 <translation id="1397500194120344683">Ingen kompatible enheter. <ph name="LINK_BEGIN" />Finn ut mer<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Du er logget på Chrome på disse enhetene, så du kan bruke dem som sikkerhetsnøkler.</translation>
 <translation id="1398853756734560583">Maksimer</translation>
 <translation id="139911022479327130">Lås opp telefonen, og bekreft at det er deg</translation>
 <translation id="1401308693935339022">Bruk posisjon. Tillat at apper og tjenester med posisjonstillatelse bruker posisjonen til enheten. Google kan samle inn posisjonsdata med jevne mellomrom og bruke disse dataene på en anonym måte til å gjøre posisjonsnøyaktigheten og posisjonsbaserte tjenester bedre.</translation>
@@ -1174,6 +1176,7 @@
 <translation id="2163470535490402084">Koble til Internett for å logge på <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2163937499206714165">Slå på mørk modus</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> og 1 bryter til</translation>
+<translation id="2165102982098084499">Du tilknyttet disse enhetene ved å skanne en QR-kode.</translation>
 <translation id="2165177462441582039">Velg hvor lenge hvert element skal fremheves</translation>
 <translation id="2166369534954157698">Høvdingens kjære squaw får litt pizza i Mexico by</translation>
 <translation id="2169062631698640254">Logg på likevel</translation>
@@ -1951,6 +1954,7 @@
 <translation id="2915873080513663243">Automatisk skanning</translation>
 <translation id="2916073183900451334">Trykk på Tab på en nettside for å utheve linker og skjemafelter</translation>
 <translation id="2916745397441987255">Søk i utvidelser</translation>
+<translation id="2918484639460781603">Gå til Innstillinger</translation>
 <translation id="2918484644467055090">Denne enheten kan ikke registreres i organisasjonen som kontoen din tilhører. Enheten er merket for administrering av en annen organisasjon.</translation>
 <translation id="2920852127376356161">Nettsteder som ikke har lov til å behandle protokoller</translation>
 <translation id="2921081876747860777">Opprett et passord for å beskytte de lokale dataene dine.</translation>
@@ -2575,6 +2579,7 @@
 <translation id="3592260987370335752">&amp;Les mer</translation>
 <translation id="3593152357631900254">Aktiver modusen Fuzzy pinyin</translation>
 <translation id="3593965109698325041">Begrensninger for sertifikatnavn</translation>
+<translation id="3596012367874587041">Appinnstillinger</translation>
 <translation id="3596414637720633074">Blokkér informasjonskapsler fra tredjepart i inkognitomodus</translation>
 <translation id="3599221874935822507">Hevet</translation>
 <translation id="3599863153486145794">Tømmer loggen på alle påloggede enheter. Det kan hende Google-kontoen din har andre typer nettleserlogger på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5692,6 +5697,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> sek</translation>
 <translation id="6860097299815761905">Innstillinger for proxy-tjener</translation>
 <translation id="6860427144121307915">Åpne i en fane</translation>
+<translation id="6863496016067551393">Nettsteder der alle utvidelser er tillatt</translation>
 <translation id="686366188661646310">Vil du slette passordet?</translation>
 <translation id="6865313869410766144">Skjemadata lagret med autofyll</translation>
 <translation id="6865598234501509159">Siden er ikke på <ph name="LANGUAGE" /></translation>
@@ -5721,6 +5727,7 @@
 <translation id="6900532703269623216">Økt beskyttelse</translation>
 <translation id="6900651018461749106">Logg på igjen for å oppdatere <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Er du sikker på at du vil slette denne søkemotoren?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Forhåndsutdrag av tekst til tale</translation>
 <translation id="6902336033320348843">Seksjonen støttes ikke: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Knytt enhet til domene</translation>
@@ -7372,6 +7379,7 @@
 <translation id="8610103157987623234">Feil format. Prøv på nytt</translation>
 <translation id="8611682088849615761">Fortsett å la dette nettstedet ha full kontroll over MIDI-enheter</translation>
 <translation id="8613164732773110792">Kun små bokstaver, tall, understrek og bindestrek</translation>
+<translation id="8613645710357126807">Nettsteder som ikke har lov til å bruke utvidelser</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> er for stor til at en sikkerhetssjekk kan utføres. Du kan åpne filer på opptil 50 MB.</translation>
 <translation id="8615618338313291042">Inkognitoprogram: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Legg til <ph name="CONTACT_NAME" /> i kontaktene dine</translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb
index 6170f4ee..7d1958da 100644
--- a/chrome/app/resources/generated_resources_or.xtb
+++ b/chrome/app/resources/generated_resources_or.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> ପାଇଁ ଆପଣ ଆପଣଙ୍କ ସ୍ମାର୍ଟ କାର୍ଡକୁ ଇନସାର୍ଟ କରି ରଖିବା ଆବଶ୍ୟକ।}other{ଆପଣ ସ୍ୱଚାଳିତ ଭାବେ # ସେକେଣ୍ଡରେ ସାଇନ୍ ଆଉଟ୍ ହୋଇଯିବେ।
 <ph name="DOMAIN" /> ପାଇଁ ଆପଣ ଆପଣଙ୍କ ସ୍ମାର୍ଟ କାର୍ଡକୁ ଇନସାର୍ଟ କରି ରଖିବା ଆବଶ୍ୟକ।}}</translation>
 <translation id="1193927020065025187">ଅନାଧିକୃତ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପାଇଁ ଆପଣ ଅନୁମତି ଦେବାକୁ କୌଶଳରେ ଏହି ସାଇଟ୍ ଚେଷ୍ଟା କରିପାରେ</translation>
+<translation id="1195210374336998651">ଆପ ସେଟିଂସକୁ ଯାଆନ୍ତୁ</translation>
 <translation id="1195447618553298278">ଅଜ୍ଞାତ ତୃଟି ।</translation>
 <translation id="1195558154361252544">ଆପଣ ଅନୁମତି ଦେଇଥିବା ସାଇଟ୍‍ଗୁଡ଼ିକ ବ୍ୟତୀତ ସମସ୍ତ ସାଇଟ୍‌ରେ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
 <translation id="1197088940767939838">କମଳା</translation>
@@ -767,6 +768,7 @@
 <translation id="176587472219019965">&amp;ନୂଆ ୱିଣ୍ଡୋ</translation>
 <translation id="1766575458646819543">ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ୍‌ରୁ ପ୍ରସ୍ଥାନ ହୋଇସାରିଛି</translation>
 <translation id="1766957085594317166">ଆପଣଙ୍କର Google ଆକାଉଣ୍ଟରେ ପାସ୍‍ୱାର୍ଡଗୁଡ଼ିକୁ ସୁରକ୍ଷିତ ଭାବେ ସେଭ୍ କରନ୍ତୁ ଏବଂ ଆପଣଙ୍କୁ କେବେ ବି ସେଗୁଡ଼ିକୁ ପୁଣି ଟାଇପ୍ କରିବାକୁ ପଡ଼ିବ ନାହିଁ</translation>
+<translation id="1767043563165955993">Android ଆପ ସହ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="1768212860412467516"><ph name="EXPERIMENT_NAME" /> ପାଇଁ ମତାମତ ପଠାନ୍ତୁ।</translation>
 <translation id="1768278914020124551">ଓହୋଃ!  ଲଗ୍‌ଅନ୍‌ ସର୍ଭର୍‌କୁ ଯୋଗାଯୋଗ କରିବାରେ ଏକ ସମସ୍ୟା ହେଲା। ଦୟାକରି ଆପଣଙ୍କ ନେଟ୍‍ୱର୍କ ସଂଯୋଗ ଏବଂ ଡୋମେନ୍‍ ନାମ ଯାଞ୍ଚ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="1769104665586091481">ନୂତନ &amp;ୱିଣ୍ଡୋରେ ଲିଙ୍କ୍‌ଗୁଡ଼ିକ ଖୋଲନ୍ତୁ</translation>
@@ -1100,6 +1102,7 @@
 <translation id="2113479184312716848">&amp;ଫାଇଲ୍ ଖୋଲନ୍ତୁ...</translation>
 <translation id="2113921862428609753">କର୍ତ୍ତୃପକ୍ଷ ସୂଚନା ଆକ୍ସେସ୍</translation>
 <translation id="2114326799768592691">&amp;ଫ୍ରେମ୍ ରିଲୋଡ୍ କରନ୍ତୁ</translation>
+<translation id="2114413269775311385">Android ଆପ ସହ ଏହି ଆକାଉଣ୍ଟକୁ ବ୍ୟବହାର କରନ୍ତୁ। ଆପଣ Android ଆପଗୁଡ଼ିକ ପାଇଁ <ph name="LINK_BEGIN" />ଆପ ସେଟିଂସ<ph name="LINK_END" />ରେ ଅନୁମତିଗୁଡ଼ିକୁ ନିୟନ୍ତ୍ରଣ କରିପାରିବେ।</translation>
 <translation id="2114896190328250491"><ph name="NAME" />ଙ୍କ ଦ୍ୱାରା ଫଟୋ</translation>
 <translation id="2114995631896158695">କୌଣସି SIM କାର୍ଡ ଇନସାର୍ଟ କରାଯାଇନାହିଁ</translation>
 <translation id="2116619964159595185">ଏକ ଲୋ-ଏନର୍ଜି ବିକନ୍, ଏକ ସ୍ୱାସ୍ଥ୍ୟ କିମ୍ବା ଫିଟନେସ୍ ଟ୍ରାକର୍ କିମ୍ବା ଏକ ସ୍ମାର୍ଟ ଲାଇଟ୍ ବଲବ୍ ସେଟ୍ ଅପ୍ ବା ସିଙ୍କ୍ କରିବା ପରି ଫିଚରଗୁଡ଼ିକ ପାଇଁ ସାଇଟଗୁଡ଼ିକ ସାଧାରଣତଃ ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସଗୁଡ଼ିକ ସହ ସଂଯୋଗ କରିଥାଏ</translation>
@@ -2562,6 +2565,7 @@
 <translation id="3592260987370335752">&amp;ଅଧିକ ଜାଣନ୍ତୁ</translation>
 <translation id="3593152357631900254">ଫଜି-ପିନୟିନ୍ ମୋଡ୍ ସକ୍ଷମ କରନ୍ତୁ</translation>
 <translation id="3593965109698325041">ସାର୍ଟିଫିକେଟ୍ ନାମ ସୀମାବଦ୍ଧତା</translation>
+<translation id="3596012367874587041">ଆପ ସେଟିଂସ</translation>
 <translation id="3596414637720633074">ଇନକଗ୍ନିଟୋ ମୋଡରେ ତୃତୀୟ-ପକ୍ଷ କୁକୀଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରନ୍ତୁ</translation>
 <translation id="3599221874935822507">ଉଠାଯାଇଥିବା</translation>
 <translation id="3599863153486145794">ସମସ୍ତ ସାଇନ୍‌-ଇନ୍‍ ହୋ‍ଇଥିବା ଡିଭାଇସ୍‍ରୁ ଇତିବୃତ୍ତି ଖାଲି କରେ। ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟର <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> ରେ ଅନ୍ୟ ପ୍ରକାରର ବ୍ରାଉଜିଂ ଇତିବୃତ୍ତି ଥାଇପାରେ।</translation>
@@ -2938,6 +2942,7 @@
 <translation id="3943582379552582368">&amp;ପଛକୁ</translation>
 <translation id="3943857333388298514">ପେଷ୍ଟ କରନ୍ତୁ</translation>
 <translation id="3945513714196326460">ଏକ ଛୋଟ ନାମ ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ</translation>
+<translation id="3947643756376959257">Chromecast କିମ୍ବା ଟିଭିରେ ଦେଖାଯାଇଥିବା ଆକ୍ସେସ କୋଡକୁ ଲେଖନ୍ତୁ।</translation>
 <translation id="3948027458879361203">ହୋଷ୍ଟନାମ ପରିବର୍ତ୍ତନ କରନ୍ତୁ</translation>
 <translation id="3948116654032448504">&amp;ଛବି ପାଇଁ <ph name="SEARCH_ENGINE" /> ଖୋଜନ୍ତୁ</translation>
 <translation id="3948507072814225786">ନିମ୍ନୋକ୍ତ ଫୋଲ୍ଡର୍‌ଗୁଡ଼ିକରେ <ph name="ORIGIN" /> ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ଏଡିଟ୍ କରିପାରିବ</translation>
@@ -3179,12 +3184,14 @@
 <translation id="4210048056321123003">ଭର୍ଚୁଆଲ୍ ମେସିନ୍ ଡାଉନ୍‌ଲୋଡ୍ କରାଯାଉଛି</translation>
 <translation id="421182450098841253">&amp;ବୁକ୍‌ମାର୍କ ବାର୍ ଦେଖାନ୍ତୁ</translation>
 <translation id="4211851069413100178">ବ୍ୟବହାର ପ୍ରଣାଳୀ ଓ ଡାଏଗ୍ନୋଷ୍ଟିକ୍ ଡାଟା ପଠାନ୍ତୁ। ସ୍ଵଚାଳିତ ଭାବେ ଡାଏଗ୍ନୋଷ୍ଟିକ୍, ଡିଭାଇସ୍ ଓ ଆପ୍ ବ୍ୟବହାର ଡାଟାକୁ Googleକୁ ପଠାଇ ଆପଣଙ୍କର Android ଅନୁଭବକୁ ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରନ୍ତୁ। ଏହା ସିଷ୍ଟମ୍ ଓ ଆପ୍‌ର ସ୍ଥିରତା ତଥା ଅନ୍ୟାନ୍ୟ ଉନ୍ନତି ଆଣିବାରେ ସାହାଯ୍ୟ କରିବ। କିଛି ଏକତ୍ରିତ ଡାଟା, Google ଆପ୍ସ ଓ Android ଡେଭଲପର୍ ଭଳି ତାହାର ସହଭାଗୀମାନଙ୍କୁ ମଧ୍ୟ ସାହାଯ୍ୟ କରିବ। ଏହି <ph name="BEGIN_LINK1" />ସେଟିଂ<ph name="END_LINK1" /> ମାଲିକଙ୍କ ଦ୍ୱାରା ଲାଗୁ କରାଯାଇଛି। ଏହି ଡିଭାଇସ୍‌ ପାଇଁ ମାଲିକ ଡାଏଗ୍ନୋଷ୍ଟିକ୍ ଏବଂ ବ୍ୟବହାର ହେଉଥିବା ଡାଟା Googleକୁ ପଠାଇବା ପାଇଁ ବାଛିପାରିବେ। ଯଦି ଆପଣଙ୍କର ଅତିରିକ୍ତ ୱେବ୍ ଓ ଆପ୍ ଗତିବିଧି ସେଟିଂ ଚାଲୁ ଅଛି, ତେବେ ଏହି ଡାଟା ଆପଣଙ୍କର Google ଆକାଉଣ୍ଟରେ ସେଭ୍ କରାଯାଇପାରେ। <ph name="BEGIN_LINK2" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Android ଆପ ସହ ବ୍ୟବହାର କରିବା ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="42126664696688958">ଏକ୍ସପୋର୍ଟ କରନ୍ତୁ</translation>
 <translation id="42137655013211669">ଏହି ରିସୋର୍ସକୁ ଆକ୍ସେସ୍‌ ସର୍ଭର୍‌ ଦ୍ୱାରା ନିଷିଦ୍ଧ କରାଯାଇଥିଲା।</translation>
 <translation id="4217571870635786043">ଶ୍ରୁତଲିଖନ</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">ସକ୍ରିୟକରଣ ସମୟରେ ଏକ ତ୍ରୁଟି ଦେଖାଯାଇଛି।</translation>
 <translation id="4225397296022057997">ସମସ୍ତ ସାଇଟ୍‌ରେ</translation>
+<translation id="4227605727325220318">ଏକ ନୂଆ Android ଫୋନ ଯୋଗ କରନ୍ତୁ</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{ଏହି ଏକ୍ସଟେନସନକୁ ଅନୁମତି ଦିଆଯାଇନାହିଁ}other{କିଛି ଏକ୍ସଟେନସନକୁ ଅନୁମତି ଦିଆଯାଇନାହିଁ}}</translation>
 <translation id="4231095370974836764">ଆପଣଙ୍କ <ph name="DEVICE_TYPE" />ରେ Google Playରୁ ଆପ୍ ଏବଂ ଗେମଗୁଡ଼ିକ ଇନଷ୍ଟଲ୍ କରନ୍ତୁ। <ph name="LINK_BEGIN" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Kerberos କନ୍‍ଫିଗର୍ କରନ୍ତୁ</translation>
@@ -4716,6 +4723,7 @@
 <translation id="5862109781435984885">ସେଲ୍ଫରେ ଷ୍ଟାଇଲସ୍ ଟୁଲ୍‍ଗୁଡ଼ିକ ଦେଖାନ୍ତୁ</translation>
 <translation id="5862319196656206789">ସଂଯୁକ୍ତ ଡିଭାଇସଗୁଡ଼ିକ ସେଟ୍ ଅପ୍ କରନ୍ତୁ</translation>
 <translation id="5863445608433396414">ଡିବଗିଂ ବୈଶିଷ୍ଟ୍ୟକୁ ସକ୍ଷମ କରନ୍ତୁ</translation>
+<translation id="5864147196375746035">ଏକ ପରିଚାଳିତ ଡିଭାଇସକୁ କାଷ୍ଟ କରନ୍ତୁ</translation>
 <translation id="5864195618110239517">ମିଟର ହୋଇଥିବା ସଂଯୋଗ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="5864754048328252126">ବ୍ୟାଟେରୀ ଚାର୍ଜ ହେଉଥିବା ବେଳେ ଡିଭାଇସ୍ ନିଷ୍କ୍ରିୟ ଥିବା ସମୟର ପଦକ୍ଷେପ</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> ଶୀଘ୍ର ବିରତ ହେବ</translation>
@@ -5898,6 +5906,7 @@
 <translation id="7086672505018440886">ଆର୍କାଇଭରେ Chrome ଲଗ୍ ଫାଇଲଗୁଡ଼ିକ ସାମିଲ କରନ୍ତୁ।</translation>
 <translation id="7088434364990739311">ଅପ୍‍ଡେଟ୍‍ର ଯାଞ୍ଚ ପ୍ରକ୍ରିୟା ଆରମ୍ଭ କରିବାରେ ବିଫଳ ହେଲା (ତ୍ରୁଟି କୋଡ୍ <ph name="ERROR" />)।</translation>
 <translation id="7088674813905715446">ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ୱାରା ଏହି ଡିଭାଇସ୍‌ ଏକ ଅବ୍ୟବସ୍ଥିତ ସ୍ଥିତିରେ ରଖାଯାଇଛି। ଏହାକୁ ନାମାଙ୍କନ ପାଇଁ ସକ୍ଷମ କରିବାକୁ, ଦୟାକରି ଆପଣଙ୍କର ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ୱାରା ଡିଭାଇସ୍‌କୁ ଏକ ବିଳମ୍ବିତ ସ୍ଥିତିରେ ରହିବାକୁ ଦିଅନ୍ତୁ।</translation>
+<translation id="7090160970140261931">ଆପଣ ୱେବସାଇଟ ଏବଂ ଆପଗୁଡ଼ିକ ସହ ବ୍ୟବହାର କରିବାକୁ ଆପଣଙ୍କ <ph name="DEVICE_TYPE" />ରେ ଅତିରିକ୍ତ ଆକାଉଣ୍ଟ ଯୋଗ କରିପାରିବେ। କେଉଁ ଆକାଉଣ୍ଟଗୁଡ଼ିକୁ Android ଆପ ସହ ବ୍ୟବହାର କରାଯାଏ ତାହା ମଧ୍ୟ ଆପଣ ନିୟନ୍ତ୍ରଣ କରିପାରିବେ।</translation>
 <translation id="7093220653036489319">କ୍ୱିକ୍ ଉତ୍ତରଗୁଡ଼ିକ</translation>
 <translation id="7093416310351037609">ଡାଟା ନିରାପତ୍ତା ଏବଂ ସୁରକ୍ଷା ପାଇଁ ଆପଣଙ୍କ ସଂସ୍ଥା, ସମସ୍ତ ଯୋଗ୍ୟ ଡାଉନଲୋଡଗୁଡ଼ିକ ଆପଣଙ୍କ ସଂସ୍ଥାର <ph name="WEB_DRIVE" /> ଆକାଉଣ୍ଟରେ ସେଭ୍ ହେବା ଆବଶ୍ୟକ କରେ।</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6955,6 +6964,7 @@
 <translation id="8147900440966275470"><ph name="NUM" />ଟି ଟାବ୍ ମିଳିଲା</translation>
 <translation id="8148760431881541277">ସାଇନ୍-ଇନ୍ ସୀମିତ କରନ୍ତୁ</translation>
 <translation id="8149564499626272569">ଏକ USB କେବୁଲ୍ ସହ ଆପଣଙ୍କ ଫୋନ୍ ମାଧ୍ୟମରେ ଯାଞ୍ଚ କରନ୍ତୁ</translation>
+<translation id="815114315010033526">ଏହା ପରିବର୍ତ୍ତେ QR କୋଡ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="8151638057146502721">କନ୍‍ଫିଗର୍ କରନ୍ତୁ</translation>
 <translation id="8154790740888707867">କୌଣସି ଫାଇଲ୍‌ ନାହିଁ</translation>
 <translation id="8154912474061769055">ଅନେକ ସାଇଟରେ ଫିଚରଗୁଡ଼ିକ କାମ କରିନପାରେ</translation>
@@ -6980,6 +6990,7 @@
 <translation id="8176332201990304395">ଗୋଲାପି ଓ ଧଳା</translation>
 <translation id="8177196903785554304">ନେଟ୍‌ୱର୍କ ବିବରଣୀ</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{ନୂଆ ୱିଣ୍ଡୋକୁ ଟାବ୍ ମୁଭ୍ କରନ୍ତୁ}other{ନୂଆ ୱିଣ୍ଡୋକୁ ଟାବଗୁଡ଼ିକ ମୁଭ୍ କରନ୍ତୁ}}</translation>
+<translation id="8179188928355984576">Android ଆପ ସହ ବ୍ୟବହାର କରାଯାଇନାହିଁ</translation>
 <translation id="8179976553408161302">ପ୍ରବେଶ</translation>
 <translation id="8180786512391440389">ଚେକ୍ କରାଯିଥିବା ଲୋକେସନ୍‌ଗୁଡ଼ିକରେ "<ph name="EXTENSION" />", ଛବି, ଭିଡିଓ ଓ ସାଉଣ୍ଡ୍ ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ପଢ଼ିପାରିବ ଓ ଡିଲିଟ୍‌ କରିପାରିବ।</translation>
 <translation id="8181215761849004992">ଡୋମେନ୍‌ରେ ସଂଯୁକ୍ତ କରାଯାଇପାରିବ ନାହିଁ। ଡିଭାଇସ୍‍ଗୁଡ଼ିକୁ ଯୋଗ କରିବା ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ପର୍ଯ୍ୟାପ୍ତ ଅଧିକାର ଅଛି କି ନାହିଁ ଦେଖିବାକୁ ଆପଣଙ୍କର ଆକାଉଣ୍ଟକୁ ଯାଞ୍ଚ କରନ୍ତୁ।</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index df30555f..c42fed0 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" /> ਲਈ ਤੁਹਾਨੂੰ ਆਪਣਾ ਸਮਾਰਟ ਕਾਰਡ ਪਾਈ ਰੱਖਣ ਦੀ ਲੋੜ ਹੈ।}other{ਤੁਹਾਨੂੰ # ਸਕਿੰਟਾਂ ਵਿੱਚ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਸਾਈਨ-ਆਊਟ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ।
 <ph name="DOMAIN" /> ਲਈ ਤੁਹਾਨੂੰ ਆਪਣਾ ਸਮਾਰਟ ਕਾਰਡ ਪਾਈ ਰੱਖਣ ਦੀ ਲੋੜ ਹੈ।}}</translation>
 <translation id="1193927020065025187">ਇਹ ਸਾਈਟ ਸ਼ਾਇਦ ਦਖਲਅੰਦਾਜ਼ੀ ਵਾਲੀਆਂ ਸੂਚਨਾਵਾਂ ਦੀ ਇਜਾਜ਼ਤ ਲਈ ਤੁਹਾਨੂੰ ਧੋਖਾ ਦੇਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੀ ਹੈ</translation>
+<translation id="1195210374336998651">ਐਪ ਸੈਟਿੰਗਾਂ 'ਤੇ ਜਾਓ</translation>
 <translation id="1195447618553298278">ਅਗਿਆਤ ਗੜਬੜ।</translation>
 <translation id="1195558154361252544">ਸੂਚਨਾਵਾਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇਜਾਜ਼ਤ ਦਿੱਤੀਆਂ ਸਾਈਟਾਂ ਨੂੰ ਛੱਡ ਕੇ ਸਾਰੀਆਂ ਸਾਈਟਾਂ ਲਈ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਬਲਾਕ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ</translation>
 <translation id="1197088940767939838">ਸੰਤਰੀ</translation>
@@ -2583,6 +2584,7 @@
 <translation id="3592260987370335752">&amp;ਹੋਰ ਜਾਣੋ</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin ਮੋਡ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ</translation>
 <translation id="3593965109698325041">ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨਾਮ ਪਾਬੰਦੀਆਂ</translation>
+<translation id="3596012367874587041">ਐਪ ਸੈਟਿੰਗਾਂ</translation>
 <translation id="3596414637720633074">ਇਨਕੋਗਨਿਟੋ ਵਿੱਚ ਤੀਜੀ-ਧਿਰ ਦੀਆਂ ਕੁਕੀਜ਼ ਨੂੰ ਬਲਾਕ ਕਰੋ</translation>
 <translation id="3599221874935822507">ਉਭਰੇ ਹੋਏ ਕਿਨਾਰੇ</translation>
 <translation id="3599863153486145794">ਸਾਈਨ-ਇਨ ਕੀਤੇ ਸਾਰੇ ਡੀਵਾਈਸਾਂ ਤੋਂ ਇਤਿਹਾਸ ਕਲੀਅਰ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 'ਤੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਦੀਆਂ ਹੋਰ ਕਿਸਮਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 7e1283aa..7862553c 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -206,6 +206,7 @@
 Domena <ph name="DOMAIN" /> wymaga, by karta inteligentna pozostała w gnieździe.}other{Za # sekundy nastąpi automatyczne wylogowanie.
 Domena <ph name="DOMAIN" /> wymaga, by karta inteligentna pozostała w gnieździe.}}</translation>
 <translation id="1193927020065025187">Ta strona może próbować przekonać Cię do zaakceptowania uciążliwych powiadomień.</translation>
+<translation id="1195210374336998651">Otwórz ustawienia aplikacji</translation>
 <translation id="1195447618553298278">Nieznany błąd.</translation>
 <translation id="1195558154361252544">Powiadomienia są automatycznie blokowane w przypadku wszystkich stron, chyba że na nie zezwolisz</translation>
 <translation id="1197088940767939838">Pomarańczowy</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">Czy był to nieoczekiwany wynik? <ph name="BEGIN_LINK" />Prześlij opinię<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Wpisana nazwa użytkownika i hasło nie pasują do siebie</translation>
 <translation id="1397500194120344683">Brak odpowiednich urządzeń. <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Na tych urządzeniach jesteś zalogowany(-a) w Chrome, więc możesz ich używać jako kluczy bezpieczeństwa.</translation>
 <translation id="1398853756734560583">Maksymalizuj</translation>
 <translation id="139911022479327130">Odblokuj telefon i potwierdź, że to Ty</translation>
 <translation id="1401308693935339022">Używaj lokalizacji. Zezwól na używanie lokalizacji tego urządzenia przez aplikacje i usługi, które mają dostęp do lokalizacji. Google może okresowo gromadzić dane o lokalizacji i używać ich anonimowo, by zwiększyć dokładność lokalizacji oraz usprawnić działanie związanych z nią usług.</translation>
@@ -1166,6 +1168,7 @@
 <translation id="2163470535490402084">Aby zalogować się na urządzeniu <ph name="DEVICE_TYPE" />, połącz się z internetem.</translation>
 <translation id="2163937499206714165">Włącz tryb ciemny</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> i jeszcze 1 przełącznik</translation>
+<translation id="2165102982098084499">Te urządzenia zostały połączone przez zeskanowanie kodu QR.</translation>
 <translation id="2165177462441582039">Wybierz czas wyróżnienia poszczególnych elementów</translation>
 <translation id="2166369534954157698">Pchnąć w tę łódź jeża lub ośm skrzyń fig</translation>
 <translation id="2169062631698640254">Zaloguj mimo to</translation>
@@ -1891,6 +1894,7 @@
 <translation id="287205682142673348">Przekierowanie portów</translation>
 <translation id="287286579981869940">Dodaj dostawcę <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Wyłącz</translation>
+<translation id="2873995907777332853">Pokaż szczegóły blokowania wszystkich plików cookie</translation>
 <translation id="2874939134665556319">Poprzedni utwór</translation>
 <translation id="2875698561019555027">(Strony błędów Chrome)</translation>
 <translation id="2876336351874743617">Palec 2</translation>
@@ -1938,6 +1942,7 @@
 <translation id="2915873080513663243">Automatyczne skanowanie</translation>
 <translation id="2916073183900451334">Naciśnięcie klawisza Tab na stronie internetowej powoduje podświetlenie linków, a także pól formularza</translation>
 <translation id="2916745397441987255">Szukaj w rozszerzeniach</translation>
+<translation id="2918484639460781603">Przejdź do ustawień</translation>
 <translation id="2918484644467055090">To urządzenie jest oznaczone jako zarządzane przez inną organizację i nie można go przypisać do organizacji, do której należy Twoje konto.</translation>
 <translation id="2920852127376356161">Nie zezwolono na obsługę protokołów</translation>
 <translation id="2921081876747860777">Utwórz hasło, by chronić swoje dane lokalne.</translation>
@@ -2194,6 +2199,7 @@
 <translation id="3189187154924005138">Duży kursor</translation>
 <translation id="3190558889382726167">Hasło zostało zapisane</translation>
 <translation id="3192947282887913208">Pliki dźwiękowe</translation>
+<translation id="3194786596445804250">Pokaż szczegóły blokowania plików cookie innych firm</translation>
 <translation id="3197453258332670132">Gdy klikniesz prawym przyciskiem lub przytrzymasz zaznaczony na ekranie fragment, zobaczysz związane z nim informacje</translation>
 <translation id="3199127022143353223">Serwery</translation>
 <translation id="3200061262156232574">W koszyku na zakupy</translation>
@@ -2561,6 +2567,7 @@
 <translation id="3592260987370335752">&amp;Więcej informacji</translation>
 <translation id="3593152357631900254">Włącz tryb „ujednolicony pinyin”</translation>
 <translation id="3593965109698325041">Ograniczenia nazwy certyfikatu</translation>
+<translation id="3596012367874587041">Ustawienia aplikacji</translation>
 <translation id="3596414637720633074">Blokuj pliki cookie innych firm w trybie incognito</translation>
 <translation id="3599221874935822507">Uniesiony</translation>
 <translation id="3599863153486145794">Usuwa historię ze wszystkich urządzeń, na których jesteś zalogowany. Inne rodzaje historii przeglądania mogą być nadal dostępne na Twoim koncie Google na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5287,6 +5294,7 @@
 <translation id="6455264371803474013">W określonych witrynach</translation>
 <translation id="6455894534188563617">&amp;Nowy folder</translation>
 <translation id="645705751491738698">Nadal blokuj wykonywanie kodu JavaScript</translation>
+<translation id="6458347417133445570">Pokaż szczegóły zezwalania na wszystkie pliki cookie</translation>
 <translation id="6458701200018867744">Nie udało się przesłać (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Użyj zaznaczenia do funkcji Znajdź</translation>
 <translation id="6459799433792303855">Aktywne okno zostało przeniesione na inny ekran.</translation>
@@ -5679,6 +5687,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> s</translation>
 <translation id="6860097299815761905">Ustawienia serwera proxy...</translation>
 <translation id="6860427144121307915">Otwórz na karcie</translation>
+<translation id="6863496016067551393">Wszystkie rozszerzenia są dozwolone</translation>
 <translation id="686366188661646310">Usunąć hasło?</translation>
 <translation id="6865313869410766144">Autouzupełnianie danych formularzy</translation>
 <translation id="6865598234501509159">Język tej strony to nie <ph name="LANGUAGE" /></translation>
@@ -5708,6 +5717,7 @@
 <translation id="6900532703269623216">Silniejsza ochrona</translation>
 <translation id="6900651018461749106">Zaloguj się ponownie, by zaktualizować konto <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Czy na pewno chcesz usunąć tę wyszukiwarkę?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Głos do sprawdzenia mowy</translation>
 <translation id="6902336033320348843">Nieobsługiwana sekcja: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Dołącz urządzenie do domeny</translation>
@@ -6718,6 +6728,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176">Strona <ph name="ORIGIN" /> może wyświetlać: <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Dodaj słowa, które mają być pomijane podczas sprawdzania pisowni</translation>
+<translation id="7922935920104868876">Pokaż szczegóły blokowania plików cookie innych firm w trybie incognito</translation>
 <translation id="7924358170328001543">Błąd przekierowania portów</translation>
 <translation id="7925108652071887026">Dane autouzupełniania</translation>
 <translation id="792514962475806987">Poziom powiększenia lupy zadokowanej:</translation>
@@ -6882,6 +6893,7 @@
 <translation id="8076492880354921740">Karty</translation>
 <translation id="8076835018653442223">Dostęp do plików lokalnych na tym urządzeniu został wyłączony przez administratora</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Konta, których można używać z aplikacjami na Androida</translation>
 <translation id="8081989000209387414">Wyłączyć debugowanie ADB?</translation>
 <translation id="8082106343289440791">Sparować z urządzeniem „<ph name="DEVICE_NAME" />”?</translation>
 <translation id="8082390128630131497">Jeśli wyłączysz debugowanie ADB, <ph name="DEVICE_TYPE" /> zostanie zresetowany do ustawień fabrycznych. Wszystkie konta użytkowników i dane lokalne zostaną usunięte.</translation>
@@ -7142,6 +7154,7 @@
 <translation id="8342861492835240085">Wybierz kolekcję</translation>
 <translation id="8347227221149377169">Zadania drukowania</translation>
 <translation id="834785183489258869">W trybie incognito strony nie mogą używać plików cookie do śledzenia Twojej aktywności związanej z przeglądaniem różnych stron, na przykład w celu personalizowania reklam. W niektórych witrynach mogą nie działać funkcje.</translation>
+<translation id="8349499562373871073">Możesz wybrać istniejące konto, którego będziesz używać z aplikacjami na Androida, lub dodać nowe konto Google. Gdy zalogujesz się w aplikacji na Androida, Twojego konta będzie można używać z innymi aplikacjami tego typu. Dostęp do aplikacji na Androida możesz zmienić, klikając <ph name="LINK_BEGIN" />Ustawienia &gt; Konta<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Narzędzia rysika w docku</translation>
 <translation id="8351316842353540018">Zawsze pokazuj opcje ułatwień dostępu</translation>
 <translation id="8351419472474436977">To rozszerzenie przejęło kontrolę nad ustawieniami Twojego serwera proxy, co oznacza, że może zmieniać, przerywać lub podsłuchiwać wszystko, co robisz online. Jeśli nie masz pewności, skąd się wzięła ta zmiana, prawdopodobnie jej nie chcesz.</translation>
@@ -7357,6 +7370,7 @@
 <translation id="8610103157987623234">Nieprawidłowy format – spróbuj ponownie</translation>
 <translation id="8611682088849615761">Nadal zezwalaj tej stronie na pełną kontrolę nad urządzeniami MIDI</translation>
 <translation id="8613164732773110792">Możesz użyć tylko małych liter, cyfr, podkreśleń i myślników</translation>
+<translation id="8613645710357126807">Nie zezwolono na używanie rozszerzeń</translation>
 <translation id="8613786722548417558">Plik <ph name="FILE_NAME" /> jest za duży, by przeprowadzić kontrolę bezpieczeństwa. Możesz otwierać pliki, których rozmiar nie przekracza 50 MB.</translation>
 <translation id="8615618338313291042">Aplikacja w trybie incognito: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Dodaj użytkownika <ph name="CONTACT_NAME" /> do kontaktów</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index 83ea172..ba3854a 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" /> requer que você mantenha o cartão inteligente inserido.}other{Sua conta será desconectada automaticamente em # segundos.
 <ph name="DOMAIN" /> requer que você mantenha o cartão inteligente inserido.}}</translation>
 <translation id="1193927020065025187">O site pode estar tentando enganar você para que permita notificações invasivas</translation>
+<translation id="1195210374336998651">Acessar as configurações do app</translation>
 <translation id="1195447618553298278">Erro desconhecido.</translation>
 <translation id="1195558154361252544">As notificações são bloqueadas automaticamente para todos os sites, exceto aqueles que têm permissão</translation>
 <translation id="1197088940767939838">Laranja</translation>
@@ -780,6 +781,7 @@
 <translation id="176587472219019965">&amp;Nova janela</translation>
 <translation id="1766575458646819543">Tela cheia fechada</translation>
 <translation id="1766957085594317166">Salve suas senhas de maneira segura na sua Conta do Google, e nunca mais precisará digitá-las novamente.</translation>
+<translation id="1767043563165955993">Usar com apps Android</translation>
 <translation id="1768212860412467516">Envie feedback sobre o experimento <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Ops! Ocorreu um problema ao entrar em contato com o servidor de logon. Verifique a conexão com a Internet e o nome de domínio, depois tente novamente.</translation>
 <translation id="1769104665586091481">Abrir link em uma nova &amp;janela</translation>
@@ -1116,6 +1118,7 @@
 <translation id="2113479184312716848">Abrir &amp;arquivo...</translation>
 <translation id="2113921862428609753">Acesso às informações de autoridade</translation>
 <translation id="2114326799768592691">Atualizar &amp;frame</translation>
+<translation id="2114413269775311385">Use esta conta com apps Android. Você pode controlar as permissões para apps Android nas <ph name="LINK_BEGIN" />Configurações de apps<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto de <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Nenhum chip inserido</translation>
 <translation id="2116619964159595185">Os sites geralmente se conectam a dispositivos Bluetooth para recursos como a configuração ou sincronização de um sensor de baixa energia, um monitor de saúde ou atividade física ou uma lâmpada de iluminação inteligente</translation>
@@ -1908,6 +1911,7 @@
 <translation id="287205682142673348">Encaminhamento de portas</translation>
 <translation id="287286579981869940">Adicionar <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Desligar</translation>
+<translation id="2873995907777332853">Mostrar detalhes sobre bloquear todos os cookies</translation>
 <translation id="2874939134665556319">Faixa anterior</translation>
 <translation id="2875698561019555027">Páginas de erro do Chrome</translation>
 <translation id="2876336351874743617">Dedo 2</translation>
@@ -1955,6 +1959,7 @@
 <translation id="2915873080513663243">Leitura automática</translation>
 <translation id="2916073183900451334">Ao pressionar Tab em uma página da Web, os links e os campos de formulário são destacados</translation>
 <translation id="2916745397441987255">Pesquisar extensões</translation>
+<translation id="2918484639460781603">Ir a configurações</translation>
 <translation id="2918484644467055090">Este dispositivo não pode ser inscrito na organização a que sua conta pertence porque ele está marcado para ser gerenciado por outra organização.</translation>
 <translation id="2920852127376356161">Sem permissão para gerenciar protocolos</translation>
 <translation id="2921081876747860777">Crie uma senha para proteger seus dados locais.</translation>
@@ -2211,6 +2216,7 @@
 <translation id="3189187154924005138">Cursor grande</translation>
 <translation id="3190558889382726167">Senha salva</translation>
 <translation id="3192947282887913208">Arquivos de áudio</translation>
+<translation id="3194786596445804250">Mostrar detalhes sobre bloquear cookies de terceiros</translation>
 <translation id="3197453258332670132">Ao clicar com o botão direito do mouse ou tocar na tela e mantê-la pressionada, informações relacionadas à seleção de texto são exibidas</translation>
 <translation id="3199127022143353223">Servidores</translation>
 <translation id="3200061262156232574">No seu carrinho de compras</translation>
@@ -2579,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;Saiba mais</translation>
 <translation id="3593152357631900254">Ativar o modo Fuzzy-Pinyn</translation>
 <translation id="3593965109698325041">Restrições de nome do certificado</translation>
+<translation id="3596012367874587041">Configurações do app</translation>
 <translation id="3596414637720633074">Bloquear cookies de terceiros na navegação anônima</translation>
 <translation id="3599221874935822507">Em relevo</translation>
 <translation id="3599863153486145794">Limpa o histórico de todos os dispositivos conectados. Sua Conta do Google pode ter outras formas de histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2956,6 +2963,7 @@
 <translation id="3943582379552582368">&amp;Voltar</translation>
 <translation id="3943857333388298514">Colar</translation>
 <translation id="3945513714196326460">Tente um nome menor</translation>
+<translation id="3947643756376959257">Insira o código de acesso mostrado no Chromecast ou na TV.</translation>
 <translation id="3948027458879361203">Mudar o nome do host</translation>
 <translation id="3948116654032448504">&amp;Procurar imagem no <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> pode editar arquivos nas seguintes pastas</translation>
@@ -3197,12 +3205,14 @@
 <translation id="4210048056321123003">Fazendo o download da máquina virtual</translation>
 <translation id="421182450098841253">&amp;Exibir barra de favoritos</translation>
 <translation id="4211851069413100178">Envie dados de uso e diagnóstico. Ajude a melhorar sua experiência com o Android enviando automaticamente ao Google dados de diagnóstico, de uso de apps e do dispositivo. Eles ajudarão a melhorar o sistema, a estabilidade de apps e muito mais. Alguns dados agregados também ajudarão os apps do Google e os nossos parceiros, como os desenvolvedores Android. Essa <ph name="BEGIN_LINK1" />configuração<ph name="END_LINK1" /> é aplicada pelo proprietário, que pode optar por enviar dados de uso e diagnóstico deste dispositivo para o Google. Se a configuração "Atividade na Web e de apps adicional" estiver ativada, esses dados poderão ser salvos na sua Conta do Google. <ph name="BEGIN_LINK2" />Saiba mais<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Parar de usar com apps Android</translation>
 <translation id="42126664696688958">Exportar</translation>
 <translation id="42137655013211669">O acesso a este recurso foi proibido pelo servidor.</translation>
 <translation id="4217571870635786043">Ditado</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Ocorreu um erro durante a ativação.</translation>
 <translation id="4225397296022057997">Em todos os sites</translation>
+<translation id="4227605727325220318">Adicionar um novo smartphone Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{A extensão não é permitida}one{A extensão não é permitida}other{Algumas extensões não são permitidas}}</translation>
 <translation id="4231095370974836764">Instale apps e jogos do Google Play no <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Configurar o Kerberos</translation>
@@ -4735,6 +4745,7 @@
 <translation id="5862109781435984885">Mostrar ferramentas da stylus na estante</translation>
 <translation id="5862319196656206789">Configurar dispositivos conectados</translation>
 <translation id="5863445608433396414">Ativar recursos de depuração</translation>
+<translation id="5864147196375746035">Transmitir para um dispositivo gerenciado</translation>
 <translation id="5864195618110239517">Usar conexão limitada</translation>
 <translation id="5864754048328252126">Ação de inatividade ao carregar</translation>
 <translation id="5865508026715185451">O app <ph name="APP_NAME" /> será pausado em breve</translation>
@@ -5304,6 +5315,7 @@
 <translation id="6455264371803474013">Em sites específicos</translation>
 <translation id="6455894534188563617">&amp;Nova pasta</translation>
 <translation id="645705751491738698">Continuar bloqueando JavaScript</translation>
+<translation id="6458347417133445570">Mostrar detalhes sobre permitir todos os cookies</translation>
 <translation id="6458701200018867744">Falha no upload (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Usar seleção para buscar</translation>
 <translation id="6459799433792303855">A janela ativa foi movida para outra tela.</translation>
@@ -5914,6 +5926,7 @@
 <translation id="7086672505018440886">Incluir arquivos de registros do Chrome no arquivo.</translation>
 <translation id="7088434364990739311">A atualização da verificação falhou ao iniciar (código do erro <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">O administrador pôs este dispositivo no estado de provisionamento cancelado. Para ativar a inscrição do dispositivo, solicite que o administrador o coloque no estado "Pendente".</translation>
+<translation id="7090160970140261931">É possível adicionar mais contas ao <ph name="DEVICE_TYPE" /> para serem usadas com sites e apps Android. Você também pode controlar quais contas são usadas em apps Android.</translation>
 <translation id="7093220653036489319">Respostas rápidas</translation>
 <translation id="7093416310351037609">Para proteger os dados, sua organização exige que todos os downloads qualificados sejam salvos na conta dela no <ph name="WEB_DRIVE" />.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6734,6 +6747,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" />s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> pode ver <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Adicione palavras a serem puladas pela verificação ortográfica</translation>
+<translation id="7922935920104868876">Mostrar detalhes sobre o bloqueio de cookies de terceiros no modo de navegação anônima</translation>
 <translation id="7924358170328001543">Erro ao encaminhar a porta</translation>
 <translation id="7925108652071887026">Dados do preenchimento automático</translation>
 <translation id="792514962475806987">Nível de zoom da lupa em área fixa:</translation>
@@ -6898,6 +6912,7 @@
 <translation id="8076492880354921740">Guias</translation>
 <translation id="8076835018653442223">O acesso aos arquivos locais do seu dispositivo foi desativado pelo administrador</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Contas que podem ser usadas com apps Android</translation>
 <translation id="8081989000209387414">Desativar a depuração do adb?</translation>
 <translation id="8082106343289440791">Parear com "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Desativar a depuração do adb redefinirá este <ph name="DEVICE_TYPE" /> para a configuração original. Todas as contas de usuário e os dados locais serão apagados.</translation>
@@ -6972,6 +6987,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> guia encontrada</translation>
 <translation id="8148760431881541277">Limitar login</translation>
 <translation id="8149564499626272569">Verificar pelo smartphone usando um cabo USB</translation>
+<translation id="815114315010033526">Em vez disso, use o código QR</translation>
 <translation id="8151638057146502721">Configurar</translation>
 <translation id="8154790740888707867">Nenhum arquivo</translation>
 <translation id="8154912474061769055">Os recursos de vários sites podem não funcionar</translation>
@@ -6997,6 +7013,7 @@
 <translation id="8176332201990304395">Rosa e branco</translation>
 <translation id="8177196903785554304">Detalhes da rede</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Mover guia para uma nova janela}one{Mover guia para uma nova janela}other{Mover guias para uma nova janela}}</translation>
+<translation id="8179188928355984576">Não usada com apps Android</translation>
 <translation id="8179976553408161302">Entrar</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" pode ​​ler e excluir imagens, vídeos e arquivos de som nos locais marcados.</translation>
 <translation id="8181215761849004992">Não é possível vincular ao domínio. Confira na sua conta se você tem privilégios suficientes para adicionar dispositivos.</translation>
@@ -7156,6 +7173,7 @@
 <translation id="8342861492835240085">Selecione uma coleção</translation>
 <translation id="8347227221149377169">Trabalhos de impressão</translation>
 <translation id="834785183489258869">Na navegação anônima, os sites não podem usar seus cookies para ver suas atividades de navegação em outras páginas, por exemplo, para personalizar anúncios. Os recursos de alguns sites podem não funcionar.</translation>
+<translation id="8349499562373871073">Você pode selecionar uma conta existente para usar com apps Android ou adicionar uma nova Conta do Google. Após fazer login em um app Android, a conta pode ser usada com outros apps. Você pode mudar o acesso de apps Android em <ph name="LINK_BEGIN" />Configurações &gt; Contas<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Ferramentas da stylus na base</translation>
 <translation id="8351316842353540018">Sempre mostrar opções de acessibilidade</translation>
 <translation id="8351419472474436977">Essa extensão assumiu o controle das suas configurações de proxy, o que significa que ela pode alterar, quebrar ou escutar qualquer coisa que você faz on-line. Se você não tem certeza do motivo dessa mudança, provavelmente não a deseja.</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index 5e5860ec..2735f44 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -205,6 +205,7 @@
 <ph name="DOMAIN" /> requer que mantenha o seu cartão inteligente inserido.}other{A sua sessão será terminada automaticamente dentro de # segundos.
 <ph name="DOMAIN" /> requer que mantenha o seu cartão inteligente inserido.}}</translation>
 <translation id="1193927020065025187">Este site pode estar a tentar enganar o utilizador para que permita notificações intrusivas.</translation>
+<translation id="1195210374336998651">Aceda às definições da app</translation>
 <translation id="1195447618553298278">Erro desconhecido.</translation>
 <translation id="1195558154361252544">As notificações são bloqueadas automaticamente para todos os sites, exceto os que autorizar</translation>
 <translation id="1197088940767939838">Laranja</translation>
@@ -1897,6 +1898,7 @@
 <translation id="287205682142673348">Encaminhamento de porta</translation>
 <translation id="287286579981869940">Adicionar <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Encerrar</translation>
+<translation id="2873995907777332853">Mostrar detalhes sobre como bloquear todos os cookies</translation>
 <translation id="2874939134665556319">Faixa anterior</translation>
 <translation id="2875698561019555027">(Páginas de erro do Chrome)</translation>
 <translation id="2876336351874743617">Dedo 2</translation>
@@ -1944,6 +1946,7 @@
 <translation id="2915873080513663243">Análise automática</translation>
 <translation id="2916073183900451334">Premir Separador numa página Web realça links e campos de formulários</translation>
 <translation id="2916745397441987255">Pesquisar extensões</translation>
+<translation id="2918484639460781603">Ir para definições</translation>
 <translation id="2918484644467055090">Não é possível inscrever este dispositivo na entidade a que pertence a sua conta, porque está marcado para gestão por uma entidade diferente.</translation>
 <translation id="2920852127376356161">Sem autorização para processar protocolos</translation>
 <translation id="2921081876747860777">Crie uma palavra-passe para proteger os seus dados locais.</translation>
@@ -2201,6 +2204,7 @@
 <translation id="3189187154924005138">Cursor grande</translation>
 <translation id="3190558889382726167">Palavra-passe guardada</translation>
 <translation id="3192947282887913208">Ficheiros de áudio</translation>
+<translation id="3194786596445804250">Mostrar detalhes sobre como bloquear cookies de terceiros</translation>
 <translation id="3197453258332670132">Ao clicar com o botão direito do rato ou ao manter o botão premido, apresenta informações para a sua seleção de texto</translation>
 <translation id="3199127022143353223">Servidores</translation>
 <translation id="3200061262156232574">No seu carrinho de compras</translation>
@@ -2568,6 +2572,7 @@
 <translation id="3592260987370335752">&amp;Saiba mais</translation>
 <translation id="3593152357631900254">Ativar modo Pinyin semelhante</translation>
 <translation id="3593965109698325041">Restrições de nome do certificado</translation>
+<translation id="3596012367874587041">Definições da app</translation>
 <translation id="3596414637720633074">Bloqueie cookies de terceiros na Navegação anónima.</translation>
 <translation id="3599221874935822507">Elevada</translation>
 <translation id="3599863153486145794">Limpa o histórico de todos os dispositivos com sessão iniciada. A sua Conta Google pode ter outras formas do histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5296,6 +5301,7 @@
 <translation id="6455264371803474013">Em sites específicos</translation>
 <translation id="6455894534188563617">&amp;Nova pasta</translation>
 <translation id="645705751491738698">Continuar a bloquear JavaScript</translation>
+<translation id="6458347417133445570">Mostrar detalhes sobre como permitir todos os cookies</translation>
 <translation id="6458701200018867744">O carregamento falhou (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Utilizar selecção para localizar</translation>
 <translation id="6459799433792303855">Janela ativa movida para outro ecrã.</translation>
@@ -6729,6 +6735,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> s</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> pode ver <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Adicione palavras que pretende que a verificação ortográfica ignore.</translation>
+<translation id="7922935920104868876">Mostrar detalhes sobre como bloquear cookies de terceiros na Navegação anónima</translation>
 <translation id="7924358170328001543">Ocorreu um erro no encaminhamento de porta.</translation>
 <translation id="7925108652071887026">Dados de preenchimento automático</translation>
 <translation id="792514962475806987">Nível de zoom da lupa ancorada:</translation>
@@ -6893,6 +6900,7 @@
 <translation id="8076492880354921740">Separadores</translation>
 <translation id="8076835018653442223">O acesso a ficheiros locais no seu dispositivo foi desativado pelo seu administrador.</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Contas disponíveis para utilizar com apps Android</translation>
 <translation id="8081989000209387414">Pretende desativar a depuração do adb?</translation>
 <translation id="8082106343289440791">Sincronizar com o dispositivo "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">A desativação da depuração do adb vai repor as definições de fábrica deste <ph name="DEVICE_TYPE" />. Todos os dados locais e contas de utilizador serão apagados.</translation>
@@ -7153,6 +7161,7 @@
 <translation id="8342861492835240085">Selecionar uma coleção</translation>
 <translation id="8347227221149377169">Tarefas de impressão</translation>
 <translation id="834785183489258869">Quando estiver na Navegação anónima, os sites não podem utilizar cookies para ver a sua atividade de navegação em diferentes sites, por exemplo, para personalizar anúncios. As funcionalidades em alguns sites podem não funcionar.</translation>
+<translation id="8349499562373871073">Pode selecionar uma conta existente para utilizar com apps Android ou adicionar uma nova Conta Google. Quando iniciar sessão numa app Android, a sua conta pode ser utilizada com outras apps Android. Pode alterar o acesso das apps Android em <ph name="LINK_BEGIN" />Definições &gt; Contas<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Ferramentas da caneta stylus na estação de ancoragem</translation>
 <translation id="8351316842353540018">Mostrar sempre opções de a11y</translation>
 <translation id="8351419472474436977">Esta extensão apoderou-se das suas definições de proxy, o que significa que pode alterar, interromper ou intercetar qualquer coisa que esteja a fazer online. Se não tem a certeza do motivo pelo qual aconteceu esta alteração, é provável que não a queira.</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index bc30da7..2207b71 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -205,6 +205,7 @@
 <ph name="DOMAIN" /> solicită să nu scoți cardul inteligent din dispozitiv.}other{Vei fi deconectat(ă) automat peste # de secunde.
 <ph name="DOMAIN" /> solicită să nu scoți cardul inteligent din dispozitiv.}}</translation>
 <translation id="1193927020065025187">Acest site ar putea încerca să te păcălească, astfel încât să permiți notificările deranjante</translation>
+<translation id="1195210374336998651">Accesează setările aplicației</translation>
 <translation id="1195447618553298278">Eroare necunoscută.</translation>
 <translation id="1195558154361252544">Notificările sunt blocate automat pentru toate site-urile, cu excepția celor pe care le accepți</translation>
 <translation id="1197088940767939838">Portocaliu</translation>
@@ -1943,6 +1944,7 @@
 <translation id="2915873080513663243">Scanare automată</translation>
 <translation id="2916073183900451334">Dacă apeși Tab când ești pe o pagină, se evidențiază linkurile și câmpurile formularelor</translation>
 <translation id="2916745397441987255">Caută extensii</translation>
+<translation id="2918484639460781603">Accesați setările</translation>
 <translation id="2918484644467055090">Acest dispozitiv nu poate fi înregistrat în organizația căreia îi aparține contul tău, deoarece dispozitivul este atribuit unei alte organizații pentru gestionare.</translation>
 <translation id="2920852127376356161">Nu au permisiunea de a gestiona protocoale</translation>
 <translation id="2921081876747860777">Creează o parolă ca să protejezi datele locale.</translation>
@@ -2567,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;Aflați mai multe</translation>
 <translation id="3593152357631900254">Activează modul Pinyin simplificat</translation>
 <translation id="3593965109698325041">Limitări privind numele certificatului</translation>
+<translation id="3596012367874587041">Setările aplicației</translation>
 <translation id="3596414637720633074">Blochează cookie-urile terță parte în modul incognito</translation>
 <translation id="3599221874935822507">În relief</translation>
 <translation id="3599863153486145794">Șterge istoricul de pe toate dispozitivele conectate. Contul Google poate să ofere alte forme ale istoricului de navigare la <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index b41734ab..d31951b3 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -207,6 +207,7 @@
 По правилам домена <ph name="DOMAIN" /> смарт-карта должна быть вставлена.}other{Вы автоматически выйдете из системы через # секунды.
 По правилам домена <ph name="DOMAIN" /> смарт-карта должна быть вставлена.}}</translation>
 <translation id="1193927020065025187">Возможно, этот сайт пытается обманным путем заставить вас разрешить навязчивые уведомления.</translation>
+<translation id="1195210374336998651">Открыть настройки приложений</translation>
 <translation id="1195447618553298278">Неизвестная ошибка.</translation>
 <translation id="1195558154361252544">Уведомления со всех сайтов, кроме тех, которым вы предоставили отдельные разрешения, автоматически блокируются.</translation>
 <translation id="1197088940767939838">Оранжевый</translation>
@@ -1895,6 +1896,7 @@
 <translation id="287205682142673348">Переадресация портов</translation>
 <translation id="287286579981869940">Добавить сеть <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Завершить работу</translation>
+<translation id="2873995907777332853">Подробнее о блокировке всех файлов cookie</translation>
 <translation id="2874939134665556319">Предыдущий трек</translation>
 <translation id="2875698561019555027">(страницы ошибок в Chrome)</translation>
 <translation id="2876336351874743617">2-й палец</translation>
@@ -1942,6 +1944,7 @@
 <translation id="2915873080513663243">Автосканирование</translation>
 <translation id="2916073183900451334">Нажатие клавиши Tab на веб-странице приводит к выделению ссылок, а также полей формы</translation>
 <translation id="2916745397441987255">Поиск по расширениям</translation>
+<translation id="2918484639460781603">Перейти к настройкам</translation>
 <translation id="2918484644467055090">Это устройство уже зарегистрировано в другой организации, не связанной с вашим аккаунтом.</translation>
 <translation id="2920852127376356161">Сайты, которым запрещено обрабатывать протоколы:</translation>
 <translation id="2921081876747860777">Введите пароль, чтобы защитить свои локальные данные</translation>
@@ -2198,6 +2201,7 @@
 <translation id="3189187154924005138">Большой курсор</translation>
 <translation id="3190558889382726167">Пароль сохранен</translation>
 <translation id="3192947282887913208">Аудиофайлы</translation>
+<translation id="3194786596445804250">Подробнее о блокировке сторонних файлов cookie</translation>
 <translation id="3197453258332670132">При нажатии правой кнопкой мыши или долгом нажатии будет показываться информация о выбранном тексте</translation>
 <translation id="3199127022143353223">Серверы</translation>
 <translation id="3200061262156232574">Ваша корзина</translation>
@@ -2565,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;Подробнее</translation>
 <translation id="3593152357631900254">Включить режим Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Ограничения имени сертификата</translation>
+<translation id="3596012367874587041">Настройки приложений</translation>
 <translation id="3596414637720633074">Блокировать файлы cookie сторонних сайтов в режиме инкогнито</translation>
 <translation id="3599221874935822507">Приподнятая</translation>
 <translation id="3599863153486145794">Удаление истории со всех устройств, на которых выполнен вход в аккаунт. Информация о других ваших действиях в Интернете может также храниться на странице <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5292,6 +5297,7 @@
 <translation id="6455264371803474013">На выбранных сайтах</translation>
 <translation id="6455894534188563617">&amp;Новая папка</translation>
 <translation id="645705751491738698">Всегда блокировать JavaScript</translation>
+<translation id="6458347417133445570">Подробнее о разрешении использовать все файлы cookie</translation>
 <translation id="6458701200018867744">Ошибка загрузки (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Найти выделенное</translation>
 <translation id="6459799433792303855">Активное окно перемещено на другой экран.</translation>
@@ -6722,6 +6728,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> сек.</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> может просматривать файл "<ph name="FILENAME" />".</translation>
 <translation id="7920482456679570420">Добавьте ниже слова, правописание которых не нужно проверять.</translation>
+<translation id="7922935920104868876">Подробнее о блокировке сторонних файлов cookie в режиме инкогнито</translation>
 <translation id="7924358170328001543">При переадресации порта произошла ошибка.</translation>
 <translation id="7925108652071887026">Данные автозаполнения</translation>
 <translation id="792514962475806987">Масштаб закрепленной лупы:</translation>
@@ -6886,6 +6893,7 @@
 <translation id="8076492880354921740">Вкладки</translation>
 <translation id="8076835018653442223">Доступ к локальным файлам на вашем устройстве отключен администратором.</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Аккаунты, которые можно использовать в приложениях для Android</translation>
 <translation id="8081989000209387414">Отключить отладку с ADB?</translation>
 <translation id="8082106343289440791">Подключиться к устройству "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Если вы отключите отладку с ADB, настройки этого устройства <ph name="DEVICE_TYPE" /> будут сброшены до заводских. Все аккаунты пользователей и локальные данные будут удалены.</translation>
@@ -7146,6 +7154,7 @@
 <translation id="8342861492835240085">Выберите коллекцию</translation>
 <translation id="8347227221149377169">Задания печати</translation>
 <translation id="834785183489258869">В режиме инкогнито сайты не могут использовать файлы cookie, чтобы отслеживать ваши действия в браузере, например для показа персонализированной рекламы. Из-за этого функции некоторых сайтов могут стать недоступными.</translation>
+<translation id="8349499562373871073">Выберите для приложений Android существующий аккаунт Google или создайте новый. После входа в аккаунт в одном приложении для Android его можно будет использовать и в других. Чтобы изменить параметры доступа к этим приложениям, выберите <ph name="LINK_BEGIN" />Настройки &gt; Аккаунты<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Инструменты стилуса на панели Dock</translation>
 <translation id="8351316842353540018">Всегда показывать специальные возможности</translation>
 <translation id="8351419472474436977">Это расширение контролирует настройки прокси-сервера. Это значит, что оно может отследить или изменить передаваемые вами данные, а также оборвать интернет-соединение. Если вы не знали об этом, вам следует отключить расширение.</translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb
index db9e5ab..7ec5ad6 100644
--- a/chrome/app/resources/generated_resources_si.xtb
+++ b/chrome/app/resources/generated_resources_si.xtb
@@ -207,6 +207,7 @@
 <ph name="DOMAIN" /> හට ඔබ ඔබගේ ස්මාර්ට් කාඩ්පත ඇතුළු කර තබා ගැනීමට අවශ්‍යයි.}other{තත්පර #කින් ඔබව ස්වයංක්‍රියව වරනු ඇත.
 <ph name="DOMAIN" /> හට ඔබ ඔබගේ ස්මාර්ට් කාඩ්පත ඇතුළු කර තබා ගැනීමට අවශ්‍යයි.}}</translation>
 <translation id="1193927020065025187">මෙම වෙබ් අඩවිය ආගන්තුක දැනුම්දීම්වලට ඉඩ දීමට ඔබව රැවටීමට උත්සාහ කරමින් සිටිය හැක</translation>
+<translation id="1195210374336998651">යෙදුම් සැකසීම් වෙත යන්න</translation>
 <translation id="1195447618553298278">නොදන්නා දෝෂය.</translation>
 <translation id="1195558154361252544">ඔබ අවසර දෙන ඒවා හැර සියලුම වෙබ් අඩවි සඳහා දැනුම්දීම් ස්වයංක්‍රීයව අවහිර කෙරෙති</translation>
 <translation id="1197088940767939838">තැඹිලි</translation>
@@ -387,6 +388,7 @@
 <translation id="1396259464226642517">මෙම ප්‍රතිඵලය අනපේක්‍ෂිත වූයේද? <ph name="BEGIN_LINK" />ප්‍රතිපෝෂණය යවන්න<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">ඔබ ඇතුළු කළ පරිශීලක නාමය හා මුරපදය නොගැළපේ</translation>
 <translation id="1397500194120344683">සුදුසු උපාංග නැත. <ph name="LINK_BEGIN" />තවත් දැන ගන්න<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">ඔබ මෙම උපාංගවල Chrome වෙත පුරා ඇත, එබැවින් ඔබට ඒවා ආරක්ෂක යතුරු ලෙස භාවිත කළ හැකිය.</translation>
 <translation id="1398853756734560583">විශාල කරන්න</translation>
 <translation id="139911022479327130">ඔබේ දුරකථනය අගුලු ඇර ඒ ඔබ බව තහවුරු කරන්න</translation>
 <translation id="1401308693935339022">ස්ථානය භාවිත කරන්න. මෙම උපාංගයේ ස්ථානය භාවිත කිරීමට ස්ථාන අවසරය සහිත යෙදුම් සහ සේවාවලට ඉඩ දෙන්න. Google ස්ථාන දත්ත ආවර්තීයව එකතු කෙරෙන අතර, ස්ථාන නිරවද්‍යතාව සහ ස්ථානය මත පදනම් වූ සේවා වැඩි දියුණු කිරීමට මෙම දත්ත නිර්නාමික ආකාරයට භාවිත කරයි.</translation>
@@ -1169,6 +1171,7 @@
 <translation id="2163470535490402084">ඔබේ <ph name="DEVICE_TYPE" /> වෙත පිරීමට කරුණාකර අන්තර්ජාලයට සබඳින්න.</translation>
 <translation id="2163937499206714165">අඳුරු ප්‍රකාරය ක්‍රියාත්මක කරන්න</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" />, සහ තවත් ස්විච 1</translation>
+<translation id="2165102982098084499">QR කේතයක් ස්කෑන් කිරීම මගින් ඔබ මෙම උපාංග සම්බන්ධ කළේය.</translation>
 <translation id="2165177462441582039">එක් එක් අයිතමය තුළ උද්දීපනය පැවතිය යුතු කාලය තෝරන්න</translation>
 <translation id="2166369534954157698">කඩිසර දුඹුරු හිවලා කම්මැලි සුනඛයාට උඩින් පැන්නේය</translation>
 <translation id="2169062631698640254">කෙසේ වෙතත් සයින් ඉන් වන්න</translation>
@@ -2569,6 +2572,7 @@
 <translation id="3592260987370335752">සහ වැඩිදුර ඉගෙන ගන්න</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin ප්‍රකාරය සක්‍රීය කරන්න</translation>
 <translation id="3593965109698325041">සහතික නාම නිරොධය</translation>
+<translation id="3596012367874587041">යෙදුම් සැකසීම්</translation>
 <translation id="3596414637720633074">අප්‍රසිද්ධය තුළ තෙවන පාර්ශ්ව කුකී අවහිර කරන්න</translation>
 <translation id="3599221874935822507">නංවන ලද</translation>
 <translation id="3599863153486145794">සියලු පුරනය-වූ උපාංගවලින් ඉතිහාසය හිස් කරයි. ඔබේ Google ගිණුමට <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> හිදී බ්‍රවුස් කිරීමේ ඉතිහාසයේ වෙනත් ආකාරයන් තිබිය හැක.</translation>
@@ -5689,6 +5693,7 @@
 <translation id="6857725247182211756">තත් <ph name="SECONDS" /></translation>
 <translation id="6860097299815761905">ප්‍රොක්සි සැකසුම්...</translation>
 <translation id="6860427144121307915">ටැබ් එකක විවෘත කරන්න</translation>
+<translation id="6863496016067551393">සියලු දිගුවලට ඉඩ දේ</translation>
 <translation id="686366188661646310">මුරපදය මකන්නද?</translation>
 <translation id="6865313869410766144">ස්වයංපිරවුම් පෝර්ම දත්ත</translation>
 <translation id="6865598234501509159">පිටුව <ph name="LANGUAGE" /> බසින් නැත</translation>
@@ -5718,6 +5723,7 @@
 <translation id="6900532703269623216">වැඩිදියුණු කළ ආරක්ෂාව</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> යාවත්කාලීන කිරීමට නැවත පුරන්න</translation>
 <translation id="6900654715912436255">ඔබට මෙම සෙවීම් යාන්ත්‍රණය මැකීමට අවශ්‍ය බව විශ්වාසද?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">පෙරදසුන සඳහා කටහඬ</translation>
 <translation id="6902336033320348843">සහය නොදැක්වෙන කොටස: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">උපාංගය වසමට එකතු කරන්න</translation>
@@ -7367,6 +7373,7 @@
 <translation id="8610103157987623234">වැරදි ආකෘතිය, නැවත උත්සාහ කරන්න</translation>
 <translation id="8611682088849615761">මෙම අඩවියට MIDI උපාංගවල පූර්ණ පාලනය ඉඩ දීම දිගටම කර ගෙන යන්න</translation>
 <translation id="8613164732773110792">ඉංග්‍රීසි සිම්පල් අකුරු, අංක, පහත් ඉර, හෝ මැද ඉර පමණයි</translation>
+<translation id="8613645710357126807">දිගු භාවිත කිරීමට ඉඩ නොදේ</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ආරක්ෂක පරීක්ෂාවට විශාල වැඩියි. ඔබට 50 MB දක්වා ගොනු විවෘත කළ හැක.</translation>
 <translation id="8615618338313291042">ඉන්කග්නිටෝ යෙදු: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">ඔබගේ සම්බන්ධතාවලට <ph name="CONTACT_NAME" /> එක් කරන්න</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index 07faa8e..38cbf8f2 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> vyžaduje, aby ste svoju čipovú kartu ponechali vloženú.}other{Systém vás automaticky odhlási o # sekúnd.
 <ph name="DOMAIN" /> vyžaduje, aby ste svoju čipovú kartu ponechali vloženú.}}</translation>
 <translation id="1193927020065025187">Tento web sa vás môže pokúsiť naviesť, aby ste povolili obťažujúce upozornenia</translation>
+<translation id="1195210374336998651">Prejsť do nastavení aplikácie</translation>
 <translation id="1195447618553298278">Neznáma chyba.</translation>
 <translation id="1195558154361252544">Upozornenia sú automaticky blokované pre všetky weby okrem tých, ktoré povolíte</translation>
 <translation id="1197088940767939838">Oranžová</translation>
@@ -1946,6 +1947,7 @@
 <translation id="2915873080513663243">Automatické prehľadávanie</translation>
 <translation id="2916073183900451334">Zvýrazňovať odkazy a polia formulárov na webovej stránke po stlačení klávesu Tab</translation>
 <translation id="2916745397441987255">Hľadať rozšírenia</translation>
+<translation id="2918484639460781603">Prejsť na nastavenia</translation>
 <translation id="2918484644467055090">Toto zariadenie nemôže byť zaregistrované do organizácie vášho účtu, pretože je označené ako spravované inou organizáciou.</translation>
 <translation id="2920852127376356161">Nie je povolené obsluhovať protokoly</translation>
 <translation id="2921081876747860777">Vytvorte si heslo na ochranu miestnych dát.</translation>
@@ -2570,6 +2572,7 @@
 <translation id="3592260987370335752">&amp;Viac informácií</translation>
 <translation id="3593152357631900254">Povoliť režim nepresného vstupu pinyin</translation>
 <translation id="3593965109698325041">Obmedzenia názvu certifikátu</translation>
+<translation id="3596012367874587041">Nastavenia aplikácie</translation>
 <translation id="3596414637720633074">Blokovať súbory cookie tretích strán v režime inkognito</translation>
 <translation id="3599221874935822507">Reliéf</translation>
 <translation id="3599863153486145794">Vymaže históriu zo všetkých prihlásených zariadení. Váš účet Google môže mať ďalšie formy histórie prehliadania na adrese <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index dbcfb09..cc0287aa 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -209,6 +209,7 @@
 Domena <ph name="DOMAIN" /> zahteva, da je pametna kartica vstavljena.}other{Samodejno boste odjavljeni čez # sekund.
 Domena <ph name="DOMAIN" /> zahteva, da je pametna kartica vstavljena.}}</translation>
 <translation id="1193927020065025187">To spletno mesto vas bo morda poskušalo zavesti, da omogočite vsiljiva obvestila</translation>
+<translation id="1195210374336998651">V nastavitve aplikacije</translation>
 <translation id="1195447618553298278">Neznana napaka.</translation>
 <translation id="1195558154361252544">Obvestila so samodejno blokirana za vsa spletna mesta, razen za tista z vašim dovoljenjem</translation>
 <translation id="1197088940767939838">Oranžna</translation>
@@ -389,6 +390,7 @@
 <translation id="1396259464226642517">Je bil ta rezultat nepričakovan? <ph name="BEGIN_LINK" />Pošljite povratne informacije<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Vneseno uporabniško ime in geslo se ne ujemata</translation>
 <translation id="1397500194120344683">Ni ustreznih naprav. <ph name="LINK_BEGIN" />Preberite več o tem.<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">V teh napravah ste prijavljeni v Chrome, torej jih lahko uporabljate kot varnostne ključe.</translation>
 <translation id="1398853756734560583">Povečaj</translation>
 <translation id="139911022479327130">Odklenite telefon in potrdite, da ste to res vi.</translation>
 <translation id="1401308693935339022">Uporaba lokacije. Aplikacijam in storitvam z dovoljenjem za lokacijo dovolite uporabo lokacije te naprave. Google morda redno pridobiva podatke o lokaciji in te podatke anonimno uporablja za izboljšanje natančnosti zaznavanja lokacije in storitev na podlagi lokacije.</translation>
@@ -1183,6 +1185,7 @@
 <translation id="2163470535490402084">Če se želite prijaviti v napravo <ph name="DEVICE_TYPE" />, vzpostavite povezavo z internetom.</translation>
 <translation id="2163937499206714165">Vklop temnega načina</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> in še 1 stikalo</translation>
+<translation id="2165102982098084499">Te naprave ste povezali z optičnim branjem kode QR.</translation>
 <translation id="2165177462441582039">Izberite, kako dolgo naj posamezen element ostane označen</translation>
 <translation id="2166369534954157698">Hitra rjava lisica preskoči lenega psa</translation>
 <translation id="2169062631698640254">Kljub temu se želim prijaviti</translation>
@@ -1959,6 +1962,7 @@
 <translation id="2915873080513663243">Samodejno iskanje</translation>
 <translation id="2916073183900451334">S pritiskom tabulatorke na spletni strani označite povezavo in tudi polja obrazcev</translation>
 <translation id="2916745397441987255">Iskanje razširitev</translation>
+<translation id="2918484639460781603">Pojdi v nastavitve</translation>
 <translation id="2918484644467055090">Te naprave ni mogoče včlaniti v organizacijo, ki ji pripada vaš račun, ker je naprava označena za upravljanje v drugi organizaciji.</translation>
 <translation id="2920852127376356161">Ni dovoljena obravnava protokolov.</translation>
 <translation id="2921081876747860777">Ustvarite geslo za zaščito lokalnih podatkov.</translation>
@@ -2583,6 +2587,7 @@
 <translation id="3592260987370335752">Več o tem</translation>
 <translation id="3593152357631900254">Omogoči način enakozvočnega pinjina</translation>
 <translation id="3593965109698325041">Omejitve imena potrdila</translation>
+<translation id="3596012367874587041">Nastavitve aplikacije</translation>
 <translation id="3596414637720633074">Blokiranje piškotkov drugih mest v anonimnem načinu</translation>
 <translation id="3599221874935822507">Dvignjeno</translation>
 <translation id="3599863153486145794">Izbriše zgodovino iz vseh naprav, v katerih ste prijavljeni. V Google Računu so morda druge vrste zgodovine brskanja na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5706,6 +5711,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> s</translation>
 <translation id="6860097299815761905">Nastavitve proxyja ...</translation>
 <translation id="6860427144121307915">Odpri na zavihku</translation>
+<translation id="6863496016067551393">Vse razširitve so odobrene</translation>
 <translation id="686366188661646310">Želite izbrisati geslo?</translation>
 <translation id="6865313869410766144">Podatki za samodejno izpolnjevanje obrazcev</translation>
 <translation id="6865598234501509159">Stran ni v jeziku <ph name="LANGUAGE" /></translation>
@@ -5735,6 +5741,7 @@
 <translation id="6900532703269623216">Izboljšana zaščita</translation>
 <translation id="6900651018461749106">Znova se prijavite, če želite posodobiti račun <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Ali ste prepričani, da želite izbrisati ta iskalnik?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Predhodno poslušanje glasu</translation>
 <translation id="6902336033320348843">Razdelek ni podprt: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Pridružite napravo v domeno</translation>
@@ -7386,6 +7393,7 @@
 <translation id="8610103157987623234">Nepravilna oblika, poskusite znova</translation>
 <translation id="8611682088849615761">Še naprej omogoči temu spletnemu mestu popoln nadzor nad napravami MIDI</translation>
 <translation id="8613164732773110792">Samo majhni znaki, števke, podčrtaji ali pomišljaji</translation>
+<translation id="8613645710357126807">Uporaba razširitev ni dovoljena</translation>
 <translation id="8613786722548417558">Datoteka <ph name="FILE_NAME" /> je prevelika za varnostni pregled. Odpreti je mogoče datoteke do 50 MB.</translation>
 <translation id="8615618338313291042">Anonimna aplikacija: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Dodaj osebo <ph name="CONTACT_NAME" /> med stike</translation>
diff --git a/chrome/app/resources/generated_resources_sq.xtb b/chrome/app/resources/generated_resources_sq.xtb
index d9f28cd..24a011e 100644
--- a/chrome/app/resources/generated_resources_sq.xtb
+++ b/chrome/app/resources/generated_resources_sq.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> kërkon që ti ta mbash kartën tënde smart të futur.}other{Do të dalësh automatikisht pas # sekondash.
 <ph name="DOMAIN" /> kërkon që ti ta mbash kartën tënde smart të futur.}}</translation>
 <translation id="1193927020065025187">Ky sajt mund të jetë duke u përpjekur të të mashtrojë që të lejosh njoftime të bezdisshme</translation>
+<translation id="1195210374336998651">Shko te cilësimet e aplikacionit</translation>
 <translation id="1195447618553298278">Gabim i panjohur.</translation>
 <translation id="1195558154361252544">Njoftimet janë bllokuar automatikisht për të gjitha sajtet përveçse për ato që lejon ti</translation>
 <translation id="1197088940767939838">Portokalli</translation>
@@ -765,6 +766,7 @@
 <translation id="176587472219019965">&amp;Dritare e re</translation>
 <translation id="1766575458646819543">Dole nga ekrani i plotë</translation>
 <translation id="1766957085594317166">Ruaji fjalëkalimet në mënyrë të sigurt në "Llogarinë tënde të Google" dhe nuk do të duhet t'i shkruash më përsëri</translation>
+<translation id="1767043563165955993">Përdore me aplikacione për Android</translation>
 <translation id="1768212860412467516">Dërgo komente për <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Kishte një problem gjatë kontaktimit të serverit të identifikimit. Kontrollo lidhjen me rrjetin dhe emrin e domenit, më pas provo sërish.</translation>
 <translation id="1769104665586091481">Hape lidhjen në dritare &amp;të re</translation>
@@ -1100,6 +1102,7 @@
 <translation id="2113479184312716848">Hap &amp;skedarin...</translation>
 <translation id="2113921862428609753">Qasja tek informacionet e autoritetit</translation>
 <translation id="2114326799768592691">Ringarko &amp;kornizën</translation>
+<translation id="2114413269775311385">Përdor këtë llogari me aplikacionet për Android. Lejet për aplikacionet për Android mund t'i kontrollosh te <ph name="LINK_BEGIN" />Cilësimet e aplikacioneve<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Fotografia nga <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Nuk është futur një kartë SIM</translation>
 <translation id="2116619964159595185">Sajtet lidhen zakonisht me pajisjet me Bluetooth për veçoritë si konfigurimi ose sinkronizimi i një sinjalizuesi me nivel të ulët energjie, një monitoruesi shëndeti ose fitnesi ose një llambe inteligjente</translation>
@@ -1889,6 +1892,7 @@
 <translation id="287205682142673348">Transferimi i portës</translation>
 <translation id="287286579981869940">Shto <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Ndërprit punën</translation>
+<translation id="2873995907777332853">Shfaq detajet për bllokimin e të gjitha kukive</translation>
 <translation id="2874939134665556319">Kënga e mëparshme</translation>
 <translation id="2875698561019555027">(Faqet e gabimit të Chrome)</translation>
 <translation id="2876336351874743617">Gishti 2</translation>
@@ -2192,6 +2196,7 @@
 <translation id="3189187154924005138">Kursori i madh</translation>
 <translation id="3190558889382726167">Fjalëkalimi u ruajt</translation>
 <translation id="3192947282887913208">Skedarët audio</translation>
+<translation id="3194786596445804250">Shfaq detajet për bllokimin e kukive të palëve të treta</translation>
 <translation id="3197453258332670132">Me një klikim me butonin djathtas ose një shtypje të gjatë, shfaq informacione përkatëse për zgjedhjen e tekstit</translation>
 <translation id="3199127022143353223">Serverët</translation>
 <translation id="3200061262156232574">Në grumbullin tënd të artikujve të blerjes</translation>
@@ -2559,6 +2564,7 @@
 <translation id="3592260987370335752">&amp;Mëso më shumë</translation>
 <translation id="3593152357631900254">Aktivizo modalitetin Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Kufizimet e emrit të certifikatës</translation>
+<translation id="3596012367874587041">Cilësimet e aplikacionit</translation>
 <translation id="3596414637720633074">Blloko kukit e palëve të treta në modalitetin "I fshehtë"</translation>
 <translation id="3599221874935822507">I ngritur</translation>
 <translation id="3599863153486145794">Pastron historikun nga të gjitha pajisjet ku je identifikuar. Llogaria jote e Google mund të ketë forma të tjera të historikut të shfletimit në <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2936,6 +2942,7 @@
 <translation id="3943582379552582368">&amp;Prapa</translation>
 <translation id="3943857333388298514">Ngjite</translation>
 <translation id="3945513714196326460">Provo një emër më të shkurtër</translation>
+<translation id="3947643756376959257">Fut kodin e qasjes që shfaqet në Chromecast ose në televizor.</translation>
 <translation id="3948027458879361203">Ndrysho emrin e pritësit</translation>
 <translation id="3948116654032448504">&amp;Kërko në <ph name="SEARCH_ENGINE" /> për imazhin</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> mund t'i modifikojnë skedarët në dosjet e mëposhtme</translation>
@@ -3177,12 +3184,14 @@
 <translation id="4210048056321123003">Pajisja virtuale po shkarkohet</translation>
 <translation id="421182450098841253">Shfaq shiritin e faqeshënuesve</translation>
 <translation id="4211851069413100178">Dërgo të dhënat e përdorimit dhe të diagnostikimit. Ndihmo me përmirësimin e përvojës sate të Android duke dërguar automatikisht te Google të dhënat e diagnostikimit dhe të përdorimit të pajisjes dhe të aplikacioneve. Këto do të ndihmojnë për qëndrueshmërinë e sistemit dhe të aplikacioneve dhe për përmirësime të tjera. Disa të dhëna të përmbledhura do të ndihmojnë po ashtu aplikacionet dhe partnerët e Google, si p.sh. zhvilluesit e Android. Ky <ph name="BEGIN_LINK1" />cilësim<ph name="END_LINK1" /> zbatohet nga zotëruesi. Zotëruesi mund të zgjedhë të dërgojë te Google të dhënat e diagnostikimit dhe të përdorimit për këtë pajisje. Nëse cilësimi i "Aktivitetit shtesë të uebit dhe të aplikacioneve" është i aktivizuar, këto të dhëna mund të ruhen në "Llogarinë tënde të Google". <ph name="BEGIN_LINK2" />Mëso më shumë<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Ndalo përdorimin me aplikacione për Android</translation>
 <translation id="42126664696688958">Eksporto</translation>
 <translation id="42137655013211669">Qasja te ky burim është e ndaluar nga serveri.</translation>
 <translation id="4217571870635786043">Diktimi</translation>
 <translation id="4219558185499589032">Boks</translation>
 <translation id="4220648711404560261">Ndodhi një gabim gjatë aktivizimit.</translation>
 <translation id="4225397296022057997">Në të gjitha sajtet</translation>
+<translation id="4227605727325220318">Shto një telefon të ri Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Kjo shtesë nuk lejohet}other{Disa shtesa nuk lejohen}}</translation>
 <translation id="4231095370974836764">Instalo aplikacione dhe lojëra nga Google Play në <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Mëso më shumë<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Konfiguro Kerberos</translation>
@@ -4713,6 +4722,7 @@
 <translation id="5862109781435984885">Shfaq veglat e stilolapsit në raft</translation>
 <translation id="5862319196656206789">Konfiguro pajisjet e lidhura</translation>
 <translation id="5863445608433396414">Aktivizo funksionet e korrigjimit</translation>
+<translation id="5864147196375746035">Transmeto te një pajisje e menaxhuar</translation>
 <translation id="5864195618110239517">Përdor lidhjen me matje</translation>
 <translation id="5864754048328252126">Veprimi i gjendjes joaktive gjatë karikimit</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> do të vendoset në pauzë së shpejti</translation>
@@ -5282,6 +5292,7 @@
 <translation id="6455264371803474013">Në sajte të caktuara</translation>
 <translation id="6455894534188563617">&amp;Dosje e re</translation>
 <translation id="645705751491738698">Vazhdo bllokimin e JavaScript</translation>
+<translation id="6458347417133445570">Shfaq detajet për lejimin e të gjitha kukive</translation>
 <translation id="6458701200018867744">Ngarkimi dështoi (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Përdor përzgjedhjen për të gjetur</translation>
 <translation id="6459799433792303855">Dritarja aktive u zhvendos në një ekran tjetër.</translation>
@@ -5892,6 +5903,7 @@
 <translation id="7086672505018440886">Përfshi skedarët e evidencave të Chrome në arkiv.</translation>
 <translation id="7088434364990739311">Kontrolli i përditësimit dështoi të niset (kodi i gabimit: <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Kjo pajisje është vendosur në gjendje jashtë shërbimi nga administratori. Për ta aktivizuar për regjistrim, kërkoji administratorit të vendosë pajisjen në gjendje pritjeje.</translation>
+<translation id="7090160970140261931">Mund të shtosh llogari shtesë te <ph name="DEVICE_TYPE" /> për t'i përdorur me sajtet e uebit dhe aplikacionet për Android. Gjithashtu, mund të kontrollosh se cilat llogari përdoren me aplikacionet për Android.</translation>
 <translation id="7093220653036489319">Përgjigjet e shpejta</translation>
 <translation id="7093416310351037609">Për sigurinë e të dhënave, organizat jote kërkon që të gjitha shkarkimet e përshtatshme të ruhen në llogarinë <ph name="WEB_DRIVE" /> e organizatës sate.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6710,6 +6722,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> sek.</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> mund ta shikojë skedarin <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Shto fjalët që dëshiron të kapërcejë kontrolli drejtshkrimor</translation>
+<translation id="7922935920104868876">Shfaq detajet për bllokimin e kukive të palëve të treta në modalitetin "I fshehtë"</translation>
 <translation id="7924358170328001543">Gabim në transferimin e portës</translation>
 <translation id="7925108652071887026">Plotëso automatikisht të dhënat</translation>
 <translation id="792514962475806987">Niveli i zmadhimit të stacionimit:</translation>
@@ -6873,6 +6886,7 @@
 <translation id="8076492880354921740">Skedat</translation>
 <translation id="8076835018653442223">Qasja në skedarët lokalë në pajisjen tënde është e çaktivizuar nga administratori yt</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Llogaritë që ofrohen për t'u përdorur me aplikacionet për Android</translation>
 <translation id="8081989000209387414">Të çaktivizohet korrigjimi i ADB-së?</translation>
 <translation id="8082106343289440791">Të çiftohet me "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Çaktivizimi i korrigjimit të ADB-së do ta rivendosë këtë pajisje <ph name="DEVICE_TYPE" /> në cilësimet e fabrikës. Të gjitha llogaritë e përdoruesit dhe të dhënat lokale do të spastrohen.</translation>
@@ -6947,6 +6961,7 @@
 <translation id="8147900440966275470">U gjet <ph name="NUM" /> skedë</translation>
 <translation id="8148760431881541277">Kufizo identifikimin</translation>
 <translation id="8149564499626272569">Verifikoje përmes telefonit me një kabllo USB</translation>
+<translation id="815114315010033526">Përdor kodin QR më mirë</translation>
 <translation id="8151638057146502721">Konfiguro</translation>
 <translation id="8154790740888707867">Asnjë skedar</translation>
 <translation id="8154912474061769055">Veçoritë në shumë sajte mund të mos funksionojnë</translation>
@@ -6972,6 +6987,7 @@
 <translation id="8176332201990304395">Rozë dhe e bardhë</translation>
 <translation id="8177196903785554304">Detajet e rrjetit</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Zhvendose skedën në një dritare të re}other{Zhvendosi skedat në një dritare të re}}</translation>
+<translation id="8179188928355984576">Nuk përdoret me aplikacione për Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" mund të lexojë dhe fshijë imazhe, video dhe skedarë audio në vendndodhjet e verifikuara.</translation>
 <translation id="8181215761849004992">Nuk mund t'i bashkohet domenit. Kontrollo llogarinë për të parë nëse ke privilegje të mjaftueshme për të shtuar pajisje.</translation>
@@ -7131,6 +7147,7 @@
 <translation id="8342861492835240085">Zgjidh një koleksion</translation>
 <translation id="8347227221149377169">Printimet</translation>
 <translation id="834785183489258869">Në modalitetin "e fshehtë", sajtet nuk mund t'i përdorin kukit e tua për të parë aktivitetin e shfletimit nëpër sajte të ndryshme, p.sh. për të personalizuar reklamat. Veçoritë në disa sajte mund të mos funksionojnë.</translation>
+<translation id="8349499562373871073">Mund të zgjedhësh të përdorësh një llogari ekzistuese me aplikacionet Android ose mund të shtosh një "Llogari të re të Google". Pasi të identifikohesh në një aplikacion për Android, llogaria jote mund të përdoret në aplikacione të tjera për Android. Qasjen e aplikacioneve për Android mund ta ndryshosh te <ph name="LINK_BEGIN" />Cilësimet &gt; Llogaritë<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Veglat e stilolapsit në stacion</translation>
 <translation id="8351316842353540018">Shfaq gjithmonë opsionet e qashmërisë</translation>
 <translation id="8351419472474436977">Kjo shtesë ka marrë nën kontroll cilësimet e përfaqësuesit tënd, që do të thotë se mund të ndryshojë, shkelë ose përgjojë çdo gjë që ti bën në internet. Nëse s'je i sigurt se pse ndodhi ky ndryshim, ndoshta nuk e do.</translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb
index 43dd6a4..268b57a 100644
--- a/chrome/app/resources/generated_resources_sr-Latn.xtb
+++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> zahteva da pametna kartica ostane umetnuta.}other{Automatski ćete biti odjavljeni za # sekundi.
 <ph name="DOMAIN" /> zahteva da pametna kartica ostane umetnuta.}}</translation>
 <translation id="1193927020065025187">Ovaj sajt možda pokušava da vas prevari da dozvolite ometajuća obaveštenja</translation>
+<translation id="1195210374336998651">Otvori podešavanja aplikacije</translation>
 <translation id="1195447618553298278">Nepoznata greška.</translation>
 <translation id="1195558154361252544">Obaveštenja su automatski blokirana za sve sajtove osim za one koje omogućite</translation>
 <translation id="1197088940767939838">Narandžasta</translation>
@@ -1943,6 +1944,7 @@
 <translation id="2915873080513663243">Automatsko skeniranje sadržaja</translation>
 <translation id="2916073183900451334">Pritiskom na Tab na veb stranici biće istaknute veze, kao i polja u obrascu</translation>
 <translation id="2916745397441987255">Pretražite dodatke</translation>
+<translation id="2918484639460781603">Idi na podešavanja</translation>
 <translation id="2918484644467055090">Ovaj uređaj ne može da se registruje u organizaciji kojoj pripada vaš nalog jer je označen kao uređaj kojim upravlja druga organizacija.</translation>
 <translation id="2920852127376356161">Nije im dozvoljeno upravljanje protokolima</translation>
 <translation id="2921081876747860777">Napravite lozinku da biste zaštitili lokalne podatke.</translation>
@@ -2567,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;Saznajte više</translation>
 <translation id="3593152357631900254">Omogući Fuzzy-Pinyin režim</translation>
 <translation id="3593965109698325041">Ograničenja naziva sertifikata </translation>
+<translation id="3596012367874587041">Podešavanja aplikacije</translation>
 <translation id="3596414637720633074">Blokira kolačiće trećih strana u režimu bez arhiviranja</translation>
 <translation id="3599221874935822507">Ispupčeno</translation>
 <translation id="3599863153486145794">Briše istoriju sa svih uređaja na kojima ste prijavljeni. Google nalog može da ima druge oblike istorije pregledanja na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index 08b6842..ae46dea 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> захтева да паметна картица остане уметнута.}other{Аутоматски ћете бити одјављени за # секунди.
 <ph name="DOMAIN" /> захтева да паметна картица остане уметнута.}}</translation>
 <translation id="1193927020065025187">Овај сајт можда покушава да вас превари да дозволите ометајућа обавештења</translation>
+<translation id="1195210374336998651">Отвори подешавања апликације</translation>
 <translation id="1195447618553298278">Непозната грешка.</translation>
 <translation id="1195558154361252544">Обавештења су аутоматски блокирана за све сајтове осим за оне које омогућите</translation>
 <translation id="1197088940767939838">Наранџаста</translation>
@@ -1943,6 +1944,7 @@
 <translation id="2915873080513663243">Аутоматско скенирање садржаја</translation>
 <translation id="2916073183900451334">Притиском на Tab на веб страници биће истакнуте везе, као и поља у обрасцу</translation>
 <translation id="2916745397441987255">Претражите додатке</translation>
+<translation id="2918484639460781603">Иди на подешавања</translation>
 <translation id="2918484644467055090">Овај уређај не може да се региструје у организацији којој припада ваш налог јер је означен као уређај којим управља друга организација.</translation>
 <translation id="2920852127376356161">Није им дозвољено управљање протоколима</translation>
 <translation id="2921081876747860777">Направите лозинку да бисте заштитили локалне податке.</translation>
@@ -2567,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;Сазнајте више</translation>
 <translation id="3593152357631900254">Омогући Fuzzy-Pinyin режим</translation>
 <translation id="3593965109698325041">Ограничења назива сертификата </translation>
+<translation id="3596012367874587041">Подешавања апликације</translation>
 <translation id="3596414637720633074">Блокира колачиће трећих страна у режиму без архивирања</translation>
 <translation id="3599221874935822507">Испупчено</translation>
 <translation id="3599863153486145794">Брише историју са свих уређаја на којима сте пријављени. Google налог може да има друге облике историје прегледања на <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index 35cf36c..3b0134e 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> kräver att du har smartkortet isatt.}other{Du kommer att loggas ut automatiskt om # sekunder.
 <ph name="DOMAIN" /> kräver att du har smartkortet isatt.}}</translation>
 <translation id="1193927020065025187">Den här webbplatsen kan försöka lura dig att tillåta påträngande aviseringar</translation>
+<translation id="1195210374336998651">Öppna appinställningarna</translation>
 <translation id="1195447618553298278">Okänt fel.</translation>
 <translation id="1195558154361252544">Aviseringar blockeras automatiskt på alla webbplatser utom sådana du tillåter</translation>
 <translation id="1197088940767939838">Orange</translation>
@@ -779,6 +780,7 @@
 <translation id="176587472219019965">&amp;Nytt fönster</translation>
 <translation id="1766575458646819543">Helskärmsläget avslutades</translation>
 <translation id="1766957085594317166">Spara lösenord säkert i Google-kontot så att du aldrig mer behöver skriva dem</translation>
+<translation id="1767043563165955993">Använd i Android-appar</translation>
 <translation id="1768212860412467516">Skicka feedback om <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Hoppsan. Det gick inte att kontakta inloggningsservern. Kontrollera nätverksanslutningen och domännamnet och försök igen.</translation>
 <translation id="1769104665586091481">Öppna länk i nytt f&amp;önster</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2113479184312716848">Öppna fil...</translation>
 <translation id="2113921862428609753">Åtkomst till auktoritetsinformation</translation>
 <translation id="2114326799768592691">Läs in &amp;ram igen</translation>
+<translation id="2114413269775311385">Använd det här kontot i Android-appar. Du kan styra behörigheter för Android-appar i <ph name="LINK_BEGIN" />appinställningarna<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Foto taget av <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Inget SIM-kort har satts i</translation>
 <translation id="2116619964159595185">Åtkomst till enheter via Bluetooth brukar kunna behövas för funktioner som att konfigurera eller synkronisera en energisnål beacon-sändare, hälsomätare eller smart glödlampa</translation>
@@ -1907,6 +1910,7 @@
 <translation id="287205682142673348">Portvidarebefordran</translation>
 <translation id="287286579981869940">Lägg till <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Stäng av</translation>
+<translation id="2873995907777332853">VIsa information om att blockera alla cookies</translation>
 <translation id="2874939134665556319">Föregående spår</translation>
 <translation id="2875698561019555027">(Felsidor i Chrome)</translation>
 <translation id="2876336351874743617">Finger 2</translation>
@@ -1954,6 +1958,7 @@
 <translation id="2915873080513663243">Automatisk genomsökning</translation>
 <translation id="2916073183900451334">Om du trycker på Tabb på en webbsida markeras länkar och formulärfält</translation>
 <translation id="2916745397441987255">Sök efter tillägg</translation>
+<translation id="2918484639460781603">Öppna Inställningar</translation>
 <translation id="2918484644467055090">Det går inte att registrera enheten i samma organisation som ditt konto eftersom enheten har registrerats som hanterad av en annan organisation.</translation>
 <translation id="2920852127376356161">Får inte hantera protokoll</translation>
 <translation id="2921081876747860777">Skapa ett lösenord för att skydda lokal data</translation>
@@ -2210,6 +2215,7 @@
 <translation id="3189187154924005138">Stor markör</translation>
 <translation id="3190558889382726167">Lösenordet sparades</translation>
 <translation id="3192947282887913208">Ljudfiler</translation>
+<translation id="3194786596445804250">Visa information om att blockera cookies från tredje part</translation>
 <translation id="3197453258332670132">Visa information om den markerade texten när du högerklickar eller trycker länge</translation>
 <translation id="3199127022143353223">Servrar</translation>
 <translation id="3200061262156232574">I kundvagnen</translation>
@@ -2577,6 +2583,7 @@
 <translation id="3592260987370335752">&amp;Läs mer</translation>
 <translation id="3593152357631900254">Aktivera Fuzzy-Pinyin-läge</translation>
 <translation id="3593965109698325041">Certifikatnamnsbegränsningar</translation>
+<translation id="3596012367874587041">Appinställningar</translation>
 <translation id="3596414637720633074">Blockera cookies från tredje part med inkognitoläget</translation>
 <translation id="3599221874935822507">Upphöjd</translation>
 <translation id="3599863153486145794">Historik rensas från alla inloggade enheter. Det kan finnas andra former av webbhistorik i Google-kontot på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2954,6 +2961,7 @@
 <translation id="3943582379552582368">&amp;Bakåt</translation>
 <translation id="3943857333388298514">Klistra in</translation>
 <translation id="3945513714196326460">Ange ett kortare namn</translation>
+<translation id="3947643756376959257">Ange åtkomstkoden som visas på Chromecast-enheten eller tv:n.</translation>
 <translation id="3948027458879361203">Ändra värdnamn</translation>
 <translation id="3948116654032448504">&amp;Sök på <ph name="SEARCH_ENGINE" /> efter bild</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> har redigeringsbehörighet till filer i följande mappar</translation>
@@ -3195,12 +3203,14 @@
 <translation id="4210048056321123003">Den virtuella maskinen laddas ned</translation>
 <translation id="421182450098841253">&amp;Visa bokmärkesfältet</translation>
 <translation id="4211851069413100178">Skicka diagnostik- och användningsdata. Hjälp till att göra Android bättre genom att skicka diagnostikdata, enhetsdata och data om appanvändning till Google automatiskt. Denna data används till att förbättra systemets och apparnas stabilitet med mera. Viss samlad data används även till att förbättra appar från Google och partner, till exempel Android-utvecklare. Ägaren har gjort denna <ph name="BEGIN_LINK1" />inställning<ph name="END_LINK1" /> obligatorisk. Ägaren kan ange att diagnostik- och användningsdata om den här enheten ska skickas till Google. Om ytterligare webb- och appaktivitet har aktiverats kan denna data sparas i Google-kontot. <ph name="BEGIN_LINK2" />Läs mer<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Sluta använda kontot i Android-appar</translation>
 <translation id="42126664696688958">Exportera</translation>
 <translation id="42137655013211669">Åtkomsten till den här resursen blockerades av servern.</translation>
 <translation id="4217571870635786043">Diktering</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Ett fel inträffade under aktiveringen.</translation>
 <translation id="4225397296022057997">På alla webbplatser</translation>
+<translation id="4227605727325220318">Lägg till en ny Android-telefon</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Detta tillägg är inte tillåtet}other{Vissa tillägg är inte tillåtna}}</translation>
 <translation id="4231095370974836764">Installera appar och spel från Google Play på din <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Konfigurera Kerberos</translation>
@@ -4732,6 +4742,7 @@
 <translation id="5862109781435984885">Visa verktyg för e-penna i hyllan</translation>
 <translation id="5862319196656206789">Konfigurera anslutna enheter</translation>
 <translation id="5863445608433396414">Aktivera felsökningsfunktioner</translation>
+<translation id="5864147196375746035">Casta till en hanterad enhet</translation>
 <translation id="5864195618110239517">Använd anslutning med datapriser</translation>
 <translation id="5864754048328252126">Inaktivitetsåtgärd vid laddning</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> pausas snart</translation>
@@ -5301,6 +5312,7 @@
 <translation id="6455264371803474013">På valda webbplatser</translation>
 <translation id="6455894534188563617">&amp;Ny mapp</translation>
 <translation id="645705751491738698">Fortsätt blockera JavaScript</translation>
+<translation id="6458347417133445570">Visa information om att tillåta alla cookies</translation>
 <translation id="6458701200018867744">Uppladdningen misslyckades (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Använd markering för sökning</translation>
 <translation id="6459799433792303855">Det aktiva fönstret har flyttats till en annan skärm.</translation>
@@ -5911,6 +5923,7 @@
 <translation id="7086672505018440886">Ta med loggfiler från Chrome i arkivet.</translation>
 <translation id="7088434364990739311">Det gick inte att starta uppdateringskontrollen (felkod <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Den här enheten har avaktualiserats av administratören. Du måste be administratören sätta enheten som väntande innan du kan registrera den.</translation>
+<translation id="7090160970140261931">Du kan lägga till ytterligare konton på <ph name="DEVICE_TYPE" /> och använda dem på webbplatser och i Android-appar. Du kan även styra vilka konton som används i Android-appar.</translation>
 <translation id="7093220653036489319">Snabbinfo</translation>
 <translation id="7093416310351037609">Av säkerhetsskäl kräver organisationen att alla nedladdningar som uppfyller villkoren sparas på organisationens <ph name="WEB_DRIVE" />-konto.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6731,6 +6744,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> sek</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> har visningsbehörighet till <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Lägg till ord som ska hoppas över vid stavningskontrollen</translation>
+<translation id="7922935920104868876">Visa information om att blockera cookies från tredje part i inkognitoläge</translation>
 <translation id="7924358170328001543">Det gick inte att vidarebefordra porten</translation>
 <translation id="7925108652071887026">Fyll i uppgifter automatiskt</translation>
 <translation id="792514962475806987">Zoomnivå för dockad skärmförstoring</translation>
@@ -6895,6 +6909,7 @@
 <translation id="8076492880354921740">Flikar</translation>
 <translation id="8076835018653442223">Administratören har inaktiverat åtkomsten till lokala filer på enheten</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Konton som kan användas i Android-appar</translation>
 <translation id="8081989000209387414">Vill du inaktivera felsökning med ADB?</translation>
 <translation id="8082106343289440791">Vill du parkoppla med <ph name="DEVICE_NAME" />?</translation>
 <translation id="8082390128630131497">Denna <ph name="DEVICE_TYPE" /> återställs till standardinställningarna om du inaktiverar felsökning med ADB. Alla användarkonton och all lokal data rensas.</translation>
@@ -6969,6 +6984,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> flikar hittades</translation>
 <translation id="8148760431881541277">Begränsa inloggning</translation>
 <translation id="8149564499626272569">Verifiera via telefonen med en USB-kabel</translation>
+<translation id="815114315010033526">Använd en QR-kod i stället</translation>
 <translation id="8151638057146502721">Konfigurera</translation>
 <translation id="8154790740888707867">Ingen fil</translation>
 <translation id="8154912474061769055">Många webbplatsers funktioner kanske inte fungerar</translation>
@@ -6994,6 +7010,7 @@
 <translation id="8176332201990304395">Rosa och vit</translation>
 <translation id="8177196903785554304">Nätverksuppgifter</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Flytta fliken till ett nytt fönster}other{Flytta flikarna till ett nytt fönster}}</translation>
+<translation id="8179188928355984576">Används inte i Android-appar</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389"><ph name="EXTENSION" /> kan läsa och ta bort bilder, video och ljudfiler på de markerade platserna.</translation>
 <translation id="8181215761849004992">Det gick inte att ansluta till domänen. Kontrollera att du använder ett konto med behörighet att lägga till enheter.</translation>
@@ -7153,6 +7170,7 @@
 <translation id="8342861492835240085">Välj en samling</translation>
 <translation id="8347227221149377169">Utskriftsjobb</translation>
 <translation id="834785183489258869">I inkognitoläget får inte webbplatser se din webbaktivitet på olika webbplatser med hjälp av cookies, för att till exempel anpassa annonser. Vissa webbplatsers funktioner kanske inte fungerar.</translation>
+<translation id="8349499562373871073">Du kan välja ett konto som du vill använda i Android-appar eller lägga till ett nytt Google-konto. När du har loggat in i en Android-app kan kontot användas i andra Android-appar. Du kan ändra åtkomstbehörigheten för Android-appar under <ph name="LINK_BEGIN" />Inställningar &gt; Konton<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Dockade verktyg för e-penna</translation>
 <translation id="8351316842353540018">Visa alltid tillgänglighetsalternativen</translation>
 <translation id="8351419472474436977">Detta tillägg har tagit kontroll över dina proxyinställningar, vilket innebär att det kan ändra, knäcka eller tjuvlyssna på allt du gör på webben. Om du inte vet varför den här ändringen inträffade är den troligen inte önskvärd.</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index 52a0737..9edbf2a2 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> inahitaji usiondoe kadi yako mahiri.}other{Utaondolewa kiotomatiki baada ya sekunde #.
 <ph name="DOMAIN" /> inahitaji usiondoe kadi yako mahiri.}}</translation>
 <translation id="1193927020065025187">Huenda tovuti hii inajaribu kukuhadaa ili uruhusu arifa zilizozuiwa</translation>
+<translation id="1195210374336998651">Nenda kwenye mipangilio ya programu</translation>
 <translation id="1195447618553298278">Hitilafu isiyojulikana.</translation>
 <translation id="1195558154361252544">Arifa zinazuiwa kiotomatiki kwenye tovuti zote isipokuwa zile unazoruhusu</translation>
 <translation id="1197088940767939838">Rangi ya machungwa</translation>
@@ -2577,6 +2578,7 @@
 <translation id="3592260987370335752">&amp;Pata maelezo zaidi</translation>
 <translation id="3593152357631900254">Wezesha modi ya Pinyin isiyio bayana</translation>
 <translation id="3593965109698325041">Vizuizi vya Jina la Cheti</translation>
+<translation id="3596012367874587041">Mipangilio ya programu</translation>
 <translation id="3596414637720633074">Zuia vidakuzi vya watu au kampuni nyingine katika Hali Fiche</translation>
 <translation id="3599221874935822507">Imeinuliwa</translation>
 <translation id="3599863153486145794">Hufuta historia kwenye vifaa vyote ulivyotumia kuingia katika akaunti. Huenda Akaunti yako ya Google ikawa na aina nyingine za historia ya kuvinjari kwenye <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2954,7 +2956,7 @@
 <translation id="3943582379552582368">&amp;Nyuma</translation>
 <translation id="3943857333388298514">Bandika</translation>
 <translation id="3945513714196326460">Jaribu jina fupi</translation>
-<translation id="3947643756376959257">Weka msimbo wa ufikiaji unaoonyeshwa kwenye Chromecast au TV.</translation>
+<translation id="3947643756376959257">Weka msimbo wa kufikia unaoonyeshwa kwenye Chromecast au TV.</translation>
 <translation id="3948027458879361203">Badilisha jina la mpangishaji</translation>
 <translation id="3948116654032448504">Tafuta <ph name="SEARCH_ENGINE" /> Picha</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> inaweza kubadilisha faili zilizo katika folda zifuatazo</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index a41543477..21fa3b7 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> டொமைனைப் பயன்படுத்த, உங்கள் ஸ்மார்ட் கார்டு செருகப்பட்ட நிலையிலேயே இருக்க வேண்டும்.}other{# வினாடிகளில் தானாக வெளியேற்றப்படுவீர்கள்.
 <ph name="DOMAIN" /> டொமைனைப் பயன்படுத்த, உங்கள் ஸ்மார்ட் கார்டு செருகப்பட்ட நிலையிலேயே இருக்க வேண்டும்.}}</translation>
 <translation id="1193927020065025187">குறுக்கிடும் அறிவிப்புகளை அனுமதிக்குமாறு இந்தத் தளம் உங்களை ஏமாற்ற முயலக்கூடும்</translation>
+<translation id="1195210374336998651">ஆப்ஸ் அமைப்புகளுக்குச் செல்லும்</translation>
 <translation id="1195447618553298278">தெரியாத பிழை.</translation>
 <translation id="1195558154361252544">நீங்கள் அனுமதிக்கும் தளங்களைத் தவிர பிற அனைத்துத் தளங்களுக்கும் அறிவிப்புகள் தானாகவே முடக்கப்படும்</translation>
 <translation id="1197088940767939838">ஆரஞ்சு</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">இந்த முடிவை நீங்கள் எதிர்பார்க்கவில்லையா? <ph name="BEGIN_LINK" />கருத்து தெரிவி<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">நீங்கள் உள்ளிட்ட பயனர்பெயரும் கடவுச்சொல்லும் பொருந்தவில்லை</translation>
 <translation id="1397500194120344683">தகுதியான சாதனங்கள் இல்லை. <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">இந்தச் சாதனங்களில் நீங்கள் Chromeமில் உள்நுழைந்திருப்பதால் அவற்றைப் பாதுகாப்பு விசைகளாகப் பயன்படுத்தலாம்.</translation>
 <translation id="1398853756734560583">பெரிதாக்கு</translation>
 <translation id="139911022479327130">உங்கள் மொபைலை அன்லாக் செய்து நீங்கள் தான் என்பதை உறுதிப்படுத்தவும்</translation>
 <translation id="1401308693935339022">இருப்பிடத்தைப் பயன்படுத்துதல். இந்தச் சாதனத்தின் இருப்பிடத்தைப் பயன்படுத்த இருப்பிட அனுமதியுடன் ஆப்ஸையும் சேவைகளையும் அனுமதிக்கவும். இருப்பிடத் தரவை அவ்வப்போது சேகரித்து இருப்பிடத்தின் துல்லியத்தன்மை மற்றும் இருப்பிடம் சார்ந்த சேவைகளை மேம்படுத்த அடையாளமற்ற வகையில் Google இந்தத் தரவைப் பயன்படுத்தக்கூடும்.</translation>
@@ -779,6 +781,7 @@
 <translation id="176587472219019965">&amp;புதிய சாளரம்</translation>
 <translation id="1766575458646819543">முழுத்திரையிலிருந்து வெளியேறியது</translation>
 <translation id="1766957085594317166">கடவுச்சொற்களை உங்களின் Google கணக்கில் பாதுகாப்பாகச் சேமியுங்கள். பிறகு அவற்றை ஒவ்வொரு முறையும் உள்ளிட வேண்டிய தேவை இருக்காது</translation>
+<translation id="1767043563165955993">Android ஆப்ஸிற்குப் பயன்படுத்து</translation>
 <translation id="1768212860412467516"><ph name="EXPERIMENT_NAME" /> குறித்துக் கருத்து வழங்குக.</translation>
 <translation id="1768278914020124551">அச்சச்சோ!  உள்நுழைவுச் சேவையகத்தைத் தொடர்புகொள்வதில் பிழை ஏற்பட்டது. நெட்வொர்க் இணைப்பையும் டொமைன் பெயரையும் சரிபார்த்து, மீண்டும் முயலவும்.</translation>
 <translation id="1769104665586091481">இணைப்பை புதிய &amp;சாளரத்தில் திற</translation>
@@ -1115,6 +1118,7 @@
 <translation id="2113479184312716848">Open &amp;File...</translation>
 <translation id="2113921862428609753">அங்கீகாரத் தகவல் அணுகல்</translation>
 <translation id="2114326799768592691">&amp;ஃபிரேமை மீண்டும் ஏற்று</translation>
+<translation id="2114413269775311385">Android ஆப்ஸிற்கு இந்தக் கணக்கைப் பயன்படுத்து. Android ஆப்ஸிற்கான அனுமதிகளை <ph name="LINK_BEGIN" />ஆப்ஸ் அமைப்புகள்<ph name="LINK_END" /> என்பதில் கட்டுப்படுத்தலாம்.</translation>
 <translation id="2114896190328250491">படம் எடுத்தவர்: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">சிம் கார்டு செருகப்படவில்லை</translation>
 <translation id="2116619964159595185">குறைவான ஆற்றலைப் பயன்படுத்தும் பீக்கான், ஹெல்த்/ஃபிட்னஸ் டிராக்கர், ஸ்மார்ட் லைட் பல்பு போன்றவற்றை அமைத்தல், ஒத்திசைத்தல் போன்ற அம்சங்களுக்காக புளூடூத் சாதனங்களுடன் தளங்கள் வழக்கமாக இணையும்</translation>
@@ -1178,6 +1182,7 @@
 <translation id="2163470535490402084">உங்கள் <ph name="DEVICE_TYPE" /> இல் உள்நுழைய இணையத்துடன் இணைக்கவும்.</translation>
 <translation id="2163937499206714165">டார்க் பயன்முறையை இயக்குதல்</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" />, மேலும் 1 ஸ்விட்ச்</translation>
+<translation id="2165102982098084499">QR குறியீட்டை ஸ்கேன் செய்ததன் மூலம் இந்தச் சாதனங்களை இணைத்துள்ளீர்கள்.</translation>
 <translation id="2165177462441582039">திரையில் உள்ள ஒவ்வொன்றையும் எவ்வளவு நேரம் ஹைலைட் செய்ய வேண்டும் என்பதைத் தேர்வு செய்யலாம்</translation>
 <translation id="2166369534954157698">அகர முதல எழுத்தெல்லாம் ஆதிபகவன் முதற்றே உலகு</translation>
 <translation id="2169062631698640254">எப்படியேனும் உள்நுழை</translation>
@@ -1907,6 +1912,7 @@
 <translation id="287205682142673348">போர்ட் அனுப்புதல்</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" />ஐச் சேர்...</translation>
 <translation id="2872961005593481000">நிறுத்து</translation>
+<translation id="2873995907777332853">அனைத்துக் குக்கீகளையும் தடுப்பது குறித்த விவரங்களைக் காட்டு</translation>
 <translation id="2874939134665556319">முந்தைய டிராக்</translation>
 <translation id="2875698561019555027">(Chrome பிழைப் பக்கங்கள்)</translation>
 <translation id="2876336351874743617">விரல் 2</translation>
@@ -1954,6 +1960,7 @@
 <translation id="2915873080513663243">தானியங்கு ஸ்கேன்</translation>
 <translation id="2916073183900451334">ஒரு வலைப்பக்கத்தில் Tab விசையை அழுத்துவதால், இணைப்புகளும், படிவப்புலங்களும் தனிப்படுத்தி காண்பிக்கப்படுகின்றன</translation>
 <translation id="2916745397441987255">நீட்டிப்புகளைத் தேடுக</translation>
+<translation id="2918484639460781603">அமைப்புகளுக்குச் செல்க</translation>
 <translation id="2918484644467055090">இந்தச் சாதனத்தை உங்கள் கணக்கிற்குச் சொந்தமான நிறுவனத்தில் பதிவுசெய்ய முடியாது. ஏனெனில் சாதனமானது வேறு நிறுவனம் நிர்வகிப்பதற்காகக் குறிக்கப்பட்டுள்ளது.</translation>
 <translation id="2920852127376356161">நெறிமுறைகளைக் கையாள அனுமதி இல்லாத தளங்கள்</translation>
 <translation id="2921081876747860777">அகத் தரவைப் பாதுகாக்க, கடவுச்சொல்லை உருவாக்கவும்.</translation>
@@ -2210,6 +2217,7 @@
 <translation id="3189187154924005138">பெரிய கர்சர்</translation>
 <translation id="3190558889382726167">கடவுச்சொல் சேமிக்கப்பட்டது</translation>
 <translation id="3192947282887913208">ஆடியோ ஃபைல்கள் </translation>
+<translation id="3194786596445804250">மூன்றாம் தரப்புக் குக்கீகளைத் தடுப்பது குறித்த விவரங்களைக் காட்டு</translation>
 <translation id="3197453258332670132">வலது கிளிக் செய்தோ நீண்ட நேரம் அழுத்தியோ, நீங்கள் தேர்ந்தெடுக்கும் உரைக்கான தொடர்புடைய தகவலைப் பார்க்கலாம்</translation>
 <translation id="3199127022143353223">சேவைகங்கள்</translation>
 <translation id="3200061262156232574">உங்கள் ஷாப்பிங் கார்ட்டில் உள்ளவை</translation>
@@ -2577,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;மேலும் அறிக</translation>
 <translation id="3593152357631900254">பொருத்தமற்ற-பின்யின் பயன்முறையை இயக்கு</translation>
 <translation id="3593965109698325041">சான்றிதழ் பெயர் கட்டுப்பாடுகள்</translation>
+<translation id="3596012367874587041">ஆப்ஸ் அமைப்புகள்</translation>
 <translation id="3596414637720633074">மறைநிலை அம்சத்தில் மூன்றாம் தரப்பு குக்கீகளைத் தடுக்கும்</translation>
 <translation id="3599221874935822507">ரெய்ஸ்டு</translation>
 <translation id="3599863153486145794">உள்நுழைந்த எல்லாச் சாதனங்களிலிருந்தும் வரலாற்றை அழிக்கும். உங்கள் Google கணக்கு, <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> என்ற இணைப்பில் உலாவல் வரலாறு தொடர்பான பிற தகவல்களைக் கொண்டிருக்கக்கூடும்.</translation>
@@ -2954,6 +2963,7 @@
 <translation id="3943582379552582368">&amp;முந்தைய பக்கம்</translation>
 <translation id="3943857333388298514">ஒட்டு</translation>
 <translation id="3945513714196326460">சிறிய பெயரை வழங்கவும்</translation>
+<translation id="3947643756376959257">Chromecast அல்லது டிவியில் காட்டப்படும் அணுகல் குறியீட்டை டைப் செய்யவும்.</translation>
 <translation id="3948027458879361203">ஹோஸ்ட்பெயரை மாற்றுதல்</translation>
 <translation id="3948116654032448504">படத்தைத் &amp;தேடு <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786">பின்வரும் ஃபோல்டர்களில் உள்ள கோப்புகளை <ph name="ORIGIN" /> தளத்தால் திருத்த முடியும்</translation>
@@ -3195,12 +3205,14 @@
 <translation id="4210048056321123003">விர்ச்சுவல் மெஷினைப் பதிவிறக்குகிறது</translation>
 <translation id="421182450098841253">புக்மார்க்ஸ் பட்டியைக் &amp;காட்டு</translation>
 <translation id="4211851069413100178">உபயோகம் &amp; கண்டறிதல் தரவை அனுப்புக. கண்டறிதல் தரவு, சாதனம் மற்றும் ஆப்ஸ் உபயோகத் தரவு போன்றவற்றை Googleளுக்குத் தானாக அனுப்புவதன் மூலம் உங்கள் Android அனுபவத்தை மேம்படுத்த உதவுக. இது சிஸ்டம் மற்றும் ஆப்ஸின் நிலைத்தன்மையை மேம்படுத்தவும் பிற மேம்பாடுகளைச் செய்யவும் உதவும். ஒருங்கிணைக்கப்பட்ட சில தரவுகள், Google ஆப்ஸ் மற்றும் Android டெவெலப்பர்கள் போன்ற கூட்டாளர்களுக்கும் உதவும். உரிமையாளர் இந்த <ph name="BEGIN_LINK1" />அமைப்பைச்<ph name="END_LINK1" /> செயல்படுத்தியுள்ளார். உரிமையாளர் இந்தச் சாதனத்தின் கண்டறிதல் தரவையும் உபயோகத் தரவையும் Googleளுக்கு அனுப்புவதற்குத் தேர்வுசெய்யலாம். கூடுதல் ’இணையம் &amp; ஆப்ஸ் செயல்பாடு’ அமைப்பு இயக்கப்பட்டிருந்தால், இந்தத் தரவு உங்கள் Google கணக்கில் சேமிக்கப்படலாம். <ph name="BEGIN_LINK2" />மேலும் அறிக<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Android ஆப்ஸிற்குப் பயன்படுத்தாதே</translation>
 <translation id="42126664696688958">ஏற்றுமதி செய்</translation>
 <translation id="42137655013211669">இதற்கான அணுகல் சேவையகத்தால் தடுக்கப்பட்டிருக்கிறது.</translation>
 <translation id="4217571870635786043">சொல்வதை எழுதுவது</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">செயலாக்கும் போது பிழை ஏற்பட்டது.</translation>
 <translation id="4225397296022057997">எல்லாத் தளங்களிலும்</translation>
+<translation id="4227605727325220318">புதிய Android மொபைலைச் சேர்</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{இந்த நீட்டிப்பிற்கு அனுமதி இல்லை}other{சில நீட்டிப்புகளுக்கு அனுமதி இல்லை}}</translation>
 <translation id="4231095370974836764">Google Playயிலிருந்து உங்கள் <ph name="DEVICE_TYPE" /> சாதனத்தில் ஆப்ஸையும் கேம்களையும் நிறுவலாம். <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Kerberosஸை உள்ளமைத்தல்</translation>
@@ -4733,6 +4745,7 @@
 <translation id="5862109781435984885">ஸ்டைலஸ் கருவிகளை ஷெல்ஃபில் காட்டு</translation>
 <translation id="5862319196656206789">இணைக்கப்பட்டுள்ள சாதனங்களை அமைத்திடுங்கள்</translation>
 <translation id="5863445608433396414">பிழைதிருத்த அம்சங்களை இயக்கவும்</translation>
+<translation id="5864147196375746035">நிர்வகிக்கப்படும் சாதனத்திற்கு அலைபரப்புதல்</translation>
 <translation id="5864195618110239517">கட்டண நெட்வொர்க் இணைப்பைப் பயன்படுத்து</translation>
 <translation id="5864754048328252126">சார்ஜ் செய்யப்படும்போது செயலற்ற நிலை</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> விரைவில் இடைநிறுத்தப்படும்</translation>
@@ -5302,6 +5315,7 @@
 <translation id="6455264371803474013">குறிப்பிட்ட தளங்களில் மட்டும்</translation>
 <translation id="6455894534188563617">&amp;புதிய ஃபோல்டர்</translation>
 <translation id="645705751491738698">JavaScript ஐத் தடுப்பதைத் தொடர்க</translation>
+<translation id="6458347417133445570">அனைத்துக் குக்கீகளையும் அனுமதிப்பது குறித்த விவரங்களைக் காட்டு</translation>
 <translation id="6458701200018867744">பதிவேற்ற முடியவில்லை (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">தேடுவதற்கு தேர்ந்தெடுத்ததைப் பயன்படுத்து</translation>
 <translation id="6459799433792303855">செயலில் உள்ள சாளரம், மற்றொரு திரைக்கு நகர்த்தப்பட்டது.</translation>
@@ -5694,6 +5708,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> வி</translation>
 <translation id="6860097299815761905">ப்ராக்ஸி அமைப்புகள்...</translation>
 <translation id="6860427144121307915">தாவலில் திற</translation>
+<translation id="6863496016067551393">அனைத்து நீட்டிப்புகளும் அனுமதிக்கப்பட்டவை</translation>
 <translation id="686366188661646310">கடவுச்சொல்லை நீக்கவா?</translation>
 <translation id="6865313869410766144">தன்னிரப்பி படிவத் தரவு</translation>
 <translation id="6865598234501509159"><ph name="LANGUAGE" /> மொழியில் பக்கம் இல்லை</translation>
@@ -5723,6 +5738,7 @@
 <translation id="6900532703269623216">மேம்பட்ட பாதுகாப்பு</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" />ஐ மாற்ற மீண்டும் உள்நுழையவும்</translation>
 <translation id="6900654715912436255">இந்த தேடல் இன்ஜினை நீக்க விரும்புகிறீர்களா?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">மாதிரிக்காட்சிக் குரல்</translation>
 <translation id="6902336033320348843">இந்தப் பிரிவு ஆதரிக்கப்படவில்லை: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">சாதனத்தை டொமைனில் சேர்க்கவும்</translation>
@@ -5912,6 +5928,7 @@
 <translation id="7086672505018440886">காப்பகத்தில் Chrome லாக் ஃபைல்களைச் சேர்க்கும்.</translation>
 <translation id="7088434364990739311">புதுப்பிப்பு சரிபார்த்தலை துவங்குவதில் தோல்வி. (பிழை குறியீடு <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">இந்தச் சாதனம் நிர்வாகியால் அணுகல் இல்லா தன்மையில் வைக்கப்பட்டுள்ளது. பதிவுசெய்வதற்காக அதை இயக்குவதற்கு, இந்தச் சாதனத்தை நிலுவை நிலையில் வைக்குமாறு உங்கள் நிர்வாகியிடம் கேட்கவும்.</translation>
+<translation id="7090160970140261931">இணையதளங்களையும் ஆப்ஸையும் <ph name="DEVICE_TYPE" /> பயன்படுத்தும் வகையில் கூடுதல் கணக்குகளைச் சேர்க்கலாம். Android ஆப்ஸில் பயன்படுத்தப்படும் கணக்குகள் எவை என்பதையும் நீங்கள் கட்டுப்படுத்தலாம்.</translation>
 <translation id="7093220653036489319">விரைவான பதில்கள்</translation>
 <translation id="7093416310351037609">தரவைப் பாதுகாப்பாகவும் பத்திரமாகவும் வைத்திருக்க, தகுதிபெறும் பதிவிறக்கங்கள் அனைத்தும் நிறுவனத்தின் <ph name="WEB_DRIVE" /> கணக்கில் சேமிக்கப்பட வேண்டுமென உங்கள் நிறுவனம் கோருகிறது.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6732,6 +6749,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" />வி</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> தளத்தால் <ph name="FILENAME" /> ஃபைலைப் பார்க்க முடியும்</translation>
 <translation id="7920482456679570420">எழுத்துப் பிழை சரிபார்ப்பான் அம்சம் தவிர்க்கவேண்டும் என நீங்கள் விரும்பும் சொற்களைச் சேர்க்கவும்</translation>
+<translation id="7922935920104868876">மறைநிலைப் பயன்முறையில் மூன்றாம் தரப்புக் குக்கீகளைத் தடுப்பது குறித்த விவரங்களைக் காட்டு</translation>
 <translation id="7924358170328001543">போர்ட்டை அனுப்புவதில் பிழை</translation>
 <translation id="7925108652071887026">தன்னிரப்பி தரவு</translation>
 <translation id="792514962475806987">டாக் செய்யப்பட்ட பெரிதாக்கியின் அளவை மாற்றுவதற்கான நிலை:</translation>
@@ -6896,6 +6914,7 @@
 <translation id="8076492880354921740">தாவல்கள்</translation>
 <translation id="8076835018653442223">உங்கள் சாதனத்தில் இருக்கும் அக ஃபைல்களுக்கான அணுகலை உங்கள் நிர்வாகி முடக்கியுள்ளார்</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Android ஆப்ஸிற்குப் பயன்படுத்தக்கூடிய கணக்குகள்</translation>
 <translation id="8081989000209387414">ADB பிழைதிருத்தத்தை முடக்கவா?</translation>
 <translation id="8082106343289440791">"<ph name="DEVICE_NAME" />" உடன் இணைக்கவா?</translation>
 <translation id="8082390128630131497">ADB பிழைதிருத்தத்தை முடக்குவது இந்த <ph name="DEVICE_TYPE" /> ஐ ஆரம்பநிலை அமைப்புகளுக்கு மீட்டமைக்கும். அனைத்து பயனர் கணக்குகளும் அகத் தரவும் அழிக்கப்படும்.</translation>
@@ -6970,6 +6989,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> தாவல் உள்ளது</translation>
 <translation id="8148760431881541277">உள்நுழைவைக் கட்டுப்படுத்துதல்</translation>
 <translation id="8149564499626272569">USB கேபிளுடன் இணைக்கப்பட்டுள்ள எனது மொபைல் வழியாகச் சரிபார்</translation>
+<translation id="815114315010033526">இதற்குப் பதிலாக QR குறியீட்டைப் பயன்படுத்தவும்</translation>
 <translation id="8151638057146502721">உள்ளமை</translation>
 <translation id="8154790740888707867">ஃபைல் இல்லை</translation>
 <translation id="8154912474061769055">பல தளங்களில் உள்ள குறிப்பிட்ட அம்சங்கள் செயல்படாமல் போகக்கூடும்</translation>
@@ -6995,6 +7015,7 @@
 <translation id="8176332201990304395">இளஞ்சிவப்பு &amp; வெள்ளை</translation>
 <translation id="8177196903785554304">நெட்வொர்க் விவரங்கள்</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{தாவலைப் புதிய சாளரத்திற்கு நகர்த்து}other{தாவல்களைப் புதிய சாளரத்திற்கு நகர்த்து}}</translation>
+<translation id="8179188928355984576">Android ஆப்ஸிற்குப் பயன்படுத்தப்படவில்லை</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">தேர்வுசெய்யப்பட்ட இடங்களில் உள்ள படங்கள், வீடியோ மற்றும் ஒலி கோப்புகளை "<ph name="EXTENSION" />" ஆல் படிக்கவும், நீக்கவும் முடியும்.</translation>
 <translation id="8181215761849004992">டொமைனுடன் இணைக்க முடியவில்லை. சாதனங்களைச் சேர்ப்பதற்கு உங்களுக்குச் சிறப்புரிமைகள் உள்ளனவா என்று உங்கள் கணக்கில் சரிபார்க்கவும்.</translation>
@@ -7154,6 +7175,7 @@
 <translation id="8342861492835240085">தொகுப்பைத் தேர்ந்தெடு</translation>
 <translation id="8347227221149377169">அச்சுப் பணிகள்</translation>
 <translation id="834785183489258869">மறைநிலையில் உள்ளபோது, விளம்பரங்களைப் பிரத்தியேகமாக்குவது போன்ற செயல்களைச் செய்வதற்காக வெவ்வேறு தளங்களில் உங்கள் உலாவல் செயல்பாட்டைப் பார்க்க, தளங்களால் குக்கீகளைப் பயன்படுத்த முடியாது. சில தளங்களில் உள்ள குறிப்பிட்ட அம்சங்கள் செயல்படாமல் போகக்கூடும்.</translation>
+<translation id="8349499562373871073">Android ஆப்ஸிற்குப் பயன்படுத்த, ஏற்கெனவே உள்ள கணக்கைத் தேர்ந்தெடுக்கலாம் அல்லது புதிதாக Google கணக்கைச் சேர்க்கலாம். நீங்கள் ஒரு Android ஆப்ஸில் உள்நுழைந்த பிறகு, உங்கள் கணக்கு மற்ற Android ஆப்ஸிற்கும் பயன்படுத்தப்படலாம். <ph name="LINK_BEGIN" />அமைப்புகள் &gt; கணக்குகள்<ph name="LINK_END" /> என்பதற்குச் சென்று Android ஆப்ஸுக்கான அணுகலை மாற்றலாம்.</translation>
 <translation id="8350789879725387295">டாக்கிலுள்ள ஸ்டைலஸ் கருவிகள்</translation>
 <translation id="8351316842353540018">எப்போதும் a11y விருப்பங்களைக் காட்டு</translation>
 <translation id="8351419472474436977">உங்கள் ப்ராக்ஸி அமைப்புகளை இந்த நீட்டிப்பு கட்டுப்படுத்துகிறது, அதாவது நீங்கள் ஆன்லைனில் செய்யும் எல்லாவற்றையும் அதனால் மாற்றமுடியும், தடுக்க முடியும் அல்லது தெரிந்து கொள்ள முடியும். இது ஏன் நடந்தது என்பது தெரியவில்லை எனில், உங்களுக்கு இந்த மாற்றம் தேவைப்படாதது என்று அர்த்தம்.</translation>
@@ -7369,6 +7391,7 @@
 <translation id="8610103157987623234">தவறான வடிவம், மீண்டும் முயலவும்</translation>
 <translation id="8611682088849615761">MIDI சாதனங்களுக்கான முழுக் கட்டுபாட்டையும் பெற இந்தத் தளத்தைத் தொடர்ந்து அனுமதி</translation>
 <translation id="8613164732773110792">சிற்றெழுத்துக்கள், எண்கள், அடிக்கோடுகள், அல்லது சிறுகோடுகள் மட்டும்</translation>
+<translation id="8613645710357126807">நீட்டிப்புகளைப் பயன்படுத்த அனுமதியில்லாதவை</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> மிகவும் பெரிதாக இருப்பதால் பாதுகாப்புச் சோதனையை மேற்கொள்ள முடியவில்லை. 50 மெ.பை. வரையுள்ள கோப்புகளையே நீங்கள் திறக்கலாம்.</translation>
 <translation id="8615618338313291042">மறைநிலை ஆப்ஸ்: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">எனது தொடர்புகளில் <ph name="CONTACT_NAME" /> ஐச் சேர்</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 01761c0a..3cc6853 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -136,7 +136,7 @@
 <translation id="1128109161498068552">MIDI పరికరాలను యాక్సెస్ చేయడం కోసం సిస్టమ్ విశిష్ట మెసేజ్‌లను ఉపయోగించడానికి ఏ సైట్‌లను అనుమతించవద్దు</translation>
 <translation id="1128591060186966949">శోధన ఇంజిన్‌ను ఎడిట్ చేయండి</translation>
 <translation id="1129850422003387628">యాప్‌లను మేనేజ్ చేయండి</translation>
-<translation id="113050636487300043">ప్రొఫైల్‌ల మధ్య తేడా కనిపించేలా పేరు, రంగు రూపాన్ని ఎంచుకోండి</translation>
+<translation id="113050636487300043">ప్రొఫైళ్ల మధ్య తేడా కనిపించేలా పేరు, రంగు రూపాన్ని ఎంచుకోండి</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - <ph name="GROUP_NAME" /> గ్రూప్‌లో భాగం</translation>
 <translation id="1130676589211693127">కుడి వైపు వైర్‌లెస్ బడ్ బ్యాటరీ స్థాయి <ph name="PERCENTAGE" />%.</translation>
 <translation id="1133418583142946603">ప్రస్తుత ట్యాబ్‌ను జోడించండి</translation>
@@ -206,6 +206,7 @@
 మీ స్మార్ట్ కార్డ్‌ను ఇన్‌సర్ట్ చేసి ఉంచమని <ph name="DOMAIN" /> మిమ్మల్ని కోరుతుంది.}other{మీరు # సెకన్లలో ఆటోమేటిక్‌గా సైన్ అవుట్ చేయబడతారు.
 మీ స్మార్ట్ కార్డ్‌ను ఇన్‌సర్ట్ చేసి ఉంచమని <ph name="DOMAIN" /> మిమ్మల్ని కోరుతుంది.}}</translation>
 <translation id="1193927020065025187">అనుచితమైన నోటిఫికేషన్‌లను అనుమతించడంలో ఈ సైట్ మిమ్మల్ని మోసగించడానికి ట్రై చేస్తూ ఉండవచ్చు</translation>
+<translation id="1195210374336998651">యాప్ సెట్టింగ్‌లకు వెళ్లండి</translation>
 <translation id="1195447618553298278">తెలియని ఎర్రర్.</translation>
 <translation id="1195558154361252544">మీరు అనుమతించినవి మినహా, ఇతర అన్ని సైట్‌లకు నోటిఫికేషన్‌లు ఆటోమేటిక్‌గా బ్లాక్ చేయబడ్డాయి</translation>
 <translation id="1197088940767939838">నారింజ రంగు</translation>
@@ -1193,7 +1194,7 @@
 <translation id="2175927920773552910">QR కోడ్</translation>
 <translation id="2177950615300672361">అజ్ఞాత ట్యాబ్: <ph name="TAB_NAME" /></translation>
 <translation id="2178614541317717477">CA రాజీ</translation>
-<translation id="2179416702468739594">అందుబాటులో ఉన్న ప్రొఫైల్‌ల కోసం వెతుకుతోంది. ఇది మీ మొబైల్ నెట్‌వర్క్ కొన్ని నిముషాలు డిస్‌కనెక్ట్ కావడానికి కారణం కావచ్చు.</translation>
+<translation id="2179416702468739594">అందుబాటులో ఉన్న ప్రొఫైళ్ల కోసం వెతుకుతోంది. ఇది మీ మొబైల్ నెట్‌వర్క్ కొన్ని నిముషాలు డిస్‌కనెక్ట్ కావడానికి కారణం కావచ్చు.</translation>
 <translation id="2180620921879609685">ఏ పేజీలోనైనా కంటెంట్‌ను బ్లాక్ చేయడం</translation>
 <translation id="2182058453334755893">మీ క్లిప్‌బోర్డ్‌కు కాపీ చేయబడింది</translation>
 <translation id="2184515124301515068">సైట్‌లు ధ్వనిని ఎప్పుడు ప్లే చేయాలనేది Chrome ఎంచుకునేలా సెట్ చేయండి (సిఫార్సు చేయబడింది)</translation>
@@ -1273,7 +1274,7 @@
 <translation id="2255317897038918278">Microsoft Time Stamping</translation>
 <translation id="2256115617011615191">ఇప్పుడే పునఃప్రారంభించు</translation>
 <translation id="2257053455312861282">పాఠశాల ఖాతాను యాడ్ చేయడం వలన తల్లిదండ్రుల నియంత్రణల కింద ఆపరేట్ చేస్తున్నప్పుడు కూడా విద్యార్థిగా వెబ్‌సైట్‌లు, ఎక్స్‌టెన్షన్‌లు, యాప్‌లకు సులభంగా సైన్-ఇన్ చేయడాన్ని ఎనేబుల్ చేస్తుంది.</translation>
-<translation id="2261323523305321874">మీ నిర్వాహకులు కొన్ని పాత ప్రొఫైల్‌లను నిలిపివేసేలా వ్యవస్థాగత మార్పు చేశారు.</translation>
+<translation id="2261323523305321874">మీ నిర్వాహకులు కొన్ని పాత ప్రొఫైళ్లను నిలిపివేసేలా వ్యవస్థాగత మార్పు చేశారు.</translation>
 <translation id="2262477216570151239">పునరావృతానికి ముందు జాప్యం</translation>
 <translation id="2263189956353037928">సైన్ అవుట్ చేసి, తిరిగి సైన్ ఇన్ చేయి</translation>
 <translation id="2263371730707937087">స్క్రీన్ రిఫ్రెష్ రేటు</translation>
@@ -1431,7 +1432,7 @@
 <translation id="2393136602862631930">మీ Chromebookలో <ph name="APP_NAME" />ను సెటప్ చేయండి</translation>
 <translation id="2395616325548404795">మీ <ph name="DEVICE_TYPE" /> ఎంటర్‌ప్రైజ్ నిర్వహణ కోసం విజయవంతంగా నమోదు చేయబడింది, కానీ దాని లక్షణ మరియు స్థాన సమాచారాన్ని పంపడంలో విఫలమైంది. దయచేసి ఈ పరికరం కోసం ఈ సమాచారాన్ని మీ నిర్వాహక కన్సోల్ నుండి మాన్యువల్‌గా నమోదు చేయండి.</translation>
 <translation id="2396783860772170191">4 అంకెల పిన్ (0000-9999) నమోదు చేయండి</translation>
-<translation id="2398546389094871088">మీ పరికరాన్ని పవర్‌వాష్ చేయడం ద్వారా మీ eSIM ప్రొఫైళ్లు తీసివేయబడవు. ఈ ప్రొఫైల్‌లను మాన్యువల్‌గా తీసివేయడానికి <ph name="LINK_BEGIN" />మొబైల్ సెట్టింగ్‌ల<ph name="LINK_END" />కు వెళ్ళండి.</translation>
+<translation id="2398546389094871088">మీ పరికరాన్ని పవర్‌వాష్ చేయడం ద్వారా మీ eSIM ప్రొఫైళ్లు తీసివేయబడవు. ఈ ప్రొఫైళ్లను మాన్యువల్‌గా తీసివేయడానికి <ph name="LINK_BEGIN" />మొబైల్ సెట్టింగ్‌ల<ph name="LINK_END" />కు వెళ్ళండి.</translation>
 <translation id="2399699884460174994">నోటిఫికేషన్‌లు ఆన్ చేయబడ్డాయి</translation>
 <translation id="2399939490305346086">'సెక్యూరిటీ కీ' సైన్-ఇన్ డేటా</translation>
 <translation id="2400664245143453337">వెంటనే అప్‌డేట్ చేయడం అవసరం</translation>
@@ -1958,6 +1959,7 @@
 <translation id="2915873080513663243">ఆటోమేటిక్ స్కాన్</translation>
 <translation id="2916073183900451334">ఫారమ్ ఫీల్డ్‌ల లాగా వెబ్‌పేజీ హైలైట్‌ల లింక్‌లపై ట్యాబ్‌ను నొక్కడం</translation>
 <translation id="2916745397441987255">ఎక్స్‌టెన్షన్‌లను వెతకండి</translation>
+<translation id="2918484639460781603">సెట్టింగ్‌లకు వెళ్ళు</translation>
 <translation id="2918484644467055090">ఈ పరికరాన్ని మీ ఖాతా చెందిన సంస్థకు ఎన్‌రోల్ చేయడం సాధ్యపడదు, ఎందుకంటే నిర్వహణ కోసం పరికరం వేరే సంస్థ ద్వారా మార్క్ చేయబడింది.</translation>
 <translation id="2920852127376356161">ప్రోటోకాల్‌లను హ్యాండిల్ చేయడానికి అనుమతించబడలేదు</translation>
 <translation id="2921081876747860777">దయచేసి మీ స్థానిక డేటాను రక్షించడానికి పాస్‌వర్డ్‌ను క్రియేట్ చేయండి.</translation>
@@ -1975,7 +1977,7 @@
 <translation id="2932883381142163287">దుర్వినియోగాన్ని రిపోర్ట్ చేయి</translation>
 <translation id="2933632078076743449">చివరి అప్‌డేట్</translation>
 <translation id="2934999512438267372">MIDI డివైజ్‌ల పూర్తి కంట్రోల్ అనుమతించబడింది</translation>
-<translation id="2935225303485967257">ప్రొఫైల్‌లను మేనేజ్ చేయి</translation>
+<translation id="2935225303485967257">ప్రొఫైళ్లను మేనేజ్ చేయి</translation>
 <translation id="2935654492420446828">పాఠశాల ఖాతాను తర్వాత జోడించండి</translation>
 <translation id="2936851848721175671">బ్యాకప్ &amp; పునరుద్ధరణ</translation>
 <translation id="2938225289965773019"><ph name="PROTOCOL" /> లింక్‌లను తెరవండి</translation>
@@ -2321,7 +2323,7 @@
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{ఈ డేటా, గోప్యమైన లేదా హానికరమైన కంటెంట్‌ను కలిగి ఉంది. ఈ కంటెంట్‌ను తీసివేసి, మళ్లీ ట్రై చేయండి.}=1{ఈ ఫైల్, గోప్యమైన లేదా హానికరమైన కంటెంట్‌ను కలిగి ఉంది. ఈ కంటెంట్‌ను తీసివేసి, మళ్లీ ట్రై చేయండి.}other{ఈ ఫైల్స్, గోప్యమైన లేదా హానికరమైన కంటెంట్‌ను కలిగి ఉన్నాయి. ఈ కంటెంట్‌ను తీసివేసి, మళ్లీ ట్రై చేయండి.}}</translation>
 <translation id="3323521181261657960">బోనస్! మీరు మరింత స్క్రీన్ వినియోగ సమయం పొందారు</translation>
 <translation id="3323577066981719144">మీరు ఇక్కడ చేసే మార్పులు Chrome బ్రౌజర్‌కు మాత్రమే వర్తిస్తాయి. మీ Lacros Chrome బ్రౌజర్ సెట్టింగ్‌లలో మార్పులు చేయడానికి, Lacros Chrome బ్రౌజర్‌ను తెరిచి, సెట్టింగ్‌లకు వెళ్లండి.</translation>
-<translation id="3325804108816646710">అందుబాటులో ఉన్న ప్రొఫైల్‌ల కోసం వెతుకుతోంది...</translation>
+<translation id="3325804108816646710">అందుబాటులో ఉన్న ప్రొఫైళ్ల కోసం వెతుకుతోంది...</translation>
 <translation id="3325910708063135066">Mac సిస్టమ్ ప్రాధాన్యతలలో కెమెరా మరియు మైక్రోఫోన్ ఆపివేయబడతాయి</translation>
 <translation id="3327050066667856415">Chromebooks భద్రత కోసం రూపొందించబడ్డాయి. మీ పరికరం ఆటోమేటిక్‌గా మాల్‌వేర్ నుండి రక్షించబడుతుంది - అదనపు సాఫ్ట్‌వేర్ అవసరం లేదు.</translation>
 <translation id="3328489342742826322">బ్యాకప్ నుండి పునరుద్ధరించడం వలన మీ Linux ఫైళ్ల ఫోల్డర్‌లో ప్రస్తుతం ఉన్న Linux అప్లికేషన్‌లు, డేటా తొలగించబడతాయి.</translation>
@@ -2582,6 +2584,7 @@
 <translation id="3592260987370335752">&amp;మరింత తెలుసుకోండి</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin మోడ్‌ను అనుమతించు</translation>
 <translation id="3593965109698325041">సర్టిఫికెట్ పేరు పరిమితులు</translation>
+<translation id="3596012367874587041">యాప్ సెట్టింగ్‌లు</translation>
 <translation id="3596414637720633074">అజ్ఞాతంలో థర్డ్-పార్టీ కుక్కీలను బ్లాక్ చేయి</translation>
 <translation id="3599221874935822507">పైకి ఉన్నట్లుగా</translation>
 <translation id="3599863153486145794">సైన్ ఇన్ చేసిన అన్ని పరికరాల నుండి చరిత్రను తొలగిస్తుంది. మీ Google ఖాతా <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />లో ఇతర రూపాల్లో ఉన్న బ్రౌజింగ్ చరిత్రను కలిగి ఉండవచ్చు.</translation>
@@ -3257,7 +3260,7 @@
 <translation id="4275291496240508082">పరికర ప్రారంభ శబ్దం</translation>
 <translation id="4275830172053184480">మీ పరికరాన్ని పునఃప్రారంభించండి</translation>
 <translation id="4278390842282768270">అనుమతించబడింది</translation>
-<translation id="4279129444466079448">మీరు ఈ పరికరంలో <ph name="PROFILE_LIMIT" /> eSIM ప్రొఫైల్‌ల వరకు ఇన్‌స్టాల్ చేయవచ్చు. మరొక ప్రొఫైల్‌ను జోడించడానికి, మొదట ఇప్పటికే ఉన్న ప్రొఫైల్‌ను తీసివేయండి.</translation>
+<translation id="4279129444466079448">మీరు ఈ పరికరంలో <ph name="PROFILE_LIMIT" /> eSIM ప్రొఫైళ్ల వరకు ఇన్‌స్టాల్ చేయవచ్చు. మరొక ప్రొఫైల్‌ను జోడించడానికి, మొదట ఇప్పటికే ఉన్న ప్రొఫైల్‌ను తీసివేయండి.</translation>
 <translation id="4280325816108262082">పరికరం ఆఫ్ చేయబడినప్పుడు లేదా ఉపయోగించబడనప్పుడు అది ఆటోమేటిక్‌గా డిస్‌కనెక్ట్ అవుతుంది</translation>
 <translation id="4281844954008187215">సర్వీస్ నియమాలు</translation>
 <translation id="4282196459431406533">Smart Lock ఆన్‌లో ఉంది</translation>
@@ -5698,7 +5701,7 @@
 <translation id="6856348640027512653">వర్చువల్ రియాలిటీ పరికరాలు లేదా డేటాను ఉపయోగించడానికి అనుమతించబడలేదు</translation>
 <translation id="6856623341093082836">మీ టచ్‌స్క్రీన్ ఖచ్చితత్వాన్ని సెటప్ చేసి సర్దుబాటు చేయండి</translation>
 <translation id="6856850379840757744">దీనిని ఆన్ చేసినప్పుడు, నోటిఫికేషన్‌లు అన్నీ మ్యూట్ చేయబడతాయి</translation>
-<translation id="6857145580237920905">పవర్‌వాష్‌కు ముందుగానే eSIM ప్రొఫైల్‌లను తీసివేయండి</translation>
+<translation id="6857145580237920905">పవర్‌వాష్‌కు ముందుగానే eSIM ప్రొఫైళ్లను తీసివేయండి</translation>
 <translation id="6857699260879628349">కాన్ఫిగరేషన్ సమాచారాన్ని పొందండి</translation>
 <translation id="6857725247182211756"><ph name="SECONDS" /> సెక</translation>
 <translation id="6860097299815761905">ప్రాక్సీ సెట్టింగ్‌లు...</translation>
@@ -7628,7 +7631,7 @@
 <translation id="8842594465773264717">ఈ వేలిముద్రను తొలగించు</translation>
 <translation id="8845001906332463065">సహాయం పొందండి</translation>
 <translation id="8846132060409673887">ఈ కంప్యూటర్ తయారీదారు పేరు మరియు మోడల్‌కి సంబంధించిన సమాచారాన్ని చదవగలుగుతుంది</translation>
-<translation id="8846163936679269230">eSIM ప్రొఫైల్‌లను రీసెట్ చేయండి</translation>
+<translation id="8846163936679269230">eSIM ప్రొఫైళ్లను రీసెట్ చేయండి</translation>
 <translation id="8847523528195140327">కవర్ మూసి ఉన్నప్పుడు సైన్ అవుట్ స్థితికి వెళ్లు</translation>
 <translation id="8847988622838149491">USB</translation>
 <translation id="8849001918648564819">దాచబడింది</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index b34baa9..c0a1a39 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -204,6 +204,7 @@
 คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้}other{คุณจะออกจากระบบโดยอัตโนมัติใน # วินาที
 คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้}}</translation>
 <translation id="1193927020065025187">เว็บไซต์นี้อาจกำลังพยายามหลอกล่อคุณให้อนุญาตการแจ้งเตือนที่ล่วงล้ำ</translation>
+<translation id="1195210374336998651">ไปที่การตั้งค่าแอป</translation>
 <translation id="1195447618553298278">ข้อผิดพลาดที่ไม่รู้จัก</translation>
 <translation id="1195558154361252544">ระบบจะบล็อกการแจ้งเตือนของทุกเว็บไซต์โดยอัตโนมัติ ยกเว้นเว็บไซต์ที่คุณอนุญาต</translation>
 <translation id="1197088940767939838">สีส้ม</translation>
@@ -384,6 +385,7 @@
 <translation id="1396259464226642517">ผลลัพธ์นี้ต่างจากที่คาดไว้ไหม <ph name="BEGIN_LINK" />ส่งความคิดเห็น<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">ชื่อผู้ใช้และรหัสผ่านที่คุณป้อนไม่ตรงกัน</translation>
 <translation id="1397500194120344683">ไม่มีอุปกรณ์ที่มีสิทธิ์ <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">คุณลงชื่อเข้าใช้ Chrome ในอุปกรณ์เหล่านี้ จึงสามารถใช้อุปกรณ์ดังกล่าวเป็นคีย์ความปลอดภัย</translation>
 <translation id="1398853756734560583">ขยายใหญ่สุด</translation>
 <translation id="139911022479327130">ปลดล็อกโทรศัพท์และยืนยันว่าเป็นคุณ</translation>
 <translation id="1401308693935339022">ใช้ตำแหน่ง อนุญาตแอปและบริการที่มีสิทธิ์เข้าถึงตำแหน่งให้ใช้ตำแหน่งของอุปกรณ์นี้ Google อาจรวบรวมข้อมูลตำแหน่งเป็นระยะๆ และใช้ข้อมูลนี้แบบไม่ระบุตัวตนเพื่อปรับปรุงความแม่นยำของตำแหน่งและบริการตามสถานที่</translation>
@@ -1167,6 +1169,7 @@
 <translation id="2163470535490402084">โปรดเชื่อมต่ออินเทอร์เน็ตเพื่อลงชื่อเข้าใช้ <ph name="DEVICE_TYPE" /></translation>
 <translation id="2163937499206714165">เปิดโหมดมืด</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> และสวิตช์อีก 1 รายการ</translation>
+<translation id="2165102982098084499">คุณลิงก์อุปกรณ์เหล่านี้ด้วยการสแกนคิวอาร์โค้ด</translation>
 <translation id="2165177462441582039">เลือกระยะเวลาที่ไฮไลต์ควรแสดงอยู่ที่แต่ละรายการ</translation>
 <translation id="2166369534954157698">สุนัขจิ้งจอกที่ปราดเปรียวกระโดดข้ามสุนัขเกียจคร้าน</translation>
 <translation id="2169062631698640254">ลงชื่อเข้าใช้ต่อไป</translation>
@@ -1941,6 +1944,7 @@
 <translation id="2915873080513663243">สแกนอัตโนมัติ</translation>
 <translation id="2916073183900451334">การกดแท็บบนหน้าเว็บจะเน้นลิงก์ และฟิลด์ของฟอร์ม</translation>
 <translation id="2916745397441987255">ค้นหาส่วนขยาย</translation>
+<translation id="2918484639460781603">ไปที่การตั้งค่า</translation>
 <translation id="2918484644467055090">ลงทะเบียนอุปกรณ์นี้กับองค์กรที่ใช้บัญชีของคุณอยู่ไม่ได้ เนื่องจากอุปกรณ์มีเครื่องหมายกำกับว่าได้รับการจัดการโดยองค์กรอื่น</translation>
 <translation id="2920852127376356161">ไม่อนุญาตให้จัดการโปรโตคอล</translation>
 <translation id="2921081876747860777">โปรดสร้างรหัสผ่านเพื่อปกป้องข้อมูลในเครื่อง</translation>
@@ -2565,6 +2569,7 @@
 <translation id="3592260987370335752">&amp;ดูข้อมูลเพิ่มเติม</translation>
 <translation id="3593152357631900254">เปิดการใช้งานโหมด Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">ข้อจำกัดของชื่อใบรับรอง</translation>
+<translation id="3596012367874587041">การตั้งค่าแอป</translation>
 <translation id="3596414637720633074">บล็อกคุกกี้ของบุคคลที่สามในโหมดไม่ระบุตัวตน</translation>
 <translation id="3599221874935822507">ยกขึ้น</translation>
 <translation id="3599863153486145794">ล้างประวัติจากอุปกรณ์ที่ลงชื่อเข้าใช้ทั้งหมด บัญชี Google อาจมีประวัติการท่องเว็บรูปแบบอื่นๆ ที่ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /></translation>
@@ -5685,6 +5690,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> วินาที</translation>
 <translation id="6860097299815761905">การตั้งค่าพร็อกซี...</translation>
 <translation id="6860427144121307915">เปิดในแท็บ</translation>
+<translation id="6863496016067551393">อนุญาตให้ใช้ส่วนขยายทั้งหมด</translation>
 <translation id="686366188661646310">ลบรหัสผ่านไหม</translation>
 <translation id="6865313869410766144">ข้อมูลแบบฟอร์มที่ป้อนอัตโนมัติ</translation>
 <translation id="6865598234501509159">หน้านี้ไม่ใช่ภาษา<ph name="LANGUAGE" /></translation>
@@ -5714,6 +5720,7 @@
 <translation id="6900532703269623216">การปกป้องที่ปรับปรุงแล้ว</translation>
 <translation id="6900651018461749106">ลงชื่อเข้าใช้อีกครั้งเพื่ออัปเดต <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">คุณแน่ใจไหมว่าต้องการลบเครื่องมือค้นหานี้</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">แสดงตัวอย่างเสียง</translation>
 <translation id="6902336033320348843">ส่วนที่ไม่รองรับ: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">นำอุปกรณ์เข้าร่วมโดเมน</translation>
@@ -7364,6 +7371,7 @@
 <translation id="8610103157987623234">รูปแบบไม่ถูกต้อง โปรดลองอีกครั้ง</translation>
 <translation id="8611682088849615761">อนุญาตให้เว็บไซต์นี้มีสิทธิ์ควบคุมอุปกรณ์ MIDI โดยสมบูรณ์ต่อไป</translation>
 <translation id="8613164732773110792">อักขระตัวพิมพ์เล็ก ตัวเลข ขีดล่าง หรือขีดกลางเท่านั้น</translation>
+<translation id="8613645710357126807">ไม่อนุญาตให้ใช้ส่วนขยาย</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ใหญ่เกินไปสำหรับการตรวจสอบความปลอดภัย ไฟล์ที่เปิดต้องมีขนาดไม่เกิน 50 MB</translation>
 <translation id="8615618338313291042">แอปพลิเคชันที่ไม่ระบุตัวตน: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">เพิ่ม <ph name="CONTACT_NAME" /> ลงในรายชื่อติดต่อ</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index 5276b896..fd2a176 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" />, akıllı kartınızın takılı kalmasını gerektiriyor.}other{Oturumunuz # saniye sonra otomatik olarak kapatılacak.
 <ph name="DOMAIN" />, akıllı kartınızın takılı kalmasını gerektiriyor.}}</translation>
 <translation id="1193927020065025187">Bu site, rahatsız edici bildirimlere izin vermeniz için sizi kandırmaya çalışıyor olabilir</translation>
+<translation id="1195210374336998651">Uygulama ayarlarına git</translation>
 <translation id="1195447618553298278">Bilinmeyen hata.</translation>
 <translation id="1195558154361252544">Bildirimler, izin verdikleriniz dışındaki tüm siteler için otomatik olarak engellenir</translation>
 <translation id="1197088940767939838">Turuncu</translation>
@@ -384,6 +385,7 @@
 <translation id="1396259464226642517">Bu beklenmeyen bir sonuç muydu? <ph name="BEGIN_LINK" />Geri bildirim gönder<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Girdiğiniz kullanıcı adı ve parola eşleşmiyor</translation>
 <translation id="1397500194120344683">Uygun cihaz yok. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Bu cihazları kullanarak Chrome'da oturum açtığınız için cihazlar güvenlik anahtarı olarak kullanılabilir.</translation>
 <translation id="1398853756734560583">Büyüt</translation>
 <translation id="139911022479327130">Telefonunuzun kilidini açıp kimliğinizi doğrulayın</translation>
 <translation id="1401308693935339022">Konumu kullan. Konum izni olan uygulama ve hizmetlerin bu cihazın konumunu kullanmasına izin verin. Google, konum verilerini düzenli olarak toplayabilir ve konum doğruluğu ile konuma dayalı hizmetleri iyileştirmek için bu verileri anonim bir şekilde kullanabilir.</translation>
@@ -768,6 +770,7 @@
 <translation id="176587472219019965">&amp;Yeni Pencere</translation>
 <translation id="1766575458646819543">Tam ekrandan çıkıldı</translation>
 <translation id="1766957085594317166">Şifrelerinizi Google Hesabınızda güvenle kaydederek bir daha hiç yazmak zorunda kalmayın</translation>
+<translation id="1767043563165955993">Android uygulamalarıyla kullan</translation>
 <translation id="1768212860412467516"><ph name="EXPERIMENT_NAME" /> için geri bildirim gönderin.</translation>
 <translation id="1768278914020124551">Tüh! Oturum açma sunucusuyla bağlantı kurulurken bir sorun oluştu. Lütfen ağ bağlantınızı ve alan adınızı kontrol edip tekrar deneyin.</translation>
 <translation id="1769104665586091481">Bağlantıyı Yeni &amp;Pencerede Aç</translation>
@@ -1103,6 +1106,7 @@
 <translation id="2113479184312716848">&amp;Dosya Aç...</translation>
 <translation id="2113921862428609753">Yetkili Bilgi Erişimi</translation>
 <translation id="2114326799768592691">&amp;Çerçeveyi Yeniden Yükle</translation>
+<translation id="2114413269775311385">Bu hesabı Android uygulamalarıyla kullanın. Android uygulamalarının izinlerini <ph name="LINK_BEGIN" />Uygulama Ayarları<ph name="LINK_END" /> bölümünden kontrol edebilirsiniz.</translation>
 <translation id="2114896190328250491">Fotoğrafı çeken: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">SIM kart takılı değil</translation>
 <translation id="2116619964159595185">Düşük enerjili işaretçileri, sağlık veya fitness takip cihazlarını veya akıllı ampulleri kurmak veya senkronize etmek gibi özelliklerin kullanılması için siteler genellikle Bluetooth cihazlara bağlanır</translation>
@@ -1165,6 +1169,7 @@
 <translation id="2163470535490402084"><ph name="DEVICE_TYPE" /> cihazınızda oturum açmak için lütfen İnternet'e bağlanın.</translation>
 <translation id="2163937499206714165">Koyu modu aç</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> ve 1 anahtar daha</translation>
+<translation id="2165102982098084499">Bu cihazları QR kodu tarayarak bağladınız.</translation>
 <translation id="2165177462441582039">Vurgunun her öğede ne kadar süreyle kalması gerektiğini seçin</translation>
 <translation id="2166369534954157698">Pijamalı hasta, yağız şoföre çabucak güvendi</translation>
 <translation id="2169062631698640254">Yine de oturum aç</translation>
@@ -1890,6 +1895,7 @@
 <translation id="287205682142673348">Bağlantı noktası yönlendirme</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> Sağlayıcısını Ekle...</translation>
 <translation id="2872961005593481000">Kapat</translation>
+<translation id="2873995907777332853">Tüm çerezleri engelleme ile ilgili ayrıntıları göster</translation>
 <translation id="2874939134665556319">Önceki parça</translation>
 <translation id="2875698561019555027">(Chrome hata sayfaları)</translation>
 <translation id="2876336351874743617">2. parmak</translation>
@@ -1937,6 +1943,7 @@
 <translation id="2915873080513663243">Otomatik tarama</translation>
 <translation id="2916073183900451334">Bir web sayfasında Sekme tuşuna basıldığında bağlantılar ve form alanları vurgulanır</translation>
 <translation id="2916745397441987255">Uzantılarda ara</translation>
+<translation id="2918484639460781603">Ayarlara git</translation>
 <translation id="2918484644467055090">Bu cihaz, farklı bir kuruluş tarafından yönetilen cihaz olarak işaretlendiğinden hesabınızın ait olduğu kuruluşa kaydettirilemiyor.</translation>
 <translation id="2920852127376356161">Protokolleri işlemesine izin verilmeyen siteler</translation>
 <translation id="2921081876747860777">Yerel verilerinizi korumak için lütfen bir şifre oluşturun.</translation>
@@ -2193,6 +2200,7 @@
 <translation id="3189187154924005138">Büyük imleç</translation>
 <translation id="3190558889382726167">Şifre kaydedildi</translation>
 <translation id="3192947282887913208">Ses Dosyaları</translation>
+<translation id="3194786596445804250">Üçüncü taraf çerezleri engelleme ile ilgili ayrıntıları göster</translation>
 <translation id="3197453258332670132">Sağ tıklama veya uzun basma ile seçiminizle ilgili bilgileri gösterin</translation>
 <translation id="3199127022143353223">Sunucular</translation>
 <translation id="3200061262156232574">Alışveriş sepetinizdekiler</translation>
@@ -2560,6 +2568,7 @@
 <translation id="3592260987370335752">&amp;Daha fazla bilgi edinin</translation>
 <translation id="3593152357631900254">Benzer Pinyin modunu etkinleştir</translation>
 <translation id="3593965109698325041">Sertifika Adı Kısıtlamaları</translation>
+<translation id="3596012367874587041">Uygulama ayarları</translation>
 <translation id="3596414637720633074">Gizli modda üçüncü taraf çerezleri engelle</translation>
 <translation id="3599221874935822507">Yükseltilmiş</translation>
 <translation id="3599863153486145794">Oturumunuzun açık olduğu tüm cihazlarda geçmişi temizler. Google Hesabınızın <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> adresinde başka biçimlerde tarama geçmişi olabilir.</translation>
@@ -2937,6 +2946,7 @@
 <translation id="3943582379552582368">&amp;Geri</translation>
 <translation id="3943857333388298514">Yapıştır</translation>
 <translation id="3945513714196326460">Daha kısa bir ad girin</translation>
+<translation id="3947643756376959257">Chromecast veya TV'de gösterilen erişim kodunu girin.</translation>
 <translation id="3948027458879361203">Ana makine adını değiştirme</translation>
 <translation id="3948116654032448504"><ph name="SEARCH_ENGINE" /> içinde Resim &amp;ara</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> sitesi şu klasörlerdeki dosyaları düzenleyebilir:</translation>
@@ -3178,12 +3188,14 @@
 <translation id="4210048056321123003">Sanal makine indiriliyor</translation>
 <translation id="421182450098841253">Yer İşaretleri Ç&amp;ubuğunu Göster</translation>
 <translation id="4211851069413100178">Kullanım ve teşhis verilerini gönder. Teşhis, cihaz ve uygulama kullanımı verilerini otomatik olarak Google'a göndererek Android deneyiminizin iyileştirilmesine yardımcı olun. Bu veriler, sistem ve uygulama kararlılığı ile diğer özellikleri iyileştirmeye yardımcı olur. Bazı birleştirilmiş veriler, Google uygulamalarına ve iş ortaklarına da (ör. Android geliştiricileri) yardımcı olur. Bu <ph name="BEGIN_LINK1" />ayar<ph name="END_LINK1" />, cihazın sahibi tarafından zorunlu kılınmıştır. Cihazın sahibi bu cihazın teşhis ve kullanım verilerini Google'a göndermeyi seçebilir. Ek Web ve Uygulama Etkinliği açıksa bu veriler Google hesabınıza kaydedilebilir. <ph name="BEGIN_LINK2" />Daha Fazla Bilgi<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Android uygulamalarıyla kullanmayı bırak</translation>
 <translation id="42126664696688958">Dışa Aktar</translation>
 <translation id="42137655013211669">Bu kaynağa erişim sunucu tarafından yasaklandı.</translation>
 <translation id="4217571870635786043">Dikte</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Etkinleştirme sırasında bir hata oluştu.</translation>
 <translation id="4225397296022057997">Tüm sitelerde</translation>
+<translation id="4227605727325220318">Yeni bir Android telefon ekle</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Bu uzantıya izin verilmiyor}other{Bazı uzantılara izin verilmiyor}}</translation>
 <translation id="4231095370974836764"><ph name="DEVICE_TYPE" /> cihazınıza Google Play'den uygulama ve oyunlar yükleyin. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Kerberos'u yapılandırın</translation>
@@ -4715,6 +4727,7 @@
 <translation id="5862109781435984885">Ekran kalemi araçlarını rafta göster</translation>
 <translation id="5862319196656206789">Bağlı cihazları kur</translation>
 <translation id="5863445608433396414">Hata ayıklama özelliklerini etkinleştir</translation>
+<translation id="5864147196375746035">Yönetilen bir cihazda yayınlama</translation>
 <translation id="5864195618110239517">Sayaçlı bağlantıyı kullan</translation>
 <translation id="5864754048328252126">Şarj olurken boşta kalma işlemi</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> yakında duraklatılacak</translation>
@@ -5284,6 +5297,7 @@
 <translation id="6455264371803474013">Belirli sitelerde</translation>
 <translation id="6455894534188563617">&amp;Yeni Klasör</translation>
 <translation id="645705751491738698">JavaScript'i engellemeye devam et</translation>
+<translation id="6458347417133445570">Tüm çerezlere izin verme ile ilgili ayrıntıları göster</translation>
 <translation id="6458701200018867744">Yükleme başarısız oldu (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Bul için Seçim'i Kullan</translation>
 <translation id="6459799433792303855">Etkin pencere başka bir ekrana taşındı.</translation>
@@ -5676,6 +5690,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> sn.</translation>
 <translation id="6860097299815761905">Proxy ayarları...</translation>
 <translation id="6860427144121307915">Sekmede aç</translation>
+<translation id="6863496016067551393">Tüm uzantılara izin verilen siteler</translation>
 <translation id="686366188661646310">Şifre silinsin mi?</translation>
 <translation id="6865313869410766144">Form otomatik doldurma verileri</translation>
 <translation id="6865598234501509159">Sayfa <ph name="LANGUAGE" /> Değil</translation>
@@ -5705,6 +5720,7 @@
 <translation id="6900532703269623216">Gelişmiş koruma</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> hesabını güncellemek için tekrar oturum açın</translation>
 <translation id="6900654715912436255">Bu arama motorunu silmek istediğinizden emin misiniz?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Önizlenecek ses</translation>
 <translation id="6902336033320348843">Bölüm desteklenmiyor: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Alan adına cihaz ekle</translation>
@@ -5894,6 +5910,7 @@
 <translation id="7086672505018440886">Chrome günlük dosyalarını arşive dahil et.</translation>
 <translation id="7088434364990739311">Güncelleme denetimi başlatılamadı (hata kodu <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Bu cihaz, yönetici tarafından "sağlanmıyor" durumuna alınmış. Kayıt için tekrar etkinleştirmek üzere lütfen yöneticinizden cihazı bekleme durumuna almasını isteyin.</translation>
+<translation id="7090160970140261931">Web sitelerinde ve Android uygulamalarında kullanmak için <ph name="DEVICE_TYPE" /> cihazınıza ek hesap ekleyebilirsiniz. Android uygulamalarıyla hangi hesapların kullanılacağını da kontrol edebilirsiniz.</translation>
 <translation id="7093220653036489319">Hızlı yanıtlar</translation>
 <translation id="7093416310351037609">Kuruluşunuz, veri güvenliği için tüm uygun indirmelerin kuruluşunuza ait <ph name="WEB_DRIVE" /> hesabına kaydedilmesini ister.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6712,6 +6729,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> sn.</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" />, <ph name="FILENAME" /> dosyasını görüntüleyebilir</translation>
 <translation id="7920482456679570420">Yazım denetiminin atlamasını istediğiniz kelimeleri ekleyin</translation>
+<translation id="7922935920104868876">Gizli modda üçüncü taraf çerezleri engelleme ile ilgili ayrıntıları göster</translation>
 <translation id="7924358170328001543">Bağlantı noktası yönlendirme hatası</translation>
 <translation id="7925108652071887026">Verileri otomatik doldur</translation>
 <translation id="792514962475806987">Yerleştirilmişken yakınlaştırma düzeyi:</translation>
@@ -6876,6 +6894,7 @@
 <translation id="8076492880354921740">Sekmeler</translation>
 <translation id="8076835018653442223">Cihazınızdaki yerel dosyalara erişim, yöneticiniz tarafından devre dışı bırakıldı</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Android uygulamalarla kullanabileceğiniz hesaplar</translation>
 <translation id="8081989000209387414">ADB hata ayıklama işlevi devre dışı bırakılsın mı?</translation>
 <translation id="8082106343289440791">"<ph name="DEVICE_NAME" />" ile eşlensin mi?</translation>
 <translation id="8082390128630131497">ADB hata ayıklama işlevini devre dışı bırakmak bu <ph name="DEVICE_TYPE" /> cihazını fabrika ayarlarına sıfırlar. Tüm kullanıcı hesapları ve yerel veriler silinir.</translation>
@@ -6950,6 +6969,7 @@
 <translation id="8147900440966275470"><ph name="NUM" /> Sekme Bulundu</translation>
 <translation id="8148760431881541277">Oturum açmayı sınırla</translation>
 <translation id="8149564499626272569">USB kablosuyla bağlı telefonumu kullanarak doğrula</translation>
+<translation id="815114315010033526">Bunun yerine QR kodu kullan</translation>
 <translation id="8151638057146502721">Yapılandır</translation>
 <translation id="8154790740888707867">Dosya yok</translation>
 <translation id="8154912474061769055">Çoğu sitedeki özellikler çalışmayabilir</translation>
@@ -6975,6 +6995,7 @@
 <translation id="8176332201990304395">Pembe ve beyaz</translation>
 <translation id="8177196903785554304">Ağ Ayrıntıları</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Sekmeyi yeni pencereye taşı}other{Sekmeleri yeni pencereye taşı}}</translation>
+<translation id="8179188928355984576">Android uygulamalarıyla kullanılmaz</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />", işaretli konumlardaki resimleri, videoları ve ses dosyalarını okuyabilir ve silebilir.</translation>
 <translation id="8181215761849004992">Alan adına katılınamıyor. Hesabınızı kontrol ederek, cihazları eklemek için yeterli ayrıcalıklara sahip olduğunuzdan emin olun.</translation>
@@ -7134,6 +7155,7 @@
 <translation id="8342861492835240085">Koleksiyon seçin</translation>
 <translation id="8347227221149377169">Yazdırma işleri</translation>
 <translation id="834785183489258869">Gizli moddayken siteler, örneğin reklamları kişiselleştirmek amacıyla farklı sitelerde tarama etkinliğinizi görmek için çerezlerinizi kullanamaz. Bazı sitelerdeki özellikler çalışmayabilir.</translation>
+<translation id="8349499562373871073">Android uygulamalarıyla kullanılmak üzere mevcut bir hesap seçebilir veya yeni bir Google Hesabı ekleyebilirsiniz. Bir Android uygulamasında oturum açtıktan sonra hesabınız diğer Android uygulamalarıyla kullanılabilir. Android uygulamalarının erişim ayarlarını <ph name="LINK_BEGIN" />Ayarlar &gt; Hesaplar<ph name="LINK_END" />'dan değiştirebilirsiniz.</translation>
 <translation id="8350789879725387295">Yuvadayken ekran kalemi aracı</translation>
 <translation id="8351316842353540018">Her zaman a11y seçeneklerini göster</translation>
 <translation id="8351419472474436977">Bu uzantı proxy ayarlarınızın denetimini ele geçirdi. Bu, uzantının çevrimiçinde yaptıklarınızı değiştirebileceği, kesebileceği veya dinleyebileceği anlamına gelir. Bu değişikliğin neden olduğundan emin değilseniz muhtemelen bu değişikliği yapmayı istememişsinizdir.</translation>
@@ -7349,6 +7371,7 @@
 <translation id="8610103157987623234">Yanlış biçim, lütfen tekrar deneyin</translation>
 <translation id="8611682088849615761">Bu sitenin MIDI cihazları üzerinde tam denetime sahip olmasına izin vermeye devam et</translation>
 <translation id="8613164732773110792">Yalnızca küçük harfler, rakamlar, alt çizgiler veya kısa çizgiler</translation>
+<translation id="8613645710357126807">Uzantı kullanmasına izin verilmeyen siteler</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> adlı dosya, güvenlik kontrolü için çok büyük. 50 MB'a kadar olan dosyaları açabilirsiniz.</translation>
 <translation id="8615618338313291042">Gizli Mod Uygulaması: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> adlı kullanıcıyı kişilerime ekle</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 4b7fa16..0fd4ec2 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -209,6 +209,7 @@
 Домен <ph name="DOMAIN" /> вимагає, щоб ви не виймали розумну картку.}other{Ви вийдете автоматично через # секунди.
 Домен <ph name="DOMAIN" /> вимагає, щоб ви не виймали розумну картку.}}</translation>
 <translation id="1193927020065025187">Цей сайт може оманливим шляхом змусити вас дозволити нав'язливі сповіщення</translation>
+<translation id="1195210374336998651">Перейдіть у налаштування додатка</translation>
 <translation id="1195447618553298278">Невідома помилка.</translation>
 <translation id="1195558154361252544">Сповіщення автоматично заблоковано для всіх сайтів, крім тих, які ви дозволили</translation>
 <translation id="1197088940767939838">Оранжевий</translation>
@@ -782,6 +783,7 @@
 <translation id="176587472219019965">&amp;Нове вікно</translation>
 <translation id="1766575458646819543">Ви вийшли з повноекранного режиму</translation>
 <translation id="1766957085594317166">Надійно зберігайте паролі в обліковому записі Google: так вам не доведеться постійно вводити їх вручну</translation>
+<translation id="1767043563165955993">Використовувати в додатках для Android</translation>
 <translation id="1768212860412467516">Надішліть відгук про експеримент "<ph name="EXPERIMENT_NAME" />".</translation>
 <translation id="1768278914020124551">На жаль, не вдалося зв’язатися із сервером для входу. Перевірте з’єднання з Інтернетом і доменне ім’я та повторіть спробу.</translation>
 <translation id="1769104665586091481">Відкрити посилання в новому &amp;вікні</translation>
@@ -1118,6 +1120,7 @@
 <translation id="2113479184312716848">Відкрити &amp;файл...</translation>
 <translation id="2113921862428609753">Доступ до відомостей про центри сертифікації</translation>
 <translation id="2114326799768592691">Перезавантажити фрейм</translation>
+<translation id="2114413269775311385">Використовувати цей обліковий запис у додатках для Android. Дозволами для них можна керувати в <ph name="LINK_BEGIN" />налаштуваннях додатків<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Автор фотографії: <ph name="NAME" /></translation>
 <translation id="2114995631896158695">SIM-карту не вставлено</translation>
 <translation id="2116619964159595185">Сайти зазвичай підключаються до пристроїв із Bluetooth для роботи таких функцій, як налаштування або синхронізація маяків із низьким енергоспоживанням, пристроїв для відстеження здоров'я або фізичної активності, розумних лампочок</translation>
@@ -1909,6 +1912,7 @@
 <translation id="287205682142673348">Переадресація порту</translation>
 <translation id="287286579981869940">Додати <ph name="PROVIDER_NAME" />…</translation>
 <translation id="2872961005593481000">Завершити роботу</translation>
+<translation id="2873995907777332853">Показувати деталі про блокування всіх файлів cookie</translation>
 <translation id="2874939134665556319">Попередня композиція</translation>
 <translation id="2875698561019555027">(сторінки Chrome із повідомленням про помилку)</translation>
 <translation id="2876336351874743617">Палець 2</translation>
@@ -1956,6 +1960,7 @@
 <translation id="2915873080513663243">Автосканування</translation>
 <translation id="2916073183900451334">За допомогою клавіші Tab можна виділяти посилання та поля форми на веб-сторінці</translation>
 <translation id="2916745397441987255">Пошук у розширеннях</translation>
+<translation id="2918484639460781603">Перейти в налаштування</translation>
 <translation id="2918484644467055090">Цей пристрій не можна зареєструвати в організації, до якої належить ваш обліковий запис, оскільки пристрій зареєстрований в іншій організації.</translation>
 <translation id="2920852127376356161">Заборонено обробляти протоколи</translation>
 <translation id="2921081876747860777">Створіть пароль, щоб захистити дані на пристрої.</translation>
@@ -2212,6 +2217,7 @@
 <translation id="3189187154924005138">Великий курсор</translation>
 <translation id="3190558889382726167">Пароль збережено</translation>
 <translation id="3192947282887913208">Аудіофайли</translation>
+<translation id="3194786596445804250">Показувати деталі про блокування сторонніх файлів cookie</translation>
 <translation id="3197453258332670132">Коли ви натискаєте вибраний текст правою кнопкою миші або втримуєте його, відображається пов’язана з ним інформація</translation>
 <translation id="3199127022143353223">Сервери</translation>
 <translation id="3200061262156232574">У вашому кошику для покупок</translation>
@@ -2579,6 +2585,7 @@
 <translation id="3592260987370335752">&amp;Докладніше</translation>
 <translation id="3593152357631900254">Увімкнути режим приблизних збігів для стандарту піньїнь</translation>
 <translation id="3593965109698325041">Обмеження імені сертифіката</translation>
+<translation id="3596012367874587041">Налаштування додатків</translation>
 <translation id="3596414637720633074">Блокувати файли cookie третіх сторін в анонімному режимі</translation>
 <translation id="3599221874935822507">Опуклий текст</translation>
 <translation id="3599863153486145794">Видалення історії на всіх пристроях, на яких ви ввійшли в обліковий запис. Історія веб-перегляду може також зберігатися у вашому обліковому записі Google на сторінці  <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2956,6 +2963,7 @@
 <translation id="3943582379552582368">&amp;Назад</translation>
 <translation id="3943857333388298514">Вставити</translation>
 <translation id="3945513714196326460">Введіть коротшу назву</translation>
+<translation id="3947643756376959257">Введіть код доступу, що відображається на пристрої Chromecast або телевізорі.</translation>
 <translation id="3948027458879361203">Змінити ім’я хосту</translation>
 <translation id="3948116654032448504">Шукати зображення в <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786">Сайт <ph name="ORIGIN" /> може змінювати файли в указаних нижче папках</translation>
@@ -3197,12 +3205,14 @@
 <translation id="4210048056321123003">Завантажується віртуальна машина</translation>
 <translation id="421182450098841253">&amp;Показати панель закладок</translation>
 <translation id="4211851069413100178">Надсилати дані про використання й діагностику. Допоможіть покращити роботу Android, автоматично надсилаючи в Google дані про діагностику та використання пристрою і додатків. Ця інформація допоможе покращити стабільність системи, додатків тощо. Деякі зведені дані також корисні для додатків і партнерів Google, як-от розробників Android. Це <ph name="BEGIN_LINK1" />налаштування<ph name="END_LINK1" /> застосовує власник. Власник може ввімкнути надсилання в Google даних про діагностику й використання цього пристрою. Якщо ввімкнено додаткову Історію додатків і веб-пошуку, ці дані зберігаються в обліковому записі Google. <ph name="BEGIN_LINK2" />Докладніше<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Припинити використовувати в додатках для Android</translation>
 <translation id="42126664696688958">Експортувати</translation>
 <translation id="42137655013211669">Сервер заборонив доступ до цього ресурсу.</translation>
 <translation id="4217571870635786043">Диктування</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Під час активації сталася помилка.</translation>
 <translation id="4225397296022057997">На всіх сайтах</translation>
+<translation id="4227605727325220318">Додати новий телефон Android</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Це розширення заборонено}one{Деякі розширення заборонено}few{Деякі розширення заборонено}many{Деякі розширення заборонено}other{Деякі розширення заборонено}}</translation>
 <translation id="4231095370974836764">Установлюйте додатки й ігри з Google Play на пристрої <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Налаштувати Kerberos</translation>
@@ -4734,6 +4744,7 @@
 <translation id="5862109781435984885">Показувати інструменти стилуса на панелі запуску</translation>
 <translation id="5862319196656206789">Налаштувати підключені пристрої</translation>
 <translation id="5863445608433396414">Увімкнути функції налагодження</translation>
+<translation id="5864147196375746035">Транслювати на керований пристрій</translation>
 <translation id="5864195618110239517">Використовувати підключення з тарифікацією трафіку</translation>
 <translation id="5864754048328252126">Що робити, коли пристрій неактивний і заряджається</translation>
 <translation id="5865508026715185451">Додаток <ph name="APP_NAME" /> невдовзі буде призупинено</translation>
@@ -5303,6 +5314,7 @@
 <translation id="6455264371803474013">На певних сайтах</translation>
 <translation id="6455894534188563617">&amp;Нова папка</translation>
 <translation id="645705751491738698">Продовжити блокування JavaScript</translation>
+<translation id="6458347417133445570">Показувати деталі про дозвіл на всі файли cookie</translation>
 <translation id="6458701200018867744">Помилка завантаження (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Використати виділення для пошуку</translation>
 <translation id="6459799433792303855">Активне вікно переміщено на інший дисплей</translation>
@@ -5913,6 +5925,7 @@
 <translation id="7086672505018440886">Включити в архів файли журналу Chrome.</translation>
 <translation id="7088434364990739311">Не вдалося запустити перевірку наявності оновлень (код помилки: <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Адміністратор активував на цьому пристрої стан деініціалізації. Щоб увімкнути його для реєстрації, попросіть адміністратора перевести пристрій у стан очікування.</translation>
+<translation id="7090160970140261931">Ви можете додати інші облікові записи, через які <ph name="DEVICE_TYPE" /> матиме доступ до веб-сайтів і додатків для Android. Також можна визначати, які облікові записи використовуються в додатках для Android.</translation>
 <translation id="7093220653036489319">Швидкі відповіді</translation>
 <translation id="7093416310351037609">З міркувань захисту даних адміністратор вашої організації вимагає, щоб дозволені завантажені файли зберігалися в обліковому записі організації в сервісі <ph name="WEB_DRIVE" />.</translation>
 <translation id="7093434536568905704">Тема GTK+</translation>
@@ -6733,6 +6746,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> с</translation>
 <translation id="7920363873148656176">Сайт <ph name="ORIGIN" /> може переглядати файл "<ph name="FILENAME" />"</translation>
 <translation id="7920482456679570420">Додайте слова, які потрібно пропускати під час перевірки орфографії</translation>
+<translation id="7922935920104868876">Показувати деталі про блокування сторонніх файлів cookie в анонімному режимі</translation>
 <translation id="7924358170328001543">Не вдалося переадресувати порт</translation>
 <translation id="7925108652071887026">Дані автозаповнення</translation>
 <translation id="792514962475806987">Рівень масштабування закріпленої лупи:</translation>
@@ -6897,6 +6911,7 @@
 <translation id="8076492880354921740">Вкладки</translation>
 <translation id="8076835018653442223">Адміністратор вимкнув доступ до локальних файлів на вашому пристрої</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Облікові записи, доступні для використання з додатками Android</translation>
 <translation id="8081989000209387414">Вимкнути налагодження ADB?</translation>
 <translation id="8082106343289440791">Підключитися до пристрою "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Якщо вимкнути налагодження ADB, усі заводські налаштування пристрою <ph name="DEVICE_TYPE" /> буде скинуто. Усі облікові записи користувачів і локальні дані буде видалено.</translation>
@@ -6971,6 +6986,7 @@
 <translation id="8147900440966275470">Знайдено стільки вкладок: <ph name="NUM" /></translation>
 <translation id="8148760431881541277">Обмежити вхід</translation>
 <translation id="8149564499626272569">Підтвердити через телефон із кабелем USB</translation>
+<translation id="815114315010033526">Скористатися QR-кодом</translation>
 <translation id="8151638057146502721">Налаштувати</translation>
 <translation id="8154790740888707867">Немає файлу</translation>
 <translation id="8154912474061769055">Функції на багатьох сайтах можуть не працювати</translation>
@@ -6996,6 +7012,7 @@
 <translation id="8176332201990304395">Рожево-білий</translation>
 <translation id="8177196903785554304">Дані про мережу</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Перемістити вкладку в нове вікно}one{Перемістити вкладки в нове вікно}few{Перемістити вкладки в нове вікно}many{Перемістити вкладки в нове вікно}other{Перемістити вкладки в нове вікно}}</translation>
+<translation id="8179188928355984576">Не використовується в додатках для Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">Розширення "<ph name="EXTENSION" />" має доступ до читання й видалення зображень, відео та звукових файлів у вибраних розташуваннях.</translation>
 <translation id="8181215761849004992">Не вдається приєднатися до домену. Перевірте в обліковому записі, чи ви можете додавати пристрої.</translation>
@@ -7155,6 +7172,7 @@
 <translation id="8342861492835240085">Виберіть колекцію</translation>
 <translation id="8347227221149377169">Завдання друку</translation>
 <translation id="834785183489258869">В анонімному режимі сайти не можуть використовувати файли cookie для перегляду ваших дій у веб-переглядачі, зокрема, щоб персоналізувати рекламу. Функції на деяких сайтах можуть не працювати.</translation>
+<translation id="8349499562373871073">Щоб використовувати додатки Android, можна вибрати наявний обліковий запис або створити новий. Щойно ви ввійдете в додаток Android, ваш обліковий запис можна буде використовувати з іншими додатками Android. Доступ до додатків Android можна змінити в меню <ph name="LINK_BEGIN" />Налаштування &gt; Облікові записи<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Інструменти стилуса на закріпленій панелі</translation>
 <translation id="8351316842353540018">Завжди показувати параметри спеціальних можливостей</translation>
 <translation id="8351419472474436977">Розширення керує налаштуваннями проксі-сервера, тобто може змінювати та переривати будь-які ваші дії онлайн, а також стежити за ними. Якщо ви не знаєте причини такої зміни, імовірно, вона небажана.</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index a957ada4..d99ba876 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> آپ سے اپنا سمارٹ کارڈ داخل کئے رکھنے کا تقاضا کرتا ہے۔}other{آپ خودکار طور پر # سیکنڈ میں سائن آؤٹ ہو جائیں گے۔
 <ph name="DOMAIN" /> آپ سے اپنا سمارٹ کارڈ داخل کئے رکھنے کا تقاضا کرتا ہے۔}}</translation>
 <translation id="1193927020065025187">ممکن ہے یہ سائٹ آپ کو دھوکہ سے دخل انداز اطلاعات کی اجازت دینے کی کوشش کر رہی ہو</translation>
+<translation id="1195210374336998651">ایپ کی ترتیبات پر جائیں</translation>
 <translation id="1195447618553298278">نامعلوم خرابی۔</translation>
 <translation id="1195558154361252544">تمام سائٹس کے لیے اطلاعات کو خودکار طور پر مسدود کر دیا گیا ہے سوائے ان کے جن کی آپ نے اجازت دی ہے</translation>
 <translation id="1197088940767939838">نارنجی</translation>
@@ -384,6 +385,7 @@
 <translation id="1396259464226642517">کیا یہ نتیجہ غیر متوقع تھا؟ <ph name="BEGIN_LINK" />تاثرات بھیجیں<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">آپ کی جانب سے درج کردہ صارف نام اور پاس ورڈ مماثل نہیں ہیں</translation>
 <translation id="1397500194120344683">کوئی اہل آلہ نہیں ہے۔ <ph name="LINK_BEGIN" />مزید جانیں<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">‏آپ ان آلات پر Chrome میں سائن ان ہیں، لہذا آپ انہیں سیکیورٹی کلیدوں کے طور پر استعمال کر سکتے ہیں۔</translation>
 <translation id="1398853756734560583">بڑا کریں</translation>
 <translation id="139911022479327130">اپنا فون غیر مقفل کریں اور تصدیق کریں کہ یہ آپ ہی ہیں</translation>
 <translation id="1401308693935339022">‏مقام استعمال کریں۔ مقام کی اجازت والی ایپس اور سروسز کو اس آلہ کا مقام استعمال کرنے کی اجازت دیں۔ Google وقتاً فوقتاً مقام کا ڈیٹا جمع کر سکتا ہے اور مقام کی درستگی اور مقام پر مبنی سروسز کو بہتر بنانے کے لیے گمنام طریقے سے اس ڈیٹا کا استعمال کر سکتا ہے۔</translation>
@@ -1168,6 +1170,7 @@
 <translation id="2163470535490402084">براہ کرم اپنے <ph name="DEVICE_TYPE" /> میں سائن ان کرنے کیلئے انٹرنیٹ سے منسلک ہوں۔</translation>
 <translation id="2163937499206714165">تاریک وضع آن کریں</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />، <ph name="SECOND_SWITCH" />، <ph name="THIRD_SWITCH" /> اور 1 مزید سوئچ</translation>
+<translation id="2165102982098084499">‏آپ نے QR کوڈ اسکین کر کے ان آلات کو لنک کیا ہے۔</translation>
 <translation id="2165177462441582039">منتخب کریں کہ ہائی لائٹ کو ہر آئٹم پر کتنی دیر رہنا چاہیے</translation>
 <translation id="2166369534954157698">ایک ٹیلے پر واقع مزار خواجہ فرید الدین گنج شکر کے احاطۂ صحن میں ذرا سی ژالہ باری چاندی کے ڈھیروں کی مثل بڑے غضب کا نظارہ دیتی ہے۔</translation>
 <translation id="2169062631698640254">بہر صورت سائن ان کریں</translation>
@@ -2565,6 +2568,7 @@
 <translation id="3592260987370335752">مزید &amp;جانیں</translation>
 <translation id="3593152357631900254">‏Fuzzy-Pinyin وضع فعال کریں</translation>
 <translation id="3593965109698325041">سرٹیفکیٹ نام کی پابندیاں</translation>
+<translation id="3596012367874587041">ایپ کی ترتیبات</translation>
 <translation id="3596414637720633074">پوشیدگی میں فریق ثالث کوکیز کو بلاک کریں</translation>
 <translation id="3599221874935822507">ابھرا ہوا</translation>
 <translation id="3599863153486145794">‏سبھی سائن ان کردہ آلات سے سرگزشت صاف کر دیتا ہے۔ ممکن ہے کہ <ph name="BEGIN_LINK" />myactivity.google<ph name="END_LINK" /> پر آپ کے Google اکاؤنٹ میں براؤزنگ کی سرگزشت کی دیگر شکلیں موجود ہوں۔</translation>
@@ -5684,6 +5688,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> سیکنڈ</translation>
 <translation id="6860097299815761905">پراکسی کی ترتیبات…</translation>
 <translation id="6860427144121307915">ایک ٹیب میں کھولیں</translation>
+<translation id="6863496016067551393">سبھی ایکسٹینشنز کی اجازت ہے</translation>
 <translation id="686366188661646310">پاس ورڈ حذف کریں؟</translation>
 <translation id="6865313869410766144">آٹو فل فارم ڈیٹا</translation>
 <translation id="6865598234501509159">صفحہ <ph name="LANGUAGE" /> میں نہیں ہے</translation>
@@ -5713,6 +5718,7 @@
 <translation id="6900532703269623216">بہتر کردہ حفاظت</translation>
 <translation id="6900651018461749106"><ph name="USER_EMAIL" /> کو اپ ڈیٹ کرنے کے لیے دوبارہ سائن ان کریں</translation>
 <translation id="6900654715912436255">کیا آپ واقعی اس سرچ انجن کو حذف کرنا چاہتے ہیں؟</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">پیش منظر کی آواز</translation>
 <translation id="6902336033320348843">سیکشن تعاون یافتہ نہیں ہے: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">آلہ کو ڈومین میں شامل کریں</translation>
@@ -7364,6 +7370,7 @@
 <translation id="8610103157987623234">غلط فارمیٹ، براہ کرم دوبارہ کوشش کریں</translation>
 <translation id="8611682088849615761">‏اس سائٹ کو MIDI آلات کا مکمل کنٹرول حاصل کرنے کی اجازت دینا جاری رکھیں</translation>
 <translation id="8613164732773110792">صرف چھوٹے حروف، ہندسے، انڈر سکورز یا ڈیشز</translation>
+<translation id="8613645710357126807">ایکسٹینشنز استعمال کرنے کی اجازت نہیں ہے</translation>
 <translation id="8613786722548417558">‏سیکیورٹی چیک کیلئے <ph name="FILE_NAME" /> بہت بڑی ہے۔ آپ ‎50 MB تک کی فائلز کھول سکتے ہیں۔</translation>
 <translation id="8615618338313291042">پوشیدگی ایپ: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662"><ph name="CONTACT_NAME" /> کو اپنے رابطوں میں شامل کریں</translation>
diff --git a/chrome/app/resources/generated_resources_uz.xtb b/chrome/app/resources/generated_resources_uz.xtb
index 5881d55..a097310f 100644
--- a/chrome/app/resources/generated_resources_uz.xtb
+++ b/chrome/app/resources/generated_resources_uz.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> smart karta kiritilishini talab qilmoqda.}other{Siz avtomatik tarzda # soniyadan keyin hisobingizdan chiqarilasiz.
 <ph name="DOMAIN" /> smart karta kiritilishini talab qilmoqda.}}</translation>
 <translation id="1193927020065025187">Bu saytda asabga teguvchi bildirishnomalarga ruxsat berilishi mumkin.</translation>
+<translation id="1195210374336998651">Ilova sozlamalarini ochish</translation>
 <translation id="1195447618553298278">Noma’lum xatolik.</translation>
 <translation id="1195558154361252544">Bildirishnoamalar siz ruxsat bergan saytlardan tashqari barcha saytlar uchun taqiqlanadi</translation>
 <translation id="1197088940767939838">Apelsinrang</translation>
@@ -2570,6 +2571,7 @@
 <translation id="3592260987370335752">&amp;Batafsil ma’lumot</translation>
 <translation id="3593152357631900254">Fuzzy-Pinyin rejimini yoqish</translation>
 <translation id="3593965109698325041">Sertifikat nomiga cheklovlar</translation>
+<translation id="3596012367874587041">Ilova sozlamalari</translation>
 <translation id="3596414637720633074">Inkognito rejimidagi tashqi cookie fayllarni taqiqlash</translation>
 <translation id="3599221874935822507">Qavariq</translation>
 <translation id="3599863153486145794">Barcha kirilgan qurilmalardagi tarix o‘chiriladi. Google hisobingiz orqali bajargan internetdagi faoliyatingizni  <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> orqali ko‘rishingiz mumkin.</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 6c43fbf4..0812dce 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.}other{Bạn sẽ tự động đăng xuất sau # giây.
 <ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.}}</translation>
 <translation id="1193927020065025187">Trang web này có thể đang tìm cách lừa bạn để bạn cho phép thông báo xâm nhập</translation>
+<translation id="1195210374336998651">Chuyển đến trang cài đặt ứng dụng</translation>
 <translation id="1195447618553298278">Lỗi chưa biết.</translation>
 <translation id="1195558154361252544">Đã tự động chặn thông báo đối với mọi trang web, ngoại trừ những trang web bạn cho phép</translation>
 <translation id="1197088940767939838">Màu cam</translation>
@@ -779,6 +780,7 @@
 <translation id="176587472219019965">Cửa sổ &amp;Mới</translation>
 <translation id="1766575458646819543">Đã thoát chế độ toàn màn hình</translation>
 <translation id="1766957085594317166">Lưu mật khẩu vào Tài khoản Google của bạn một cách an toàn để bạn không phải nhập lại mật khẩu nữa</translation>
+<translation id="1767043563165955993">Dùng trong ứng dụng Android</translation>
 <translation id="1768212860412467516">Gửi ý kiến phản hồi về <ph name="EXPERIMENT_NAME" />.</translation>
 <translation id="1768278914020124551">Rất tiếc! Đã xảy ra lỗi khi liên hệ với máy chủ đăng nhập. Vui lòng kiểm tra kết nối mạng của bạn và tên miền, sau đó thử lại.</translation>
 <translation id="1769104665586091481">Mở Liên kết bằng Cửa sổ &amp;Mới</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2113479184312716848">Mở &amp;tệp...</translation>
 <translation id="2113921862428609753">Quyền Truy cập Thông tin Tổ chức Cấp Chứng chỉ</translation>
 <translation id="2114326799768592691">Tải lại &amp;khung</translation>
+<translation id="2114413269775311385">Dùng tài khoản này trong ứng dụng Android. Bạn có thể kiểm soát các quyền cho ứng dụng Android trong phần <ph name="LINK_BEGIN" />Cài đặt ứng dụng<ph name="LINK_END" />.</translation>
 <translation id="2114896190328250491">Ảnh của <ph name="NAME" /></translation>
 <translation id="2114995631896158695">Chưa lắp thẻ SIM</translation>
 <translation id="2116619964159595185">Các trang web thường kết nối với thiết bị Bluetooth cho những tính năng như thiết lập hoặc đồng bộ hóa beacon năng lượng thấp, trình theo dõi sức khỏe/hoạt động tập thể dục hoặc bóng đèn thông minh</translation>
@@ -1906,6 +1909,7 @@
 <translation id="287205682142673348">Chuyển tiếp cổng</translation>
 <translation id="287286579981869940">Thêm <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2872961005593481000">Tắt</translation>
+<translation id="2873995907777332853">Hiện thông tin chi tiết về việc chặn mọi cookie</translation>
 <translation id="2874939134665556319">Bản nhạc trước</translation>
 <translation id="2875698561019555027">(Các trang lỗi của Chrome)</translation>
 <translation id="2876336351874743617">Ngón tay số 2</translation>
@@ -1953,6 +1957,7 @@
 <translation id="2915873080513663243">Tự động quét</translation>
 <translation id="2916073183900451334">Bấm Thẻ trên liên kết đánh dấu của trang web, cũng như các trường biểu mẫu</translation>
 <translation id="2916745397441987255">Tìm kiếm trong tiện ích</translation>
+<translation id="2918484639460781603">Đi tới cài đặt</translation>
 <translation id="2918484644467055090">Bạn không thể đăng ký thiết bị này với tổ chức sở hữu tài khoản của bạn vì nhiệm vụ quản lý thiết bị này đã được chỉ định cho một tổ chức khác.</translation>
 <translation id="2920852127376356161">Không được phép xử lý các giao thức</translation>
 <translation id="2921081876747860777">Vui lòng tạo mật khẩu để bảo vệ dữ liệu cục bộ của bạn.</translation>
@@ -2209,6 +2214,7 @@
 <translation id="3189187154924005138">Con trỏ lớn</translation>
 <translation id="3190558889382726167">Đã lưu mật khẩu</translation>
 <translation id="3192947282887913208">Tệp âm thanh</translation>
+<translation id="3194786596445804250">Hiện thông tin chi tiết về việc chặn cookie bên thứ ba</translation>
 <translation id="3197453258332670132">Khi bạn nhấp chuột phải hoặc nhấn và giữ, thông tin liên quan của văn bản bạn chọn sẽ xuất hiện</translation>
 <translation id="3199127022143353223">Máy chủ</translation>
 <translation id="3200061262156232574">Trong giỏ hàng của bạn</translation>
@@ -2576,6 +2582,7 @@
 <translation id="3592260987370335752">&amp;Tìm hiểu thêm</translation>
 <translation id="3593152357631900254">Bật chế độ Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Ràng buộc Tên của Chứng chỉ</translation>
+<translation id="3596012367874587041">Cài đặt ứng dụng</translation>
 <translation id="3596414637720633074">Chặn các cookie của bên thứ ba trong chế độ Ẩn danh</translation>
 <translation id="3599221874935822507">Nhô lên</translation>
 <translation id="3599863153486145794">Xóa lịch sử khỏi tất cả các thiết bị đã đăng nhập. Tài khoản Google của bạn có thể có các dạng lịch sử duyệt web khác tại <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -2953,6 +2960,7 @@
 <translation id="3943582379552582368">&amp;Quay lại</translation>
 <translation id="3943857333388298514">Dán</translation>
 <translation id="3945513714196326460">Hãy thử nhập một tên ngắn hơn</translation>
+<translation id="3947643756376959257">Nhập mã truy cập xuất hiện trên Chromecast hoặc TV.</translation>
 <translation id="3948027458879361203">Thay đổi tên máy chủ</translation>
 <translation id="3948116654032448504">&amp;Tìm kiếm hình ảnh trên <ph name="SEARCH_ENGINE" /></translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> có thể chỉnh sửa tệp trong các thư mục sau đây</translation>
@@ -3194,12 +3202,14 @@
 <translation id="4210048056321123003">Đang tải máy ảo xuống</translation>
 <translation id="421182450098841253">&amp;Hiển thị thanh dấu trang</translation>
 <translation id="4211851069413100178">Gửi dữ liệu chẩn đoán và dữ liệu về mức sử dụng. Giúp cải thiện trải nghiệm Android của bạn bằng cách tự động gửi dữ liệu chẩn đoán cũng như dữ liệu về mức sử dụng ứng dụng và thiết bị cho Google. Những thông tin này sẽ giúp tăng độ ổn định của hệ thống và ứng dụng cũng như cải thiện các mặt khác. Một số dữ liệu tổng hợp cũng sẽ hữu ích cho các ứng dụng và đối tác của Google, chẳng hạn như những nhà phát triển Android. Mục <ph name="BEGIN_LINK1" />cài đặt<ph name="END_LINK1" /> này do chủ sở hữu thực thi. Chủ sở hữu có thể chọn gửi dữ liệu chẩn đoán và dữ liệu về mức sử dụng của thiết bị này cho Google. Nếu bạn bật mục cài đặt bổ sung Hoạt động trên web và ứng dụng thì dữ liệu này có thể được lưu vào Tài khoản Google của bạn. <ph name="BEGIN_LINK2" />Tìm hiểu thêm<ph name="END_LINK2" /></translation>
+<translation id="4211904048067111541">Không dùng trong ứng dụng Android nữa</translation>
 <translation id="42126664696688958">Xuất</translation>
 <translation id="42137655013211669">Máy chủ cấm truy cập vào tài nguyên này.</translation>
 <translation id="4217571870635786043">Nhập bằng giọng nói</translation>
 <translation id="4219558185499589032">Box</translation>
 <translation id="4220648711404560261">Đã xảy ra lỗi trong quá trình kích hoạt.</translation>
 <translation id="4225397296022057997">Trên tất cả các trang web</translation>
+<translation id="4227605727325220318">Thêm một điện thoại Android mới</translation>
 <translation id="4228209296591583948">{NUM_EXTENSIONS,plural, =1{Không được phép dùng tiện ích này}other{Không được phép dùng một số tiện ích}}</translation>
 <translation id="4231095370974836764">Cài đặt ứng dụng và trò chơi từ Google Play trên <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="4232375817808480934">Định cấu hình Kerberos</translation>
@@ -4731,6 +4741,7 @@
 <translation id="5862109781435984885">Hiển thị công cụ bút cảm ứng trên kệ</translation>
 <translation id="5862319196656206789">Thiết lập các thiết bị đã kết nối</translation>
 <translation id="5863445608433396414">Bật tính năng gỡ lỗi</translation>
+<translation id="5864147196375746035">Truyền đến một thiết bị được quản lý</translation>
 <translation id="5864195618110239517">Sử dụng đường kết nối có đo lượng dữ liệu</translation>
 <translation id="5864754048328252126">Trạng thái không hoạt động trong khi sạc</translation>
 <translation id="5865508026715185451"><ph name="APP_NAME" /> sắp tạm dừng</translation>
@@ -5300,6 +5311,7 @@
 <translation id="6455264371803474013">Trên các trang web cụ thể</translation>
 <translation id="6455894534188563617">&amp;Thư mục mới</translation>
 <translation id="645705751491738698">Tiếp tục chặn JavaScript</translation>
+<translation id="6458347417133445570">Hiện thông tin chi tiết về việc chấp nhận mọi cookie</translation>
 <translation id="6458701200018867744">Không tải lên được (<ph name="WEBRTC_LOG_UPLOAD_TIME" />).</translation>
 <translation id="6459488832681039634">Sử dụng Phần lựa chọn cho Tìm kiếm</translation>
 <translation id="6459799433792303855">Cửa sổ đang hoạt động được di chuyển sang màn hình khác.</translation>
@@ -5910,6 +5922,7 @@
 <translation id="7086672505018440886">Thêm các tệp nhật ký của Chrome vào mục lưu trữ.</translation>
 <translation id="7088434364990739311">Không thể bắt đầu kiểm tra cập nhật (mã lỗi <ph name="ERROR" />).</translation>
 <translation id="7088674813905715446">Thiết bị này đã được quản trị viên đặt sang trạng thái hủy cấp phép. Để cho phép đăng ký thiết bị, quản trị viên phải đặt thiết bị về trạng thái đang chờ xử lý.</translation>
+<translation id="7090160970140261931">Bạn có thể thêm tài khoản bổ sung vào <ph name="DEVICE_TYPE" /> của bạn để dùng trên trang web và ứng dụng Android. Bạn cũng có thể kiểm soát những tài khoản nào được dùng trong ứng dụng Android.</translation>
 <translation id="7093220653036489319">Thông tin nhanh</translation>
 <translation id="7093416310351037609">Để đảm bảo sự an toàn và tính bảo mật cho dữ liệu, tổ chức của bạn yêu cầu lưu tất cả tệp tải xuống đủ điều kiện vào tài khoản <ph name="WEB_DRIVE" /> của tổ chức bạn.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6730,6 +6743,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> giây</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> có thể xem <ph name="FILENAME" /></translation>
 <translation id="7920482456679570420">Thêm các từ mà bạn muốn tính năng kiểm tra lỗi chính tả bỏ qua</translation>
+<translation id="7922935920104868876">Hiện thông tin chi tiết về việc chặn cookie bên thứ ba trong chế độ Ẩn danh</translation>
 <translation id="7924358170328001543">Lỗi khi chuyển tiếp cổng</translation>
 <translation id="7925108652071887026">Tự động điền dữ liệu</translation>
 <translation id="792514962475806987">Mức thu phóng ở vị trí cố định:</translation>
@@ -6894,6 +6908,7 @@
 <translation id="8076492880354921740">Thẻ</translation>
 <translation id="8076835018653442223">Quản trị viên đã vô hiệu hóa quyền truy cập vào tệp cục bộ trên thiết bị của bạn</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">Có tài khoản để dùng trên ứng dụng Android</translation>
 <translation id="8081989000209387414">Tắt tùy chọn gỡ lỗi ADB?</translation>
 <translation id="8082106343289440791">Ghép nối với "<ph name="DEVICE_NAME" />"?</translation>
 <translation id="8082390128630131497">Thao tác tắt tùy chọn gỡ lỗi ADB sẽ đặt lại <ph name="DEVICE_TYPE" /> này về trạng thái ban đầu. Tất cả tài khoản người dùng và dữ liệu trên máy đều sẽ bị xóa.</translation>
@@ -6968,6 +6983,7 @@
 <translation id="8147900440966275470">Đã tìm thấy <ph name="NUM" /> thẻ</translation>
 <translation id="8148760431881541277">Giới hạn khả năng đăng nhập</translation>
 <translation id="8149564499626272569">Xác minh qua điện thoại có cáp USB</translation>
+<translation id="815114315010033526">Chuyển sang dùng mã QR</translation>
 <translation id="8151638057146502721">Định cấu hình</translation>
 <translation id="8154790740888707867">Không có tệp nào</translation>
 <translation id="8154912474061769055">Các tính năng trên nhiều trang web có thể không hoạt động</translation>
@@ -6993,6 +7009,7 @@
 <translation id="8176332201990304395">Hồng và trắng</translation>
 <translation id="8177196903785554304">Chi tiết mạng</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{Di chuyển thẻ sang cửa sổ mới}other{Di chuyển các thẻ sang cửa sổ mới}}</translation>
+<translation id="8179188928355984576">Không dùng trong ứng dụng Android</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" có thể đọc và xóa các tệp hình ảnh, video và âm thanh trong vị trí đã chọn.</translation>
 <translation id="8181215761849004992">Không thể kết hợp miền. Hãy kiểm tra tài khoản của bạn để xem bạn có đủ đặc quyền thêm thiết bị hay không.</translation>
@@ -7152,6 +7169,7 @@
 <translation id="8342861492835240085">Chọn một bộ sưu tập</translation>
 <translation id="8347227221149377169">Lệnh in</translation>
 <translation id="834785183489258869">Ở chế độ Ẩn danh, các trang web không thể dùng cookie để giám sát hoạt động duyệt web của bạn trên nhiều trang web, chẳng hạn như để điều chỉnh quảng cáo cho phù hợp với bạn. Các tính năng trên một số trang web có thể không hoạt động.</translation>
+<translation id="8349499562373871073">Bạn có thể chọn một tài khoản hiện có để dùng trên ứng dụng Android hoặc thêm một Tài khoản Google mới. Sau khi bạn đăng nhập vào một ứng dụng Android, tài khoản của bạn có thể dùng được trên các ứng dụng Android khác. Bạn có thể thay đổi quyền truy cập vào ứng dụng Android trong phần <ph name="LINK_BEGIN" />Cài đặt &gt; Tài khoản<ph name="LINK_END" />.</translation>
 <translation id="8350789879725387295">Công cụ bút cảm ứng trong thanh gắn</translation>
 <translation id="8351316842353540018">Luôn hiển thị các tùy chọn a11y</translation>
 <translation id="8351419472474436977">Tiện ích này đã chiếm quyền kiểm soát cài đặt proxy của bạn, điều đó có nghĩa là tiện ích này có thể thay đổi, làm gián đoạn hoặc nghe trộm bất kỳ điều gì bạn thực hiện trực tuyến. Nếu bạn không chắc chắn về lý do thay đổi này diễn ra, bạn có thể không cần tiện ích này.</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index ffabf48a..d85fa714 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -204,6 +204,7 @@
 <ph name="DOMAIN" /> 要求您使智能卡保持插入状态。}other{您将在 # 秒后自动退出。
 <ph name="DOMAIN" /> 要求您使智能卡保持插入状态。}}</translation>
 <translation id="1193927020065025187">此网站可能正试图诱骗您允许显示侵扰性通知</translation>
+<translation id="1195210374336998651">转到应用设置</translation>
 <translation id="1195447618553298278">未知错误。</translation>
 <translation id="1195558154361252544">除您允许的网站外,已自动阻止所有其他网站显示通知</translation>
 <translation id="1197088940767939838">橙色</translation>
@@ -384,6 +385,7 @@
 <translation id="1396259464226642517">此结果出乎意料?<ph name="BEGIN_LINK" />发送反馈<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">您输入的用户名和密码不匹配</translation>
 <translation id="1397500194120344683">没有任何符合条件的设备。<ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">您已在这些设备上登录 Chrome,因此您可以将他们用作安全密钥。</translation>
 <translation id="1398853756734560583">最大化</translation>
 <translation id="139911022479327130">解锁您的手机并证实您的身份</translation>
 <translation id="1401308693935339022">使用位置信息。允许具有位置权限的应用和服务使用此设备的位置信息。Google 可能会定期收集位置数据,并以匿名方式使用这类数据,从而提高位置信息精确度并改善基于地理位置的服务。</translation>
@@ -1165,6 +1167,7 @@
 <translation id="2163470535490402084">请连接到互联网,以便登录您的<ph name="DEVICE_TYPE" />。</translation>
 <translation id="2163937499206714165">开启深色模式</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />、<ph name="SECOND_SWITCH" />、<ph name="THIRD_SWITCH" /> 和另外 1 个开关键</translation>
+<translation id="2165102982098084499">您已通过扫描二维码关联这些设备。</translation>
 <translation id="2165177462441582039">选择系统应将每项内容突出显示多久</translation>
 <translation id="2166369534954157698">The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">仍然登录</translation>
@@ -1890,6 +1893,7 @@
 <translation id="287205682142673348">端口转发</translation>
 <translation id="287286579981869940">添加“<ph name="PROVIDER_NAME" />”…</translation>
 <translation id="2872961005593481000">关机</translation>
+<translation id="2873995907777332853">显示屏蔽所有 Cookie 的有关详情</translation>
 <translation id="2874939134665556319">上一首</translation>
 <translation id="2875698561019555027">(Chrome 错误页面)</translation>
 <translation id="2876336351874743617">手指 2</translation>
@@ -1937,6 +1941,7 @@
 <translation id="2915873080513663243">自动扫描</translation>
 <translation id="2916073183900451334">在网页上按 Tab 可突出显示链接以及表单字段</translation>
 <translation id="2916745397441987255">搜索扩展程序</translation>
+<translation id="2918484639460781603">转到“设置”</translation>
 <translation id="2918484644467055090">该设备无法注册到您帐号所属的组织,因为它已被标记为受另一组织管理。</translation>
 <translation id="2920852127376356161">不得处理协议</translation>
 <translation id="2921081876747860777">请设置密码,以保护您的本地数据。</translation>
@@ -2193,6 +2198,7 @@
 <translation id="3189187154924005138">大号光标</translation>
 <translation id="3190558889382726167">密码已保存</translation>
 <translation id="3192947282887913208">音频文件</translation>
+<translation id="3194786596445804250">显示屏蔽第三方 Cookie 的有关详情</translation>
 <translation id="3197453258332670132">只要您右键点击或长按所选文字,系统就会显示与其相关的信息</translation>
 <translation id="3199127022143353223">服务器</translation>
 <translation id="3200061262156232574">您的购物车内的商品</translation>
@@ -2560,6 +2566,7 @@
 <translation id="3592260987370335752">了解详情(&amp;L)</translation>
 <translation id="3593152357631900254">启用模糊拼音模式</translation>
 <translation id="3593965109698325041">证书名称约束</translation>
+<translation id="3596012367874587041">应用设置</translation>
 <translation id="3596414637720633074">在无痕模式下阻止第三方 Cookie</translation>
 <translation id="3599221874935822507">凸起</translation>
 <translation id="3599863153486145794">清除所有登录过的设备上的历史记录。您的 Google 帐号在 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 上可能有其他形式的浏览记录。</translation>
@@ -5286,6 +5293,7 @@
 <translation id="6455264371803474013">在特定网站上</translation>
 <translation id="6455894534188563617">新建文件夹(&amp;N)</translation>
 <translation id="645705751491738698">继续拦截 JavaScript</translation>
+<translation id="6458347417133445570">显示允许所有 Cookie 的有关详情</translation>
 <translation id="6458701200018867744">上传失败(<ph name="WEBRTC_LOG_UPLOAD_TIME" />)。</translation>
 <translation id="6459488832681039634">使用所选内容查找</translation>
 <translation id="6459799433792303855">活动窗口已移至另一显示屏。</translation>
@@ -5678,6 +5686,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> 秒</translation>
 <translation id="6860097299815761905">代理设置...</translation>
 <translation id="6860427144121307915">在标签页中打开</translation>
+<translation id="6863496016067551393">允许运行所有扩展程序</translation>
 <translation id="686366188661646310">删除密码?</translation>
 <translation id="6865313869410766144">自动填充表单数据</translation>
 <translation id="6865598234501509159">不是<ph name="LANGUAGE" />网页</translation>
@@ -5707,6 +5716,7 @@
 <translation id="6900532703269623216">增强型保护</translation>
 <translation id="6900651018461749106">重新登录后即可更新 <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">确定要删除此搜索引擎吗?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">要试听的语音</translation>
 <translation id="6902336033320348843">有区段不受支持:<ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">将设备加入网域</translation>
@@ -6716,6 +6726,7 @@
 <translation id="7919210519031517829"><ph name="DURATION" /> 秒</translation>
 <translation id="7920363873148656176"><ph name="ORIGIN" /> 可以查看“<ph name="FILENAME" />”的内容</translation>
 <translation id="7920482456679570420">添加您想让“拼写检查”功能跳过的字词</translation>
+<translation id="7922935920104868876">显示在无痕模式下屏蔽第三方 Cookie 的有关详情</translation>
 <translation id="7924358170328001543">转发端口时出错</translation>
 <translation id="7925108652071887026">自动填充数据</translation>
 <translation id="792514962475806987">停靠的放大镜的缩放级别:</translation>
@@ -6880,6 +6891,7 @@
 <translation id="8076492880354921740">标签页</translation>
 <translation id="8076835018653442223">您的管理员已禁止访问您设备上的本地文件</translation>
 <translation id="808089508890593134">Google</translation>
+<translation id="8081243065355858508">可用于登录 Android 应用的帐号</translation>
 <translation id="8081989000209387414">停用 ADB 调试?</translation>
 <translation id="8082106343289440791">与“<ph name="DEVICE_NAME" />”配对?</translation>
 <translation id="8082390128630131497">停用 ADB 调试会将此<ph name="DEVICE_TYPE" />恢复出厂设置。所有用户帐号和本地数据都会被清空。</translation>
@@ -7140,6 +7152,7 @@
 <translation id="8342861492835240085">选择一个集合</translation>
 <translation id="8347227221149377169">打印任务</translation>
 <translation id="834785183489258869">不过,在无痕模式下,网站无法使用 Cookie 查看您在各个不同网站上的浏览活动,因而无法实现某些功能或目的(例如为您展示个性化广告)。某些网站上的功能可能无法正常运行。</translation>
+<translation id="8349499562373871073">您可选择一个现有帐号以用于登录 Android 应用,或者添加一个新的 Google 帐号。只要登录了一款 Android 应用,您的帐号便可登录其他 Android 应用。您可在<ph name="LINK_BEGIN" />设置 &gt; 帐号<ph name="LINK_END" />部分中更改 Android 应用的权限。</translation>
 <translation id="8350789879725387295">在 Dock 中显示触控笔工具</translation>
 <translation id="8351316842353540018">始终显示无障碍设置选项</translation>
 <translation id="8351419472474436977">此扩展程序控制了您的代理设置,也就是说,它可以更改、破坏或窃听您在网上执行的任何操作。如果您不确定出现这种变化的原因,那么这种变化可能并不是您所希望的。</translation>
@@ -7355,6 +7368,7 @@
 <translation id="8610103157987623234">格式不正确,请重试</translation>
 <translation id="8611682088849615761">继续允许此网站全面控制 MIDI 设备</translation>
 <translation id="8613164732773110792">只能包含小写字符、数字、下划线或连字符</translation>
+<translation id="8613645710357126807">不允许使用扩展程序</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> 太大,无法进行安全检查。您只能打开不超过 50 MB 的文件。</translation>
 <translation id="8615618338313291042">隐身模式下使用的应用...<ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">将“<ph name="CONTACT_NAME" />”添加到您的通讯录</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb
index 95f40fa..2c6f29f 100644
--- a/chrome/app/resources/generated_resources_zh-HK.xtb
+++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -206,6 +206,7 @@
 <ph name="DOMAIN" /> 需要您繼續插入智能卡。}other{您將在 # 秒後自動登出。
 <ph name="DOMAIN" /> 需要您繼續插入智能卡。}}</translation>
 <translation id="1193927020065025187">此網站可能會試圖誘騙您允許滋擾性通知</translation>
+<translation id="1195210374336998651">前往應用程式設定</translation>
 <translation id="1195447618553298278">未知的錯誤。</translation>
 <translation id="1195558154361252544">系統已自動封鎖所有網站的通知,但您允許的網站除外</translation>
 <translation id="1197088940767939838">橙色</translation>
@@ -386,6 +387,7 @@
 <translation id="1396259464226642517">結果未如預期嗎?<ph name="BEGIN_LINK" />傳送意見<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">您輸入的使用者名稱與密碼不符</translation>
 <translation id="1397500194120344683">沒有適用裝置。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">由於您已在這些裝置上登入 Chrome,因此這些裝置可以用作安全密鑰。</translation>
 <translation id="1398853756734560583">最大化</translation>
 <translation id="139911022479327130">解鎖手機並確認您的身分</translation>
 <translation id="1401308693935339022">使用定位服務。允許具備位置資訊存取權的應用程式和服務使用此裝置位置。Google 可能會定期收集位置資料,並以匿名方式使用這些資料,以提升位置精確度和適地性服務。</translation>
@@ -778,7 +780,7 @@
 <translation id="176587472219019965">新視窗(&amp;N)</translation>
 <translation id="1766575458646819543">退出咗全螢幕模式</translation>
 <translation id="1766957085594317166">將密碼安全地儲存在 Google 帳戶中,日後便無需重複輸入</translation>
-<translation id="1767043563165955993">可以存取 Android 應用程式</translation>
+<translation id="1767043563165955993">使用此帳戶登入 Android 應用程式</translation>
 <translation id="1768212860412467516">提供您對「<ph name="EXPERIMENT_NAME" />」的意見。</translation>
 <translation id="1768278914020124551">抱歉!連線至登入伺服器時發生問題。請檢查互聯網連線和網域名稱,然後再試一次。</translation>
 <translation id="1769104665586091481">在新視窗中開啟連結(&amp;W)</translation>
@@ -1115,7 +1117,7 @@
 <translation id="2113479184312716848">開啟檔案(&amp;F)…</translation>
 <translation id="2113921862428609753">授權單位資料存取</translation>
 <translation id="2114326799768592691">重新載入頁框(&amp;F)</translation>
-<translation id="2114413269775311385">透過這個帳戶使用 Android 應用程式。你也可以前往「<ph name="LINK_BEGIN" />應用程式設定<ph name="LINK_END" />」控管 Android 應用程式的權限。</translation>
+<translation id="2114413269775311385">透過此帳戶使用 Android 應用程式您可在「<ph name="LINK_BEGIN" />應用程式設定<ph name="LINK_END" />」中控制 Android 應用程式的權限。</translation>
 <translation id="2114896190328250491">相片提供:<ph name="NAME" /></translation>
 <translation id="2114995631896158695">沒有插入 SIM 卡</translation>
 <translation id="2116619964159595185">網站通常會連接藍牙裝置,以提供設定或同步低功耗信標、健康與健身追蹤器或智能燈泡等功能</translation>
@@ -1179,6 +1181,7 @@
 <translation id="2163470535490402084">請連接互聯網,才能登入 <ph name="DEVICE_TYPE" />。</translation>
 <translation id="2163937499206714165">開啟暗光模式</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />、<ph name="SECOND_SWITCH" />、<ph name="THIRD_SWITCH" /> 和另外 1 個按鈕裝置</translation>
+<translation id="2165102982098084499">透過掃瞄 QR 碼的方式連結了這些裝置。</translation>
 <translation id="2165177462441582039">選擇突顯範圍在每個項目上的停留時間</translation>
 <translation id="2166369534954157698">繁體中文字體範例 The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">繼續登入</translation>
@@ -1956,6 +1959,7 @@
 <translation id="2915873080513663243">自動掃瞄</translation>
 <translation id="2916073183900451334">在網頁上按 Tab 鍵可反白顯示連結和表格欄位</translation>
 <translation id="2916745397441987255">搜尋擴充程式</translation>
+<translation id="2918484639460781603">前往設定</translation>
 <translation id="2918484644467055090">此裝置已標示為由其他機構管理,因此無法在您的帳戶所屬機構內註冊。</translation>
 <translation id="2920852127376356161">不允許處理通訊協定</translation>
 <translation id="2921081876747860777">請建立密碼以保護您的本機資料。</translation>
@@ -2580,6 +2584,7 @@
 <translation id="3592260987370335752">瞭解詳情(&amp;L)</translation>
 <translation id="3593152357631900254">啟用近似拼音輸入模式</translation>
 <translation id="3593965109698325041">憑證名稱限制</translation>
+<translation id="3596012367874587041">應用程式設定</translation>
 <translation id="3596414637720633074">在無痕模式中封鎖第三方 Cookie</translation>
 <translation id="3599221874935822507">凸出</translation>
 <translation id="3599863153486145794">清除所有已登入裝置上的記錄。您的 Google 帳戶在 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 上可能有其他形式的瀏覽記錄。</translation>
@@ -3199,7 +3204,7 @@
 <translation id="4210048056321123003">正在下載虛擬機器</translation>
 <translation id="421182450098841253">顯示書籤列(&amp;S)</translation>
 <translation id="4211851069413100178">傳送使用情況和診斷資料。自動將診斷、裝置及應用程式的使用情況資料傳送至 Google,協助改善您的 Android 使用體驗。這些資料將有助改善系統和應用程式的穩定性和其他效能。部分彙整資料也會用於協助 Google 應用程式與合作夥伴 (例如 Android 開發人員)。擁有者可強制執行此<ph name="BEGIN_LINK1" />設定<ph name="END_LINK1" />。擁有者可選擇是否將此裝置的診斷和使用情況資料傳送給 Google。如果已開啟其他「網絡及應用程式活動記錄」設定,系統可能會將此資料儲存至您的 Google 帳戶。<ph name="BEGIN_LINK2" />瞭解詳情<ph name="END_LINK2" /></translation>
-<translation id="4211904048067111541">停止存取 Android 應用程式</translation>
+<translation id="4211904048067111541">停止使用此帳戶登入 Android 應用程式</translation>
 <translation id="42126664696688958">匯出</translation>
 <translation id="42137655013211669">伺服器已禁止存取此資源。</translation>
 <translation id="4217571870635786043">語音輸入</translation>
@@ -4739,7 +4744,7 @@
 <translation id="5862109781435984885">在捷徑列中顯示觸控筆工具</translation>
 <translation id="5862319196656206789">設定已連接的裝置</translation>
 <translation id="5863445608433396414">啟用偵錯功能</translation>
-<translation id="5864147196375746035">投放到受管理的裝置</translation>
+<translation id="5864147196375746035">投放至受管理的裝置</translation>
 <translation id="5864195618110239517">使用按用量收費的連線</translation>
 <translation id="5864754048328252126">叉緊電時嘅閒置動作</translation>
 <translation id="5865508026715185451">「<ph name="APP_NAME" />」即將暫停</translation>
@@ -5702,6 +5707,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> 秒</translation>
 <translation id="6860097299815761905">Proxy 設定…</translation>
 <translation id="6860427144121307915">在分頁中開啟</translation>
+<translation id="6863496016067551393">已允許執行所有擴充程式</translation>
 <translation id="686366188661646310">要刪除密碼嗎?</translation>
 <translation id="6865313869410766144">自動填入表格數據</translation>
 <translation id="6865598234501509159">網頁原文不是<ph name="LANGUAGE" /></translation>
@@ -5731,6 +5737,7 @@
 <translation id="6900532703269623216">強化保護功能</translation>
 <translation id="6900651018461749106">再次登入即可更新 <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">確定要刪除此搜尋引擎嗎?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">要預覽的語音</translation>
 <translation id="6902336033320348843">不支援的部份:<ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">將裝置加入網域</translation>
@@ -5920,7 +5927,7 @@
 <translation id="7086672505018440886">在封存中包含 Chrome 記錄檔案。</translation>
 <translation id="7088434364990739311">無法啟動更新檢查 (錯誤代碼 <ph name="ERROR" />)。</translation>
 <translation id="7088674813905715446">管理員已將這部裝置設為取消佈建狀態。如要讓裝置符合註冊資格,請要求您的管理員將裝置設為等待處理狀態。</translation>
-<translation id="7090160970140261931">你可以新增其他帳戶到<ph name="DEVICE_TYPE" />,以便透過這些帳戶存取網站和應用程式。你也可以控管哪些帳戶能夠使用 Android 應用程式。</translation>
+<translation id="7090160970140261931">您可新增其他帳戶至「<ph name="DEVICE_TYPE" />」,以便透過帳戶使用網站或 Android 應用程式。您亦可控制要透過哪個帳戶使用 Android 應用程式。</translation>
 <translation id="7093220653036489319">快速解答</translation>
 <translation id="7093416310351037609">為了保護資料和系統安全,您的機構要求將所有符合資格的下載項目儲存到機構的「<ph name="WEB_DRIVE" />」帳戶。</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -6981,7 +6988,7 @@
 <translation id="8147900440966275470">找到 <ph name="NUM" /> 個分頁</translation>
 <translation id="8148760431881541277">限制登入</translation>
 <translation id="8149564499626272569">透過連接 USB 連接線的手機進行驗證</translation>
-<translation id="815114315010033526">改用 QR 圖碼</translation>
+<translation id="815114315010033526">改用 QR 碼</translation>
 <translation id="8151638057146502721">設定</translation>
 <translation id="8154790740888707867">沒有檔案</translation>
 <translation id="8154912474061769055">很多網站的功能可能會無法正常運作</translation>
@@ -7007,7 +7014,7 @@
 <translation id="8176332201990304395">粉紅色和白色</translation>
 <translation id="8177196903785554304">網絡詳情</translation>
 <translation id="8177318697334260664">{NUM_TABS,plural, =1{將分頁移至新視窗}other{將分頁移至新視窗}}</translation>
-<translation id="8179188928355984576">無法存取 Android 應用程式</translation>
+<translation id="8179188928355984576">不使用此帳戶登入 Android 應用程式</translation>
 <translation id="8179976553408161302">Enter 鍵</translation>
 <translation id="8180786512391440389">「<ph name="EXTENSION" />」可以讀取和刪除已勾選位置中的圖片、影片和音效檔案。</translation>
 <translation id="8181215761849004992">無法加入網域。請檢查您的帳戶並查看您是否有足夠權限新增裝置。</translation>
@@ -7383,6 +7390,7 @@
 <translation id="8610103157987623234">格式不正確,請再試一次</translation>
 <translation id="8611682088849615761">繼續允許此網站全權控制 MIDI 裝置</translation>
 <translation id="8613164732773110792">僅限小寫字元、數字、底線或破折號</translation>
+<translation id="8613645710357126807">不允許使用擴充程式</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> 太大,無法進行安全檢查。您可開啟的檔案大小上限為 50 MB。</translation>
 <translation id="8615618338313291042">無痕模式應用程式:<ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">將<ph name="CONTACT_NAME" />加入聯絡人</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index bb2bf7ec..dc96e09 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -203,6 +203,7 @@
 <ph name="DOMAIN" /> 需要你插入智慧型卡片,不得拔出。}other{系統將在 # 秒後自動將你登出。
 <ph name="DOMAIN" /> 需要你插入智慧型卡片,不得拔出。}}</translation>
 <translation id="1193927020065025187">這個網站可能會企圖誘使你允許干擾性通知</translation>
+<translation id="1195210374336998651">前往應用程式設定</translation>
 <translation id="1195447618553298278">未知的錯誤。</translation>
 <translation id="1195558154361252544">除了你允許的網站之外,自動封鎖所有網站的通知</translation>
 <translation id="1197088940767939838">橘色</translation>
@@ -383,6 +384,7 @@
 <translation id="1396259464226642517">這並非預期結果嗎?<ph name="BEGIN_LINK" />提供意見<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">你輸入的使用者名稱和密碼不相符</translation>
 <translation id="1397500194120344683">沒有適用裝置。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">你已在這些裝置上登入 Chrome,因此可以將這些裝置當做安全金鑰使用。</translation>
 <translation id="1398853756734560583">放到最大</translation>
 <translation id="139911022479327130">將手機解鎖並確認這是你本人</translation>
 <translation id="1401308693935339022">使用定位服務。允許具有位置存取權的應用程式和服務使用這部裝置的位置資訊。Google 可能會定期收集位置資料,並以匿名方式使用這項資料,藉此提高定位精確度及改善適地性服務。</translation>
@@ -1167,6 +1169,7 @@
 <translation id="2163470535490402084">請連線至網際網路,以登入您的 <ph name="DEVICE_TYPE" />。</translation>
 <translation id="2163937499206714165">開啟深色模式</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />、<ph name="SECOND_SWITCH" />、<ph name="THIRD_SWITCH" />,以及另外 1 個按鍵</translation>
+<translation id="2165102982098084499">透過掃描 QR 圖碼的方式連結了這些裝置。</translation>
 <translation id="2165177462441582039">選擇醒目顯示範圍停留在每個項目上的時間長度</translation>
 <translation id="2166369534954157698">狐狗大戰</translation>
 <translation id="2169062631698640254">繼續登入</translation>
@@ -1941,6 +1944,7 @@
 <translation id="2915873080513663243">自動掃描</translation>
 <translation id="2916073183900451334">在網頁上按 Tab 鍵可反白顯示連結和表單欄位</translation>
 <translation id="2916745397441987255">搜尋擴充功能</translation>
+<translation id="2918484639460781603">前往設定</translation>
 <translation id="2918484644467055090">無法在你的帳戶所屬機構內註冊這部裝置,原因是裝置已標示管理者為其他機構。</translation>
 <translation id="2920852127376356161">不得處理通訊協定</translation>
 <translation id="2921081876747860777">請設定密碼,保護你的本機資料。</translation>
@@ -2565,6 +2569,7 @@
 <translation id="3592260987370335752">瞭解詳情(&amp;L)</translation>
 <translation id="3593152357631900254">啟用模糊拼音模式</translation>
 <translation id="3593965109698325041">憑證名稱限制</translation>
+<translation id="3596012367874587041">應用程式設定</translation>
 <translation id="3596414637720633074">在無痕模式中封鎖第三方 Cookie</translation>
 <translation id="3599221874935822507">外凸</translation>
 <translation id="3599863153486145794">將歷史記錄從所有登入帳戶的裝置上清除。你的 Google 帳戶可能會儲存其他形式的瀏覽記錄,請參閱 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />。</translation>
@@ -5682,6 +5687,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> 秒</translation>
 <translation id="6860097299815761905">Proxy 設定...</translation>
 <translation id="6860427144121307915">在分頁中開啟</translation>
+<translation id="6863496016067551393">允許執行所有擴充功能</translation>
 <translation id="686366188661646310">要刪除密碼嗎?</translation>
 <translation id="6865313869410766144">自動填入表單資料</translation>
 <translation id="6865598234501509159">網頁原文不是<ph name="LANGUAGE" /></translation>
@@ -5711,6 +5717,7 @@
 <translation id="6900532703269623216">強化防護</translation>
 <translation id="6900651018461749106">請再次登入並更新 <ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">確定要刪除這個搜尋引擎嗎?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">要預覽的語音</translation>
 <translation id="6902336033320348843">不支援的區段:<ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">將裝置加入網域</translation>
@@ -7363,6 +7370,7 @@
 <translation id="8610103157987623234">格式不正確,請再試一次</translation>
 <translation id="8611682088849615761">繼續允許這個網站取得 MIDI 裝置的完整控制權限</translation>
 <translation id="8613164732773110792">僅限小寫字元、數字、底線或破折號</translation>
+<translation id="8613645710357126807">不允許執行擴充功能</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> 大小過大,無法進行安全性檢查。可開啟的檔案大小上限為 50 MB。</translation>
 <translation id="8615618338313291042">無痕模式應用程式:<ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">將「<ph name="CONTACT_NAME" />」加為聯絡人</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb
index d10527e..be6b48a6 100644
--- a/chrome/app/resources/generated_resources_zu.xtb
+++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -207,6 +207,7 @@
 I-<ph name="DOMAIN" /> idinga ukuba ugcine ikhadi lakho elimsathi lifakiwe.}other{Uzokhishwa ngemvume ngokuzenzakalealyo kumasekhondi angu-#.
 I-<ph name="DOMAIN" /> idinga ukuba ugcine ikhadi lakho elimsathi lifakiwe.}}</translation>
 <translation id="1193927020065025187">Leli sayithi kungenzeka lizama ukukuluthela ukuthi uvumele izaziso ezizivelelayo</translation>
+<translation id="1195210374336998651">Iya kumasethingi e-app</translation>
 <translation id="1195447618553298278">Iphutha elingaziwa.</translation>
 <translation id="1195558154361252544">Izaziso zivinjelwe ngokuzenzakalela kuwo wonke amasayithi ngaphandle kwalawo ovavumelayo</translation>
 <translation id="1197088940767939838">Olintshi</translation>
@@ -387,6 +388,7 @@
 <translation id="1396259464226642517">Ingabe lomphumela wawungalindelekile? <ph name="BEGIN_LINK" />Thumela impendulo<ph name="END_LINK" /></translation>
 <translation id="1396963298126346194">Igama lomsebenzisi nephasiwedi oyifakile akufani</translation>
 <translation id="1397500194120344683">Awekho amadivayisi afanelekile. <ph name="LINK_BEGIN" />Funda kabanzi<ph name="LINK_END" /></translation>
+<translation id="1397594434718759194">Ungene ngemvume ku-Chrome kulamadivayisi, ukuze ukwazi ukuwasebenzisa njengokhiye wokuqinisekisa ubunikazi.</translation>
 <translation id="1398853756734560583">Khulisa</translation>
 <translation id="139911022479327130">Vula ifoni yakho futhi uqinisekise ukuthi nguwe</translation>
 <translation id="1401308693935339022">Sebenzisa indawo. Vumela izinhlelo zokusebenza namasevisi anemvume yendawo ukusebenzisa indawo yedivayisi. I-Google ingaqoqa idatha ngesikhathi futhi isebenzise le datha ngendlela engaziwa ukuthuthukisa ukuqonda kwendawo namasevisi asuselwe endaweni.</translation>
@@ -1179,6 +1181,7 @@
 <translation id="2163470535490402084">Sicela uxhume ku-inthanethi ukuze ungene ngemvume ku-<ph name="DEVICE_TYPE" /> yakho.</translation>
 <translation id="2163937499206714165">Vula imodi emnyama</translation>
 <translation id="2164131635608782358"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" />, kanye neswishi e-1 ngaphezulu</translation>
+<translation id="2165102982098084499">Uxhume lamadivayisi ngokuskena ikhodi ye-QR.</translation>
 <translation id="2165177462441582039">Khetha ukuthi ukugqama kuhlala isikhathi esingakanani entweni ngayinye</translation>
 <translation id="2166369534954157698">Impushunge esheshayo ensundu yeqa idlule inja evilaphayo</translation>
 <translation id="2169062631698640254">Ngena ngemvume noma kunjalo</translation>
@@ -2580,6 +2583,7 @@
 <translation id="3592260987370335752">Funda kabanzi</translation>
 <translation id="3593152357631900254">Nika amandla imodi ye-Fuzzy-Pinyin</translation>
 <translation id="3593965109698325041">Izithiyo zegama lesitifiketi</translation>
+<translation id="3596012367874587041">Amasethingi e-App</translation>
 <translation id="3596414637720633074">Vimba amakhukhi wenkampani yangaphandle ku-Incognito</translation>
 <translation id="3599221874935822507">Iphakanyisiwe</translation>
 <translation id="3599863153486145794">Isula umlando kusukela onke amadivayisi angene ngemvume. I-akhawunti ye-Google kungenzeka ibe namanye amafomu omlando wokuphequlula ku-<ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
@@ -5703,6 +5707,7 @@
 <translation id="6857725247182211756"><ph name="SECONDS" /> isekhondi</translation>
 <translation id="6860097299815761905">Izilungiselelo zommeleli...</translation>
 <translation id="6860427144121307915">Vula kuthebhu</translation>
+<translation id="6863496016067551393">Zonke izandiso zivunyelwe</translation>
 <translation id="686366188661646310">Susa iphasiwedi?</translation>
 <translation id="6865313869410766144">Gcwalisa ngokuzenzakalela idatha yefomu</translation>
 <translation id="6865598234501509159">Ikhasi alikho ngesi-<ph name="LANGUAGE" /></translation>
@@ -5732,6 +5737,7 @@
 <translation id="6900532703269623216">Ukuvikelwa okugqanyisiwe</translation>
 <translation id="6900651018461749106">Ngena ngemvume futhi ukuze ubuyekeze i-<ph name="USER_EMAIL" /></translation>
 <translation id="6900654715912436255">Uqinisekile ukuthi ufuna ukusula le njini yosesho?</translation>
+<translation id="6901024547292737736"><ph name="ACTUAL_CHAR_COUNT" />/<ph name="MAX_CHAR_COUNT" /></translation>
 <translation id="6902066522699286937">Izwi ongalibuka kuqala</translation>
 <translation id="6902336033320348843">Isigaba asisekelwe: <ph name="ERROR_LINE" /></translation>
 <translation id="6902837902700739466">Joyina idivayisi kusizinda</translation>
@@ -7383,6 +7389,7 @@
 <translation id="8610103157987623234">Ifomethi engalungile, sicela uzame futhi</translation>
 <translation id="8611682088849615761">Qhubeka nokuvumela leli khasi ukuba lube nolawulo olugcwele lwamadivayisi we-MIDI</translation>
 <translation id="8613164732773110792">Izihlamvu eziphansi, amadijithi, ama-underscore, noma odwi kuphela</translation>
+<translation id="8613645710357126807">Akuvunyelwe ukusetshenziswa izandiso</translation>
 <translation id="8613786722548417558">I-<ph name="FILE_NAME" /> yinkulu kakhulu ukuze ihlolelwe ukuvikela. Ungavula amafayela kufikela ku-50 MB.</translation>
 <translation id="8615618338313291042">Uhlelo lokusebenza lwe-incognito: <ph name="APP_NAME" /></translation>
 <translation id="8616441548384109662">Engeza u-<ph name="CONTACT_NAME" /> kwabathintwayo bakho</translation>
diff --git a/chrome/app/resources/google_chrome_strings_be.xtb b/chrome/app/resources/google_chrome_strings_be.xtb
index 526eb830..361ee3fe 100644
--- a/chrome/app/resources/google_chrome_strings_be.xtb
+++ b/chrome/app/resources/google_chrome_strings_be.xtb
@@ -68,6 +68,7 @@
 <translation id="2574930892358684005">Уваход у гэты профіль Chrome ужо выкананы карыстальнікам <ph name="EXISTING_USER" />. Каб аддзяліць вашу працу ў інтэрнэце ад працы іншых карыстальнікаў, Chrome можа стварыць для вас ваш уласны профіль.</translation>
 <translation id="2580411288591421699">Немагчыма ўсталяваць тую ж версію Google Chrome, што зараз працуе. Закрыйце Google Chrome і паўтарыце спробу.</translation>
 <translation id="2586406160782125153">Гэта дзеянне выдаліць з прылады даныя прагляду старонак у інтэрнэце. Каб потым атрымаць свае даныя, увайдзіце ва ўліковы запіс Chrome як <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Дазволы, якія вы ўжо далі вэб-сайтам і праграмам, могуць дзейнічаць для гэтага ўліковага запісу. Калі вы не хочаце даваць вэб-сайтам або праграмам доступ да даных уліковага запісу, выкарыстоўвайце Гасцявы рэжым браўзера Chrome. Вы таксама можаце кіраваць Уліковымі запісамі Google у <ph name="LINK_2_BEGIN" />Наладах<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Браўзеру Chrome не ўдаецца праверыць наяўнасць абнаўленняў. Паспрабуйце праверыць падключэнне да інтэрнэту.</translation>
 <translation id="2644798301485385923">Сістэма Chrome OS</translation>
 <translation id="2652691236519827073">Адкрыць спасылку ў новай &amp;укладцы Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bg.xtb b/chrome/app/resources/google_chrome_strings_bg.xtb
index fce15070..c639e015 100644
--- a/chrome/app/resources/google_chrome_strings_bg.xtb
+++ b/chrome/app/resources/google_chrome_strings_bg.xtb
@@ -67,6 +67,7 @@
 <translation id="2574930892358684005">Този потребителски профил в Chrome вече се използва от <ph name="EXISTING_USER" />. За да бъде сърфирането ви отделно, браузърът може да създаде ваш собствен потребителски профил.</translation>
 <translation id="2580411288591421699">Не може да се инсталира същата версия на Google Chrome, която се използва понастоящем. Моля, затворете браузъра и опитайте отново.</translation>
 <translation id="2586406160782125153">Данните за сърфирането ви ще се изтрият от това устройство. За да ги извлечете по-късно, влезте в Chrome като <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">За този профил може да важат разрешенията, които вече сте предоставили на уебсайтове и приложения. Ако не искате уебсайтовете и приложенията да имат достъп до информацията в профила ви, използвайте режима на гост в браузъра Chrome. Можете също да управлявате профилите си в Google в <ph name="LINK_2_BEGIN" />Настройки<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome не може да провери за актуализации. Проверете връзката си с интернет.</translation>
 <translation id="2644798301485385923">Система Chrome OS</translation>
 <translation id="2652691236519827073">Отваряне на връзката в нов &amp;раздел на Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bs.xtb b/chrome/app/resources/google_chrome_strings_bs.xtb
index 55e50f8b..bc78702 100644
--- a/chrome/app/resources/google_chrome_strings_bs.xtb
+++ b/chrome/app/resources/google_chrome_strings_bs.xtb
@@ -69,6 +69,7 @@
 <translation id="2574930892358684005">Račun <ph name="EXISTING_USER" /> je već prijavljen na ovom Chrome profilu. Da vaše pregledanje ostane odvojeno, Chrome vam može kreirati vaš lični profil.</translation>
 <translation id="2580411288591421699">Nije moguće instalirati istu verziju Google Chromea koja je trenutno pokrenuta. Zatvorite Google Chrome i pokušajte ponovo.</translation>
 <translation id="2586406160782125153">Time će se izbrisati podaci o pregledavanju s uređaja. Da biste kasnije dohvatili svoje podatke, prijavite se na Chrome kao <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Odobrenja koja ste već dali web lokacijama i aplikacijama se mogu primjenjivati na ovaj račun. Ako ne želite da web lokacije ili aplikacije pristupaju informacijama o vašem računu, koristite Način rada za gosta u pregledniku Chrome. Također možete upravljati Google računima u <ph name="LINK_2_BEGIN" />Postavkama<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome ne može provjeravati ima li ažuriranja. Predlažemo da provjerite internetsku vezu.</translation>
 <translation id="2644798301485385923">Sistem Chrome OS</translation>
 <translation id="2652691236519827073">Otvori link u novoj &amp;kartici Chromea</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ca.xtb b/chrome/app/resources/google_chrome_strings_ca.xtb
index 4182981..2562c1e 100644
--- a/chrome/app/resources/google_chrome_strings_ca.xtb
+++ b/chrome/app/resources/google_chrome_strings_ca.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> ja té la sessió iniciada en aquest perfil de Chrome. Per continuar amb la teva navegació per separat, Chrome et pot crear un perfil propi.</translation>
 <translation id="2580411288591421699">No es pot instal·lar la mateixa versió de Google Chrome que s'executa actualment. Tanqueu Google Chrome i torneu-ho a provar.</translation>
 <translation id="2586406160782125153">Amb aquesta acció, se suprimiran les teves dades de navegació d'aquest dispositiu. Per recuperar les teves dades més endavant, inicia la sessió a Chrome com a <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">És possible que els permisos que hagis donat a llocs web i aplicacions s'apliquin a aquest compte. Si no vols que els llocs web o les aplicacions accedeixin a la informació del teu compte, utilitza el mode de convidat al navegador Chrome. També pots gestionar els teus Comptes de Google a <ph name="LINK_2_BEGIN" />Configuració<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome no pot cercar actualitzacions. Comprova la connexió a Internet.</translation>
 <translation id="2644798301485385923">Sistema Chrome OS</translation>
 <translation id="2652691236519827073">Obre l'enllaç en una pes&amp;tanya nova a Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cs.xtb b/chrome/app/resources/google_chrome_strings_cs.xtb
index cc5e1cb..9cf8095a 100644
--- a/chrome/app/resources/google_chrome_strings_cs.xtb
+++ b/chrome/app/resources/google_chrome_strings_cs.xtb
@@ -69,6 +69,7 @@
 <translation id="2574930892358684005">Uživatel <ph name="EXISTING_USER" /> už je k tomuto profilu Chrome přihlášen. Chcete-li své procházení oddělit, Chrome vám může vytvořit vlastní profil.</translation>
 <translation id="2580411288591421699">Nelze nainstalovat verzi aplikace Google Chrome, která je právě spuštěná. Ukončete aplikaci Google Chrome a opakujte akci.</translation>
 <translation id="2586406160782125153">Ze zařízení budou smazány vaše údaje o prohlížení. Budete-li chtít své údaje později načíst, přihlaste se do Chromu jako <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Na tento účet se mohou vztahovat oprávnění, která jste již udělili webům a aplikacím. Pokud nechcete, aby weby nebo aplikace měly přístup k informacím o vašem účtu, použijte v Chromu režim hosta. Své účty Google můžete také spravovat v <ph name="LINK_2_BEGIN" />Nastavení<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome nemůže vyhledat dostupné aktualizace. Zkuste zkontrolovat připojení k internetu.</translation>
 <translation id="2644798301485385923">Systém Chrome OS</translation>
 <translation id="2652691236519827073">Otevřít odkaz na nové kar&amp;tě Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb
index 73167ced..c2e6834 100644
--- a/chrome/app/resources/google_chrome_strings_el.xtb
+++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -67,6 +67,7 @@
 <translation id="2574930892358684005">Ο χρήστης <ph name="EXISTING_USER" /> είναι συνδεδεμένος ήδη με αυτό το προφίλ Chrome. Για να διατηρήσει ξεχωριστά την περιήγησή σας, το Chrome μπορεί να δημιουργήσει το προφίλ σας για εσάς.</translation>
 <translation id="2580411288591421699">Δεν είναι δυνατή η εγκατάσταση της ίδιας έκδοσης του Google Chrome που εκτελείται αυτήν τη στιγμή. Κλείστε το Google Chrome και προσπαθήστε ξανά.</translation>
 <translation id="2586406160782125153">Με αυτήν την ενέργεια θα διαγραφούν τα δεδομένα περιήγησης από αυτήν τη συσκευή. Για να ανακτήσετε τα δεδομένα σας αργότερα, συνδεθείτε στο Chrome ως <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Οι άδειες που έχετε εκχωρήσει ήδη σε ιστοτόπους και εφαρμογές μπορεί να ισχύουν για αυτόν τον λογαριασμό. Εάν δεν θέλετε οι ιστότοποι ή οι εφαρμογές να έχουν πρόσβαση στις πληροφορίες του λογαριασμού σας, χρησιμοποιήστε τη λειτουργία επισκέπτη στο πρόγραμμα περιήγησης Chrome. Μπορείτε επίσης να διαχειριστείτε τους Λογαριασμούς σας Google στις <ph name="LINK_2_BEGIN" />Ρυθμίσεις<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Το Chrome δεν μπορεί να ελέγξει για ενημερώσεις. Δοκιμάστε να ελέγξετε τη σύνδεσή σας στο διαδίκτυο.</translation>
 <translation id="2644798301485385923">Σύστημα Chrome OS</translation>
 <translation id="2652691236519827073">Άνοιγμα Συνδέσμου σε Νέα καρτέ&amp;λα Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es-419.xtb b/chrome/app/resources/google_chrome_strings_es-419.xtb
index dfbeb7d..b44a9c5 100644
--- a/chrome/app/resources/google_chrome_strings_es-419.xtb
+++ b/chrome/app/resources/google_chrome_strings_es-419.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> ya accedió a este perfil de Chrome. Para mantener separados los datos de navegación, Chrome puede crear un perfil individual para ti.</translation>
 <translation id="2580411288591421699">No se puede instalar la misma versión de Google Chrome que se está ejecutando actualmente. Cierra Google Chrome e intenta nuevamente.</translation>
 <translation id="2586406160782125153">Esta acción borrará tus datos de navegación de este dispositivo. Si más adelante deseas recuperarlos, accede a tu cuenta en Chrome como <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Es posible que se apliquen a esta cuenta los permisos que otorgaste a sitios web y apps. Si no quieres que los sitios web o apps accedan a la información de la cuenta, usa el Modo de Invitado en el navegador Chrome. También puedes administrar tus Cuentas de Google en <ph name="LINK_2_BEGIN" />Configuración<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome no puede buscar actualizaciones. Revisa la conexión a Internet.</translation>
 <translation id="2644798301485385923">Sistema operativo Chrome</translation>
 <translation id="2652691236519827073">Abrir vínculo en una pes&amp;taña nueva de Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es.xtb b/chrome/app/resources/google_chrome_strings_es.xtb
index 06765fd..52525a8 100644
--- a/chrome/app/resources/google_chrome_strings_es.xtb
+++ b/chrome/app/resources/google_chrome_strings_es.xtb
@@ -69,6 +69,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> ya ha iniciado sesión en este perfil de Chrome. Para mantener tu información de navegación aparte, Chrome puede crearte un perfil propio.</translation>
 <translation id="2580411288591421699">No se puede instalar la misma versión de Google Chrome que se está ejecutando. Cierra el navegador y vuelve a intentarlo.</translation>
 <translation id="2586406160782125153">Se eliminarán tus datos de navegación de este dispositivo. Para recuperar tus datos en otro momento, inicia sesión en Chrome como <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Los permisos que hayas dado a sitios web y aplicaciones se pueden aplicar a esta cuenta. Si no quieres que los sitios web ni las aplicaciones accedan a la información de tu cuenta, usa el Modo invitados en el navegador Chrome. También puedes gestionar tus cuentas de Google en <ph name="LINK_2_BEGIN" />Configuración<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome no puede comprobar si hay actualizaciones. Revisa tu conexión a Internet.</translation>
 <translation id="2644798301485385923">Sistema Chrome OS</translation>
 <translation id="2652691236519827073">Abrir enlace en una pes&amp;taña nueva de Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb
index 2d630b9..facbe80 100644
--- a/chrome/app/resources/google_chrome_strings_et.xtb
+++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -66,6 +66,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> on juba sellele Chrome'i profiilile sisse logitud. Teie sirvimise eraldi hoidmiseks saab Chrome teile luua oma profiili.</translation>
 <translation id="2580411288591421699">Töötava Google Chrome'i versiooniga sama versiooni ei saa installida. Sulgege Google Chrome ja proovige uuesti.</translation>
 <translation id="2586406160782125153">See kustutab sellest seadmest teie sirvimisandmed. Hiljem oma andmete toomiseks logige Chrome'i sisse kasutajana <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Load, mille olete juba veebisaitidele ja rakendustele andnud, võivad selle konto puhul kehtida. Kui te ei soovi, et veebisaidid või rakendused teie kontoteabele juurde pääseksid, kasutage Chrome'i brauseris külalisrežiimi. Saate oma Google'i kontosid hallata ka jaotises <ph name="LINK_2_BEGIN" />Seaded<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome ei saa värskendusi otsida. Kontrollige internetiühendust.</translation>
 <translation id="2644798301485385923">Chrome OS-i süsteem</translation>
 <translation id="2652691236519827073">Ava link Chrome'i uuel &amp;vahelehel</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fi.xtb b/chrome/app/resources/google_chrome_strings_fi.xtb
index ff5f763..8ad93d6c 100644
--- a/chrome/app/resources/google_chrome_strings_fi.xtb
+++ b/chrome/app/resources/google_chrome_strings_fi.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> on jo kirjautunut tähän Chrome-profiiliin. Chrome voi luoda sinulle oman profiilin, jotta selaamisesi pysyy erillään.</translation>
 <translation id="2580411288591421699">Ei voi asentaa samaa Google Chromen versiota, joka tällä hetkellä on käytössä. Sulje Google Chrome ja yritä uudelleen.</translation>
 <translation id="2586406160782125153">Selaustiedot poistetaan tältä laitteelta. Jos haluat palauttaa tiedot myöhemmin, kirjaudu Chromeen käyttäjänä <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Sivustoille ja sovelluksille myöntämäsi luvat saattavat koskea tätä tiliä. Jos et halua, että sivustot ja sovellukset saavat pääsyn tilitietoihisi, käytä Chrome-selaimen Vierastilaa. Voit ylläpitää Google-tilejä myös <ph name="LINK_2_BEGIN" />asetuksissa<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome ei voi tarkistaa päivityksiä. Tarkista internetyhteytesi.</translation>
 <translation id="2644798301485385923">Chrome-käyttöjärjestelmä</translation>
 <translation id="2652691236519827073">Avaa linkki uudella Chromen välilehdellä</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr.xtb b/chrome/app/resources/google_chrome_strings_fr.xtb
index c56141c..e9dc49673 100644
--- a/chrome/app/resources/google_chrome_strings_fr.xtb
+++ b/chrome/app/resources/google_chrome_strings_fr.xtb
@@ -68,6 +68,7 @@
 <translation id="2574930892358684005">L'utilisateur <ph name="EXISTING_USER" /> est déjà connecté à ce profil Chrome. Chrome peut vous créer un profil de navigation individuel.</translation>
 <translation id="2580411288591421699">Impossible d'installer la version de Google Chrome qui est en cours d'exécution. Fermez Google Chrome et réessayez.</translation>
 <translation id="2586406160782125153">Cette action aura pour effet de supprimer vos données de navigation de cet appareil. Pour récupérer vos données ultérieurement, connectez-vous à Chrome en tant que <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Les autorisations que vous avez déjà accordées aux sites Web et aux applis peuvent s'appliquer à ce compte. Si vous ne voulez pas que les sites Web ou applis aient accès aux infos de votre compte, utilisez le mode Invité dans le navigateur Chrome. Vous pouvez également gérer vos comptes Google dans <ph name="LINK_2_BEGIN" />Paramètres<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome ne parvient pas à rechercher les mises à jour. Vérifiez votre connexion Internet.</translation>
 <translation id="2644798301485385923">Système Chrome OS</translation>
 <translation id="2652691236519827073">Ouvrir le lien dans un nouvel ongle&amp;t Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gl.xtb b/chrome/app/resources/google_chrome_strings_gl.xtb
index 343020d9a..365fd32 100644
--- a/chrome/app/resources/google_chrome_strings_gl.xtb
+++ b/chrome/app/resources/google_chrome_strings_gl.xtb
@@ -68,6 +68,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> xa ten a sesión iniciada neste perfil de Chrome. Se queres xestionar a túa navegación cun perfil independente e de teu, Chrome pode crearche un.</translation>
 <translation id="2580411288591421699">Non se pode instalar a mesma versión de Google Chrome que se está executando actualmente. Pecha Google Chrome e téntao de novo.</translation>
 <translation id="2586406160782125153">Esta acción eliminará os teus datos de navegación deste dispositivo. Para recuperar os teus datos máis tarde, inicia sesión en Chrome como <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Pode que se lle apliquen a esta conta os permisos que xa lles concedeses aos sitios web e ás aplicacións. Se non queres que os sitios web ou as aplicacións accedan á información da túa conta, utiliza o modo de convidado no navegador Chrome. Tamén podes xestionar as túas Contas de Google en <ph name="LINK_2_BEGIN" />Configuración<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome non puido buscar actualizacións. Verifica a conexión a Internet.</translation>
 <translation id="2644798301485385923">Sistema Chrome OS</translation>
 <translation id="2652691236519827073">Abrir ligazón nunha nova &amp;pestana de Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb
index 40dcf0d..2c80a32 100644
--- a/chrome/app/resources/google_chrome_strings_hr.xtb
+++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005">Korisnik <ph name="EXISTING_USER" /> već je prijavljen na taj profil u Chromeu. Da bi vaše pregledavanje ostalo odvojeno, Chrome vam može izraditi vlastiti profil.</translation>
 <translation id="2580411288591421699">Nije moguće instalirati istu verziju programa Google Chrome koja je trenutačno pokrenuta. Zatvorite Google Chrome i pokušajte ponovo.</translation>
 <translation id="2586406160782125153">Time će se izbrisati podaci o pregledavanju s uređaja. Da biste kasnije dohvatili svoje podatke, prijavite se na Chrome kao <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Dopuštenja koja ste već dali web-lokacijama i aplikacijama mogu se primijeniti na ovaj račun. Ako ne želite da web-lokacije i aplikacije pristupaju podacima o vašem računu, koristite način rada za goste u pregledniku Chrome. Možete i upravljati svojim Google računima u <ph name="LINK_2_BEGIN" />postavkama<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome ne može provjeriti ažuriranja. Provjerite internetsku vezu.</translation>
 <translation id="2644798301485385923">OS Chrome</translation>
 <translation id="2652691236519827073">Otvori vezu na novoj &amp;kartici Chromea</translation>
diff --git a/chrome/app/resources/google_chrome_strings_id.xtb b/chrome/app/resources/google_chrome_strings_id.xtb
index 1f622820..3b3d5b3 100644
--- a/chrome/app/resources/google_chrome_strings_id.xtb
+++ b/chrome/app/resources/google_chrome_strings_id.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> telah login ke profil Chrome ini. Agar penjelajahan Anda tetap terpisah, Chrome dapat membuat profil tersendiri untuk Anda.</translation>
 <translation id="2580411288591421699">Tak dapat memasang Google Chrome dengan versi yang sama dengan yang sedang aktif. Tutup dulu, baru coba lagi.</translation>
 <translation id="2586406160782125153">Tindakan ini akan menghapus data browsing dari perangkat ini. Untuk mengambil data nanti, login ke Chrome sebagai <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Izin yang telah Anda berikan ke situs dan aplikasi dapat berlaku untuk akun ini. Jika Anda tidak ingin situs atau aplikasi mengakses info akun Anda, gunakan mode Tamu di browser Chrome. Anda juga dapat mengelola Akun Google Anda di <ph name="LINK_2_BEGIN" />Setelan<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome tidak dapat memeriksa update. Coba periksa koneksi internet Anda.</translation>
 <translation id="2644798301485385923">Sistem Chrome OS</translation>
 <translation id="2652691236519827073">Buka Link di &amp;tab Chrome Baru</translation>
diff --git a/chrome/app/resources/google_chrome_strings_is.xtb b/chrome/app/resources/google_chrome_strings_is.xtb
index f0e33ae..d01154f 100644
--- a/chrome/app/resources/google_chrome_strings_is.xtb
+++ b/chrome/app/resources/google_chrome_strings_is.xtb
@@ -68,6 +68,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> er þegar innskráð(ur) á þennan Chrome prófíl. Chrome getur búið til sérstakan prófíl fyrir þig svo að þú getir haldið þinni vefskoðun aðskilinni.</translation>
 <translation id="2580411288591421699">Ekki er hægt að setja upp sömu útgáfu Google Chrome og er nú þegar í gangi. Lokaðu Google Chrome og reyndu aftur.</translation>
 <translation id="2586406160782125153">Þetta mun eyða vefskoðunargögnum úr þessu tæki. Skráðu þig inn í Chrome sem <ph name="USER_EMAIL" /> til að endurheimta gögnin síðar.</translation>
+<translation id="260478105521939126">Heimildir sem þú hefur þegar veitt vefsvæðum og forritum kunna að gilda á þessum reikningi. Ef þú vilt ekki að vefsvæði eða forrit fái aðgang að upplýsingunum þínum skaltu nota gestastillingu í Chrome vafra. Þú getur einnig haft umsjón með Google reikningunum þínum í <ph name="LINK_2_BEGIN" />Stillingum<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome getur ekki athugað með uppfærslur. Athugaðu nettenginguna þína.</translation>
 <translation id="2644798301485385923">Chrome OS kerfi</translation>
 <translation id="2652691236519827073">Opna tengil í nýjum &amp;flipa í Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_iw.xtb b/chrome/app/resources/google_chrome_strings_iw.xtb
index 7583883..d8d3ad3 100644
--- a/chrome/app/resources/google_chrome_strings_iw.xtb
+++ b/chrome/app/resources/google_chrome_strings_iw.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005">‏המשתמש <ph name="EXISTING_USER" /> כבר מחובר לפרופיל Chrome הזה. כדי להפריד בין פעילויות גלישה, Chrome יכול ליצור עבורך פרופיל משלך.</translation>
 <translation id="2580411288591421699">‏אין אפשרות להתקין את אותה גרסת Google Chrome הפועלת כעת. יש לסגור את Google Chrome ולנסות שוב.</translation>
 <translation id="2586406160782125153">‏הפעולה תמחק את נתוני הגלישה מהמכשיר. כדי לאחזר את הנתונים מאוחר יותר, יש להיכנס אל Chrome עם <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">‏יכול להיות שהרשאות שכבר ניתנו לאתרים ולאפליקציות יחולו על החשבון הזה. אם אינך רוצה שלאתרים או לאפליקציות תהיה גישה לפרטי החשבון, צריך להשתמש ב'מצב אורח' בדפדפן Chrome. יש לך גם אפשרות לנהל את חשבונות Google שלך ב<ph name="LINK_2_BEGIN" />הגדרות<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">‏Chrome לא יכול לחפש עדכונים. יש לבדוק את החיבור לאינטרנט.</translation>
 <translation id="2644798301485385923">‏מערכת Chrome OS</translation>
 <translation id="2652691236519827073">‏פתיחת הקישור ב&amp;כרטיסיית Chrome חדשה</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kk.xtb b/chrome/app/resources/google_chrome_strings_kk.xtb
index 1edd044..113aa271 100644
--- a/chrome/app/resources/google_chrome_strings_kk.xtb
+++ b/chrome/app/resources/google_chrome_strings_kk.xtb
@@ -68,6 +68,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> бұл Chrome профиліне кіріп қойған. Браузерді пайдалану деректерін бөлек сақтау үшін Chrome сізге жеке профиль жасай алады.</translation>
 <translation id="2580411288591421699">Қазір ашылып тұрғанмен бірдей Google Chrome нұсқасын орнату мүмкін емес. Google Chrome браузерін жауып, әрекетті қайталаңыз.</translation>
 <translation id="2586406160782125153">Құрылғыдан шолу деректері жойылады. Деректерді кейінірек алу үшін Chrome жүйесіне <ph name="USER_EMAIL" /> болып кіріңіз.</translation>
+<translation id="260478105521939126">Веб-сайттар мен қолданбаларға берілген рұқсаттар осы аккаунтқа пайдаланылуы мүмкін. Егер веб-сайттардың немесе қолданбалардың аккаунт ақпаратын пайдаланғанын қаламасаңыз, Chrome браузеріндегі Қонақ режиміне өтіңіз. Сондай-ақ Google аккаунттарын <ph name="LINK_2_BEGIN" />Параметрлер<ph name="LINK_2_END" /> бөлімінен басқаруға болады.</translation>
 <translation id="2622559029861875898">Chrome жаңа нұсқалардың бар-жоғын тексере алмайды. Интернет байланысын тексеріп көріңіз.</translation>
 <translation id="2644798301485385923">Chrome OS жүйесі</translation>
 <translation id="2652691236519827073">Сілтемені жаңа Chrome қойындысында ашу</translation>
diff --git a/chrome/app/resources/google_chrome_strings_km.xtb b/chrome/app/resources/google_chrome_strings_km.xtb
index f222256..ed2b171 100644
--- a/chrome/app/resources/google_chrome_strings_km.xtb
+++ b/chrome/app/resources/google_chrome_strings_km.xtb
@@ -69,6 +69,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> បានចូលកម្រងព័ត៌មាន Chrome នេះរួចហើយ។ ដើម្បី​រក្សាការរុករក​របស់អ្នកដាច់ដោយឡែក​ Chrome អាច​បង្កើត​កម្រងព័ត៌មាន​ផ្ទាល់ខ្លួនរបស់អ្នកសម្រាប់អ្នក។</translation>
 <translation id="2580411288591421699">មិនអាចតំឡើងកំណែ Google Chrome ដូចគ្នាទៅនឹងកំណែដែលកំពុងដំណើរការបច្ចុប្បន្នទេ។ សូមបិទ Google Chrome ហើយព្យាយាមម្តងទៀត។</translation>
 <translation id="2586406160782125153">វា​នឹង​លុប​ទិន្នន័យ​រុករក​របស់អ្នក​ចេញ​ពី​ឧបករណ៍​នេះ។ ដើម្បី​ទាញ​យក​ទិន្នន័យ​របស់អ្នក​មកវិញ​នៅ​ពេល​ក្រោយ សូម​ចូល​ទៅ​កាន់ Chrome ជា <ph name="USER_EMAIL" /> ។</translation>
+<translation id="260478105521939126">ការអនុញ្ញាត​ដែលអ្នកបានផ្ដល់​ឱ្យគេហទំព័រ និងកម្មវិធីរួចហើយ​អាចអនុវត្តចំពោះ​គណនីនេះ។ ប្រសិនបើអ្នកមិនចង់ឱ្យគេហទំព័រ ឬកម្មវិធីចូលប្រើព័ត៌មានគណនីរបស់អ្នកទេ សូមប្រើមុខងារភ្ញៀវក្នុងកម្មវិធីរុករកតាមអ៊ីនធឺណិត Chrome។ អ្នកក៏អាចគ្រប់គ្រងគណនី Google របស់អ្នកបានផងដែរនៅក្នុង<ph name="LINK_2_BEGIN" />ការកំណត់<ph name="LINK_2_END" />។</translation>
 <translation id="2622559029861875898">Chrome មិនអាចពិនិត្យរក​កំណែថ្មីបានទេ។ សូមសាកល្បងពិនិត្យ​ការតភ្ជាប់អ៊ីនធឺណិត​របស់អ្នក។</translation>
 <translation id="2644798301485385923">ប្រព័ន្ធ Chrome OS</translation>
 <translation id="2652691236519827073">បើក​តំណ​នៅក្នុង​ផ្ទាំង Chrome ថ្មី</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ko.xtb b/chrome/app/resources/google_chrome_strings_ko.xtb
index b73956f..d1f7116 100644
--- a/chrome/app/resources/google_chrome_strings_ko.xtb
+++ b/chrome/app/resources/google_chrome_strings_ko.xtb
@@ -69,6 +69,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" />님이 이미 Chrome 프로필에 로그인되어 있습니다. 인터넷 사용 기록을 별도로 보관하기 위해 Chrome에서 나만의 프로필을 만들 수 있습니다.</translation>
 <translation id="2580411288591421699">현재 실행 중인 Chrome과 동일한 버전은 설치할 수 없습니다. Chrome을 닫고 다시 시도하세요.</translation>
 <translation id="2586406160782125153">인터넷 사용 기록이 기기에서 삭제됩니다. 나중에 데이터를 가져오려면 Chrome에 <ph name="USER_EMAIL" />(으)로 로그인하세요.</translation>
+<translation id="260478105521939126">웹사이트와 앱에 이미 부여한 권한이 계정에 적용될 수 있습니다. 웹사이트나 앱에서 계정 정보에 액세스하기를 원하지 않으면 Chrome 브라우저에서 게스트 모드를 사용하세요. <ph name="LINK_2_BEGIN" />설정<ph name="LINK_2_END" />에서 Google 계정을 관리할 수도 있습니다.</translation>
 <translation id="2622559029861875898">Chrome에서 업데이트를 확인할 수 없습니다. 인터넷 연결 상태를 확인하세요.</translation>
 <translation id="2644798301485385923">Chrome OS 시스템</translation>
 <translation id="2652691236519827073">새 Chrome 탭에서 링크 열기(&amp;T)</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lv.xtb b/chrome/app/resources/google_chrome_strings_lv.xtb
index ffb3141d..e923474 100644
--- a/chrome/app/resources/google_chrome_strings_lv.xtb
+++ b/chrome/app/resources/google_chrome_strings_lv.xtb
@@ -66,6 +66,7 @@
 <translation id="2574930892358684005">Lietotājs <ph name="EXISTING_USER" /> jau ir pierakstījies šajā Chrome profilā. Lai atdalītu pārlūkošanu, pārlūkā Chrome varat izveidot atsevišķu profilu.</translation>
 <translation id="2580411288591421699">Nevar instalēt to pašu Google Chrome versiju, kas jau darbojas. Lūdzu, aizveriet Google Chrome un mēģiniet vēlreiz.</translation>
 <translation id="2586406160782125153">Veicot šo darbību, no šīs ierīces tiks dzēsti pārlūkošanas dati. Lai vēlāk izgūtu datus, pierakstieties pārlūkā Chrome kā <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Uz šo kontu var attiekties atļaujas, ko jau esat piešķīris vietnēm un lietotnēm. Ja nevēlaties atļaut vietnēm vai lietotnēm piekļūt jūsu konta informācijai, pārlūkā Chrome izmantojiet viesa režīmu. Varat arī pārvaldīt savus Google kontus <ph name="LINK_2_BEGIN" />iestatījumu sadaļā<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Pārlūkprogrammā Chrome nevar pārbaudīt atjauninājumu pieejamību. Pārbaudiet interneta savienojumu.</translation>
 <translation id="2644798301485385923">Chrome OS sistēma</translation>
 <translation id="2652691236519827073">Atvērt saiti jaunā Chrome &amp;cilnē</translation>
diff --git a/chrome/app/resources/google_chrome_strings_or.xtb b/chrome/app/resources/google_chrome_strings_or.xtb
index c94b253..8a45023 100644
--- a/chrome/app/resources/google_chrome_strings_or.xtb
+++ b/chrome/app/resources/google_chrome_strings_or.xtb
@@ -69,6 +69,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> ଏହି Chrome ପ୍ରୋଫାଇଲରେ ପୂର୍ବରୁ ସାଇନ୍ ଇନ୍ କରିସାରିଛନ୍ତି। ଆପଣଙ୍କ ବ୍ରାଉଜିଂକୁ ଅଲଗା ରଖିବାକୁ, Chrome ଆପଣଙ୍କ ପାଇଁ ଆପଣଙ୍କର ନିଜର ପ୍ରୋଫାଇଲ୍ ତିଆରି କରିପାରିବ।</translation>
 <translation id="2580411288591421699">ବର୍ତ୍ତମାନ ସମୟରେ ଚାଲୁଥିବା Google Chromeର ସମାନ ସଂସ୍କରଣକୁ ଇନ୍‍ଷ୍ଟଲ୍ କରାଯାଇପାରିବ ନାହିଁ। ଦୟାକରି Google Chromeକୁ ବନ୍ଦ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="2586406160782125153">ଏହା ଏହି ଡିଭାଇସ୍‍ରୁ ଆପଣଙ୍କର ବ୍ରାଉଜିଂ ଡାଟା ଖାଲି କରିଦେବେ। ପରେ ଆପଣଙ୍କର ଡାଟା ପୁନଃପ୍ରାପ୍ତ କରିବାକୁ Chromeରେ <ph name="USER_EMAIL" />ରୂପେ ସାଇନ୍ ଇନ୍‌ କରନ୍ତୁ।</translation>
+<translation id="260478105521939126">ୱେବସାଇଟ ଏବଂ ଆପଗୁଡ଼ିକ ପାଇଁ ଆପଣ ପୂର୍ବରୁ ଦେଇଥିବା ଅନୁମତିଗୁଡ଼ିକ ଏହି ଆକାଉଣ୍ଟରେ ଲାଗୁ ହୋଇପାରେ। ଯଦି ୱେବସାଇଟ କିମ୍ବା ଆପଗୁଡ଼ିକ ଆପଣଙ୍କ ଆକାଉଣ୍ଟ ସୂଚନାକୁ ଆକ୍ସେସ କରୁ ବୋଲି ଆପଣ ଚାହୁଁନାହାଁନ୍ତି, ତେବେ Chrome ବ୍ରାଉଜରରେ ଅତିଥି ମୋଡ ବ୍ୟବହାର କରନ୍ତୁ। ଆପଣ <ph name="LINK_2_BEGIN" />ସେଟିଂସ<ph name="LINK_2_END" />ରେ ମଧ୍ୟ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟକୁ ପରିଚାଳନା କରିପାରିବେ।</translation>
 <translation id="2622559029861875898">Chrome ଅପଡେଟଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିପାରିବ ନାହିଁ। ଆପଣଙ୍କର ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ଯାଞ୍ଚ କରି ଦେଖନ୍ତୁ।</translation>
 <translation id="2644798301485385923">Chrome OS ସିଷ୍ଟମ୍‌</translation>
 <translation id="2652691236519827073">ନୂଆ Chrome &amp;ଟାବ୍‌ରେ ଲିଙ୍କ୍ ଖୋଲନ୍ତୁ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-BR.xtb b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
index 5fafd1e66..4373666 100644
--- a/chrome/app/resources/google_chrome_strings_pt-BR.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005">A conta de <ph name="EXISTING_USER" /> já está conectada a este perfil do Chrome. Para manter sua navegação separada, o Chrome pode criar um perfil só para você.</translation>
 <translation id="2580411288591421699">Não é possível instalar a mesma versão do Google Chrome que está em execução. Feche o Google Chrome e tente novamente.</translation>
 <translation id="2586406160782125153">Essa ação excluirá seus dados de navegação desse dispositivo. Para recuperar seus dados mais tarde, faça login no Chrome como <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">As permissões que você já concedeu a sites e apps podem ser aplicadas a esta conta. Se você não quer que sites ou apps tenham acesso às informações da sua conta, use o Modo convidado no navegador Chrome. Também é possível gerenciar suas Contas do Google nas <ph name="LINK_2_BEGIN" />Configurações<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">O Chrome não pode verificar se há atualizações. Verifique sua conexão com a Internet.</translation>
 <translation id="2644798301485385923">Sistema Chrome OS</translation>
 <translation id="2652691236519827073">Abrir link em nova &amp;guia do Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sq.xtb b/chrome/app/resources/google_chrome_strings_sq.xtb
index 04164a0..4f5befc 100644
--- a/chrome/app/resources/google_chrome_strings_sq.xtb
+++ b/chrome/app/resources/google_chrome_strings_sq.xtb
@@ -68,6 +68,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> është i identifikuar tashmë në këtë profil të Chrome. Për ta mbajtur shfletimin tënd të ndarë, Chrome mund të krijojë profilin tënd personal për ty.</translation>
 <translation id="2580411288591421699">Nuk mund të instalohet i njëjti version i Google Chrome që po ekzekutohet aktualisht. Mbylle Google Chrome dhe provo përsëri.</translation>
 <translation id="2586406160782125153">Kjo do të fshijë të dhënat e shfletimit nga kjo pajisje. Për t'i marrë më vonë të dhënat, identifikohu te Chrome si <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Lejet që u ke dhënë sajteve të uebit dhe aplikacioneve mund të zbatohen për këtë llogari. Nëse nuk dëshiron që sajtet e uebit ose aplikacionet të kenë qasje tek informacionet e llogarisë sate, përdor modalitetin "Vizitor" në shfletuesin e Chrome. "Llogaritë e tua të Google" mund t'i menaxhosh edhe te <ph name="LINK_2_BEGIN" />Cilësimet<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome nuk mund të kontrollojë për përditësime. Provo të kontrollosh lidhjen e internetit.</translation>
 <translation id="2644798301485385923">Sistemi i Chrome OS</translation>
 <translation id="2652691236519827073">Hape lidhjen në një &amp;skedë të re të Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sv.xtb b/chrome/app/resources/google_chrome_strings_sv.xtb
index b18d9e4..f79ce32 100644
--- a/chrome/app/resources/google_chrome_strings_sv.xtb
+++ b/chrome/app/resources/google_chrome_strings_sv.xtb
@@ -69,6 +69,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> är redan inloggad på den här Chrome-profilen. Du kan hålla isär webbinformationen genom att skapa en egen profil i Chrome.</translation>
 <translation id="2580411288591421699">Det går inte att installera samma version av Google Chrome som redan körs. Stäng Google Chrome och försök igen.</translation>
 <translation id="2586406160782125153">Webbinformationen raderas från enheten. Logga in i Chrome som <ph name="USER_EMAIL" /> om du vill kunna återställa datan senare.</translation>
+<translation id="260478105521939126">Behörigheter som du redan har gett webbplatser och appar kan gälla för det här kontot. Om du inte vill ge webbplatser och appar åtkomst till information i ditt konto kan du använda gästläget i webbläsaren Chrome. Du kan även hantera dina Google-konton i <ph name="LINK_2_BEGIN" />inställningarna<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome kan inte söka efter uppdateringar. Testa att kontrollera internetanslutningen.</translation>
 <translation id="2644798301485385923">Chrome OS-system</translation>
 <translation id="2652691236519827073">Öppna länkar i en ny flik i Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ta.xtb b/chrome/app/resources/google_chrome_strings_ta.xtb
index c1c59c7b..b15694c4 100644
--- a/chrome/app/resources/google_chrome_strings_ta.xtb
+++ b/chrome/app/resources/google_chrome_strings_ta.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005">இந்த Chrome சுயவிவரத்தில் <ph name="EXISTING_USER" /> ஏற்கெனவே உள்நுழைந்துள்ளார். நீங்கள் உலாவுவதைத் தனிப்பட்டதாக வைத்திருக்க, உங்களுக்கு ஒரு புதிய சுயவிவரத்தை Chrome உருவாக்க முடியும்.</translation>
 <translation id="2580411288591421699">நடப்பில் இயங்கிக்கொண்டிருக்கும் அதே Google Chrome பதிப்பை நிறுவ முடியாது. Google Chromeமை மூடிவிட்டு மீண்டும் முயற்சி செய்க.</translation>
 <translation id="2586406160782125153">வெளியேறினால், இந்தச் சாதனத்திலிருந்து நீங்கள் உலாவிய தரவு நீக்கப்படும். பின்னர் தரவை மீட்டமைக்க, Chromeல் <ph name="USER_EMAIL" /> எனும் முகவரியின் மூலம் உள்நுழையவும்.</translation>
+<translation id="260478105521939126">இணையதளங்களுக்கும் ஆப்ஸுக்கும் நீங்கள் ஏற்கெனவே வழங்கிய அனுமதிகள் இந்தக் கணக்கிற்கும் பொருந்தக்கூடும். உங்கள் கணக்குத் தகவல்களை இணையதளங்களோ ஆப்ஸோ அணுக வேண்டாம் என விரும்பினால் Chrome உலாவியை கெஸ்ட் பயன்முறையில் பயன்படுத்தலாம். உங்கள் Google கணக்குகளை <ph name="LINK_2_BEGIN" />அமைப்புகள்<ph name="LINK_2_END" /> என்பதிலும் நிர்வகிக்கலாம்.</translation>
 <translation id="2622559029861875898">Chromeமால் புதுப்பிப்புகள் உள்ளதா எனப் பார்க்க முடியவில்லை. உங்கள் இணைய இணைப்பைச் சரிபார்க்க முயலவும்.</translation>
 <translation id="2644798301485385923">Chrome OS சிஸ்டம்</translation>
 <translation id="2652691236519827073">புதிய Chrome &amp;தாவலில் இணைப்பைத் திற</translation>
diff --git a/chrome/app/resources/google_chrome_strings_te.xtb b/chrome/app/resources/google_chrome_strings_te.xtb
index 68ae72d..055ccd1 100644
--- a/chrome/app/resources/google_chrome_strings_te.xtb
+++ b/chrome/app/resources/google_chrome_strings_te.xtb
@@ -164,7 +164,7 @@
 <translation id="4895437082222824641">కొత్త Chrome &amp;ట్యాబ్‌లో లింక్‌ను తెరువు</translation>
 <translation id="4953650215774548573">Google Chromeను మీ డిఫాల్ట్ బ్రౌజర్‌గా సెట్ చేయండి</translation>
 <translation id="495931528404527476">Chromeలో</translation>
-<translation id="4970761609246024540">Chrome ప్రొఫైల్‌లకు స్వాగతం</translation>
+<translation id="4970761609246024540">Chrome ప్రొఫైళ్లకు స్వాగతం</translation>
 <translation id="4990567037958725628">Google Chrome కేనరీ</translation>
 <translation id="5062123544085870375">Chrome OSను మళ్లీ ప్రారంభించండి</translation>
 <translation id="5132929315877954718">Google Chrome కోసం గొప్ప యాప్‌లు, ఆటలు, ఎక్స్‌టెన్షన్‌లు మరియు థీమ్‌లను కనుగొనండి.</translation>
@@ -226,7 +226,7 @@
 <translation id="6943584222992551122">ఈ వ్యక్తి బ్రౌజింగ్ డేటా ఈ పరికరం నుండి తొలగించబడుతుంది. డేటాను పునరుద్ధరించడానికి, <ph name="USER_EMAIL" />గా Chromeకి సైన్ ఇన్ చేయండి.</translation>
 <translation id="6967962315388095737">mDNS ట్రాఫిక్‌ను అనుమతించడానికి Google Chrome బీటా కోసం ఇన్‌బౌండ్ నియమం.</translation>
 <translation id="6989339256997917931">Google Chrome నవీకరింబడింది, కానీ మీరు దీన్ని కనీసం 30 రోజులు ఉయోగించలేరు.</translation>
-<translation id="7025800014283535195">మీరు ఇక్కడ Chrome ప్రొఫైల్‌ల మధ్య స్విచ్ అవ్వవచ్చు</translation>
+<translation id="7025800014283535195">మీరు ఇక్కడ Chrome ప్రొఫైళ్ల మధ్య స్విచ్ అవ్వవచ్చు</translation>
 <translation id="7062128746136194023">Chromeలో సైట్‌లు, యాప్‌లు, ఎక్స్‌టెన్షన్‌లకు సంబంధించిన అనుమతులను మీ తల్లి/తండ్రి ఆఫ్ చేశారు. ఈ <ph name="EXTENSION_TYPE_PARAMETER" />ను జోడించడానికి అనుమతి లేదు.</translation>
 <translation id="7085332316435785646">Google సర్వీస్‌లలో మరింత వ్యక్తిగతీకరించిన అనుభవం కోసం Chrome హిస్టరీని చేర్చాలో, లేదో ఎంచుకోండి</translation>
 <translation id="7088681679121566888">Chrome అప్‌డేట్ చేసి ఉంది</translation>
@@ -286,7 +286,7 @@
 <translation id="8540666473246803645">Google Chrome</translation>
 <translation id="8550334526674375523">ఈ వర్క్ ప్రొఫైల్, మీ వ్యక్తిగత ప్రొఫైల్ నుండి పూర్తిగా భిన్నంగా ఉంది.</translation>
 <translation id="8556340503434111824">Google Chrome యొక్క కొత్త వెర్షన్ అందుబాటులో ఉంది, ఇది మునుపటి కంటే వేగవంతంగా ఉంటుంది.</translation>
-<translation id="8571790202382503603">మీ మొత్తం Chrome అంశాలను మీ Chrome ప్రొఫైల్‌లతో వేరు చేయండి. ఇలా చేయడం వలన ఆఫీస్, వినోదాన్ని వేర్వేరుగా ఉంచవచ్చు.</translation>
+<translation id="8571790202382503603">మీ మొత్తం Chrome అంశాలను మీ Chrome ప్రొఫైళ్లతో వేరు చేయండి. ఇలా చేయడం వలన ఆఫీస్, వినోదాన్ని వేర్వేరుగా ఉంచవచ్చు.</translation>
 <translation id="8614913330719544658">Google Chrome స్పందించడం లేదు. ఇప్పుడే పునఃప్రారంభించాలా?</translation>
 <translation id="861702415419836452">మీ పరిసరాల 3D మ్యాప్‌ను సృష్టించడానికి Chromeకు మీ కెమెరాను యాక్సెస్ చేసే అనుమతి కావాలి</translation>
 <translation id="8625237574518804553">{0,plural, =1{1 నిమిషంలో Chrome తిరిగి ప్రారంభించబడుతుంది}other{# నిమిషాల్లో Chrome తిరిగి ప్రారంభించబడుతుంది}}</translation>
@@ -294,7 +294,7 @@
 <translation id="8641606876632989680">చోరీకి గురైన పాస్‌వర్డ్‌తో మీరు సైన్ ఇన్ చేసినప్పుడు, Chrome తెలియజేస్తుంది</translation>
 <translation id="8669527147644353129">Google Chrome సహాయకారుడు</translation>
 <translation id="8679801911857917785">ఇది మీరు Chromeని ప్రారంభించేటప్పుడు చూపబడే పేజీని కూడా నియంత్రిస్తుంది.</translation>
-<translation id="8686817260976772516">మీ మొత్తం Chrome అంశాలను Chrome ప్రొఫైల్‌లతో విభజించవచ్చు. స్నేహితులు, ఫ్యామిలీ కోసం ప్రొఫైల్‌లను క్రియేట్ చేయండి, లేదా ఆఫీస్, వినోదం మధ్య విభజించండి.</translation>
+<translation id="8686817260976772516">మీ మొత్తం Chrome అంశాలను Chrome ప్రొఫైళ్లతో విభజించవచ్చు. స్నేహితులు, ఫ్యామిలీ కోసం ప్రొఫైళ్లను క్రియేట్ చేయండి, లేదా ఆఫీస్, వినోదం మధ్య విభజించండి.</translation>
 <translation id="8712767363896337380">దాదాపుగా అప్‌డేట్ అయ్యి ఉంది! అప్‌డేట్ చేయడాన్ని పూర్తి చేయడానికి Chromeను రీ-లాంచ్ చేయండి.</translation>
 <translation id="873133009373065397">Google Chrome డిఫాల్ట్ బ్రౌజర్‌ను నిశ్చయించలేదు లేదా సెట్ చేయలేదు</translation>
 <translation id="8823341990149967727">Chrome కాలం చెల్లినది</translation>
@@ -314,5 +314,5 @@
 <translation id="922152298093051471">Chromeను అనుకూలంగా మార్చు</translation>
 <translation id="940313311831216333">మీ అన్ని పరికరాలలో మీ Chrome సంబంధిత అంశాలను యాక్సెస్ చేయడానికి, సైన్ ఇన్ చేసి, ఆపై సింక్‌ను ఆన్ చేయండి.</translation>
 <translation id="989369509083708165">మీ డిఫాల్ట్ బ్రౌజర్ Google Chrome</translation>
-<translation id="989816563149873169"><ph name="SHORTCUT" /> Chrome ప్రొఫైల్‌ల మధ్య స్విచ్ అవ్వగలదు</translation>
+<translation id="989816563149873169"><ph name="SHORTCUT" /> Chrome ప్రొఫైళ్ల మధ్య స్విచ్ అవ్వగలదు</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/app/resources/google_chrome_strings_tr.xtb b/chrome/app/resources/google_chrome_strings_tr.xtb
index 032c854..6356dc4 100644
--- a/chrome/app/resources/google_chrome_strings_tr.xtb
+++ b/chrome/app/resources/google_chrome_strings_tr.xtb
@@ -64,6 +64,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> kullanıcısının oturumu halihazırda bu Chrome profilinde açık. Göz atma işlemlerinizi ayrı tutmak isterseniz Chrome, sizin için kendi profilinizi oluşturabilir.</translation>
 <translation id="2580411288591421699">Şu anda çalışmakta olan Google Chrome ile aynı sürüm yüklenemez. Lütfen Google Chrome'u kapatın ve tekrar deneyin.</translation>
 <translation id="2586406160782125153">Bu işlem, tarama verilerinizi bu cihazdan silecektir. Verilerinizi daha sonra geri almak için Chrome'da <ph name="USER_EMAIL" /> hesabıyla oturum açın.</translation>
+<translation id="260478105521939126">Web sitelerine ve uygulamalara verdiğiniz izinler, bu hesap için geçerli olabilir. Web sitelerinin veya uygulamaların hesap bilgilerinize erişmesini istemiyorsanız Chrome tarayıcıdaki Misafir Modu'nu kullanın. Google Hesaplarınızı <ph name="LINK_2_BEGIN" />Ayarlar<ph name="LINK_2_END" /> bölümünden de yönetebilirsiniz.</translation>
 <translation id="2622559029861875898">Chrome güncellemeleri denetleyemiyor. İnternet bağlantınızı kontrol etmeyi deneyin.</translation>
 <translation id="2644798301485385923">Chrome OS Sistemi</translation>
 <translation id="2652691236519827073">Bağlantıyı Yeni Chrome &amp;sekmesinde aç</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uk.xtb b/chrome/app/resources/google_chrome_strings_uk.xtb
index 827b04f..cab2dd6 100644
--- a/chrome/app/resources/google_chrome_strings_uk.xtb
+++ b/chrome/app/resources/google_chrome_strings_uk.xtb
@@ -65,6 +65,7 @@
 <translation id="2574930892358684005">Цей профіль Chrome уже використовує <ph name="EXISTING_USER" />. Щоб переглядати веб-сторінки окремо, ви можете створити власний профіль Chrome.</translation>
 <translation id="2580411288591421699">Поки Google Chrome працює, неможливо встановити версію, аналогічну поточній. Закрийте Google Chrome і повторіть спробу.</translation>
 <translation id="2586406160782125153">Дані веб-перегляду буде видалено з цього пристрою. Щоб відновити дані пізніше, увійдіть в обліковий запис Chrome як <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Дозволи, надані веб-сайтам і додаткам, можуть діяти для цього облікового запису. Якщо ви не хочете, щоб веб-сайти чи додатки мали доступ до даних облікового запису, можете користуватися веб-переглядачем Chrome у режимі гостя. Ви також можете керувати своїми обліковими записами Google у <ph name="LINK_2_BEGIN" />Налаштуваннях<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome не може перевірити наявність оновлень. Перевірте інтернет-з'єднання.</translation>
 <translation id="2644798301485385923">ОС Chrome</translation>
 <translation id="2652691236519827073">Відкрити посилання в новій &amp;вкладці Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb
index 157ae51..0b126fdc 100644
--- a/chrome/app/resources/google_chrome_strings_vi.xtb
+++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -67,6 +67,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> đã đăng nhập vào hồ sơ này trên Chrome. Để tách biệt hoạt động duyệt web của bạn, Chrome có thể tạo hồ sơ riêng cho bạn.</translation>
 <translation id="2580411288591421699">Không thể cài đặt phiên bản Google Chrome giống với phiên bản hiện đang chạy. Vui lòng đóng Google Chrome và thử lại.</translation>
 <translation id="2586406160782125153">Thao tác này sẽ xóa dữ liệu duyệt web của bạn khỏi thiết bị này. Để truy xuất dữ liệu của bạn sau, hãy đăng nhập vào Chrome dưới dạng <ph name="USER_EMAIL" />.</translation>
+<translation id="260478105521939126">Các quyền bạn từng cấp cho trang web và ứng dụng có thể áp dụng cho tài khoản này. Nếu bạn không muốn trang web và ứng dụng truy cập thông tin tài khoản của mình, hãy dùng Chế độ khách trong trình duyệt Chrome. Bạn cũng có thể quản lý Tài khoản Google của mình trong phần <ph name="LINK_2_BEGIN" />Cài đặt<ph name="LINK_2_END" />.</translation>
 <translation id="2622559029861875898">Chrome không thể kiểm tra để tìm các bản cập nhật. Hãy thử kiểm tra kết nối Internet.</translation>
 <translation id="2644798301485385923">Hệ thống Chrome OS</translation>
 <translation id="2652691236519827073">Mở đường liên kết trong &amp;tab mới của 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 2f9d3d5..f8cf731 100644
--- a/chrome/app/resources/google_chrome_strings_zh-HK.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-HK.xtb
@@ -68,7 +68,7 @@
 <translation id="2574930892358684005"><ph name="EXISTING_USER" /> 已登入此 Chrome 設定檔。Chrome 可為您建立您的設定檔,以分開您的瀏覽區。</translation>
 <translation id="2580411288591421699">您無法安裝這個版本的 Google Chrome,因為相同的版本目前正在執行中。請關閉 Google Chrome,然後再試一次。</translation>
 <translation id="2586406160782125153">這會刪除此裝置上的瀏覽資料。如果日後想擷取資料,請以 <ph name="USER_EMAIL" /> 的身分登入 Chrome。</translation>
-<translation id="260478105521939126">你授予網站和應用程式的權限可能會套用到這個帳戶。如果不想讓網站或應用程式存取你的帳戶資訊,請使用 Chrome 瀏覽器的訪客模式。你也可以前往「<ph name="LINK_2_BEGIN" />設定<ph name="LINK_2_END" />」管理 Google 帳戶。</translation>
+<translation id="260478105521939126">您已向網站和應用程式授予的權限,可能會套用到此帳戶。如果您不想網站或應用程式存取您的帳戶資料,請使用 Chrome 瀏覽器的訪客模式。您亦可在「<ph name="LINK_2_BEGIN" />設定<ph name="LINK_2_END" />」中管理 Google 帳戶。</translation>
 <translation id="2622559029861875898">Chrome 無法檢查更新,請檢查互聯網連線。</translation>
 <translation id="2644798301485385923">Chrome 作業系統</translation>
 <translation id="2652691236519827073">在 Chrome 的新分頁中開啟連結(&amp;T)</translation>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 99c8c9a..e572d8dd 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1371,6 +1371,8 @@
     "process_resource_usage.cc",
     "process_resource_usage.h",
     "process_singleton.h",
+    "process_singleton_internal.cc",
+    "process_singleton_internal.h",
     "profiles/avatar_menu_actions.h",
     "profiles/bookmark_model_loaded_observer.cc",
     "profiles/bookmark_model_loaded_observer.h",
@@ -5618,6 +5620,7 @@
       "chrome_browser_application_mac.mm",
       "chrome_browser_main_mac.h",
       "chrome_browser_main_mac.mm",
+      "component_updater/recovery_improved_component_installer_mac.cc",
       "component_updater/updater_state_mac.mm",
       "download/download_status_updater_mac.mm",
       "download/drag_download_item_mac.mm",
@@ -6613,6 +6616,7 @@
       "//chrome/browser/web_applications/extensions",
       "//chrome/common/extensions/api",
       "//chrome/common/extensions/api:extensions_features",
+      "//components/app_constants",
       "//components/drive",
       "//components/guest_view/browser",
       "//media/cast:sender",
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index f2d8429..80c8979 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -39,6 +39,7 @@
   "+chromeos",
   "+components/about_ui",
   "+components/account_id",
+  "+components/app_constants/constants.h",
   "+components/federated_learning",
   # TODO(b/129295708): Remove after move is complete.
   "+components/arc",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index bf533e476..02dbbf6 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7946,6 +7946,12 @@
      FEATURE_VALUE_TYPE(certificate_transparency::features::
                             kCertificateTransparency2022PolicyAllCerts)},
 
+    {"leak-detection-unauthenticated",
+     flag_descriptions::kLeakDetectionUnauthenticated,
+     flag_descriptions::kLeakDetectionUnauthenticatedDescription, kOsAll,
+     FEATURE_VALUE_TYPE(
+         password_manager::features::kLeakDetectionUnauthenticated)},
+
     // NOTE: Adding a new flag requires adding a corresponding entry to enum
     // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
     // Histograms" in tools/metrics/histograms/README.md (run the
diff --git a/chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc b/chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc
index d9624fc..890d0014 100644
--- a/chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc
+++ b/chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc
@@ -130,7 +130,7 @@
 
     const char* custom_arg = NULL;
     std::string json_string;
-    if (!custom_arg_value.GetList().empty()) {
+    if (!custom_arg_value.GetListDeprecated().empty()) {
       base::JSONWriter::Write(custom_arg_value, &json_string);
       custom_arg = json_string.c_str();
     }
diff --git a/chrome/browser/apps/platform_apps/api/sync_file_system/sync_file_system_api.cc b/chrome/browser/apps/platform_apps/api/sync_file_system/sync_file_system_api.cc
index 3dc144f..b6889cb 100644
--- a/chrome/browser/apps/platform_apps/api/sync_file_system/sync_file_system_api.cc
+++ b/chrome/browser/apps/platform_apps/api/sync_file_system/sync_file_system_api.cc
@@ -246,7 +246,7 @@
   // All FileEntries converted into array of URL Strings in JS custom bindings.
   EXTENSION_FUNCTION_VALIDATE(args().size() >= 1);
   EXTENSION_FUNCTION_VALIDATE(args()[0].is_list());
-  base::Value::ConstListView file_entry_urls = args()[0].GetList();
+  base::Value::ConstListView file_entry_urls = args()[0].GetListDeprecated();
 
   scoped_refptr<storage::FileSystemContext> file_system_context =
       browser_context()
diff --git a/chrome/browser/ash/arc/accessibility/arc_accessibility_helper_bridge_unittest.cc b/chrome/browser/ash/arc/accessibility/arc_accessibility_helper_bridge_unittest.cc
index 5b9bf19..7d4b560 100644
--- a/chrome/browser/ash/arc/accessibility/arc_accessibility_helper_bridge_unittest.cc
+++ b/chrome/browser/ash/arc/accessibility/arc_accessibility_helper_bridge_unittest.cc
@@ -234,7 +234,8 @@
   ASSERT_EQ(1, helper_bridge->GetEventCount(event_name));
   ASSERT_EQ(event_name, helper_bridge->last_event->event_name);
   base::Value::ConstListView arg =
-      helper_bridge->last_event->event_args->GetListDeprecated()[0].GetList();
+      helper_bridge->last_event->event_args->GetListDeprecated()[0]
+          .GetListDeprecated();
   ASSERT_EQ(1U, arg.size());
   ASSERT_EQ(announce_text, arg[0].GetString());
 }
@@ -264,7 +265,8 @@
   ASSERT_EQ(1, helper_bridge->GetEventCount(event_name));
   ASSERT_EQ(event_name, helper_bridge->last_event->event_name);
   base::Value::ConstListView arg =
-      helper_bridge->last_event->event_args->GetListDeprecated()[0].GetList();
+      helper_bridge->last_event->event_args->GetListDeprecated()[0]
+          .GetListDeprecated();
   ASSERT_EQ(1U, arg.size());
   ASSERT_EQ(toast_text, arg[0].GetString());
 
diff --git a/chrome/browser/ash/arc/input_overlay/actions/action.cc b/chrome/browser/ash/arc/input_overlay/actions/action.cc
index e3118ec..571bf6a4 100644
--- a/chrome/browser/ash/arc/input_overlay/actions/action.cc
+++ b/chrome/browser/ash/arc/input_overlay/actions/action.cc
@@ -31,7 +31,7 @@
 std::vector<std::unique_ptr<Position>> ParseLocation(
     const base::Value& position) {
   std::vector<std::unique_ptr<Position>> positions;
-  for (const base::Value& val : position.GetList()) {
+  for (const base::Value& val : position.GetListDeprecated()) {
     auto pos = ParsePosition(val);
     if (!pos) {
       LOG(ERROR) << "Failed to parse location.";
diff --git a/chrome/browser/ash/arc/policy/arc_policy_bridge.cc b/chrome/browser/ash/arc/policy/arc_policy_bridge.cc
index a3d86c7c..d0d3250 100644
--- a/chrome/browser/ash/arc/policy/arc_policy_bridge.cc
+++ b/chrome/browser/ash/arc/policy/arc_policy_bridge.cc
@@ -162,7 +162,7 @@
   }
 
   base::Value ca_certs(base::Value::Type::LIST);
-  for (const auto& certificate : certificates.GetList()) {
+  for (const auto& certificate : certificates.GetListDeprecated()) {
     if (!certificate.is_dict()) {
       DLOG(FATAL) << "Value of a certificate entry is not a dictionary "
                   << "value.";
@@ -203,7 +203,7 @@
     data.SetStringKey("X509", *x509_data);
     ca_certs.Append(std::move(data));
   }
-  if (!ca_certs.GetList().empty())
+  if (!ca_certs.GetListDeprecated().empty())
     filtered_policies->SetKey("credentialsConfigDisabled", base::Value(true));
   filtered_policies->SetKey(kArcCaCerts, std::move(ca_certs));
 }
@@ -239,7 +239,7 @@
     if (LooksLikeAndroidPackageName(app_id))
       arc_app_ids.Append(app_id);
   }
-  if (arc_app_ids.GetList().empty() ||
+  if (arc_app_ids.GetListDeprecated().empty() ||
       cert_store_service->get_required_cert_names().empty()) {
     return;
   }
diff --git a/chrome/browser/ash/arc/tracing/arc_cpu_event.cc b/chrome/browser/ash/arc/tracing/arc_cpu_event.cc
index 10f2dc6..3c6e4a7 100644
--- a/chrome/browser/ash/arc/tracing/arc_cpu_event.cc
+++ b/chrome/browser/ash/arc/tracing/arc_cpu_event.cc
@@ -145,12 +145,12 @@
 
   uint64_t previous_timestamp = 0;
   for (const auto& entry : value->GetListDeprecated()) {
-    if (!entry.is_list() || entry.GetList().size() != 3)
+    if (!entry.is_list() || entry.GetListDeprecated().size() != 3)
       return false;
-    if (!entry.GetList()[0].is_int())
+    if (!entry.GetListDeprecated()[0].is_int())
       return false;
     const ArcCpuEvent::Type type =
-        static_cast<ArcCpuEvent::Type>(entry.GetList()[0].GetInt());
+        static_cast<ArcCpuEvent::Type>(entry.GetListDeprecated()[0].GetInt());
     switch (type) {
       case ArcCpuEvent::Type::kIdleIn:
       case ArcCpuEvent::Type::kIdleOut:
@@ -160,14 +160,15 @@
       default:
         return false;
     }
-    if (!entry.GetList()[1].is_double() && !entry.GetList()[1].is_int())
+    if (!entry.GetListDeprecated()[1].is_double() &&
+        !entry.GetListDeprecated()[1].is_int())
       return false;
-    const uint64_t timestamp = entry.GetList()[1].GetDouble();
+    const uint64_t timestamp = entry.GetListDeprecated()[1].GetDouble();
     if (timestamp < previous_timestamp)
       return false;
-    if (!entry.GetList()[2].is_int())
+    if (!entry.GetListDeprecated()[2].is_int())
       return false;
-    const int tid = entry.GetList()[2].GetInt();
+    const int tid = entry.GetListDeprecated()[2].GetInt();
     cpu_events->emplace_back(timestamp, type, tid);
     previous_timestamp = timestamp;
   }
diff --git a/chrome/browser/ash/arc/tracing/arc_tracing_graphics_model.cc b/chrome/browser/ash/arc/tracing/arc_tracing_graphics_model.cc
index f019a66..fb1d3ce 100644
--- a/chrome/browser/ash/arc/tracing/arc_tracing_graphics_model.cc
+++ b/chrome/browser/ash/arc/tracing/arc_tracing_graphics_model.cc
@@ -1449,12 +1449,12 @@
     return false;
   int64_t previous_timestamp = 0;
   for (const auto& entry : value->GetListDeprecated()) {
-    if (!entry.is_list() || entry.GetList().size() < 2)
+    if (!entry.is_list() || entry.GetListDeprecated().size() < 2)
       return false;
-    if (!entry.GetList()[0].is_int())
+    if (!entry.GetListDeprecated()[0].is_int())
       return false;
     const BufferEventType type =
-        static_cast<BufferEventType>(entry.GetList()[0].GetInt());
+        static_cast<BufferEventType>(entry.GetListDeprecated()[0].GetInt());
 
     if (!IsInRange(type, BufferEventType::kBufferQueueDequeueStart,
                    BufferEventType::kBufferFillJank) &&
@@ -1473,15 +1473,17 @@
       return false;
     }
 
-    if (!entry.GetList()[1].is_double() && !entry.GetList()[1].is_int())
+    if (!entry.GetListDeprecated()[1].is_double() &&
+        !entry.GetListDeprecated()[1].is_int())
       return false;
-    const int64_t timestamp = entry.GetList()[1].GetDouble();
+    const int64_t timestamp = entry.GetListDeprecated()[1].GetDouble();
     if (timestamp < previous_timestamp)
       return false;
-    if (entry.GetList().size() == 3) {
-      if (!entry.GetList()[2].is_string())
+    if (entry.GetListDeprecated().size() == 3) {
+      if (!entry.GetListDeprecated()[2].is_string())
         return false;
-      out_events->emplace_back(type, timestamp, entry.GetList()[2].GetString());
+      out_events->emplace_back(type, timestamp,
+                               entry.GetListDeprecated()[2].GetString());
     } else {
       out_events->emplace_back(type, timestamp);
     }
diff --git a/chrome/browser/ash/arc/tracing/arc_value_event.cc b/chrome/browser/ash/arc/tracing/arc_value_event.cc
index 9908f421..a1d399c 100644
--- a/chrome/browser/ash/arc/tracing/arc_value_event.cc
+++ b/chrome/browser/ash/arc/tracing/arc_value_event.cc
@@ -32,12 +32,12 @@
 
   int64_t previous_timestamp = 0;
   for (const auto& entry : value->GetListDeprecated()) {
-    if (!entry.is_list() || entry.GetList().size() != 3)
+    if (!entry.is_list() || entry.GetListDeprecated().size() != 3)
       return false;
-    if (!entry.GetList()[0].is_int())
+    if (!entry.GetListDeprecated()[0].is_int())
       return false;
     const ArcValueEvent::Type type =
-        static_cast<ArcValueEvent::Type>(entry.GetList()[0].GetInt());
+        static_cast<ArcValueEvent::Type>(entry.GetListDeprecated()[0].GetInt());
     switch (type) {
       case ArcValueEvent::Type::kMemTotal:
       case ArcValueEvent::Type::kMemUsed:
@@ -57,14 +57,15 @@
       default:
         return false;
     }
-    if (!entry.GetList()[1].is_double() && !entry.GetList()[1].is_int())
+    if (!entry.GetListDeprecated()[1].is_double() &&
+        !entry.GetListDeprecated()[1].is_int())
       return false;
-    const int64_t timestamp = entry.GetList()[1].GetDouble();
+    const int64_t timestamp = entry.GetListDeprecated()[1].GetDouble();
     if (timestamp < previous_timestamp)
       return false;
-    if (!entry.GetList()[2].is_int())
+    if (!entry.GetListDeprecated()[2].is_int())
       return false;
-    const int value = entry.GetList()[2].GetInt();
+    const int value = entry.GetListDeprecated()[2].GetInt();
     value_events->emplace_back(timestamp, type, value);
     previous_timestamp = timestamp;
   }
diff --git a/chrome/browser/ash/certificate_provider/test_certificate_provider_extension.cc b/chrome/browser/ash/certificate_provider/test_certificate_provider_extension.cc
index 5bd9fec1..75586f7a 100644
--- a/chrome/browser/ash/certificate_provider/test_certificate_provider_extension.cc
+++ b/chrome/browser/ash/certificate_provider/test_certificate_provider_extension.cc
@@ -67,7 +67,7 @@
 
 std::vector<uint8_t> ExtractBytesFromValue(const base::Value& value) {
   std::vector<uint8_t> bytes;
-  for (const base::Value& item_value : value.GetList())
+  for (const base::Value& item_value : value.GetListDeprecated())
     bytes.push_back(base::checked_cast<uint8_t>(item_value.GetInt()));
   return bytes;
 }
@@ -231,20 +231,21 @@
   // Handle the request and reply to it (possibly, asynchronously).
   base::Value message_value = ParseJsonToValue(message);
   CHECK(message_value.is_list());
-  CHECK(message_value.GetList().size());
-  CHECK(message_value.GetList()[0].is_string());
-  const std::string& request_type = message_value.GetList()[0].GetString();
+  CHECK(message_value.GetListDeprecated().size());
+  CHECK(message_value.GetListDeprecated()[0].is_string());
+  const std::string& request_type =
+      message_value.GetListDeprecated()[0].GetString();
   ReplyToJsCallback send_reply_to_js_callback =
       base::BindOnce(&SendReplyToJs, &message_listener_);
   if (request_type == "getCertificates") {
-    CHECK_EQ(message_value.GetList().size(), 1U);
+    CHECK_EQ(message_value.GetListDeprecated().size(), 1U);
     HandleCertificatesRequest(std::move(send_reply_to_js_callback));
   } else if (request_type == "onSignatureRequested") {
-    CHECK_EQ(message_value.GetList().size(), 4U);
+    CHECK_EQ(message_value.GetListDeprecated().size(), 4U);
     HandleSignatureRequest(
-        /*sign_request=*/message_value.GetList()[1],
-        /*pin_status=*/message_value.GetList()[2],
-        /*pin=*/message_value.GetList()[3],
+        /*sign_request=*/message_value.GetListDeprecated()[1],
+        /*pin_status=*/message_value.GetListDeprecated()[2],
+        /*pin=*/message_value.GetListDeprecated()[3],
         std::move(send_reply_to_js_callback));
   } else {
     LOG(FATAL) << "Unexpected JS message type: " << request_type;
diff --git a/chrome/browser/ash/crostini/crostini_port_forwarder_unittest.cc b/chrome/browser/ash/crostini/crostini_port_forwarder_unittest.cc
index 2b41bcc3..305a52b 100644
--- a/chrome/browser/ash/crostini/crostini_port_forwarder_unittest.cc
+++ b/chrome/browser/ash/crostini/crostini_port_forwarder_unittest.cc
@@ -518,14 +518,15 @@
 
   // Get active ports.
   base::ListValue forwarded_ports = crostini_port_forwarder_->GetActivePorts();
-  EXPECT_EQ(forwarded_ports.GetList().size(), ports_to_add.size());
+  EXPECT_EQ(forwarded_ports.GetListDeprecated().size(), ports_to_add.size());
   for (unsigned int i = 0; i < ports_to_add.size(); i++) {
     unsigned int reverse_index = ports_to_add.size() - i - 1;
-    EXPECT_EQ(*(forwarded_ports.GetList()[i].FindPath("port_number")),
+    EXPECT_EQ(*(forwarded_ports.GetListDeprecated()[i].FindPath("port_number")),
               base::Value(ports_to_add.at(reverse_index).port_number));
-    EXPECT_EQ(*(forwarded_ports.GetList()[i].FindPath("protocol_type")),
-              base::Value(static_cast<int>(
-                  ports_to_add.at(reverse_index).protocol_type)));
+    EXPECT_EQ(
+        *(forwarded_ports.GetListDeprecated()[i].FindPath("protocol_type")),
+        base::Value(
+            static_cast<int>(ports_to_add.at(reverse_index).protocol_type)));
   }
 }
 
diff --git a/chrome/browser/ash/enhanced_network_tts/enhanced_network_tts_utils.cc b/chrome/browser/ash/enhanced_network_tts/enhanced_network_tts_utils.cc
index f679d78b..f5d4cdf 100644
--- a/chrome/browser/ash/enhanced_network_tts/enhanced_network_tts_utils.cc
+++ b/chrome/browser/ash/enhanced_network_tts/enhanced_network_tts_utils.cc
@@ -190,7 +190,7 @@
 mojom::TtsResponsePtr UnpackJsonResponse(const base::Value& json_data,
                                          const int start_index,
                                          const bool is_last_request) {
-  base::Value::ConstListView list_data = json_data.GetList();
+  base::Value::ConstListView list_data = json_data.GetListDeprecated();
 
   // Depending on the size of input text (n), the list size should be 1 + 2n.
   // The first item in the list is "metadata", then each input text has one
diff --git a/chrome/browser/ash/file_system_provider/provided_file_system_unittest.cc b/chrome/browser/ash/file_system_provider/provided_file_system_unittest.cc
index 85d0a37..23a74370 100644
--- a/chrome/browser/ash/file_system_provider/provided_file_system_unittest.cc
+++ b/chrome/browser/ash/file_system_provider/provided_file_system_unittest.cc
@@ -96,7 +96,8 @@
 
       using extensions::api::file_system_provider_internal::
           OperationRequestedSuccess::Params;
-      std::unique_ptr<Params> params(Params::Create(value_as_list.GetList()));
+      std::unique_ptr<Params> params(
+          Params::Create(value_as_list.GetListDeprecated()));
       ASSERT_TRUE(params.get());
       file_system_->GetRequestManager()->FulfillRequest(
           request_id,
diff --git a/chrome/browser/ash/guest_os/guest_os_share_path.cc b/chrome/browser/ash/guest_os/guest_os_share_path.cc
index 6ab8fcd..54d42fc 100644
--- a/chrome/browser/ash/guest_os/guest_os_share_path.cc
+++ b/chrome/browser/ash/guest_os/guest_os_share_path.cc
@@ -541,7 +541,7 @@
   CHECK(shared_paths);
   for (const auto it : shared_paths->DictItems()) {
     base::FilePath path(it.first);
-    for (const auto& vm : it.second.GetList()) {
+    for (const auto& vm : it.second.GetListDeprecated()) {
       // Register all shared paths for all VMs since we want FilePathWatchers
       // to start immediately.
       RegisterSharedPath(vm.GetString(), path);
@@ -574,7 +574,8 @@
   for (const auto it : shared_paths->DictItems()) {
     base::FilePath shared(it.first);
     auto& vms = it.second;
-    auto vm_matches = base::Contains(vms.GetList(), base::Value(vm_name));
+    auto vm_matches =
+        base::Contains(vms.GetListDeprecated(), base::Value(vm_name));
     if (path == shared) {
       already_shared = true;
       if (!vm_matches) {
@@ -635,7 +636,7 @@
     if (path != volume.mount_path() && !volume.mount_path().IsParent(path)) {
       continue;
     }
-    const auto& vms = it.second.GetList();
+    const auto& vms = it.second.GetListDeprecated();
     for (const auto& vm : vms) {
       RegisterSharedPath(vm.GetString(), path);
       if (crostini::CrostiniManager::GetForProfile(profile_)->IsVmRunning(
diff --git a/chrome/browser/ash/login/debug_overlay_browsertest.cc b/chrome/browser/ash/login/debug_overlay_browsertest.cc
index 01712140..7bf93e0 100644
--- a/chrome/browser/ash/login/debug_overlay_browsertest.cc
+++ b/chrome/browser/ash/login/debug_overlay_browsertest.cc
@@ -23,8 +23,8 @@
 
 // TODO(crbug.com/1261902): Decrease |kOobeScreensCount| and
 // |kLoginScreensCount| by 1.
-constexpr int kOobeScreensCount = 43;
-constexpr int kLoginScreensCount = 38;
+constexpr int kOobeScreensCount = 44;
+constexpr int kLoginScreensCount = 39;
 constexpr int kOsInstallScreensCount = 2;
 
 std::string ElementsInPanel(const std::string& panel) {
diff --git a/chrome/browser/ash/login/easy_unlock/easy_unlock_key_manager.cc b/chrome/browser/ash/login/easy_unlock/easy_unlock_key_manager.cc
index b77fb72..6468bf8 100644
--- a/chrome/browser/ash/login/easy_unlock/easy_unlock_key_manager.cc
+++ b/chrome/browser/ash/login/easy_unlock/easy_unlock_key_manager.cc
@@ -45,7 +45,7 @@
       base::Passed(&callback));
 
   // Private TPM key is needed only when adding new keys.
-  if (remote_devices.GetList().empty() ||
+  if (remote_devices.GetListDeprecated().empty() ||
       tpm_key_manager->PrepareTpmKey(/*check_private_key=*/false,
                                      do_refresh_keys)) {
     do_refresh_keys.Run();
@@ -169,7 +169,7 @@
     const base::ListValue& device_list,
     EasyUnlockDeviceKeyDataList* data_list) {
   EasyUnlockDeviceKeyDataList parsed_devices;
-  for (const auto& entry : device_list.GetList()) {
+  for (const auto& entry : device_list.GetListDeprecated()) {
     const base::DictionaryValue* dict;
     if (!entry.GetAsDictionary(&dict) || !dict)
       return false;
diff --git a/chrome/browser/ash/login/easy_unlock/easy_unlock_service_regular.cc b/chrome/browser/ash/login/easy_unlock/easy_unlock_service_regular.cc
index 98ada36..418fe70 100644
--- a/chrome/browser/ash/login/easy_unlock/easy_unlock_service_regular.cc
+++ b/chrome/browser/ash/login/easy_unlock/easy_unlock_service_regular.cc
@@ -282,7 +282,7 @@
 
   DictionaryPrefUpdate pairing_update(profile()->GetPrefs(),
                                       prefs::kEasyUnlockPairing);
-  if (devices.GetList().empty())
+  if (devices.GetListDeprecated().empty())
     pairing_update->RemoveKey(kKeyDevices);
   else
     pairing_update->SetKey(kKeyDevices, devices.Clone());
diff --git a/chrome/browser/ash/login/oobe_localization_browsertest.cc b/chrome/browser/ash/login/oobe_localization_browsertest.cc
index 96911fd..7a46f03d 100644
--- a/chrome/browser/ash/login/oobe_localization_browsertest.cc
+++ b/chrome/browser/ash/login/oobe_localization_browsertest.cc
@@ -73,7 +73,7 @@
 
  private:
   bool LanguageListReady() const {
-    return !welcome_screen_->language_list().GetList().empty();
+    return !welcome_screen_->language_list().GetListDeprecated().empty();
   }
 
   void CheckLanguageList() {
diff --git a/chrome/browser/ash/login/screens/recommend_apps/recommend_apps_fetcher_impl.cc b/chrome/browser/ash/login/screens/recommend_apps/recommend_apps_fetcher_impl.cc
index 9b91cc5..7a2a45dc 100644
--- a/chrome/browser/ash/login/screens/recommend_apps/recommend_apps_fetcher_impl.cc
+++ b/chrome/browser/ash/login/screens/recommend_apps/recommend_apps_fetcher_impl.cc
@@ -571,7 +571,7 @@
   }
 
   // Otherwise, the response should return a list of apps.
-  base::Value::ConstListView app_list = parsed_json.GetList();
+  base::Value::ConstListView app_list = parsed_json.GetListDeprecated();
   if (app_list.empty()) {
     DVLOG(1) << "No app in the response.";
     RecordUmaResponseParseResult(RECOMMEND_APPS_RESPONSE_PARSE_RESULT_NO_APP);
@@ -621,7 +621,8 @@
   }
 
   RecordUmaResponseParseResult(RECOMMEND_APPS_RESPONSE_PARSE_RESULT_NO_ERROR);
-  RecordUmaResponseAppCount(static_cast<int>(output.GetList().size()));
+  RecordUmaResponseAppCount(
+      static_cast<int>(output.GetListDeprecated().size()));
 
   return output;
 }
diff --git a/chrome/browser/ash/login/screens/smart_privacy_protection_screen.cc b/chrome/browser/ash/login/screens/smart_privacy_protection_screen.cc
new file mode 100644
index 0000000..9657858
--- /dev/null
+++ b/chrome/browser/ash/login/screens/smart_privacy_protection_screen.cc
@@ -0,0 +1,100 @@
+// 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 "chrome/browser/ash/login/screens/smart_privacy_protection_screen.h"
+
+#include "ash/constants/ash_features.h"
+#include "ash/constants/ash_pref_names.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h"
+#include "components/prefs/pref_service.h"
+
+namespace ash {
+namespace {
+
+constexpr const char kUserActionFeatureTurnOn[] = "continue-feature-on";
+constexpr const char kUserActionFeatureTurnOff[] = "continue-feature-off";
+constexpr const char kUserActionShowLearnMore[] = "show-learn-more";
+
+}  // namespace
+
+// static
+std::string SmartPrivacyProtectionScreen::GetResultString(Result result) {
+  switch (result) {
+    case Result::PROCEED_WITH_FEATURE_ON:
+      return "ContinueWithFeatureOn";
+    case Result::PROCEED_WITH_FEATURE_OFF:
+      return "ContinueWithFeatureOff";
+    case Result::NOT_APPLICABLE:
+      return BaseScreen::kNotApplicable;
+  }
+}
+
+SmartPrivacyProtectionScreen::SmartPrivacyProtectionScreen(
+    SmartPrivacyProtectionView* view,
+    const ScreenExitCallback& exit_callback)
+    : BaseScreen(SmartPrivacyProtectionView::kScreenId,
+                 OobeScreenPriority::DEFAULT),
+      view_(view),
+      exit_callback_(exit_callback) {
+  DCHECK(view);
+  if (view_)
+    view_->Bind(this);
+}
+
+SmartPrivacyProtectionScreen::~SmartPrivacyProtectionScreen() {
+  if (view_)
+    view_->Unbind();
+}
+
+void SmartPrivacyProtectionScreen::OnViewDestroyed(
+    SmartPrivacyProtectionView* view) {
+  if (view_ == view)
+    view_ = nullptr;
+}
+
+bool SmartPrivacyProtectionScreen::MaybeSkip(WizardContext* context) {
+  // SmartPrivacyProtectionScreen lets user set two settings simultaneously:
+  // SnoopingProtection and QuickDim. The screen should be skipped if none of
+  // them is enabled.
+  if (ash::features::IsSnoopingProtectionEnabled() ||
+      ash::features::IsQuickDimEnabled()) {
+    return false;
+  }
+  exit_callback_.Run(Result::NOT_APPLICABLE);
+  return true;
+}
+
+void SmartPrivacyProtectionScreen::ShowImpl() {
+  if (view_)
+    view_->Show();
+}
+
+void SmartPrivacyProtectionScreen::HideImpl() {
+  if (view_)
+    view_->Hide();
+}
+
+void SmartPrivacyProtectionScreen::OnUserAction(const std::string& action_id) {
+  if (action_id == kUserActionFeatureTurnOn) {
+    Profile* profile = ProfileManager::GetActiveUserProfile();
+    profile->GetPrefs()->SetBoolean(
+        prefs::kSnoopingProtectionEnabled,
+        ash::features::IsSnoopingProtectionEnabled());
+    profile->GetPrefs()->SetBoolean(prefs::kPowerQuickDimEnabled,
+                                    ash::features::IsQuickDimEnabled());
+    exit_callback_.Run(Result::PROCEED_WITH_FEATURE_ON);
+  } else if (action_id == kUserActionFeatureTurnOff) {
+    Profile* profile = ProfileManager::GetActiveUserProfile();
+    profile->GetPrefs()->SetBoolean(prefs::kSnoopingProtectionEnabled, false);
+    profile->GetPrefs()->SetBoolean(prefs::kPowerQuickDimEnabled, false);
+    exit_callback_.Run(Result::PROCEED_WITH_FEATURE_OFF);
+  } else if (action_id == kUserActionShowLearnMore) {
+    // TODO(crbug.com/1293320): add p-link once available
+  } else {
+    BaseScreen::OnUserAction(action_id);
+  }
+}
+
+}  // namespace ash
diff --git a/chrome/browser/ash/login/screens/smart_privacy_protection_screen.h b/chrome/browser/ash/login/screens/smart_privacy_protection_screen.h
new file mode 100644
index 0000000..201ecb0
--- /dev/null
+++ b/chrome/browser/ash/login/screens/smart_privacy_protection_screen.h
@@ -0,0 +1,67 @@
+// 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 CHROME_BROWSER_ASH_LOGIN_SCREENS_SMART_PRIVACY_PROTECTION_SCREEN_H_
+#define CHROME_BROWSER_ASH_LOGIN_SCREENS_SMART_PRIVACY_PROTECTION_SCREEN_H_
+
+#include <string>
+
+#include "chrome/browser/ash/login/screens/base_screen.h"
+// TODO(https://crbug.com/1164001): move to forward declaration.
+#include "chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h"
+
+namespace ash {
+
+// Class that controls OOBE screen showing smart privacy protection featrure
+// promotion.
+class SmartPrivacyProtectionScreen : public BaseScreen {
+ public:
+  using TView = SmartPrivacyProtectionView;
+
+  enum class Result {
+    PROCEED_WITH_FEATURE_ON,
+    PROCEED_WITH_FEATURE_OFF,
+    NOT_APPLICABLE,
+  };
+
+  static std::string GetResultString(Result result);
+
+  using ScreenExitCallback = base::RepeatingCallback<void(Result result)>;
+  SmartPrivacyProtectionScreen(SmartPrivacyProtectionView* view,
+                               const ScreenExitCallback& exit_callback);
+
+  SmartPrivacyProtectionScreen(const SmartPrivacyProtectionScreen&) = delete;
+  SmartPrivacyProtectionScreen& operator=(const SmartPrivacyProtectionScreen&) =
+      delete;
+
+  ~SmartPrivacyProtectionScreen() override;
+
+  // This method is called, when view is being destroyed.
+  void OnViewDestroyed(SmartPrivacyProtectionView* view);
+
+  void set_exit_callback_for_testing(const ScreenExitCallback& callback) {
+    exit_callback_ = callback;
+  }
+
+ private:
+  // BaseScreen:
+  bool MaybeSkip(WizardContext* context) override;
+  void ShowImpl() override;
+  void HideImpl() override;
+  void OnUserAction(const std::string& action_id) override;
+
+  SmartPrivacyProtectionView* view_;
+
+  ScreenExitCallback exit_callback_;
+};
+
+}  // namespace ash
+
+// TODO(https://crbug.com/1164001): remove after the //chrome/browser/chromeos
+// source migration is finished.
+namespace chromeos {
+using ::ash::SmartPrivacyProtectionScreen;
+}
+
+#endif  // CHROME_BROWSER_ASH_LOGIN_SCREENS_SMART_PRIVACY_PROTECTION_SCREEN_H_
diff --git a/chrome/browser/ash/login/screens/smart_privacy_protection_screen_browsertest.cc b/chrome/browser/ash/login/screens/smart_privacy_protection_screen_browsertest.cc
new file mode 100644
index 0000000..4c131e4
--- /dev/null
+++ b/chrome/browser/ash/login/screens/smart_privacy_protection_screen_browsertest.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 "ash/constants/ash_features.h"
+#include "ash/constants/ash_pref_names.h"
+#include "base/test/scoped_feature_list.h"
+#include "chrome/browser/ash/login/test/login_manager_mixin.h"
+#include "chrome/browser/ash/login/test/oobe_base_test.h"
+#include "chrome/browser/ash/login/test/oobe_screen_exit_waiter.h"
+#include "chrome/browser/ash/login/test/oobe_screen_waiter.h"
+#include "chrome/browser/ash/login/wizard_controller.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h"
+#include "content/public/test/browser_test.h"
+
+namespace ash {
+
+namespace {
+
+constexpr char kSmartPrivacyProtection[] = "smart-privacy-protection";
+const test::UIPath kQuickDimSection = {kSmartPrivacyProtection,
+                                       "quickDimSection"};
+const test::UIPath kSnoopingDetectionSection = {kSmartPrivacyProtection,
+                                                "snoopingDetectionSection"};
+const test::UIPath kNoThanksButton = {kSmartPrivacyProtection,
+                                      "noThanksButton"};
+const test::UIPath kTurnOnButton = {kSmartPrivacyProtection, "turnOnButton"};
+
+}  // namespace
+
+// Class to test SmartPrivacyProtection screen in OOBE. Screen promotes two
+// different features and users can either turn both of them on and proceed with
+// a kTurnOnButton or reject them together and proceed with kNoThanksButton.
+// Features are implemented under two separate feature flags. TestMode
+// represents which one of the features is enabled.
+class SmartPrivacyProtectionScreenTest
+    : public OobeBaseTest,
+      public ::testing::WithParamInterface<std::tuple<bool, bool>> {
+ public:
+  SmartPrivacyProtectionScreenTest() {
+    std::vector<base::Feature> enabled_features;
+    std::vector<base::Feature> disabled_features;
+    if (std::get<0>(GetParam())) {
+      enabled_features.push_back(features::kSnoopingProtection);
+    } else {
+      disabled_features.push_back(features::kSnoopingProtection);
+    }
+    if (std::get<1>(GetParam())) {
+      enabled_features.push_back(features::kQuickDim);
+    } else {
+      disabled_features.push_back(features::kQuickDim);
+    }
+    scoped_feature_list_.InitWithFeatures(enabled_features, disabled_features);
+  }
+
+  void SetUpOnMainThread() override {
+    SmartPrivacyProtectionScreen* smart_privacy_screen =
+        WizardController::default_controller()
+            ->GetScreen<SmartPrivacyProtectionScreen>();
+    smart_privacy_screen->set_exit_callback_for_testing(
+        base::BindRepeating(&SmartPrivacyProtectionScreenTest::HandleScreenExit,
+                            base::Unretained(this)));
+    OobeBaseTest::SetUpOnMainThread();
+  }
+
+  void ShowSmartPrivacyProtectionScreen() {
+    login_manager_mixin_.LoginAsNewRegularUser();
+    OobeScreenExitWaiter(GetFirstSigninScreen()).Wait();
+    WizardController::default_controller()->AdvanceToScreen(
+        SmartPrivacyProtectionView::kScreenId);
+  }
+
+  void WaitForScreenExit() {
+    if (result_.has_value())
+      return;
+    base::RunLoop run_loop;
+    quit_closure_ = base::BindOnce(run_loop.QuitClosure());
+    run_loop.Run();
+  }
+
+  void ExitScreenAndExpectResult(SmartPrivacyProtectionScreen::Result result) {
+    WaitForScreenExit();
+    EXPECT_TRUE(result_.has_value());
+    EXPECT_EQ(result_.value(), result);
+  }
+
+  absl::optional<SmartPrivacyProtectionScreen::Result> result_;
+
+ private:
+  void HandleScreenExit(SmartPrivacyProtectionScreen::Result result) {
+    result_ = result;
+    if (quit_closure_)
+      std::move(quit_closure_).Run();
+  }
+
+  base::OnceClosure quit_closure_;
+  base::test::ScopedFeatureList scoped_feature_list_;
+  LoginManagerMixin login_manager_mixin_{&mixin_host_};
+};
+
+IN_PROC_BROWSER_TEST_P(SmartPrivacyProtectionScreenTest, TurnOnFeature) {
+  ShowSmartPrivacyProtectionScreen();
+  bool snooping_protection_enabled = std::get<0>(GetParam());
+  bool quick_dim_enabled = std::get<1>(GetParam());
+  if (!snooping_protection_enabled && !quick_dim_enabled) {
+    ExitScreenAndExpectResult(
+        SmartPrivacyProtectionScreen::Result::NOT_APPLICABLE);
+    return;
+  }
+  OobeScreenWaiter(SmartPrivacyProtectionView::kScreenId).Wait();
+  if (snooping_protection_enabled) {
+    test::OobeJS().ExpectVisiblePath(kSnoopingDetectionSection);
+  } else {
+    test::OobeJS().ExpectHiddenPath(kSnoopingDetectionSection);
+  }
+  if (quick_dim_enabled) {
+    test::OobeJS().ExpectVisiblePath(kQuickDimSection);
+  } else {
+    test::OobeJS().ExpectHiddenPath(kQuickDimSection);
+  }
+  test::OobeJS().ClickOnPath(kTurnOnButton);
+  ExitScreenAndExpectResult(
+      SmartPrivacyProtectionScreen::Result::PROCEED_WITH_FEATURE_ON);
+  EXPECT_TRUE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
+                  prefs::kSnoopingProtectionEnabled) ==
+              snooping_protection_enabled);
+  EXPECT_TRUE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
+                  prefs::kPowerQuickDimEnabled) == quick_dim_enabled);
+}
+
+IN_PROC_BROWSER_TEST_P(SmartPrivacyProtectionScreenTest, TurnOffFeature) {
+  ShowSmartPrivacyProtectionScreen();
+  if (!std::get<0>(GetParam()) && !std::get<1>(GetParam())) {
+    ExitScreenAndExpectResult(
+        SmartPrivacyProtectionScreen::Result::NOT_APPLICABLE);
+    return;
+  }
+  OobeScreenWaiter(SmartPrivacyProtectionView::kScreenId).Wait();
+  test::OobeJS().ClickOnPath(kNoThanksButton);
+  ExitScreenAndExpectResult(
+      SmartPrivacyProtectionScreen::Result::PROCEED_WITH_FEATURE_OFF);
+  EXPECT_FALSE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
+      prefs::kSnoopingProtectionEnabled));
+  EXPECT_FALSE(ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
+      prefs::kPowerQuickDimEnabled));
+}
+
+INSTANTIATE_TEST_SUITE_P(All,
+                         SmartPrivacyProtectionScreenTest,
+                         ::testing::Combine(::testing::Bool(),
+                                            ::testing::Bool()));
+
+}  // namespace ash
diff --git a/chrome/browser/ash/login/screens/welcome_screen.cc b/chrome/browser/ash/login/screens/welcome_screen.cc
index 5679124..ccd8d9c 100644
--- a/chrome/browser/ash/login/screens/welcome_screen.cc
+++ b/chrome/browser/ash/login/screens/welcome_screen.cc
@@ -248,7 +248,7 @@
 void WelcomeScreen::SetApplicationLocale(const std::string& locale) {
   const std::string& app_locale = g_browser_process->GetApplicationLocale();
   if (app_locale == locale || locale.empty()) {
-    if (language_list_.GetList().empty())
+    if (language_list_.GetListDeprecated().empty())
       UpdateLanguageList();
     return;
   }
diff --git a/chrome/browser/ash/login/users/chrome_user_manager_impl.cc b/chrome/browser/ash/login/users/chrome_user_manager_impl.cc
index 9556821..cf6886e 100644
--- a/chrome/browser/ash/login/users/chrome_user_manager_impl.cc
+++ b/chrome/browser/ash/login/users/chrome_user_manager_impl.cc
@@ -1308,9 +1308,10 @@
   base::Value user_id_value(FullyCanonicalize(user_id));
   // TODO(crbug.com/1187106): Use base::Contains once |reporting_users| is not a
   // ListValue.
-  return !(std::find(reporting_users.GetList().begin(),
-                     reporting_users.GetList().end(),
-                     user_id_value) == reporting_users.GetList().end());
+  return !(std::find(reporting_users.GetListDeprecated().begin(),
+                     reporting_users.GetListDeprecated().end(),
+                     user_id_value) ==
+           reporting_users.GetListDeprecated().end());
 }
 
 bool ChromeUserManagerImpl::IsManagedSessionEnabledForUser(
diff --git a/chrome/browser/ash/login/wizard_controller.cc b/chrome/browser/ash/login/wizard_controller.cc
index 3408c9e..5e059cc 100644
--- a/chrome/browser/ash/login/wizard_controller.cc
+++ b/chrome/browser/ash/login/wizard_controller.cc
@@ -94,6 +94,7 @@
 #include "chrome/browser/ash/login/screens/recommend_apps_screen.h"
 #include "chrome/browser/ash/login/screens/reset_screen.h"
 #include "chrome/browser/ash/login/screens/signin_fatal_error_screen.h"
+#include "chrome/browser/ash/login/screens/smart_privacy_protection_screen.h"
 #include "chrome/browser/ash/login/screens/sync_consent_screen.h"
 #include "chrome/browser/ash/login/screens/tpm_error_screen.h"
 #include "chrome/browser/ash/login/screens/update_required_screen.h"
@@ -168,6 +169,7 @@
 #include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
+#include "chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/sync_consent_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/tpm_error_screen_handler.h"
@@ -764,6 +766,11 @@
                             weak_factory_.GetWeakPtr())));
   }
 
+  append(std::make_unique<SmartPrivacyProtectionScreen>(
+      oobe_ui->GetView<SmartPrivacyProtectionScreenHandler>(),
+      base::BindRepeating(&WizardController::OnSmartPrivacyProtectionScreenExit,
+                          weak_factory_.GetWeakPtr())));
+
   return result;
 }
 
@@ -1188,6 +1195,13 @@
   ShowFingerprintSetupScreen();
 }
 
+void WizardController::OnSmartPrivacyProtectionScreenExit(
+    SmartPrivacyProtectionScreen::Result result) {
+  OnScreenExit(SmartPrivacyProtectionView::kScreenId,
+               SmartPrivacyProtectionScreen::GetResultString(result));
+  ShowParentalHandoffScreen();
+}
+
 void WizardController::OnGuestTosScreenExit(GuestTosScreen::Result result) {
   OnScreenExit(GuestTosScreenView::kScreenId,
                GuestTosScreen::GetResultString(result));
@@ -1696,7 +1710,7 @@
     AssistantOptInFlowScreen::Result result) {
   OnScreenExit(AssistantOptInFlowScreenView::kScreenId,
                AssistantOptInFlowScreen::GetResultString(result));
-  ShowParentalHandoffScreen();
+  AdvanceToScreen(SmartPrivacyProtectionView::kScreenId);
 }
 
 void WizardController::OnMultiDeviceSetupScreenExit(
@@ -2133,7 +2147,8 @@
              screen_id == OsInstallScreenView::kScreenId ||
              screen_id == OsTrialScreenView::kScreenId ||
              screen_id == ParentalHandoffScreenView::kScreenId ||
-             screen_id == HWDataCollectionView::kScreenId) {
+             screen_id == HWDataCollectionView::kScreenId ||
+             screen_id == SmartPrivacyProtectionView::kScreenId) {
     SetCurrentScreen(GetScreen(screen_id));
   } else {
     NOTREACHED();
diff --git a/chrome/browser/ash/login/wizard_controller.h b/chrome/browser/ash/login/wizard_controller.h
index 30e46a5..c0e4706 100644
--- a/chrome/browser/ash/login/wizard_controller.h
+++ b/chrome/browser/ash/login/wizard_controller.h
@@ -52,6 +52,7 @@
 #include "chrome/browser/ash/login/screens/quick_start_screen.h"
 #include "chrome/browser/ash/login/screens/recommend_apps_screen.h"
 #include "chrome/browser/ash/login/screens/signin_fatal_error_screen.h"
+#include "chrome/browser/ash/login/screens/smart_privacy_protection_screen.h"
 #include "chrome/browser/ash/login/screens/sync_consent_screen.h"
 #include "chrome/browser/ash/login/screens/terms_of_service_screen.h"
 #include "chrome/browser/ash/login/screens/update_screen.h"
@@ -356,6 +357,8 @@
       ConsolidatedConsentScreen::Result result);
   void OnGuestTosScreenExit(GuestTosScreen::Result result);
   void OnHWDataCollectionScreenExit(HWDataCollectionScreen::Result result);
+  void OnSmartPrivacyProtectionScreenExit(
+      SmartPrivacyProtectionScreen::Result result);
 
   // Callback invoked once it has been determined whether the device is disabled
   // or not.
diff --git a/chrome/browser/ash/ownership/owner_settings_service_ash.cc b/chrome/browser/ash/ownership/owner_settings_service_ash.cc
index d16d054..b80cbcf1 100644
--- a/chrome/browser/ash/ownership/owner_settings_service_ash.cc
+++ b/chrome/browser/ash/ownership/owner_settings_service_ash.cc
@@ -495,7 +495,7 @@
         settings.mutable_device_local_accounts();
     device_local_accounts->clear_account();
     if (value.is_list()) {
-      for (const auto& entry : value.GetList()) {
+      for (const auto& entry : value.GetListDeprecated()) {
         const base::DictionaryValue* entry_dict = nullptr;
         if (entry.GetAsDictionary(&entry_dict)) {
           em::DeviceLocalAccountInfoProto* account =
@@ -590,7 +590,7 @@
     }
     DCHECK(list);
     list->Clear();
-    for (const auto& user : value.GetList()) {
+    for (const auto& user : value.GetListDeprecated()) {
       if (user.is_string()) {
         list->Add(std::string(user.GetString()));
       }
@@ -615,7 +615,7 @@
     em::FeatureFlagsProto* feature_flags = settings.mutable_feature_flags();
     feature_flags->Clear();
     if (value.is_list()) {
-      for (const auto& flag : value.GetList()) {
+      for (const auto& flag : value.GetListDeprecated()) {
         if (flag.is_string())
           feature_flags->add_feature_flags(flag.GetString());
       }
diff --git a/chrome/browser/ash/policy/handlers/configuration_policy_handler_ash.cc b/chrome/browser/ash/policy/handlers/configuration_policy_handler_ash.cc
index 3e2132ac..c04110c66 100644
--- a/chrome/browser/ash/policy/handlers/configuration_policy_handler_ash.cc
+++ b/chrome/browser/ash/policy/handlers/configuration_policy_handler_ash.cc
@@ -343,7 +343,7 @@
                                                 PrefValueMap* prefs) {
   DCHECK(filtered_list.is_list());
   std::vector<base::Value> pinned_apps_list;
-  for (const base::Value& entry : filtered_list.GetList()) {
+  for (const base::Value& entry : filtered_list.GetListDeprecated()) {
     base::Value app_dict(base::Value::Type::DICTIONARY);
     app_dict.SetKey(ChromeShelfPrefs::kPinnedAppsPrefAppIDKey, entry.Clone());
     pinned_apps_list.push_back(std::move(app_dict));
diff --git a/chrome/browser/ash/power/ml/smart_dim/ml_agent_util.cc b/chrome/browser/ash/power/ml/smart_dim/ml_agent_util.cc
index 803171e..c051f5ba 100644
--- a/chrome/browser/ash/power/ml/smart_dim/ml_agent_util.cc
+++ b/chrome/browser/ash/power/ml/smart_dim/ml_agent_util.cc
@@ -27,12 +27,13 @@
     return false;
   }
 
-  if (nodes.GetList().size() != 1 || !nodes.GetList()[0].is_int()) {
+  if (nodes.GetListDeprecated().size() != 1 ||
+      !nodes.GetListDeprecated()[0].is_int()) {
     DVLOG(1) << "nodes should contain only 1 integer element.";
     return false;
   }
 
-  name_2_node_map->emplace(names[0], nodes.GetList()[0].GetInt());
+  name_2_node_map->emplace(names[0], nodes.GetListDeprecated()[0].GetInt());
   return true;
 }
 
diff --git a/chrome/browser/ash/printing/bulk_printers_calculator.cc b/chrome/browser/ash/printing/bulk_printers_calculator.cc
index 79e86a5..b482b38 100644
--- a/chrome/browser/ash/printing/bulk_printers_calculator.cc
+++ b/chrome/browser/ash/printing/bulk_printers_calculator.cc
@@ -70,7 +70,7 @@
     return nullptr;
   }
 
-  base::Value::ConstListView printer_list = json_blob.GetList();
+  base::Value::ConstListView printer_list = json_blob.GetListDeprecated();
   if (printer_list.size() > kMaxRecords) {
     LOG(WARNING) << "Too many records in printers policy: "
                  << printer_list.size();
diff --git a/chrome/browser/ash/printing/print_servers_provider.cc b/chrome/browser/ash/printing/print_servers_provider.cc
index 2483c26..808b102 100644
--- a/chrome/browser/ash/printing/print_servers_provider.cc
+++ b/chrome/browser/ash/printing/print_servers_provider.cc
@@ -70,8 +70,8 @@
 
   std::set<std::string> print_server_ids;
   std::set<GURL> print_server_urls;
-  task_data.servers.reserve(json_blob.GetList().size());
-  for (const base::Value& val : json_blob.GetList()) {
+  task_data.servers.reserve(json_blob.GetListDeprecated().size());
+  for (const base::Value& val : json_blob.GetListDeprecated()) {
     if (!val.is_dict()) {
       LOG(WARNING) << "Entry in print servers policy skipped. "
                    << "Not a dictionary.";
diff --git a/chrome/browser/ash/psi_memory_metrics.cc b/chrome/browser/ash/psi_memory_metrics.cc
index 4227b536..cfd84c1c6 100644
--- a/chrome/browser/ash/psi_memory_metrics.cc
+++ b/chrome/browser/ash/psi_memory_metrics.cc
@@ -8,7 +8,6 @@
 
 #include <cinttypes>
 #include <map>
-#include <memory>
 #include <string>
 #include <vector>
 
@@ -97,25 +96,16 @@
       metrics::kMemPressureExclusiveMax, metrics::kMemPressureHistogramBuckets);
 }
 
-void PSIMemoryMetrics::CollectEventsAndReschedule() {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(background_sequence_checker_);
-  CollectEvents();
-  ScheduleCollector();
-}
-
 void PSIMemoryMetrics::ScheduleCollector() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(background_sequence_checker_);
-  last_timer_ = runner_->PostCancelableDelayedTask(
-      base::subtle::PostDelayedTaskPassKey(), FROM_HERE,
-      base::BindOnce(&PSIMemoryMetrics::CollectEventsAndReschedule, this),
-      collection_interval_);
+  timer_ = std::make_unique<base::RepeatingTimer>();
+  timer_->Start(FROM_HERE, collection_interval_,
+                base::BindRepeating(&PSIMemoryMetrics::CollectEvents, this));
 }
 
 void PSIMemoryMetrics::CancelTimer() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(background_sequence_checker_);
-  if (last_timer_.IsValid()) {
-    last_timer_.CancelTask();
-  }
+  timer_.reset();
 }
 
 }  // namespace ash
diff --git a/chrome/browser/ash/psi_memory_metrics.h b/chrome/browser/ash/psi_memory_metrics.h
index 7133b12..29b90c5 100644
--- a/chrome/browser/ash/psi_memory_metrics.h
+++ b/chrome/browser/ash/psi_memory_metrics.h
@@ -5,15 +5,16 @@
 #ifndef CHROME_BROWSER_ASH_PSI_MEMORY_METRICS_H_
 #define CHROME_BROWSER_ASH_PSI_MEMORY_METRICS_H_
 
+#include <memory>
 #include <string>
 #include <vector>
 
 #include "base/gtest_prod_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/sequence_checker.h"
-#include "base/task/delayed_task_handle.h"
 #include "base/task/task_runner.h"
 #include "base/time/time.h"
+#include "base/timer/timer.h"
 #include "components/metrics/psi_memory_parser.h"
 
 namespace ash {
@@ -64,10 +65,7 @@
 
   void CollectEvents();
 
-  // Calls CollectEvents and reschedules a future collection.
-  void CollectEventsAndReschedule();
-
-  // Schedules a metrics event collection in the future.
+  // Schedules a repeating timer to drive metric collection in the future.
   void ScheduleCollector();
 
   // Cancels the running timer from the same sequence the timer runs in.
@@ -82,7 +80,7 @@
   scoped_refptr<base::SequencedTaskRunner> runner_;
 
   // The timer that schedules the collection on a regular interval.
-  base::DelayedTaskHandle last_timer_
+  std::unique_ptr<base::RepeatingTimer> timer_
       GUARDED_BY_CONTEXT(background_sequence_checker_);
 
   SEQUENCE_CHECKER(background_sequence_checker_);
diff --git a/chrome/browser/ash/settings/about_flags.cc b/chrome/browser/ash/settings/about_flags.cc
index 5fdb59c0..ddcbaf1 100644
--- a/chrome/browser/ash/settings/about_flags.cc
+++ b/chrome/browser/ash/settings/about_flags.cc
@@ -47,7 +47,7 @@
     return flags;
   }
 
-  for (const auto& flag : flags_list.value().GetList()) {
+  for (const auto& flag : flags_list.value().GetListDeprecated()) {
     if (!flag.is_string()) {
       LOG(WARNING) << "Invalid entry in encoded feature flags";
       continue;
diff --git a/chrome/browser/autofill/captured_sites_test_utils.cc b/chrome/browser/autofill/captured_sites_test_utils.cc
index 20a8917..bb7f156f 100644
--- a/chrome/browser/autofill/captured_sites_test_utils.cc
+++ b/chrome/browser/autofill/captured_sites_test_utils.cc
@@ -268,7 +268,7 @@
   }
 
   std::vector<std::string> strings;
-  for (const base::Value& item : container_iter->second.GetList()) {
+  for (const base::Value& item : container_iter->second.GetListDeprecated()) {
     if (!item.is_string()) {
       if (absl::holds_alternative<base::StringPiece>(key_descriptor)) {
         ADD_FAILURE() << "Failed to extract element of '"
@@ -988,7 +988,7 @@
     return false;
   }
 
-  auto action_list = action_list_container_iter->second.GetList();
+  auto action_list = action_list_container_iter->second.GetListDeprecated();
   ExecutionState execution_state{.length =
                                      static_cast<int>(action_list.size())};
   if (command_file_path.has_value()) {
@@ -1370,7 +1370,7 @@
     return false;
   }
 
-  for (const auto& command : list_container_iter->second.GetList()) {
+  for (const auto& command : list_container_iter->second.GetListDeprecated()) {
     if (!command.is_string()) {
       ADD_FAILURE() << "command is not a string: " << command;
       return false;
@@ -1648,7 +1648,8 @@
     ADD_FAILURE() << "Failed to extract wait assertions list from action";
     return false;
   }
-  for (const base::Value& assertion : list_container_iter->second.GetList()) {
+  for (const base::Value& assertion :
+       list_container_iter->second.GetListDeprecated()) {
     if (!assertion.is_string()) {
       ADD_FAILURE() << "Assertion is not a string: " << assertion;
       return false;
diff --git a/chrome/browser/bluetooth/web_bluetooth_browsertest.cc b/chrome/browser/bluetooth/web_bluetooth_browsertest.cc
index 830bb22..3ffc1c8 100644
--- a/chrome/browser/bluetooth/web_bluetooth_browsertest.cc
+++ b/chrome/browser/bluetooth/web_bluetooth_browsertest.cc
@@ -694,7 +694,7 @@
     })())");
 
   const base::Value promise_values = js_values.ExtractList();
-  EXPECT_EQ(2U, promise_values.GetList().size());
+  EXPECT_EQ(2U, promise_values.GetListDeprecated().size());
   EXPECT_EQ(content::ListValueOf(1, 1), js_values);
 }
 
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
index b4db2cd0..12c554a 100644
--- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
@@ -155,7 +155,7 @@
 
 uint64_t GetOriginTypeMask(const base::Value& data_types) {
   uint64_t result = 0;
-  for (const auto& data_type : data_types.GetList()) {
+  for (const auto& data_type : data_types.GetListDeprecated()) {
     std::string data_type_str = data_type.GetString();
     if (data_type_str ==
         browsing_data::policy_data_types::kCookiesAndOtherSiteData) {
@@ -170,7 +170,7 @@
 
 uint64_t GetRemoveMask(const base::Value& data_types) {
   uint64_t result = 0;
-  for (const auto& data_type : data_types.GetList()) {
+  for (const auto& data_type : data_types.GetListDeprecated()) {
     std::string data_type_str = data_type.GetString();
     if (data_type_str == browsing_data::policy_data_types::kBrowsingHistory) {
       result |= chrome_browsing_data_remover::DATA_TYPE_HISTORY;
diff --git a/chrome/browser/browsing_data/counters/hosted_apps_counter.cc b/chrome/browser/browsing_data/counters/hosted_apps_counter.cc
index 3581b9db..1701376 100644
--- a/chrome/browser/browsing_data/counters/hosted_apps_counter.cc
+++ b/chrome/browser/browsing_data/counters/hosted_apps_counter.cc
@@ -9,9 +9,9 @@
 
 #include "chrome/browser/extensions/extension_special_storage_policy.h"
 #include "chrome/browser/profiles/profile.h"
+#include "components/app_constants/constants.h"
 #include "components/browsing_data/core/pref_names.h"
 #include "extensions/browser/extension_registry.h"
-#include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
 
 HostedAppsCounter::HostedAppsCounter(Profile* profile)
@@ -35,7 +35,7 @@
     // Exclude kChromeAppId because this is not a proper hosted app. It is just
     // a shortcut to launch Chrome on Chrome OS.
     if (special_storage_policy->NeedsProtection(extension.get()) &&
-        extension->id() != extension_misc::kChromeAppId) {
+        extension->id() != app_constants::kChromeAppId) {
       names.push_back(extension->short_name());
     }
   }
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 5b8ddd9..ac2038d 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -182,6 +182,7 @@
 #include "components/content_settings/core/common/content_settings.h"
 #include "components/content_settings/core/common/content_settings_types.h"
 #include "components/custom_handlers/protocol_handler_registry.h"
+#include "components/custom_handlers/protocol_handler_throttle.h"
 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.h"
 #include "components/dom_distiller/core/dom_distiller_switches.h"
 #include "components/dom_distiller/core/url_constants.h"
@@ -4579,53 +4580,6 @@
   return logging::GetLogFileName(command_line);
 }
 
-namespace {
-// TODO(jam): move this to a separate file.
-class ProtocolHandlerThrottle : public blink::URLLoaderThrottle {
- public:
-  explicit ProtocolHandlerThrottle(
-      custom_handlers::ProtocolHandlerRegistry* protocol_handler_registry)
-      : protocol_handler_registry_(protocol_handler_registry) {
-    DCHECK(protocol_handler_registry);
-  }
-  ~ProtocolHandlerThrottle() override = default;
-
-  void WillStartRequest(network::ResourceRequest* request,
-                        bool* defer) override {
-    // Don't translate the urn: scheme URL while loading the resource from the
-    // specified web bundle.
-    // TODO(https://crbug.com/1257045): Remove this when we drop urn: scheme
-    // support in WebBundles.
-    if (request->web_bundle_token_params &&
-        request->url.SchemeIs(url::kUrnScheme)) {
-      return;
-    }
-    TranslateUrl(&request->url);
-  }
-
-  void WillRedirectRequest(
-      net::RedirectInfo* redirect_info,
-      const network::mojom::URLResponseHead& response_head,
-      bool* defer,
-      std::vector<std::string>* to_be_removed_headers,
-      net::HttpRequestHeaders* modified_headers,
-      net::HttpRequestHeaders* modified_cors_exempt_headers) override {
-    TranslateUrl(&redirect_info->new_url);
-  }
-
- private:
-  void TranslateUrl(GURL* url) {
-    if (!protocol_handler_registry_->IsHandledProtocol(url->scheme()))
-      return;
-    GURL translated_url = protocol_handler_registry_->Translate(*url);
-    if (!translated_url.is_empty())
-      *url = translated_url;
-  }
-
-  raw_ptr<custom_handlers::ProtocolHandlerRegistry> protocol_handler_registry_;
-};
-}  // namespace
-
 std::vector<std::unique_ptr<blink::URLLoaderThrottle>>
 ChromeContentBrowserClient::CreateURLLoaderThrottles(
     const network::ResourceRequest& request,
@@ -4738,8 +4692,10 @@
     auto* factory =
         ProtocolHandlerRegistryFactory::GetForBrowserContext(browser_context);
     // null in unit tests.
-    if (factory)
-      result.push_back(std::make_unique<ProtocolHandlerThrottle>(factory));
+    if (factory) {
+      result.push_back(
+          std::make_unique<custom_handlers::ProtocolHandlerThrottle>(*factory));
+    }
   }
 
 #if BUILDFLAG(ENABLE_PLUGINS)
@@ -5858,6 +5814,10 @@
   }
 }
 
+std::string ChromeContentBrowserClient::GetFullUserAgent() {
+  return embedder_support::GetFullUserAgent();
+}
+
 std::string ChromeContentBrowserClient::GetReducedUserAgent() {
   return embedder_support::GetReducedUserAgent();
 }
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
index 2ccd15d..a606ff1 100644
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -638,6 +638,7 @@
   std::string GetUserAgent() override;
   std::string GetUserAgentBasedOnPolicy(
       content::BrowserContext* context) override;
+  std::string GetFullUserAgent() override;
   std::string GetReducedUserAgent() override;
   blink::UserAgentMetadata GetUserAgentMetadata() override;
 
diff --git a/chrome/browser/chrome_main_browsertest.cc b/chrome/browser/chrome_main_browsertest.cc
index 6f67f84..98759f7 100644
--- a/chrome/browser/chrome_main_browsertest.cc
+++ b/chrome/browser/chrome_main_browsertest.cc
@@ -14,6 +14,7 @@
 #include "chrome/browser/profiles/profile_attributes_entry.h"
 #include "chrome/browser/profiles/profile_attributes_storage.h"
 #include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/profiles/profile_test_util.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/browser/ui/browser_finder.h"
@@ -43,22 +44,10 @@
   }
 
   Profile* CreateProfile(const base::FilePath& basename) {
-    Profile* created_profile = nullptr;
     ProfileManager* profile_manager = g_browser_process->profile_manager();
     base::FilePath profile_path =
         profile_manager->user_data_dir().Append(basename);
-    base::RunLoop run_loop;
-    profile_manager->CreateProfileAsync(
-        profile_path, base::BindLambdaForTesting(
-                          [&run_loop, &created_profile](
-                              Profile* profile, Profile::CreateStatus status) {
-                            if (status != Profile::CREATE_STATUS_INITIALIZED)
-                              return;
-                            created_profile = profile;
-                            run_loop.Quit();
-                          }));
-    run_loop.Run();
-    return created_profile;
+    return profiles::testing::CreateProfileSync(profile_manager, profile_path);
   }
 
   // Gets the relaunch command line with the kProfileEmail switch.
diff --git a/chrome/browser/chrome_multiprofile_startup_browsertest.cc b/chrome/browser/chrome_multiprofile_startup_browsertest.cc
index 7120a1a1..f2b9d172 100644
--- a/chrome/browser/chrome_multiprofile_startup_browsertest.cc
+++ b/chrome/browser/chrome_multiprofile_startup_browsertest.cc
@@ -4,9 +4,7 @@
 
 #include <vector>
 
-#include "base/bind.h"
 #include "base/files/file_path.h"
-#include "base/run_loop.h"
 #include "base/strings/strcat.h"
 #include "base/test/bind.h"
 #include "build/build_config.h"
@@ -18,6 +16,7 @@
 #include "chrome/browser/profiles/profile_attributes_entry.h"
 #include "chrome/browser/profiles/profile_attributes_storage.h"
 #include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/profiles/profile_test_util.h"
 #include "chrome/browser/profiles/profile_window.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_finder.h"
@@ -109,16 +108,7 @@
   base::FilePath profile_path =
       profile_manager->user_data_dir().Append(profile_dir_basename);
 
-  base::RunLoop run_loop;
-  profile_manager->CreateProfileAsync(
-      profile_path,
-      base::BindLambdaForTesting(
-          [&run_loop](Profile* profile, Profile::CreateStatus status) {
-            if (status != Profile::CREATE_STATUS_INITIALIZED)
-              return;
-            run_loop.Quit();
-          }));
-  run_loop.Run();
+  profiles::testing::CreateProfileSync(profile_manager, profile_path);
 
   // Mark newly created profile as active.
   ProfileAttributesEntry* entry =
@@ -138,15 +128,9 @@
 }
 
 void CreateBrowserForProfileDir(const base::FilePath& profile_dir_basename) {
-  ProfileManager* profile_manager = g_browser_process->profile_manager();
-  base::FilePath profile_path =
-      profile_manager->user_data_dir().Append(profile_dir_basename);
-
-  base::RunLoop run_loop;
-  profiles::SwitchToProfile(
-      profile_path, /*always_create=*/true,
-      base::BindRepeating([](Profile*) {}).Then(run_loop.QuitClosure()));
-  run_loop.Run();
+  profiles::testing::SwitchToProfileSync(
+      g_browser_process->profile_manager()->user_data_dir().Append(
+          profile_dir_basename));
 }
 
 }  // namespace
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index c9be2a12..1bce0e2 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -2051,6 +2051,8 @@
     "../ash/login/screens/reset_screen.h",
     "../ash/login/screens/signin_fatal_error_screen.cc",
     "../ash/login/screens/signin_fatal_error_screen.h",
+    "../ash/login/screens/smart_privacy_protection_screen.cc",
+    "../ash/login/screens/smart_privacy_protection_screen.h",
     "../ash/login/screens/sync_consent_screen.cc",
     "../ash/login/screens/sync_consent_screen.h",
     "../ash/login/screens/terms_of_service_screen.cc",
@@ -3632,7 +3634,9 @@
   }
 
   if (enable_hibernate) {
-    deps += [ "//chromeos/dbus/hiberman" ]
+    deps += [
+      "//chromeos/dbus/hiberman",
+    ]
   }
 }
 
diff --git a/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc b/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc
index 1fe972e..6ca46cfa 100644
--- a/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc
+++ b/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc
@@ -682,7 +682,7 @@
         safe = false;
         continue;
       }
-      for (const auto& entry : it.value().GetList()) {
+      for (const auto& entry : it.value().GetListDeprecated()) {
         // Try to read as dictionary.
         const base::DictionaryValue *dict_value;
         if (entry.GetAsDictionary(&dict_value)) {
diff --git a/chrome/browser/chromeos/extensions/info_private_api.cc b/chrome/browser/chromeos/extensions/info_private_api.cc
index a03b051..b817e0aa 100644
--- a/chrome/browser/chromeos/extensions/info_private_api.cc
+++ b/chrome/browser/chromeos/extensions/info_private_api.cc
@@ -267,7 +267,7 @@
 
 ExtensionFunction::ResponseAction ChromeosInfoPrivateGetFunction::Run() {
   EXTENSION_FUNCTION_VALIDATE(!args().empty() && args()[0].is_list());
-  base::Value::ConstListView list = args()[0].GetList();
+  base::Value::ConstListView list = args()[0].GetListDeprecated();
 
   base::Value result(base::Value::Type::DICTIONARY);
   for (size_t i = 0; i < list.size(); ++i) {
diff --git a/chrome/browser/chromeos/extensions/users_private/users_private_api.cc b/chrome/browser/chromeos/extensions/users_private/users_private_api.cc
index df1abc4e..6202212 100644
--- a/chrome/browser/chromeos/extensions/users_private/users_private_api.cc
+++ b/chrome/browser/chromeos/extensions/users_private/users_private_api.cc
@@ -121,7 +121,7 @@
   // Remove all supervised users. On the next step only supervised users
   // present on the device will be added back. Thus not present SU are
   // removed. No need to remove usual users as they can simply login back.
-  base::Value::ListView email_list_view = email_list.GetList();
+  base::Value::ListView email_list_view = email_list.GetListDeprecated();
   for (size_t i = 0; i < email_list_view.size(); ++i) {
     const std::string* email = email_list_view[i].GetIfString();
     if (email && user_manager->IsDeprecatedSupervisedAccountId(
diff --git a/chrome/browser/client_hints/client_hints_browsertest.cc b/chrome/browser/client_hints/client_hints_browsertest.cc
index 59e217d..26ca9dd 100644
--- a/chrome/browser/client_hints/client_hints_browsertest.cc
+++ b/chrome/browser/client_hints/client_hints_browsertest.cc
@@ -210,6 +210,19 @@
   }
 }
 
+enum class UserAgentOriginTrialTestType {
+  UAReduction,
+  UADeprecation,
+  UAReductionAndDeprecation
+};
+
+struct UserAgentOriginTrialTestOptions {
+  bool has_ot_token = true;
+  bool valid_ot_token = true;
+  bool has_accept_ch_header = true;
+  bool has_critical_ch_header = false;
+};
+
 }  // namespace
 
 class ClientHintsBrowserTest : public policy::PolicyTest,
@@ -3145,10 +3158,10 @@
   EXPECT_EQ(prefers_color_scheme_observed(), "dark");
 }
 
-// Base class for the User-Agent reduction Origin Trial browser tests.  Common
-// functionality shared between the various UA reduction browser tests should
-// go in this class.
-class UaReducedOriginTrialBrowserTest : public InProcessBrowserTest {
+// Base class for the User-Agent reduction or deprecation Origin Trial browser
+// tests.  Common functionality shared between the various UA browser
+// tests should go in this class.
+class UaOriginTrialBrowserTest : public InProcessBrowserTest {
  public:
   void SetUpCommandLine(base::CommandLine* command_line) override {
     // The public key for the default privatey key used by the
@@ -3178,14 +3191,14 @@
         ->SetIsOverridingUserAgent(true);
   }
 
-  void CheckUaReducedClientHint(const bool ch_ua_reduced_expected) {
-    const absl::optional<std::string>& ua_reduced_client_hint =
-        GetLastUaReducedClientHintValue();
+  void CheckUaOriginTrialClientHint(const bool ch_ua_expected) {
+    const absl::optional<std::string>& ua_client_hint =
+        GetLastUaOriginTrialClientHintValue();
 
-    if (ch_ua_reduced_expected) {
-      EXPECT_THAT(ua_reduced_client_hint, Optional(Eq("?1")));
+    if (ch_ua_expected) {
+      EXPECT_THAT(ua_client_hint, Optional(Eq("?1")));
     } else {
-      EXPECT_THAT(ua_reduced_client_hint, Eq(absl::nullopt));
+      EXPECT_THAT(ua_client_hint, Eq(absl::nullopt));
     }
   }
 
@@ -3202,11 +3215,15 @@
                                expected_user_agent_reduced);
   }
 
+  // |ch_ua_reduced_expected| indicates whether expects a reduce UA string.
+  // |ch_ua_exist_expected| indicates whether the corresponding
+  // Sec-CH-UA-Reduced or Sec-CH-UA-Full  exist in header.
   void NavigateAndCheckHeaders(const GURL& url,
-                               const bool ch_ua_reduced_expected) {
+                               const bool ch_ua_reduced_expected,
+                               const bool ch_ua_exist_expected) {
     ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
 
-    CheckUaReducedClientHint(ch_ua_reduced_expected);
+    CheckUaOriginTrialClientHint(ch_ua_exist_expected);
     CheckUserAgentReduced(ch_ua_reduced_expected);
   }
 
@@ -3214,41 +3231,55 @@
   // Returns the value of the User-Agent request header from the last sent
   // request, or nullopt if the header could not be read.
   virtual const absl::optional<std::string>& GetLastUserAgentHeaderValue() = 0;
-  // Returns the value of the Sec-CH-UA-Reduced request header from the last
-  // sent request, or nullopt if the header could not be read.
+  // Returns the value of the Sec-CH-UA-Reduced or Sec-CH-UA-Full request header
+  // from the last sent request, or nullopt if the header could not be read.
   virtual const absl::optional<std::string>&
-  GetLastUaReducedClientHintValue() = 0;
+  GetLastUaOriginTrialClientHintValue() = 0;
 
  private:
   base::test::ScopedFeatureList scoped_feature_list_;
 };
 
-// Tests that the Sec-CH-UA-Reduced client hint is sent if and only if the
+// Common tests that verify
+// 1. Sec-CH-UA-Reduced client hint is sent if and only if the
 // UserAgentReduction Origin Trial token is present and valid in the response
 // headers.
+// 2. Sec-CH-UA-Full client hint is sent if and only if the
+// SendFullUserAgentAfterReduction Origin Trial token is present and valid in
+// the response headers.
 //
 // The test Origin Trial token found in the test files was generated by running
 // (in tools/origin_trials):
 // generate_token.py https://127.0.0.1:44444 UserAgentReduction
 // --expire-timestamp=2000000000
 //
+// generate_token.py https://127.0.0.1:44444 SendFullUserAgentAfterReduction
+// --expire-timestamp=2000000000
+//
 // The Origin Trial token expires in 2033.  Generate a new token by then, or
 // find a better way to re-generate a test trial token.
-class SameOriginUaReducedOriginTrialBrowserTest
-    : public UaReducedOriginTrialBrowserTest {
+class SameOriginUaOriginTrialBrowserTest
+    : public UaOriginTrialBrowserTest,
+      public testing::WithParamInterface<UserAgentOriginTrialTestType> {
  public:
-  SameOriginUaReducedOriginTrialBrowserTest() = default;
+  SameOriginUaOriginTrialBrowserTest() = default;
 
   // The URL that was used to register the Origin Trial token.
   static constexpr const char kOriginUrl[] = "https://127.0.0.1:44444";
 
+  // According to the low entropy hint table:
+  // https://wicg.github.io/client-hints-infrastructure/#low-entropy-hint-table,
+  // only 3 hints are low entropy hints
+  static constexpr const int kSecChUaLowEntropyCount = 3;
+
   void SetUpOnMainThread() override {
     // We use a URLLoaderInterceptor, rather than the EmbeddedTestServer, since
     // the origin trial token in the response is associated with a fixed
     // origin, whereas EmbeddedTestServer serves content on a random port.
     url_loader_interceptor_ =
-        URLLoaderInterceptor::ServeFilesFromDirectoryAtOrigin(
-            "chrome/test/data/client_hints", GURL(kOriginUrl));
+        std::make_unique<URLLoaderInterceptor>(base::BindRepeating(
+            &SameOriginUaOriginTrialBrowserTest::InterceptRequest,
+            base::Unretained(this)));
 
     InProcessBrowserTest::SetUpOnMainThread();
   }
@@ -3258,6 +3289,12 @@
     InProcessBrowserTest::TearDownOnMainThread();
   }
 
+  void SetTestOptions(const UserAgentOriginTrialTestOptions& test_setting,
+                      const std::set<GURL>& expected_request_urls) {
+    test_options_ = test_setting;
+    expected_request_urls_ = expected_request_urls;
+  }
+
   const absl::optional<std::string>& GetLastUserAgentHeaderValue() override {
     std::string user_agent;
     CHECK(url_loader_interceptor_->GetLastRequestHeaders().GetHeader(
@@ -3266,82 +3303,115 @@
     return last_user_agent_;
   }
 
-  const absl::optional<std::string>& GetLastUaReducedClientHintValue()
+  const absl::optional<std::string>& GetLastUaOriginTrialClientHintValue()
       override {
-    std::string ch_ua_reduced_header_value;
+    std::string ch_ua_header_value;
     if (url_loader_interceptor_->GetLastRequestHeaders().GetHeader(
-            "sec-ch-ua-reduced", &ch_ua_reduced_header_value)) {
-      last_ua_reduced_ch_ = ch_ua_reduced_header_value;
+            base::StrCat(
+                {GetParam() == UserAgentOriginTrialTestType::UAReduction
+                     ? "sec-ch-ua-reduced"
+                     : "sec-ch-ua-full"}),
+            &ch_ua_header_value)) {
+      last_ua_ch_val_ = ch_ua_header_value;
     } else {
-      last_ua_reduced_ch_ = absl::nullopt;
+      last_ua_ch_val_ = absl::nullopt;
     }
-    return last_ua_reduced_ch_;
+    return last_ua_ch_val_;
   }
 
-  GURL ua_reduced_with_valid_origin_trial_token_url() const {
-    return GURL(base::StrCat(
-        {kOriginUrl, "/accept_ch_ua_reduced_with_valid_origin_trial.html"}));
+  void CheckSecClientHintUaCount() {
+    net::HttpRequestHeaders::Iterator header_iterator(
+        url_loader_interceptor_->GetLastRequestHeaders());
+    int sec_ch_ua_count = 0;
+    while (header_iterator.GetNext()) {
+      if (base::StartsWith(header_iterator.name(), "sec-ch-ua",
+                           base::CompareCase::SENSITIVE)) {
+        ++sec_ch_ua_count;
+      }
+    }
+
+    if (GetParam() == UserAgentOriginTrialTestType::UAReductionAndDeprecation) {
+      // Two Accept-CH client hints in header: sec-ch-ua-reduced and
+      // sec-ch-ua-full.
+      EXPECT_EQ(sec_ch_ua_count, kSecChUaLowEntropyCount + 2);
+    } else {
+      // One Accept-CH client hint in header: sec-ch-ua-reduced or
+      // sec-ch-ua-full.
+      EXPECT_EQ(sec_ch_ua_count, kSecChUaLowEntropyCount + 1);
+    }
   }
 
-  GURL ua_reduced_with_invalid_origin_trial_token_url() const {
-    return GURL(base::StrCat(
-        {kOriginUrl, "/accept_ch_ua_reduced_with_invalid_origin_trial.html"}));
+  void VerifyNonAcceptCHNotAddedToHeader(const std::string& client_hint) {
+    ASSERT_FALSE(url_loader_interceptor_->GetLastRequestHeaders().HasHeader(
+        client_hint));
   }
 
-  GURL ua_reduced_with_no_origin_trial_token_url() const {
+  GURL ua_with_valid_origin_trial_token_url() const {
     return GURL(base::StrCat(
-        {kOriginUrl, "/accept_ch_ua_reduced_with_no_origin_trial.html"}));
+        {kOriginUrl, "/accept_ch_ua_with_valid_origin_trial.html"}));
   }
 
-  GURL ua_reduced_missing_with_valid_origin_trial_token_url() const {
+  GURL ua_with_invalid_origin_trial_token_url() const {
     return GURL(base::StrCat(
-        {kOriginUrl, "/accept_ch_ua_reduced_missing_valid_origin_trial.html"}));
+        {kOriginUrl, "/accept_ch_ua_with_invalid_origin_trial.html"}));
   }
 
-  GURL critical_ch_ua_reduced_with_valid_origin_trial_token_url() const {
-    return GURL(base::StrCat(
-        {kOriginUrl, "/critical_ch_ua_reduced_with_valid_origin_trial.html"}));
+  GURL ua_with_no_origin_trial_token_url() const {
+    return GURL(
+        base::StrCat({kOriginUrl, "/accept_ch_ua_with_no_origin_trial.html"}));
   }
 
-  GURL critical_ch_ua_reduced_with_invalid_origin_trial_token_url() const {
+  GURL ua_missing_with_valid_origin_trial_token_url() const {
     return GURL(base::StrCat(
-        {kOriginUrl,
-         "/critical_ch_ua_reduced_with_invalid_origin_trial.html"}));
+        {kOriginUrl, "/accept_ch_ua_missing_valid_origin_trial.html"}));
   }
 
-  GURL accept_ch_ua_reduced_subresource_request_url() const {
+  GURL critical_ch_ua_with_valid_origin_trial_token_url() const {
     return GURL(base::StrCat(
-        {kOriginUrl, "/accept_ch_ua_reduced_subresource_request.html"}));
+        {kOriginUrl, "/critical_ch_ua_with_valid_origin_trial.html"}));
   }
 
-  GURL accept_ch_ua_reduced_iframe_request_url() const {
+  GURL critical_ch_ua_with_invalid_origin_trial_token_url() const {
     return GURL(base::StrCat(
-        {kOriginUrl, "/accept_ch_ua_reduced_iframe_request.html"}));
+        {kOriginUrl, "/critical_ch_ua_with_invalid_origin_trial.html"}));
   }
 
-  GURL critical_ch_ua_reduced_subresource_request_url() const {
-    return GURL(base::StrCat(
-        {kOriginUrl, "/critical_ch_ua_reduced_subresource_request.html"}));
+  GURL accept_ch_ua_subresource_request_url() const {
+    return GURL(
+        base::StrCat({kOriginUrl, "/accept_ch_ua_subresource_request.html"}));
   }
 
-  GURL critical_ch_ua_reduced_iframe_request_url() const {
-    return GURL(base::StrCat(
-        {kOriginUrl, "/critical_ch_ua_reduced_iframe_request.html"}));
+  GURL accept_ch_ua_iframe_request_url() const {
+    return GURL(
+        base::StrCat({kOriginUrl, "/accept_ch_ua_iframe_request.html"}));
+  }
+
+  GURL critical_ch_ua_subresource_request_url() const {
+    return GURL(
+        base::StrCat({kOriginUrl, "/critical_ch_ua_subresource_request.html"}));
+  }
+
+  GURL critical_ch_ua_iframe_request_url() const {
+    return GURL(
+        base::StrCat({kOriginUrl, "/critical_ch_ua_iframe_request.html"}));
   }
 
   GURL simple_request_url() const {
     return GURL(base::StrCat({kOriginUrl, "/simple.html"}));
   }
 
+  GURL style_css_request_url() const {
+    return GURL(base::StrCat({kOriginUrl, "/style.css"}));
+  }
+
   GURL last_request_url() const {
     return url_loader_interceptor_->GetLastRequestURL();
   }
 
-  void VerifyNonAcceptCHNotAddedToHeader() {}
-
-  void NavigateTwiceAndCheckHeader(const GURL& url,
-                                   const bool ch_ua_reduced_expected,
-                                   const bool critical_ch_ua_reduced_expected) {
+  void NavigateTwiceAndCheckHeaderReduced(
+      const GURL& url,
+      const bool ch_ua_reduced_expected,
+      const bool critical_ch_ua_reduced_expected) {
     base::HistogramTester histograms;
     int reduced_count = 0;
     int full_count = 0;
@@ -3351,7 +3421,8 @@
     // Sec-CH-UA-Reduced in the first navigation request.
     const bool first_navigation_reduced_ua =
         critical_ch_ua_reduced_expected && ch_ua_reduced_expected;
-    NavigateAndCheckHeaders(url, first_navigation_reduced_ua);
+    NavigateAndCheckHeaders(url, first_navigation_reduced_ua,
+                            first_navigation_reduced_ua);
     if (first_navigation_reduced_ua) {
       ++reduced_count;
       if (critical_ch_ua_reduced_expected) {
@@ -3374,12 +3445,12 @@
     // Regardless of the Critical-CH setting, we expect the Sec-CH-UA-Reduced
     // client hint sent on the second request, if Sec-CH-UA-Reduced is set and
     // the Origin Trial token is valid.
-    NavigateAndCheckHeaders(url, ch_ua_reduced_expected);
+    NavigateAndCheckHeaders(url, ch_ua_reduced_expected,
+                            ch_ua_reduced_expected);
     // Make sure non-default client hints are not added to the request headers
     // of subresource requests. Here, we just use Sec-CH-UA-Bitness as a high
     // entropy hint to check against.
-    ASSERT_FALSE(url_loader_interceptor_->GetLastRequestHeaders().HasHeader(
-        "sec-ch-ua-bitness"));
+    VerifyNonAcceptCHNotAddedToHeader("sec-ch-ua-bitness");
     if (ch_ua_reduced_expected) {
       ++reduced_count;
     } else {
@@ -3393,48 +3464,240 @@
                                  reduced_count);
   }
 
+  void NavigateTwiceAndCheckHeaderFull(
+      const GURL& url,
+      const bool ch_ua_full_expected,
+      const bool critical_ch_ua_full_expected) {
+    base::HistogramTester histograms;
+    int full_count = 0;
+
+    // If Critical-CH is set, we expect Sec-CH-UA-Full in the first
+    // navigation request header.  If Critical-CH is not set, we don't expect
+    // Sec-CH-UA-Full in the first navigation request.
+    const bool first_navigation_full_ua =
+        critical_ch_ua_full_expected && ch_ua_full_expected;
+    // For full user agent, we never expect the ua reduced.
+    NavigateAndCheckHeaders(url, false, first_navigation_full_ua);
+
+    // TODO: Currently no matter whether it's a first navigation request or not,
+    // we always sent the full user agent string. We need to update the count
+    // logic once we fully migrate to the reduced user agent string.
+
+    // If Critical-CH was set, there will also be the initial navigation
+    // that send full UA string.
+    if (critical_ch_ua_full_expected) {
+      ++full_count;
+    }
+    ++full_count;
+
+    // The UserAgentStringType enum is not accessible in //chrome/browser, so
+    // we just use the enum's integer value.
+    histograms.ExpectBucketCount("Navigation.UserAgentStringType",
+                                 /*NavigationRequest::kFullVersion*/ 0,
+                                 full_count);
+
+    // Regardless of the Critical-CH setting, we expect the Sec-CH-UA-Full
+    // client hint sent on the second request, if Sec-CH-UA-Full is set and
+    // the Origin Trial token is valid.
+    NavigateAndCheckHeaders(url, false, ch_ua_full_expected);
+    // Make sure non-default client hints are not added to the request headers
+    // of subresource requests. Here, we just use Sec-CH-UA-Bitness as a high
+    // entropy hint to check against.
+    VerifyNonAcceptCHNotAddedToHeader("sec-ch-ua-bitness");
+
+    ++full_count;
+    histograms.ExpectBucketCount("Navigation.UserAgentStringType",
+                                 /*NavigationRequest::kFullVersion*/ 0,
+                                 full_count);
+  }
+
+  void NavigateTwiceAndCheckHeader(const GURL& url,
+                                   const bool ch_ua_exist_expected,
+                                   const bool critical_ch_ua_exist_expected) {
+    if (GetParam() == UserAgentOriginTrialTestType::UAReduction) {
+      NavigateTwiceAndCheckHeaderReduced(url, ch_ua_exist_expected,
+                                         critical_ch_ua_exist_expected);
+    } else {
+      NavigateTwiceAndCheckHeaderFull(url, ch_ua_exist_expected,
+                                      critical_ch_ua_exist_expected);
+    }
+  }
+
  private:
+  // URLLoaderInterceptor callback
+  bool InterceptRequest(URLLoaderInterceptor::RequestParams* params) {
+    if (expected_request_urls_.find(params->url_request.url) ==
+        expected_request_urls_.end())
+      return false;
+
+    std::string path = "chrome/test/data/client_hints";
+    path.append(static_cast<std::string>(params->url_request.url.path_piece()));
+
+    if (params->url_request.url.path() == "/style.css" ||
+        params->url_request.url.path() == "/simple.html") {
+      URLLoaderInterceptor::WriteResponse(path, params->client.get());
+      return true;
+    }
+    std::string headers = "HTTP/1.1 200 OK\nContent-Type: text/html\n";
+    base::StrAppend(&headers, {BuildOriginTrailHeader()});
+    URLLoaderInterceptor::WriteResponse(path, params->client.get(), &headers,
+                                        absl::nullopt,
+                                        /*url=*/params->url_request.url);
+    return true;
+  }
+
+  std::string BuildOriginTrailHeader() {
+    std::string headers;
+
+    // Generated by running (in tools/origin_trials):
+    // generate_token.py https://127.0.0.1:44444 UserAgentReduction
+    //   --expire-timestamp=2000000000
+    static constexpr char kUAReducedOriginTrialToken[] =
+        "A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+"
+        "YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcm"
+        "lnaW4iOiAiaH"
+        "R0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbn"
+        "RSZWR1Y3Rpb2"
+        "4iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=";
+
+    // Generated by running (in tools/origin_trials):
+    // generate_token.py https://127.0.0.1:44444
+    // SendFullUserAgentAfterReduction
+    //   --expire-timestamp=2000000000
+    static constexpr char kUAFullOriginTrialToken[] =
+        "A6+Ti/9KuXTgmFzOQwkTuO8k0QFH8vUaxmv0CllAET1/"
+        "307KShF6fhskMuBqFUvqO7ViAkZ+"
+        "NSeJhQI0n5aLggsAAABpeyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6"
+        "NDQ0NDQiLCAiZmVhdHVyZSI6ICJTZW5kRnVsbFVzZXJBZ2VudEFmdGVyUmVk"
+        "dWN0aW9uIiwgImV4cGlyeSI6IDIwMDAwMDAwMDB9";
+
+    switch (GetParam()) {
+      case UserAgentOriginTrialTestType::UAReduction:
+        if (test_options_.has_accept_ch_header) {
+          base::StrAppend(&headers, {"Accept-CH: ", "sec-ch-ua-reduced", "\n"});
+        }
+        if (test_options_.has_critical_ch_header) {
+          base::StrAppend(&headers,
+                          {"Critical-CH: ", "sec-ch-ua-reduced", "\n"});
+        }
+        if (test_options_.has_ot_token) {
+          base::StrAppend(&headers, {"Origin-Trial: ",
+                                     test_options_.valid_ot_token
+                                         ? kUAReducedOriginTrialToken
+                                         : "invalid",
+                                     "\n"});
+        }
+        break;
+      case UserAgentOriginTrialTestType::UADeprecation:
+        if (test_options_.has_accept_ch_header) {
+          base::StrAppend(&headers, {"Accept-CH: ", "sec-ch-ua-full", "\n"});
+        }
+        if (test_options_.has_critical_ch_header) {
+          base::StrAppend(&headers, {"Critical-CH: ", "sec-ch-ua-full", "\n"});
+        }
+        if (test_options_.has_ot_token) {
+          base::StrAppend(
+              &headers, {"Origin-Trial: ",
+                         test_options_.valid_ot_token ? kUAFullOriginTrialToken
+                                                      : "invalid",
+                         "\n"});
+        }
+        break;
+      case UserAgentOriginTrialTestType::UAReductionAndDeprecation:
+        if (test_options_.has_accept_ch_header) {
+          base::StrAppend(
+              &headers,
+              {"Accept-CH: ", "sec-ch-ua-reduced, sec-ch-ua-full", "\n"});
+        }
+        if (test_options_.has_critical_ch_header) {
+          base::StrAppend(
+              &headers,
+              {"Critical-CH: ", "sec-ch-ua-reduced, sec-ch-ua-full", "\n"});
+        }
+
+        if (test_options_.has_ot_token) {
+          base::StrAppend(
+              &headers,
+              {"Origin-Trial: ",
+               (test_options_.valid_ot_token ? kUAReducedOriginTrialToken
+                                             : "invalid"),
+               ",",
+               (test_options_.valid_ot_token ? kUAFullOriginTrialToken
+                                             : "invalid"),
+               "\n"});
+        }
+        break;
+      default:
+        break;
+    }
+    return headers;
+  }
+
   std::unique_ptr<URLLoaderInterceptor> url_loader_interceptor_;
   absl::optional<std::string> last_user_agent_;
-  absl::optional<std::string> last_ua_reduced_ch_;
+  absl::optional<std::string> last_ua_ch_val_;
+  std::set<GURL> expected_request_urls_;
+  UserAgentOriginTrialTestOptions test_options_;
 };
 
-constexpr const char SameOriginUaReducedOriginTrialBrowserTest::kOriginUrl[];
+INSTANTIATE_TEST_SUITE_P(
+    All,
+    SameOriginUaOriginTrialBrowserTest,
+    testing::Values(UserAgentOriginTrialTestType::UAReduction,
+                    UserAgentOriginTrialTestType::UADeprecation,
+                    UserAgentOriginTrialTestType::UAReductionAndDeprecation));
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       AcceptChUaReducedWithValidOriginTrialToken) {
-  NavigateTwiceAndCheckHeader(ua_reduced_with_valid_origin_trial_token_url(),
-                              /*ch_ua_reduced_expected=*/true,
-                              /*critical_ch_ua_reduced_expected=*/false);
+constexpr const char SameOriginUaOriginTrialBrowserTest::kOriginUrl[];
+constexpr const int SameOriginUaOriginTrialBrowserTest::kSecChUaLowEntropyCount;
 
-  // The Origin Trial token is valid, so we expect the reduced UA values in the
-  // Javascript getters as well.
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       AcceptChUaWithValidOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {ua_with_valid_origin_trial_token_url()});
+
+  NavigateTwiceAndCheckHeader(ua_with_valid_origin_trial_token_url(),
+                              /*ch_ua_exist_expected=*/true,
+                              /*critical_ch_ua_exist_expected=*/false);
+
+  // The Origin Trial token is valid, so we expect the reduced/full UA values in
+  // the Javascript getters as well.
   content::WebContents* web_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
   CheckUserAgentMinorVersion(
       content::EvalJs(web_contents, "navigator.userAgent").ExtractString(),
-      /*expected_user_agent_reduced=*/true);
+      /*expected_user_agent_reduced=*/GetParam() ==
+          UserAgentOriginTrialTestType::UAReduction);
   CheckUserAgentMinorVersion(
       content::EvalJs(web_contents, "navigator.appVersion").ExtractString(),
-      /*expected_user_agent_reduced=*/true);
+      /*expected_user_agent_reduced=*/GetParam() ==
+          UserAgentOriginTrialTestType::UAReduction);
   // Instead of checking all platform types, just check one that has a
   // difference between the full and reduced versions.
 #if BUILDFLAG(IS_ANDROID)
   EXPECT_EQ("Linux x86_64",
             content::EvalJs(web_contents, "navigator.platform"));
 #endif
+
+  CheckSecClientHintUaCount();
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       AcceptChUaReducedWithInvalidOriginTrialToken) {
-  // The response contained Sec-CH-UA-Reduced in the Accept-CH header, but the
-  // origin trial token is invalid.
-  NavigateTwiceAndCheckHeader(ua_reduced_with_invalid_origin_trial_token_url(),
-                              /*ch_ua_reduced_expected=*/false,
-                              /*critical_ch_ua_reduced_expected=*/false);
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       AcceptChUaWithInvalidOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/false,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {ua_with_invalid_origin_trial_token_url()});
 
-  // The Origin Trial token is invalid, so we expect the full UA values in the
-  // Javascript getters.
+  // The response contained Sec-CH-UA-Reduced or  Sec-CH-UA-Full in the
+  // Accept-CH header, but the origin trial token is invalid.
+  NavigateTwiceAndCheckHeader(ua_with_invalid_origin_trial_token_url(),
+                              /*ch_ua_exist_expected=*/false,
+                              /*critical_ch_ua_exist_expected=*/false);
+
+  // The Origin Trial token is invalid, so we expect the full UA values in
+  // the Javascript getters.
   content::WebContents* web_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
   CheckUserAgentMinorVersion(
@@ -3451,117 +3714,182 @@
 #endif
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       AcceptChUaReducedWithNoOriginTrialToken) {
-  // The response contained Sec-CH-UA-Reduced in the Accept-CH header, but the
-  // origin trial token is not present.
-  NavigateTwiceAndCheckHeader(ua_reduced_with_no_origin_trial_token_url(),
-                              /*ch_ua_reduced_expected=*/false,
-                              /*critical_ch_ua_reduced_expected=*/false);
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       AcceptChUaWithNoOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/false, /*valid_ot_token=*/false,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {ua_with_no_origin_trial_token_url()});
+
+  // The response contained Sec-CH-UA-Reduced or Sec-CH-UA-Full in the
+  // Accept-CH header, but the origin trial token is not present.
+  NavigateTwiceAndCheckHeader(ua_with_no_origin_trial_token_url(),
+                              /*ch_ua_exist_expected=*/false,
+                              /*critical_ch_ua_exist_expected=*/false);
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       NoAcceptChUaReducedWithValidOriginTrialToken) {
-  // The response contained a valid Origin Trial token, but no Sec-CH-UA-Reduced
-  // in the Accept-CH header.
-  NavigateTwiceAndCheckHeader(
-      ua_reduced_missing_with_valid_origin_trial_token_url(),
-      /*ch_ua_reduced_expected=*/false,
-      /*critical_ch_ua_reduced_expected=*/false);
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       NoAcceptChUaWithValidOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/false, /*has_critical_ch_header=*/false},
+      {ua_missing_with_valid_origin_trial_token_url()});
+
+  // The response contained a valid Origin Trial token, but no corresponding
+  // Sec-CH-UA-Reduced or Sec-CH-UA-Full in the Accept-CH header.
+  NavigateTwiceAndCheckHeader(ua_missing_with_valid_origin_trial_token_url(),
+                              /*ch_ua_exist_expected=*/false,
+                              /*critical_ch_ua_exist_expected=*/false);
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       CriticalChUaReducedWithValidOriginTrialToken) {
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       CriticalChUaWithValidOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/true},
+      {critical_ch_ua_with_valid_origin_trial_token_url()});
+
   // The initial navigation also contains the Critical-CH header, so the
-  // Sec-CH-UA-Reduced header should be set after the first navigation.
+  // corresponding Sec-CH-UA-Reduced or Sec-CH-UA-Full header should be set
+  // after the first navigation.
   NavigateTwiceAndCheckHeader(
-      critical_ch_ua_reduced_with_valid_origin_trial_token_url(),
-      /*ch_ua_reduced_expected=*/true,
-      /*critical_ch_ua_reduced_expected=*/true);
+      critical_ch_ua_with_valid_origin_trial_token_url(),
+      /*ch_ua_exist_expected=*/true,
+      /*critical_ch_ua_exist_expected=*/true);
+
+  CheckSecClientHintUaCount();
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       CriticalChUaReducedWithInvalidOriginTrialToken) {
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       CriticalChUaWithInvalidOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/false,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/true},
+      {critical_ch_ua_with_invalid_origin_trial_token_url()});
+
   // The Origin Trial token is invalid, so the Critical-CH should not have
-  // resulted in the Sec-CH-UA-Reduced header being sent.
+  // resulted in the corresponding Sec-CH-UA-Reduced or Sec-CH-UA-Full header
+  // being sent.
   NavigateTwiceAndCheckHeader(
-      critical_ch_ua_reduced_with_invalid_origin_trial_token_url(),
-      /*ch_ua_reduced_expected=*/false,
-      /*critical_ch_ua_reduced_expected=*/false);
+      critical_ch_ua_with_invalid_origin_trial_token_url(),
+      /*ch_ua_exist_expected=*/false,
+      /*critical_ch_ua_exist_expected=*/false);
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       IframeRequestUaReducedWithValidOriginTrialToken) {
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       IframeRequestUaWithValidOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {accept_ch_ua_iframe_request_url(), simple_request_url()});
+
   // The last resource request processed for this navigation will be an embedded
-  // iframe request.  Since Accept-CH has Sec-CH-UA-Reduced set on the top-level
-  // level frame's response header, along with a valid origin trial token, the
-  // iframe request should send Sec-CH-UA-Reduced and the reduced UA string in
-  // the request header.
-  NavigateAndCheckHeaders(accept_ch_ua_reduced_iframe_request_url(),
-                          /*ch_ua_reduced_expected=*/true);
+  // iframe request. Since Accept-CH has either Sec-CH-UA-Reduced or
+  // Sec-CH-UA-Full set on the top-level level frame's response header, along
+  // with a valid origin trial token, the iframe request should send the reduced
+  // UA string if Sec-CH-UA-Reduced set, or the full UA string if Sec-CH-UA-Full
+  // set in the request header.
+  NavigateAndCheckHeaders(accept_ch_ua_iframe_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
+
+  CheckSecClientHintUaCount();
+
   // Make sure the last intercepted URL was the request for the embedded iframe.
   EXPECT_EQ(last_request_url().path(), "/simple.html");
 }
 
-IN_PROC_BROWSER_TEST_F(
-    SameOriginUaReducedOriginTrialBrowserTest,
-    IframeRequestUaReducedWithValidOriginTrialTokenAndCriticalCH) {
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       IframeRequestUaWithValidOriginTrialTokenAndCriticalCH) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/true},
+      {critical_ch_ua_iframe_request_url(), simple_request_url()});
+
   // The last resource request processed for this navigation will be an embedded
-  // iframe request.  Since Accept-CH has Sec-CH-UA-Reduced set on the top-level
-  // level frame's response header, along with a valid origin trial token, the
-  // iframe request should send Sec-CH-UA-Reduced and the reduced UA string in
-  // the request header.
-  NavigateAndCheckHeaders(critical_ch_ua_reduced_iframe_request_url(),
-                          /*ch_ua_reduced_expected=*/true);
+  // iframe request. Since Accept-CH has either Sec-CH-UA-Reduced or
+  // Sec-CH-UA-Full set on the top-level level frame's response header,
+  // along with a valid origin trial token, the iframe request should send the
+  // reduced UA string if Sec-CH-UA-Reduced set, or the full UA string if
+  // Sec-CH-UA-Full set in the request header.
+  NavigateAndCheckHeaders(critical_ch_ua_iframe_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
+
+  CheckSecClientHintUaCount();
+
   // Make sure the last intercepted URL was the request for the embedded iframe.
   EXPECT_EQ(last_request_url().path(), "/simple.html");
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       SubresourceRequestUaReducedWithValidOriginTrialToken) {
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       SubresourceRequestUaWithValidOriginTrialToken) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {accept_ch_ua_subresource_request_url(), style_css_request_url()});
+
   // The last resource request processed for this navigation will be a
   // subresource request for the stylesheet.  Since Accept-CH has
-  // Sec-CH-UA-Reduced set on the top-level level frame's response header, along
-  // with a valid origin trial token, the subresource request should send
-  // Sec-CH-UA-Reduced and the reduced UA string in the request header.
-  NavigateAndCheckHeaders(accept_ch_ua_reduced_subresource_request_url(),
-                          /*ch_ua_reduced_expected=*/true);
+  // either Sec-CH-UA-Reduced or Sec-CH-UA-Full set on the top-level
+  // level frame's response header, along with a valid origin trial token, the
+  // subresource request should send the reduced UA string if Sec-CH-UA-Reduced
+  // set, or the full UA string if Sec-CH-UA-Full set in the request header.
+  NavigateAndCheckHeaders(accept_ch_ua_subresource_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
   // Make sure the last intercepted URL was the subresource request for the
   // embedded stylesheet.
   EXPECT_EQ(last_request_url().path(), "/style.css");
 }
 
-IN_PROC_BROWSER_TEST_F(
-    SameOriginUaReducedOriginTrialBrowserTest,
-    SubresourceRequestUaReducedWithValidOriginTrialTokenAndCriticalCH) {
+IN_PROC_BROWSER_TEST_P(
+    SameOriginUaOriginTrialBrowserTest,
+    SubresourceRequestUaWithValidOriginTrialTokenAndCriticalCH) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/true},
+      {critical_ch_ua_subresource_request_url(), style_css_request_url()});
+
   // The last resource request processed for this navigation will be a
   // subresource request for the stylesheet.  Since Accept-CH has
-  // Sec-CH-UA-Reduced set on the top-level level frame's response header, along
-  // with a valid origin trial token, the subresource request should send
-  // Sec-CH-UA-Reduced and the reduced UA string in the request header.
-  NavigateAndCheckHeaders(critical_ch_ua_reduced_subresource_request_url(),
-                          /*ch_ua_reduced_expected=*/true);
+  // either Sec-CH-UA-Reduced or Sec-CH-UA-Full set on the top-level level
+  // frame's response header, along with a valid origin trial token, the
+  // subresource request should send the reduced UA string Sec-CH-UA-Reduced
+  // set, or the full UA string if Sec-CH-UA-Full set in the request header.
+  NavigateAndCheckHeaders(critical_ch_ua_subresource_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
   // Make sure the last intercepted URL was the subresource request for the
   // embedded stylesheet.
   EXPECT_EQ(last_request_url().path(), "/style.css");
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       UserAgentOverrideAcceptChUaReduced) {
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       UserAgentOverrideAcceptChUa) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {ua_with_valid_origin_trial_token_url()});
+
   base::HistogramTester histograms;
   const std::string user_agent_override = "foo";
   SetUserAgentOverride(user_agent_override);
 
-  const GURL url = ua_reduced_with_valid_origin_trial_token_url();
+  const GURL url = ua_with_valid_origin_trial_token_url();
   // First navigation to set the client hints in the response.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
-  // Second navigation has the Sec-CH-UA-Reduced client hint stored from the
-  // first navigation's response.
+  // Second navigation has either Sec-CH-UA-Reduced or Sec-CH-UA-Full client
+  // hint stored from the first navigation's response.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
 
   // Since the UA override was set, the UA client hints are *not* added to the
   // request.
-  CheckUaReducedClientHint(/*ch_ua_reduced_expected=*/false);
+  CheckUaOriginTrialClientHint(/*ch_ua_expected=*/false);
   // Make sure the overridden UA string is the one sent.
   CheckUserAgentString(user_agent_override);
 
@@ -3571,73 +3899,94 @@
                                /*NavigationRequest::kOverridden*/ 2, 2);
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
                        UserAgentOverrideSubresourceRequest) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {accept_ch_ua_subresource_request_url()});
+
   const std::string user_agent_override = "foo";
   SetUserAgentOverride(user_agent_override);
 
-  const GURL url = accept_ch_ua_reduced_subresource_request_url();
+  const GURL url = accept_ch_ua_subresource_request_url();
   // First navigation to set the client hints in the response.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
-  // Second navigation has the Sec-CH-UA-Reduced client hint stored from the
-  // first navigation's response.
+  // Second navigation has either Sec-CH-UA-Reduced or Sec-CH-UA-Full client
+  // hint stored from the first navigation's response.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
 
   // Since the UA override was set, the UA client hints are *not* added to the
   // request.
-  CheckUaReducedClientHint(/*ch_ua_reduced_expected=*/false);
+  CheckUaOriginTrialClientHint(/*ch_ua_expected=*/false);
   // Make sure the overridden UA string is the one sent.
   CheckUserAgentString(user_agent_override);
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
                        UserAgentOverrideIframeRequest) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {accept_ch_ua_iframe_request_url()});
+
   const std::string user_agent_override = "foo";
   SetUserAgentOverride(user_agent_override);
 
-  const GURL url = accept_ch_ua_reduced_iframe_request_url();
+  const GURL url = accept_ch_ua_iframe_request_url();
   // First navigation to set the client hints in the response.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
-  // Second navigation has the Sec-CH-UA-Reduced client hint stored from the
-  // first navigation's response.
+  // Second navigation has either Sec-CH-UA-Reduced or Sec-CH-UA-Full client
+  // hint stored from the first navigation's response.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
 
   // Since the UA override was set, the UA client hints are *not* added to the
   // request.
-  CheckUaReducedClientHint(/*ch_ua_reduced_expected=*/false);
+  CheckUaOriginTrialClientHint(/*ch_ua_expected=*/false);
   // Make sure the overridden UA string is the one sent.
   CheckUserAgentString(user_agent_override);
 }
 
-IN_PROC_BROWSER_TEST_F(SameOriginUaReducedOriginTrialBrowserTest,
-                       NoAcceptCHRemovesSecChUaReducedFromStorage) {
-  // The first navigation sets Sec-CH-UA-Reduced in the client hints storage for
-  // the origin.
-  NavigateAndCheckHeaders(ua_reduced_with_valid_origin_trial_token_url(),
-                          /*ch_ua_reduced_expected=*/false);
-  // The second navigation doesn't contain an Accept-CH header in the response,
-  // so Sec-CH-UA-Reduced is removed from the storage.
+IN_PROC_BROWSER_TEST_P(SameOriginUaOriginTrialBrowserTest,
+                       NoAcceptCHRemovesSecChUaFromStorage) {
+  SetTestOptions(
+      {/*has_ot_token=*/true, /*valid_ot_token=*/true,
+       /*has_accept_ch_header=*/true, /*has_critical_ch_header=*/false},
+      {ua_with_valid_origin_trial_token_url(), simple_request_url()});
+
+  // The first navigation sets Sec-CH-UA-Reduced/Sec-CH-UA-Full in the client
+  // hints storage for the origin.
+  NavigateAndCheckHeaders(ua_with_valid_origin_trial_token_url(),
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
+  // The second navigation doesn't contain an Accept-CH header in the
+  // response, so Sec-CH-UA-Reduced/Sec-CH-UA-Full is removed from the storage.
   NavigateAndCheckHeaders(simple_request_url(),
-                          /*ch_ua_reduced_expected=*/true);
-  // The third navigation doesn't contain a Sec-CH-UA-Reduced in the request
-  // header because the second navigation caused it to get removed.
-  NavigateAndCheckHeaders(ua_reduced_with_valid_origin_trial_token_url(),
-                          /*ch_ua_reduced_expected=*/false);
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
+  // The third navigation doesn't contain a Sec-CH-UA-Reduced/Sec-CH-UA-Full
+  // in the request header because the second navigation caused it to get
+  // removed.
+  NavigateAndCheckHeaders(ua_with_valid_origin_trial_token_url(),
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
 }
 
-// Tests that the Sec-CH-UA-Reduced client hint and the reduced User-Agent
-// string are sent on request headers for third-party embedded resources if the
-// Origin Trial token from the top-level frame is valid and the permissions
-// policy allows it.
-class ThirdPartyUaReducedOriginTrialBrowserTest
-    : public UaReducedOriginTrialBrowserTest {
+// Tests that the Sec-CH-UA-Reduced or Sec-CH-UA-Full client hint and the
+// reduced User-Agent string are sent on request headers for third-party
+// embedded resources if the Origin Trial token from the top-level frame is
+// valid and the permissions policy allows it.
+class ThirdPartyUaOriginTrialBrowserTest
+    : public UaOriginTrialBrowserTest,
+      public testing::WithParamInterface<UserAgentOriginTrialTestType> {
  public:
-  ThirdPartyUaReducedOriginTrialBrowserTest()
+  ThirdPartyUaOriginTrialBrowserTest()
       : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
     https_server_.ServeFilesFromSourceDirectory(
         "chrome/test/data/client_hints");
     https_server_.RegisterRequestMonitor(base::BindRepeating(
-        &ThirdPartyUaReducedOriginTrialBrowserTest::MonitorResourceRequest,
+        &ThirdPartyUaOriginTrialBrowserTest::MonitorResourceRequest,
         base::Unretained(this)));
     EXPECT_TRUE(https_server_.Start());
   }
@@ -3648,12 +3997,12 @@
   void SetUpOnMainThread() override {
     InProcessBrowserTest::SetUpOnMainThread();
 
-    // We use a URLLoaderInterceptor, rather than the EmbeddedTestServer, since
-    // the origin trial token in the response is associated with a fixed
+    // We use a URLLoaderInterceptor, rather than the EmbeddedTestServer,
+    // since the origin trial token in the response is associated with a fixed
     // origin, whereas EmbeddedTestServer serves content on a random port.
     url_loader_interceptor_ =
         std::make_unique<URLLoaderInterceptor>(base::BindRepeating(
-            &ThirdPartyUaReducedOriginTrialBrowserTest::InterceptRequest,
+            &ThirdPartyUaOriginTrialBrowserTest::InterceptRequest,
             base::Unretained(this)));
   }
 
@@ -3662,16 +4011,16 @@
     InProcessBrowserTest::TearDownOnMainThread();
   }
 
-  GURL accept_ch_ua_reduced_cross_origin_iframe_request_url() const {
-    return GURL(base::StrCat(
-        {kFirstPartyOriginUrl,
-         "/accept_ch_ua_reduced_cross_origin_iframe_request.html"}));
+  GURL accept_ch_ua_cross_origin_iframe_request_url() const {
+    return GURL(
+        base::StrCat({kFirstPartyOriginUrl,
+                      "/accept_ch_ua_cross_origin_iframe_request.html"}));
   }
 
-  GURL accept_ch_ua_reduced_cross_origin_subresource_request_url() const {
-    return GURL(base::StrCat(
-        {kFirstPartyOriginUrl,
-         "/accept_ch_ua_reduced_cross_origin_subresource_request.html"}));
+  GURL accept_ch_ua_cross_origin_subresource_request_url() const {
+    return GURL(
+        base::StrCat({kFirstPartyOriginUrl,
+                      "/accept_ch_ua_cross_origin_subresource_request.html"}));
   }
 
  protected:
@@ -3680,10 +4029,10 @@
     return last_user_agent_;
   }
 
-  const absl::optional<std::string>& GetLastUaReducedClientHintValue()
+  const absl::optional<std::string>& GetLastUaOriginTrialClientHintValue()
       override {
     base::AutoLock lock(last_request_lock_);
-    return last_sec_ch_ua_reduced_;
+    return last_sec_ch_ua_value_;
   }
 
   const absl::optional<GURL>& GetLastRequestedURL() {
@@ -3691,8 +4040,8 @@
     return last_requested_url_;
   }
 
-  void SetUaReducedPermissionsPolicy(const std::string& value) {
-    ua_reduced_permissions_policy_header_value_ = value;
+  void SetUaPermissionsPolicy(const std::string& value) {
+    ua_permissions_policy_header_value_ = value;
   }
 
   void SetValidOTToken(const bool valid_ot_token) {
@@ -3709,9 +4058,10 @@
       return false;
     }
     if (params->url_request.url.path() !=
-            "/accept_ch_ua_reduced_cross_origin_iframe_request.html" &&
+            base::StrCat({"/accept_ch_ua_cross_origin_iframe_request.html"}) &&
         params->url_request.url.path() !=
-            "/accept_ch_ua_reduced_cross_origin_subresource_request.html") {
+            base::StrCat(
+                {"/accept_ch_ua_cross_origin_subresource_request.html"})) {
       return false;
     }
 
@@ -3721,32 +4071,59 @@
     //
     // The Origin Trial token expires in 2033.  Generate a new token by then, or
     // find a better way to re-generate a test trial token.
-    static constexpr const char kOriginTrialToken[] =
+    static constexpr const char kOriginTrialTokenReduced[] =
         "AziP2Iyo74PHkJAVVXJ1NBAyZd+"
         "GZFmTqpFtug4Wazsj5rQPFeCFjjZpiEYb086vZzi48lF1ydynMj/"
         "oLqqLXgEAAABeeyJvcmlnaW4iOiAiaHR0cHM6Ly9teS1zaXRlLmNvbTo0NDQ0NCIsICJmZ"
         "WF0dXJlIjogIlVzZXJBZ2VudFJlZHVjdGlvbiIsICJleHBpcnkiOiAyMDAwMDAwMDAwfQ="
         "=";
 
+    // Generated by running (in tools/origin_trials):
+    // generate_token.py https://my-site.com:44444
+    // SendFullUserAgentAfterReduction --expire-timestamp=2000000000
+    //
+    // The Origin Trial token expires in 2033.  Generate a new token by then,
+    // or find a better way to re-generate a test trial token.
+    static constexpr const char kOriginTrialTokenFull[] =
+        "A/qRZSBJ/"
+        "wuh1vOPO1X3x79VvjXlKiWldDIX0ra1iQf2FBB7yHPCQ3rEEHOc8S0cnWUG8as1k98sUyV"
+        "xGawmmggAAABreyJvcmlnaW4iOiAiaHR0cHM6Ly9teS1zaXRlLmNvbTo0NDQ0NCIsICJmZ"
+        "WF0dXJlIjogIlNlbmRGdWxsVXNlckFnZW50QWZ0ZXJSZWR1Y3Rpb24iLCAiZXhwaXJ5Ijo"
+        "gMjAwMDAwMDAwMH0=";
+
     // Construct and send the response.
     std::string headers =
         "HTTP/1.1 200 OK\nContent-Type: text/html; charset=utf-8\n";
-    base::StrAppend(&headers, {"Accept-CH: Sec-CH-UA-Reduced\n"});
     base::StrAppend(&headers,
-                    {"Permissions-Policy: ch-ua-reduced=",
-                     ua_reduced_permissions_policy_header_value_, "\n"});
-    base::StrAppend(&headers, {"Origin-Trial: ",
-                               valid_ot_token_ ? kOriginTrialToken
-                                               : "invalid-origin-trial-token",
-                               "\n\n"});
+                    {"Accept-CH: ",
+                     GetParam() == UserAgentOriginTrialTestType::UAReduction
+                         ? "Sec-CH-UA-Reduced"
+                         : "Sec-CH-UA-Full",
+                     "\n"});
+    base::StrAppend(&headers,
+                    {"Permissions-Policy: ",
+                     GetParam() == UserAgentOriginTrialTestType::UAReduction
+                         ? "ch-ua-reduced="
+                         : "ch-ua-full=",
+                     ua_permissions_policy_header_value_, "\n"});
+
+    base::StrAppend(
+        &headers,
+        {"Origin-Trial: ",
+         valid_ot_token_
+             ? (GetParam() == UserAgentOriginTrialTestType::UAReduction
+                    ? kOriginTrialTokenReduced
+                    : kOriginTrialTokenFull)
+             : "invalid-origin-trial-token",
+         "\n\n"});
     std::string body = "<html><head>";
     if (params->url_request.url.path() ==
-        "/accept_ch_ua_reduced_cross_origin_subresource_request.html") {
+        base::StrCat({"/accept_ch_ua_cross_origin_subresource_request.html"})) {
       base::StrAppend(&body, {BuildSubresourceHTML()});
     }
     base::StrAppend(&body, {"</head><body>"});
     if (params->url_request.url.path() ==
-        "/accept_ch_ua_reduced_cross_origin_iframe_request.html") {
+        base::StrCat({"/accept_ch_ua_cross_origin_iframe_request.html"})) {
       base::StrAppend(&body, {BuildIframeHTML()});
     }
     base::StrAppend(&body, {"</body></html>"});
@@ -3763,12 +4140,12 @@
     }
   }
 
-  void SetLastSecChUaReduced(const std::string* value) {
+  void SetLastSecChUaValue(const std::string* value) {
     base::AutoLock lock(last_request_lock_);
     if (value != nullptr) {
-      last_sec_ch_ua_reduced_ = *value;
+      last_sec_ch_ua_value_ = *value;
     } else {
-      last_sec_ch_ua_reduced_ = absl::nullopt;
+      last_sec_ch_ua_value_ = absl::nullopt;
     }
   }
 
@@ -3782,8 +4159,11 @@
     SetLastRequestedURL(request.GetURL());
     auto it = request.headers.find("user-agent");
     SetLastUserAgent(it != request.headers.end() ? &it->second : nullptr);
-    it = request.headers.find("sec-ch-ua-reduced");
-    SetLastSecChUaReduced(it != request.headers.end() ? &it->second : nullptr);
+    it = request.headers.find(
+        base::StrCat({GetParam() == UserAgentOriginTrialTestType::UAReduction
+                          ? "sec-ch-ua-reduced"
+                          : "sec-ch-ua-full"}));
+    SetLastSecChUaValue(it != request.headers.end() ? &it->second : nullptr);
   }
 
   std::string BuildIframeHTML() {
@@ -3802,115 +4182,138 @@
 
   std::unique_ptr<URLLoaderInterceptor> url_loader_interceptor_;
   net::EmbeddedTestServer https_server_;
-  std::string ua_reduced_permissions_policy_header_value_;
+  std::string ua_permissions_policy_header_value_;
   bool valid_ot_token_ = true;
   base::Lock last_request_lock_;
   absl::optional<std::string> last_user_agent_ GUARDED_BY(last_request_lock_);
-  absl::optional<std::string> last_sec_ch_ua_reduced_
+  absl::optional<std::string> last_sec_ch_ua_value_
       GUARDED_BY(last_request_lock_);
   absl::optional<GURL> last_requested_url_ GUARDED_BY(last_request_lock_);
 };
 
-constexpr const char
-    ThirdPartyUaReducedOriginTrialBrowserTest::kFirstPartyOriginUrl[];
+INSTANTIATE_TEST_SUITE_P(
+    All,
+    ThirdPartyUaOriginTrialBrowserTest,
+    testing::Values(UserAgentOriginTrialTestType::UAReduction,
+                    UserAgentOriginTrialTestType::UADeprecation,
+                    UserAgentOriginTrialTestType::UAReductionAndDeprecation));
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyUaReducedOriginTrialBrowserTest,
-                       ThirdPartyIframeUaReducedWildcardPolicy) {
-  SetUaReducedPermissionsPolicy("*");  // Allow all third-party sites.
+constexpr const char ThirdPartyUaOriginTrialBrowserTest::kFirstPartyOriginUrl[];
 
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_iframe_request_url(),
-      /*ch_ua_reduced_expected=*/true);
+IN_PROC_BROWSER_TEST_P(ThirdPartyUaOriginTrialBrowserTest,
+                       ThirdPartyIframeUaWildcardPolicy) {
+  SetUaPermissionsPolicy("*");  // Allow all third-party sites.
 
-  // Make sure the last intercepted URL was the request for the embedded iframe.
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_iframe_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
+
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
   EXPECT_EQ(GetLastRequestedURL()->path(), "/simple.html");
 }
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyUaReducedOriginTrialBrowserTest,
-                       ThirdPartySubresourceUaReducedWithWildcardPolicy) {
-  SetUaReducedPermissionsPolicy("*");  // Allow all third-party sites.
+IN_PROC_BROWSER_TEST_P(ThirdPartyUaOriginTrialBrowserTest,
+                       ThirdPartySubresourceUaWithWildcardPolicy) {
+  SetUaPermissionsPolicy("*");  // Allow all third-party sites.
 
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_subresource_request_url(),
-      /*ch_ua_reduced_expected=*/true);
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_subresource_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
 
-  // Make sure the last intercepted URL was the request for the embedded iframe.
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
   EXPECT_EQ(GetLastRequestedURL()->path(), "/style.css");
 }
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyUaReducedOriginTrialBrowserTest,
-                       ThirdPartyIframeUaReducedSpecificPolicy) {
+IN_PROC_BROWSER_TEST_P(ThirdPartyUaOriginTrialBrowserTest,
+                       ThirdPartyIframeUaSpecificPolicy) {
   std::string policy = "(self \"";
   base::StrAppend(&policy, {GetServerOrigin().spec(), "\")"});
-  SetUaReducedPermissionsPolicy(policy);  // Allow our third-party site only.
+  SetUaPermissionsPolicy(policy);  // Allow our third-party site only.
 
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_iframe_request_url(),
-      /*ch_ua_reduced_expected=*/true);
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_iframe_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
 
-  // Make sure the last intercepted URL was the request for the embedded iframe.
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
   EXPECT_EQ(GetLastRequestedURL()->path(), "/simple.html");
 }
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyUaReducedOriginTrialBrowserTest,
-                       ThirdPartySubresourceUaReducedSpecificPolicy) {
+IN_PROC_BROWSER_TEST_P(ThirdPartyUaOriginTrialBrowserTest,
+                       ThirdPartySubresourceUaSpecificPolicy) {
   std::string policy = "(self \"";
   base::StrAppend(&policy, {GetServerOrigin().spec(), "\")"});
-  SetUaReducedPermissionsPolicy(policy);  // Allow our third-party site only.
+  SetUaPermissionsPolicy(policy);  // Allow our third-party site only.
 
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_subresource_request_url(),
-      /*ch_ua_reduced_expected=*/true);
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_subresource_request_url(),
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
 
-  // Make sure the last intercepted URL was the request for the embedded iframe.
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
   EXPECT_EQ(GetLastRequestedURL()->path(), "/style.css");
 }
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyUaReducedOriginTrialBrowserTest,
-                       ThirdPartyIframeUaReducedInvalidOriginTrialToken) {
-  SetUaReducedPermissionsPolicy("*");  // Allow all third-party sites.
-  SetValidOTToken(false);              // Origin Trial Token is invalid.
+IN_PROC_BROWSER_TEST_P(ThirdPartyUaOriginTrialBrowserTest,
+                       ThirdPartyIframeUaInvalidOriginTrialToken) {
+  SetUaPermissionsPolicy("*");  // Allow all third-party sites.
+  SetValidOTToken(false);       // Origin Trial Token is invalid.
 
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_iframe_request_url(),
-      /*ch_ua_reduced_expected=*/false);
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_iframe_request_url(),
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
 
-  // Make sure the last intercepted URL was the request for the embedded iframe.
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
   EXPECT_EQ(GetLastRequestedURL()->path(), "/simple.html");
 }
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyUaReducedOriginTrialBrowserTest,
-                       ThirdPartySubresourceUaReducedInvalidOriginTrialToken) {
-  SetUaReducedPermissionsPolicy("*");  // Allow all third-party sites.
-  SetValidOTToken(false);              // Origin Trial Token is invalid.
+IN_PROC_BROWSER_TEST_P(ThirdPartyUaOriginTrialBrowserTest,
+                       ThirdPartySubresourceUaInvalidOriginTrialToken) {
+  SetUaPermissionsPolicy("*");  // Allow all third-party sites.
+  SetValidOTToken(false);       // Origin Trial Token is invalid.
 
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_subresource_request_url(),
-      /*ch_ua_reduced_expected=*/false);
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_subresource_request_url(),
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
 
-  // Make sure the last intercepted URL was the request for the embedded iframe.
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
   EXPECT_EQ(GetLastRequestedURL()->path(), "/style.css");
 }
 
 // A test fixture for setting Accept-CH and Origin-Trial response headers for
 // third-party embeds.  This suite of tests ensures that third-party embeds
-// with Sec-CH-UA-Reduced and a valid Origin Trial token send a reduced UA
-// string in the User-Agent header, even if the top-level page is not enrolled
-// in the UA reduction origin trial.
+// with Sec-CH-UA-Reduced or Sec-CH-UA-Full and a valid Origin Trial token send
+// the reduced UA string if Sec-CH-UA-Reduced set, or the full UA string if
+// Sec-CH-UA-Full set in the request header, even if the top-level page is
+// not enrolled in the UA reduction origin trial.
 //
-// The Origin Trial token in the header files were generated by running (in
-// tools/origin_trials):
-// generate_token.py https://my-site.com:44444 UserAgentReduction
+// The Origin Trial token for UserAgentReduction in the header files were
+// generated by running (in tools/origin_trials): generate_token.py
+// https://my-site.com:44444 UserAgentReduction
 //   --is-third-party --expire-timestamp=2000000000
-class ThirdPartyAcceptChUaReducedOriginTrialBrowserTest
-    : public UaReducedOriginTrialBrowserTest {
+//
+// The Origin Trial token for SendFullUserAgentAfterReduction in the header
+// files were generated by running (in tools/origin_trials): generate_token.py
+// https://my-site.com:44444 SendFullUserAgentAfterReduction
+//   --is-third-party --expire-timestamp=2000000000
+class ThirdPartyAcceptChUaOriginTrialBrowserTest
+    : public UaOriginTrialBrowserTest,
+      public testing::WithParamInterface<UserAgentOriginTrialTestType> {
  public:
-  ThirdPartyAcceptChUaReducedOriginTrialBrowserTest()
+  ThirdPartyAcceptChUaOriginTrialBrowserTest()
       : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
     https_server_.ServeFilesFromSourceDirectory(
         "chrome/test/data/client_hints");
     https_server_.RegisterRequestMonitor(base::BindRepeating(
-        &ThirdPartyAcceptChUaReducedOriginTrialBrowserTest::MonitorRequest,
+        &ThirdPartyAcceptChUaOriginTrialBrowserTest::MonitorRequest,
         base::Unretained(this)));
     EXPECT_TRUE(https_server_.Start());
   }
@@ -3925,10 +4328,10 @@
     // the third-party requests, since the origin trial token in the response
     // is associated with a fixed origin, whereas EmbeddedTestServer serves
     // content on a random port.
-    url_loader_interceptor_ = std::make_unique<
-        URLLoaderInterceptor>(base::BindRepeating(
-        &ThirdPartyAcceptChUaReducedOriginTrialBrowserTest::InterceptRequest,
-        base::Unretained(this)));
+    url_loader_interceptor_ =
+        std::make_unique<URLLoaderInterceptor>(base::BindRepeating(
+            &ThirdPartyAcceptChUaOriginTrialBrowserTest::InterceptRequest,
+            base::Unretained(this)));
   }
 
   void TearDownOnMainThread() override {
@@ -3936,18 +4339,19 @@
     InProcessBrowserTest::TearDownOnMainThread();
   }
 
-  GURL accept_ch_ua_reduced_cross_origin_iframe_request_url() const {
-    return https_server_.GetURL(
-        "/accept_ch_ua_reduced_cross_origin_iframe_with_ot_request.html");
+  GURL accept_ch_ua_cross_origin_iframe_request_url() const {
+    return https_server_.GetURL(base::StrCat(
+        {"/accept_ch_ua_cross_origin_iframe_with_ot_request.html"}));
   }
 
-  GURL accept_ch_ua_reduced_cross_origin_iframe_with_subrequests_url() const {
-    return https_server_.GetURL(
-        "/accept_ch_ua_reduced_cross_origin_iframe_with_subrequests.html");
+  GURL accept_ch_ua_cross_origin_iframe_with_subrequests_url() const {
+    return https_server_.GetURL(base::StrCat(
+        {"/accept_ch_ua_cross_origin_iframe_with_subrequests.html"}));
   }
 
   GURL top_level_with_iframe_redirect_url() const {
-    return https_server_.GetURL("/top_level_with_iframe_redirect.html");
+    return https_server_.GetURL(
+        base::StrCat({"/top_level_with_iframe_redirect.html"}));
   }
 
  protected:
@@ -3956,10 +4360,10 @@
     return last_user_agent_;
   }
 
-  const absl::optional<std::string>& GetLastUaReducedClientHintValue()
+  const absl::optional<std::string>& GetLastUaOriginTrialClientHintValue()
       override {
     base::AutoLock lock(last_request_lock_);
-    return last_sec_ch_ua_reduced_;
+    return last_sec_ch_ua_vaule_;
   }
 
   const absl::optional<GURL>& GetLastRequestedURL() {
@@ -3984,25 +4388,86 @@
     std::string user_agent;
     params->url_request.headers.GetHeader("user-agent", &user_agent);
     SetLastUserAgent(&user_agent);
-    std::string sec_ch_ua_reduced;
-    params->url_request.headers.GetHeader("sec-ch-ua-reduced",
-                                          &sec_ch_ua_reduced);
-    SetLastSecChUaReduced(&sec_ch_ua_reduced);
+    std::string sec_ch_ua_value;
+    params->url_request.headers.GetHeader(
+        base::StrCat({GetParam() == UserAgentOriginTrialTestType::UAReduction
+                          ? "sec-ch-ua-reduced"
+                          : "sec-ch-ua-full"}),
+        &sec_ch_ua_value);
+    SetLastSecChUaValue(&sec_ch_ua_value);
 
     const std::string path = params->url_request.url.path();
     if (path == "/style.css" || path == "/basic.html" ||
         path == "/nested_style.css") {
       // These paths are known to be the last request (with no subrequest
       // after them), so verify that the UA string is set appropriately.
-      const bool ch_ua_reduced_expected = true;
-      CheckUaReducedClientHint(ch_ua_reduced_expected);
+      const bool ch_ua_reduced_expected =
+          GetParam() == UserAgentOriginTrialTestType::UAReduction;
+      const bool ch_ua_exist_expected = true;
+      CheckUaOriginTrialClientHint(ch_ua_exist_expected);
       CheckUserAgentReduced(ch_ua_reduced_expected);
     }
 
     std::string resource_path = "chrome/test/data/client_hints";
-    resource_path.append(std::string(params->url_request.url.path_piece()));
+    resource_path.append(
+        static_cast<std::string>(params->url_request.url.path_piece()));
 
-    URLLoaderInterceptor::WriteResponse(resource_path, params->client.get());
+    // Only build mock header with origin trial tokens for the third party
+    // requests.
+    if (origin != GURL(kThirdPartyOriginUrl)) {
+      URLLoaderInterceptor::WriteResponse(resource_path, params->client.get());
+      return true;
+    }
+
+    // Generated by running (in tools/origin_trials):
+    // generate_token.py https://my-site.com:44444 UserAgentReduction
+    // --is-third-party --expire-timestamp=2000000000
+    //
+    // The Origin Trial token expires in 2033.  Generate a new token by then, or
+    // find a better way to re-generate a test trial token.
+    static constexpr const char kOriginTrialTokenReduced[] =
+        "Awgc/"
+        "axBbE+4mDB+z2AKFEl26TUKBzCM2GBkDQmt4IephJgHpel1kcsIdCCBYKUgJ4s4+"
+        "JQLXFKkOCs7lFIISAMAAAB0eyJvcmlnaW4iOiAiaHR0cHM6Ly9teS1zaXRlLmNvbTo0NDQ"
+        "0NCIsICJpc1RoaXJkUGFydHkiOiB0cnVlLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y"
+        "3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=";
+
+    // Generated by running (in tools/origin_trials):
+    // generate_token.py https://my-site.com:44444
+    // SendFullUserAgentAfterReduction --is-third-party
+    // --expire-timestamp=2000000000
+    //
+    // The Origin Trial token expires in 2033.  Generate a new token by then,
+    // or find a better way to re-generate a test trial token.
+    static constexpr const char kOriginTrialTokenFull[] =
+        "AznwSelRzlbEO7T3NXT68fp+"
+        "k7amzJdYhxfcUEH3M7WTMES73QlwoqK8zBNVd1rGDvFuDxDbDILL4pr7Og6wJw0AAACBey"
+        "JvcmlnaW4iOiAiaHR0cHM6Ly9teS1zaXRlLmNvbTo0NDQ0NCIsICJpc1RoaXJkUGFydHki"
+        "OiB0cnVlLCAiZmVhdHVyZSI6ICJTZW5kRnVsbFVzZXJBZ2VudEFmdGVyUmVkdWN0aW9uIi"
+        "wgImV4cGlyeSI6IDIwMDAwMDAwMDB9";
+
+    std::string headers = "HTTP/1.1 200 OK\nContent-Type: text/html\n";
+    switch (GetParam()) {
+      case UserAgentOriginTrialTestType::UAReduction:
+        base::StrAppend(&headers, {"Accept-CH: ", "Sec-CH-UA-Reduced", "\n"});
+        base::StrAppend(&headers, {"Origin-Trial: ", kOriginTrialTokenReduced});
+        break;
+      case UserAgentOriginTrialTestType::UADeprecation:
+        base::StrAppend(&headers, {"Accept-CH: ", "Sec-CH-UA-Full", "\n"});
+        base::StrAppend(&headers, {"Origin-Trial: ", kOriginTrialTokenFull});
+        break;
+      case UserAgentOriginTrialTestType::UAReductionAndDeprecation:
+        base::StrAppend(
+            &headers,
+            {"Accept-CH: ", "Sec-CH-UA-Reduced, Sec-CH-UA-Full", "\n"});
+        base::StrAppend(&headers, {"Origin-Trial: ", kOriginTrialTokenReduced,
+                                   ",", kOriginTrialTokenFull});
+        break;
+      default:
+        break;
+    }
+    URLLoaderInterceptor::WriteResponse(resource_path, params->client.get(),
+                                        &headers);
     return true;
   }
 
@@ -4012,8 +4477,12 @@
     // one, since they don't respond with a valid Origin Trial token.
     CheckUserAgentMinorVersion(request.headers.at("user-agent"),
                                /*expected_user_agent_reduced=*/false);
-    request.headers.find("sec-ch-ua-reduced");
-    EXPECT_THAT(request.headers, Not(Contains(Key("sec-ch-ua-reduced"))));
+    std::string sec_ua_ch_name =
+        base::StrCat({GetParam() == UserAgentOriginTrialTestType::UAReduction
+                          ? "sec-ch-ua-reduced"
+                          : "sec-ch-ua-full"});
+    request.headers.find(sec_ua_ch_name);
+    EXPECT_THAT(request.headers, Not(Contains(Key(sec_ua_ch_name))));
   }
 
   void SetLastUserAgent(const std::string* value) {
@@ -4025,12 +4494,12 @@
     }
   }
 
-  void SetLastSecChUaReduced(const std::string* value) {
+  void SetLastSecChUaValue(const std::string* value) {
     base::AutoLock lock(last_request_lock_);
     if (value != nullptr && !value->empty()) {
-      last_sec_ch_ua_reduced_ = *value;
+      last_sec_ch_ua_vaule_ = *value;
     } else {
-      last_sec_ch_ua_reduced_ = absl::nullopt;
+      last_sec_ch_ua_vaule_ = absl::nullopt;
     }
   }
 
@@ -4043,30 +4512,43 @@
   net::EmbeddedTestServer https_server_;
   base::Lock last_request_lock_;
   absl::optional<std::string> last_user_agent_ GUARDED_BY(last_request_lock_);
-  absl::optional<std::string> last_sec_ch_ua_reduced_
+  absl::optional<std::string> last_sec_ch_ua_vaule_
       GUARDED_BY(last_request_lock_);
   absl::optional<GURL> last_requested_url_ GUARDED_BY(last_request_lock_);
 };
 
-constexpr char
-    ThirdPartyAcceptChUaReducedOriginTrialBrowserTest::kThirdPartyOriginUrl[];
+INSTANTIATE_TEST_SUITE_P(
+    All,
+    ThirdPartyAcceptChUaOriginTrialBrowserTest,
+    testing::Values(UserAgentOriginTrialTestType::UAReduction,
+                    UserAgentOriginTrialTestType::UADeprecation,
+                    UserAgentOriginTrialTestType::UAReductionAndDeprecation));
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyAcceptChUaReducedOriginTrialBrowserTest,
-                       ThirdPartyIframeUaReducedWithOriginTrialToken) {
+constexpr char
+    ThirdPartyAcceptChUaOriginTrialBrowserTest::kThirdPartyOriginUrl[];
+
+IN_PROC_BROWSER_TEST_P(ThirdPartyAcceptChUaOriginTrialBrowserTest,
+                       ThirdPartyIframeUaWithOriginTrialToken) {
   const GURL top_level_frame_url =
-      accept_ch_ua_reduced_cross_origin_iframe_request_url();
+      accept_ch_ua_cross_origin_iframe_request_url();
   // The first navigation is to opt-into the OT.
   NavigateAndCheckHeaders(top_level_frame_url,
-                          /*ch_ua_reduced_expected=*/false);
-  NavigateAndCheckHeaders(top_level_frame_url, /*ch_ua_reduced_expected=*/true);
-  // Make sure the last intercepted URL was the request for the embedded iframe.
-  EXPECT_EQ(GetLastRequestedURL()->path(), "/simple_3p_ot.html");
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
+  NavigateAndCheckHeaders(top_level_frame_url,
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
+  EXPECT_EQ(GetLastRequestedURL()->path(),
+            base::StrCat({"/simple_3p_ot.html"}));
 }
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyAcceptChUaReducedOriginTrialBrowserTest,
-                       ThirdPartyIframeUaReducedWithAllCookiesBlocked) {
+IN_PROC_BROWSER_TEST_P(ThirdPartyAcceptChUaOriginTrialBrowserTest,
+                       ThirdPartyIframeUaWithAllCookiesBlocked) {
   const GURL top_level_frame_url =
-      accept_ch_ua_reduced_cross_origin_iframe_request_url();
+      accept_ch_ua_cross_origin_iframe_request_url();
   const GURL third_party_iframe_url = GURL(kThirdPartyOriginUrl);
 
   // Block all cookies for the third-party origin.
@@ -4079,15 +4561,19 @@
   // embed, which shouldn't happen for this test because third-party cookies
   // are blocked.
   NavigateAndCheckHeaders(top_level_frame_url,
-                          /*ch_ua_reduced_expected=*/false);
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
   NavigateAndCheckHeaders(top_level_frame_url,
-                          /*ch_ua_reduced_expected=*/false);
-  // Make sure the last intercepted URL was the request for the embedded iframe.
-  EXPECT_EQ(GetLastRequestedURL()->path(), "/simple_3p_ot.html");
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
+  EXPECT_EQ(GetLastRequestedURL()->path(),
+            base::StrCat({"/simple_3p_ot.html"}));
 }
 
-IN_PROC_BROWSER_TEST_F(ThirdPartyAcceptChUaReducedOriginTrialBrowserTest,
-                       ThirdPartyIframeUaReducedWithThirdPartyCookiesBlocked) {
+IN_PROC_BROWSER_TEST_P(ThirdPartyAcceptChUaOriginTrialBrowserTest,
+                       ThirdPartyIframeUaWithThirdPartyCookiesBlocked) {
   // Block third-party cookies.
   browser()->profile()->GetPrefs()->SetInteger(
       prefs::kCookieControlsMode,
@@ -4095,40 +4581,48 @@
 
   // The first navigation is to attempt to opt-into the OT for the third-party
   // embed, which shouldn't happen for this test because cookies are blocked.
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_iframe_request_url(),
-      /*ch_ua_reduced_expected=*/false);
-  NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_iframe_request_url(),
-      /*ch_ua_reduced_expected=*/false);
-  // Make sure the last intercepted URL was the request for the embedded iframe.
-  EXPECT_EQ(GetLastRequestedURL()->path(), "/simple_3p_ot.html");
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_iframe_request_url(),
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
+  NavigateAndCheckHeaders(accept_ch_ua_cross_origin_iframe_request_url(),
+                          /*ch_ua_reduced_expected=*/false,
+                          /*ch_ua_exist_expected=*/false);
+  // Make sure the last intercepted URL was the request for the embedded
+  // iframe.
+  EXPECT_EQ(GetLastRequestedURL()->path(),
+            base::StrCat({"/simple_3p_ot.html"}));
 }
 
-IN_PROC_BROWSER_TEST_F(
-    ThirdPartyAcceptChUaReducedOriginTrialBrowserTest,
-    DISABLED_ThirdPartyIframeUaReducedWithSubresourceRequests) {
+IN_PROC_BROWSER_TEST_P(ThirdPartyAcceptChUaOriginTrialBrowserTest,
+                       DISABLED_ThirdPartyIframeUaWithSubresourceRequests) {
   // The first navigation is to opt-into the OT.  Since there are subresource
   // requests, the last processed requests from the first navigation will have
-  // the reduced UA string.
+  // the corresponding reduced or full UA string.
   NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_iframe_with_subrequests_url(),
-      /*ch_ua_reduced_expected=*/true);
+      accept_ch_ua_cross_origin_iframe_with_subrequests_url(),
+      /*ch_ua_reduced_expected=*/GetParam() ==
+          UserAgentOriginTrialTestType::UAReduction,
+      /*ch_ua_exist_expected=*/true);
   NavigateAndCheckHeaders(
-      accept_ch_ua_reduced_cross_origin_iframe_with_subrequests_url(),
-      /*ch_ua_reduced_expected=*/true);
+      accept_ch_ua_cross_origin_iframe_with_subrequests_url(),
+      /*ch_ua_reduced_expected=*/GetParam() ==
+          UserAgentOriginTrialTestType::UAReduction,
+      /*ch_ua_exist_expected=*/true);
 }
 
-IN_PROC_BROWSER_TEST_F(
-    ThirdPartyAcceptChUaReducedOriginTrialBrowserTest,
-    ThirdPartyIframeUaReducedWithSubresourceRedirectRequests) {
+IN_PROC_BROWSER_TEST_P(ThirdPartyAcceptChUaOriginTrialBrowserTest,
+                       ThirdPartyIframeUaWithSubresourceRedirectRequests) {
   // The first navigation is to opt-into the OT.  Since there are subresource
   // requests, the last processed requests from the first navigation will have
-  // the reduced UA string.
+  // the corresponding reduced or full UA string.
   NavigateAndCheckHeaders(top_level_with_iframe_redirect_url(),
-                          /*ch_ua_reduced_expected=*/true);
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
   NavigateAndCheckHeaders(top_level_with_iframe_redirect_url(),
-                          /*ch_ua_reduced_expected=*/true);
+                          /*ch_ua_reduced_expected=*/GetParam() ==
+                              UserAgentOriginTrialTestType::UAReduction,
+                          /*ch_ua_exist_expected=*/true);
 }
 
 // CrOS multi-profiles implementation is too different for these tests.
@@ -4303,8 +4797,8 @@
                        GreaseEnterprisePolicyDynamicRefreshTest) {
   const GURL gurl = accept_ch_url();
   // Reset the policy that was already set to false in the setup, then see if
-  // the change is reflected in the sec-ch-ua header without requiring a browser
-  // restart.
+  // the change is reflected in the sec-ch-ua header without requiring a
+  // browser restart.
   policy::PolicyMap policies;
   SetPolicy(&policies, policy::key::kUserAgentClientHintsGREASEUpdateEnabled,
             absl::optional<base::Value>(true));
@@ -4348,8 +4842,8 @@
   }
 
   void SetUpOnMainThread() override {
-    // We use a URLLoaderInterceptor, rather than the EmbeddedTestServer, since
-    // the origin trial token in the response is associated with a fixed
+    // We use a URLLoaderInterceptor, rather than the EmbeddedTestServer,
+    // since the origin trial token in the response is associated with a fixed
     // origin, whereas EmbeddedTestServer serves content on a random port.
     url_loader_interceptor_ =
         std::make_unique<URLLoaderInterceptor>(base::BindRepeating(
@@ -4384,7 +4878,8 @@
     }
 
     std::string resource_path = "chrome/test/data/client_hints";
-    resource_path.append(std::string(params->url_request.url.path_piece()));
+    resource_path.append(
+        static_cast<std::string>(params->url_request.url.path_piece()));
     URLLoaderInterceptor::WriteResponse(resource_path, params->client.get());
     return true;
   }
diff --git a/chrome/browser/component_updater/metadata_table_chromeos.cc b/chrome/browser/component_updater/metadata_table_chromeos.cc
index 1e9d461..061aa17e 100644
--- a/chrome/browser/component_updater/metadata_table_chromeos.cc
+++ b/chrome/browser/component_updater/metadata_table_chromeos.cc
@@ -137,13 +137,13 @@
 
 bool MetadataTable::HasComponentForAnyUser(
     const std::string& component_name) const {
-  return std::any_of(
-      installed_items_.GetList().begin(), installed_items_.GetList().end(),
-      [&component_name](const base::Value& item) {
-        const std::string& name =
-            GetRequiredStringFromDict(item, kMetadataContentItemComponentKey);
-        return name == component_name;
-      });
+  return std::any_of(installed_items_.GetListDeprecated().begin(),
+                     installed_items_.GetListDeprecated().end(),
+                     [&component_name](const base::Value& item) {
+                       const std::string& name = GetRequiredStringFromDict(
+                           item, kMetadataContentItemComponentKey);
+                       return name == component_name;
+                     });
 }
 
 MetadataTable::MetadataTable()
@@ -189,7 +189,7 @@
 bool MetadataTable::DeleteItem(const std::string& hashed_user_id,
                                const std::string& component_name) {
   return installed_items_.EraseListIter(
-      installed_items_.GetList().begin() +
+      installed_items_.GetListDeprecated().begin() +
       GetInstalledItemIndex(hashed_user_id, component_name));
 }
 
@@ -197,14 +197,14 @@
     const std::string& hashed_user_id,
     const std::string& component_name) const {
   return GetInstalledItemIndex(hashed_user_id, component_name) !=
-         installed_items_.GetList().size();
+         installed_items_.GetListDeprecated().size();
 }
 
 size_t MetadataTable::GetInstalledItemIndex(
     const std::string& hashed_user_id,
     const std::string& component_name) const {
-  for (size_t i = 0; i < installed_items_.GetList().size(); ++i) {
-    const auto& dict = installed_items_.GetList()[i];
+  for (size_t i = 0; i < installed_items_.GetListDeprecated().size(); ++i) {
+    const auto& dict = installed_items_.GetListDeprecated()[i];
     const std::string& user_id =
         GetRequiredStringFromDict(dict, kMetadataContentItemHashedUserIdKey);
     if (user_id != hashed_user_id)
@@ -215,7 +215,7 @@
       continue;
     return i;
   }
-  return installed_items_.GetList().size();
+  return installed_items_.GetListDeprecated().size();
 }
 
 }  // namespace component_updater
diff --git a/chrome/browser/component_updater/metadata_table_chromeos.h b/chrome/browser/component_updater/metadata_table_chromeos.h
index 9d7258fa..7c141d2a 100644
--- a/chrome/browser/component_updater/metadata_table_chromeos.h
+++ b/chrome/browser/component_updater/metadata_table_chromeos.h
@@ -69,8 +69,8 @@
                            const std::string& component_name) const;
 
   // Returns the index of an installed item with the given |hashed_user_id| and
-  // |component_name|. Returns `installed_items_.GetList().size()` if no such
-  // item exists.
+  // |component_name|. Returns `installed_items_.GetListDeprecated().size()` if
+  // no such item exists.
   size_t GetInstalledItemIndex(const std::string& hashed_user_id,
                                const std::string& component_name) const;
 
diff --git a/chrome/browser/component_updater/metadata_table_chromeos_unittest.cc b/chrome/browser/component_updater/metadata_table_chromeos_unittest.cc
index 40795f9..bc1bf165 100644
--- a/chrome/browser/component_updater/metadata_table_chromeos_unittest.cc
+++ b/chrome/browser/component_updater/metadata_table_chromeos_unittest.cc
@@ -41,7 +41,7 @@
   metadata_table->AddItem(kHashedUserId[0], kComponent[0]);
   metadata_table->AddItem(kHashedUserId[1], kComponent[1]);
   metadata_table->AddItem(kHashedUserId[0], kComponent[1]);
-  ASSERT_EQ(metadata_table->installed_items_.GetList().size(), 3U);
+  ASSERT_EQ(metadata_table->installed_items_.GetListDeprecated().size(), 3U);
   EXPECT_TRUE(
       metadata_table->HasComponentForUser(kHashedUserId[0], kComponent[0]));
   EXPECT_TRUE(
@@ -52,7 +52,7 @@
       metadata_table->HasComponentForUser(kHashedUserId[1], kComponent[0]));
   // Add an existing item.
   metadata_table->AddItem(kHashedUserId[0], kComponent[0]);
-  EXPECT_EQ(metadata_table->installed_items_.GetList().size(), 3U);
+  EXPECT_EQ(metadata_table->installed_items_.GetListDeprecated().size(), 3U);
 }
 
 TEST_F(CrOSComponentInstallerMetadataTest, Delete) {
@@ -71,8 +71,9 @@
   // Delete component items.
   EXPECT_TRUE(metadata_table->DeleteItem(kHashedUserId[1], kComponent[1]));
   EXPECT_TRUE(metadata_table->DeleteItem(kHashedUserId[0], kComponent[1]));
-  ASSERT_EQ(metadata_table->installed_items_.GetList().size(), 1U);
-  const base::Value& item = metadata_table->installed_items_.GetList()[0];
+  ASSERT_EQ(metadata_table->installed_items_.GetListDeprecated().size(), 1U);
+  const base::Value& item =
+      metadata_table->installed_items_.GetListDeprecated()[0];
   EXPECT_EQ(item.FindKey(kMetadataContentItemHashedUserIdKey)->GetString(),
             kHashedUserId[0]);
   EXPECT_EQ(item.FindKey(kMetadataContentItemComponentKey)->GetString(),
diff --git a/chrome/browser/component_updater/recovery_improved_component_installer.cc b/chrome/browser/component_updater/recovery_improved_component_installer.cc
index 47ffe35..454d3e1c 100644
--- a/chrome/browser/component_updater/recovery_improved_component_installer.cc
+++ b/chrome/browser/component_updater/recovery_improved_component_installer.cc
@@ -183,8 +183,7 @@
 
 void RegisterRecoveryImprovedComponent(ComponentUpdateService* cus,
                                        PrefService* prefs) {
-// TODO(sorin): enable recovery component for macOS. crbug/687231.
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
   DVLOG(1) << "Registering RecoveryImproved component.";
 
   // |cus| keeps a reference to the |installer| in the CrxComponent instance.
diff --git a/chrome/browser/component_updater/recovery_improved_component_installer_mac.cc b/chrome/browser/component_updater/recovery_improved_component_installer_mac.cc
new file mode 100644
index 0000000..5997ca8
--- /dev/null
+++ b/chrome/browser/component_updater/recovery_improved_component_installer_mac.cc
@@ -0,0 +1,61 @@
+// Copyright (c) 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 "chrome/browser/component_updater/recovery_improved_component_installer.h"
+
+#include "base/command_line.h"
+#include "base/files/file_path.h"
+#include "base/mac/foundation_util.h"
+#include "base/memory/ref_counted.h"
+#include "components/update_client/update_client.h"
+#include "components/version_info/version_info.h"
+
+namespace component_updater {
+namespace {
+
+constexpr base::FilePath::CharType kRecoveryExecutableName[] =
+    FILE_PATH_LITERAL("ChromeRecovery");
+
+class RecoveryComponentActionHandlerMac
+    : public RecoveryComponentActionHandler {
+ public:
+  RecoveryComponentActionHandlerMac() = default;
+  RecoveryComponentActionHandlerMac(const RecoveryComponentActionHandlerMac&) =
+      delete;
+  RecoveryComponentActionHandlerMac& operator=(
+      const RecoveryComponentActionHandlerMac&) = delete;
+
+ private:
+  ~RecoveryComponentActionHandlerMac() override = default;
+
+  // Overrides for RecoveryComponentActionHandler.
+  base::CommandLine MakeCommandLine(
+      const base::FilePath& unpack_path) const override;
+  void Elevate(Callback callback) override;
+};
+
+base::CommandLine RecoveryComponentActionHandlerMac::MakeCommandLine(
+    const base::FilePath& unpack_path) const {
+  base::CommandLine command_line(unpack_path.Append(kRecoveryExecutableName));
+  command_line.AppendSwitchASCII("browser-version",
+                                 version_info::GetVersion().GetString());
+  command_line.AppendSwitchASCII("sessionid", session_id());
+  command_line.AppendSwitchASCII("appguid", base::mac::BaseBundleID());
+  return command_line;
+}
+
+void RecoveryComponentActionHandlerMac::Elevate(Callback callback) {
+  // Elevation is not yet supported on mac.
+  main_task_runner()->PostTask(
+      FROM_HERE, base::BindOnce(std::move(callback), false, 0, 0));
+}
+
+}  // namespace
+
+scoped_refptr<update_client::ActionHandler>
+RecoveryComponentActionHandler::MakeActionHandler() {
+  return base::MakeRefCounted<RecoveryComponentActionHandlerMac>();
+}
+
+}  // namespace component_updater
diff --git a/chrome/browser/component_updater/recovery_improved_component_unittest.cc b/chrome/browser/component_updater/recovery_improved_component_unittest.cc
index d9884547..99e9873 100644
--- a/chrome/browser/component_updater/recovery_improved_component_unittest.cc
+++ b/chrome/browser/component_updater/recovery_improved_component_unittest.cc
@@ -4,6 +4,7 @@
 
 #include <cstdint>
 #include <iterator>
+#include <memory>
 #include <string>
 #include <utility>
 
@@ -83,66 +84,82 @@
 
 }  // namespace
 
-#if BUILDFLAG(IS_WIN)
-TEST_F(RecoveryImprovedActionHandlerTest, Handle) {
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+TEST_F(RecoveryImprovedActionHandlerTest, HandleError) {
   unzip::SetUnzipperLaunchOverrideForTesting(
       base::BindRepeating(&unzip::LaunchInProcessUnzipper));
 
   // Tests the error is propagated through the callback in the error case.
-  {
-    base::RunLoop runloop;
-    base::MakeRefCounted<TestActionHandler>()->Handle(
-        base::FilePath{FILE_PATH_LITERAL("not-found")}, "some-session-id",
-        base::BindOnce(
-            [](base::OnceClosure quit_closure, bool succeeded, int error_code,
-               int extra_code1) {
-              EXPECT_FALSE(succeeded);
-              EXPECT_EQ(update_client::UnpackerError::kInvalidFile,
-                        static_cast<update_client::UnpackerError>(error_code));
-              EXPECT_EQ(2, extra_code1);
-              std::move(quit_closure).Run();
-            },
-            runloop.QuitClosure()));
-    runloop.Run();
-  }
+  base::RunLoop runloop;
+  base::MakeRefCounted<TestActionHandler>()->Handle(
+      base::FilePath{FILE_PATH_LITERAL("not-found")}, "some-session-id",
+      base::BindOnce(
+          [](base::OnceClosure quit_closure, bool succeeded, int error_code,
+             int extra_code1) {
+            EXPECT_FALSE(succeeded);
+            EXPECT_EQ(update_client::UnpackerError::kInvalidFile,
+                      static_cast<update_client::UnpackerError>(error_code));
+            EXPECT_EQ(2, extra_code1);
+            std::move(quit_closure).Run();
+          },
+          runloop.QuitClosure()));
+  runloop.Run();
+}
+#endif  //  BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+
+#if BUILDFLAG(IS_WIN)
+TEST_F(RecoveryImprovedActionHandlerTest, HandleSuccess) {
+  unzip::SetUnzipperLaunchOverrideForTesting(
+      base::BindRepeating(&unzip::LaunchInProcessUnzipper)
 
   // Tests that the recovery program runs and it returns an expected value.
-  {
-    constexpr char kActionRunFileName[] = "ChromeRecovery.crx3";
-    base::FilePath from_path;
-    base::PathService::Get(base::DIR_SOURCE_ROOT, &from_path);
-    from_path = from_path.AppendASCII("components")
-                    .AppendASCII("test")
-                    .AppendASCII("data")
-                    .AppendASCII("update_client")
-                    .AppendASCII(kActionRunFileName);
-    ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
-    const base::FilePath to_path =
-        temp_dir_.GetPath().AppendASCII(kActionRunFileName);
-    ASSERT_TRUE(base::CopyFile(from_path, to_path));
+  constexpr char kActionRunFileName[] = "ChromeRecovery.crx3";
+  base::FilePath from_path;
+  base::PathService::Get(base::DIR_SOURCE_ROOT, &from_path);
+  from_path = from_path.AppendASCII("components")
+                  .AppendASCII("test")
+                  .AppendASCII("data")
+                  .AppendASCII("update_client")
+                  .AppendASCII(kActionRunFileName);
+  ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
+  const base::FilePath to_path =
+      temp_dir_.GetPath().AppendASCII(kActionRunFileName);
+  ASSERT_TRUE(base::CopyFile(from_path, to_path));
 
-    base::RunLoop runloop;
-    base::MakeRefCounted<TestActionHandler>()->Handle(
-        to_path, "some-session-id",
-        base::BindOnce(
-            [](base::OnceClosure quit_closure, bool succeeded, int error_code,
-               int extra_code1) {
-              EXPECT_TRUE(succeeded);
-              EXPECT_EQ(1877345072, error_code);
-              EXPECT_EQ(0, extra_code1);
-              std::move(quit_closure).Run();
-            },
-            runloop.QuitClosure()));
-    {
-      // For some reason, the task which runs the wait for the recovery EXE
-      // execution is handled with some delay. This causes the run loop to
-      // fail with a timeout.
-      const base::test::ScopedRunLoopTimeout specific_timeout(
-          FROM_HERE, base::Seconds(60));
-      runloop.Run();
-    }
+  base::RunLoop runloop;
+  base::MakeRefCounted<TestActionHandler>()->Handle(
+      to_path,
+      "some-session-id",
+      base::BindOnce(
+          [](base::OnceClosure quit_closure, bool succeeded, int error_code,
+             int extra_code1) {
+    EXPECT_TRUE(succeeded);
+    EXPECT_EQ(1877345072, error_code);
+    EXPECT_EQ(0, extra_code1);
+    std::move(quit_closure).Run();
+      },
+      runloop.QuitClosure()));
+  {
+    // For some reason, the task which runs the wait for the recovery EXE
+    // execution is handled with some delay. This causes the run loop to
+    // fail with a timeout.
+    const base::test::ScopedRunLoopTimeout specific_timeout(FROM_HERE,
+                                                            base::Seconds(60));
+    runloop.Run();
   }
 }
 #endif  //  OS_WIN
 
+TEST(TestImprovedRecoveryComponentSupportGroupPolicyEnabledComponentUpdates) {
+  ASSERT_TRUE(std::make_unique<RecoveryImprovedInstallerPolicy>(
+                  g_browser_process->local_state())
+                  ->SupportsGroupPolicyEnabledComponentUpdates());
+}
+
+TEST(TestImprovedRecoveryComponentDoesNotRequireEncryption) {
+  ASSERT_FALSE(std::make_unique<RecoveryImprovedInstallerPolicy>(
+                   g_browser_process->local_state())
+                   ->RequiresNetworkEncryption());
+}
+
 }  // namespace component_updater
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
index de59885..e03189a 100644
--- a/chrome/browser/component_updater/registration.cc
+++ b/chrome/browser/component_updater/registration.cc
@@ -47,11 +47,13 @@
 #endif  // BUILDFLAG(GOOGLE_CHROME_BRANDING)
 #endif  // BUILDFLAG(IS_WIN)
 
-#if BUILDFLAG(IS_WIN)
-#include "chrome/browser/component_updater/recovery_improved_component_installer.h"
-#else
+#if BUILDFLAG(IS_MAC)
 #include "chrome/browser/component_updater/recovery_component_installer.h"
-#endif  // BUILDFLAG(IS_WIN)
+#endif  // BUILDFLAG(IS_MAC)
+
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#include "chrome/browser/component_updater/recovery_improved_component_installer.h"
+#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
 
 #if BUILDFLAG(IS_ANDROID)
 #include "chrome/browser/component_updater/desktop_sharing_hub_component_remover.h"
@@ -96,11 +98,13 @@
 
 #if BUILDFLAG(IS_WIN)
   RegisterRecoveryImprovedComponent(cus, g_browser_process->local_state());
-#else
-  // TODO(crbug.com/687231): Implement the Improved component on Mac, etc.
-  RegisterRecoveryComponent(cus, g_browser_process->local_state());
 #endif  // BUILDFLAG(IS_WIN)
 
+#if BUILDFLAG(IS_MAC)
+  RegisterRecoveryImprovedComponent(cus, g_browser_process->local_state());
+  RegisterRecoveryComponent(cus, g_browser_process->local_state());
+#endif  // BUILDFLAG(IS_MAC)
+
 #if BUILDFLAG(ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM)
   RegisterMediaFoundationWidevineCdmComponent(cus);
 #endif
diff --git a/chrome/browser/devtools/serialize_host_descriptions.cc b/chrome/browser/devtools/serialize_host_descriptions.cc
index 34d2980..2d96a71 100644
--- a/chrome/browser/devtools/serialize_host_descriptions.cc
+++ b/chrome/browser/devtools/serialize_host_descriptions.cc
@@ -30,7 +30,7 @@
     }
   }
 
-  if (!children_list.GetList().empty())
+  if (!children_list.GetListDeprecated().empty())
     root->SetKey(child_key, std::move(children_list));
   return std::move(*root);
 }
diff --git a/chrome/browser/download/download_query.cc b/chrome/browser/download/download_query.cc
index 9ed58eea..ffba87c 100644
--- a/chrome/browser/download/download_query.cc
+++ b/chrome/browser/download/download_query.cc
@@ -72,7 +72,7 @@
   out->clear();
   if (!in.is_list())
     return false;
-  for (const auto& value : in.GetList()) {
+  for (const auto& value : in.GetListDeprecated()) {
     if (!value.is_string()) {
       out->clear();
       return false;
diff --git a/chrome/browser/enterprise/connectors/common.h b/chrome/browser/enterprise/connectors/common.h
index 89626269..8e63221 100644
--- a/chrome/browser/enterprise/connectors/common.h
+++ b/chrome/browser/enterprise/connectors/common.h
@@ -40,6 +40,9 @@
 constexpr char kKeyMimeTypes[] = "mime_types";
 constexpr char kKeyEnterpriseId[] = "enterprise_id";
 constexpr char kKeyDomain[] = "domain";
+constexpr char kKeyEnabledOptInEvents[] = "enabled_opt_in_events";
+constexpr char kKeyOptInEventName[] = "name";
+constexpr char kKeyOptInEventUrlPatterns[] = "url_patterns";
 
 // A MIME type string that matches all MIME types.
 constexpr char kWildcardMimeType[] = "*";
@@ -109,6 +112,7 @@
 
   GURL reporting_url;
   std::set<std::string> enabled_event_names;
+  std::map<std::string, std::vector<std::string>> enabled_opt_in_events;
   std::string dm_token;
 
   // Indicates if the report should be made for the profile, or the browser if
diff --git a/chrome/browser/enterprise/connectors/file_system/box_uploader.cc b/chrome/browser/enterprise/connectors/file_system/box_uploader.cc
index bd21c2d..7118d4d 100644
--- a/chrome/browser/enterprise/connectors/file_system/box_uploader.cc
+++ b/chrome/browser/enterprise/connectors/file_system/box_uploader.cc
@@ -649,7 +649,8 @@
     return;
   }
   uploaded_parts_.Append(std::move(part_info));
-  chunks_handler_->ContinueToReadChunk(uploaded_parts_.GetList().size() + 1);
+  chunks_handler_->ContinueToReadChunk(
+      uploaded_parts_.GetListDeprecated().size() + 1);
 }
 
 void BoxChunkedUploader::OnFileCompletelyUploaded(
diff --git a/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.cc b/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.cc
index fa0678b..aa039457 100644
--- a/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.cc
+++ b/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.cc
@@ -75,6 +75,24 @@
       enabled_event_names_.insert(event_name);
     }
   }
+
+  const base::Value* enabled_opt_in_events_value =
+      settings_value.FindListKey(kKeyEnabledOptInEvents);
+  if (enabled_opt_in_events_value) {
+    for (const base::Value& event : enabled_opt_in_events_value->GetList()) {
+      DCHECK(event.is_dict());
+      const std::string* name = event.FindStringKey(kKeyOptInEventName);
+      const base::Value* url_patterns_value =
+          event.FindListKey(kKeyOptInEventUrlPatterns);
+
+      DCHECK(url_patterns_value->is_list());
+      for (const base::Value& url_pattern : url_patterns_value->GetList()) {
+        DCHECK(url_pattern.is_string());
+
+        enabled_opt_in_events_[*name].push_back(url_pattern.GetString());
+      }
+    }
+  }
 }
 
 absl::optional<ReportingSettings>
@@ -90,6 +108,10 @@
 
   settings.enabled_event_names.insert(enabled_event_names_.begin(),
                                       enabled_event_names_.end());
+
+  settings.enabled_opt_in_events.insert(enabled_opt_in_events_.begin(),
+                                        enabled_opt_in_events_.end());
+
   return settings;
 }
 
diff --git a/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.h b/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.h
index 503fbdb..28c230b 100644
--- a/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.h
+++ b/chrome/browser/enterprise/connectors/reporting/reporting_service_settings.h
@@ -46,6 +46,10 @@
 
   // The events that are enabled for the current service provider.
   std::set<std::string> enabled_event_names_;
+
+  // The enabled opt-in events for the current service provider, mapping to the
+  // URL patterns that represent on which URL they are enabled.
+  std::map<std::string, std::vector<std::string>> enabled_opt_in_events_;
 };
 
 }  // namespace enterprise_connectors
diff --git a/chrome/browser/enterprise/connectors/reporting/reporting_service_settings_unittest.cc b/chrome/browser/enterprise/connectors/reporting/reporting_service_settings_unittest.cc
index c646898..7d1f6eb 100644
--- a/chrome/browser/enterprise/connectors/reporting/reporting_service_settings_unittest.cc
+++ b/chrome/browser/enterprise/connectors/reporting/reporting_service_settings_unittest.cc
@@ -22,14 +22,6 @@
 
 namespace {
 
-struct TestParam {
-  TestParam(const char* settings_value, ReportingSettings* expected_settings)
-      : settings_value(settings_value), expected_settings(expected_settings) {}
-
-  const char* settings_value;
-  ReportingSettings* expected_settings;
-};
-
 constexpr char kNoProviderSettings[] = "{}";
 
 constexpr char kNormalSettingsWithoutEvents[] =
@@ -40,38 +32,38 @@
          "enabled_event_names" : ["event 1", "event 2", "event 3"]
        })";
 
-ReportingSettings* NoSettings() {
-  return nullptr;
-}
-
-ReportingSettings* NormalSettingsWithoutEvents() {
-  static base::NoDestructor<ReportingSettings> settings;
-  return settings.get();
-}
-
-ReportingSettings* NormalSettingsWithEvents() {
-  static base::NoDestructor<ReportingSettings> settings;
-  return settings.get();
-}
+constexpr char kNormalSettingsWithOptInEvents[] =
+    R"({ "service_provider": "google",
+         "enabled_opt_in_events" : [
+            { "name": "opt_in_event 1", "url_patterns" : []},
+            { "name": "opt_in_event 2", "url_patterns" : ["*"]},
+            {
+              "name": "opt_in_event 3",
+              "url_patterns" : ["example.com", "other.example.com"]
+            }
+          ]})";
 
 }  // namespace
 
-class ReportingServiceSettingsTest : public testing::TestWithParam<TestParam> {
+class ReportingServiceSettingsTest : public testing::Test {
  public:
-  const char* settings_value() const { return GetParam().settings_value; }
-  ReportingSettings* expected_settings() const {
-    // Set the settings fields dynamically to avoid static initialization issue.
-    if (GetParam().expected_settings == NormalSettingsWithoutEvents() &&
-        !GetParam().expected_settings->reporting_url.is_valid()) {
-      GetParam().expected_settings->reporting_url =
-          GURL("https://chromereporting-pa.googleapis.com/v1/events");
-    } else if (GetParam().expected_settings == NormalSettingsWithEvents() &&
-               GetParam().expected_settings->enabled_event_names.empty()) {
-      GetParam().expected_settings->enabled_event_names.insert("event 1");
-      GetParam().expected_settings->enabled_event_names.insert("event 2");
-      GetParam().expected_settings->enabled_event_names.insert("event 3");
-    }
-    return GetParam().expected_settings;
+  void SetUpTestCommandLine() {
+    base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
+    cmd->AppendSwitchASCII("reporting-connector-url",
+                           "https://test.com/reports");
+    policy::ChromeBrowserPolicyConnector::EnableCommandLineSupportForTesting();
+  }
+
+  absl::optional<ReportingSettings> GetReportingSettings(
+      const char* settings_value) {
+    auto settings = base::JSONReader::Read(settings_value,
+                                           base::JSON_ALLOW_TRAILING_COMMAS);
+    EXPECT_TRUE(settings.has_value());
+
+    ServiceProviderConfig config(kServiceProviderConfig);
+    ReportingServiceSettings service_settings(settings.value(), config);
+
+    return service_settings.GetReportingSettings();
   }
 
  private:
@@ -85,55 +77,80 @@
 #endif
 };
 
-TEST_P(ReportingServiceSettingsTest, Test) {
-  auto settings = base::JSONReader::Read(settings_value(),
-                                         base::JSON_ALLOW_TRAILING_COMMAS);
-  ASSERT_TRUE(settings.has_value());
-
-  ServiceProviderConfig config(kServiceProviderConfig);
-  ReportingServiceSettings service_settings(settings.value(), config);
-
-  auto reporting_settings = service_settings.GetReportingSettings();
-  ASSERT_EQ((expected_settings() != nullptr), reporting_settings.has_value());
-  if (expected_settings() == NormalSettingsWithoutEvents()) {
-    ASSERT_TRUE(reporting_settings->reporting_url.is_valid());
-    ASSERT_EQ(expected_settings()->reporting_url,
-              reporting_settings.value().reporting_url);
-  } else if (expected_settings() == NormalSettingsWithEvents()) {
-    ASSERT_FALSE(reporting_settings->enabled_event_names.empty());
-    ASSERT_EQ(expected_settings()->enabled_event_names,
-              reporting_settings.value().enabled_event_names);
-  } else {
-    ASSERT_EQ(expected_settings(), NoSettings());
-  }
+TEST_F(ReportingServiceSettingsTest, TestNoSettings) {
+  absl::optional<ReportingSettings> reporting_settings =
+      GetReportingSettings(kNoProviderSettings);
+  ASSERT_FALSE(reporting_settings.has_value());
 }
 
-TEST_P(ReportingServiceSettingsTest, FlagOverride) {
-  base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
-  cmd->AppendSwitchASCII("reporting-connector-url", "https://test.com/reports");
-  policy::ChromeBrowserPolicyConnector::EnableCommandLineSupportForTesting();
+TEST_F(ReportingServiceSettingsTest, TestNormalSettingsWithoutEvents) {
+  absl::optional<ReportingSettings> reporting_settings =
+      GetReportingSettings(kNormalSettingsWithoutEvents);
+  ASSERT_TRUE(reporting_settings.has_value());
 
-  auto settings = base::JSONReader::Read(settings_value(),
-                                         base::JSON_ALLOW_TRAILING_COMMAS);
-  ASSERT_TRUE(settings.has_value());
-
-  ServiceProviderConfig config(kServiceProviderConfig);
-  ReportingServiceSettings service_settings(settings.value(), config);
-
-  auto reporting_settings = service_settings.GetReportingSettings();
-  ASSERT_EQ((expected_settings() != nullptr), reporting_settings.has_value());
-  if (expected_settings()) {
-    ASSERT_TRUE(reporting_settings->reporting_url.is_valid());
-    ASSERT_EQ(reporting_settings->reporting_url, "https://test.com/reports");
-  }
+  ASSERT_TRUE(reporting_settings->reporting_url.is_valid());
+  ASSERT_EQ(GURL("https://chromereporting-pa.googleapis.com/v1/events"),
+            reporting_settings.value().reporting_url);
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    ReportingServiceSettingsTest,
-    testing::Values(
-        TestParam(kNoProviderSettings, NoSettings()),
-        TestParam(kNormalSettingsWithoutEvents, NormalSettingsWithoutEvents()),
-        TestParam(kNormalSettingsWithEvents, NormalSettingsWithEvents())));
+TEST_F(ReportingServiceSettingsTest, TestNormalSettingsWithEvents) {
+  absl::optional<ReportingSettings> reporting_settings =
+      GetReportingSettings(kNormalSettingsWithEvents);
+  ASSERT_TRUE(reporting_settings.has_value());
+
+  ASSERT_FALSE(reporting_settings->enabled_event_names.empty());
+  std::set<std::string> expected_event_names{"event 1", "event 2", "event 3"};
+  ASSERT_EQ(expected_event_names,
+            reporting_settings.value().enabled_event_names);
+}
+
+TEST_F(ReportingServiceSettingsTest, TestNormalSettingsWithOptInEvents) {
+  absl::optional<ReportingSettings> reporting_settings =
+      GetReportingSettings(kNormalSettingsWithOptInEvents);
+  ASSERT_TRUE(reporting_settings.has_value());
+
+  std::map<std::string, std::vector<std::string>> actual_opt_in_events =
+      reporting_settings.value().enabled_opt_in_events;
+  ASSERT_EQ(2UL, actual_opt_in_events.size());
+
+  // An event with no URL patterns isn't enabled.
+  ASSERT_EQ(actual_opt_in_events.find("opt_in_event 1"),
+            actual_opt_in_events.end());
+
+  ASSERT_NE(actual_opt_in_events.find("opt_in_event 2"),
+            actual_opt_in_events.end());
+  ASSERT_EQ(1UL, actual_opt_in_events["opt_in_event 2"].size());
+
+  ASSERT_NE(actual_opt_in_events.find("opt_in_event 3"),
+            actual_opt_in_events.end());
+  ASSERT_EQ(2UL, actual_opt_in_events["opt_in_event 3"].size());
+}
+
+TEST_F(ReportingServiceSettingsTest, FlagOverrideNoProviderSettings) {
+  SetUpTestCommandLine();
+  absl::optional<ReportingSettings> reporting_settings =
+      GetReportingSettings(kNoProviderSettings);
+  ASSERT_FALSE(reporting_settings.has_value());
+}
+
+TEST_F(ReportingServiceSettingsTest, FlagOverrideNormalSettingsWithoutEvents) {
+  SetUpTestCommandLine();
+  absl::optional<ReportingSettings> reporting_settings =
+      GetReportingSettings(kNormalSettingsWithoutEvents);
+  ASSERT_TRUE(reporting_settings.has_value());
+
+  ASSERT_TRUE(reporting_settings->reporting_url.is_valid());
+  ASSERT_EQ(reporting_settings->reporting_url, "https://test.com/reports");
+}
+
+TEST_F(ReportingServiceSettingsTest, FlagOverrideNormalSettingsWithEvents) {
+  SetUpTestCommandLine();
+  absl::optional<ReportingSettings> reporting_settings =
+      GetReportingSettings(kNormalSettingsWithEvents);
+  ASSERT_TRUE(reporting_settings.has_value());
+
+  ASSERT_TRUE(reporting_settings->reporting_url.is_valid());
+  ASSERT_EQ(reporting_settings->reporting_url, "https://test.com/reports");
+}
 
 }  // namespace enterprise_connectors
diff --git a/chrome/browser/extensions/activity_log/activity_log.cc b/chrome/browser/extensions/activity_log/activity_log.cc
index e536a3bd..35cf511 100644
--- a/chrome/browser/extensions/activity_log/activity_log.cc
+++ b/chrome/browser/extensions/activity_log/activity_log.cc
@@ -320,7 +320,8 @@
         if (arg_url.is_valid())
           args_list[url_index] = base::Value(kArgUrlPlaceholder);
       } else if (args_list[url_index].is_list()) {
-        base::Value::ListView tab_list = args_list[url_index].GetList();
+        base::Value::ListView tab_list =
+            args_list[url_index].GetListDeprecated();
         // A list of possible IDs to translate.  Work through in reverse order
         // so the last one translated is left in arg_url.
         int extracted_index = -1;  // Which list item is copied to arg_url?
diff --git a/chrome/browser/extensions/api/browsing_data/browsing_data_api.cc b/chrome/browser/extensions/api/browsing_data/browsing_data_api.cc
index c2e39e7..1f60641 100644
--- a/chrome/browser/extensions/api/browsing_data/browsing_data_api.cc
+++ b/chrome/browser/extensions/api/browsing_data/browsing_data_api.cc
@@ -468,8 +468,8 @@
                                                std::vector<url::Origin>* result,
                                                ResponseValue* error_response) {
   DCHECK(list_value.is_list());
-  result->reserve(list_value.GetList().size());
-  for (const auto& value : list_value.GetList()) {
+  result->reserve(list_value.GetListDeprecated().size());
+  for (const auto& value : list_value.GetListDeprecated()) {
     if (!value.is_string()) {
       *error_response = BadMessage();
       return false;
diff --git a/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc b/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc
index 2e19fb2..9b7f322 100644
--- a/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc
+++ b/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc
@@ -63,7 +63,7 @@
     return false;
   }
 
-  for (const auto& i : list.GetList()) {
+  for (const auto& i : list.GetListDeprecated()) {
     const std::string& s = i.GetString();
     if (s.find('/') == std::string::npos) {
       // No slashes mean that this is a webauthn RP ID, not a U2F AppID.
diff --git a/chrome/browser/extensions/api/debugger/debugger_apitest.cc b/chrome/browser/extensions/api/debugger/debugger_apitest.cc
index 81abaa99..9bbde9d 100644
--- a/chrome/browser/extensions/api/debugger/debugger_apitest.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_apitest.cc
@@ -125,7 +125,7 @@
   const base::ListValue& targets = base::Value::AsListValue(*value);
 
   std::string debugger_target_id;
-  for (const base::Value& target_value : targets.GetList()) {
+  for (const base::Value& target_value : targets.GetListDeprecated()) {
     EXPECT_TRUE(target_value.is_dict());
     absl::optional<int> id = target_value.FindIntKey("tabId");
     if (id == tab_id) {
diff --git a/chrome/browser/extensions/api/declarative_content/declarative_content_css_condition_tracker.cc b/chrome/browser/extensions/api/declarative_content/declarative_content_css_condition_tracker.cc
index ee96c9747..8272574 100644
--- a/chrome/browser/extensions/api/declarative_content/declarative_content_css_condition_tracker.cc
+++ b/chrome/browser/extensions/api/declarative_content/declarative_content_css_condition_tracker.cc
@@ -44,7 +44,7 @@
                                        std::string* error) {
   std::vector<std::string> css_rules;
   if (value.is_list()) {
-    for (const base::Value& css_rule_value : value.GetList()) {
+    for (const base::Value& css_rule_value : value.GetListDeprecated()) {
       if (!css_rule_value.is_string()) {
         *error = base::StringPrintf(kCssInvalidTypeOfParameter,
                                     declarative_content_constants::kCss);
diff --git a/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_browsertest.cc b/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_browsertest.cc
index 25f58b0ce..d47ea5f 100644
--- a/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_browsertest.cc
+++ b/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_browsertest.cc
@@ -733,7 +733,7 @@
     size_t expected_enabled_rulesets_count = has_dynamic_ruleset ? 1 : 0;
     size_t expected_manifest_enabled_rules_count = 0;
     for (const TestRulesetInfo& info : rulesets) {
-      size_t rules_count = info.rules_value.GetList().size();
+      size_t rules_count = info.rules_value.GetListDeprecated().size();
 
       if (info.enabled) {
         expected_enabled_rulesets_count++;
diff --git a/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_unittest.cc b/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_unittest.cc
index a3d06ba..75be9f5 100644
--- a/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_net_request/declarative_net_request_unittest.cc
@@ -382,7 +382,7 @@
 
     std::u16string error;
     std::vector<std::string> actual_ids;
-    for (const auto& val : ids_value.GetList())
+    for (const auto& val : ids_value.GetListDeprecated())
       actual_ids.push_back(val.GetString());
 
     EXPECT_THAT(expected_ids, UnorderedElementsAreArray(actual_ids));
@@ -1043,7 +1043,7 @@
 
   base::Value result(base::Value::Type::LIST);
   RunGetRulesFunction(*extension(), RulesetScope::kSession, &result);
-  EXPECT_TRUE(result.GetList().empty());
+  EXPECT_TRUE(result.GetListDeprecated().empty());
 
   TestRule rule_1 = CreateGenericRule();
   rule_1.id = 1;
@@ -1052,7 +1052,7 @@
   ASSERT_NO_FATAL_FAILURE(RunUpdateRulesFunction(
       *extension(), {}, {rule_1, rule_2}, RulesetScope::kSession));
   RunGetRulesFunction(*extension(), RulesetScope::kSession, &result);
-  EXPECT_THAT(result.GetList(),
+  EXPECT_THAT(result.GetListDeprecated(),
               ::testing::UnorderedElementsAre(
                   ::testing::Eq(std::cref(*rule_1.ToValue())),
                   ::testing::Eq(std::cref(*rule_2.ToValue()))));
@@ -1061,15 +1061,16 @@
 
   // No dynamic rules should be returned.
   RunGetRulesFunction(*extension(), RulesetScope::kDynamic, &result);
-  EXPECT_TRUE(result.GetList().empty());
+  EXPECT_TRUE(result.GetListDeprecated().empty());
 
   ASSERT_NO_FATAL_FAILURE(RunUpdateRulesFunction(*extension(), {*rule_2.id}, {},
                                                  RulesetScope::kSession));
   RunGetRulesFunction(*extension(), RulesetScope::kSession, &result);
-  EXPECT_THAT(result.GetList(), ::testing::UnorderedElementsAre(::testing::Eq(
-                                    std::cref(*rule_1.ToValue()))));
+  EXPECT_THAT(result.GetListDeprecated(),
+              ::testing::UnorderedElementsAre(
+                  ::testing::Eq(std::cref(*rule_1.ToValue()))));
   RunGetRulesFunction(*extension(), RulesetScope::kDynamic, &result);
-  EXPECT_TRUE(result.GetList().empty());
+  EXPECT_TRUE(result.GetListDeprecated().empty());
 }
 
 // Ensure an error is raised when an extension adds a session-scoped regex rule
@@ -1393,7 +1394,7 @@
     size_t rules_count = 0u;
     size_t rules_enabled_count = 0u;
     for (const TestRulesetInfo& info : rulesets_) {
-      size_t count = info.rules_value.GetList().size();
+      size_t count = info.rules_value.GetListDeprecated().size();
 
       // We only index up to |static_rule_limit| rules per ruleset, but
       // may index more rules than this limit across rulesets.
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc b/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc
index fc3f751..3c81060 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api_unittest.cc
@@ -518,9 +518,9 @@
   // Try to pack a final time when omitting (an existing) pem file. We should
   // get an error.
   base::DeleteFile(crx_path);
-  EXPECT_TRUE(pack_args.EraseListIter(pack_args.GetList().begin() +
+  EXPECT_TRUE(pack_args.EraseListIter(pack_args.GetListDeprecated().begin() +
                                       1u));  // Remove the pem key argument.
-  EXPECT_TRUE(pack_args.EraseListIter(pack_args.GetList().begin() +
+  EXPECT_TRUE(pack_args.EraseListIter(pack_args.GetListDeprecated().begin() +
                                       1u));  // Remove the flags argument.
   EXPECT_TRUE(TestPackExtensionFunction(
       pack_args, api::developer_private::PACK_STATUS_ERROR, 0));
@@ -1098,7 +1098,7 @@
   base::Value::ConstListView results_list = results->GetListDeprecated();
   ASSERT_EQ(1u, results_list.size());
   ASSERT_TRUE(results_list[0].is_list());
-  base::Value::ConstListView list = results_list[0].GetList();
+  base::Value::ConstListView list = results_list[0].GetListDeprecated();
   ASSERT_EQ(1u, list.size());
   std::unique_ptr<api::developer_private::ExtensionInfo> info =
       api::developer_private::ExtensionInfo::FromValue(list[0]);
@@ -1115,7 +1115,7 @@
   results_list = results->GetListDeprecated();
   ASSERT_EQ(1u, results_list.size());
   ASSERT_TRUE(results_list[0].is_list());
-  list = results_list[0].GetList();
+  list = results_list[0].GetListDeprecated();
   ASSERT_EQ(1u, list.size());
   std::unique_ptr<api::developer_private::ItemInfo> item_info =
       api::developer_private::ItemInfo::FromValue(list[0]);
diff --git a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
index 0b0176a..e2d448da 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
@@ -163,10 +163,11 @@
            (event_name_ == downloads::OnChanged::kEventName))) {
         // We expect a non-empty list for these events.
         if (!args_.is_list() || !other.args_.is_list() ||
-            args_.GetList().empty() || other.args_.GetList().empty())
+            args_.GetListDeprecated().empty() ||
+            other.args_.GetListDeprecated().empty())
           return false;
-        const base::Value& left_dict = args_.GetList()[0];
-        const base::Value& right_dict = other.args_.GetList()[0];
+        const base::Value& left_dict = args_.GetListDeprecated()[0];
+        const base::Value& right_dict = other.args_.GetListDeprecated()[0];
         if (!left_dict.is_dict() || !right_dict.is_dict())
           return false;
         // Expect that all keys present in both dictionaries are equal. If a key
diff --git a/chrome/browser/extensions/api/font_settings/font_settings_api.cc b/chrome/browser/extensions/api/font_settings/font_settings_api.cc
index 75a7d6c..c9f2761 100644
--- a/chrome/browser/extensions/api/font_settings/font_settings_api.cc
+++ b/chrome/browser/extensions/api/font_settings/font_settings_api.cc
@@ -302,7 +302,8 @@
       NOTREACHED();
       return Error("");
     }
-    const base::Value::ConstListView font_list_value = entry.GetList();
+    const base::Value::ConstListView font_list_value =
+        entry.GetListDeprecated();
 
     if (font_list_value.size() < 2 || !font_list_value[0].is_string()) {
       NOTREACHED();
diff --git a/chrome/browser/extensions/api/identity/identity_apitest.cc b/chrome/browser/extensions/api/identity/identity_apitest.cc
index 5b908b27..708e6983c 100644
--- a/chrome/browser/extensions/api/identity/identity_apitest.cc
+++ b/chrome/browser/extensions/api/identity/identity_apitest.cc
@@ -644,7 +644,8 @@
     if (!callback_arguments_list[0].is_list())
       GenerateFailureResult(gaia_ids, absl::nullopt)
           << "Result was not an array";
-    base::Value::ConstListView results = callback_arguments_list[0].GetList();
+    base::Value::ConstListView results =
+        callback_arguments_list[0].GetListDeprecated();
 
     std::set<std::string> result_ids;
     for (const base::Value& item : results) {
@@ -1007,7 +1008,7 @@
     EXPECT_TRUE(granted_scopes_value.is_list());
 
     std::set<std::string> scopes;
-    for (const auto& scope : granted_scopes_value.GetList()) {
+    for (const auto& scope : granted_scopes_value.GetListDeprecated()) {
       EXPECT_TRUE(scope.is_string());
       scopes.insert(scope.GetString());
     }
@@ -1033,7 +1034,7 @@
     EXPECT_TRUE(granted_scopes_value.is_list());
 
     std::set<std::string> scopes;
-    for (const auto& scope : granted_scopes_value.GetList()) {
+    for (const auto& scope : granted_scopes_value.GetListDeprecated()) {
       EXPECT_TRUE(scope.is_string());
       scopes.insert(scope.GetString());
     }
diff --git a/chrome/browser/extensions/api/management/management_api_unittest.cc b/chrome/browser/extensions/api/management/management_api_unittest.cc
index b1a7cd6..fab6e1f 100644
--- a/chrome/browser/extensions/api/management/management_api_unittest.cc
+++ b/chrome/browser/extensions/api/management/management_api_unittest.cc
@@ -387,7 +387,7 @@
     // If we try uninstall the extension itself, the uninstall should succeed
     // (even though we auto-cancel any dialog), because the dialog is never
     // shown.
-    uninstall_args.EraseListIter(uninstall_args.GetList().begin());
+    uninstall_args.EraseListIter(uninstall_args.GetListDeprecated().begin());
     function = new ManagementUninstallSelfFunction();
     function->set_extension(extension);
     EXPECT_TRUE(registry()->enabled_extensions().Contains(extension_id));
diff --git a/chrome/browser/extensions/api/printer_provider/printer_provider_apitest.cc b/chrome/browser/extensions/api/printer_provider/printer_provider_apitest.cc
index 48def94..492ad90 100644
--- a/chrome/browser/extensions/api/printer_provider/printer_provider_apitest.cc
+++ b/chrome/browser/extensions/api/printer_provider/printer_provider_apitest.cc
@@ -46,8 +46,8 @@
                                         base::RepeatingClosure callback,
                                         const base::ListValue& printers,
                                         bool done) {
-  for (size_t i = 0; i < printers.GetList().size(); ++i) {
-    const base::Value& printer = printers.GetList()[i];
+  for (size_t i = 0; i < printers.GetListDeprecated().size(); ++i) {
+    const base::Value& printer = printers.GetListDeprecated()[i];
     EXPECT_TRUE(printer.is_dict())
         << "Found invalid printer value at index " << i << ": " << printers;
     printers_out->Append(printer.Clone());
@@ -264,9 +264,9 @@
   void ValidatePrinterListValue(
       const base::ListValue& printers,
       const std::vector<std::unique_ptr<base::Value>>& expected_printers) {
-    ASSERT_EQ(expected_printers.size(), printers.GetList().size());
+    ASSERT_EQ(expected_printers.size(), printers.GetListDeprecated().size());
     for (const auto& printer_value : expected_printers) {
-      EXPECT_TRUE(base::Contains(printers.GetList(), *printer_value))
+      EXPECT_TRUE(base::Contains(printers.GetListDeprecated(), *printer_value))
           << "Unable to find " << *printer_value << " in " << printers;
     }
   }
@@ -540,7 +540,7 @@
 
   run_loop.Run();
 
-  EXPECT_TRUE(printers.GetList().empty());
+  EXPECT_TRUE(printers.GetListDeprecated().empty());
 }
 
 IN_PROC_BROWSER_TEST_P(PrinterProviderApiTest,
@@ -653,7 +653,7 @@
 
   run_loop.Run();
 
-  EXPECT_TRUE(printers.GetList().empty());
+  EXPECT_TRUE(printers.GetListDeprecated().empty());
 }
 
 IN_PROC_BROWSER_TEST_P(PrinterProviderApiTest, GetPrintersNotArray) {
@@ -674,7 +674,7 @@
 
   run_loop.Run();
 
-  EXPECT_TRUE(printers.GetList().empty());
+  EXPECT_TRUE(printers.GetListDeprecated().empty());
 }
 
 IN_PROC_BROWSER_TEST_P(PrinterProviderApiTest,
@@ -696,7 +696,7 @@
 
   run_loop.Run();
 
-  EXPECT_TRUE(printers.GetList().empty());
+  EXPECT_TRUE(printers.GetListDeprecated().empty());
 }
 
 IN_PROC_BROWSER_TEST_P(PrinterProviderApiTest, GetPrintersInvalidPrinterValue) {
@@ -717,7 +717,7 @@
 
   run_loop.Run();
 
-  EXPECT_TRUE(printers.GetList().empty());
+  EXPECT_TRUE(printers.GetListDeprecated().empty());
 }
 
 // These tests are separate out from the main test class because the USB api
diff --git a/chrome/browser/extensions/api/printing/printing_api_handler_unittest.cc b/chrome/browser/extensions/api/printing/printing_api_handler_unittest.cc
index fbb847a7..6a70a5a 100644
--- a/chrome/browser/extensions/api/printing/printing_api_handler_unittest.cc
+++ b/chrome/browser/extensions/api/printing/printing_api_handler_unittest.cc
@@ -405,11 +405,11 @@
   EXPECT_EQ(kExtensionId, event_observer.extension_id());
   const base::Value& event_args = event_observer.event_args();
   ASSERT_TRUE(event_args.is_list());
-  ASSERT_EQ(2u, event_args.GetList().size());
-  base::Value job_id = event_args.GetList()[0].Clone();
+  ASSERT_EQ(2u, event_args.GetListDeprecated().size());
+  base::Value job_id = event_args.GetListDeprecated()[0].Clone();
   ASSERT_TRUE(job_id.is_string());
   EXPECT_FALSE(job_id.GetString().empty());
-  base::Value job_status = event_args.GetList()[1].Clone();
+  base::Value job_status = event_args.GetListDeprecated()[1].Clone();
   ASSERT_TRUE(job_status.is_string());
   EXPECT_EQ(api::printing::JOB_STATUS_PENDING,
             api::printing::ParseJobStatus(job_status.GetString()));
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers_unittest.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers_unittest.cc
index b7e3b73..3816478 100644
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers_unittest.cc
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers_unittest.cc
@@ -306,7 +306,8 @@
 
   std::string out;
   std::string error;
-  ASSERT_TRUE(JoinUrlList(list.GetList(), ";", &out, &error, &bad_message));
+  ASSERT_TRUE(
+      JoinUrlList(list.GetListDeprecated(), ";", &out, &error, &bad_message));
   EXPECT_EQ("s1;s2;s3", out);
   EXPECT_FALSE(bad_message);
 }
diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc
index 004d722..53e5024 100644
--- a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc
+++ b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc
@@ -308,7 +308,8 @@
   TriggerOnPolicySpecifiedPasswordReuseDetectedEvent();
   base::RunLoop().RunUntilIdle();
 
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("https://phishing.com/", captured_args.FindKey("url")->GetString());
   EXPECT_EQ("user_name_1", captured_args.FindKey("userName")->GetString());
 
@@ -344,7 +345,8 @@
   TriggerOnPolicySpecifiedPasswordChangedEvent();
   base::RunLoop().RunUntilIdle();
 
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("user_name_2", captured_args.GetString());
 
   Mock::VerifyAndClearExpectations(client_.get());
@@ -377,7 +379,8 @@
   TriggerOnDangerousDownloadOpenedEvent();
   base::RunLoop().RunUntilIdle();
 
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("https://evil.com/malware.exe",
             captured_args.FindKey("url")->GetString());
   EXPECT_EQ("/path/to/malware.exe",
@@ -429,7 +432,8 @@
   TriggerOnSecurityInterstitialProceededEvent();
   base::RunLoop().RunUntilIdle();
 
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("https://phishing.com/", captured_args.FindKey("url")->GetString());
   EXPECT_EQ("PHISHING", captured_args.FindKey("reason")->GetString());
   EXPECT_EQ("-201", captured_args.FindKey("netErrorCode")->GetString());
@@ -469,7 +473,8 @@
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
 
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("https://phishing.com/", captured_args.FindKey("url")->GetString());
   EXPECT_EQ("PHISHING", captured_args.FindKey("reason")->GetString());
   EXPECT_FALSE(captured_args.FindKey("netErrorCode"));
@@ -592,7 +597,7 @@
   EXPECT_CALL(*client_, UploadSecurityEventReport_(_, _, _, _)).Times(1);
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  EXPECT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
   Mock::VerifyAndClearExpectations(client_.get());
 
   // Now turn off policy.  This time no report should be generated.
@@ -600,7 +605,7 @@
   EXPECT_CALL(*client_, UploadSecurityEventReport_(_, _, _, _)).Times(0);
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  EXPECT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
   Mock::VerifyAndClearExpectations(client_.get());
 }
 
@@ -612,14 +617,14 @@
 
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  EXPECT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
 
   // Now turn on policy.
   SetReportingPolicy(true);
   EXPECT_CALL(*client_, UploadSecurityEventReport_(_, _, _, _)).Times(1);
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  EXPECT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
   Mock::VerifyAndClearExpectations(client_.get());
 }
 
@@ -1035,7 +1040,8 @@
   // With no primary account, we should not set the username.
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("", captured_args.FindKey("userName")->GetString());
 
   // With an unconsented primary account, we should set the username.
@@ -1043,7 +1049,7 @@
       "profile@example.com", signin::ConsentLevel::kSignin);
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
-  captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  captured_args = event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("profile@example.com",
             captured_args.FindKey("userName")->GetString());
 
@@ -1052,7 +1058,7 @@
       "profile@example.com", signin::ConsentLevel::kSync);
   TriggerOnSecurityInterstitialShownEvent();
   base::RunLoop().RunUntilIdle();
-  captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  captured_args = event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("profile@example.com",
             captured_args.FindKey("userName")->GetString());
 }
@@ -1077,7 +1083,7 @@
   base::RunLoop().RunUntilIdle();
 
   // Assert the event actually did fire.
-  ASSERT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  ASSERT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
 
   // Make sure UploadSecurityEventReport was called the expected number of
   // times.
@@ -1101,7 +1107,7 @@
   base::RunLoop().RunUntilIdle();
 
   // Assert the event actually did fire.
-  ASSERT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  ASSERT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
 
   // Make sure UploadSecurityEventReport was called the expected number of
   // times.
@@ -1126,7 +1132,7 @@
   base::RunLoop().RunUntilIdle();
 
   // Assert the event actually did fire.
-  ASSERT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  ASSERT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
 
   // Make sure UploadSecurityEventReport was called the expected number of
   // times.
@@ -1153,8 +1159,8 @@
   base::RunLoop().RunUntilIdle();
 
   // Assert the event actually did fire.
-  ASSERT_EQ(1u, event_observer1.PassEventArgs().GetList().size());
-  ASSERT_EQ(1u, event_observer2.PassEventArgs().GetList().size());
+  ASSERT_EQ(1u, event_observer1.PassEventArgs().GetListDeprecated().size());
+  ASSERT_EQ(1u, event_observer2.PassEventArgs().GetListDeprecated().size());
 
   // Make sure UploadSecurityEventReport was called the expected number of
   // times.
@@ -1307,7 +1313,7 @@
   base::RunLoop().RunUntilIdle();
 
   // Assert the trigger actually did fire.
-  EXPECT_EQ(1u, event_observer.PassEventArgs().GetList().size());
+  EXPECT_EQ(1u, event_observer.PassEventArgs().GetListDeprecated().size());
 
   // Make sure UploadSecurityEventReport was called the expected number of
   // times.
@@ -1382,11 +1388,11 @@
   base::RunLoop().RunUntilIdle();
 
   // Assert the events with triggers actually did fire.
-  EXPECT_EQ(1u, event_observer1.PassEventArgs().GetList().size());
-  EXPECT_EQ(1u, event_observer2.PassEventArgs().GetList().size());
-  EXPECT_EQ(1u, event_observer3.PassEventArgs().GetList().size());
-  EXPECT_EQ(1u, event_observer4.PassEventArgs().GetList().size());
-  EXPECT_EQ(1u, event_observer5.PassEventArgs().GetList().size());
+  EXPECT_EQ(1u, event_observer1.PassEventArgs().GetListDeprecated().size());
+  EXPECT_EQ(1u, event_observer2.PassEventArgs().GetListDeprecated().size());
+  EXPECT_EQ(1u, event_observer3.PassEventArgs().GetListDeprecated().size());
+  EXPECT_EQ(1u, event_observer4.PassEventArgs().GetListDeprecated().size());
+  EXPECT_EQ(1u, event_observer5.PassEventArgs().GetListDeprecated().size());
 
   // Make sure UploadSecurityEventReport was called the expected number of
   // times.
diff --git a/chrome/browser/extensions/api/sessions/sessions_apitest.cc b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
index ad5f77d..853fc2d 100644
--- a/chrome/browser/extensions/api/sessions/sessions_apitest.cc
+++ b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
@@ -104,9 +104,9 @@
 
 testing::AssertionResult CheckSessionModels(const base::ListValue& devices,
                                             size_t num_sessions) {
-  EXPECT_EQ(5u, devices.GetList().size());
-  for (size_t i = 0; i < devices.GetList().size(); ++i) {
-    const base::Value& device_value = devices.GetList()[i];
+  EXPECT_EQ(5u, devices.GetListDeprecated().size());
+  for (size_t i = 0; i < devices.GetListDeprecated().size(); ++i) {
+    const base::Value& device_value = devices.GetListDeprecated()[i];
     EXPECT_TRUE(device_value.is_dict());
     const base::Value::DictStorage device = utils::ToDictionary(device_value);
     EXPECT_EQ(kSessionTags[i], api_test_utils::GetString(device, "info"));
diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc
index b9f3118..9966c7b 100644
--- a/chrome/browser/extensions/api/tabs/tabs_api.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_api.cc
@@ -1678,8 +1678,9 @@
   if (num_tabs == 0)
     return RespondNow(Error("No tabs given."));
   if (num_tabs == 1) {
-    CHECK_EQ(1u, tab_values.GetList().size());
-    return RespondNow(OneArgument(std::move(tab_values.GetList()[0])));
+    CHECK_EQ(1u, tab_values.GetListDeprecated().size());
+    return RespondNow(
+        OneArgument(std::move(tab_values.GetListDeprecated()[0])));
   }
 
   // Return the results as an array if there are multiple tabs.
diff --git a/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc b/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
index af43328..14ed45ad 100644
--- a/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
@@ -282,9 +282,9 @@
   if (iter == dict.end() || !iter->second.is_list())
     return -2;
   const base::ListValue& tabs = base::Value::AsListValue(iter->second);
-  if (tabs.GetList().empty())
+  if (tabs.GetListDeprecated().empty())
     return -2;
-  const base::Value& tab = tabs.GetList()[0];
+  const base::Value& tab = tabs.GetListDeprecated()[0];
   const base::DictionaryValue* tab_dict = nullptr;
   if (!tab.GetAsDictionary(&tab_dict))
     return -2;
diff --git a/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc b/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
index 302fdecd..6e3aa4c 100644
--- a/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
+++ b/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
@@ -486,7 +486,7 @@
     return;
 
   // Broadcast an api event for each updated item.
-  for (auto& item : updated_items.GetList()) {
+  for (auto& item : updated_items.GetListDeprecated()) {
     keyboard_api::ClipboardItem clipboard_item;
     if (item.FindKey("imageData")) {
       clipboard_item.image_data =
diff --git a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
index 1e9c417c..61bde6b 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
@@ -257,7 +257,8 @@
   EXPECT_TRUE(list_value.Equals(&converted_list));
 
   std::string converted_string;
-  EXPECT_TRUE(CharListToString(list_value.GetList(), &converted_string));
+  EXPECT_TRUE(
+      CharListToString(list_value.GetListDeprecated(), &converted_string));
   EXPECT_EQ(string_value, converted_string);
 }
 
diff --git a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
index fa5e2414..256d36d 100644
--- a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
+++ b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
@@ -149,14 +149,15 @@
   JSONWriter::Write(*result, &result_string);
   VLOG(2) << result_string;
 
-  EXPECT_EQ(devices.size(), sink_list.GetList().size());
+  EXPECT_EQ(devices.size(), sink_list.GetListDeprecated().size());
 
   // Iterate through both lists in lockstep and compare. The order
   // should be identical.
   size_t ix = 0;
   AudioDeviceDescriptions::const_iterator it = devices.begin();
-  for (; ix < sink_list.GetList().size() && it != devices.end(); ++ix, ++it) {
-    const base::Value& value = sink_list.GetList()[ix];
+  for (; ix < sink_list.GetListDeprecated().size() && it != devices.end();
+       ++ix, ++it) {
+    const base::Value& value = sink_list.GetListDeprecated()[ix];
     EXPECT_TRUE(value.is_dict());
     const base::DictionaryValue& dict = base::Value::AsDictionaryValue(value);
     std::string sink_id;
diff --git a/chrome/browser/extensions/extension_web_ui.cc b/chrome/browser/extensions/extension_web_ui.cc
index 45fc821..ac1d111 100644
--- a/chrome/browser/extensions/extension_web_ui.cc
+++ b/chrome/browser/extensions/extension_web_ui.cc
@@ -465,7 +465,7 @@
     if (!dict_iter.second.is_list())
       continue;
 
-    for (const auto& list_iter : dict_iter.second.GetList()) {
+    for (const auto& list_iter : dict_iter.second.GetListDeprecated()) {
       const std::string* override = nullptr;
       if (list_iter.is_dict())
         override = list_iter.FindStringKey(kEntry);
diff --git a/chrome/browser/extensions/pending_extension_manager.cc b/chrome/browser/extensions/pending_extension_manager.cc
index 7b7b7f3..0fd390e 100644
--- a/chrome/browser/extensions/pending_extension_manager.cc
+++ b/chrome/browser/extensions/pending_extension_manager.cc
@@ -115,12 +115,6 @@
                                 reason_for_uma);
 }
 
-void PendingExtensionManager::RecordExtensionReinstallManifestLocation(
-    mojom::ManifestLocation manifest_location_for_uma) {
-  base::UmaHistogramEnumeration("Extensions.CorruptedExtensionLocation",
-                                manifest_location_for_uma);
-}
-
 void PendingExtensionManager::ExpectReinstallForCorruption(
     const ExtensionId& id,
     absl::optional<PolicyReinstallReason> reason_for_uma,
@@ -130,7 +124,6 @@
   expected_reinstalls_[id] = base::TimeTicks::Now();
   if (reason_for_uma)
     RecordPolicyReinstallReason(*reason_for_uma);
-  RecordExtensionReinstallManifestLocation(manifest_location_for_uma);
 }
 
 bool PendingExtensionManager::IsReinstallForCorruptionExpected(
diff --git a/chrome/browser/extensions/pending_extension_manager.h b/chrome/browser/extensions/pending_extension_manager.h
index 104dece..53efd7e 100644
--- a/chrome/browser/extensions/pending_extension_manager.h
+++ b/chrome/browser/extensions/pending_extension_manager.h
@@ -125,9 +125,6 @@
   // See https://crbug.com/958794#c22 for details.
   void RecordPolicyReinstallReason(PolicyReinstallReason reason_for_uma);
 
-  void RecordExtensionReinstallManifestLocation(
-      mojom::ManifestLocation manifest_location_for_uma);
-
   // Notifies the manager that we are reinstalling the policy force-installed
   // extension with |id| because we detected corruption in the current copy.
   // |reason_for_uma| indicates origin and details of the requires, and is used
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 9c453ba..85346993 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -3844,6 +3844,11 @@
     "expiry_milestone": 105
   },
   {
+    "name": "leak-detection-unauthenticated",
+    "owners": ["rgod@google.com", "vasilii"],
+    "expiry_milestone": 102
+  },
+  {
     "name": "legacy-tls-interstitial",
     "owners": [ "cthomp" ],
     "expiry_milestone": 92
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index dad7fc9..3cdd9f5b 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -55,6 +55,11 @@
     "To evaluate an enhanced Launcher experience that enables users to reorder "
     "their apps in order to find them more easily.";
 
+const char kLeakDetectionUnauthenticated[] =
+    "Leak detection for signed out users.";
+const char kLeakDetectionUnauthenticatedDescription[] =
+    "Enables leak detection feature for signed out users.";
+
 const char kAllowInsecureLocalhostName[] =
     "Allow invalid certificates for resources loaded from localhost.";
 const char kAllowInsecureLocalhostDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 36b2a09..3f83148 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -100,6 +100,9 @@
 extern const char kLauncherAppSortName[];
 extern const char kLauncherAppSortDescription[];
 
+extern const char kLeakDetectionUnauthenticated[];
+extern const char kLeakDetectionUnauthenticatedDescription[];
+
 extern const char kDetectFormSubmissionOnFormClearName[];
 extern const char kDetectFormSubmissionOnFormClearDescription[];
 
diff --git a/chrome/browser/fuchsia/element_manager_impl.cc b/chrome/browser/fuchsia/element_manager_impl.cc
index 1869796..fedeff0d 100644
--- a/chrome/browser/fuchsia/element_manager_impl.cc
+++ b/chrome/browser/fuchsia/element_manager_impl.cc
@@ -6,6 +6,7 @@
 
 #include "base/command_line.h"
 #include "base/files/file_path.h"
+#include "base/logging.h"
 #include "chrome/browser/chrome_browser_main.h"
 
 ElementManagerImpl::ElementManagerImpl(
@@ -21,20 +22,36 @@
     fuchsia::element::Spec spec,
     fidl::InterfaceRequest<fuchsia::element::Controller> element_controller,
     ProposeElementCallback callback) {
-  fuchsia::element::Manager_ProposeElement_Result result;
-
   if (spec.component_url() !=
       "fuchsia-pkg://fuchsia.com/chrome#meta/chrome.cm") {
-    result.set_err(fuchsia::element::ProposeElementError::INVALID_ARGS);
-    callback(std::move(result));
+    callback(fuchsia::element::Manager_ProposeElement_Result::WithErr(
+        fuchsia::element::ProposeElementError::INVALID_ARGS));
     return;
   }
 
   base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
-  if (callback_.Run(command_line)) {
-    result.set_response({});
-  } else {
-    result.set_err(fuchsia::element::ProposeElementError::INVALID_ARGS);
+  if (!callback_.Run(command_line)) {
+    callback(fuchsia::element::Manager_ProposeElement_Result::WithErr(
+        fuchsia::element::ProposeElementError::INVALID_ARGS));
   }
-  callback(std::move(result));
+
+  if (element_controller) {
+    controller_bindings_.AddBinding(this, std::move(element_controller));
+  }
+  callback(fuchsia::element::Manager_ProposeElement_Result::WithResponse({}));
+}
+
+void ElementManagerImpl::UpdateAnnotations(
+    std::vector<fuchsia::element::Annotation> annotations_to_set,
+    std::vector<fuchsia::element::AnnotationKey> annotations_to_delete,
+    UpdateAnnotationsCallback callback) {
+  NOTIMPLEMENTED_LOG_ONCE();
+  callback(fuchsia::element::AnnotationController_UpdateAnnotations_Result::
+               WithResponse({}));
+}
+
+void ElementManagerImpl::GetAnnotations(GetAnnotationsCallback callback) {
+  NOTIMPLEMENTED_LOG_ONCE();
+  callback(fuchsia::element::AnnotationController_GetAnnotations_Result::
+               WithResponse({}));
 }
diff --git a/chrome/browser/fuchsia/element_manager_impl.h b/chrome/browser/fuchsia/element_manager_impl.h
index f1e9757..4249de93 100644
--- a/chrome/browser/fuchsia/element_manager_impl.h
+++ b/chrome/browser/fuchsia/element_manager_impl.h
@@ -19,7 +19,8 @@
 class OutgoingDirectory;
 }  // namespace sys
 
-class ElementManagerImpl : public fuchsia::element::Manager {
+class ElementManagerImpl final : public fuchsia::element::Manager,
+                                 public fuchsia::element::Controller {
  public:
   // Implement this callback to handle notifications to start a new element. The
   // callback will receive the command line needed to start the new window(s).
@@ -42,9 +43,17 @@
       fidl::InterfaceRequest<fuchsia::element::Controller> element_controller,
       ProposeElementCallback callback) override;
 
+  // fuchsia::element::Controller implementation
+  void UpdateAnnotations(
+      std::vector<fuchsia::element::Annotation> annotations_to_set,
+      std::vector<fuchsia::element::AnnotationKey> annotations_to_delete,
+      UpdateAnnotationsCallback callback) override;
+  void GetAnnotations(GetAnnotationsCallback callback) override;
+
  private:
   base::ScopedServiceBinding<fuchsia::element::Manager> binding_;
-  NewProposalCallback callback_;
+  const NewProposalCallback callback_;
+  fidl::BindingSet<fuchsia::element::Controller> controller_bindings_;
 };
 
 #endif  // CHROME_BROWSER_FUCHSIA_ELEMENT_MANAGER_IMPL_H_
diff --git a/chrome/browser/fuchsia/element_manager_impl_unittest.cc b/chrome/browser/fuchsia/element_manager_impl_unittest.cc
index 259c96a..ec9bfc0 100644
--- a/chrome/browser/fuchsia/element_manager_impl_unittest.cc
+++ b/chrome/browser/fuchsia/element_manager_impl_unittest.cc
@@ -79,4 +79,27 @@
   EXPECT_FALSE(received_command_line_);
 }
 
+TEST_F(TestElementManagerImpl, TestController) {
+  auto element_manager = GetElementManagerPtr();
+
+  fuchsia::element::ControllerPtr controller;
+  fuchsia::element::Spec valid_spec;
+  valid_spec.set_component_url(
+      "fuchsia-pkg://fuchsia.com/chrome#meta/chrome.cm");
+
+  element_manager->ProposeElement(std::move(valid_spec),
+                                  controller.NewRequest(), [&](auto result) {});
+  task_environment_.RunUntilIdle();
+  EXPECT_TRUE(controller.is_bound());
+
+  fuchsia::element::Spec invalid_spec;
+  invalid_spec.set_component_url("foobar");
+
+  controller = fuchsia::element::ControllerPtr();
+  element_manager->ProposeElement(std::move(invalid_spec),
+                                  controller.NewRequest(), [&](auto result) {});
+  task_environment_.RunUntilIdle();
+  EXPECT_FALSE(controller.is_bound());
+}
+
 }  // namespace
diff --git a/chrome/browser/global_keyboard_shortcuts_mac.mm b/chrome/browser/global_keyboard_shortcuts_mac.mm
index eb0dbf9..e0c51db 100644
--- a/chrome/browser/global_keyboard_shortcuts_mac.mm
+++ b/chrome/browser/global_keyboard_shortcuts_mac.mm
@@ -171,7 +171,6 @@
     {true,  false, false, true,  kVK_UpArrow,           IDC_FOCUS_PREVIOUS_PANE},
     {true,  true,  false, false, kVK_ANSI_A,            IDC_TAB_SEARCH},
     {true,  true,  false, true,  kVK_ANSI_A,            IDC_FOCUS_INACTIVE_POPUP_FOR_ACCESSIBILITY},
-    {true,  false, true,  false, kVK_ANSI_F,            IDC_FULLSCREEN},
 
     // Special shortcuts for Zoom in and out.
     {true,  false, false, false, kVK_ANSI_KeypadPlus,   IDC_ZOOM_PLUS},
diff --git a/chrome/browser/history_clusters/history_clusters_metrics_browsertest.cc b/chrome/browser/history_clusters/history_clusters_metrics_browsertest.cc
index ef75785..84648eb 100644
--- a/chrome/browser/history_clusters/history_clusters_metrics_browsertest.cc
+++ b/chrome/browser/history_clusters/history_clusters_metrics_browsertest.cc
@@ -35,6 +35,11 @@
 
 namespace {
 
+enum class UiTab {
+  kBasicHistory = 0,
+  kClustersUi = 1,
+};
+
 void ValidateHistoryClustersUKMEntry(const ukm::mojom::UkmEntry* entry,
                                      HistoryClustersInitialState init_state,
                                      HistoryClustersFinalState final_state,
@@ -70,17 +75,69 @@
     feature_list_.InitWithFeatures({history_clusters::internal::kJourneys}, {});
   }
 
+  // Toggle to the specified `tab`, either the basic history (0) or clusters UI
+  // (1).
+  void ToggleToUi(UiTab tab) {
+    std::string tab_string = tab == UiTab::kClustersUi ? "1" : "0";
+    std::string execute_string = "";
+    execute_string += R"(
+        import('chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js')
+          .then((polymerModule)=> {
+            polymerModule.flush();
+            const historyApp = document.querySelector('#history-app');
+            const tab = )" +
+                      tab_string + R"(;
+            historyApp.shadowRoot.querySelector('cr-tabs').selected = tab;
+            window.domAutomationController.send(true);
+          });)";
+    bool result = false;
+    EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
+        browser()->tab_strip_model()->GetActiveWebContents(), execute_string,
+        &result));
+    EXPECT_TRUE(result);
+  }
+
+  // Creates and follows an anchor link. Since we can't differentiate between
+  // that and actual visit links, it'll log the final state as `kLinkClick`,
+  // which is useful since the browser tests won't populate journeys, and we
+  // have no other way to trigger `kLinkClick`.
+  void FollowBrowserManagedLink() {
+    std::string execute_string = "";
+    execute_string += R"(
+        import('chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js')
+          .then((polymerModule)=> {
+            polymerModule.flush();
+            let link = document.createElement('a');
+            link.href = 'https://google.com';
+            link.click();
+            window.domAutomationController.send(true);
+          });)";
+    bool result = false;
+    EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
+        browser()->tab_strip_model()->GetActiveWebContents(), execute_string,
+        &result));
+    EXPECT_TRUE(result);
+  }
+
  private:
   base::test::ScopedFeatureList feature_list_;
 };
 
 IN_PROC_BROWSER_TEST_F(HistoryClustersMetricsBrowserTest,
                        NoUKMEventOnOtherPages) {
+  base::HistogramTester histogram_tester;
   ukm::TestAutoSetUkmRecorder ukm_recorder;
+  // Navigate to and away from a site. The UKM events are recorded when leaving
+  // a page.
   EXPECT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL("https://foo.com")));
+  EXPECT_TRUE(
+      ui_test_utils::NavigateToURL(browser(), GURL("https://foo2.com")));
   auto entries =
       ukm_recorder.GetEntriesByName(ukm::builders::HistoryClusters::kEntryName);
   EXPECT_EQ(0u, entries.size());
+  histogram_tester.ExpectTotalCount("History.Clusters.Actions.FinalState", 0);
+  histogram_tester.ExpectTotalCount("History.Clusters.Actions.DidMakeQuery", 0);
+  histogram_tester.ExpectTotalCount("History.Clusters.Actions.NumQueries", 0);
 }
 
 // Flaky on Win, Linux and Mac. http://crbug.com/1282122
@@ -181,19 +238,7 @@
 
   EXPECT_TRUE(ui_test_utils::NavigateToURL(
       browser(), GURL(chrome::kChromeUIHistoryClustersURL)));
-  bool toggled_to_basic = false;
-  EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
-      browser()->tab_strip_model()->GetActiveWebContents(), R"(
-        const polymerPath =
-            'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
-        import(polymerPath).then((polymerModule)=> {
-          polymerModule.flush();
-          const historyApp = document.querySelector('#history-app');
-          historyApp.shadowRoot.querySelector('cr-tabs').selected = 0;
-          window.domAutomationController.send(true);
-        });)",
-      &toggled_to_basic));
-  EXPECT_TRUE(toggled_to_basic);
+  ToggleToUi(UiTab::kBasicHistory);
 
   EXPECT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL("https://foo.com")));
   auto entries =
@@ -202,10 +247,39 @@
   auto* ukm_entry = entries[0];
   ValidateHistoryClustersUKMEntry(
       ukm_entry, HistoryClustersInitialState::kDirectNavigation,
-      HistoryClustersFinalState::kCloseTab, 0, 1);
+      HistoryClustersFinalState::kSameDocNavigation, 0, 1);
   histogram_tester.ExpectUniqueSample(
       "History.Clusters.Actions.InitialState",
       HistoryClustersInitialState::kDirectNavigation, 1);
+  histogram_tester.ExpectUniqueSample(
+      "History.Clusters.Actions.FinalState",
+      HistoryClustersFinalState::kSameDocNavigation, 1);
+  histogram_tester.ExpectUniqueSample("History.Clusters.Actions.DidMakeQuery",
+                                      false, 1);
+  histogram_tester.ExpectTotalCount("History.Clusters.Actions.NumQueries", 0);
+}
+
+IN_PROC_BROWSER_TEST_F(HistoryClustersMetricsBrowserTest,
+                       DirectNavigationWithToggleToBasicAndToggleBack) {
+  base::HistogramTester histogram_tester;
+  ukm::TestAutoSetUkmRecorder ukm_recorder;
+
+  EXPECT_TRUE(ui_test_utils::NavigateToURL(
+      browser(), GURL(chrome::kChromeUIHistoryClustersURL)));
+  ToggleToUi(UiTab::kBasicHistory);
+  ToggleToUi(UiTab::kClustersUi);
+
+  EXPECT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL("https://foo.com")));
+  auto entries =
+      ukm_recorder.GetEntriesByName(ukm::builders::HistoryClusters::kEntryName);
+  EXPECT_EQ(1u, entries.size());
+  auto* ukm_entry = entries[0];
+  ValidateHistoryClustersUKMEntry(
+      ukm_entry, HistoryClustersInitialState::kIndirectNavigation,
+      HistoryClustersFinalState::kCloseTab, 0, 1);
+  histogram_tester.ExpectUniqueSample(
+      "History.Clusters.Actions.InitialState",
+      HistoryClustersInitialState::kIndirectNavigation, 1);
   histogram_tester.ExpectUniqueSample("History.Clusters.Actions.FinalState",
                                       HistoryClustersFinalState::kCloseTab, 1);
   histogram_tester.ExpectUniqueSample("History.Clusters.Actions.DidMakeQuery",
@@ -213,19 +287,20 @@
   histogram_tester.ExpectTotalCount("History.Clusters.Actions.NumQueries", 0);
 }
 
-// TODO(manukh): Adjust the expectations for the navigation tests.
+// Assumed to be flaky since the above tests are flaky.
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#define MAYBE_IndirectNavigation DISABLED_IndirectNavigation
+#else
+#define MAYBE_IndirectNavigation IndirectNavigation
+#endif
 IN_PROC_BROWSER_TEST_F(HistoryClustersMetricsBrowserTest,
-                       DISABLED_IndirectNavigation) {
+                       MAYBE_IndirectNavigation) {
   base::HistogramTester histogram_tester;
   ukm::TestAutoSetUkmRecorder ukm_recorder;
 
   EXPECT_TRUE(ui_test_utils::NavigateToURL(browser(),
                                            GURL(chrome::kChromeUIHistoryURL)));
-  EXPECT_TRUE(content::ExecJs(
-      browser()->tab_strip_model()->GetActiveWebContents(),
-      "document.querySelector('#history-app').shadowRoot.querySelector('#"
-      "content-side-bar').shadowRoot.querySelector('#historyClusters').click()",
-      content::EXECUTE_SCRIPT_DEFAULT_OPTIONS, 1 /* world_id */));
+  ToggleToUi(UiTab::kClustersUi);
 
   EXPECT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL("https://foo.com")));
   auto entries =
@@ -245,4 +320,37 @@
   histogram_tester.ExpectTotalCount("History.Clusters.Actions.NumQueries", 0);
 }
 
+// Assumed to be flaky since the above tests are flaky.
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#define MAYBE_LinkClick DISABLED_LinkClick
+#else
+#define MAYBE_LinkClick LinkClick
+#endif
+IN_PROC_BROWSER_TEST_F(HistoryClustersMetricsBrowserTest, MAYBE_LinkClick) {
+  base::HistogramTester histogram_tester;
+  ukm::TestAutoSetUkmRecorder ukm_recorder;
+
+  EXPECT_TRUE(ui_test_utils::NavigateToURL(
+      browser(), GURL(chrome::kChromeUIHistoryClustersURL)));
+  FollowBrowserManagedLink();
+  EXPECT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL("https://foo.com")));
+
+  auto entries =
+      ukm_recorder.GetEntriesByName(ukm::builders::HistoryClusters::kEntryName);
+  EXPECT_EQ(1u, entries.size());
+  auto* ukm_entry = entries[0];
+  ValidateHistoryClustersUKMEntry(
+      ukm_entry, HistoryClustersInitialState::kDirectNavigation,
+      HistoryClustersFinalState::kLinkClick, 0, 0);
+
+  histogram_tester.ExpectUniqueSample(
+      "History.Clusters.Actions.InitialState",
+      HistoryClustersInitialState::kDirectNavigation, 1);
+  histogram_tester.ExpectUniqueSample("History.Clusters.Actions.FinalState",
+                                      HistoryClustersFinalState::kLinkClick, 1);
+  histogram_tester.ExpectUniqueSample("History.Clusters.Actions.DidMakeQuery",
+                                      false, 1);
+  histogram_tester.ExpectTotalCount("History.Clusters.Actions.NumQueries", 0);
+}
+
 }  // namespace history_clusters
diff --git a/chrome/browser/history_clusters/history_clusters_metrics_logger.h b/chrome/browser/history_clusters/history_clusters_metrics_logger.h
index 530f45a..042f6e2 100644
--- a/chrome/browser/history_clusters/history_clusters_metrics_logger.h
+++ b/chrome/browser/history_clusters/history_clusters_metrics_logger.h
@@ -36,12 +36,20 @@
   // The interaction with the HistoryClusters UI ended with a click on a link.
   kLinkClick = 1,
   // The UI interaction ended without opening anything on the page.
-  // TODO(manukh): Currently, clicking on the side bar links (e.g. the link to
-  //  tabs from other devices) will record the final state as `kCloseTab`. We
-  //  should differentiate this case.
+  // TODO(manukh crbug/1243049): If the HistoryClusters page is refreshed, a
+  // `kCloseTab` is
+  //  recorded. We should probably distinguish refresh from page close.
   kCloseTab = 2,
+  // The interaction ended with a same doc navigation; i.e., the
+  // 'Chrome history' & 'Tabs from other devices' links. Because a user may
+  // toggle between the history UIs, `kSameDocNavigation` is only used if the
+  // user was not on the HistoryClusters UI last. E.g., 1) navigating to the
+  // HistoryClustersUi, 2) toggling to the history UI, 3) returning to the
+  // HistoryClustersUI, and 4) closing the tab will record `kCloseTab`, not
+  // `kSameDocNavigation`.
+  kSameDocNavigation = 3,
   // Add new values above this line.
-  kMaxValue = kCloseTab,
+  kMaxValue = kSameDocNavigation,
 };
 
 // HistoryClustersMetricsLogger contains all the metrics/events associated with
@@ -59,10 +67,16 @@
     init_state_ = init_state;
   }
 
+  absl::optional<HistoryClustersFinalState> get_final_state() {
+    return final_state_;
+  }
+
   void set_final_state(HistoryClustersFinalState final_state) {
     final_state_ = final_state;
   }
 
+  void clear_final_state() { final_state_.reset(); }
+
   void increment_query_count() { num_queries_++; }
 
   void increment_toggles_to_basic_history() { num_toggles_to_basic_history_++; }
diff --git a/chrome/browser/history_clusters/history_clusters_tab_helper.cc b/chrome/browser/history_clusters/history_clusters_tab_helper.cc
index ca189ea7..98b425b 100644
--- a/chrome/browser/history_clusters/history_clusters_tab_helper.cc
+++ b/chrome/browser/history_clusters/history_clusters_tab_helper.cc
@@ -277,20 +277,43 @@
     return;
   }
 
-  // We only care if the previously committed navigation was on the
-  // HistoryClusters UI.
+  // When the user navigates back to the HistoryClusters UI after having
+  // navigated away from it to another history UI (e.g. the ChromeHistory or
+  // TabSync UIs), clear the final state that was set to `kSameDocNavigation`
+  // when they navigated away.
+  if (IsHistoryPage(navigation_handle->GetURL(),
+                    GURL(chrome::kChromeUIHistoryClustersURL))) {
+    auto* logger =
+        history_clusters::HistoryClustersMetricsLogger::GetOrCreateForPage(
+            navigation_handle->GetWebContents()->GetPrimaryPage());
+    DCHECK(!logger->get_final_state() ||
+           *logger->get_final_state() ==
+               history_clusters::HistoryClustersFinalState::kSameDocNavigation);
+    logger->clear_final_state();
+  }
+
+  // The remaining logic only pertains to if the previously committed navigation
+  // was on the HistoryClusters UI.
   if (!IsHistoryPage(navigation_handle->GetWebContents()->GetLastCommittedURL(),
                      GURL(chrome::kChromeUIHistoryClustersURL))) {
     return;
   }
 
   if (navigation_handle->IsSameDocument()) {
+    auto* logger =
+        history_clusters::HistoryClustersMetricsLogger::GetOrCreateForPage(
+            navigation_handle->GetWebContents()->GetPrimaryPage());
+    // When the user navigates away from the HistoryClusters UI to the
+    // ChromeHistory UI, increment the toggles count.
     if (IsHistoryPage(navigation_handle->GetURL(),
                       GURL(chrome::kChromeUIHistoryURL))) {
-      history_clusters::HistoryClustersMetricsLogger::GetOrCreateForPage(
-          navigation_handle->GetWebContents()->GetPrimaryPage())
-          ->increment_toggles_to_basic_history();
+      logger->increment_toggles_to_basic_history();
     }
+    // When the user navigates from the HistoryClusters UI to another History UI
+    // (e.g. the ChromeHistory or TabSync UIs), set the final state to
+    // `kSameDocNavigation`.
+    logger->set_final_state(
+        history_clusters::HistoryClustersFinalState::kSameDocNavigation);
     return;
   }
 
@@ -298,7 +321,7 @@
                      GURL(chrome::kChromeUIHistoryClustersURL)) &&
       PageTransitionCoreTypeIs(navigation_handle->GetPageTransition(),
                                ui::PAGE_TRANSITION_LINK)) {
-    // If the previously committed navigation was on the history clusters page,
+    // If the previously committed navigation was on the history clusters UI,
     // the current navigation is not on the history clusters UI and the
     // transition type is a link click, then we know the user clicked on a
     // result on the clusters page.
diff --git a/chrome/browser/media/router/providers/cast/cast_media_controller.cc b/chrome/browser/media/router/providers/cast/cast_media_controller.cc
index 8c72e78..dd0aa00 100644
--- a/chrome/browser/media/router/providers/cast/cast_media_controller.cc
+++ b/chrome/browser/media/router/providers/cast/cast_media_controller.cc
@@ -239,13 +239,13 @@
     // |can_set_volume| and |can_mute| are not used, because the receiver volume
     // info obtained in SetSession() is used instead.
     media_status_.can_play_pause = base::Contains(
-        commands_list.GetList(), base::Value(kMediaCommandPause));
-    media_status_.can_seek =
-        base::Contains(commands_list.GetList(), base::Value(kMediaCommandSeek));
+        commands_list.GetListDeprecated(), base::Value(kMediaCommandPause));
+    media_status_.can_seek = base::Contains(commands_list.GetListDeprecated(),
+                                            base::Value(kMediaCommandSeek));
     media_status_.can_skip_to_next_track = base::Contains(
-        commands_list.GetList(), base::Value(kMediaCommandQueueNext));
+        commands_list.GetListDeprecated(), base::Value(kMediaCommandQueueNext));
     media_status_.can_skip_to_previous_track = base::Contains(
-        commands_list.GetList(), base::Value(kMediaCommandQueuePrev));
+        commands_list.GetListDeprecated(), base::Value(kMediaCommandQueuePrev));
   }
 
   const base::Value* player_state = status_value.FindKey("playerState");
diff --git a/chrome/browser/media/router/providers/cast/cast_session_client_impl.cc b/chrome/browser/media/router/providers/cast/cast_session_client_impl.cc
index 2561f00..cbfa464 100644
--- a/chrome/browser/media/router/providers/cast/cast_session_client_impl.cc
+++ b/chrome/browser/media/router/providers/cast/cast_session_client_impl.cc
@@ -29,7 +29,7 @@
 // null.
 void RemoveNullFields(base::Value& value) {
   if (value.is_list()) {
-    for (auto& item : value.GetList()) {
+    for (auto& item : value.GetListDeprecated()) {
       RemoveNullFields(item);
     }
   } else if (value.is_dict()) {
diff --git a/chrome/browser/media/webrtc/webrtc_mediadevices_interactive_uitest.cc b/chrome/browser/media/webrtc/webrtc_mediadevices_interactive_uitest.cc
index f9f581d2..d05e281c 100644
--- a/chrome/browser/media/webrtc/webrtc_mediadevices_interactive_uitest.cc
+++ b/chrome/browser/media/webrtc/webrtc_mediadevices_interactive_uitest.cc
@@ -95,11 +95,11 @@
 
     base::Value& values = *parsed_json.value;
     ASSERT_TRUE(values.is_list());
-    ASSERT_FALSE(values.GetList().empty());
+    ASSERT_FALSE(values.GetListDeprecated().empty());
     bool found_audio_input = false;
     bool found_video_input = false;
 
-    for (const auto& dict : values.GetList()) {
+    for (const auto& dict : values.GetListDeprecated()) {
       ASSERT_TRUE(dict.is_dict());
       MediaDeviceInfo device;
       ASSERT_TRUE(dict.FindStringPath("deviceId"));
diff --git a/chrome/browser/metrics/power/power_metrics_reporter.cc b/chrome/browser/metrics/power/power_metrics_reporter.cc
index d03d1a0..a0a40dd 100644
--- a/chrome/browser/metrics/power/power_metrics_reporter.cc
+++ b/chrome/browser/metrics/power/power_metrics_reporter.cc
@@ -20,6 +20,10 @@
 #include "services/metrics/public/cpp/ukm_builders.h"
 #include "services/metrics/public/cpp/ukm_source_id.h"
 
+#if BUILDFLAG(IS_MAC)
+#include "components/power_metrics/resource_coalition_mac.h"
+#endif  // BUILDFLAG(IS_MAC)
+
 namespace {
 
 constexpr const char* kBatteryDischargeRateHistogramName =
@@ -33,6 +37,34 @@
 constexpr const char* kMainScreenBrightnessAvailableHistogramName =
     "Power.MainScreenBrightnessAvailable";
 
+#if BUILDFLAG(IS_MAC)
+// Reports `proportion` of a time used to a histogram in permyriad (1/100 %).
+// `proportion` is 0.5 if half a CPU core or half total GPU time is used. It can
+// be above 1.0 if more than 1 CPU core is used. CPU and GPU usage is often
+// below 1% so it's useful to report with 1/10000 granularity (otherwise most
+// samples end up in the same bucket).
+void UsageTimeHistogram(const std::string& histogram_name,
+                        double proportion,
+                        int max_proportion) {
+  // Multiplicator to convert `proportion` to permyriad (1/100 %).
+  // For example, 1.0 * kScaleFactor = 10000 1/100 % = 100 %.
+  constexpr int kScaleFactor = 100 * 100;
+
+  base::UmaHistogramCustomCounts(
+      histogram_name, std::lroundl(proportion * kScaleFactor),
+      /* min=*/1, /* exclusive_max=*/max_proportion * kScaleFactor,
+      /* buckets=*/50);
+}
+
+// Max proportion for CPU time histograms. This used to be 64 but was reduced to
+// 2 because data shows that less than 0.2% of samples are above that.
+constexpr int kMaxCPUProportion = 2;
+
+// Max proportion for GPU time histograms. It's not possible to use more than
+// 100% of total GPU time.
+constexpr int kMaxGPUProportion = 1;
+#endif  // BUILDFLAG(IS_MAC)
+
 // Calculates the UKM bucket |value| falls in and returns it. This uses an
 // exponential bucketing approach with an exponent base of 1.3, resulting in
 // 17 buckets for an interval of 120 seconds.
@@ -154,21 +186,18 @@
     const UsageScenarioDataStore::IntervalData& interval_data,
     const performance_monitor::ProcessMonitor::Metrics& metrics,
     base::TimeDelta interval_duration,
-    BatteryDischargeMode discharge_mode,
-    absl::optional<int64_t> discharge_rate_during_interval) {
+    BatteryDischarge battery_discharge) {
   const std::vector<const char*> suffixes = GetSuffixes(interval_data);
   ReportCPUHistograms(metrics, suffixes);
-  ReportBatteryHistograms(interval_duration, discharge_mode,
-                          discharge_rate_during_interval, suffixes);
+  ReportBatteryHistograms(interval_duration, battery_discharge, suffixes);
 #if BUILDFLAG(IS_MAC)
-  RecordCoalitionData(metrics, suffixes);
+  ReportResourceCoalitionHistograms(metrics, suffixes);
 #endif
 }
 
 void PowerMetricsReporter::ReportBatteryHistograms(
     base::TimeDelta interval_duration,
-    BatteryDischargeMode discharge_mode,
-    absl::optional<int64_t> discharge_rate_during_interval,
+    BatteryDischarge battery_discharge,
     const std::vector<const char*>& suffixes) {
   // Ratio by which the time elapsed can deviate from
   // |performance_monitor::ProcessMonitor::kGatherInterval| without invalidating
@@ -177,32 +206,32 @@
   constexpr double kTolerablePositiveDrift = (1. + kTolerableTimeElapsedRatio);
   constexpr double kTolerableNegativeDrift = (1. - kTolerableTimeElapsedRatio);
 
-  if (discharge_mode == BatteryDischargeMode::kDischarging &&
+  if (battery_discharge.mode == BatteryDischargeMode::kDischarging &&
       interval_duration > performance_monitor::ProcessMonitor::kGatherInterval *
                               kTolerablePositiveDrift) {
     // Too much time passed since the last record. Either the task took
     // too long to get executed or system sleep took place.
-    discharge_mode = BatteryDischargeMode::kInvalidInterval;
+    battery_discharge.mode = BatteryDischargeMode::kInvalidInterval;
   }
 
-  if (discharge_mode == BatteryDischargeMode::kDischarging &&
+  if (battery_discharge.mode == BatteryDischargeMode::kDischarging &&
       interval_duration < performance_monitor::ProcessMonitor::kGatherInterval *
                               kTolerableNegativeDrift) {
     // The recording task executed too early after the previous one, possibly
     // because the previous task took too long to execute.
-    discharge_mode = BatteryDischargeMode::kInvalidInterval;
+    battery_discharge.mode = BatteryDischargeMode::kInvalidInterval;
   }
 
   for (const char* suffix : suffixes) {
     base::UmaHistogramEnumeration(
         base::JoinString({kBatteryDischargeModeHistogramName, suffix}, ""),
-        discharge_mode);
+        battery_discharge.mode);
 
-    if (discharge_mode == BatteryDischargeMode::kDischarging) {
-      DCHECK(discharge_rate_during_interval.has_value());
+    if (battery_discharge.mode == BatteryDischargeMode::kDischarging) {
+      DCHECK(battery_discharge.rate.has_value());
       base::UmaHistogramCounts1000(
           base::JoinString({kBatteryDischargeRateHistogramName, suffix}, ""),
-          *discharge_rate_during_interval);
+          *battery_discharge.rate);
     }
   }
 }
@@ -228,11 +257,9 @@
   base::UmaHistogramMicrosecondsTimes(kBatterySamplingDelayHistogramName,
                                       now - scheduled_time);
 
-  auto discharge_mode_and_rate =
-      GetBatteryDischargeRateDuringInterval(battery_state, interval_duration);
-  ReportUKMsAndHistograms(metrics, interval_duration,
-                          discharge_mode_and_rate.first,
-                          discharge_mode_and_rate.second);
+  auto battery_discharge =
+      GetBatteryDischargeDuringInterval(battery_state, interval_duration);
+  ReportUKMsAndHistograms(metrics, interval_duration, battery_discharge);
 
   if (on_battery_sampled_for_testing_)
     std::move(on_battery_sampled_for_testing_).Run();
@@ -241,8 +268,7 @@
 void PowerMetricsReporter::ReportUKMsAndHistograms(
     const performance_monitor::ProcessMonitor::Metrics& metrics,
     base::TimeDelta interval_duration,
-    BatteryDischargeMode discharge_mode,
-    absl::optional<int64_t> discharge_rate_during_interval) const {
+    BatteryDischarge battery_discharge) const {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(data_store_.MaybeValid());
 
@@ -269,11 +295,11 @@
   base::UmaHistogramBoolean(kMainScreenBrightnessAvailableHistogramName,
                             main_screen_brightness.has_value());
 
-  ReportUKMs(interval_data, metrics, interval_duration, discharge_mode,
-             discharge_rate_during_interval, main_screen_brightness);
+  ReportUKMs(interval_data, metrics, interval_duration, battery_discharge,
+             main_screen_brightness);
 
-  ReportHistograms(interval_data, metrics, interval_duration, discharge_mode,
-                   discharge_rate_during_interval);
+  ReportHistograms(interval_data, metrics, interval_duration,
+                   battery_discharge);
 }
 
 // static
@@ -287,12 +313,102 @@
   }
 }
 
+#if BUILDFLAG(IS_MAC)
+// static
+void PowerMetricsReporter::ReportResourceCoalitionHistograms(
+    const performance_monitor::ProcessMonitor::Metrics& metrics,
+    const std::vector<const char*>& suffixes) {
+  if (!metrics.coalition_data.has_value())
+    return;
+
+  // Calling this function with an empty suffix list is probably a mistake.
+  DCHECK(!suffixes.empty());
+
+  // TODO(crbug.com/1229884): Review the units and buckets once we have
+  // sufficient data from the field.
+
+  for (const char* scenario_suffix : suffixes) {
+    // Suffixes are expected to be empty or starting by a period.
+    DCHECK(::strlen(scenario_suffix) == 0U || scenario_suffix[0] == '.');
+
+    UsageTimeHistogram(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.CPUTime2", scenario_suffix}),
+        metrics.coalition_data->cpu_time_per_second, kMaxCPUProportion);
+    UsageTimeHistogram(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.GPUTime2", scenario_suffix}),
+        metrics.coalition_data->gpu_time_per_second, kMaxGPUProportion);
+
+    // Report the metrics based on a count (e.g. wakeups) with a millievent/sec
+    // granularity. In theory it doesn't make much sense to talk about a
+    // milliwakeups but the wakeup rate should ideally be lower than one per
+    // second in some scenarios and this will provide more granularity.
+    constexpr int kMilliFactor = 1000;
+    auto scale_sample = [](double sample) -> int {
+      // Round the sample to the nearest integer value.
+      return std::roundl(sample * kMilliFactor);
+    };
+    base::UmaHistogramCounts1M(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.InterruptWakeupsPerSecond",
+             scenario_suffix}),
+        scale_sample(metrics.coalition_data->interrupt_wakeups_per_second));
+    base::UmaHistogramCounts1M(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition."
+                      "PlatformIdleWakeupsPerSecond",
+                      scenario_suffix}),
+        scale_sample(metrics.coalition_data->platform_idle_wakeups_per_second));
+    base::UmaHistogramCounts10M(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition.BytesReadPerSecond",
+                      scenario_suffix}),
+        scale_sample(metrics.coalition_data->bytesread_per_second));
+    base::UmaHistogramCounts10M(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.BytesWrittenPerSecond",
+             scenario_suffix}),
+        scale_sample(metrics.coalition_data->byteswritten_per_second));
+
+    // EnergyImpact is reported in centi-EI, so scaled up by a factor of 100
+    // for the histogram recording.
+    constexpr double kEnergyImpactScalingFactor = 100.0;
+    base::UmaHistogramCounts100000(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition.EnergyImpact",
+                      scenario_suffix}),
+        std::roundl(metrics.coalition_data->energy_impact_per_second *
+                    kEnergyImpactScalingFactor));
+
+    constexpr int kNanoWattToMilliWatt = 1000 * 1000;
+    // Use a maximum of 100 watts, or 100 * 1000 milliwatts.
+    base::UmaHistogramCounts100000(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.Power", scenario_suffix}),
+        std::roundl(metrics.coalition_data->power_nw / kNanoWattToMilliWatt));
+
+    auto record_qos_level = [&](size_t index, const char* qos_suffix) {
+      UsageTimeHistogram(
+          base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.",
+                        qos_suffix, scenario_suffix}),
+          metrics.coalition_data->qos_time_per_second[index],
+          kMaxCPUProportion);
+    };
+
+    record_qos_level(THREAD_QOS_DEFAULT, "Default");
+    record_qos_level(THREAD_QOS_MAINTENANCE, "Maintenance");
+    record_qos_level(THREAD_QOS_BACKGROUND, "Background");
+    record_qos_level(THREAD_QOS_UTILITY, "Utility");
+    record_qos_level(THREAD_QOS_LEGACY, "Legacy");
+    record_qos_level(THREAD_QOS_USER_INITIATED, "UserInitiated");
+    record_qos_level(THREAD_QOS_USER_INTERACTIVE, "UserInteractive");
+  }
+}
+#endif  // BUILDFLAG(IS_MAC)
+
 void PowerMetricsReporter::ReportUKMs(
     const UsageScenarioDataStore::IntervalData& interval_data,
     const performance_monitor::ProcessMonitor::Metrics& metrics,
     base::TimeDelta interval_duration,
-    BatteryDischargeMode discharge_mode,
-    absl::optional<int64_t> discharge_rate_during_interval,
+    BatteryDischarge battery_discharge,
     absl::optional<int64_t> main_screen_brightness) const {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(data_store_.MaybeValid());
@@ -322,10 +438,10 @@
   // interval duration.
   builder.SetUptimeSeconds(ukm::GetExponentialBucketMinForUserTiming(
       interval_data.uptime_at_interval_end.InSeconds()));
-  builder.SetBatteryDischargeMode(static_cast<int64_t>(discharge_mode));
-  if (discharge_mode == BatteryDischargeMode::kDischarging) {
-    DCHECK(discharge_rate_during_interval.has_value());
-    builder.SetBatteryDischargeRate(*discharge_rate_during_interval);
+  builder.SetBatteryDischargeMode(static_cast<int64_t>(battery_discharge.mode));
+  if (battery_discharge.mode == BatteryDischargeMode::kDischarging) {
+    DCHECK(battery_discharge.rate.has_value());
+    builder.SetBatteryDischargeRate(*battery_discharge.rate);
   }
   builder.SetCPUTimeMs(metrics.cpu_usage * interval_duration.InMilliseconds());
 #if BUILDFLAG(IS_MAC)
@@ -370,8 +486,8 @@
   builder.Record(ukm_recorder);
 }
 
-std::pair<PowerMetricsReporter::BatteryDischargeMode, absl::optional<int64_t>>
-PowerMetricsReporter::GetBatteryDischargeRateDuringInterval(
+PowerMetricsReporter::BatteryDischarge
+PowerMetricsReporter::GetBatteryDischargeDuringInterval(
     const BatteryLevelProvider::BatteryState& new_battery_state,
     base::TimeDelta interval_duration) {
   auto previous_battery_state =
diff --git a/chrome/browser/metrics/power/power_metrics_reporter.h b/chrome/browser/metrics/power/power_metrics_reporter.h
index c2453140..6155222b 100644
--- a/chrome/browser/metrics/power/power_metrics_reporter.h
+++ b/chrome/browser/metrics/power/power_metrics_reporter.h
@@ -75,27 +75,37 @@
     kMaxValue = kMacFullyCharged
   };
 
+  struct BatteryDischarge {
+    PowerMetricsReporter::BatteryDischargeMode mode;
+    // Discharge rate in 1/10000 of full capacity per minute.
+    absl::optional<int64_t> rate;
+  };
+
   // Report battery and CPU metrics to generic histograms and histograms with a
   // scenario suffix derived from |interval_data|.
   static void ReportHistograms(
       const UsageScenarioDataStore::IntervalData& interval_data,
       const performance_monitor::ProcessMonitor::Metrics& metrics,
       base::TimeDelta interval_duration,
-      BatteryDischargeMode discharge_mode,
-      absl::optional<int64_t> discharge_rate_during_interval);
+      BatteryDischarge battery_discharge);
 
   // Report battery metrics to histograms with |suffixes|.
-  static void ReportBatteryHistograms(
-      base::TimeDelta interval_duration,
-      BatteryDischargeMode discharge_mode,
-      absl::optional<int64_t> discharge_rate_during_interval,
-      const std::vector<const char*>& suffixes);
+  static void ReportBatteryHistograms(base::TimeDelta interval_duration,
+                                      BatteryDischarge battery_discharge,
+                                      const std::vector<const char*>& suffixes);
 
   // Report CPU histograms to histograms with |suffixes|.
   static void ReportCPUHistograms(
       const performance_monitor::ProcessMonitor::Metrics& metrics,
       const std::vector<const char*>& suffixes);
 
+#if BUILDFLAG(IS_MAC)
+  // Report resource coalition metrics to histograms with |suffixes|.
+  static void ReportResourceCoalitionHistograms(
+      const performance_monitor::ProcessMonitor::Metrics& metrics,
+      const std::vector<const char*>& suffixes);
+#endif  // BUILDFLAG(IS_MAC)
+
  private:
   // performance_monitor::ProcessMonitor::Observer:
   void OnAggregatedMetricsSampled(
@@ -112,22 +122,19 @@
   void ReportUKMs(const UsageScenarioDataStore::IntervalData& interval_data,
                   const performance_monitor::ProcessMonitor::Metrics& metrics,
                   base::TimeDelta interval_duration,
-                  BatteryDischargeMode discharge_mode,
-                  absl::optional<int64_t> discharge_rate_during_interval,
+                  BatteryDischarge battery_discharge,
                   absl::optional<int64_t> main_screen_brightness) const;
 
   void ReportUKMsAndHistograms(
       const performance_monitor::ProcessMonitor::Metrics& metrics,
       base::TimeDelta interval_duration,
-      BatteryDischargeMode discharge_mode,
-      absl::optional<int64_t> discharge_rate_during_interval) const;
+      BatteryDischarge battery_discharge) const;
 
   // Computes and returns the battery discharge mode and rate during the
   // interval, and reset |battery_state_| to the current state. If the discharge
   // rate isn't valid, the returned value is nullopt and the reason is indicated
   // per BatteryDischargeMode.
-  std::pair<BatteryDischargeMode, absl::optional<int64_t>>
-  GetBatteryDischargeRateDuringInterval(
+  BatteryDischarge GetBatteryDischargeDuringInterval(
       const BatteryLevelProvider::BatteryState& new_battery_state,
       base::TimeDelta interval_duration);
 
diff --git a/chrome/browser/metrics/power/power_metrics_reporter_unittest.cc b/chrome/browser/metrics/power/power_metrics_reporter_unittest.cc
index 7bf442cd..870d0db 100644
--- a/chrome/browser/metrics/power/power_metrics_reporter_unittest.cc
+++ b/chrome/browser/metrics/power/power_metrics_reporter_unittest.cc
@@ -7,6 +7,7 @@
 #include <memory>
 
 #include "base/memory/raw_ptr.h"
+#include "base/strings/strcat.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/task_environment.h"
 #include "base/time/time.h"
@@ -21,6 +22,10 @@
 #include "services/metrics/public/cpp/ukm_source_id.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
+#if BUILDFLAG(IS_MAC)
+#include "components/power_metrics/resource_coalition_mac.h"
+#endif
+
 namespace {
 
 constexpr const char* kBatteryDischargeRateHistogramName =
@@ -50,11 +55,18 @@
  public:
   // Expose members of PowerMetricsReporter publicly on
   // PowerMetricsReporterAccess.
+  using PowerMetricsReporter::BatteryDischarge;
   using PowerMetricsReporter::BatteryDischargeMode;
   using PowerMetricsReporter::ReportBatteryHistograms;
   using PowerMetricsReporter::ReportHistograms;
+#if BUILDFLAG(IS_MAC)
+  using PowerMetricsReporter::ReportResourceCoalitionHistograms;
+#endif  // BUILDFLAG(IS_MAC)
 };
 
+using BatteryDischargeMode = PowerMetricsReporterAccess::BatteryDischargeMode;
+using BatteryDischarge = PowerMetricsReporterAccess::BatteryDischarge;
+
 // TODO(sebmarchand|etiennep): Move this to a test util file.
 class FakeBatteryLevelProvider : public BatteryLevelProvider {
  public:
@@ -238,8 +250,7 @@
       entries[0], UkmEntry::kBatteryDischargeRateName, 1000);
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kBatteryDischargeModeName,
-      static_cast<int64_t>(
-          PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging));
+      static_cast<int64_t>(BatteryDischargeMode::kDischarging));
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kCPUTimeMsName,
       kExpectedMetricsCollectionInterval.InSeconds() * 1000 *
@@ -313,9 +324,8 @@
 
   histogram_tester_.ExpectUniqueSample(kBatteryDischargeRateHistogramName, 2500,
                                        1);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kDischarging, 1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, UKMsBrowserShuttingDown) {
@@ -377,13 +387,11 @@
       entries[0], UkmEntry::kBatteryDischargeRateName));
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kBatteryDischargeModeName,
-      static_cast<int64_t>(
-          PowerMetricsReporterAccess::BatteryDischargeMode::kPluggedIn));
+      static_cast<int64_t>(BatteryDischargeMode::kPluggedIn));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kPluggedIn, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kPluggedIn, 1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, UKMsBatteryStateChanges) {
@@ -407,13 +415,11 @@
       entries[0], UkmEntry::kBatteryDischargeRateName));
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kBatteryDischargeModeName,
-      static_cast<int64_t>(
-          PowerMetricsReporterAccess::BatteryDischargeMode::kStateChanged));
+      static_cast<int64_t>(BatteryDischargeMode::kStateChanged));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kStateChanged, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kStateChanged, 1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, UKMsBatteryStateUnavailable) {
@@ -436,14 +442,12 @@
       entries[0], UkmEntry::kBatteryDischargeRateName));
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kBatteryDischargeModeName,
-      static_cast<int64_t>(PowerMetricsReporterAccess::BatteryDischargeMode::
-                               kChargeLevelUnavailable));
+      static_cast<int64_t>(BatteryDischargeMode::kChargeLevelUnavailable));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
   histogram_tester_.ExpectUniqueSample(
       kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kChargeLevelUnavailable,
-      1);
+      BatteryDischargeMode::kChargeLevelUnavailable, 1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, UKMsNoBattery) {
@@ -466,13 +470,11 @@
       entries[0], UkmEntry::kBatteryDischargeRateName));
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kBatteryDischargeModeName,
-      static_cast<int64_t>(
-          PowerMetricsReporterAccess::BatteryDischargeMode::kNoBattery));
+      static_cast<int64_t>(BatteryDischargeMode::kNoBattery));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kNoBattery, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kNoBattery, 1);
 }
 
 #if BUILDFLAG(IS_MAC)
@@ -500,13 +502,12 @@
       entries[0], UkmEntry::kBatteryDischargeRateName));
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kBatteryDischargeModeName,
-      static_cast<int64_t>(
-          PowerMetricsReporterAccess::BatteryDischargeMode::kMacFullyCharged));
+      static_cast<int64_t>(BatteryDischargeMode::kMacFullyCharged));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kMacFullyCharged, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kMacFullyCharged,
+                                       1);
 }
 #endif  // BUILDFLAG(IS_MAC)
 
@@ -534,14 +535,12 @@
       entries[0], UkmEntry::kBatteryDischargeRateName));
   test_ukm_recorder_.ExpectEntryMetric(
       entries[0], UkmEntry::kBatteryDischargeModeName,
-      static_cast<int64_t>(PowerMetricsReporterAccess::BatteryDischargeMode::
-                               kBatteryLevelIncreased));
+      static_cast<int64_t>(BatteryDischargeMode::kBatteryLevelIncreased));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
   histogram_tester_.ExpectUniqueSample(
       kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kBatteryLevelIncreased,
-      1);
+      BatteryDischargeMode::kBatteryLevelIncreased, 1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, SuffixedHistograms_ZeroWindow) {
@@ -551,22 +550,20 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
   // Suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2.ZeroWindow",
                                        2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode.ZeroWindow",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode.ZeroWindow",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.ZeroWindow", 500, 1);
 
@@ -591,13 +588,12 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
@@ -606,7 +602,7 @@
       "Power.BatteryDischargeRate2.AllTabsHidden_VideoCapture", 2500, 1);
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeMode.AllTabsHidden_VideoCapture",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+      BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.AllTabsHidden_VideoCapture", 500,
       1);
@@ -631,13 +627,12 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
@@ -646,7 +641,7 @@
       "Power.BatteryDischargeRate2.AllTabsHidden_Audio", 2500, 1);
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeMode.AllTabsHidden_Audio",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+      BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.AllTabsHidden_Audio", 500, 1);
 
@@ -671,13 +666,12 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
@@ -687,7 +681,7 @@
       1);
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeMode.AllTabsHidden_NoVideoCaptureOrAudio",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+      BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.AllTabsHidden_"
       "NoVideoCaptureOrAudio",
@@ -713,13 +707,12 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
@@ -728,7 +721,7 @@
       "Power.BatteryDischargeRate2.VideoCapture", 2500, 1);
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeMode.VideoCapture",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+      BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.VideoCapture", 500, 1);
 
@@ -752,13 +745,12 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
@@ -767,7 +759,7 @@
       "Power.BatteryDischargeRate2.FullscreenVideo", 2500, 1);
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeMode.FullscreenVideo",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+      BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.FullscreenVideo", 500, 1);
 
@@ -792,13 +784,12 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
@@ -807,7 +798,7 @@
       "Power.BatteryDischargeRate2.EmbeddedVideo_NoNavigation", 2500, 1);
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeMode.EmbeddedVideo_NoNavigation",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+      BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.EmbeddedVideo_NoNavigation", 500,
       1);
@@ -833,13 +824,12 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
@@ -848,7 +838,7 @@
       "Power.BatteryDischargeRate2.EmbeddedVideo_WithNavigation", 2500, 1);
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeMode.EmbeddedVideo_WithNavigation",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+      BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.EmbeddedVideo_WithNavigation", 500,
       1);
@@ -873,22 +863,20 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
   // Suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2.Audio",
                                        2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode.Audio",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode.Audio",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.Audio", 500, 1);
 
@@ -912,22 +900,20 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
   // Suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2.Navigation",
                                        2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode.Navigation",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode.Navigation",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.Navigation", 500, 1);
 
@@ -950,22 +936,20 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
   // Suffixed histograms.
   histogram_tester_.ExpectUniqueSample(
       "Power.BatteryDischargeRate2.Interaction", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode.Interaction",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode.Interaction",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.Interaction", 500, 1);
 
@@ -988,22 +972,20 @@
   PowerMetricsReporterAccess::ReportHistograms(
       interval_data, GetFakeProcessMetrics(),
       kExpectedMetricsCollectionInterval,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500);
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500});
 
   // Non-suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2", 2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample("PerformanceMonitor.AverageCPU2.Total",
                                        500, 1);
 
   // Suffixed histograms.
   histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeRate2.Passive",
                                        2500, 1);
-  histogram_tester_.ExpectUniqueSample(
-      "Power.BatteryDischargeMode.Passive",
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample("Power.BatteryDischargeMode.Passive",
+                                       BatteryDischargeMode::kDischarging, 1);
   histogram_tester_.ExpectUniqueSample(
       "PerformanceMonitor.AverageCPU2.Total.Passive", 500, 1);
 
@@ -1017,13 +999,13 @@
   PowerMetricsReporterAccess::ReportBatteryHistograms(
       (kExpectedMetricsCollectionInterval * kTolerableNegativeDrift) -
           base::Seconds(1),
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500,
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500},
       PowerMetricsReporter::GetSuffixesForTesting(interval_data));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kInvalidInterval, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kInvalidInterval,
+                                       1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, BatteryDischargeCaptureIsEarly) {
@@ -1032,14 +1014,13 @@
   PowerMetricsReporterAccess::ReportBatteryHistograms(
       (kExpectedMetricsCollectionInterval * kTolerableNegativeDrift) +
           base::Seconds(1),
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500,
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500},
       PowerMetricsReporter::GetSuffixesForTesting(interval_data));
 
   histogram_tester_.ExpectUniqueSample(kBatteryDischargeRateHistogramName, 2500,
                                        1);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kDischarging, 1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, BatteryDischargeCaptureIsTooLate) {
@@ -1048,13 +1029,13 @@
   PowerMetricsReporterAccess::ReportBatteryHistograms(
       (kExpectedMetricsCollectionInterval * kTolerablePositiveDrift) +
           base::Seconds(1),
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500,
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500},
       PowerMetricsReporter::GetSuffixesForTesting(interval_data));
 
   histogram_tester_.ExpectTotalCount(kBatteryDischargeRateHistogramName, 0);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kInvalidInterval, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kInvalidInterval,
+                                       1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, BatteryDischargeCaptureIsLate) {
@@ -1063,14 +1044,13 @@
   PowerMetricsReporterAccess::ReportBatteryHistograms(
       (kExpectedMetricsCollectionInterval * kTolerablePositiveDrift) -
           base::Seconds(1),
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 2500,
+      BatteryDischarge{BatteryDischargeMode::kDischarging, 2500},
       PowerMetricsReporter::GetSuffixesForTesting(interval_data));
 
   histogram_tester_.ExpectUniqueSample(kBatteryDischargeRateHistogramName, 2500,
                                        1);
-  histogram_tester_.ExpectUniqueSample(
-      kBatteryDischargeModeHistogramName,
-      PowerMetricsReporterAccess::BatteryDischargeMode::kDischarging, 1);
+  histogram_tester_.ExpectUniqueSample(kBatteryDischargeModeHistogramName,
+                                       BatteryDischargeMode::kDischarging, 1);
 }
 
 TEST_F(PowerMetricsReporterUnitTest, UKMsNoTab) {
@@ -1202,3 +1182,110 @@
   histogram_tester_.ExpectBucketCount(
       kMainScreenBrightnessAvailableHistogramName, true, 1);
 }
+
+#if BUILDFLAG(IS_MAC)
+TEST_F(PowerMetricsReporterUnitTest, ReportResourceCoalitionHistograms) {
+  base::HistogramTester histogram_tester;
+  performance_monitor::ProcessMonitor::Metrics metrics;
+  performance_monitor::ResourceCoalition::DataRate coalition_data = {};
+
+  coalition_data.cpu_time_per_second = 0.1;
+  coalition_data.interrupt_wakeups_per_second = 0.3;
+  coalition_data.platform_idle_wakeups_per_second = 2;
+  coalition_data.bytesread_per_second = 10;
+  coalition_data.byteswritten_per_second = 0.1;
+  coalition_data.gpu_time_per_second = 0.8;
+  coalition_data.energy_impact_per_second = 3.0;
+  coalition_data.power_nw = 1000;
+
+  for (int i = 0; i < COALITION_NUM_THREAD_QOS_TYPES; ++i)
+    coalition_data.qos_time_per_second[i] = i * 0.1;
+
+  metrics.coalition_data = coalition_data;
+
+  std::vector<const char*> suffixes = {"", ".Foo", ".Bar"};
+  PowerMetricsReporterAccess::ReportResourceCoalitionHistograms(metrics,
+                                                                suffixes);
+
+  for (const char* scenario_suffix : suffixes) {
+    // These histograms reports the CPU/GPU times as a percentage of time with a
+    // permyriad granularity, 10% (0.1) will be represented as 1000.
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.CPUTime2", scenario_suffix}),
+        coalition_data.cpu_time_per_second * 10000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.GPUTime2", scenario_suffix}),
+        coalition_data.gpu_time_per_second * 10000, 1);
+
+    // These histograms report counts with a millievent/second granularity.
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.InterruptWakeupsPerSecond",
+             scenario_suffix}),
+        coalition_data.interrupt_wakeups_per_second * 1000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition."
+                      "PlatformIdleWakeupsPerSecond",
+                      scenario_suffix}),
+        coalition_data.platform_idle_wakeups_per_second * 1000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition.BytesReadPerSecond",
+                      scenario_suffix}),
+        coalition_data.bytesread_per_second * 1000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.BytesWrittenPerSecond",
+             scenario_suffix}),
+        coalition_data.byteswritten_per_second * 1000, 1);
+    // EI is reported in centi-EI so the data needs to be multiplied by 100.0.
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition.EnergyImpact",
+                      scenario_suffix}),
+        coalition_data.energy_impact_per_second * 100.0, 1);
+
+    // Power is reported in milliwatts (mj/s), the data is in nj/s so it has to
+    // be divided by 1000000.
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.Power", scenario_suffix}),
+        coalition_data.power_nw / 1000000, 1);
+
+    // The QoS histograms also reports the CPU times as a percentage of time
+    // with a permyriad granularity.
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.Default",
+                      scenario_suffix}),
+        coalition_data.qos_time_per_second[0] * 10000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.QoSLevel.Maintenance",
+             scenario_suffix}),
+        coalition_data.qos_time_per_second[1] * 10000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.QoSLevel.Background",
+             scenario_suffix}),
+        coalition_data.qos_time_per_second[2] * 10000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.Utility",
+                      scenario_suffix}),
+        coalition_data.qos_time_per_second[3] * 10000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.Legacy",
+                      scenario_suffix}),
+        coalition_data.qos_time_per_second[4] * 10000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.QoSLevel.UserInitiated",
+             scenario_suffix}),
+        coalition_data.qos_time_per_second[5] * 10000, 1);
+    histogram_tester.ExpectUniqueSample(
+        base::StrCat(
+            {"PerformanceMonitor.ResourceCoalition.QoSLevel.UserInteractive",
+             scenario_suffix}),
+        coalition_data.qos_time_per_second[6] * 10000, 1);
+  }
+}
+#endif  // BUILDFLAG(IS_MAC)
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
index 1773bca6..82d825c 100644
--- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
+++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
@@ -2141,6 +2141,9 @@
 }
 
 void NearbySharingServiceImpl::InvalidateFastInitiationScanning() {
+  if (!IsBackgroundScanningFeatureEnabled())
+    return;
+
   bool is_hardware_offloading_supported =
       IsBluetoothPresent() &&
       FastInitiationScanner::Factory::IsHardwareSupportAvailable(
@@ -3797,11 +3800,13 @@
         text.set_text_body(std::string());
     }
 
-    fast_initiation_scanner_cooldown_timer_.Start(
-        FROM_HERE, kFastInitiationScannerCooldown,
-        base::BindRepeating(
-            &NearbySharingServiceImpl::InvalidateFastInitiationScanning,
-            base::Unretained(this)));
+    if (IsBackgroundScanningFeatureEnabled()) {
+      fast_initiation_scanner_cooldown_timer_.Start(
+          FROM_HERE, kFastInitiationScannerCooldown,
+          base::BindRepeating(
+              &NearbySharingServiceImpl::InvalidateFastInitiationScanning,
+              base::Unretained(this)));
+    }
   }
 
   // Make sure to call this before calling Disconnect or we risk loosing some
diff --git a/chrome/browser/net/explicitly_allowed_network_ports_policy_handler.cc b/chrome/browser/net/explicitly_allowed_network_ports_policy_handler.cc
index 7e0098b8..771bb6ed 100644
--- a/chrome/browser/net/explicitly_allowed_network_ports_policy_handler.cc
+++ b/chrome/browser/net/explicitly_allowed_network_ports_policy_handler.cc
@@ -45,7 +45,7 @@
     base::Value filtered_list,
     PrefValueMap* prefs) {
   base::ListValue integer_list;
-  auto list_view = filtered_list.GetList();
+  auto list_view = filtered_list.GetListDeprecated();
   for (const base::Value& value : list_view) {
     const std::string& as_string = value.GetString();
     int as_int;
diff --git a/chrome/browser/net/referrer.cc b/chrome/browser/net/referrer.cc
index 7f91ce1..a6fccd0 100644
--- a/chrome/browser/net/referrer.cc
+++ b/chrome/browser/net/referrer.cc
@@ -110,7 +110,7 @@
   if (value.type() != base::Value::Type::LIST)
     return;
 
-  base::Value::ConstListView list = value.GetList();
+  base::Value::ConstListView list = value.GetListDeprecated();
   for (auto it = list.begin(); it != list.end() && it + 1 != list.end();
        it += 2) {
     const std::string* url = it->GetIfString();
diff --git a/chrome/browser/page_load_metrics/integration_tests/largest_contentful_paint_browsertest.cc b/chrome/browser/page_load_metrics/integration_tests/largest_contentful_paint_browsertest.cc
index aedf591..6e85012e 100644
--- a/chrome/browser/page_load_metrics/integration_tests/largest_contentful_paint_browsertest.cc
+++ b/chrome/browser/page_load_metrics/integration_tests/largest_contentful_paint_browsertest.cc
@@ -103,7 +103,7 @@
   // Verify that the JS API yielded three LCP reports. Note that, as we resolve
   // https://github.com/WICG/largest-contentful-paint/issues/41, this test may
   // need to be updated to reflect new semantics.
-  const auto& list = result.value.GetList();
+  const auto& list = result.value.GetListDeprecated();
   const std::string expected_url[3] = {
       image_1_url_expected, image_2_url_expected, image_3_url_expected};
   absl::optional<double> lcp_timestamps[3];
diff --git a/chrome/browser/page_load_metrics/integration_tests/layout_instability_browsertest.cc b/chrome/browser/page_load_metrics/integration_tests/layout_instability_browsertest.cc
index c947f96d..998e3ce 100644
--- a/chrome/browser/page_load_metrics/integration_tests/layout_instability_browsertest.cc
+++ b/chrome/browser/page_load_metrics/integration_tests/layout_instability_browsertest.cc
@@ -66,7 +66,7 @@
   analyzer.FindEvents(Query::EventNameIs("LayoutShift"), &events);
 
   size_t i = 0;
-  for (const Value& expectation : expectations.GetList()) {
+  for (const Value& expectation : expectations.GetListDeprecated()) {
     optional<double> score = expectation.FindDoubleKey("score");
     if (score && *score == 0.0) {
       // {score:0} expects no layout shift.
diff --git a/chrome/browser/page_load_metrics/integration_tests/user_timing_browsertest.cc b/chrome/browser/page_load_metrics/integration_tests/user_timing_browsertest.cc
index 8af0bb64..1c71b3f 100644
--- a/chrome/browser/page_load_metrics/integration_tests/user_timing_browsertest.cc
+++ b/chrome/browser/page_load_metrics/integration_tests/user_timing_browsertest.cc
@@ -33,11 +33,11 @@
   // Check web perf API.
   const base::Value eval_result =
       EvalJs(web_contents(), "runtest()").ExtractList();
-  const double fully_loaded = eval_result.GetList()[0].GetDouble();
+  const double fully_loaded = eval_result.GetListDeprecated()[0].GetDouble();
   EXPECT_GT(fully_loaded, 0.0);
-  const double fully_visible = eval_result.GetList()[1].GetDouble();
+  const double fully_visible = eval_result.GetListDeprecated()[1].GetDouble();
   EXPECT_GT(fully_visible, 0.0);
-  const double interactive = eval_result.GetList()[2].GetDouble();
+  const double interactive = eval_result.GetListDeprecated()[2].GetDouble();
   EXPECT_GT(interactive, 0.0);
 
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL("about:blank")));
diff --git a/chrome/browser/password_check/android/BUILD.gn b/chrome/browser/password_check/android/BUILD.gn
index 965e511..c812a04 100644
--- a/chrome/browser/password_check/android/BUILD.gn
+++ b/chrome/browser/password_check/android/BUILD.gn
@@ -39,6 +39,7 @@
     "internal:public_ui_factory_java",
     "//base:base_java",
     "//chrome/browser/password_manager/android:java",
+    "//chrome/browser/password_manager/android:settings_interface_java",
     "//chrome/browser/tab:java",
     "//components/browser_ui/settings/android:java",
     "//components/browser_ui/widget/android:java",
@@ -58,7 +59,6 @@
     "java/src/org/chromium/chrome/browser/password_check/PasswordCheckEditFragmentView.java",
     "java/src/org/chromium/chrome/browser/password_check/PasswordCheckFragmentView.java",
     "java/src/org/chromium/chrome/browser/password_check/PasswordCheckMetricsRecorder.java",
-    "java/src/org/chromium/chrome/browser/password_check/PasswordCheckReferrer.java",
     "java/src/org/chromium/chrome/browser/password_check/PasswordCheckResolutionAction.java",
     "java/src/org/chromium/chrome/browser/password_check/PasswordCheckUkmRecorder.java",
     "java/src/org/chromium/chrome/browser/password_check/PasswordCheckUserAction.java",
@@ -95,6 +95,7 @@
     "//chrome/browser/password_check/android:password_check_java_enums",
     "//chrome/browser/password_check/android:public_java",
     "//chrome/browser/password_manager/android:java",
+    "//chrome/browser/password_manager/android:settings_interface_java",
     "//chrome/browser/settings:java",
     "//chrome/test/android:chrome_java_test_support",
     "//components/browser_ui/settings/android:java",
@@ -131,6 +132,7 @@
     "//chrome/browser/password_check/android:password_check_java_enums",
     "//chrome/browser/password_check/android/internal:public_factory_java",
     "//chrome/browser/password_manager/android:java",
+    "//chrome/browser/password_manager/android:settings_interface_java",
     "//chrome/browser/settings:java",
     "//chrome/browser/settings:test_support_java",
     "//chrome/test/android:chrome_java_test_support",
diff --git a/chrome/browser/password_check/android/internal/BUILD.gn b/chrome/browser/password_check/android/internal/BUILD.gn
index 61837e9..7523790 100644
--- a/chrome/browser/password_check/android/internal/BUILD.gn
+++ b/chrome/browser/password_check/android/internal/BUILD.gn
@@ -76,6 +76,7 @@
     "//chrome/browser/password_check/android:password_check_java_enums",
     "//chrome/browser/password_check/android:public_ui_java",
     "//chrome/browser/password_manager/android:java",
+    "//chrome/browser/password_manager/android:settings_interface_java",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/settings:java",
     "//chrome/browser/ui/android/favicon:java",
diff --git a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java
index 2138d781..4219515 100644
--- a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java
+++ b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java
@@ -10,6 +10,7 @@
 
 import org.chromium.base.ObserverList;
 import org.chromium.chrome.browser.password_check.PasswordCheckBridge.PasswordCheckObserver;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 import org.chromium.components.browser_ui.settings.SettingsLauncher;
 
 /**
diff --git a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java
index 18e83c8..d6bb617 100644
--- a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java
+++ b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java
@@ -34,6 +34,7 @@
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.password_check.helper.PasswordCheckChangePasswordHelper;
 import org.chromium.chrome.browser.password_check.helper.PasswordCheckIconHelper;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 import org.chromium.chrome.browser.password_manager.settings.PasswordAccessReauthenticationHelper;
 import org.chromium.chrome.browser.password_manager.settings.PasswordAccessReauthenticationHelper.ReauthReason;
 import org.chromium.components.browser_ui.settings.SettingsLauncher;
diff --git a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java
index abb8885..57fd6e29 100644
--- a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java
+++ b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java
@@ -7,6 +7,8 @@
 import android.app.Activity;
 import android.content.Context;
 
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
+
 /**
  * This component allows to check for compromised passwords. It provides a settings page which shows
  * the compromised passwords and exposes actions that will help the users to make safer their
diff --git a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFragmentView.java b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFragmentView.java
index 1f5a39c..c8b943d 100644
--- a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFragmentView.java
+++ b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckFragmentView.java
@@ -9,10 +9,13 @@
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
+
 import androidx.fragment.app.DialogFragment;
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
 
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
+
 /**
  * This class is responsible for rendering the check passwords view in the settings menu.
  */
diff --git a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMetricsRecorder.java b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMetricsRecorder.java
index 86d8b77f..0226d17 100644
--- a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMetricsRecorder.java
+++ b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMetricsRecorder.java
@@ -4,6 +4,7 @@
 package org.chromium.chrome.browser.password_check;
 
 import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 
 /**
  * Helper class for recording password check metrics.
diff --git a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckIntegrationTest.java b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckIntegrationTest.java
index 5a483b7..09318cf 100644
--- a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckIntegrationTest.java
+++ b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckIntegrationTest.java
@@ -24,6 +24,7 @@
 import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.JniMocker;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.chrome.test.util.browser.Features;
diff --git a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
index a3b76e3..d8fb811 100644
--- a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
+++ b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
@@ -86,6 +86,7 @@
 import org.chromium.chrome.browser.flags.ChromeSwitches;
 import org.chromium.chrome.browser.password_check.PasswordCheckProperties.HeaderProperties;
 import org.chromium.chrome.browser.password_check.internal.R;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 import org.chromium.chrome.browser.password_manager.settings.ReauthenticationManager;
 import org.chromium.chrome.browser.password_manager.settings.ReauthenticationManager.ReauthScope;
 import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
diff --git a/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java b/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java
index 2f82613..17b7757 100644
--- a/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java
+++ b/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java
@@ -66,6 +66,7 @@
 import org.chromium.chrome.browser.password_check.PasswordCheckProperties.ItemType;
 import org.chromium.chrome.browser.password_check.helper.PasswordCheckChangePasswordHelper;
 import org.chromium.chrome.browser.password_check.helper.PasswordCheckIconHelper;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 import org.chromium.chrome.browser.password_manager.settings.PasswordAccessReauthenticationHelper;
 import org.chromium.chrome.browser.password_manager.settings.PasswordAccessReauthenticationHelper.ReauthReason;
 import org.chromium.chrome.test.util.browser.Features;
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
index dfd4e558..66327f14 100644
--- a/chrome/browser/password_manager/android/BUILD.gn
+++ b/chrome/browser/password_manager/android/BUILD.gn
@@ -171,6 +171,7 @@
     "java/src/org/chromium/chrome/browser/password_manager/CredentialManagerLauncher.java",
     "java/src/org/chromium/chrome/browser/password_manager/CredentialManagerLauncherFactory.java",
     "java/src/org/chromium/chrome/browser/password_manager/CredentialManagerLauncherFactoryImpl.java",
+    "java/src/org/chromium/chrome/browser/password_manager/PasswordCheckReferrer.java",
     "java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsAccessor.java",
     "java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsAccessorFactory.java",
   ]
diff --git a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckReferrer.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckReferrer.java
similarity index 95%
rename from chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckReferrer.java
rename to chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckReferrer.java
index d55ca676..4d07ba7 100644
--- a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheckReferrer.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckReferrer.java
@@ -1,9 +1,10 @@
 // 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.
-package org.chromium.chrome.browser.password_check;
+package org.chromium.chrome.browser.password_manager;
 
 import androidx.annotation.IntDef;
+
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
diff --git a/chrome/browser/performance_monitor/process_metrics_recorder_util.cc b/chrome/browser/performance_monitor/process_metrics_recorder_util.cc
index a7195fe..4988909 100644
--- a/chrome/browser/performance_monitor/process_metrics_recorder_util.cc
+++ b/chrome/browser/performance_monitor/process_metrics_recorder_util.cc
@@ -11,9 +11,6 @@
 #include "base/strings/string_util.h"
 #include "base/time/time.h"
 #include "build/build_config.h"
-#if BUILDFLAG(IS_MAC)
-#include "chrome/browser/performance_monitor/resource_coalition_mac.h"
-#endif
 
 namespace performance_monitor {
 
@@ -60,129 +57,4 @@
 #endif
 }
 
-#if BUILDFLAG(IS_MAC)
-void RecordCoalitionData(const ProcessMonitor::Metrics& metrics,
-                         const std::vector<const char*>& suffixes) {
-  if (!metrics.coalition_data.has_value())
-    return;
-
-  // Calling this function with an empty suffix list is probably a mistake.
-  DCHECK(!suffixes.empty());
-
-  // TODO(crbug.com/1229884): Review the units and buckets once we have
-  // sufficient data from the field.
-
-  for (const char* scenario_suffix : suffixes) {
-    // Suffixes are expected to be empty or starting by a period.
-    DCHECK(::strlen(scenario_suffix) == 0U || scenario_suffix[0] == '.');
-    // Report the CPU and GPU time histogram with the same approach as the one
-    // used for the |AverageCPU2| histograms.
-
-    // Used to change the percentage scale from [0,1] to [0,100], e.g. 0.111
-    // 11.1% will be multiplied by 100 to be 11.1. This is necessary to reuse
-    // the same constants as for the |AverageCPU2| histograms.
-    constexpr int kPercentScaleFactor = 100;
-
-    base::UmaHistogramCustomCounts(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.CPUTime2", scenario_suffix}),
-        metrics.coalition_data->cpu_time_per_second * kPercentScaleFactor *
-            kCPUUsageFactor,
-        kCPUUsageHistogramMin, kCPUUsageHistogramMax,
-        kCPUUsageHistogramBucketCount);
-    // The GPU usage should always be <= 100% so use a lower value for the
-    // histogram max.
-    // TODO(sebmarchand): Confirm this from the data.
-    base::UmaHistogramCustomCounts(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.GPUTime2", scenario_suffix}),
-        metrics.coalition_data->gpu_time_per_second * kPercentScaleFactor *
-            kCPUUsageFactor,
-        kCPUUsageHistogramMin, 100 * kCPUUsageFactor,
-        kCPUUsageHistogramBucketCount);
-
-    // Report the metrics based on a count (e.g. wakeups) with a millievent/sec
-    // granularity. In theory it doesn't make much sense to talk about a
-    // milliwakeups but the wakeup rate should ideally be lower than one per
-    // second in some scenarios and this will provide more granularity.
-    constexpr int kMilliFactor = 1000;
-    auto scale_sample = [](double sample) -> int {
-      // Round the sample to the nearest integer value.
-      return std::roundl(sample * kMilliFactor);
-    };
-    base::UmaHistogramCounts1M(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.InterruptWakeupsPerSecond",
-             scenario_suffix}),
-        scale_sample(metrics.coalition_data->interrupt_wakeups_per_second));
-    base::UmaHistogramCounts1M(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition."
-                      "PlatformIdleWakeupsPerSecond",
-                      scenario_suffix}),
-        scale_sample(metrics.coalition_data->platform_idle_wakeups_per_second));
-    base::UmaHistogramCounts10M(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition.BytesReadPerSecond",
-                      scenario_suffix}),
-        scale_sample(metrics.coalition_data->bytesread_per_second));
-    base::UmaHistogramCounts10M(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.BytesWrittenPerSecond",
-             scenario_suffix}),
-        scale_sample(metrics.coalition_data->byteswritten_per_second));
-
-    // EnergyImpact is reported in centi-EI, so scaled up by a factor of 100
-    // for the histogram recording.
-    constexpr double kEnergyImpactScalingFactor = 100.0;
-    base::UmaHistogramCounts100000(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition.EnergyImpact",
-                      scenario_suffix}),
-        std::roundl(metrics.coalition_data->energy_impact_per_second *
-                    kEnergyImpactScalingFactor));
-
-    constexpr int kNanoWattToMilliWatt = 1000 * 1000;
-    // Use a maximum of 100 watts, or 100 * 1000 milliwatts.
-    base::UmaHistogramCounts100000(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.Power", scenario_suffix}),
-        std::roundl(metrics.coalition_data->power_nw / kNanoWattToMilliWatt));
-
-    for (int i = 0;
-         i < static_cast<int>(ResourceCoalition::QoSLevels::kMaxValue) + 1;
-         ++i) {
-      const char* qos_suffix = nullptr;
-      switch (static_cast<ResourceCoalition::QoSLevels>(i)) {
-        case ResourceCoalition::QoSLevels::kDefault:
-          qos_suffix = "Default";
-          break;
-        case ResourceCoalition::QoSLevels::kMaintenance:
-          qos_suffix = "Maintenance";
-          break;
-        case ResourceCoalition::QoSLevels::kBackground:
-          qos_suffix = "Background";
-          break;
-        case ResourceCoalition::QoSLevels::kUtility:
-          qos_suffix = "Utility";
-          break;
-        case ResourceCoalition::QoSLevels::kLegacy:
-          qos_suffix = "Legacy";
-          break;
-        case ResourceCoalition::QoSLevels::kUserInitiated:
-          qos_suffix = "UserInitiated";
-          break;
-        case ResourceCoalition::QoSLevels::kUserInteractive:
-          qos_suffix = "UserInteractive";
-          break;
-      }
-      base::UmaHistogramCustomCounts(
-          base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.",
-                        qos_suffix, scenario_suffix}),
-          std::roundl(metrics.coalition_data->qos_time_per_second[i] *
-                      kPercentScaleFactor * kCPUUsageFactor),
-          kCPUUsageHistogramMin, 100 * kCPUUsageFactor * 1000,
-          kCPUUsageHistogramBucketCount);
-    }
-  }
-}
-#endif
-
 }  // namespace performance_monitor
diff --git a/chrome/browser/performance_monitor/process_metrics_recorder_util.h b/chrome/browser/performance_monitor/process_metrics_recorder_util.h
index fa983c6..cbaef03c 100644
--- a/chrome/browser/performance_monitor/process_metrics_recorder_util.h
+++ b/chrome/browser/performance_monitor/process_metrics_recorder_util.h
@@ -5,9 +5,6 @@
 #ifndef CHROME_BROWSER_PERFORMANCE_MONITOR_PROCESS_METRICS_RECORDER_UTIL_H_
 #define CHROME_BROWSER_PERFORMANCE_MONITOR_PROCESS_METRICS_RECORDER_UTIL_H_
 
-#include <vector>
-
-#include "build/build_config.h"
 #include "chrome/browser/performance_monitor/process_monitor.h"
 
 namespace performance_monitor {
@@ -17,11 +14,6 @@
 void RecordProcessHistograms(const char* histogram_suffix,
                              const ProcessMonitor::Metrics& metrics);
 
-#if BUILDFLAG(IS_MAC)
-void RecordCoalitionData(const ProcessMonitor::Metrics& metrics,
-                         const std::vector<const char*>& suffixes);
-#endif
-
 }  // namespace performance_monitor
 
 #endif  // CHROME_BROWSER_PERFORMANCE_MONITOR_PROCESS_METRICS_RECORDER_UTIL_H_
diff --git a/chrome/browser/performance_monitor/process_metrics_recorder_util_unittest.cc b/chrome/browser/performance_monitor/process_metrics_recorder_util_unittest.cc
deleted file mode 100644
index eaabe0dc..0000000
--- a/chrome/browser/performance_monitor/process_metrics_recorder_util_unittest.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright 2021 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 "chrome/browser/performance_monitor/process_metrics_recorder_util.h"
-
-#include "base/strings/strcat.h"
-#include "base/test/metrics/histogram_tester.h"
-#include "build/build_config.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-#if BUILDFLAG(IS_MAC)
-#include "chrome/browser/performance_monitor/resource_coalition_mac.h"
-#endif
-
-namespace performance_monitor {
-
-#if BUILDFLAG(IS_MAC)
-TEST(ProcessMetricsRecorderUtilTest, RecordCoalitionData) {
-  base::HistogramTester histogram_tester;
-  ProcessMonitor::Metrics metrics;
-  ResourceCoalition::DataRate coalition_data = {};
-
-  coalition_data.cpu_time_per_second = 0.1;
-  coalition_data.interrupt_wakeups_per_second = 0.3;
-  coalition_data.platform_idle_wakeups_per_second = 2;
-  coalition_data.bytesread_per_second = 10;
-  coalition_data.byteswritten_per_second = 0.1;
-  coalition_data.gpu_time_per_second = 0.8;
-  coalition_data.energy_impact_per_second = 3.0;
-  coalition_data.power_nw = 1000;
-
-  for (int i = 0;
-       i < static_cast<int>(ResourceCoalition::QoSLevels::kMaxValue) + 1; ++i) {
-    coalition_data.qos_time_per_second[i] = i * 0.1;
-  }
-
-  metrics.coalition_data = coalition_data;
-
-  std::vector<const char*> suffixes = {"", ".Foo", ".Bar"};
-  RecordCoalitionData(metrics, suffixes);
-
-  for (const char* scenario_suffix : suffixes) {
-    // These histograms reports the CPU/GPU times as a percentage of time with a
-    // permyriad granularity, 10% (0.1) will be represented as 1000.
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.CPUTime2", scenario_suffix}),
-        coalition_data.cpu_time_per_second * 10000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.GPUTime2", scenario_suffix}),
-        coalition_data.gpu_time_per_second * 10000, 1);
-
-    // These histograms report counts with a millievent/second granularity.
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.InterruptWakeupsPerSecond",
-             scenario_suffix}),
-        coalition_data.interrupt_wakeups_per_second * 1000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition."
-                      "PlatformIdleWakeupsPerSecond",
-                      scenario_suffix}),
-        coalition_data.platform_idle_wakeups_per_second * 1000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition.BytesReadPerSecond",
-                      scenario_suffix}),
-        coalition_data.bytesread_per_second * 1000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.BytesWrittenPerSecond",
-             scenario_suffix}),
-        coalition_data.byteswritten_per_second * 1000, 1);
-    // EI is reported in centi-EI so the data needs to be multiplied by 100.0.
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition.EnergyImpact",
-                      scenario_suffix}),
-        coalition_data.energy_impact_per_second * 100.0, 1);
-
-    // Power is reported in milliwatts (mj/s), the data is in nj/s so it has to
-    // be divided by 1000000.
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.Power", scenario_suffix}),
-        coalition_data.power_nw / 1000000, 1);
-
-    // The QoS histograms also reports the CPU times as a percentage of time
-    // with a permyriad granularity.
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.Default",
-                      scenario_suffix}),
-        coalition_data.qos_time_per_second[0] * 10000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.QoSLevel.Maintenance",
-             scenario_suffix}),
-        coalition_data.qos_time_per_second[1] * 10000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.QoSLevel.Background",
-             scenario_suffix}),
-        coalition_data.qos_time_per_second[2] * 10000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.Utility",
-                      scenario_suffix}),
-        coalition_data.qos_time_per_second[3] * 10000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat({"PerformanceMonitor.ResourceCoalition.QoSLevel.Legacy",
-                      scenario_suffix}),
-        coalition_data.qos_time_per_second[4] * 10000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.QoSLevel.UserInitiated",
-             scenario_suffix}),
-        coalition_data.qos_time_per_second[5] * 10000, 1);
-    histogram_tester.ExpectUniqueSample(
-        base::StrCat(
-            {"PerformanceMonitor.ResourceCoalition.QoSLevel.UserInteractive",
-             scenario_suffix}),
-        coalition_data.qos_time_per_second[6] * 10000, 1);
-  }
-}
-#endif
-
-}  // namespace performance_monitor
diff --git a/chrome/browser/performance_monitor/resource_coalition_mac.h b/chrome/browser/performance_monitor/resource_coalition_mac.h
index 39032f5..543660c 100644
--- a/chrome/browser/performance_monitor/resource_coalition_mac.h
+++ b/chrome/browser/performance_monitor/resource_coalition_mac.h
@@ -10,6 +10,7 @@
 #include "base/files/file_path.h"
 #include "base/time/time.h"
 #include "components/power_metrics/energy_impact_mac.h"
+#include "components/power_metrics/resource_coalition_mac.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
 // Forward declaration of the structure used internally to track resource usage.
@@ -34,19 +35,6 @@
 // data retrieved by this class is experimental only.
 class ResourceCoalition {
  public:
-  // The different QoSLevels, the value of each level has to match the thread
-  // QoS values defined in osfmk/mach/thread_policy.h
-  enum class QoSLevels : int {
-    kDefault = 0,
-    kMaintenance = 1,
-    kBackground = 2,
-    kUtility = 3,
-    kLegacy = 4,
-    kUserInitiated = 5,
-    kUserInteractive = 6,
-    kMaxValue = kUserInteractive,
-  };
-
   // The data tracked by the coalition.
   // TODO(sebmarchand): This is only a subset of the available data, we should
   // probably record more data.
@@ -67,7 +55,7 @@
     // Only available on M1 macs as of September 2021.
     double power_nw;
 
-    double qos_time_per_second[static_cast<int>(QoSLevels::kMaxValue) + 1];
+    double qos_time_per_second[COALITION_NUM_THREAD_QOS_TYPES];
   };
 
   // Note: The constructor will record whether or not coalition data are
diff --git a/chrome/browser/performance_monitor/resource_coalition_mac.mm b/chrome/browser/performance_monitor/resource_coalition_mac.mm
index b4f7f63a..323022b8c 100644
--- a/chrome/browser/performance_monitor/resource_coalition_mac.mm
+++ b/chrome/browser/performance_monitor/resource_coalition_mac.mm
@@ -16,46 +16,10 @@
 #include "base/time/time.h"
 #include "components/power_metrics/energy_impact_mac.h"
 #include "components/power_metrics/mach_time_mac.h"
-#include "components/power_metrics/resource_coalition_mac.h"
 
 namespace performance_monitor {
 namespace {
 
-static_assert(
-    THREAD_QOS_DEFAULT ==
-        static_cast<int>(
-            performance_monitor::ResourceCoalition::QoSLevels::kDefault),
-    "QoSLevels indexes should match the OS defined ones.");
-static_assert(
-    THREAD_QOS_MAINTENANCE ==
-        static_cast<int>(
-            performance_monitor::ResourceCoalition::QoSLevels::kMaintenance),
-    "QoSLevels indexes should match the OS defined ones.");
-static_assert(
-    THREAD_QOS_BACKGROUND ==
-        static_cast<int>(
-            performance_monitor::ResourceCoalition::QoSLevels::kBackground),
-    "QoSLevels indexes should match the OS defined ones.");
-static_assert(
-    THREAD_QOS_UTILITY ==
-        static_cast<int>(
-            performance_monitor::ResourceCoalition::QoSLevels::kUtility),
-    "QoSLevels indexes should match the OS defined ones.");
-static_assert(
-    THREAD_QOS_LEGACY ==
-        static_cast<int>(
-            performance_monitor::ResourceCoalition::QoSLevels::kLegacy),
-    "QoSLevels indexes should match the OS defined ones.");
-static_assert(
-    THREAD_QOS_USER_INITIATED ==
-        static_cast<int>(
-            performance_monitor::ResourceCoalition::QoSLevels::kUserInitiated),
-    "QoSLevels indexes should match the OS defined ones.");
-static_assert(THREAD_QOS_USER_INTERACTIVE ==
-                  static_cast<int>(performance_monitor::ResourceCoalition::
-                                       QoSLevels::kUserInteractive),
-              "QoSLevels indexes should match the OS defined ones.");
-
 const char kCoalitionAvailabilityHistogram[] =
     "PerformanceMonitor.ResourceCoalition.Availability";
 
diff --git a/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc b/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc
index 24d1034..b9c68af6 100644
--- a/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc
+++ b/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc
@@ -1274,7 +1274,7 @@
       content::EvalJs(prerender_render_frame_host, "eventsSeen");
   std::vector<std::string> eventsSeen;
   base::Value resultsList = results.ExtractList();
-  for (auto& result : resultsList.GetList())
+  for (auto& result : resultsList.GetListDeprecated())
     eventsSeen.push_back(result.GetString());
   EXPECT_THAT(eventsSeen, testing::ElementsAreArray(
                               {"accessGeolocation (prerendering: true)",
diff --git a/chrome/browser/platform_keys/extension_key_permissions_service.cc b/chrome/browser/platform_keys/extension_key_permissions_service.cc
index 810572e..ae253712 100644
--- a/chrome/browser/platform_keys/extension_key_permissions_service.cc
+++ b/chrome/browser/platform_keys/extension_key_permissions_service.cc
@@ -334,7 +334,7 @@
     LOG(ERROR) << "Found a state store of wrong type.";
     return;
   }
-  for (const auto& entry : state.GetList()) {
+  for (const auto& entry : state.GetListDeprecated()) {
     std::string spki_b64;
     const base::DictionaryValue* dict_entry = nullptr;
     if (entry.GetAsString(&spki_b64)) {
diff --git a/chrome/browser/policy/networking/network_configuration_updater_ash_unittest.cc b/chrome/browser/policy/networking/network_configuration_updater_ash_unittest.cc
index d4d7f47..bbea2618 100644
--- a/chrome/browser/policy/networking/network_configuration_updater_ash_unittest.cc
+++ b/chrome/browser/policy/networking/network_configuration_updater_ash_unittest.cc
@@ -297,7 +297,7 @@
 }
 
 MATCHER(IsListEmpty, std::string(negation ? "isn't" : "is") + " empty.") {
-  return arg.GetList().empty();
+  return arg.GetListDeprecated().empty();
 }
 
 MATCHER(IsDictEmpty, std::string(negation ? "isn't" : "is") + " empty.") {
diff --git a/chrome/browser/policy/system_features_disable_list_policy_handler.cc b/chrome/browser/policy/system_features_disable_list_policy_handler.cc
index 05fc20c5..575c65c 100644
--- a/chrome/browser/policy/system_features_disable_list_policy_handler.cc
+++ b/chrome/browser/policy/system_features_disable_list_policy_handler.cc
@@ -81,7 +81,7 @@
   base::Value* old_list = nullptr;
   prefs->GetValue(policy_prefs::kSystemFeaturesDisableList, &old_list);
 
-  for (const auto& element : filtered_list.GetList()) {
+  for (const auto& element : filtered_list.GetListDeprecated()) {
     SystemFeature feature = ConvertToEnum(element.GetString());
     enums_list.Append(feature);
 
@@ -94,7 +94,7 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
   bool os_settings_disabled = base::Contains(
-      enums_list.GetList(), base::Value(SystemFeature::kOsSettings));
+      enums_list.GetListDeprecated(), base::Value(SystemFeature::kOsSettings));
   prefs->SetBoolean(ash::prefs::kOsSettingsEnabled, !os_settings_disabled);
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
   prefs->SetValue(policy_prefs::kSystemFeaturesDisableList,
diff --git a/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc b/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc
index 76e16d45..01c1805 100644
--- a/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc
+++ b/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc
@@ -82,17 +82,29 @@
   bool cancelled_or_paused_ = false;
 };
 
+bool DoesHeaderContainClientHint(
+    const net::HttpRequestHeaders& headers,
+    const network::mojom::WebClientHintsType hint) {
+  const std::string& header = network::GetClientHintToNameMap().at(hint);
+  std::string value;
+  return headers.GetHeader(header, &value) && value == "?1";
+}
+
 // Computes the user agent value that should set for the User-Agent header.
 std::string GetUserAgentValue(const net::HttpRequestHeaders& headers) {
-  // If Sec-CH-UA-Reduced is set on the headers, it means that the token for the
-  // UserAgentReduction Origin Trial has been validated and we should send a
-  // reduced UA string on the request.
-  std::string header = network::GetClientHintToNameMap().at(
-      network::mojom::WebClientHintsType::kUAReduced);
-  std::string value;
-  return headers.GetHeader(header, &value) && value == "?1"
-             ? embedder_support::GetReducedUserAgent()
-             : embedder_support::GetUserAgent();
+  // If Sec-CH-UA-Full is set on the headers, it means that the token for the
+  // SendFullUserAgentAfterReduction Origin Trial has been validated and we
+  // should send a reduced UA string on the request.  Then check if
+  // Sec-CH-UA-Reduced is set on the headers, it means that the token for the
+  // UserAgentReduction Origin Trial has been validated and we
+  // should send a reduced UA string on the request.
+  const bool ua_reduced = DoesHeaderContainClientHint(
+      headers, network::mojom::WebClientHintsType::kUAReduced);
+  const bool ua_full = DoesHeaderContainClientHint(
+      headers, network::mojom::WebClientHintsType::kFullUserAgent);
+  return ua_full ? embedder_support::GetUserAgent()
+                 : (ua_reduced ? embedder_support::GetReducedUserAgent()
+                               : embedder_support::GetUserAgent());
 }
 
 }  // namespace
diff --git a/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc b/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc
index f672d30..d021a45 100644
--- a/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc
+++ b/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc
@@ -547,7 +547,7 @@
       continue;
 
     base::Value::ConstListView const prefetch_url_and_time =
-        base::Value::AsListValue(element.second).GetList();
+        base::Value::AsListValue(element.second).GetListDeprecated();
 
     if (prefetch_url_and_time.size() != 2 ||
         !prefetch_url_and_time[0].is_string() ||
diff --git a/chrome/browser/privacy_sandbox/android/BUILD.gn b/chrome/browser/privacy_sandbox/android/BUILD.gn
index 1e28e54..562e16b 100644
--- a/chrome/browser/privacy_sandbox/android/BUILD.gn
+++ b/chrome/browser/privacy_sandbox/android/BUILD.gn
@@ -16,6 +16,8 @@
     "java/src/org/chromium/chrome/browser/privacy_sandbox/FlocSettingsFragment.java",
     "java/src/org/chromium/chrome/browser/privacy_sandbox/LearnMoreFragment.java",
     "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxBridge.java",
+    "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialog.java",
+    "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogController.java",
     "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxHelpers.java",
     "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxReferrer.java",
     "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragment.java",
@@ -29,6 +31,7 @@
     "//chrome/browser/flags:java",
     "//chrome/browser/settings:java",
     "//chrome/browser/ui/messages/android:java",
+    "//components/browser_ui/bottomsheet/android:java",
     "//components/browser_ui/settings/android:java",
     "//third_party/androidx:androidx_annotation_annotation_java",
     "//third_party/androidx:androidx_browser_browser_java",
@@ -41,6 +44,7 @@
     "//ui/android:ui_full_java",
   ]
   annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
+  srcjar_deps = [ ":privacy_sandbox_enums" ]
   resources_package = "org.chromium.chrome.browser.privacy_sandbox"
 }
 
@@ -49,6 +53,7 @@
   sources = [
     "javatests/src/org/chromium/chrome/browser/privacy_sandbox/FakePrivacySandboxBridge.java",
     "javatests/src/org/chromium/chrome/browser/privacy_sandbox/FlocSettingsFragmentTest.java",
+    "javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogTest.java",
     "javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentTest.java",
     "javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3Test.java",
   ]
@@ -74,8 +79,11 @@
 
 android_resources("java_resources") {
   sources = [
+    "java/res/drawable-night/privacy_sandbox_dialog_illustration.xml",
     "java/res/drawable-night/privacy_sandbox_illustration.xml",
+    "java/res/drawable/privacy_sandbox_dialog_illustration.xml",
     "java/res/drawable/privacy_sandbox_illustration.xml",
+    "java/res/layout/privacy_sandbox_dialog.xml",
     "java/res/layout/privacy_sandbox_header.xml",
     "java/res/values/dimens.xml",
     "java/res/xml/ad_measurement_preference.xml",
@@ -96,3 +104,7 @@
     "//third_party/android_deps:material_design_java",
   ]
 }
+
+java_cpp_enum("privacy_sandbox_enums") {
+  sources = [ "//chrome/browser/privacy_sandbox/privacy_sandbox_service.h" ]
+}
diff --git a/chrome/browser/privacy_sandbox/android/java/res/drawable-night/privacy_sandbox_dialog_illustration.xml b/chrome/browser/privacy_sandbox/android/java/res/drawable-night/privacy_sandbox_dialog_illustration.xml
new file mode 100644
index 0000000..14b7542d
--- /dev/null
+++ b/chrome/browser/privacy_sandbox/android/java/res/drawable-night/privacy_sandbox_dialog_illustration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="100dp"
+    android:height="100dp"
+    android:viewportWidth="100"
+    android:viewportHeight="100">
+  <path
+      android:pathData="M50.402,50.6m-41.4,0a41.4,41.4 0,1 1,82.8 0a41.4,41.4 0,1 1,-82.8 0">
+    <aapt:attr name="android:fillColor">
+      <gradient
+          android:gradientRadius="41.4"
+          android:centerX="50.4024"
+          android:centerY="50.6002"
+          android:type="radial">
+        <item android:offset="0.546875" android:color="#FF202123"/>
+        <item android:offset="1" android:color="#FF174EA6"/>
+      </gradient>
+    </aapt:attr>
+  </path>
+  <path
+      android:pathData="M23.402,50.6C23.402,73.465 35.491,92 50.402,92C65.314,92 77.402,73.465 77.402,50.6C77.402,27.736 65.314,9.2 50.402,9.2C35.491,9.2 23.402,27.736 23.402,50.6Z"
+      android:strokeWidth="2"
+      android:fillColor="#00000000"
+      android:strokeColor="#185ABC"/>
+  <path
+      android:pathData="M79.629,79.97C90.355,69.244 85.944,47.442 69.777,31.274C53.609,15.106 31.807,10.696 21.081,21.422"
+      android:strokeWidth="2"
+      android:fillColor="#00000000"
+      android:strokeColor="#1A73E8"/>
+  <path
+      android:pathData="M79.867,21.468C75.55,17.151 58.944,26.758 42.777,42.926C26.609,59.094 17.002,75.7 21.319,80.017"
+      android:strokeWidth="2"
+      android:fillColor="#00000000"
+      android:strokeColor="#1A73E8"/>
+  <path
+      android:pathData="M91.802,50.6C91.802,68.494 73.267,83 50.402,83C27.538,83 9.002,68.494 9.002,50.6"
+      android:strokeWidth="2"
+      android:fillColor="#00000000"
+      android:strokeColor="#1A73E8"/>
+  <path
+      android:pathData="M91.802,51.05C91.802,56.269 73.267,60.5 50.402,60.5C27.538,60.5 9.002,56.269 9.002,51.05"
+      android:strokeWidth="2"
+      android:fillColor="#00000000"
+      android:strokeColor="#1A73E8"/>
+  <path
+      android:pathData="M33.402,37.048L50.402,29.299L67.402,37.048V48.804C67.402,60.222 60.129,70.705 50.402,73.949C40.675,70.705 33.402,60.222 33.402,48.804V37.048Z"
+      android:strokeWidth="2"
+      android:fillColor="#188038"
+      android:fillAlpha="0.7"
+      android:strokeColor="#34A853"/>
+  <path
+      android:pathData="M50.402,92C73.267,92 91.802,73.465 91.802,50.6C91.802,27.736 73.267,9.2 50.402,9.2C27.538,9.2 9.002,27.736 9.002,50.6C9.002,73.465 27.538,92 50.402,92Z"
+      android:strokeWidth="2"
+      android:fillColor="#00000000"
+      android:strokeColor="#669DF6"/>
+</vector>
diff --git a/chrome/browser/privacy_sandbox/android/java/res/drawable/privacy_sandbox_dialog_illustration.xml b/chrome/browser/privacy_sandbox/android/java/res/drawable/privacy_sandbox_dialog_illustration.xml
new file mode 100644
index 0000000..61d47802
--- /dev/null
+++ b/chrome/browser/privacy_sandbox/android/java/res/drawable/privacy_sandbox_dialog_illustration.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:aapt="http://schemas.android.com/aapt"
+        android:height="100dp"
+        android:width="100dp"
+        android:viewportHeight="100"
+        android:viewportWidth="100">
+    <path android:pathData="M49.9,50.6m-41.4,0a41.4,41.4 0,1 1,82.8 0a41.4,41.4 0,1 1,-82.8 0">
+        <aapt:attr name="android:fillColor">
+            <gradient android:centerX="49.9" android:centerY="50.6"
+                android:gradientRadius="41.4" android:type="radial">
+                <item android:color="#00E8F0FE" android:offset="0.546875"/>
+                <item android:color="#FFD2E3FC" android:offset="1"/>
+            </gradient>
+        </aapt:attr>
+    </path>
+    <path android:fillColor="#00000000"
+        android:pathData="M22.9,50.6C22.9,73.465 34.988,92 49.9,92C64.812,92 76.9,73.465 76.9,50.6C76.9,27.735 64.812,9.2 49.9,9.2C34.988,9.2 22.9,27.735 22.9,50.6Z"
+        android:strokeColor="#AECBFA" android:strokeWidth="2"/>
+    <path android:fillColor="#00000000"
+        android:pathData="M79.127,79.97C89.853,69.244 85.442,47.442 69.274,31.274C53.106,15.106 31.305,10.696 20.578,21.422"
+        android:strokeColor="#8AB4F8" android:strokeWidth="2"/>
+    <path android:fillColor="#00000000"
+        android:pathData="M79.365,21.468C75.048,17.151 58.442,26.758 42.274,42.926C26.107,59.093 16.5,75.699 20.816,80.016"
+        android:strokeColor="#8AB4F8" android:strokeWidth="2"/>
+    <path android:fillColor="#00000000"
+        android:pathData="M91.3,50.6C91.3,68.494 72.765,83 49.9,83C27.035,83 8.5,68.494 8.5,50.6"
+        android:strokeColor="#8AB4F8" android:strokeWidth="2"/>
+    <path android:fillColor="#00000000"
+        android:pathData="M91.3,51.05C91.3,56.269 72.765,60.5 49.9,60.5C27.035,60.5 8.5,56.269 8.5,51.05"
+        android:strokeColor="#8AB4F8" android:strokeWidth="2"/>
+    <path android:fillAlpha="0.68" android:fillColor="#CEEAD6"
+        android:pathData="M32.9,37.048L49.9,29.299L66.9,37.048V48.804C66.9,60.222 59.627,70.705 49.9,73.949C40.173,70.705 32.9,60.222 32.9,48.804V37.048Z"
+        android:strokeColor="#34A853" android:strokeWidth="2"/>
+    <path android:fillColor="#00000000"
+        android:pathData="M49.9,92C72.765,92 91.3,73.465 91.3,50.6C91.3,27.735 72.765,9.2 49.9,9.2C27.035,9.2 8.5,27.735 8.5,50.6C8.5,73.465 27.035,92 49.9,92Z"
+        android:strokeColor="#669DF6" android:strokeWidth="2"/>
+</vector>
diff --git a/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_dialog.xml b/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_dialog.xml
new file mode 100644
index 0000000..c5873e0
--- /dev/null
+++ b/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_dialog.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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. -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/privacy_sandbox_dialog"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginHorizontal="@dimen/list_item_default_margin"
+            android:animateLayoutChanges="true"
+            android:gravity="center_horizontal"
+            android:orientation="vertical">
+
+            <ImageView
+                android:layout_marginTop="@dimen/privacy_sandbox_dialog_illustration_margin_top"
+                android:layout_marginBottom="@dimen/privacy_sandbox_dialog_illustration_margin_bottom"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                app:srcCompat="@drawable/privacy_sandbox_dialog_illustration"
+                android:importantForAccessibility="no" />
+
+            <TextView
+                android:layout_marginBottom="@dimen/promo_between_text_margin"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/privacy_sandbox_consent_title"
+                style="@style/TextAppearance.Headline.Primary" />
+
+            <TextView
+                android:layout_marginBottom="@dimen/list_item_default_margin"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/privacy_sandbox_consent_subtitle"
+                style="@style/TextAppearance.TextMedium.Primary" />
+
+            <TextView
+                android:layout_marginBottom="@dimen/promo_between_text_margin"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/privacy_sandbox_consent_heading_one"
+                style="@style/TextAppearance.TextMedium.Primary" />
+
+            <TextView
+                android:layout_marginBottom="@dimen/list_item_default_margin"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/privacy_sandbox_consent_description_one"
+                style="@style/TextAppearance.TextMedium.Secondary" />
+
+            <TextView
+                android:layout_marginBottom="@dimen/promo_between_text_margin"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/privacy_sandbox_consent_heading_two"
+                style="@style/TextAppearance.TextMedium.Primary" />
+
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/privacy_sandbox_consent_description_two"
+                style="@style/TextAppearance.TextMedium.Secondary" />
+
+        </LinearLayout>
+
+    </ScrollView>
+
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="@dimen/promo_dialog_padding"
+        android:weightSum="2">
+
+        <org.chromium.ui.widget.ButtonCompat
+            android:id="@+id/no_button"
+            android:focusable="true"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="@dimen/privacy_sandbox_dialog_button_margin_between"
+            android:text="@string/privacy_sandbox_dialog_no_button"
+            style="@style/FilledButton.Flat" />
+
+        <org.chromium.ui.widget.ButtonCompat
+            android:id="@+id/yes_button"
+            android:focusable="true"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/privacy_sandbox_dialog_button_margin_between"
+            android:text="@string/privacy_sandbox_dialog_yes_button"
+            style="@style/FilledButton.Flat" />
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml b/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml
index 4a865aa..4947b503 100644
--- a/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml
+++ b/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml
@@ -6,4 +6,7 @@
 <resources>
   <dimen name="privacy_sandbox_illustration_height">120dp</dimen>
   <dimen name="privacy_sandbox_illustration_width">120dp</dimen>
+  <dimen name="privacy_sandbox_dialog_illustration_margin_top">32dp</dimen>
+  <dimen name="privacy_sandbox_dialog_illustration_margin_bottom">16dp</dimen>
+  <dimen name="privacy_sandbox_dialog_button_margin_between">8dp</dimen>
 </resources>
diff --git a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxBridge.java b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxBridge.java
index 2910272..f9005ad2 100644
--- a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxBridge.java
+++ b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxBridge.java
@@ -71,6 +71,14 @@
         PrivacySandboxBridgeJni.get().setTopicAllowed(topic, allowed);
     }
 
+    public static @DialogType int getRequiredDialogType() {
+        return PrivacySandboxBridgeJni.get().getRequiredDialogType();
+    }
+
+    public static void dialogActionOccurred(@DialogAction int action) {
+        PrivacySandboxBridgeJni.get().dialogActionOccurred(action);
+    }
+
     @NativeMethods
     interface Natives {
         boolean isPrivacySandboxEnabled();
@@ -88,5 +96,7 @@
         String[] getCurrentTopTopics();
         String[] getBlockedTopics();
         void setTopicAllowed(String topic, boolean allowed);
+        int getRequiredDialogType();
+        void dialogActionOccurred(int action);
     }
 }
diff --git a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialog.java b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialog.java
new file mode 100644
index 0000000..4930750
--- /dev/null
+++ b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialog.java
@@ -0,0 +1,29 @@
+// 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.privacy_sandbox;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import org.chromium.ui.widget.ButtonCompat;
+
+/**
+ * Dialog shown for the Privacy Sandbox.
+ */
+public class PrivacySandboxDialog extends Dialog {
+    public PrivacySandboxDialog(Context context) {
+        super(context, R.style.ThemeOverlay_BrowserUI_Fullscreen);
+        View view = LayoutInflater.from(context).inflate(R.layout.privacy_sandbox_dialog, null);
+        setContentView(view);
+
+        // TODO(crbug.com/1286276): Add the actual logic for the buttons.
+        ButtonCompat yesButton = (ButtonCompat) view.findViewById(R.id.yes_button);
+        yesButton.setOnClickListener((View v) -> dismiss());
+        ButtonCompat noButton = (ButtonCompat) view.findViewById(R.id.no_button);
+        noButton.setOnClickListener((View v) -> dismiss());
+    }
+}
diff --git a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogController.java b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogController.java
new file mode 100644
index 0000000..59851a3
--- /dev/null
+++ b/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogController.java
@@ -0,0 +1,19 @@
+// 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.privacy_sandbox;
+
+import android.content.Context;
+
+/**
+ * Controller for the dialog shown for the Privacy Sandbox.
+ */
+public class PrivacySandboxDialogController {
+    public static boolean maybeLaunchPrivacySandboxDialog(Context context) {
+        // TODO(crbug.com/1286276): Add logic for conditional display.
+        PrivacySandboxDialog dialog = new PrivacySandboxDialog(context);
+        dialog.show();
+        return true;
+    }
+}
diff --git a/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/FakePrivacySandboxBridge.java b/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/FakePrivacySandboxBridge.java
index 8ff97ef..f3eef82 100644
--- a/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/FakePrivacySandboxBridge.java
+++ b/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/FakePrivacySandboxBridge.java
@@ -107,4 +107,14 @@
             mBlockedTopics.add(topic);
         }
     }
+
+    @Override
+    public int getRequiredDialogType() {
+        return DialogType.NONE;
+    }
+
+    @Override
+    public void dialogActionOccurred(int action) {
+        return;
+    }
 }
diff --git a/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogTest.java b/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogTest.java
new file mode 100644
index 0000000..392e867
--- /dev/null
+++ b/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxDialogTest.java
@@ -0,0 +1,72 @@
+// 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.privacy_sandbox;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+
+import androidx.test.filters.SmallTest;
+
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.StrictModeContext;
+import org.chromium.base.test.util.Batch;
+import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.Feature;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.flags.ChromeSwitches;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
+import org.chromium.chrome.test.batch.BlankCTATabInitialStateRule;
+import org.chromium.chrome.test.util.ChromeRenderTestRule;
+import org.chromium.chrome.test.util.browser.Features;
+import org.chromium.content_public.browser.test.util.TestThreadUtils;
+
+import java.io.IOException;
+
+/** Tests {@link PrivacySandboxDialog}. */
+@RunWith(ChromeJUnit4ClassRunner.class)
+@Batch(Batch.PER_CLASS)
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
+@Features.EnableFeatures(ChromeFeatureList.PRIVACY_SANDBOX_SETTINGS_3)
+public final class PrivacySandboxDialogTest {
+    @ClassRule
+    public static final ChromeTabbedActivityTestRule sActivityTestRule =
+            new ChromeTabbedActivityTestRule();
+
+    @Rule
+    public final BlankCTATabInitialStateRule mInitialStateRule =
+            new BlankCTATabInitialStateRule(sActivityTestRule, false);
+
+    @Rule
+    public ChromeRenderTestRule mRenderTestRule =
+            ChromeRenderTestRule.Builder.withPublicCorpus().build();
+
+    private void renderViewWithId(int id, String renderId) {
+        onView(withId(id)).check((v, noMatchException) -> {
+            if (noMatchException != null) throw noMatchException;
+            // Allow disk writes and slow calls to render from UI thread.
+            try (StrictModeContext ignored = StrictModeContext.allowAllThreadPolicies()) {
+                mRenderTestRule.render(v, renderId);
+            } catch (IOException e) {
+                assert false : "Render test failed due to " + e;
+            }
+        });
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"RenderTest"})
+    public void testRenderDialog() throws IOException {
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            PrivacySandboxDialog dialog = new PrivacySandboxDialog(sActivityTestRule.getActivity());
+            dialog.show();
+        });
+        renderViewWithId(R.id.privacy_sandbox_dialog, "privacy_sandbox_consent_dialog");
+    }
+}
diff --git a/chrome/browser/privacy_sandbox/android/privacy_sandbox_bridge.cc b/chrome/browser/privacy_sandbox/android/privacy_sandbox_bridge.cc
index 7d6cff2..03f8e1bc 100644
--- a/chrome/browser/privacy_sandbox/android/privacy_sandbox_bridge.cc
+++ b/chrome/browser/privacy_sandbox/android/privacy_sandbox_bridge.cc
@@ -144,3 +144,17 @@
     GetBlockedTopics()->insert(topic);
   }
 }
+
+static jint JNI_PrivacySandboxBridge_GetRequiredDialogType(JNIEnv* env) {
+  return static_cast<int>(PrivacySandboxServiceFactory::GetForProfile(
+                              ProfileManager::GetActiveUserProfile())
+                              ->GetRequiredDialogType());
+}
+
+static void JNI_PrivacySandboxBridge_DialogActionOccurred(JNIEnv* env,
+                                                          jint action) {
+  PrivacySandboxServiceFactory::GetForProfile(
+      ProfileManager::GetActiveUserProfile())
+      ->DialogActionOccurred(
+          static_cast<PrivacySandboxService::DialogAction>(action));
+}
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service.h b/chrome/browser/privacy_sandbox/privacy_sandbox_service.h
index 0c445c1..a7b0b57 100644
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_service.h
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_service.h
@@ -44,10 +44,17 @@
                               public signin::IdentityManager::Observer {
  public:
   // Possible types of Privacy Sandbox dialogs that may be shown to the user.
-  enum class DialogType { kNone, kNotice, kConsent };
+  // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.privacy_sandbox
+  enum class DialogType {
+    kNone = 0,
+    kNotice = 1,
+    kConsent = 2,
+    kMaxValue = kConsent,
+  };
 
   // An exhaustive list of actions related to showing & interacting with the
   // dialog. Includes actions which do not impact consent / notice state.
+  // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.privacy_sandbox
   enum class DialogAction {
     // Notice Interactions:
     kNoticeShown = 0,
@@ -68,6 +75,8 @@
 
     // As above, but for the consent.
     kConsentClosedNoInteraction = 10,
+
+    kMaxValue = kConsentClosedNoInteraction,
   };
 
   PrivacySandboxService(PrivacySandboxSettings* privacy_sandbox_settings,
diff --git a/chrome/browser/process_singleton_internal.cc b/chrome/browser/process_singleton_internal.cc
new file mode 100644
index 0000000..bcd19ae
--- /dev/null
+++ b/chrome/browser/process_singleton_internal.cc
@@ -0,0 +1,102 @@
+// 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 "chrome/browser/process_singleton_internal.h"
+
+#include "base/metrics/histogram_macros.h"
+#include "base/notreached.h"
+#include "base/trace_event/base_tracing.h"
+#include "base/tracing/protos/chrome_track_event.pbzero.h"
+#include "build/build_config.h"
+
+namespace internal {
+
+namespace {
+
+#define CASE(enum_value)             \
+  case ProcessSingleton::enum_value: \
+    return perfetto::protos::pbzero::ProcessSingleton::enum_value
+
+perfetto::protos::pbzero::ProcessSingleton::RemoteProcessInteractionResult
+ToProtoEnum(ProcessSingleton::RemoteProcessInteractionResult result) {
+  switch (result) {
+    CASE(TERMINATE_SUCCEEDED);
+    CASE(TERMINATE_FAILED);
+    CASE(REMOTE_PROCESS_NOT_FOUND);
+#if BUILDFLAG(IS_WIN)
+    CASE(TERMINATE_WAIT_TIMEOUT);
+    CASE(RUNNING_PROCESS_NOTIFY_ERROR);
+#elif BUILDFLAG(IS_POSIX)
+    CASE(TERMINATE_NOT_ENOUGH_PERMISSIONS);
+    CASE(REMOTE_PROCESS_SHUTTING_DOWN);
+    CASE(PROFILE_UNLOCKED);
+    CASE(PROFILE_UNLOCKED_BEFORE_KILL);
+    CASE(SAME_BROWSER_INSTANCE);
+    CASE(SAME_BROWSER_INSTANCE_BEFORE_KILL);
+    CASE(FAILED_TO_EXTRACT_PID);
+    CASE(INVALID_LOCK_FILE);
+    CASE(ORPHANED_LOCK_FILE);
+#endif
+    CASE(USER_REFUSED_TERMINATION);
+    case ProcessSingleton::REMOTE_PROCESS_INTERACTION_RESULT_COUNT:
+      NOTREACHED();
+      return perfetto::protos::pbzero::ProcessSingleton::
+          INTERACTION_RESULT_UNSPECIFIED;
+  }
+}
+
+perfetto::protos::pbzero::ProcessSingleton::RemoteHungProcessTerminateReason
+ToProtoEnum(ProcessSingleton::RemoteHungProcessTerminateReason reason) {
+  switch (reason) {
+#if BUILDFLAG(IS_WIN)
+    CASE(USER_ACCEPTED_TERMINATION);
+    CASE(NO_VISIBLE_WINDOW_FOUND);
+#elif BUILDFLAG(IS_POSIX)
+    CASE(NOTIFY_ATTEMPTS_EXCEEDED);
+    CASE(SOCKET_WRITE_FAILED);
+    CASE(SOCKET_READ_FAILED);
+#endif
+    case ProcessSingleton::REMOTE_HUNG_PROCESS_TERMINATE_REASON_COUNT:
+      NOTREACHED();
+      return perfetto::protos::pbzero::ProcessSingleton::
+          TERMINATE_REASON_UNSPECIFIED;
+  }
+}
+
+}  // namespace
+
+void SendRemoteProcessInteractionResultHistogram(
+    ProcessSingleton::RemoteProcessInteractionResult result) {
+  TRACE_EVENT_INSTANT(
+      "startup", "ProcessSingleton:SendRemoteProcessInteractionResultHistogram",
+      [&](perfetto::EventContext ctx) {
+        auto* event = ctx.event<perfetto::protos::pbzero::ChromeTrackEvent>();
+        auto* process_singleton = event->set_process_singleton();
+        process_singleton->set_remote_process_interaction_result(
+            ToProtoEnum(result));
+      });
+
+  UMA_HISTOGRAM_ENUMERATION(
+      "Chrome.ProcessSingleton.RemoteProcessInteractionResult", result,
+      ProcessSingleton::REMOTE_PROCESS_INTERACTION_RESULT_COUNT);
+}
+
+void SendRemoteHungProcessTerminateReasonHistogram(
+    ProcessSingleton::RemoteHungProcessTerminateReason reason) {
+  TRACE_EVENT_INSTANT(
+      "startup",
+      "ProcessSingleton:SendRemoteHungProcessTerminateReasonHistogram",
+      [&](perfetto::EventContext ctx) {
+        auto* event = ctx.event<perfetto::protos::pbzero::ChromeTrackEvent>();
+        auto* process_singleton = event->set_process_singleton();
+        process_singleton->set_remote_process_terminate_reason(
+            ToProtoEnum(reason));
+      });
+
+  UMA_HISTOGRAM_ENUMERATION(
+      "Chrome.ProcessSingleton.RemoteHungProcessTerminateReason", reason,
+      ProcessSingleton::REMOTE_HUNG_PROCESS_TERMINATE_REASON_COUNT);
+}
+
+}  // namespace internal
diff --git a/chrome/browser/process_singleton_internal.h b/chrome/browser/process_singleton_internal.h
new file mode 100644
index 0000000..0190fbe
--- /dev/null
+++ b/chrome/browser/process_singleton_internal.h
@@ -0,0 +1,20 @@
+// 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 CHROME_BROWSER_PROCESS_SINGLETON_INTERNAL_H_
+#define CHROME_BROWSER_PROCESS_SINGLETON_INTERNAL_H_
+
+#include "chrome/browser/process_singleton.h"
+
+namespace internal {
+
+void SendRemoteProcessInteractionResultHistogram(
+    ProcessSingleton::RemoteProcessInteractionResult result);
+
+void SendRemoteHungProcessTerminateReasonHistogram(
+    ProcessSingleton::RemoteHungProcessTerminateReason reason);
+
+}  // namespace internal
+
+#endif  // CHROME_BROWSER_PROCESS_SINGLETON_INTERNAL_H_
diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
index c546c80..c9f26ea 100644
--- a/chrome/browser/process_singleton_posix.cc
+++ b/chrome/browser/process_singleton_posix.cc
@@ -88,6 +88,7 @@
 #include "base/timer/timer.h"
 #include "build/build_config.h"
 #include "build/chromeos_buildflags.h"
+#include "chrome/browser/process_singleton_internal.h"
 #include "chrome/common/chrome_constants.h"
 #include "chrome/common/process_singleton_lock_posix.h"
 #include "chrome/grit/chromium_strings.h"
@@ -501,20 +502,6 @@
 }
 #endif  // BUILDFLAG(IS_MAC)
 
-void SendRemoteProcessInteractionResultHistogram(
-    ProcessSingleton::RemoteProcessInteractionResult result) {
-  UMA_HISTOGRAM_ENUMERATION(
-      "Chrome.ProcessSingleton.RemoteProcessInteractionResult", result,
-      ProcessSingleton::REMOTE_PROCESS_INTERACTION_RESULT_COUNT);
-}
-
-void SendRemoteHungProcessTerminateReasonHistogram(
-    ProcessSingleton::RemoteHungProcessTerminateReason reason) {
-  UMA_HISTOGRAM_ENUMERATION(
-      "Chrome.ProcessSingleton.RemoteHungProcessTerminateReason", reason,
-      ProcessSingleton::REMOTE_HUNG_PROCESS_TERMINATE_REASON_COUNT);
-}
-
 }  // namespace
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -834,7 +821,7 @@
     if (hostname.empty()) {
       // Invalid lockfile.
       UnlinkPath(lock_path_);
-      SendRemoteProcessInteractionResultHistogram(INVALID_LOCK_FILE);
+      internal::SendRemoteProcessInteractionResultHistogram(INVALID_LOCK_FILE);
       return PROCESS_NONE;
     }
 
@@ -843,7 +830,7 @@
       // the profile, try to continue; otherwise quit.
       if (DisplayProfileInUseError(lock_path_, hostname, pid)) {
         UnlinkPath(lock_path_);
-        SendRemoteProcessInteractionResultHistogram(PROFILE_UNLOCKED);
+        internal::SendRemoteProcessInteractionResultHistogram(PROFILE_UNLOCKED);
         return PROCESS_NONE;
       }
       return PROFILE_IN_USE;
@@ -852,7 +839,7 @@
     if (!IsChromeProcess(pid)) {
       // Orphaned lockfile (no process with pid, or non-chrome process.)
       UnlinkPath(lock_path_);
-      SendRemoteProcessInteractionResultHistogram(ORPHANED_LOCK_FILE);
+      internal::SendRemoteProcessInteractionResultHistogram(ORPHANED_LOCK_FILE);
       return PROCESS_NONE;
     }
 
@@ -860,7 +847,8 @@
       // Orphaned lockfile (pid is part of same chrome instance we are, even
       // though we haven't tried to create a lockfile yet).
       UnlinkPath(lock_path_);
-      SendRemoteProcessInteractionResultHistogram(SAME_BROWSER_INSTANCE);
+      internal::SendRemoteProcessInteractionResultHistogram(
+          SAME_BROWSER_INSTANCE);
       return PROCESS_NONE;
     }
 
@@ -868,7 +856,8 @@
       // Retries failed.  Kill the unresponsive chrome process and continue.
       if (!kill_unresponsive || !KillProcessByLockPath(false))
         return PROFILE_IN_USE;
-      SendRemoteHungProcessTerminateReasonHistogram(NOTIFY_ATTEMPTS_EXCEEDED);
+      internal::SendRemoteHungProcessTerminateReasonHistogram(
+          NOTIFY_ATTEMPTS_EXCEEDED);
       return PROCESS_NONE;
     }
 
@@ -908,7 +897,8 @@
     // Try to kill the other process, because it might have been dead.
     if (!kill_unresponsive || !KillProcessByLockPath(true))
       return PROFILE_IN_USE;
-    SendRemoteHungProcessTerminateReasonHistogram(SOCKET_WRITE_FAILED);
+    internal::SendRemoteHungProcessTerminateReasonHistogram(
+        SOCKET_WRITE_FAILED);
     return PROCESS_NONE;
   }
 
@@ -924,14 +914,15 @@
   if (len <= 0) {
     if (!kill_unresponsive || !KillProcessByLockPath(true))
       return PROFILE_IN_USE;
-    SendRemoteHungProcessTerminateReasonHistogram(SOCKET_READ_FAILED);
+    internal::SendRemoteHungProcessTerminateReasonHistogram(SOCKET_READ_FAILED);
     return PROCESS_NONE;
   }
 
   buf[len] = '\0';
   if (strncmp(buf, kShutdownToken, base::size(kShutdownToken) - 1) == 0) {
     // The other process is shutting down, it's safe to start a new process.
-    SendRemoteProcessInteractionResultHistogram(REMOTE_PROCESS_SHUTTING_DOWN);
+    internal::SendRemoteProcessInteractionResultHistogram(
+        REMOTE_PROCESS_SHUTTING_DOWN);
     return PROCESS_NONE;
   } else if (strncmp(buf, kACKToken, base::size(kACKToken) - 1) == 0) {
 #if defined(TOOLKIT_VIEWS) && \
@@ -1141,14 +1132,15 @@
     bool res = DisplayProfileInUseError(lock_path_, hostname, pid);
     if (res) {
       UnlinkPath(lock_path_);
-      SendRemoteProcessInteractionResultHistogram(PROFILE_UNLOCKED_BEFORE_KILL);
+      internal::SendRemoteProcessInteractionResultHistogram(
+          PROFILE_UNLOCKED_BEFORE_KILL);
     }
     return res;
   }
   UnlinkPath(lock_path_);
 
   if (IsSameChromeInstance(pid)) {
-    SendRemoteProcessInteractionResultHistogram(
+    internal::SendRemoteProcessInteractionResultHistogram(
         SAME_BROWSER_INSTANCE_BEFORE_KILL);
     return true;
   }
@@ -1158,7 +1150,7 @@
     return true;
   }
 
-  SendRemoteProcessInteractionResultHistogram(FAILED_TO_EXTRACT_PID);
+  internal::SendRemoteProcessInteractionResultHistogram(FAILED_TO_EXTRACT_PID);
 
   LOG(ERROR) << "Failed to extract pid from path: " << lock_path_.value();
   return true;
@@ -1190,5 +1182,5 @@
         break;
     }
   }
-  SendRemoteProcessInteractionResultHistogram(action);
+  internal::SendRemoteProcessInteractionResultHistogram(action);
 }
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
index 1df74f5..8eb7de0 100644
--- a/chrome/browser/process_singleton_win.cc
+++ b/chrome/browser/process_singleton_win.cc
@@ -21,11 +21,12 @@
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/time/time.h"
-#include "base/trace_event/trace_event.h"
+#include "base/trace_event/base_tracing.h"
 #include "base/win/registry.h"
 #include "base/win/scoped_handle.h"
 #include "base/win/windows_version.h"
 #include "base/win/wmi.h"
+#include "chrome/browser/process_singleton_internal.h"
 #include "chrome/browser/shell_integration.h"
 #include "chrome/browser/ui/simple_message_box.h"
 #include "chrome/browser/win/chrome_process_finder.h"
@@ -48,6 +49,8 @@
 class AutoLockMutex {
  public:
   explicit AutoLockMutex(HANDLE mutex) : mutex_(mutex) {
+    TRACE_EVENT0("startup",
+                 "ProcessSingleton:AutoLockMutex:WaitForSingleObject");
     DWORD result = ::WaitForSingleObject(mutex_, INFINITE);
     DPCHECK(result == WAIT_OBJECT_0) << "Result = " << result;
   }
@@ -64,27 +67,6 @@
   HANDLE mutex_;
 };
 
-// A helper class that releases the given |mutex| while the AutoUnlockMutex is
-// in scope and immediately re-acquires it when going out of scope.
-class AutoUnlockMutex {
- public:
-  explicit AutoUnlockMutex(HANDLE mutex) : mutex_(mutex) {
-    BOOL released = ::ReleaseMutex(mutex_);
-    DPCHECK(released);
-  }
-
-  AutoUnlockMutex(const AutoUnlockMutex&) = delete;
-  AutoUnlockMutex& operator=(const AutoUnlockMutex&) = delete;
-
-  ~AutoUnlockMutex() {
-    DWORD result = ::WaitForSingleObject(mutex_, INFINITE);
-    DPCHECK(result == WAIT_OBJECT_0) << "Result = " << result;
-  }
-
- private:
-  HANDLE mutex_;
-};
-
 // Checks the visibility of the enumerated window and signals once a visible
 // window has been found.
 BOOL CALLBACK BrowserWindowEnumeration(HWND window, LPARAM param) {
@@ -163,6 +145,8 @@
   if (message != WM_COPYDATA)
     return false;
 
+  TRACE_EVENT0("startup", "ProcessSingleton:ProcessLaunchNotification");
+
   // Handle the WM_COPYDATA message from another process.
   const COPYDATASTRUCT* cds = reinterpret_cast<COPYDATASTRUCT*>(lparam);
 
@@ -179,22 +163,17 @@
 }
 
 bool DisplayShouldKillMessageBox() {
+  TRACE_EVENT0("startup", "ProcessSingleton:DisplayShouldKillMessageBox");
   return chrome::ShowQuestionMessageBoxSync(
              NULL, l10n_util::GetStringUTF16(IDS_PRODUCT_NAME),
              l10n_util::GetStringUTF16(IDS_BROWSER_HUNGBROWSER_MESSAGE)) !=
          chrome::MESSAGE_BOX_RESULT_NO;
 }
 
-void SendRemoteProcessInteractionResultHistogram(
-    ProcessSingleton::RemoteProcessInteractionResult result) {
-  UMA_HISTOGRAM_ENUMERATION(
-      "Chrome.ProcessSingleton.RemoteProcessInteractionResult", result,
-      ProcessSingleton::REMOTE_PROCESS_INTERACTION_RESULT_COUNT);
-}
-
 // Function was copied from Process::Terminate.
 void TerminateProcessWithHistograms(const base::Process& process,
                                     int exit_code) {
+  TRACE_EVENT0("startup", "ProcessSingleton:TerminateProcessWithHistograms");
   DCHECK(process.IsValid());
   base::TimeTicks start_time = base::TimeTicks::Now();
   bool result = (::TerminateProcess(process.Handle(), exit_code) != FALSE);
@@ -206,11 +185,11 @@
     if (wait_result != WAIT_OBJECT_0) {
       if (wait_result == WAIT_FAILED)
         wait_error = ::GetLastError();
-      SendRemoteProcessInteractionResultHistogram(
+      internal::SendRemoteProcessInteractionResultHistogram(
           ProcessSingleton::TERMINATE_WAIT_TIMEOUT);
       DPLOG(ERROR) << "Error waiting for process exit";
     } else {
-      SendRemoteProcessInteractionResultHistogram(
+      internal::SendRemoteProcessInteractionResultHistogram(
           ProcessSingleton::TERMINATE_SUCCEEDED);
     }
     base::debug::GlobalActivityTracker::RecordProcessExitIfEnabled(
@@ -221,7 +200,7 @@
         "Chrome.ProcessSingleton.TerminationWaitErrorCode.Windows", wait_error);
   } else {
     terminate_error = ::GetLastError();
-    SendRemoteProcessInteractionResultHistogram(
+    internal::SendRemoteProcessInteractionResultHistogram(
         ProcessSingleton::TERMINATE_FAILED);
     DPLOG(ERROR) << "Unable to terminate process";
   }
@@ -238,6 +217,8 @@
 // http://code.google.com/p/chromium/issues/detail?id=43650
 bool ProcessSingleton::EscapeVirtualization(
     const base::FilePath& user_data_dir) {
+  TRACE_EVENT0("startup", "ProcessSingleton:EscapeVirtualization");
+
   if (::GetModuleHandle(L"sftldr_wow64.dll") ||
       ::GetModuleHandle(L"sftldr.dll")) {
     int process_id;
@@ -281,6 +262,8 @@
 
 // Code roughly based on Mozilla.
 ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() {
+  TRACE_EVENT0("startup", "ProcessSingleton::NotifyOtherProcess");
+
   if (is_virtualized_)
     return PROCESS_NOTIFIED;  // We already spawned the process in this case.
   if (lock_file_ == INVALID_HANDLE_VALUE && !remote_window_) {
@@ -294,7 +277,8 @@
       return PROCESS_NOTIFIED;
     case chrome::NOTIFY_FAILED:
       remote_window_ = NULL;
-      SendRemoteProcessInteractionResultHistogram(RUNNING_PROCESS_NOTIFY_ERROR);
+      internal::SendRemoteProcessInteractionResultHistogram(
+          RUNNING_PROCESS_NOTIFY_ERROR);
       return PROCESS_NONE;
     case chrome::NOTIFY_WINDOW_HUNG:
       // Fall through and potentially terminate the hung browser.
@@ -305,8 +289,12 @@
   DWORD process_id = 0;
   DWORD thread_id = ::GetWindowThreadProcessId(remote_window_, &process_id);
   if (!thread_id || !process_id) {
+    TRACE_EVENT_INSTANT(
+        "startup",
+        "ProcessSingleton::NotifyOtherProcess:GetWindowThreadProcessId failed");
     remote_window_ = NULL;
-    SendRemoteProcessInteractionResultHistogram(REMOTE_PROCESS_NOT_FOUND);
+    internal::SendRemoteProcessInteractionResultHistogram(
+        REMOTE_PROCESS_NOT_FOUND);
     return PROCESS_NONE;
   }
 
@@ -315,20 +303,22 @@
 
   // Scan for every window to find a visible one.
   bool visible_window = false;
-  ::EnumThreadWindows(thread_id,
-                      &BrowserWindowEnumeration,
-                      reinterpret_cast<LPARAM>(&visible_window));
+  {
+    TRACE_EVENT0("startup",
+                 "ProcessSingleton::NotifyOtherProcess:EnumThreadWindows");
+    ::EnumThreadWindows(thread_id, &BrowserWindowEnumeration,
+                        reinterpret_cast<LPARAM>(&visible_window));
+  }
 
   // If there is a visible browser window, ask the user before killing it.
   if (visible_window && !should_kill_remote_process_callback_.Run()) {
-    SendRemoteProcessInteractionResultHistogram(USER_REFUSED_TERMINATION);
+    internal::SendRemoteProcessInteractionResultHistogram(
+        USER_REFUSED_TERMINATION);
     // The user denied. Quit silently.
     return PROCESS_NOTIFIED;
   }
-  UMA_HISTOGRAM_ENUMERATION(
-      "Chrome.ProcessSingleton.RemoteHungProcessTerminateReason",
-      visible_window ? USER_ACCEPTED_TERMINATION : NO_VISIBLE_WINDOW_FOUND,
-      REMOTE_HUNG_PROCESS_TERMINATE_REASON_COUNT);
+  internal::SendRemoteHungProcessTerminateReasonHistogram(
+      visible_window ? USER_ACCEPTED_TERMINATION : NO_VISIBLE_WINDOW_FOUND);
 
   // Time to take action. Kill the browser process.
   TerminateProcessWithHistograms(process, content::RESULT_CODE_HUNG);
@@ -375,6 +365,8 @@
 // isn't one, create a message window with its title set to the profile
 // directory path.
 bool ProcessSingleton::Create() {
+  TRACE_EVENT0("startup", "ProcessSingleton::Create");
+
   static const wchar_t kMutexName[] = L"Local\\ChromeProcessSingletonStartup!";
 
   remote_window_ = chrome::FindRunningChromeWindow(user_data_dir_);
@@ -401,15 +393,14 @@
     if (!remote_window_) {
       // We have to make sure there is no Chrome instance running on another
       // machine that uses the same profile.
-      base::FilePath lock_file_path = user_data_dir_.AppendASCII(kLockfile);
-      lock_file_ = ::CreateFile(lock_file_path.value().c_str(),
-                                GENERIC_WRITE,
-                                FILE_SHARE_READ,
-                                NULL,
-                                CREATE_ALWAYS,
-                                FILE_ATTRIBUTE_NORMAL |
-                                FILE_FLAG_DELETE_ON_CLOSE,
-                                NULL);
+      {
+        TRACE_EVENT0("startup", "ProcessSingleton::Create:CreateLockFile");
+        base::FilePath lock_file_path = user_data_dir_.AppendASCII(kLockfile);
+        lock_file_ = ::CreateFile(
+            lock_file_path.value().c_str(), GENERIC_WRITE, FILE_SHARE_READ,
+            NULL, CREATE_ALWAYS,
+            FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, NULL);
+      }
       DWORD error = ::GetLastError();
       LOG_IF(WARNING, lock_file_ != INVALID_HANDLE_VALUE &&
           error == ERROR_ALREADY_EXISTS) << "Lock file exists but is writable.";
@@ -419,6 +410,7 @@
       if (lock_file_ != INVALID_HANDLE_VALUE) {
         // Set the window's title to the path of our user data directory so
         // other Chrome instances can decide if they should forward to us.
+        TRACE_EVENT0("startup", "ProcessSingleton::Create:CreateWindow");
         bool result =
             window_.CreateNamed(base::BindRepeating(&ProcessLaunchNotification,
                                                     notification_callback_),
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
index 83c8813b..3928948 100644
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -655,7 +655,7 @@
     // Make a copy because the list might change in the calls to GetProfile.
     const base::Value profile_list =
         local_state->GetList(prefs::kProfilesLastActive)->Clone();
-    for (const auto& entry : profile_list.GetList()) {
+    for (const auto& entry : profile_list.GetListDeprecated()) {
       const std::string* profile_base_name = entry.GetIfString();
       if (!profile_base_name || profile_base_name->empty() ||
           *profile_base_name ==
diff --git a/chrome/browser/profiles/profile_manager_browsertest.cc b/chrome/browser/profiles/profile_manager_browsertest.cc
index e56b579..f02c0d1 100644
--- a/chrome/browser/profiles/profile_manager_browsertest.cc
+++ b/chrome/browser/profiles/profile_manager_browsertest.cc
@@ -25,6 +25,7 @@
 #include "chrome/browser/profiles/profile_attributes_entry.h"
 #include "chrome/browser/profiles/profile_attributes_storage.h"
 #include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/profiles/profile_test_util.h"
 #include "chrome/browser/profiles/profile_window.h"
 #include "chrome/browser/profiles/profiles_state.h"
 #include "chrome/browser/signin/identity_test_environment_profile_adaptor.h"
@@ -341,10 +342,7 @@
 
   // Create an additional profile.
   base::FilePath new_path = profile_manager->GenerateNextProfileDirectoryPath();
-  base::RunLoop run_loop;
-  profile_manager->CreateProfileAsync(
-      new_path, base::BindRepeating(&OnUnblockOnProfileCreation, &run_loop));
-  run_loop.Run();
+  profiles::testing::CreateProfileSync(profile_manager, new_path);
 
   ASSERT_EQ(2u, storage.GetNumberOfProfiles());
 
@@ -370,10 +368,7 @@
 
   // Create an additional profile.
   base::FilePath new_path = profile_manager->GenerateNextProfileDirectoryPath();
-  base::RunLoop run_loop;
-  profile_manager->CreateProfileAsync(
-      new_path, base::BindRepeating(&OnUnblockOnProfileCreation, &run_loop));
-  run_loop.Run();
+  profiles::testing::CreateProfileSync(profile_manager, new_path);
 
   ASSERT_EQ(2u, storage.GetNumberOfProfiles());
 
@@ -405,13 +400,7 @@
 
   // Create an additional profile.
   base::FilePath new_path = profile_manager->GenerateNextProfileDirectoryPath();
-  base::RunLoop run_loop;
-  profile_manager->CreateProfileAsync(
-      new_path, base::BindRepeating(&OnUnblockOnProfileCreation, &run_loop));
-
-  // Run the message loop to allow profile creation to take place; the loop is
-  // terminated by OnUnblockOnProfileCreation when the profile is created.
-  run_loop.Run();
+  profiles::testing::CreateProfileSync(profile_manager, new_path);
 
   ASSERT_EQ(2u, storage.GetNumberOfProfiles());
 
@@ -448,13 +437,7 @@
 
   // Create an additional profile.
   base::FilePath new_path = profile_manager->GenerateNextProfileDirectoryPath();
-  base::RunLoop run_loop;
-  profile_manager->CreateProfileAsync(
-      new_path, base::BindRepeating(&OnUnblockOnProfileCreation, &run_loop));
-
-  // Run the message loop to allow profile creation to take place; the loop is
-  // terminated by OnUnblockOnProfileCreation when the profile is created.
-  run_loop.Run();
+  profiles::testing::CreateProfileSync(profile_manager, new_path);
 
   Profile* profile2 = profile_manager->GetProfile(new_path);
 
@@ -555,14 +538,7 @@
   // Create an additional profile.
   base::FilePath path_profile2 =
       profile_manager->GenerateNextProfileDirectoryPath();
-  base::RunLoop run_loop;
-  profile_manager->CreateProfileAsync(
-      path_profile2,
-      base::BindRepeating(&OnUnblockOnProfileCreation, &run_loop));
-
-  // Run the message loop to allow profile creation to take place; the loop is
-  // terminated by OnUnblockOnProfileCreation when the profile is created.
-  run_loop.Run();
+  profiles::testing::CreateProfileSync(profile_manager, path_profile2);
 
   BrowserList* browser_list = BrowserList::GetInstance();
   ASSERT_EQ(initial_profile_count + 1U, storage.GetNumberOfProfiles());
diff --git a/chrome/browser/profiles/profile_test_util.cc b/chrome/browser/profiles/profile_test_util.cc
new file mode 100644
index 0000000..43d5a79e6
--- /dev/null
+++ b/chrome/browser/profiles/profile_test_util.cc
@@ -0,0 +1,55 @@
+// 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 "chrome/browser/profiles/profile_test_util.h"
+
+#include "base/files/file_path.h"
+#include "base/run_loop.h"
+#include "base/test/bind.h"
+#include "base/test/test_future.h"
+#include "build/build_config.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+#if !BUILDFLAG(IS_ANDROID)
+#include "chrome/browser/profiles/profile_window.h"
+#endif  // BUILDFLAG(IS_ANDROID)
+
+namespace profiles::testing {
+
+Profile* CreateProfileSync(ProfileManager* profile_manager,
+                           const base::FilePath& path) {
+  Profile* created_profile = nullptr;
+  base::RunLoop run_loop;
+  profile_manager->CreateProfileAsync(
+      path, base::BindLambdaForTesting(
+                [&run_loop, &created_profile](Profile* profile,
+                                              Profile::CreateStatus status) {
+                  switch (status) {
+                    case Profile::CREATE_STATUS_LOCAL_FAIL:
+                      NOTREACHED();
+                      return;
+                    case Profile::CREATE_STATUS_CREATED:
+                      // Do nothing, wait for the profile to be initialized.
+                      return;
+                    case Profile::CREATE_STATUS_INITIALIZED:
+                      created_profile = profile;
+                      run_loop.Quit();
+                      return;
+                  }
+                }));
+  run_loop.Run();
+  return created_profile;
+}
+
+#if !BUILDFLAG(IS_ANDROID)
+
+void SwitchToProfileSync(const base::FilePath& path, bool always_create) {
+  base::test::TestFuture<Profile*> future;
+  profiles::SwitchToProfile(path, always_create, future.GetCallback());
+  ASSERT_TRUE(future.Wait()) << "profiles::SwitchToProfile() did not complete";
+}
+#endif  // BUILDFLAG(IS_ANDROID)
+}  // namespace profiles::testing
diff --git a/chrome/browser/profiles/profile_test_util.h b/chrome/browser/profiles/profile_test_util.h
new file mode 100644
index 0000000..ea84c8e
--- /dev/null
+++ b/chrome/browser/profiles/profile_test_util.h
@@ -0,0 +1,27 @@
+// 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 CHROME_BROWSER_PROFILES_PROFILE_TEST_UTIL_H_
+#define CHROME_BROWSER_PROFILES_PROFILE_TEST_UTIL_H_
+
+#include "base/files/file_path.h"
+#include "build/build_config.h"
+
+class Profile;
+class ProfileManager;
+
+namespace profiles::testing {
+
+// Helper to call `ProfileManager::CreateProfileAsync` synchronously during
+// tests. Returns the created `Profile`.
+Profile* CreateProfileSync(ProfileManager* profile_manager,
+                           const base::FilePath& path);
+
+#if !BUILDFLAG(IS_ANDROID)
+// Helper to call `::profiles::SwitchToProfile()` synchronously during tests.
+void SwitchToProfileSync(const base::FilePath& path, bool always_create = true);
+#endif  // BUILDFLAG(IS_ANDROID)
+
+}  // namespace profiles::testing
+#endif  // CHROME_BROWSER_PROFILES_PROFILE_TEST_UTIL_H_
diff --git a/chrome/browser/renderer_host/chrome_navigation_ui_data.h b/chrome/browser/renderer_host/chrome_navigation_ui_data.h
index 510cc58b..1662382c 100644
--- a/chrome/browser/renderer_host/chrome_navigation_ui_data.h
+++ b/chrome/browser/renderer_host/chrome_navigation_ui_data.h
@@ -6,15 +6,20 @@
 #define CHROME_BROWSER_RENDERER_HOST_CHROME_NAVIGATION_UI_DATA_H_
 
 #include <memory>
+#include <string>
 
 #include "components/offline_pages/buildflags/buildflags.h"
 #include "components/offline_pages/core/request_header/offline_page_navigation_ui_data.h"
 #include "content/public/browser/navigation_ui_data.h"
-#include "extensions/browser/extension_navigation_ui_data.h"
 #include "extensions/buildflags/buildflags.h"
 
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+#include "extensions/browser/extension_navigation_ui_data.h"
+#endif
+
 namespace content {
 class NavigationHandle;
+class WebContents;
 }
 
 enum class WindowOpenDisposition;
diff --git a/chrome/browser/resources/app_settings/app.html b/chrome/browser/resources/app_settings/app.html
index a21af22d..cb8c0c1f 100644
--- a/chrome/browser/resources/app_settings/app.html
+++ b/chrome/browser/resources/app_settings/app.html
@@ -30,6 +30,11 @@
     <h1 class="cr-title-text">[[app_.title]]</h1>
   </div>
   <div class="permission-list">
+    <app-management-window-mode
+      class="permission-card-row separated-row"
+      window-mode-label="$i18n{appManagementWindowModeLabel}"
+      app="[[app_]]">
+    </app-management-window-mode>
     <app-management-permission-item
         class="permission-card-row separated-row header-text"
         app="[[app_]]"
diff --git a/chrome/browser/resources/app_settings/app.ts b/chrome/browser/resources/app_settings/app.ts
index 55284f6..e8986c51 100644
--- a/chrome/browser/resources/app_settings/app.ts
+++ b/chrome/browser/resources/app_settings/app.ts
@@ -6,6 +6,7 @@
 import 'chrome://resources/cr_elements/cr_toolbar/cr_toolbar.js';
 import 'chrome://resources/cr_components/app_management/more_permissions_item.js';
 import 'chrome://resources/cr_components/app_management/permission_item.js';
+import 'chrome://resources/cr_components/app_management/window_mode_item.js';
 import 'chrome://resources/cr_components/app_management/icons.js';
 
 import {App} from 'chrome://resources/cr_components/app_management/app_management.mojom-webui.js';
diff --git a/chrome/browser/resources/chromeos/login/BUILD.gn b/chrome/browser/resources/chromeos/login/BUILD.gn
index 35d0dfb..ce82435 100644
--- a/chrome/browser/resources/chromeos/login/BUILD.gn
+++ b/chrome/browser/resources/chromeos/login/BUILD.gn
@@ -116,8 +116,12 @@
     "images/updating.svg",
     "images/google-accounts.svg",
     "images/os-install-success.svg",
+    "../../settings/chromeos/images/smart_privacy.svg",
   ]
   input_files_base_dir = rebase_path(".", "//")
+  resource_path_rewrites = [
+    "../../settings/chromeos/images/smart_privacy.svg|images/smart_privacy.svg",
+  ]
 }
 
 # Preprocess existing and autogenerated files by copying them to an
@@ -274,6 +278,8 @@
     "screens/common/saml_confirm_password.js",
     "screens/common/signin_fatal_error.html",
     "screens/common/signin_fatal_error.js",
+    "screens/common/smart_privacy_protection.html",
+    "screens/common/smart_privacy_protection.js",
     "screens/common/sync_consent.html",
     "screens/common/sync_consent.js",
     "screens/common/tpm_error.html",
@@ -428,6 +434,7 @@
     "screens/common/recommend_apps.m.js",
     "screens/common/saml_confirm_password.m.js",
     "screens/common/signin_fatal_error.m.js",
+    "screens/common/smart_privacy_protection.m.js",
     "screens/common/sync_consent.m.js",
     "screens/common/tpm_error.m.js",
     "screens/common/user_creation.m.js",
diff --git a/chrome/browser/resources/chromeos/login/components/oobe_icons.html b/chrome/browser/resources/chromeos/login/components/oobe_icons.html
index feaebca..883bd78 100644
--- a/chrome/browser/resources/chromeos/login/components/oobe_icons.html
+++ b/chrome/browser/resources/chromeos/login/components/oobe_icons.html
@@ -63,6 +63,13 @@
         <path fill="#fff" d="M0 0h24v24H0z"></path>
         <path fill="#1A73E8" clip-rule="evenodd" d="M15.0507 11.4566h.8873v1.8113H13.2V6.02267h1.8507L12.3 2.40002 9.6 6.02267h1.8V13.2679H8.83944V11.3932C9.46056 11.0581 9.90422 10.4151 9.90422 9.64531 9.90422 8.54946 9.02577 7.65285 7.95211 7.65285 6.87845 7.65285 6 8.54946 6 9.64531c0 .76979.44366 1.41279 1.06479 1.74789v1.8747C7.06479 14.2732 7.71507 15 8.7 15h2.7v3C10.77 18.3351 10.4366 18.8378 10.4366 19.6076 10.4366 20.7125 11.3151 21.6 12.3887 21.6 13.4624 21.6 14.3408 20.7125 14.3408 19.6076c0-.7698-.5108-1.2725-1.1408-1.6076V15h2.738C16.923 15 17.7127 14.2732 17.7127 13.2679V11.4566H18.6V7.83399H15.0507V11.4566z"></path>
       </g>
+      <g id="visibility-off">
+        <path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"></path>
+      </g>
+      <g id="lock" viewBox="0 0 48 48">
+        <path d="M0 0h48v48H0z" fill="none"></path>
+        <path d="M36 16h-2v-4c0-5.52-4.48-10-10-10S14 6.48 14 12v4h-2c-2.21 0-4 1.79-4 4v20c0 2.21 1.79 4 4 4h24c2.21 0 4-1.79 4-4V20c0-2.21-1.79-4-4-4zM24 34c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm6.2-18H17.8v-4c0-3.42 2.78-6.2 6.2-6.2 3.42 0 6.2 2.78 6.2 6.2v4z"></path>
+      </g>
     </defs>
   </svg>
 </iron-iconset-svg>
diff --git a/chrome/browser/resources/chromeos/login/debug/debug.js b/chrome/browser/resources/chromeos/login/debug/debug.js
index bc7c2fb..f7988bf 100644
--- a/chrome/browser/resources/chromeos/login/debug/debug.js
+++ b/chrome/browser/resources/chromeos/login/debug/debug.js
@@ -535,6 +535,10 @@
       ]
     },
     {
+      id: 'smart-privacy-protection',
+      kind: ScreenKind.NORMAL,
+    },
+    {
       id: 'reset',
       kind: ScreenKind.OTHER,
       states: [
diff --git a/chrome/browser/resources/chromeos/login/md_login_polymer3.html b/chrome/browser/resources/chromeos/login/md_login_polymer3.html
index ae4fc4a..9517d30 100644
--- a/chrome/browser/resources/chromeos/login/md_login_polymer3.html
+++ b/chrome/browser/resources/chromeos/login/md_login_polymer3.html
@@ -74,6 +74,8 @@
           </hw-data-collection-element>
           <update-required-card-element id="update-required" class="step hidden" hidden>
           </update-required-card-element>
+          <smart-privacy-protection-element id="smart-privacy-protection" class="step hidden" hidden>
+          </smart-privacy-protection-element>
           <!-- error elements -->
           <device-disabled-element id="device-disabled" class="step hidden" hidden>
           </device-disabled-element>
diff --git a/chrome/browser/resources/chromeos/login/oobe_polymer3.html b/chrome/browser/resources/chromeos/login/oobe_polymer3.html
index ed654ef1..43b0096 100644
--- a/chrome/browser/resources/chromeos/login/oobe_polymer3.html
+++ b/chrome/browser/resources/chromeos/login/oobe_polymer3.html
@@ -101,6 +101,8 @@
           </guest-tos-element>
           <hw-data-collection-element id="hw-data-collection" class="step hidden" hidden>
           </hw-data-collection-element>
+          <smart-privacy-protection-element id="smart-privacy-protection" class="step hidden" hidden>
+          </smart-privacy-protection-element>
           <!-- error elements -->
           <device-disabled-element id="device-disabled" class="step hidden" hidden>
           </device-disabled-element>
diff --git a/chrome/browser/resources/chromeos/login/oobe_polymer3.js b/chrome/browser/resources/chromeos/login/oobe_polymer3.js
index f7a87445..549f710 100644
--- a/chrome/browser/resources/chromeos/login/oobe_polymer3.js
+++ b/chrome/browser/resources/chromeos/login/oobe_polymer3.js
@@ -3,8 +3,8 @@
 // found in the LICENSE file.
 
 import {Oobe} from './cr_ui.m.js';
-import {invokePolymerMethod} from './display_manager.m.js';
 import * as OobeDebugger from './debug/debug.m.js';
+import {invokePolymerMethod} from './display_manager.m.js';
 import {loadTimeData} from './i18n_setup.js';
 import 'chrome://oobe/components/test_util.m.js';
 import 'chrome://oobe/test_api/test_api.m.js';
@@ -39,6 +39,7 @@
 import 'chrome://oobe/screens/common/recommend_apps.m.js';
 import 'chrome://oobe/screens/common/saml_confirm_password.m.js';
 import 'chrome://oobe/screens/common/signin_fatal_error.m.js';
+import 'chrome://oobe/screens/common/smart_privacy_protection.m.js';
 import 'chrome://oobe/screens/common/sync_consent.m.js';
 import 'chrome://oobe/screens/common/tpm_error.m.js';
 import 'chrome://oobe/screens/common/user_creation.m.js';
diff --git a/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn b/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn
index ab878bb..831e4a8 100644
--- a/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn
+++ b/chrome/browser/resources/chromeos/login/screens/common/BUILD.gn
@@ -40,6 +40,7 @@
     ":recommend_apps_old_module",
     ":saml_confirm_password_module",
     ":signin_fatal_error_module",
+    ":smart_privacy_protection_module",
     ":sync_consent_module",
     ":tpm_error_module",
     ":user_creation_module",
@@ -89,6 +90,7 @@
     ":recommend_apps_old.m",
     ":saml_confirm_password.m",
     ":signin_fatal_error.m",
+    ":smart_privacy_protection.m",
     ":sync_consent.m",
     ":tpm_error.m",
     ":user_creation.m",
@@ -101,7 +103,9 @@
 js_type_check("closure_compile_module_multidevice_setup") {
   is_polymer3 = true
   closure_flags = default_closure_args
-  deps = [ ":multidevice_setup.m" ]
+  deps = [
+    ":multidevice_setup.m",
+  ]
 }
 
 ###############################
@@ -544,6 +548,19 @@
   extra_deps = [ ":signin_fatal_error_module" ]
 }
 
+js_library("smart_privacy_protection.m") {
+  sources = [ "$root_gen_dir/chrome/browser/resources/chromeos/login/screens/common/smart_privacy_protection.m.js" ]
+  deps = [
+    "../../components/behaviors:login_screen_behavior.m",
+    "../../components/behaviors:oobe_dialog_host_behavior.m",
+    "../../components/behaviors:oobe_i18n_behavior.m",
+    "../../components/buttons:oobe_text_button.m",
+    "../../components/dialogs:oobe_adaptive_dialog.m",
+    "//ui/webui/resources/js:load_time_data.m",
+  ]
+  extra_deps = [ ":smart_privacy_protection_module" ]
+}
+
 js_library("sync_consent.m") {
   sources = [ "$root_gen_dir/chrome/browser/resources/chromeos/login/screens/common/sync_consent.m.js" ]
   deps = [
@@ -839,6 +856,14 @@
   namespace_rewrites = oobe_namespace_rewrites
 }
 
+polymer_modulizer("smart_privacy_protection") {
+  js_file = "smart_privacy_protection.js"
+  html_file = "smart_privacy_protection.html"
+  html_type = "dom-module"
+  auto_imports = oobe_auto_imports
+  namespace_rewrites = oobe_namespace_rewrites
+}
+
 polymer_modulizer("sync_consent") {
   js_file = "sync_consent.js"
   html_file = "sync_consent.html"
diff --git a/chrome/browser/resources/chromeos/login/screens/common/smart_privacy_protection.html b/chrome/browser/resources/chromeos/login/screens/common/smart_privacy_protection.html
new file mode 100644
index 0000000..7a75a00
--- /dev/null
+++ b/chrome/browser/resources/chromeos/login/screens/common/smart_privacy_protection.html
@@ -0,0 +1,114 @@
+<!-- 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. -->
+
+<link rel="import" href="chrome://resources/html/load_time_data.html">
+<link rel="import" href="chrome://resources/html/polymer.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/iron-iconset-svg/iron-iconset-svg.html">
+
+<link rel="import" href="../../components/oobe_icons.html">
+<link rel="import" href="../../components/behaviors/login_screen_behavior.html">
+<link rel="import" href="../../components/behaviors/oobe_dialog_host_behavior.html">
+<link rel="import" href="../../components/behaviors/oobe_i18n_behavior.html">
+<link rel="import" href="../../components/buttons/oobe_text_button.html">
+<link rel="import" href="../../components/common_styles/common_styles.html">
+<link rel="import" href="../../components/common_styles/oobe_dialog_host_styles.html">
+<link rel="import" href="../../components/dialogs/oobe_adaptive_dialog.html">
+
+<dom-module id="smart-privacy-protection-element">
+  <template>
+    <style include="oobe-dialog-host-styles">
+      .overview-list-item {
+        border-bottom: 1px solid var(--google-grey-200);
+        padding: 16px;
+      }
+
+      .overview-list-item-title {
+        color: var(--oobe-header-text-color);
+        font-size: 14px;
+        font-weight: 500; /* roboto-medium */
+        line-height: 24px;
+        margin-bottom: 4px;
+      }
+
+      .overview-list-item-icon {
+        --iron-icon-fill-color: var(--google-blue-600);
+        padding-inline-end: 16px;
+      }
+
+      .overview-list-item-description {
+        padding-inline-end: 16px;
+      }
+
+      .content-footer {
+        padding-top: 16px;
+      }
+    </style>
+      <oobe-adaptive-dialog role="dialog"
+          aria-label$="[[i18nDynamic(locale,
+              'smartPrivacyProtectionScreenTitle')]]">
+        <iron-icon slot="icon" icon="cr:security"></iron-icon>
+        <h1 slot="title">
+          [[i18nDynamic(locale, 'smartPrivacyProtectionScreenTitle')]]
+        </h1>
+        <img slot="subtitle" src="images/smart_privacy.svg"
+            class="oobe-illustration" aria-hidden="true">
+        <div slot="content" class="landscape-header-aligned">
+          <div id="quickDimSection" class="overview-list-item layout horizontal"
+              hidden="[[!isQuickDimEnabled_]]">
+            <iron-icon class="overview-list-item-icon" icon="oobe-24:lock">
+            </iron-icon>
+            <div class="flex layout vertical center-justified">
+              <div role="heading" aria-level="2"
+                  class="overview-list-item-title">
+                [[i18nDynamic(locale, 'smartPrivacyProtectionScreenLock')]]
+              </div>
+              <div class="overview-list-item-description">
+                [[i18nDynamic(locale, 'smartPrivacyProtectionScreenLockDesc')]]
+              </div>
+            </div>
+          </div>
+          <div id="snoopingDetectionSection"
+              class="overview-list-item layout horizontal"
+              hidden="[[!isSnoopingProtectionEnabled_]]">
+            <iron-icon class="overview-list-item-icon"
+                icon="oobe-24:visibility-off"></iron-icon>
+            <div class="flex layout vertical center-justified">
+              <div role="heading" aria-level="2"
+                  class="overview-list-item-title">
+                [[i18nDynamic(locale,
+                    'smartPrivacyProtectionSnoopingDetection')]]
+              </div>
+              <div class="overview-list-item-description">
+                [[i18nDynamic(locale,
+                    'smartPrivacyProtectionSnoopingDetectionDesc')]]
+              </div>
+            </div>
+          </div>
+          <div class="content-footer">
+            [[i18nDynamic(locale, 'smartPrivacyProtectionContent')]]
+          </div>
+        </div>
+        <div slot="bottom-buttons">
+          <oobe-text-button id="noThanksButton"
+              on-click="onNoThanksButtonClicked_"
+              label-for-aria="[[i18nDynamic(locale,
+                  'smartPrivacyProtectionTurnOffButton')]]">
+            <div slot="text">
+              [[i18nDynamic(locale, 'smartPrivacyProtectionTurnOffButton')]]
+            </div>
+          </oobe-text-button>
+          <oobe-text-button id="turnOnButton" inverse="[[!isMinorMode_]]"
+              class="focus-on-show" on-click="onTurnOnButtonClicked_"
+              label-for-aria="[[i18nDynamic(locale,
+                  'smartPrivacyProtectionTurnOnButton')]]">
+            <div slot="text">
+              [[i18nDynamic(locale, 'smartPrivacyProtectionTurnOnButton')]]
+            </div>
+          </oobe-text-button>
+        </div>
+      </oobe-adaptive-dialog>
+  </template>
+  <script src="smart_privacy_protection.js"></script>
+</dom-module>
diff --git a/chrome/browser/resources/chromeos/login/screens/common/smart_privacy_protection.js b/chrome/browser/resources/chromeos/login/screens/common/smart_privacy_protection.js
new file mode 100644
index 0000000..e5397b1
--- /dev/null
+++ b/chrome/browser/resources/chromeos/login/screens/common/smart_privacy_protection.js
@@ -0,0 +1,101 @@
+// 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.
+
+/**
+ * @fileoverview Polymer element for smart privacy protection screen.
+ */
+
+/* #js_imports_placeholder */
+
+/**
+ * @constructor
+ * @extends {PolymerElement}
+ * @implements {LoginScreenBehaviorInterface}
+ * @implements {OobeI18nBehaviorInterface}
+ */
+const SmartPrivacyProtectionScreenElementBase = Polymer.mixinBehaviors(
+    [OobeDialogHostBehavior, OobeI18nBehavior, LoginScreenBehavior],
+    Polymer.Element);
+
+/**
+ * @polymer
+ */
+class SmartPrivacyProtectionScreen extends
+    SmartPrivacyProtectionScreenElementBase {
+  static get is() {
+    return 'smart-privacy-protection-element';
+  }
+
+  /* #html_template_placeholder */
+
+  static get properties() {
+    return {
+      /**
+       * True if snooping protection is enabled.
+       * @private
+       */
+      isSnoopingProtectionEnabled_: {
+        type: Boolean,
+        value() {
+          return loadTimeData.getBoolean('isSnoopingProtectionEnabled');
+        },
+        readOnly: true,
+      },
+
+      /**
+       * True screen lock is enabled.
+       * @private
+       */
+      isQuickDimEnabled_: {
+        type: Boolean,
+        value() {
+          return loadTimeData.getBoolean('isQuickDimEnabled');
+        },
+        readOnly: true,
+      },
+
+      /**
+       * Indicates whether user is minor mode user (e.g. under age of 18).
+       * @private
+       */
+      isMinorMode_: {
+        type: Boolean,
+        // TODO(dkuzmin): change the default value once appropriate capability
+        // is available on C++ side.
+        value: true,
+      }
+    };
+  }
+
+  get EXTERNAL_API() {
+    return ['setIsMinorMode'];
+  }
+
+  ready() {
+    super.ready();
+    this.initializeLoginScreen('SmartPrivacyProtectionScreen', {
+      resetAllowed: true,
+    });
+  }
+
+  /**
+   * Set the minor mode flag, which controls whether we could use nudge
+   * techinuque on the UI.
+   * @param {boolean} isMinorMode
+   */
+  setIsMinorMode(isMinorMode) {
+    this.isMinorMode_ = isMinorMode;
+  }
+
+  onTurnOnButtonClicked_() {
+    this.userActed('continue-feature-on');
+  }
+
+  onNoThanksButtonClicked_() {
+    this.userActed('continue-feature-off');
+  }
+}
+
+customElements.define(
+    SmartPrivacyProtectionScreen.is, SmartPrivacyProtectionScreen);
diff --git a/chrome/browser/resources/chromeos/login/structure/components_common.html b/chrome/browser/resources/chromeos/login/structure/components_common.html
index 7ed344d..6798978 100644
--- a/chrome/browser/resources/chromeos/login/structure/components_common.html
+++ b/chrome/browser/resources/chromeos/login/structure/components_common.html
@@ -36,6 +36,7 @@
 <link rel="import" href="/screens/common/recommend_apps.html">
 <link rel="import" href="/screens/common/saml_confirm_password.html">
 <link rel="import" href="/screens/common/signin_fatal_error.html">
+<link rel="import" href="/screens/common/smart_privacy_protection.html">
 <link rel="import" href="/screens/common/sync_consent.html">
 <link rel="import" href="/screens/common/tpm_error.html">
 <link rel="import" href="/screens/common/user_creation.html">
diff --git a/chrome/browser/resources/chromeos/login/structure/screens_common.html b/chrome/browser/resources/chromeos/login/structure/screens_common.html
index 429cd54..03fddab 100644
--- a/chrome/browser/resources/chromeos/login/structure/screens_common.html
+++ b/chrome/browser/resources/chromeos/login/structure/screens_common.html
@@ -71,3 +71,5 @@
 </guest-tos-element>
 <hw-data-collection-element id="hw-data-collection" class="step hidden" hidden>
 </hw-data-collection-element>
+<smart-privacy-protection-element id="smart-privacy-protection" class="step hidden" hidden>
+</smart-privacy-protection-element>
diff --git a/chrome/browser/resources/downloads/BUILD.gn b/chrome/browser/resources/downloads/BUILD.gn
index e991634..33fd5dd8 100644
--- a/chrome/browser/resources/downloads/BUILD.gn
+++ b/chrome/browser/resources/downloads/BUILD.gn
@@ -6,6 +6,7 @@
 import("//tools/grit/grit_rule.gni")
 import("//tools/grit/preprocess_if_expr.gni")
 import("//tools/polymer/html_to_js.gni")
+import("//tools/polymer/html_to_wrapper.gni")
 import("//tools/typescript/ts_library.gni")
 import("//ui/webui/resources/tools/generate_grd.gni")
 import("../tools/optimize_webui.gni")
@@ -56,14 +57,17 @@
 preprocess_if_expr("preprocess") {
   in_folder = "."
   out_folder = "$target_gen_dir/$preprocess_folder"
-  in_files = non_web_component_files
+  in_files = ts_files
 }
 
-preprocess_if_expr("preprocess_web_components") {
-  deps = [ ":web_components" ]
+preprocess_if_expr("preprocess_generated") {
+  deps = [
+    ":css_wrapper_files",
+    ":html_wrapper_files",
+  ]
   in_folder = target_gen_dir
   out_folder = "$target_gen_dir/$preprocess_folder"
-  in_files = web_component_files
+  in_files = html_wrapper_files + css_wrapper_files
 }
 
 copy("copy_mojo") {
@@ -89,8 +93,12 @@
   output_dir = "$root_gen_dir/chrome"
 }
 
-html_to_js("web_components") {
-  js_files = web_component_files
+html_to_js("css_wrapper_files") {
+  js_files = css_wrapper_files
+}
+
+html_to_wrapper("html_wrapper_files") {
+  in_files = html_files
 }
 
 ts_library("build_ts") {
@@ -98,7 +106,7 @@
   out_dir = "$target_gen_dir/tsc"
   composite = true
   tsconfig_base = "tsconfig_base.json"
-  in_files = web_component_files + non_web_component_files +
+  in_files = ts_files + css_wrapper_files + html_wrapper_files +
              [ "downloads.mojom-webui.js" ]
   deps = [
     "//third_party/polymer/v3_0:library",
@@ -108,6 +116,6 @@
   extra_deps = [
     ":copy_mojo",
     ":preprocess",
-    ":preprocess_web_components",
+    ":preprocess_generated",
   ]
 }
diff --git a/chrome/browser/resources/downloads/downloads.gni b/chrome/browser/resources/downloads/downloads.gni
index e48b3784..7226610 100644
--- a/chrome/browser/resources/downloads/downloads.gni
+++ b/chrome/browser/resources/downloads/downloads.gni
@@ -2,20 +2,32 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-# List of files that don't need to be passed to html_to_js().
-non_web_component_files = [
-  "browser_proxy.ts",
-  "constants.ts",
-  "data.ts",
-  "downloads.ts",
-  "icon_loader.ts",
-  "search_service.ts",
-]
-
-# List of files that should be passed to html_to_js().
+# Files holding a Polymer element definition and have an equivalent .html file.
 web_component_files = [
-  "icons.ts",
   "item.ts",
   "manager.ts",
   "toolbar.ts",
 ]
+
+# Files that are passed as input to html_to_wrapper().
+html_files = []
+foreach(f, web_component_files) {
+  html_files += [ string_replace(f, ".ts", ".html") ]
+}
+
+# Files that are generated by html_to_wrapper().
+html_wrapper_files = []
+foreach(f, html_files) {
+  html_wrapper_files += [ f + ".ts" ]
+}
+
+ts_files = [
+             "browser_proxy.ts",
+             "constants.ts",
+             "data.ts",
+             "downloads.ts",
+             "icon_loader.ts",
+             "search_service.ts",
+           ] + web_component_files
+
+css_wrapper_files = [ "icons.ts" ]
diff --git a/chrome/browser/resources/downloads/item.ts b/chrome/browser/resources/downloads/item.ts
index 64d92d7..eca0572 100644
--- a/chrome/browser/resources/downloads/item.ts
+++ b/chrome/browser/resources/downloads/item.ts
@@ -22,13 +22,14 @@
 import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js';
 import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
 import {HTMLEscape} from 'chrome://resources/js/util.m.js';
-import {beforeNextRender, html, mixinBehaviors, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+import {beforeNextRender, mixinBehaviors, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {BrowserProxy} from './browser_proxy.js';
 import {DangerType, States} from './constants.js';
 import {MojomData} from './data.js';
 import {PageHandlerInterface} from './downloads.mojom-webui.js';
 import {IconLoaderImpl} from './icon_loader.js';
+import {getTemplate} from './item.html.js';
 
 export interface DownloadsItemElement {
   $: {
@@ -49,6 +50,10 @@
     return 'downloads-item';
   }
 
+  static get template() {
+    return getTemplate();
+  }
+
   static get properties() {
     return {
       data: Object,
@@ -627,10 +632,6 @@
       }
     });
   }
-
-  static get template() {
-    return html`{__html_template__}`;
-  }
 }
 
 declare global {
diff --git a/chrome/browser/resources/downloads/manager.ts b/chrome/browser/resources/downloads/manager.ts
index 7f618d1..2ac57d32 100644
--- a/chrome/browser/resources/downloads/manager.ts
+++ b/chrome/browser/resources/downloads/manager.ts
@@ -27,6 +27,7 @@
 import {States} from './constants.js';
 import {MojomData} from './data.js';
 import {PageCallbackRouter, PageHandlerInterface} from './downloads.mojom-webui.js';
+import {getTemplate} from './manager.html.js';
 import {SearchService} from './search_service.js';
 import {DownloadsToolbarElement} from './toolbar.js';
 
@@ -51,6 +52,10 @@
     return 'downloads-manager';
   }
 
+  static get template() {
+    return getTemplate();
+  }
+
   static get properties() {
     return {
       hasDownloads_: {
@@ -369,10 +374,6 @@
   searchInputHasFocus() {
     return this.$.toolbar.isSearchFocused();
   }
-
-  static get template() {
-    return html`{__html_template__}`;
-  }
 }
 
 declare global {
diff --git a/chrome/browser/resources/downloads/toolbar.ts b/chrome/browser/resources/downloads/toolbar.ts
index 93a95da..50c90f2 100644
--- a/chrome/browser/resources/downloads/toolbar.ts
+++ b/chrome/browser/resources/downloads/toolbar.ts
@@ -24,6 +24,7 @@
 import {MojomData} from './data.js';
 import {PageHandlerInterface} from './downloads.mojom-webui.js';
 import {SearchService} from './search_service.js';
+import {getTemplate} from './toolbar.html.js';
 
 export interface DownloadsToolbarElement {
   $: {
@@ -38,6 +39,10 @@
     return 'downloads-toolbar';
   }
 
+  static get template() {
+    return getTemplate();
+  }
+
   static get properties() {
     return {
       hasClearableDownloads: {
@@ -123,10 +128,6 @@
     this.shadowRoot!.querySelector<HTMLButtonElement>('.clear-all')!.hidden =
         !this.canClearAll();
   }
-
-  static get template() {
-    return html`{__html_template__}`;
-  }
 }
 
 declare global {
diff --git a/chrome/browser/resources/extensions/extensions.ts b/chrome/browser/resources/extensions/extensions.ts
index fdf591c1..9cea987 100644
--- a/chrome/browser/resources/extensions/extensions.ts
+++ b/chrome/browser/resources/extensions/extensions.ts
@@ -19,9 +19,12 @@
 export {ExtensionsItemElement, ItemDelegate} from './item.js';
 export {ExtensionsItemListElement} from './item_list.js';
 export {UserAction} from './item_util.js';
+export {ExtensionsKeyboardShortcutsElement} from './keyboard_shortcuts.js';
 // <if expr="chromeos">
-export {KioskAppSettings, KioskBrowserProxy, KioskBrowserProxyImpl, KioskSettings} from './kiosk_browser_proxy.js';
+export {KioskApp, KioskAppSettings, KioskBrowserProxy, KioskBrowserProxyImpl, KioskSettings} from './kiosk_browser_proxy.js';
+export {ExtensionsKioskDialogElement} from './kiosk_dialog.js';
 // </if>
+export {ExtensionsLoadErrorElement} from './load_error.js';
 export {ExtensionsManagerElement} from './manager.js';
 export {Dialog, navigation, NavigationHelper, Page, PageState} from './navigation_helper.js';
 export {OptionsDialogMaxHeight, OptionsDialogMinWidth} from './options_dialog.js';
diff --git a/chrome/browser/resources/extensions/keyboard_shortcuts.ts b/chrome/browser/resources/extensions/keyboard_shortcuts.ts
index 0f878fa..f2f6043 100644
--- a/chrome/browser/resources/extensions/keyboard_shortcuts.ts
+++ b/chrome/browser/resources/extensions/keyboard_shortcuts.ts
@@ -26,7 +26,7 @@
     CrContainerShadowMixin(PolymerElement);
 
 // The UI to display and manage keyboard shortcuts set for extension commands.
-class ExtensionsKeyboardShortcutsElement extends
+export class ExtensionsKeyboardShortcutsElement extends
     ExtensionsKeyboardShortcutsElementBase {
   static get is() {
     return 'extensions-keyboard-shortcuts';
@@ -108,5 +108,12 @@
   }
 }
 
+declare global {
+  interface HTMLElementTagNameMap {
+    'extensions-keyboard-shortcuts': ExtensionsKeyboardShortcutsElement;
+  }
+}
+
+
 customElements.define(
     ExtensionsKeyboardShortcutsElement.is, ExtensionsKeyboardShortcutsElement);
diff --git a/chrome/browser/resources/extensions/kiosk_dialog.html b/chrome/browser/resources/extensions/kiosk_dialog.html
index bb5157f..50818e20 100644
--- a/chrome/browser/resources/extensions/kiosk_dialog.html
+++ b/chrome/browser/resources/extensions/kiosk_dialog.html
@@ -78,12 +78,12 @@
       </template>
     </div>
     <div id="add-kiosk-app">
-      <cr-input id="add-input" label="$i18n{kioskAddApp}"
+      <cr-input id="addInput" label="$i18n{kioskAddApp}"
           placeholder="$i18n{kioskAddAppHint}" value="{{addAppInput_}}"
           invalid="[[errorAppId_]]" on-keydown="clearInputInvalid_"
           error-message="[[getErrorMessage_(
               '$i18nPolymer{kioskInvalidApp}', errorAppId_)]]">
-        <cr-button id="add-button" on-click="onAddAppTap_"
+        <cr-button id="addButton" on-click="onAddAppTap_"
             disabled="[[!addAppInput_]]" slot="suffix">
           $i18n{add}
         </cr-button>
@@ -101,7 +101,7 @@
     </cr-button>
   </div>
 </cr-dialog>
-<cr-dialog id="confirm-dialog" close-text="$i18n{close}"
+<cr-dialog id="confirmDialog" close-text="$i18n{close}"
     ignore-enter-key on-close="stopPropagation_">
   <div slot="title">$i18n{kioskDisableBailoutWarningTitle}</div>
   <div slot="body">$i18n{kioskDisableBailoutWarningBody}</div>
diff --git a/chrome/browser/resources/extensions/kiosk_dialog.ts b/chrome/browser/resources/extensions/kiosk_dialog.ts
index 754729d..6839a398 100644
--- a/chrome/browser/resources/extensions/kiosk_dialog.ts
+++ b/chrome/browser/resources/extensions/kiosk_dialog.ts
@@ -10,25 +10,30 @@
 import 'chrome://resources/cr_elements/cr_input/cr_input.m.js';
 import 'chrome://resources/cr_elements/shared_style_css.m.js';
 
+import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.m.js';
 import {CrCheckboxElement} from 'chrome://resources/cr_elements/cr_checkbox/cr_checkbox.m.js';
 import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import {CrInputElement} from 'chrome://resources/cr_elements/cr_input/cr_input.m.js';
 import {assert} from 'chrome://resources/js/assert.m.js';
 import {WebUIListenerMixin} from 'chrome://resources/js/web_ui_listener_mixin.js';
 import {DomRepeatEvent, html, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {KioskApp, KioskAppSettings, KioskBrowserProxy, KioskBrowserProxyImpl} from './kiosk_browser_proxy.js';
 
-interface ExtensionsKioskDialogElement {
+export interface ExtensionsKioskDialogElement {
   $: {
+    addButton: CrButtonElement,
+    addInput: CrInputElement,
     bailout: CrCheckboxElement,
-    'confirm-dialog': CrDialogElement,
+    confirmDialog: CrDialogElement,
     dialog: CrDialogElement,
   };
 }
 
 const ExtensionsKioskDialogElementBase = WebUIListenerMixin(PolymerElement);
 
-class ExtensionsKioskDialogElement extends ExtensionsKioskDialogElementBase {
+export class ExtensionsKioskDialogElement extends
+    ExtensionsKioskDialogElementBase {
   static get is() {
     return 'extensions-kiosk-dialog';
   }
@@ -123,21 +128,21 @@
   private onBailoutChanged_(event: Event) {
     event.preventDefault();
     if (this.$.bailout.checked) {
-      this.$['confirm-dialog'].showModal();
+      this.$.confirmDialog.showModal();
     } else {
       this.kioskBrowserProxy_.setDisableBailoutShortcut(false);
-      this.$['confirm-dialog'].close();
+      this.$.confirmDialog.close();
     }
   }
 
   private onBailoutDialogCancelTap_() {
     this.$.bailout.checked = false;
-    this.$['confirm-dialog'].cancel();
+    this.$.confirmDialog.cancel();
   }
 
   private onBailoutDialogConfirmTap_() {
     this.kioskBrowserProxy_.setDisableBailoutShortcut(true);
-    this.$['confirm-dialog'].close();
+    this.$.confirmDialog.close();
   }
 
   private onDoneTap_() {
@@ -158,5 +163,12 @@
   }
 }
 
+declare global {
+  interface HTMLElementTagNameMap {
+    'extensions-kiosk-dialog': ExtensionsKioskDialogElement;
+  }
+}
+
+
 customElements.define(
     ExtensionsKioskDialogElement.is, ExtensionsKioskDialogElement);
diff --git a/chrome/browser/resources/extensions/load_error.ts b/chrome/browser/resources/extensions/load_error.ts
index f6523d8..a542710 100644
--- a/chrome/browser/resources/extensions/load_error.ts
+++ b/chrome/browser/resources/extensions/load_error.ts
@@ -22,14 +22,14 @@
   retryLoadUnpacked(retryGuid: string): Promise<boolean>;
 }
 
-interface ExtensionsLoadErrorElement {
+export interface ExtensionsLoadErrorElement {
   $: {
     code: ExtensionsCodeSectionElement,
     dialog: CrDialogElement,
   };
 }
 
-class ExtensionsLoadErrorElement extends PolymerElement {
+export class ExtensionsLoadErrorElement extends PolymerElement {
   static get is() {
     return 'extensions-load-error';
   }
diff --git a/chrome/browser/resources/settings/chromeos/BUILD.gn b/chrome/browser/resources/settings/chromeos/BUILD.gn
index c90a40b..651df92 100644
--- a/chrome/browser/resources/settings/chromeos/BUILD.gn
+++ b/chrome/browser/resources/settings/chromeos/BUILD.gn
@@ -176,6 +176,7 @@
     "images/switch_access_setup_guide_assign_next.svg",
     "images/switch_access_setup_guide_assign_previous.svg",
     "images/switch_access_setup_guide_choose_one_switch.svg",
+    "images/switch_access_setup_guide_choose_one_switch_dark.svg",
     "images/switch_access_setup_guide_choose_two_switches.svg",
     "images/switch_access_setup_guide_choose_three_switches.svg",
     "images/switch_access_setup_guide_auto_scan_enabled.svg",
diff --git a/chrome/browser/resources/settings/chromeos/images/switch_access_setup_guide_choose_one_switch.svg b/chrome/browser/resources/settings/chromeos/images/switch_access_setup_guide_choose_one_switch.svg
index d4e339ad..bfa1167 100644
--- a/chrome/browser/resources/settings/chromeos/images/switch_access_setup_guide_choose_one_switch.svg
+++ b/chrome/browser/resources/settings/chromeos/images/switch_access_setup_guide_choose_one_switch.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 216 216"><g data-name="Layer 2"><g data-name="One Switch"><rect x="74" y="51" width="69.4" height="69.4" rx="17.7" fill="#d2e3fc"/><circle cx="108.7" cy="85.7" r="10.6" fill="none" stroke="#2a84fc" stroke-miterlimit="10" stroke-width="6"/><path fill="none" stroke="#2a84fc" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M5 174.1h208.3"/><rect x="91.6" y="151.7" width="37.6" height="17.31" rx="3.6" fill="#7cb1f2"/><path d="M131.8 172.1H89c-2.3 0-4.1-1.4-4.1-3.2v-8.6c0-1.7 1.8-3.1 4.1-3.1s3.3 1 5.2 1.4c14.8 3.3 28.5 1 37.6-1.4a4.9 4.9 0 0 1 2.9.9 3.1 3.1 0 0 1 1.2 2.2v8.6c0 1.8-1.8 3.2-4.1 3.2z" fill="#d2e3fc" stroke="#2a84fc" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/><path fill="#4285f4" stroke="#2a84fc" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M81.8 165h57.3v8.32H81.8z"/><path fill="none" d="M0 0h216v216H0z"/></g></g></svg>
\ No newline at end of file
+<svg width="217" height="216" viewBox="0 0 217 216" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M125.244 51h-34c-9.775 0-17.7 7.925-17.7 17.7v34c0 9.775 7.925 17.7 17.7 17.7h34c9.775 0 17.7-7.925 17.7-17.7v-34c0-9.775-7.925-17.7-17.7-17.7z" fill="#D2E3FC"/><path fill-rule="evenodd" clip-rule="evenodd" d="M108.244 78.1a7.6 7.6 0 1 0 0 15.2 7.6 7.6 0 0 0 0-15.2zm-13.6 7.6c0-7.511 6.089-13.6 13.6-13.6 7.511 0 13.6 6.089 13.6 13.6 0 7.511-6.089 13.6-13.6 13.6-7.511 0-13.6-6.089-13.6-13.6z" fill="#4285F4"/><path d="M123.394 151.7h-30.4a3.6 3.6 0 0 0-3.6 3.6v10.11a3.6 3.6 0 0 0 3.6 3.6h30.4a3.6 3.6 0 0 0 3.6-3.6V155.3a3.6 3.6 0 0 0-3.6-3.6z" fill="#8AB4F8"/><path d="M129.594 172h-42.8c-2.3 0-4.1-1.3-4.1-3.1v-8.6c0-1.7 1.8-3.1 4.1-3.1l5.2 1.4c14.8 3.3 28.5 1 37.6-1.4a4.895 4.895 0 0 1 2.9.9 3.103 3.103 0 0 1 1.2 2.2v8.6c0 1.8-1.8 3.1-4.1 3.1z" fill="#fff"/><path d="M129.594 172h-42.8c-2.3 0-4.1-1.3-4.1-3.1v-8.6c0-1.7 1.8-3.1 4.1-3.1l5.2 1.4c14.8 3.3 28.5 1 37.6-1.4a4.895 4.895 0 0 1 2.9.9 3.103 3.103 0 0 1 1.2 2.2v8.6c0 1.8-1.8 3.1-4.1 3.1z" fill="#D2E3FC"/><path fill-rule="evenodd" clip-rule="evenodd" d="M134.694 165v-4.742l-.004-.041a4.098 4.098 0 0 0-1.587-2.91l-.015-.012-.016-.011a5.898 5.898 0 0 0-3.492-1.084l-.123.002-.118.031c-9.019 2.379-22.533 4.64-37.106 1.396l-5.307-1.429h-.132c-2.584 0-5.1 1.613-5.1 4.1v4.7h-2.1v8.1h-75.5a1 1 0 0 0 0 2h208.3a1 1 0 0 0 0-2h-75.5V165h-2.2zm-4.971-6.8c-9.177 2.408-22.996 4.71-37.947 1.376l-.021-.005-5.088-1.369c-1.935.048-2.973 1.204-2.973 2.098v4.7h49v-4.654a2.1 2.1 0 0 0-.795-1.442 3.901 3.901 0 0 0-2.176-.704z" fill="#4285F4"/></svg>
diff --git a/chrome/browser/resources/settings/chromeos/images/switch_access_setup_guide_choose_one_switch_dark.svg b/chrome/browser/resources/settings/chromeos/images/switch_access_setup_guide_choose_one_switch_dark.svg
new file mode 100644
index 0000000..4733786
--- /dev/null
+++ b/chrome/browser/resources/settings/chromeos/images/switch_access_setup_guide_choose_one_switch_dark.svg
@@ -0,0 +1 @@
+<svg width="217" height="216" viewBox="0 0 217 216" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M125.366 51h-34c-9.776 0-17.7 7.925-17.7 17.7v34c0 9.775 7.924 17.7 17.7 17.7h34c9.775 0 17.7-7.925 17.7-17.7v-34c0-9.775-7.925-17.7-17.7-17.7z" fill="#8AB4F8" fill-opacity=".4"/><path fill-rule="evenodd" clip-rule="evenodd" d="M108.366 78.1a7.6 7.6 0 1 0 0 15.2 7.6 7.6 0 0 0 0-15.2zm-13.6 7.6c0-7.511 6.089-13.6 13.6-13.6 7.511 0 13.6 6.089 13.6 13.6 0 7.511-6.089 13.6-13.6 13.6-7.511 0-13.6-6.089-13.6-13.6z" fill="#669DF6"/><path d="M123.516 151.7h-30.4a3.6 3.6 0 0 0-3.6 3.6v10.11a3.6 3.6 0 0 0 3.6 3.6h30.4a3.6 3.6 0 0 0 3.6-3.6V155.3a3.6 3.6 0 0 0-3.6-3.6z" fill="#1A73E8" fill-opacity=".4"/><path d="M129.716 172h-42.8c-2.3 0-4.1-1.3-4.1-3.1v-8.6c0-1.7 1.8-3.1 4.1-3.1l5.2 1.4c14.8 3.3 28.5 1 37.6-1.4a4.895 4.895 0 0 1 2.9.9 3.103 3.103 0 0 1 1.2 2.2v8.6c0 1.8-1.8 3.1-4.1 3.1z" fill="#323336"/><path d="M129.716 172h-42.8c-2.3 0-4.1-1.3-4.1-3.1v-8.6c0-1.7 1.8-3.1 4.1-3.1l5.2 1.4c14.8 3.3 28.5 1 37.6-1.4a4.895 4.895 0 0 1 2.9.9 3.103 3.103 0 0 1 1.2 2.2v8.6c0 1.8-1.8 3.1-4.1 3.1z" fill="#8AB4F8" fill-opacity=".4"/><path fill-rule="evenodd" clip-rule="evenodd" d="M134.816 165v-4.742l-.004-.041a4.098 4.098 0 0 0-1.587-2.91l-.015-.012-.016-.011a5.898 5.898 0 0 0-3.492-1.084l-.123.002-.118.031c-9.019 2.379-22.533 4.64-37.106 1.396l-5.307-1.429h-.132c-2.584 0-5.1 1.613-5.1 4.1v4.7h-2.1v8.1h-75.5a1 1 0 0 0 0 2h208.3a1 1 0 0 0 0-2h-75.5V165h-2.2zm-4.971-6.8c-9.178 2.408-22.996 4.71-37.947 1.376l-.021-.005-5.088-1.369c-1.935.048-2.973 1.204-2.973 2.098v4.7h49v-4.654a2.1 2.1 0 0 0-.795-1.442 3.901 3.901 0 0 0-2.176-.704z" fill="#669DF6"/></svg>
diff --git a/chrome/browser/resources/settings/chromeos/os_a11y_page/switch_access_setup_guide_dialog.html b/chrome/browser/resources/settings/chromeos/os_a11y_page/switch_access_setup_guide_dialog.html
index a4b9153..2000285 100644
--- a/chrome/browser/resources/settings/chromeos/os_a11y_page/switch_access_setup_guide_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/os_a11y_page/switch_access_setup_guide_dialog.html
@@ -85,6 +85,11 @@
           url(chrome://os-settings/images/computer_and_bluetooth_switch_dark.svg);
     }
 
+    #choose-switch-count .illustration.one-switch {
+      background-image:
+        url(chrome://os-settings/images/switch_access_setup_guide_choose_one_switch_dark.svg);
+    }
+
     #auto-scan-enabled .illustration {
       background-image:
         url(chrome://os-settings/images/switch_access_setup_guide_auto_scan_enabled_dark.svg);
diff --git a/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc b/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc
index 6c868744..bff1c328 100644
--- a/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc
+++ b/chrome/browser/safe_browsing/chrome_password_protection_service_unittest.cc
@@ -1199,7 +1199,8 @@
   ASSERT_EQ(1, test_event_router_->GetEventCount(
                    OnPolicySpecifiedPasswordChanged::kEventName));
 
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("foo@example.com", captured_args.GetString());
 
   // If user is in incognito mode, no event should be sent.
@@ -1230,7 +1231,8 @@
 
   ASSERT_EQ(1, test_event_router_->GetEventCount(
                    OnPolicySpecifiedPasswordReuseDetected::kEventName));
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ(kPasswordReuseURL, captured_args.FindKey("url")->GetString());
   EXPECT_EQ(kUserName, captured_args.FindKey("userName")->GetString());
   EXPECT_TRUE(captured_args.FindKey("isPhishingUrl")->GetBool());
diff --git a/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc b/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
index 2c558f3..f9531006 100644
--- a/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
+++ b/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
@@ -3050,7 +3050,8 @@
   download_service_->MaybeSendDangerousDownloadOpenedReport(&item, false);
   ASSERT_EQ(1, test_event_router_->GetEventCount(
                    OnDangerousDownloadOpened::kEventName));
-  auto captured_args = event_observer.PassEventArgs().GetList()[0].Clone();
+  auto captured_args =
+      event_observer.PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ("http://example.com/a.exe",
             captured_args.FindKey("url")->GetString());
   EXPECT_EQ(base::HexEncode(hash.data(), hash.size()),
diff --git a/chrome/browser/safe_browsing/test_extension_event_observer.cc b/chrome/browser/safe_browsing/test_extension_event_observer.cc
index 0794a64..e1061ed 100644
--- a/chrome/browser/safe_browsing/test_extension_event_observer.cc
+++ b/chrome/browser/safe_browsing/test_extension_event_observer.cc
@@ -50,7 +50,7 @@
     const std::string& expected_username,
     int expected_net_error_code) {
   EXPECT_EQ(expected_event_name, latest_event_name_);
-  auto captured_args = PassEventArgs().GetList()[0].Clone();
+  auto captured_args = PassEventArgs().GetListDeprecated()[0].Clone();
   EXPECT_EQ(expected_page_url.spec(),
             captured_args.FindKey("url")->GetString());
   EXPECT_EQ(expected_reason, captured_args.FindKey("reason")->GetString());
diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
index d92fd28..dcf1671 100644
--- a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
+++ b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
@@ -22,10 +22,10 @@
 import org.chromium.build.BuildConfig;
 import org.chromium.chrome.browser.password_check.PasswordCheck;
 import org.chromium.chrome.browser.password_check.PasswordCheckFactory;
-import org.chromium.chrome.browser.password_check.PasswordCheckReferrer;
 import org.chromium.chrome.browser.password_check.PasswordCheckUIStatus;
 import org.chromium.chrome.browser.password_manager.CredentialManagerLauncherFactory;
 import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
+import org.chromium.chrome.browser.password_manager.PasswordCheckReferrer;
 import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
index 5b947c5..093f4545 100644
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
@@ -439,14 +439,24 @@
                 .setIcon(R.drawable.send_tab, R.string.send_tab_to_self_share_activity_title)
                 .setFeatureNameForMetrics("SharingHubAndroid.SendTabToSelfSelected")
                 .setOnClickCallback((view) -> {
-                    SendTabToSelfCoordinator sttsCoordinator =
-                            new SendTabToSelfCoordinator(mActivity, mUrl, mShareParams.getTitle(),
-                                    mBottomSheetController, mSettingsLauncher, mIsSyncEnabled,
-                                    mTabProvider.get()
+                    // Prefer tab navigation time but fallback to the share time when unavailable.
+                    // This timestamp is used to throttle sending the same link multiple times
+                    // within the same timeframe. In the worst case, the share time will be used
+                    // and the user will not be throttled, but this is ok given the upsides (STTS
+                    // being available).
+                    long timestamp;
+                    if (mTabProvider.hasValue()) {
+                        timestamp = mTabProvider.get()
                                             .getWebContents()
                                             .getNavigationController()
                                             .getVisibleEntry()
-                                            .getTimestamp());
+                                            .getTimestamp();
+                    } else {
+                        timestamp = mShareStartTime;
+                    }
+                    SendTabToSelfCoordinator sttsCoordinator = new SendTabToSelfCoordinator(
+                            mActivity, mUrl, mShareParams.getTitle(), mBottomSheetController,
+                            mSettingsLauncher, mIsSyncEnabled, timestamp);
                     sttsCoordinator.show();
                 })
                 .build();
diff --git a/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProviderTest.java b/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProviderTest.java
index 3065dd3..f9ff0627 100644
--- a/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProviderTest.java
+++ b/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProviderTest.java
@@ -36,7 +36,6 @@
 import org.chromium.base.supplier.Supplier;
 import org.chromium.base.test.BaseActivityTestRule;
 import org.chromium.base.test.util.ApplicationTestUtils;
-import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.JniMocker;
 import org.chromium.base.test.util.UserActionTester;
 import org.chromium.chrome.R;
@@ -136,7 +135,6 @@
 
     @Test
     @MediumTest
-    @DisabledTest(message = "http://crbug/1285362")
     @Features.EnableFeatures({ChromeFeatureList.LIGHTWEIGHT_REACTIONS})
     public void getPropertyModels_lightweightReactionsEnabled() {
         setUpChromeProvidedSharingOptionsProviderTest(/*isIncognito=*/false,
@@ -147,18 +145,8 @@
                         DetailedContentType.NOT_SPECIFIED,
                         /*isMultiWindow=*/false);
 
-        assertCorrectModelsAreInTheRightOrder(propertyModels,
-                ImmutableList.of(
-                        mActivity.getResources().getString(R.string.sharing_webnotes_create_card),
-                        mActivity.getResources().getString(R.string.sharing_screenshot),
-                        mActivity.getResources().getString(R.string.sharing_long_screenshot),
-                        mActivity.getResources().getString(R.string.sharing_lightweight_reactions),
-                        mActivity.getResources().getString(R.string.sharing_copy_image),
-                        mActivity.getResources().getString(R.string.sharing_copy),
-                        mActivity.getResources().getString(
-                                R.string.send_tab_to_self_share_activity_title),
-                        mActivity.getResources().getString(R.string.qr_code_share_icon_label),
-                        mActivity.getResources().getString(R.string.sharing_save_image)));
+        assertTrue("Property models should contain Lightweight Reactions.",
+                propertyModelsContain(propertyModels, R.string.sharing_lightweight_reactions));
     }
 
     @Test
diff --git a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
index c8f9590..bcf4b3d 100644
--- a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
+++ b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc
@@ -393,7 +393,7 @@
   // Validate the voices and return an error if there's a problem.
   const char* error = nullptr;
   auto tts_voices = ValidateAndConvertToTtsVoiceVector(
-      extension(), voices_data.GetList(),
+      extension(), voices_data.GetListDeprecated(),
       /* return_after_first_error = */ true, &error);
   if (error)
     return RespondNow(Error(error));
diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
index c345438..80e5807 100644
--- a/chrome/browser/spellchecker/spellcheck_service.cc
+++ b/chrome/browser/spellchecker/spellcheck_service.cc
@@ -354,7 +354,7 @@
   }
 
   bool first_user_language_spellchecked = false;
-  for (const auto& dictionary_value : user_dictionaries.GetList()) {
+  for (const auto& dictionary_value : user_dictionaries.GetListDeprecated()) {
     first_user_language_spellchecked =
         base::Contains(dictionary_value.GetString(), first_user_language);
     if (first_user_language_spellchecked)
@@ -362,7 +362,7 @@
   }
 
   if (!first_user_language_spellchecked) {
-    user_dictionaries.Insert(user_dictionaries.GetList().begin(),
+    user_dictionaries.Insert(user_dictionaries.GetListDeprecated().begin(),
                              base::Value(first_user_language));
     prefs->Set(spellcheck::prefs::kSpellCheckDictionaries, user_dictionaries);
   }
diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sct_reporting_service.cc
index 6385371b..dbaaa2b 100644
--- a/chrome/browser/ssl/sct_reporting_service.cc
+++ b/chrome/browser/ssl/sct_reporting_service.cc
@@ -65,12 +65,9 @@
 
 // static
 void SCTReportingService::ReconfigureAfterNetworkRestart() {
-  bool is_sct_auditing_enabled =
-      base::FeatureList::IsEnabled(features::kSCTAuditing);
   double sct_sampling_rate = features::kSCTAuditingSamplingRate.Get();
   content::GetNetworkService()->ConfigureSCTAuditing(
-      is_sct_auditing_enabled, sct_sampling_rate,
-      SCTReportingService::GetReportURLInstance(),
+      sct_sampling_rate, SCTReportingService::GetReportURLInstance(),
       net::MutableNetworkTrafficAnnotationTag(
           kSCTAuditReportTrafficAnnotation));
 }
@@ -116,7 +113,8 @@
 }
 
 void SCTReportingService::OnPreferenceChanged() {
-  const bool enabled = safe_browsing_service_ &&
+  const bool enabled = base::FeatureList::IsEnabled(features::kSCTAuditing) &&
+                       safe_browsing_service_ &&
                        safe_browsing_service_->enabled_by_prefs() &&
                        safe_browsing::IsExtendedReportingEnabled(pref_service_);
   SetReportingEnabled(enabled);
diff --git a/chrome/browser/sync/test/integration/preferences_helper.cc b/chrome/browser/sync/test/integration/preferences_helper.cc
index c7a0c62f..b304972 100644
--- a/chrome/browser/sync/test/integration/preferences_helper.cc
+++ b/chrome/browser/sync/test/integration/preferences_helper.cc
@@ -62,7 +62,7 @@
                     const base::ListValue& new_value) {
   ListPrefUpdate update(GetPrefs(index), pref_name);
   base::Value* list = update.Get();
-  for (const base::Value& it : new_value.GetList()) {
+  for (const base::Value& it : new_value.GetListDeprecated()) {
     list->Append(it.Clone());
   }
 }
diff --git a/chrome/browser/tab/BUILD.gn b/chrome/browser/tab/BUILD.gn
index 94e5e15..ae1da1a5f 100644
--- a/chrome/browser/tab/BUILD.gn
+++ b/chrome/browser/tab/BUILD.gn
@@ -49,6 +49,7 @@
     "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorage.java",
     "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorageFactory.java",
     "java/src/org/chromium/chrome/browser/tab/state/PriceDropMetricsLogger.java",
+    "java/src/org/chromium/chrome/browser/tab/state/SerializedCriticalPersistedTabData.java",
     "java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java",
     "java/src/org/chromium/chrome/browser/tab/state/StorePersistedTabData.java",
   ]
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
index dc86627..b847d68 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
@@ -173,10 +173,11 @@
      * @return serialized {@link CriticalPersistedTabData}
      * TODO(crbug.com/1119452) rethink CriticalPersistedTabData contract
      */
-    public static ByteBuffer restore(int tabId, boolean isIncognito) {
+    public static SerializedCriticalPersistedTabData restore(int tabId, boolean isIncognito) {
         PersistedTabDataConfiguration config =
                 PersistedTabDataConfiguration.get(CriticalPersistedTabData.class, isIncognito);
-        return config.getStorage().restore(tabId, config.getId());
+        return new SerializedCriticalPersistedTabData(
+                config.getStorage().restore(tabId, config.getId()));
     }
 
     /**
@@ -185,10 +186,12 @@
      * @param isIncognito true if the {@link Tab} is incognito
      * @param callback the serialized {@link CriticalPersistedTabData} is passed back in
      */
-    public static void restore(int tabId, boolean isIncognito, Callback<ByteBuffer> callback) {
+    public static void restore(
+            int tabId, boolean isIncognito, Callback<SerializedCriticalPersistedTabData> callback) {
         PersistedTabDataConfiguration config =
                 PersistedTabDataConfiguration.get(CriticalPersistedTabData.class, isIncognito);
-        config.getStorage().restore(tabId, config.getId(), callback);
+        config.getStorage().restore(tabId, config.getId(),
+                (res) -> { callback.onResult(new SerializedCriticalPersistedTabData(res)); });
     }
 
     /**
@@ -197,10 +200,11 @@
      * @param isCriticalPersistedTabDataEnabled true if CriticalPersistedData is enabled
      * as the storage/retrieval method
      */
-    public static void build(Tab tab, ByteBuffer serialized, boolean isStorageRetrievalEnabled) {
+    public static void build(Tab tab, SerializedCriticalPersistedTabData serialized,
+            boolean isStorageRetrievalEnabled) {
         PersistedTabData.build(tab, (data, storage, id, callback) -> {
             callback.onResult(new CriticalPersistedTabData(tab, data, storage, id));
-        }, serialized, CriticalPersistedTabData.class, (res) -> {});
+        }, serialized.getByteBuffer(), CriticalPersistedTabData.class, (res) -> {});
     }
 
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
@@ -716,7 +720,9 @@
     /**
      * @return true if the serialized {@link CriticalPersistedTabData} is empty.
      */
-    public static boolean isEmptySerialization(ByteBuffer byteBuffer) {
-        return byteBuffer == null || byteBuffer.limit() == 0;
+    public static boolean isEmptySerialization(
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData) {
+        return serializedCriticalPersistedTabData == null
+                || serializedCriticalPersistedTabData.isEmpty();
     }
 }
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/SerializedCriticalPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/SerializedCriticalPersistedTabData.java
new file mode 100644
index 0000000..3a135169
--- /dev/null
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/SerializedCriticalPersistedTabData.java
@@ -0,0 +1,36 @@
+// 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.
+
+package org.chromium.chrome.browser.tab.state;
+
+import androidx.annotation.VisibleForTesting;
+
+import java.nio.ByteBuffer;
+
+/**
+ * Contains serialized {@link CriticalPersistedTabData}
+ */
+public class SerializedCriticalPersistedTabData {
+    private final ByteBuffer mByteBuffer;
+
+    /**
+     * @param byteBuffer the {@link ByteBuffer} containing serialized {@link
+     *         CriticalPersistedTabData}
+     */
+    protected SerializedCriticalPersistedTabData(ByteBuffer byteBuffer) {
+        mByteBuffer = byteBuffer;
+    }
+
+    /**
+     * @return true if the {@link SerializedCriticalPersistedTabData} is empty.
+     */
+    public boolean isEmpty() {
+        return mByteBuffer == null || mByteBuffer.limit() == 0;
+    }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
+    public ByteBuffer getByteBuffer() {
+        return mByteBuffer;
+    }
+}
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java
index bd0bec3..df862c1 100644
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java
@@ -11,13 +11,12 @@
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabLaunchType;
 import org.chromium.chrome.browser.tab.TabState;
+import org.chromium.chrome.browser.tab.state.SerializedCriticalPersistedTabData;
 import org.chromium.components.embedder_support.util.UrlConstants;
 import org.chromium.content_public.browser.LoadUrlParams;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.url.GURL;
 
-import java.nio.ByteBuffer;
-
 /**
  * Creates Tabs.  If the TabCreator creates Tabs asynchronously, null pointers will be returned
  * everywhere instead of a Tab.
@@ -45,13 +44,14 @@
      * On restore, allows us to create a frozen version of a tab using saved tab state we read
      * from disk.
      * @param state    The tab state that the tab can be restored from.
-     * @param criticalPersistedTabData serialized {@link CriticalPersistedTabData}
+     * @param serializedCriticalPersistedTabData serialized {@link CriticalPersistedTabData}
      * @param id       The id to give the new tab.
      * @param isIncognito if the {@link Tab} is incognito or not
      * @param index    The index for where to place the tab.
      */
     public abstract Tab createFrozenTab(TabState state,
-            ByteBuffer serializedCriticalPersistedTabData, int id, boolean isIncognito, int index);
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData, int id,
+            boolean isIncognito, int index);
 
     /**
      * Creates a new tab and loads the specified URL in it. This is a convenience method for
diff --git a/chrome/browser/themes/browser_theme_pack.cc b/chrome/browser/themes/browser_theme_pack.cc
index e75ed16..6c775c61 100644
--- a/chrome/browser/themes/browser_theme_pack.cc
+++ b/chrome/browser/themes/browser_theme_pack.cc
@@ -1235,7 +1235,7 @@
     if (!iter.value().is_list())
       continue;
 
-    base::Value::ConstListView tint_list = iter.value().GetList();
+    base::Value::ConstListView tint_list = iter.value().GetListDeprecated();
     if (tint_list.size() != 3)
       continue;
 
@@ -1291,7 +1291,7 @@
   for (const auto iter : colors_value->DictItems()) {
     if (!iter.second.is_list())
       continue;
-    base::Value::ConstListView color_list = iter.second.GetList();
+    base::Value::ConstListView color_list = iter.second.GetListDeprecated();
     if (!(color_list.size() == 3 || color_list.size() == 4))
       continue;
 
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 654cb1808..4478d4e 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -2637,6 +2637,8 @@
       "webui/chromeos/login/signin_fatal_error_screen_handler.h",
       "webui/chromeos/login/signin_screen_handler.cc",
       "webui/chromeos/login/signin_screen_handler.h",
+      "webui/chromeos/login/smart_privacy_protection_screen_handler.cc",
+      "webui/chromeos/login/smart_privacy_protection_screen_handler.h",
       "webui/chromeos/login/ssh_configured_handler.cc",
       "webui/chromeos/login/ssh_configured_handler.h",
       "webui/chromeos/login/sync_consent_screen_handler.cc",
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
index ec766231f..e95bed23 100644
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -957,6 +957,32 @@
         Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
       </message>
 
+      <!-- Privacy Sandbox dialog. The strings are preliminary. -->
+      <message name="IDS_PRIVACY_SANDBOX_DIALOG_NO_BUTTON" desc="Button to decline enabling Privacy Sandbox features." translateable="false">
+        No thanks
+      </message>
+      <message name="IDS_PRIVACY_SANDBOX_DIALOG_YES_BUTTON" desc="Button to accept enabling Privacy Sandbox features." translateable="false">
+        I’m in
+      </message>
+      <message name="IDS_PRIVACY_SANDBOX_CONSENT_TITLE" desc="Title for the Privacy Sandbox consent dialog." translateable="false">
+        Help us build a more private web
+      </message>
+      <message name="IDS_PRIVACY_SANDBOX_CONSENT_SUBTITLE" desc="Subtitle for the Privacy Sandbox consent dialog." translateable="false">
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna.
+      </message>
+      <message name="IDS_PRIVACY_SANDBOX_CONSENT_HEADING_ONE" desc="First heading for the Privacy Sandbox consent dialog text." translateable="false">
+        Lorem ipsum dolor sit
+      </message>
+      <message name="IDS_PRIVACY_SANDBOX_CONSENT_DESCRIPTION_ONE" desc="First paragraph for the Privacy Sandbox consent dialog text." translateable="false">
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
+      </message>
+      <message name="IDS_PRIVACY_SANDBOX_CONSENT_HEADING_TWO" desc="Second heading for the Privacy Sandbox consent dialog text." translateable="false">
+        Lorem ipsum dolor sit
+      </message>
+      <message name="IDS_PRIVACY_SANDBOX_CONSENT_DESCRIPTION_TWO" desc="Second paragraph for the Privacy Sandbox consent dialog text." translateable="false">
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
+      </message>
+
       <!-- Secure DNS Settings.  Used by //chrome/browser/privacy. -->
       <message name="IDS_SETTINGS_CUSTOM" desc="Label for a custom option in a dropdown menu.">
         Custom
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 6c1b281..6caf55f 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# oudiolêer}other{# oudiolêers}}</translation>
 <translation id="265156376773362237">Standaardvooraflaai</translation>
 <translation id="2656405586795711023">Webprogramme</translation>
+<translation id="2689830683995595741">As jy Chrome gebruik, stem jy in tot <ph name="BEGIN_LINK1" />Google se diensbepalings<ph name="END_LINK1" /> en <ph name="BEGIN_LINK2" />Google Chrome en Chrome-bedryfstelsel se bykomende diensbepalings<ph name="END_LINK2" />. Die <ph name="BEGIN_LINK3" />Privaatheidskennisgewing vir Google-rekeninge wat met Family Link bestuur word<ph name="END_LINK3" /> is ook van toepassing.</translation>
 <translation id="2702516483241149200">Nuut: Deel 'n skakel wat na hierdie teks toe rollees</translation>
 <translation id="2704606927547763573">Gekopieer</translation>
 <translation id="2707726405694321444">Herlaai bladsy</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> \u2026 en nog <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" /> \u2026 en nog <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Stuur teks na jou toestelle toe</translation>
 <translation id="4699172675775169585">Gekaste prente en lêers</translation>
+<translation id="471759387343966120">Deur voort te gaan, stem jy in tot die <ph name="BEGIN_TOS_LINK" />diensbepalings<ph name="END_TOS_LINK" /> en <ph name="BEGIN_PRIVACY_LINK" />privaatheidsbeleid<ph name="END_PRIVACY_LINK" />.\nChrome stuur gebruik- en omvaldata na Google toe om te help om die program beter te maak. <ph name="BEGIN_UMA_LINK" />Bestuur<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Aanbieding om te vertaal</translation>
 <translation id="4720023427747327413">Maak in <ph name="PRODUCT_NAME" /> oop</translation>
 <translation id="4720982865791209136">Help om Chrome te verbeter. <ph name="BEGIN_LINK" />Neem aan die opname deel<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Kon nie die bladsy uitdruk nie. Probeer asseblief weer.</translation>
 <translation id="6277722725779679269">Kon nie prysnasporing opdateer nie</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">As jy Chrome gebruik, stem jy in tot <ph name="BEGIN_LINK1" />Google se diensbepalings<ph name="END_LINK1" /> en <ph name="BEGIN_LINK2" />Google Chrome en Chrome-bedryfstelsel se bykomende diensbepalings<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Jy kan oortjies stuur tussen toestelle wat met dieselfde Google-rekening aangemeld is</translation>
 <translation id="6297765934698848803">Die organisasie wat jou toestel bestuur, het jou kamera afgeskakel.</translation>
 <translation id="6301525844455696527">Haal in met jou leeslys</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Hierdie blaaier word bestuur deur <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Voeg rekening by</translation>
 <translation id="766587987807204883">Artikels verskyn hier, wat jy kan lees selfs wanneer jy vanlyn is</translation>
+<translation id="768232549260819724">GIF is gekopieer</translation>
 <translation id="7682724950699840886">Probeer die volgende wenke: maak seker dat daar genoeg spasie op jou toestel is; probeer om weer uit te voer.</translation>
 <translation id="768618399695552958">Sommige van die bladsye wat jy besoek, word vooraf gelaai. Bladsye kan vooraf deur Google-bedieners gelaai word wanneer hulle van 'n Google-werf af geskakel word.</translation>
 <translation id="7698359219371678927">Skep e-pos in <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Lêer kan nie veilig afgelaai word nie</translation>
 <translation id="8571213806525832805">Afgelope vier weke</translation>
 <translation id="8572344201470131220">Prent is gekopieer</translation>
+<translation id="8580884231102452214">Kopieer GIF</translation>
 <translation id="8583805026567836021">Vee tans rekeningdata uit</translation>
 <translation id="859046281437143747">Spoor pryse deur die Meer Opsies-knoppie na</translation>
 <translation id="860043288473659153">Kaarthouernaam</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 2e30af7..718daf6a 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ኦዲዮ ፋይል}one{# ኦዲዮ ፋይሎች}other{# ኦዲዮ ፋይሎች}}</translation>
 <translation id="265156376773362237">መደበኛ ቅድሚያ መጫን</translation>
 <translation id="2656405586795711023">የድር መተግበሪያዎች</translation>
+<translation id="2689830683995595741">Chromeን በመጠቀምዎ በ<ph name="BEGIN_LINK1" />የGoogle አገልግሎት ውል<ph name="END_LINK1" /> እና <ph name="BEGIN_LINK2" />የGoogle Chrome እና የChrome OS ተጨማሪ አገልግሎት ውል<ph name="END_LINK2" /> ይስማማሉ። <ph name="BEGIN_LINK3" />በFamily Link የሚቀናበሩ የGoogle መለያዎች የግላዊነት ማስታወቂያ<ph name="END_LINK3" /> እንዲሁም ይተገበራል።</translation>
 <translation id="2702516483241149200">አዲስ፦ ወደዚህ ጽሑፍ የሚሸበለል አገናኝ ያጋሩ</translation>
 <translation id="2704606927547763573">ተቀድቷል</translation>
 <translation id="2707726405694321444">ገጹን አድስ</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 እና <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ተጨማሪ}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 እና <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ተጨማሪ}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 እና <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ተጨማሪ}}</translation>
 <translation id="4696983787092045100">ጽሑፍ ወደ መሣሪያዎችዎ ይላኩ</translation>
 <translation id="4699172675775169585">የተሸጎጡ ምስሎች እና ፋይሎች</translation>
+<translation id="471759387343966120">በመቀጠልዎ በ<ph name="BEGIN_TOS_LINK" />የአገልግሎት ውል<ph name="END_TOS_LINK" /> እና <ph name="BEGIN_PRIVACY_LINK" />የግላዊነት\u00A0መመሪያ<ph name="END_PRIVACY_LINK" /> ይስማማሉ።\nመተግበሪያውን ለማሻሻል ለማገዝ Chrome የአጠቃቀም እና የስንክል ውሂብን ወደ Google ይልካል። <ph name="BEGIN_UMA_LINK" />ያቀናብሩ<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ለመተርጎም ጥያቄ አቅርብ</translation>
 <translation id="4720023427747327413">በ<ph name="PRODUCT_NAME" /> ውስጥ ክፈት</translation>
 <translation id="4720982865791209136">Chrome እንዲሻሻል ያግዙ። <ph name="BEGIN_LINK" />የዳሰሳ ጥናት ይወሰዱ<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">ገጹን ማተም ላይ ችግር ነበር። እባክዎ እንደገና ይሞክሩ።</translation>
 <translation id="6277722725779679269">ዋጋ ተከታተልን ማዘመን አልተቻለም</translation>
 <translation id="6278428485366576908">ገጽታ</translation>
+<translation id="6292420053234093573">Chromeን በመጠቀምዎ በ<ph name="BEGIN_LINK1" />የGoogle አገልግሎት ውል<ph name="END_LINK1" /> እና <ph name="BEGIN_LINK2" />የGoogle Chrome እና የChrome OS ተጨማሪ አገልግሎት ውል<ph name="END_LINK2" /> ይስማማሉ።</translation>
 <translation id="6294610283659775533">በተመሳሳዩ Google መለያ በገቡባቸው መሣሪያዎች መካከል ትሮችን መላክ ይችላሉ</translation>
 <translation id="6297765934698848803">የእርስዎን መሣሪያ የሚያስተዳድረው ድርጅት ካሜራዎን አጥፍቶታል።</translation>
 <translation id="6301525844455696527">በንባብ ዝርዝርዎ ላይ ተከታትለው ይድረሱባቸው</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">ይህ አሳሽ በ<ph name="PARENT_NAME" /> የሚተዳደር ነው።</translation>
 <translation id="7665369617277396874">መለያ ያክሉ</translation>
 <translation id="766587987807204883">እርስዎ ከመስመር ውጭ ሆነውም እንኳ ሊያነብቧቸው የሚችሏቸውን ጽሑፎች እዚህ ይመጣሉ</translation>
+<translation id="768232549260819724">ጂአይኤፍ ተቀድቷል</translation>
 <translation id="7682724950699840886">የሚከተሉትን ጠቃሚ ምክሮች ይሞክሩ፦ በእርስዎ መሣሪያ ላይ በቂ ባዶ ቦታ መኖሩን ያረጋግጡ፣ ወይም እንደገና ወደ ውጭ ለመላክ ይሞክሩ።</translation>
 <translation id="768618399695552958">የጎበኟቸው አንዳንድ ገጾች ቅድሚያ ተጭነዋል። ገጾች ከGoogle ጣቢያ ከተገናኙ በGoogle አገልጋዮች በኩል ቅድሚያ ሊጫኑ ይችላሉ።</translation>
 <translation id="7698359219371678927">በ<ph name="APP_NAME" /> ውስጥ ኢሜይል ይፍጠሩ</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">ፋይል ደህንነቱ በተጠበቀ ሁኔታ ሊወርድ አይችልም</translation>
 <translation id="8571213806525832805">ባለፉት 4 ሳምንቶች</translation>
 <translation id="8572344201470131220">ምስል ተቀድቷል</translation>
+<translation id="8580884231102452214">ጂአይኤፍ ቅዳ</translation>
 <translation id="8583805026567836021">የመለያ ውሂብን በማጽዳት ላይ</translation>
 <translation id="859046281437143747">ከተጨማሪ አማራጮች አዝራር ዋጋን ይከታተሉ</translation>
 <translation id="860043288473659153">የካርድ ያዢ ስም</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 def55f58..4a59ffc 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{ملف صوتي واحد (#)}zero{# ملف صوتي}two{ملفان صوتيان (#)}few{# ملفات صوتية}many{# ملفًا صوتيًا}other{# ملف صوتي}}</translation>
 <translation id="265156376773362237">التحميل المُسبق العادي</translation>
 <translation id="2656405586795711023">تطبيقات الويب</translation>
+<translation id="2689830683995595741">‏يعني استخدامك لمتصفّح Chrome موافقتك على <ph name="BEGIN_LINK1" />بنود خدمة Google<ph name="END_LINK1" /> و<ph name="BEGIN_LINK2" />بنود الخدمة الإضافية لكل من متصفّح Google Chrome و"نظام التشغيل Chrome"<ph name="END_LINK2" />. وينطبق ذلك أيضًا على <ph name="BEGIN_LINK3" />إشعار الخصوصية لحسابات Google المُدارة من خلال Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">ميزة جديدة: يمكنك مشاركة رابط يؤدي إلى هذا النص.</translation>
 <translation id="2704606927547763573">تم النسخ</translation>
 <translation id="2707726405694321444">إعادة تحميل الصفحة</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 وخيار إضافي واحد (<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />)}zero{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 و<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> خيار إضافي}two{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 وخياران إضافيان (<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />)}few{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 و<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> خيارات إضافية}many{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 و<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> خيارًا إضافيًا}other{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 و<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> خيار إضافي}}</translation>
 <translation id="4696983787092045100">إرسال رسالة نصية إلى أجهزتك</translation>
 <translation id="4699172675775169585">الصور والملفات المخزنة مؤقتًا</translation>
+<translation id="471759387343966120">‏تعني المتابعة أنّك توافق على <ph name="BEGIN_TOS_LINK" />بنود الخدمة<ph name="END_TOS_LINK" /> و <ph name="BEGIN_PRIVACY_LINK" />سياسة الخصوصية<ph name="END_PRIVACY_LINK" />.\nللمساعدة في تحسين التطبيق، يرسل Chrome بيانات الاستخدام والأعطال إلى Google. <ph name="BEGIN_UMA_LINK" />إدارة<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">عرض ترجمة</translation>
 <translation id="4720023427747327413">الفتح في <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">‏المساعدة في تحسين Chrome. <ph name="BEGIN_LINK" />المشاركة في الاستطلاع<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">حدثت مشكلة أثناء طباعة الصفحة. يُرجى إعادة المحاولة.</translation>
 <translation id="6277722725779679269">تعذّر تحديث ميزة تتبُّع السعر</translation>
 <translation id="6278428485366576908">مظهر</translation>
+<translation id="6292420053234093573">‏يعني استخدامك لمتصفّح Chrome موافقتك على <ph name="BEGIN_LINK1" />بنود خدمة Google<ph name="END_LINK1" /> و<ph name="BEGIN_LINK2" />بنود الخدمة الإضافية لكل من متصفّح Google Chrome و"نظام التشغيل Chrome"<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">‏يمكنك إرسال علامات التبويب من وإلى الأجهزة التي تم من خلالها تسجيل الدخول إلى حساب Google نفسه.</translation>
 <translation id="6297765934698848803">إن المؤسسة التي تدير الجهاز أوقفت الكاميرا.</translation>
 <translation id="6301525844455696527">متابعة قراءة ما فاتك في قائمة القراءة</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">تتم إدارة هذا المتصفِّح من خلال <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">إضافة حساب</translation>
 <translation id="766587987807204883">تظهر المقالات هنا، ويمكنك الاطّلاع عليها حتى عندما لا يكون الجهاز متّصلًا بالإنترنت.</translation>
+<translation id="768232549260819724">‏تم نسخ ملف GIF.</translation>
 <translation id="7682724950699840886">يمكنك تجربة النصائح التالية: تأكد من توفر مساحة كافية على جهازك وحاول التصدير مرة أخرى.</translation>
 <translation id="768618399695552958">‏إنّ بعض الصفحات التي تنتقل إليها يتم تحميلها مُسبقًا. يمكن تحميل صفحات الويب مُسبقًا من خلال خوادم Google عند ربطها من موقع مصمَّم في "مواقع Google".</translation>
 <translation id="7698359219371678927">إنشاء بريد إلكتروني في <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">تعذَّر تنزيل الملف بشكل آمن</translation>
 <translation id="8571213806525832805">الأسابيع الـ4 الأخيرة</translation>
 <translation id="8572344201470131220">تم نسخ الصورة.</translation>
+<translation id="8580884231102452214">‏نسخ ملف GIF</translation>
 <translation id="8583805026567836021">محو بيانات الحساب</translation>
 <translation id="859046281437143747">يمكنك تتبُّع سعر المنتج من خلال الزر "خيارات إضافية".</translation>
 <translation id="860043288473659153">اسم حامل البطاقة</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 795e7d4..f51de062 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{#টা অডিঅ' ফাইল}one{#টা অডিঅ' ফাইল}other{#টা অডিঅ' ফাইল}}</translation>
 <translation id="265156376773362237">মান্য আগতীয়া ল’ডিং</translation>
 <translation id="2656405586795711023">ৱেব এপ্‌সমূহ</translation>
+<translation id="2689830683995595741">Chrome ব্যৱহাৰ কৰি আপুনি <ph name="BEGIN_LINK1" />Google সেৱাৰ চৰ্তাৱলী<ph name="END_LINK1" /> আৰু <ph name="BEGIN_LINK2" />Google Chrome আৰু Chrome OSৰ সেৱাৰ অতিৰিক্ত চৰ্তাৱলী<ph name="END_LINK2" />ত সন্মতি দিয়ে। <ph name="BEGIN_LINK3" />Family Linkৰ জৰিয়তে পৰিচালনা কৰা Google একাউণ্টৰ বাবে গোপনীয়তাৰ জাননী<ph name="END_LINK3" />ও প্ৰযোজ্য হয়।</translation>
 <translation id="2702516483241149200">নতুন: এই পাঠটোলৈ স্ক্ৰ’ল কৰা এটা লিংক শ্বেয়াৰ কৰা</translation>
 <translation id="2704606927547763573">প্ৰতিলিপি কৰা হ'ল</translation>
 <translation id="2707726405694321444">পৃষ্ঠাটো ৰিফ্ৰেশ্ব কৰক</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 আৰু <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />টা}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 আৰু <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />টা}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 আৰু <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />টা}}</translation>
 <translation id="4696983787092045100">আপোনাৰ ডিভাইচসমূহলৈ পাঠ পঠিয়াওক</translation>
 <translation id="4699172675775169585">কেশ্ব প্ৰতিচ্ছবি আৰু ফাইল</translation>
+<translation id="471759387343966120">অব্যাহত ৰাখি, আপুনি <ph name="BEGIN_TOS_LINK" />সেৱাৰ চৰ্তাৱলী<ph name="END_TOS_LINK" /> আৰু <ph name="BEGIN_PRIVACY_LINK" />গোপনীয়তাৰ\u00A0নীতি<ph name="END_PRIVACY_LINK" />ত সন্মত হৈছে।\nএপ্‌টো উন্নত কৰাত সহায় কৰিবলৈ, Chromeএ Googleলৈ ব্যৱহাৰ আৰু ক্ৰেশ্ব সম্পৰ্কীয় ডেটা পঠিয়ায়। <ph name="BEGIN_UMA_LINK" />পৰিচালনা কৰক<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">অনুবাদ কৰাৰ প্ৰস্তাৱ দিয়ক</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />ত খোলক</translation>
 <translation id="4720982865791209136">Chromeক উন্নত কৰাত সহায় কৰক। <ph name="BEGIN_LINK" />সমীক্ষাত ভাগ লওক<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">এই পৃষ্ঠাটো প্ৰিণ্ট কৰোঁতে কিবা সমস্যা হৈছিল। অনুগ্ৰহ কৰি আকৌ চেষ্টা কৰক।</translation>
 <translation id="6277722725779679269">ট্ৰেক কৰা মূল্য আপডে’ট কৰিব পৰা নগ’ল</translation>
 <translation id="6278428485366576908">থীম</translation>
+<translation id="6292420053234093573">Chrome ব্যৱহাৰ কৰি আপুনি <ph name="BEGIN_LINK1" />Google সেৱাৰ চৰ্তাৱলী<ph name="END_LINK1" /> আৰু <ph name="BEGIN_LINK2" />Google Chrome আৰু Chrome OSৰ সেৱাৰ অতিৰিক্ত চৰ্তাৱলী<ph name="END_LINK2" />ত সন্মতি দিয়ে।</translation>
 <translation id="6294610283659775533">আপুনি একেটা Google একাউণ্টৰ জৰিয়তে ছাইন ইন কৰি থোৱা ডিভাইচসমূহৰ মাজত টেব পঠিয়াব পাৰে</translation>
 <translation id="6297765934698848803">আপোনাৰ ডিভাইচ পৰিচালনা কৰা প্ৰতিষ্ঠানটোৱে আপোনাৰ কেমেৰাটো বন্ধ কৰিছে।</translation>
 <translation id="6301525844455696527">আপোনাৰ পঢ়াৰ সূচীত চাওক</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 96dd336..26d91764 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Audio fayl}other{# Audio fayl}}</translation>
 <translation id="265156376773362237">Standart əvvəlcədən yükləmə</translation>
 <translation id="2656405586795711023">Veb tətbiqlər</translation>
+<translation id="2689830683995595741">Chrome'u istifadə etməklə, <ph name="BEGIN_LINK1" />Google Xidmət Şərtləri<ph name="END_LINK1" /> və <ph name="BEGIN_LINK2" />Google Chrome və Chrome ƏS Əlavə Xidmət Şərtləri<ph name="END_LINK2" /> ilə razılaşırsınız. <ph name="BEGIN_LINK3" />Family Link ilə İdarə Edilən Google Hesabları üçün Məxfilik Bildirişi<ph name="END_LINK3" /> də tətbiq edilir.</translation>
 <translation id="2702516483241149200">Yeni: bu mətnə keçidi paylaşın</translation>
 <translation id="2704606927547763573">Kopyalandı</translation>
 <translation id="2707726405694321444">Səhifəni yeniləyin</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 və <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> digəri}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 və <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> digəri}}</translation>
 <translation id="4696983787092045100">Mətni Cihazlarınıza göndərin</translation>
 <translation id="4699172675775169585">Keşlənmiş şəkillər və fayllar</translation>
+<translation id="471759387343966120">Davam etməklə, <ph name="BEGIN_TOS_LINK" />Xidmət Şərtləri<ph name="END_TOS_LINK" /> və <ph name="BEGIN_PRIVACY_LINK" />Məxfilik\u00A0Siyasəti<ph name="END_PRIVACY_LINK" /> ilə razılaşırsınız.\nTətbiqi təkmilləşdirməyə kömək etmək üçün Chrome istifadə və qəza datasını Google'a göndərir. <ph name="BEGIN_UMA_LINK" />İdarə edin<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Tərcümə təklif edin</translation>
 <translation id="4720023427747327413">Aç <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Chrome'u təkmilləşdirin. <ph name="BEGIN_LINK" />Sorğuya qatılın<ph name="END_LINK" /></translation>
@@ -905,6 +907,7 @@
 <translation id="6277522088822131679">Səhifə çap olunarkən problem oldu. Yenidən cəhd edin.</translation>
 <translation id="6277722725779679269">Qiymətin izlənməsini güncəlləmək mümkün olmadı</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Chrome'u istifadə etməklə, <ph name="BEGIN_LINK1" />Google Xidmət Şərtləri<ph name="END_LINK1" /> və <ph name="BEGIN_LINK2" />Google Chrome və Chrome ƏS Əlavə Xidmət Şərtləri<ph name="END_LINK2" /> ilə razılaşırsınız.</translation>
 <translation id="6294610283659775533">Eyni Google Hesabı ilə daxil olunan cihazlar arasında tablar göndərə bilərsiniz</translation>
 <translation id="6297765934698848803">Cihazınızı idarə edən təşkilat kameranızı deaktiv edib.</translation>
 <translation id="6301525844455696527">Oxuma siyahınıza çatın</translation>
@@ -1169,6 +1172,7 @@
 <translation id="7663313374500954251">Bu brauzer <ph name="PARENT_NAME" /> tərəfindən idarə edilir.</translation>
 <translation id="7665369617277396874">Hesab əlavə edin</translation>
 <translation id="766587987807204883">Məqalələr burada görünəcək. Onları oflayn olduqda belə oxuya bilərsiniz</translation>
+<translation id="768232549260819724">GIF Kopyalanıb</translation>
 <translation id="7682724950699840886">Aşağıdakıları sınayın: cihazda kifayət qədər yer olduğuna əmin olun və eksport etməyə cəhd edin.</translation>
 <translation id="768618399695552958">Ziyarət etdiyiniz bəzi səhifələr əvvəlcədən yüklənib. Səhifələr Google saytından əlaqələndirildikdə Google serverləri vasitəsilə əvvəlcədən yüklənə bilər.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> tətbiqində e-poçt yaradın</translation>
@@ -1347,6 +1351,7 @@
 <translation id="8570677896027847510">Faylı təhlükəsiz şəkildə endirmək mümkün deyil</translation>
 <translation id="8571213806525832805">Son 4 həftə</translation>
 <translation id="8572344201470131220">Şəkil Kopyalanıb</translation>
+<translation id="8580884231102452214">GIF-i kopyalayın</translation>
 <translation id="8583805026567836021">Hesab datası silinir</translation>
 <translation id="859046281437143747">"Digər seçimlər" düyməsi ilə qiyməti izləyin</translation>
 <translation id="860043288473659153">Kart sahibinin adı</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 af8c0bc..2b97652 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аўдыяфайл}one{# аўдыяфайл}few{# аўдыяфайлы}many{# аўдыяфайлаў}other{# аўдыяфайла}}</translation>
 <translation id="265156376773362237">Стандартная перадзагрузка</translation>
 <translation id="2656405586795711023">Вэб-праграмы</translation>
+<translation id="2689830683995595741">Выкарыстоўваючы Chrome, вы згаджаецеся з <ph name="BEGIN_LINK1" />Умовамі выкарыстання Google<ph name="END_LINK1" /> і <ph name="BEGIN_LINK2" />Дадатковымі ўмовамі выкарыстання Google Chrome і Chrome OS<ph name="END_LINK2" />. Таксама прымяняецца <ph name="BEGIN_LINK3" />Паведамленне аб прыватнасці ў дачыненні да Уліковых запісаў Google, якія кіруюцца праз Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Навінка: абагульце спасылку, пры выкарыстанні якой старонка прагартаецца гэтага фрагмента тэксту</translation>
 <translation id="2704606927547763573">Скапіравана</translation>
 <translation id="2707726405694321444">Абнавіць старонку</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і яшчэ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і яшчэ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і яшчэ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}many{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і яшчэ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і яшчэ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Адправіць тэкст на вашы прылады</translation>
 <translation id="4699172675775169585">Відарысы і файлы ў кэшы</translation>
+<translation id="471759387343966120">Працягваючы, вы прымаеце <ph name="BEGIN_TOS_LINK" />Умовы выкарыстання<ph name="END_TOS_LINK" /> і <ph name="BEGIN_PRIVACY_LINK" />Палітыку\u00A0прыватнасці<ph name="END_PRIVACY_LINK" />.\nChrome адпраўляе даныя пра выкарыстанне і збоі ў Google, якія дапамогуць палепшыць праграму. <ph name="BEGIN_UMA_LINK" />Кіраваць<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Прапаноўваць пераклад</translation>
 <translation id="4720023427747327413">Адкрыць у <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Дапамажыце палепшыць Chrome. <ph name="BEGIN_LINK" />Прыміце ўдзел у апытанні<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Узнікла праблема з друкам старонкі. Паўтарыце спробу.</translation>
 <translation id="6277722725779679269">Абнавіць функцыю "Адсочванне цаны" не ўдалося</translation>
 <translation id="6278428485366576908">Тэма</translation>
+<translation id="6292420053234093573">Выкарыстоўваючы Chrome, вы згаджаецеся з <ph name="BEGIN_LINK1" />Умовамі выкарыстання Google<ph name="END_LINK1" /> і <ph name="BEGIN_LINK2" />Дадатковымі ўмовамі выкарыстання Google Chrome і Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Вы можаце адпраўляць укладкі на свае прылады, на якіх выкананы ўваход у адзін і той жа Уліковы запіс Google</translation>
 <translation id="6297765934698848803">Арганізацыя, якая кіруе вашай прыладай, выключыла камеру.</translation>
 <translation id="6301525844455696527">Не забудзьце прачытаць</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 4f38e2c5..f5ad6a0 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аудиофайл}other{# аудиофайла}}</translation>
 <translation id="265156376773362237">Стандартно предварит. зареждане</translation>
 <translation id="2656405586795711023">Уеб приложения</translation>
+<translation id="2689830683995595741">С използването на Chrome приемате <ph name="BEGIN_LINK1" />Общите условия на Google<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />Допълнителните общи условия на Chrome и Chrome OS<ph name="END_LINK2" />. В сила е и <ph name="BEGIN_LINK3" />Съобщението за поверителност за профилите в Google, управлявани чрез Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Ново: споделяне на връзка, която превърта до този текст</translation>
 <translation id="2704606927547763573">Копирано</translation>
 <translation id="2707726405694321444">Опресняване на страницата</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 и още <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 и още <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Изпращане на текст до устройствата ви</translation>
 <translation id="4699172675775169585">Кеширани изображения и файлове</translation>
+<translation id="471759387343966120">Продължавайки, приемате <ph name="BEGIN_TOS_LINK" />Общите условия<ph name="END_TOS_LINK" /> и <ph name="BEGIN_PRIVACY_LINK" />Декларацията за поверителност<ph name="END_PRIVACY_LINK" />.\nС цел подобряване на приложението Chrome изпраща до Google данни за употребата и сривовете. <ph name="BEGIN_UMA_LINK" />Управление<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Предложения за превод</translation>
 <translation id="4720023427747327413">Отваряне в <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Помогнете за подобряването на Chrome. <ph name="BEGIN_LINK" />Участвайте в анкетата<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">При отпечатването на страницата възникна проблем. Моля, опитайте отново.</translation>
 <translation id="6277722725779679269">Проследяваните цени не бяха актуализирани</translation>
 <translation id="6278428485366576908">Тема</translation>
+<translation id="6292420053234093573">С използването на Chrome приемате <ph name="BEGIN_LINK1" />Общите условия на Google<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />Допълнителните общи условия на Chrome и Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Можете да изпращате раздели до други устройства, на които сте влезли в един и същ профил в Google</translation>
 <translation id="6297765934698848803">Организацията, която управлява устройството ви, е изключила камерата.</translation>
 <translation id="6301525844455696527">Не забравяйте списъка си за четене</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 69915c99..8240fe468 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{#টি অডিও ফাইল}one{#টি অডিও ফাইল}other{#টি অডিও ফাইল}}</translation>
 <translation id="265156376773362237">স্ট্যান্ডার্ড প্রিলোডিং</translation>
 <translation id="2656405586795711023">ওয়েব অ্যাপ</translation>
+<translation id="2689830683995595741">Chrome ব্যবহার করার মাধ্যমে, আপনি <ph name="BEGIN_LINK1" />Google পরিষেবার শর্তাবলী<ph name="END_LINK1" /> এবং <ph name="BEGIN_LINK2" />Google Chrome ও Chrome OS-এর পরিষেবার অতিরিক্ত শর্তাবলী<ph name="END_LINK2" /> মেনে নিচ্ছেন। তাছাড়া, এর সাথে <ph name="BEGIN_LINK3" />Family Link-এর মাধ্যমে ম্যানেজ করা Google অ্যাকাউন্টের গোপনীয়তা বিজ্ঞপ্তি<ph name="END_LINK3" />ও প্রযোজ্য হবে।</translation>
 <translation id="2702516483241149200">নতুন: এই টেক্সট পর্যন্ত স্ক্রোল করতে পারে এমন লিঙ্ক শেয়ার করুন</translation>
 <translation id="2704606927547763573">প্রতিলিপি করা হয়েছে</translation>
 <translation id="2707726405694321444">পৃষ্ঠা রিফ্রেশ করুন</translation>
@@ -627,6 +628,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 এবং <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> আরও অনেক}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 এবং <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> আরও অনেক}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 এবং <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> আরও অনেক}}</translation>
 <translation id="4696983787092045100">আপনার ডিভাইসে টেক্সট পাঠান</translation>
 <translation id="4699172675775169585">ক্যাশে করা ছবি এবং ফাইলগুলি</translation>
+<translation id="471759387343966120">চালিয়ে যাওয়ার অর্থ আপনি <ph name="BEGIN_TOS_LINK" />পরিষেবার শর্তাবলী<ph name="END_TOS_LINK" /> ও <ph name="BEGIN_PRIVACY_LINK" />গোপনীয়তা\u00A0নীতি<ph name="END_PRIVACY_LINK" />তে সম্মতি জানাচ্ছেন।\nঅ্যাপের উন্নতি করার জন্য Chrome ক্র্যাশ ও ব্যবহারের ডেটা Google-কে পাঠায়। <ph name="BEGIN_UMA_LINK" />ম্যানেজ করুন<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">অনুবাদ করুন</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> এ খুলুন</translation>
 <translation id="4720982865791209136">Chrome উন্নত করতে সাহায্য করুন। <ph name="BEGIN_LINK" />সমীক্ষায় অংশ নিন।<ph name="END_LINK" /></translation>
@@ -909,6 +911,7 @@
 <translation id="6277522088822131679">পৃষ্ঠাটি প্রিন্ট করার সময় একটি সমস্যা হয়েছিল৷ দয়া করে আবার চেষ্টা করুন৷</translation>
 <translation id="6277722725779679269">দাম ট্র্যাক করার ফিচার আপডেট করা যায়নি</translation>
 <translation id="6278428485366576908">থীম</translation>
+<translation id="6292420053234093573">Chrome ব্যবহার করার মাধ্যমে, আপনি <ph name="BEGIN_LINK1" />Google পরিষেবার শর্তাবলী<ph name="END_LINK1" /> এবং <ph name="BEGIN_LINK2" />Google Chrome ও Chrome OS-এর পরিষেবার অতিরিক্ত শর্তাবলী<ph name="END_LINK2" /> মেনে নিচ্ছেন।</translation>
 <translation id="6294610283659775533">আপনি একই Google অ্যাকাউন্টের মাধ্যমে সাইন-ইন করা ডিভাইসের মধ্যে ট্যাব পাঠাতে পারেন</translation>
 <translation id="6297765934698848803">যে সংস্থাটি আপনার ডিভাইস ম্যানেজ করে সেটি আপনার ক্যামেরা বন্ধ করে দিয়েছে।</translation>
 <translation id="6301525844455696527">আপনি যা পড়তে চান সেগুলি দেখুন</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 0312a583..01e77e2 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# audio fajl}one{# audio fajl}few{# audio fajla}other{# audio fajlova}}</translation>
 <translation id="265156376773362237">Standardno predučitavanje</translation>
 <translation id="2656405586795711023">Web aplikacije</translation>
+<translation id="2689830683995595741">Korištenjem Chromea pristajete na <ph name="BEGIN_LINK1" />Googleove Uslove korištenja usluge<ph name="END_LINK1" /> i <ph name="BEGIN_LINK2" />dodatne Uslove korištenja usluge za Google Chrome i Chrome OS<ph name="END_LINK2" />. Također se primjenjuje <ph name="BEGIN_LINK3" />Obavještenje o privatnosti za Google račune kojima se upravlja putem Family Linka<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Novo: dijelite link koji kliže do ovog teksta</translation>
 <translation id="2704606927547763573">Kopirano</translation>
 <translation id="2707726405694321444">Osvježavanje stranice</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Pošaljite SMS na svoje uređaje</translation>
 <translation id="4699172675775169585">Slike i fajlovi u keš memoriji</translation>
+<translation id="471759387343966120">Ako nastavite, pristajete na <ph name="BEGIN_TOS_LINK" />Uslove korištenja usluge<ph name="END_TOS_LINK" /> i <ph name="BEGIN_PRIVACY_LINK" />Pravila\u00A0privatnosti<ph name="END_PRIVACY_LINK" />.\nRadi poboljšanja aplikacije Chrome šalje Googleu podatke o korištenju i padovima aplikacije. <ph name="BEGIN_UMA_LINK" />Upravljajte<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ponudi prijevod</translation>
 <translation id="4720023427747327413">Otvori u aplikaciji <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Pomozite nam da poboljšamo Chrome. <ph name="BEGIN_LINK" />Učestvujte u anketi<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Došlo je do problema sa štampanjem stranice. Pokušajte ponovo.</translation>
 <translation id="6277722725779679269">Ažuriranje postavke Prati cijenu nije uspjelo</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Korištenjem Chromea pristajete na <ph name="BEGIN_LINK1" />Googleove Uslove korištenja usluge<ph name="END_LINK1" /> i <ph name="BEGIN_LINK2" />dodatne Uslove korištenja usluge za Google Chrome i Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Možete slati kartice između uređaja koji su prijavljeni s istim Google računom</translation>
 <translation id="6297765934698848803">Organizacija koja upravlja vašim uređajem je isključila kameru.</translation>
 <translation id="6301525844455696527">Nemojte zaboraviti svoju listu za čitanje</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Ovim preglednikom upravlja <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Dodaj račun</translation>
 <translation id="766587987807204883">Članci se prikazuju ovdje i možete ih čitati čak i kada ste van mreže</translation>
+<translation id="768232549260819724">GIF je kopiran</translation>
 <translation id="7682724950699840886">Pokušajte sljedeće savjete: vodite računa da na uređaju ima dovoljno prostora i pokušajte ponovo izvršiti izvoz.</translation>
 <translation id="768618399695552958">Neke od stranica koje posjećujete se predučitavaju. Stranice se mogu predučitati putem Googleovih servera kada se povežu s Googleove web lokacije.</translation>
 <translation id="7698359219371678927">Kreirajte e-poruku u aplikaciji <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Nije moguće sigurno preuzeti fajl</translation>
 <translation id="8571213806525832805">Posljednje 4 sedmice</translation>
 <translation id="8572344201470131220">Slika je kopirana</translation>
+<translation id="8580884231102452214">Kopiraj GIF</translation>
 <translation id="8583805026567836021">Brisanje podataka računa</translation>
 <translation id="859046281437143747">Pratite cijene pomoću dugmeta Više opcija</translation>
 <translation id="860043288473659153">Ime vlasnika kartice</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 4933224..3b925dd2 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# fitxer d'àudio}other{# fitxers d'àudio}}</translation>
 <translation id="265156376773362237">Càrrega prèvia estàndard</translation>
 <translation id="2656405586795711023">Aplicacions web</translation>
+<translation id="2689830683995595741">En utilitzar Chrome, acceptes les <ph name="BEGIN_LINK1" />condicions del servei de Google<ph name="END_LINK1" /> i les <ph name="BEGIN_LINK2" />condicions del servei addicionals de Google Chrome i Chrome OS<ph name="END_LINK2" />. També s'aplica l'<ph name="BEGIN_LINK3" />avís de privadesa per als Comptes de Google gestionats amb Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Nou: comparteix un enllaç que es desplaça fins a aquest text</translation>
 <translation id="2704606927547763573">Copiada</translation>
 <translation id="2707726405694321444">Actualitza la pàgina</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> més}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> més}}</translation>
 <translation id="4696983787092045100">Envia text als teus dispositius</translation>
 <translation id="4699172675775169585">Imatges i fitxers desats a la memòria cau</translation>
+<translation id="471759387343966120">En continuar, acceptes les <ph name="BEGIN_TOS_LINK" />condicions del servei<ph name="END_TOS_LINK" /> i la <ph name="BEGIN_PRIVACY_LINK" />política de privadesa<ph name="END_PRIVACY_LINK" />.\nPer ajudar a millorar l'aplicació, Chrome envia les dades d'ús i de bloqueig a Google. <ph name="BEGIN_UMA_LINK" />Gestiona<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Proposa traduir aquest idioma</translation>
 <translation id="4720023427747327413">Obre a <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Ajuda a millorar Chrome. <ph name="BEGIN_LINK" />Respon a l'enquesta<ph name="END_LINK" />.</translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">S'ha produït un problema en imprimir la pàgina. Torneu-ho a provar.</translation>
 <translation id="6277722725779679269">No s'ha pogut actualitzar el seguiment del preu</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">En utilitzar Chrome, acceptes les <ph name="BEGIN_LINK1" />condicions del servei de Google<ph name="END_LINK1" /> i <ph name="BEGIN_LINK2" />les condicions del servei addicionals de Google Chrome i Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Pots enviar pestanyes entre dispositius en què tinguis la sessió iniciada al mateix Compte de Google</translation>
 <translation id="6297765934698848803">L'organització que gestiona el dispositiu ha desactivat la càmera.</translation>
 <translation id="6301525844455696527">Posa't al dia de la teva llista de lectura</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 c90db37..d58c72b 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# zvukový soubor}few{# zvukové soubory}many{# zvukového souboru}other{# zvukových souborů}}</translation>
 <translation id="265156376773362237">Standardní předběžné načítání</translation>
 <translation id="2656405586795711023">Webové aplikace</translation>
+<translation id="2689830683995595741">Používáním Chromu vyjadřujete souhlas se <ph name="BEGIN_LINK1" />smluvními podmínkami společnosti Google<ph name="END_LINK1" /> a <ph name="BEGIN_LINK2" />doplňujícími smluvními podmínkami prohlížeče Chrome a systému Chrome OS<ph name="END_LINK2" />. Platí také <ph name="BEGIN_LINK3" />upozornění ve věci ochrany soukromí pro účty Google spravované prostřednictvím služby Family<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Nové: Sdílení odkazu, který obsah posune na tento text</translation>
 <translation id="2704606927547763573">Zkopírováno</translation>
 <translation id="2707726405694321444">Obnovit stránku</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> další}few{<ph name="SHIPPING_OPTION_PREVIEW" /> a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> další}many{<ph name="SHIPPING_OPTION_PREVIEW" /> a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> další}other{<ph name="SHIPPING_OPTION_PREVIEW" /> a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> dalších}}</translation>
 <translation id="4696983787092045100">Odeslat text do vašich zařízení</translation>
 <translation id="4699172675775169585">Obrázky a soubory v mezipaměti</translation>
+<translation id="471759387343966120">Pokračováním vyjadřujete souhlas se <ph name="BEGIN_TOS_LINK" />smluvními podmínkami<ph name="END_TOS_LINK" /> a <ph name="BEGIN_PRIVACY_LINK" />zásadami ochrany soukromí<ph name="END_PRIVACY_LINK" />.\nZa účelem vylepšování aplikace odesílá Chrome do Googlu údaje o využití a selháních. <ph name="BEGIN_UMA_LINK" />Spravovat<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Nabízet překlad</translation>
 <translation id="4720023427747327413">Otevřít v aplikaci <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Pomozte Chrome zlepšit. <ph name="BEGIN_LINK" />Zúčastněte se průzkumu<ph name="END_LINK" />.</translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Při tištění stránky došlo k problému. Zkuste to prosím znovu.</translation>
 <translation id="6277722725779679269">Sledování ceny se nepodařilo aktualizovat</translation>
 <translation id="6278428485366576908">Motiv</translation>
+<translation id="6292420053234093573">Používáním Chromu vyjadřujete souhlas se <ph name="BEGIN_LINK1" />smluvními podmínkami společnosti Google<ph name="END_LINK1" /> a <ph name="BEGIN_LINK2" />doplňujícími smluvními podmínkami prohlížeče Chrome a systému Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Mezi zařízeními přihlášenými ke stejnému účtu Google lze posílat karty</translation>
 <translation id="6297765934698848803">Organizace, která spravuje vaše zařízení, kameru vypnula.</translation>
 <translation id="6301525844455696527">Sledujte svůj seznam k přečtení</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Tento prohlížeč spravuje <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Přidat účet</translation>
 <translation id="766587987807204883">Zde se zobrazují články, které si můžete číst i offline</translation>
+<translation id="768232549260819724">GIF byl zkopírován</translation>
 <translation id="7682724950699840886">Vyzkoušejte tyto tipy: Zajistěte, aby v zařízení byl dostatek místa a zkuste export zopakovat.</translation>
 <translation id="768618399695552958">Některé stránky, které navštěvujete, se načítají předběžně. Pokud na stránky odkazuje web Google, mohou se předběžně načíst prostřednictvím serverů Google.</translation>
 <translation id="7698359219371678927">Vytvořit e-mail v aplikaci <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Soubor nelze bezpečně stáhnout</translation>
 <translation id="8571213806525832805">Poslední 4 týdny</translation>
 <translation id="8572344201470131220">Obrázek byl zkopírován</translation>
+<translation id="8580884231102452214">Kopírovat GIF</translation>
 <translation id="8583805026567836021">Mazání dat účtu</translation>
 <translation id="859046281437143747">Pomocí nabídky Další možnosti lze sledovat cenu</translation>
 <translation id="860043288473659153">Jméno držitele karty</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 d49e50b..ed96c32 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# lydfil}one{# lydfil}other{# lydfiler}}</translation>
 <translation id="265156376773362237">Standardforudindlæsning</translation>
 <translation id="2656405586795711023">Webapps</translation>
+<translation id="2689830683995595741">Når du bruger Chrome, accepterer du <ph name="BEGIN_LINK1" />Googles servicevilkår<ph name="END_LINK1" /> og de <ph name="BEGIN_LINK2" />yderligere servicevilkår for Google Chrome og Chrome OS<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Erklæringen om privatliv for Google-konti, der administreres med Family Link<ph name="END_LINK3" />, gælder også.</translation>
 <translation id="2702516483241149200">Nyhed: Del et link, der ruller til denne tekst</translation>
 <translation id="2704606927547763573">Kopieret</translation>
 <translation id="2707726405694321444">Opdater siden</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> mere}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> mere}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> mere}}</translation>
 <translation id="4696983787092045100">Send sms til dine enheder</translation>
 <translation id="4699172675775169585">Billeder og filer, der er gemt i cache</translation>
+<translation id="471759387343966120">Ved at fortsætte accepterer du <ph name="BEGIN_TOS_LINK" />servicevilkårene<ph name="END_TOS_LINK" /> og <ph name="BEGIN_PRIVACY_LINK" />privatlivspolitikken<ph name="END_PRIVACY_LINK" />.\nChrome sender data om brug og nedbrud til Google for at hjælpe med at forbedre appen. <ph name="BEGIN_UMA_LINK" />Administrer<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Tilbyd at oversætte</translation>
 <translation id="4720023427747327413">Åbn i <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Vær med til at forbedre Chrome. <ph name="BEGIN_LINK" />Deltag i undersøgelsen<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Der opstod et problem med udskrivning af siden. Prøv igen.</translation>
 <translation id="6277722725779679269">Overvåg pris kunne ikke opdateres</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Når du bruger Chrome, accepterer du <ph name="BEGIN_LINK1" />Googles servicevilkår<ph name="END_LINK1" /> og de <ph name="BEGIN_LINK2" />yderligere servicevilkår for Google Chrome og Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Du kan sende faner mellem enheder, hvor du er logget ind på den samme Google-konto</translation>
 <translation id="6297765934698848803">Den organisation, der administrerer din enhed, har deaktiveret dit kamera.</translation>
 <translation id="6301525844455696527">Hold styr på din læseliste</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Denne browser administreres af <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Tilføj konto</translation>
 <translation id="766587987807204883">Her vises artikler, som du kan læse, selv når du er offline</translation>
+<translation id="768232549260819724">Giffen er kopieret</translation>
 <translation id="7682724950699840886">Prøv følgende tips: Sørg for, at der er nok ledig plads på din enhed, og prøv at eksportere igen.</translation>
 <translation id="768618399695552958">Nogle af de sider, du besøger, forudindlæses. Nogle sider forudindlæses muligvis via Google-servere, når de er linket fra et Google-website.</translation>
 <translation id="7698359219371678927">Opret mail i <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Filen kan ikke downloades sikkert</translation>
 <translation id="8571213806525832805">Seneste 4 uger</translation>
 <translation id="8572344201470131220">Billedet blev kopieret</translation>
+<translation id="8580884231102452214">Kopiér gif</translation>
 <translation id="8583805026567836021">Kontodataene ryddes</translation>
 <translation id="859046281437143747">Hold øje med prisen ved hjælp af knappen Flere valgmuligheder</translation>
 <translation id="860043288473659153">Kortholderens navn</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 13d00ff..4ad54c1d 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Audiodatei}other{# Audiodateien}}</translation>
 <translation id="265156376773362237">Standard-Vorabladen</translation>
 <translation id="2656405586795711023">Web-Apps</translation>
+<translation id="2689830683995595741">Wenn Sie Chrome verwenden, stimmen Sie damit den <ph name="BEGIN_LINK1" />Nutzungsbedingungen von Google<ph name="END_LINK1" /> und den <ph name="BEGIN_LINK2" />zusätzlichen Nutzungsbedingungen für Google Chrome und Chrome OS<ph name="END_LINK2" /> zu. Außerdem gelten die <ph name="BEGIN_LINK3" />Datenschutzhinweise für mit Family Link verwaltete Google-Konten<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Neu: Link teilen, der direkt zu diesem Text führt</translation>
 <translation id="2704606927547763573">Kopiert</translation>
 <translation id="2707726405694321444">Seite aktualisieren</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 und <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> weitere}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 und <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> weitere}}</translation>
 <translation id="4696983787092045100">SMS an meine Geräte senden</translation>
 <translation id="4699172675775169585">Bilder und Dateien im Cache</translation>
+<translation id="471759387343966120">Wenn Sie fortfahren, akzeptieren Sie damit die <ph name="BEGIN_TOS_LINK" />Nutzungsbedingungen<ph name="END_TOS_LINK" /> und die <ph name="BEGIN_PRIVACY_LINK" />Datenschutzerklärung<ph name="END_PRIVACY_LINK" />.\nChrome sendet Nutzungsstatistiken und Absturzberichte an Google, damit wir die App verbessern können. <ph name="BEGIN_UMA_LINK" />Verwalten<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Übersetzung anbieten</translation>
 <translation id="4720023427747327413">In <ph name="PRODUCT_NAME" /> öffnen</translation>
 <translation id="4720982865791209136">Helfen Sie uns, Chrome zu verbessern. <ph name="BEGIN_LINK" />An Umfrage teilnehmen<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Beim Drucken der Seite ist ein Problem aufgetreten. Bitte versuchen Sie es erneut.</translation>
 <translation id="6277722725779679269">„Preis beobachten“ konnte nicht aktualisiert werden</translation>
 <translation id="6278428485366576908">Design</translation>
+<translation id="6292420053234093573">Wenn Sie Chrome verwenden, stimmen Sie damit den <ph name="BEGIN_LINK1" />Nutzungsbedingungen von Google<ph name="END_LINK1" /> und den <ph name="BEGIN_LINK2" />zusätzlichen Nutzungsbedingungen für Google Chrome und Chrome OS<ph name="END_LINK2" /> zu.</translation>
 <translation id="6294610283659775533">Sie können Tabs zwischen Geräten senden, auf denen Sie mit demselben Google-Konto angemeldet sind.</translation>
 <translation id="6297765934698848803">Die Organisation, die Ihr Gerät verwaltet, hat Ihre Kamera deaktiviert.</translation>
 <translation id="6301525844455696527">Lesen Sie weiter</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Dieser Browser wird von <ph name="PARENT_NAME" /> verwaltet.</translation>
 <translation id="7665369617277396874">Konto hinzufügen</translation>
 <translation id="766587987807204883">Artikel erscheinen hier und können auch gelesen werden, wenn Sie offline sind</translation>
+<translation id="768232549260819724">GIF kopiert</translation>
 <translation id="7682724950699840886">Probieren Sie folgende Tipps aus: Sorgen Sie dafür, dass auf Ihrem Gerät ausreichend Speicherplatz vorhanden ist, und wiederholen Sie den Export.</translation>
 <translation id="768618399695552958">Einige der Seiten, die Sie besuchen, werden vorab geladen. Diese Seiten werden über Google-Server geladen, wenn sie von einer Google Sites-Website verlinkt sind.</translation>
 <translation id="7698359219371678927">E-Mail in <ph name="APP_NAME" /> erstellen</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Datei kann nicht sicher heruntergeladen werden</translation>
 <translation id="8571213806525832805">Letzte 4 Wochen</translation>
 <translation id="8572344201470131220">Bild kopiert</translation>
+<translation id="8580884231102452214">GIF kopieren</translation>
 <translation id="8583805026567836021">Kontodaten werden gelöscht</translation>
 <translation id="859046281437143747">Über die Schaltfläche „Weitere Optionen“ können Sie den Preis beobachten</translation>
 <translation id="860043288473659153">Name des Karteninhabers</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 854852ea..d6133a0 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Αρχείο ήχου}other{# Αρχεία ήχου}}</translation>
 <translation id="265156376773362237">Βασική προφόρτωση</translation>
 <translation id="2656405586795711023">Εφαρμογές ιστού</translation>
+<translation id="2689830683995595741">Χρησιμοποιώντας το Chrome, συμφωνείτε με τους <ph name="BEGIN_LINK1" />Όρους Παροχής Υπηρεσιών της Google<ph name="END_LINK1" /> και τους<ph name="BEGIN_LINK2" />Πρόσθετους Όρους Παροχής Υπηρεσιών του Google Chrome και του Chrome OS<ph name="END_LINK2" />. Ισχύει επίσης η <ph name="BEGIN_LINK3" />Σημείωση απορρήτου για Λογαριασμούς Google που διαχειρίζονται από το Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Νέο: Κοινοποιήστε έναν σύνδεσμο που κάνει κύλιση σε αυτό το κείμενο</translation>
 <translation id="2704606927547763573">Αντιγράφ.</translation>
 <translation id="2707726405694321444">Ανανέωση σελίδας</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 και <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ακόμη}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 και <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ακόμη}}</translation>
 <translation id="4696983787092045100">Αποστολή μηνύματος κειμένου στις συσκευές σας</translation>
 <translation id="4699172675775169585">Εικόνες και αρχεία στην κρυφή μνήμη</translation>
+<translation id="471759387343966120">Εάν συνεχίσετε, συμφωνείτε με τους <ph name="BEGIN_TOS_LINK" />Όρους Παροχής Υπηρεσιών<ph name="END_TOS_LINK" /> και την <ph name="BEGIN_PRIVACY_LINK" />Πολιτική\u00A0απορρήτου<ph name="END_PRIVACY_LINK" />.\nΓια να συμβάλλει στη βελτίωση της εφαρμογής, το Chrome στέλνει δεδομένα χρήσης και σφαλμάτων στην Google. <ph name="BEGIN_UMA_LINK" />Διαχείριση<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Πρόταση για μετάφραση</translation>
 <translation id="4720023427747327413">Άνοιγμα σε <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Συμβάλλετε στη βελτίωση του Chrome. <ph name="BEGIN_LINK" />Λάβετε μέρος στην έρευνα<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Παρουσιάστηκε ένα πρόβλημα κατά την εκτύπωση της σελίδας. Δοκιμάστε ξανά.</translation>
 <translation id="6277722725779679269">Δεν ήταν δυνατή η ενημέρωση της Παρακολούθησης τιμής</translation>
 <translation id="6278428485366576908">Θέμα</translation>
+<translation id="6292420053234093573">Χρησιμοποιώντας το Chrome, συμφωνείτε με τους <ph name="BEGIN_LINK1" />Όρους Παροχής Υπηρεσιών της Google<ph name="END_LINK1" /> και τους<ph name="BEGIN_LINK2" />Πρόσθετους Όρους Παροχής Υπηρεσιών του Google Chrome και του Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Μπορείτε να στέλνετε καρτέλες μεταξύ συσκευών οι οποίες έχουν συνδεθεί με τον ίδιο Λογαριασμό Google.</translation>
 <translation id="6297765934698848803">Ο οργανισμός που διαχειρίζεται τη συσκευή σας απενεργοποίησε την κάμερά σας.</translation>
 <translation id="6301525844455696527">Μη αναγνωσμένο περιεχόμενο στη λίστα ανάγνωσης</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 0e2f482..66d135a8 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Audio file}other{# Audio files}}</translation>
 <translation id="265156376773362237">Standard preloading</translation>
 <translation id="2656405586795711023">Web apps</translation>
+<translation id="2689830683995595741">By using Chrome, you agree to the <ph name="BEGIN_LINK1" />Google Terms of Service<ph name="END_LINK1" />, and the <ph name="BEGIN_LINK2" />Google Chrome and Chrome OS Additional Terms of Service<ph name="END_LINK2" />. The <ph name="BEGIN_LINK3" />Privacy Notice for Google Accounts managed with Family Link<ph name="END_LINK3" /> also applies.</translation>
 <translation id="2702516483241149200">New: Share a link that scrolls to this text</translation>
 <translation id="2704606927547763573">Copied</translation>
 <translation id="2707726405694321444">Refresh page</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 and <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> more}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 and <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> more}}</translation>
 <translation id="4696983787092045100">Send text to Your Devices</translation>
 <translation id="4699172675775169585">Cached images and files</translation>
+<translation id="471759387343966120">By continuing, you agree to the <ph name="BEGIN_TOS_LINK" />Terms of Service<ph name="END_TOS_LINK" /> and <ph name="BEGIN_PRIVACY_LINK" />Privacy\u00A0Policy<ph name="END_PRIVACY_LINK" />.\nTo help improve the app, Chrome sends usage and crash data to Google. <ph name="BEGIN_UMA_LINK" />Manage<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Offer to translate</translation>
 <translation id="4720023427747327413">Open in <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Help improve Chrome. <ph name="BEGIN_LINK" />Take survey<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">There was a problem printing the page. Please try again.</translation>
 <translation id="6277722725779679269">Couldn’t update track price</translation>
 <translation id="6278428485366576908">Theme</translation>
+<translation id="6292420053234093573">By using Chrome, you agree to the <ph name="BEGIN_LINK1" />Google Terms of Service<ph name="END_LINK1" />, and the <ph name="BEGIN_LINK2" />Google Chrome and Chrome OS Additional Terms of Service<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">You can send tabs between devices that are signed in with the same Google Account</translation>
 <translation id="6297765934698848803">The organisation that manages your device has turned off your camera.</translation>
 <translation id="6301525844455696527">Catch up on your reading list</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 45e7813..308d7685 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# archivo de audio}other{# archivos de audio}}</translation>
 <translation id="265156376773362237">Precarga estándar</translation>
 <translation id="2656405586795711023">Aplicaciones web</translation>
+<translation id="2689830683995595741">Si usas Chrome, aceptas las <ph name="BEGIN_LINK1" />Condiciones del Servicio de Google<ph name="END_LINK1" /> y las <ph name="BEGIN_LINK2" />Condiciones del Servicio Adicionales de Google Chrome y el Sistema operativo Chrome<ph name="END_LINK2" />. También se aplica el <ph name="BEGIN_LINK3" />Aviso de Privacidad para las Cuentas de Google administradas con Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Nuevo: Comparte un vínculo directo a este texto.</translation>
 <translation id="2704606927547763573">Copiado</translation>
 <translation id="2707726405694321444">Actualizar página</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> y <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> más}other{<ph name="SHIPPING_OPTION_PREVIEW" /> y <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> más}}</translation>
 <translation id="4696983787092045100">Enviar texto a tus dispositivos</translation>
 <translation id="4699172675775169585">Imágenes y archivos almacenados en caché</translation>
+<translation id="471759387343966120">Si continúas, aceptas las <ph name="BEGIN_TOS_LINK" />Condiciones del Servicio<ph name="END_TOS_LINK" /> y la <ph name="BEGIN_PRIVACY_LINK" />Política de\u00A0Privacidad<ph name="END_PRIVACY_LINK" />.\nPara ayudarnos a mejorar la app, Chrome envía datos de uso y fallas a Google. <ph name="BEGIN_UMA_LINK" />Administrar<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ofrecer la traducción</translation>
 <translation id="4720023427747327413">Abrir en <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Ayuda a mejorar Chrome. <ph name="BEGIN_LINK" />Realiza la encuesta<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Se produjo un error al imprimir la página. Vuelve a intentarlo.</translation>
 <translation id="6277722725779679269">No se pudo actualizar la función Seguir precio</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Si usas Chrome, aceptas las <ph name="BEGIN_LINK1" />Condiciones del Servicio de Google<ph name="END_LINK1" /> y las <ph name="BEGIN_LINK2" />Condiciones del Servicio Adicionales de Google Chrome y el Sistema operativo Chrome<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Puedes enviar pestañas entre dispositivos en los que se haya accedido a la misma Cuenta de Google.</translation>
 <translation id="6297765934698848803">La organización que administra tu dispositivo desactivó la cámara.</translation>
 <translation id="6301525844455696527">Ponte al día con tus lecturas</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 c9ff9ab..f2a0f8a0 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# archivo de audio}other{# archivos de audio}}</translation>
 <translation id="265156376773362237">Precarga estándar</translation>
 <translation id="2656405586795711023">Aplicaciones web</translation>
+<translation id="2689830683995595741">Al utilizar Chrome, aceptas los <ph name="BEGIN_LINK1" />Términos del Servicio de Google<ph name="END_LINK1" /> y los <ph name="BEGIN_LINK2" />Términos del Servicio Adicionales de Google Chrome y Chrome OS<ph name="END_LINK2" />. El uso de Chrome también está sujeto al <ph name="BEGIN_LINK3" />Aviso de Privacidad para Cuentas de Google Gestionadas con Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Nuevo: Comparte un enlace que vaya directamente a este texto</translation>
 <translation id="2704606927547763573">Copiado</translation>
 <translation id="2707726405694321444">Actualizar página</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 y <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> más}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 y <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> más}}</translation>
 <translation id="4696983787092045100">Enviar mensaje de texto a tus dispositivos</translation>
 <translation id="4699172675775169585">Archivos e imágenes almacenados en caché</translation>
+<translation id="471759387343966120">Si continúas, aceptas los <ph name="BEGIN_TOS_LINK" />Términos del Servicio<ph name="END_TOS_LINK" /> y la <ph name="BEGIN_PRIVACY_LINK" />Política\u00A0de Privacidad<ph name="END_PRIVACY_LINK" />.\nPara ayudar a mejorar la aplicación, Chrome envía datos de uso y de fallos a Google. <ph name="BEGIN_UMA_LINK" />Gestionar<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ofrecer la traducción</translation>
 <translation id="4720023427747327413">Abrir en <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136"><ph name="BEGIN_LINK" />Realiza la encuesta<ph name="END_LINK" /> para ayudar a mejorar Chrome</translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Se ha producido un problema al imprimir la página. Vuelve a intentarlo.</translation>
 <translation id="6277722725779679269">No se ha podido actualizar Seguir precio</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Al utilizar Chrome, aceptas los <ph name="BEGIN_LINK1" />Términos del Servicio de Google<ph name="END_LINK1" /> y los <ph name="BEGIN_LINK2" />Términos del Servicio Adicionales de Google Chrome y Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Puedes enviar pestañas entre dispositivos en los que se haya iniciado sesión con la misma cuenta de Google</translation>
 <translation id="6297765934698848803">La organización que administra tu dispositivo ha desactivado la cámara.</translation>
 <translation id="6301525844455696527">Ponte al día con tu lista de lectura</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 648fa92..8d10554 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# helifail}other{# helifaili}}</translation>
 <translation id="265156376773362237">Standardne eellaadimine</translation>
 <translation id="2656405586795711023">Veebirakendused</translation>
+<translation id="2689830683995595741">Chrome'i kasutades nõustute <ph name="BEGIN_LINK1" />Google'i teenusetingimustega<ph name="END_LINK1" /> ning <ph name="BEGIN_LINK2" />Google Chrome'i ja Chrome OS-i lisateenusetingimustega<ph name="END_LINK2" />. Kehtib ka <ph name="BEGIN_LINK3" />Family Linkiga hallatavate Google’i kontode privaatsusteatis<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Uus: jagage linki, millega keritakse selle teksti juurde</translation>
 <translation id="2704606927547763573">Kopeeritud</translation>
 <translation id="2707726405694321444">Lehe värskendamine</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ja veel <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ja veel <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Saada tekst seadmetesse</translation>
 <translation id="4699172675775169585">Vahemällu salvestatud kujutised ja failid</translation>
+<translation id="471759387343966120">Jätkamisel nõustute <ph name="BEGIN_TOS_LINK" />teenusetingimuste<ph name="END_TOS_LINK" /> ja <ph name="BEGIN_PRIVACY_LINK" />privaatsuseeskirjadega<ph name="END_PRIVACY_LINK" />.\nRakenduse täiustamiseks saadab Chrome Google'ile kasutus- ja krahhiandmeid. <ph name="BEGIN_UMA_LINK" />Haldamine<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Paku tõlkimist</translation>
 <translation id="4720023427747327413">Ava teenuses <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Aidake Chrome'i täiustada. <ph name="BEGIN_LINK" />Vastake küsitlusele<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Lehe printimisel ilmnes probleem. Proovige uuesti.</translation>
 <translation id="6277722725779679269">Funktsiooni Hindade jälgimine ei õnnestunud värskendada</translation>
 <translation id="6278428485366576908">Teema</translation>
+<translation id="6292420053234093573">Chrome'i kasutades nõustute <ph name="BEGIN_LINK1" />Google'i teenusetingimustega<ph name="END_LINK1" /> ning <ph name="BEGIN_LINK2" />Google Chrome'i ja Chrome OS-i lisateenusetingimustega<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Saate vahelehti saata seadmete vahel, mis on sisse logitud sama Google'i kontoga</translation>
 <translation id="6297765934698848803">Teie seadet haldav organisatsioon on kaamera välja lülitanud.</translation>
 <translation id="6301525844455696527">Võtke oma lugemisloend käsile</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 f94d9f7..757c0775 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# audio-fitxategi}other{# audio-fitxategi}}</translation>
 <translation id="265156376773362237">Aurrez kargatzeko modu arrunta</translation>
 <translation id="2656405586795711023">Sareko aplikazioak</translation>
+<translation id="2689830683995595741">Chrome erabiltzen baduzu, onartu egingo dituzu <ph name="BEGIN_LINK1" />Google-ren Zerbitzu-baldintzak<ph name="END_LINK1" /> eta <ph name="BEGIN_LINK2" />Google Chrome-ren eta Chrome OS-n Zerbitzu-baldintza gehigarriak<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Family Link aplikazioaren bidez kudeatutako Google-ko kontuen Pribatutasun-oharra<ph name="END_LINK3" /> aplikatzen da ere.</translation>
 <translation id="2702516483241149200">Berria: partekatu testu honetan gora eta behera egiteko esteka bat</translation>
 <translation id="2704606927547763573">Kopiatuta</translation>
 <translation id="2707726405694321444">Freskatu orria</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> eta beste <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" /> eta beste <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Bidali testua zure gailuetara</translation>
 <translation id="4699172675775169585">Cachean gordetako irudiak eta fitxategiak</translation>
+<translation id="471759387343966120">Aurrera egiten baduzu, onartu egingo dituzu <ph name="BEGIN_TOS_LINK" />Zerbitzu-baldintzak<ph name="END_TOS_LINK" /> eta <ph name="BEGIN_PRIVACY_LINK" />Pribatutasun-gidalerroak<ph name="END_PRIVACY_LINK" />.\nAplikazioa hobetzeko, erabilerarekin eta hutsegiteekin erlazionatutako datuak bidaltzen dizkio Chrome-k Google-ri. <ph name="BEGIN_UMA_LINK" />Kudeatu<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Eskaini itzultzea</translation>
 <translation id="4720023427747327413">Ireki <ph name="PRODUCT_NAME" />-n</translation>
 <translation id="4720982865791209136">Lagundu Chrome hobetzen. <ph name="BEGIN_LINK" />Hartu parte inkestan<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Arazo bat izan da orria inprimatzean. Saiatu berriro.</translation>
 <translation id="6277722725779679269">Ezin izan da eguneratu prezioen jarraipena</translation>
 <translation id="6278428485366576908">Gaia</translation>
+<translation id="6292420053234093573">Chrome erabiltzen baduzu, onartu egingo dituzu <ph name="BEGIN_LINK1" />Google-ren Zerbitzu-baldintzak<ph name="END_LINK1" /> eta <ph name="BEGIN_LINK2" />Google Chrome-ren eta Chrome OS-n Zerbitzu-baldintza gehigarriak<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Google-ko kontu berean saioa hasita daukaten gailuen artean fitxak bidal ditzakezu</translation>
 <translation id="6297765934698848803">Gailua kudeatzen duen erakundeak kamera desaktibatu du.</translation>
 <translation id="6301525844455696527">Ekin zain daukazun irakurketa-zerrendari</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 6772878..537e022 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# فایل صوتی}one{# فایل صوتی}other{# فایل صوتی}}</translation>
 <translation id="265156376773362237">پیش‌بارگیری استاندارد</translation>
 <translation id="2656405586795711023">برنامه‌های وب</translation>
+<translation id="2689830683995595741">‏با استفاده کردن از Chrome، با <ph name="BEGIN_LINK1" />شرایط خدمات Google<ph name="END_LINK1" /> و <ph name="BEGIN_LINK2" />شرایط خدمات تکمیلی Google Chrome و سیستم‌عامل Chrome<ph name="END_LINK2" /> موافقت می‌کنید. <ph name="BEGIN_LINK3" />اعلان حریم‌خصوصی برای «حساب‌های Google» مدیریت‌شده با Family Link<ph name="END_LINK3" /> نیز اعمال می‌شود.</translation>
 <translation id="2702516483241149200">جدید: هم‌رسانی پیوندی که به این نوشتار پیمایش می‌کند</translation>
 <translation id="2704606927547763573">کپی شد</translation>
 <translation id="2707726405694321444">بازخوانی صفحه</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 و <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> گزینه دیگر}one{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 و <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> گزینه دیگر}other{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 و <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> گزینه دیگر}}</translation>
 <translation id="4696983787092045100">ارسال نوشتار به دستگاه‌های شما</translation>
 <translation id="4699172675775169585">تصاویر و فایل‌های قرار گرفته در حافظه پنهان</translation>
+<translation id="471759387343966120">‏درصورت ادامه دادن، با <ph name="BEGIN_TOS_LINK" />شرایط خدمات<ph name="END_TOS_LINK" /> و <ph name="BEGIN_PRIVACY_LINK" />خط‌مشی رازداری<ph name="END_PRIVACY_LINK" /> موافقت می‌کنید.\nبرای کمک به بهبود برنامه، Chrome داده‌های استفاده و ازکارافتادگی را به Google ارسال می‌کند. <ph name="BEGIN_UMA_LINK" />مدیریت<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">پیشنهاد برای ترجمه</translation>
 <translation id="4720023427747327413">بازکردن در <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">‏به بهبود Chrome کمک کنید. <ph name="BEGIN_LINK" />در نظرسنجی شرکت کنید<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">در چاپ صفحه مشکلی پیش آمد. لطفاً دوباره امتحان کنید.</translation>
 <translation id="6277722725779679269">«پیگیری قیمت» به‌روزرسانی نشد</translation>
 <translation id="6278428485366576908">طرح زمینه</translation>
+<translation id="6292420053234093573">‏با استفاده کردن از Chrome، با <ph name="BEGIN_LINK1" />شرایط خدمات Google<ph name="END_LINK1" /> و <ph name="BEGIN_LINK2" />شرایط خدمات تکمیلی Google Chrome و سیستم‌عامل Chrome<ph name="END_LINK2" /> موافقت می‌کنید.</translation>
 <translation id="6294610283659775533">‏برگه‌ها را می‌توانید بین دستگاه‌هایی که با یک «حساب Google» به سیستم وارد شدند ارسال کنید.</translation>
 <translation id="6297765934698848803">سازمانی که دستگاهتان را مدیریت می‌کند دوربین را خاموش کرده است.</translation>
 <translation id="6301525844455696527">به فهرست خواندن سر بزنید</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">این مرورگر را <ph name="PARENT_NAME" /> مدیریت می‌کند.</translation>
 <translation id="7665369617277396874">افزودن حساب</translation>
 <translation id="766587987807204883">مقاله‌ها اینجا نشان داده می‌شوند و حتی درحالت آفلاین هم می‌توانید آن‌ها را بخوانید.</translation>
+<translation id="768232549260819724">‏GIF کپی شد</translation>
 <translation id="7682724950699840886">نکات زیر را امتحان کنید: مطمئن شوید که در دستگاهتان فضای کافی وجود داشته باشد، سعی کنید دوباره صادر کنید.</translation>
 <translation id="768618399695552958">‏برخی‌از صفحاتی که بازدید می‌کنید پیش‌بارگیری شده‌اند وقتی صفحات از سایت Google پیوند داده شده باشند، ممکن است ازطریق سرورهای Google پیش‌بارگیری شوند.</translation>
 <translation id="7698359219371678927">ایجاد ایمیل در <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">نمی‌توان این فایل را به‌طور ایمن بارگیری کرد</translation>
 <translation id="8571213806525832805">۴ هفته گذشته</translation>
 <translation id="8572344201470131220">تصویر کپی شد</translation>
+<translation id="8580884231102452214">‏کپی کردن GIF</translation>
 <translation id="8583805026567836021">پاک‌سازی داده‌های حساب</translation>
 <translation id="859046281437143747">قیمت را ازطریق دکمه «گزینه‌های بیشتر» پیگیری کنید</translation>
 <translation id="860043288473659153">نام صاحب کارت</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 9d097c7..c6601505 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# äänitiedosto}other{# äänitiedostoa}}</translation>
 <translation id="265156376773362237">Vakioesilataus</translation>
 <translation id="2656405586795711023">Verkkosovellukset</translation>
+<translation id="2689830683995595741">Käyttämällä Chromea hyväksyt <ph name="BEGIN_LINK1" />Googlen käyttöehdot<ph name="END_LINK1" /> ja <ph name="BEGIN_LINK2" />Chromen ja Chrome-käyttöjärjestelmän lisäkäyttöehdot<ph name="END_LINK2" />. Myös <ph name="BEGIN_LINK3" />Family Linkillä ylläpidettyjen Google-tilien tietosuojailmoitusta<ph name="END_LINK3" /> sovelletaan.</translation>
 <translation id="2702516483241149200">Uutta: jaa linkki, joka vie tähän tekstiin</translation>
 <translation id="2704606927547763573">Kopioitu</translation>
 <translation id="2707726405694321444">Päivitä sivu</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ja <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> muu}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ja <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> muuta}}</translation>
 <translation id="4696983787092045100">Lähetä teksti laitteillesi</translation>
 <translation id="4699172675775169585">Välimuistissa olevat kuvat ja tiedostot</translation>
+<translation id="471759387343966120">Jatkamalla hyväksyt <ph name="BEGIN_TOS_LINK" />käyttöehdot<ph name="END_TOS_LINK" /> ja <ph name="BEGIN_PRIVACY_LINK" />tietosuojakäytännön<ph name="END_PRIVACY_LINK" />.\nChrome lähettää käyttö- ja kaatumisdataa Googlelle sovelluksen kehittämiseksi. <ph name="BEGIN_UMA_LINK" />Muuta asetuksia<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Tarjoudu kääntämään</translation>
 <translation id="4720023427747327413">Avaa kohteessa <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Auta parantamaan Chromea. <ph name="BEGIN_LINK" />Vastaa kyselyyn.<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Sivua tulostettaessa tapahtui virhe. Yritä uudelleen.</translation>
 <translation id="6277722725779679269">Hinnan seurantaa ei voitu päivittää</translation>
 <translation id="6278428485366576908">Teema</translation>
+<translation id="6292420053234093573">Käyttämällä Chromea hyväksyt <ph name="BEGIN_LINK1" />Googlen käyttöehdot<ph name="END_LINK1" /> ja <ph name="BEGIN_LINK2" />Chromen ja Chrome-käyttöjärjestelmän lisäkäyttöehdot<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Voit lähettää välilehtiä laitteiden välillä, jos olet kirjautuneena niillä samalle Google-tilille</translation>
 <translation id="6297765934698848803">Laitettasi ylläpitävä organisaatio on poistanut kamerasi käytöstä.</translation>
 <translation id="6301525844455696527">Katso, mitä lukulistaltasi löytyy</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 e243b29a..8912334 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Audio file}one{# Audio file}other{# na Audio file}}</translation>
 <translation id="265156376773362237">Karaniwang pag-preload</translation>
 <translation id="2656405586795711023">Mga web app</translation>
+<translation id="2689830683995595741">Sa pamamagitan ng paggamit sa Chrome, sumasang-ayon ka sa <ph name="BEGIN_LINK1" />Mga Tuntunin ng Serbisyo ng Google<ph name="END_LINK1" />, at sa <ph name="BEGIN_LINK2" />Mga Karagdagang Tuntunin ng Serbisyo ng Google Chrome at Chrome OS<ph name="END_LINK2" />. Nalalapat din ang <ph name="BEGIN_LINK3" />Notification ng Privacy para sa Mga Google Account na Pinapamahalaan Gamit ang Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Bago: magbahagi ng link na nagso-scroll papunta sa text na ito</translation>
 <translation id="2704606927547763573">Kinopya</translation>
 <translation id="2707726405694321444">I-refresh ang page</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 at <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> iba pa}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 at <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> iba pa}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 at <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> na iba pa}}</translation>
 <translation id="4696983787092045100">Ipadala ang text sa Iyong Mga Device</translation>
 <translation id="4699172675775169585">Mga naka-cache na larawan at file</translation>
+<translation id="471759387343966120">Sa pamamagitan ng pagpapatuloy, sumasang-ayon ka sa <ph name="BEGIN_TOS_LINK" />Mga Tuntunin ng Serbisyo<ph name="END_TOS_LINK" /> at <ph name="BEGIN_PRIVACY_LINK" />Patakaran sa\u00A0Privacy<ph name="END_PRIVACY_LINK" />.\nPara makatulong na mapaganda ang app, nagpapadala ang Chrome ng data ng paggamit at pag-crash sa Google. <ph name="BEGIN_UMA_LINK" />Pamahalaan<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Mag-alok na magsalin</translation>
 <translation id="4720023427747327413">Buksan sa <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Tumulong na pahusayin ang Chrome. <ph name="BEGIN_LINK" />Sagutan ang survey<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Nagkaproblema sa pag-print sa pahina. Pakisubukang muli.</translation>
 <translation id="6277722725779679269">Hindi ma-update ang Subaybayan ang presyo</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Sa pamamagitan ng paggamit sa Chrome, sumasang-ayon ka sa <ph name="BEGIN_LINK1" />Mga Tuntunin ng Serbisyo ng Google<ph name="END_LINK1" />, at sa <ph name="BEGIN_LINK2" />Mga Karagdagang Tuntunin ng Serbisyo ng Google Chrome at Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Puwede kang magpadala ng mga tab sa pagitan ng mga device na naka-sign in gamit ang iisang Google Account</translation>
 <translation id="6297765934698848803">Na-off ang iyong camera ng organisasyong namamahala sa device mo.</translation>
 <translation id="6301525844455696527">Balikan ang iyong listahan ng babasahin</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 585984d4..b51ba44 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# fichier audio}one{# fichier audio}other{# fichiers audio}}</translation>
 <translation id="265156376773362237">Préchargement standard</translation>
 <translation id="2656405586795711023">Applications Web</translation>
+<translation id="2689830683995595741">En utilisant Chrome, vous acceptez les <ph name="BEGIN_LINK1" />conditions d'utilisation de Google<ph name="END_LINK1" /> et les <ph name="BEGIN_LINK2" />conditions d'utilisation supplémentaires pour Google Chrome et Chrome OS<ph name="END_LINK2" />. L'<ph name="BEGIN_LINK3" />avis de confidentialité pour les comptes Google gérés par Family Link<ph name="END_LINK3" /> s'applique aussi.</translation>
 <translation id="2702516483241149200">Nouveauté : communiquez un lien qui fait défiler l'écran jusqu'à ce texte</translation>
 <translation id="2704606927547763573">Copié</translation>
 <translation id="2707726405694321444">Actualiser la page</translation>
@@ -624,6 +625,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> autre option de livraison}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> autre option de livraison}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> autres options de livraison}}</translation>
 <translation id="4696983787092045100">Envoyer le message texte à vos appareils</translation>
 <translation id="4699172675775169585">Images et fichiers dans la mémoire cache</translation>
+<translation id="471759387343966120">En continuant, vous acceptez les <ph name="BEGIN_TOS_LINK" />conditions d'utilisation<ph name="END_TOS_LINK" /> et la <ph name="BEGIN_PRIVACY_LINK" />politique de confidentialité<ph name="END_PRIVACY_LINK" />.\nPour contribuer à l'amélioration de l'application, Chrome envoie des données relatives à l'utilisation et au plantage à Google. <ph name="BEGIN_UMA_LINK" />Gérer<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Proposer une traduction</translation>
 <translation id="4720023427747327413">Ouvrir dans <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Aidez-nous à améliorer Chrome. <ph name="BEGIN_LINK" />Répondez à notre sondage<ph name="END_LINK" /></translation>
@@ -906,6 +908,7 @@
 <translation id="6277522088822131679">Un problème est survenu lors de l'impression de la page. Veuillez réessayer.</translation>
 <translation id="6277722725779679269">Impossible de mettre à jour le prix suivi</translation>
 <translation id="6278428485366576908">Thème</translation>
+<translation id="6292420053234093573">En utilisant Chrome, vous acceptez les <ph name="BEGIN_LINK1" />conditions d'utilisation de Google<ph name="END_LINK1" /> et les <ph name="BEGIN_LINK2" />conditions d'utilisation supplémentaires pour Google Chrome et Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Vous pouvez envoyer des onglets entre des appareils qui sont connectés au même compte Google</translation>
 <translation id="6297765934698848803">L'organisation qui gère votre appareil a désactivé votre appareil photo.</translation>
 <translation id="6301525844455696527">Lisez des livres de votre liste</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 77fbc67..851e581 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# fichier audio}one{# fichier audio}other{# fichiers audio}}</translation>
 <translation id="265156376773362237">Préchargement standard</translation>
 <translation id="2656405586795711023">Applications Web</translation>
+<translation id="2689830683995595741">En utilisant Chrome, vous acceptez les <ph name="BEGIN_LINK1" />Conditions d'utilisation de Google<ph name="END_LINK1" /> et les <ph name="BEGIN_LINK2" />Conditions d'utilisation supplémentaires de Google Chrome et Chrome OS<ph name="END_LINK2" />. L'<ph name="BEGIN_LINK3" />Avis de confidentialité relatif aux comptes Google gérés avec Family Link<ph name="END_LINK3" /> s'applique également.</translation>
 <translation id="2702516483241149200">Nouveau : partagez un lien vers ce texte</translation>
 <translation id="2704606927547763573">Copié</translation>
 <translation id="2707726405694321444">Actualiser la page</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> de plus}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> de plus}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> de plus}}</translation>
 <translation id="4696983787092045100">Envoyer le SMS à vos appareils</translation>
 <translation id="4699172675775169585">Images et fichiers en cache</translation>
+<translation id="471759387343966120">En continuant, vous acceptez les <ph name="BEGIN_TOS_LINK" />Conditions d'utilisation<ph name="END_TOS_LINK" /> et les <ph name="BEGIN_PRIVACY_LINK" />Règles de confidentialité<ph name="END_PRIVACY_LINK" />.\nPour améliorer l'appli, Chrome envoie les données d'utilisation et de plantage à Google. <ph name="BEGIN_UMA_LINK" />Gérer<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Proposer de traduire</translation>
 <translation id="4720023427747327413">Ouvrir dans <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Aidez-nous à améliorer Chrome. <ph name="BEGIN_LINK" />Répondez à notre enquête<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Un problème est survenu lors de l'impression de la page. Veuillez réessayer.</translation>
 <translation id="6277722725779679269">Impossible de mettre à jour le suivi du prix</translation>
 <translation id="6278428485366576908">Thème</translation>
+<translation id="6292420053234093573">En utilisant Chrome, vous acceptez les <ph name="BEGIN_LINK1" />Conditions d'utilisation de Google<ph name="END_LINK1" /> et les <ph name="BEGIN_LINK2" />Conditions d'utilisation supplémentaires de Google Chrome et Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Vous pouvez envoyer des onglets entre appareils connectés au même compte Google</translation>
 <translation id="6297765934698848803">L'organisation qui gère votre appareil a désactivé la caméra.</translation>
 <translation id="6301525844455696527">Rattrapez votre retard sur votre liste de lecture</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 92e672c..91ea580e 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ficheiro de audio}other{# ficheiros de audio}}</translation>
 <translation id="265156376773362237">Precarga estándar</translation>
 <translation id="2656405586795711023">Aplicacións web</translation>
+<translation id="2689830683995595741">Ao utilizar Chrome, aceptas as <ph name="BEGIN_LINK1" />Condicións de servizo de Google<ph name="END_LINK1" /> e as <ph name="BEGIN_LINK2" />Condicións de servizo adicionais de Google Chrome e Chrome OS<ph name="END_LINK2" />. Tamén se aplica o <ph name="BEGIN_LINK3" />Aviso de privacidade das Contas de Google xestionadas a través de Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Novidade: Comparte unha ligazón que leve directamente a este texto</translation>
 <translation id="2704606927547763573">Copiada</translation>
 <translation id="2707726405694321444">Actualiza páxina</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> máis}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> máis}}</translation>
 <translation id="4696983787092045100">Enviar texto a Os teus dispositivos</translation>
 <translation id="4699172675775169585">Imaxes e ficheiros almacenados na memoria caché</translation>
+<translation id="471759387343966120">Ao continuar, aceptas as <ph name="BEGIN_TOS_LINK" />Condicións de servizo<ph name="END_TOS_LINK" /> e a <ph name="BEGIN_PRIVACY_LINK" />Política de\u00A0privacidade<ph name="END_PRIVACY_LINK" />.\nPara contribuír a mellorar a aplicación, Chrome envíalle a Google datos de uso e de fallos. <ph name="BEGIN_UMA_LINK" />Xestionar<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ofrecer a tradución</translation>
 <translation id="4720023427747327413">Abrir en <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Axuda a mellorar Chrome. <ph name="BEGIN_LINK" />Responder enquisa<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Produciuse un problema ao imprimir a páxina. Téntao de novo.</translation>
 <translation id="6277722725779679269">Non se puido actualizar Facer seguimento do prezo</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Ao utilizar Chrome, aceptas as <ph name="BEGIN_LINK1" />Condicións de servizo de Google<ph name="END_LINK1" /> e as <ph name="BEGIN_LINK2" />Condicións de servizo adicionais de Google Chrome e Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Podes enviar pestanas entre dispositivos nos que teñas a sesión iniciada coa mesma Conta de Google</translation>
 <translation id="6297765934698848803">A organización que xestiona o teu dispositivo desactivou a cámara.</translation>
 <translation id="6301525844455696527">Ponte ao día coa túa lista de lectura</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 d36ed4a..b5d61db8f 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ઑડિયો ફાઇલ}one{# ઑડિયો ફાઇલ}other{# ઑડિયો ફાઇલ}}</translation>
 <translation id="265156376773362237">પહેલેથી લોડ કરવાનો માનક મોડ</translation>
 <translation id="2656405586795711023">વેબ ઍપ</translation>
+<translation id="2689830683995595741">Chromeનો ઉપયોગ કરીને, તમે <ph name="BEGIN_LINK1" />Googleની સેવાની શરતો<ph name="END_LINK1" /> અને <ph name="BEGIN_LINK2" />Google Chrome તથા Chrome OSની વધારાની સેવાની શરતો<ph name="END_LINK2" /> સાથે સંમત થાઓ છો. <ph name="BEGIN_LINK3" />Family Link વડે મેનેજ કરવામાં આવતા Google એકાઉન્ટ માટેની પ્રાઇવસી નોટિસ<ph name="END_LINK3" /> પણ લાગુ.</translation>
 <translation id="2702516483241149200">નવું: આ ટેક્સ્ટ પર સ્ક્રોલ કરતી હોય એવી કોઈ લિંક શેર કરો</translation>
 <translation id="2704606927547763573">કૉપિ કર્યું</translation>
 <translation id="2707726405694321444">પેજ રિફ્રેશ કરો</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 અને વધુ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 અને વધુ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 અને વધુ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">તમારા ડિવાઇસ પર ટેક્સ્ટ મોકલો</translation>
 <translation id="4699172675775169585">કૅશ કરેલી છબીઓ અને ફાઇલો</translation>
+<translation id="471759387343966120">આગળ વધીને, તમે <ph name="BEGIN_TOS_LINK" />સેવાની શરતો<ph name="END_TOS_LINK" /> અને <ph name="BEGIN_PRIVACY_LINK" />પ્રાઇવસી\u00A0પૉલિસી<ph name="END_PRIVACY_LINK" /> સાથે સંમત થાઓ છો.\nઍપને બહેતર બનાવવામાં સહાય કરવા માટે, Chrome વપરાશ અને ક્રૅશ થવા સંબંધિત ડેટા Googleને મોકલે છે. <ph name="BEGIN_UMA_LINK" />મેનેજ કરો<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">અનુવાદ કરવાનું ઑફર કરો</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> માં ખોલો</translation>
 <translation id="4720982865791209136">Chromeને બહેતર બનાવવામાં સહાય કરો. <ph name="BEGIN_LINK" />સર્વેક્ષણમાં ભાગ લો<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">પેજને પ્રિન્ટ કરવામાં સમસ્યા હતી. કૃપા કરીને ફરીથી પ્રયાસ કરો.</translation>
 <translation id="6277722725779679269">કિંમત ટ્રૅક કરી શક્યા નથી</translation>
 <translation id="6278428485366576908">થીમ</translation>
+<translation id="6292420053234093573">Chromeનો ઉપયોગ કરીને, તમે <ph name="BEGIN_LINK1" />Googleની સેવાની શરતો<ph name="END_LINK1" /> અને <ph name="BEGIN_LINK2" />Google Chrome તથા Chrome OSની વધારાની સેવાની શરતો<ph name="END_LINK2" /> સાથે સંમત થાઓ છો.</translation>
 <translation id="6294610283659775533">તમે સમાન Google એકાઉન્ટ વડે સાઇન ઇન કરેલા ડિવાઇસ વચ્ચે ટૅબ મોકલી શકો છો</translation>
 <translation id="6297765934698848803">જે સંસ્થા તમારા ડિવાઇસને મેનેજ કરે છે તેણે તમારો કૅમેરા બંધ કર્યો છે.</translation>
 <translation id="6301525844455696527">વાંચવાની સૂચિમાં બાકી હોય તે વાંચી લો</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">આ બ્રાઉઝર <ph name="PARENT_NAME" /> દ્વારા મેનેજ કરવામાં આવે છે.</translation>
 <translation id="7665369617277396874">એકાઉન્ટ ઉમેરો</translation>
 <translation id="766587987807204883">લેખો અહીં દેખાય છે, જે તમે ઑફલાઇન હો ત્યારે પણ વાંચી શકો છો</translation>
+<translation id="768232549260819724">GIFની કૉપિ કરી</translation>
 <translation id="7682724950699840886">નીચેની ટિપ અજમાવી જુઓ: ખાતરી કરો કે તમારા ઉપકરણ પર પૂરતી સ્પેસ છે, ફરીથી નિકાસ કરવાનો પ્રયાસ કરો.</translation>
 <translation id="768618399695552958">તમે મુલાકાત લો છો તે કેટલાક પેજ પહેલેથી લોડ કરેલા છે. જ્યારે પેજ Google site પરથી લિંક કરવામાં આવેલા હોય, ત્યારે તેમને Googleના સર્વર મારફતે પહેલેથી લોડ કરી શકાય છે.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> માં ઇમેઇલ બનાવો</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">ફાઇલ સુરક્ષિત રીતે ડાઉનલોડ કરી શકાતી નથી</translation>
 <translation id="8571213806525832805">છેલ્લા 4 અઠવાડિયા</translation>
 <translation id="8572344201470131220">છબી કૉપિ કરી</translation>
+<translation id="8580884231102452214">GIFની કૉપિ કરો</translation>
 <translation id="8583805026567836021">એકાઉન્ટ ડેટા સાફ કરી રહ્યું છે</translation>
 <translation id="859046281437143747">વધુ વિકલ્પોના બટન પરથી કિંમત ટ્રૅક કરો</translation>
 <translation id="860043288473659153">કાર્ડધારકનું નામ</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 951681cc..9c451f3 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ऑडियो फ़ाइल}one{# ऑडियो फ़ाइलें}other{# ऑडियो फ़ाइलें}}</translation>
 <translation id="265156376773362237">पहले से लोड करने की स्टैंडर्ड सुविधा</translation>
 <translation id="2656405586795711023">वेब ऐप्लिकेशन</translation>
+<translation id="2689830683995595741">Chrome इस्तेमाल करने का मतलब है कि आप <ph name="BEGIN_LINK1" />Google की सेवा की शर्तों<ph name="END_LINK1" /> और <ph name="BEGIN_LINK2" />Google Chrome और Chrome OS की सेवा की अतिरिक्त शर्तों<ph name="END_LINK2" /> से सहमत हैं. साथ ही, आप <ph name="BEGIN_LINK3" />Family Link से प्रबंधित होने वाले Google खातों के लिए निजता सूचना<ph name="END_LINK3" /> से भी सहमत हैं.</translation>
 <translation id="2702516483241149200">नया: इस टेक्स्ट तक स्क्रोल करने वाला लिंक शेयर करें</translation>
 <translation id="2704606927547763573">कॉपी किया गया</translation>
 <translation id="2707726405694321444">पेज रीफ्रेश करें</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 और <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> अन्य}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 और <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> अन्य}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 और <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> अन्य}}</translation>
 <translation id="4696983787092045100">अपने डिवाइस पर मैसेज भेजें</translation>
 <translation id="4699172675775169585">कैश इमेज और फ़ाइलें</translation>
+<translation id="471759387343966120">जारी रखने का मतलब है कि आप Google की <ph name="BEGIN_TOS_LINK" />सेवा की शर्तों<ph name="END_TOS_LINK" />और <ph name="BEGIN_PRIVACY_LINK" />निजता\u00A0नीति<ph name="END_PRIVACY_LINK" /> से सहमत हैं.\nऐप्लिकेशन को बेहतर बनाने के लिए Chrome, ऐप्लिकेशन के इस्तेमाल और क्रैश होने से जुड़ा डेटा Google को भेजता है. <ph name="BEGIN_UMA_LINK" />मैनेज करें<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">अनुवाद करना ऑफ़र करें</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> में खोलें</translation>
 <translation id="4720982865791209136">Chrome को बेहतर बनाने में सहायता करें. <ph name="BEGIN_LINK" />सर्वे में भाग लें<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">पेज को प्रिंट करने में समस्या थी. कृपया फिर से प्रयास करें.</translation>
 <translation id="6277722725779679269">ट्रैक की गई कीमत अपडेट नहीं हो सकी</translation>
 <translation id="6278428485366576908">थीम</translation>
+<translation id="6292420053234093573">Chrome इस्तेमाल करने का मतलब है कि आप <ph name="BEGIN_LINK1" />Google की सेवा की शर्तों<ph name="END_LINK1" /> और <ph name="BEGIN_LINK2" />Google Chrome और Chrome OS की सेवा की अतिरिक्त शर्तों<ph name="END_LINK2" /> से सहमत हैं.</translation>
 <translation id="6294610283659775533">आप उन डिवाइसों के बीच टैब शेयर कर सकते हैं जिन पर एक ही Google खाते से साइन इन किया हो</translation>
 <translation id="6297765934698848803">आपके डिवाइस काे प्रबंधित करने वाले संगठन ने आपका कैमरा बंद कर दिया है.</translation>
 <translation id="6301525844455696527">पढ़ने की चीज़ों की सूची में आपके लिए बहुत कुछ नया है</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">इस ब्राउज़र को <ph name="PARENT_NAME" /> की मदद से, मैनेज किया जाता है.</translation>
 <translation id="7665369617277396874">खाता जोड़ें</translation>
 <translation id="766587987807204883">लेख यहां दिखाई देते हैं जिन्हें आप ऑफ़लाइन होने पर भी पढ़ सकते हैं.</translation>
+<translation id="768232549260819724">GIF को कॉपी किया गया</translation>
 <translation id="7682724950699840886">ये सलाह आज़माएं: पक्का करें कि आपके डिवाइस पर ज़रूरी जगह उपलब्ध है, फिर दोबारा निर्यात करके देखें.</translation>
 <translation id="768618399695552958">आपके विज़िट किए गए पेजों में से कुछ पेज पहले से ही लोड किए गए होते हैं. Google साइट से लिंक होने पर, Google के सर्वर की मदद से, पेज पहले से लोड किए गए हो सकते हैं.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> में ईमेल बनाएं</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">फ़ाइल सुरक्षित तरीके से डाउनलोड नहीं की जा सकी</translation>
 <translation id="8571213806525832805">पिछले चार हफ़्ते</translation>
 <translation id="8572344201470131220">इमेज कॉपी की गई</translation>
+<translation id="8580884231102452214">GIF को कॉपी करें</translation>
 <translation id="8583805026567836021">खाते का डेटा साफ़ हो रहा है</translation>
 <translation id="859046281437143747">'ज़्यादा विकल्प' बटन से कीमत ट्रैक करें</translation>
 <translation id="860043288473659153">कार्डधारक का नाम</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 7ab107db..d2b657a 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# audiodatoteka}one{# audiodatoteka}few{# audiodatoteke}other{# audiodatoteka}}</translation>
 <translation id="265156376773362237">Standardno predučitavanje</translation>
 <translation id="2656405586795711023">Web-aplikacije</translation>
+<translation id="2689830683995595741">Korištenjem Chromea prihvaćate <ph name="BEGIN_LINK1" />Googleove uvjete pružanja usluge<ph name="END_LINK1" /> i <ph name="BEGIN_LINK2" />Dodatne uvjete pružanja usluge za Google Chrome i OS Chrome<ph name="END_LINK2" />. Primjenjuje se i <ph name="BEGIN_LINK3" />Obavijest o privatnosti za Google račune kojima se upravlja putem Family Linka<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Novo: dijelite vezu koja se pomiče na ovaj tekst</translation>
 <translation id="2704606927547763573">Kopirano</translation>
 <translation id="2707726405694321444">Osvježavanje stranice</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Pošaljite SMS na svoje uređaje</translation>
 <translation id="4699172675775169585">Predmemorirane slike i datoteke</translation>
+<translation id="471759387343966120">Nastavkom upotrebe prihvaćate <ph name="BEGIN_TOS_LINK" />uvjete pružanja usluge<ph name="END_TOS_LINK" /> i <ph name="BEGIN_PRIVACY_LINK" />pravila o\u00A0privatnosti<ph name="END_PRIVACY_LINK" />.\nRadi poboljšanja aplikacije Chrome šalje Googleu podatke o upotrebi i rušenju. <ph name="BEGIN_UMA_LINK" />Upravljajte<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ponudi prijevod</translation>
 <translation id="4720023427747327413">Otvori u aplikaciji <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Pomognite poboljšati Chrome. <ph name="BEGIN_LINK" />Ispunite anketu<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Pojavio se problem prilikom ispisivanja stranice. Pokušajte ponovo.</translation>
 <translation id="6277722725779679269">Ažuriranje praćenja cijene nije uspjelo</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Korištenjem Chromea prihvaćate <ph name="BEGIN_LINK1" />Googleove uvjete pružanja usluge<ph name="END_LINK1" /> i <ph name="BEGIN_LINK2" />Dodatne uvjete pružanja usluge za Google Chrome i OS Chrome<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Možete slati kartice među uređajima prijavljenima istim Google računom</translation>
 <translation id="6297765934698848803">Organizacija koja upravlja vašim uređajem isključila je vašu kameru.</translation>
 <translation id="6301525844455696527">Pročitajte ono što niste stigli</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Preglednikom upravlja <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Dodaj račun</translation>
 <translation id="766587987807204883">Ovdje će se prikazivati članci koje možete čitati i offline</translation>
+<translation id="768232549260819724">GIF je kopiran</translation>
 <translation id="7682724950699840886">Pokušajte napraviti sljedeće: provjerite ima li dovoljno prostora na uređaju i pokušajte ponoviti izvoz.</translation>
 <translation id="768618399695552958">Neke od stranica koje posjećujete predučitane su. Stranice na koje vodi veza s Googleove web-lokacije mogu se predučitati putem Googleovih poslužitelja.</translation>
 <translation id="7698359219371678927">Izradite e-poruku u aplikaciji <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Datoteka se ne može sigurno preuzeti</translation>
 <translation id="8571213806525832805">Protekla 4 tjedna</translation>
 <translation id="8572344201470131220">Slika je kopirana</translation>
+<translation id="8580884231102452214">Kopiraj GIF</translation>
 <translation id="8583805026567836021">Brisanje podataka računa</translation>
 <translation id="859046281437143747">Pratite cijenu pomoću gumba Više opcija</translation>
 <translation id="860043288473659153">Ime vlasnika kartice</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 b533603f..44ea0de 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# hangfájl}other{# hangfájl}}</translation>
 <translation id="265156376773362237">Normál előtöltés</translation>
 <translation id="2656405586795711023">Webalkalmazások</translation>
+<translation id="2689830683995595741">A Chrome használatával elfogadja a <ph name="BEGIN_LINK1" />Google Általános Szerződési Feltételeket<ph name="END_LINK1" />, valamint <ph name="BEGIN_LINK2" />A Google Chrome és a Chrome OS Kiegészítő Általános Szerződési Feltételeit<ph name="END_LINK2" />. A <ph name="BEGIN_LINK3" />Family Link szolgáltatással kezelt Google-fiókokra vonatkozó adatvédelmi közlemény<ph name="END_LINK3" /> is érvényben van.</translation>
 <translation id="2702516483241149200">Új: az ehhez a szöveghez gördülő linket oszthat meg</translation>
 <translation id="2704606927547763573">Másolt</translation>
 <translation id="2707726405694321444">Oldal frissítése</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 és további <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 és további <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">SMS küldése az eszközeire</translation>
 <translation id="4699172675775169585">A gyorsítótárban szereplő képek és fájlok</translation>
+<translation id="471759387343966120">A folytatással Ön elfogadja az <ph name="BEGIN_TOS_LINK" />Általános Szerződési Feltételeket<ph name="END_TOS_LINK" /> és az <ph name="BEGIN_PRIVACY_LINK" />Adatvédelmi\u00A0irányelveket<ph name="END_PRIVACY_LINK" />.\nAz alkalmazás továbbfejlesztése érdekében a Chrome használati és hibaadatokat küld a Google-nak. <ph name="BEGIN_UMA_LINK" />Kezelés<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Fordítás felajánlása</translation>
 <translation id="4720023427747327413">Megnyitás itt: <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Segítsen a Chrome fejlesztésében. <ph name="BEGIN_LINK" />Töltse ki ezt a felmérést.<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Hiba történt az oldal nyomtatásakor. Próbálja újra.</translation>
 <translation id="6277722725779679269">Nem sikerült frissíteni a nyomon követett árat.</translation>
 <translation id="6278428485366576908">Téma</translation>
+<translation id="6292420053234093573">A Chrome használatával elfogadja a <ph name="BEGIN_LINK1" />Google Általános Szerződési Feltételeket<ph name="END_LINK1" />, valamint <ph name="BEGIN_LINK2" />A Google Chrome és a Chrome OS Kiegészítő Általános Szerződési Feltételeit<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Átküldheti a lapokat ugyanazzal a Google-fiókkal bejelentkezett eszközei között</translation>
 <translation id="6297765934698848803">Az eszközét kezelő szervezet kikapcsolta a kamerát.</translation>
 <translation id="6301525844455696527">Ne feledkezzen meg az olvasási listájáról</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 982140f..111893d 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# աուդիո ֆայլ}one{# աուդիո ֆայլ}other{# աուդիո ֆայլ}}</translation>
 <translation id="265156376773362237">Սովորական նախաբեռնում</translation>
 <translation id="2656405586795711023">Վեբ հավելվածներ</translation>
+<translation id="2689830683995595741">Օգտվելով Chrome-ից՝ դուք ընդունում եք <ph name="BEGIN_LINK1" />Google-ի օգտագործման պայմանները<ph name="END_LINK1" /> և <ph name="BEGIN_LINK2" />Google Chrome-ի և Chrome OS-ի օգտագործման լրացուցիչ պայմանները<ph name="END_LINK2" />։ Գործում է նաև <ph name="BEGIN_LINK3" />Family Link-ի միջոցով կառավարվող Google հաշիվների գաղտնիության ծանուցագիրը<ph name="END_LINK3" />։</translation>
 <translation id="2702516483241149200">Նորույթ․ կիսվեք հղումով, որն ուղղորդում է դեպի այս տեքստ</translation>
 <translation id="2704606927547763573">Պատճենվեց</translation>
 <translation id="2707726405694321444">Թարմացնել էջը</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 և ուղարկման ևս <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> տարբերակ}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 և ուղարկման ևս <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> տարբերակ}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 և ուղարկման ևս <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> տարբերակ}}</translation>
 <translation id="4696983787092045100">Ուղարկել SMS սարքերին</translation>
 <translation id="4699172675775169585">Քեշավորված պատկերներ և ֆայլեր</translation>
+<translation id="471759387343966120">Շարունակելով՝ դուք ընդունում եք <ph name="BEGIN_TOS_LINK" />Օգտագործման պայմանները<ph name="END_TOS_LINK" /> և <ph name="BEGIN_PRIVACY_LINK" />Գաղտնիության\u00A0քաղաքականությունը<ph name="END_PRIVACY_LINK" />։\nՀավելվածը բարելավելու նպատակով Chrome-ը ուղարկում է օգտագործման և խափանումների մասին տվյալները Google-ին։ <ph name="BEGIN_UMA_LINK" />Կառավարել<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Առաջարկել թարգմանել</translation>
 <translation id="4720023427747327413">Բացել <ph name="PRODUCT_NAME" />-ում</translation>
 <translation id="4720982865791209136">Օգնեք ավելի լավը դարձնել Chrome-ը: <ph name="BEGIN_LINK" />Մասնակցեք հարցմանը<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Այս էջը տպելիս խնդիր առաջացավ: Նորից փորձեք:</translation>
 <translation id="6277722725779679269">Չհաջողվեց թարմացնել գների հետագծումը</translation>
 <translation id="6278428485366576908">Թեմա</translation>
+<translation id="6292420053234093573">Օգտվելով Chrome-ից՝ դուք ընդունում եք <ph name="BEGIN_LINK1" />Google-ի օգտագործման պայմանները<ph name="END_LINK1" /> և <ph name="BEGIN_LINK2" />Google Chrome-ի և Chrome OS-ի օգտագործման լրացուցիչ պայմանները<ph name="END_LINK2" />։</translation>
 <translation id="6294610283659775533">Դուք կարող եք ուղարկել ներդիրները մի սարքից մյուսը, եթե դրանցում մտել եք հաշիվ միևնույն Google հաշվով</translation>
 <translation id="6297765934698848803">Ձեր սարքը կառավարող կազմակերպությունն անջատել է տեսախցիկը։</translation>
 <translation id="6301525844455696527">Մի՛ մոռացեք ձեր ընթերցանության ցանկի մասին</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Այս դիտարկիչը կառավարվում է <ph name="PARENT_NAME" /> հաշվի կողմից։</translation>
 <translation id="7665369617277396874">Ավելացնել հաշիվ</translation>
 <translation id="766587987807204883">Հոդվածները ցուցադրվում են այստեղ։ Դրանք կարող եք կարդալ նույնիսկ անցանց ռեժիմում։</translation>
+<translation id="768232549260819724">GIF-ը պատճենված է</translation>
 <translation id="7682724950699840886">Փորձեք անել հետևյալը․ համոզվեք, որ ձեր սարքում բավարար տարածք կա և նորից փորձեք արտահանել։</translation>
 <translation id="768618399695552958">Ձեր կողմից այցելվող որոշ էջեր նախապես են բեռնվում։ Եթե հղումը կատարվում է Google-ի որևէ կայքից, նախաբեռնումը կարող է կատարվել Google-ի սերվերների միջոցով։</translation>
 <translation id="7698359219371678927">Ստեղծեք նամակ <ph name="APP_NAME" /> հավելվածում</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Ֆայլը հնարավոր չէ ներբեռնել անվտանգ եղանակով</translation>
 <translation id="8571213806525832805">Վերջին 4 շաբաթվա</translation>
 <translation id="8572344201470131220">Պատկերը պատճենվեց</translation>
+<translation id="8580884231102452214">Պատճենել GIF-ը</translation>
 <translation id="8583805026567836021">Հաշվի տվյալների մաքրում</translation>
 <translation id="859046281437143747">Հետևել գներին «Այլ ընտրանքներ» կոճակի օգնությամբ</translation>
 <translation id="860043288473659153">Քարտապանի անունը</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 137d7c9..61aa948 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# File audio}other{# File audio}}</translation>
 <translation id="265156376773362237">Pramuat standar</translation>
 <translation id="2656405586795711023">Aplikasi web</translation>
+<translation id="2689830683995595741">Dengan menggunakan Chrome, Anda menyetujui <ph name="BEGIN_LINK1" />Persyaratan Layanan Google<ph name="END_LINK1" /> serta <ph name="BEGIN_LINK2" />Persyaratan Layanan Tambahan Google Chrome dan Chrome OS<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Pemberitahuan Privasi untuk Akun Google yang Dikelola dengan Family Link<ph name="END_LINK3" /> juga berlaku.</translation>
 <translation id="2702516483241149200">Baru: bagikan link yang mengarah ke teks ini</translation>
 <translation id="2704606927547763573">Disalin</translation>
 <translation id="2707726405694321444">Segarkan halaman</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 dan <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> lainnya}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 dan <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> lainnya}}</translation>
 <translation id="4696983787092045100">Kirim pesan teks ke Perangkat Anda</translation>
 <translation id="4699172675775169585">Gambar dan file dalam cache</translation>
+<translation id="471759387343966120">Dengan melanjutkan, Anda menyetujui <ph name="BEGIN_TOS_LINK" />Persyaratan Layanan<ph name="END_TOS_LINK" /> dan <ph name="BEGIN_PRIVACY_LINK" />Kebijakan\u00A0Privasi<ph name="END_PRIVACY_LINK" />.\nUntuk membantu meningkatkan kualitas aplikasi, Chrome akan mengirimkan data penggunaan dan error ke Google. <ph name="BEGIN_UMA_LINK" />Kelola<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Tawarkan penerjemahan</translation>
 <translation id="4720023427747327413">Buka di <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Bantu sempurnakan Chrome. <ph name="BEGIN_LINK" />Ikuti survei<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Terjadi masalah saat mencetak halaman. Coba lagi.</translation>
 <translation id="6277722725779679269">Tidak dapat memperbarui Pantau harga</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Dengan menggunakan Chrome, Anda menyetujui <ph name="BEGIN_LINK1" />Persyaratan Layanan Google<ph name="END_LINK1" /> serta <ph name="BEGIN_LINK2" />Persyaratan Layanan Tambahan Google Chrome dan Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Anda dapat mengirim tab antar-perangkat yang login ke Akun Google yang sama</translation>
 <translation id="6297765934698848803">Organisasi yang mengelola perangkat telah menonaktifkan kamera Anda.</translation>
 <translation id="6301525844455696527">Selesaikan daftar bacaan Anda</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Browser ini dikelola oleh <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Tambahkan akun</translation>
 <translation id="766587987807204883">Artikel ditampilkan di sini, yang dapat Anda baca bahkan saat offline</translation>
+<translation id="768232549260819724">GIF Disalin</translation>
 <translation id="7682724950699840886">Coba tips berikut ini: pastikan ruang di perangkat Anda mencukupi, lalu coba ekspor lagi.</translation>
 <translation id="768618399695552958">Beberapa halaman yang Anda buka akan dipramuat. Halaman mungkin dipramuat melalui server Google saat ditautkan dari situs Google.</translation>
 <translation id="7698359219371678927">Buat email di <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">File tidak dapat didownload dengan aman</translation>
 <translation id="8571213806525832805">4 minggu terakhir</translation>
 <translation id="8572344201470131220">Gambar Disalin</translation>
+<translation id="8580884231102452214">Salin GIF</translation>
 <translation id="8583805026567836021">Menghapus data akun</translation>
 <translation id="859046281437143747">Pantau harga dari tombol opsi Lainnya</translation>
 <translation id="860043288473659153">Nama pemegang kartu</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 857f6995..b1960fd 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# hljóðskrá}one{# hljóðskrá}other{# hljóðskrár}}</translation>
 <translation id="265156376773362237">Hefðbundin forhleðsla</translation>
 <translation id="2656405586795711023">Vefforrit</translation>
+<translation id="2689830683995595741">Með því að nota Chrome samþykkir þú <ph name="BEGIN_LINK1" />þjónustuskilmála Google<ph name="END_LINK1" />og <ph name="BEGIN_LINK2" />viðbótarskilmála Google Chrome og Chrome OS<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Persónuvernd fyrir Google reikninga sem stjórnað er með Family Link<ph name="END_LINK3" /> gildir einnig.</translation>
 <translation id="2702516483241149200">Nýtt: Deildu tengli sem flettir að þessum texta</translation>
 <translation id="2704606927547763573">Afritað</translation>
 <translation id="2707726405694321444">Endurnýja síðu</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> í viðbót}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> í viðbót}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> í viðbót}}</translation>
 <translation id="4696983787092045100">Senda texta í tækin þín</translation>
 <translation id="4699172675775169585">Myndir og skrár í skyndiminni</translation>
+<translation id="471759387343966120">Með því að halda áfram samþykkirðu <ph name="BEGIN_TOS_LINK" />þjónustuskilmálana<ph name="END_TOS_LINK" /> og <ph name="BEGIN_PRIVACY_LINK" />persónuverndarstefnuna<ph name="END_PRIVACY_LINK" />.\nChrome sendir gögn um notkun og hrun til Google til að bæta forritið. <ph name="BEGIN_UMA_LINK" />Stjórna<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Boð um þýðingu</translation>
 <translation id="4720023427747327413">Opna í <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Hjálpaðu til við að bæta Chrome. <ph name="BEGIN_LINK" />Svara könnun<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Vandamál kom upp við að prenta síðuna. Reyndu aftur.</translation>
 <translation id="6277722725779679269">Ekki tókst að uppfæra „Vakta verð“</translation>
 <translation id="6278428485366576908">Þema</translation>
+<translation id="6292420053234093573">Með því að nota Chrome samþykkir þú <ph name="BEGIN_LINK1" />þjónustuskilmála Google<ph name="END_LINK1" />og <ph name="BEGIN_LINK2" />viðbótarskilmála Google Chrome og Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Þú getur sent flipa á milli tækja sem eru skráð inn á sama Google reikninginn</translation>
 <translation id="6297765934698848803">Fyrirtækið sem hefur umsjón með tækinu þínu hefur slökkt á myndavélinni.</translation>
 <translation id="6301525844455696527">Styttu leslistann</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 a0fd4e4..e3d7029 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# file audio}one{# file audio}other{# file audio}}</translation>
 <translation id="265156376773362237">Precaricamento standard</translation>
 <translation id="2656405586795711023">App web</translation>
+<translation id="2689830683995595741">Utilizzando Chrome, accetti i <ph name="BEGIN_LINK1" />Termini di servizio di Google<ph name="END_LINK1" /> e i <ph name="BEGIN_LINK2" />Termini di servizio aggiuntivi di Google Chrome e Chrome OS<ph name="END_LINK2" />. Si applica inoltre l'<ph name="BEGIN_LINK3" />Informativa sulla privacy per gli Account Google gestiti tramite Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Novità: condividi un link che scorre direttamente a questo testo</translation>
 <translation id="2704606927547763573">Copiata</translation>
 <translation id="2707726405694321444">Aggiorna la pagina</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e altre <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 and <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> more}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e altre <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Invia testo ai tuoi dispositivi</translation>
 <translation id="4699172675775169585">Immagini e file memorizzati nella cache</translation>
+<translation id="471759387343966120">Se continui, accetti i <ph name="BEGIN_TOS_LINK" />Termini di servizio<ph name="END_TOS_LINK" /> e le <ph name="BEGIN_PRIVACY_LINK" />Norme sulla privacy<ph name="END_PRIVACY_LINK" />.\nPer contribuire a migliorare l'app, Chrome invia a Google dati sull'utilizzo e sugli arresti anomali. <ph name="BEGIN_UMA_LINK" />Gestisci<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Proponi di tradurre</translation>
 <translation id="4720023427747327413">Apri in <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Contribuisci a migliorare Chrome. <ph name="BEGIN_LINK" />Rispondi al sondaggio<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Si è verificato un problema durante la stampa della pagina. Riprova.</translation>
 <translation id="6277722725779679269">Impossibile aggiornare Monitora prezzo</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Utilizzando Chrome, accetti i <ph name="BEGIN_LINK1" />Termini di servizio di Google<ph name="END_LINK1" /> e i <ph name="BEGIN_LINK2" />Termini di servizio aggiuntivi di Google Chrome e Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Puoi inviare schede tra dispositivi su cui è stato eseguito l'accesso con lo stesso Account Google</translation>
 <translation id="6297765934698848803">L'organizzazione che gestisce il tuo dispositivo ha disattivato la fotocamera.</translation>
 <translation id="6301525844455696527">Non dimenticarti il tuo elenco di lettura</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Questo browser è gestito da <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Aggiungi account</translation>
 <translation id="766587987807204883">Qui vengono visualizzati gli articoli che potrai leggere anche offline</translation>
+<translation id="768232549260819724">GIF copiata</translation>
 <translation id="7682724950699840886">Prova i seguenti suggerimenti: assicurati di avere spazio sufficiente sul dispositivo e prova a esportare di nuovo.</translation>
 <translation id="768618399695552958">Alcune delle pagine che visiti sono precaricate. Le pagine potrebbero essere precaricate tramite i server di Google quando il sito che vi rimanda è un sito Google.</translation>
 <translation id="7698359219371678927">Crea email in <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Impossibile scaricare il file in modo sicuro</translation>
 <translation id="8571213806525832805">Ultime 4 settimane</translation>
 <translation id="8572344201470131220">Immagine copiata</translation>
+<translation id="8580884231102452214">Copia GIF</translation>
 <translation id="8583805026567836021">Cancellazione dati dell'account</translation>
 <translation id="859046281437143747">Monitora il prezzo dal pulsante Altre opzioni</translation>
 <translation id="860043288473659153">Nome del titolare della carta</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 801b80fde..4e65abcb 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{קובץ אודיו אחד (#)}two{# קובצי אודיו}many{# קובצי אודיו}other{# קובצי אודיו}}</translation>
 <translation id="265156376773362237">טעינה רגילה מראש</translation>
 <translation id="2656405586795711023">אפליקציות אינטרנט</translation>
+<translation id="2689830683995595741">‏השימוש ב-Chrome מבטא הסכמה ל<ph name="BEGIN_LINK1" />תנאים ולהגבלות של Google<ph name="END_LINK1" /> ול<ph name="BEGIN_LINK2" />תנאים ולהגבלות הנוספים של Google Chrome ו-Chrome OS<ph name="END_LINK2" />. על השימוש חלה גם <ph name="BEGIN_LINK3" />הודעת הפרטיות לגבי חשבונות Google המנוהלים באמצעות Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">חדש: ניתן לשתף קישור שגולל לטקסט הזה</translation>
 <translation id="2704606927547763573">הועתק</translation>
 <translation id="2707726405694321444">רענון הדף</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{‏<ph name="SHIPPING_OPTION_PREVIEW" />‎\u2026‎ ו-<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> נוספת}two{‏<ph name="SHIPPING_OPTION_PREVIEW" />‎\u2026‎ ו-<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> נוספות}many{‏<ph name="SHIPPING_OPTION_PREVIEW" />‎\u2026‎ ו-<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> נוספות}other{‏<ph name="SHIPPING_OPTION_PREVIEW" />‎\u2026‎ ו-<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> נוספות}}</translation>
 <translation id="4696983787092045100">שליחת הטקסט למכשירים שלך</translation>
 <translation id="4699172675775169585">תמונות וקבצים במטמון</translation>
+<translation id="471759387343966120">‏לחיצה על המשך תתפרש כהסכמתך <ph name="BEGIN_TOS_LINK" />לתנאים ולהגבלות<ph name="END_TOS_LINK" /> ול<ph name="BEGIN_PRIVACY_LINK" />מדיניות\u00A0הפרטיות<ph name="END_PRIVACY_LINK" />.\nכדי לעזור בשיפור האפליקציה, Chrome ישלח נתוני שימוש וקריסות אל Google. <ph name="BEGIN_UMA_LINK" />ניהול<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">הצגת הצעות לתרגום</translation>
 <translation id="4720023427747327413">פתיחה ב-<ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">‏נשמח לקבל עזרה בשיפור Chrome. <ph name="BEGIN_LINK" />למילוי הסקר<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">אירעה בעיה בעת הדפסת הדף. יש לנסות שוב.</translation>
 <translation id="6277722725779679269">לא ניתן היה לעדכן את המחיר שבמעקב</translation>
 <translation id="6278428485366576908">עיצוב</translation>
+<translation id="6292420053234093573">‏השימוש ב-Chrome מבטא הסכמה ל<ph name="BEGIN_LINK1" />תנאים ולהגבלות של Google<ph name="END_LINK1" /> ול<ph name="BEGIN_LINK2" />תנאים ולהגבלות הנוספים של Google Chrome ו-Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">‏אפשר לשלוח כרטיסיות ממכשיר למכשיר, כל עוד נכנסת במכשירים לאותו חשבון Google.</translation>
 <translation id="6297765934698848803">המצלמה הושבתה במכשיר, בהתאם להגדרות שנקבעו על ידי הארגון שמנהל את המכשיר.</translation>
 <translation id="6301525844455696527">רוצה להתקדם ברשימת הקריאה שלך?</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">הדפדפן הזה מנוהל על ידי <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">חשבון חדש</translation>
 <translation id="766587987807204883">כאן יוצגו מאמרים, ואפשר לקרוא אותם גם במצב אונליין</translation>
+<translation id="768232549260819724">‏ה-GIF הועתק</translation>
 <translation id="7682724950699840886">אפשר לנסות את הטיפים הבאים: צריך לוודא שיש מספיק מקום פנוי במכשיר ואז לנסות לייצא שוב.</translation>
 <translation id="768618399695552958">‏חלק מהדפים שאליהם עוברים נטענים מראש. דפים יכולים להיטען מראש באמצעות שרתי Google כשיש אליהם קישורים מאתר שנוצר באמצעות Google Sites.</translation>
 <translation id="7698359219371678927">יצירת הודעת אימייל ב-<ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">לא ניתן להוריד את הקובץ באופן מאובטח</translation>
 <translation id="8571213806525832805">מארבעת השבועות האחרונים</translation>
 <translation id="8572344201470131220">התמונה הועתקה</translation>
+<translation id="8580884231102452214">‏העתקה של ה-GIF</translation>
 <translation id="8583805026567836021">נתוני החשבון נמחקים</translation>
 <translation id="859046281437143747">אפשר לעקוב אחר המחיר באמצעות לחצן האפשרויות הנוספות</translation>
 <translation id="860043288473659153">שם בעל הכרטיס</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 f7b9f2e..336418d 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# 件の音声ファイル}other{# 件の音声ファイル}}</translation>
 <translation id="265156376773362237">標準プリロード</translation>
 <translation id="2656405586795711023">ウェブアプリ</translation>
+<translation id="2689830683995595741">Chrome を使用すると、<ph name="BEGIN_LINK1" />Google 利用規約<ph name="END_LINK1" />と <ph name="BEGIN_LINK2" />Google Chrome および Chrome OS 追加利用規約<ph name="END_LINK2" />に同意したことになります。また、<ph name="BEGIN_LINK3" />ファミリー リンクで管理する Google アカウントのプライバシーに関するお知らせ<ph name="END_LINK3" />も適用されます。</translation>
 <translation id="2702516483241149200">新規: このテキストにスクロールするリンクを共有できます</translation>
 <translation id="2704606927547763573">コピーしました</translation>
 <translation id="2707726405694321444">ページを更新</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 他 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 件}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 他 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 件}}</translation>
 <translation id="4696983787092045100">デバイスにテキストを送信</translation>
 <translation id="4699172675775169585">キャッシュされた画像とファイル</translation>
+<translation id="471759387343966120">続行すると、<ph name="BEGIN_TOS_LINK" />利用規約<ph name="END_TOS_LINK" />と<ph name="BEGIN_PRIVACY_LINK" />プライバシー\u00A0ポリシー<ph name="END_PRIVACY_LINK" />に同意されたものとみなされます。\nアプリを改善するため、Chrome では使用状況とクラッシュに関するデータが Google に送信されます。<ph name="BEGIN_UMA_LINK" />管理<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">翻訳するか尋ねる</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> で開く</translation>
 <translation id="4720982865791209136">Chrome の品質向上にご協力ください。<ph name="BEGIN_LINK" />アンケートに回答する<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">ページの印刷中に問題が発生しました。もう一度お試しください。</translation>
 <translation id="6277722725779679269">価格のトラッキングを更新できませんでした</translation>
 <translation id="6278428485366576908">テーマ</translation>
+<translation id="6292420053234093573">Chrome を使用すると、<ph name="BEGIN_LINK1" />Google 利用規約<ph name="END_LINK1" />と <ph name="BEGIN_LINK2" />Google Chrome および Chrome OS 追加利用規約<ph name="END_LINK2" />に同意したことになります。</translation>
 <translation id="6294610283659775533">同じ Google アカウントでログインしているデバイス間でタブを送信できます</translation>
 <translation id="6297765934698848803">デバイスの管理者がカメラをオフにしています。</translation>
 <translation id="6301525844455696527">リーディング リストをチェックしよう</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">このブラウザは、<ph name="PARENT_NAME" /> によって管理されています。</translation>
 <translation id="7665369617277396874">アカウントを追加</translation>
 <translation id="766587987807204883">記事がここに表示されます。これらの記事はオフラインでも読むことができます</translation>
+<translation id="768232549260819724">GIF をコピーしました</translation>
 <translation id="7682724950699840886">推奨される対策: デバイスに十分な空き容量があることを確認し、再度エクスポートを試します。</translation>
 <translation id="768618399695552958">アクセスしたページの一部はプリロードされています。ページが Google サイトからリンクされている場合、Google サーバーを介してプリロードされる可能性があります。</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> でメールを作成</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">ファイルを安全にダウンロードできません</translation>
 <translation id="8571213806525832805">過去 4 週間</translation>
 <translation id="8572344201470131220">画像をコピーしました</translation>
+<translation id="8580884231102452214">GIF をコピー</translation>
 <translation id="8583805026567836021">アカウント データをクリア中</translation>
 <translation id="859046281437143747">[その他のオプション] から価格をトラッキングできます</translation>
 <translation id="860043288473659153">カード名義人</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 c3e00a0..aabba07 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# აუდიოფაილი}other{# აუდიოფაილი}}</translation>
 <translation id="265156376773362237">სტანდარტული წინაწარი ჩატვირთვა</translation>
 <translation id="2656405586795711023">ვებ-აპები</translation>
+<translation id="2689830683995595741">Chrome-ის გამოყენებით ეთანხმებით <ph name="BEGIN_LINK1" />Google-ის მომსახურების პირობებს<ph name="END_LINK1" />, ასევე, <ph name="BEGIN_LINK2" />Google Chrome-ისა და Chrome OS-ის მომსახურების დამატებით პირობებს<ph name="END_LINK2" />. გარდა ამისა, ვრცელდება <ph name="BEGIN_LINK3" />კონფიდენციალურობის შეტყობინება Family Link-ით მართული Google ანგარიშებისთვის<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">სიახლე: გააზიარეთ ბმული, რომელიც ამ ტექსტზე გადავა</translation>
 <translation id="2704606927547763573">დაკოპირდა</translation>
 <translation id="2707726405694321444">გვერდის განახლება</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 და <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> სხვა}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 და <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> სხვა}}</translation>
 <translation id="4696983787092045100">ტექსტის თქვენს მოწყობილობებზე გაგზავნა</translation>
 <translation id="4699172675775169585">ქეშირებული სურათები და ფაილები</translation>
+<translation id="471759387343966120">გაგრძელებით თქვენ ეთანხმებით <ph name="BEGIN_TOS_LINK" />მომსახურების პირობებსა<ph name="END_TOS_LINK" /> და <ph name="BEGIN_PRIVACY_LINK" />კონფიდენციალურობის\u00A0დებულებას<ph name="END_PRIVACY_LINK" />.\nამ აპის გაუმჯობესების მიზნით, Chrome უგზავნის მოხმარებისა და ავარიულად გათიშვის მონაცემებს Google-ს. <ph name="BEGIN_UMA_LINK" />მართვა<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">თარგმანის შემოთავაზება</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />-ში გახსნა</translation>
 <translation id="4720982865791209136">შეუწყვეთ ხელი Chrome-ის გაუმჯობესებას. <ph name="BEGIN_LINK" />მიიღეთ მონაწილეობა გამოკითხვაში<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">გვერდის დაბეჭდვისას დაფიქსირდა შეცდომა. გთხოვთ ცადოთ ხელახლა.</translation>
 <translation id="6277722725779679269">ფასისთვის თვალის მიდევნება ვერ განახლდა</translation>
 <translation id="6278428485366576908">თემა</translation>
+<translation id="6292420053234093573">Chrome-ის გამოყენებით ეთანხმებით <ph name="BEGIN_LINK1" />Google-ის მომსახურების პირობებს<ph name="END_LINK1" />, ასევე, <ph name="BEGIN_LINK2" />Google Chrome-ისა და Chrome OS-ის მომსახურების დამატებით პირობებს<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">სურვილისამებრ, შეგიძლიათ გაცვალოთ ჩანართები იმ მოწყობილობებს შორის, რომლებშიც შესული ხართ ერთი და იგივე Google ანგარიშით</translation>
 <translation id="6297765934698848803">თქვენი მოწყობილობის მმართველმა ორგანიზაციამ გამორთო თქვენი კამერა.</translation>
 <translation id="6301525844455696527">არ დაგავიწყდეთ თქვენი საკითხავი სია</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 5b0706e..6c424e6 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аудиофайл}other{# аудиофайл}}</translation>
 <translation id="265156376773362237">Стандартты алдын ала жүктеу</translation>
 <translation id="2656405586795711023">Веб-қолданбалар</translation>
+<translation id="2689830683995595741">Chrome браузерін пайдалану арқылы <ph name="BEGIN_LINK1" />Google Қызмет көрсету шарттарына<ph name="END_LINK1" /> және <ph name="BEGIN_LINK2" />Google Chrome және Chrome OS Қосымша қызмет көрсету шарттарына<ph name="END_LINK2" /> келісім бересіз. <ph name="BEGIN_LINK3" />Family Link арқылы басқарылатын Google аккаунттарына арналған Құпиялылық мәлімдемесі<ph name="END_LINK3" /> де қолданылады.</translation>
 <translation id="2702516483241149200">Жаңа: осы мәтінге бағыттайтын сілтемені бөлісу</translation>
 <translation id="2704606927547763573">Көшірілген</translation>
 <translation id="2707726405694321444">Бетті жаңарту</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 және тағы <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 және тағы <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Мәтінді құрылғыларға жіберу</translation>
 <translation id="4699172675775169585">Кэштелген кескіндер мен файлдар</translation>
+<translation id="471759387343966120">Жалғастыру арқылы <ph name="BEGIN_TOS_LINK" />Қызмет көрсету шарттарына<ph name="END_TOS_LINK" /> және <ph name="BEGIN_PRIVACY_LINK" />Құпиялылық\u00A0саясатына<ph name="END_PRIVACY_LINK" /> келісесіз.\nҚолданбаны жақсартуға көмектесу үшін, Chrome пайдалану және бұзылу туралы деректерді Google-ға жібереді. <ph name="BEGIN_UMA_LINK" />Басқару<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Аудармасын ұсыну</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> ішінен ашу</translation>
 <translation id="4720982865791209136">Chrome браузерін жақсартуға көмектесіңіз. <ph name="BEGIN_LINK" />Сауалнамаға қатысыңыз<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Бетті басып шығаруда қиындық туындады. Тағы да қайталап көріңіз.</translation>
 <translation id="6277722725779679269">Бақыланатын баға жаңартылмады.</translation>
 <translation id="6278428485366576908">Тақырып</translation>
+<translation id="6292420053234093573">Chrome браузерін пайдалану арқылы <ph name="BEGIN_LINK1" />Google Қызмет көрсету шарттарына<ph name="END_LINK1" /> және <ph name="BEGIN_LINK2" />Google Chrome және Chrome OS Қосымша қызмет көрсету шарттарына<ph name="END_LINK2" /> келісім бересіз.</translation>
 <translation id="6294610283659775533">Бірдей Google аккаунтымен кірген құрылғыларға қойынды жіберуге болады.</translation>
 <translation id="6297765934698848803">Құрылғыңызды басқаратын ұйым камерыңызды өшірді.</translation>
 <translation id="6301525844455696527">Оқылмаған тізімді ашу</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 423d772..a1d4f0f 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{ឯកសារសំឡេង #}other{ឯកសារ​សំឡេង #}}</translation>
 <translation id="265156376773362237">ការផ្ទុក​ជាមុនស្ដង់ដារ</translation>
 <translation id="2656405586795711023">កម្មវិធីលើ​អ៊ីនធឺណិត</translation>
+<translation id="2689830683995595741">ប្រសិនបើប្រើ Chrome មានន័យថាអ្នកយល់ព្រមតាម<ph name="BEGIN_LINK1" />លក្ខខណ្ឌប្រើប្រាស់ Google<ph name="END_LINK1" /> និង<ph name="BEGIN_LINK2" />លក្ខខណ្ឌប្រើប្រាស់បន្ថែមរបស់ Google Chrome និង Chrome OS<ph name="END_LINK2" />។ <ph name="BEGIN_LINK3" />ការជូន​ដំណឹង​អំពី​ឯកជនភាព​សម្រាប់​គណនី Google ដែល​គ្រប់គ្រង​ដោយ​ប្រើ Family Link<ph name="END_LINK3" /> ក៏អនុវត្តផងដែរ។</translation>
 <translation id="2702516483241149200">ថ្មី៖ ចែករំលែកតំណ ដែលរំកិលទៅអត្ថបទនេះ</translation>
 <translation id="2704606927547763573">បានថតចម្លង</translation>
 <translation id="2707726405694321444">ធ្វើឲ្យទំព័រថ្មីឡើងវិញ</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 និង <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ទៀត}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 និង <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ទៀត}}</translation>
 <translation id="4696983787092045100">ផ្ញើសារ​ជាអក្សរ​ទៅ​ឧបករណ៍​របស់អ្នក</translation>
 <translation id="4699172675775169585">រូបភាព និងឯកសារដែលផ្ទុកក្នុងឃ្លាំងសម្ងាត់</translation>
+<translation id="471759387343966120">ប្រសិនបើបន្ត មានន័យថា​អ្នកយល់ព្រមតាម<ph name="BEGIN_TOS_LINK" />លក្ខខណ្ឌ​ប្រើប្រាស់<ph name="END_TOS_LINK" /> និង<ph name="BEGIN_PRIVACY_LINK" />គោលការណ៍​ឯកជនភាព<ph name="END_PRIVACY_LINK" />។\nChrome ផ្ញើទិន្នន័យ​អំពីការគាំង និង​ការប្រើប្រាស់ទៅ Google ដើម្បីជួយ​កែលម្អកម្មវិធីខ្លួន។ <ph name="BEGIN_UMA_LINK" />គ្រប់គ្រង<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ផ្តល់ជូន​ការ​បកប្រែ</translation>
 <translation id="4720023427747327413">បើកនៅក្នុង <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">ជួយ​កែលម្អ Chrome ។<ph name="BEGIN_LINK" />សូម​ធ្វើការ​ស្ទង់មតិ<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">មានបញ្ហាក្នុងការបោះពុម្ពទំព័រ។ សូមព្យាយាមម្តងទៀត។</translation>
 <translation id="6277722725779679269">មិនអាចធ្វើបច្ចុប្បន្នភាពការតាម​ដាន​តម្លៃ​បានទេ</translation>
 <translation id="6278428485366576908">ធីម</translation>
+<translation id="6292420053234093573">ប្រសិនបើប្រើ Chrome មានន័យថាអ្នកយល់ព្រមតាម<ph name="BEGIN_LINK1" />លក្ខខណ្ឌប្រើប្រាស់ Google<ph name="END_LINK1" /> និង<ph name="BEGIN_LINK2" />លក្ខខណ្ឌប្រើប្រាស់បន្ថែមរបស់ Google Chrome និង Chrome OS<ph name="END_LINK2" />។</translation>
 <translation id="6294610283659775533">អ្នកអាច​ផ្ញើផ្ទាំងបាន​រវាងឧបករណ៍ ដែលបានចូល​គណនី Google ដូចគ្នា</translation>
 <translation id="6297765934698848803">ស្ថាប័ន​ដែល​គ្រប់គ្រង​ឧបករណ៍​របស់អ្នក​បានបិទ​កាមេរ៉ា​របស់អ្នក​ហើយ។</translation>
 <translation id="6301525844455696527">តាមដាននៅក្នុងបញ្ជីអានរបស់អ្នក</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 8b476a4..78d1fb9 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ಆಡಿಯೋ ಫೈಲ್}one{# ಆಡಿಯೋ ಫೈಲ್‌ಗಳು}other{# ಆಡಿಯೋ ಫೈಲ್‌ಗಳು}}</translation>
 <translation id="265156376773362237">ಪ್ರಮಾಣಿತ ಮುಂಚಿತ ಲೋಡ್ ಮಾಡುವಿಕೆ</translation>
 <translation id="2656405586795711023">ವೆಬ್‌ ಆ್ಯಪ್‌ಗಳು</translation>
+<translation id="2689830683995595741">Chrome ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ನೀವು <ph name="BEGIN_LINK1" />Google ಸೇವಾ ನಿಯಮಗಳು<ph name="END_LINK1" />, ಹಾಗೂ <ph name="BEGIN_LINK2" />Google Chrome ಮತ್ತು Chrome OS ಹೆಚ್ಚುವರಿ ಸೇವಾ ನಿಯಮಗಳಿಗೆ<ph name="END_LINK2" /> ಸಮ್ಮತಿಸುತ್ತೀರಿ. <ph name="BEGIN_LINK3" />Family Link ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗುವ Google ಖಾತೆಗಳಿಗಾಗಿ ಗೌಪ್ಯತೆ ಸೂಚನೆ<ph name="END_LINK3" /> ಸಹ ಅನ್ವಯಿಸುತ್ತದೆ.</translation>
 <translation id="2702516483241149200">ಹೊಸ ವೈಶಿಷ್ಟ್ಯ: ಈ ಪಠ್ಯಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಆಗುವ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಿ</translation>
 <translation id="2704606927547763573">ನಕಲಿಸಲಾಗಿದೆ</translation>
 <translation id="2707726405694321444">ಪುಟವನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಿ</translation>
@@ -624,6 +625,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ಮತ್ತು ಇನ್ನೂ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ಮತ್ತು ಇನ್ನೂ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ಮತ್ತು ಇನ್ನೂ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">ನಿಮ್ಮ ಸಾಧನಗಳಿಗೆ ಪಠ್ಯವನ್ನು ಕಳುಹಿಸಿ</translation>
 <translation id="4699172675775169585">ಸಂಗ್ರಹಿಸಲಾಗಿರುವ ಚಿತ್ರಗಳು ಮತ್ತು ಫೈಲ್‌ಗಳು</translation>
+<translation id="471759387343966120">ಮುಂದುವರಿಯುವ ಮೂಲಕ, ನೀವು <ph name="BEGIN_TOS_LINK" />ಸೇವಾ ನಿಯಮಗಳು<ph name="END_TOS_LINK" /> ಮತ್ತು <ph name="BEGIN_PRIVACY_LINK" />ಗೌಪ್ಯತೆ\u00A0ನೀತಿ<ph name="END_PRIVACY_LINK" />ಗೆ ಸಮ್ಮತಿಸುತ್ತೀರಿ.\nಆ್ಯಪ್ ಅನ್ನು ಸುಧಾರಿಸುವುದಕ್ಕೆ ಸಹಾಯ ಮಾಡಲು, Chrome ಬಳಕೆ ಮತ್ತು ಕ್ರ್ಯಾಶ್ ಡೇಟಾವನ್ನು Google ಗೆ ಕಳುಹಿಸುತ್ತದೆ. <ph name="BEGIN_UMA_LINK" />ನಿರ್ವಹಿಸಿ<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ಅನುವಾದಿಸಲು ಅವಕಾಶಿಸಿ</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
 <translation id="4720982865791209136">Chrome ಸುಧಾರಣೆಗೆ ಸಹಾಯ ಮಾಡಿ. <ph name="BEGIN_LINK" />ಸಮೀಕ್ಷೆಯಲ್ಲಿ ಭಾಗವಹಿಸಿ<ph name="END_LINK" /></translation>
@@ -906,6 +908,7 @@
 <translation id="6277522088822131679">ಪುಟವನ್ನು ಮುದ್ರಿಸುವಲ್ಲಿ ಸಮಸ್ಯೆ ಕಂಡುಬಂದಿದೆ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6277722725779679269">ಟ್ರ್ಯಾಕ್ ಬೆಲೆಯನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</translation>
 <translation id="6278428485366576908">ಥೀಮ್</translation>
+<translation id="6292420053234093573">Chrome ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ನೀವು <ph name="BEGIN_LINK1" />Google ಸೇವಾ ನಿಯಮಗಳು<ph name="END_LINK1" />, ಹಾಗೂ <ph name="BEGIN_LINK2" />Google Chrome ಮತ್ತು Chrome OS ಹೆಚ್ಚುವರಿ ಸೇವಾ ನಿಯಮಗಳಿಗೆ<ph name="END_LINK2" /> ಸಮ್ಮತಿಸುತ್ತೀರಿ.</translation>
 <translation id="6294610283659775533">ಒಂದೇ Google ಖಾತೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸೈನ್ ಇನ್ ಮಾಡಿರುವ ಸಾಧನಗಳ ನಡುವೆ ನೀವು ಟ್ಯಾಬ್‌ಗಳನ್ನು ಕಳುಹಿಸಬಹುದು</translation>
 <translation id="6297765934698848803">ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿರ್ವಹಿಸುವ ಸಂಸ್ಥೆಯು ನಿಮ್ಮ ಕ್ಯಾಮರಾವನ್ನು ಆಫ್ ಮಾಡಿದೆ.</translation>
 <translation id="6301525844455696527">ನಿಮ್ಮ ಓದುವ ಪಟ್ಟಿಯನ್ನು ನೋಡಿ</translation>
@@ -1170,6 +1173,7 @@
 <translation id="7663313374500954251">ಈ ಬ್ರೌಸರ್ ಅನ್ನು <ph name="PARENT_NAME" /> ಅವರು ನಿರ್ವಹಿಸುತ್ತಾರೆ.</translation>
 <translation id="7665369617277396874">ಖಾತೆಯನ್ನು ಸೇರಿಸು</translation>
 <translation id="766587987807204883">ಲೇಖನಗಳು ಇಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ, ಅವುಗಳನ್ನು ನೀವು ಆಫ್‌ಲೈನ್‌ನಲ್ಲಿರುವಾಗಲೂ ಸಹ ಓದಬಹುದಾಗಿದೆ</translation>
+<translation id="768232549260819724">GIF ನಕಲಿಸಲಾಗಿದೆ</translation>
 <translation id="7682724950699840886">ಕೆಳಗಿನ ಸಲಹೆಗಳನ್ನು ಬಳಸಿ ನೋಡಿ: ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸಾಕಷ್ಟು ಸ್ಥಳಾವಕಾಶ ಇರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಂಡು, ಪುನಃ ಎಕ್ಸ್‌ಪೋರ್ಟ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="768618399695552958">ನೀವು ಭೇಟಿ ನೀಡುವ ಕೆಲವು ಪುಟಗಳು ಮುಂಚಿತವಾಗಿ ಲೋಡ್ ಆಗುತ್ತವೆ. Google ಸೈಟ್‌ನಿಂದ ಲಿಂಕ್ ಮಾಡಿದಾಗ, ಪುಟಗಳನ್ನು Google ಸರ್ವರ್‌ಗಳ ಮೂಲಕ ಮುಂಚಿತವಾಗಿ ಲೋಡ್ ಮಾಡಬಹುದು.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> ನಲ್ಲಿ ಇಮೇಲ್ ರಚಿಸಿ</translation>
@@ -1348,6 +1352,7 @@
 <translation id="8570677896027847510">ಫೈಲ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
 <translation id="8571213806525832805">ಕಳೆದ 4 ವಾರಗಳು</translation>
 <translation id="8572344201470131220">ಚಿತ್ರವನ್ನು ನಕಲಿಸಲಾಗಿದೆ</translation>
+<translation id="8580884231102452214">GIF ನಕಲಿಸಿ</translation>
 <translation id="8583805026567836021">ಖಾತೆಯ ಡೇಟಾವನ್ನು ತೆರವುಗೊಳಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="859046281437143747">ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳ ಬಟನ್‌ನಿಂದ ಬೆಲೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ</translation>
 <translation id="860043288473659153">ಕಾರ್ಡ್‌ಹೋಲ್ಡರ್ ಹೆಸರು</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 93fb16c..c61b584 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{오디오 파일 #개}other{오디오 파일 #개}}</translation>
 <translation id="265156376773362237">표준 미리 로드</translation>
 <translation id="2656405586795711023">웹 앱</translation>
+<translation id="2689830683995595741">Chrome을 사용하면 <ph name="BEGIN_LINK1" />Google 서비스 약관<ph name="END_LINK1" />과 <ph name="BEGIN_LINK2" />Chrome 및 Chrome OS 추가 서비스 약관<ph name="END_LINK2" />에 동의하는 것으로 간주됩니다. <ph name="BEGIN_LINK3" />Family Link로 관리되는 Google 계정에 관한 개인정보처리방침<ph name="END_LINK3" />도 적용됩니다.</translation>
 <translation id="2702516483241149200">신규: 이 텍스트로 스크롤하는 링크 공유하기</translation>
 <translation id="2704606927547763573">복사됨</translation>
 <translation id="2707726405694321444">페이지 새로고침</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> 외 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />개}other{<ph name="SHIPPING_OPTION_PREVIEW" /> 외 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />개}}</translation>
 <translation id="4696983787092045100">기기로 SMS 전송</translation>
 <translation id="4699172675775169585">캐시된 이미지 및 파일</translation>
+<translation id="471759387343966120">계속하면 <ph name="BEGIN_TOS_LINK" />서비스 약관<ph name="END_TOS_LINK" /> 및 <ph name="BEGIN_PRIVACY_LINK" />개인정보처리방침<ph name="END_PRIVACY_LINK" />에 동의하는 것으로 간주됩니다.\n앱 개선을 위해 Chrome에서 사용 및 비정상 종료 데이터를 Google에 전송합니다. <ph name="BEGIN_UMA_LINK" />관리<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">번역 옵션 제공</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />에서 열기</translation>
 <translation id="4720982865791209136">Chrome을 개선하는 데 도움을 주세요. <ph name="BEGIN_LINK" />설문조사 참여하기<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">페이지를 인쇄하는 중에 문제가 발생했습니다. 다시 시도해 주세요.</translation>
 <translation id="6277722725779679269">가격 추적을 업데이트할 수 없습니다</translation>
 <translation id="6278428485366576908">테마</translation>
+<translation id="6292420053234093573">Chrome을 사용하면 <ph name="BEGIN_LINK1" />Google 서비스 약관<ph name="END_LINK1" />과 <ph name="BEGIN_LINK2" />Chrome 및 Chrome OS 추가 서비스 약관<ph name="END_LINK2" />에 동의하는 것으로 간주됩니다.</translation>
 <translation id="6294610283659775533">동일한 Google 계정으로 로그인한 기기 간에 탭을 보낼 수 있습니다.</translation>
 <translation id="6297765934698848803">내 기기를 관리하는 조직에서 카메라를 사용 중지했습니다.</translation>
 <translation id="6301525844455696527">잊지 말고 읽기 목록을 확인하세요</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 cf488b6b..63049c6 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аудио файл}other{# аудио файл}}</translation>
 <translation id="265156376773362237">Стандарттуу алдын ала жүктөө</translation>
 <translation id="2656405586795711023">Веб колдонмолор</translation>
+<translation id="2689830683995595741">Chrome'ду колдонуу менен, <ph name="BEGIN_LINK1" />Google'дун Тейлөө шарттарына<ph name="END_LINK1" /> жана <ph name="BEGIN_LINK2" />Google Chrome менен Chrome OS'тун Кошумча Тейлөө шарттарына<ph name="END_LINK2" /> макулдугуңузду билдиресиз. <ph name="BEGIN_LINK3" />Family Link'те башкарылган Google аккаунттары үчүн Купуялык эскертүүсү<ph name="END_LINK3" /> да колдонулат.</translation>
 <translation id="2702516483241149200">Жаңы: Бул текстке сыдырылган шилтемени бөлүшө аласыз</translation>
 <translation id="2704606927547763573">Көчүрүлдү</translation>
 <translation id="2707726405694321444">Бетти жаңылоо</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 жана дагы <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 жана дагы <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Түзмөктөрүңүзгө билдирүү жөнөтүңүз</translation>
 <translation id="4699172675775169585">Кештелген сүрөттөр жана файлдар</translation>
+<translation id="471759387343966120">Улантуу менен, <ph name="BEGIN_TOS_LINK" />Тейлөө шарттарын<ph name="END_TOS_LINK" /> жана <ph name="BEGIN_PRIVACY_LINK" />Купуялык\u00A0саясатын<ph name="END_PRIVACY_LINK" /> кабыл аласыз.\nКолдонмону жакшыртууга жардам берүү үчүн Chrome колдонулушу жана ката тууралуу маалыматты Google'га жөнөтөт. <ph name="BEGIN_UMA_LINK" />Башкаруу<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Которуу сунушталсын</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> менен ачуу</translation>
 <translation id="4720982865791209136">Chrome'ду өркүндөтүүгө жардам бериңиз. <ph name="BEGIN_LINK" />Сурамжылоого катышыңыз<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Баракты басып чыгарууда көйгөй келип чыкты. Дагы аракет кылып көрүңүз.</translation>
 <translation id="6277722725779679269">Баасына көз салуу жаңырган жок</translation>
 <translation id="6278428485366576908">Тема</translation>
+<translation id="6292420053234093573">Chrome'ду колдонуу менен, <ph name="BEGIN_LINK1" />Google'дун Тейлөө шарттарына<ph name="END_LINK1" /> жана <ph name="BEGIN_LINK2" />Google Chrome менен Chrome OS'тун Кошумча Тейлөө шарттарына<ph name="END_LINK2" /> макулдугуңузду билдиресиз.</translation>
 <translation id="6294610283659775533">Бир Google аккаунту менен кирип турган түзмөктөрдө өтмөктөрдү жөнөтсөңүз болот</translation>
 <translation id="6297765934698848803">Түзмөгүңүздү башкарган уюм камераңызды өчүрүп койду.</translation>
 <translation id="6301525844455696527">Окуу тизмеңизди унутпаңыз</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Бул серепчи <ph name="PARENT_NAME" /> тарабынан башкарылат.</translation>
 <translation id="7665369617277396874">Аккаунт кошуу</translation>
 <translation id="766587987807204883">Оффлайн режиминде да окула турган макалалар ушул жерде көрүнөт</translation>
+<translation id="768232549260819724">GIF көчүрүлдү</translation>
 <translation id="7682724950699840886">Төмөнкү кеңештерди аткарып көрүңүз: түзмөгүңүздө бош орун бар экенин текшерип, кайра экспорттоп көрүңүз.</translation>
 <translation id="768618399695552958">Cиз баш баккан айрым барактар алдын ала жүктөлгөн. Google сайтынан шилтеме берилген барактар Google'дун серверлери аркылуу алдын ала жүктөлүшү мүмкүн.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> колдонмосунан электрондук почта түзүңүз</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Файлды коопсуз жүктөп алуу мүмкүн эмес</translation>
 <translation id="8571213806525832805">Акыркы 4 апта</translation>
 <translation id="8572344201470131220">Сүрөт көчүрүлдү</translation>
+<translation id="8580884231102452214">GIF файлын көчүрүү</translation>
 <translation id="8583805026567836021">Аккаунттун дайындары тазаланууда</translation>
 <translation id="859046281437143747">Баасына "Дагы параметрлер" баскычы аркылуу көз сала аласыз</translation>
 <translation id="860043288473659153">Карта ээсинин аты</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 0946bee..0f8d64f 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ໄຟລ໌ສຽງ}other{# ໄຟລ໌ສຽງ}}</translation>
 <translation id="265156376773362237">ການໂຫຼດກ່ອນລ່ວງໜ້າແບບມາດຕະຖານ</translation>
 <translation id="2656405586795711023">ເວັບແອັບ</translation>
+<translation id="2689830683995595741">ໂດຍການໃຊ້ Chrome, ແມ່ນຖືວ່າທ່ານເຫັນດີນຳ <ph name="BEGIN_LINK1" />ຂໍ້ກຳນົດການບໍລິການຂອງ Google<ph name="END_LINK1" /> ແລະ <ph name="BEGIN_LINK2" />ຂໍ້ກຳນົດການບໍລິການເພີ່ມເຕີມຂອງ Google Chrome ແລະ Chrome OS<ph name="END_LINK2" />. ນຳໃຊ້ <ph name="BEGIN_LINK3" />ແຈ້ງການຄວາມເປັນສ່ວນຕົວສຳລັບບັນຊີ Google ທີ່ຈັດການດ້ວຍ Family Link<ph name="END_LINK3" /> ເຊັ່ນກັນ.</translation>
 <translation id="2702516483241149200">ໃໝ່: ແບ່ງປັນລິ້ງທີ່ເລື່ອນຫາຂໍ້ຄວາມນີ້</translation>
 <translation id="2704606927547763573">ອັດ​ສຳ​ເນົາ​ແລ້ວ</translation>
 <translation id="2707726405694321444">ຣີ​ເຟ​ຣ​ຊຫນ້າ</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ແລະ ອີກ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ທາງເລືອກການຈັດສົ່ງ}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ແລະ ອີກ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ທາງເລືອກການຈັດສົ່ງ}}</translation>
 <translation id="4696983787092045100">ສົ່ງຂໍ້ຄວາມຫາອຸປະກອນຂອງທ່ານ</translation>
 <translation id="4699172675775169585">ຮູບ ແລະໄຟລ໌ທີ່ແຄຊ໌ແລ້ວ</translation>
+<translation id="471759387343966120">ໂດຍການສືບຕໍ່, ແມ່ນຖືວ່າທ່ານຍອມຮັບ <ph name="BEGIN_TOS_LINK" />ຂໍ້ກຳນົດບໍລິການ<ph name="END_TOS_LINK" /> ແລະ <ph name="BEGIN_PRIVACY_LINK" />ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ<ph name="END_PRIVACY_LINK" />.\nເພື່ອຊ່ວຍປັບປຸງແອັບ, Chrome ຈະສົ່ງຂໍ້ມູນການນຳໃຊ້ ແລະ ການຫຼົ້ມໄປໃຫ້ Google. <ph name="BEGIN_UMA_LINK" />ຈັດການ<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ໃຫ້ການແປພາສາ</translation>
 <translation id="4720023427747327413">ເປີດ​ຢູ່​ໃນ <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">ຊ່ວຍປັບປຸງ Chrome. <ph name="BEGIN_LINK" />ເຮັດການສຳຫຼວດ<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">ມີບັນຫາການພິມໜ້າ. ກະລຸນາລອງໃໝ່ອີກ.</translation>
 <translation id="6277722725779679269">ບໍ່ສາມາດອັບເດດການຕິດຕາມລາຄາໄດ້</translation>
 <translation id="6278428485366576908">ສີສັນໜ້າຕາ</translation>
+<translation id="6292420053234093573">ໂດຍການໃຊ້ Chrome, ແມ່ນຖືວ່າທ່ານເຫັນດີນຳ <ph name="BEGIN_LINK1" />ຂໍ້ກຳນົດການບໍລິການຂອງ Google<ph name="END_LINK1" /> ແລະ <ph name="BEGIN_LINK2" />ຂໍ້ກຳນົດການບໍລິການເພີ່ມເຕີມຂອງ Google Chrome ແລະ Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">ທ່ານສາມາດສົ່ງແຖບຕ່າງໆລະຫວ່າງອຸປະກອນທີ່ເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google ດຽວກັນໄດ້</translation>
 <translation id="6297765934698848803">ອົງການທີ່ຈັດການອຸປະກອນຂອງທ່ານໄດ້ປິດກ້ອງຂອງທ່ານແລ້ວ.</translation>
 <translation id="6301525844455696527">ຕິດຕາມລາຍການອ່ານຂອງທ່ານ</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">ໂປຣແກຣມທ່ອງເວັບນີ້ແມ່ນຈັດການໂດຍ <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">ເພີ່ມ​ບັນ​ຊີ</translation>
 <translation id="766587987807204883">ບົດຄວາມປາກົດຢູ່ບ່ອນນີ້ ເຊິ່ງທ່ານສາມາດອ່ານໄດ້ເຖິງແມ່ນໃນເວລາທີ່ທ່ານອອບລາຍຢູ່ກໍຕາມ</translation>
+<translation id="768232549260819724">ສຳເນົາ GIF ແລ້ວ</translation>
 <translation id="7682724950699840886">ລອງຄຳແນະນຳຕໍ່ໄປນີ້: ກວດໃຫ້ແນ່ໃຈວ່າມີພື້ນທີ່ຫວ່າງພຽງພໍໃນອຸປະກອນຂອງທ່ານ, ລອງສົ່ງອອກອີກຄັ້ງ.</translation>
 <translation id="768618399695552958">ໜ້າບາງໜ້າທີ່ທ່ານເຂົ້າແມ່ນຖືກໂຫຼດກ່ອນລ່ວງໜ້າແລ້ວ. ໜ້າຕ່າງໆອາດຖືກໂຫຼດກ່ອນລ່ວງໜ້າຜ່ານເຊີບເວີ Google ໃນເວລາລິ້ງມາຈາກເວັບໄຊ Google ໃດໜຶ່ງ.</translation>
 <translation id="7698359219371678927">ສ້າງອີເມວໃນ <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">ບໍ່ສາມາດດາວໂຫຼດໄຟລ໌ໄດ້ຢ່າງປອດໄພ</translation>
 <translation id="8571213806525832805">4 ອາທິດຜ່ານມາ</translation>
 <translation id="8572344201470131220">ສຳເນົາຮູບແລ້ວ</translation>
+<translation id="8580884231102452214">ສຳເນົາ GIF</translation>
 <translation id="8583805026567836021">ກໍາລັງລຶບຂໍ້ມູນບັນຊີ</translation>
 <translation id="859046281437143747">ຕິດຕາມລາຄາຈາກປຸ່ມຕົວເລືອກເພີ່ມເຕີມ</translation>
 <translation id="860043288473659153">ຊື່ຜູ້ຖືບັດ</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 2588b0e7..b49cb11 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# garso įrašo failas}one{# garso įrašo failas}few{# garso įrašo failai}many{# garso įrašo failo}other{# garso įrašo failų}}</translation>
 <translation id="265156376773362237">Įprastas išankstinis įkėlimas</translation>
 <translation id="2656405586795711023">Žiniatinklio programos</translation>
+<translation id="2689830683995595741">Naudodami „Chrome“ sutinkate su <ph name="BEGIN_LINK1" />„Google“ paslaugų teikimo sąlygomis<ph name="END_LINK1" /> ir <ph name="BEGIN_LINK2" />„Google Chrome“ bei „Chrome“ OS papildomomis paslaugų teikimo sąlygomis<ph name="END_LINK2" />. Taip pat taikomas <ph name="BEGIN_LINK3" />„Google“ paskyrų, kurios tvarkomos naudojant „Family Link“, privatumo pranešimas<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Naujiena: bendrinkite nuorodą, kuria galima slinkti į šį tekstą</translation>
 <translation id="2704606927547763573">Nukopij.</translation>
 <translation id="2707726405694321444">Atnaujinti puslapį</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ir dar <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ir dar <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ir dar <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}many{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ir dar <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ir dar <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Siųsti teksto pranešimą savo įrenginiams</translation>
 <translation id="4699172675775169585">Talpykloje esantys vaizdai ir failai</translation>
+<translation id="471759387343966120">Tęsdami sutinkate su <ph name="BEGIN_TOS_LINK" />paslaugų teikimo sąlygomis<ph name="END_TOS_LINK" /> ir <ph name="BEGIN_PRIVACY_LINK" />privatumo politika<ph name="END_PRIVACY_LINK" />.\nKad padėtų tobulinti programą, „Chrome“ siunčia naudojimo ir strigčių duomenis sistemai „Google“. <ph name="BEGIN_UMA_LINK" />Tvarkyti<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Siūlyti versti</translation>
 <translation id="4720023427747327413">Atidaryti naudojant „<ph name="PRODUCT_NAME" />“</translation>
 <translation id="4720982865791209136">Padėkite tobulinti „Chrome“. <ph name="BEGIN_LINK" />Dalyvaukite apklausoje<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Spausdinant puslapį kilo problema. Bandykite dar kartą.</translation>
 <translation id="6277722725779679269">Nepavyko atnaujinti stebimos kainos</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Naudodami „Chrome“ sutinkate su <ph name="BEGIN_LINK1" />„Google“ paslaugų teikimo sąlygomis<ph name="END_LINK1" /> ir <ph name="BEGIN_LINK2" />„Google Chrome“ bei „Chrome“ OS papildomomis paslaugų teikimo sąlygomis<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Galite siųsti skirtukus iš vieno įrenginio į kitą, kuriuose prisijungta prie tos pačios „Google“ paskyros</translation>
 <translation id="6297765934698848803">Jūsų įrenginį tvarkanti organizacija išjungė kamerą.</translation>
 <translation id="6301525844455696527">Skaitymo sąrašo peržiūra</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 84bd270..32997378 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# audio fails}zero{# audio faili}one{# audio fails}other{# audio faili}}</translation>
 <translation id="265156376773362237">Standarta iepriekšēja ielāde</translation>
 <translation id="2656405586795711023">Tīmekļa lietotnes</translation>
+<translation id="2689830683995595741">Izmantojot pārlūkprogrammu Chrome, jūs piekrītat <ph name="BEGIN_LINK1" />Google pakalpojumu sniegšanas noteikumiem<ph name="END_LINK1" /> un <ph name="BEGIN_LINK2" />Google Chrome un Chrome OS pakalpojumu sniegšanas papildu noteikumiem<ph name="END_LINK2" />. Ir spēkā arī <ph name="BEGIN_LINK3" />konfidencialitātes paziņojums Google kontiem, kas tiek pārvaldīti lietotnē Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Jaunums: varat kopīgot saiti uz šo tekstu</translation>
 <translation id="2704606927547763573">Nokopēts</translation>
 <translation id="2707726405694321444">Atsvaidzināt lapu</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />… un vēl <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}zero{<ph name="SHIPPING_OPTION_PREVIEW" />… un vēl <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />… un vēl <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />… un vēl <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Sūtīt īsziņu uz manām ierīcēm</translation>
 <translation id="4699172675775169585">Kešatmiņā ievietotie attēli un faili</translation>
+<translation id="471759387343966120">Turpinot jūs piekrītat <ph name="BEGIN_TOS_LINK" />pakalpojumu sniegšanas noteikumiem<ph name="END_TOS_LINK" /> un <ph name="BEGIN_PRIVACY_LINK" />konfidencialitātes\u00A0politikai<ph name="END_PRIVACY_LINK" />.\nLai palīdzētu uzlabot lietotni, uzņēmumam Google tiek sūtīti lietojuma un avāriju dati no pārlūkprogrammas Chrome. <ph name="BEGIN_UMA_LINK" />Pārvaldīt<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Piedāvāt tulkot</translation>
 <translation id="4720023427747327413">Atvērt, izmantojot <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Palīdziet uzlabot pārlūku Chrome. <ph name="BEGIN_LINK" />Atbildiet uz aptaujas jautājumiem<ph name="END_LINK" />.</translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Drukājot lapu, radās problēma. Lūdzu, mēģiniet vēlreiz.</translation>
 <translation id="6277722725779679269">Nevarēja atjaunināt cenas izsekošanu.</translation>
 <translation id="6278428485366576908">Motīvs</translation>
+<translation id="6292420053234093573">Izmantojot pārlūkprogrammu Chrome, jūs piekrītat <ph name="BEGIN_LINK1" />Google pakalpojumu sniegšanas noteikumiem<ph name="END_LINK1" /> un <ph name="BEGIN_LINK2" />Google Chrome un Chrome OS pakalpojumu sniegšanas papildu noteikumiem<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Varat pārsūtīt cilnes starp ierīcēm, kurās esat pierakstījies vienā un tajā pašā Google kontā.</translation>
 <translation id="6297765934698848803">Organizācija, kas pārvalda jūsu ierīci, ir izslēgusi kameru.</translation>
 <translation id="6301525844455696527">Neaizmirstiet ielūkoties savā lasīšanas sarakstā</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 89df212a..067c646f 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аудиодатотека}one{# аудиодатотека}other{# аудиодатотеки}}</translation>
 <translation id="265156376773362237">Стандардно вчитување однапред</translation>
 <translation id="2656405586795711023">Веб-апликации</translation>
+<translation id="2689830683995595741">Ако користите Chrome, се согласувате со <ph name="BEGIN_LINK1" />Условите за користење на Google<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />Дополнителните услови за користење на Google Chrome и Chrome OS<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Известувањето за приватност за сметките на Google управувани со Family Link<ph name="END_LINK3" /> исто така важи.</translation>
 <translation id="2702516483241149200">Ново: споделете линк што ќе ве одведе до текстов со лизгање</translation>
 <translation id="2704606927547763573">Копирано</translation>
 <translation id="2707726405694321444">Освежи ја страницата</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />… и уште <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />… и уште <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />… и уште <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Испратете SMS до вашите уреди</translation>
 <translation id="4699172675775169585">Кеширани слики и датотеки</translation>
+<translation id="471759387343966120">Ако продолжите, се согласувате со <ph name="BEGIN_TOS_LINK" />Условите за користење<ph name="END_TOS_LINK" /> и <ph name="BEGIN_PRIVACY_LINK" />Политикатa за приватност<ph name="END_PRIVACY_LINK" />.\nЗа да се подобри апликацијата, Chrome испраќа податоци за користењето и падовите во Google. <ph name="BEGIN_UMA_LINK" />Управувајте<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Понудувај превод</translation>
 <translation id="4720023427747327413">Отвори во <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Помогнете да се подобри Chrome. <ph name="BEGIN_LINK" />Учествувајте во анкетата<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Настана проблем при печатење на страницата. Обидете се повторно.</translation>
 <translation id="6277722725779679269">Не може да се ажурира „Следете ја цената“</translation>
 <translation id="6278428485366576908">Тема</translation>
+<translation id="6292420053234093573">Ако користите Chrome, се согласувате со <ph name="BEGIN_LINK1" />Условите за користење на Google<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />Дополнителните услови за користење на Google Chrome и Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Може да испраќате картички меѓу уредите што се најавени со истата сметка на Google</translation>
 <translation id="6297765934698848803">Организацијата што управува со вашиот уред ви ја исклучила камерата.</translation>
 <translation id="6301525844455696527">Надоместете за пропуштеното од списокот за читање</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Со прелистувачов управува <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Додајте сметка</translation>
 <translation id="766587987807204883">Статиите се појавуваат тука, а може да се читаат кога сте офлајн</translation>
+<translation id="768232549260819724">GIF-датотеката е копирана</translation>
 <translation id="7682724950699840886">Испробајте ги следниве совети: проверете дали има доволно простор на уредот, обидете се да ги извезете повторно.</translation>
 <translation id="768618399695552958">Некои од страниците што ги посетувате се вчитани однапред. Страниците може да се вчитани однапред преку серверите на Google кога се поврзани од сајт на Google.</translation>
 <translation id="7698359219371678927">Создајте е-пошта во <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Датотеката не може да се преземе безбедно</translation>
 <translation id="8571213806525832805">Изминатите 4 седмици</translation>
 <translation id="8572344201470131220">Сликата е копирана</translation>
+<translation id="8580884231102452214">Копирај ја GIF-датотеката</translation>
 <translation id="8583805026567836021">Чистење податоци за сметка</translation>
 <translation id="859046281437143747">Следете ја цената преку копчето „Повеќе опции“</translation>
 <translation id="860043288473659153">Име на сопственикот на картичката</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 7245b27..979ff08 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ഓഡിയോ ഫയൽ}other{# ഓഡിയോ ഫയലുകള്‍}}</translation>
 <translation id="265156376773362237">സാധാരണ മുൻകൂട്ടി ലോഡ് ചെയ്യൽ</translation>
 <translation id="2656405586795711023">വെബ് ആപ്പുകൾ</translation>
+<translation id="2689830683995595741">Chrome ഉപയോഗിക്കുന്നതിലൂടെ, നിങ്ങൾ <ph name="BEGIN_LINK1" />Google സേവന നിബന്ധനകളും<ph name="END_LINK1" /> <ph name="BEGIN_LINK2" />Google Chrome, Chrome OS അധിക സേവന നിബന്ധനകളും<ph name="END_LINK2" /> അംഗീകരിക്കുന്നു. <ph name="BEGIN_LINK3" />Family Link ഉപയോഗിച്ച് മാനേജ് ചെയ്യുന്ന Google അക്കൗണ്ടുകൾക്കുള്ള സ്വകാര്യതാ അറിയിപ്പും<ph name="END_LINK3" /> ബാധകമാണ്.</translation>
 <translation id="2702516483241149200">പുതിയത്: ഈ ടെക്സ്റ്റിലേക്ക് സ്ക്രോൾ ചെയ്യുന്ന ഒരു ലിങ്ക് പങ്കിടുക</translation>
 <translation id="2704606927547763573">പകർത്തി</translation>
 <translation id="2707726405694321444">പേജ് റീഫ്രഷ് ചെയ്യുക</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 എന്നതും ‌മറ്റ് <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> പേയ്‌മെന്റ് രീതികളും}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 എന്നതും ‌മറ്റ് <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> പേയ്‌മെന്റ് രീതികളും}}</translation>
 <translation id="4696983787092045100">ഉപകരണങ്ങളിലേക്ക് അയയ്ക്കൂ</translation>
 <translation id="4699172675775169585">കാഷെ ചെയ്‌ത ചിത്രങ്ങളും ഫയലുകളും</translation>
+<translation id="471759387343966120">തുടരുന്നതിലൂടെ, നിങ്ങൾ <ph name="BEGIN_TOS_LINK" />സേവന നിബന്ധനകളും<ph name="END_TOS_LINK" /> <ph name="BEGIN_PRIVACY_LINK" />സ്വകാര്യതാ നയവും<ph name="END_PRIVACY_LINK" /> അംഗീകരിക്കുന്നു.\nആപ്പ് മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്നതിന്, Google-ന് ഉപയോഗ ഡാറ്റയും ക്രാഷ് ഡാറ്റയും Chrome അയയ്ക്കുന്നു. <ph name="BEGIN_UMA_LINK" />മാനേജ് ചെയ്യുക<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">വിവർത്തനം ചെയ്യാനുള്ള ഓഫർ</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />-ൽ തുറക്കുക</translation>
 <translation id="4720982865791209136">Chrome മെച്ചപ്പെടുത്താൻ സഹായിക്കുക. <ph name="BEGIN_LINK" />സർവേയിൽ പങ്കെടുക്കുക.<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">പേജ് പ്രിന്റുചെയ്യുന്നതിൽ ഒരു പ്രശ്‌നമുണ്ടായി. വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="6277722725779679269">നിരക്ക് ട്രാക്ക് ചെയ്യൽ അപ്ഡേറ്റ് ചെയ്യാനായില്ല</translation>
 <translation id="6278428485366576908">തീം</translation>
+<translation id="6292420053234093573">Chrome ഉപയോഗിക്കുന്നതിലൂടെ, നിങ്ങൾ <ph name="BEGIN_LINK1" />Google സേവന നിബന്ധനകളും<ph name="END_LINK1" /> <ph name="BEGIN_LINK2" />Google Chrome, Chrome OS അധിക സേവന നിബന്ധനകളും<ph name="END_LINK2" /> അംഗീകരിക്കുന്നു.</translation>
 <translation id="6294610283659775533">ഒരേ Google അക്കൗണ്ടിൽ സൈൻ ഇൻ ചെയ്തിരിക്കുന്ന ഉപകരണങ്ങൾ തമ്മിൽ നിങ്ങൾക്ക് ടാബുകൾ അയയ്ക്കാനാകും</translation>
 <translation id="6297765934698848803">നിങ്ങളുടെ ഉപകരണം മാനേജ് ചെയ്യുന്ന ഓർഗനൈസേഷൻ നിങ്ങളുടെ ക്യാമറ ഓഫാക്കി.</translation>
 <translation id="6301525844455696527">നിങ്ങളുടെ വായനാ ലിസ്‌റ്റ് കാണൂ</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 a02881c..e69c203 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Аудио файл}other{# Аудио файл}}</translation>
 <translation id="265156376773362237">Стандарт урьдчилан ачаалал</translation>
 <translation id="2656405586795711023">Веб программууд</translation>
+<translation id="2689830683995595741">Chrome-г ашигласнаар та <ph name="BEGIN_LINK1" />Google-н Үйлчилгээний нөхцөл<ph name="END_LINK1" /> ба <ph name="BEGIN_LINK2" />Google Chrome болон Chrome үйлдлийн системийн Үйлчилгээний нэмэлт нөхцөлийг<ph name="END_LINK2" /> зөвшөөрч байна. <ph name="BEGIN_LINK3" />Family Link-р удирддаг Google Бүртгэлийн нууцлалын сануулгыг<ph name="END_LINK3" /> мөн хэрэгжүүлнэ.</translation>
 <translation id="2702516483241149200">Шинэ: энэ текст рүү гүйлгэж очих холбоосыг хуваалцаарай</translation>
 <translation id="2704606927547763573">Хуулсан</translation>
 <translation id="2707726405694321444">Хуудсыг дахин шинэчлэх</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 болон бусад <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 болон бусад <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Төхөөрөмжүүддээ текст илгээх</translation>
 <translation id="4699172675775169585">Кэшлсэн дүрс ба файл</translation>
+<translation id="471759387343966120">Үргэлжлүүлснээр та <ph name="BEGIN_TOS_LINK" />Үйлчилгээний нөхцөл<ph name="END_TOS_LINK" /> болон <ph name="BEGIN_PRIVACY_LINK" />Нууцлалын\u00A0бодлогыг<ph name="END_PRIVACY_LINK" /> зөвшөөрч байна.\nТухайн аппыг сайжруулахад туслахын тулд Chrome ашиглалт болон гэмтлийн өгөгдлийг Google-д илгээнэ. <ph name="BEGIN_UMA_LINK" />Удирдах<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Орчуулахыг санал болгох</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />-д нээлттэй</translation>
 <translation id="4720982865791209136">Chrome-г сайжруулахад тусална уу. <ph name="BEGIN_LINK" />Судалгаанд оролцоно уу<ph name="END_LINK" /></translation>
@@ -906,6 +908,7 @@
 <translation id="6277522088822131679">Энэ хуудсыг хэвлэхэд алдаа гарсан байна. Та дахин ачаална уу.</translation>
 <translation id="6277722725779679269">Үнэ хянахыг шинэчилж чадсангүй</translation>
 <translation id="6278428485366576908">Загвар</translation>
+<translation id="6292420053234093573">Chrome-г ашигласнаар та <ph name="BEGIN_LINK1" />Google-н Үйлчилгээний нөхцөл<ph name="END_LINK1" /> ба <ph name="BEGIN_LINK2" />Google Chrome болон Chrome үйлдлийн системийн Үйлчилгээний нэмэлт нөхцөлийг<ph name="END_LINK2" /> зөвшөөрч байна.</translation>
 <translation id="6294610283659775533">Та ижил Google Бүртгэлээр нэвтэрсэн төхөөрөмжүүдийн хооронд таб илгээх боломжтой</translation>
 <translation id="6297765934698848803">Таны төхөөрөмжийг удирддаг байгууллага таны камерыг унтраасан байна.</translation>
 <translation id="6301525844455696527">Унших жагсаалтаа гүйцээрэй</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 7f7eb0d..595fcd8d 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ऑडिओ फाइल}other{# ऑडिओ फाइल}}</translation>
 <translation id="265156376773362237">साधारण प्रीलोडिंग</translation>
 <translation id="2656405586795711023">वेब अ‍ॅप्स</translation>
+<translation id="2689830683995595741">Chrome वापरून, तुम्ही <ph name="BEGIN_LINK1" />Google सेवा अटी<ph name="END_LINK1" /> आणि <ph name="BEGIN_LINK2" />Google Chrome व Chrome OS अतिरिक्त सेवा अटी<ph name="END_LINK2" /> यांना सहमती दर्शवता. <ph name="BEGIN_LINK3" />Family Link सोबत व्यवस्थापित केलेली Google खाती यांसाठी गोपनीयतेची सूचना<ph name="END_LINK3" /> देखील लागू होते.</translation>
 <translation id="2702516483241149200">नवीन: या मजकुरापर्यंत स्क्रोल करणारी लिंक शेअर करा</translation>
 <translation id="2704606927547763573">कॉपी केले</translation>
 <translation id="2707726405694321444">पृष्ठ रिफ्रेश करा</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 आणि <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> अधिक}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 आणि <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> अधिक}}</translation>
 <translation id="4696983787092045100">तुमच्या डिव्हाइसवर एसएमएस पाठवा</translation>
 <translation id="4699172675775169585">कॅशे   इमेज आणि फाइल</translation>
+<translation id="471759387343966120">पुढे सुरू ठेवून, तुम्ही <ph name="BEGIN_TOS_LINK" />सेवा अटी<ph name="END_TOS_LINK" /> आणि <ph name="BEGIN_PRIVACY_LINK" />गोपनीयता\u00A0धोरण<ph name="END_PRIVACY_LINK" />यांना सहमती दर्शवता.\nअ‍ॅपमध्ये सुधारणा करण्यात मदत करण्यासाठी, Chrome हे Google ला वापर आणि क्रॅश डेटा पाठवते. <ph name="BEGIN_UMA_LINK" />व्यवस्थापित करा<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">भाषांतर करण्यास ऑफर करा</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> मध्‍ये उघडा</translation>
 <translation id="4720982865791209136">Chrome सुधारण्यात मदत करा. <ph name="BEGIN_LINK" />सर्वेक्षण करा<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">पृष्‍ठ प्रिंट करण्‍यात एक समस्‍या होती. कृपया पुन्‍हा प्रयत्न करा.</translation>
 <translation id="6277722725779679269">माग ठेवलेली किंमत अपडेट करता आली नाही</translation>
 <translation id="6278428485366576908">थीम</translation>
+<translation id="6292420053234093573">Chrome वापरून, तुम्ही <ph name="BEGIN_LINK1" />Google सेवा अटी<ph name="END_LINK1" /> आणि <ph name="BEGIN_LINK2" />Google Chrome व Chrome OS अतिरिक्त सेवा अटी<ph name="END_LINK2" /> यांना सहमती दर्शवता.</translation>
 <translation id="6294610283659775533">तुम्ही हेच Google खाते वापरून साइन केलेल्या डिव्हाइस दरम्यान टॅब पाठवू शकता</translation>
 <translation id="6297765934698848803">तुमचे डिव्हाइस व्यवस्थापित करणार्‍या संस्थेने तुमचा कॅमेरा बंद केला आहे.</translation>
 <translation id="6301525844455696527">वाचन सूचीसह, तुमच्या राहून गेलेल्या वाचनाची भरपाई करा</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">हा ब्राउझर <ph name="PARENT_NAME" /> द्वारे व्यवस्थापित केला जातो.</translation>
 <translation id="7665369617277396874">खाते जोडा</translation>
 <translation id="766587987807204883">तुम्ही ऑफलाइन असताना देखील तुम्ही वाचू शकता असे लेख येथे दिसतात</translation>
+<translation id="768232549260819724">GIF कॉपी केली</translation>
 <translation id="7682724950699840886">खालील टिपा वापरून पहा: तुमच्या डिव्हाइसवर पुरेशी जागा असल्याची खात्री करा, पुन्हा एक्सपोर्ट करण्याचा प्रयत्न करा.</translation>
 <translation id="768618399695552958">तुम्ही भेट देत असलेली काही पेज प्रीलोड केलेली आहेत. Google साइटवरून लिंक केल्यावर पेज Google सर्व्हरद्वारे प्रीलोड केली जाऊ शकतात.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> मध्ये ईमेल तयार करा</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">फाइल सुरक्षितपणे डाउनलोड केली जाऊ शकत नाही</translation>
 <translation id="8571213806525832805">मागील 4 आठवड्यांमधील</translation>
 <translation id="8572344201470131220">इमेज कॉपी केली</translation>
+<translation id="8580884231102452214">GIF कॉपी करा</translation>
 <translation id="8583805026567836021">खाते डेटा साफ करत आहे</translation>
 <translation id="859046281437143747">आणखी पर्याय बटणावरून किमतीचा माग ठेवा</translation>
 <translation id="860043288473659153">कार्डधारकाचे नाव</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 5234415..dd16122 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Fail audio}other{# Fail audio}}</translation>
 <translation id="265156376773362237">Pramuat standard</translation>
 <translation id="2656405586795711023">Apl web</translation>
+<translation id="2689830683995595741">Dengan menggunakan Chrome, anda bersetuju menerima <ph name="BEGIN_LINK1" />Syarat Perkhidmatan Google<ph name="END_LINK1" /> dan <ph name="BEGIN_LINK2" />Syarat Perkhidmatan Tambahan Google Chrome dan OS Chrome<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Notis Privasi untuk Akaun Google yang Diurus dengan Family Link<ph name="END_LINK3" /> juga terpakai.</translation>
 <translation id="2702516483241149200">Baharu: kongsi pautan yang menatal ke teks ini</translation>
 <translation id="2704606927547763573">Disalin</translation>
 <translation id="2707726405694321444">Muat semula halaman</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 dan <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> lagi}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 dan <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> lagi}}</translation>
 <translation id="4696983787092045100">Hantar teks ke Peranti Anda</translation>
 <translation id="4699172675775169585">Imej dan fail dicache</translation>
+<translation id="471759387343966120">Dengan meneruskan penggunaan, anda bersetuju menerima <ph name="BEGIN_TOS_LINK" />Syarat Perkhidmatan<ph name="END_TOS_LINK" /> dan <ph name="BEGIN_PRIVACY_LINK" />Dasar\u00A0Privasi<ph name="END_PRIVACY_LINK" />.\nUntuk membantu dalam usaha meningkatkan apl, Chrome menghantar data penggunaan dan ranap sistem kepada Google. <ph name="BEGIN_UMA_LINK" />Urus<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Tawaran untuk menterjemah</translation>
 <translation id="4720023427747327413">Buka dalam <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Bantu meningkatkan Chrome. <ph name="BEGIN_LINK" />Jawab tinjauan<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Terdapat masalah semasa mencetak halaman. Sila cuba sekali lagi.</translation>
 <translation id="6277722725779679269">Tidak dapat mengemas kini Penjejakan harga</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Dengan menggunakan Chrome, anda bersetuju menerima <ph name="BEGIN_LINK1" />Syarat Perkhidmatan Google<ph name="END_LINK1" /> dan <ph name="BEGIN_LINK2" />Syarat Perkhidmatan Tambahan Google Chrome dan OS Chrome<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Anda boleh menghantar tab antara peranti yang dilog masuk dengan Google Account yang sama</translation>
 <translation id="6297765934698848803">Organisasi yang mengurus peranti anda telah mematikan kamera anda.</translation>
 <translation id="6301525844455696527">Ikuti senarai bacaan anda</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 40195d0..c1e13f61 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{အသံဖိုင် # ဖိုင်}other{အသံဖိုင် # ဖိုင်}}</translation>
 <translation id="265156376773362237">ပုံမှန် ကြိုဖွင့်မှု</translation>
 <translation id="2656405586795711023">ဝဘ်အက်ပ်များ</translation>
+<translation id="2689830683995595741">Chrome ကို အသုံးပြုခြင်းဖြင့် သင်သည် <ph name="BEGIN_LINK1" />Google ဝန်ဆောင်မှုဆိုင်ရာ စည်းမျဉ်းများ<ph name="END_LINK1" /> နှင့် <ph name="BEGIN_LINK2" />Google Chrome နှင့် Chrome OS ထပ်တိုးဝန်ဆောင်မှု စည်းမျဉ်းများ<ph name="END_LINK2" /> ကို သဘောတူရာရောက်သည်။ <ph name="BEGIN_LINK3" />Family Link ဖြင့် ကြီးကြပ်ထားသည့် Google Account များအတွက် ပုဂ္ဂိုလ်ရေးဆိုင်ရာ ကြေညာချက်<ph name="END_LINK3" /> လည်း အကျုံးဝင်သည်။</translation>
 <translation id="2702516483241149200">အသစ်- ဤစာသားသို့ လှိမ့်သွားသည့် လင့်ခ်ကို မျှဝေနိုင်သည်</translation>
 <translation id="2704606927547763573">ကူးယူပြီးပါပြီ</translation>
 <translation id="2707726405694321444">စာမျက်နှာကို ဆန်းသစ်ယူရန်</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 နှင့် နောက်ထပ် <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ခု}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 နှင့် နောက်ထပ် <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ခု}}</translation>
 <translation id="4696983787092045100">'သင့်ကိရိယာများ' သို့ စာတိုပို့ရန်</translation>
 <translation id="4699172675775169585">ကက်ရှ်လုပ်ထားသည့် ပုံများနှင့် ဖိုင်များ</translation>
+<translation id="471759387343966120">ရှေ့ဆက်ခြင်းအားဖြင့် သင်သည် <ph name="BEGIN_TOS_LINK" />ဝန်ဆောင်မှုစည်းမျဉ်း<ph name="END_TOS_LINK" /> နှင့် <ph name="BEGIN_PRIVACY_LINK" />ပုဂ္ဂိုလ်ရေးဆိုင်ရာ\u00A0မူဝါဒ<ph name="END_PRIVACY_LINK" /> တို့ကို သဘောတူရာ ရောက်ပါသည်။\nအက်ပ်ပိုကောင်းလာစေရန် Chrome သည်အသုံးပြုမှုနှင့် ရပ်တန့်မှုဒေတာများကို Google သို့ပို့ပါသည်။ <ph name="BEGIN_UMA_LINK" />စီမံရန်<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ဘာသာပြန်ရန် ပေးအပ်ချက်</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> တွင်ဖွင့်မည်</translation>
 <translation id="4720982865791209136">Chrome ပိုမိုကောင်းမွန်လာစေရန် ကူညီပါ။ <ph name="BEGIN_LINK" />စစ်တမ်းဖြေဆိုပါ<ph name="END_LINK" /></translation>
@@ -906,6 +908,7 @@
 <translation id="6277522088822131679">စာမျက်နှာ ပရင်ထုတ်ရာတွင် ပြဿနာရှိသည်။ ကျေးဇူးပြု၍ နောက်မှ ကြိုးစားပါ။</translation>
 <translation id="6277722725779679269">‘ဈေးနှုန်းစောင့်ကြည့်ခြင်း’ ကို အပ်ဒိတ်လုပ်၍မရပါ</translation>
 <translation id="6278428485366576908">အပြင်အဆင်</translation>
+<translation id="6292420053234093573">Chrome ကို အသုံးပြုခြင်းဖြင့် သင်သည် <ph name="BEGIN_LINK1" />Google ဝန်ဆောင်မှုဆိုင်ရာ စည်းမျဉ်းများ<ph name="END_LINK1" /> နှင့် <ph name="BEGIN_LINK2" />Google Chrome နှင့် Chrome OS ထပ်တိုးဝန်ဆောင်မှု စည်းမျဉ်းများ<ph name="END_LINK2" /> ကို သဘောတူရာရောက်သည်။</translation>
 <translation id="6294610283659775533">တူညီသည့် Google Account ဖြင့် လက်မှတ်ထိုး ဝင်ထားသည့်စက်များအကြား တဘ်များပို့နိုင်သည်</translation>
 <translation id="6297765934698848803">သင့်စက်ကိုစီမံခန့်ခွဲသည့် အဖွဲ့အစည်းက ကင်မရာကို ပိတ်ထားသည်။</translation>
 <translation id="6301525844455696527">သင်၏ဖတ်ရန်စာရင်းကို အမီလိုက်ကြည့်ခြင်း</translation>
@@ -1170,6 +1173,7 @@
 <translation id="7663313374500954251">ဤဘရောင်ဇာကို <ph name="PARENT_NAME" /> ကစီမံသည်။</translation>
 <translation id="7665369617277396874">အကောင့် ထည့်ရန်</translation>
 <translation id="766587987807204883">သင်အော့ဖ်လိုင်းဖြစ်နေသော်လည်း ဤနေရာရှိ ဆောင်းပါးများကို ဖတ်နိုင်သည်</translation>
+<translation id="768232549260819724">GIF ကူးယူပြီးပါပြီ</translation>
 <translation id="7682724950699840886">အောက်ပါအကြံပြုချက်များကို စမ်းကြည့်ပါ− သင့်စက်ပစ္စည်းပေါ်တွင် နေရာအလုံအလောက်ရှိ မရှိ စစ်ဆေးပြီး ထပ်မံ၍ တင်ပို့ကြည့်ပါ</translation>
 <translation id="768618399695552958">သင်ဝင်ကြည့်သော စာမျက်နှာတစ်ချို့ကို ကြိုဖွင့်ထားသည်။ Google ဝဘ်ဆိုက်တစ်ခုမှ လင့်ခ်ချိတ်သည့်အခါ Google ဆာဗာများမှတစ်ဆင့် စာမျက်နှာများကို ကြိုဖွင့်ထားနိုင်ပါသည်။</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" />  တွင် အီးမေးလ်ရေးပါ</translation>
@@ -1348,6 +1352,7 @@
 <translation id="8570677896027847510">ဖိုင်ကို လုံခြုံစွာ ဒေါင်းလုဒ်လုပ်၍မရပါ</translation>
 <translation id="8571213806525832805">ပြီးခဲ့သည့် ၄ ပတ်</translation>
 <translation id="8572344201470131220">ပုံကို ကူးယူပြီး</translation>
+<translation id="8580884231102452214">GIF ကူးယူရန်</translation>
 <translation id="8583805026567836021">အကောင့် ဒေတာအားရှင်းလင်းနေ</translation>
 <translation id="859046281437143747">‘နောက်ထပ်’ ရွေးစရာများခလုတ်မှနေ၍ ဈေးနှုန်းကို စောင့်ကြည့်နိုင်သည်</translation>
 <translation id="860043288473659153">ကတ်ကိုင်ဆောင်သူအမည်</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 8616863f..1915c44 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# अडियो फाइल}other{# अडियो फाइलहरू}}</translation>
 <translation id="265156376773362237">पेज प्रिलोड गर्ने डिफल्ट मोड</translation>
 <translation id="2656405586795711023">वेब एपहरू</translation>
+<translation id="2689830683995595741">Chrome प्रयोग गरेर तपाईं <ph name="BEGIN_LINK1" />Google का सेवाका सर्तहरू<ph name="END_LINK1" /> र <ph name="BEGIN_LINK2" />Google Chrome र Chrome OS का सेवाका अतिरिक्त सर्तहरू<ph name="END_LINK2" />मा सहमति जनाउनुहुन्छ। <ph name="BEGIN_LINK3" />Family Link मार्फत व्यवस्थापन गरिएका Google खाताहरूको गोपनीयता सूचना<ph name="END_LINK3" /> पनि लागू हुन्छ।</translation>
 <translation id="2702516483241149200">नयाँ: स्क्रोल गरी यो पाठसम्म लैजाने लिंक सेयर गर्नुहोस्</translation>
 <translation id="2704606927547763573">प्रतिलिपि गरियो</translation>
 <translation id="2707726405694321444">पृष्ठ ताजा गर्नुहोस्</translation>
@@ -624,6 +625,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 र <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> थप}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 र <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> थप}}</translation>
 <translation id="4696983787092045100">आफ्ना यन्त्रहरूमा टेक्स्ट म्यासेज पठाउनुहोस्</translation>
 <translation id="4699172675775169585">क्यास गरिएका फोटो र फाइलहरू</translation>
+<translation id="471759387343966120">तपाईंले जारी राख्नुभयो भने तपाईं <ph name="BEGIN_TOS_LINK" />सेवाका सर्तहरू<ph name="END_TOS_LINK" /> र <ph name="BEGIN_PRIVACY_LINK" />गोपनीयता\u00A0नीति<ph name="END_PRIVACY_LINK" />मा सहमत हुनुहुन्छ भन्ने अर्थ लाग्छ।\nChrome ले Google लाई यो एपको गुणस्तर सुधार्न सघाउने प्रयोजनका लागि यो एपको प्रयोगसम्बन्धी डेटा र क्र्यास रिपोर्ट पठाउँछ। <ph name="BEGIN_UMA_LINK" />व्यवस्थापन गर्नुहोस्<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">अनुवादको गर्न प्रस्ताव गर्नुहोस्</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />मा खोल्नुहोस्</translation>
 <translation id="4720982865791209136">Chrome लाई सुधार्न मद्दत गर्नुहोस्। <ph name="BEGIN_LINK" />सर्वेक्षणमा भाग लिनुहोस्।<ph name="END_LINK" /></translation>
@@ -906,6 +908,7 @@
 <translation id="6277522088822131679">पृष्ठ प्रिन्टिङ गर्नमा एक समस्या थियो। कृपया पुन: प्रयास गर्नुहोस्।</translation>
 <translation id="6277722725779679269">ट्रयाक गरिएको मूल्य बदल्न सकिएन</translation>
 <translation id="6278428485366576908">विषयवस्तु</translation>
+<translation id="6292420053234093573">Chrome प्रयोग गरेर तपाईं <ph name="BEGIN_LINK1" />Google का सेवाका सर्तहरू<ph name="END_LINK1" /> र <ph name="BEGIN_LINK2" />Google Chrome र Chrome OS का सेवाका अतिरिक्त सर्तहरू<ph name="END_LINK2" />मा सहमति जनाउनुहुन्छ।</translation>
 <translation id="6294610283659775533">तपाईं उही Google खातामार्फत साइन इन गरिएका एउटा डिभाइसबाट अर्को डिभाइसमा ट्याबहरू पठाउन सक्नुहुन्छ</translation>
 <translation id="6297765934698848803">तपाईंको डिभाइसको व्यवस्थापन गर्ने सङ्गठनले तपाईंको डिभाइसको क्यामेरा निष्क्रिय पारेको छ।</translation>
 <translation id="6301525844455696527">आफ्नो अध्ययन सूची हेर्न नभुल्नुहोस्</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 9c3e02d..1a50efbe 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# audiobestand}other{# audiobestanden}}</translation>
 <translation id="265156376773362237">Standaard vooraf laden</translation>
 <translation id="2656405586795711023">Web-apps</translation>
+<translation id="2689830683995595741">Door Chrome te gebruiken, ga je akkoord met de <ph name="BEGIN_LINK1" />servicevoorwaarden van Google<ph name="END_LINK1" /> en met de <ph name="BEGIN_LINK2" />aanvullende servicevoorwaarden van Google Chrome en Chrome OS<ph name="END_LINK2" />. Ook is de <ph name="BEGIN_LINK3" />privacyverklaring voor Google-accounts die worden beheerd met Family Link<ph name="END_LINK3" /> van toepassing.</translation>
 <translation id="2702516483241149200">Nieuw: deel een link die rechtstreeks naar deze tekst scrollt</translation>
 <translation id="2704606927547763573">Gekopieerd</translation>
 <translation id="2707726405694321444">Pagina vernieuwen</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 en nog <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> andere}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 en nog <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> andere}}</translation>
 <translation id="4696983787092045100">Tekst naar je apparaten verzenden</translation>
 <translation id="4699172675775169585">Gecachte afbeeldingen en bestanden</translation>
+<translation id="471759387343966120">Door verder te gaan, ga je akkoord met de <ph name="BEGIN_TOS_LINK" />Servicevoorwaarden<ph name="END_TOS_LINK" /> en het <ph name="BEGIN_PRIVACY_LINK" />Privacybeleid<ph name="END_PRIVACY_LINK" />.\nChrome stuurt gebruiks- en crashgegevens naar Google om de app te helpen verbeteren. <ph name="BEGIN_UMA_LINK" />Beheren<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Aanbieden om te vertalen</translation>
 <translation id="4720023427747327413">Openen in <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Help bij het verbeteren van Chrome. <ph name="BEGIN_LINK" />Enquête invullen<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Er is een fout opgetreden bij het afdrukken van de pagina. Probeer het opnieuw.</translation>
 <translation id="6277722725779679269">Kan Prijs volgen niet updaten</translation>
 <translation id="6278428485366576908">Thema</translation>
+<translation id="6292420053234093573">Door Chrome te gebruiken, ga je akkoord met de <ph name="BEGIN_LINK1" />servicevoorwaarden van Google<ph name="END_LINK1" /> en met de <ph name="BEGIN_LINK2" />aanvullende servicevoorwaarden van Google Chrome en Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Je kunt tabbladen sturen tussen apparaten waarop je bent ingelogd met hetzelfde Google-account.</translation>
 <translation id="6297765934698848803">De organisatie die je apparaat beheert, heeft de camera uitgezet.</translation>
 <translation id="6301525844455696527">Lees wat van je leeslijst</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Deze browser wordt beheerd door <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Account toevoegen</translation>
 <translation id="766587987807204883">Hier zie je artikelen die je zelfs kunt lezen wanneer je offline bent</translation>
+<translation id="768232549260819724">Gif gekopieerd</translation>
 <translation id="7682724950699840886">Probeer de volgende tips: zorg dat er voldoende ruimte op je apparaat beschikbaar is, probeer opnieuw te exporteren.</translation>
 <translation id="768618399695552958">Sommige pagina's die je bezoekt, zijn vooraf geladen. Pagina's kunnen vooraf worden geladen via Google-servers als ernaar wordt gelinkt vanaf een Google-site.</translation>
 <translation id="7698359219371678927">E-mail in <ph name="APP_NAME" /> maken</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Bestand kan niet beveiligd worden gedownload</translation>
 <translation id="8571213806525832805">Afgelopen 4 weken</translation>
 <translation id="8572344201470131220">Afbeelding gekopieerd</translation>
+<translation id="8580884231102452214">Gif kopiëren</translation>
 <translation id="8583805026567836021">Accountgegevens wissen</translation>
 <translation id="859046281437143747">Volg de prijs via de knop Meer opties</translation>
 <translation id="860043288473659153">Naam kaarthouder</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 7f60734a..a45954a5 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# lydfil}other{# lydfiler}}</translation>
 <translation id="265156376773362237">Standard forhåndslasting</translation>
 <translation id="2656405586795711023">Nettprogrammer</translation>
+<translation id="2689830683995595741">Ved å bruke Chrome samtykker du i <ph name="BEGIN_LINK1" />Googles vilkår for bruk<ph name="END_LINK1" /> og <ph name="BEGIN_LINK2" />tilleggsvilkårene for bruk av Google Chrome og Chrome OS<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Merknaden om personvern for Google-kontoer som administreres via Family Link<ph name="END_LINK3" />, gjelder også.</translation>
 <translation id="2702516483241149200">Ny: del en link som ruller til denne teksten</translation>
 <translation id="2704606927547763573">Kopiert</translation>
 <translation id="2707726405694321444">Last inn siden på nytt</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> til}other{<ph name="SHIPPING_OPTION_PREVIEW" /> og <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> til}}</translation>
 <translation id="4696983787092045100">Send tekst til enhetene dine</translation>
 <translation id="4699172675775169585">Bufrede bilder og filer</translation>
+<translation id="471759387343966120">Ved å fortsette godtar du <ph name="BEGIN_TOS_LINK" />vilkårene for bruk<ph name="END_TOS_LINK" /> og <ph name="BEGIN_PRIVACY_LINK" />personvernreglene<ph name="END_PRIVACY_LINK" />.\nFor å bidra til å gjøre appen bedre sender Chrome bruks- og krasjrelaterte data til Google. <ph name="BEGIN_UMA_LINK" />Administrer<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Tilby å oversette</translation>
 <translation id="4720023427747327413">Åpne i <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Hjelp til med å forbedre Chrome. <ph name="BEGIN_LINK" />Delta i undersøkelsen<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Det oppsto et problem med å skrive ut siden. Prøv på nytt.</translation>
 <translation id="6277722725779679269">Kunne ikke oppdatere Spor pris</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Ved å bruke Chrome samtykker du i <ph name="BEGIN_LINK1" />Googles vilkår for bruk<ph name="END_LINK1" /> og <ph name="BEGIN_LINK2" />tilleggsvilkårene for bruk av Google Chrome og Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Du kan sende faner mellom enheter som er logget på med samme Google-konto</translation>
 <translation id="6297765934698848803">Organisasjonen som administrerer enheten din, har slått av kameraet.</translation>
 <translation id="6301525844455696527">Kom à jour med leselisten din</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Denne nettleseren administreres av <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Legg til konto</translation>
 <translation id="766587987807204883">Her vises artikler, som du kan lese selv om du er uten nett</translation>
+<translation id="768232549260819724">GIF-en er kopiert</translation>
 <translation id="7682724950699840886">Prøv dette: Sørg for at det er nok plass på enheten, og prøv å eksportere på nytt.</translation>
 <translation id="768618399695552958">Noen av sidene du besøker, er forhåndslastede. Sider kan bli forhåndslastet via Googles tjenere når de er linket på Google-nettsteder.</translation>
 <translation id="7698359219371678927">Opprett en e-post i <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Filen kan ikke lastes ned sikkert</translation>
 <translation id="8571213806525832805">Siste 4 uker</translation>
 <translation id="8572344201470131220">Bildet ble kopiert</translation>
+<translation id="8580884231102452214">Kopier GIF</translation>
 <translation id="8583805026567836021">Fjerner kontodata …</translation>
 <translation id="859046281437143747">Spor prisen med Flere alternativer-knappen</translation>
 <translation id="860043288473659153">Kortinnehavers navn</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 15022bb6..9bbd30fb 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{#ଟି ଅଡିଓ ଫାଇଲ୍‌}other{#ଟି ଅଡିଓ ଫାଇଲ୍‌}}</translation>
 <translation id="265156376773362237">ଷ୍ଟାଣ୍ଡାର୍ଡ ପ୍ରିଲୋଡିଂ</translation>
 <translation id="2656405586795711023">ୱେବ୍ ଆପଗୁଡ଼ିକ</translation>
+<translation id="2689830683995595741">Chrome ବ୍ୟବହାର କରିବା ଦ୍ୱାରା, ଆପଣ <ph name="BEGIN_LINK1" />Google ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_LINK1" /> ଏବଂ <ph name="BEGIN_LINK2" />Google Chrome ଏବଂ Chrome OS ଅତିରିକ୍ତ ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_LINK2" /> ସହିତ ସହମତ ହେଉଛନ୍ତି। <ph name="BEGIN_LINK3" />Family Link ମାଧ୍ୟମରେ ପରିଚାଳନା କରାଯାଇଥିବା Google ଆକାଉଣ୍ଟଗୁଡ଼ିକ ପାଇଁ ଗୋପନୀୟତା ନୋଟିସ୍<ph name="END_LINK3" /> ମଧ୍ୟ ଲାଗୁ ହୋଇଥାଏ।</translation>
 <translation id="2702516483241149200">ନୂଆ: ଏହି ଟେକ୍ସଟକୁ ସ୍କ୍ରୋଲ୍ କରୁଥିବା ଏକ ଲିଙ୍କ୍ ସେୟାର୍ କରନ୍ତୁ</translation>
 <translation id="2704606927547763573">କପି କରାଯାଇଛି</translation>
 <translation id="2707726405694321444">ପୃଷ୍ଠା ରିଫ୍ରେସ୍ କରନ୍ତୁ</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ଏବଂ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ଅଧିକ}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ଏବଂ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ଅଧିକ}}</translation>
 <translation id="4696983787092045100">ଆପଣଙ୍କର ଡିଭାଇସ୍‌ଗୁଡ଼ିକୁ ଟେକ୍ସଟ୍ ପଠାନ୍ତୁ</translation>
 <translation id="4699172675775169585">କେଚ୍‍ ଛବି ଏବଂ ଫାଇଲ୍‌</translation>
+<translation id="471759387343966120">ଜାରି ରଖି, ଆପଣ <ph name="BEGIN_TOS_LINK" />ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_TOS_LINK" /> ଏବଂ <ph name="BEGIN_PRIVACY_LINK" />ଗୋପନୀୟତା\u00A0ନୀତି<ph name="END_PRIVACY_LINK" />ରେ ସମ୍ମତ ହୁଅନ୍ତି।\nଆପକୁ ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରିବା ପାଇଁ, Chrome, Googleକୁ ବ୍ୟବହାର ଏବଂ କ୍ରାସ ଡାଟା ପଠାଏ। <ph name="BEGIN_UMA_LINK" />ପରିଚାଳନା କରନ୍ତୁ<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ଅନୁବାଦ କରିବାକୁ ପ୍ରସ୍ତାବ ଦିଅନ୍ତୁ</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />ରେ ଖୋଲନ୍ତୁ</translation>
 <translation id="4720982865791209136">Chromeକୁ ଉନ୍ନତ କରିବାରେ ସହାୟତା କରନ୍ତୁ। <ph name="BEGIN_LINK" />ସର୍ବେକ୍ଷଣରେ ଭାଗ ନିଅନ୍ତୁ<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">ପୃଷ୍ଟା ପ୍ରିଣ୍ଟ କରିବାରେ କିଛି ସମସ୍ୟା ଦେଖାଦେଇଛି। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="6277722725779679269">ମୂଲ୍ୟ ଟ୍ରାକ ଅପଡେଟ କରାଯାଇପାରିଲା ନାହିଁ</translation>
 <translation id="6278428485366576908">ଥିମ୍</translation>
+<translation id="6292420053234093573">Chrome ବ୍ୟବହାର କରିବା ଦ୍ୱାରା, ଆପଣ <ph name="BEGIN_LINK1" />Google ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_LINK1" /> ଏବଂ <ph name="BEGIN_LINK2" />Google Chrome ଏବଂ Chrome OS ଅତିରିକ୍ତ ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_LINK2" /> ସହିତ ସହମତ ହେଉଛନ୍ତି।</translation>
 <translation id="6294610283659775533">ସମାନ Google ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ସାଇନ୍ ଇନ୍ କରାଯାଇଥିବା ଡିଭାଇସଗୁଡ଼ିକ ମଧ୍ୟରେ ଆପଣ ଟାବଗୁଡ଼ିକ ପଠାଇପାରିବେ</translation>
 <translation id="6297765934698848803">ଆପଣଙ୍କର ଡିଭାଇସକୁ ପରିଚାଳନା କରୁଥିବା ସଂସ୍ଥା ଆପଣଙ୍କ କ୍ୟାମେରାକୁ ବନ୍ଦ କରିଦେଇଛି।</translation>
 <translation id="6301525844455696527">ଆପଣଙ୍କ ପଢ଼ିବା ତାଲିକା ଦେଖନ୍ତୁ</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 0327f7b..2ea5216 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ਆਡੀਓ ਫ਼ਾਈਲ}one{# ਆਡੀਓ ਫ਼ਾਈਲ}other{# ਆਡੀਓ ਫ਼ਾਈਲਾਂ}}</translation>
 <translation id="265156376773362237">ਮਿਆਰੀ ਪ੍ਰੀਲੋਡਿੰਗ</translation>
 <translation id="2656405586795711023">ਵੈੱਬ ਐਪਾਂ</translation>
+<translation id="2689830683995595741">Chrome ਨੂੰ ਵਰਤ ਕੇ, ਤੁਸੀਂ <ph name="BEGIN_LINK1" />Google ਦੇ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_LINK1" /> ਅਤੇ <ph name="BEGIN_LINK2" />Google Chrome ਅਤੇ Chrome OS ਦੇ ਵਧੀਕ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_LINK2" /> ਨਾਲ ਸਹਿਮਤ ਹੁੰਦੇ ਹੋ। <ph name="BEGIN_LINK3" />Family Link ਨਾਲ ਪ੍ਰਤੀਬੰਧਿਤ ਕੀਤੇ ਜਾਂਦੇ Google ਖਾਤਿਆਂ ਲਈ ਪਰਦੇਦਾਰੀ ਨੋਟਿਸ<ph name="END_LINK3" /> ਵੀ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।</translation>
 <translation id="2702516483241149200">ਨਵਾਂ: ਇਸ ਲਿਖਤ ਤੱਕ ਸਕ੍ਰੋਲ ਕਰਨ ਵਾਲਾ ਲਿੰਕ ਸਾਂਝਾ ਕਰੋ</translation>
 <translation id="2704606927547763573">ਕਾਪੀ ਕੀਤਾ</translation>
 <translation id="2707726405694321444">ਪੰਨੇ ਰਿਫ੍ਰੈਸ਼ ਕਰੋ</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ਅਤੇ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ਹੋਰ}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ਅਤੇ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ਹੋਰ}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ਅਤੇ <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ਹੋਰ}}</translation>
 <translation id="4696983787092045100">ਲਿਖਤ ਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸਾਂ 'ਤੇ ਭੇਜੋ</translation>
 <translation id="4699172675775169585">ਕੈਚ ਕੀਤੇ ਚਿੱਤਰ ਅਤੇ ਫਾਈਲਾਂ</translation>
+<translation id="471759387343966120">ਜਾਰੀ ਰੱਖ ਕੇ, ਤੁਸੀਂ <ph name="BEGIN_TOS_LINK" />ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_TOS_LINK" /> ਅਤੇ <ph name="BEGIN_PRIVACY_LINK" />ਪਰਦੇਦਾਰੀ\u00A0ਨੀਤੀ<ph name="END_PRIVACY_LINK" /> ਨਾਲ ਸਹਿਮਤ ਹੁੰਦੇ ਹੋ।\nਐਪ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ, Chrome ਵਰਤੋਂ ਅਤੇ ਕ੍ਰੈਸ਼ ਡਾਟਾ Google ਨੂੰ ਭੇਜਦਾ ਹੈ। <ph name="BEGIN_UMA_LINK" />ਪ੍ਰਬੰਧਨ ਕਰੋ<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ਅਨੁਵਾਦ ਲਈ ਪੇਸ਼ਕਸ਼ ਕਰੋ</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> ਵਿੱਚ ਖੋਲ੍ਹੋ</translation>
 <translation id="4720982865791209136">Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ। <ph name="BEGIN_LINK" />ਸਰਵੇਖਣ ਪੂਰਾ ਕਰੋ<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">ਸਫ਼ਾ ਪ੍ਰਿੰਟ ਕਰਨ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਹੋਈ ਸੀ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="6277722725779679269">'ਕੀਮਤ ਨੂੰ ਟਰੈਕ ਕਰੋ' ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ</translation>
 <translation id="6278428485366576908">ਥੀਮ</translation>
+<translation id="6292420053234093573">Chrome ਨੂੰ ਵਰਤ ਕੇ, ਤੁਸੀਂ <ph name="BEGIN_LINK1" />Google ਦੇ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_LINK1" /> ਅਤੇ <ph name="BEGIN_LINK2" />Google Chrome ਅਤੇ Chrome OS ਦੇ ਵਧੀਕ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_LINK2" /> ਨਾਲ ਸਹਿਮਤ ਹੁੰਦੇ ਹੋ।</translation>
 <translation id="6294610283659775533">ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਡੀਵਾਈਸਾਂ ਵਿਚਾਲੇ ਟੈਬਾਂ ਭੇਜ ਸਕਦੇ ਹੋ ਜੋ ਇੱਕੋ Google ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕੀਤੇ ਹੋਏ ਹਨ</translation>
 <translation id="6297765934698848803">ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਵਾਲੀ ਸੰਸਥਾ ਨੇ ਤੁਹਾਡਾ ਕੈਮਰਾ ਬੰਦ ਕਰ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="6301525844455696527">ਆਪਣੀ ਪੜ੍ਹਨ-ਸੂਚੀ ਦੇਖੋ</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 a09b584..4e14217 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# plik dźwiękowy}few{# pliki dźwiękowe}many{# plików dźwiękowych}other{# pliku dźwiękowego}}</translation>
 <translation id="265156376773362237">Wczytywanie standardowe</translation>
 <translation id="2656405586795711023">Aplikacje internetowe</translation>
+<translation id="2689830683995595741">Korzystając z Chrome, wyrażasz zgodę na <ph name="BEGIN_LINK1" />Warunki korzystania z usług Google<ph name="END_LINK1" /> oraz <ph name="BEGIN_LINK2" />Dodatkowe warunki korzystania z Google Chrome i Chrome OS<ph name="END_LINK2" />. Obowiązują też <ph name="BEGIN_LINK3" />Informacje na temat ochrony prywatności na kontach Google zarządzanych przez Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Nowość: udostępnij link przewijający do tego tekstu</translation>
 <translation id="2704606927547763573">Skopiowane</translation>
 <translation id="2707726405694321444">Odśwież stronę</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i jeszcze <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i jeszcze <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}many{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i jeszcze <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i jeszcze <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Wyślij tekst na swoje urządzenia</translation>
 <translation id="4699172675775169585">Obrazy i pliki zapisane w pamięci podręcznej</translation>
+<translation id="471759387343966120">Przechodząc dalej, akceptujesz <ph name="BEGIN_TOS_LINK" />Warunki korzystania z usługi<ph name="END_TOS_LINK" /> oraz <ph name="BEGIN_PRIVACY_LINK" />Politykę\u00A0prywatności<ph name="END_PRIVACY_LINK" />.\nAby pomóc nam ulepszać aplikację, Chrome wysyła do Google dane o użytkowaniu i awariach. <ph name="BEGIN_UMA_LINK" />Zarządzaj<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Proponuj tłumaczenie</translation>
 <translation id="4720023427747327413">Otwórz w: <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Pomóż w ulepszaniu Chrome. <ph name="BEGIN_LINK" />Wypełnij ankietę<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Podczas drukowania strony wystąpił problem. Spróbuj ponownie.</translation>
 <translation id="6277722725779679269">Nie udało się zaktualizować monitorowanej ceny</translation>
 <translation id="6278428485366576908">Motyw</translation>
+<translation id="6292420053234093573">Korzystając z Chrome, wyrażasz zgodę na <ph name="BEGIN_LINK1" />Warunki korzystania z usług Google<ph name="END_LINK1" /> oraz <ph name="BEGIN_LINK2" />Dodatkowe warunki korzystania z Google Chrome i Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Możesz przesyłać karty między urządzeniami zalogowanymi na to samo konto Google</translation>
 <translation id="6297765934698848803">Organizacja, która zarządza Twoim urządzeniem, wyłączyła aparat.</translation>
 <translation id="6301525844455696527">Nadrób zaległości w czytaniu</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Tą przeglądarką zarządza <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Dodaj konto</translation>
 <translation id="766587987807204883">Tutaj pojawiają się artykuły, które możesz czytać, nawet gdy jesteś offline</translation>
+<translation id="768232549260819724">GIF został skopiowany</translation>
 <translation id="7682724950699840886">Skorzystaj z tych wskazówek: upewnij się, że masz wystarczająco dużo miejsca na urządzeniu, i ponownie spróbuj wyeksportować hasła.</translation>
 <translation id="768618399695552958">Niektóre z odwiedzanych przez Ciebie stron są wstępnie wczytywane. Serwery Google mogą wstępnie wczytywać strony, gdy prowadzą do nich linki z witryny Google.</translation>
 <translation id="7698359219371678927">Utwórz e-maila w aplikacji <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Nie można pobrać pliku w bezpieczny sposób</translation>
 <translation id="8571213806525832805">Ostatnie 4 tygodnie</translation>
 <translation id="8572344201470131220">Obraz został skopiowany</translation>
+<translation id="8580884231102452214">Kopiuj GIF</translation>
 <translation id="8583805026567836021">Usuwam dane konta</translation>
 <translation id="859046281437143747">Monitoruj cenę za pomocą przycisku Więcej opcji</translation>
 <translation id="860043288473659153">Imię i nazwisko posiadacza karty</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 d4f164f0..f6e1a67e 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# arquivo de áudio}one{# arquivo de áudio}other{# arquivos de áudio}}</translation>
 <translation id="265156376773362237">Pré-carregamento padrão</translation>
 <translation id="2656405586795711023">Apps da Web</translation>
+<translation id="2689830683995595741">Ao usar o Chrome, você concorda com os <ph name="BEGIN_LINK1" />Termos de Serviço do Google<ph name="END_LINK1" /> e os <ph name="BEGIN_LINK2" />Termos de Serviço adicionais do Google Chrome e do Chrome OS<ph name="END_LINK2" />. O <ph name="BEGIN_LINK3" />Aviso de privacidade para Contas do Google gerenciadas no Family Link<ph name="END_LINK3" /> também é aplicável.</translation>
 <translation id="2702516483241149200">Novo: compartilhe um link para este texto</translation>
 <translation id="2704606927547763573">Copiado</translation>
 <translation id="2707726405694321444">Atualizar página</translation>
@@ -626,6 +627,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e mais <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e mais <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e mais <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Enviar texto para seus dispositivos</translation>
 <translation id="4699172675775169585">Imagens e arquivos armazenados em cache</translation>
+<translation id="471759387343966120">Ao continuar, você concorda com os <ph name="BEGIN_TOS_LINK" />Termos de Serviço<ph name="END_TOS_LINK" /> e a <ph name="BEGIN_PRIVACY_LINK" />Política\u00A0de\u00A0Privacidade<ph name="END_PRIVACY_LINK" />.\nPara ajudar a melhorar o app, o Chrome envia dados de uso e de falha ao Google. <ph name="BEGIN_UMA_LINK" />Gerenciar<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Oferecer para traduzir</translation>
 <translation id="4720023427747327413">Abrir no <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Ajude a melhorar o Chrome. <ph name="BEGIN_LINK" />Responda à pesquisa.<ph name="END_LINK" /></translation>
@@ -908,6 +910,7 @@
 <translation id="6277522088822131679">Ocorreu um problema ao imprimir a página. Tente novamente.</translation>
 <translation id="6277722725779679269">Não foi possível atualizar o recurso Monitorar preço</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Ao usar o Chrome, você concorda com os <ph name="BEGIN_LINK1" />Termos de Serviço do Google<ph name="END_LINK1" /> e os <ph name="BEGIN_LINK2" />Termos de Serviço adicionais do Google Chrome e do Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Você pode compartilhar guias entre dispositivos conectados à mesma Conta do Google</translation>
 <translation id="6297765934698848803">A organização que gerencia seu dispositivo desativou a câmera.</translation>
 <translation id="6301525844455696527">Veja sua lista de leitura</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 0ecc049b..82cd3d8 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ficheiro de áudio}one{# ficheiro(s) de áudio}other{# ficheiros de áudio}}</translation>
 <translation id="265156376773362237">Pré-carregamento padrão</translation>
 <translation id="2656405586795711023">Apps para a Web</translation>
+<translation id="2689830683995595741">Ao utilizar o Chrome, aceita os <ph name="BEGIN_LINK1" />Termos de Utilização do Google<ph name="END_LINK1" /> e os <ph name="BEGIN_LINK2" />Termos de Utilização Adicionais do Google Chrome e Chrome OS<ph name="END_LINK2" />. O <ph name="BEGIN_LINK3" />Aviso de Privacidade para Contas Google geridas com o Family Link<ph name="END_LINK3" /> também se aplica.</translation>
 <translation id="2702516483241149200">Novo: partilhe um link que se desloca para este texto</translation>
 <translation id="2704606927547763573">Copiado</translation>
 <translation id="2707726405694321444">Atualizar página</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e mais <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 and <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> more}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 e mais <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Envie uma mensagem de texto para os seus dispositivos</translation>
 <translation id="4699172675775169585">Imagens e ficheiros em cache</translation>
+<translation id="471759387343966120">Ao continuar, aceita os <ph name="BEGIN_TOS_LINK" />Termos de Utilização<ph name="END_TOS_LINK" /> e a <ph name="BEGIN_PRIVACY_LINK" />Política de\u00A0Privacidade<ph name="END_PRIVACY_LINK" />.\nPara ajudar a melhorar a app, o Chrome envia dados de utilização e falhas de sistema para a Google. <ph name="BEGIN_UMA_LINK" />Faça a gestão<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Propor tradução</translation>
 <translation id="4720023427747327413">Abrir no <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Ajude a melhorar o Chrome. <ph name="BEGIN_LINK" />Responder ao inquérito<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Ocorreu um problema ao imprimir a página. Tente novamente.</translation>
 <translation id="6277722725779679269">Não foi possível atualizar a opção Monitorizar preço</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Ao utilizar o Chrome, aceita os <ph name="BEGIN_LINK1" />Termos de Utilização do Google<ph name="END_LINK1" /> e os <ph name="BEGIN_LINK2" />Termos de Utilização Adicionais do Google Chrome e Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Pode enviar separadores entre dispositivos que têm sessão iniciada com a mesma Conta Google</translation>
 <translation id="6297765934698848803">A entidade que gere o seu dispositivo desativou a sua câmara.</translation>
 <translation id="6301525844455696527">Ponha a sua lista de leitura em dia</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 95f1f698..8e91976 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{Un fișier audio}few{# fișiere audio}other{# de fișiere audio}}</translation>
 <translation id="265156376773362237">Preîncărcare standard</translation>
 <translation id="2656405586795711023">Aplicații web</translation>
+<translation id="2689830683995595741">Dacă folosești Chrome, ești de acord cu <ph name="BEGIN_LINK1" />Termenii și condițiile Google<ph name="END_LINK1" /> și cu <ph name="BEGIN_LINK2" />Termenii și condițiile suplimentare pentru Google Chrome și Sistemul de operare Chrome<ph name="END_LINK2" />. Se aplică și <ph name="BEGIN_LINK3" />Notificarea privind confidențialitatea pentru Conturile Google gestionate cu Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Nou: distribuie un link care derulează la acest text</translation>
 <translation id="2704606927547763573">Copiat</translation>
 <translation id="2707726405694321444">Actualizează pagina</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 și încă <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 și încă <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 și încă <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Trimite text pe dispozitivele tale</translation>
 <translation id="4699172675775169585">Imaginile și fișierele memorate în cache</translation>
+<translation id="471759387343966120">Dacă alegi să continui, ești de acord cu <ph name="BEGIN_TOS_LINK" />Termenii și condițiile<ph name="END_TOS_LINK" /> și cu <ph name="BEGIN_PRIVACY_LINK" />Politica de\u00A0confidențialitate<ph name="END_PRIVACY_LINK" />.\nPentru a contribui la îmbunătățirea aplicației, Chrome trimite date de utilizare și despre erori la Google. <ph name="BEGIN_UMA_LINK" />Gestionează<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Oferă traducerea</translation>
 <translation id="4720023427747327413">Deschide în <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Contribuie la îmbunătățirea browserului Chrome. <ph name="BEGIN_LINK" />Participă la sondaj.<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">A apărut o problemă la printarea paginii. Încercați din nou.</translation>
 <translation id="6277722725779679269">Nu s-a putut actualiza Urmărește prețul</translation>
 <translation id="6278428485366576908">Temă</translation>
+<translation id="6292420053234093573">Dacă folosești Chrome, ești de acord cu <ph name="BEGIN_LINK1" />Termenii și condițiile Google<ph name="END_LINK1" /> și cu <ph name="BEGIN_LINK2" />Termenii și condițiile suplimentare pentru Google Chrome și Sistemul de operare Chrome<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Poți să trimiți file între dispozitivele conectate cu același Cont Google.</translation>
 <translation id="6297765934698848803">Organizația care îți gestionează dispozitivul ți-a dezactivat camera.</translation>
 <translation id="6301525844455696527">Fii la zi cu lista de lectură</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 03a9418..3a8ad47 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аудиофайл}one{# аудиофайл}few{# аудиофайла}many{# аудиофайлов}other{# аудиофайла}}</translation>
 <translation id="265156376773362237">Стандартная предзагрузка</translation>
 <translation id="2656405586795711023">Веб-приложения</translation>
+<translation id="2689830683995595741">Используя Chrome, вы принимаете <ph name="BEGIN_LINK1" />Условия использования Google<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />Дополнительные условия использования Chrome и Chrome OS<ph name="END_LINK2" />. Кроме этих документов, также действует <ph name="BEGIN_LINK3" />Примечание о конфиденциальности данных в аккаунтах Google, управляемых с помощью Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Теперь можно поделиться ссылкой, которая прокручивает страницу до этого текста.</translation>
 <translation id="2704606927547763573">Скопировано</translation>
 <translation id="2707726405694321444">Обновить страницу</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> способ доставки}one{<ph name="SHIPPING_OPTION_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> способ доставки}few{<ph name="SHIPPING_OPTION_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> способа доставки}many{<ph name="SHIPPING_OPTION_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> способов доставки}other{<ph name="SHIPPING_OPTION_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> способа доставки}}</translation>
 <translation id="4696983787092045100">Отправить сообщения на свои устройства</translation>
 <translation id="4699172675775169585">Изображения и другие файлы, сохраненные в кеше</translation>
+<translation id="471759387343966120">Продолжая, вы принимаете <ph name="BEGIN_TOS_LINK" />Условия использования<ph name="END_TOS_LINK" /> и <ph name="BEGIN_PRIVACY_LINK" />Политику конфиденциальности<ph name="END_PRIVACY_LINK" />.\nChrome отправляет в Google статистику использования и отчеты о сбоях, которые помогут улучшить приложение. <ph name="BEGIN_UMA_LINK" />Настроить<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Предлагать перевести</translation>
 <translation id="4720023427747327413">Открыть в <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Помогите улучшить Chrome. <ph name="BEGIN_LINK" />Пройти опрос<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Не удалось распечатать страницу. Повторите попытку.</translation>
 <translation id="6277722725779679269">Не удалось обновить данные для функции отслеживания цен.</translation>
 <translation id="6278428485366576908">Тема</translation>
+<translation id="6292420053234093573">Используя Chrome, вы принимаете <ph name="BEGIN_LINK1" />Условия использования Google<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />Дополнительные условия использования Chrome и Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Вы можете отправлять вкладки на устройства, на которых выполнен вход в тот же аккаунт Google.</translation>
 <translation id="6297765934698848803">Организация, которая управляет вашим устройством, запретила доступ к камере.</translation>
 <translation id="6301525844455696527">Загляните в свой список для чтения</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 2a087ba9..32674816 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ශ්‍රව්‍ය ගොනුවක්}one{ශ්‍රව්‍ය ගොනු #ක්}other{ශ්‍රව්‍ය ගොනු #ක්}}</translation>
 <translation id="265156376773362237">සම්මත පූර්ව පූරණය</translation>
 <translation id="2656405586795711023">වෙබ් යෙදුම්</translation>
+<translation id="2689830683995595741">Chrome භාවිත කිරීමෙන්, ඔබ <ph name="BEGIN_LINK1" />Google සේවා නියමවලට<ph name="END_LINK1" />, සහ <ph name="BEGIN_LINK2" />Google Chrome සහ Chrome OS අතිරේක සේවා නියමවලට<ph name="END_LINK2" /> එකඟ වෙයි. <ph name="BEGIN_LINK3" />Family Link මඟින් කළමනා කෙරෙන Google ගිණුම් සඳහා වන පෞද්ගලිකත්ව දැනුම්දීම<ph name="END_LINK3" /> ද යෙදේ.</translation>
 <translation id="2702516483241149200">නව: මෙම පෙළට අනුචලනය වන සබැඳියක් බෙදා ගන්න</translation>
 <translation id="2704606927547763573">පිටපත් කරන ලදි</translation>
 <translation id="2707726405694321444">පිටුව නැවුම් කරන්න</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />... සහ තවත් <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />... සහ තවත් <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />... සහ තවත් <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">ඔබේ උපාංග වෙත පාඨය යවන්න</translation>
 <translation id="4699172675775169585">අනුරූ සහ ගොනු කෑෂ් කරන්න</translation>
+<translation id="471759387343966120">ඉදිරියට යාමෙන්, ඔබ <ph name="BEGIN_TOS_LINK" />සේවා නියම<ph name="END_TOS_LINK" /> සහ <ph name="BEGIN_PRIVACY_LINK" />පෞද්ගලිකත්ව ප්‍රතිපත්තිය<ph name="END_PRIVACY_LINK" /> සමග එකඟ වේ.\nයෙදුම වැඩිදියුණු කිරීමට උදවු කිරීමට, Chrome පරිශීලන සහ බිඳ වැටීම් දත්ත Google වෙත යවයි. <ph name="BEGIN_UMA_LINK" />කළමනාකරණය කරන්න<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">පරිවර්තනය කිරීමට පිරිනමන්න</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> හි විවෘත කරන්න</translation>
 <translation id="4720982865791209136">Chrome වැඩි දියුණුවට උදවු කරන්න. <ph name="BEGIN_LINK" />සමීක්ෂණය ගන්න<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">මෙම පිටුව මුද්‍රණය කිරීමේ ගැටලුවක් විය. කරුණාකර නැවත උත්සාහ කරන්න.</translation>
 <translation id="6277722725779679269">මිල හඹා යාම යාවත්කාලීන කිරීමට නොහැකි විය</translation>
 <translation id="6278428485366576908">තේමාව</translation>
+<translation id="6292420053234093573">Chrome භාවිත කිරීමෙන්, ඔබ <ph name="BEGIN_LINK1" />Google සේවා නියමවලට<ph name="END_LINK1" />, සහ <ph name="BEGIN_LINK2" />Google Chrome සහ Chrome OS අතිරේක සේවා නියමවලට<ph name="END_LINK2" /> එකඟ වෙයි.</translation>
 <translation id="6294610283659775533">එකම Google ගිණුම සමඟ පුරා ඇති උපාංග අතර ඔබට ටැබ යැවිය හැකිය</translation>
 <translation id="6297765934698848803">ඔබේ උපාංගය කළමනා කරන ආයතනය ඔබේ කැමරාව අක්‍රිය කර ඇත.</translation>
 <translation id="6301525844455696527">ඔබගේ කියවීම් ලැයිස්තුවේ අල්ලා ගන්න</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">මෙම බ්‍රව්සරය <ph name="PARENT_NAME" /> විසින් කළමනාකරණය කෙරේ</translation>
 <translation id="7665369617277396874">ගිණුම එක් කරන්න</translation>
 <translation id="766587987807204883">ඔබ නොබැඳිව සිටින විට පවා ඔබට කියවිය හැකි ලිපි මෙහි දිස් වෙති</translation>
+<translation id="768232549260819724">GIF පිටපත් කරන ලදි</translation>
 <translation id="7682724950699840886">පහත ඉඟි උත්සාහ කරන්න: ඔබේ උපාංගයේ ප්‍රමාණවත් ඉඩක් ඇති බවට වග බලා ගෙන, නැවත නිර්යාත කිරීමට උත්සාහ කරන්න.</translation>
 <translation id="768618399695552958">ඔබ පිවිසෙන සමහර පිටු පූර්ව පූරණය කර ඇත. Google අඩවියකින් සම්බන්ධ කළ විට පිටු Google සේවාදායක හරහා පූර්ව පූරණය කළ හැකිය.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> තුළ ඊ-තැපෑලක් සාදන්න</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">ගොනුව සුරක්ෂිතව බාගැනීමට නොහැකිය</translation>
 <translation id="8571213806525832805">පසුගිය සති 4</translation>
 <translation id="8572344201470131220">රූපය පිටපත් කරන ලදි</translation>
+<translation id="8580884231102452214">GIF පිටපත් කරන්න</translation>
 <translation id="8583805026567836021">ගිණුම් දත්ත ඉවත් කරමින්</translation>
 <translation id="859046281437143747">තවත් විකල්ප බොත්තමෙන් මිල ගණන් හඹා යන්න</translation>
 <translation id="860043288473659153">කාඩ්පත් හිමිකරුගේ නම</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 8045e110..9194264e 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# zvukový súbor}few{# zvukové súbory}many{# Audio files}other{# zvukových súborov}}</translation>
 <translation id="265156376773362237">Štandardné prednačítavanie</translation>
 <translation id="2656405586795711023">Webové aplikácie</translation>
+<translation id="2689830683995595741">Používaním Chromu vyjadrujete súhlas so <ph name="BEGIN_LINK1" />zmluvnými podmienkami spoločnosti Google<ph name="END_LINK1" /> a <ph name="BEGIN_LINK2" />dodatočnými zmluvnými podmienkami prehliadača Google Chrome a systému Chrome OS<ph name="END_LINK2" />. Platí aj <ph name="BEGIN_LINK3" />oznámenie o ochrane súkromia pre účty Google spravované pomocou aplikácie Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Novinka: zdieľajte odkaz, ktorý posunie zobrazenie na tento text</translation>
 <translation id="2704606927547763573">Skopírované</translation>
 <translation id="2707726405694321444">Obnoviť stránku</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ďalšia}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ďalšie}many{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ďalšej}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 a <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ďalších}}</translation>
 <translation id="4696983787092045100">Odoslať text do vašich zariadení</translation>
 <translation id="4699172675775169585">Obrázky a súbory vo vyrovnávacej pamäti</translation>
+<translation id="471759387343966120">Pokračovaním vyjadrujete súhlas so <ph name="BEGIN_TOS_LINK" />zmluvnými podmienkami<ph name="END_TOS_LINK" /> a <ph name="BEGIN_PRIVACY_LINK" />pravidlami ochrany súkromia<ph name="END_PRIVACY_LINK" />.\nChrome odosiela Googlu údaje o používaní a pádoch, aby pomohol aplikáciu zlepšovať. <ph name="BEGIN_UMA_LINK" />Spravovať<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ponúkať preklad</translation>
 <translation id="4720023427747327413">Otvoriť v aplikácii <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Pomôžte zlepšiť Chrome. <ph name="BEGIN_LINK" />Zúčastniť sa prieskumu<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Pri tlačení stránky sa vyskytol problém. Skúste to znova.</translation>
 <translation id="6277722725779679269">Nepodarilo sa aktualizovať o nastavenie Sledovať cenu</translation>
 <translation id="6278428485366576908">Motív</translation>
+<translation id="6292420053234093573">Používaním Chromu vyjadrujete súhlas so <ph name="BEGIN_LINK1" />zmluvnými podmienkami spoločnosti Google<ph name="END_LINK1" /> a <ph name="BEGIN_LINK2" />dodatočnými zmluvnými podmienkami prehliadača Google Chrome a systému Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Môžete odosielať karty medzi zariadeniami, v ktorých sa prihlásite rovnakým účtom Google</translation>
 <translation id="6297765934698848803">Organizácia, ktorá spravuje vaše zariadenie, vypla vašu kameru.</translation>
 <translation id="6301525844455696527">Sledujte svoj čitateľský zoznam</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 396cfd0..5fb9360 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# zvočna datoteka}one{# zvočna datoteka}two{# zvočni datoteki}few{# zvočne datoteke}other{# zvočnih datotek}}</translation>
 <translation id="265156376773362237">Standardno vnaprejšnje nalaganje</translation>
 <translation id="2656405586795711023">Spletni programi</translation>
+<translation id="2689830683995595741">Če uporabljate Chrome, se strinjate z <ph name="BEGIN_LINK1" />Googlovimi pogoji storitve<ph name="END_LINK1" /> in <ph name="BEGIN_LINK2" />dodatnimi pogoji storitve za Google Chrome in Chrome OS<ph name="END_LINK2" />. Za vas velja tudi <ph name="BEGIN_LINK3" />pravilnik o zasebnosti za račune Google, upravljane s Family Linkom<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Novo: Delite povezavo, ki se pomakne do tega besedila.</translation>
 <translation id="2704606927547763573">Kopirano</translation>
 <translation id="2707726405694321444">Osveži stran</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" /> \u2026 in še <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" /> \u2026 in še <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}two{<ph name="SHIPPING_OPTION_PREVIEW" /> \u2026 in še <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" /> \u2026 in še <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" /> \u2026 in še <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Pošiljanje besedila v vaše naprave</translation>
 <translation id="4699172675775169585">Predpomnjene slike in datoteke</translation>
+<translation id="471759387343966120">Če nadaljujete, se strinjate s <ph name="BEGIN_TOS_LINK" />pogoji storitve<ph name="END_TOS_LINK" /> in <ph name="BEGIN_PRIVACY_LINK" />pravilnikom o zasebnosti<ph name="END_PRIVACY_LINK" />.\nZaradi izboljšanja aplikacije Chrome Googlu pošlje podatke o uporabi in zrušitvah. <ph name="BEGIN_UMA_LINK" />Upravljanje<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ponudi prevajanje</translation>
 <translation id="4720023427747327413">Odpri v: <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Pomagajte izboljšati Chrome. <ph name="BEGIN_LINK" />Sodelujte v anketi.<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Pri tiskanju strani je prišlo do težave. Poskusite znova.</translation>
 <translation id="6277722725779679269">Spremljanja cene ni bilo mogoče posodobiti.</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Če uporabljate Chrome, se strinjate z <ph name="BEGIN_LINK1" />Googlovimi pogoji storitve<ph name="END_LINK1" /> in <ph name="BEGIN_LINK2" />dodatnimi pogoji storitve za Google Chrome in Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Med napravami, v katerih ste prijavljeni z istim računom Google, si lahko pošiljate zavihke.</translation>
 <translation id="6297765934698848803">Organizacija, ki upravlja vašo napravo, je izklopila kamero.</translation>
 <translation id="6301525844455696527">Ne pozabite na svoj bralni seznam</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Ta brskalnik upravlja <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Dodaj račun</translation>
 <translation id="766587987807204883">Članki so prikazani tukaj in lahko jih berete, tudi ko nimate povezave</translation>
+<translation id="768232549260819724">GIF je bil kopiran</translation>
 <translation id="7682724950699840886">Poskusite ta nasveta: poskrbite, da je v napravi dovolj prostora, ali poskusite znova izvoziti.</translation>
 <translation id="768618399695552958">Nekatere strani, ki jih obiskujete, so vnaprej naložene. Strani bodo morda vnaprej naložene prek Googlovih strežnikov, ko nanje vodi povezava z Googlovega spletnega mesta.</translation>
 <translation id="7698359219371678927">Ustvarite e-poštno sporočilo v aplikaciji <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Datoteke ni mogoče varno prenesti</translation>
 <translation id="8571213806525832805">Zadnji 4 tedni</translation>
 <translation id="8572344201470131220">Slika je bila kopirana</translation>
+<translation id="8580884231102452214">Kopiraj GIF</translation>
 <translation id="8583805026567836021">Brisanje podatkov računa</translation>
 <translation id="859046281437143747">Spremljanje cene prek gumba za več možnosti</translation>
 <translation id="860043288473659153">Ime imetnika kartice</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 4a85738e..48f29205 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# skedar audio}other{# skedarë audio}}</translation>
 <translation id="265156376773362237">Ngarkimi paraprak standard</translation>
 <translation id="2656405586795711023">Aplikacionet e uebit</translation>
+<translation id="2689830683995595741">Duke përdorur Chrome, ti pranon <ph name="BEGIN_LINK1" />Kushtet e shërbimit të Google<ph name="END_LINK1" /> dhe <ph name="BEGIN_LINK2" />Kushtet shtesë të shërbimit të Google Chrome dhe të sistemit operativ Chrome<ph name="END_LINK2" />. Zbatohet gjithashtu <ph name="BEGIN_LINK3" />"Njoftimi i privatësisë" për "Llogaritë e menaxhuara të Google" me Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">E re: Ndaj një lidhje që të drejton te ky tekst</translation>
 <translation id="2704606927547763573">Kopjuar</translation>
 <translation id="2707726405694321444">Rifresko faqen</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 dhe <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> tjetër}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 dhe <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> të tjera}}</translation>
 <translation id="4696983787092045100">Dërgo tekstin te pajisjet e tua</translation>
 <translation id="4699172675775169585">Imazhet dhe skedarët në memorien specifike</translation>
+<translation id="471759387343966120">Duke vazhduar, ti pranon <ph name="BEGIN_TOS_LINK" />Kushtet e shërbimit<ph name="END_TOS_LINK" /> dhe <ph name="BEGIN_PRIVACY_LINK" />Politikën e privatësisë<ph name="END_PRIVACY_LINK" />.\nPër të ndihmuar në përmirësimin e aplikacionit, Chrome dërgon të dhëna të përdorimit dhe të ndërprerjeve aksidentale te Google. <ph name="BEGIN_UMA_LINK" />Menaxho<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ofro që t'i përkthesh</translation>
 <translation id="4720023427747327413">Hape në <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Ndihmo në përmirësimin e Chrome. <ph name="BEGIN_LINK" />Plotëso anketën<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Pati një problem me printimin e faqes. Provo përsëri.</translation>
 <translation id="6277722725779679269">Veçoria "Monitoro çmimin" nuk mund të përditësohej</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Duke përdorur Chrome, ti pranon <ph name="BEGIN_LINK1" />Kushtet e shërbimit të Google<ph name="END_LINK1" /> dhe <ph name="BEGIN_LINK2" />Kushtet shtesë të shërbimit të Google Chrome dhe të sistemit operativ Chrome<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Mund të dërgosh skeda ndërmjet pajisjeve që janë të identifikuara me të njëjtën "Llogari të Google"</translation>
 <translation id="6297765934698848803">Organizata që menaxhon pajisjen tënde ka çaktivizuar kamerën tënde.</translation>
 <translation id="6301525844455696527">Mos e harro listën tënde të leximit</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 e968ea3..436ac3ee 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# audio datoteka}one{# audio datoteka}few{# audio datoteke}other{# audio datoteka}}</translation>
 <translation id="265156376773362237">Standardno predučitavanje</translation>
 <translation id="2656405586795711023">Veb-aplikacije</translation>
+<translation id="2689830683995595741">Ako koristite Chrome, prihvatate <ph name="BEGIN_LINK1" />Google uslove korišćenja usluge<ph name="END_LINK1" /> i <ph name="BEGIN_LINK2" />dodatne uslove korišćenja usluge za Google Chrome i Chrome OS<ph name="END_LINK2" />. Primenjuje se i <ph name="BEGIN_LINK3" />Obaveštenje o privatnosti za Google naloge kojima se upravlja preko Family Link-a<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Novo: Delite link koji skroluje do ovog teksta</translation>
 <translation id="2704606927547763573">Kopirano</translation>
 <translation id="2707726405694321444">Osveži stranicu</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 i još <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Pošaljite SMS uređajima</translation>
 <translation id="4699172675775169585">Keširane slike i fajlovi</translation>
+<translation id="471759387343966120">Ako nastavite, prihvatate <ph name="BEGIN_TOS_LINK" />uslove korišćenja usluge<ph name="END_TOS_LINK" /> i <ph name="BEGIN_PRIVACY_LINK" />politiku\u00A0privatnosti<ph name="END_PRIVACY_LINK" />.\nRadi poboljšanja aplikacije Chrome Google-u šalje podatke o korišćenju i otkazivanjima. <ph name="BEGIN_UMA_LINK" />Upravljajte<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Ponudi prevod</translation>
 <translation id="4720023427747327413">Otvori u <ph name="PRODUCT_NAME" />-u</translation>
 <translation id="4720982865791209136">Pomozite nam da poboljšamo Chrome. <ph name="BEGIN_LINK" />Popunite anketu<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Došlo je do problema pri štampanju stranice. Probajte ponovo.</translation>
 <translation id="6277722725779679269">Ažuriranje praćenja cena nije uspelo</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Ako koristite Chrome, prihvatate <ph name="BEGIN_LINK1" />Google uslove korišćenja usluge<ph name="END_LINK1" /> i <ph name="BEGIN_LINK2" />dodatne uslove korišćenja usluge za Google Chrome i Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Možete da šaljete kartice s jednog uređaja na drugi ako ste na njih prijavljeni pomoću istog Google naloga</translation>
 <translation id="6297765934698848803">Organizacija koja upravlja uređajem vam je isključila kameru.</translation>
 <translation id="6301525844455696527">Čitajte stavke sa liste za čitanje</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 f45543ca..cc6f4b38 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аудио датотека}one{# аудио датотека}few{# аудио датотеке}other{# аудио датотека}}</translation>
 <translation id="265156376773362237">Стандардно предучитавање</translation>
 <translation id="2656405586795711023">Веб-апликације</translation>
+<translation id="2689830683995595741">Ако користите Chrome, прихватате <ph name="BEGIN_LINK1" />Google услове коришћења услуге<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />додатне услове коришћења услуге за Google Chrome и Chrome ОС<ph name="END_LINK2" />. Примењује се и <ph name="BEGIN_LINK3" />Обавештење о приватности за Google налоге којима се управља преко Family Link-а<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Ново: Делите линк који скролује до овог текста</translation>
 <translation id="2704606927547763573">Копирано</translation>
 <translation id="2707726405694321444">Освежи страницу</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 и још <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 и још <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 и још <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 и још <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Пошаљите SMS уређајима</translation>
 <translation id="4699172675775169585">Кеширане слике и фајлови</translation>
+<translation id="471759387343966120">Ако наставите, прихватате <ph name="BEGIN_TOS_LINK" />услове коришћења услуге<ph name="END_TOS_LINK" /> и <ph name="BEGIN_PRIVACY_LINK" />политику\u00A0приватности<ph name="END_PRIVACY_LINK" />.\nРади побољшања апликације Chrome Google-у шаље податке о коришћењу и отказивањима. <ph name="BEGIN_UMA_LINK" />Управљајте<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Понуди превод</translation>
 <translation id="4720023427747327413">Отвори у <ph name="PRODUCT_NAME" />-у</translation>
 <translation id="4720982865791209136">Помозите нам да побољшамо Chrome. <ph name="BEGIN_LINK" />Попуните анкету<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Дошло је до проблема при штампању странице. Пробајте поново.</translation>
 <translation id="6277722725779679269">Ажурирање праћења цена није успело</translation>
 <translation id="6278428485366576908">Тема</translation>
+<translation id="6292420053234093573">Ако користите Chrome, прихватате <ph name="BEGIN_LINK1" />Google услове коришћења услуге<ph name="END_LINK1" /> и <ph name="BEGIN_LINK2" />додатне услове коришћења услуге за Google Chrome и Chrome ОС<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Можете да шаљете картице с једног уређаја на други ако сте на њих пријављени помоћу истог Google налога</translation>
 <translation id="6297765934698848803">Организација која управља уређајем вам је искључила камеру.</translation>
 <translation id="6301525844455696527">Читајте ставке са листе за читање</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 d1af81b..4df02d33 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ljudfil}other{# ljudfiler}}</translation>
 <translation id="265156376773362237">Standardförinläsning</translation>
 <translation id="2656405586795711023">Webbappar</translation>
+<translation id="2689830683995595741">Genom att använda Chrome godkänner du <ph name="BEGIN_LINK1" />Googles användarvillkor<ph name="END_LINK1" /> och <ph name="BEGIN_LINK2" />de ytterligare användarvillkoren för Google Chrome och Chrome OS<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Integritetsmeddelandet för Google-konton som hanteras med Family Link<ph name="END_LINK3" /> gäller också.</translation>
 <translation id="2702516483241149200">Nyhet: dela en länk som scrollar fram till den här texten</translation>
 <translation id="2704606927547763573">Kopierat</translation>
 <translation id="2707726405694321444">Uppdatera sidan</translation>
@@ -626,6 +627,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 och <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> till}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 och <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> till}}</translation>
 <translation id="4696983787092045100">Skicka texten till dina enheter</translation>
 <translation id="4699172675775169585">Cachade bilder och filer</translation>
+<translation id="471759387343966120">Genom att fortsätta godkänner du <ph name="BEGIN_TOS_LINK" />användarvillkoren<ph name="END_TOS_LINK" /> och <ph name="BEGIN_PRIVACY_LINK" />integritetspolicyn<ph name="END_PRIVACY_LINK" />.\nChrome skickar data om användning och krascher till Google i syfte att förbättra appen. <ph name="BEGIN_UMA_LINK" />Hantera<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Erbjud översättning</translation>
 <translation id="4720023427747327413">Öppna i <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Hjälp till att förbättra Chrome. <ph name="BEGIN_LINK" />Fyll i enkäten<ph name="END_LINK" />.</translation>
@@ -908,6 +910,7 @@
 <translation id="6277522088822131679">Det gick inte att skriva ut sidan. Försök igen.</translation>
 <translation id="6277722725779679269">Det gick inte att uppdatera Bevaka pris</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Genom att använda Chrome godkänner du <ph name="BEGIN_LINK1" />Googles användarvillkor<ph name="END_LINK1" /> och <ph name="BEGIN_LINK2" />de ytterligare användarvillkoren för Google Chrome och Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Du kan skicka flikar mellan enheter som är inloggade på samma Google-konto</translation>
 <translation id="6297765934698848803">Organisationen som hanterar din enhet har inaktiverat kameran.</translation>
 <translation id="6301525844455696527">Läs ikapp i läslistan</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 709a516..3108d01 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{Faili # ya sauti}other{Faili # za sauti}}</translation>
 <translation id="265156376773362237">Upakiaji mapema wa kawaida</translation>
 <translation id="2656405586795711023">Programu za wavuti</translation>
+<translation id="2689830683995595741">Kwa kutumia Chrome, unakubali <ph name="BEGIN_LINK1" />Sheria na Masharti ya Google<ph name="END_LINK1" /> na <ph name="BEGIN_LINK2" />Sheria na Masharti ya Ziada ya Google Chrome na Mfumo wa Uendeshaji wa Chrome<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Ilani ya Faragha ya Akaunti za Google Zinazodhibitiwa na Family Link<ph name="END_LINK3" /> inatumika pia.</translation>
 <translation id="2702516483241149200">Mpya: shiriki kiungo kinachoenda kwenye maandishi haya</translation>
 <translation id="2704606927547763573">Imenakiliwa</translation>
 <translation id="2707726405694321444">Onyesha upya ukurasa</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 na <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> zaidi}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 na <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> zaidi}}</translation>
 <translation id="4696983787092045100">Tuma maandishi kwenye Vifaa Vyako</translation>
 <translation id="4699172675775169585">Picha na faili zilizoakibishwa</translation>
+<translation id="471759387343966120">Kwa kuendelea, unakubali <ph name="BEGIN_TOS_LINK" />Sheria na Masharti<ph name="END_TOS_LINK" /> na <ph name="BEGIN_PRIVACY_LINK" />Sera ya\u00A0Faragha<ph name="END_PRIVACY_LINK" />.\nIli kusaidia kuboresha programu, Chrome hutumia Google data ya matumizi na ripoti za kuacha kufanya kazi. <ph name="BEGIN_UMA_LINK" />Dhibiti<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Jitolee kutafsiri</translation>
 <translation id="4720023427747327413">Fungua katika <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Tusaidie kuboresha Chrome.<ph name="BEGIN_LINK" />Shiriki katika utafiti<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Kulikuwa na tatizo katika kuchapisha ukurasa. Tafadhali jaribu tena.</translation>
 <translation id="6277722725779679269">Imeshindwa kusasisha bei Unayofuatilia</translation>
 <translation id="6278428485366576908">Mandhari</translation>
+<translation id="6292420053234093573">Kwa kutumia Chrome, unakubali <ph name="BEGIN_LINK1" />Sheria na Masharti ya Google<ph name="END_LINK1" /> na <ph name="BEGIN_LINK2" />Sheria na Masharti ya Ziada ya Google Chrome na Mfumo wa Uendeshaji wa Chrome<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Unaweza kutuma vichupo kati ya vifaa ulivyotumia kuingia katika Akaunti moja ya Google</translation>
 <translation id="6297765934698848803">Shirika linalosimamia kifaa chako limezima kamera yako.</translation>
 <translation id="6301525844455696527">Fuatilia orodha yako ya kusoma</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 937ad6c..1fb02bc 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ஆடியோ ஃபைல்}other{# ஆடியோ ஃபைல்கள் }}</translation>
 <translation id="265156376773362237">இயல்பான முன்கூட்டிய ஏற்றுதல்</translation>
 <translation id="2656405586795711023">இணைய ஆப்ஸ்</translation>
+<translation id="2689830683995595741">Chromeமைப் பயன்படுத்துவதன் மூலம் <ph name="BEGIN_LINK1" />Google சேவை விதிமுறைகளையும்<ph name="END_LINK1" /> <ph name="BEGIN_LINK2" />Google Chrome மற்றும் Chrome OS தொடர்பான கூடுதல் சேவை விதிமுறைகளையும்<ph name="END_LINK2" /> ஏற்கிறீர்கள். இவற்றோடு <ph name="BEGIN_LINK3" />Family Link நிர்வகிக்கும் Google கணக்குகளுக்கான தனியுரிமை அறிக்கையும்<ph name="END_LINK3" /> பொருந்தும்.</translation>
 <translation id="2702516483241149200">புதிது: இந்த உரைக்குச் செல்லும் இணைப்பைப் பகிரலாம்</translation>
 <translation id="2704606927547763573">நகலெடுக்கப்பட்டது</translation>
 <translation id="2707726405694321444">பக்கத்தைப் புதுப்பி</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 மற்றும் <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> விருப்பம்}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 மற்றும் <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> விருப்பங்கள்}}</translation>
 <translation id="4696983787092045100">எனது சாதனங்களுக்கு உரைச் செய்தியை அனுப்பு</translation>
 <translation id="4699172675775169585">தற்காலிகமாகச் சேமிக்கப்பட்ட படங்கள் மற்றும் ஃபைல்கள் </translation>
+<translation id="471759387343966120">தொடர்வதன் மூலம் <ph name="BEGIN_TOS_LINK" />சேவை விதிமுறைகளையும்<ph name="END_TOS_LINK" /> <ph name="BEGIN_PRIVACY_LINK" />தனியுரிமைக்\u00A0கொள்கையையும்<ph name="END_PRIVACY_LINK" /> ஏற்கிறீர்கள்.\nஆப்ஸை மேம்படுத்த உதவும் வகையில் உபயோகத் தரவையும் சிதைவுத் தரவையும் Googleளுக்கு Chrome அனுப்பும். <ph name="BEGIN_UMA_LINK" />நிர்வகியுங்கள்<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">மொழிபெயர்ப்பதற்கான சலுகை</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />இல் திற</translation>
 <translation id="4720982865791209136">Chromeஐ மேம்படுத்த உதவவும். <ph name="BEGIN_LINK" />கருத்துக்கணிப்பில் பங்கேற்கவும்<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">பக்கத்தை அச்சிடுவதில் சிக்கல் ஏற்பட்டது. மீண்டும் முயற்சிக்கவும்.</translation>
 <translation id="6277722725779679269">'விலையைக் கண்காணி' அம்சத்தைப் புதுப்பிக்க முடியவில்லை</translation>
 <translation id="6278428485366576908">தீம்</translation>
+<translation id="6292420053234093573">Chromeமைப் பயன்படுத்துவதன் மூலம் <ph name="BEGIN_LINK1" />Google சேவை விதிமுறைகளையும்<ph name="END_LINK1" /> <ph name="BEGIN_LINK2" />Google Chrome மற்றும் Chrome OS தொடர்பான கூடுதல் சேவை விதிமுறைகளையும்<ph name="END_LINK2" /> ஏற்கிறீர்கள்.</translation>
 <translation id="6294610283659775533">ஒரே Google கணக்கின் மூலம் உள்நுழைந்துள்ள சாதனங்களுக்கு இடையே பக்கங்களை அனுப்பிக்கொள்ள முடியும்</translation>
 <translation id="6297765934698848803">உங்கள் சாதனத்தை நிர்வகிக்கும் நிறுவனம் கேமராவை முடக்கியுள்ளது.</translation>
 <translation id="6301525844455696527">மீதியிருப்பவற்றைப் படியுங்கள்</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">இந்த உலாவியை நிர்வகிப்பவர்: <ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">கணக்கைச் சேர்</translation>
 <translation id="766587987807204883">செய்திகளை இங்கே பார்க்கலாம், ஆஃப்லைனில் இருந்தாலும்கூட அவற்றைப் படிக்கலாம்</translation>
+<translation id="768232549260819724">GIF நகலெடுக்கப்பட்டது</translation>
 <translation id="7682724950699840886">பின்வரும் உதவிக்குறிப்புகளை முயன்று பார்க்கவும்: சாதனத்தில் போதுமான சேமிப்பிடம் இருப்பதை உறுதிப்படுத்தி, மீண்டும் ஏற்ற முயலவும்.</translation>
 <translation id="768618399695552958">நீங்கள் பார்வையிடும் சில பக்கங்கள் முன்கூட்டியே ஏற்றப்பட்டிருக்கும். Google தளத்தில் இருந்து இணைக்கப்படும்போது Google சேவையகங்கள் மூலம் பக்கங்கள் முன்கூட்டியே ஏற்றப்படக்கூடும்.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> இல் மின்னஞ்சலை உருவாக்கவும்</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">ஃபைலைப் பாதுகாப்பாகப் பதிவிறக்க முடியாது</translation>
 <translation id="8571213806525832805">கடந்த 4 வாரங்கள்</translation>
 <translation id="8572344201470131220">படம் நகலெடுக்கப்பட்டது</translation>
+<translation id="8580884231102452214">GIFஐ நகலெடு</translation>
 <translation id="8583805026567836021">கணக்குத் தரவை அழிக்கிறது</translation>
 <translation id="859046281437143747">'மேலும் விருப்பங்கள்' பட்டன் மூலம் விலையைக் கண்காணிக்கலாம்</translation>
 <translation id="860043288473659153">கார்டு உரிமையாளரின் பெயர்</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 2e718a6..b4a7933 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ఆడియో ఫైల్}other{# ఆడియో ఫైళ్లు}}</translation>
 <translation id="265156376773362237">స్టాండర్డ్ ప్రీ - లోడింగ్</translation>
 <translation id="2656405586795711023">వెబ్ యాప్‌లు</translation>
+<translation id="2689830683995595741">Chromeను ఉపయోగించడం ద్వారా, మీరు <ph name="BEGIN_LINK1" />Google సేవా నిబంధనలు<ph name="END_LINK1" />, అలాగే <ph name="BEGIN_LINK2" />Google Chrome, Chrome OS అదనపు సేవా నిబంధనలు<ph name="END_LINK2" />కు అంగీకరిస్తున్నారు. <ph name="BEGIN_LINK3" />Family Linkతో మేనేజ్ చేస్తున్న Google ఖాతాల కోసం గోప్యతా ప్రకటన<ph name="END_LINK3" /> కూడా వర్తిస్తుంది.</translation>
 <translation id="2702516483241149200">కొత్తది: ఈ టెక్స్ట్‌కు స్క్రోల్ చేసే లింక్‌ను షేర్ చేయండి</translation>
 <translation id="2704606927547763573">కాపీ చేయబడింది</translation>
 <translation id="2707726405694321444">పేజీని రిఫ్రెష్ చేయండి</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 మరియు మరో <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 మరియు మరో <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">వచనాన్ని మీ పరికరాలకు పంపండి</translation>
 <translation id="4699172675775169585">కాష్ చేసిన చిత్రాలు మరియు ఫైళ్లు</translation>
+<translation id="471759387343966120">కొనసాగడం ద్వారా, మీరు <ph name="BEGIN_TOS_LINK" />సర్వీస్ నియమాలు<ph name="END_TOS_LINK" />, అలాగే <ph name="BEGIN_PRIVACY_LINK" />గోప్యతా\u00A0పాలసీ<ph name="END_PRIVACY_LINK" />కి అంగీకరిస్తున్నారు.\nయాప్‌ను మెరుగుపరచుకోవడంలో సహాయపడటానికి Chrome, వినియోగ, క్రాష్ డేటాను Googleకు పంపుతుంది. <ph name="BEGIN_UMA_LINK" />మేనేజ్ చేయండి<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">అనువదించమని ఆఫర్ చేయి</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" />లో తెరువు</translation>
 <translation id="4720982865791209136">Chromeను మెరుగుపరచడంలో సహాయపడండి. <ph name="BEGIN_LINK" />సర్వేలో పాల్గొనండి<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">పేజీని ముద్రిస్తున్నప్పుడు సమస్య ఏర్పడింది. దయచేసి మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="6277722725779679269">'ధరను ట్రాక్ చేయడం'ను అప్‌డేట్ చేయడం సాధ్యపడలేదు</translation>
 <translation id="6278428485366576908">థీమ్</translation>
+<translation id="6292420053234093573">Chromeను ఉపయోగించడం ద్వారా, మీరు <ph name="BEGIN_LINK1" />Google సేవా నిబంధనలు<ph name="END_LINK1" />, అలాగే <ph name="BEGIN_LINK2" />Google Chrome, Chrome OS అదనపు సేవా నిబంధనలు<ph name="END_LINK2" />కు అంగీకరిస్తున్నారు.</translation>
 <translation id="6294610283659775533">ఒకే Google ఖాతాతో సైన్ ఇన్ చేయబడి ఉన్న పరికరాల మధ్య మీరు ట్యాబ్‌లను పంపవచ్చు</translation>
 <translation id="6297765934698848803">మీ పరికరాన్ని మేనేజ్ చేసే సంస్థ మీ కెమెరాను ఆఫ్ చేసింది.</translation>
 <translation id="6301525844455696527">మీ చదవాల్సిన లిస్ట్‌ను మిస్ కాకుండా చూడండి</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 a16f614..ef50a43e 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{ไฟล์เสียง # ไฟล์}other{ไฟล์เสียง # ไฟล์}}</translation>
 <translation id="265156376773362237">การโหลดล่วงหน้าแบบมาตรฐาน</translation>
 <translation id="2656405586795711023">เว็บแอป</translation>
+<translation id="2689830683995595741">การใช้ Chrome หมายความว่า คุณยอมรับ<ph name="BEGIN_LINK1" />ข้อกำหนดในการให้บริการของ Google<ph name="END_LINK1" /> และ<ph name="BEGIN_LINK2" />ข้อกำหนดในการให้บริการเพิ่มเติมของ Google Chrome และ Chrome OS<ph name="END_LINK2" /> <ph name="BEGIN_LINK3" />ประกาศเกี่ยวกับนโยบายความเป็นส่วนตัวสำหรับบัญชี Google ที่มีการจัดการด้วย Family Link<ph name="END_LINK3" /> จะมีผลใช้บังคับด้วย</translation>
 <translation id="2702516483241149200">ใหม่: แชร์ลิงก์ที่เลื่อนมายังข้อความนี้</translation>
 <translation id="2704606927547763573">คัดลอกแล้ว</translation>
 <translation id="2707726405694321444">รีเฟรชหน้า</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 และอีก <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ตัวเลือก}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 และอีก <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ตัวเลือก}}</translation>
 <translation id="4696983787092045100">ส่งข้อความไปยังอุปกรณ์ของคุณ</translation>
 <translation id="4699172675775169585">รูปภาพและไฟล์ที่แคชไว้</translation>
+<translation id="471759387343966120">การดำเนินการต่อหมายความว่าคุณยอมรับ<ph name="BEGIN_TOS_LINK" />ข้อกำหนดในการให้บริการ<ph name="END_TOS_LINK" />และ<ph name="BEGIN_PRIVACY_LINK" />นโยบายความเป็นส่วนตัว<ph name="END_PRIVACY_LINK" />\nChrome จะส่งข้อมูลการใช้งานและข้อขัดข้องไปยัง Google เพื่อช่วยปรับปรุงแอป <ph name="BEGIN_UMA_LINK" />จัดการ<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">เสนอการแปล</translation>
 <translation id="4720023427747327413">เปิดใน <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">ช่วยปรับปรุง Chrome ด้วยการ<ph name="BEGIN_LINK" />ตอบแบบสำรวจ<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">เกิดปัญหาในการพิมพ์หน้านี้ โปรดลองอีกครั้ง</translation>
 <translation id="6277722725779679269">อัปเดตการติดตามราคาไม่ได้</translation>
 <translation id="6278428485366576908">ธีม</translation>
+<translation id="6292420053234093573">การใช้ Chrome หมายความว่า คุณยอมรับ<ph name="BEGIN_LINK1" />ข้อกำหนดในการให้บริการของ Google<ph name="END_LINK1" /> และ<ph name="BEGIN_LINK2" />ข้อกำหนดในการให้บริการเพิ่มเติมของ Google Chrome และ Chrome OS<ph name="END_LINK2" /></translation>
 <translation id="6294610283659775533">คุณสามารถส่งแท็บระหว่างอุปกรณ์ที่ลงชื่อเข้าใช้บัญชี Google เดียวกัน</translation>
 <translation id="6297765934698848803">องค์กรที่จัดการอุปกรณ์ของคุณปิดกล้องไว้</translation>
 <translation id="6301525844455696527">อ่านเรื่องรออ่านต่อ</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251"><ph name="PARENT_NAME" /> เป็นผู้จัดการเบราว์เซอร์นี้</translation>
 <translation id="7665369617277396874">เพิ่มบัญชี</translation>
 <translation id="766587987807204883">บทความจะแสดงที่นี่ ซึ่งคุณจะอ่านได้แม้ในขณะออฟไลน์</translation>
+<translation id="768232549260819724">คัดลอก GIF แล้ว</translation>
 <translation id="7682724950699840886">ลองทำตามเคล็ดลับต่อไปนี้ ตรวจสอบว่าอุปกรณ์มีพื้นที่ว่างเพียงพอ จากนั้นพยายามส่งออกอีกครั้ง</translation>
 <translation id="768618399695552958">ระบบจะโหลดหน้าเว็บบางหน้าที่คุณเข้าชมไว้ล่วงหน้า ระบบอาจโหลดหน้าเว็บล่วงหน้าผ่านเซิร์ฟเวอร์ของ Google เมื่อลิงก์จากเว็บไซต์ Google</translation>
 <translation id="7698359219371678927">สร้างอีเมลใน <ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">ดาวน์โหลดไฟล์อย่างปลอดภัยไม่ได้</translation>
 <translation id="8571213806525832805">4 สัปดาห์ที่แล้ว</translation>
 <translation id="8572344201470131220">คัดลอกรูปภาพแล้ว</translation>
+<translation id="8580884231102452214">คัดลอก GIF</translation>
 <translation id="8583805026567836021">กำลังล้างข้อมูลบัญชี</translation>
 <translation id="859046281437143747">ติดตามราคาโดยใช้ปุ่ม "ตัวเลือกเพิ่มเติม"</translation>
 <translation id="860043288473659153">ชื่อผู้ถือบัตร</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 c91332b8..1b7f5ba 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Ses dosyası}other{# Ses dosyası}}</translation>
 <translation id="265156376773362237">Standart önceden yükleme</translation>
 <translation id="2656405586795711023">Web uygulamaları</translation>
+<translation id="2689830683995595741">Chrome'u kullanarak <ph name="BEGIN_LINK1" />Google Hizmet Şartları<ph name="END_LINK1" /> ile <ph name="BEGIN_LINK2" />Google Chrome ve Chrome OS Ek Hizmet Şartları<ph name="END_LINK2" />'nı kabul etmiş olursunuz. <ph name="BEGIN_LINK3" />Family Link ile Yönetilen Google Hesapları İçin Gizlilik Uyarısı<ph name="END_LINK3" /> da geçerlidir.</translation>
 <translation id="2702516483241149200">Yeni: bu metne kaydıran bir bağlantı paylaşın</translation>
 <translation id="2704606927547763573">Kopyalandı</translation>
 <translation id="2707726405694321444">Sayfayı yenile</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ve <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> seçenek daha}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 ve <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> seçenek daha}}</translation>
 <translation id="4696983787092045100">Cihazlarınıza mesaj gönderin</translation>
 <translation id="4699172675775169585">Önbelleğe alınan resimler ve dosyalar</translation>
+<translation id="471759387343966120">Devam ederek <ph name="BEGIN_TOS_LINK" />Hizmet Şartları<ph name="END_TOS_LINK" /> ve <ph name="BEGIN_PRIVACY_LINK" />Gizlilik Politikası<ph name="END_PRIVACY_LINK" />'nı kabul etmiş olursunuz.\nChrome, uygulamanın iyileştirilmesine yardımcı olmak için kullanım ve kilitlenme verilerini Google'a gönderir. <ph name="BEGIN_UMA_LINK" />Yönet<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Çevirmeyi öner</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> uygulamasında aç</translation>
 <translation id="4720982865791209136">Chrome'u daha iyi hale getirmeye yardımcı olun. <ph name="BEGIN_LINK" />Ankete katıl<ph name="END_LINK" />.</translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Sayfa yazdırılırken bir sorun oluştu. Lütfen tekrar deneyin.</translation>
 <translation id="6277722725779679269">Fiyat takibi özelliği güncellenemedi</translation>
 <translation id="6278428485366576908">Tema</translation>
+<translation id="6292420053234093573">Chrome'u kullanarak <ph name="BEGIN_LINK1" />Google Hizmet Şartları<ph name="END_LINK1" /> ile <ph name="BEGIN_LINK2" />Google Chrome ve Chrome OS Ek Hizmet Şartları<ph name="END_LINK2" />'nı kabul etmiş olursunuz.</translation>
 <translation id="6294610283659775533">Aynı Google Hesabında oturum açmış olan cihazlar arasında sekmeleri gönderebilirsiniz</translation>
 <translation id="6297765934698848803">Cihazınızı yöneten kuruluş, kameranızı kapattı.</translation>
 <translation id="6301525844455696527">Okuma listenizde geride kalmayın</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Bu tarayıcı <ph name="PARENT_NAME" /> tarafından yönetiliyor.</translation>
 <translation id="7665369617277396874">Hesap ekle</translation>
 <translation id="766587987807204883">Çevrimdışı olsanız bile okuyabileceğiniz makaleler burada görünür.</translation>
+<translation id="768232549260819724">GIF Kopyalandı</translation>
 <translation id="7682724950699840886">Şu ipuçlarını deneyin: Cihazınızda yeterli alan bulunduğundan emin olun, daha sonra dışa aktarmayı tekrar deneyin.</translation>
 <translation id="768618399695552958">Ziyaret ettiğiniz sayfaların bazıları önceden yüklenir. Bir Google sitesinden bağlantı verildiğinde sayfalar Google sunucuları aracılığıyla önceden yüklenebilir.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> adlı uygulamada e-posta oluşturun</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Dosya güvenli bir şekilde indirilemiyor</translation>
 <translation id="8571213806525832805">Son 4 hafta</translation>
 <translation id="8572344201470131220">Resim kopyalandı</translation>
+<translation id="8580884231102452214">GIF'i kopyala</translation>
 <translation id="8583805026567836021">Hesap verileri temizleniyor</translation>
 <translation id="859046281437143747">Daha fazla seçenek düğmesinden fiyatı takip edin</translation>
 <translation id="860043288473659153">Kart sahibinin adı</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 d8a33f9..96f32b6e 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# аудіофайл}one{# аудіофайл}few{# аудіофайли}many{# аудіофайлів}other{# аудіофайлу}}</translation>
 <translation id="265156376773362237">Звичайне попереднє завантаження</translation>
 <translation id="2656405586795711023">Веб-додатки</translation>
+<translation id="2689830683995595741">Використовуючи Chrome, ви погоджуєтесь із <ph name="BEGIN_LINK1" />Загальними положеннями та умовами Google<ph name="END_LINK1" /> і <ph name="BEGIN_LINK2" />Додатковими умовами використання Google Chrome і ОС Chrome<ph name="END_LINK2" />. Також застосовується <ph name="BEGIN_LINK3" />Примітка про конфіденційність для облікових записів Google, керованих у Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Новинка! Діліться посиланням, яке прокручує сторінку до цього тексту</translation>
 <translation id="2704606927547763573">Скопійов.</translation>
 <translation id="2707726405694321444">Оновити сторінку</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і ще <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і ще <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}few{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і ще <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}many{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і ще <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 і ще <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" />}}</translation>
 <translation id="4696983787092045100">Надіслати SMS на пристрої</translation>
 <translation id="4699172675775169585">Кешовані зображення та файли</translation>
+<translation id="471759387343966120">Продовжуючи, ви приймаєте <ph name="BEGIN_TOS_LINK" />Умови використання<ph name="END_TOS_LINK" /> та <ph name="BEGIN_PRIVACY_LINK" />Політику конфіденційності<ph name="END_PRIVACY_LINK" />.\nЩоб покращити додаток, Chrome надсилає дані про використання та збої в Google. <ph name="BEGIN_UMA_LINK" />Керувати<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Пропонувати переклад</translation>
 <translation id="4720023427747327413">Відкрити в <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Допоможіть покращити Chrome. <ph name="BEGIN_LINK" />Візьміть участь в опитуванні<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Виникла проблема з друком цієї сторінки. Повторіть спробу.</translation>
 <translation id="6277722725779679269">Не вдалось оновити відстеження ціни</translation>
 <translation id="6278428485366576908">Тема</translation>
+<translation id="6292420053234093573">Використовуючи Chrome, ви погоджуєтесь із <ph name="BEGIN_LINK1" />Загальними положеннями та умовами Google<ph name="END_LINK1" /> і <ph name="BEGIN_LINK2" />Додатковими умовами використання Google Chrome і ОС Chrome<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Ви можете надсилати вкладки між пристроями, на яких увійшли в той самий обліковий запис Google</translation>
 <translation id="6297765934698848803">Організація, що керує вашим пристроєм, вимкнула камеру.</translation>
 <translation id="6301525844455696527">Не забувайте про свій список читання</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 7c828c9..73db4b1 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# آڈیو فائل}other{# آڈیو فائلیں}}</translation>
 <translation id="265156376773362237">معیاری پیشگی لوڈنگ</translation>
 <translation id="2656405586795711023">ویب ایپس</translation>
+<translation id="2689830683995595741">‏Chrome کا استعمال کر کے، آپ <ph name="BEGIN_LINK1" />Google کی سروس کی شرائط<ph name="END_LINK1" />، اور <ph name="BEGIN_LINK2" />Chrome OS کی اضافی سروس کی شرائط<ph name="END_LINK2" />سے اتفاق کرتے ہیں۔ <ph name="BEGIN_LINK3" />Google اکاؤنٹس کے لیے Family Link سے نظم کردہ رازداری کا نوٹس<ph name="END_LINK3" /> بھی لاگو ہوتا ہے۔</translation>
 <translation id="2702516483241149200">نیا: اس ٹیکسٹ کو اسکرول کرنے والے لنک کا اشتراک کریں</translation>
 <translation id="2704606927547763573">کاپی کیا</translation>
 <translation id="2707726405694321444">صفحہ ریفریش کریں</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 اور <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> مزید}other{‏<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 اور <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> مزید}}</translation>
 <translation id="4696983787092045100">اپنے آلات پر متن بھیجیں</translation>
 <translation id="4699172675775169585">کیش کردہ تصاویر اور فائلیں</translation>
+<translation id="471759387343966120">‏جاری رکھ کر، آپ <ph name="BEGIN_TOS_LINK" />سروس کی شرائط<ph name="END_TOS_LINK" /> اور <ph name="BEGIN_PRIVACY_LINK" />رازداری کی پالیسی<ph name="END_PRIVACY_LINK" /> سے اتفاق کرتے ہیں۔\nایپ کو بہتر بنانے میں مدد کرنے کے لیے، Chrome استعمال اور ناکامی کا ڈیٹا Google کو بھیجتا ہے۔ <ph name="BEGIN_UMA_LINK" />نظم کریں<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">ترجمہ کرنے کی پیشکش</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> میں کھولیں</translation>
 <translation id="4720982865791209136">‏Chrome کو بہتر بنانے میں مدد کریں۔ <ph name="BEGIN_LINK" />سروے مکمل کریں<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">صفحہ کو پرنٹ کرنے میں ایک مسئلہ تھا۔ براہ کرم دوبارہ کوشش کریں۔</translation>
 <translation id="6277722725779679269">قیمت ٹریک کریں کو اپ ڈیٹ نہیں کیا جا سکا</translation>
 <translation id="6278428485366576908">تھیم</translation>
+<translation id="6292420053234093573">‏Chrome کا استعمال کر کے، آپ <ph name="BEGIN_LINK1" />Google کی سروس کی شرائط<ph name="END_LINK1" />، اور <ph name="BEGIN_LINK2" />Chrome OS کی اضافی سروس کی شرائط<ph name="END_LINK2" />سے اتفاق کرتے ہیں۔</translation>
 <translation id="6294610283659775533">‏آپ اسی Google اکاؤنٹ کے ساتھ سائن ان کردہ آلات کے درمیان ٹیبز بھیج سکتے ہیں</translation>
 <translation id="6297765934698848803">آپ کے آلہ کا نظم کرنے والی تنظیم نے آپ کا کیمرا آف کر دیا ہے۔</translation>
 <translation id="6301525844455696527">اپنی پڑھنے کی فہرست دیکھیں</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">یہ براؤزر <ph name="PARENT_NAME" /> کے زیر انتظام ہے۔</translation>
 <translation id="7665369617277396874">اکاؤنٹ شامل کریں</translation>
 <translation id="766587987807204883">مضامین یہاں دکھائی دیتے ہیں جنہیں آپ آف لائن ہونے پر بھی پڑھ سکتے ہیں</translation>
+<translation id="768232549260819724">‏GIF کاپی ہو گیا</translation>
 <translation id="7682724950699840886">مندرجہ ذیل تجاویز آزمائیں: یقینی بنائیں کہ آپ کے آلہ پر کافی جگہ ہے، دوبارہ برآمد کرنے کی کوشش کریں۔</translation>
 <translation id="768618399695552958">‏آپ کے ملاحظہ کردہ صفحات میں سے کچھ پیشگی لوڈ کردہ ہیں۔ کسی Google سائٹ سے لنک ہونے پر صفحات کو Google سرورز کے ذریعے پیشگی لوڈ کیا جا سکتا ہے۔</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> میں ای میل تخلیق کریں</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">فائل کو محفوظ طریقے سے ڈاؤن لوڈ نہیں کیا جا سکتا</translation>
 <translation id="8571213806525832805">گزشتہ 4 ہفتے</translation>
 <translation id="8572344201470131220">تصویر کو کاپی کر دیا گیا</translation>
+<translation id="8580884231102452214">‏GIF کاپی کریں</translation>
 <translation id="8583805026567836021">اکاؤنٹ ڈیٹا صاف کرنا</translation>
 <translation id="859046281437143747">مزید اختیارات والے بٹن سے قیمت ٹریک کریں</translation>
 <translation id="860043288473659153">کارڈ کے حامل کا نام</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 b910268..12815f4 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ta audio fayl}other{# ta audio fayl}}</translation>
 <translation id="265156376773362237">Standart oldindan yuklash</translation>
 <translation id="2656405586795711023">Veb-ilovalar</translation>
+<translation id="2689830683995595741">Chromeni ishlatish bilan siz <ph name="BEGIN_LINK1" />Google xizmat shartlari<ph name="END_LINK1" /> bilan <ph name="BEGIN_LINK2" />Google Chrome va Chrome OS qoʻshimcha xizmat shartlariga<ph name="END_LINK2" /> rozilik bildirgan hisoblanasiz. <ph name="BEGIN_LINK3" />Family Link bilan boshqariladigan Google hisoblari uchun Maxfiylik eslatmasi<ph name="END_LINK3" /> ham tatbiq qilinadi.</translation>
 <translation id="2702516483241149200">Yangi: bu matnga varaqlaydigan havolani ulashing</translation>
 <translation id="2704606927547763573">Nusxa olindi</translation>
 <translation id="2707726405694321444">Sahifani yangilash</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 va yana <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ta}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 va yana <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ta}}</translation>
 <translation id="4696983787092045100">Matnni qurilmalaringizga yuborish</translation>
 <translation id="4699172675775169585">Keshda saqlangan tavsirlar va boshqa fayllar</translation>
+<translation id="471759387343966120">Davom etish orqali siz <ph name="BEGIN_TOS_LINK" />Xizmat shartlari<ph name="END_TOS_LINK" /> va <ph name="BEGIN_PRIVACY_LINK" />Maxfiylik siyosatiga<ph name="END_PRIVACY_LINK" /> rozilik bildirasiz.\nIlovani yaxshilash maqsadida Chrome foydalanish statistikasi va ishdan chiqishlar axborotini Googlega yuboradi. <ph name="BEGIN_UMA_LINK" />Boshqarish<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Tarjima qilishni taklif qilish</translation>
 <translation id="4720023427747327413"><ph name="PRODUCT_NAME" /> orqali ochish</translation>
 <translation id="4720982865791209136">Chrome brauzerini yaxshilashga yordam bering. <ph name="BEGIN_LINK" />So‘rovnomada qatnashing.<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Sahifani chop etishda muammo yuzaga keldi. Qayta urinib ko‘ring.</translation>
 <translation id="6277722725779679269">Kuzatiladigan narx yangilanmadi</translation>
 <translation id="6278428485366576908">Mavzu</translation>
+<translation id="6292420053234093573">Chromeni ishlatish bilan siz <ph name="BEGIN_LINK1" />Google xizmat shartlari<ph name="END_LINK1" /> bilan <ph name="BEGIN_LINK2" />Google Chrome va Chrome OS qoʻshimcha xizmat shartlariga<ph name="END_LINK2" /> rozilik bildirgan hisoblanasiz.</translation>
 <translation id="6294610283659775533">Varaqlarni bir xil Google hisobidan kirilgan qurilmalararo yuborish mumkin</translation>
 <translation id="6297765934698848803">Kamerangiz qurilmangizni boshqaruvchi tashkilot tomonidan oʻchirib qoʻyildi.</translation>
 <translation id="6301525844455696527">Mutolaa roʻyxatingiz esdan chiqmasin</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 78ac7de..07e37946 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# tệp âm thanh}other{# tệp âm thanh}}</translation>
 <translation id="265156376773362237">Tải trước tiêu chuẩn</translation>
 <translation id="2656405586795711023">Ứng dụng web</translation>
+<translation id="2689830683995595741">Bằng việc sử dụng Chrome, bạn đồng ý với <ph name="BEGIN_LINK1" />Điều khoản dịch vụ của Google<ph name="END_LINK1" /> cũng như <ph name="BEGIN_LINK2" />Điều khoản dịch vụ bổ sung của Google Chrome và Chrome OS<ph name="END_LINK2" />. Bạn sẽ phải tuân thủ cả <ph name="BEGIN_LINK3" />Thông báo về quyền riêng tư cho Tài khoản Google được quản lý bằng Family Link<ph name="END_LINK3" />.</translation>
 <translation id="2702516483241149200">Mới: chia sẻ một đường liên kết dẫn tới văn bản này</translation>
 <translation id="2704606927547763573">Đã sao chép</translation>
 <translation id="2707726405694321444">Làm mới trang</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 và <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> tùy chọn khác}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 và <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> tùy chọn khác}}</translation>
 <translation id="4696983787092045100">Gửi văn bản đến các thiết bị của bạn</translation>
 <translation id="4699172675775169585">Tệp và hình ảnh được lưu trong bộ nhớ đệm</translation>
+<translation id="471759387343966120">Bằng việc tiếp tục, bạn đồng ý với <ph name="BEGIN_TOS_LINK" />Điều khoản dịch vụ<ph name="END_TOS_LINK" /> và <ph name="BEGIN_PRIVACY_LINK" />Chính sách\u00A0quyền riêng tư<ph name="END_PRIVACY_LINK" />.\nĐể giúp cải thiện ứng dụng, Chrome sẽ gửi cho Google dữ liệu sử dụng và dữ liệu sự cố. <ph name="BEGIN_UMA_LINK" />Quản lý<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Đề xuất dịch</translation>
 <translation id="4720023427747327413">Mở trong <ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Hãy giúp cải tiến Chrome. <ph name="BEGIN_LINK" />Tham gia khảo sát<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Đã xảy ra sự cố khi in trang này. Vui lòng thử lại.</translation>
 <translation id="6277722725779679269">Không thể cập nhật tính năng Theo dõi giá</translation>
 <translation id="6278428485366576908">Chủ đề</translation>
+<translation id="6292420053234093573">Bằng việc sử dụng Chrome, bạn đồng ý với <ph name="BEGIN_LINK1" />Điều khoản dịch vụ của Google<ph name="END_LINK1" /> cũng như <ph name="BEGIN_LINK2" />Điều khoản dịch vụ bổ sung của Google Chrome và Chrome OS<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Bạn có thể gửi thẻ giữa các thiết bị được đăng nhập bằng cùng một Tài khoản Google</translation>
 <translation id="6297765934698848803">Tổ chức giữ quyền quản lý thiết bị của bạn đã tắt máy ảnh của bạn.</translation>
 <translation id="6301525844455696527">Hãy hoàn thành danh sách đọc của bạn</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 c7bbd0f0..3042f74 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# 个音频文件}other{# 个音频文件}}</translation>
 <translation id="265156376773362237">标准预加载</translation>
 <translation id="2656405586795711023">Web 应用</translation>
+<translation id="2689830683995595741">使用 Chrome 即表示您同意接受 <ph name="BEGIN_LINK1" />Google 服务条款<ph name="END_LINK1" />以及 <ph name="BEGIN_LINK2" />Google Chrome 和 Chrome 操作系统附加服务条款<ph name="END_LINK2" />。<ph name="BEGIN_LINK3" />针对通过 Family Link 管理的 Google 帐号的隐私权声明<ph name="END_LINK3" />也适用。</translation>
 <translation id="2702516483241149200">新功能:可分享能够定位到此文本的链接</translation>
 <translation id="2704606927547763573">已复制</translation>
 <translation id="2707726405694321444">刷新网页</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026以及另外 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 种送货方式}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026以及另外 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 种送货方式}}</translation>
 <translation id="4696983787092045100">向您的多部设备发送短信</translation>
 <translation id="4699172675775169585">缓存的图片和文件</translation>
+<translation id="471759387343966120">继续操作即表示您同意遵守<ph name="BEGIN_TOS_LINK" />服务条款<ph name="END_TOS_LINK" />和<ph name="BEGIN_PRIVACY_LINK" />隐私权政策<ph name="END_PRIVACY_LINK" />。\n为帮助改进该应用,Chrome 会向 Google 发送使用情况和崩溃数据。<ph name="BEGIN_UMA_LINK" />管理<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">提供翻译</translation>
 <translation id="4720023427747327413">在<ph name="PRODUCT_NAME" />中打开</translation>
 <translation id="4720982865791209136">欢迎帮助我们改进 Chrome。<ph name="BEGIN_LINK" />参与调查<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">打印该页面时出现问题,请重试。</translation>
 <translation id="6277722725779679269">无法更新“跟踪价格”设置。</translation>
 <translation id="6278428485366576908">主题背景</translation>
+<translation id="6292420053234093573">使用 Chrome 即表示您同意接受 <ph name="BEGIN_LINK1" />Google 服务条款<ph name="END_LINK1" />以及 <ph name="BEGIN_LINK2" />Google Chrome 和 Chrome 操作系统附加服务条款<ph name="END_LINK2" />。</translation>
 <translation id="6294610283659775533">您可在使用同一 Google 帐号登录的不同设备间发送标签页</translation>
 <translation id="6297765934698848803">负责管理您设备的组织已关闭您的摄像头。</translation>
 <translation id="6301525844455696527">请尽快补看阅读清单中的内容</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">此浏览器由 <ph name="PARENT_NAME" /> 管理。</translation>
 <translation id="7665369617277396874">添加帐号</translation>
 <translation id="766587987807204883">报道会显示在此处,即使在离线状态下也可以阅读</translation>
+<translation id="768232549260819724">GIF 已复制</translation>
 <translation id="7682724950699840886">请尝试按以下提示操作:确保您的设备上有足够的空间,然后重新尝试导出。</translation>
 <translation id="768618399695552958">在您访问的网页中,有一些是预加载的网页。从 Google 网站链接到的网页可能会通过 Google 服务器预加载。</translation>
 <translation id="7698359219371678927">在 <ph name="APP_NAME" /> 中创建电子邮件</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">无法安全地下载文件</translation>
 <translation id="8571213806525832805">过去 4 周</translation>
 <translation id="8572344201470131220">图片已复制</translation>
+<translation id="8580884231102452214">复制 GIF</translation>
 <translation id="8583805026567836021">清除帐号数据</translation>
 <translation id="859046281437143747">通过“更多选项”按钮跟踪价格</translation>
 <translation id="860043288473659153">持卡人姓名</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 eafc972..39b0bd14 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# 個音訊檔案}other{# 個音訊檔案}}</translation>
 <translation id="265156376773362237">標準預先載入模式</translation>
 <translation id="2656405586795711023">網絡應用程式</translation>
+<translation id="2689830683995595741">使用 Chrome 即表示您同意《<ph name="BEGIN_LINK1" />Google 服務條款<ph name="END_LINK1" />》以及 <ph name="BEGIN_LINK2" />Google Chrome 和 Chrome 作業系統的《附加服務條款》<ph name="END_LINK2" />。須同時受《<ph name="BEGIN_LINK3" />透過 Family Link 管理的 Google 帳戶私隱聲明<ph name="END_LINK3" />》約束。</translation>
 <translation id="2702516483241149200">新功能:分享捲動至此段文字的連結</translation>
 <translation id="2704606927547763573">已複製</translation>
 <translation id="2707726405694321444">重新整理網頁</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 和另外 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 種運送方式}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 和另外 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 種運送方式}}</translation>
 <translation id="4696983787092045100">將文字傳送至您的裝置</translation>
 <translation id="4699172675775169585">快取圖片和檔案</translation>
+<translation id="471759387343966120">繼續即表示您同意《<ph name="BEGIN_TOS_LINK" />服務條款<ph name="END_TOS_LINK" />》和《<ph name="BEGIN_PRIVACY_LINK" />私隱權政策<ph name="END_PRIVACY_LINK" />》。\nChrome 會向 Google 傳送使用情況和當機資料,以協助改善應用程式。<ph name="BEGIN_UMA_LINK" />管理<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">提供翻譯</translation>
 <translation id="4720023427747327413">用 <ph name="PRODUCT_NAME" /> 開啟</translation>
 <translation id="4720982865791209136">協助改善 Chrome。<ph name="BEGIN_LINK" />請填寫我們的問卷調查<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">列印網頁時發生問題,請再試一次。</translation>
 <translation id="6277722725779679269">無法更新追蹤價格</translation>
 <translation id="6278428485366576908">主題背景</translation>
+<translation id="6292420053234093573">使用 Chrome 即表示您同意《<ph name="BEGIN_LINK1" />Google 服務條款<ph name="END_LINK1" />》以及 <ph name="BEGIN_LINK2" />Google Chrome 和 Chrome 作業系統的《附加服務條款》<ph name="END_LINK2" />。</translation>
 <translation id="6294610283659775533">您可在已登入同一個 Google 帳戶的裝置之間傳送分頁</translation>
 <translation id="6297765934698848803">管理您裝置的機構已關閉攝錄機。</translation>
 <translation id="6301525844455696527">追上您的閱讀清單</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">此瀏覽器由 <ph name="PARENT_NAME" /> 管理。</translation>
 <translation id="7665369617277396874">新增帳戶</translation>
 <translation id="766587987807204883">文章在這裡顯示,即使處於離線狀態也可閱讀</translation>
+<translation id="768232549260819724">已複製 GIF</translation>
 <translation id="7682724950699840886">請嘗試按照以下提示操作:確保您的裝置上有足夠的儲存空間,然後嘗試重新匯出。</translation>
 <translation id="768618399695552958">系統會預先載入您瀏覽的部分網頁。當您從 Google 網站連至這些網頁時,系統可能會透過 Google 伺服器預先載入網頁內容。</translation>
 <translation id="7698359219371678927">在 <ph name="APP_NAME" /> 中建立電郵</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">無法安全下載檔案</translation>
 <translation id="8571213806525832805">過去 4 週</translation>
 <translation id="8572344201470131220">已複製圖片</translation>
+<translation id="8580884231102452214">複製 GIF</translation>
 <translation id="8583805026567836021">正在清除帳戶數據</translation>
 <translation id="859046281437143747">使用「更多選項」按鈕追蹤價格</translation>
 <translation id="860043288473659153">持卡人姓名</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 c01565a..a50fb54 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# 個音訊檔案}other{# 個音訊檔案}}</translation>
 <translation id="265156376773362237">標準預先載入模式</translation>
 <translation id="2656405586795711023">網頁應用程式</translation>
+<translation id="2689830683995595741">使用 Chrome 即表示您同意《<ph name="BEGIN_LINK1" />Google 服務條款<ph name="END_LINK1" />》以及 <ph name="BEGIN_LINK2" />Google Chrome 和 Chrome 作業系統的《附加服務條款》<ph name="END_LINK2" />。您也必須遵守《<ph name="BEGIN_LINK3" />透過 Family Link 管理的 Google 帳戶所適用的隱私權聲明<ph name="END_LINK3" />》。</translation>
 <translation id="2702516483241149200">新功能:分享可跳至這段文字的連結</translation>
 <translation id="2704606927547763573">已複製</translation>
 <translation id="2707726405694321444">重新整理頁面</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 和另外 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 種運送方式}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 和另外 <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> 種運送方式}}</translation>
 <translation id="4696983787092045100">將文字傳送到你的裝置</translation>
 <translation id="4699172675775169585">快取圖片和檔案</translation>
+<translation id="471759387343966120">選擇繼續即表示您同意《<ph name="BEGIN_TOS_LINK" />服務條款<ph name="END_TOS_LINK" />》和《<ph name="BEGIN_PRIVACY_LINK" />隱私權政策<ph name="END_PRIVACY_LINK" />》。\n為協助改善應用程式,Chrome 會將使用情形和當機資料傳送給 Google。<ph name="BEGIN_UMA_LINK" />管理設定<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">提供翻譯</translation>
 <translation id="4720023427747327413">在 <ph name="PRODUCT_NAME" /> 中開啟</translation>
 <translation id="4720982865791209136">想要協助改善 Chrome 嗎?<ph name="BEGIN_LINK" />請填寫這份問卷調查<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">列印網頁時發生問題,請再試一次。</translation>
 <translation id="6277722725779679269">無法更新追蹤價格</translation>
 <translation id="6278428485366576908">主題</translation>
+<translation id="6292420053234093573">使用 Chrome 即表示您同意《<ph name="BEGIN_LINK1" />Google 服務條款<ph name="END_LINK1" />》以及 <ph name="BEGIN_LINK2" />Google Chrome 和 Chrome 作業系統的《附加服務條款》<ph name="END_LINK2" />。</translation>
 <translation id="6294610283659775533">你可以在已登入相同 Google 帳戶的裝置之間傳送分頁</translation>
 <translation id="6297765934698848803">管理這部裝置的機構已關閉攝影機。</translation>
 <translation id="6301525844455696527">閱讀清單中累積了一些未讀內容</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">這個瀏覽器是由 <ph name="PARENT_NAME" /> 管理。</translation>
 <translation id="7665369617277396874">新增帳戶</translation>
 <translation id="766587987807204883">文章會顯示在這裡,並可供離線閱讀</translation>
+<translation id="768232549260819724">已複製 GIF</translation>
 <translation id="7682724950699840886">請嘗試按照下列提示操作:確認你的裝置上有足夠空間,然後嘗試重新匯出。</translation>
 <translation id="768618399695552958">系統會預先載入你要造訪的部分網頁。當你從 Google 網站連到這些網頁時,系統可能會透過 Google 伺服器預先載入網頁內容。</translation>
 <translation id="7698359219371678927">在「<ph name="APP_NAME" />」中建立電子郵件</translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">無法安全下載檔案</translation>
 <translation id="8571213806525832805">過去 4 週</translation>
 <translation id="8572344201470131220">已複製圖片</translation>
+<translation id="8580884231102452214">複製 GIF</translation>
 <translation id="8583805026567836021">正在清除帳戶資料</translation>
 <translation id="859046281437143747">透過 [更多] 選項按鈕追蹤價格</translation>
 <translation id="860043288473659153">持卡人姓名</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 ddacb4e..e4280aa2 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
@@ -290,6 +290,7 @@
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# Ifayela lomsindo}one{# Amafayela omsindo}other{# Amafayela omsindo}}</translation>
 <translation id="265156376773362237">Ukulayisha kusengaphambili okujwayelekile</translation>
 <translation id="2656405586795711023">Izinhlelo zokusebenza zewebhu</translation>
+<translation id="2689830683995595741">Ngokusebenzisa i-Chrome, uvumelana <ph name="BEGIN_LINK1" />Nemigomo Yesevisi ye-Google<ph name="END_LINK1" />, kanye <ph name="BEGIN_LINK2" />ne-Google Chrome Nemigomo Yesevisi ye-Chrome OS Engeziwe<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Isaziso Esemfihlo yama-Akhawunti e-Google Aphethwe nge-Family Link<ph name="END_LINK3" /> naso sizosebenza.</translation>
 <translation id="2702516483241149200">Okusha: yabelana ngesixhumanisi esiskrolela kulo mbhalo</translation>
 <translation id="2704606927547763573">Kukopishiwe</translation>
 <translation id="2707726405694321444">Vuselela ikhasi</translation>
@@ -625,6 +626,7 @@
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 nokungu-<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ngaphezulu}one{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 nokungu-<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ngaphezulu}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 nokungu-<ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ngaphezulu}}</translation>
 <translation id="4696983787092045100">Thumela umbhalo kumadivayisi akho</translation>
 <translation id="4699172675775169585">Izithombe ezifakwe kunqolobane namafayela</translation>
+<translation id="471759387343966120">Ngokuqhubeka, wamukela <ph name="BEGIN_TOS_LINK" />Imigomo Yesevisi<ph name="END_TOS_LINK" /> kanye <ph name="BEGIN_PRIVACY_LINK" />Nenqubomgomo Yobumfihlo<ph name="END_PRIVACY_LINK" />.\nUkusiza ekuthuthukiseni i-app, i-Chrome ithumela idatha yokusetshenziswa neyokuphahlazeka ku-Google. <ph name="BEGIN_UMA_LINK" />Phatha<ph name="END_UMA_LINK" /></translation>
 <translation id="4719927025381752090">Nika ukuhumusha</translation>
 <translation id="4720023427747327413">Vula ku-<ph name="PRODUCT_NAME" /></translation>
 <translation id="4720982865791209136">Siza ukuthuthukisa i-Chrome. <ph name="BEGIN_LINK" />Yenza inhlolovo<ph name="END_LINK" /></translation>
@@ -907,6 +909,7 @@
 <translation id="6277522088822131679">Kube nenkinga yokushicilela ikhasi. Sicela uzame futhi.</translation>
 <translation id="6277722725779679269">Ayikwazanga ukubuyekeza Ukulandelela intengo</translation>
 <translation id="6278428485366576908">Itimu</translation>
+<translation id="6292420053234093573">Ngokusebenzisa i-Chrome, uvumelana <ph name="BEGIN_LINK1" />Nemigomo Yesevisi ye-Google<ph name="END_LINK1" />, kanye <ph name="BEGIN_LINK2" />ne-Google Chrome Nemigomo Yesevisi ye-Chrome OS Engeziwe<ph name="END_LINK2" />.</translation>
 <translation id="6294610283659775533">Ungathumela amathebhu phakathi kwamadivayisi angene ngemvume nge-akhawunti ye-Google efanayo</translation>
 <translation id="6297765934698848803">Inhlangano ephatha idivayisi yakho ivale ikhamera yakho.</translation>
 <translation id="6301525844455696527">Qhubeka ulandelele uhlu lwakho lokufunda</translation>
@@ -1171,6 +1174,7 @@
 <translation id="7663313374500954251">Le browser iphethwe ngu-<ph name="PARENT_NAME" />.</translation>
 <translation id="7665369617277396874">Engeza i-akhawunti</translation>
 <translation id="766587987807204883">Ama-athikili abonakala lapha, lapho ungafunda ngisho noma ungaxhumekile ku-inthanethi</translation>
+<translation id="768232549260819724">I-GIF Ikopishiwe</translation>
 <translation id="7682724950699840886">Zama amathiphu alandelayo: qiniseka ukuthi kunesikhala esanele kudivayisi yakho, zama ukukhipha futhi.</translation>
 <translation id="768618399695552958">Amanye amakhasi owavakashelayo alayishwe kusengaphambili. Amakhasi angalayishwa kusengaphambili ngeziphakeli ze-Google uma exhunywe kwisayithi le-Google.</translation>
 <translation id="7698359219371678927">Dala i-imeyili ku-<ph name="APP_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="8570677896027847510">Ifayela alikwazi ukudawunilodeka ngokuphephile</translation>
 <translation id="8571213806525832805">Umjikelezo wesikhathi sokugcina.</translation>
 <translation id="8572344201470131220">Isithombe Sikopishiwe</translation>
+<translation id="8580884231102452214">Kopisha i-GIF</translation>
 <translation id="8583805026567836021">Isula idatha ye-akhawunti</translation>
 <translation id="859046281437143747">Landelela intengo kusukela kwinkinobho yezinketho Ezengeziwe</translation>
 <translation id="860043288473659153">Igama lomnikazi wekhadi</translation>
diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn
index 732a7b6..aaf5786 100644
--- a/chrome/browser/ui/android/toolbar/BUILD.gn
+++ b/chrome/browser/ui/android/toolbar/BUILD.gn
@@ -197,6 +197,7 @@
     "java/res/drawable-mdpi/popup_bg_bottom.9.png",
     "java/res/drawable-sw600dp-xhdpi/toolbar_background.9.png",
     "java/res/drawable-v21/ntp_search_box.xml",
+    "java/res/drawable-v24/menu_bg_bottom_tinted.xml",
     "java/res/drawable-xhdpi/badge_update_dark.png",
     "java/res/drawable-xhdpi/badge_update_light.png",
     "java/res/drawable-xhdpi/btn_tabswitcher_modern.png",
diff --git a/chrome/browser/ui/android/toolbar/java/res/drawable-v24/menu_bg_bottom_tinted.xml b/chrome/browser/ui/android/toolbar/java/res/drawable-v24/menu_bg_bottom_tinted.xml
new file mode 100644
index 0000000..db34836
--- /dev/null
+++ b/chrome/browser/ui/android/toolbar/java/res/drawable-v24/menu_bg_bottom_tinted.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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. -->
+
+<layer-list
+    xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/popup_bg_bottom" />
+    <item>
+        <org.chromium.components.browser_ui.widget.SurfaceColorDrawable
+            xmlns:app="http://schemas.android.com/apk/res-auto"
+            android:shape="rectangle"
+            app:surfaceElevation="@dimen/menu_bg_color_elev">
+            <corners
+                android:radius="@dimen/popup_bg_corner_radius"
+                android:bottomLeftRadius="0dp"
+                android:bottomRightRadius="0dp"/>
+        </org.chromium.components.browser_ui.widget.SurfaceColorDrawable>
+    </item>
+</layer-list>
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/NavigationPopup.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/NavigationPopup.java
index 90754ea..2be7a02 100644
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/NavigationPopup.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/NavigationPopup.java
@@ -136,7 +136,7 @@
 
         mPopup = new ListPopupWindow(context, null, 0, R.style.NavigationPopupDialog);
         mPopup.setOnDismissListener(this::onDismiss);
-        mPopup.setBackgroundDrawable(ApiCompatibilityUtils.getDrawable(resources,
+        mPopup.setBackgroundDrawable(AppCompatResources.getDrawable(context,
                 anchorToBottom ? R.drawable.menu_bg_bottom_tinted : R.drawable.menu_bg_tinted));
         mPopup.setModal(true);
         mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED);
diff --git a/chrome/browser/ui/ash/clipboard_history_browsertest.cc b/chrome/browser/ui/ash/clipboard_history_browsertest.cc
index defabd4..b4aa9a31 100644
--- a/chrome/browser/ui/ash/clipboard_history_browsertest.cc
+++ b/chrome/browser/ui/ash/clipboard_history_browsertest.cc
@@ -787,7 +787,7 @@
   };
 
   // Confirm initial state.
-  ASSERT_TRUE(GetLastPaste().GetList().empty());
+  ASSERT_TRUE(GetLastPaste().GetListDeprecated().empty());
 
   // Write some things to the clipboard.
   SetClipboardTextAndHtml("A", "<span>A</span>");
@@ -810,9 +810,10 @@
 
   // Confirm the expected paste data.
   base::Value last_paste = GetLastPaste();
-  ASSERT_EQ(last_paste.GetList().size(), 2u);
-  EXPECT_EQ(last_paste.GetList()[0].GetString(), "text/plain: A");
-  EXPECT_EQ(last_paste.GetList()[1].GetString(), "text/html: <span>A</span>");
+  ASSERT_EQ(last_paste.GetListDeprecated().size(), 2u);
+  EXPECT_EQ(last_paste.GetListDeprecated()[0].GetString(), "text/plain: A");
+  EXPECT_EQ(last_paste.GetListDeprecated()[1].GetString(),
+            "text/html: <span>A</span>");
 
   // Open clipboard history and paste the middle history item as plain text.
   PressAndRelease(ui::KeyboardCode::VKEY_V, ui::EF_COMMAND_DOWN);
@@ -830,8 +831,8 @@
 
   // Confirm the expected paste data.
   last_paste = GetLastPaste();
-  ASSERT_EQ(last_paste.GetList().size(), 1u);
-  EXPECT_EQ(last_paste.GetList()[0].GetString(), "text/plain: A");
+  ASSERT_EQ(last_paste.GetListDeprecated().size(), 1u);
+  EXPECT_EQ(last_paste.GetListDeprecated()[0].GetString(), "text/plain: A");
 }
 
 class ClipboardHistoryBrowserTest : public InProcessBrowserTest {
diff --git a/chrome/browser/ui/ash/desks_templates/desks_templates_client_browsertest.cc b/chrome/browser/ui/ash/desks_templates/desks_templates_client_browsertest.cc
index 662407d..5b87ba49 100644
--- a/chrome/browser/ui/ash/desks_templates/desks_templates_client_browsertest.cc
+++ b/chrome/browser/ui/ash/desks_templates/desks_templates_client_browsertest.cc
@@ -248,6 +248,7 @@
       ash::GetExpandedStateDesksTemplatesButton();
   ASSERT_TRUE(expanded_state_templates_button);
   ClickButton(expanded_state_templates_button);
+  ash::WaitForDesksTemplatesUI();
 }
 
 void ClickFirstTemplateItem() {
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 100c6751..e31d6e6 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
@@ -638,7 +638,7 @@
         primary_holding_space_model->items()[0].get();
 
     persisted_holding_space_items.EraseListIter(
-        persisted_holding_space_items.GetList().begin());
+        persisted_holding_space_items.GetListDeprecated().begin());
     primary_holding_space_model->RemoveItem(holding_space_item->id());
 
     EXPECT_EQ(*GetProfile()->GetPrefs()->GetList(
@@ -732,8 +732,8 @@
   holding_space_model->UpdateItem(finalized_holding_space_item_ptr->id())
       ->SetBackingFile(file_path, GetFileSystemUrl(GetProfile(), file_path));
 
-  ASSERT_EQ(persisted_holding_space_items.GetList().size(), 2u);
-  persisted_holding_space_items.GetList()[1u] =
+  ASSERT_EQ(persisted_holding_space_items.GetListDeprecated().size(), 2u);
+  persisted_holding_space_items.GetListDeprecated()[1u] =
       finalized_holding_space_item_ptr->Serialize();
 
   EXPECT_EQ(*GetProfile()->GetPrefs()->GetList(
@@ -766,9 +766,9 @@
       ->SetProgress(
           HoldingSpaceProgress(/*current_bytes=*/100, /*total_bytes=*/100));
 
-  ASSERT_EQ(persisted_holding_space_items.GetList().size(), 2u);
+  ASSERT_EQ(persisted_holding_space_items.GetListDeprecated().size(), 2u);
   persisted_holding_space_items.Insert(
-      persisted_holding_space_items.GetList().begin() + 1u,
+      persisted_holding_space_items.GetListDeprecated().begin() + 1u,
       in_progress_holding_space_item_ptr->Serialize());
 
   EXPECT_EQ(*GetProfile()->GetPrefs()->GetList(
@@ -851,7 +851,7 @@
               new_file_path.BaseName().LossyDisplayName());
 
     // Verify that persistence has been updated.
-    persisted_holding_space_items.GetList()[i] =
+    persisted_holding_space_items.GetListDeprecated()[i] =
         holding_space_item->Serialize();
     ASSERT_EQ(*GetProfile()->GetPrefs()->GetList(
                   HoldingSpacePersistenceDelegate::kPersistencePath),
@@ -886,7 +886,7 @@
               new_file_path.BaseName().LossyDisplayName());
 
     // Verify that persistence has been updated.
-    persisted_holding_space_items.GetList()[i] =
+    persisted_holding_space_items.GetListDeprecated()[i] =
         holding_space_item->Serialize();
     ASSERT_EQ(*GetProfile()->GetPrefs()->GetList(
                   HoldingSpacePersistenceDelegate::kPersistencePath),
diff --git a/chrome/browser/ui/ash/projector/projector_app_client_impl.cc b/chrome/browser/ui/ash/projector/projector_app_client_impl.cc
index ad69c444..959b0e84 100644
--- a/chrome/browser/ui/ash/projector/projector_app_client_impl.cc
+++ b/chrome/browser/ui/ash/projector/projector_app_client_impl.cc
@@ -31,7 +31,7 @@
   return g_browser_process->GetApplicationLocale();
 }
 
-inline const speech::LanguageCode GetLocaleLanguageCode() {
+inline speech::LanguageCode GetLocaleLanguageCode() {
   return speech::GetLanguageCode(GetLocale());
 }
 
diff --git a/chrome/browser/ui/ash/projector/projector_client_impl_unittest.cc b/chrome/browser/ui/ash/projector/projector_client_impl_unittest.cc
index cf67182..1842607 100644
--- a/chrome/browser/ui/ash/projector/projector_client_impl_unittest.cc
+++ b/chrome/browser/ui/ash/projector/projector_client_impl_unittest.cc
@@ -37,7 +37,7 @@
 
 const char kEnglishLocale[] = "en-US";
 
-inline const void SetLocale(const std::string& locale) {
+inline void SetLocale(const std::string& locale) {
   g_browser_process->SetApplicationLocale(locale);
 }
 
diff --git a/chrome/browser/ui/ash/projector/projector_soda_installation_controller_unittest.cc b/chrome/browser/ui/ash/projector/projector_soda_installation_controller_unittest.cc
index 0a990ba..55281f1 100644
--- a/chrome/browser/ui/ash/projector/projector_soda_installation_controller_unittest.cc
+++ b/chrome/browser/ui/ash/projector/projector_soda_installation_controller_unittest.cc
@@ -28,7 +28,7 @@
   return g_browser_process->GetApplicationLocale();
 }
 
-inline const void SetLocale(const std::string& locale) {
+inline void SetLocale(const std::string& locale) {
   g_browser_process->SetApplicationLocale(locale);
 }
 
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 8649063..bf86c79 100644
--- a/chrome/browser/ui/ash/shelf/chrome_shelf_controller_unittest.cc
+++ b/chrome/browser/ui/ash/shelf/chrome_shelf_controller_unittest.cc
@@ -3309,7 +3309,7 @@
 
   // Removing |extension1_| from the policy should not be reflected in the
   // shelf and pin will exist.
-  policy_value.EraseListIter(policy_value.GetList().begin());
+  policy_value.EraseListIter(policy_value.GetListDeprecated().begin());
   profile()->GetTestingPrefService()->SetManagedPref(
       prefs::kPolicyPinnedLauncherApps,
       base::Value::ToUniquePtrValue(policy_value.Clone()));
diff --git a/chrome/browser/ui/cocoa/main_menu_builder.mm b/chrome/browser/ui/cocoa/main_menu_builder.mm
index 2ba95aa4..aff8f93a 100644
--- a/chrome/browser/ui/cocoa/main_menu_builder.mm
+++ b/chrome/browser/ui/cocoa/main_menu_builder.mm
@@ -5,6 +5,7 @@
 #import "chrome/browser/ui/cocoa/main_menu_builder.h"
 
 #include "base/feature_list.h"
+#include "base/mac/mac_util.h"
 #include "build/branding_buildflags.h"
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/ui/cocoa/accelerators_cocoa.h"
@@ -270,6 +271,12 @@
                 Item(IDS_ENTER_FULLSCREEN_MAC)
                     .tag(IDC_FULLSCREEN)
                     .action(@selector(toggleFullScreen:)),
+                Item(IDS_ENTER_FULLSCREEN_MAC)
+                    .action(@selector(toggleFullScreen:))
+                    .is_alternate()
+                    .remove_if(base::mac::IsAtMostOS11())
+                    .key_equivalent(@"f", NSEventModifierFlagCommand |
+                                              NSEventModifierFlagControl),
                 Item(IDS_TEXT_DEFAULT_MAC).command_id(IDC_ZOOM_NORMAL),
                 Item(IDS_TEXT_BIGGER_MAC).command_id(IDC_ZOOM_PLUS),
                 Item(IDS_TEXT_SMALLER_MAC).command_id(IDC_ZOOM_MINUS),
diff --git a/chrome/browser/ui/quick_answers/OWNERS b/chrome/browser/ui/quick_answers/OWNERS
new file mode 100644
index 0000000..7b6e646b
--- /dev/null
+++ b/chrome/browser/ui/quick_answers/OWNERS
@@ -0,0 +1 @@
+file://chromeos/components/quick_answers/OWNERS
diff --git a/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc b/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc
index 6f290cf..961accd 100644
--- a/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc
+++ b/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc
@@ -140,6 +140,8 @@
   METADATA_HEADER(MainView);
 
   explicit MainView(PressedCallback callback) : Button(std::move(callback)) {
+    SetAccessibleName(
+        l10n_util::GetStringUTF16(IDS_ASH_QUICK_ANSWERS_VIEW_A11Y_NAME_TEXT));
     SetInstallFocusRingOnFocus(false);
     set_suppress_default_focus_handling();
 
@@ -295,9 +297,8 @@
   // The view itself is not focused for retry-mode, so should not be announced
   // by the screen reader.
   if (retry_label_) {
-    node_data->role = ax::mojom::Role::kNone;
-    node_data->SetName(std::string());
-    node_data->SetDescription(std::string());
+    node_data->AddState(ax::mojom::State::kIgnored);
+    node_data->SetNameExplicitlyEmpty();
     return;
   }
 
diff --git a/chrome/browser/ui/views/frame/browser_frame.h b/chrome/browser/ui/views/frame/browser_frame.h
index 6a1e9ab..67496d7 100644
--- a/chrome/browser/ui/views/frame/browser_frame.h
+++ b/chrome/browser/ui/views/frame/browser_frame.h
@@ -7,7 +7,6 @@
 
 #include "base/memory/raw_ptr.h"
 #include "build/build_config.h"
-#include "chrome/browser/ui/browser_window.h"
 #include "content/public/browser/keyboard_event_processing_result.h"
 #include "ui/base/pointer/touch_ui_controller.h"
 #include "ui/views/context_menu_controller.h"
@@ -16,6 +15,7 @@
 class BrowserDesktopWindowTreeHost;
 class BrowserNonClientFrameView;
 class BrowserRootView;
+enum class BrowserThemeChangeType;
 class BrowserView;
 class NativeBrowserFrame;
 class NonClientFrameView;
diff --git a/chrome/browser/ui/views/profiles/profile_bubble_interactive_uitest.cc b/chrome/browser/ui/views/profiles/profile_bubble_interactive_uitest.cc
index 5196530..de45acc 100644
--- a/chrome/browser/ui/views/profiles/profile_bubble_interactive_uitest.cc
+++ b/chrome/browser/ui/views/profiles/profile_bubble_interactive_uitest.cc
@@ -12,6 +12,7 @@
 #include "build/build_config.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/profiles/profile_test_util.h"
 #include "chrome/browser/signin/dice_web_signin_interceptor.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_window.h"
@@ -153,15 +154,8 @@
   base::HistogramTester histogram_tester;
   // Add an additional profiles.
   ProfileManager* profile_manager = g_browser_process->profile_manager();
-  base::RunLoop run_loop;
-  profile_manager->CreateProfileAsync(
-      profile_manager->GenerateNextProfileDirectoryPath(),
-      base::BindLambdaForTesting(
-          [&run_loop](Profile* profile, Profile::CreateStatus status) {
-            if (status == Profile::CREATE_STATUS_INITIALIZED)
-              run_loop.Quit();
-          }));
-  run_loop.Run();
+  profiles::testing::CreateProfileSync(
+      profile_manager, profile_manager->GenerateNextProfileDirectoryPath());
 
   // Open the menu using the keyboard.
   bool control = false;
diff --git a/chrome/browser/ui/views/tabs/tab_strip_controller.h b/chrome/browser/ui/views/tabs/tab_strip_controller.h
index bcdc866d..7bda6aa 100644
--- a/chrome/browser/ui/views/tabs/tab_strip_controller.h
+++ b/chrome/browser/ui/views/tabs/tab_strip_controller.h
@@ -16,6 +16,7 @@
 #include "ui/base/ui_base_types.h"
 #include "ui/gfx/range/range.h"
 
+class Browser;
 class Tab;
 class TabStrip;
 
diff --git a/chrome/browser/ui/views/window_sizer_linux.cc b/chrome/browser/ui/views/window_sizer_linux.cc
index 62ce382..2ee6087 100644
--- a/chrome/browser/ui/views/window_sizer_linux.cc
+++ b/chrome/browser/ui/views/window_sizer_linux.cc
@@ -5,8 +5,10 @@
 #include "chrome/browser/ui/views/window_sizer_linux.h"
 
 #include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/views/frame/browser_frame_view_linux.h"
 #include "chrome/common/pref_names.h"
+#include "components/prefs/pref_service.h"
 #include "ui/gfx/geometry/insets.h"
 #include "ui/ozone/public/ozone_platform.h"
 
diff --git a/chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc b/chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc
index b118d9d..1b09875 100644
--- a/chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc
+++ b/chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc
@@ -216,24 +216,21 @@
 bool WebAppUiManagerImpl::UninstallAndReplaceIfExists(
     const std::vector<AppId>& from_apps,
     const AppId& to_app) {
-  bool has_migrated_ui = false;
+  bool has_migrated = false;
   bool uninstall_triggered = false;
   for (const AppId& from_app : from_apps) {
     if (!IsAppInstalled(profile_, from_app))
       continue;
 
-    if (!has_migrated_ui) {
-      has_migrated_ui = true;
+    if (!has_migrated) {
 #if BUILDFLAG(IS_CHROMEOS_ASH)
       // Grid position in app list.
       auto* app_list_syncable_service =
           app_list::AppListSyncableServiceFactory::GetForProfile(profile_);
-      bool to_app_in_shelf =
-          app_list_syncable_service->GetPinPosition(to_app).IsValid();
-      // If the new app is already pinned to the shelf don't transfer UI prefs
-      // across as that could cause it to become unpinned.
-      if (!to_app_in_shelf)
+      if (app_list_syncable_service->GetSyncItem(from_app)) {
         app_list_syncable_service->TransferItemAttributes(from_app, to_app);
+        has_migrated = true;
+      }
 #endif
 
       // If migration of user/UI data is required for other app types consider
@@ -255,6 +252,7 @@
             to_app, GetExtensionDisplayMode(profile_, from_extension),
             /*is_user_action=*/false);
 
+        has_migrated = true;
         auto shortcut_info = web_app::ShortcutInfoForExtensionAndProfile(
             from_extension, profile_);
         auto callback =
@@ -265,7 +263,7 @@
         uninstall_triggered = true;
         continue;
       }
-
+      has_migrated = true;
       // The from_app could be a web app.
       os_integration_manager_->GetShortcutInfoForApp(
           from_app,
diff --git a/chrome/browser/ui/webui/app_management/app_management_page_handler.cc b/chrome/browser/ui/webui/app_management/app_management_page_handler.cc
index 4152781..1c9eafe 100644
--- a/chrome/browser/ui/webui/app_management/app_management_page_handler.cc
+++ b/chrome/browser/ui/webui/app_management/app_management_page_handler.cc
@@ -281,11 +281,13 @@
 void AppManagementPageHandler::SetWindowMode(
     const std::string& app_id,
     apps::mojom::WindowMode window_mode) {
+  // On ChromeOS, apps should always open in a new window,
+  // hence window mode changes are not allowed.
 #if BUILDFLAG(IS_CHROMEOS)
   NOTREACHED();
 #else
   apps::AppServiceProxyFactory::GetForProfile(profile_)->SetWindowMode(
-      app_id, std::move(window_mode));
+      app_id, window_mode);
 #endif
 }
 
diff --git a/chrome/browser/ui/webui/app_settings/web_app_settings_ui.cc b/chrome/browser/ui/webui/app_settings/web_app_settings_ui.cc
index b17f6a3..8ce959e 100644
--- a/chrome/browser/ui/webui/app_settings/web_app_settings_ui.cc
+++ b/chrome/browser/ui/webui/app_settings/web_app_settings_ui.cc
@@ -26,6 +26,7 @@
       {"appManagementMorePermissionsLabel", IDS_APP_MANAGEMENT_MORE_SETTINGS},
       {"appManagementCameraPermissionLabel", IDS_APP_MANAGEMENT_CAMERA},
       {"appManagementUninstallLabel", IDS_APP_MANAGEMENT_UNINSTALL_APP},
+      {"appManagementWindowModeLabel", IDS_APP_MANAGEMENT_WINDOW},
   };
   html_source->AddLocalizedStrings(kLocalizedStrings);
 }
diff --git a/chrome/browser/ui/webui/certificate_provisioning_ui_handler_unittest.cc b/chrome/browser/ui/webui/certificate_provisioning_ui_handler_unittest.cc
index b79e4dd..454067b 100644
--- a/chrome/browser/ui/webui/certificate_provisioning_ui_handler_unittest.cc
+++ b/chrome/browser/ui/webui/certificate_provisioning_ui_handler_unittest.cc
@@ -133,7 +133,7 @@
 // |profile_id|.
 base::Value GetByProfileId(const base::Value& all_processes,
                            const std::string& profile_id) {
-  for (const base::Value& process : all_processes.GetList()) {
+  for (const base::Value& process : all_processes.GetListDeprecated()) {
     if (profile_id == *process.FindStringKey("certProfileId"))
       return process.Clone();
   }
@@ -279,7 +279,7 @@
   base::Value all_processes;
   ASSERT_NO_FATAL_FAILURE(RefreshCertProvisioningProcesses(
       &all_processes, /*out_profile_ids=*/nullptr));
-  EXPECT_TRUE(all_processes.GetList().empty());
+  EXPECT_TRUE(all_processes.GetListDeprecated().empty());
 }
 
 TEST_F(CertificateProvisioningUiHandlerTest, HasProcesses) {
diff --git a/chrome/browser/ui/webui/certificate_viewer_webui.cc b/chrome/browser/ui/webui/certificate_viewer_webui.cc
index c6a9e0e..460ffe0 100644
--- a/chrome/browser/ui/webui/certificate_viewer_webui.cc
+++ b/chrome/browser/ui/webui/certificate_viewer_webui.cc
@@ -105,7 +105,7 @@
 
 std::unique_ptr<base::DictionaryValue> CertNodeBuilder::Build() {
   DCHECK(!built_);
-  if (!children_.GetList().empty()) {
+  if (!children_.GetListDeprecated().empty()) {
     node_.SetKey("children", std::move(children_));
   }
   built_ = true;
diff --git a/chrome/browser/ui/webui/certificates_handler.cc b/chrome/browser/ui/webui/certificates_handler.cc
index 49951bcd..d595bf9 100644
--- a/chrome/browser/ui/webui/certificates_handler.cc
+++ b/chrome/browser/ui/webui/certificates_handler.cc
@@ -1057,14 +1057,16 @@
           cert_info->source() ==
           CertificateManagerModel::CertInfo::Source::kPolicy;
     }
-    std::sort(subnodes.GetList().begin(), subnodes.GetList().end(), comparator);
+    std::sort(subnodes.GetListDeprecated().begin(),
+              subnodes.GetListDeprecated().end(), comparator);
 
     org_dict.SetKey(kCertificatesHandlerContainsPolicyCertsField,
                     base::Value(contains_policy_certs));
     org_dict.SetKey(kCertificatesHandlerSubnodesField, std::move(subnodes));
     nodes.Append(std::move(org_dict));
   }
-  std::sort(nodes.GetList().begin(), nodes.GetList().end(), comparator);
+  std::sort(nodes.GetListDeprecated().begin(), nodes.GetListDeprecated().end(),
+            comparator);
 
   if (IsJavascriptAllowed()) {
     FireWebUIListener("certificates-changed", base::Value(tab_name),
@@ -1136,9 +1138,9 @@
                                                  size_t arg_index) {
   if (!args.is_list())
     return nullptr;
-  if (arg_index >= args.GetList().size())
+  if (arg_index >= args.GetListDeprecated().size())
     return nullptr;
-  const auto& arg = args.GetList()[arg_index];
+  const auto& arg = args.GetListDeprecated()[arg_index];
   if (!arg.is_string())
     return nullptr;
 
diff --git a/chrome/browser/ui/webui/chromeos/drive_internals_ui.cc b/chrome/browser/ui/webui/chromeos/drive_internals_ui.cc
index d5f85a6..bbedd50 100644
--- a/chrome/browser/ui/webui/chromeos/drive_internals_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/drive_internals_ui.cc
@@ -574,7 +574,7 @@
           base::StrCat({"log-", severity}));
       last_sent_event_id_ = log[i].id;
     }
-    if (!list.GetList().empty()) {
+    if (!list.GetListDeprecated().empty()) {
       MaybeCallJavascript("updateEventLog", std::move(list));
     }
   }
@@ -612,8 +612,8 @@
       service_log_file_inode_ = response.first;
       last_sent_line_number_ = 0;
     }
-    if (!response.second.GetList().empty()) {
-      last_sent_line_number_ += response.second.GetList().size();
+    if (!response.second.GetListDeprecated().empty()) {
+      last_sent_line_number_ += response.second.GetListDeprecated().size();
       MaybeCallJavascript("updateServiceLog", std::move(response.second));
     }
     service_log_file_is_processing_ = false;
diff --git a/chrome/browser/ui/webui/chromeos/edu_account_login_handler_chromeos.cc b/chrome/browser/ui/webui/chromeos/edu_account_login_handler_chromeos.cc
index 9398030e..1082399 100644
--- a/chrome/browser/ui/webui/chromeos/edu_account_login_handler_chromeos.cc
+++ b/chrome/browser/ui/webui/chromeos/edu_account_login_handler_chromeos.cc
@@ -293,7 +293,7 @@
     std::map<std::string, gfx::Image> profile_images) {
   profile_image_fetcher_.reset();
 
-  for (auto& parent : parents.GetList()) {
+  for (auto& parent : parents.GetListDeprecated()) {
     const std::string* obfuscated_gaia_id =
         parent.FindStringKey(kObfuscatedGaiaIdKey);
     DCHECK(obfuscated_gaia_id);
diff --git a/chrome/browser/ui/webui/chromeos/edu_account_login_handler_unittest.cc b/chrome/browser/ui/webui/chromeos/edu_account_login_handler_unittest.cc
index 2df348a8..b833b4e 100644
--- a/chrome/browser/ui/webui/chromeos/edu_account_login_handler_unittest.cc
+++ b/chrome/browser/ui/webui/chromeos/edu_account_login_handler_unittest.cc
@@ -106,7 +106,7 @@
   base::ListValue parents = GetFakeParentsWithoutImage();
   std::map<std::string, gfx::Image> profile_images = GetFakeProfileImageMap();
 
-  for (auto& parent : parents.GetList()) {
+  for (auto& parent : parents.GetListDeprecated()) {
     const std::string* obfuscated_gaia_id =
         parent.FindStringKey("obfuscatedGaiaId");
     DCHECK(obfuscated_gaia_id);
diff --git a/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc b/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc
index b022373e..e05ff6e 100644
--- a/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc
+++ b/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc
@@ -341,7 +341,7 @@
   account_added_callback_ = args->GetListDeprecated()[0].GetString();
 
   const base::Value::ConstListView& arguments =
-      args->GetListDeprecated()[1].GetList();
+      args->GetListDeprecated()[1].GetListDeprecated();
 
   edu_account_email_ = arguments[0].GetString();
   terms_of_service_version_number_ = arguments[1].GetString();
diff --git a/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc b/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc
index d383d37..4a54226c 100644
--- a/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc
@@ -397,7 +397,7 @@
 void DeviceEmulatorMessageHandler::UpdatePowerSources(
     const base::Value::ConstListView args) {
   CHECK(!args.empty() && args[0].is_list());
-  base::Value::ConstListView sources = args[0].GetList();
+  base::Value::ConstListView sources = args[0].GetListDeprecated();
 
   power_manager::PowerSupplyProperties props =
       *fake_power_manager_client_->GetLastStatus();
diff --git a/chrome/browser/ui/webui/chromeos/in_session_password_change/lock_screen_reauth_handler.cc b/chrome/browser/ui/webui/chromeos/in_session_password_change/lock_screen_reauth_handler.cc
index 6089787..94b8a58 100644
--- a/chrome/browser/ui/webui/chromeos/in_session_password_change/lock_screen_reauth_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/in_session_password_change/lock_screen_reauth_handler.cc
@@ -40,7 +40,7 @@
     return string_list;
   }
 
-  for (const base::Value& value : list.GetList()) {
+  for (const base::Value& value : list.GetListDeprecated()) {
     if (value.is_string()) {
       string_list.push_back(value.GetString());
     }
diff --git a/chrome/browser/ui/webui/chromeos/in_session_password_change/password_change_handler.cc b/chrome/browser/ui/webui/chromeos/in_session_password_change/password_change_handler.cc
index 5b1fc21..cb89578b 100644
--- a/chrome/browser/ui/webui/chromeos/in_session_password_change/password_change_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/in_session_password_change/password_change_handler.cc
@@ -47,15 +47,19 @@
     const base::ListValue* params) {
   const base::Value& old_passwords = params->GetListDeprecated()[0];
   const base::Value& new_passwords = params->GetListDeprecated()[1];
-  VLOG(4) << "Scraped " << old_passwords.GetList().size() << " old passwords";
-  VLOG(4) << "Scraped " << new_passwords.GetList().size() << " new passwords";
+  VLOG(4) << "Scraped " << old_passwords.GetListDeprecated().size()
+          << " old passwords";
+  VLOG(4) << "Scraped " << new_passwords.GetListDeprecated().size()
+          << " new passwords";
 
-  const std::string old_password = (old_passwords.GetList().size() > 0)
-                                       ? old_passwords.GetList()[0].GetString()
-                                       : "";
-  const std::string new_password = (new_passwords.GetList().size() == 1)
-                                       ? new_passwords.GetList()[0].GetString()
-                                       : "";
+  const std::string old_password =
+      (old_passwords.GetListDeprecated().size() > 0)
+          ? old_passwords.GetListDeprecated()[0].GetString()
+          : "";
+  const std::string new_password =
+      (new_passwords.GetListDeprecated().size() == 1)
+          ? new_passwords.GetListDeprecated()[0].GetString()
+          : "";
 
   InSessionPasswordChangeManager::Get()->OnSamlPasswordChanged(old_password,
                                                                new_password);
diff --git a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc
index eed65e4..1b081d2 100644
--- a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc
+++ b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc
@@ -483,7 +483,7 @@
     const base::ListValue& available_locales,
     const std::string& fallback_locale) {
   for (const auto& most_relevant : most_relevant_language_codes) {
-    for (const auto& entry : available_locales.GetList()) {
+    for (const auto& entry : available_locales.GetListDeprecated()) {
       const std::string* available_locale = nullptr;
       if (entry.is_dict())
         available_locale = entry.FindStringKey("value");
diff --git a/chrome/browser/ui/webui/chromeos/login/l10n_util_unittest.cc b/chrome/browser/ui/webui/chromeos/login/l10n_util_unittest.cc
index a538227..37aedeb 100644
--- a/chrome/browser/ui/webui/chromeos/login/l10n_util_unittest.cc
+++ b/chrome/browser/ui/webui/chromeos/login/l10n_util_unittest.cc
@@ -25,7 +25,7 @@
 namespace {
 
 void VerifyOnlyUILanguages(const base::ListValue& list) {
-  for (const base::Value& value : list.GetList()) {
+  for (const base::Value& value : list.GetListDeprecated()) {
     ASSERT_TRUE(value.is_dict());
     const base::DictionaryValue& dict = base::Value::AsDictionaryValue(value);
     std::string code;
@@ -39,7 +39,7 @@
 void VerifyLanguageCode(const base::ListValue& list,
                         size_t index,
                         const std::string& expected_code) {
-  const base::Value& value = list.GetList()[index];
+  const base::Value& value = list.GetListDeprecated()[index];
   ASSERT_TRUE(value.is_dict());
   const base::DictionaryValue& dict = base::Value::AsDictionaryValue(value);
   std::string actual_code;
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
index 3e7277a..7026010 100644
--- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
@@ -86,6 +86,7 @@
 #include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
+#include "chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/ssh_configured_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/sync_consent_screen_handler.h"
 #include "chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.h"
@@ -574,6 +575,9 @@
   AddScreenHandler(
       std::make_unique<GuestTosScreenHandler>(js_calls_container_.get()));
 
+  AddScreenHandler(std::make_unique<SmartPrivacyProtectionScreenHandler>(
+      js_calls_container_.get()));
+
   Profile* profile = Profile::FromWebUI(web_ui());
   // Set up the chrome://theme/ source, for Chrome logo.
   content::URLDataSource::Add(profile, std::make_unique<ThemeSource>(profile));
diff --git a/chrome/browser/ui/webui/chromeos/login/recommend_apps_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/recommend_apps_screen_handler.cc
index 67ba54dc..ca7876a4e 100644
--- a/chrome/browser/ui/webui/chromeos/login/recommend_apps_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/recommend_apps_screen_handler.cc
@@ -121,7 +121,8 @@
 void RecommendAppsScreenHandler::Hide() {}
 
 void RecommendAppsScreenHandler::OnLoadSuccess(const base::Value& app_list) {
-  recommended_app_count_ = static_cast<int>(app_list.GetList().size());
+  recommended_app_count_ =
+      static_cast<int>(app_list.GetListDeprecated().size());
   LoadAppListInUI(app_list);
 }
 
diff --git a/chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.cc
new file mode 100644
index 0000000..5e1d30cc
--- /dev/null
+++ b/chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.cc
@@ -0,0 +1,89 @@
+// 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 "chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h"
+
+#include "ash/constants/ash_features.h"
+#include "chrome/browser/ash/login/oobe_screen.h"
+#include "chrome/browser/ash/login/screens/smart_privacy_protection_screen.h"
+#include "chrome/grit/generated_resources.h"
+#include "components/login/localized_values_builder.h"
+
+namespace chromeos {
+
+constexpr StaticOobeScreenId SmartPrivacyProtectionView::kScreenId;
+
+SmartPrivacyProtectionScreenHandler::SmartPrivacyProtectionScreenHandler(
+    JSCallsContainer* js_calls_container)
+    : BaseScreenHandler(kScreenId, js_calls_container) {
+  set_user_acted_method_path("login.SmartPrivacyProtectionScreen.userActed");
+}
+
+SmartPrivacyProtectionScreenHandler::~SmartPrivacyProtectionScreenHandler() {
+  if (screen_)
+    screen_->OnViewDestroyed(this);
+}
+
+void SmartPrivacyProtectionScreenHandler::Show() {
+  if (!page_is_ready()) {
+    show_on_init_ = true;
+    return;
+  }
+  ShowScreen(kScreenId);
+}
+
+void SmartPrivacyProtectionScreenHandler::Hide() {
+  show_on_init_ = false;
+}
+
+void SmartPrivacyProtectionScreenHandler::Bind(
+    ash::SmartPrivacyProtectionScreen* screen) {
+  screen_ = screen;
+  BaseScreenHandler::SetBaseScreen(screen_);
+}
+
+void SmartPrivacyProtectionScreenHandler::Unbind() {
+  screen_ = nullptr;
+  BaseScreenHandler::SetBaseScreen(nullptr);
+}
+
+void SmartPrivacyProtectionScreenHandler::DeclareLocalizedValues(
+    ::login::LocalizedValuesBuilder* builder) {
+  builder->Add("smartPrivacyProtectionScreenTitle",
+               IDS_SMART_PRIVACY_PROTECTION_TITLE);
+  builder->Add("smartPrivacyProtectionScreenLock",
+               IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK);
+  builder->Add("smartPrivacyProtectionScreenLockDesc",
+               IDS_SMART_PRIVACY_PROTECTION_SCREEN_LOCK_DESCRIPTION);
+  builder->Add("smartPrivacyProtectionSnoopingDetection",
+               IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION);
+  builder->Add("smartPrivacyProtectionSnoopingDetectionDesc",
+               IDS_SMART_PRIVACY_PROTECTION_SNOOPING_DETECTION_DESCRIPTION);
+  builder->Add("smartPrivacyProtectionContent",
+               IDS_SMART_PRIVACY_PROTECTION_CONTENT);
+  builder->Add("smartPrivacyProtectionTurnOnButton",
+               IDS_SMART_PRIVACY_PROTECTION_TURN_ON_BUTTON);
+  builder->Add("smartPrivacyProtectionTurnOffButton",
+               IDS_SMART_PRIVACY_PROTECTION_TURN_OFF_BUTTON);
+}
+
+void SmartPrivacyProtectionScreenHandler::GetAdditionalParameters(
+    base::DictionaryValue* dict) {
+  dict->SetKey("isQuickDimEnabled",
+               base::Value(ash::features::IsQuickDimEnabled()));
+  dict->SetKey("isSnoopingProtectionEnabled",
+               base::Value(ash::features::IsSnoopingProtectionEnabled()));
+}
+
+void SmartPrivacyProtectionScreenHandler::Initialize() {
+  if (!page_is_ready() || !screen_)
+    return;
+
+  if (show_on_init_) {
+    Show();
+    show_on_init_ = false;
+  }
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h
new file mode 100644
index 0000000..d6c0fb1f
--- /dev/null
+++ b/chrome/browser/ui/webui/chromeos/login/smart_privacy_protection_screen_handler.h
@@ -0,0 +1,77 @@
+// 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 CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_SMART_PRIVACY_PROTECTION_SCREEN_HANDLER_H_
+#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_SMART_PRIVACY_PROTECTION_SCREEN_HANDLER_H_
+
+#include "chrome/browser/ash/login/oobe_screen.h"
+#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
+
+namespace ash {
+class SmartPrivacyProtectionScreen;
+}
+
+namespace chromeos {
+
+// Interface between SmartPrivacyProtection screen and its representation,
+// either WebUI or Views one. Note, do not forget to call OnViewDestroyed in the
+// dtor.
+class SmartPrivacyProtectionView {
+ public:
+  constexpr static StaticOobeScreenId kScreenId{"smart-privacy-protection"};
+
+  virtual ~SmartPrivacyProtectionView() {}
+
+  virtual void Show() = 0;
+  virtual void Hide() = 0;
+  virtual void Bind(ash::SmartPrivacyProtectionScreen* screen) = 0;
+  virtual void Unbind() = 0;
+};
+
+// WebUI implementation of SmartPrivacyProtectionView. It is used to interact
+// with the SmartPrivacyProtection part of the JS page.
+class SmartPrivacyProtectionScreenHandler : public SmartPrivacyProtectionView,
+                                            public BaseScreenHandler {
+ public:
+  using TView = SmartPrivacyProtectionView;
+
+  explicit SmartPrivacyProtectionScreenHandler(
+      JSCallsContainer* js_calls_container);
+
+  SmartPrivacyProtectionScreenHandler(
+      const SmartPrivacyProtectionScreenHandler&) = delete;
+  SmartPrivacyProtectionScreenHandler& operator=(
+      const SmartPrivacyProtectionScreenHandler&) = delete;
+
+  ~SmartPrivacyProtectionScreenHandler() override;
+
+  // SmartPrivacyProtectionView implementation:
+  void Show() override;
+  void Hide() override;
+  void Bind(ash::SmartPrivacyProtectionScreen* screen) override;
+  void Unbind() override;
+
+  // BaseScreenHandler implementation:
+  void DeclareLocalizedValues(
+      ::login::LocalizedValuesBuilder* builder) override;
+  void GetAdditionalParameters(base::DictionaryValue* dict) override;
+  void Initialize() override;
+
+ private:
+  ash::SmartPrivacyProtectionScreen* screen_ = nullptr;
+
+  // Keeps whether screen should be shown right after initialization.
+  bool show_on_init_ = false;
+};
+
+}  // namespace chromeos
+
+// TODO(https://crbug.com/1164001): remove after the //chrome/browser/chromeos
+// source migration is finished.
+namespace ash {
+using ::chromeos::SmartPrivacyProtectionScreenHandler;
+using ::chromeos::SmartPrivacyProtectionView;
+}  // namespace ash
+
+#endif  // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_SMART_PRIVACY_PROTECTION_SCREEN_HANDLER_H_
diff --git a/chrome/browser/ui/webui/chromeos/login/welcome_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/welcome_screen_handler.cc
index 1b56e65..94ce986 100644
--- a/chrome/browser/ui/webui/chromeos/login/welcome_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/welcome_screen_handler.cc
@@ -281,7 +281,7 @@
 
   base::Value language_list{base::Value::Type::LIST};
   if (screen_) {
-    if (!screen_->language_list().GetList().empty() &&
+    if (!screen_->language_list().GetListDeprecated().empty() &&
         screen_->language_list_locale() == application_locale) {
       language_list = screen_->language_list().Clone();
     } else {
@@ -289,7 +289,7 @@
     }
   }
 
-  if (language_list.GetList().empty())
+  if (language_list.GetListDeprecated().empty())
     language_list = std::move(*GetMinimalUILanguageList());
 
   dict->SetKey("languageList", std::move(language_list));
@@ -308,7 +308,7 @@
   }
 
   // Reload localized strings if they are already resolved.
-  if (screen_ && !screen_->language_list().GetList().empty())
+  if (screen_ && !screen_->language_list().GetListDeprecated().empty())
     ReloadLocalizedContent();
   UpdateA11yState();
 }
@@ -394,7 +394,7 @@
   base::Value::ConstListView timezones_view = timezones->GetListDeprecated();
   for (size_t i = 0; i < timezones_view.size(); ++i) {
     CHECK(timezones_view[i].is_list());
-    base::Value::ConstListView timezone = timezones_view[i].GetList();
+    base::Value::ConstListView timezone = timezones_view[i].GetListDeprecated();
 
     std::string timezone_id = timezone[0].GetString();
     std::string timezone_name = timezone[1].GetString();
diff --git a/chrome/browser/ui/webui/chromeos/onc_import_message_handler.cc b/chrome/browser/ui/webui/chromeos/onc_import_message_handler.cc
index 43471d8..ddc6867 100644
--- a/chrome/browser/ui/webui/chromeos/onc_import_message_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/onc_import_message_handler.cc
@@ -115,7 +115,7 @@
   }
   result +=
       base::StringPrintf("Networks imported: %d\n", num_networks_imported);
-  if (certificates.GetList().empty()) {
+  if (certificates.GetListDeprecated().empty()) {
     if (!num_networks_imported)
       has_error = true;
     Respond(callback_id, result, has_error);
diff --git a/chrome/browser/ui/webui/commander/commander_ui_browsertest.cc b/chrome/browser/ui/webui/commander/commander_ui_browsertest.cc
index 93bb460..049b261 100644
--- a/chrome/browser/ui/webui/commander/commander_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/commander/commander_ui_browsertest.cc
@@ -161,13 +161,13 @@
                    ->GetListDeprecated()[0]
                    .FindPath("matchedRanges")
                    ->GetListDeprecated()[0]
-                   .GetList()[0]
+                   .GetListDeprecated()[0]
                    .GetInt());
   EXPECT_EQ(4, arg->FindPath("options")
                    ->GetListDeprecated()[0]
                    .FindPath("matchedRanges")
                    ->GetListDeprecated()[0]
-                   .GetList()[1]
+                   .GetListDeprecated()[1]
                    .GetInt());
   EXPECT_EQ(42, arg->FindPath("resultSetId")->GetInt());
 }
diff --git a/chrome/browser/ui/webui/extensions/extensions_internals_source.cc b/chrome/browser/ui/webui/extensions/extensions_internals_source.cc
index bd7eea9..c881ce0e 100644
--- a/chrome/browser/ui/webui/extensions/extensions_internals_source.cc
+++ b/chrome/browser/ui/webui/extensions/extensions_internals_source.cc
@@ -453,9 +453,9 @@
                              base::Value(base::Value::Type::LIST));
     } else {
       // Set the count and the events values.
-      event_listeners.SetKey(
-          kCountKey,
-          base::Value(base::checked_cast<int>(it->second.GetList().size())));
+      event_listeners.SetKey(kCountKey,
+                             base::Value(base::checked_cast<int>(
+                                 it->second.GetListDeprecated().size())));
       event_listeners.SetKey(kListenersKey, std::move(it->second));
     }
     output_entry.SetKey(kEventsListenersKey, std::move(event_listeners));
diff --git a/chrome/browser/ui/webui/history/browsing_history_handler.cc b/chrome/browser/ui/webui/history/browsing_history_handler.cc
index c1b287ed..b29f238e 100644
--- a/chrome/browser/ui/webui/history/browsing_history_handler.cc
+++ b/chrome/browser/ui/webui/history/browsing_history_handler.cc
@@ -416,7 +416,7 @@
 
   std::vector<BrowsingHistoryService::HistoryEntry> items_to_remove;
   const base::Value& items = args->GetListDeprecated()[1];
-  base::Value::ConstListView list = items.GetList();
+  base::Value::ConstListView list = items.GetListDeprecated();
   items_to_remove.reserve(list.size());
   for (size_t i = 0; i < list.size(); ++i) {
     // Each argument is a dictionary with properties "url" and "timestamps".
diff --git a/chrome/browser/ui/webui/history/foreign_session_handler.cc b/chrome/browser/ui/webui/history/foreign_session_handler.cc
index 63c126a..37a417a 100644
--- a/chrome/browser/ui/webui/history/foreign_session_handler.cc
+++ b/chrome/browser/ui/webui/history/foreign_session_handler.cc
@@ -125,7 +125,7 @@
       tab_values.Append(std::move(tab_value));
     }
   }
-  if (tab_values.GetList().empty())
+  if (tab_values.GetListDeprecated().empty())
     return base::Value();
 
   base::Value dictionary = BuildWindowData(window.timestamp, window.window_id);
diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc
index 70b4c7b..865aca7 100644
--- a/chrome/browser/ui/webui/management/management_ui_handler.cc
+++ b/chrome/browser/ui/webui/management/management_ui_handler.cc
@@ -981,7 +981,7 @@
   // The number of extensions to be reported in chrome://management with
   // powerful permissions.
   base::UmaHistogramCounts1000(kPowerfulExtensionsCountHistogram,
-                               powerful_extensions.GetList().size());
+                               powerful_extensions.GetListDeprecated().size());
 
   ResolveJavascriptCallback(args->GetListDeprecated()[0] /* callback_id */,
                             powerful_extensions);
diff --git a/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc b/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc
index 79969fc..99cebab 100644
--- a/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc
+++ b/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc
@@ -1011,7 +1011,7 @@
   base::Value info =
       handler_.GetDeviceReportingInfo(nullptr, nullptr, nullptr, GetProfile());
 
-  EXPECT_EQ(info.GetList().size(), 0u);
+  EXPECT_EQ(info.GetListDeprecated().size(), 0u);
 }
 
 TEST_F(ManagementUIHandlerTests, AllEnabledDeviceReportingInfo) {
@@ -1032,7 +1032,7 @@
       {kManagementReportAndroidApplications, "android application"},
       {kManagementReportDlpEvents, "dlp events"}};
 
-  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetList(),
+  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetListDeprecated(),
                       expected_elements);
 }
 
@@ -1055,7 +1055,7 @@
       {kManagementReportExtensions, "extension"},
       {kManagementReportAndroidApplications, "android application"}};
 
-  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetList(),
+  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetListDeprecated(),
                       expected_elements);
 }
 
@@ -1066,7 +1066,7 @@
   const std::map<std::string, std::string> expected_elements = {
       {kManagementReportDlpEvents, "dlp events"}};
 
-  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetList(),
+  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetListDeprecated(),
                       expected_elements);
 }
 
@@ -1077,7 +1077,7 @@
   const std::map<std::string, std::string> expected_elements = {
       {kManagementReportUsers, "supervised user"}};
 
-  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetList(),
+  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetListDeprecated(),
                       expected_elements);
 }
 
@@ -1086,7 +1086,7 @@
   const base::Value info = SetUpForReportingInfo();
   const std::map<std::string, std::string> expected_elements = {};
 
-  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetList(),
+  ASSERT_PRED_FORMAT2(ReportingElementsToBeEQ, info.GetListDeprecated(),
                       expected_elements);
 }
 
@@ -1164,7 +1164,7 @@
 
 TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoNoPolicySetNoMessage) {
   auto reporting_info = handler_.GetExtensionReportingInfo();
-  EXPECT_EQ(reporting_info.GetList().size(), 0u);
+  EXPECT_EQ(reporting_info.GetListDeprecated().size(), 0u);
 }
 
 TEST_F(ManagementUIHandlerTests, CloudReportingPolicy) {
@@ -1181,7 +1181,7 @@
       kManagementExtensionReportExtensionsPlugin};
 
   ASSERT_PRED_FORMAT2(MessagesToBeEQ,
-                      handler_.GetExtensionReportingInfo().GetList(),
+                      handler_.GetExtensionReportingInfo().GetListDeprecated(),
                       expected_messages);
 }
 
@@ -1237,7 +1237,7 @@
       kManagementExtensionReportPerfCrash};
 
   ASSERT_PRED_FORMAT2(MessagesToBeEQ,
-                      handler_.GetExtensionReportingInfo().GetList(),
+                      handler_.GetExtensionReportingInfo().GetListDeprecated(),
                       expected_messages);
 }
 
@@ -1245,7 +1245,7 @@
   TestingProfile::Builder builder_no_domain;
   auto profile = builder_no_domain.Build();
   auto info = handler_.GetManagedWebsitesInfo(profile.get());
-  EXPECT_EQ(info.GetList().size(), 0u);
+  EXPECT_EQ(info.GetListDeprecated().size(), 0u);
 }
 
 TEST_F(ManagementUIHandlerTests, ManagedWebsitiesInfoWebsites) {
@@ -1258,8 +1258,9 @@
   profile->GetPrefs()->Set(prefs::kManagedConfigurationPerOrigin,
                            managed_websites);
   auto info = handler_.GetManagedWebsitesInfo(profile.get());
-  EXPECT_EQ(info.GetList().size(), 1u);
-  EXPECT_EQ(info.GetList().begin()->GetString(), "https://example.com");
+  EXPECT_EQ(info.GetListDeprecated().size(), 1u);
+  EXPECT_EQ(info.GetListDeprecated().begin()->GetString(),
+            "https://example.com");
 }
 
 TEST_F(ManagementUIHandlerTests, ThreatReportingInfo) {
diff --git a/chrome/browser/ui/webui/memory_internals_ui.cc b/chrome/browser/ui/webui/memory_internals_ui.cc
index f4b2b94..98ec33f 100644
--- a/chrome/browser/ui/webui/memory_internals_ui.cc
+++ b/chrome/browser/ui/webui/memory_internals_ui.cc
@@ -333,10 +333,10 @@
 
   // Append whether each process is being profiled.
   for (base::Value& value : process_list) {
-    DCHECK_EQ(value.GetList().size(), 2u);
+    DCHECK_EQ(value.GetListDeprecated().size(), 2u);
 
     base::ProcessId pid =
-        static_cast<base::ProcessId>(value.GetList()[0].GetInt());
+        static_cast<base::ProcessId>(value.GetListDeprecated()[0].GetInt());
     bool is_profiled =
         std::binary_search(profiled_pids.begin(), profiled_pids.end(), pid);
     value.Append(is_profiled);
diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
index ed9a966..9ba2ae82 100644
--- a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
+++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
@@ -1051,7 +1051,7 @@
   CHECK_EQ(args_list.size(), 2u);
 
   const std::string& dragged_app_id = args_list[0].GetString();
-  base::Value::ConstListView app_order = args_list[1].GetList();
+  base::Value::ConstListView app_order = args_list[1].GetListDeprecated();
 
   std::string predecessor_to_moved_ext;
   std::string successor_to_moved_ext;
diff --git a/chrome/browser/ui/webui/offline/offline_internals_ui_message_handler.cc b/chrome/browser/ui/webui/offline/offline_internals_ui_message_handler.cc
index e699c648..1299d32 100644
--- a/chrome/browser/ui/webui/offline/offline_internals_ui_message_handler.cc
+++ b/chrome/browser/ui/webui/offline/offline_internals_ui_message_handler.cc
@@ -93,7 +93,8 @@
   std::string callback_id = args_list[0].GetString();
 
   std::vector<int64_t> offline_ids;
-  base::Value::ConstListView offline_ids_from_arg = args_list[1].GetList();
+  base::Value::ConstListView offline_ids_from_arg =
+      args_list[1].GetListDeprecated();
   for (size_t i = 0; i < offline_ids_from_arg.size(); i++) {
     std::string value = offline_ids_from_arg[i].GetString();
     int64_t int_value;
@@ -117,7 +118,8 @@
   std::string callback_id = args_list[0].GetString();
 
   std::vector<int64_t> offline_ids;
-  base::Value::ConstListView offline_ids_from_arg = args_list[1].GetList();
+  base::Value::ConstListView offline_ids_from_arg =
+      args_list[1].GetListDeprecated();
   for (size_t i = 0; i < offline_ids_from_arg.size(); i++) {
     std::string value = offline_ids_from_arg[i].GetString();
     int64_t int_value;
diff --git a/chrome/browser/ui/webui/policy/policy_ui_browsertest.cc b/chrome/browser/ui/webui/policy/policy_ui_browsertest.cc
index 5a55b8b9..5ab5be67 100644
--- a/chrome/browser/ui/webui/policy/policy_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/policy/policy_ui_browsertest.cc
@@ -328,7 +328,8 @@
   for (size_t i = 0; i < expected_policies.size(); ++i) {
     const std::vector<std::string> expected_policy = expected_policies[i];
     ASSERT_TRUE(actual_policies[i].is_list());
-    base::Value::ConstListView actual_policy = actual_policies[i].GetList();
+    base::Value::ConstListView actual_policy =
+        actual_policies[i].GetListDeprecated();
     ASSERT_EQ(expected_policy.size(), actual_policy.size());
     for (size_t j = 0; j < expected_policy.size(); ++j) {
       const std::string* value = actual_policy[j].GetIfString();
diff --git a/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc b/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc
index cc844c7..9146508 100644
--- a/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/extension_printer_handler.cc
@@ -284,7 +284,7 @@
     const base::ListValue& printers,
     bool done) {
   DCHECK_GT(pending_enumeration_count_, 0);
-  if (!printers.GetList().empty())
+  if (!printers.GetListDeprecated().empty())
     callback.Run(printers);
 
   if (done)
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 4212f04..5f474ea 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -1250,13 +1250,13 @@
                                           const base::ListValue& printers) {
   DCHECK(printer_type == mojom::PrinterType::kExtension ||
          printer_type == mojom::PrinterType::kLocal);
-  DCHECK(!printers.GetList().empty());
+  DCHECK(!printers.GetListDeprecated().empty());
   FireWebUIListener("printers-added",
                     base::Value(static_cast<int>(printer_type)), printers);
 
   if (printer_type == mojom::PrinterType::kLocal &&
       !has_logged_printers_count_) {
-    ReportNumberOfPrinters(printers.GetList().size());
+    ReportNumberOfPrinters(printers.GetListDeprecated().size());
     has_logged_printers_count_ = true;
   }
 }
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler_chromeos.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler_chromeos.cc
index 0bb26df..0f9e6a1b 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler_chromeos.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler_chromeos.cc
@@ -346,7 +346,7 @@
 
   const base::Value& val = args->GetListDeprecated()[0];
   std::vector<std::string> print_server_ids;
-  for (const auto& id : val.GetList()) {
+  for (const auto& id : val.GetListDeprecated()) {
     print_server_ids.push_back(id.GetString());
   }
   MaybeAllowJavascript();
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc
index 136bfe5..15d9c4fa 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc
@@ -208,7 +208,7 @@
 
   void StartGetPrinters(AddedPrintersCallback added_printers_callback,
                         GetPrintersDoneCallback done_callback) override {
-    if (!printers_.GetList().empty())
+    if (!printers_.GetListDeprecated().empty())
       added_printers_callback.Run(printers_);
     std::move(done_callback).Run();
   }
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_utils.cc b/chrome/browser/ui/webui/print_preview/print_preview_utils.cc
index 54fd11a4..db22ebf6 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_utils.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_utils.cc
@@ -102,7 +102,7 @@
   const base::Value* options_list =
       select_cap->FindKeyOfType(kOptionKey, base::Value::Type::LIST);
   if (!options_list || options_list->GetListDeprecated().empty() ||
-      GetFilteredList(options_list, ValueIsNull).GetList().empty()) {
+      GetFilteredList(options_list, ValueIsNull).GetListDeprecated().empty()) {
     return true;
   }
   return false;
@@ -176,9 +176,9 @@
   base::ListValue printers;
   PrintersToValues(printer_list, &printers);
 
-  VLOG(1) << "Enumerate printers finished, found " << printers.GetList().size()
-          << " printers";
-  if (!printers.GetList().empty())
+  VLOG(1) << "Enumerate printers finished, found "
+          << printers.GetListDeprecated().size() << " printers";
+  if (!printers.GetListDeprecated().empty())
     callback.Run(printers);
   std::move(done_callback).Run();
 }
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_utils_unittest.cc b/chrome/browser/ui/webui/print_preview/print_preview_utils_unittest.cc
index df4888a..e46cf046 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_utils_unittest.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_utils_unittest.cc
@@ -96,7 +96,7 @@
 
 bool HasValidEntry(const base::Value* list) {
   return list && !list->GetListDeprecated().empty() &&
-         !ValidList(list).GetList().empty();
+         !ValidList(list).GetListDeprecated().empty();
 }
 
 void CompareStringKeys(const base::Value& expected,
@@ -109,11 +109,11 @@
 void ValidateList(const base::Value* list_out, const base::Value* input_list) {
   auto input_list_valid = ValidList(input_list);
   ASSERT_EQ(list_out->GetListDeprecated().size(),
-            input_list_valid.GetList().size());
+            input_list_valid.GetListDeprecated().size());
   for (size_t index = 0; index < list_out->GetListDeprecated().size();
        index++) {
     EXPECT_EQ(list_out->GetListDeprecated()[index],
-              input_list_valid.GetList()[index]);
+              input_list_valid.GetListDeprecated()[index]);
   }
 }
 
diff --git a/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc b/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc
index 083f668..f72dba3 100644
--- a/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc
@@ -326,7 +326,8 @@
     }
 
     // Device account must show up at the top.
-    accounts.Insert(accounts.GetList().begin(), device_account.Build());
+    accounts.Insert(accounts.GetListDeprecated().begin(),
+                    device_account.Build());
   }
 
   ResolveJavascriptCallback(callback_id, accounts);
diff --git a/chrome/browser/ui/webui/settings/chromeos/ambient_mode_handler_unittest.cc b/chrome/browser/ui/webui/settings/chromeos/ambient_mode_handler_unittest.cc
index 11595110..956857e 100644
--- a/chrome/browser/ui/webui/settings/chromeos/ambient_mode_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/ambient_mode_handler_unittest.cc
@@ -116,7 +116,7 @@
   void RequestAlbums(ash::AmbientModeTopicSource topic_source) {
     base::Value args(base::Value::Type::LIST);
     args.Append(static_cast<int>(topic_source));
-    handler_->HandleRequestAlbums(args.GetList());
+    handler_->HandleRequestAlbums(args.GetListDeprecated());
   }
 
   void HandleSetSelectedTemperatureUnit(base::Value::ConstListView args) {
@@ -785,7 +785,7 @@
   dictionary.SetKey("albums", std::move(albums));
 
   args.Append(std::move(dictionary));
-  HandleSetSelectedAlbums(args.GetList());
+  HandleSetSelectedAlbums(args.GetListDeprecated());
 
   histogram_tester().ExpectTotalCount("Ash.AmbientMode.TotalNumberOfAlbums",
                                       /*count=*/1);
@@ -802,7 +802,7 @@
   base::Value args(base::Value::Type::LIST);
   args.Append("fahrenheit");
 
-  HandleSetSelectedTemperatureUnit(args.GetList());
+  HandleSetSelectedTemperatureUnit(args.GetListDeprecated());
 
   EXPECT_TRUE(IsUpdateSettingsPendingAtHandler());
   EXPECT_TRUE(IsUpdateSettingsPendingAtBackend());
@@ -822,7 +822,7 @@
   base::Value args(base::Value::Type::LIST);
   args.Append("celsius");
 
-  HandleSetSelectedTemperatureUnit(args.GetList());
+  HandleSetSelectedTemperatureUnit(args.GetListDeprecated());
 
   EXPECT_FALSE(IsUpdateSettingsPendingAtHandler());
   EXPECT_FALSE(IsUpdateSettingsPendingAtBackend());
diff --git a/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc b/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc
index 26f3d51b..ac86c69 100644
--- a/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc
@@ -200,9 +200,10 @@
   // Observe changes to containers in general
   pref_change_registrar_.Add(
       crostini::prefs::kCrostiniContainers,
-      base::BindRepeating(&CrostiniHandler::HandleRequestContainerInfo,
-                          handler_weak_ptr_factory_.GetWeakPtr(),
-                          base::Value(base::Value::Type::LIST).GetList()));
+      base::BindRepeating(
+          &CrostiniHandler::HandleRequestContainerInfo,
+          handler_weak_ptr_factory_.GetWeakPtr(),
+          base::Value(base::Value::Type::LIST).GetListDeprecated()));
 }
 
 void CrostiniHandler::OnJavascriptDisallowed() {
@@ -664,13 +665,15 @@
 void CrostiniHandler::OnContainerStarted(
     const crostini::ContainerId& container_id) {
   FireWebUIListener("crostini-status-changed", base::Value(true));
-  HandleRequestContainerInfo(base::Value(base::Value::Type::LIST).GetList());
+  HandleRequestContainerInfo(
+      base::Value(base::Value::Type::LIST).GetListDeprecated());
 }
 
 void CrostiniHandler::OnContainerShutdown(
     const crostini::ContainerId& container_id) {
   FireWebUIListener("crostini-status-changed", base::Value(false));
-  HandleRequestContainerInfo(base::Value(base::Value::Type::LIST).GetList());
+  HandleRequestContainerInfo(
+      base::Value(base::Value::Type::LIST).GetListDeprecated());
 }
 
 void CrostiniHandler::HandleShutdownCrostini(base::Value::ConstListView args) {
diff --git a/chrome/browser/ui/webui/settings/chromeos/guest_os_handler.cc b/chrome/browser/ui/webui/settings/chromeos/guest_os_handler.cc
index c594213..a5342068 100644
--- a/chrome/browser/ui/webui/settings/chromeos/guest_os_handler.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/guest_os_handler.cc
@@ -79,7 +79,7 @@
   std::string callback_id = args->GetListDeprecated()[0].GetString();
 
   base::Value texts(base::Value::Type::LIST);
-  for (const auto& path : args->GetListDeprecated()[1].GetList()) {
+  for (const auto& path : args->GetListDeprecated()[1].GetListDeprecated()) {
     texts.Append(file_manager::util::GetPathDisplayTextForSettings(
         profile_, path.GetString()));
   }
diff --git a/chrome/browser/ui/webui/settings/chromeos/metrics_consent_handler_unittest.cc b/chrome/browser/ui/webui/settings/chromeos/metrics_consent_handler_unittest.cc
index e77315c3..d0460d3 100644
--- a/chrome/browser/ui/webui/settings/chromeos/metrics_consent_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/metrics_consent_handler_unittest.cc
@@ -58,7 +58,7 @@
   void GetMetricsConsentState() {
     base::ListValue args;
     args.Append(base::Value("callback-id"));
-    HandleGetMetricsConsentState(args.GetList());
+    HandleGetMetricsConsentState(args.GetListDeprecated());
   }
 
   void UpdateMetricsConsent(bool metrics_consent) {
@@ -69,7 +69,7 @@
     dict.SetBoolKey("consent", metrics_consent);
     args.Append(std::move(dict));
 
-    HandleUpdateMetricsConsent(args.GetList());
+    HandleUpdateMetricsConsent(args.GetListDeprecated());
   }
 };
 
diff --git a/chrome/browser/ui/webui/settings/chromeos/switch_access_handler.cc b/chrome/browser/ui/webui/settings/chromeos/switch_access_handler.cc
index bfefe79..ce57dee 100644
--- a/chrome/browser/ui/webui/settings/chromeos/switch_access_handler.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/switch_access_handler.cc
@@ -193,7 +193,7 @@
         NOTREACHED();
         return;
       }
-      for (const base::Value& device_type : item.second.GetList()) {
+      for (const base::Value& device_type : item.second.GetListDeprecated()) {
         base::DictionaryValue key;
         key.SetStringPath("key", GetStringForKeyboardCode(
                                      static_cast<ui::KeyboardCode>(key_code)));
diff --git a/chrome/browser/ui/webui/settings/font_handler.cc b/chrome/browser/ui/webui/settings/font_handler.cc
index 8c0e561e..953e1c23 100644
--- a/chrome/browser/ui/webui/settings/font_handler.cc
+++ b/chrome/browser/ui/webui/settings/font_handler.cc
@@ -63,7 +63,7 @@
   // Font list. Selects the directionality for the fonts in the given list.
   for (auto& i : list_view) {
     DCHECK(i.is_list());
-    base::Value::ConstListView font = i.GetList();
+    base::Value::ConstListView font = i.GetListDeprecated();
 
     DCHECK(font.size() >= 2u && font[1].is_string());
     std::u16string value = base::UTF8ToUTF16(font[1].GetString());
diff --git a/chrome/browser/ui/webui/settings/hats_handler_unittest.cc b/chrome/browser/ui/webui/settings/hats_handler_unittest.cc
index cadd11e45..c731bfaa 100644
--- a/chrome/browser/ui/webui/settings/hats_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/hats_handler_unittest.cc
@@ -116,7 +116,7 @@
       &base::Value::AsListValue(args));
   task_environment()->RunUntilIdle();
 
-  args.GetList()[0] = base::Value(
+  args.GetListDeprecated()[0] = base::Value(
       static_cast<int>(HatsHandler::TrustSafetyInteraction::RAN_SAFETY_CHECK));
   handler()->HandleTrustSafetyInteractionOccurred(
       &base::Value::AsListValue(args));
@@ -207,7 +207,7 @@
       &base::Value::AsListValue(args));
 
   EXPECT_CALL(*mock_sentiment_service_, RanSafetyCheck()).Times(1);
-  args.GetList()[0] = base::Value(
+  args.GetListDeprecated()[0] = base::Value(
       static_cast<int>(HatsHandler::TrustSafetyInteraction::RAN_SAFETY_CHECK));
   handler()->HandleTrustSafetyInteractionOccurred(
       &base::Value::AsListValue(args));
@@ -228,7 +228,7 @@
       &base::Value::AsListValue(args));
 
   EXPECT_CALL(*mock_sentiment_service_, OpenedPasswordManager(web_contents()));
-  args.GetList()[0] = base::Value(static_cast<int>(
+  args.GetListDeprecated()[0] = base::Value(static_cast<int>(
       HatsHandler::TrustSafetyInteraction::OPENED_PASSWORD_MANAGER));
   handler()->HandleTrustSafetyInteractionOccurred(
       &base::Value::AsListValue(args));
diff --git a/chrome/browser/ui/webui/settings/people_handler_unittest.cc b/chrome/browser/ui/webui/settings/people_handler_unittest.cc
index 4f6a8a5..ddbdf468 100644
--- a/chrome/browser/ui/webui/settings/people_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/people_handler_unittest.cc
@@ -659,7 +659,7 @@
   SetupInitializedSyncService();
   EXPECT_CALL(*mock_sync_service_->GetMockUserSettings(),
               SetSelectedTypes(true, _));
-  handler_->HandleSetDatatypes(list_args.GetList());
+  handler_->HandleSetDatatypes(list_args.GetListDeprecated());
 
   ExpectPageStatusResponse(PeopleHandler::kConfigurePageStatus);
 }
@@ -688,7 +688,7 @@
   base::Value list_args(base::Value::Type::LIST);
   list_args.Append(kTestCallbackId);
   list_args.Append("correct_passphrase");
-  handler_->HandleSetDecryptionPassphrase(list_args.GetList());
+  handler_->HandleSetDecryptionPassphrase(list_args.GetListDeprecated());
 
   ExpectSetPassphraseSuccess(true);
 }
@@ -716,7 +716,7 @@
   base::Value list_args(base::Value::Type::LIST);
   list_args.Append(kTestCallbackId);
   list_args.Append("custom_passphrase");
-  handler_->HandleSetEncryptionPassphrase(list_args.GetList());
+  handler_->HandleSetEncryptionPassphrase(list_args.GetListDeprecated());
 
   ExpectSetPassphraseSuccess(true);
 }
@@ -745,7 +745,7 @@
   base::Value list_args(base::Value::Type::LIST);
   list_args.Append(kTestCallbackId);
   list_args.Append("invalid_passphrase");
-  handler_->HandleSetDecryptionPassphrase(list_args.GetList());
+  handler_->HandleSetDecryptionPassphrase(list_args.GetListDeprecated());
 
   ExpectSetPassphraseSuccess(false);
 }
@@ -774,7 +774,7 @@
   base::Value list_args(base::Value::Type::LIST);
   list_args.Append(kTestCallbackId);
   list_args.Append("");
-  handler_->HandleSetEncryptionPassphrase(list_args.GetList());
+  handler_->HandleSetEncryptionPassphrase(list_args.GetListDeprecated());
 
   ExpectSetPassphraseSuccess(false);
 }
@@ -801,7 +801,7 @@
     EXPECT_CALL(*mock_sync_service_->GetMockUserSettings(),
                 SetSelectedTypes(false, type_to_set));
 
-    handler_->HandleSetDatatypes(list_args.GetList());
+    handler_->HandleSetDatatypes(list_args.GetListDeprecated());
     ExpectPageStatusResponse(PeopleHandler::kConfigurePageStatus);
     Mock::VerifyAndClearExpectations(mock_sync_service_);
   }
@@ -823,7 +823,7 @@
   SetupInitializedSyncService();
   EXPECT_CALL(*mock_sync_service_->GetMockUserSettings(),
               SetSelectedTypes(false, GetAllTypes()));
-  handler_->HandleSetDatatypes(list_args.GetList());
+  handler_->HandleSetDatatypes(list_args.GetListDeprecated());
 
   ExpectPageStatusResponse(PeopleHandler::kConfigurePageStatus);
 }
@@ -851,7 +851,7 @@
   // Only the registered types are selected.
   EXPECT_CALL(*mock_sync_service_->GetMockUserSettings(),
               SetSelectedTypes(/*sync_everything=*/false, registered_types));
-  handler_->HandleSetDatatypes(list_args.GetList());
+  handler_->HandleSetDatatypes(list_args.GetListDeprecated());
 }
 
 TEST_F(PeopleHandlerTest, ShowSyncSetup) {
@@ -1090,7 +1090,7 @@
   base::Value list_args(base::Value::Type::LIST);
   list_args.Append(kTestCallbackId);
   list_args.Append("passphrase123");
-  handler_->HandleSetEncryptionPassphrase(list_args.GetList());
+  handler_->HandleSetEncryptionPassphrase(list_args.GetListDeprecated());
 
   ExpectSetPassphraseSuccess(false);
 }
@@ -1119,7 +1119,7 @@
   base::Value list_args(base::Value::Type::LIST);
   list_args.Append(kTestCallbackId);
   list_args.Append("passphrase123");
-  handler_->HandleSetEncryptionPassphrase(list_args.GetList());
+  handler_->HandleSetEncryptionPassphrase(list_args.GetListDeprecated());
 
   ExpectSetPassphraseSuccess(false);
 }
@@ -1176,7 +1176,7 @@
 
   base::Value did_abort(base::Value::Type::LIST);
   did_abort.Append(base::Value(false));
-  handler_->OnDidClosePage(did_abort.GetList());
+  handler_->OnDidClosePage(did_abort.GetListDeprecated());
 }
 
 TEST_F(PeopleHandlerTest, DashboardClearWhileSettingsOpen_ConfirmLater) {
@@ -1247,7 +1247,7 @@
 
   base::Value did_abort(base::Value::Type::LIST);
   did_abort.Append(base::Value(false));
-  handler_->OnDidClosePage(did_abort.GetList());
+  handler_->OnDidClosePage(did_abort.GetListDeprecated());
 }
 
 #if BUILDFLAG(ENABLE_DICE_SUPPORT)
@@ -1284,7 +1284,7 @@
   base::Value accounts = handler.GetStoredAccountsList();
 
   ASSERT_TRUE(accounts.is_list());
-  base::Value::ConstListView accounts_list = accounts.GetList();
+  base::Value::ConstListView accounts_list = accounts.GetListDeprecated();
 
   ASSERT_EQ(2u, accounts_list.size());
   ASSERT_TRUE(accounts_list[0].FindKey("email"));
@@ -1304,7 +1304,7 @@
 
   PeopleHandler handler(profile.get());
   base::Value accounts = handler.GetStoredAccountsList();
-  EXPECT_TRUE(accounts.GetList().empty());
+  EXPECT_TRUE(accounts.GetListDeprecated().empty());
 }
 
 TEST_F(PeopleHandlerTest, TurnOffSync) {
@@ -1328,7 +1328,7 @@
 
   CreatePeopleHandler();
   base::Value accounts = handler_->GetStoredAccountsList();
-  base::Value::ListView accounts_list = accounts.GetList();
+  base::Value::ListView accounts_list = accounts.GetListDeprecated();
   ASSERT_EQ(1u, accounts_list.size());
   EXPECT_EQ("user@gmail.com", accounts_list[0].FindKey("email")->GetString());
 }
diff --git a/chrome/browser/ui/webui/settings/privacy_review_handler_unittest.cc b/chrome/browser/ui/webui/settings/privacy_review_handler_unittest.cc
index 2b292ef..1d66d8c 100644
--- a/chrome/browser/ui/webui/settings/privacy_review_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/privacy_review_handler_unittest.cc
@@ -48,7 +48,7 @@
   void ValidateIsPrivacyReviewAvailable(bool privacyReviewAvailableExpected) {
     base::ListValue args;
     args.Append(kCallbackId);
-    handler()->HandleIsPrivacyReviewAvailable(args.GetList());
+    handler()->HandleIsPrivacyReviewAvailable(args.GetListDeprecated());
 
     const content::TestWebUI::CallData& data = *web_ui()->call_data().back();
     EXPECT_EQ("cr.webUIResponse", data.function_name());
diff --git a/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc b/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
index 4b32cff..3537607c 100644
--- a/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
+++ b/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
@@ -159,7 +159,7 @@
   list_args.Append(std::move(data_types));
   list_args.Append(1);
   list_args.Append(std::move(installed_apps));
-  HandleClearBrowsingData(list_args.GetList());
+  HandleClearBrowsingData(list_args.GetListDeprecated());
 }
 
 void ClearBrowsingDataHandler::GetRecentlyLaunchedInstalledApps(
@@ -255,7 +255,7 @@
   std::vector<BrowsingDataType> data_type_vector;
 
   CHECK(args_list[1].is_list());
-  base::Value::ConstListView data_type_list = args_list[1].GetList();
+  base::Value::ConstListView data_type_list = args_list[1].GetListDeprecated();
   for (const base::Value& type : data_type_list) {
     const std::string pref_name = type.GetString();
     BrowsingDataType data_type =
@@ -354,7 +354,8 @@
 
   int period_selected = args_list[2].GetInt();
 
-  const base::Value::ConstListView installed_apps = args_list[3].GetList();
+  const base::Value::ConstListView installed_apps =
+      args_list[3].GetListDeprecated();
   std::unique_ptr<content::BrowsingDataFilterBuilder> filter_builder =
       ProcessInstalledApps(installed_apps);
 
diff --git a/chrome/browser/ui/webui/settings/settings_cookies_view_handler.cc b/chrome/browser/ui/webui/settings/settings_cookies_view_handler.cc
index 9dc067b..aaae75e 100644
--- a/chrome/browser/ui/webui/settings/settings_cookies_view_handler.cc
+++ b/chrome/browser/ui/webui/settings/settings_cookies_view_handler.cc
@@ -479,7 +479,8 @@
   }
 
   // Sort the list into alphabetical order based on site name.
-  std::sort(site_list.GetList().begin(), site_list.GetList().end(),
+  std::sort(site_list.GetListDeprecated().begin(),
+            site_list.GetListDeprecated().end(),
             [=](const base::Value& a, const base::Value& b) {
               return *a.FindStringKey(kSite) < *b.FindStringKey(kSite);
             });
diff --git a/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc b/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc
index 1534088..f56110a8 100644
--- a/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc
+++ b/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc
@@ -120,14 +120,15 @@
   }
 
   // Randomize the order of the resolvers.
-  base::RandomShuffle(resolvers.GetList().begin(), resolvers.GetList().end());
+  base::RandomShuffle(resolvers.GetListDeprecated().begin(),
+                      resolvers.GetListDeprecated().end());
 
   // Add a custom option to the front of the list
   base::Value custom(base::Value::Type::DICTIONARY);
   custom.SetStringKey("name", l10n_util::GetStringUTF8(IDS_SETTINGS_CUSTOM));
   custom.SetStringKey("value", std::string());  // Empty value means custom.
   custom.SetStringKey("policy", std::string());
-  resolvers.Insert(resolvers.GetList().begin(), std::move(custom));
+  resolvers.Insert(resolvers.GetListDeprecated().begin(), std::move(custom));
 
   return resolvers;
 }
diff --git a/chrome/browser/ui/webui/settings/settings_secure_dns_handler_browsertest.cc b/chrome/browser/ui/webui/settings/settings_secure_dns_handler_browsertest.cc
index c9445d00..f6dd025 100644
--- a/chrome/browser/ui/webui/settings/settings_secure_dns_handler_browsertest.cc
+++ b/chrome/browser/ui/webui/settings/settings_secure_dns_handler_browsertest.cc
@@ -85,8 +85,9 @@
   dict.SetKey("value", base::Value(value));
   dict.SetKey("policy", base::Value(policy));
 
-  return std::find(resolvers.GetList().begin(), resolvers.GetList().end(),
-                   dict) != resolvers.GetList().end();
+  return std::find(resolvers.GetListDeprecated().begin(),
+                   resolvers.GetListDeprecated().end(),
+                   dict) != resolvers.GetListDeprecated().end();
 }
 
 }  // namespace
@@ -314,8 +315,11 @@
   handler_->SetProvidersForTesting(entries);
   const base::Value resolver_list = handler_->GetSecureDnsResolverList();
 
-  EXPECT_EQ(entries.size() + 1, resolver_list.GetList().size());
-  EXPECT_TRUE(resolver_list.GetList()[0].FindKey("value")->GetString().empty());
+  EXPECT_EQ(entries.size() + 1, resolver_list.GetListDeprecated().size());
+  EXPECT_TRUE(resolver_list.GetListDeprecated()[0]
+                  .FindKey("value")
+                  ->GetString()
+                  .empty());
   for (const auto* entry : entries) {
     EXPECT_TRUE(FindDropdownItem(resolver_list, entry->ui_name,
                                  entry->doh_server_config.server_template(),
diff --git a/chrome/browser/ui/webui/settings/settings_security_key_handler.cc b/chrome/browser/ui/webui/settings/settings_security_key_handler.cc
index 8575ca0..71c7fb16 100644
--- a/chrome/browser/ui/webui/settings/settings_security_key_handler.cc
+++ b/chrome/browser/ui/webui/settings/settings_security_key_handler.cc
@@ -421,7 +421,8 @@
   state_ = State::kDeletingCredentials;
   callback_id_ = args->GetListDeprecated()[0].GetString();
   std::vector<device::PublicKeyCredentialDescriptor> credential_ids;
-  for (const base::Value& el : args->GetListDeprecated()[1].GetList()) {
+  for (const base::Value& el :
+       args->GetListDeprecated()[1].GetListDeprecated()) {
     std::vector<uint8_t> credential_id_bytes;
     if (!base::HexStringToBytes(el.GetString(), &credential_id_bytes)) {
       NOTREACHED();
diff --git a/chrome/browser/ui/webui/settings/site_settings_handler.cc b/chrome/browser/ui/webui/settings/site_settings_handler.cc
index 8ba6417..7028d0ab6 100644
--- a/chrome/browser/ui/webui/settings/site_settings_handler.cc
+++ b/chrome/browser/ui/webui/settings/site_settings_handler.cc
@@ -1025,7 +1025,7 @@
                                  &list_value, profile);
 
   // Merge the origin usage and cookies number into |list_value|.
-  for (base::Value& site_group : list_value.GetList()) {
+  for (base::Value& site_group : list_value.GetListDeprecated()) {
     base::Value* origin_list = site_group.FindKey(kOriginList);
     int cookie_num = 0;
     const std::string& etld_plus1 =
@@ -1138,7 +1138,7 @@
   CHECK_EQ(3U, args_list.size());
   const base::Value& callback_id = args_list[0];
   std::string origin = args_list[1].GetString();
-  base::Value::ConstListView types = args_list[2].GetList();
+  base::Value::ConstListView types = args_list[2].GetListDeprecated();
 
   // Note: Invalid URLs will just result in default settings being shown.
   const GURL origin_url(origin);
diff --git a/chrome/browser/ui/webui/settings/site_settings_handler_unittest.cc b/chrome/browser/ui/webui/settings/site_settings_handler_unittest.cc
index c926bac..88f4e34 100644
--- a/chrome/browser/ui/webui/settings/site_settings_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/site_settings_handler_unittest.cc
@@ -342,7 +342,7 @@
 
     const base::Value& exceptions = *data.arg3();
     ASSERT_TRUE(exceptions.is_list());
-    EXPECT_EQ(0U, exceptions.GetList().size());
+    EXPECT_EQ(0U, exceptions.GetListDeprecated().size());
   }
 
   void ValidatePattern(bool expected_validity,
@@ -1208,7 +1208,7 @@
         /*incognito=*/false, &exceptions);
 
     // The size should be 2, 1st is blocked origin, 2nd is embargoed origin.
-    ASSERT_EQ(2U, exceptions.GetList().size());
+    ASSERT_EQ(2U, exceptions.GetListDeprecated().size());
   }
 
   {
@@ -1227,7 +1227,7 @@
         kPermissionNotifications, profile(), /*extension_registry=*/nullptr,
         web_ui(),
         /*incognito=*/false, &exceptions);
-    ASSERT_EQ(1U, exceptions.GetList().size());
+    ASSERT_EQ(1U, exceptions.GetListDeprecated().size());
   }
 
   {
@@ -1246,7 +1246,7 @@
         kPermissionNotifications, profile(), /*extension_registry=*/nullptr,
         web_ui(),
         /*incognito=*/false, &exceptions);
-    ASSERT_EQ(0U, exceptions.GetList().size());
+    ASSERT_EQ(0U, exceptions.GetListDeprecated().size());
   }
 }
 
@@ -2266,7 +2266,7 @@
     if (!exceptions.is_list())
       return false;
 
-    for (const auto& exception : exceptions.GetList()) {
+    for (const auto& exception : exceptions.GetListDeprecated()) {
       const std::string* exception_display_name =
           exception.FindStringKey(site_settings::kDisplayName);
       if (!exception_display_name)
@@ -2298,7 +2298,7 @@
 
   const base::Value& exceptions = GetChooserExceptionListFromWebUiCallData(
       kUsbChooserGroupName, /*expected_total_calls=*/1u);
-  EXPECT_EQ(exceptions.GetList().size(), 5u);
+  EXPECT_EQ(exceptions.GetListDeprecated().size(), 5u);
 
   // Don't include WebUI schemes.
   const std::string kWebUIOriginStr =
@@ -2324,8 +2324,8 @@
   {
     const base::Value& exceptions = GetChooserExceptionListFromWebUiCallData(
         kUsbChooserGroupName, /*expected_total_calls=*/1u);
-    EXPECT_EQ(exceptions.GetList().size(), 7u);
-    for (const auto& exception : exceptions.GetList()) {
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 7u);
+    for (const auto& exception : exceptions.GetListDeprecated()) {
       LOG(INFO) << exception.FindKey(site_settings::kDisplayName)->GetString();
     }
   }
@@ -2339,7 +2339,7 @@
   {
     const base::Value& exceptions = GetChooserExceptionListFromWebUiCallData(
         kUsbChooserGroupName, /*expected_total_calls=*/3u);
-    EXPECT_EQ(exceptions.GetList().size(), 5u);
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 5u);
   }
 }
 
@@ -2361,7 +2361,7 @@
   {
     const base::Value& exceptions = GetChooserExceptionListFromWebUiCallData(
         kUsbChooserGroupName, /*expected_total_calls=*/1u);
-    EXPECT_EQ(exceptions.GetList().size(), 5u);
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 5u);
   }
 
   // User granted USB permissions for devices also containing policy permissions
@@ -2392,7 +2392,7 @@
     // a policy granted permission for the "Gizmo" device.
     const base::Value& exceptions = GetChooserExceptionListFromWebUiCallData(
         kUsbChooserGroupName, /*expected_total_calls=*/4u);
-    EXPECT_EQ(exceptions.GetList().size(), 5u);
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 5u);
 
     // Ensure that the sites list does not contain the URLs of the removed
     // permission.
@@ -2411,7 +2411,7 @@
   {
     const base::Value& exceptions =
         GetChooserExceptionListFromWebUiCallData(kUsbChooserGroupName, 5u);
-    EXPECT_EQ(exceptions.GetList().size(), 5u);
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 5u);
 
     // User granted exceptions that are also granted by policy are only
     // displayed through the policy granted site exception, so ensure that the
@@ -2438,7 +2438,7 @@
   {
     const base::Value& exceptions = GetChooserExceptionListFromWebUiCallData(
         kUsbChooserGroupName, /*expected_total_calls=*/8u);
-    EXPECT_EQ(exceptions.GetList().size(), 5u);
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 5u);
 
     // Ensure that the sites list still displays a site exception entry for an
     // origin of kGoogleOriginStr.  Since now the device has had its
@@ -2464,7 +2464,7 @@
   {
     const base::Value& exceptions =
         GetChooserExceptionListFromWebUiCallData(kUsbChooserGroupName, 9u);
-    EXPECT_EQ(exceptions.GetList().size(), 5u);
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 5u);
     EXPECT_TRUE(ChooserExceptionContainsSiteException(exceptions, "Widget",
                                                       kAndroidOriginStr));
   }
@@ -2485,7 +2485,7 @@
   {
     const base::Value& exceptions = GetChooserExceptionListFromWebUiCallData(
         kUsbChooserGroupName, /*expected_total_calls=*/12u);
-    EXPECT_EQ(exceptions.GetList().size(), 4u);
+    EXPECT_EQ(exceptions.GetListDeprecated().size(), 4u);
     EXPECT_FALSE(ChooserExceptionContainsSiteException(exceptions, "Widget",
                                                        kAndroidOriginStr));
   }
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper_unittest.cc b/chrome/browser/ui/webui/settings/site_settings_helper_unittest.cc
index 3e5a3904..3b9a901 100644
--- a/chrome/browser/ui/webui/settings/site_settings_helper_unittest.cc
+++ b/chrome/browser/ui/webui/settings/site_settings_helper_unittest.cc
@@ -50,7 +50,7 @@
                      const std::string& pattern,
                      const std::string& pattern_display_name,
                      const ContentSetting setting) {
-    const base::Value& value = exceptions.GetList()[index];
+    const base::Value& value = exceptions.GetListDeprecated()[index];
     EXPECT_TRUE(value.is_dict());
     const base::DictionaryValue& dict = base::Value::AsDictionaryValue(value);
     std::string actual_pattern;
@@ -102,7 +102,7 @@
                                              /*incognito=*/false, &exceptions);
 
   // |exceptions| size should be 2. One blocked and one embargoed origins.
-  ASSERT_EQ(2U, exceptions.GetList().size());
+  ASSERT_EQ(2U, exceptions.GetListDeprecated().size());
   base::Value* value = nullptr;
   // Get last added origin.
   exceptions.Get(0, &value);
@@ -149,7 +149,7 @@
         kContentTypeNotifications, &profile, /*extension_registry=*/nullptr,
         /*web_ui=*/nullptr,
         /*incognito=*/false, &exceptions);
-    ASSERT_EQ(1U, exceptions.GetList().size());
+    ASSERT_EQ(1U, exceptions.GetListDeprecated().size());
   }
 
   TestingProfile* incognito_profile =
@@ -163,7 +163,7 @@
                                                /*extension_registry=*/nullptr,
                                                /*web_ui=*/nullptr,
                                                /*incognito=*/true, &exceptions);
-    ASSERT_EQ(0U, exceptions.GetList().size());
+    ASSERT_EQ(0U, exceptions.GetListDeprecated().size());
   }
 
   {
@@ -184,7 +184,7 @@
                                                /*incognito=*/true, &exceptions);
     // The exceptions size should be 1 because previously embargoed origin
     // was for a non-incognito profile.
-    ASSERT_EQ(1U, exceptions.GetList().size());
+    ASSERT_EQ(1U, exceptions.GetListDeprecated().size());
   }
 
   // Add an origin under embargo for incognito profile.
@@ -210,7 +210,7 @@
                                                /*extension_registry=*/nullptr,
                                                /*web_ui=*/nullptr,
                                                /*incognito=*/true, &exceptions);
-    ASSERT_EQ(2U, exceptions.GetList().size());
+    ASSERT_EQ(2U, exceptions.GetListDeprecated().size());
   }
 }
 
@@ -226,7 +226,7 @@
         kContentTypeNotifications, &profile, /*extension_registry=*/nullptr,
         /*web_ui=*/nullptr,
         /*incognito=*/false, &exceptions);
-    ASSERT_EQ(0U, exceptions.GetList().size());
+    ASSERT_EQ(0U, exceptions.GetListDeprecated().size());
   }
 
   auto* map = HostContentSettingsMapFactory::GetForProfile(&profile);
@@ -240,7 +240,7 @@
         kContentTypeNotifications, &profile, /*extension_registry=*/nullptr,
         /*web_ui=*/nullptr,
         /*incognito=*/false, &exceptions);
-    ASSERT_EQ(1U, exceptions.GetList().size());
+    ASSERT_EQ(1U, exceptions.GetListDeprecated().size());
   }
 
   // Add an origin under embargo.
@@ -266,12 +266,12 @@
         /*web_ui=*/nullptr,
         /*incognito=*/false, &exceptions);
     // The size should be 2, 1st is blocked origin, 2nd is embargoed origin.
-    ASSERT_EQ(2U, exceptions.GetList().size());
+    ASSERT_EQ(2U, exceptions.GetListDeprecated().size());
 
     // Fetch and check the first origin.
     const base::DictionaryValue* dictionary;
     std::string primary_pattern, display_name;
-    const base::Value* value = &exceptions.GetList()[0];
+    const base::Value* value = &exceptions.GetListDeprecated()[0];
     ASSERT_TRUE(value->is_dict());
     dictionary = &base::Value::AsDictionaryValue(*value);
     ASSERT_TRUE(
@@ -283,7 +283,7 @@
     EXPECT_EQ(kOriginToBlock, display_name);
 
     // Fetch and check the second origin.
-    value = &exceptions.GetList()[1];
+    value = &exceptions.GetListDeprecated()[1];
     ASSERT_TRUE(value->is_dict());
     dictionary = &base::Value::AsDictionaryValue(*value);
     ASSERT_TRUE(
@@ -303,7 +303,7 @@
         kContentTypeCookies, &profile, /*extension_registry=*/nullptr,
         /*web_ui=*/nullptr,
         /*incognito=*/false, &exceptions);
-    ASSERT_EQ(0U, exceptions.GetList().size());
+    ASSERT_EQ(0U, exceptions.GetListDeprecated().size());
   }
 }
 
@@ -318,7 +318,7 @@
                               /*extension_registry=*/nullptr,
                               /*web_ui=*/nullptr,
                               /*incognito=*/false, &exceptions);
-  EXPECT_EQ(0u, exceptions.GetList().size());
+  EXPECT_EQ(0u, exceptions.GetListDeprecated().size());
 
   map->SetDefaultContentSetting(kContentType, CONTENT_SETTING_ALLOW);
 
@@ -358,7 +358,7 @@
                               /*web_ui=*/nullptr,
                               /*incognito=*/false, &exceptions);
 
-  EXPECT_EQ(5u, exceptions.GetList().size());
+  EXPECT_EQ(5u, exceptions.GetListDeprecated().size());
 
   // The policy exception should be returned first, the extension exception
   // second and pref exceptions afterwards.
@@ -740,7 +740,7 @@
   // permissions are not displayed.
   base::Value exceptions =
       GetChooserExceptionListFromProfile(profile(), *chooser_type);
-  base::Value::ConstListView exceptions_list = exceptions.GetList();
+  base::Value::ConstListView exceptions_list = exceptions.GetListDeprecated();
   ASSERT_EQ(exceptions_list.size(), 4u);
 
   // This exception should describe the permissions for any device with the
diff --git a/chrome/browser/ui/webui/settings/url_handlers_handler.cc b/chrome/browser/ui/webui/settings/url_handlers_handler.cc
index 22c9881..a45e82b9e 100644
--- a/chrome/browser/ui/webui/settings/url_handlers_handler.cc
+++ b/chrome/browser/ui/webui/settings/url_handlers_handler.cc
@@ -294,7 +294,7 @@
     const auto& origin_key = kv.first;
     auto origin = url::Origin::Create(GURL(kv.first));
 
-    for (const auto& handler : kv.second.GetList()) {
+    for (const auto& handler : kv.second.GetListDeprecated()) {
       // Only process handlers from current profile.
       if (!web_app::url_handler_prefs::IsHandlerForProfile(
               handler, profile_->GetPath())) {
@@ -318,7 +318,7 @@
       // app_entries. Each "row" has the same app_id, etc, but different path
       // information. This create a list that is easy to process in WebUI.
       for (const auto& include_path_dict :
-           handler_view->include_paths.GetList()) {
+           handler_view->include_paths.GetListDeprecated()) {
         const std::string* path = include_path_dict.FindStringKey("path");
         absl::optional<int> choice = include_path_dict.FindIntKey("choice");
         if (!path || !choice)
@@ -374,7 +374,7 @@
     const auto& origin_key = kv.first;
     url::Origin origin = url::Origin::Create(GURL(kv.first));
 
-    for (const auto& handler : kv.second.GetList()) {
+    for (const auto& handler : kv.second.GetListDeprecated()) {
       // Only process handlers from current profile.
       if (!web_app::url_handler_prefs::IsHandlerForProfile(
               handler, profile_->GetPath())) {
@@ -388,7 +388,7 @@
         continue;
 
       for (const base::Value& include_path_dict :
-           handler_view->include_paths.GetList()) {
+           handler_view->include_paths.GetListDeprecated()) {
         if (!include_path_dict.is_dict())
           continue;
 
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler.cc b/chrome/browser/ui/webui/signin/inline_login_handler.cc
index d02b05f..89d0bea 100644
--- a/chrome/browser/ui/webui/signin/inline_login_handler.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_handler.cc
@@ -183,7 +183,7 @@
     const base::ListValue& args,
     const net::CookieAccessResultList& cookies,
     const net::CookieAccessResultList& excluded_cookies) {
-  const base::Value& dict = args.GetList()[0];
+  const base::Value& dict = args.GetListDeprecated()[0];
 
   CompleteLoginParams params;
   params.email = dict.FindKey("email")->GetString();
diff --git a/chrome/browser/ui/webui/signin/signin_reauth_handler.cc b/chrome/browser/ui/webui/signin/signin_reauth_handler.cc
index 63f61883..d1a7606 100644
--- a/chrome/browser/ui/webui/signin/signin_reauth_handler.cc
+++ b/chrome/browser/ui/webui/signin/signin_reauth_handler.cc
@@ -79,7 +79,7 @@
 SigninReauthHandler::BuildConsent(const base::ListValue* args) const {
   CHECK_EQ(2U, args->GetListDeprecated().size());
   base::Value::ConstListView consent_description =
-      args->GetListDeprecated()[0].GetList();
+      args->GetListDeprecated()[0].GetListDeprecated();
   const std::string& consent_confirmation =
       args->GetListDeprecated()[1].GetString();
 
diff --git a/chrome/browser/ui/webui/signin/sync_confirmation_handler.cc b/chrome/browser/ui/webui/signin/sync_confirmation_handler.cc
index 28b562e..2cc4e6a9 100644
--- a/chrome/browser/ui/webui/signin/sync_confirmation_handler.cc
+++ b/chrome/browser/ui/webui/signin/sync_confirmation_handler.cc
@@ -125,7 +125,7 @@
 void SyncConfirmationHandler::RecordConsent(const base::ListValue* args) {
   CHECK_EQ(2U, args->GetListDeprecated().size());
   base::Value::ConstListView consent_description =
-      args->GetListDeprecated()[0].GetList();
+      args->GetListDeprecated()[0].GetListDeprecated();
   const std::string& consent_confirmation =
       args->GetListDeprecated()[1].GetString();
 
diff --git a/chrome/browser/ui/webui/sync_file_system_internals/sync_file_system_internals_handler.cc b/chrome/browser/ui/webui/sync_file_system_internals/sync_file_system_internals_handler.cc
index 140a47bb..d17cf12 100644
--- a/chrome/browser/ui/webui/sync_file_system_internals/sync_file_system_internals_handler.cc
+++ b/chrome/browser/ui/webui/sync_file_system_internals/sync_file_system_internals_handler.cc
@@ -172,7 +172,7 @@
     list.Append(std::move(dict));
     last_log_id_sent = log_entry->id;
   }
-  if (list.GetList().empty())
+  if (list.GetListDeprecated().empty())
     return;
 
   ResolveJavascriptCallback(callback_id, list);
diff --git a/chrome/browser/ui/webui/sync_internals/sync_internals_message_handler_unittest.cc b/chrome/browser/ui/webui/sync_internals/sync_internals_message_handler_unittest.cc
index 6961c21e4..7db826f4 100644
--- a/chrome/browser/ui/webui/sync_internals/sync_internals_message_handler_unittest.cc
+++ b/chrome/browser/ui/webui/sync_internals/sync_internals_message_handler_unittest.cc
@@ -249,14 +249,14 @@
 TEST_F(SyncInternalsMessageHandlerTest, HandleGetAllNodes) {
   base::Value args(base::Value::Type::LIST);
   args.Append("getAllNodes_0");
-  handler()->HandleGetAllNodes(args.GetList());
+  handler()->HandleGetAllNodes(args.GetListDeprecated());
   test_sync_service()->get_all_nodes_callback().Run(
       std::make_unique<base::ListValue>());
   EXPECT_EQ(1, CallCountWithName("cr.webUIResponse"));
 
   base::Value args2(base::Value::Type::LIST);
   args2.Append("getAllNodes_1");
-  handler()->HandleGetAllNodes(args2.GetList());
+  handler()->HandleGetAllNodes(args2.GetListDeprecated());
   // This  breaks the weak ref the callback is hanging onto. Which results in
   // the call count not incrementing.
   handler()->DisallowJavascript();
@@ -266,7 +266,7 @@
 
   base::Value args3(base::Value::Type::LIST);
   args3.Append("getAllNodes_2");
-  handler()->HandleGetAllNodes(args3.GetList());
+  handler()->HandleGetAllNodes(args3.GetListDeprecated());
   test_sync_service()->get_all_nodes_callback().Run(
       std::make_unique<base::ListValue>());
   EXPECT_EQ(2, CallCountWithName("cr.webUIResponse"));
@@ -296,7 +296,7 @@
   base::Value args(base::Value::Type::LIST);
   args.Append("1000000000000000000");
   args.Append("-1");
-  handler()->HandleWriteUserEvent(args.GetList());
+  handler()->HandleWriteUserEvent(args.GetListDeprecated());
 
   ASSERT_EQ(1u, fake_user_event_service()->GetRecordedUserEvents().size());
   const UserEventSpecifics& event =
@@ -310,7 +310,7 @@
   base::Value args(base::Value::Type::LIST);
   args.Append("123abc");
   args.Append("abcdefghijklmnopqrstuvwxyz");
-  handler()->HandleWriteUserEvent(args.GetList());
+  handler()->HandleWriteUserEvent(args.GetListDeprecated());
 
   ASSERT_EQ(1u, fake_user_event_service()->GetRecordedUserEvents().size());
   const UserEventSpecifics& event =
@@ -324,7 +324,7 @@
   base::Value args(base::Value::Type::LIST);
   args.Append("");
   args.Append("");
-  handler()->HandleWriteUserEvent(args.GetList());
+  handler()->HandleWriteUserEvent(args.GetListDeprecated());
 
   ASSERT_EQ(1u, fake_user_event_service()->GetRecordedUserEvents().size());
   const UserEventSpecifics& event =
@@ -341,7 +341,7 @@
   base::Value args(base::Value::Type::LIST);
   args.Append("0");
   args.Append("0");
-  handler()->HandleWriteUserEvent(args.GetList());
+  handler()->HandleWriteUserEvent(args.GetListDeprecated());
 
   ASSERT_EQ(1u, fake_user_event_service()->GetRecordedUserEvents().size());
   const UserEventSpecifics& event =
diff --git a/chrome/browser/web_applications/adjustments/BUILD.gn b/chrome/browser/web_applications/adjustments/BUILD.gn
index b0d9cc5..2458c3c 100644
--- a/chrome/browser/web_applications/adjustments/BUILD.gn
+++ b/chrome/browser/web_applications/adjustments/BUILD.gn
@@ -8,8 +8,6 @@
   sources = [
     "link_capturing_pref_migration.cc",
     "link_capturing_pref_migration.h",
-    "preinstalled_web_app_duplication_fixer.cc",
-    "preinstalled_web_app_duplication_fixer.h",
     "web_app_adjustments.cc",
     "web_app_adjustments.h",
   ]
@@ -30,19 +28,13 @@
   testonly = true
 
   sources = []
-
   if (is_chromeos_ash) {
     sources += [ "link_capturing_pref_migration_browsertest.cc" ]
   }
 
-  if (!is_chromeos_lacros) {
-    sources += [ "preinstalled_web_app_duplication_fixer_browsertest.cc" ]
-  }
-
   defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
 
   deps = [
-    ":adjustments",
     "//chrome/browser/web_applications",
     "//chrome/browser/web_applications:web_applications_test_support_minimal",
     "//chrome/test:test_support",
diff --git a/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.cc b/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.cc
deleted file mode 100644
index 0fdd337..0000000
--- a/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.cc
+++ /dev/null
@@ -1,104 +0,0 @@
-// 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 "chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.h"
-
-#include "base/metrics/histogram_functions.h"
-#include "base/task/post_task.h"
-#include "chrome/browser/apps/app_service/app_service_proxy.h"
-#include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/web_applications/externally_installed_web_app_prefs.h"
-#include "chrome/browser/web_applications/preinstalled_app_install_features.h"
-#include "chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.h"
-#include "chrome/browser/web_applications/web_app.h"
-#include "chrome/browser/web_applications/web_app_provider.h"
-#include "chrome/browser/web_applications/web_app_registrar.h"
-#include "components/services/app_service/public/cpp/types_util.h"
-
-namespace web_app {
-
-namespace {
-bool g_skip_startup_for_testing = false;
-}
-
-const char
-    PreinstalledWebAppDuplicationFixer::kHistogramAppDuplicationFixApplied[] =
-        "WebApp.Preinstalled.AppDuplicationFixApplied";
-
-void PreinstalledWebAppDuplicationFixer::SkipStartupForTesting() {
-  g_skip_startup_for_testing = true;
-}
-
-PreinstalledWebAppDuplicationFixer::PreinstalledWebAppDuplicationFixer(
-    Profile& profile)
-    : profile_(profile) {
-  if (g_skip_startup_for_testing)
-    return;
-  // WebAppAdjustmentsFactory guarantees that AppServiceProxy exists.
-  apps::AppRegistryCache& app_registry_cache =
-      apps::AppServiceProxyFactory::GetForProfile(&profile_)
-          ->AppRegistryCache();
-  if (app_registry_cache.IsAppTypeInitialized(
-          apps::mojom::AppType::kChromeApp)) {
-    ScanForDuplication();
-  } else {
-    // Await OnAppTypeInitialized().
-    scoped_observation_.Observe(&app_registry_cache);
-  }
-}
-
-PreinstalledWebAppDuplicationFixer::~PreinstalledWebAppDuplicationFixer() =
-    default;
-
-void PreinstalledWebAppDuplicationFixer::OnAppUpdate(
-    const apps::AppUpdate& update) {}
-
-void PreinstalledWebAppDuplicationFixer::OnAppTypeInitialized(
-    apps::mojom::AppType app_type) {
-  if (app_type != apps::mojom::AppType::kChromeApp)
-    return;
-
-  ScanForDuplication();
-  scoped_observation_.Reset();
-}
-
-void PreinstalledWebAppDuplicationFixer::OnAppRegistryCacheWillBeDestroyed(
-    apps::AppRegistryCache* cache) {
-  scoped_observation_.Reset();
-}
-
-void PreinstalledWebAppDuplicationFixer::ScanForDuplicationForTesting() {
-  ScanForDuplication();
-}
-
-void PreinstalledWebAppDuplicationFixer::ScanForDuplication() {
-  std::vector<PreinstalledWebAppMigration> migrations =
-      GetPreinstalledWebAppMigrations(profile_);
-  size_t fix_count = 0;
-  apps::AppServiceProxyFactory::GetForProfile(&profile_)
-      ->AppRegistryCache()
-      .ForEachApp(
-          [this, &migrations, &fix_count](const apps::AppUpdate& update) {
-            if (update.AppType() != apps::mojom::AppType::kChromeApp)
-              return;
-
-            if (update.Readiness() != apps::mojom::Readiness::kReady)
-              return;
-
-            for (const PreinstalledWebAppMigration& migration : migrations) {
-              if (update.AppId() != migration.old_chrome_app_id)
-                continue;
-              // Remove evidence of web app installation causing
-              // PreinstalledWebAppManager::Synchronize() to reinstall the web
-              // app and re-trigger migration.
-              fix_count += ExternallyInstalledWebAppPrefs(profile_.GetPrefs())
-                               .Remove(migration.install_url);
-            }
-          });
-
-  base::UmaHistogramCounts100(kHistogramAppDuplicationFixApplied, fix_count);
-}
-
-}  // namespace web_app
diff --git a/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.h b/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.h
deleted file mode 100644
index 740b579..0000000
--- a/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// 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 CHROME_BROWSER_WEB_APPLICATIONS_ADJUSTMENTS_PREINSTALLED_WEB_APP_DUPLICATION_FIXER_H_
-#define CHROME_BROWSER_WEB_APPLICATIONS_ADJUSTMENTS_PREINSTALLED_WEB_APP_DUPLICATION_FIXER_H_
-
-#include "base/memory/weak_ptr.h"
-#include "base/scoped_observation.h"
-#include "components/services/app_service/public/cpp/app_registry_cache.h"
-
-class Profile;
-
-namespace apps {
-class AppUpdate;
-namespace mojom {
-enum class AppType;
-}
-}  // namespace apps
-
-namespace web_app {
-
-class PreinstalledWebAppDuplicationFixer
-    : public apps::AppRegistryCache::Observer {
- public:
-  static const char kHistogramAppDuplicationFixApplied[];
-  static void SkipStartupForTesting();
-
-  explicit PreinstalledWebAppDuplicationFixer(Profile& profile);
-  ~PreinstalledWebAppDuplicationFixer() override;
-
-  // apps::AppRegistryCache::Observer:
-  void OnAppUpdate(const apps::AppUpdate& update) override;
-  void OnAppTypeInitialized(apps::mojom::AppType app_type) override;
-  void OnAppRegistryCacheWillBeDestroyed(
-      apps::AppRegistryCache* cache) override;
-
-  void ScanForDuplicationForTesting();
-
- private:
-  void ObserveAppRegistryCache();
-
-  void ScanForDuplication();
-
-  Profile& profile_;
-
-  base::ScopedObservation<apps::AppRegistryCache,
-                          apps::AppRegistryCache::Observer>
-      scoped_observation_{this};
-};
-
-}  // namespace web_app
-
-#endif  // CHROME_BROWSER_WEB_APPLICATIONS_ADJUSTMENTS_PREINSTALLED_WEB_APP_DUPLICATION_FIXER_H_
diff --git a/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer_browsertest.cc b/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer_browsertest.cc
deleted file mode 100644
index c15aa49..0000000
--- a/chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer_browsertest.cc
+++ /dev/null
@@ -1,310 +0,0 @@
-// 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 "chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.h"
-
-#include "base/strings/string_piece.h"
-#include "base/test/bind.h"
-#include "base/test/metrics/histogram_tester.h"
-#include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/web_applications/adjustments/web_app_adjustments.h"
-#include "chrome/browser/web_applications/externally_installed_web_app_prefs.h"
-#include "chrome/browser/web_applications/os_integration_manager.h"
-#include "chrome/browser/web_applications/preinstalled_web_app_manager.h"
-#include "chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.h"
-#include "chrome/browser/web_applications/test/web_app_install_test_utils.h"
-#include "chrome/browser/web_applications/web_app.h"
-#include "chrome/browser/web_applications/web_app_helpers.h"
-#include "chrome/browser/web_applications/web_app_provider.h"
-#include "chrome/common/chrome_features.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "content/public/test/browser_test.h"
-#include "extensions/browser/test_extension_registry_observer.h"
-#include "url/gurl.h"
-
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-// #include "ash/public/cpp/shelf_model.h"
-#include "chrome/browser/ui/app_list/app_list_syncable_service.h"
-#include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h"
-#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
-
-namespace web_app {
-
-class PreinstalledWebAppDuplicationFixerBrowserTest
-    : public extensions::ExtensionBrowserTest {
- public:
-  static GURL install_url() {
-    return GURL("https://www.example.com/install_url");
-  }
-  static GURL start_url() { return GURL("https://www.example.com/start_url"); }
-  static AppId web_app_id() {
-    return GenerateAppId(absl::nullopt, start_url());
-  }
-  static extensions::ExtensionId chrome_app_id() {
-    return "kbmnembihfiondgfjekmnmcbddelicoi";
-  }
-
-  PreinstalledWebAppDuplicationFixerBrowserTest() {
-    PreinstalledWebAppManager::SkipStartupForTesting();
-    PreinstalledWebAppDuplicationFixer::SkipStartupForTesting();
-  }
-  ~PreinstalledWebAppDuplicationFixerBrowserTest() override = default;
-
-  // InProcessBrowserTest:
-  void SetUpOnMainThread() override {
-    extensions::ExtensionBrowserTest::SetUpOnMainThread();
-
-    provider_ = WebAppProvider::GetForTest(browser()->profile());
-    InProcessBrowserTest::SetUpOnMainThread();
-    web_app::test::WaitUntilReady(provider_);
-
-    ExternalInstallOptions options(install_url(), DisplayMode::kStandalone,
-                                   ExternalInstallSource::kExternalDefault);
-    options.user_type_allowlist = {"unmanaged"};
-    options.uninstall_and_replace = {chrome_app_id()};
-    options.only_use_app_info_factory = true;
-    options.app_info_factory = base::BindRepeating(
-        [](GURL start_url) {
-          auto info = std::make_unique<WebAppInstallInfo>();
-          info->title = u"Test app";
-          info->start_url = start_url;
-          return info;
-        },
-        start_url());
-    options.expected_app_id = web_app_id();
-    preinstalled_app_data_.apps = {options};
-  }
-
-  void SyncPreinstalledWebApps() {
-    base::RunLoop run_loop;
-    provider_->preinstalled_web_app_manager().LoadAndSynchronizeForTesting(
-        base::BindLambdaForTesting(
-            [&](std::map<GURL, ExternallyManagedAppManager::InstallResult>
-                    install_results,
-                std::map<GURL, bool> uninstall_results) { run_loop.Quit(); }));
-    run_loop.Run();
-  }
-
-  void SyncPreinstalledWebAppsAwaitChromeAppUninstall() {
-    extensions::TestExtensionRegistryObserver uninstall_observer(
-        extensions::ExtensionRegistry::Get(profile()));
-    SyncPreinstalledWebApps();
-    ASSERT_EQ(uninstall_observer.WaitForExtensionUninstalled()->id(),
-              chrome_app_id());
-  }
-
-  bool IsWebAppInstalled() const {
-    return provider_->registrar().IsInstalled(web_app_id());
-  }
-
-  bool IsWebAppExternalInstallPrefSet() {
-    return ExternallyInstalledWebAppPrefs(profile()->GetPrefs())
-               .LookupAppId(install_url()) == web_app_id();
-  }
-
-  bool IsWebAppInSync() const {
-    return provider_->registrar()
-        .GetAppById(web_app_id())
-        ->GetSources()
-        .test(Source::kSync);
-  }
-
-  void UninstallWebApp() { test::UninstallWebApp(profile(), web_app_id()); }
-
-  void RunAppDuplicationFix() {
-    WebAppAdjustments::Get(profile())
-        ->preinstalled_web_app_duplication_fixer()
-        ->ScanForDuplicationForTesting();
-  }
-
-  std::vector<base::Bucket> GetFixCountMetrics() {
-    return histogram_tester_.GetAllSamples(
-        PreinstalledWebAppDuplicationFixer::kHistogramAppDuplicationFixApplied);
-  }
-
-  void InstallChromeApp() {
-    const extensions::Extension* extension =
-        InstallExtension(test_data_dir_.AppendASCII("hosted_app.crx"), 1);
-    ASSERT_EQ(extension->id(), chrome_app_id());
-  }
-
-  bool IsChromeAppInstalled() {
-    return extensions::ExtensionRegistry::Get(profile())
-        ->enabled_extensions()
-        .Contains(chrome_app_id());
-  }
-
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-  void PinApp(const std::string& app_id) {
-    auto* service =
-        app_list::AppListSyncableServiceFactory::GetForProfile(profile());
-    service->SetPinPosition(app_id, service->GetLastPosition());
-  }
-
-  bool IsAppPinned(const std::string& app_id) {
-    return app_list::AppListSyncableServiceFactory::GetForProfile(profile())
-        ->GetPinPosition(app_id)
-        .IsValid();
-  }
-#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
-
- protected:
-  WebAppProvider* provider_;
-  base::test::ScopedFeatureList feature_list_{
-      features::kPreinstalledWebAppDuplicationFixer};
-  ScopedTestingPreinstalledAppData preinstalled_app_data_;
-  base::HistogramTester histogram_tester_;
-  OsIntegrationManager::ScopedSuppressForTesting os_hooks_supress_;
-};
-
-IN_PROC_BROWSER_TEST_F(PreinstalledWebAppDuplicationFixerBrowserTest,
-                       FixDuplicateChromeApp) {
-  SyncPreinstalledWebApps();
-  EXPECT_TRUE(IsWebAppInstalled());
-  EXPECT_FALSE(IsChromeAppInstalled());
-  EXPECT_TRUE(IsWebAppExternalInstallPrefSet());
-
-  // Running the fix while the Chrome app is not installed should do nothing.
-  {
-    RunAppDuplicationFix();
-    EXPECT_TRUE(IsWebAppInstalled());
-    EXPECT_FALSE(IsChromeAppInstalled());
-    EXPECT_EQ(GetFixCountMetrics(), (std::vector<base::Bucket>{{0, 1}}));
-    EXPECT_TRUE(IsWebAppExternalInstallPrefSet());
-  }
-
-  InstallChromeApp();
-  EXPECT_TRUE(IsChromeAppInstalled());
-
-  // Resyncing preinstalled web app configs again will not re-migrate the web
-  // app despite the Chrome app being installed.
-  {
-    SyncPreinstalledWebApps();
-    EXPECT_TRUE(IsWebAppInstalled());
-    EXPECT_TRUE(IsChromeAppInstalled());
-  }
-
-  // Running the fix causes the Chrome app to get migrated on the next
-  // preinstalled web app sync.
-  {
-    RunAppDuplicationFix();
-    EXPECT_TRUE(IsWebAppInstalled());
-    EXPECT_TRUE(IsChromeAppInstalled());
-    EXPECT_EQ(GetFixCountMetrics(),
-              (std::vector<base::Bucket>{{0, 1}, {1, 1}}));
-    EXPECT_FALSE(IsWebAppExternalInstallPrefSet());
-
-    SyncPreinstalledWebAppsAwaitChromeAppUninstall();
-    EXPECT_TRUE(IsWebAppInstalled());
-    EXPECT_FALSE(IsChromeAppInstalled());
-  }
-}
-
-IN_PROC_BROWSER_TEST_F(PreinstalledWebAppDuplicationFixerBrowserTest,
-                       RemigrateUninstalledWebApp) {
-  SyncPreinstalledWebApps();
-  InstallChromeApp();
-  EXPECT_TRUE(IsWebAppInstalled());
-  EXPECT_TRUE(IsChromeAppInstalled());
-  EXPECT_TRUE(IsWebAppExternalInstallPrefSet());
-
-  UninstallWebApp();
-  EXPECT_FALSE(IsWebAppInstalled());
-  EXPECT_TRUE(IsChromeAppInstalled());
-  EXPECT_TRUE(IsWebAppExternalInstallPrefSet());
-
-  RunAppDuplicationFix();
-  EXPECT_FALSE(IsWebAppInstalled());
-  EXPECT_TRUE(IsChromeAppInstalled());
-  EXPECT_EQ(GetFixCountMetrics(), (std::vector<base::Bucket>{{1, 1}}));
-  EXPECT_FALSE(IsWebAppExternalInstallPrefSet());
-
-  // Running the preinstalled web app sync should remigrate the old Chrome app
-  // even if the user had uninstalled the web app.
-  {
-    SyncPreinstalledWebAppsAwaitChromeAppUninstall();
-    EXPECT_TRUE(IsWebAppInstalled());
-    EXPECT_FALSE(IsChromeAppInstalled());
-  }
-}
-
-IN_PROC_BROWSER_TEST_F(PreinstalledWebAppDuplicationFixerBrowserTest,
-                       RunFixOnSyncInstalledWebApp) {
-  SyncPreinstalledWebApps();
-  InstallChromeApp();
-  EXPECT_TRUE(IsWebAppInstalled());
-  EXPECT_TRUE(IsChromeAppInstalled());
-  EXPECT_TRUE(IsWebAppExternalInstallPrefSet());
-
-  // Simulate a user install of the same web app to put it in sync.
-  {
-    auto info = std::make_unique<WebAppInstallInfo>();
-    info->start_url = start_url();
-    AppId app_id = test::InstallWebApp(profile(), std::move(info));
-    ASSERT_EQ(app_id, web_app_id());
-    ASSERT_TRUE(IsWebAppInSync());
-  }
-
-  // The duplication fix should have no effect on the sync install status of the
-  // web app.
-  {
-    RunAppDuplicationFix();
-    ASSERT_TRUE(IsWebAppInSync());
-  }
-}
-
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-IN_PROC_BROWSER_TEST_F(PreinstalledWebAppDuplicationFixerBrowserTest,
-                       WebAppPinnedChromeAppUnpinned) {
-  SyncPreinstalledWebApps();
-  InstallChromeApp();
-
-  PinApp(web_app_id());
-  EXPECT_TRUE(IsAppPinned(web_app_id()));
-  EXPECT_FALSE(IsAppPinned(chrome_app_id()));
-
-  RunAppDuplicationFix();
-  SyncPreinstalledWebAppsAwaitChromeAppUninstall();
-
-  // If the web app already exists and is pinned it should not take on the
-  // Chrome app's unpinned UI position.
-  EXPECT_TRUE(IsAppPinned(web_app_id()));
-}
-
-IN_PROC_BROWSER_TEST_F(PreinstalledWebAppDuplicationFixerBrowserTest,
-                       WebAppUnpinnedChromeAppPinned) {
-  SyncPreinstalledWebApps();
-  InstallChromeApp();
-
-  PinApp(chrome_app_id());
-  EXPECT_FALSE(IsAppPinned(web_app_id()));
-  EXPECT_TRUE(IsAppPinned(chrome_app_id()));
-
-  RunAppDuplicationFix();
-  SyncPreinstalledWebAppsAwaitChromeAppUninstall();
-
-  // If the web app already exists and is not pinned it should take on the
-  // Chrome app's pinned UI position.
-  EXPECT_TRUE(IsAppPinned(web_app_id()));
-}
-
-IN_PROC_BROWSER_TEST_F(PreinstalledWebAppDuplicationFixerBrowserTest,
-                       BothUnpinned) {
-  SyncPreinstalledWebApps();
-  InstallChromeApp();
-
-  EXPECT_FALSE(IsAppPinned(web_app_id()));
-  EXPECT_FALSE(IsAppPinned(chrome_app_id()));
-
-  RunAppDuplicationFix();
-  SyncPreinstalledWebAppsAwaitChromeAppUninstall();
-
-  // If neither app was pinned the web app should remain unpinned.
-  EXPECT_FALSE(IsAppPinned(web_app_id()));
-}
-#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
-
-}  // namespace web_app
diff --git a/chrome/browser/web_applications/adjustments/web_app_adjustments.cc b/chrome/browser/web_applications/adjustments/web_app_adjustments.cc
index 6c91dc9..aeea093b 100644
--- a/chrome/browser/web_applications/adjustments/web_app_adjustments.cc
+++ b/chrome/browser/web_applications/adjustments/web_app_adjustments.cc
@@ -10,7 +10,6 @@
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_provider_factory.h"
 #include "chrome/browser/web_applications/web_app_utils.h"
-#include "chrome/common/chrome_features.h"
 #include "components/keyed_service/content/browser_context_dependency_manager.h"
 
 namespace web_app {
@@ -19,23 +18,11 @@
 // WebAppAdjustments implementation
 // --------------------------------
 
-WebAppAdjustments* WebAppAdjustments::Get(Profile* profile) {
-  return static_cast<WebAppAdjustments*>(
-      WebAppAdjustmentsFactory::GetInstance()->GetServiceForBrowserContext(
-          profile, /*create=*/false));
-}
-
 WebAppAdjustments::WebAppAdjustments(Profile* profile) {
 #if BUILDFLAG(IS_CHROMEOS)
   link_capturing_pref_migration_ =
       std::make_unique<web_app::LinkCapturingPrefMigration>(*profile);
 #endif  // BUILDFLAG(IS_CHROMEOS)
-
-  if (base::FeatureList::IsEnabled(
-          features::kPreinstalledWebAppDuplicationFixer)) {
-    preinstalled_web_app_duplication_fixer_ =
-        std::make_unique<PreinstalledWebAppDuplicationFixer>(*profile);
-  }
 }
 
 WebAppAdjustments::~WebAppAdjustments() = default;
diff --git a/chrome/browser/web_applications/adjustments/web_app_adjustments.h b/chrome/browser/web_applications/adjustments/web_app_adjustments.h
index 8864843f..491e393 100644
--- a/chrome/browser/web_applications/adjustments/web_app_adjustments.h
+++ b/chrome/browser/web_applications/adjustments/web_app_adjustments.h
@@ -8,7 +8,6 @@
 #include <memory>
 
 #include "chrome/browser/web_applications/adjustments/link_capturing_pref_migration.h"
-#include "chrome/browser/web_applications/adjustments/preinstalled_web_app_duplication_fixer.h"
 #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
 #include "components/keyed_service/core/keyed_service.h"
 
@@ -25,22 +24,12 @@
 // Everything in here should have a removal date.
 class WebAppAdjustments : public KeyedService {
  public:
-  static WebAppAdjustments* Get(Profile* profile);
-
   explicit WebAppAdjustments(Profile* profile);
   ~WebAppAdjustments() override;
 
-  PreinstalledWebAppDuplicationFixer* preinstalled_web_app_duplication_fixer() {
-    return preinstalled_web_app_duplication_fixer_.get();
-  }
-
  private:
   // TODO(crbug.com/1262906): This was added in M97, remove in M107.
   std::unique_ptr<LinkCapturingPrefMigration> link_capturing_pref_migration_;
-
-  // TODO(crbug.com/1290716): This was added in M100, remove in M120.
-  std::unique_ptr<PreinstalledWebAppDuplicationFixer>
-      preinstalled_web_app_duplication_fixer_;
 };
 
 class WebAppAdjustmentsFactory : public BrowserContextKeyedServiceFactory {
@@ -51,8 +40,6 @@
   static WebAppAdjustmentsFactory* GetInstance();
 
  private:
-  friend class WebAppAdjustments;
-
   // BrowserContextKeyedServiceFactory:
   KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* context) const override;
diff --git a/chrome/browser/web_applications/externally_installed_web_app_prefs.cc b/chrome/browser/web_applications/externally_installed_web_app_prefs.cc
index 41080349..af7c04a 100644
--- a/chrome/browser/web_applications/externally_installed_web_app_prefs.cc
+++ b/chrome/browser/web_applications/externally_installed_web_app_prefs.cc
@@ -168,11 +168,6 @@
   update->SetKey(url.spec(), std::move(dict));
 }
 
-bool ExternallyInstalledWebAppPrefs::Remove(const GURL& url) {
-  DictionaryPrefUpdate update(pref_service_, prefs::kWebAppsExtensionIDs);
-  return update->RemoveKey(url.spec());
-}
-
 absl::optional<AppId> ExternallyInstalledWebAppPrefs::LookupAppId(
     const GURL& url) const {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
diff --git a/chrome/browser/web_applications/externally_installed_web_app_prefs.h b/chrome/browser/web_applications/externally_installed_web_app_prefs.h
index 8142a93..a870780 100644
--- a/chrome/browser/web_applications/externally_installed_web_app_prefs.h
+++ b/chrome/browser/web_applications/externally_installed_web_app_prefs.h
@@ -56,7 +56,6 @@
   void Insert(const GURL& url,
               const AppId& app_id,
               ExternalInstallSource install_source);
-  bool Remove(const GURL& url);
   absl::optional<AppId> LookupAppId(const GURL& url) const;
   bool HasNoApps() const;
 
diff --git a/chrome/browser/web_applications/manifest_update_task.cc b/chrome/browser/web_applications/manifest_update_task.cc
index e8d41830..8829472 100644
--- a/chrome/browser/web_applications/manifest_update_task.cc
+++ b/chrome/browser/web_applications/manifest_update_task.cc
@@ -404,6 +404,9 @@
   if (web_application_info_->launch_handler != app->launch_handler())
     return true;
 
+  if (web_application_info_->permissions_policy != app->permissions_policy())
+    return true;
+
   // TODO(crbug.com/1212849): Handle changes to is_storage_isolated.
 
   // TODO(crbug.com/926083): Check more manifest fields.
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc
index 7b99a8c2..0a3b3872 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc
@@ -9,7 +9,6 @@
 #include "build/branding_buildflags.h"
 #include "build/build_config.h"
 #include "build/buildflag.h"
-#include "chrome/browser/web_applications/preinstalled_app_install_features.h"
 #include "chrome/browser/web_applications/web_app_constants.h"
 #include "chrome/common/chrome_switches.h"
 
@@ -97,72 +96,76 @@
     PreinstalledWebAppMigration&&) = default;
 PreinstalledWebAppMigration::~PreinstalledWebAppMigration() = default;
 
-std::vector<PreinstalledWebAppMigration> GetPreinstalledWebAppMigrations(
-    Profile& profile) {
-  std::vector<PreinstalledWebAppMigration> migrations;
-  for (const ExternalInstallOptions& options : GetPreinstalledWebApps()) {
-    if (!options.expected_app_id)
-      continue;
+const std::vector<PreinstalledWebAppMigration>&
+GetPreinstalledWebAppMigrations() {
+  static base::NoDestructor<std::vector<PreinstalledWebAppMigration>>
+      preinstalled_web_app_migrations([] {
+        std::vector<PreinstalledWebAppMigration> migrations;
+        for (const ExternalInstallOptions& options : GetPreinstalledWebApps()) {
+          if (!options.expected_app_id ||
+              options.uninstall_and_replace.size() != 1) {
+            continue;
+          }
 
-    // All entries in the default web app migration had only one Chrome app to
-    // replace.
-    if (options.uninstall_and_replace.size() != 1)
-      continue;
-
-    if (options.gate_on_feature && !IsPreinstalledAppInstallFeatureEnabled(
-                                       *options.gate_on_feature, profile)) {
-      continue;
-    }
-
-    PreinstalledWebAppMigration migration;
-    migration.install_url = options.install_url;
-    migration.expected_web_app_id = *options.expected_app_id;
-    migration.old_chrome_app_id = options.uninstall_and_replace[0];
-    migrations.push_back(std::move(migration));
-  }
+          PreinstalledWebAppMigration migration;
+          migration.install_url = options.install_url;
+          migration.expected_web_app_id = *options.expected_app_id;
+          migration.old_chrome_app_id = options.uninstall_and_replace[0];
+          migration.gate_on_feature = options.gate_on_feature;
+          migrations.push_back(std::move(migration));
+        }
 #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_CHROMEOS)
-  // Manually hard coded entries from
-  // https://chrome-internal.googlesource.com/chromeos/overlays/chromeos-overlay/+/main/chromeos-base/chromeos-default-apps/files/web_apps
-  // for any json configs that include a uninstall_and_replace field.
-  // This is a temporary measure while the default web app duplication
-  // issue is cleaned up.
-  // TODO(crbug.com/1290716): Clean up once no longer needed.
-  if (IsPreinstalledAppInstallFeatureEnabled(
-          kMigrateDefaultChromeAppToWebAppsGSuite.name, profile)) {
-    PreinstalledWebAppMigration keep_migration;
-    keep_migration.install_url =
-        GURL("https://keep.google.com/installwebapp?usp=chrome_default");
-    keep_migration.expected_web_app_id = kGoogleKeepAppId;
-    keep_migration.old_chrome_app_id = extension_misc::kGoogleKeepAppId;
-    migrations.push_back(std::move(keep_migration));
-  }
-
-  if (IsPreinstalledAppInstallFeatureEnabled(
-          kMigrateDefaultChromeAppToWebAppsNonGSuite.name, profile)) {
-    PreinstalledWebAppMigration books_migration;
-    books_migration.install_url =
-        GURL("https://play.google.com/books/installwebapp?usp=chromedefault");
-    books_migration.expected_web_app_id = kPlayBooksAppId;
-    books_migration.old_chrome_app_id = extension_misc::kGooglePlayBooksAppId;
-    migrations.push_back(std::move(books_migration));
-
-    PreinstalledWebAppMigration maps_migration;
-    maps_migration.install_url =
-        GURL("https://www.google.com/maps/preview/pwa/ttinstall.html");
-    maps_migration.expected_web_app_id = kGoogleMapsAppId;
-    maps_migration.old_chrome_app_id = extension_misc::kGoogleMapsAppId;
-    migrations.push_back(std::move(maps_migration));
-
-    PreinstalledWebAppMigration movies_migration;
-    movies_migration.install_url = GURL(
-        "https://play.google.com/store/movies/"
-        "installwebapp?usp=chrome_default");
-    movies_migration.expected_web_app_id = kGoogleMoviesAppId;
-    movies_migration.old_chrome_app_id = extension_misc::kGooglePlayMoviesAppId;
-    migrations.push_back(std::move(movies_migration));
-  }
+        // Manually hard coded entries from
+        // https://chrome-internal.googlesource.com/chromeos/overlays/chromeos-overlay/+/main/chromeos-base/chromeos-default-apps/files/web_apps
+        // for any json configs that include a uninstall_and_replace field.
+        // This is a temporary measure while the default web app duplication
+        // issue is cleaned up.
+        // TODO(crbug.com/1290716): Clean up once no longer needed.
+        {
+          PreinstalledWebAppMigration migration;
+          migration.install_url = GURL(
+              "https://play.google.com/books/installwebapp?usp=chromedefault");
+          migration.expected_web_app_id = kPlayBooksAppId;
+          migration.old_chrome_app_id = extension_misc::kGooglePlayBooksAppId;
+          migration.gate_on_feature =
+              kMigrateDefaultChromeAppToWebAppsNonGSuite.name;
+          migrations.push_back(std::move(migration));
+        }
+        {
+          PreinstalledWebAppMigration migration;
+          migration.install_url =
+              GURL("https://keep.google.com/installwebapp?usp=chrome_default");
+          migration.expected_web_app_id = kGoogleKeepAppId;
+          migration.old_chrome_app_id = extension_misc::kGoogleKeepAppId;
+          migration.gate_on_feature =
+              kMigrateDefaultChromeAppToWebAppsGSuite.name;
+          migrations.push_back(std::move(migration));
+        }
+        {
+          PreinstalledWebAppMigration migration;
+          migration.install_url =
+              GURL("https://www.google.com/maps/preview/pwa/ttinstall.html");
+          migration.expected_web_app_id = kGoogleMapsAppId;
+          migration.old_chrome_app_id = extension_misc::kGoogleMapsAppId;
+          migration.gate_on_feature =
+              kMigrateDefaultChromeAppToWebAppsNonGSuite.name;
+          migrations.push_back(std::move(migration));
+        }
+        {
+          PreinstalledWebAppMigration migration;
+          migration.install_url = GURL(
+              "https://play.google.com/store/movies/"
+              "installwebapp?usp=chrome_default");
+          migration.expected_web_app_id = kGoogleMoviesAppId;
+          migration.old_chrome_app_id = extension_misc::kGooglePlayMoviesAppId;
+          migration.gate_on_feature =
+              kMigrateDefaultChromeAppToWebAppsNonGSuite.name;
+          migrations.push_back(std::move(migration));
+        }
 #endif  // BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_CHROMEOS)
-  return migrations;
+        return migrations;
+      }());
+  return *preinstalled_web_app_migrations;
 }
 
 }  // namespace web_app
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.h b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.h
index 651b41a..fb9ad43 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.h
+++ b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.h
@@ -23,12 +23,13 @@
   GURL install_url;
   AppId expected_web_app_id;
   AppId old_chrome_app_id;
+  absl::optional<std::string> gate_on_feature;
 };
 
 // Returns the list of preinstalled web apps that are migrations away from their
 // corresponding Chrome app.
-std::vector<PreinstalledWebAppMigration> GetPreinstalledWebAppMigrations(
-    Profile& profile);
+const std::vector<PreinstalledWebAppMigration>&
+GetPreinstalledWebAppMigrations();
 
 // A scoped helper to provide a testing set of preinstalled app data. This will
 // replace the default set.
diff --git a/chrome/browser/web_applications/proto/web_app.proto b/chrome/browser/web_applications/proto/web_app.proto
index ba1c521..447bd52a 100644
--- a/chrome/browser/web_applications/proto/web_app.proto
+++ b/chrome/browser/web_applications/proto/web_app.proto
@@ -82,6 +82,13 @@
   repeated int32 icon_sizes_monochrome = 3;
 }
 
+message WebAppPermissionsPolicy {
+  optional string feature = 1;
+  repeated string allowlist = 2;
+  optional bool matches_all_origins = 3;
+  optional bool matches_opaque_src = 4;
+}
+
 // Full WebApp object data. See detailed comments in
 // chrome/browser/web_applications/web_app.h. Note on database identities:
 // app_id is a hash of launch_url. app_id is the client tag for sync system.
@@ -288,4 +295,7 @@
   }
 
   optional HandleLinks handle_links = 48;
+
+  // Contains the permissions policy that should be applied to the web app.
+  repeated WebAppPermissionsPolicy permissions_policy = 49;
 }
diff --git a/chrome/browser/web_applications/test/web_app_test_utils.cc b/chrome/browser/web_applications/test/web_app_test_utils.cc
index 7c9fb370..0e234437 100644
--- a/chrome/browser/web_applications/test/web_app_test_utils.cc
+++ b/chrome/browser/web_applications/test/web_app_test_utils.cc
@@ -14,6 +14,7 @@
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/browser/ui/browser_dialogs.h"
 #include "chrome/browser/web_applications/test/web_app_test_observers.h"
+#include "chrome/browser/web_applications/web_app_constants.h"
 #include "chrome/browser/web_applications/web_app_helpers.h"
 #include "chrome/browser/web_applications/web_app_install_info.h"
 #include "chrome/browser/web_applications/web_app_utils.h"
@@ -23,6 +24,13 @@
 #include "third_party/blink/public/common/manifest/manifest.h"
 #include "url/gurl.h"
 
+namespace {
+
+std::vector<std::string> features = {
+    "default_on_feature", "default_self_feature", "default_disabled_feature"};
+
+}  // namespace
+
 namespace web_app {
 namespace test {
 
@@ -116,6 +124,35 @@
   return share_target;
 }
 
+std::vector<PermissionsPolicyDeclaration> CreateRandomPermissionsPolicy(
+    RandomHelper& random) {
+  const int num_permissions_policy_declarations =
+      random.next_uint(features.size());
+
+  std::vector<std::string> available_features;
+  for (const auto& feature : features)
+    available_features.push_back(feature);
+
+  const auto suffix = random.next_uint();
+  std::default_random_engine rng;
+  std::shuffle(available_features.begin(), available_features.end(), rng);
+
+  std::vector<PermissionsPolicyDeclaration> permissions_policy(
+      num_permissions_policy_declarations);
+  for (int i = 0; i < num_permissions_policy_declarations; ++i) {
+    permissions_policy[i].feature = available_features[i];
+    for (unsigned int j = 0; j < 5; ++j) {
+      std::string suffix_str =
+          base::NumberToString(suffix) + base::NumberToString(j);
+
+      const auto origin =
+          url::Origin::Create(GURL("https://app-" + suffix_str + ".com/"));
+      permissions_policy[i].allowlist.push_back(origin.Serialize());
+    }
+  }
+  return permissions_policy;
+}
+
 std::vector<apps::ProtocolHandlerInfo> CreateRandomProtocolHandlers(
     uint32_t suffix) {
   std::vector<apps::ProtocolHandlerInfo> protocol_handlers;
@@ -432,6 +469,9 @@
 
   app->SetHandleLinks(random.next_enum<blink::mojom::HandleLinks>());
 
+  if (random.next_bool())
+    app->SetPermissionsPolicy(CreateRandomPermissionsPolicy(random));
+
   // `random` should not be used after the chromeos block if the result
   // is expected to be deterministic across cros and non-cros builds.
   if (IsChromeOsDataMandatory()) {
diff --git a/chrome/browser/web_applications/url_handler_prefs.cc b/chrome/browser/web_applications/url_handler_prefs.cc
index c0f3ab7e..51e9476 100644
--- a/chrome/browser/web_applications/url_handler_prefs.cc
+++ b/chrome/browser/web_applications/url_handler_prefs.cc
@@ -105,7 +105,7 @@
   base::Time most_recent_timestamp;
   bool found_match = false;
 
-  for (const auto& include_path_dict : include_paths.GetList()) {
+  for (const auto& include_path_dict : include_paths.GetListDeprecated()) {
     if (!include_path_dict.is_dict())
       continue;
     const std::string* include_path = include_path_dict.FindStringKey(kPath);
@@ -156,7 +156,7 @@
   if (!exclude_paths.is_list())
     return false;
 
-  for (const auto& exclude_path : exclude_paths.GetList()) {
+  for (const auto& exclude_path : exclude_paths.GetListDeprecated()) {
     if (!exclude_path.is_string())
       continue;
     if (PathMatchesPathPattern(url_path, exclude_path.GetString()))
@@ -175,7 +175,7 @@
   if (!all_handlers.is_list())
     return;
 
-  for (const base::Value& handler : all_handlers.GetList()) {
+  for (const base::Value& handler : all_handlers.GetListDeprecated()) {
     absl::optional<const HandlerView> handler_view =
         GetConstHandlerView(handler);
     if (!handler_view)
@@ -188,7 +188,8 @@
       continue;
 
     const std::string& url_path = url.path();
-    bool include_paths_exist = !handler_view->include_paths.GetList().empty();
+    bool include_paths_exist =
+        !handler_view->include_paths.GetListDeprecated().empty();
     UrlHandlerSavedChoice best_choice = UrlHandlerSavedChoice::kNone;
     base::Time latest_timestamp = base::Time::Min();
     if (include_paths_exist && !FindBestMatchingIncludePathChoice(
@@ -197,7 +198,8 @@
       continue;
     }
 
-    bool exclude_paths_exist = !handler_view->exclude_paths.GetList().empty();
+    bool exclude_paths_exist =
+        !handler_view->exclude_paths.GetListDeprecated().empty();
     if (exclude_paths_exist &&
         ExcludePathMatches(url_path, handler_view->exclude_paths)) {
       continue;
@@ -890,7 +892,7 @@
     return false;
 
   for (const auto origin_value : pref_value->DictItems()) {
-    for (const auto& handler : origin_value.second.GetList()) {
+    for (const auto& handler : origin_value.second.GetListDeprecated()) {
       if (IsHandlerForProfile(handler, profile_path))
         return true;
     }
diff --git a/chrome/browser/web_applications/web_app.cc b/chrome/browser/web_applications/web_app.cc
index 9f29a8e..8732733 100644
--- a/chrome/browser/web_applications/web_app.cc
+++ b/chrome/browser/web_applications/web_app.cc
@@ -375,6 +375,11 @@
   parent_app_id_ = parent_app_id;
 }
 
+void WebApp::SetPermissionsPolicy(
+    std::vector<PermissionsPolicyDeclaration> permissions_policy) {
+  permissions_policy_ = std::move(permissions_policy);
+}
+
 WebApp::ClientData::ClientData() = default;
 
 WebApp::ClientData::~ClientData() = default;
@@ -468,7 +473,8 @@
         app.window_controls_overlay_enabled_,
         app.is_storage_isolated_,
         app.launch_handler_,
-        app.parent_app_id_
+        app.parent_app_id_,
+        app.permissions_policy_
         // clang-format on
     );
   };
@@ -624,6 +630,20 @@
   root.SetStringKey("parent_app_id",
                     parent_app_id_ ? *parent_app_id_ : AppId());
 
+  if (!permissions_policy_.empty()) {
+    base::Value& policy_list = *root.SetKey(
+        "permissions_policy", base::Value(base::Value::Type::LIST));
+    for (const auto& decl : permissions_policy_) {
+      base::Value json_decl(base::Value::Type::DICTIONARY);
+      json_decl.SetStringKey("feature", decl.feature);
+      base::Value& allowlist_json =
+          *json_decl.SetKey("allowlist", base::Value(base::Value::Type::LIST));
+      for (const std::string& origin : decl.allowlist)
+        allowlist_json.Append(origin);
+      policy_list.Append(std::move(json_decl));
+    }
+  }
+
   root.SetKey("protocol_handlers", ConvertDebugValueList(protocol_handlers_));
 
   root.SetStringKey("run_on_os_login_mode",
diff --git a/chrome/browser/web_applications/web_app.h b/chrome/browser/web_applications/web_app.h
index aceea413..1a7eb0a 100644
--- a/chrome/browser/web_applications/web_app.h
+++ b/chrome/browser/web_applications/web_app.h
@@ -239,6 +239,10 @@
 
   const absl::optional<AppId>& parent_app_id() const { return parent_app_id_; }
 
+  const std::vector<PermissionsPolicyDeclaration>& permissions_policy() const {
+    return permissions_policy_;
+  }
+
   // A Web App can be installed from multiple sources simultaneously. Installs
   // add a source to the app. Uninstalls remove a source from the app.
   void AddSource(Source::Type source);
@@ -314,6 +318,8 @@
   void SetStorageIsolated(bool is_storage_isolated);
   void SetLaunchHandler(absl::optional<LaunchHandler> launch_handler);
   void SetParentAppId(const absl::optional<AppId>& parent_app_id);
+  void SetPermissionsPolicy(
+      std::vector<PermissionsPolicyDeclaration> permissions_policy);
 
   // For logging and debug purposes.
   bool operator==(const WebApp&) const;
@@ -391,6 +397,7 @@
   bool is_storage_isolated_ = false;
   absl::optional<LaunchHandler> launch_handler_;
   absl::optional<AppId> parent_app_id_;
+  std::vector<PermissionsPolicyDeclaration> permissions_policy_;
   // New fields must be added to:
   //  - |operator==|
   //  - AsDebugValue()
diff --git a/chrome/browser/web_applications/web_app_constants.h b/chrome/browser/web_applications/web_app_constants.h
index 642e296..348a5bd 100644
--- a/chrome/browser/web_applications/web_app_constants.h
+++ b/chrome/browser/web_applications/web_app_constants.h
@@ -301,6 +301,8 @@
 };
 
 using LaunchHandler = blink::Manifest::LaunchHandler;
+using PermissionsPolicyDeclaration =
+    blink::Manifest::PermissionsPolicyDeclaration;
 
 // A result how `WebAppIconDownloader` processed the list of icon urls.
 //
diff --git a/chrome/browser/web_applications/web_app_database.cc b/chrome/browser/web_applications/web_app_database.cc
index cfaaec88..0ea7262 100644
--- a/chrome/browser/web_applications/web_app_database.cc
+++ b/chrome/browser/web_applications/web_app_database.cc
@@ -12,6 +12,7 @@
 #include "base/callback.h"
 #include "base/containers/contains.h"
 #include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/web_applications/proto/web_app.pb.h"
 #include "chrome/browser/web_applications/system_web_apps/system_web_app_manager.h"
 #include "chrome/browser/web_applications/system_web_apps/system_web_app_types.h"
 #include "chrome/browser/web_applications/web_app.h"
@@ -577,6 +578,18 @@
     local_data->set_parent_app_id(*web_app.parent_app_id_);
   }
 
+  if (!web_app.permissions_policy().empty()) {
+    auto& policy = *local_data->mutable_permissions_policy();
+    for (const auto& decl : web_app.permissions_policy()) {
+      WebAppPermissionsPolicy proto_policy;
+      proto_policy.set_feature(decl.feature);
+      for (const auto& origin : decl.allowlist) {
+        proto_policy.add_allowlist(origin);
+      }
+      policy.Add(std::move(proto_policy));
+    }
+  }
+
   return local_data;
 }
 
@@ -1086,6 +1099,19 @@
     web_app->parent_app_id_ = local_data.parent_app_id();
   }
 
+  if (local_data.permissions_policy_size()) {
+    std::vector<PermissionsPolicyDeclaration> policy;
+    for (const auto& decl_proto : local_data.permissions_policy()) {
+      PermissionsPolicyDeclaration decl;
+      decl.feature = decl_proto.feature();
+      for (const std::string& origin : decl_proto.allowlist()) {
+        decl.allowlist.push_back(origin);
+      }
+      policy.push_back(decl);
+    }
+    web_app->SetPermissionsPolicy(policy);
+  }
+
   return web_app;
 }
 
diff --git a/chrome/browser/web_applications/web_app_database_unittest.cc b/chrome/browser/web_applications/web_app_database_unittest.cc
index 325f2fc3..a312189 100644
--- a/chrome/browser/web_applications/web_app_database_unittest.cc
+++ b/chrome/browser/web_applications/web_app_database_unittest.cc
@@ -329,6 +329,7 @@
   EXPECT_TRUE(app->manifest_url().is_empty());
   EXPECT_FALSE(app->manifest_id().has_value());
   EXPECT_FALSE(app->IsStorageIsolated());
+  EXPECT_TRUE(app->permissions_policy().empty());
   controller().RegisterApp(std::move(app));
 
   Registry registry = database_factory().ReadRegistry();
@@ -394,6 +395,7 @@
   EXPECT_TRUE(app_copy->manifest_url().is_empty());
   EXPECT_FALSE(app_copy->manifest_id().has_value());
   EXPECT_FALSE(app_copy->IsStorageIsolated());
+  EXPECT_TRUE(app_copy->permissions_policy().empty());
 }
 
 TEST_F(WebAppDatabaseTest, WebAppWithManyIcons) {
diff --git a/chrome/browser/web_applications/web_app_install_info.h b/chrome/browser/web_applications/web_app_install_info.h
index 8e02447..513b81e 100644
--- a/chrome/browser/web_applications/web_app_install_info.h
+++ b/chrome/browser/web_applications/web_app_install_info.h
@@ -306,6 +306,10 @@
 
   // A mapping from locales to translated fields.
   base::flat_map<std::u16string, blink::Manifest::TranslationItem> translations;
+
+  // The declared permissions policy to apply as the baseline policy for all
+  // documents belonging to the application.
+  std::vector<blink::Manifest::PermissionsPolicyDeclaration> permissions_policy;
 };
 
 bool operator==(const IconSizes& icon_sizes1, const IconSizes& icon_sizes2);
diff --git a/chrome/browser/web_applications/web_app_install_task.cc b/chrome/browser/web_applications/web_app_install_task.cc
index cef6b8f4..928813b4 100644
--- a/chrome/browser/web_applications/web_app_install_task.cc
+++ b/chrome/browser/web_applications/web_app_install_task.cc
@@ -1081,13 +1081,13 @@
     }
 
     if (icons_downloaded_result != IconsDownloadedResult::kCompleted ||
-        !icons_http_errors.GetList().empty()) {
+        !icons_http_errors.GetListDeprecated().empty()) {
       icon_errors.SetStringKey(
           "icons_downloaded_result",
           IconsDownloadedResultToString(icons_downloaded_result));
     }
 
-    if (!icons_http_errors.GetList().empty())
+    if (!icons_http_errors.GetListDeprecated().empty())
       icon_errors.SetKey("icons_http_results", std::move(icons_http_errors));
   }
 
diff --git a/chrome/browser/web_applications/web_app_install_utils.cc b/chrome/browser/web_applications/web_app_install_utils.cc
index e294197..726ab9d 100644
--- a/chrome/browser/web_applications/web_app_install_utils.cc
+++ b/chrome/browser/web_applications/web_app_install_utils.cc
@@ -489,6 +489,15 @@
   }
 
   web_app_info->translations = manifest.translations;
+
+  web_app_info->permissions_policy.clear();
+  for (const auto& decl : manifest.permissions_policy) {
+    PermissionsPolicyDeclaration copy;
+    copy.feature = decl->feature;
+    for (const auto& origin : decl->allowlist)
+      copy.allowlist.push_back(origin);
+    web_app_info->permissions_policy.push_back(std::move(copy));
+  }
 }
 
 std::vector<GURL> GetValidIconUrlsToDownload(
diff --git a/chrome/browser/web_applications/web_app_install_utils_unittest.cc b/chrome/browser/web_applications/web_app_install_utils_unittest.cc
index f733df4..3b230f2 100644
--- a/chrome/browser/web_applications/web_app_install_utils_unittest.cc
+++ b/chrome/browser/web_applications/web_app_install_utils_unittest.cc
@@ -117,6 +117,14 @@
   }
 
   {
+    auto declaration =
+        blink::mojom::ManifestPermissionsPolicyDeclaration::New();
+    declaration->feature = "bluetooth";
+    declaration->allowlist = {"*"};
+    manifest.permissions_policy.push_back(std::move(declaration));
+  }
+
+  {
     // Ensure an empty NoteTaking struct is ignored.
     manifest.note_taking = blink::mojom::ManifestNoteTaking::New();
   }
@@ -204,6 +212,13 @@
   EXPECT_FALSE(url_handler.has_origin_wildcard);
   EXPECT_EQ(GURL("http://example.com/new-note-url"),
             web_app_info.note_taking_new_note_url);
+
+  // Check permissions policy was updated.
+  EXPECT_EQ(1u, web_app_info.permissions_policy.size());
+  auto declaration = web_app_info.permissions_policy[0];
+  EXPECT_EQ(declaration.feature, "bluetooth");
+  EXPECT_EQ(1u, declaration.allowlist.size());
+  EXPECT_EQ("*", declaration.allowlist[0]);
 }
 
 TEST(WebAppInstallUtils, UpdateWebAppInfoFromManifest_EmptyName) {
diff --git a/chrome/browser/web_applications/web_app_installation_utils.cc b/chrome/browser/web_applications/web_app_installation_utils.cc
index 0256e71b..f401792 100644
--- a/chrome/browser/web_applications/web_app_installation_utils.cc
+++ b/chrome/browser/web_applications/web_app_installation_utils.cc
@@ -114,6 +114,7 @@
   web_app.SetIsGeneratedIcon(web_app_info.is_generated_icon);
 
   web_app.SetStorageIsolated(web_app_info.is_storage_isolated);
+  web_app.SetPermissionsPolicy(web_app_info.permissions_policy);
 
   web_app.SetShortcutsMenuItemInfos(web_app_info.shortcuts_menu_item_infos);
   web_app.SetDownloadedShortcutsMenuIconsSizes(
diff --git a/chrome/browser/web_applications/web_app_registrar.cc b/chrome/browser/web_applications/web_app_registrar.cc
index 340be63..c113aa0 100644
--- a/chrome/browser/web_applications/web_app_registrar.cc
+++ b/chrome/browser/web_applications/web_app_registrar.cc
@@ -59,6 +59,13 @@
       GenerateAppId(/*manifest_id=*/absl::nullopt, start_url));
 }
 
+std::vector<PermissionsPolicyDeclaration> WebAppRegistrar::GetPermissionsPolicy(
+    const AppId& app_id) const {
+  auto* web_app = GetAppById(app_id);
+  return web_app ? web_app->permissions_policy()
+                 : std::vector<PermissionsPolicyDeclaration>();
+}
+
 bool WebAppRegistrar::IsPlaceholderApp(const AppId& app_id) const {
   return ExternallyInstalledWebAppPrefs(profile_->GetPrefs())
       .IsPlaceholderApp(app_id);
diff --git a/chrome/browser/web_applications/web_app_registrar.h b/chrome/browser/web_applications/web_app_registrar.h
index 098710f7..b604dae96 100644
--- a/chrome/browser/web_applications/web_app_registrar.h
+++ b/chrome/browser/web_applications/web_app_registrar.h
@@ -14,6 +14,7 @@
 #include "base/check_op.h"
 #include "base/memory/raw_ptr.h"
 #include "chrome/browser/profiles/profile_manager_observer.h"
+#include "chrome/browser/web_applications/web_app.h"
 #include "chrome/browser/web_applications/web_app_constants.h"
 #include "chrome/browser/web_applications/web_app_id.h"
 #include "chrome/browser/web_applications/web_app_install_info.h"
@@ -72,6 +73,13 @@
   // apps. On Chrome OS all apps are always locally installed.
   bool IsLocallyInstalled(const AppId& app_id) const;
 
+  // Returns the permissions policy declared as declared in the manifest for
+  // the app with |app_id|. This permissions policy is not yet parsed by the
+  // PermissionsPolicyParser, and thus may contain invalid permissions and/or
+  // origin allowlists.
+  std::vector<PermissionsPolicyDeclaration> GetPermissionsPolicy(
+      const AppId& app_id) const;
+
   // Returns true if the app was preinstalled and NOT installed via any other
   // mechanism.
   bool WasInstalledByDefaultOnly(const AppId& app_id) const;
diff --git a/chrome/browser/webid/federated_identity_active_session_permission_context.cc b/chrome/browser/webid/federated_identity_active_session_permission_context.cc
index 62c9fb8..cb14d3c 100644
--- a/chrome/browser/webid/federated_identity_active_session_permission_context.cc
+++ b/chrome/browser/webid/federated_identity_active_session_permission_context.cc
@@ -44,7 +44,7 @@
     return false;
 
   auto& account_ids = *object->value.FindListKey(kAccountIdsKey);
-  for (const auto& account_id : account_ids.GetList()) {
+  for (const auto& account_id : account_ids.GetListDeprecated()) {
     if (account_id.GetString() == account_identifier)
       return true;
   }
@@ -93,7 +93,7 @@
   account_ids.EraseListValue(base::Value((account_identifier)));
 
   // Remove the permission object if there is no account left.
-  if (account_ids.GetList().size() == 0) {
+  if (account_ids.GetListDeprecated().size() == 0) {
     RevokeObjectPermission(relying_party, idp_string);
   } else {
     UpdateObjectPermission(relying_party, object->value, std::move(new_object));
diff --git a/chrome/browser/webid/federated_identity_sharing_permission_context.cc b/chrome/browser/webid/federated_identity_sharing_permission_context.cc
index 718fc05a..f1c789b 100644
--- a/chrome/browser/webid/federated_identity_sharing_permission_context.cc
+++ b/chrome/browser/webid/federated_identity_sharing_permission_context.cc
@@ -62,7 +62,7 @@
     return false;
 
   auto& account_list = *granted_object->value.FindListKey(kAccountIdsKey);
-  for (auto& account_id_value : account_list.GetList()) {
+  for (auto& account_id_value : account_list.GetListDeprecated()) {
     if (account_id_value.GetString() == account_id)
       return true;
   }
@@ -121,7 +121,7 @@
   account_list.EraseListValue(base::Value(account_id));
 
   // Remove the permission object if there is no account left.
-  if (account_list.GetList().size() == 0) {
+  if (account_list.GetListDeprecated().size() == 0) {
     RevokeObjectPermission(identity_provider, key);
   } else {
     UpdateObjectPermission(identity_provider, granted_object->value,
diff --git a/chrome/browser/win/chrome_process_finder.cc b/chrome/browser/win/chrome_process_finder.cc
index 782e54b..b64ed1d 100644
--- a/chrome/browser/win/chrome_process_finder.cc
+++ b/chrome/browser/win/chrome_process_finder.cc
@@ -15,6 +15,7 @@
 #include "base/process/process.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/trace_event/base_tracing.h"
 #include "base/win/message_window.h"
 #include "base/win/scoped_handle.h"
 #include "base/win/win_util.h"
@@ -31,22 +32,32 @@
 namespace chrome {
 
 HWND FindRunningChromeWindow(const base::FilePath& user_data_dir) {
+  TRACE_EVENT0("startup", "FindRunningChromeWindow");
   return base::win::MessageWindow::FindWindow(user_data_dir.value());
 }
 
 NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) {
+  TRACE_EVENT0("startup", "AttemptToNotifyRunningChrome");
+
   DCHECK(remote_window);
   DWORD process_id = 0;
   DWORD thread_id = GetWindowThreadProcessId(remote_window, &process_id);
-  if (!thread_id || !process_id)
+  if (!thread_id || !process_id) {
+    TRACE_EVENT0(
+        "startup",
+        "AttemptToNotifyRunningChrome:GetWindowThreadProcessId failed");
     return NOTIFY_FAILED;
+  }
 
   // Send the command line to the remote chrome window.
   // Format is "START\0<<<current directory>>>\0<<<commandline>>>".
   std::wstring to_send(L"START\0", 6);  // want the NULL in the string.
   base::FilePath cur_dir;
-  if (!base::GetCurrentDirectory(&cur_dir))
+  if (!base::GetCurrentDirectory(&cur_dir)) {
+    TRACE_EVENT_INSTANT(
+        "startup", "AttemptToNotifyRunningChrome:GetCurrentDirectory failed");
     return NOTIFY_FAILED;
+  }
   to_send.append(cur_dir.value());
   to_send.append(L"\0", 1);  // Null separator.
   to_send.append(
@@ -62,10 +73,13 @@
   cds.cbData = static_cast<DWORD>((to_send.length() + 1) * sizeof(wchar_t));
   cds.lpData = const_cast<wchar_t*>(to_send.c_str());
   DWORD_PTR result = 0;
-  if (::SendMessageTimeout(remote_window, WM_COPYDATA, NULL,
-                           reinterpret_cast<LPARAM>(&cds), SMTO_ABORTIFHUNG,
-                           g_timeout_in_milliseconds, &result)) {
-    return result ? NOTIFY_SUCCESS : NOTIFY_FAILED;
+  {
+    TRACE_EVENT0("startup", "AttemptToNotifyRunningChrome:SendMessage");
+    if (::SendMessageTimeout(remote_window, WM_COPYDATA, NULL,
+                             reinterpret_cast<LPARAM>(&cds), SMTO_ABORTIFHUNG,
+                             g_timeout_in_milliseconds, &result)) {
+      return result ? NOTIFY_SUCCESS : NOTIFY_FAILED;
+    }
   }
 
   // If SendMessageTimeout failed to send message consider this as
@@ -75,14 +89,22 @@
   // process had non-empty data to deliver via |to_send| or not.
   const auto error = ::GetLastError();
   const bool timed_out = (error == ERROR_TIMEOUT || error == 0);
-  if (!timed_out)
+  if (!timed_out) {
+    TRACE_EVENT_INSTANT("startup",
+                        "AttemptToNotifyRunningChrome:Error SendFailed");
     return NOTIFY_FAILED;
+  }
 
   // It is possible that the process owning this window may have died by now.
-  if (!::IsWindow(remote_window))
+  if (!::IsWindow(remote_window)) {
+    TRACE_EVENT_INSTANT("startup",
+                        "AttemptToNotifyRunningChrome:Error RemoteDied");
     return NOTIFY_FAILED;
+  }
 
   // If the window couldn't be notified but still exists, assume it is hung.
+  TRACE_EVENT_INSTANT("startup",
+                      "AttemptToNotifyRunningChrome:Error RemoteHung");
   return NOTIFY_WINDOW_HUNG;
 }
 
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index 2cfb944..e3e8751 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1643867790-3021a2d4a4bad68e35ef0b967e0caeecaf644c81.profdata
+chrome-linux-main-1643910710-3e89d3ff75157c0cc05c128459547f000e936cad.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index b223c0a4..f9615ed8 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1643878699-66659f2cde6b446c259c94b9eed26ff4b9accdb1.profdata
+chrome-win32-main-1643900321-6735c8fb8404de4ceb9687152b084fe7d2af70c1.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 1f93aa6f..cc39ca05 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1643878699-1d81345be58e2f963fa5f0051361c9550878716d.profdata
+chrome-win64-main-1643900321-badecc26e7db7a33d658a171d226932f6b017ee0.profdata
diff --git a/chrome/common/extensions/manifest_handlers/theme_handler.cc b/chrome/common/extensions/manifest_handlers/theme_handler.cc
index ad470608..6573b5c3 100644
--- a/chrome/common/extensions/manifest_handlers/theme_handler.cc
+++ b/chrome/common/extensions/manifest_handlers/theme_handler.cc
@@ -70,7 +70,7 @@
         *error = errors::kInvalidThemeColors;
         return false;
       }
-      base::Value::ConstListView color_list = it.second.GetList();
+      base::Value::ConstListView color_list = it.second.GetListDeprecated();
 
       // There must be either 3 items (RGB), or 4 (RGBA).
       if (!(color_list.size() == 3 || color_list.size() == 4)) {
@@ -114,7 +114,7 @@
       return false;
     }
 
-    base::Value::ConstListView tint_list = iter.value().GetList();
+    base::Value::ConstListView tint_list = iter.value().GetListDeprecated();
     if (tint_list.size() != 3) {
       *error = errors::kInvalidThemeTints;
       return false;
diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc
index 7d44d48a..a893066 100644
--- a/chrome/installer/setup/install_worker.cc
+++ b/chrome/installer/setup/install_worker.cc
@@ -310,7 +310,7 @@
 
   WorkItem* install_service_work_item = new InstallServiceWorkItem(
       install_static::GetElevationServiceName(),
-      install_static::GetElevationServiceDisplayName(),
+      install_static::GetElevationServiceDisplayName(), SERVICE_DEMAND_START,
       base::CommandLine(elevation_service_path),
       install_static::GetClientStateKeyPath(),
       {install_static::GetElevatorClsid()}, {install_static::GetElevatorIid()});
diff --git a/chrome/installer/util/install_service_work_item.cc b/chrome/installer/util/install_service_work_item.cc
index 439413e..0fff03d1e 100644
--- a/chrome/installer/util/install_service_work_item.cc
+++ b/chrome/installer/util/install_service_work_item.cc
@@ -12,12 +12,14 @@
 InstallServiceWorkItem::InstallServiceWorkItem(
     const std::wstring& service_name,
     const std::wstring& display_name,
+    uint32_t start_type,
     const base::CommandLine& service_cmd_line,
     const std::wstring& registry_path,
     const std::vector<GUID>& clsids,
     const std::vector<GUID>& iids)
     : impl_(std::make_unique<InstallServiceWorkItemImpl>(service_name,
                                                          display_name,
+                                                         start_type,
                                                          service_cmd_line,
                                                          registry_path,
                                                          clsids,
@@ -38,8 +40,10 @@
                                            const std::wstring& registry_path,
                                            const std::vector<GUID>& clsids,
                                            const std::vector<GUID>& iids) {
+  // The `display_name`, `start_type`, and `service_cmd_line` are ignored by
+  // `InstallServiceWorkItemImpl` for `DeleteServiceImpl`.
   return InstallServiceWorkItemImpl(
-             service_name, std::wstring(),
+             service_name, std::wstring(), SERVICE_DISABLED,
              base::CommandLine(base::CommandLine::NO_PROGRAM), registry_path,
              clsids, iids)
       .DeleteServiceImpl();
diff --git a/chrome/installer/util/install_service_work_item.h b/chrome/installer/util/install_service_work_item.h
index 5880e11..577c306 100644
--- a/chrome/installer/util/install_service_work_item.h
+++ b/chrome/installer/util/install_service_work_item.h
@@ -37,6 +37,8 @@
   // |display_name| is the human-readable name that is visible in the Service
   // control panel. For example, "Chrome Elevation Service".
   //
+  // |start_type| is typically SERVICE_DEMAND_START or SERVICE_AUTO_START.
+  //
   // |service_cmd_line| is the command line with which the service is invoked by
   // the SCM. For example,
   // "C:\Program Files (x86)\Google\Chrome\ElevationService.exe" /svc
@@ -52,6 +54,7 @@
   // required, |iids| should contain the Interfaces and Typelibs to register.
   InstallServiceWorkItem(const std::wstring& service_name,
                          const std::wstring& display_name,
+                         uint32_t start_type,
                          const base::CommandLine& service_cmd_line,
                          const std::wstring& registry_path,
                          const std::vector<GUID>& clsids,
diff --git a/chrome/installer/util/install_service_work_item_impl.cc b/chrome/installer/util/install_service_work_item_impl.cc
index 1d065cf..3cfeffa 100644
--- a/chrome/installer/util/install_service_work_item_impl.cc
+++ b/chrome/installer/util/install_service_work_item_impl.cc
@@ -29,7 +29,6 @@
 namespace {
 
 constexpr uint32_t kServiceType = SERVICE_WIN32_OWN_PROCESS;
-constexpr uint32_t kServiceStartType = SERVICE_DEMAND_START;
 constexpr uint32_t kServiceErrorControl = SERVICE_ERROR_NORMAL;
 constexpr wchar_t kServiceDependencies[] = L"RPCSS\0";
 
@@ -155,6 +154,7 @@
 InstallServiceWorkItemImpl::InstallServiceWorkItemImpl(
     const std::wstring& service_name,
     const std::wstring& display_name,
+    uint32_t start_type,
     const base::CommandLine& service_cmd_line,
     const std::wstring& registry_path,
     const std::vector<GUID>& clsids,
@@ -162,6 +162,7 @@
     : com_registration_work_items_(WorkItem::CreateWorkItemList()),
       service_name_(service_name),
       display_name_(display_name),
+      start_type_(start_type),
       service_cmd_line_(service_cmd_line),
       registry_path_(registry_path),
       clsids_(clsids),
@@ -414,10 +415,10 @@
 InstallServiceWorkItemImpl::ServiceConfig
 InstallServiceWorkItemImpl::MakeUpgradeServiceConfig(
     const ServiceConfig& original_config) {
-  ServiceConfig new_config(
-      kServiceType, kServiceStartType, kServiceErrorControl,
-      service_cmd_line_.GetCommandLineString(), kServiceDependencies,
-      GetCurrentServiceDisplayName());
+  ServiceConfig new_config(kServiceType, start_type_, kServiceErrorControl,
+                           service_cmd_line_.GetCommandLineString(),
+                           kServiceDependencies,
+                           GetCurrentServiceDisplayName());
 
   if (original_config.type == new_config.type)
     new_config.type = SERVICE_NO_CHANGE;
@@ -586,7 +587,7 @@
 bool InstallServiceWorkItemImpl::InstallNewService() {
   DCHECK(!service_.IsValid());
   bool success = InstallService(
-      ServiceConfig(kServiceType, kServiceStartType, kServiceErrorControl,
+      ServiceConfig(kServiceType, start_type_, kServiceErrorControl,
                     service_cmd_line_.GetCommandLineString(),
                     kServiceDependencies, GetCurrentServiceDisplayName()));
   if (success)
diff --git a/chrome/installer/util/install_service_work_item_impl.h b/chrome/installer/util/install_service_work_item_impl.h
index 6156526..e1eda1b 100644
--- a/chrome/installer/util/install_service_work_item_impl.h
+++ b/chrome/installer/util/install_service_work_item_impl.h
@@ -56,6 +56,7 @@
 
   InstallServiceWorkItemImpl(const std::wstring& service_name,
                              const std::wstring& display_name,
+                             uint32_t start_type,
                              const base::CommandLine& service_cmd_line,
                              const std::wstring& registry_path,
                              const std::vector<GUID>& clsids,
@@ -181,6 +182,10 @@
   // The service name displayed to the user.
   const std::wstring display_name_;
 
+  // The service start options. This parameter is typically SERVICE_AUTO_START
+  // or SERVICE_DEMAND_START.
+  const uint32_t start_type_;
+
   // The desired service command line.
   const base::CommandLine service_cmd_line_;
 
diff --git a/chrome/installer/util/install_service_work_item_unittest.cc b/chrome/installer/util/install_service_work_item_unittest.cc
index 7b619dcc..2c2c38a 100644
--- a/chrome/installer/util/install_service_work_item_unittest.cc
+++ b/chrome/installer/util/install_service_work_item_unittest.cc
@@ -25,6 +25,7 @@
 
 constexpr wchar_t kServiceName[] = L"InstallServiceWorkItemService";
 constexpr wchar_t kServiceDisplayName[] = L"InstallServiceWorkItemService";
+constexpr uint32_t kServiceStartType = SERVICE_DEMAND_START;
 constexpr base::FilePath::CharType kServiceProgramPath[] =
     FILE_PATH_LITERAL("c:\\windows\\SysWow64\\cmd.exe");
 
@@ -133,7 +134,7 @@
 
 TEST_F(InstallServiceWorkItemTest, Do_FreshInstall) {
   auto item = std::make_unique<InstallServiceWorkItem>(
-      kServiceName, kServiceDisplayName,
+      kServiceName, kServiceDisplayName, kServiceStartType,
       base::CommandLine(base::FilePath(kServiceProgramPath)), kProductRegPath,
       kClsids, kIids);
 
@@ -194,7 +195,7 @@
 
 TEST_F(InstallServiceWorkItemTest, Do_FreshInstallThenDeleteService) {
   auto item = std::make_unique<InstallServiceWorkItem>(
-      kServiceName, kServiceDisplayName,
+      kServiceName, kServiceDisplayName, kServiceStartType,
       base::CommandLine(base::FilePath(kServiceProgramPath)), kProductRegPath,
       kClsids, kIids);
 
@@ -211,7 +212,7 @@
 
 TEST_F(InstallServiceWorkItemTest, Do_UpgradeNoChanges) {
   auto item = std::make_unique<InstallServiceWorkItem>(
-      kServiceName, kServiceDisplayName,
+      kServiceName, kServiceDisplayName, kServiceStartType,
       base::CommandLine(base::FilePath(kServiceProgramPath)), kProductRegPath,
       kClsids, kIids);
   ASSERT_TRUE(item->Do());
@@ -220,7 +221,7 @@
 
   // Same command line:
   auto item_upgrade = std::make_unique<InstallServiceWorkItem>(
-      kServiceName, kServiceDisplayName,
+      kServiceName, kServiceDisplayName, kServiceStartType,
       base::CommandLine(base::FilePath(kServiceProgramPath)), kProductRegPath,
       kClsids, kIids);
   EXPECT_TRUE(item_upgrade->Do());
@@ -246,18 +247,18 @@
   EXPECT_TRUE(IsServiceGone(item_upgrade.get()));
 }
 
-TEST_F(InstallServiceWorkItemTest, Do_UpgradeChangedCmdLine) {
+TEST_F(InstallServiceWorkItemTest, Do_UpgradeChangedCmdLineAndStartType) {
   auto item = std::make_unique<InstallServiceWorkItem>(
-      kServiceName, kServiceDisplayName,
+      kServiceName, kServiceDisplayName, kServiceStartType,
       base::CommandLine(base::FilePath(kServiceProgramPath)), kProductRegPath,
       kClsids, kIids);
   ASSERT_TRUE(item->Do());
 
   EXPECT_TRUE(IsServiceCorrectlyConfigured(item.get()));
 
-  // New command line.
+  // New command line and start type.
   auto item_upgrade = std::make_unique<InstallServiceWorkItem>(
-      kServiceName, kServiceDisplayName,
+      kServiceName, kServiceDisplayName, SERVICE_AUTO_START,
       base::CommandLine::FromString(L"NewCmd.exe arg1 arg2"), kProductRegPath,
       kClsids, kIids);
   EXPECT_TRUE(item_upgrade->Do());
@@ -286,7 +287,7 @@
 
 TEST_F(InstallServiceWorkItemTest, Do_ServiceName) {
   auto item = std::make_unique<InstallServiceWorkItem>(
-      kServiceName, kServiceDisplayName,
+      kServiceName, kServiceDisplayName, kServiceStartType,
       base::CommandLine(base::FilePath(kServiceProgramPath)), kProductRegPath,
       kClsids, kIids);
 
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index d35a434..c0758334 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -130,6 +130,8 @@
     "../browser/password_manager/password_manager_test_util.h",
     "../browser/permissions/crowd_deny_fake_safe_browsing_database_manager.cc",
     "../browser/permissions/crowd_deny_fake_safe_browsing_database_manager.h",
+    "../browser/profiles/profile_test_util.cc",
+    "../browser/profiles/profile_test_util.h",
     "../browser/search_engines/template_url_service_factory_test_util.cc",
     "../browser/search_engines/template_url_service_factory_test_util.h",
     "../browser/search_engines/template_url_service_test_util.cc",
@@ -3327,6 +3329,7 @@
         "../browser/ash/login/screens/recommend_apps/scoped_test_recommend_apps_fetcher_factory.cc",
         "../browser/ash/login/screens/recommend_apps/scoped_test_recommend_apps_fetcher_factory.h",
         "../browser/ash/login/screens/recommend_apps_screen_browsertest.cc",
+        "../browser/ash/login/screens/smart_privacy_protection_screen_browsertest.cc",
         "../browser/ash/login/screens/sync_consent_browsertest.cc",
         "../browser/ash/login/screens/terms_of_service_screen_browsertest.cc",
         "../browser/ash/login/screens/update_required_screen_browsertest.cc",
@@ -4695,7 +4698,6 @@
     "../browser/performance_manager/policies/working_set_trimmer_policy_unittest.cc",
     "../browser/performance_manager/test_support/page_aggregator.cc",
     "../browser/performance_manager/test_support/page_aggregator.h",
-    "../browser/performance_monitor/process_metrics_recorder_util_unittest.cc",
     "../browser/performance_monitor/system_monitor_unittest.cc",
     "../browser/permissions/abusive_origin_permission_revocation_request_unittests.cc",
     "../browser/permissions/adaptive_quiet_notification_permission_ui_enabler_unittest.cc",
@@ -9947,7 +9949,6 @@
 
 if (is_linux || is_mac || is_win) {
   script_test("variations_smoke_tests") {
-
     if (is_linux) {
       script = "//testing/xvfb.py"
     } else {
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java
index 5da9fa0..33884df 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java
@@ -16,6 +16,7 @@
 import org.chromium.chrome.browser.tab.TabState;
 import org.chromium.chrome.browser.tab.TabTestUtils;
 import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
+import org.chromium.chrome.browser.tab.state.SerializedCriticalPersistedTabData;
 import org.chromium.chrome.browser.tabmodel.TabCreator;
 import org.chromium.chrome.browser.tabmodel.TabModel;
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
@@ -23,8 +24,6 @@
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.url.GURL;
 
-import java.nio.ByteBuffer;
-
 /** MockTabCreator for use in tests. */
 public class MockTabCreator extends TabCreator {
     public final SparseArray<TabState> created;
@@ -61,14 +60,16 @@
     }
 
     @Override
-    public Tab createFrozenTab(TabState state, ByteBuffer serializedCriticalPersistedTabData,
-            int id, boolean isIncognito, int index) {
+    public Tab createFrozenTab(TabState state,
+            SerializedCriticalPersistedTabData serializedCriticalPersistedTabData, int id,
+            boolean isIncognito, int index) {
         Tab tab = new MockTab(id, isIncognito, TabLaunchType.FROM_RESTORE);
         tab.getUserDataHost().setUserData(MockTabAttributes.class, new MockTabAttributes(true));
         if (state != null) TabTestUtils.restoreFieldsFromState(tab, state);
         if (!CriticalPersistedTabData.isEmptySerialization(serializedCriticalPersistedTabData)) {
             CriticalPersistedTabData criticalPersistedTabData = new CriticalPersistedTabData(tab);
-            criticalPersistedTabData.deserializeAndLog(serializedCriticalPersistedTabData);
+            criticalPersistedTabData.deserializeAndLog(
+                    serializedCriticalPersistedTabData.getByteBuffer());
             tab.getUserDataHost().setUserData(
                     CriticalPersistedTabData.class, criticalPersistedTabData);
         }
diff --git a/chrome/test/base/extension_js_browser_test.h b/chrome/test/base/extension_js_browser_test.h
index 2dc5aaa..7a6511640 100644
--- a/chrome/test/base/extension_js_browser_test.h
+++ b/chrome/test/base/extension_js_browser_test.h
@@ -13,7 +13,7 @@
 // A super class that handles javascript-based tests against an extension.
 //
 // See an example usage at
-// chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.extjs
+// chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js
 class ExtensionJSBrowserTest : public JavaScriptBrowserTest {
  public:
   ExtensionJSBrowserTest();
diff --git a/chrome/test/chromedriver/capabilities.cc b/chrome/test/chromedriver/capabilities.cc
index fee0d90..258c17fc 100644
--- a/chrome/test/chromedriver/capabilities.cc
+++ b/chrome/test/chromedriver/capabilities.cc
@@ -268,7 +268,7 @@
                      Capabilities* capabilities) {
   if (!option.is_list())
     return Status(kInvalidArgument, "must be a list");
-  for (const base::Value& arg : option.GetList()) {
+  for (const base::Value& arg : option.GetListDeprecated()) {
     if (!arg.is_string())
       return Status(kInvalidArgument, "each argument must be a string");
     std::string arg_string = arg.GetString();
@@ -283,7 +283,7 @@
 Status ParseExtensions(const base::Value& option, Capabilities* capabilities) {
   if (!option.is_list())
     return Status(kInvalidArgument, "must be a list");
-  for (const base::Value& extension : option.GetList()) {
+  for (const base::Value& extension : option.GetListDeprecated()) {
     if (!extension.is_string()) {
       return Status(kInvalidArgument,
                     "each extension must be a base64 encoded string");
@@ -391,7 +391,7 @@
                             Capabilities* capabilities) {
   if (!option.is_list())
     return Status(kInvalidArgument, "must be a list");
-  for (const base::Value& switch_value : option.GetList()) {
+  for (const base::Value& switch_value : option.GetListDeprecated()) {
     if (!switch_value.is_string()) {
       return Status(kInvalidArgument,
                     "each switch to be removed must be a string");
@@ -521,7 +521,7 @@
                                        Capabilities* capabilities) {
   if (!option.is_list())
     return Status(kInvalidArgument, "must be a list");
-  if (option.GetList().empty())
+  if (option.GetListDeprecated().empty())
     return Status(kInvalidArgument, "list must contain values");
   capabilities->devtools_events_logging_prefs = option.Clone();
   return Status(kOk);
@@ -531,7 +531,7 @@
   if (!option.is_list())
     return Status(kInvalidArgument, "must be a list");
   std::set<WebViewInfo::Type> window_types_tmp;
-  for (const base::Value& window_type : option.GetList()) {
+  for (const base::Value& window_type : option.GetListDeprecated()) {
     if (!window_type.is_string()) {
       return Status(kInvalidArgument, "each window type must be a string");
     }
diff --git a/chrome/test/chromedriver/chrome/cast_tracker_unittest.cc b/chrome/test/chromedriver/chrome/cast_tracker_unittest.cc
index b9248ce..1e8ddfe 100644
--- a/chrome/test/chromedriver/chrome/cast_tracker_unittest.cc
+++ b/chrome/test/chromedriver/chrome/cast_tracker_unittest.cc
@@ -51,18 +51,18 @@
 TEST_F(CastTrackerTest, OnSinksUpdated) {
   const base::Value empty_sinks = base::Value(std::vector<base::Value>());
   base::DictionaryValue params;
-  EXPECT_EQ(0u, cast_tracker_->sinks().GetList().size());
+  EXPECT_EQ(0u, cast_tracker_->sinks().GetListDeprecated().size());
 
   base::Value sinks(base::Value::Type::LIST);
   sinks.Append(CreateSink("sink1", "1"));
   sinks.Append(CreateSink("sink2", "2"));
   params.SetKey("sinks", std::move(sinks));
   cast_tracker_->OnEvent(&devtools_client_, "Cast.sinksUpdated", params);
-  EXPECT_EQ(2u, cast_tracker_->sinks().GetList().size());
+  EXPECT_EQ(2u, cast_tracker_->sinks().GetListDeprecated().size());
 
   params.SetKey("sinks", base::Value(base::Value::Type::LIST));
   cast_tracker_->OnEvent(&devtools_client_, "Cast.sinksUpdated", params);
-  EXPECT_EQ(0u, cast_tracker_->sinks().GetList().size());
+  EXPECT_EQ(0u, cast_tracker_->sinks().GetListDeprecated().size());
 }
 
 TEST_F(CastTrackerTest, OnIssueUpdated) {
diff --git a/chrome/test/chromedriver/chrome/dom_tracker.cc b/chrome/test/chromedriver/chrome/dom_tracker.cc
index ff82daa..ed7a073 100644
--- a/chrome/test/chromedriver/chrome/dom_tracker.cc
+++ b/chrome/test/chromedriver/chrome/dom_tracker.cc
@@ -99,7 +99,7 @@
 bool DomTracker::ProcessNodeList(const base::Value& nodes) {
   if (!nodes.is_list())
     return false;
-  for (const base::Value& node : nodes.GetList()) {
+  for (const base::Value& node : nodes.GetListDeprecated()) {
     if (!ProcessNode(node))
       return false;
   }
diff --git a/chrome/test/chromedriver/devtools_events_logger.cc b/chrome/test/chromedriver/devtools_events_logger.cc
index b0541abe..a602174 100644
--- a/chrome/test/chromedriver/devtools_events_logger.cc
+++ b/chrome/test/chromedriver/devtools_events_logger.cc
@@ -15,7 +15,7 @@
 inline DevToolsEventsLogger::~DevToolsEventsLogger() {}
 
 Status DevToolsEventsLogger::OnConnected(DevToolsClient* client) {
-  for (const auto& entry : prefs_.GetList())
+  for (const auto& entry : prefs_.GetListDeprecated())
     events_.insert(entry.is_string() ? entry.GetString() : std::string());
   return Status(kOk);
 }
diff --git a/chrome/test/chromedriver/window_commands.cc b/chrome/test/chromedriver/window_commands.cc
index 9b05024b..0d7795ea 100644
--- a/chrome/test/chromedriver/window_commands.cc
+++ b/chrome/test/chromedriver/window_commands.cc
@@ -274,7 +274,7 @@
   if (status.IsError())
     return status;
   std::list<Cookie> cookies_tmp;
-  for (const base::Value& cookie_value : internal_cookies.GetList()) {
+  for (const base::Value& cookie_value : internal_cookies.GetListDeprecated()) {
     if (!cookie_value.is_dict())
       return Status(kUnknownError, "DevTools returns a non-dictionary cookie");
 
@@ -1289,7 +1289,7 @@
 
   bool found = false;
   for (const base::Value& source_value :
-       session->active_input_sources.GetList()) {
+       session->active_input_sources.GetListDeprecated()) {
     DCHECK(source_value.is_dict());
     const base::DictionaryValue& source =
         base::Value::AsDictionaryValue(source_value);
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_ot_request.html b/chrome/test/data/client_hints/accept_ch_ua_cross_origin_iframe_with_ot_request.html
similarity index 100%
rename from chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_ot_request.html
rename to chrome/test/data/client_hints/accept_ch_ua_cross_origin_iframe_with_ot_request.html
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_subrequests.html b/chrome/test/data/client_hints/accept_ch_ua_cross_origin_iframe_with_subrequests.html
similarity index 100%
rename from chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_subrequests.html
rename to chrome/test/data/client_hints/accept_ch_ua_cross_origin_iframe_with_subrequests.html
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_iframe_request.html b/chrome/test/data/client_hints/accept_ch_ua_iframe_request.html
similarity index 100%
rename from chrome/test/data/client_hints/accept_ch_ua_reduced_iframe_request.html
rename to chrome/test/data/client_hints/accept_ch_ua_iframe_request.html
diff --git a/chrome/test/data/client_hints/accept_ch_ua_missing_valid_origin_trial.html b/chrome/test/data/client_hints/accept_ch_ua_missing_valid_origin_trial.html
new file mode 100644
index 0000000..e7910474
--- /dev/null
+++ b/chrome/test/data/client_hints/accept_ch_ua_missing_valid_origin_trial.html
@@ -0,0 +1,5 @@
+<html>
+<link rel="icon" href="data:;base64,=">
+<head></head>
+The Origin Trial token is valid, but the Sec-CH-UA-Reduced or Sec-CH-UA-Full header is not present.
+</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_ot_request.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_ot_request.html.mock-http-headers
deleted file mode 100644
index 86875f7..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_ot_request.html.mock-http-headers
+++ /dev/null
@@ -1,2 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html; charset=utf-8
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_subrequests.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_subrequests.html.mock-http-headers
deleted file mode 100644
index 86875f7..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_cross_origin_iframe_with_subrequests.html.mock-http-headers
+++ /dev/null
@@ -1,2 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html; charset=utf-8
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_iframe_request.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_iframe_request.html.mock-http-headers
deleted file mode 100644
index bf286b0f..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_iframe_request.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-reduced
-Origin-Trial: A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_missing_valid_origin_trial.html b/chrome/test/data/client_hints/accept_ch_ua_reduced_missing_valid_origin_trial.html
deleted file mode 100644
index c340ceb..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_missing_valid_origin_trial.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<link rel="icon" href="data:;base64,=">
-<head></head>
-The Origin Trial token is valid, but the Sec-CH-UA-Reduced header is not present.
-</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_missing_valid_origin_trial.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_missing_valid_origin_trial.html.mock-http-headers
deleted file mode 100644
index 00c98741..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_missing_valid_origin_trial.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-full-version
-Origin-Trial: A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_subresource_request.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_subresource_request.html.mock-http-headers
deleted file mode 100644
index bf286b0f..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_subresource_request.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-reduced
-Origin-Trial: A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_invalid_origin_trial.html b/chrome/test/data/client_hints/accept_ch_ua_reduced_with_invalid_origin_trial.html
deleted file mode 100644
index 9b8fc9e..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_invalid_origin_trial.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html>
-<link rel="icon" href="data:;base64,=">
-<head>
-<link rel="stylesheet" href="style.css">	
-</head>
-Empty file which uses link-rel to disable favicon fetches. The corresponding
-.mock-http-headers sets client hints.  The Origin Trial token in the headers
-file is a corruption of the valid Origin Trial token.
-</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_invalid_origin_trial.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_with_invalid_origin_trial.html.mock-http-headers
deleted file mode 100644
index f9543f9..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_invalid_origin_trial.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-full-version,sec-ch-ua-reduced
-Origin-Trial: A23QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnbW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_no_origin_trial.html b/chrome/test/data/client_hints/accept_ch_ua_reduced_with_no_origin_trial.html
deleted file mode 100644
index 8988d58..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_no_origin_trial.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<link rel="icon" href="data:;base64,=">
-<head></head>
-Empty file which uses link-rel to disable favicon fetches. The corresponding
-.mock-http-headers sets client hints.  The Origin Trial token in the headers
-file is missing, even though the Sec-CH-UA-Reduced client hint is present in
-the Accept-CH header. 
-</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_no_origin_trial.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_with_no_origin_trial.html.mock-http-headers
deleted file mode 100644
index ec93464..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_no_origin_trial.html.mock-http-headers
+++ /dev/null
@@ -1,3 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-full-version,sec-ch-ua-reduced
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_valid_origin_trial.html.mock-http-headers b/chrome/test/data/client_hints/accept_ch_ua_reduced_with_valid_origin_trial.html.mock-http-headers
deleted file mode 100644
index 1d3bf6e..0000000
--- a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_valid_origin_trial.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-full-version,sec-ch-ua-reduced
-Origin-Trial: A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_subresource_request.html b/chrome/test/data/client_hints/accept_ch_ua_subresource_request.html
similarity index 100%
rename from chrome/test/data/client_hints/accept_ch_ua_reduced_subresource_request.html
rename to chrome/test/data/client_hints/accept_ch_ua_subresource_request.html
diff --git a/chrome/test/data/client_hints/accept_ch_ua_with_invalid_origin_trial.html b/chrome/test/data/client_hints/accept_ch_ua_with_invalid_origin_trial.html
new file mode 100644
index 0000000..94bbaa0
--- /dev/null
+++ b/chrome/test/data/client_hints/accept_ch_ua_with_invalid_origin_trial.html
@@ -0,0 +1,8 @@
+<html>
+<link rel="icon" href="data:;base64,=">
+<head>
+<link rel="stylesheet" href="style.css">	
+</head>
+Empty file which uses link-rel to disable favicon fetches. The Origin Trial token in the headers
+file is a corruption of the valid Origin Trial token.
+</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_with_no_origin_trial.html b/chrome/test/data/client_hints/accept_ch_ua_with_no_origin_trial.html
new file mode 100644
index 0000000..f88e320
--- /dev/null
+++ b/chrome/test/data/client_hints/accept_ch_ua_with_no_origin_trial.html
@@ -0,0 +1,7 @@
+<html>
+<link rel="icon" href="data:;base64,=">
+<head></head>
+Empty file which uses link-rel to disable favicon fetches. The Origin Trial token in the headers
+file is missing, even though the Sec-CH-UA-Reduced or Sec-CH-UA-Full client hint is present in
+the Accept-CH header. 
+</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_with_valid_origin_trial.html b/chrome/test/data/client_hints/accept_ch_ua_with_valid_origin_trial.html
new file mode 100644
index 0000000..1123e58
--- /dev/null
+++ b/chrome/test/data/client_hints/accept_ch_ua_with_valid_origin_trial.html
@@ -0,0 +1,8 @@
+<html>
+<link rel="icon" href="data:;base64,=">
+<head></head>
+Empty file which uses link-rel to disable favicon fetches. 
+The Origin Trial token was generated by running (in tools/origin_trials):
+generate_token.py https://127.0.0.1:44444 UserAgentReduction --expire-timestamp=2000000000
+generate_token.py https://127.0.0.1:44444 SendFullUserAgentAfterReduction --expire-timestamp=2000000000
+</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_iframe_request.html b/chrome/test/data/client_hints/critical_ch_ua_iframe_request.html
similarity index 100%
copy from chrome/test/data/client_hints/accept_ch_ua_reduced_iframe_request.html
copy to chrome/test/data/client_hints/critical_ch_ua_iframe_request.html
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_iframe_request.html b/chrome/test/data/client_hints/critical_ch_ua_reduced_iframe_request.html
deleted file mode 100644
index e394e26..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_iframe_request.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<link rel="icon" href="data:;base64,=">
-<head></head>
-<body>
-<iframe src="simple.html" id="test"></iframe>
-</body>
-</html>
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_iframe_request.html.mock-http-headers b/chrome/test/data/client_hints/critical_ch_ua_reduced_iframe_request.html.mock-http-headers
deleted file mode 100644
index 3e20297..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_iframe_request.html.mock-http-headers
+++ /dev/null
@@ -1,5 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-reduced
-Critical-CH: sec-ch-ua-reduced
-Origin-Trial: A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_subresource_request.html b/chrome/test/data/client_hints/critical_ch_ua_reduced_subresource_request.html
deleted file mode 100644
index 9d24aa6..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_subresource_request.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<link rel="icon" href="data:;base64,=">
-<head>
-<link rel="stylesheet" href="style.css">	
-</head>
-<body></body>
-</html>
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_subresource_request.html.mock-http-headers b/chrome/test/data/client_hints/critical_ch_ua_reduced_subresource_request.html.mock-http-headers
deleted file mode 100644
index 3e20297..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_subresource_request.html.mock-http-headers
+++ /dev/null
@@ -1,5 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-reduced
-Critical-CH: sec-ch-ua-reduced
-Origin-Trial: A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_invalid_origin_trial.html b/chrome/test/data/client_hints/critical_ch_ua_reduced_with_invalid_origin_trial.html
deleted file mode 100644
index 9666ba7..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_invalid_origin_trial.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<link rel="icon" href="data:;base64,=">
-<head></head>
-Empty file which uses link-rel to disable favicon fetches. The corresponding
-.mock-http-headers sets client hints.  The Origin Trial token is a corrupted
-version of the original.
-</html>
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_invalid_origin_trial.html.mock-http-headers b/chrome/test/data/client_hints/critical_ch_ua_reduced_with_invalid_origin_trial.html.mock-http-headers
deleted file mode 100644
index 8452ef6..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_invalid_origin_trial.html.mock-http-headers
+++ /dev/null
@@ -1,5 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-full-version,sec-ch-ua-reduced
-Critical-CH: sec-ch-ua-reduced
-Origin-Trial: A23QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzsElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_valid_origin_trial.html b/chrome/test/data/client_hints/critical_ch_ua_reduced_with_valid_origin_trial.html
deleted file mode 100644
index db1b984..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_valid_origin_trial.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<link rel="icon" href="data:;base64,=">
-<head></head>
-Empty file which uses link-rel to disable favicon fetches. The corresponding
-.mock-http-headers sets client hints.  The Origin Trial token was generated by
-running (in tools/origin_trials):
-generate_token.py https://127.0.0.1:44444 UserAgentReduction --expire-timestamp=2000000000
-</html>
diff --git a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_valid_origin_trial.html.mock-http-headers b/chrome/test/data/client_hints/critical_ch_ua_reduced_with_valid_origin_trial.html.mock-http-headers
deleted file mode 100644
index 426c2fd..0000000
--- a/chrome/test/data/client_hints/critical_ch_ua_reduced_with_valid_origin_trial.html.mock-http-headers
+++ /dev/null
@@ -1,5 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-full-version,sec-ch-ua-reduced
-Critical-CH: sec-ch-ua-reduced
-Origin-Trial: A93QtcQ0CRKf5ioPasUwNbweXQWgbI4ZEshiz+YS7dkQEWVfW9Ua2pTnA866sZwRzuElkPwsUdGdIaW0fRUP8AwAAABceyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_subresource_request.html b/chrome/test/data/client_hints/critical_ch_ua_subresource_request.html
similarity index 100%
copy from chrome/test/data/client_hints/accept_ch_ua_reduced_subresource_request.html
copy to chrome/test/data/client_hints/critical_ch_ua_subresource_request.html
diff --git a/chrome/test/data/client_hints/critical_ch_ua_with_invalid_origin_trial.html b/chrome/test/data/client_hints/critical_ch_ua_with_invalid_origin_trial.html
new file mode 100644
index 0000000..572da0d
--- /dev/null
+++ b/chrome/test/data/client_hints/critical_ch_ua_with_invalid_origin_trial.html
@@ -0,0 +1,6 @@
+<html>
+<link rel="icon" href="data:;base64,=">
+<head></head>
+Empty file which uses link-rel to disable favicon fetches. The Origin Trial token is a corrupted
+version of the original.
+</html>
diff --git a/chrome/test/data/client_hints/accept_ch_ua_reduced_with_valid_origin_trial.html b/chrome/test/data/client_hints/critical_ch_ua_with_valid_origin_trial.html
similarity index 100%
rename from chrome/test/data/client_hints/accept_ch_ua_reduced_with_valid_origin_trial.html
rename to chrome/test/data/client_hints/critical_ch_ua_with_valid_origin_trial.html
diff --git a/chrome/test/data/client_hints/frame_3p_ot.html.mock-http-headers b/chrome/test/data/client_hints/frame_3p_ot.html.mock-http-headers
deleted file mode 100644
index 1f03679..0000000
--- a/chrome/test/data/client_hints/frame_3p_ot.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-reduced
-Origin-Trial: Awgc/axBbE+4mDB+z2AKFEl26TUKBzCM2GBkDQmt4IephJgHpel1kcsIdCCBYKUgJ4s4+JQLXFKkOCs7lFIISAMAAAB0eyJvcmlnaW4iOiAiaHR0cHM6Ly9teS1zaXRlLmNvbTo0NDQ0NCIsICJpc1RoaXJkUGFydHkiOiB0cnVlLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/simple_3p_ot.html.mock-http-headers b/chrome/test/data/client_hints/simple_3p_ot.html.mock-http-headers
deleted file mode 100644
index 1f03679..0000000
--- a/chrome/test/data/client_hints/simple_3p_ot.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-reduced
-Origin-Trial: Awgc/axBbE+4mDB+z2AKFEl26TUKBzCM2GBkDQmt4IephJgHpel1kcsIdCCBYKUgJ4s4+JQLXFKkOCs7lFIISAMAAAB0eyJvcmlnaW4iOiAiaHR0cHM6Ly9teS1zaXRlLmNvbTo0NDQ0NCIsICJpc1RoaXJkUGFydHkiOiB0cnVlLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/subresource_redirect.html.mock-http-headers b/chrome/test/data/client_hints/subresource_redirect.html.mock-http-headers
deleted file mode 100644
index 1f03679..0000000
--- a/chrome/test/data/client_hints/subresource_redirect.html.mock-http-headers
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
-Accept-CH: sec-ch-ua-reduced
-Origin-Trial: Awgc/axBbE+4mDB+z2AKFEl26TUKBzCM2GBkDQmt4IephJgHpel1kcsIdCCBYKUgJ4s4+JQLXFKkOCs7lFIISAMAAAB0eyJvcmlnaW4iOiAiaHR0cHM6Ly9teS1zaXRlLmNvbTo0NDQ0NCIsICJpc1RoaXJkUGFydHkiOiB0cnVlLCAiZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0=
diff --git a/chrome/test/data/client_hints/top_level_with_iframe_redirect.html.mock-http-headers b/chrome/test/data/client_hints/top_level_with_iframe_redirect.html.mock-http-headers
deleted file mode 100644
index 524e3d8c..0000000
--- a/chrome/test/data/client_hints/top_level_with_iframe_redirect.html.mock-http-headers
+++ /dev/null
@@ -1,2 +0,0 @@
-HTTP/1.1 200 OK
-Content-Type: text/html
diff --git a/chrome/test/data/extensions/api_test/declarative_net_request/fenced_frames/background.js b/chrome/test/data/extensions/api_test/declarative_net_request/fenced_frames/background.js
index bbfe806..e4b4fec 100644
--- a/chrome/test/data/extensions/api_test/declarative_net_request/fenced_frames/background.js
+++ b/chrome/test/data/extensions/api_test/declarative_net_request/fenced_frames/background.js
@@ -12,6 +12,9 @@
 }
 
 var matchedRules = [];
+var documentIds = [];
+var nextDocumentId = 1;
+
 var onRuleMatchedDebugCallback = (rule) => {
   matchedRules.push(rule);
   expectedCallback(tab);
@@ -36,6 +39,24 @@
   chrome.test.assertTrue(matchedRule.request.hasOwnProperty('requestId'));
   delete matchedRule.request.requestId;
 
+  // Since the documentId/parentDocumentId is a unique random identifier it is
+  // not useful to tests. Normalize them so that test cases can assert
+  // against a fixed number.
+  if ('parentDocumentId' in matchedRule.request) {
+    if (documentIds[matchedRule.request.parentDocumentId] === undefined) {
+      documentIds[matchedRule.request.parentDocumentId] = nextDocumentId++;
+    }
+    matchedRule.request.parentDocumentId =
+      documentIds[matchedRule.request.parentDocumentId];
+  }
+  if ('documentId' in matchedRule.request) {
+    if (documentIds[matchedRule.request.documentId] === undefined) {
+      documentIds[matchedRule.request.documentId] = nextDocumentId++;
+    }
+    matchedRule.request.documentId =
+      documentIds[matchedRule.request.documentId];
+  }
+
   chrome.test.assertEq(expectedRuleInfo, matchedRule);
 }
 
@@ -65,7 +86,11 @@
         request: {
           initiator: mparchEnabled ? kOpaqueInitiator : getServerURL('a.com'),
           method: 'GET',
+          documentId: 2,
           frameId: mparchEnabled ? 5 : 4,
+          documentLifecycle: 'active',
+          frameType: 'fenced_frame',
+          parentDocumentId: 1,
           parentFrameId: 0,
           type: 'sub_frame',
           tabId: tab.id,
@@ -93,7 +118,11 @@
         request: {
           initiator: mparchEnabled ? kOpaqueInitiator : getServerURL('a.com'),
           method: 'GET',
+          documentId: 4,
           frameId: mparchEnabled ? 7 : 5,
+          documentLifecycle: 'active',
+          frameType: 'fenced_frame',
+          parentDocumentId: 3,
           parentFrameId: 0,
           type: 'sub_frame',
           tabId: tab.id,
@@ -119,7 +148,11 @@
         request: {
           initiator: getServerURL('a.com'),
           method: 'GET',
+          documentId: 6,
           frameId: mparchEnabled ? 9 : 6,
+          documentLifecycle: 'active',
+          frameType: 'fenced_frame',
+          parentDocumentId: 5,
           parentFrameId: 0,
           type: 'image',
           tabId: tab.id,
@@ -145,7 +178,11 @@
         request: {
           initiator: getServerURL('a.com'),
           method: 'GET',
+          documentId: 8,
           frameId: mparchEnabled ? 11 : 7,
+          documentLifecycle: 'active',
+          frameType: 'fenced_frame',
+          parentDocumentId: 7,
           parentFrameId: 0,
           type: 'image',
           tabId: tab.id,
diff --git a/chrome/test/data/extensions/api_test/declarative_net_request/on_rules_matched_debug/background.js b/chrome/test/data/extensions/api_test/declarative_net_request/on_rules_matched_debug/background.js
index 08c68d4..fdbcf7a3 100644
--- a/chrome/test/data/extensions/api_test/declarative_net_request/on_rules_matched_debug/background.js
+++ b/chrome/test/data/extensions/api_test/declarative_net_request/on_rules_matched_debug/background.js
@@ -37,6 +37,8 @@
   // The request ID may not be known but should be populated.
   chrome.test.assertTrue(matchedRule.request.hasOwnProperty('requestId'));
   delete matchedRule.request.requestId;
+  chrome.test.assertTrue(matchedRule.request.hasOwnProperty('documentId'));
+  delete matchedRule.request.documentId;
 
   chrome.test.assertEq(expectedRuleInfo, matchedRule);
 }
@@ -73,6 +75,8 @@
               request: {
                 initiator: `chrome-extension://${chrome.runtime.id}`,
                 method: 'GET',
+                documentLifecycle: 'active',
+                frameType: 'outermost_frame',
                 frameId: 0,
                 parentFrameId: -1,
                 tabId: tab.id,
@@ -99,6 +103,8 @@
         request: {
           initiator: `chrome-extension://${chrome.runtime.id}`,
           method: 'GET',
+          documentLifecycle: 'active',
+          frameType: 'outermost_frame',
           frameId: 0,
           parentFrameId: -1,
           tabId: tab.id,
diff --git a/chrome/test/data/webui/chromeos/personalization_app/google_photos_photos_by_album_id_element_test.ts b/chrome/test/data/webui/chromeos/personalization_app/google_photos_photos_by_album_id_element_test.ts
index a051f6870..0d183c44 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/google_photos_photos_by_album_id_element_test.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/google_photos_photos_by_album_id_element_test.ts
@@ -2,18 +2,20 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {GooglePhotosPhotosByAlbumId, promisifyWallpaperControllerFunctionsForTesting} from 'chrome://personalization/trusted/wallpaper/google_photos_photos_by_album_id_element.js';
-
+import {GooglePhotosPhoto} from 'chrome://personalization/trusted/personalization_app.mojom-webui.js';
+import {GooglePhotosPhotosByAlbumId} from 'chrome://personalization/trusted/wallpaper/google_photos_photos_by_album_id_element.js';
+import {WallpaperGridItem} from 'chrome://personalization/trusted/wallpaper/wallpaper_grid_item_element.js';
 import {assertEquals} from 'chrome://webui-test/chai_assert.js';
 import {waitAfterNextRender} from 'chrome://webui-test/test_util.js';
 
 import {baseSetup, initElement, teardownElement} from './personalization_app_test_utils.js';
 import {TestPersonalizationStore} from './test_personalization_store.js';
+import {TestWallpaperProvider} from './test_wallpaper_interface_provider.js';
 
 export function GooglePhotosPhotosByAlbumIdTest() {
   let googlePhotosPhotosByAlbumIdElement: GooglePhotosPhotosByAlbumId|null;
-
   let personalizationStore: TestPersonalizationStore;
+  let wallpaperProvider: TestWallpaperProvider;
 
   /**
    * Returns all matches for |selector| in
@@ -29,6 +31,7 @@
   setup(() => {
     const mocks = baseSetup();
     personalizationStore = mocks.personalizationStore;
+    wallpaperProvider = mocks.wallpaperProvider;
   });
 
   teardown(async () => {
@@ -37,9 +40,27 @@
   });
 
   test('displays photos for the selected album id', async () => {
-    personalizationStore.data.wallpaper.googlePhotos.photosByAlbumId = {};
-    personalizationStore.data.wallpaper.loading.googlePhotos
-        .photosByAlbumId = {};
+    const photosByAlbumId: Record<string, GooglePhotosPhoto[]> = {
+      '1': [
+        {
+          id: '9bd1d7a3-f995-4445-be47-53c5b58ce1cb',
+          date: {data: []},
+          url: {url: 'foo.com'}
+        },
+        {
+          id: '0ec40478-9712-42e1-b5bf-3e75870ca042',
+          date: {data: []},
+          url: {url: 'bar.com'}
+        },
+      ],
+      '2': [
+        {
+          id: '0a268a37-877a-4936-81d4-38cc84b0f596',
+          date: {data: []},
+          url: {url: 'baz.com'}
+        },
+      ],
+    };
 
     googlePhotosPhotosByAlbumIdElement =
         initElement(GooglePhotosPhotosByAlbumId, {hidden: false});
@@ -49,17 +70,14 @@
     const photoSelector = 'wallpaper-grid-item:not([hidden]).photo';
     assertEquals(querySelectorAll(photoSelector)!.length, 0);
 
-    const {fetchGooglePhotosAlbum: fetchGooglePhotosAlbumPromise} =
-        promisifyWallpaperControllerFunctionsForTesting();
-
     // Select an album id. Photos should be absent since they are not loaded.
     googlePhotosPhotosByAlbumIdElement.setAttribute('album-id', '1');
     await waitAfterNextRender(googlePhotosPhotosByAlbumIdElement);
     assertEquals(querySelectorAll(photoSelector)!.length, 0);
 
     // Expect a request to load photos for the selected album id.
-    const [, , albumId] = await fetchGooglePhotosAlbumPromise;
-    assertEquals(albumId, '1');
+    await wallpaperProvider.whenCalled('fetchGooglePhotosPhotos');
+    assertEquals(wallpaperProvider.getArgs('fetchGooglePhotosPhotos')[0], '1');
 
     // Start loading photos for the selected album id. Photos should still be
     // absent since they are still not loaded.
@@ -77,7 +95,7 @@
     // album id.
     personalizationStore.data.wallpaper.googlePhotos.photosByAlbumId = {
       ...personalizationStore.data.wallpaper.googlePhotos.photosByAlbumId,
-      '2': Array.from({length: 50}),
+      '2': photosByAlbumId['2'],
     };
     personalizationStore.data.wallpaper.loading.googlePhotos.photosByAlbumId = {
       ...personalizationStore.data.wallpaper.loading.googlePhotos
@@ -92,7 +110,7 @@
     // present since they are finished loading for the selected album id.
     personalizationStore.data.wallpaper.googlePhotos.photosByAlbumId = {
       ...personalizationStore.data.wallpaper.googlePhotos.photosByAlbumId,
-      '1': Array.from({length: 100}),
+      '1': photosByAlbumId['1'],
     };
     personalizationStore.data.wallpaper.loading.googlePhotos.photosByAlbumId = {
       ...personalizationStore.data.wallpaper.loading.googlePhotos
@@ -101,14 +119,19 @@
     };
     personalizationStore.notifyObservers();
     await waitAfterNextRender(googlePhotosPhotosByAlbumIdElement);
-    assertEquals(querySelectorAll(photoSelector)!.length, 100);
+    const photosEls = querySelectorAll(photoSelector) as WallpaperGridItem[];
+    assertEquals(photosEls.length, photosByAlbumId['1']?.length);
+    photosEls.forEach((photoEl, i) => {
+      assertEquals(photoEl.imageSrc, photosByAlbumId['1']![i]!.url.url);
+    });
 
     // Select the other album id for which data is already loaded. Photos should
     // immediately update since they are already loaded for the selected album
     // id.
     googlePhotosPhotosByAlbumIdElement.setAttribute('album-id', '2');
     await waitAfterNextRender(googlePhotosPhotosByAlbumIdElement);
-    assertEquals(querySelectorAll(photoSelector)!.length, 50);
+    assertEquals(
+        querySelectorAll(photoSelector)!.length, photosByAlbumId['2']?.length);
 
     // Un-select the album id. Photos should be absent since no album id is
     // selected.
diff --git a/chrome/test/data/webui/chromeos/personalization_app/personalization_app_controller_test.ts b/chrome/test/data/webui/chromeos/personalization_app/personalization_app_controller_test.ts
index 16a3f2d..f1660a5 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/personalization_app_controller_test.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/personalization_app_controller_test.ts
@@ -5,7 +5,7 @@
 import 'chrome://personalization/strings.m.js';
 import 'chrome://webui-test/mojo_webui_test_support.js';
 
-import {GooglePhotosAlbum} from 'chrome://personalization/trusted/personalization_app.mojom-webui.js';
+import {GooglePhotosAlbum, GooglePhotosPhoto} from 'chrome://personalization/trusted/personalization_app.mojom-webui.js';
 import * as wallpaperAction from 'chrome://personalization/trusted/wallpaper/wallpaper_actions.js';
 import {fetchCollections, fetchGooglePhotosAlbum, fetchLocalData, getLocalImages, initializeBackdropData, initializeGooglePhotosData, selectWallpaper} from 'chrome://personalization/trusted/wallpaper/wallpaper_controller.js';
 import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
@@ -190,9 +190,19 @@
   });
 
   test('sets Google Photos album in store', async () => {
+    loadTimeData.overrideValues({isGooglePhotosIntegrationEnabled: true});
+
     const album = new GooglePhotosAlbum();
     album.id = '9bd1d7a3-f995-4445-be47-53c5b58ce1cb';
 
+    const photos: GooglePhotosPhoto[] = [{
+      id: '9bd1d7a3-f995-4445-be47-53c5b58ce1cb',
+      date: {data: []},
+      url: {url: 'foo.com'}
+    }];
+
+    wallpaperProvider.setGooglePhotosPhotosByAlbumId(album.id, photos);
+
     // Attempts to `fetchGooglePhotosAlbum()` will fail unless the entire list
     // of Google Photos albums has already been fetched and saved to the store.
     personalizationStore.dispatch(
@@ -213,7 +223,7 @@
           {
             name: 'set_google_photos_album',
             albumId: album.id,
-            photos: Array.from({length: 1000}),
+            photos: photos,
           },
         ],
         personalizationStore.actions);
@@ -260,7 +270,7 @@
               ],
               photos: undefined,
               photosByAlbumId: {
-                [album.id]: Array.from({length: 1000}),
+                [album.id]: photos,
               },
             },
           },
diff --git a/chrome/test/data/webui/chromeos/personalization_app/test_wallpaper_interface_provider.ts b/chrome/test/data/webui/chromeos/personalization_app/test_wallpaper_interface_provider.ts
index 4297c7b..f286426 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/test_wallpaper_interface_provider.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/test_wallpaper_interface_provider.ts
@@ -97,6 +97,8 @@
   private googlePhotosAlbums_: GooglePhotosAlbum[]|undefined = [];
   private googlePhotosCount_: number = 0;
   private googlePhotosPhotos_: GooglePhotosPhoto[]|undefined = [];
+  private googlePhotosPhotosByAlbumId_:
+      Record<string, GooglePhotosPhoto[]|undefined> = {};
   localImages: FilePath[]|null;
   localImageData: Record<string, string>;
   currentWallpaper: CurrentWallpaper;
@@ -153,12 +155,13 @@
     return Promise.resolve({count});
   }
 
-  fetchGooglePhotosPhotos() {
-    this.methodCalled('fetchGooglePhotosPhotos');
+  fetchGooglePhotosPhotos(albumId: string) {
+    this.methodCalled('fetchGooglePhotosPhotos', albumId);
     const response = new FetchGooglePhotosPhotosResponse();
     response.photos =
         loadTimeData.getBoolean('isGooglePhotosIntegrationEnabled') ?
-        this.googlePhotosPhotos_ :
+        albumId ? this.googlePhotosPhotosByAlbumId_[albumId] :
+                  this.googlePhotosPhotos_ :
         undefined;
     response.resumeToken = undefined;
     return Promise.resolve({response});
@@ -244,6 +247,11 @@
     this.googlePhotosPhotos_ = googlePhotosPhotos;
   }
 
+  setGooglePhotosPhotosByAlbumId(
+      albumId: string, googlePhotosPhotos: GooglePhotosPhoto[]|undefined) {
+    this.googlePhotosPhotosByAlbumId_[albumId] = googlePhotosPhotos;
+  }
+
   setImages(images: WallpaperImage[]) {
     this.images_ = images;
   }
diff --git a/chrome/test/data/webui/extensions/BUILD.gn b/chrome/test/data/webui/extensions/BUILD.gn
index 6f761a72..01224065 100644
--- a/chrome/test/data/webui/extensions/BUILD.gn
+++ b/chrome/test/data/webui/extensions/BUILD.gn
@@ -29,8 +29,8 @@
   "host_permissions_toggle_list_test.ts",
   "item_list_test.ts",
   "item_test.ts",
-  "keyboard_shortcuts_test.js",
-  "load_error_test.js",
+  "keyboard_shortcuts_test.ts",
+  "load_error_test.ts",
   "manager_test.ts",
   "manager_test_with_activity_log_flag.ts",
   "manager_test_with_id_query_param.ts",
@@ -51,8 +51,8 @@
 
 if (is_chromeos_ash) {
   non_preprocessed_files += [
-    "kiosk_mode_manager_unit_test.js",
-    "kiosk_mode_test.js",
+    "kiosk_mode_manager_unit_test.ts",
+    "kiosk_mode_test.ts",
     "test_kiosk_browser_proxy.ts",
   ]
 }
diff --git a/chrome/test/data/webui/extensions/keyboard_shortcuts_test.js b/chrome/test/data/webui/extensions/keyboard_shortcuts_test.js
deleted file mode 100644
index 31ba049..0000000
--- a/chrome/test/data/webui/extensions/keyboard_shortcuts_test.js
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright 2016 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.
-
-/** @fileoverview Suite of tests for extension-keyboard-shortcuts. */
-
-import {isValidKeyCode, Key, keystrokeToString} from 'chrome://extensions/extensions.js';
-import {assert} from 'chrome://resources/js/assert.m.js';
-import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
-
-import {isChildVisible} from 'chrome://webui-test/test_util.js';
-
-import {TestService} from './test_service.js';
-import {createExtensionInfo} from './test_util.js';
-
-window.extension_shortcut_tests = {};
-extension_shortcut_tests.suiteName = 'ExtensionShortcutTest';
-/** @enum {string} */
-extension_shortcut_tests.TestNames = {
-  IsValidKeyCode: 'isValidKeyCode',
-  KeyStrokeToString: 'keystrokeToString',
-  Layout: 'Layout',
-  ScopeChange: 'ScopeChange',
-};
-
-suite(extension_shortcut_tests.suiteName, function() {
-  /** @type {KeyboardShortcuts} */
-  let keyboardShortcuts;
-  /** @type {chrome.developerPrivate.ExtensionInfo} */
-  let noCommands;
-  /** @type {chrome.developerPrivate.ExtensionInfo} */
-  let oneCommand;
-  /** @type {chrome.developerPrivate.ExtensionInfo} */
-  let twoCommands;
-
-  setup(function() {
-    document.body.innerHTML = '';
-    keyboardShortcuts = document.createElement('extensions-keyboard-shortcuts');
-    keyboardShortcuts.delegate = new TestService();
-
-    noCommands = createExtensionInfo({id: 'a'.repeat(32)});
-    oneCommand = createExtensionInfo({
-      id: 'b'.repeat(32),
-      commands: [{
-        description: 'Description',
-        keybinding: 'Ctrl+W',
-        name: 'bCommand',
-        isActive: true,
-        scope: 'CHROME',
-        isExtensionAction: true,
-      }]
-    });
-    twoCommands = createExtensionInfo({
-      id: 'c'.repeat(32),
-      commands: [
-        {
-          description: 'Another Description',
-          keybinding: 'Alt+F4',
-          name: 'cCommand',
-          isActive: true,
-          scope: 'GLOBAL',
-          isExtensionAction: false,
-        },
-        {
-          description: 'Yet Another Description',
-          keybinding: '',
-          name: 'cCommand2',
-          isActive: false,
-          scope: 'CHROME',
-          isExtensionAction: false,
-        }
-      ]
-    });
-
-    keyboardShortcuts.set('items', [noCommands, oneCommand, twoCommands]);
-
-    document.body.appendChild(keyboardShortcuts);
-
-    flush();
-  });
-
-  test(assert(extension_shortcut_tests.TestNames.Layout), function() {
-    const isVisibleOnCard = function(e, s) {
-      // We check the light DOM in the card because it's a regular old div,
-      // rather than a fancy-schmancy custom element.
-      return isChildVisible(e, s, true);
-    };
-    const cards = keyboardShortcuts.shadowRoot.querySelector('#container')
-                      .querySelectorAll('.shortcut-card');
-    assertEquals(2, cards.length);
-
-    const card1 = cards[0];
-    expectEquals(
-        oneCommand.name, card1.querySelector('.card-title span').textContent);
-    let commands = card1.querySelectorAll('.command-entry');
-    assertEquals(1, commands.length);
-    expectTrue(isVisibleOnCard(commands[0], '.command-name'));
-    expectTrue(isVisibleOnCard(commands[0], 'select.md-select'));
-
-    const card2 = cards[1];
-    commands = card2.querySelectorAll('.command-entry');
-    assertEquals(2, commands.length);
-  });
-
-  test(extension_shortcut_tests.TestNames.IsValidKeyCode, function() {
-    expectTrue(isValidKeyCode('A'.charCodeAt(0)));
-    expectTrue(isValidKeyCode('F'.charCodeAt(0)));
-    expectTrue(isValidKeyCode('Z'.charCodeAt(0)));
-    expectTrue(isValidKeyCode('4'.charCodeAt(0)));
-    expectTrue(isValidKeyCode(Key.PageUp));
-    expectTrue(isValidKeyCode(Key.MediaPlayPause));
-    expectTrue(isValidKeyCode(Key.Down));
-    expectFalse(isValidKeyCode(16));   // Shift
-    expectFalse(isValidKeyCode(17));   // Ctrl
-    expectFalse(isValidKeyCode(18));   // Alt
-    expectFalse(isValidKeyCode(113));  // F2
-    expectFalse(isValidKeyCode(144));  // Num Lock
-    expectFalse(isValidKeyCode(43));   // +
-    expectFalse(isValidKeyCode(27));   // Escape
-  });
-
-  test(extension_shortcut_tests.TestNames.KeyStrokeToString, function() {
-    // Creating an event with the KeyboardEvent ctor doesn't work. Fake it.
-    const e = {keyCode: 'A'.charCodeAt(0)};
-    expectEquals('A', keystrokeToString(e));
-    e.ctrlKey = true;
-    expectEquals('Ctrl+A', keystrokeToString(e));
-    e.shiftKey = true;
-    expectEquals('Ctrl+Shift+A', keystrokeToString(e));
-  });
-
-  test(extension_shortcut_tests.TestNames.ScopeChange, function() {
-    const selectElement = keyboardShortcuts.shadowRoot.querySelector('select');
-    selectElement.value = 'GLOBAL';
-    selectElement.dispatchEvent(new CustomEvent('change'));
-    return keyboardShortcuts.delegate.whenCalled('updateExtensionCommandScope')
-        .then(params => {
-          assertEquals(oneCommand.id, params[0]);
-          assertEquals(oneCommand.commands[0].name, params[1]);
-          assertEquals(selectElement.value, params[2]);
-        });
-  });
-});
diff --git a/chrome/test/data/webui/extensions/keyboard_shortcuts_test.ts b/chrome/test/data/webui/extensions/keyboard_shortcuts_test.ts
new file mode 100644
index 0000000..27d9e80
--- /dev/null
+++ b/chrome/test/data/webui/extensions/keyboard_shortcuts_test.ts
@@ -0,0 +1,148 @@
+// Copyright 2016 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.
+
+/** @fileoverview Suite of tests for extension-keyboard-shortcuts. */
+
+import {ExtensionsKeyboardShortcutsElement, isValidKeyCode, Key, keystrokeToString} from 'chrome://extensions/extensions.js';
+import {assert} from 'chrome://resources/js/assert.m.js';
+import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {assertEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
+import {isChildVisible} from 'chrome://webui-test/test_util.js';
+
+import {TestService} from './test_service.js';
+import {createExtensionInfo} from './test_util.js';
+
+const extension_shortcut_tests = {
+  suiteName: 'ExtensionShortcutTest',
+  TestNames: {
+    IsValidKeyCode: 'isValidKeyCode',
+    KeyStrokeToString: 'keystrokeToString',
+    Layout: 'Layout',
+    ScopeChange: 'ScopeChange',
+  },
+};
+
+Object.assign(window, {extension_shortcut_tests});
+
+suite(extension_shortcut_tests.suiteName, function() {
+  let keyboardShortcuts: ExtensionsKeyboardShortcutsElement;
+  let noCommands: chrome.developerPrivate.ExtensionInfo;
+  let oneCommand: chrome.developerPrivate.ExtensionInfo;
+  let twoCommands: chrome.developerPrivate.ExtensionInfo;
+  let testDelegate: TestService;
+
+  setup(function() {
+    document.body.innerHTML = '';
+    keyboardShortcuts = document.createElement('extensions-keyboard-shortcuts');
+    testDelegate = new TestService();
+    keyboardShortcuts.delegate = testDelegate;
+
+    noCommands = createExtensionInfo({id: 'a'.repeat(32)});
+    oneCommand = createExtensionInfo({
+      id: 'b'.repeat(32),
+      commands: [{
+        description: 'Description',
+        keybinding: 'Ctrl+W',
+        name: 'bCommand',
+        isActive: true,
+        scope: chrome.developerPrivate.CommandScope.CHROME,
+        isExtensionAction: true,
+      }]
+    });
+    twoCommands = createExtensionInfo({
+      id: 'c'.repeat(32),
+      commands: [
+        {
+          description: 'Another Description',
+          keybinding: 'Alt+F4',
+          name: 'cCommand',
+          isActive: true,
+          scope: chrome.developerPrivate.CommandScope.GLOBAL,
+          isExtensionAction: false,
+        },
+        {
+          description: 'Yet Another Description',
+          keybinding: '',
+          name: 'cCommand2',
+          isActive: false,
+          scope: chrome.developerPrivate.CommandScope.CHROME,
+          isExtensionAction: false,
+        }
+      ]
+    });
+
+    keyboardShortcuts.set('items', [noCommands, oneCommand, twoCommands]);
+
+    document.body.appendChild(keyboardShortcuts);
+
+    flush();
+  });
+
+  test(assert(extension_shortcut_tests.TestNames.Layout), function() {
+    function isVisibleOnCard(e: HTMLElement, s: string): boolean {
+      // We check the light DOM in the card because it's a regular old div,
+      // rather than a fancy-schmancy custom element.
+      return isChildVisible(e, s, true);
+    }
+    const cards = keyboardShortcuts.shadowRoot!.querySelector('#container')!
+                      .querySelectorAll('.shortcut-card');
+    assertEquals(2, cards.length);
+
+    const card1 = cards[0]!;
+    assertEquals(
+        oneCommand.name,
+        card1.querySelector<HTMLElement>('.card-title span')!.textContent!);
+    let commands = card1.querySelectorAll<HTMLElement>('.command-entry');
+    assertEquals(1, commands.length);
+    assertTrue(isVisibleOnCard(commands[0]!, '.command-name'));
+    assertTrue(isVisibleOnCard(commands[0]!, 'select.md-select'));
+
+    const card2 = cards[1]!;
+    commands = card2.querySelectorAll('.command-entry');
+    assertEquals(2, commands.length);
+  });
+
+  test(extension_shortcut_tests.TestNames.IsValidKeyCode, function() {
+    assertTrue(isValidKeyCode('A'.charCodeAt(0)));
+    assertTrue(isValidKeyCode('F'.charCodeAt(0)));
+    assertTrue(isValidKeyCode('Z'.charCodeAt(0)));
+    assertTrue(isValidKeyCode('4'.charCodeAt(0)));
+    assertTrue(isValidKeyCode(Key.PageUp));
+    assertTrue(isValidKeyCode(Key.MediaPlayPause));
+    assertTrue(isValidKeyCode(Key.Down));
+    assertFalse(isValidKeyCode(16));   // Shift
+    assertFalse(isValidKeyCode(17));   // Ctrl
+    assertFalse(isValidKeyCode(18));   // Alt
+    assertFalse(isValidKeyCode(113));  // F2
+    assertFalse(isValidKeyCode(144));  // Num Lock
+    assertFalse(isValidKeyCode(43));   // +
+    assertFalse(isValidKeyCode(27));   // Escape
+  });
+
+  test(extension_shortcut_tests.TestNames.KeyStrokeToString, function() {
+    const charCodeA = 'A'.charCodeAt(0);
+    let e = new KeyboardEvent('keydown', {keyCode: charCodeA});
+    assertEquals('A', keystrokeToString(e));
+    e = new KeyboardEvent('keydown', {keyCode: charCodeA, ctrlKey: true});
+    assertEquals('Ctrl+A', keystrokeToString(e));
+    e = new KeyboardEvent(
+        'keydown', {keyCode: charCodeA, ctrlKey: true, shiftKey: true});
+    assertEquals('Ctrl+Shift+A', keystrokeToString(e));
+  });
+
+  test(extension_shortcut_tests.TestNames.ScopeChange, function() {
+    const selectElement = keyboardShortcuts.shadowRoot!.querySelector('select');
+    assertTrue(!!selectElement);
+    selectElement.value = 'GLOBAL';
+    selectElement.dispatchEvent(
+        new CustomEvent('change', {bubbles: true, composed: true}));
+    return testDelegate.whenCalled('updateExtensionCommandScope')
+        .then(params => {
+          assertEquals(oneCommand.id, params[0]);
+          assertEquals(oneCommand.commands[0]!.name, params[1]);
+          assertEquals(selectElement.value, params[2]);
+        });
+  });
+});
diff --git a/chrome/test/data/webui/extensions/kiosk_mode_manager_unit_test.js b/chrome/test/data/webui/extensions/kiosk_mode_manager_unit_test.ts
similarity index 61%
rename from chrome/test/data/webui/extensions/kiosk_mode_manager_unit_test.js
rename to chrome/test/data/webui/extensions/kiosk_mode_manager_unit_test.ts
index 51d2210..ce07706 100644
--- a/chrome/test/data/webui/extensions/kiosk_mode_manager_unit_test.js
+++ b/chrome/test/data/webui/extensions/kiosk_mode_manager_unit_test.ts
@@ -8,30 +8,29 @@
  * chrome.developerPrivate API.
  */
 
-import {KioskBrowserProxyImpl, Service} from 'chrome://extensions/extensions.js';
+import {ExtensionsManagerElement, KioskBrowserProxyImpl, Service} from 'chrome://extensions/extensions.js';
 import {assert} from 'chrome://resources/js/assert.m.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
+import {assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
 import {TestKioskBrowserProxy} from './test_kiosk_browser_proxy.js';
 import {TestService} from './test_service.js';
 
-window.extension_manager_unit_tests = {};
-extension_manager_unit_tests.suiteName = 'ExtensionManagerUnitTest';
-
-/** @enum {string} */
-extension_manager_unit_tests.TestNames = {
-  KioskMode: 'kiosk mode',
+const extension_manager_unit_tests = {
+  suiteName: 'ExtensionManagerUnitTest',
+  TestNames: {
+    KioskMode: 'kiosk mode',
+  },
 };
 
+Object.assign(window, {extension_manager_unit_tests});
+
 suite(extension_manager_unit_tests.suiteName, function() {
-  /** @type {Manager} */
-  let manager;
+  let manager: ExtensionsManagerElement;
 
-  /** @type {TestService} */
-  let service;
+  let service: TestService;
 
-  /** @type {KioskBrowserProxy} */
-  let browserProxy;
+  let browserProxy: TestKioskBrowserProxy;
 
   setup(function() {
     browserProxy = new TestKioskBrowserProxy();
@@ -54,16 +53,16 @@
   });
 
   test(assert(extension_manager_unit_tests.TestNames.KioskMode), function() {
-    expectFalse(!!manager.shadowRoot.querySelector('extensions-kiosk-dialog'));
+    assertFalse(!!manager.shadowRoot!.querySelector('extensions-kiosk-dialog'));
 
     return browserProxy.whenCalled('initializeKioskAppSettings').then(() => {
-      expectTrue(
-          manager.shadowRoot.querySelector('extensions-toolbar').kioskEnabled);
-      manager.shadowRoot.querySelector('extensions-toolbar')
-          .dispatchEvent(
-              new CustomEvent('kiosk-tap', {bubbles: true, composed: true}));
+      assertTrue(manager.shadowRoot!.querySelector(
+                                        'extensions-toolbar')!.kioskEnabled);
+      manager.shadowRoot!.querySelector('extensions-toolbar')!.dispatchEvent(
+          new CustomEvent('kiosk-tap', {bubbles: true, composed: true}));
       flush();
-      expectTrue(!!manager.shadowRoot.querySelector('extensions-kiosk-dialog'));
+      assertTrue(
+          !!manager.shadowRoot!.querySelector('extensions-kiosk-dialog'));
     });
   });
 });
diff --git a/chrome/test/data/webui/extensions/kiosk_mode_test.js b/chrome/test/data/webui/extensions/kiosk_mode_test.js
deleted file mode 100644
index f7250365..0000000
--- a/chrome/test/data/webui/extensions/kiosk_mode_test.js
+++ /dev/null
@@ -1,250 +0,0 @@
-// Copyright 2018 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.
-
-/** @fileoverview Suite of tests for extension-kiosk-dialog. */
-
-import {KioskBrowserProxyImpl} from 'chrome://extensions/extensions.js';
-import {assert} from 'chrome://resources/js/assert.m.js';
-import {webUIListenerCallback} from 'chrome://resources/js/cr.m.js';
-import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
-
-import {flushTasks} from 'chrome://webui-test/test_util.js';
-
-import {TestKioskBrowserProxy} from './test_kiosk_browser_proxy.js';
-
-window.extension_kiosk_mode_tests = {};
-extension_kiosk_mode_tests.suiteName = 'kioskModeTests';
-/** @enum {string} */
-extension_kiosk_mode_tests.TestNames = {
-  AddButton: 'AddButton',
-  AddError: 'AddError',
-  AutoLaunch: 'AutoLaunch',
-  Bailout: 'Bailout',
-  Layout: 'Layout',
-  Updated: 'Updated',
-};
-
-suite(extension_kiosk_mode_tests.suiteName, function() {
-  /** @type {KioskBrowserProxy} */
-  let browserProxy;
-
-  /** @type {ExtensionsKioskDialogElement} */
-  let dialog;
-
-  /** @type {!Array<!KioskApp>} */
-  const basicApps = [
-    {
-      id: 'app_1',
-      name: 'App1 Name',
-      iconURL: '',
-      autoLaunch: false,
-      isLoading: false,
-    },
-    {
-      id: 'app_2',
-      name: 'App2 Name',
-      iconURL: '',
-      autoLaunch: false,
-      isLoading: false,
-    },
-  ];
-
-  /** @param {!KioskAppSettings} */
-  function setAppSettings(settings) {
-    const appSettings = {
-      apps: [],
-      disableBailout: false,
-      hasAutoLaunchApp: false,
-    };
-
-    browserProxy.setAppSettings(Object.assign({}, appSettings, settings));
-  }
-
-  /** @param {!KioskSettings} */
-  function setInitialSettings(settings) {
-    const initialSettings = {
-      kioskEnabled: true,
-      autoLaunchEnabled: false,
-    };
-
-    browserProxy.setInitialSettings(
-        Object.assign({}, initialSettings, settings));
-  }
-
-  /** @return {!Promise} */
-  function initPage() {
-    document.body.innerHTML = '';
-    browserProxy.reset();
-    dialog = document.createElement('extensions-kiosk-dialog');
-    document.body.appendChild(dialog);
-
-    return browserProxy.whenCalled('getKioskAppSettings')
-        .then(() => flushTasks());
-  }
-
-  setup(function() {
-    browserProxy = new TestKioskBrowserProxy();
-    setAppSettings({apps: basicApps.slice(0)});
-    KioskBrowserProxyImpl.setInstance(browserProxy);
-
-    return initPage();
-  });
-
-  test(assert(extension_kiosk_mode_tests.TestNames.Layout), function() {
-    const apps = basicApps.slice(0);
-    apps[1].autoLaunch = true;
-    apps[1].isLoading = true;
-    setAppSettings({apps: apps, hasAutoLaunchApp: true});
-
-    return initPage()
-        .then(() => {
-          const items = dialog.shadowRoot.querySelectorAll('.list-item');
-          expectEquals(items.length, 2);
-          expectTrue(items[0].textContent.includes(basicApps[0].name));
-          expectTrue(items[1].textContent.includes(basicApps[1].name));
-          // Second item should show the auto-lauch label.
-          expectTrue(items[0].querySelector('span').hidden);
-          expectFalse(items[1].querySelector('span').hidden);
-          // No permission to edit auto-launch so buttons should be hidden.
-          expectTrue(items[0].querySelector('cr-button').hidden);
-          expectTrue(items[1].querySelector('cr-button').hidden);
-          // Bailout checkbox should be hidden when auto-launch editing
-          // disabled.
-          expectTrue(dialog.shadowRoot.querySelector('cr-checkbox').hidden);
-
-          items[0].querySelector('.icon-delete-gray').click();
-          flush();
-          return browserProxy.whenCalled('removeKioskApp');
-        })
-        .then(appId => {
-          expectEquals(appId, basicApps[0].id);
-        });
-  });
-
-  test(assert(extension_kiosk_mode_tests.TestNames.AutoLaunch), function() {
-    const apps = basicApps.slice(0);
-    apps[1].autoLaunch = true;
-    setAppSettings({apps: apps, hasAutoLaunchApp: true});
-    setInitialSettings({autoLaunchEnabled: true});
-
-    let buttons;
-    return initPage()
-        .then(() => {
-          buttons = dialog.shadowRoot.querySelectorAll('.list-item cr-button');
-          // Has permission to edit auto-launch so buttons should be seen.
-          expectFalse(buttons[0].hidden);
-          expectFalse(buttons[1].hidden);
-
-          buttons[0].click();
-          return browserProxy.whenCalled('enableKioskAutoLaunch');
-        })
-        .then(appId => {
-          expectEquals(appId, basicApps[0].id);
-
-          buttons[1].click();
-          return browserProxy.whenCalled('disableKioskAutoLaunch');
-        })
-        .then(appId => {
-          expectEquals(appId, basicApps[1].id);
-        });
-  });
-
-  test(assert(extension_kiosk_mode_tests.TestNames.Bailout), function() {
-    const apps = basicApps.slice(0);
-    apps[1].autoLaunch = true;
-    setAppSettings({apps: apps, hasAutoLaunchApp: true});
-    setInitialSettings({autoLaunchEnabled: true});
-
-    expectFalse(dialog.$['confirm-dialog'].open);
-
-    let bailoutCheckbox;
-    return initPage()
-        .then(() => {
-          bailoutCheckbox = dialog.shadowRoot.querySelector('cr-checkbox');
-          // Bailout checkbox should be usable when auto-launching.
-          expectFalse(bailoutCheckbox.hidden);
-          expectFalse(bailoutCheckbox.disabled);
-          expectFalse(bailoutCheckbox.checked);
-
-          // Making sure canceling doesn't change anything.
-          bailoutCheckbox.click();
-          flush();
-          expectTrue(dialog.$['confirm-dialog'].open);
-
-          dialog.$['confirm-dialog'].querySelector('.cancel-button').click();
-          flush();
-          expectFalse(bailoutCheckbox.checked);
-          expectFalse(dialog.$['confirm-dialog'].open);
-          expectTrue(dialog.$.dialog.open);
-
-          // Accepting confirmation dialog should trigger browserProxy call.
-          bailoutCheckbox.click();
-          flush();
-          expectTrue(dialog.$['confirm-dialog'].open);
-
-          dialog.$['confirm-dialog'].querySelector('.action-button').click();
-          flush();
-          expectTrue(bailoutCheckbox.checked);
-          expectFalse(dialog.$['confirm-dialog'].open);
-          expectTrue(dialog.$.dialog.open);
-          return browserProxy.whenCalled('setDisableBailoutShortcut');
-        })
-        .then(disabled => {
-          expectTrue(disabled);
-
-          // Test clicking on checkbox again should simply re-enable bailout.
-          browserProxy.reset();
-          bailoutCheckbox.click();
-          expectFalse(bailoutCheckbox.checked);
-          expectFalse(dialog.$['confirm-dialog'].open);
-          return browserProxy.whenCalled('setDisableBailoutShortcut');
-        })
-        .then(disabled => {
-          expectFalse(disabled);
-        });
-  });
-
-  test(assert(extension_kiosk_mode_tests.TestNames.AddButton), function() {
-    const addButton = dialog.$['add-button'];
-    expectTrue(!!addButton);
-    expectTrue(addButton.disabled);
-
-    const addInput = dialog.$['add-input'];
-    addInput.value = 'blah';
-    expectFalse(addButton.disabled);
-
-    addButton.click();
-    return browserProxy.whenCalled('addKioskApp').then(appId => {
-      expectEquals(appId, 'blah');
-    });
-  });
-
-  test(assert(extension_kiosk_mode_tests.TestNames.Updated), function() {
-    const items = dialog.shadowRoot.querySelectorAll('.list-item');
-    expectTrue(items[0].textContent.includes(basicApps[0].name));
-
-    const newName = 'completely different name';
-
-    webUIListenerCallback('kiosk-app-updated', {
-      id: basicApps[0].id,
-      name: newName,
-      iconURL: '',
-      autoLaunch: false,
-      isLoading: false,
-    });
-
-    expectFalse(items[0].textContent.includes(basicApps[0].name));
-    expectTrue(items[0].textContent.includes(newName));
-  });
-
-  test(assert(extension_kiosk_mode_tests.TestNames.AddError), function() {
-    const addInput = dialog.$['add-input'];
-
-    expectFalse(!!addInput.invalid);
-    webUIListenerCallback('kiosk-app-error', basicApps[0].id);
-
-    expectTrue(!!addInput.invalid);
-    expectTrue(addInput.errorMessage.includes(basicApps[0].id));
-  });
-});
diff --git a/chrome/test/data/webui/extensions/kiosk_mode_test.ts b/chrome/test/data/webui/extensions/kiosk_mode_test.ts
new file mode 100644
index 0000000..05d31b55
--- /dev/null
+++ b/chrome/test/data/webui/extensions/kiosk_mode_test.ts
@@ -0,0 +1,251 @@
+// Copyright 2018 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.
+
+/** @fileoverview Suite of tests for extension-kiosk-dialog. */
+
+import {CrCheckboxElement, ExtensionsKioskDialogElement, KioskApp, KioskAppSettings, KioskBrowserProxyImpl, KioskSettings} from 'chrome://extensions/extensions.js';
+import {assert} from 'chrome://resources/js/assert.m.js';
+import {webUIListenerCallback} from 'chrome://resources/js/cr.m.js';
+import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {assertEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
+import {flushTasks} from 'chrome://webui-test/test_util.js';
+
+import {TestKioskBrowserProxy} from './test_kiosk_browser_proxy.js';
+
+const extension_kiosk_mode_tests = {
+  suiteName: 'kioskModeTests',
+  TestNames: {
+    AddButton: 'AddButton',
+    AddError: 'AddError',
+    AutoLaunch: 'AutoLaunch',
+    Bailout: 'Bailout',
+    Layout: 'Layout',
+    Updated: 'Updated',
+  },
+};
+
+Object.assign(window, {extension_kiosk_mode_tests});
+
+suite(extension_kiosk_mode_tests.suiteName, function() {
+  let browserProxy: TestKioskBrowserProxy;
+
+  let dialog: ExtensionsKioskDialogElement;
+
+  const basicApps: KioskApp[] = [
+    {
+      id: 'app_1',
+      name: 'App1 Name',
+      iconURL: '',
+      autoLaunch: false,
+      isLoading: false,
+    },
+    {
+      id: 'app_2',
+      name: 'App2 Name',
+      iconURL: '',
+      autoLaunch: false,
+      isLoading: false,
+    },
+  ];
+
+  function setAppSettings(settings: Partial<KioskAppSettings>) {
+    const appSettings = {
+      apps: [],
+      disableBailout: false,
+      hasAutoLaunchApp: false,
+    };
+
+    browserProxy.setAppSettings(Object.assign(appSettings, settings));
+  }
+
+  function setInitialSettings(settings: Partial<KioskSettings>) {
+    const initialSettings = {
+      kioskEnabled: true,
+      autoLaunchEnabled: false,
+    };
+
+    browserProxy.setInitialSettings(Object.assign(initialSettings, settings));
+  }
+
+  function initPage(): Promise<void> {
+    document.body.innerHTML = '';
+    browserProxy.reset();
+    dialog = document.createElement('extensions-kiosk-dialog');
+    document.body.appendChild(dialog);
+
+    return browserProxy.whenCalled('getKioskAppSettings')
+        .then(() => flushTasks());
+  }
+
+  setup(function() {
+    browserProxy = new TestKioskBrowserProxy();
+    setAppSettings({apps: basicApps.slice(0)});
+    KioskBrowserProxyImpl.setInstance(browserProxy);
+
+    return initPage();
+  });
+
+  test(assert(extension_kiosk_mode_tests.TestNames.Layout), function() {
+    const apps = basicApps.slice(0);
+    apps[1]!.autoLaunch = true;
+    apps[1]!.isLoading = true;
+    setAppSettings({apps: apps, hasAutoLaunchApp: true});
+
+    return initPage()
+        .then(() => {
+          const items =
+              dialog.shadowRoot!.querySelectorAll<HTMLElement>('.list-item');
+          assertEquals(items.length, 2);
+          assertTrue(items[0]!.textContent!.includes(basicApps[0]!.name));
+          assertTrue(items[1]!.textContent!.includes(basicApps[1]!.name));
+          // Second item should show the auto-lauch label.
+          assertTrue(items[0]!.querySelector('span')!.hidden);
+          assertFalse(items[1]!.querySelector('span')!.hidden);
+          // No permission to edit auto-launch so buttons should be hidden.
+          assertTrue(items[0]!.querySelector('cr-button')!.hidden);
+          assertTrue(items[1]!.querySelector('cr-button')!.hidden);
+          // Bailout checkbox should be hidden when auto-launch editing
+          // disabled.
+          assertTrue(dialog.shadowRoot!.querySelector('cr-checkbox')!.hidden);
+
+          items[0]!.querySelector<HTMLElement>('.icon-delete-gray')!.click();
+          flush();
+          return browserProxy.whenCalled('removeKioskApp');
+        })
+        .then(appId => {
+          assertEquals(appId, basicApps[0]!.id);
+        });
+  });
+
+  test(assert(extension_kiosk_mode_tests.TestNames.AutoLaunch), function() {
+    const apps = basicApps.slice(0);
+    apps[1]!.autoLaunch = true;
+    setAppSettings({apps: apps, hasAutoLaunchApp: true});
+    setInitialSettings({autoLaunchEnabled: true});
+
+    let buttons: NodeListOf<HTMLElement>;
+    return initPage()
+        .then(() => {
+          buttons = dialog.shadowRoot!.querySelectorAll<HTMLElement>(
+              '.list-item cr-button');
+          // Has permission to edit auto-launch so buttons should be seen.
+          assertFalse(buttons[0]!.hidden);
+          assertFalse(buttons[1]!.hidden);
+
+          buttons[0]!.click();
+          return browserProxy.whenCalled('enableKioskAutoLaunch');
+        })
+        .then(appId => {
+          assertEquals(appId, basicApps[0]!.id);
+
+          buttons[1]!.click();
+          return browserProxy.whenCalled('disableKioskAutoLaunch');
+        })
+        .then(appId => {
+          assertEquals(appId, basicApps[1]!.id);
+        });
+  });
+
+  test(assert(extension_kiosk_mode_tests.TestNames.Bailout), function() {
+    const apps = basicApps.slice(0);
+    apps[1]!.autoLaunch = true;
+    setAppSettings({apps: apps, hasAutoLaunchApp: true});
+    setInitialSettings({autoLaunchEnabled: true});
+
+    assertFalse(dialog.$.confirmDialog.open);
+
+    let bailoutCheckbox: CrCheckboxElement;
+    return initPage()
+        .then(() => {
+          bailoutCheckbox = dialog.shadowRoot!.querySelector('cr-checkbox')!;
+          // Bailout checkbox should be usable when auto-launching.
+          assertFalse(bailoutCheckbox.hidden);
+          assertFalse(bailoutCheckbox.disabled);
+          assertFalse(bailoutCheckbox.checked);
+
+          // Making sure canceling doesn't change anything.
+          bailoutCheckbox.click();
+          flush();
+          assertTrue(dialog.$.confirmDialog.open);
+
+          dialog.$.confirmDialog.querySelector<HTMLElement>(
+                                    '.cancel-button')!.click();
+          flush();
+          assertFalse(bailoutCheckbox.checked);
+          assertFalse(dialog.$.confirmDialog.open);
+          assertTrue(dialog.$.dialog.open);
+
+          // Accepting confirmation dialog should trigger browserProxy call.
+          bailoutCheckbox.click();
+          flush();
+          assertTrue(dialog.$.confirmDialog.open);
+
+          dialog.$.confirmDialog.querySelector<HTMLElement>(
+                                    '.action-button')!.click();
+          flush();
+          assertTrue(bailoutCheckbox.checked);
+          assertFalse(dialog.$.confirmDialog.open);
+          assertTrue(dialog.$.dialog.open);
+          return browserProxy.whenCalled('setDisableBailoutShortcut');
+        })
+        .then(disabled => {
+          assertTrue(disabled);
+
+          // Test clicking on checkbox again should simply re-enable bailout.
+          browserProxy.reset();
+          bailoutCheckbox.click();
+          assertFalse(bailoutCheckbox.checked);
+          assertFalse(dialog.$.confirmDialog.open);
+          return browserProxy.whenCalled('setDisableBailoutShortcut');
+        })
+        .then(disabled => {
+          assertFalse(disabled);
+        });
+  });
+
+  test(assert(extension_kiosk_mode_tests.TestNames.AddButton), function() {
+    const addButton = dialog.$.addButton;
+    assertTrue(!!addButton);
+    assertTrue(addButton.disabled);
+
+    const addInput = dialog.$.addInput;
+    addInput.value = 'blah';
+    assertFalse(addButton.disabled);
+
+    addButton.click();
+    return browserProxy.whenCalled('addKioskApp').then(appId => {
+      assertEquals(appId, 'blah');
+    });
+  });
+
+  test(assert(extension_kiosk_mode_tests.TestNames.Updated), function() {
+    const items =
+        dialog.shadowRoot!.querySelectorAll<HTMLElement>('.list-item');
+    assertTrue(items[0]!.textContent!.includes(basicApps[0]!.name));
+
+    const newName = 'completely different name';
+
+    webUIListenerCallback('kiosk-app-updated', {
+      id: basicApps[0]!.id,
+      name: newName,
+      iconURL: '',
+      autoLaunch: false,
+      isLoading: false,
+    });
+
+    assertFalse(items[0]!.textContent!.includes(basicApps[0]!.name));
+    assertTrue(items[0]!.textContent!.includes(newName));
+  });
+
+  test(assert(extension_kiosk_mode_tests.TestNames.AddError), function() {
+    const addInput = dialog.$.addInput;
+
+    assertFalse(!!addInput.invalid);
+    webUIListenerCallback('kiosk-app-error', basicApps[0]!.id);
+
+    assertTrue(!!addInput.invalid);
+    assertTrue(addInput.errorMessage!.includes(basicApps[0]!.id));
+  });
+});
diff --git a/chrome/test/data/webui/extensions/load_error_test.js b/chrome/test/data/webui/extensions/load_error_test.js
deleted file mode 100644
index baf81780..0000000
--- a/chrome/test/data/webui/extensions/load_error_test.js
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2017 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.
-
-/** @fileoverview Suite of tests for extension-load-error. */
-
-import 'chrome://extensions/extensions.js';
-
-import {assert} from 'chrome://resources/js/assert.m.js';
-import {TestService} from './test_service.js';
-import {isElementVisible} from './test_util.js';
-
-window.extension_load_error_tests = {};
-extension_load_error_tests.suiteName = 'ExtensionLoadErrorTests';
-/** @enum {string} */
-extension_load_error_tests.TestNames = {
-  RetryError: 'RetryError',
-  RetrySuccess: 'RetrySuccess',
-  CodeSection: 'Code Section',
-};
-
-suite(extension_load_error_tests.suiteName, function() {
-  /** @type {ExtensionsLoadErrorElement} */
-  let loadError;
-
-  /** @type {MockDelegate} */
-  let mockDelegate;
-
-  const fakeGuid = 'uniqueId';
-
-  const stubLoadError = {
-    error: 'error',
-    path: 'some/path/',
-    retryGuid: fakeGuid,
-  };
-
-  setup(function() {
-    document.body.innerHTML = '';
-    mockDelegate = new TestService();
-    loadError = document.createElement('extensions-load-error');
-    loadError.delegate = mockDelegate;
-    loadError.loadError = stubLoadError;
-    document.body.appendChild(loadError);
-  });
-
-  test(assert(extension_load_error_tests.TestNames.RetryError), function() {
-    const dialogElement =
-        loadError.shadowRoot.querySelector('cr-dialog').getNative();
-    expectFalse(isElementVisible(dialogElement));
-    loadError.show();
-    expectTrue(isElementVisible(dialogElement));
-
-    mockDelegate.setRetryLoadUnpackedError(stubLoadError);
-    loadError.shadowRoot.querySelector('.action-button').click();
-    return mockDelegate.whenCalled('retryLoadUnpacked').then(arg => {
-      expectEquals(fakeGuid, arg);
-      expectTrue(isElementVisible(dialogElement));
-      loadError.shadowRoot.querySelector('.cancel-button').click();
-      expectFalse(isElementVisible(dialogElement));
-    });
-  });
-
-  test(assert(extension_load_error_tests.TestNames.RetrySuccess), function() {
-    const dialogElement =
-        loadError.shadowRoot.querySelector('cr-dialog').getNative();
-    expectFalse(isElementVisible(dialogElement));
-    loadError.show();
-    expectTrue(isElementVisible(dialogElement));
-
-    loadError.shadowRoot.querySelector('.action-button').click();
-    return mockDelegate.whenCalled('retryLoadUnpacked').then(arg => {
-      expectEquals(fakeGuid, arg);
-      expectFalse(isElementVisible(dialogElement));
-    });
-  });
-
-  test(assert(extension_load_error_tests.TestNames.CodeSection), function() {
-    expectTrue(
-        loadError.$.code.shadowRoot.querySelector('#scroll-container').hidden);
-    const loadErrorWithSource = {
-      error: 'Some error',
-      path: '/some/path',
-      source: {
-        beforeHighlight: 'before',
-        highlight: 'highlight',
-        afterHighlight: 'after',
-      },
-    };
-
-    loadError.loadError = loadErrorWithSource;
-    expectFalse(
-        loadError.$.code.shadowRoot.querySelector('#scroll-container').hidden);
-  });
-});
diff --git a/chrome/test/data/webui/extensions/load_error_test.ts b/chrome/test/data/webui/extensions/load_error_test.ts
new file mode 100644
index 0000000..39242207
--- /dev/null
+++ b/chrome/test/data/webui/extensions/load_error_test.ts
@@ -0,0 +1,97 @@
+// Copyright 2017 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.
+
+/** @fileoverview Suite of tests for extension-load-error. */
+
+import 'chrome://extensions/extensions.js';
+
+import {ExtensionsLoadErrorElement} from 'chrome://extensions/extensions.js';
+import {assert} from 'chrome://resources/js/assert.m.js';
+import {assertEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
+import {TestService} from './test_service.js';
+import {isElementVisible} from './test_util.js';
+
+const extension_load_error_tests = {
+  suiteName: 'ExtensionLoadErrorTests',
+  TestNames: {
+    RetryError: 'RetryError',
+    RetrySuccess: 'RetrySuccess',
+    CodeSection: 'Code Section',
+  },
+};
+Object.assign(window, {extension_load_error_tests});
+
+suite(extension_load_error_tests.suiteName, function() {
+  let loadError: ExtensionsLoadErrorElement;
+
+  let mockDelegate: TestService;
+
+  const fakeGuid: string = 'uniqueId';
+
+  const stubLoadError = {
+    error: 'error',
+    path: 'some/path/',
+    retryGuid: fakeGuid,
+  };
+
+  setup(function() {
+    document.body.innerHTML = '';
+    mockDelegate = new TestService();
+    loadError = document.createElement('extensions-load-error');
+    loadError.delegate = mockDelegate;
+    loadError.loadError = stubLoadError;
+    document.body.appendChild(loadError);
+  });
+
+  test(assert(extension_load_error_tests.TestNames.RetryError), function() {
+    const dialogElement =
+        loadError.shadowRoot!.querySelector('cr-dialog')!.getNative();
+    assertFalse(isElementVisible(dialogElement));
+    loadError.show();
+    assertTrue(isElementVisible(dialogElement));
+
+    mockDelegate.setRetryLoadUnpackedError(stubLoadError);
+    loadError.shadowRoot!.querySelector<HTMLElement>('.action-button')!.click();
+    return mockDelegate.whenCalled('retryLoadUnpacked').then(arg => {
+      assertEquals(fakeGuid, arg);
+      assertTrue(isElementVisible(dialogElement));
+      loadError.shadowRoot!.querySelector<HTMLElement>(
+                               '.cancel-button')!.click();
+      assertFalse(isElementVisible(dialogElement));
+    });
+  });
+
+  test(assert(extension_load_error_tests.TestNames.RetrySuccess), function() {
+    const dialogElement =
+        loadError.shadowRoot!.querySelector('cr-dialog')!.getNative();
+    assertFalse(isElementVisible(dialogElement));
+    loadError.show();
+    assertTrue(isElementVisible(dialogElement));
+
+    loadError.shadowRoot!.querySelector<HTMLElement>('.action-button')!.click();
+    return mockDelegate.whenCalled('retryLoadUnpacked').then(arg => {
+      assertEquals(fakeGuid, arg);
+      assertFalse(isElementVisible(dialogElement));
+    });
+  });
+
+  test(assert(extension_load_error_tests.TestNames.CodeSection), function() {
+    assertTrue(loadError.$.code.shadowRoot!
+                   .querySelector<HTMLElement>('#scroll-container')!.hidden);
+    const loadErrorWithSource = {
+      error: 'Some error',
+      path: '/some/path',
+      retryGuid: '',
+      source: {
+        beforeHighlight: 'before',
+        highlight: 'highlight',
+        afterHighlight: 'after',
+      },
+    };
+
+    loadError.loadError = loadErrorWithSource;
+    assertFalse(loadError.$.code.shadowRoot!
+                    .querySelector<HTMLElement>('#scroll-container')!.hidden);
+  });
+});
diff --git a/chrome/test/data/webui/extensions/test_service.ts b/chrome/test/data/webui/extensions/test_service.ts
index 82fd1c5..221cdb6e 100644
--- a/chrome/test/data/webui/extensions/test_service.ts
+++ b/chrome/test/data/webui/extensions/test_service.ts
@@ -38,7 +38,7 @@
       'inspectItemView',
       'installDroppedFile',
       'loadUnpacked',
-      'loadUnpacked',
+      'loadUnpackedFromDrag',
       'notifyDragInstallInProgress',
       'openUrl',
       'packExtension',
diff --git a/chrome/updater/external_constants_override.cc b/chrome/updater/external_constants_override.cc
index 8de1ab1..99929d69 100644
--- a/chrome/updater/external_constants_override.cc
+++ b/chrome/updater/external_constants_override.cc
@@ -69,7 +69,7 @@
     case base::Value::Type::STRING:
       return {GURL(update_url_value.GetString())};
     case base::Value::Type::LIST:
-      return GURLVectorFromStringList(update_url_value.GetList());
+      return GURLVectorFromStringList(update_url_value.GetListDeprecated());
     default:
       LOG(FATAL) << "Unexpected type of override[" << kDevOverrideKeyUrl
                  << "]: " << base::Value::GetTypeName(update_url_value.type());
diff --git a/chrome/updater/mac/setup/setup.mm b/chrome/updater/mac/setup/setup.mm
index ca544e3..b5a3f8a9 100644
--- a/chrome/updater/mac/setup/setup.mm
+++ b/chrome/updater/mac/setup/setup.mm
@@ -337,6 +337,12 @@
 
 bool RemoveQuarantineAttributes(const base::FilePath& updater_bundle_path,
                                 const base::FilePath& updater_executable_path) {
+  if (!base::PathExists(updater_bundle_path)) {
+    VPLOG(1) << "Updater bundle path not found: "
+             << updater_bundle_path.value();
+    return false;
+  }
+
   if (!base::mac::RemoveQuarantineAttribute(updater_bundle_path)) {
     VPLOG(1) << "Could not remove com.apple.quarantine for the bundle.";
     return false;
diff --git a/chrome/updater/win/setup/setup_util.cc b/chrome/updater/win/setup/setup_util.cc
index 08466dd..03ba7735 100644
--- a/chrome/updater/win/setup/setup_util.cc
+++ b/chrome/updater/win/setup/setup_util.cc
@@ -253,10 +253,13 @@
   com_service_command.AppendSwitch(kEnableLoggingSwitch);
   com_service_command.AppendSwitchASCII(kLoggingModuleSwitch,
                                         kLoggingModuleSwitchValue);
+
+  // TODO(crbug.com/1292806) : SERVICE_DEMAND_START will change to
+  // SERVICE_AUTO_START once the Wake task is plumbed into the service startup.
   list->AddWorkItem(new installer::InstallServiceWorkItem(
       GetServiceName(internal_service).c_str(),
-      GetServiceDisplayName(internal_service).c_str(), com_service_command,
-      UPDATER_KEY,
+      GetServiceDisplayName(internal_service).c_str(), SERVICE_DEMAND_START,
+      com_service_command, UPDATER_KEY,
       internal_service ? GetSideBySideServers(UpdaterScope::kSystem)
                        : GetActiveServers(UpdaterScope::kSystem),
       {}));
diff --git a/chromecast/base/cast_features.cc b/chromecast/base/cast_features.cc
index c438d3d..725160e4 100644
--- a/chromecast/base/cast_features.cc
+++ b/chromecast/base/cast_features.cc
@@ -44,7 +44,7 @@
   DCHECK(!g_experiment_ids_initialized);
   DCHECK(list.is_list());
   std::unordered_set<int32_t> ids;
-  for (const auto& it : list.GetList()) {
+  for (const auto& it : list.GetListDeprecated()) {
     if (it.is_int()) {
       ids.insert(it.GetInt());
     } else {
diff --git a/chromeos/components/onc/onc_mapper.cc b/chromeos/components/onc/onc_mapper.cc
index f080728..1d64a8b2 100644
--- a/chromeos/components/onc/onc_mapper.cc
+++ b/chromeos/components/onc/onc_mapper.cc
@@ -112,7 +112,7 @@
 
   base::Value result_array(base::Value::Type::LIST);
   int original_index = 0;
-  for (const auto& entry : onc_array.GetList()) {
+  for (const auto& entry : onc_array.GetListDeprecated()) {
     base::Value result_entry =
         MapEntry(original_index, *array_signature.onc_array_entry_signature,
                  entry, nested_error);
diff --git a/chromeos/components/onc/onc_parsed_certificates.cc b/chromeos/components/onc/onc_parsed_certificates.cc
index 14554fe4..f908541 100644
--- a/chromeos/components/onc/onc_parsed_certificates.cc
+++ b/chromeos/components/onc/onc_parsed_certificates.cc
@@ -185,8 +185,9 @@
     return;
   }
 
-  for (size_t i = 0; i < onc_certificates.GetList().size(); ++i) {
-    const base::Value& onc_certificate = onc_certificates.GetList()[i];
+  for (size_t i = 0; i < onc_certificates.GetListDeprecated().size(); ++i) {
+    const base::Value& onc_certificate =
+        onc_certificates.GetListDeprecated()[i];
     DCHECK(onc_certificate.is_dict());
 
     VLOG(2) << "Parsing certificate at index " << i << ": " << onc_certificate;
diff --git a/chromeos/components/onc/onc_parsed_certificates_unittest.cc b/chromeos/components/onc/onc_parsed_certificates_unittest.cc
index 548a3e3..9cacdae 100644
--- a/chromeos/components/onc/onc_parsed_certificates_unittest.cc
+++ b/chromeos/components/onc/onc_parsed_certificates_unittest.cc
@@ -401,7 +401,7 @@
   {
     base::Value authority_web_trust_mangled = onc_certificates->Clone();
     base::Value* trust_bits =
-        authority_web_trust_mangled.GetList()[1].FindKeyOfType(
+        authority_web_trust_mangled.GetListDeprecated()[1].FindKeyOfType(
             "TrustBits", base::Value::Type::LIST);
     ASSERT_TRUE(trust_bits);
     trust_bits->GetListDeprecated()[0] = base::Value("UnknownTrustBit");
@@ -419,8 +419,8 @@
   // Mangle the guid part of an authority certificate.
   {
     base::Value authority_guid_mangled = onc_certificates->Clone();
-    authority_guid_mangled.GetList()[1].SetKey("GUID",
-                                               base::Value("otherguid"));
+    authority_guid_mangled.GetListDeprecated()[1].SetKey(
+        "GUID", base::Value("otherguid"));
 
     OncParsedCertificates parsed_authority_guid_mangled(authority_guid_mangled);
     EXPECT_FALSE(parsed_authority_guid_mangled.has_error());
@@ -433,7 +433,8 @@
   // Mangle the type part of an authority certificate.
   {
     base::Value authority_type_mangled = onc_certificates->Clone();
-    authority_type_mangled.GetList()[1].SetKey("Type", base::Value("Server"));
+    authority_type_mangled.GetListDeprecated()[1].SetKey("Type",
+                                                         base::Value("Server"));
 
     OncParsedCertificates parsed_authority_type_mangled(authority_type_mangled);
     EXPECT_FALSE(parsed_authority_type_mangled.has_error());
@@ -446,7 +447,7 @@
   // Mangle the X509 payload an authority certificate.
   {
     base::Value authority_x509_mangled = onc_certificates->Clone();
-    authority_x509_mangled.GetList()[1].SetKey("X509", base::Value(R"(
+    authority_x509_mangled.GetListDeprecated()[1].SetKey("X509", base::Value(R"(
                             -----BEGIN CERTIFICATE-----
                             MIICWDCCAcECAxAAATANBgkqhkiG9w0BAQQFADCBkzEVMBMGA1
                             UEChMMR29vZ2xlLCBJbm
@@ -485,7 +486,8 @@
   // Mangle the GUID of a client certificate.
   {
     base::Value client_guid_mangled = onc_certificates->Clone();
-    client_guid_mangled.GetList()[0].SetKey("GUID", base::Value("other-guid"));
+    client_guid_mangled.GetListDeprecated()[0].SetKey(
+        "GUID", base::Value("other-guid"));
 
     OncParsedCertificates parsed_client_guid_mangled(client_guid_mangled);
     EXPECT_FALSE(parsed_client_guid_mangled.has_error());
@@ -498,7 +500,8 @@
   // Mangle the PKCS12 payload of a client certificate.
   {
     base::Value client_pkcs12_mangled = onc_certificates->Clone();
-    client_pkcs12_mangled.GetList()[0].SetKey("PKCS12", base::Value("YQ=="));
+    client_pkcs12_mangled.GetListDeprecated()[0].SetKey("PKCS12",
+                                                        base::Value("YQ=="));
 
     OncParsedCertificates parsed_client_pkcs12_mangled(client_pkcs12_mangled);
     EXPECT_FALSE(parsed_client_pkcs12_mangled.has_error());
diff --git a/chromeos/components/onc/onc_utils.cc b/chromeos/components/onc/onc_utils.cc
index a49d6fd..a56309a 100644
--- a/chromeos/components/onc/onc_utils.cc
+++ b/chromeos/components/onc/onc_utils.cc
@@ -107,7 +107,7 @@
 // the Certificates section of ONC, which is passed in as |certificates|.
 CertPEMsByGUIDMap GetServerAndCACertsByGUID(const base::Value& certificates) {
   CertPEMsByGUIDMap certs_by_guid;
-  for (const auto& cert : certificates.GetList()) {
+  for (const auto& cert : certificates.GetListDeprecated()) {
     DCHECK(cert.is_dict());
 
     const std::string* guid = cert.FindStringKey(::onc::certificate::kGUID);
diff --git a/chromeos/components/quick_answers/OWNERS b/chromeos/components/quick_answers/OWNERS
new file mode 100644
index 0000000..68dba1bf
--- /dev/null
+++ b/chromeos/components/quick_answers/OWNERS
@@ -0,0 +1,2 @@
+updowndota@chromium.org
+xiaohuic@chromium.org
diff --git a/chromeos/components/quick_answers/utils/unit_converter.cc b/chromeos/components/quick_answers/utils/unit_converter.cc
index 0291ab3..ecdcaa6 100644
--- a/chromeos/components/quick_answers/utils/unit_converter.cc
+++ b/chromeos/components/quick_answers/utils/unit_converter.cc
@@ -84,9 +84,9 @@
 
 const Value* UnitConverter::GetConversionForCategory(
     const std::string& target_category) {
-  if (rule_set_.GetList().empty())
+  if (rule_set_.GetListDeprecated().empty())
     return nullptr;
-  for (const Value& conversion : rule_set_.GetList()) {
+  for (const Value& conversion : rule_set_.GetListDeprecated()) {
     const auto* category = conversion.FindStringPath(kCategoryPath);
     if (category && *category == target_category)
       return &conversion;
diff --git a/chromeos/dbus/hermes/fake_hermes_profile_client.cc b/chromeos/dbus/hermes/fake_hermes_profile_client.cc
index b246d6c..10c27a2 100644
--- a/chromeos/dbus/hermes/fake_hermes_profile_client.cc
+++ b/chromeos/dbus/hermes/fake_hermes_profile_client.cc
@@ -199,7 +199,7 @@
       ShillServiceClient::Get()->GetTestInterface();
 
   base::Value service_list = manager_test->GetEnabledServiceList();
-  for (const base::Value& service_path : service_list.GetList()) {
+  for (const base::Value& service_path : service_list.GetListDeprecated()) {
     const base::Value* properties =
         service_test->GetServiceProperties(service_path.GetString());
     const std::string* type = properties->FindStringKey(shill::kTypeProperty);
diff --git a/chromeos/dbus/shill/shill_client_helper.cc b/chromeos/dbus/shill/shill_client_helper.cc
index 7c2d42dd..bcea956 100644
--- a/chromeos/dbus/shill/shill_client_helper.cc
+++ b/chromeos/dbus/shill/shill_client_helper.cc
@@ -427,7 +427,7 @@
     }
     case base::Value::Type::LIST: {
       // Support list of string and list of string-to-string dictionary.
-      const auto& list_view = value.GetList();
+      const auto& list_view = value.GetListDeprecated();
       if (list_view.size() > 0 && list_view.front().is_dict()) {
         // aa{ss} to support WireGuard.Peers
         dbus::MessageWriter variant_writer(nullptr);
diff --git a/chromeos/dbus/shill/shill_ipconfig_client.cc b/chromeos/dbus/shill/shill_ipconfig_client.cc
index 1099840..fbc9cfc 100644
--- a/chromeos/dbus/shill/shill_ipconfig_client.cc
+++ b/chromeos/dbus/shill/shill_ipconfig_client.cc
@@ -112,7 +112,7 @@
       writer.OpenVariant("as", &variant_writer);
       dbus::MessageWriter array_writer(nullptr);
       variant_writer.OpenArray("s", &array_writer);
-      for (const auto& entry : value.GetList()) {
+      for (const auto& entry : value.GetListDeprecated()) {
         DLOG_IF(ERROR, !entry.is_string())
             << "Unexpected type " << entry.type();
         array_writer.AppendString(entry.is_string() ? entry.GetString()
diff --git a/chromeos/network/cellular_esim_profile_handler_impl_unittest.cc b/chromeos/network/cellular_esim_profile_handler_impl_unittest.cc
index 48d9c9d..6e8b9c0 100644
--- a/chromeos/network/cellular_esim_profile_handler_impl_unittest.cc
+++ b/chromeos/network/cellular_esim_profile_handler_impl_unittest.cc
@@ -465,23 +465,23 @@
   Init();
   base::Value euicc_paths_from_prefs = GetEuiccListFromPrefs();
   EXPECT_TRUE(euicc_paths_from_prefs.is_list());
-  EXPECT_TRUE(euicc_paths_from_prefs.GetList().empty());
+  EXPECT_TRUE(euicc_paths_from_prefs.GetListDeprecated().empty());
 
   // Set device prefs; a new auto-refresh should have started but not yet
   // completed.
   SetDevicePrefs();
   euicc_paths_from_prefs = GetEuiccListFromPrefs();
   EXPECT_TRUE(euicc_paths_from_prefs.is_list());
-  EXPECT_TRUE(euicc_paths_from_prefs.GetList().empty());
+  EXPECT_TRUE(euicc_paths_from_prefs.GetListDeprecated().empty());
   EXPECT_FALSE(HasAutoRefreshedEuicc(/*euicc_num=*/1));
 
   FastForwardProfileRefreshDelay();
   base::RunLoop().RunUntilIdle();
   euicc_paths_from_prefs = GetEuiccListFromPrefs();
   EXPECT_TRUE(euicc_paths_from_prefs.is_list());
-  EXPECT_EQ(1u, euicc_paths_from_prefs.GetList().size());
+  EXPECT_EQ(1u, euicc_paths_from_prefs.GetListDeprecated().size());
   EXPECT_EQ(CreateTestEuiccPath(/*euicc_num=*/1),
-            euicc_paths_from_prefs.GetList()[0].GetString());
+            euicc_paths_from_prefs.GetListDeprecated()[0].GetString());
   EXPECT_TRUE(HasAutoRefreshedEuicc(/*euicc_num=*/1));
 }
 
@@ -525,16 +525,16 @@
   // Verify that no EUICCs exist in pref.
   base::Value euicc_paths_from_prefs = GetEuiccListFromPrefs();
   EXPECT_TRUE(euicc_paths_from_prefs.is_list());
-  EXPECT_TRUE(euicc_paths_from_prefs.GetList().empty());
+  EXPECT_TRUE(euicc_paths_from_prefs.GetListDeprecated().empty());
 
   // Verify that EUICCs are refreshed after the cellular device is added.
   AddCellularDevice();
   FastForwardProfileRefreshDelay();
   euicc_paths_from_prefs = GetEuiccListFromPrefs();
   EXPECT_TRUE(euicc_paths_from_prefs.is_list());
-  EXPECT_EQ(1u, euicc_paths_from_prefs.GetList().size());
+  EXPECT_EQ(1u, euicc_paths_from_prefs.GetListDeprecated().size());
   EXPECT_EQ(CreateTestEuiccPath(/*euicc_num=*/1),
-            euicc_paths_from_prefs.GetList()[0].GetString());
+            euicc_paths_from_prefs.GetListDeprecated()[0].GetString());
 }
 
 }  // namespace chromeos
diff --git a/chromeos/network/device_state.cc b/chromeos/network/device_state.cc
index f2bd2c9d..5dd726af 100644
--- a/chromeos/network/device_state.cc
+++ b/chromeos/network/device_state.cc
@@ -58,7 +58,7 @@
     if (!value.is_list())
       return false;
     CellularScanResults parsed_results;
-    if (!network_util::ParseCellularScanResults(value.GetList(),
+    if (!network_util::ParseCellularScanResults(value.GetListDeprecated(),
                                                 &parsed_results))
       return false;
     scan_results_.swap(parsed_results);
@@ -67,7 +67,7 @@
     if (!value.is_list())
       return false;
     CellularSIMSlotInfos parsed_results;
-    if (!network_util::ParseCellularSIMSlotInfo(value.GetList(),
+    if (!network_util::ParseCellularSIMSlotInfo(value.GetListDeprecated(),
                                                 &parsed_results)) {
       return false;
     }
@@ -208,7 +208,7 @@
 }
 
 bool DeviceState::HasAPN(const std::string& access_point_name) const {
-  for (const auto& apn : apn_list_.GetList()) {
+  for (const auto& apn : apn_list_.GetListDeprecated()) {
     // bogus empty entries in the list might have been converted to a list while
     // traveling over D-Bus, skip them rather than crashing below.
     if (!apn.is_dict())
diff --git a/chromeos/network/geolocation_handler.cc b/chromeos/network/geolocation_handler.cc
index 2d2bd63..b439bc0c 100644
--- a/chromeos/network/geolocation_handler.cc
+++ b/chromeos/network/geolocation_handler.cc
@@ -117,7 +117,7 @@
   bool cellular_was_enabled = cellular_enabled_;
   cellular_enabled_ = false;
   wifi_enabled_ = false;
-  for (const auto& entry : value.GetList()) {
+  for (const auto& entry : value.GetListDeprecated()) {
     const std::string* technology = entry.GetIfString();
     if (technology && *technology == shill::kTypeWifi) {
       wifi_enabled_ = true;
diff --git a/chromeos/network/managed_network_configuration_handler_impl.cc b/chromeos/network/managed_network_configuration_handler_impl.cc
index 0399637..41d8d60 100644
--- a/chromeos/network/managed_network_configuration_handler_impl.cc
+++ b/chromeos/network/managed_network_configuration_handler_impl.cc
@@ -542,7 +542,7 @@
   // This stores all GUIDs of policies that have changed or are new.
   std::set<std::string> modified_policies;
 
-  for (const base::Value& network : network_configs_onc.GetList()) {
+  for (const base::Value& network : network_configs_onc.GetListDeprecated()) {
     const std::string* guid_str =
         network.FindStringKey(::onc::network_config::kGUID);
     DCHECK(guid_str && !guid_str->empty());
@@ -1004,7 +1004,7 @@
     for (const auto iter : device_state->ip_configs().DictItems())
       ip_configs.Append(iter.second.Clone());
   }
-  if (!ip_configs.GetList().empty()) {
+  if (!ip_configs.GetListDeprecated().empty()) {
     properties->SetKey(shill::kIPConfigsProperty, std::move(ip_configs));
   }
 }
diff --git a/chromeos/network/network_configuration_handler.cc b/chromeos/network/network_configuration_handler.cc
index 9fe9c29..792d3e6 100644
--- a/chromeos/network/network_configuration_handler.cc
+++ b/chromeos/network/network_configuration_handler.cc
@@ -663,13 +663,13 @@
     base::OnceClosure callback,
     const base::ListValue& result) {
   const std::string kClearPropertiesFailedError("Error.ClearPropertiesFailed");
-  DCHECK(names.size() == result.GetList().size())
+  DCHECK(names.size() == result.GetListDeprecated().size())
       << "Incorrect result size from ClearProperties.";
 
-  for (size_t i = 0; i < result.GetList().size(); ++i) {
+  for (size_t i = 0; i < result.GetListDeprecated().size(); ++i) {
     bool success = false;
-    if (result.GetList()[i].is_bool())
-      success = result.GetList()[i].GetBool();
+    if (result.GetListDeprecated()[i].is_bool())
+      success = result.GetListDeprecated()[i].GetBool();
     if (!success) {
       // If a property was cleared that has never been set, the clear will fail.
       // We do not track which properties have been set, so just log the error.
diff --git a/chromeos/network/network_profile_handler.cc b/chromeos/network/network_profile_handler.cc
index 817e0b6..98787a0 100644
--- a/chromeos/network/network_profile_handler.cc
+++ b/chromeos/network/network_profile_handler.cc
@@ -106,8 +106,8 @@
   DCHECK(value.is_list());
 
   std::vector<std::string> new_profile_paths;
-  bool result =
-      ConvertListValueToStringVector(value.GetList(), &new_profile_paths);
+  bool result = ConvertListValueToStringVector(value.GetListDeprecated(),
+                                               &new_profile_paths);
   DCHECK(result);
 
   VLOG(2) << "Profiles: " << profiles_.size();
diff --git a/chromeos/network/network_sms_handler.cc b/chromeos/network/network_sms_handler.cc
index a0636db..36d588d7 100644
--- a/chromeos/network/network_sms_handler.cc
+++ b/chromeos/network/network_sms_handler.cc
@@ -291,7 +291,7 @@
 }
 
 void NetworkSmsHandler::UpdateDevices(const base::Value& devices) {
-  for (const auto& item : devices.GetList()) {
+  for (const auto& item : devices.GetListDeprecated()) {
     if (!item.is_string())
       continue;
 
diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc
index 3d4eaa334..2cf62c4 100644
--- a/chromeos/network/network_state_handler.cc
+++ b/chromeos/network/network_state_handler.cc
@@ -1275,7 +1275,7 @@
 
   ManagedStateList* managed_list = GetManagedList(type);
   NET_LOG(DEBUG) << "UpdateManagedList: " << ManagedState::TypeToString(type)
-                 << ": " << entries.GetList().size();
+                 << ": " << entries.GetListDeprecated().size();
   // Create a map of existing entries. Assumes all entries in |managed_list|
   // are unique.
   std::map<std::string, std::unique_ptr<ManagedState>> managed_map;
@@ -1288,7 +1288,7 @@
   managed_list->clear();
   // Updates managed_list and request updates for new entries.
   std::set<std::string> list_entries;
-  for (const auto& iter : entries.GetList()) {
+  for (const auto& iter : entries.GetListDeprecated()) {
     const std::string* path = iter.GetIfString();
     if (!path)
       continue;
@@ -2242,7 +2242,7 @@
   }
   // The profile list contains the shared profile on the login screen. Once the
   // user is logged in there is more than one profile in the profile list.
-  is_user_logged_in_ = profile_list.GetList().size() > 1;
+  is_user_logged_in_ = profile_list.GetListDeprecated().size() > 1;
 }
 
 }  // namespace chromeos
diff --git a/chromeos/network/network_util_unittest.cc b/chromeos/network/network_util_unittest.cc
index 26be09b..ac7adce 100644
--- a/chromeos/network/network_util_unittest.cc
+++ b/chromeos/network/network_util_unittest.cc
@@ -113,18 +113,21 @@
   std::vector<CellularScanResult> scan_results;
 
   // Empty list value.
-  EXPECT_TRUE(ParseCellularScanResults(list.GetList(), &scan_results));
+  EXPECT_TRUE(
+      ParseCellularScanResults(list.GetListDeprecated(), &scan_results));
 
   // List contains invalid item.
   list.Append(0);
-  EXPECT_FALSE(ParseCellularScanResults(list.GetList(), &scan_results));
+  EXPECT_FALSE(
+      ParseCellularScanResults(list.GetListDeprecated(), &scan_results));
 
   // Scan result has no network id.
   list.ClearList();
   base::Value dict_value_1(base::Value::Type::DICTIONARY);
   dict_value_1.SetStringKey(shill::kStatusProperty, "available");
   list.Append(std::move(dict_value_1));
-  EXPECT_TRUE(ParseCellularScanResults(list.GetList(), &scan_results));
+  EXPECT_TRUE(
+      ParseCellularScanResults(list.GetListDeprecated(), &scan_results));
   EXPECT_TRUE(scan_results.empty());
 
   // Mixed parse results.
@@ -140,7 +143,8 @@
   dict_value_3.SetStringKey(shill::kLongNameProperty, "Long Name");
   list.Append(std::move(dict_value_3));
 
-  EXPECT_TRUE(ParseCellularScanResults(list.GetList(), &scan_results));
+  EXPECT_TRUE(
+      ParseCellularScanResults(list.GetListDeprecated(), &scan_results));
   EXPECT_EQ(static_cast<size_t>(2), scan_results.size());
   EXPECT_EQ("000001", scan_results[0].network_id);
   EXPECT_EQ("unknown", scan_results[0].status);
diff --git a/chromeos/network/onc/network_onc_utils.cc b/chromeos/network/onc/network_onc_utils.cc
index 37cbf1c..66ac07f 100644
--- a/chromeos/network/onc/network_onc_utils.cc
+++ b/chromeos/network/onc/network_onc_utils.cc
@@ -133,7 +133,7 @@
 net::ProxyBypassRules ConvertOncExcludeDomainsToBypassRules(
     const base::Value& onc_exclude_domains) {
   net::ProxyBypassRules rules;
-  for (const base::Value& value : onc_exclude_domains.GetList()) {
+  for (const base::Value& value : onc_exclude_domains.GetListDeprecated()) {
     if (!value.is_string()) {
       LOG(ERROR) << "Badly formatted ONC exclude domains";
       continue;
@@ -200,7 +200,7 @@
 // nullptr if no such NetworkConfiguration is found.
 const base::Value* GetNetworkConfigByGUID(const base::Value& network_configs,
                                           const std::string& guid) {
-  for (const auto& network : network_configs.GetList()) {
+  for (const auto& network : network_configs.GetListDeprecated()) {
     DCHECK(network.is_dict());
 
     std::string current_guid = GetString(network, ::onc::network_config::kGUID);
@@ -215,7 +215,7 @@
 const base::Value* GetNetworkConfigForEthernetWithoutEAP(
     const base::Value& network_configs) {
   VLOG(2) << "Search for ethernet policy without EAP.";
-  for (const auto& network : network_configs.GetList()) {
+  for (const auto& network : network_configs.GetListDeprecated()) {
     DCHECK(network.is_dict());
 
     std::string type = GetString(network, ::onc::network_config::kType);
@@ -450,7 +450,7 @@
         base::Value exclude_domains(base::Value::Type::LIST);
         for (const auto& rule : bypass_rules.rules())
           exclude_domains.Append(rule->ToString());
-        if (!exclude_domains.GetList().empty()) {
+        if (!exclude_domains.GetListDeprecated().empty()) {
           proxy_settings.SetKey(::onc::proxy::kExcludeDomains,
                                 std::move(exclude_domains));
         }
@@ -503,7 +503,7 @@
 
   bool ethernet_not_found = false;
   int networks_created = 0;
-  for (const auto& network : expanded_networks.GetList()) {
+  for (const auto& network : expanded_networks.GetListDeprecated()) {
     // Remove irrelevant fields.
     onc::Normalizer normalizer(true /* remove recommended fields */);
     base::Value normalized_network = normalizer.NormalizeObject(
diff --git a/chromeos/network/onc/onc_certificate_importer_impl_unittest.cc b/chromeos/network/onc/onc_certificate_importer_impl_unittest.cc
index d06bf03..e883329 100644
--- a/chromeos/network/onc/onc_certificate_importer_impl_unittest.cc
+++ b/chromeos/network/onc/onc_certificate_importer_impl_unittest.cc
@@ -130,7 +130,7 @@
                 certificate::GetCertType(private_list_[0].get()));
     }
 
-    const base::Value& certificate = onc_certificates_.GetList()[0];
+    const base::Value& certificate = onc_certificates_.GetListDeprecated()[0];
     const std::string* guid_value =
         certificate.FindStringKey(::onc::certificate::kGUID);
     *guid = *guid_value;
@@ -185,7 +185,7 @@
   AddCertificatesFromFile("managed_toplevel2.onc", ImportType::kAllCertificates,
                           true /* expected_parse_success */,
                           true /* expected_import_success */);
-  EXPECT_EQ(onc_certificates_.GetList().size(), public_list_.size());
+  EXPECT_EQ(onc_certificates_.GetListDeprecated().size(), public_list_.size());
   EXPECT_TRUE(private_list_.empty());
   EXPECT_EQ(2ul, public_list_.size());
 }
@@ -205,7 +205,7 @@
   AddCertificatesFromFile(
       "toplevel_partially_invalid.onc", ImportType::kAllCertificates,
       false /* expected_parse_success */, true /* expected_import_success */);
-  EXPECT_EQ(3ul, onc_certificates_.GetList().size());
+  EXPECT_EQ(3ul, onc_certificates_.GetListDeprecated().size());
   EXPECT_EQ(1ul, private_list_.size());
   EXPECT_TRUE(public_list_.empty());
 }
diff --git a/chromeos/network/onc/onc_certificate_pattern.cc b/chromeos/network/onc/onc_certificate_pattern.cc
index 7d376778..856285f 100644
--- a/chromeos/network/onc/onc_certificate_pattern.cc
+++ b/chromeos/network/onc/onc_certificate_pattern.cc
@@ -24,8 +24,8 @@
     return false;
 
   result->clear();
-  result->reserve(value.GetList().size());
-  for (const auto& entry : value.GetList()) {
+  result->reserve(value.GetListDeprecated().size());
+  for (const auto& entry : value.GetListDeprecated()) {
     if (!entry.is_string())
       return false;
     result->push_back(entry.GetString());
diff --git a/chromeos/network/onc/onc_translator_shill_to_onc.cc b/chromeos/network/onc/onc_translator_shill_to_onc.cc
index ceafe63..993845e 100644
--- a/chromeos/network/onc/onc_translator_shill_to_onc.cc
+++ b/chromeos/network/onc/onc_translator_shill_to_onc.cc
@@ -853,7 +853,7 @@
   }
   DCHECK(field_signature->value_signature->onc_array_entry_signature);
   base::Value result(base::Value::Type::LIST);
-  for (const auto& it : list.GetList()) {
+  for (const auto& it : list.GetListDeprecated()) {
     if (!it.is_dict())
       continue;
     ShillToONCTranslator nested_translator(
@@ -868,7 +868,7 @@
   }
   // If there are no entries in the list, there is no need to expose this
   // field.
-  if (result.GetList().empty())
+  if (result.GetListDeprecated().empty())
     return;
   onc_object_.SetKey(onc_field_name, std::move(result));
 }
diff --git a/chromeos/network/prohibited_technologies_handler.cc b/chromeos/network/prohibited_technologies_handler.cc
index a44ace5..929bc22 100644
--- a/chromeos/network/prohibited_technologies_handler.cc
+++ b/chromeos/network/prohibited_technologies_handler.cc
@@ -65,7 +65,7 @@
   // Build up prohibited network type list and save it for further use when
   // enforced
   session_prohibited_technologies_.clear();
-  for (const auto& item : prohibited_list.GetList()) {
+  for (const auto& item : prohibited_list.GetListDeprecated()) {
     std::string translated_tech =
         network_util::TranslateONCTypeToShill(item.GetString());
     if (!translated_tech.empty())
diff --git a/chromeos/network/shill_property_handler.cc b/chromeos/network/shill_property_handler.cc
index 6c9bc9e..423c16bc 100644
--- a/chromeos/network/shill_property_handler.cc
+++ b/chromeos/network/shill_property_handler.cc
@@ -426,8 +426,8 @@
   std::set<std::string>& requested_updates = requested_updates_[type];
   std::set<std::string> new_requested_updates;
   NET_LOG(DEBUG) << "UpdateProperties: " << ManagedState::TypeToString(type)
-                 << ": " << entries.GetList().size();
-  for (const auto& entry : entries.GetList()) {
+                 << ": " << entries.GetListDeprecated().size();
+  for (const auto& entry : entries.GetListDeprecated()) {
     const std::string* path = entry.GetIfString();
     if (!path || (*path).empty())
       continue;
@@ -450,7 +450,7 @@
       (type == ManagedState::MANAGED_TYPE_NETWORK) ? observed_networks_
                                                    : observed_devices_;
   ShillPropertyObserverMap new_observed;
-  for (const auto& entry : entries.GetList()) {
+  for (const auto& entry : entries.GetListDeprecated()) {
     const std::string* path = entry.GetIfString();
     if (!path || (*path).empty())
       continue;
@@ -482,7 +482,7 @@
     const base::Value& technologies) {
   NET_LOG(EVENT) << "AvailableTechnologies:" << technologies;
   std::set<std::string> new_available_technologies;
-  for (const base::Value& technology : technologies.GetList())
+  for (const base::Value& technology : technologies.GetListDeprecated())
     new_available_technologies.insert(technology.GetString());
   if (new_available_technologies == available_technologies_)
     return;
@@ -503,7 +503,7 @@
     const base::Value& technologies) {
   NET_LOG(EVENT) << "EnabledTechnologies:" << technologies;
   std::set<std::string> new_enabled_technologies;
-  for (const base::Value& technology : technologies.GetList())
+  for (const base::Value& technology : technologies.GetListDeprecated())
     new_enabled_technologies.insert(technology.GetString());
   if (new_enabled_technologies == enabled_technologies_)
     return;
@@ -514,7 +514,7 @@
   for (auto it = disabling_technologies_.begin();
        it != disabling_technologies_.end();) {
     base::Value technology_value(*it);
-    if (!base::Contains(technologies.GetList(), technology_value))
+    if (!base::Contains(technologies.GetListDeprecated(), technology_value))
       it = disabling_technologies_.erase(it);
     else
       ++it;
@@ -536,7 +536,7 @@
     const base::Value& technologies) {
   NET_LOG(EVENT) << "UninitializedTechnologies:" << technologies;
   std::set<std::string> new_uninitialized_technologies;
-  for (const base::Value& technology : technologies.GetList())
+  for (const base::Value& technology : technologies.GetListDeprecated())
     new_uninitialized_technologies.insert(technology.GetString());
   if (new_uninitialized_technologies == uninitialized_technologies_)
     return;
@@ -659,7 +659,7 @@
     const base::Value& ip_config_list_value) {
   if (!ip_config_list_value.is_list())
     return;
-  for (const auto& entry : ip_config_list_value.GetList()) {
+  for (const auto& entry : ip_config_list_value.GetListDeprecated()) {
     RequestIPConfig(type, path, entry);
   }
 }
diff --git a/chromeos/network/shill_property_handler_unittest.cc b/chromeos/network/shill_property_handler_unittest.cc
index 2e5b519..52c150c 100644
--- a/chromeos/network/shill_property_handler_unittest.cc
+++ b/chromeos/network/shill_property_handler_unittest.cc
@@ -53,7 +53,7 @@
   void UpdateManagedList(ManagedState::ManagedType type,
                          const base::Value& entries) override {
     VLOG(1) << "UpdateManagedList[" << ManagedState::TypeToString(type)
-            << "]: " << entries.GetList().size();
+            << "]: " << entries.GetListDeprecated().size();
     UpdateEntries(GetTypeString(type), entries);
   }
 
@@ -68,7 +68,7 @@
     if (!profile_list.is_list()) {
       return;
     }
-    profile_list_size_ = profile_list.GetList().size();
+    profile_list_size_ = profile_list.GetListDeprecated().size();
   }
 
   void UpdateNetworkServiceProperty(const std::string& service_path,
@@ -145,7 +145,7 @@
     if (type.empty())
       return;
     entries_[type].clear();
-    for (const auto& entry : entries.GetList()) {
+    for (const auto& entry : entries.GetListDeprecated()) {
       if (entry.is_string())
         entries_[type].push_back(entry.GetString());
     }
diff --git a/chromeos/printing/ppd_metadata_parser.cc b/chromeos/printing/ppd_metadata_parser.cc
index 11be6d8..e14fb2f3 100644
--- a/chromeos/printing/ppd_metadata_parser.cc
+++ b/chromeos/printing/ppd_metadata_parser.cc
@@ -189,7 +189,7 @@
   }
 
   std::vector<std::string> locales;
-  for (const auto& iter : as_value.value().GetList()) {
+  for (const auto& iter : as_value.value().GetListDeprecated()) {
     if (!iter.is_string())
       continue;
     locales.push_back(iter.GetString());
diff --git a/chromeos/services/device_sync/cryptauth_device_manager_impl.cc b/chromeos/services/device_sync/cryptauth_device_manager_impl.cc
index 78abec80..e29241b 100644
--- a/chromeos/services/device_sync/cryptauth_device_manager_impl.cc
+++ b/chromeos/services/device_sync/cryptauth_device_manager_impl.cc
@@ -289,7 +289,7 @@
 void AddBeaconSeedsToExternalDevice(
     const base::Value& beacon_seeds,
     cryptauth::ExternalDeviceInfo* external_device) {
-  for (const base::Value& seed_dictionary : beacon_seeds.GetList()) {
+  for (const base::Value& seed_dictionary : beacon_seeds.GetListDeprecated()) {
     if (!seed_dictionary.is_dict()) {
       PA_LOG(WARNING) << "Unable to retrieve BeaconSeed dictionary; "
                       << "skipping.";
diff --git a/chromeos/services/network_config/cros_network_config.cc b/chromeos/services/network_config/cros_network_config.cc
index c4059fe..a6bd4003 100644
--- a/chromeos/services/network_config/cros_network_config.cc
+++ b/chromeos/services/network_config/cros_network_config.cc
@@ -838,12 +838,12 @@
       return nullptr;
     }
     auto result = mojom::ManagedStringList::New();
-    for (const base::Value& e : managed_dict.active_value.GetList())
+    for (const base::Value& e : managed_dict.active_value.GetListDeprecated())
       result->active_value.push_back(e.GetString());
     result->policy_source = managed_dict.policy_source;
     if (!managed_dict.policy_value.is_none()) {
       result->policy_value = std::vector<std::string>();
-      for (const base::Value& e : managed_dict.policy_value.GetList())
+      for (const base::Value& e : managed_dict.policy_value.GetListDeprecated())
         result->policy_value->push_back(e.GetString());
     }
     return result;
@@ -946,12 +946,12 @@
       NET_LOG(ERROR) << "No active or effective value for WireGuardPeerList";
       return result;
     }
-    for (const base::Value& e : managed_dict.active_value.GetList())
+    for (const base::Value& e : managed_dict.active_value.GetListDeprecated())
       result->active_value.push_back(GetSubjectAltName(&e));
     result->policy_source = managed_dict.policy_source;
     if (!managed_dict.policy_value.is_none()) {
       result->policy_value = std::vector<mojom::SubjectAltNamePtr>();
-      for (const base::Value& e : managed_dict.policy_value.GetList())
+      for (const base::Value& e : managed_dict.policy_value.GetListDeprecated())
         result->policy_value.push_back(GetSubjectAltName(&e));
     }
     return result;
@@ -1112,12 +1112,12 @@
       return nullptr;
     }
     auto result = mojom::ManagedApnList::New();
-    for (const base::Value& e : managed_dict.active_value.GetList())
+    for (const base::Value& e : managed_dict.active_value.GetListDeprecated())
       result->active_value.push_back(GetApnProperties(&e));
     result->policy_source = managed_dict.policy_source;
     if (!managed_dict.policy_value.is_none()) {
       result->policy_value = std::vector<mojom::ApnPropertiesPtr>();
-      for (const base::Value& e : managed_dict.policy_value.GetList())
+      for (const base::Value& e : managed_dict.policy_value.GetListDeprecated())
         result->policy_value->push_back(GetApnProperties(&e));
     }
     return result;
@@ -1433,12 +1433,12 @@
       NET_LOG(ERROR) << "No active or effective value for WireGuardPeerList";
       return result;
     }
-    for (const base::Value& e : managed_dict.active_value.GetList())
+    for (const base::Value& e : managed_dict.active_value.GetListDeprecated())
       result->active_value.push_back(GetWireGuardPeerProperties(&e));
     result->policy_source = managed_dict.policy_source;
     if (!managed_dict.policy_value.is_none()) {
       result->policy_value = std::vector<mojom::WireGuardPeerPropertiesPtr>();
-      for (const base::Value& e : managed_dict.policy_value.GetList())
+      for (const base::Value& e : managed_dict.policy_value.GetListDeprecated())
         result->policy_value->push_back(GetWireGuardPeerProperties(&e));
     }
     return result;
diff --git a/chromeos/services/network_config/cros_network_config_unittest.cc b/chromeos/services/network_config/cros_network_config_unittest.cc
index 783f459..b778873c9 100644
--- a/chromeos/services/network_config/cros_network_config_unittest.cc
+++ b/chromeos/services/network_config/cros_network_config_unittest.cc
@@ -2106,7 +2106,7 @@
   traffic_counters.Append(std::move(user_dict));
 
   ASSERT_TRUE(traffic_counters.is_list());
-  ASSERT_EQ(traffic_counters.GetList().size(), (size_t)2);
+  ASSERT_EQ(traffic_counters.GetListDeprecated().size(), (size_t)2);
   helper()->service_test()->SetFakeTrafficCounters(traffic_counters.Clone());
 
   RequestTrafficCountersAndCompareTrafficCounters(
@@ -2129,7 +2129,7 @@
   traffic_counters.Append(std::move(user_dict));
 
   ASSERT_TRUE(traffic_counters.is_list());
-  ASSERT_EQ(traffic_counters.GetList().size(), (size_t)2);
+  ASSERT_EQ(traffic_counters.GetListDeprecated().size(), (size_t)2);
   helper()->service_test()->SetFakeTrafficCounters(traffic_counters.Clone());
 
   RequestTrafficCountersAndCompareTrafficCounters(
diff --git a/chromeos/strings/chromeos_strings_af.xtb b/chromeos/strings/chromeos_strings_af.xtb
index 056f393..4c50345 100644
--- a/chromeos/strings/chromeos_strings_af.xtb
+++ b/chromeos/strings/chromeos_strings_af.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Het bladsy <ph name="PRINTED_PAGES" /> van <ph name="TOTAL_PAGES" /> gedruk.</translation>
 <translation id="345898999683440380">Skandeer tans bladsy <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% voltooi.</translation>
 <translation id="3459509316159669723">Druk tans</translation>
-<translation id="3462187165860821523">Dateer tans <ph name="DEVICE_NAME" /> op</translation>
 <translation id="3484914941826596830">Moenie hierdie eksterne toestel uitprop of jou rekenaar afskakel terwyl die fermware opdateer nie. Jy kan hierdie venster klein maak. Hierdie opdatering kan 'n paar minute neem, en jou eksterne toestel sal dalk nie in hierdie tyd werk nie.</translation>
 <translation id="3486220673238053218">definisie</translation>
 <translation id="3488065109653206955">Deels geaktiveer</translation>
 <translation id="3527036260304016759">Misluk – Onbekende fout</translation>
 <translation id="3532980081107202182">Ongeveer <ph name="MIN_REMAINING" /> minute oor</translation>
 <translation id="3565064564551103223">Toegelate IP's</translation>
+<translation id="3577473026931028326">Iets was fout. Probeer weer.</translation>
 <translation id="357889014807611375">betaalde Wi-Fi</translation>
 <translation id="3583278742022654445">Swak seinsterkte. Probeer om nader aan die wi-fi-seinbron te kom.</translation>
 <translation id="3595596368722241419">Battery is vol</translation>
@@ -353,6 +353,7 @@
 <translation id="5691511426247308406">Familie</translation>
 <translation id="5701381305118179107">Sentreer</translation>
 <translation id="5707900041990977207"><ph name="CURRENT_PAGE" /> van <ph name="TOTAL_PAGES" /></translation>
+<translation id="5733298426544876109">Dateer <ph name="DEVICE_NAME" /> op</translation>
 <translation id="5760715441271661976">Portaalstatus</translation>
 <translation id="5784136236926853061">Hoë HTTP-traagheid</translation>
 <translation id="5832805196449965646">Voeg persoon by</translation>
@@ -462,7 +463,6 @@
 <translation id="7177485034254901881">Hierdie <ph name="DEVICE_TYPE" /> word bestuur deur <ph name="MANAGER" />. Administrateurs kan die toestel oor 'n afstand opstel.</translation>
 <translation id="7180611975245234373">Herlaai</translation>
 <translation id="7216409898977639127">Sellulêre diensverskaffer</translation>
-<translation id="7240035910874241640">Alle randtoestelle is bygewerk</translation>
 <translation id="7271040990581020067">Skandeerder word tans gebruik Probeer later weer.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Muurpapierversamelings</translation>
@@ -563,7 +563,6 @@
 <translation id="8498220429738806196">Verkeertellers</translation>
 <translation id="8503813439785031346">Gebruikernaam</translation>
 <translation id="8503836310948963452">Net 'n paar minute …</translation>
-<translation id="8520963233738002436">Jou <ph name="DEVICE_NAME" /> is bygewerk</translation>
 <translation id="8521021929829989041">Gebruik as persoonlike toestel</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Jou selfoonmaatskappy kan hierdie opsie vereis om aan hul netwerk te koppel. Kontak jou selfoonmaatskappy vir besonderhede.</translation>
@@ -607,7 +606,6 @@
 <translation id="8970109610781093811">Laat loop weer</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skandeer}=1{Skandeer bladsy {NUMBER_OF_PAGES}}other{Skandeer bladsy {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installeer tans – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Toestel het <ph name="BATTERY_PERCENTAGE" />% batterykrag.</translation>
 <translation id="9003704114456258138">Frekwensie</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_am.xtb b/chromeos/strings/chromeos_strings_am.xtb
index 4da722d2..6f01e28 100644
--- a/chromeos/strings/chromeos_strings_am.xtb
+++ b/chromeos/strings/chromeos_strings_am.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" /> የታተመ ገጽ ከ <ph name="TOTAL_PAGES" /> ዉስጥ።</translation>
 <translation id="345898999683440380">ገጽ <ph name="PAGE_NUM" />ን በመቃኘት ላይ። <ph name="PERCENTAGE_VALUE" />% ተጠናቅቋል።</translation>
 <translation id="3459509316159669723">ማተም</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" />ን በማዘመን ላይ</translation>
 <translation id="3484914941826596830">ፊርምዌር በማዘመን ላይ ሳለ ይህን ውጫዊ መሣሪያ አይንቀሉት ወይም ኮምፒውተርዎን አይዝጉት። ይህን መስኮት መቀነስ ይችላሉ። ይህ ዝማኔ ጥቂት ደቂቃዎች ሊወስድ ይችላል፣ እና በዚህ ጊዜ የእርስዎ ውጫዊ መሣሪያ ላይሰራ ይችላል።</translation>
 <translation id="3486220673238053218">ብየና</translation>
 <translation id="3488065109653206955">በከፊል ገብሯል</translation>
 <translation id="3527036260304016759">አልተሳካም - ያልታወቀ ስህተት</translation>
 <translation id="3532980081107202182"><ph name="MIN_REMAINING" /> ደቂቃዎች ገደማ ይቀራል</translation>
 <translation id="3565064564551103223">የተፈቀዱ አይፒዎች</translation>
+<translation id="3577473026931028326">የሆነ ችግር ተፈጥሯል። እንደገና ይሞክሩ።</translation>
 <translation id="357889014807611375">የተመጠነ Wi-Fi</translation>
 <translation id="3583278742022654445">ደካማ የሲግናል ጥንካሬ። ወደ Wi-Fi ሲግናል ምንጭ ለመቅረብ ይሞክሩ።</translation>
 <translation id="3595596368722241419">ባትሪ ሙሉ ነው</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">ይህ <ph name="DEVICE_TYPE" /> በ<ph name="MANAGER" /> የሚተዳደር ነው። አስተዳዳሪዎች መሣሪያውን ከርቀት ማዋቀር ይችላሉ።</translation>
 <translation id="7180611975245234373">አድስ</translation>
 <translation id="7216409898977639127">የተንቀሳቃሽ ስልክ አገልግሎት አቅራቢ</translation>
-<translation id="7240035910874241640">ሁሉም ተቀጥላዎች የተዘመኑ ናቸው</translation>
 <translation id="7271040990581020067">ቃኚ በአሁኑ ጊዜ ጥቅም ላይ እየዋለ ነው። ቆይተው እንደገና ይሞክሩ።</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">የልጣፍ ስብስቦች</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">የትራፊክ ቆጣሪዎች</translation>
 <translation id="8503813439785031346">የተጣቃሚ ስም</translation>
 <translation id="8503836310948963452">ጥቂት ተጨማሪ ደቂቃዎች ብቻ...</translation>
-<translation id="8520963233738002436">የእርስዎ <ph name="DEVICE_NAME" /> የተዘመነ ነው</translation>
 <translation id="8521021929829989041">እንደ የግል መሣሪያ ይጠቀሙ</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">አገልግሎት አቅራቢዎ ከአውታረ መረቡ ጋር ለመገናኘት ይህን አማራጭ ሊፈልግ ይችላል። ለዝርዝሮች አገልግሎት አቅራቢዎን ያነጋግሩ።</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">እንደገና ያሂዱ</translation>
 <translation id="8983038754672563810">ኤችኤስፒኤ</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ቃኝ}=1{ገጽ {NUMBER_OF_PAGES} ቃኝ}one{ገጽ {NUMBER_OF_PAGES} ቃኝ}other{ገጽ {NUMBER_OF_PAGES} ቃኝ}}</translation>
-<translation id="8994273342647807496">በመጫን ላይ - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">መሣሪያ <ph name="BATTERY_PERCENTAGE" />% ባትሪ አለው።</translation>
 <translation id="9003704114456258138">ተደጋጋሚነት</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ar.xtb b/chromeos/strings/chromeos_strings_ar.xtb
index 2f033d2..af2e0ad 100644
--- a/chromeos/strings/chromeos_strings_ar.xtb
+++ b/chromeos/strings/chromeos_strings_ar.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">عدد الصفحات التي تمت طباعتها: <ph name="PRINTED_PAGES" /> من أصل <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">جارٍ المسح ضوئيًا للصفحة رقم <ph name="PAGE_NUM" />. اكتمل المسح الضوئي بنسبة <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">الطباعة</translation>
-<translation id="3462187165860821523">جارٍ تحديث <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">لا تفصل هذا الجهاز الخارجي أو توقف تشغيل الكمبيوتر أثناء تحديث البرامج الثابتة. يمكنك تصغير هذه النافذة. قد يستغرق هذا التحديث بضع دقائق وقد يتوقف الجهاز الخارجي عن العمل أثناء التحديث.</translation>
 <translation id="3486220673238053218">تعريف</translation>
 <translation id="3488065109653206955">نشطة جزئيًا</translation>
 <translation id="3527036260304016759">تعذَّرت الطباعة - خطأ غير معروف</translation>
 <translation id="3532980081107202182">يتبقّى حوالي <ph name="MIN_REMAINING" /> دقيقة.</translation>
 <translation id="3565064564551103223">‏عناوين IP المسموح بها</translation>
+<translation id="3577473026931028326">حدث خطأ. يُرجى إعادة المحاولة.</translation>
 <translation id="357889014807611375">‏شبكة Wi-Fi تفرض تكلفة استخدام</translation>
 <translation id="3583278742022654445">‏قوة الإشارة ضعيفة. يُرجى الاقتراب من مصدر إشارة شبكة Wi-Fi.</translation>
 <translation id="3595596368722241419">البطارية ممتلئة</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">يدير <ph name="MANAGER" /> جهاز <ph name="DEVICE_TYPE" /> هذا. ويمكن للمشرفين إعداد هذا الجهاز عن بُعد.</translation>
 <translation id="7180611975245234373">إعادة التحميل</translation>
 <translation id="7216409898977639127">موفر شبكة الجوّال</translation>
-<translation id="7240035910874241640">كل الأجهزة الملحقة محدّثة</translation>
 <translation id="7271040990581020067">يتم حاليًا استخدام الماسح الضوئي. يُرجى إعادة المحاولة لاحقًا.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">مجموعات الخلفيات</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">عدّادات حركة بيانات الشبكة</translation>
 <translation id="8503813439785031346">اسم المستخدم</translation>
 <translation id="8503836310948963452">يُرجى الانتظار بضع دقائق فقط…</translation>
-<translation id="8520963233738002436">جهاز <ph name="DEVICE_NAME" /> مُحدّث</translation>
 <translation id="8521021929829989041">الاستخدام كجهاز شخصي</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">قد يتطلّب مشغّل شبكة الجوّال تفعيل هذا الخيار للاتصال بالشبكة التابعة له. يُرجى التواصل مع مشغّل شبكة الجوّال للاطّلاع على التفاصيل.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">إعادة التشغيل مرة أخرى</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{مسح ضوئي}=1{مسح صفحة واحدة ({NUMBER_OF_PAGES}) ضوئيًا}two{مسح صفحتَين ({NUMBER_OF_PAGES}) ضوئيًا}few{مسح {NUMBER_OF_PAGES} صفحات ضوئيًا}many{مسح {NUMBER_OF_PAGES} صفحة ضوئيًا}other{مسح {NUMBER_OF_PAGES} صفحة ضوئيًا}}</translation>
-<translation id="8994273342647807496">جارٍ التثبيت: %<ph name="PERCENTAGE_VALUE" /></translation>
 <translation id="8997710128084572139">مستوى شحن بطارية الجهاز هو %<ph name="BATTERY_PERCENTAGE" />.</translation>
 <translation id="9003704114456258138">التردد</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_as.xtb b/chromeos/strings/chromeos_strings_as.xtb
index 6256e4f..8b8799b 100644
--- a/chromeos/strings/chromeos_strings_as.xtb
+++ b/chromeos/strings/chromeos_strings_as.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> খনৰ ভিতৰত <ph name="PRINTED_PAGES" /> নম্বৰৰ পৃষ্ঠাখন প্ৰিণ্ট কৰা হৈছে।</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" /> নম্বৰ পৃষ্ঠাখন স্কেন কৰি থকা হৈছে। <ph name="PERCENTAGE_VALUE" />% সম্পূৰ্ণ হ’ল।</translation>
 <translation id="3459509316159669723">প্ৰিণ্টিং</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> আপডে’ট কৰি থকা হৈছে</translation>
 <translation id="3484914941826596830">ফাৰ্মৱেৰটো আপডে’ট হৈ থকাৰ সময়ত, এই বাহ্যিক ডিভাইচটো আনপ্লাগ অথবা আপোনাৰ কম্পিউটাৰটো শ্বাট ডাউন নকৰিব। আপুনি এই ৱিণ্ড’খন মিনিমাইজ কৰিব পাৰে। এই আপডে’টটোৰ বাবে কেইমিনিটমান সময় লাগিব পাৰে আৰু এই সময়খিনিত আপোনাৰ বাহ্যিক ডিভাইচটোৱে কাম নকৰিব পাৰে।</translation>
 <translation id="3486220673238053218">সংজ্ঞা</translation>
 <translation id="3488065109653206955">আংশিকভাৱে সক্ৰিয় কৰা হৈছে</translation>
 <translation id="3527036260304016759">বিফল হৈছে - অজ্ঞাত আসোঁৱাহ</translation>
 <translation id="3532980081107202182">প্ৰায় <ph name="MIN_REMAINING" /> মিনিট বাকী আছে</translation>
 <translation id="3565064564551103223">অনুমতিপ্ৰাপ্ত আইপি</translation>
+<translation id="3577473026931028326">কিবা ভুল হ’ল। পুনৰ চেষ্টা কৰক।</translation>
 <translation id="357889014807611375">নিৰিখ-নিৰ্দিষ্ট ৱাই-ফাই</translation>
 <translation id="3583278742022654445">ছিগনেলৰ ক্ষমতা দুৰ্বল। ৱাই-ফাইৰ ছিগনেলৰ উৎসটোৰ ওচৰলৈ গৈ চাওক।</translation>
 <translation id="3595596368722241419">বেটাৰী চ্চাৰ্জ সম্পূৰ্ণ হৈছে</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">এই <ph name="DEVICE_TYPE" />টো <ph name="MANAGER" />এ পৰিচালনা কৰে। প্ৰশাসকে দূৰৰ পৰাই ডিভাইচটো কনফিগাৰ কৰিব পাৰে।</translation>
 <translation id="7180611975245234373">ৰিফ্ৰেশ্ব কৰক</translation>
 <translation id="7216409898977639127">চেলুলাৰ প্ৰদানকাৰী</translation>
-<translation id="7240035910874241640">আটাইবোৰ পৰিধীয় আহিলা আপ টু ডে’ট হৈ আছে</translation>
 <translation id="7271040990581020067">বৰ্তমান স্কেনাৰটো ব্যৱহাৰ কৰি থকা হৈছে। পাছত পুনৰ চেষ্টা কৰক।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ৱালপেপাৰৰ সংগ্ৰহ</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">ট্ৰেফিক কাউণ্টাৰ</translation>
 <translation id="8503813439785031346">ব্যৱহাৰকাৰীৰ নাম</translation>
 <translation id="8503836310948963452">আৰু মাত্ৰ কেইমিনিটমান বাকী…</translation>
-<translation id="8520963233738002436">আপোনাৰ <ph name="DEVICE_NAME" />টো আপ টু ডে’ট হৈ আছে</translation>
 <translation id="8521021929829989041">এটা ব্যক্তিগত ডিভাইচ ব্যৱহাৰ কৰক</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">আপোনাৰ বাহকৰ নেটৱৰ্কৰ সৈতে সংযুক্ত হ’বলৈ সেইটোক এই বিকল্পটোৰ আৱশ্যক হ’ব পাৰে। সবিশেষৰ বাবে আপোনাৰ বাহকৰ সৈতে যোগাযোগ কৰক।</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">পুনৰ চলাওক</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{স্কেন কৰক}=1{পৃষ্ঠা {NUMBER_OF_PAGES} স্কেন কৰক}one{পৃষ্ঠা {NUMBER_OF_PAGES} স্কেন কৰক}other{পৃষ্ঠা {NUMBER_OF_PAGES} স্কেন কৰক}}</translation>
-<translation id="8994273342647807496">ইনষ্টল কৰি থকা হৈছে - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ডিভাইচটোত <ph name="BATTERY_PERCENTAGE" />% বেটাৰী আছে।</translation>
 <translation id="9003704114456258138">ফ্ৰিকুৱেন্সী</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_az.xtb b/chromeos/strings/chromeos_strings_az.xtb
index a249c60..dc2ff3d 100644
--- a/chromeos/strings/chromeos_strings_az.xtb
+++ b/chromeos/strings/chromeos_strings_az.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" /> səhifə çap edilib.</translation>
 <translation id="345898999683440380">Səhifə <ph name="PAGE_NUM" /> skanlanır. <ph name="PERCENTAGE_VALUE" />% tamamlanıb.</translation>
 <translation id="3459509316159669723">Çap edilir</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> güncəllənir</translation>
 <translation id="3484914941826596830">Proqram güncəllənərkən bu xarici cihazı ayırmayın və ya kompüterinizi söndürməyin. Bu pəncərəni kiçildə bilərsiniz. Bu güncəlləmə bir neçə dəqiqə çəkə bilər və xarici cihazınız bu müddət ərzində işləməyə bilər.</translation>
 <translation id="3486220673238053218">təsvir</translation>
 <translation id="3488065109653206955">Qismən aktivləşdirilib</translation>
 <translation id="3527036260304016759">Alınmadı - Naməlum xəta</translation>
 <translation id="3532980081107202182">Təxminən <ph name="MIN_REMAINING" /> dəqiqə qalıb</translation>
 <translation id="3565064564551103223">İcazə verilən IP'lər</translation>
+<translation id="3577473026931028326">Xəta baş verdi. Yenidən cəhd edin.</translation>
 <translation id="357889014807611375">limitli Wi-Fi</translation>
 <translation id="3583278742022654445">Siqnal gücü zəifdir. Wi-Fi siqnal mənbəyinə yaxınlaşmağa çalışın.</translation>
 <translation id="3595596368722241419">Batareya doludur</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881">Bu <ph name="DEVICE_TYPE" /> <ph name="MANAGER" /> tərəfindən idarə olunur. Administratorlar cihazı məsafədən konfiqurasiya edə bilər.</translation>
 <translation id="7180611975245234373">Yeniləyin</translation>
 <translation id="7216409898977639127">Mobil provayder</translation>
-<translation id="7240035910874241640">Bütün əlavə cihazlar güncəldir</translation>
 <translation id="7271040990581020067">Skaner hazırda istifadə olunur. Sonra cəhd edin.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Divar kağızı kolleksiyaları</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">Nəqliyyat Sayğacları</translation>
 <translation id="8503813439785031346">İstifadəçi adı</translation>
 <translation id="8503836310948963452">Bir neçə dəqiqə daha...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> cihazınız güncəldir</translation>
 <translation id="8521021929829989041">Şəxsi cihaz kimi istifadə edin</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operatorunuz şəbəkəsinə qoşulmaq üçün bu seçimi tələb edə bilər. Ətraflı məlumat üçün operatorunuzla əlaqə saxlayın.</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">Yenidən icra edin</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skan edin}=1{Bu səhifəni skan edin: {NUMBER_OF_PAGES}}other{Bu səhifəni skan edin: {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Quraşdırılır - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Cihazın batareya səviyyəsi: <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Tezlik</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_be.xtb b/chromeos/strings/chromeos_strings_be.xtb
index 78ff1939..f56054c 100644
--- a/chromeos/strings/chromeos_strings_be.xtb
+++ b/chromeos/strings/chromeos_strings_be.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Надрукавана старонка <ph name="PRINTED_PAGES" /> з <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Сканіруецца старонка <ph name="PAGE_NUM" />. Выканана <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Друк</translation>
-<translation id="3462187165860821523">Ідзе абнаўленне прылады "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3484914941826596830">Падчас абнаўлення ўбудаванага ПЗ не адключайце знешнюю прыладу і не выключайце камп'ютар. Гэта акно можна згарнуць. Абнаўленне зойме некалькі хвілін, і падчас яго знешняя прылада можа не працаваць.</translation>
 <translation id="3486220673238053218">азначэнне</translation>
 <translation id="3488065109653206955">Часткова актывавана</translation>
 <translation id="3527036260304016759">Збой: невядомая памылка</translation>
 <translation id="3532980081107202182">Прыблізны час да завяршэння: <ph name="MIN_REMAINING" /> хв</translation>
 <translation id="3565064564551103223">Дазволеныя IP-адрасы</translation>
+<translation id="3577473026931028326">Нешта пайшло не так. Паўтарыце спробу.</translation>
 <translation id="357889014807611375">Wi-Fi з улікам трафіка</translation>
 <translation id="3583278742022654445">Нізкая магутнасць сігналу. Перамясціцеся бліжэй да крыніцы сігналу Wi-Fi.</translation>
 <translation id="3595596368722241419">Акумулятар поўнасцю зараджаны</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Гэтай прыладай <ph name="DEVICE_TYPE" /> кіруе <ph name="MANAGER" />. Адміністратары могуць аддалена задаваць налады прылады.</translation>
 <translation id="7180611975245234373">Абнавіць</translation>
 <translation id="7216409898977639127">Сотавы аператар</translation>
-<translation id="7240035910874241640">Убудаванае ПЗ перыферыйных прылад ужо абноўлена</translation>
 <translation id="7271040990581020067">Сканер зараз выкарыстоўваецца. Паўтарыце спробу пазней.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Калекцыі шпалер</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Лічыльнікі трафіка</translation>
 <translation id="8503813439785031346">Імя карыстальніка</translation>
 <translation id="8503836310948963452">Яшчэ пару хвілін…</translation>
-<translation id="8520963233738002436">Прылада "<ph name="DEVICE_NAME" />" абноўлена</translation>
 <translation id="8521021929829989041">Выкарыстоўваць прыладу як асабістую</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Магчыма, вам спатрэбіцца ўключыць гэту наладу, каб падключыцца да сеткі вашага аператара. Звяжыцеся з аператарам, каб даведацца больш.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Выканаць яшчэ раз</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Адсканіраваць}=1{Адсканіраваць старонку {NUMBER_OF_PAGES}}one{Адсканіраваць старонку {NUMBER_OF_PAGES}}few{Адсканіраваць старонку {NUMBER_OF_PAGES}}many{Адсканіраваць старонку {NUMBER_OF_PAGES}}other{Адсканіраваць старонку {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Ідзе ўсталяванне (<ph name="PERCENTAGE_VALUE" />%)</translation>
 <translation id="8997710128084572139">Узровень зараду акумулятара прылады: <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Частата</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_bg.xtb b/chromeos/strings/chromeos_strings_bg.xtb
index d440ea7c..24e7d34 100644
--- a/chromeos/strings/chromeos_strings_bg.xtb
+++ b/chromeos/strings/chromeos_strings_bg.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Отпечатана е страница <ph name="PRINTED_PAGES" /> от <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Сканира се страница <ph name="PAGE_NUM" />. Завършена: <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Отпечатване</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> се актуализира</translation>
 <translation id="3484914941826596830">Докато фърмуерът се актуализира, не изключвайте това външно устройство, нито компютъра си. Можете да намалите прозореца. Възможно е актуализацията да отнеме няколко минути и през това време външното ви устройство може да не работи.</translation>
 <translation id="3486220673238053218">дефиниция</translation>
 <translation id="3488065109653206955">Частично активиран</translation>
 <translation id="3527036260304016759">Неуспешно – неизвестна грешка</translation>
 <translation id="3532980081107202182">Остават около <ph name="MIN_REMAINING" /> минути</translation>
 <translation id="3565064564551103223">Разрешени IP адреси</translation>
+<translation id="3577473026931028326">Нещо се обърка. Опитайте отново.</translation>
 <translation id="357889014807611375">Wi-Fi мрежа с отчитане</translation>
 <translation id="3583278742022654445">Сигналът е слаб. Приближете се до източника на Wi-Fi сигнал.</translation>
 <translation id="3595596368722241419">Батерията е заредена</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Това устройство <ph name="DEVICE_TYPE" /> се управлява от <ph name="MANAGER" />. Администраторите може да го конфигурират отдалечено.</translation>
 <translation id="7180611975245234373">Опресняване</translation>
 <translation id="7216409898977639127">Мобилен оператор</translation>
-<translation id="7240035910874241640">Всички периферни устройства са актуални</translation>
 <translation id="7271040990581020067">Скенерът се използва понастоящем. Опитайте отново по-късно.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Колекции от тапети</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Броячи за трафика</translation>
 <translation id="8503813439785031346">Потребителско име</translation>
 <translation id="8503836310948963452">Само още няколко минути…</translation>
-<translation id="8520963233738002436">Устройството ви <ph name="DEVICE_NAME" /> е актуално</translation>
 <translation id="8521021929829989041">Използване като лично устройство</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Тази опция може да е необходима за свързване с мрежата на оператора ви. За подробности се обърнете към него.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Повторно изпълняване</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Сканиране}=1{Сканиране на страница {NUMBER_OF_PAGES}}other{Сканиране на страница {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Инсталира се – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Нивото на батерията на устройството е <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Честота</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_bn.xtb b/chromeos/strings/chromeos_strings_bn.xtb
index a5baede..f8c0fe7 100644
--- a/chromeos/strings/chromeos_strings_bn.xtb
+++ b/chromeos/strings/chromeos_strings_bn.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" />টি পৃষ্ঠার মধ্যে <ph name="PRINTED_PAGES" /> নম্বর পৃষ্ঠা প্রিন্ট করা হয়েছে।</translation>
 <translation id="345898999683440380">স্ক্যান করা পৃষ্ঠা <ph name="PAGE_NUM" />। <ph name="PERCENTAGE_VALUE" />% হয়ে গেছে।</translation>
 <translation id="3459509316159669723">প্রিন্ট হচ্ছে</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> আপডেট করা হচ্ছে</translation>
 <translation id="3484914941826596830">ফার্মওয়্যার আপডেট করার সময়, এই এক্সটার্নাল ডিভাইসটি আনপ্লাগ করবেন না বা আপনার কম্পিউটার বন্ধ করবেন না। আপনি এই উইন্ডোটি মিনিমাইজ করতে পারবেন। এই আপডেটে কয়েক মিনিট সময় লাগতে পারে এবং এই সময়ে আপনার এক্সটার্নাল ডিভাইস কাজ নাও করতে পারে।</translation>
 <translation id="3486220673238053218">সংজ্ঞা</translation>
 <translation id="3488065109653206955">আংশিকভাবে সক্রিয়</translation>
 <translation id="3527036260304016759">প্রিন্ট করা যায়নি - অজানা সমস্যা</translation>
 <translation id="3532980081107202182">প্রায় <ph name="MIN_REMAINING" /> মিনিট সময় লাগবে</translation>
 <translation id="3565064564551103223">অনুমোদিত IP অ্যাড্রেসগুলি</translation>
+<translation id="3577473026931028326">কোনও সমস্যা হয়েছে। আবার চেষ্টা করুন।</translation>
 <translation id="357889014807611375">মিটার্ড ওয়াই-ফাই</translation>
 <translation id="3583278742022654445">দুর্বল সিগন্যাল। ওয়াই-ফাই সিগন্যাল সোর্সের কাছাকাছি যাওয়ার চেষ্টা করুন।</translation>
 <translation id="3595596368722241419">ব্যাটারি পুরো চার্জ</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" />-এর মাধ্যমে এই <ph name="DEVICE_TYPE" /> ম্যানেজ করা হয়। অ্যাডমিনিস্ট্রেটর অন্য জায়গা থেকে ডিভাইসটি কনফিগার করতে পারেন।</translation>
 <translation id="7180611975245234373">রিফ্রেশ করুন</translation>
 <translation id="7216409898977639127">মোবাইল পরিষেবা প্রদানকারী</translation>
-<translation id="7240035910874241640">সব পেরিফেরাল আপ-টু-ডেট আছে</translation>
 <translation id="7271040990581020067">স্ক্যানার বর্তমানে ব্যবহার করা হচ্ছে। পরে আবার চেষ্টা করুন।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ওয়ালপেপারের সংগ্রহ</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">ট্রাফিক কাউন্টার্স</translation>
 <translation id="8503813439785031346">ইউজারনেম</translation>
 <translation id="8503836310948963452">আর মাত্র কয়েক মিনিট...</translation>
-<translation id="8520963233738002436">আপনার <ph name="DEVICE_NAME" /> আপ-টু-ডেট আছে</translation>
 <translation id="8521021929829989041">ব্যক্তিগত ডিভাইস হিসেবে ব্যবহার করুন</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">নেটওয়ার্কে কানেক্ট করার জন্য আপনার পরিষেবা প্রদানকারীর এই বিকল্পের প্রয়োজন হতে পারে। বিশদ বিবরণের জন্য আপনার পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন।</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">আবার চালান</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{স্ক্যান করুন}=1{{NUMBER_OF_PAGES} নম্বর পৃষ্ঠা স্ক্যান করুন}one{{NUMBER_OF_PAGES} নম্বর পৃষ্ঠা স্ক্যান করুন}other{{NUMBER_OF_PAGES} নম্বর পৃষ্ঠা স্ক্যান করুন}}</translation>
-<translation id="8994273342647807496">ইনস্টল করা হচ্ছে - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ডিভাইসে <ph name="BATTERY_PERCENTAGE" />% ব্যাটারি আছে।</translation>
 <translation id="9003704114456258138">ফ্রিকোয়েন্সি</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_bs.xtb b/chromeos/strings/chromeos_strings_bs.xtb
index 498caa4..a581c68 100644
--- a/chromeos/strings/chromeos_strings_bs.xtb
+++ b/chromeos/strings/chromeos_strings_bs.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Odštampanih stanica: <ph name="PRINTED_PAGES" /> od <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skenira se stranica broj <ph name="PAGE_NUM" />. Završeno je <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Štampanje</translation>
-<translation id="3462187165860821523">Ažuriranje uređaja <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Nemojte iskopčati ovaj vanjski uređaj ili isključiti računar dok traje ažuriranje firmvera. Ovaj prozor možete minimizirati. Ovo ažuriranje može potrajati nekoliko minuta. Moguće je da za to vrijeme vanjski uređaj neće funkcionirati.</translation>
 <translation id="3486220673238053218">definicija</translation>
 <translation id="3488065109653206955">Djelimično aktivirano</translation>
 <translation id="3527036260304016759">Nije uspjelo – nepoznata greška</translation>
 <translation id="3532980081107202182">Preostalo je oko <ph name="MIN_REMAINING" /> min</translation>
 <translation id="3565064564551103223">Dozvoljeni IP protokoli</translation>
+<translation id="3577473026931028326">Nešto nije uredu. Pokušajte ponovo.</translation>
 <translation id="357889014807611375">WiFi mreža s naplatom</translation>
 <translation id="3583278742022654445">Slaba jačina signala. Pokušajte se približiti izvoru WiFi signala.</translation>
 <translation id="3595596368722241419">Baterija je puna</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Ovim uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" />. Administratori mogu daljinski konfigurirati uređaj.</translation>
 <translation id="7180611975245234373">Osvježi</translation>
 <translation id="7216409898977639127">Mobilni operater</translation>
-<translation id="7240035910874241640">Svi periferni uređaji su ažurirani</translation>
 <translation id="7271040990581020067">Skener se trenutno koristi. Pokušajte ponovo kasnije.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Kolekcije pozadinskih slika</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Brojači saobraćaja</translation>
 <translation id="8503813439785031346">Korisničko ime</translation>
 <translation id="8503836310948963452">Još samo nekoliko minuta...</translation>
-<translation id="8520963233738002436">Vaš uređaj <ph name="DEVICE_NAME" /> je ažuriran</translation>
 <translation id="8521021929829989041">Koristi kao lični uređaj</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Mobilni operater može zahtijevati ovu opciju radi povezivanja s njegovom mrežom. Za detalje se obratite mobilnom operateru.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Pokreni ponovo</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skeniraj}=1{Skeniraj {NUMBER_OF_PAGES}. stranicu}one{Skeniraj {NUMBER_OF_PAGES}. stranicu}few{Skeniraj {NUMBER_OF_PAGES}. stranicu}other{Skeniraj {NUMBER_OF_PAGES}. stranicu}}</translation>
-<translation id="8994273342647807496">Instaliranje – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Uređaj ima <ph name="BATTERY_PERCENTAGE" />% baterije.</translation>
 <translation id="9003704114456258138">Frekvencija</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ca.xtb b/chromeos/strings/chromeos_strings_ca.xtb
index 3f4d647..789a60df 100644
--- a/chromeos/strings/chromeos_strings_ca.xtb
+++ b/chromeos/strings/chromeos_strings_ca.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">S'ha imprès la pàgina <ph name="PRINTED_PAGES" /> de <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">S'està escanejant la pàgina <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% completat.</translation>
 <translation id="3459509316159669723">Imprimeix</translation>
-<translation id="3462187165860821523">S'està actualitzant <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Mentre el microprogramari s'actualitza, no desconnectis el dispositiu extern ni apaguis l'ordinador. Pots minimitzar aquesta finestra. Aquesta actualització pot tardar uns quants minuts i és possible que, durant aquest temps, el dispositiu extern no funcioni.</translation>
 <translation id="3486220673238053218">definició</translation>
 <translation id="3488065109653206955">Activat parcialment</translation>
 <translation id="3527036260304016759">Error: error desconegut</translation>
 <translation id="3532980081107202182">Queden aproximadament <ph name="MIN_REMAINING" /> minuts</translation>
 <translation id="3565064564551103223">IP permeses</translation>
+<translation id="3577473026931028326">S'ha produït un error. Torna-ho a provar.</translation>
 <translation id="357889014807611375">Wi‑Fi d'ús mesurat</translation>
 <translation id="3583278742022654445">Intensitat del senyal fluixa. Prova d'apropar-te a la font de senyal de la Wi-Fi.</translation>
 <translation id="3595596368722241419">Bateria carregada.</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Aquest dispositiu <ph name="DEVICE_TYPE" /> està gestionat per <ph name="MANAGER" />. És possible que els administradors el configurin de manera remota.</translation>
 <translation id="7180611975245234373">Actualitza</translation>
 <translation id="7216409898977639127">Proveïdor de dades mòbils</translation>
-<translation id="7240035910874241640">Tots els perifèrics estan actualitzats</translation>
 <translation id="7271040990581020067">L'escàner s'està utilitzant en aquests moments. Torna-ho a provar més tard.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Col·leccions de fons de pantalla</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Comptadors de trànsit</translation>
 <translation id="8503813439785031346">Nom d'usuari</translation>
 <translation id="8503836310948963452">Només queden uns quants minuts...</translation>
-<translation id="8520963233738002436">El dispositiu <ph name="DEVICE_NAME" /> està actualitzat</translation>
 <translation id="8521021929829989041">Utilitza com a dispositiu personal</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">El teu operador pot requerir aquesta opció per connectar-te a la seva xarxa. Contacta-hi per obtenir-ne més informació.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Torna a executar</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Escaneja}=1{Escaneja {NUMBER_OF_PAGES} pàgina}other{Escaneja {NUMBER_OF_PAGES} pàgines}}</translation>
-<translation id="8994273342647807496">S'està instal·lant (<ph name="PERCENTAGE_VALUE" />%)</translation>
 <translation id="8997710128084572139">El dispositiu té un <ph name="BATTERY_PERCENTAGE" />% de bateria.</translation>
 <translation id="9003704114456258138">Freqüència</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_cs.xtb b/chromeos/strings/chromeos_strings_cs.xtb
index 814ecbf3..38b4ad6 100644
--- a/chromeos/strings/chromeos_strings_cs.xtb
+++ b/chromeos/strings/chromeos_strings_cs.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Vytisknuta stránka <ph name="PRINTED_PAGES" /> z <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skenování stránky <ph name="PAGE_NUM" />. Hotovo <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Tisk</translation>
-<translation id="3462187165860821523">Aktualizace zařízení <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Během aktualizace firmwaru neodpojujte externí zařízení ani nevypínejte počítač. Toto okno můžete minimalizovat. Aktualizace může trvat několik minut a externí zařízení po tuto dobu nemusí fungovat.</translation>
 <translation id="3486220673238053218">definice</translation>
 <translation id="3488065109653206955">Částečně aktivováno</translation>
 <translation id="3527036260304016759">Tisk selhal – neznámá chyba</translation>
 <translation id="3532980081107202182">Zbývající minuty: <ph name="MIN_REMAINING" /></translation>
 <translation id="3565064564551103223">Povolené IP adresy</translation>
+<translation id="3577473026931028326">Došlo k chybě. Zkuste to znovu.</translation>
 <translation id="357889014807611375">měřená Wi-Fi</translation>
 <translation id="3583278742022654445">Signál je slabý. Zkuste se přesunout blíže ke zdroji signálu Wi-Fi.</translation>
 <translation id="3595596368722241419">Baterie je nabitá</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Toto zařízení <ph name="DEVICE_TYPE" /> spravuje doména <ph name="MANAGER" />. Administrátoři mohou zařízení vzdáleně konfigurovat.</translation>
 <translation id="7180611975245234373">Obnovit</translation>
 <translation id="7216409898977639127">Poskytovatel mobilních dat</translation>
-<translation id="7240035910874241640">Všechna periferní zařízení jsou aktuální</translation>
 <translation id="7271040990581020067">Skener je aktuálně používán. Zkuste to znovu později.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Sbírky tapet</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Počítadla návštěvnosti</translation>
 <translation id="8503813439785031346">Uživatelské jméno</translation>
 <translation id="8503836310948963452">Ještě pár minut…</translation>
-<translation id="8520963233738002436">Vaše zařízení <ph name="DEVICE_NAME" /> je aktuální</translation>
 <translation id="8521021929829989041">Použít jako osobní zařízení</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Někteří operátoři k připojení k síti vyžadují tuto možnost. Na podrobnosti se zeptejte mobilního operátora.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Spustit znovu</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Naskenovat}=1{Naskenovat {NUMBER_OF_PAGES} stránek}few{Naskenovat {NUMBER_OF_PAGES} stránky}many{Naskenovat {NUMBER_OF_PAGES} stránky}other{Naskenovat {NUMBER_OF_PAGES} stránek}}</translation>
-<translation id="8994273342647807496">Instalace – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Stav baterie zařízení je <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frekvence</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_da.xtb b/chromeos/strings/chromeos_strings_da.xtb
index 0c8a69e5..ac1ef7e 100644
--- a/chromeos/strings/chromeos_strings_da.xtb
+++ b/chromeos/strings/chromeos_strings_da.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" /> ud af <ph name="TOTAL_PAGES" /> er blevet udskrevet.</translation>
 <translation id="345898999683440380">Scanner side <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" /> % er blevet scannet.</translation>
 <translation id="3459509316159669723">Udskrivning</translation>
-<translation id="3462187165860821523">Opdaterer <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Du må ikke frakoble den eksterne enhed eller slukke din computer, mens firmwaren opdaterer. Du kan minimere dette vindue. Denne opdatering kan tage et par minutter, og din eksterne enhed fungerer muligvis ikke under opdateringen.</translation>
 <translation id="3486220673238053218">definition</translation>
 <translation id="3488065109653206955">Delvist aktiveret</translation>
 <translation id="3527036260304016759">Handlingen mislykkedes – Ukendt fejl</translation>
 <translation id="3532980081107202182">Ca. <ph name="MIN_REMAINING" /> minutter tilbage</translation>
 <translation id="3565064564551103223">Tilladte IP'er</translation>
+<translation id="3577473026931028326">Der opstod en fejl. Prøv igen.</translation>
 <translation id="357889014807611375">forbrugsafregnet Wi-Fi</translation>
 <translation id="3583278742022654445">Svag signalstyrke. Prøv at rykke tættere på kilden til Wi-Fi-signalet.</translation>
 <translation id="3595596368722241419">Batteri helt opladet</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881">Denne <ph name="DEVICE_TYPE" /> administreres af <ph name="MANAGER" />. Administratorer kan fjernkonfigurere enheden.</translation>
 <translation id="7180611975245234373">Opdater</translation>
 <translation id="7216409898977639127">Mobilselskab</translation>
-<translation id="7240035910874241640">Alle eksterne enheder er opdateret</translation>
 <translation id="7271040990581020067">Scanneren bruges i øjeblikket. Prøv igen senere.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Samlinger med baggrunde</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">Trafiktællere</translation>
 <translation id="8503813439785031346">Brugernavn</translation>
 <translation id="8503836310948963452">Det tager kun et par minutter mere...</translation>
-<translation id="8520963233738002436">Din <ph name="DEVICE_NAME" /> er opdateret</translation>
 <translation id="8521021929829989041">Brug som personlig enhed</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Dit mobilselskab kræver muligvis denne tilladelse, for at du kan oprette forbindelse til mobilnetværket. Kontakt dit mobilselskab for at få flere oplysninger.</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">Kør igen</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scan}=1{Scan side {NUMBER_OF_PAGES}}one{Scan page {NUMBER_OF_PAGES}}other{Scan siderne {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installerer – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Enheden har <ph name="BATTERY_PERCENTAGE" /> % batteri.</translation>
 <translation id="9003704114456258138">Frekvens</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_de.xtb b/chromeos/strings/chromeos_strings_de.xtb
index 6cea85f..185562fe 100644
--- a/chromeos/strings/chromeos_strings_de.xtb
+++ b/chromeos/strings/chromeos_strings_de.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Seite <ph name="PRINTED_PAGES" /> von <ph name="TOTAL_PAGES" /> wird gedruckt.</translation>
 <translation id="345898999683440380">Seite <ph name="PAGE_NUM" /> wird gescannt. <ph name="PERCENTAGE_VALUE" /> % sind abgeschlossen.</translation>
 <translation id="3459509316159669723">Drucken</translation>
-<translation id="3462187165860821523">Das Gerät „<ph name="DEVICE_NAME" />“ wird aktualisiert</translation>
 <translation id="3484914941826596830">Während die Firmware aktualisiert wird, darf dieses externe Gerät nicht getrennt oder der Computer heruntergefahren werden. Sie können dieses Fenster minimieren. Die Aktualisierung dauert einige Minuten und Ihr externes Gerät funktioniert während dieser Zeit eventuell nicht.</translation>
 <translation id="3486220673238053218">Definition</translation>
 <translation id="3488065109653206955">Teilweise aktiviert</translation>
 <translation id="3527036260304016759">Fehlgeschlagen – Unbekannter Fehler</translation>
 <translation id="3532980081107202182">Noch etwa <ph name="MIN_REMAINING" /> Minuten</translation>
 <translation id="3565064564551103223">Zugelassene IPs</translation>
+<translation id="3577473026931028326">Ein Fehler ist aufgetreten. Versuchen Sie es noch einmal.</translation>
 <translation id="357889014807611375">Kostenpflichtiges WLAN</translation>
 <translation id="3583278742022654445">Schwaches Signal. Gehen Sie näher an die Quelle des WLAN-Signals heran.</translation>
 <translation id="3595596368722241419">Akku voll</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Dieses <ph name="DEVICE_TYPE" /> wird von <ph name="MANAGER" /> verwaltet. Administratoren können das Gerät per Remotezugriff konfigurieren.</translation>
 <translation id="7180611975245234373">Aktualisieren</translation>
 <translation id="7216409898977639127">Mobilfunkanbieter</translation>
-<translation id="7240035910874241640">Alle Peripheriegeräte sind auf dem neuesten Stand</translation>
 <translation id="7271040990581020067">Der Scanner wird derzeit verwendet. Versuchen Sie es später noch einmal.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Hintergrundsammlungen</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Traffic-Zähler</translation>
 <translation id="8503813439785031346">Nutzername</translation>
 <translation id="8503836310948963452">Nur noch ein paar Minuten…</translation>
-<translation id="8520963233738002436">Ihr Gerät „<ph name="DEVICE_NAME" />“ ist auf dem neuesten Stand</translation>
 <translation id="8521021929829989041">Als privates Gerät verwenden</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Ihr Mobilfunkanbieter verlangt möglicherweise diese Option, damit Sie sich mit seinem Netzwerk verbinden können. Weitere Informationen erhalten Sie bei Ihrem Mobilfunkanbieter.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Erneut ausführen</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scannen}=1{Seite {NUMBER_OF_PAGES} scannen}other{Seite {NUMBER_OF_PAGES} scannen}}</translation>
-<translation id="8994273342647807496">Installation läuft – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Der Akkustand des Geräts liegt bei <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frequenz</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_el.xtb b/chromeos/strings/chromeos_strings_el.xtb
index 8ebc1fa..d54e95d 100644
--- a/chromeos/strings/chromeos_strings_el.xtb
+++ b/chromeos/strings/chromeos_strings_el.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Εκτυπώθηκε η σελίδα <ph name="PRINTED_PAGES" /> από <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Σάρωση σελίδας <ph name="PAGE_NUM" />. Ολοκληρώθηκε το <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Εκτύπωση</translation>
-<translation id="3462187165860821523">Ενημέρωση <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Κατά την ενημέρωση του υλικολογισμικού, μην αποσυνδέσετε αυτήν την εξωτερική συσκευή και μην τερματίσετε τη λειτουργία του υπολογιστή. Μπορείτε να ελαχιστοποιήσετε αυτό το παράθυρο. Μπορεί να χρειαστούν λίγα λεπτά για αυτήν την ενημέρωση και η εξωτερική συσκευή σας μπορεί να μην λειτουργεί αυτό το διάστημα.</translation>
 <translation id="3486220673238053218">ορισμός</translation>
 <translation id="3488065109653206955">Μερικώς ενεργοποιημένο</translation>
 <translation id="3527036260304016759">Σφάλμα - Άγνωστο σφάλμα</translation>
 <translation id="3532980081107202182">Απομένουν περίπου <ph name="MIN_REMAINING" /> λεπτά</translation>
 <translation id="3565064564551103223">IP που επιτρέπονται</translation>
+<translation id="3577473026931028326">Παρουσιάστηκε κάποιο πρόβλημα. Επανάληψη.</translation>
 <translation id="357889014807611375">Wi-Fi με ογκοχρέωση</translation>
 <translation id="3583278742022654445">Ασθενές σήμα. Δοκιμάστε να πλησιάσετε περισσότερο την πηγή του σήματος Wi-Fi.</translation>
 <translation id="3595596368722241419">Μπαταρία πλήρης</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Η διαχείριση της συσκευής <ph name="DEVICE_TYPE" /> γίνεται από τον τομέα <ph name="MANAGER" />. Οι διαχειριστές μπορούν να διαμορφώσουν τη συσκευή απομακρυσμένα.</translation>
 <translation id="7180611975245234373">Ανανέωση</translation>
 <translation id="7216409898977639127">Πάροχος δικτύου κινητής τηλεφωνίας</translation>
-<translation id="7240035910874241640">Όλα τα περιφερειακά είναι ενημερωμένα</translation>
 <translation id="7271040990581020067">Ο σαρωτής χρησιμοποιείται αυτήν τη στιγμή. Δοκιμάστε ξανά αργότερα.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Συλλογές ταπετσαρίας</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Μετρητές επισκεψιμότητας</translation>
 <translation id="8503813439785031346">Όνομα χρήστη</translation>
 <translation id="8503836310948963452">Απομένουν λίγα μόνο λεπτά…</translation>
-<translation id="8520963233738002436">Η συσκευή <ph name="DEVICE_NAME" /> είναι ενημερωμένη</translation>
 <translation id="8521021929829989041">Χρήση ως προσωπικής συσκευής</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Αυτή η επιλογή μπορεί να απαιτείται από την εταιρεία κινητής τηλεφωνίας σας για σύνδεση στο δίκτυό της. Επικοινωνήστε με την εταιρεία κινητής τηλεφωνίας που χρησιμοποιείτε για λεπτομέρειες.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Επανεκτέλεση</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Σάρωση}=1{Σάρωση σελίδας {NUMBER_OF_PAGES}}other{Σάρωση σελίδας {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Γίνεται εγκατάσταση - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Η μπαταρία της συσκευής βρίσκεται στο <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Συχνότητα</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_en-GB.xtb b/chromeos/strings/chromeos_strings_en-GB.xtb
index 11c5204..019bdf5 100644
--- a/chromeos/strings/chromeos_strings_en-GB.xtb
+++ b/chromeos/strings/chromeos_strings_en-GB.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Printed page <ph name="PRINTED_PAGES" /> out of <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Scanning page <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% completed.</translation>
 <translation id="3459509316159669723">Printing</translation>
-<translation id="3462187165860821523">Updating <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">While the firmware is updating, do not unplug this external device or shut down your computer. You can minimise this window. This update may take a few minutes and your external device may not work during this time.</translation>
 <translation id="3486220673238053218">definition</translation>
 <translation id="3488065109653206955">Partially activated</translation>
 <translation id="3527036260304016759">Failed – Unknown error</translation>
 <translation id="3532980081107202182">About <ph name="MIN_REMAINING" /> minutes remaining</translation>
 <translation id="3565064564551103223">Allowed IPs</translation>
+<translation id="3577473026931028326">Something went wrong. Try again.</translation>
 <translation id="357889014807611375">metered Wi-Fi</translation>
 <translation id="3583278742022654445">Weak signal strength. Try moving closer to the Wi-Fi signal source.</translation>
 <translation id="3595596368722241419">Battery full</translation>
@@ -353,6 +353,7 @@
 <translation id="5691511426247308406">Family</translation>
 <translation id="5701381305118179107">Centre</translation>
 <translation id="5707900041990977207"><ph name="CURRENT_PAGE" /> of <ph name="TOTAL_PAGES" /></translation>
+<translation id="5733298426544876109">Update <ph name="DEVICE_NAME" /></translation>
 <translation id="5760715441271661976">Portal state</translation>
 <translation id="5784136236926853061">High HTTP latency</translation>
 <translation id="5832805196449965646">Add Person</translation>
@@ -462,7 +463,6 @@
 <translation id="7177485034254901881">This <ph name="DEVICE_TYPE" /> is managed by <ph name="MANAGER" />. Administrators may remotely configure the device.</translation>
 <translation id="7180611975245234373">Refresh</translation>
 <translation id="7216409898977639127">Mobile provider</translation>
-<translation id="7240035910874241640">All peripherals are up to date</translation>
 <translation id="7271040990581020067">Scanner is currently in use. Try again later.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Wallpaper collections</translation>
@@ -563,7 +563,6 @@
 <translation id="8498220429738806196">Traffic counters</translation>
 <translation id="8503813439785031346">Username</translation>
 <translation id="8503836310948963452">Just a few more minutes…</translation>
-<translation id="8520963233738002436">Your <ph name="DEVICE_NAME" /> is up to date</translation>
 <translation id="8521021929829989041">Use as personal device</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Your operator may require this option to connect to their network. Contact your operator for details.</translation>
@@ -607,7 +606,6 @@
 <translation id="8970109610781093811">Run again</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scan}=1{Scan page {NUMBER_OF_PAGES}}other{Scan page {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installing - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Device has <ph name="BATTERY_PERCENTAGE" />% battery.</translation>
 <translation id="9003704114456258138">Frequency:</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_es-419.xtb b/chromeos/strings/chromeos_strings_es-419.xtb
index 7e531df2..f9625fa 100644
--- a/chromeos/strings/chromeos_strings_es-419.xtb
+++ b/chromeos/strings/chromeos_strings_es-419.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Se imprimió la página <ph name="PRINTED_PAGES" /> de un total de <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Se está escaneando la página <ph name="PAGE_NUM" />. Se completó el <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Impresión</translation>
-<translation id="3462187165860821523">Actualizando <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">No desconectes este dispositivo externo ni apagues la computadora mientras se actualiza el firmware. Puedes minimizar esta ventana. Es posible que esta actualización demore unos minutos y que el dispositivo externo no funcione hasta que termine.</translation>
 <translation id="3486220673238053218">definición</translation>
 <translation id="3488065109653206955">Parcialmente activado</translation>
 <translation id="3527036260304016759">Error: Problema desconocido</translation>
 <translation id="3532980081107202182">Quedan aproximadamente <ph name="MIN_REMAINING" /> minutos</translation>
 <translation id="3565064564551103223">IP habilitadas</translation>
+<translation id="3577473026931028326">Se produjo un error. Vuelve a intentarlo.</translation>
 <translation id="357889014807611375">Wi-Fi de uso medido</translation>
 <translation id="3583278742022654445">La intensidad de la señal es débil. Intenta acercarte a la fuente de la señal Wi-Fi.</translation>
 <translation id="3595596368722241419">Batería completa</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> administra el dispositivo <ph name="DEVICE_TYPE" />. Los administradores pueden configurarlo de forma remota.</translation>
 <translation id="7180611975245234373">Actualizar</translation>
 <translation id="7216409898977639127">Proveedor de red celular</translation>
-<translation id="7240035910874241640">Todos los periféricos están actualizados</translation>
 <translation id="7271040990581020067">El escáner está en uso. Vuelve a intentarlo más tarde.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Colecciones de fondo de pantalla</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Contadores de tráfico</translation>
 <translation id="8503813439785031346">Nombre de usuario</translation>
 <translation id="8503836310948963452">Solo unos minutos más…</translation>
-<translation id="8520963233738002436">Tu <ph name="DEVICE_NAME" /> está actualizado</translation>
 <translation id="8521021929829989041">Usar como dispositivo personal</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Es posible que tu proveedor necesite que esta opción esté habilitada para que puedas conectarte a su red. Comunícate con el proveedor para obtener más detalles.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Volver a ejecutar</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Analizar}=1{Analizar {NUMBER_OF_PAGES} página}other{Analizar {NUMBER_OF_PAGES} páginas}}</translation>
-<translation id="8994273342647807496">Instalando (<ph name="PERCENTAGE_VALUE" />%)</translation>
 <translation id="8997710128084572139">Nivel de batería del dispositivo <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Frecuencia</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_es.xtb b/chromeos/strings/chromeos_strings_es.xtb
index a25fd71..0a7834bb 100644
--- a/chromeos/strings/chromeos_strings_es.xtb
+++ b/chromeos/strings/chromeos_strings_es.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Se ha impreso la página <ph name="PRINTED_PAGES" /> de <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Escaneando página <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" /> % completado.</translation>
 <translation id="3459509316159669723">Imprimir</translation>
-<translation id="3462187165860821523">Actualizando <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Mientras se actualiza el firmware, no desconectes este dispositivo externo ni apagues el ordenador. Puedes minimizar esta ventana. Es posible que esta actualización tarde unos minutos en instalarse y que tu dispositivo externo no funcione durante ese tiempo.</translation>
 <translation id="3486220673238053218">definición</translation>
 <translation id="3488065109653206955">Activación parcial</translation>
 <translation id="3527036260304016759">No se ha podido imprimir - Error desconocido</translation>
 <translation id="3532980081107202182">Quedan unos <ph name="MIN_REMAINING" /> minutos</translation>
 <translation id="3565064564551103223">IPs permitidas</translation>
+<translation id="3577473026931028326">Se ha producido un error. Inténtalo de nuevo.</translation>
 <translation id="357889014807611375">Wi‑Fi de uso medido</translation>
 <translation id="3583278742022654445">Intensidad de la señal débil. Acércate a la fuente de la señal Wi-Fi.</translation>
 <translation id="3595596368722241419">Batería al máximo</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> gestiona este <ph name="DEVICE_TYPE" />. Los administradores pueden configurar el dispositivo de forma remota.</translation>
 <translation id="7180611975245234373">Actualizar</translation>
 <translation id="7216409898977639127">Proveedor de servicios móviles</translation>
-<translation id="7240035910874241640">Todos los periféricos están actualizados</translation>
 <translation id="7271040990581020067">El escáner se está usando en este momento. Vuelve a intentarlo más tarde.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Colecciones de fondos de pantalla</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">Contadores de tráfico</translation>
 <translation id="8503813439785031346">Nombre de usuario</translation>
 <translation id="8503836310948963452">Solo unos minutos más...</translation>
-<translation id="8520963233738002436">Tu <ph name="DEVICE_NAME" /> está actualizado</translation>
 <translation id="8521021929829989041">Usar como dispositivo personal</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Es posible que tu operador requiera esta opción para conectarte a su red. Ponte en contacto con tu operador para obtener más información al respecto.</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">Volver a ejecutar</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Escanear}=1{Escanear página {NUMBER_OF_PAGES}}other{Escanear página {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Instalando: <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Nivel de batería del dispositivo: <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frecuencia</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_et.xtb b/chromeos/strings/chromeos_strings_et.xtb
index 2e66296..013c51f 100644
--- a/chromeos/strings/chromeos_strings_et.xtb
+++ b/chromeos/strings/chromeos_strings_et.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Prinditi <ph name="PRINTED_PAGES" />. leht <ph name="TOTAL_PAGES" />-st.</translation>
 <translation id="345898999683440380">Lehe <ph name="PAGE_NUM" /> skannimine. <ph name="PERCENTAGE_VALUE" />% on lõpetatud.</translation>
 <translation id="3459509316159669723">Printimine</translation>
-<translation id="3462187165860821523">Seadme <ph name="DEVICE_NAME" /> värskendamine</translation>
 <translation id="3484914941826596830">Püsivara värskendamise ajal ärge seda välist seadet eemaldage ega arvutit välja lülitage. Võite selle akna minimeerida. Selle värskenduse lõpuleviimiseks võib kuluda mõni minut ja teie väline seade ei pruugi sel ajal töötada.</translation>
 <translation id="3486220673238053218">definitsioon</translation>
 <translation id="3488065109653206955">Osaliselt aktiveeritud</translation>
 <translation id="3527036260304016759">Ebaõnnestus – tundmatu viga</translation>
 <translation id="3532980081107202182">Jäänud on ligikaudu <ph name="MIN_REMAINING" /> minutit</translation>
 <translation id="3565064564551103223">Lubatud IP-d</translation>
+<translation id="3577473026931028326">Midagi läks valesti. Proovige uuesti.</translation>
 <translation id="357889014807611375">mahupõhine WiFi</translation>
 <translation id="3583278742022654445">Signaal on nõrk. Liikuge WiFi-signaali allikale lähemale.</translation>
 <translation id="3595596368722241419">Aku on täis</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Seadet <ph name="DEVICE_TYPE" /> haldab <ph name="MANAGER" />. Administraatorid saavad seda seadet kaugühenduse teel seadistada.</translation>
 <translation id="7180611975245234373">Värskenda</translation>
 <translation id="7216409898977639127">Mobiilsideteenuse pakkuja</translation>
-<translation id="7240035910874241640">Kõik välisseadmed on ajakohased</translation>
 <translation id="7271040990581020067">Skanner on kasutuses. Proovige hiljem uuesti.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Taustapiltide kogud</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Liiklusloendurid</translation>
 <translation id="8503813439785031346">Kasutajanimi</translation>
 <translation id="8503836310948963452">Veel mõni minut …</translation>
-<translation id="8520963233738002436">Teie <ph name="DEVICE_NAME" /> on ajakohane</translation>
 <translation id="8521021929829989041">Kasuta isikliku seadmena</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Teie operaator võib võrguga ühendamiseks seda valikut nõuda. Lisateavet küsige operaatorilt.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Käita uuesti</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skanni}=1{Skanni {NUMBER_OF_PAGES}. lehte}other{Skanni {NUMBER_OF_PAGES}. lehte}}</translation>
-<translation id="8994273342647807496">Installimine – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Seadme aku laetus on <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Sagedus</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_eu.xtb b/chromeos/strings/chromeos_strings_eu.xtb
index 1671bd0..ee9625c 100644
--- a/chromeos/strings/chromeos_strings_eu.xtb
+++ b/chromeos/strings/chromeos_strings_eu.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" /> orria inprimatu da.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />garren orria eskaneatzen. % <ph name="PERCENTAGE_VALUE" /> osatuta.</translation>
 <translation id="3459509316159669723">Inprimaketa</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> gailua eguneratzen</translation>
 <translation id="3484914941826596830">Firmwarea eguneratu bitartean, ez deskonektatu kanpoko gailua edo ez itzali ordenagailua. Leihoa minimiza dezakezu. Agian minutu batzuk beharko dira eguneratzea instalatzeko, eta baliteke kanpoko gailuak denbora tarte horretan ez funtzionatzea.</translation>
 <translation id="3486220673238053218">definizioa</translation>
 <translation id="3488065109653206955">Partzialki aktibatuta</translation>
 <translation id="3527036260304016759">Hutsegitea - Errore ezezaguna</translation>
 <translation id="3532980081107202182"><ph name="MIN_REMAINING" /> minutu inguru geratzen dira</translation>
 <translation id="3565064564551103223">Baimena duten IPak</translation>
+<translation id="3577473026931028326">Arazo bat izan da. Saiatu berriro.</translation>
 <translation id="357889014807611375">wifi neurtua</translation>
 <translation id="3583278742022654445">Seinalearen indarra ahula da. Saiatu wifi-seinalearen iturburura hurbiltzen.</translation>
 <translation id="3595596368722241419">Bateria beteta dago</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> domeinuak kudeatzen du <ph name="DEVICE_TYPE" /> gailua. Baliteke administratzaileek urrunetik konfiguratzea gailua.</translation>
 <translation id="7180611975245234373">Freskatu</translation>
 <translation id="7216409898977639127">Zerbitzu mugikorraren hornitzailea</translation>
-<translation id="7240035910874241640">Gailu periferiko guztiak eguneratuta daude</translation>
 <translation id="7271040990581020067">Eskanerra erabiltzen ari zara. Saiatu berriro geroago.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Horma-paperen bildumak</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Trafiko-kontagailuak</translation>
 <translation id="8503813439785031346">Erabiltzaile-izena</translation>
 <translation id="8503836310948963452">Minutu gutxi batzuk baino ez…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> gailua eguneratuta dago</translation>
 <translation id="8521021929829989041">Erabili gailu pertsonal gisa</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Baliteke zure operadoreak aukera hau eskatzea haren sarera konektatzeko. Horri buruzko xehetasunak lortzeko, jarri operadorearekin harremanetan.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Abiarazi berriro</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Eskaneatu}=1{Eskaneatu {NUMBER_OF_PAGES} orria}other{Eskaneatu {NUMBER_OF_PAGES} orri}}</translation>
-<translation id="8994273342647807496">Instalatzen (% <ph name="PERCENTAGE_VALUE" />)</translation>
 <translation id="8997710128084572139">Bateriaren ehuneko <ph name="BATTERY_PERCENTAGE" /> geratzen zaio gailuari.</translation>
 <translation id="9003704114456258138">Maiztasuna</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_fa.xtb b/chromeos/strings/chromeos_strings_fa.xtb
index 23ec74d..16d033ba 100644
--- a/chromeos/strings/chromeos_strings_fa.xtb
+++ b/chromeos/strings/chromeos_strings_fa.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">صفحه <ph name="PRINTED_PAGES" /> از مجموع <ph name="TOTAL_PAGES" /> صفحه چاپ شده است.</translation>
 <translation id="345898999683440380">درحال اسکن کردن صفحه <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />٪ انجام شده است.</translation>
 <translation id="3459509316159669723">درحال چاپ</translation>
-<translation id="3462187165860821523">درحال به‌روزرسانی <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">وقتی سفت‌افزار درحال به‌روزرسانی است، این دستگاه خارجی را جدا نکنید و رایانه را خاموش نکنید. می‌توانید این پنجره را کمینه کنید. این به‌روزرسانی ممکن است چند دقیقه طول بکشد و در این مدت ممکن است دستگاه خارجی‌تان کار نکند.</translation>
 <translation id="3486220673238053218">معنی</translation>
 <translation id="3488065109653206955">به‌طور نسبی فعال شده است</translation>
 <translation id="3527036260304016759">انجام نشد - خطای نامشخص</translation>
 <translation id="3532980081107202182">تقریباً <ph name="MIN_REMAINING" /> دقیقه باقی مانده است</translation>
 <translation id="3565064564551103223">‏IPهای مجاز</translation>
+<translation id="3577473026931028326">مشکلی پیش آمد. دوباره امتحان کنید.</translation>
 <translation id="357889014807611375">‏Wi-Fi کنتوردار</translation>
 <translation id="3583278742022654445">‏سیگنال ضعیف است. به منبع سیگنال Wi-Fi نزدیک‌تر شوید.</translation>
 <translation id="3595596368722241419">باتری پر است</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">این <ph name="DEVICE_TYPE" /> توسط <ph name="MANAGER" /> مدیریت می‌شود. سرپرستان می‌توانند این دستگاه را ازراه‌دور پیکربندی کنند.</translation>
 <translation id="7180611975245234373">بازخوانی</translation>
 <translation id="7216409898977639127">ارائه‌دهنده شبکه تلفن همراه</translation>
-<translation id="7240035910874241640">همه لوازم جانبی به‌روز هستند</translation>
 <translation id="7271040990581020067">اسکنر درحال استفاده است. بعداً دوباره امتحان کنید.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">مجموعه کاغذدیواری</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">شمارش‌گرهای ترافیک</translation>
 <translation id="8503813439785031346">نام کاربری</translation>
 <translation id="8503836310948963452">فقط چند دقیقه دیگر…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> شما به‌روز است.</translation>
 <translation id="8521021929829989041">استفاده به‌عنوان دستگاه شخصی</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ممکن است شرکت مخابراتی‌تان برای اتصال به شبکه خود به این گزینه نیاز داشته باشد. برای اطلاع از جزئیات با شرکت مخابراتی تماس بگیرید.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">اجرای دوباره</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{اسکن}=1{اسکن کردن صفحه {NUMBER_OF_PAGES}}one{اسکن کردن صفحه {NUMBER_OF_PAGES}}other{اسکن کردن صفحه {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">درحال نصب - <ph name="PERCENTAGE_VALUE" />٪</translation>
 <translation id="8997710128084572139">باتری دستگاه <ph name="BATTERY_PERCENTAGE" />٪ شارژ دارد.</translation>
 <translation id="9003704114456258138">فرکانس</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_fi.xtb b/chromeos/strings/chromeos_strings_fi.xtb
index 0101cb0..ad14ed62 100644
--- a/chromeos/strings/chromeos_strings_fi.xtb
+++ b/chromeos/strings/chromeos_strings_fi.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Tulostettu <ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" /> sivua.</translation>
 <translation id="345898999683440380">Skannataan sivu <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" /> % valmis.</translation>
 <translation id="3459509316159669723">Tulostaminen</translation>
-<translation id="3462187165860821523">Päivitetään: <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Älä irrota ulkoista laitetta äläkä sammuta tietokonetta sillä aikaa kun laiteohjelmisto päivittyy. Voit pienentää ikkunan. Päivityksessä voi mennä muutama minuutti, eikä ulkoinen laite välttämättä toimi sen aikana.</translation>
 <translation id="3486220673238053218">määritelmä</translation>
 <translation id="3488065109653206955">Osittain aktivoitu</translation>
 <translation id="3527036260304016759">Epäonnistui – Tuntematon virhe</translation>
 <translation id="3532980081107202182">Noin <ph name="MIN_REMAINING" /> minuuttia jäljellä</translation>
 <translation id="3565064564551103223">Sallitut IP-osoitteet</translation>
+<translation id="3577473026931028326">Jotain meni pieleen. Yritä uudelleen.</translation>
 <translation id="357889014807611375">maksullinen Wi-Fi</translation>
 <translation id="3583278742022654445">Heikko signaalin voimakkuus. Kokeile siirtyä lähemmäs Wi-Fi-signaalin lähdettä.</translation>
 <translation id="3595596368722241419">Akku täynnä</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> ylläpitää tätä: <ph name="DEVICE_TYPE" />. Järjestelmänvalvojat voivat määrittää laitteen etänä.</translation>
 <translation id="7180611975245234373">Päivitä</translation>
 <translation id="7216409898977639127">Mobiilioperaattori</translation>
-<translation id="7240035910874241640">Kaikki lisälaitteet ovat ajan tasalla</translation>
 <translation id="7271040990581020067">Skanneri on tällä hetkellä käytössä. Yritä myöhemmin uudelleen.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Taustakuvakokoelmat</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Liikennelaskurit</translation>
 <translation id="8503813439785031346">Käyttäjätunnus</translation>
 <translation id="8503836310948963452">Vielä pari minuuttia…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> on ajan tasalla</translation>
 <translation id="8521021929829989041">Käytä henkilökohtaisena laitteena</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operaattorisi saattaa vaatia tätä asetusta operaattorin verkkoon yhdistämistä varten. Lisätietoja saat operaattoriltasi.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Suorita uudelleen</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skannaa}=1{Skannaa sivu {NUMBER_OF_PAGES}}other{Skannaa sivu {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Asennetaan – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Laitteen akun varaus on <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Taajuus</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_fil.xtb b/chromeos/strings/chromeos_strings_fil.xtb
index ec72e0f..08d26589 100644
--- a/chromeos/strings/chromeos_strings_fil.xtb
+++ b/chromeos/strings/chromeos_strings_fil.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Na-print ang page <ph name="PRINTED_PAGES" /> sa <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Sina-scan ang pahina <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% na ang natapos.</translation>
 <translation id="3459509316159669723">Pagpi-print</translation>
-<translation id="3462187165860821523">Ina-update ang <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Habang nag-a-update ang firmware, huwag alisin sa pagkakasaksak ang external device na ito o i-shut down ang iyong computer. Puwede mong i-minimize ang window na ito. Posibleng tumagal nang ilang minuto ang update na ito at posibleng hindi gumana ang iyong external device sa panahong ito.</translation>
 <translation id="3486220673238053218">kahulugan</translation>
 <translation id="3488065109653206955">Bahagyang na-activate</translation>
 <translation id="3527036260304016759">Hindi na-print - Hindi kilalang error</translation>
 <translation id="3532980081107202182">Humigit-kumulang <ph name="MIN_REMAINING" /> (na) minuto ang natitira</translation>
 <translation id="3565064564551103223">Mga pinapayagang IP</translation>
+<translation id="3577473026931028326">Nagkaproblema. Subukan ulit.</translation>
 <translation id="357889014807611375">nakametrong Wi-Fi</translation>
 <translation id="3583278742022654445">Mahina ang signal. Subukang mas lumapit sa source ng signal ng Wi-Fi.</translation>
 <translation id="3595596368722241419">Puno na ang baterya</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Pinapamahalaan ng <ph name="MANAGER" /> ang <ph name="DEVICE_TYPE" /> na ito. Puwedeng i-configure ng mga administrator ang device sa remote na paraan.</translation>
 <translation id="7180611975245234373">I-refresh</translation>
 <translation id="7216409898977639127">Cellular provider</translation>
-<translation id="7240035910874241640">Up to date ang lahat ng peripheral</translation>
 <translation id="7271040990581020067">Kasalukuyang ginagamit ang scanner. Subukan ulit sa ibang pagkakataon.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Mga Koleksyon ng Wallpaper</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Mga Traffic Counter</translation>
 <translation id="8503813439785031346">Username</translation>
 <translation id="8503836310948963452">Ilang minuto na lang...</translation>
-<translation id="8520963233738002436">Up to date ang iyong <ph name="DEVICE_NAME" /></translation>
 <translation id="8521021929829989041">Gamitin bilang personal na device</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Posibleng kailanganin ng iyong carrier ang opsyong ito para makakonekta sa network nito. Makipag-ugnayan sa iyong carrier para sa mga detalye.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Patakbuhing muli</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{I-scan}=1{I-scan ang page {NUMBER_OF_PAGES}}one{I-scan ang page {NUMBER_OF_PAGES}}other{I-scan ang page {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Ini-install - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">May <ph name="BATTERY_PERCENTAGE" />% baterya ang device.</translation>
 <translation id="9003704114456258138">Frequency</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_fr-CA.xtb b/chromeos/strings/chromeos_strings_fr-CA.xtb
index a47b8fc9..c0a8ad48 100644
--- a/chromeos/strings/chromeos_strings_fr-CA.xtb
+++ b/chromeos/strings/chromeos_strings_fr-CA.xtb
@@ -164,12 +164,12 @@
 <translation id="3456078764689556234">Page imprimée <ph name="PRINTED_PAGES" /> sur <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Numérisation de la page <ph name="PAGE_NUM" /> en cours… Progression : <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Impression</translation>
-<translation id="3462187165860821523">Mise à jour de <ph name="DEVICE_NAME" /> en cours…</translation>
 <translation id="3486220673238053218">définition</translation>
 <translation id="3488065109653206955">Partiellement activé</translation>
 <translation id="3527036260304016759">Échec : erreur inconnue</translation>
 <translation id="3532980081107202182">Il reste environ <ph name="MIN_REMAINING" /> minutes</translation>
 <translation id="3565064564551103223">Adresses IP autorisées</translation>
+<translation id="3577473026931028326">Un problème est survenu. Réessayez.</translation>
 <translation id="357889014807611375">réseau Wi-Fi mesuré</translation>
 <translation id="3583278742022654445">Faible puissance du signal. Essayez de vous rapprocher de la source du signal Wi-Fi.</translation>
 <translation id="3595596368722241419">Batterie entièrement chargée</translation>
@@ -448,7 +448,6 @@
 <translation id="7177485034254901881">Ce <ph name="DEVICE_TYPE" /> est géré par <ph name="MANAGER" />. Les administrateurs peuvent configurer l'appareil à distance.</translation>
 <translation id="7180611975245234373">Actualiser</translation>
 <translation id="7216409898977639127">Fournisseur cellulaire</translation>
-<translation id="7240035910874241640">Tous les périphériques sont à jour</translation>
 <translation id="7271040990581020067">Le numériseur est en cours d'utilisation. Réessayez plus tard.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" /> sur <ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Collections de fonds d'écran</translation>
@@ -547,7 +546,6 @@
 <translation id="8498220429738806196">Compteurs de trafic</translation>
 <translation id="8503813439785031346">Nom d'utilisateur</translation>
 <translation id="8503836310948963452">Il ne reste que quelques minutes…</translation>
-<translation id="8520963233738002436">Votre <ph name="DEVICE_NAME" /> est à jour</translation>
 <translation id="8521021929829989041">Utiliser comme appareil personnel</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Votre fournisseur de services peut exiger l'activation de cette option pour vous connecter à son réseau. Communiquez avec votre fournisseur de services pour en savoir davantage.</translation>
@@ -589,7 +587,6 @@
 <translation id="8970109610781093811">Exécuter de nouveau</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Numériser}=1{Numériser la page {NUMBER_OF_PAGES}}one{Numériser la page {NUMBER_OF_PAGES}}other{Numériser les pages {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installation en cours… <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="9003704114456258138">Fréquence</translation>
 <translation id="9039663905644212491">PEAP</translation>
 <translation id="9062831201344759865">La résolution DNS présente une latence élevée</translation>
diff --git a/chromeos/strings/chromeos_strings_fr.xtb b/chromeos/strings/chromeos_strings_fr.xtb
index c03be148..cf0ee5b 100644
--- a/chromeos/strings/chromeos_strings_fr.xtb
+++ b/chromeos/strings/chromeos_strings_fr.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Page imprimée : <ph name="PRINTED_PAGES" /> sur <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Numérisation de la page <ph name="PAGE_NUM" />… Numérisation terminée à <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Impression</translation>
-<translation id="3462187165860821523">Mise à jour de <ph name="DEVICE_NAME" />…</translation>
 <translation id="3484914941826596830">Vous ne devez pas débrancher cet appareil externe ni éteindre votre ordinateur pendant la mise à jour du micrologiciel. Vous pouvez réduire cette fenêtre. Cette mise à jour peut prendre quelques minutes, durant lesquelles le fonctionnement de l'appareil externe est compromis.</translation>
 <translation id="3486220673238053218">définition</translation>
 <translation id="3488065109653206955">Partiellement activé</translation>
 <translation id="3527036260304016759">Échec – Erreur inconnue</translation>
 <translation id="3532980081107202182">Environ <ph name="MIN_REMAINING" /> minutes restantes</translation>
 <translation id="3565064564551103223">IP autorisées</translation>
+<translation id="3577473026931028326">Un problème est survenu. Réessayez.</translation>
 <translation id="357889014807611375">Wi-Fi facturé à l'usage</translation>
 <translation id="3583278742022654445">Signal faible. Rapprochez-vous de la source du signal Wi-Fi.</translation>
 <translation id="3595596368722241419">Batterie pleine</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Votre <ph name="DEVICE_TYPE" /> est géré par <ph name="MANAGER" />. Les administrateurs peuvent le configurer à distance.</translation>
 <translation id="7180611975245234373">Actualiser</translation>
 <translation id="7216409898977639127">Opérateur de téléphonie mobile</translation>
-<translation id="7240035910874241640">Tous les périphériques sont à jour</translation>
 <translation id="7271040990581020067">Le scanner est en cours d'utilisation. Réessayez plus tard.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Collections de fonds d'écran</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Compteurs de trafic</translation>
 <translation id="8503813439785031346">Nom d'utilisateur</translation>
 <translation id="8503836310948963452">Plus que quelques minutes…</translation>
-<translation id="8520963233738002436">Votre <ph name="DEVICE_NAME" /> est à jour</translation>
 <translation id="8521021929829989041">Utiliser en tant qu'appareil personnel</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Votre opérateur peut exiger ce réglage pour la connexion à son réseau. Contactez-le pour en savoir plus.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Exécuter à nouveau</translation>
 <translation id="8983038754672563810">3G+</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scanner}=1{Scanner la page {NUMBER_OF_PAGES}}one{Scanner la page {NUMBER_OF_PAGES}}other{Scanner les pages {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installation - <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">L'appareil a <ph name="BATTERY_PERCENTAGE" /> % de batterie.</translation>
 <translation id="9003704114456258138">Fréquence</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_gl.xtb b/chromeos/strings/chromeos_strings_gl.xtb
index 01f9ba06..a139a94 100644
--- a/chromeos/strings/chromeos_strings_gl.xtb
+++ b/chromeos/strings/chromeos_strings_gl.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Páxina <ph name="PRINTED_PAGES" /> de <ph name="TOTAL_PAGES" /> impresa.</translation>
 <translation id="345898999683440380">Escaneando páxina <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" /> % completado.</translation>
 <translation id="3459509316159669723">Impresión</translation>
-<translation id="3462187165860821523">Actualizando dispositivo (<ph name="DEVICE_NAME" />)</translation>
 <translation id="3484914941826596830">Mentres se actualiza o firmware, non desenchufes este dispositivo externo nin apagues o ordenador. Podes minimizar esta ventá. Esta actualización pode tardar uns minutos en completarse e é posible que o dispositivo externo non funcione durante o proceso.</translation>
 <translation id="3486220673238053218">definición</translation>
 <translation id="3488065109653206955">Activado parcialmente</translation>
 <translation id="3527036260304016759">Produciuse un erro descoñecido</translation>
 <translation id="3532980081107202182">Quedan <ph name="MIN_REMAINING" /> minutos aproximadamente</translation>
 <translation id="3565064564551103223">Enderezos IP permitidos</translation>
+<translation id="3577473026931028326">Produciuse un erro. Téntao de novo.</translation>
 <translation id="357889014807611375">wifi de pago por consumo</translation>
 <translation id="3583278742022654445">A intensidade do sinal é débil. Proba a poñerte máis preto da fonte do sinal wifi.</translation>
 <translation id="3595596368722241419">Batería completa</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> xestiona este dispositivo (<ph name="DEVICE_TYPE" />). Os administradores poden configuralo de forma remota.</translation>
 <translation id="7180611975245234373">Actualizar</translation>
 <translation id="7216409898977639127">Provedor de rede móbil</translation>
-<translation id="7240035910874241640">Todos os periféricos están actualizados</translation>
 <translation id="7271040990581020067">Nestes momentos, o escáner está en uso. Téntao de novo máis tarde.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Colección de fondos de pantalla</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Contadores de tráfico</translation>
 <translation id="8503813439785031346">Nome de usuario</translation>
 <translation id="8503836310948963452">Só faltan uns minutos…</translation>
-<translation id="8520963233738002436">O teu dispositivo (<ph name="DEVICE_NAME" />) está actualizado</translation>
 <translation id="8521021929829989041">Utilizar como dispositivo persoal</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">É posible que sexa obrigatorio activar esta opción para conectarte á rede do teu operador. Para obter máis detalles, ponte en contacto con el.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Repetir proba</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Escanear}=1{Escanear páxina {NUMBER_OF_PAGES}}other{Escanear páxina {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Instalando (<ph name="PERCENTAGE_VALUE" /> %)</translation>
 <translation id="8997710128084572139">Nivel de batería do dispositivo: <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frecuencia</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_gu.xtb b/chromeos/strings/chromeos_strings_gu.xtb
index 6c7ea26..e8f3b81 100644
--- a/chromeos/strings/chromeos_strings_gu.xtb
+++ b/chromeos/strings/chromeos_strings_gu.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" />માંથી <ph name="PRINTED_PAGES" /> પેજ પ્રિન્ટ કર્યા.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" /> નંબરનું પેજ સ્કૅન કરી રહ્યાં છીએ. <ph name="PERCENTAGE_VALUE" />% પૂર્ણ થયું.</translation>
 <translation id="3459509316159669723">છાપવું</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> અપડેટ કરી રહ્યાં છીએ</translation>
 <translation id="3484914941826596830">ફર્મવેયર અપડેટ થતું હોય ત્યારે આ બાહ્ય ડિવાઇસ પ્લગમાંથી દૂર કરશો નહીં અથવા તમારા કમ્પ્યુટરને શટ ડાઉન કરશો નહીં. તમે આ વિન્ડો નાની કરી શકો છો. આ અપડેટમાં થોડી મિનિટનો સમય લાગી શકે અને તમારું બાહ્ય ડિવાઇસ આ સમય દરમિયાન કામ ન કરે તેમ બની શકે છે.</translation>
 <translation id="3486220673238053218">વિવરણ</translation>
 <translation id="3488065109653206955">આંશિક રીતે સક્રિય કરેલું</translation>
 <translation id="3527036260304016759">નિષ્ફળ થયું - અજાણી ભૂલ</translation>
 <translation id="3532980081107202182">લગભગ <ph name="MIN_REMAINING" /> મિનિટ બાકી છે</translation>
 <translation id="3565064564551103223">મંજૂર કરેલા IPs</translation>
+<translation id="3577473026931028326">કંઈક ખોટું થયું. ફરી પ્રયાસ કરો.</translation>
 <translation id="357889014807611375">મીટર્ડ (ડેટા નિયંત્રણ) વાઇ-ફાઇ</translation>
 <translation id="3583278742022654445">સિગ્નલની પ્રબળતા નબળી છે. વાઇ-ફાઇ સિગ્નલના સૉર્સની વધુ નજીક જઈને પ્રયાસ કરી જુઓ.</translation>
 <translation id="3595596368722241419">બૅટરી પૂર્ણ ચાર્જ</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> દ્વારા <ph name="DEVICE_TYPE" />ને મેનેજ કરવામાં આવે છે. વ્યવસ્થાપકો દ્વારા ડિવાઇસને રિમોટલી કન્ફિગર કરવામાં આવી શકે છે.</translation>
 <translation id="7180611975245234373">રિફ્રેશ કરો</translation>
 <translation id="7216409898977639127">સેલ્યુલર પ્રદાતા</translation>
-<translation id="7240035910874241640">બધા પેરિફેરલ અપ ટૂ ડેટ છે</translation>
 <translation id="7271040990581020067">સ્કૅનર હાલમાં ઉપયોગમાં છે. થોડા સમય પછી ફરી પ્રયાસ કરો.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">વૉલપેપરના સંગ્રહો</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">ટ્રાફિક કાઉન્ટર</translation>
 <translation id="8503813439785031346">વપરાશકર્તાનામ</translation>
 <translation id="8503836310948963452">બસ થોડો વધુ સમય...</translation>
-<translation id="8520963233738002436">તમારું <ph name="DEVICE_NAME" /> અપ ટૂ ડેટ છે</translation>
 <translation id="8521021929829989041">વ્યક્તિગત ડિવાઇસ તરીકે ઉપયોગ કરો</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">તમારા મોબાઇલ ઑપરેટરને તેમના નેટવર્ક સાથે કનેક્ટ કરવા માટે, આ વિકલ્પની જરૂર પડી શકે છે. વિગતો માટે તમારા મોબાઇલ ઑપરેટરનો સંપર્ક કરો.</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">ફરીથી ચલાવો</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{સ્કૅન કરો}=1{{NUMBER_OF_PAGES} પેજ સ્કૅન કરો}one{{NUMBER_OF_PAGES} પેજ સ્કૅન કરો}other{{NUMBER_OF_PAGES} પેજ સ્કૅન કરો}}</translation>
-<translation id="8994273342647807496">ઇન્સ્ટૉલ થઈ રહ્યું છે - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ડિવાઇસમાં <ph name="BATTERY_PERCENTAGE" />% બૅટરી છે.</translation>
 <translation id="9003704114456258138">આવર્તન</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_hi.xtb b/chromeos/strings/chromeos_strings_hi.xtb
index 4500bcafb..88acc70 100644
--- a/chromeos/strings/chromeos_strings_hi.xtb
+++ b/chromeos/strings/chromeos_strings_hi.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> में से <ph name="PRINTED_PAGES" /> पेज प्रिंट किए गए.</translation>
 <translation id="345898999683440380">पेज <ph name="PAGE_NUM" /> को स्कैन किया जा रहा है. <ph name="PERCENTAGE_VALUE" />% पूरा हो गया.</translation>
 <translation id="3459509316159669723">प्रिंट करना</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> अपडेट हो रहा है</translation>
 <translation id="3484914941826596830">फ़र्मवेयर के अपडेट होने तक, इस बाहरी डिवाइस को डिसकनेक्ट न करें या अपने कंप्यूटर को शट डाउन न करें. इस विंडो को छोटा किया जा सकता है. अपडेट पूरा होने में कुछ मिनट लग सकते हैं. हो सकता है कि इस दौरान आपका बाहरी डिवाइस काम न करे.</translation>
 <translation id="3486220673238053218">परिभाषा</translation>
 <translation id="3488065109653206955">आंशिक रूप से सक्रिय किया गया</translation>
 <translation id="3527036260304016759">प्रिंट नहीं हो पाया - अज्ञात गड़बड़ी</translation>
 <translation id="3532980081107202182">करीब <ph name="MIN_REMAINING" /> मिनट बचे हैं</translation>
 <translation id="3565064564551103223">जिन आईपी को अनुमति दी गई है</translation>
+<translation id="3577473026931028326">कोई गड़बड़ी हुई. फिर से कोशिश करें.</translation>
 <translation id="357889014807611375">सीमित डेटा वाला वाई-फ़ाई</translation>
 <translation id="3583278742022654445">कमज़ोर सिग्नल. वाई-फ़ाई सिग्नल सोर्स के नज़दीक जाकर देखें.</translation>
 <translation id="3595596368722241419">बैटरी पूरी हो गई</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">इस <ph name="DEVICE_TYPE" /> को <ph name="MANAGER" /> मैनेज करता है. एडमिन इस डिवाइस को किसी दूसरी जगह से भी कॉन्फ़िगर कर सकते हैं.</translation>
 <translation id="7180611975245234373">रीफ्रेश करें</translation>
 <translation id="7216409898977639127">सेल्युलर सेवा देने वाली कंपनी</translation>
-<translation id="7240035910874241640">सभी सहायक डिवाइस- जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह अप-टू-डेट हैं</translation>
 <translation id="7271040990581020067">स्कैनर पहले से इस्तेमाल में है. कुछ देर बाद कोशिश करें.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">वॉलपेपर कलेक्शन</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">ट्रैफ़िक काउंटर</translation>
 <translation id="8503813439785031346">उपयोगकर्ता नाम</translation>
 <translation id="8503836310948963452">बस कुछ मिनट और...</translation>
-<translation id="8520963233738002436">आपका <ph name="DEVICE_NAME" /> अप टू डेट है</translation>
 <translation id="8521021929829989041">निजी डिवाइस की तरह इस्तेमाल करें</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">मोबाइल और इंटरनेट सेवा देने वाली आपकी कंपनी को, अपने नेटवर्क से कनेक्ट करने लिए इस विकल्प की ज़रूरत पड़ सकती है. ज़्यादा जानकारी के लिए, उस कंपनी से संपर्क करें जो आपको मोबाइल और इंटरनेट सेवा देती है.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">फिर से चलाएं</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{स्कैन करें}=1{{NUMBER_OF_PAGES} स्कैन करें}one{{NUMBER_OF_PAGES} स्कैन करें}other{{NUMBER_OF_PAGES} स्कैन करें}}</translation>
-<translation id="8994273342647807496">इंस्टॉल हो रहा है - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">डिवाइस में <ph name="BATTERY_PERCENTAGE" />% बैटरी बची है.</translation>
 <translation id="9003704114456258138">आवृत्ति</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_hr.xtb b/chromeos/strings/chromeos_strings_hr.xtb
index 597a84e8..ef83a35 100644
--- a/chromeos/strings/chromeos_strings_hr.xtb
+++ b/chromeos/strings/chromeos_strings_hr.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Ispisane stranice: <ph name="PRINTED_PAGES" /> od <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skeniranje stranice <ph name="PAGE_NUM" />. Dovršeno je <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Ispis</translation>
-<translation id="3462187165860821523">Ažuriranje uređaja <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Dok se oprema ažurira, nemojte iskopčavati ovaj vanjski uređaj niti isključivati računalo. Ovaj prozor možete minimizirati. Ažuriranje može potrajati nekoliko minuta i vaš vanjski uređaj tada možda neće funkcionirati.</translation>
 <translation id="3486220673238053218">definicija</translation>
 <translation id="3488065109653206955">Djelomično aktivirano</translation>
 <translation id="3527036260304016759">Nije uspjelo – nepoznata pogreška</translation>
 <translation id="3532980081107202182">Preostalo je oko <ph name="MIN_REMAINING" /> min</translation>
 <translation id="3565064564551103223">Dopušteni IP-jevi</translation>
+<translation id="3577473026931028326">Nešto nije u redu. Pokušajte ponovo.</translation>
 <translation id="357889014807611375">Wi-Fi s ograničenim prometom</translation>
 <translation id="3583278742022654445">Signal je slab. Pokušajte se približiti izvoru Wi-Fi signala.</translation>
 <translation id="3595596368722241419">Baterija je puna</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Ovim uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" />. Administratori mogu konfigurirati uređaj na daljinu.</translation>
 <translation id="7180611975245234373">Osvježi</translation>
 <translation id="7216409898977639127">Davatelj mobilnih usluga</translation>
-<translation id="7240035910874241640">Svi su periferni uređaji ažurirani</translation>
 <translation id="7271040990581020067">Skener se trenutačno upotrebljava. Pokušajte ponovo kasnije.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Zbirke pozadina</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Brojači prometa</translation>
 <translation id="8503813439785031346">Korisničko ime</translation>
 <translation id="8503836310948963452">Još samo nekoliko minuta...</translation>
-<translation id="8520963233738002436">Vaš uređaj <ph name="DEVICE_NAME" /> je ažuriran</translation>
 <translation id="8521021929829989041">Upotrijebi kao osobni uređaj</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Vaš mobilni operater može zahtijevati tu opciju radi povezivanja s njegovom mrežom. Više informacija zatražite od svojeg operatera.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Pokreni ponovo</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skeniraj}=1{Skeniraj stranicu {NUMBER_OF_PAGES}}one{Skeniraj stranicu {NUMBER_OF_PAGES}}few{Skeniraj stranicu {NUMBER_OF_PAGES}}other{Skeniraj stranicu {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Instaliranje – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Uređaj ima <ph name="BATTERY_PERCENTAGE" />% baterije.</translation>
 <translation id="9003704114456258138">Frekvencija</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_hu.xtb b/chromeos/strings/chromeos_strings_hu.xtb
index cc981f8..97dcd7d4 100644
--- a/chromeos/strings/chromeos_strings_hu.xtb
+++ b/chromeos/strings/chromeos_strings_hu.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" /> oldal kinyomtatva (összesen ennyiből: <ph name="TOTAL_PAGES" />).</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />. oldal beolvasása… <ph name="PERCENTAGE_VALUE" />% kész.</translation>
 <translation id="3459509316159669723">Nyomtatás</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> frissítése…</translation>
 <translation id="3484914941826596830">A firmware frissítése közben ne húzza ki a külső eszközt, és ne kapcsolja ki számítógépét. Ezt az ablakot kis méretre állíthatja. A frissítés eltarthat néhány percig, és előfordulhat, hogy közben nem működik a külső eszköz.</translation>
 <translation id="3486220673238053218">definíció</translation>
 <translation id="3488065109653206955">Részben aktiválva</translation>
 <translation id="3527036260304016759">Sikertelen – Ismeretlen hiba</translation>
 <translation id="3532980081107202182">Körülbelül <ph name="MIN_REMAINING" /> perc van hátra</translation>
 <translation id="3565064564551103223">Engedélyezett IP-címek</translation>
+<translation id="3577473026931028326">Hiba történt. Próbálja újra.</translation>
 <translation id="357889014807611375">mért adatforgalmú Wi-Fi</translation>
 <translation id="3583278742022654445">Gyenge jelerősség. Próbáljon közelebb helyezkedni a Wi-Fi-jelforráshoz.</translation>
 <translation id="3595596368722241419">Akkumulátor feltöltve</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Ezt a(z) <ph name="DEVICE_TYPE" /> eszközt a(z) <ph name="MANAGER" /> kezeli. A rendszergazdák távolról konfigurálhatják az eszközt.</translation>
 <translation id="7180611975245234373">Frissítés</translation>
 <translation id="7216409898977639127">Mobilszolgáltató</translation>
-<translation id="7240035910874241640">Minden periféria naprakész</translation>
 <translation id="7271040990581020067">A szkenner jelenleg használatban van. Próbálja újra később.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Háttérképgyűjtemények</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Forgalomszámlálók</translation>
 <translation id="8503813439785031346">Felhasználónév</translation>
 <translation id="8503836310948963452">Már csak néhány perc…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> eszköze naprakész</translation>
 <translation id="8521021929829989041">Személyes eszközként való használat</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Szolgáltatója előírhatja ennek a beállításnak a használatát a hálózathoz való csatlakozás érdekében. További információért forduljon a szolgáltatójához.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Futtatás újra</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Keresés}=1{Keresés {NUMBER_OF_PAGES} oldalon}other{Keresés {NUMBER_OF_PAGES} oldalon}}</translation>
-<translation id="8994273342647807496">Telepítés – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Az eszköz akkumulátorszintje: <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Frekvencia</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_hy.xtb b/chromeos/strings/chromeos_strings_hy.xtb
index 76ac9cd..f22a59aa 100644
--- a/chromeos/strings/chromeos_strings_hy.xtb
+++ b/chromeos/strings/chromeos_strings_hy.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Տպված էջ՝ <ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" />։</translation>
 <translation id="345898999683440380">Սկանավորվում է էջ <ph name="PAGE_NUM" />-ը։ Կատարված է <ph name="PERCENTAGE_VALUE" />%-ը։</translation>
 <translation id="3459509316159669723">Տպում</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> սարքը թարմացվում է</translation>
 <translation id="3484914941826596830">Քանի դեռ ներկառուցված ծրագիրը թարմացվում է, մի՛ անջատեք ձեր համակարգիչը կամ այս արտաքին սարքը համակարգչից։ Դուք կարող եք փոքրացնել այս պատուհանը։ Այս թարմացումը կարող է մի քանի րոպե տևել, և այդ ընթացքում արտաքին սարքը հնարավոր է, որ չաշխատի։</translation>
 <translation id="3486220673238053218">սահմանում</translation>
 <translation id="3488065109653206955">Մասամբ ակտիվացված</translation>
 <translation id="3527036260304016759">Չհաջողվեց տպել – Անհայտ սխալ</translation>
 <translation id="3532980081107202182">Մնացել է մոտ <ph name="MIN_REMAINING" /> րոպե</translation>
 <translation id="3565064564551103223">Թույլատրված IP-ներ</translation>
+<translation id="3577473026931028326">Սխալ առաջացավ։ Նորից փորձեք։</translation>
 <translation id="357889014807611375">սահմանափակ Wi-Fi</translation>
 <translation id="3583278742022654445">Ազդանշանը թույլ է։ Փորձեք սարքը մոտեցնել Wi-Fi ազդանշանի աղբյուրին։</translation>
 <translation id="3595596368722241419">Մարտկոցը լրիվ լիցքավորված է</translation>
@@ -353,6 +353,7 @@
 <translation id="5691511426247308406">Ընտանիք</translation>
 <translation id="5701381305118179107">Կենտրոնաբերել</translation>
 <translation id="5707900041990977207"><ph name="CURRENT_PAGE" />/<ph name="TOTAL_PAGES" /></translation>
+<translation id="5733298426544876109">Թարմացնել <ph name="DEVICE_NAME" /> սարքը</translation>
 <translation id="5760715441271661976">Պորտալի վիճակը</translation>
 <translation id="5784136236926853061">HTTP-ի բարձր հապաղում</translation>
 <translation id="5832805196449965646">Ավելացնել անձ</translation>
@@ -462,7 +463,6 @@
 <translation id="7177485034254901881">Այս <ph name="DEVICE_TYPE" /> սարքը կառավարվում է <ph name="MANAGER" />-ի կողմից։ Ադմինիստրատորները կարող են հեռակա փոխել սարքի կարգավորումները։</translation>
 <translation id="7180611975245234373">Թարմացնել</translation>
 <translation id="7216409898977639127">Բջջային օպերատոր</translation>
-<translation id="7240035910874241640">Բոլոր արտաքին սարքերը թարմացված են</translation>
 <translation id="7271040990581020067">Սկաներն այս պահին օգտագործվում է։ Փորձեք ավելի ուշ։</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Պաստառների հավաքածուներ</translation>
@@ -563,7 +563,6 @@
 <translation id="8498220429738806196">Թրաֆիկի հաշվիչներ</translation>
 <translation id="8503813439785031346">Օգտանուն</translation>
 <translation id="8503836310948963452">Սպասեք ևս մի քանի րոպե…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> սարքը թարմացված է</translation>
 <translation id="8521021929829989041">Օգտագործել անձնական սարք</translation>
 <translation id="8528615187455571738">CrosVm</translation>
 <translation id="8575298406870537639">Ձեր օպերատորի ցանցին միանալու համար կարող է պահանջվել, որ միացնեք այս կարգավորումը։ Մանրամասների համար դիմեք ձեր օպերատորին։</translation>
@@ -607,7 +606,6 @@
 <translation id="8970109610781093811">Կրկնել</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Սկանավորել}=1{Սկանավորել էջ {NUMBER_OF_PAGES}-ը}one{Սկանավորել էջ {NUMBER_OF_PAGES}-ը}other{Սկանավորել էջ {NUMBER_OF_PAGES}-ը}}</translation>
-<translation id="8994273342647807496">Տեղադրում՝ <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Սարքի մարտկոցի լիցքի մակարդակը՝ <ph name="BATTERY_PERCENTAGE" />%։</translation>
 <translation id="9003704114456258138">Հաճախականություն</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_id.xtb b/chromeos/strings/chromeos_strings_id.xtb
index 4045d54..8eebe21bb 100644
--- a/chromeos/strings/chromeos_strings_id.xtb
+++ b/chromeos/strings/chromeos_strings_id.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Mencetak halaman <ph name="PRINTED_PAGES" /> dari <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Memindai halaman <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% selesai.</translation>
 <translation id="3459509316159669723">Pencetakan</translation>
-<translation id="3462187165860821523">Mengupdate <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Saat firmware sedang diupdate, jangan mencabut perangkat eksternal ini atau mematikan komputer. Anda dapat meminimalkan jendela ini. Update ini mungkin perlu waktu beberapa menit dan perangkat eksternal mungkin tidak berfungsi selama update.</translation>
 <translation id="3486220673238053218">definisi</translation>
 <translation id="3488065109653206955">Diaktifkan sebagian</translation>
 <translation id="3527036260304016759">Gagal - Error tidak diketahui</translation>
 <translation id="3532980081107202182">Sekitar <ph name="MIN_REMAINING" /> menit lagi</translation>
 <translation id="3565064564551103223">IP yang diizinkan</translation>
+<translation id="3577473026931028326">Terjadi error. Coba lagi.</translation>
 <translation id="357889014807611375">Wi-Fi berbayar</translation>
 <translation id="3583278742022654445">Kekuatan sinyal lemah. Coba mendekat ke sumber sinyal Wi-Fi.</translation>
 <translation id="3595596368722241419">Baterai penuh</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> ini dikelola oleh <ph name="MANAGER" />. Administrator dapat mengonfigurasi perangkat dari jarak jauh.</translation>
 <translation id="7180611975245234373">Perbarui</translation>
 <translation id="7216409898977639127">Operator seluler</translation>
-<translation id="7240035910874241640">Semua periferal sudah diupdate</translation>
 <translation id="7271040990581020067">Pemindai sedang digunakan. Coba lagi nanti.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Koleksi Wallpaper</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Penghitung Traffic</translation>
 <translation id="8503813439785031346">Nama Pengguna</translation>
 <translation id="8503836310948963452">Tinggal beberapa menit lagi...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> Anda sudah diupdate</translation>
 <translation id="8521021929829989041">Gunakan sebagai perangkat pribadi</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operator Anda mungkin memerlukan opsi ini untuk terhubung ke jaringan. Hubungi operator untuk mengetahui detailnya.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Jalankan lagi</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Pindai}=1{Pindai halaman {NUMBER_OF_PAGES}}other{Pindai halaman {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Menginstal - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Perangkat memiliki <ph name="BATTERY_PERCENTAGE" />% daya baterai.</translation>
 <translation id="9003704114456258138">Frekuensi</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_is.xtb b/chromeos/strings/chromeos_strings_is.xtb
index 6825e1b..313ed66 100644
--- a/chromeos/strings/chromeos_strings_is.xtb
+++ b/chromeos/strings/chromeos_strings_is.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Prentaði síðu <ph name="PRINTED_PAGES" /> af <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skannar síðu <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% lokið.</translation>
 <translation id="3459509316159669723">Prentun</translation>
-<translation id="3462187165860821523">Uppfærir <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Ekki taka þetta ytra tæki úr sambandi eða slökkva á tölvunni þinni á meðan fastbúnaðurinn uppfærist. Þú getur minnkað þennan glugga. Uppfærslan gæti tekið nokkrar mínútur og óvíst er að ytra tækið virki á meðan.</translation>
 <translation id="3486220673238053218">skilgreining</translation>
 <translation id="3488065109653206955">Virkjað að hluta</translation>
 <translation id="3527036260304016759">Mistókst – óþekkt villa</translation>
 <translation id="3532980081107202182">Um <ph name="MIN_REMAINING" /> mínútur eftir</translation>
 <translation id="3565064564551103223">Leyfðar IP-tölur</translation>
+<translation id="3577473026931028326">Eitthvað fór úrskeiðis. Reyndu aftur.</translation>
 <translation id="357889014807611375">Wi-Fi net með mælda notkun</translation>
 <translation id="3583278742022654445">Lítill sendistyrkur. Prófaðu að færa þig nær WiFi-sendibúnaðinum.</translation>
 <translation id="3595596368722241419">Rafhlaða fullhlaðin</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> hefur umsjón með þessu <ph name="DEVICE_TYPE" />. Kerfisstjórar geta stillt tækið í gegnum fjartengingu.</translation>
 <translation id="7180611975245234373">Endurnýja</translation>
 <translation id="7216409898977639127">Farsímafyrirtæki</translation>
-<translation id="7240035910874241640">Öll jaðartæki eru uppfærð</translation>
 <translation id="7271040990581020067">Skanninn er í notkun núna. Reyndu aftur síðar.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Veggfóðurssöfn</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Talning umferðar</translation>
 <translation id="8503813439785031346">Notandanafn</translation>
 <translation id="8503836310948963452">Aðeins nokkrar mínútur í viðbót…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> er uppfært</translation>
 <translation id="8521021929829989041">Nota sem persónulegt tæki</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Símafyrirtæki kunna að biðja þig um slíkt til að tengjast neti þeirra. Hafðu samband við símafyrirtækið til að fá frekari upplýsingar.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Keyra aftur</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skanna}=1{Skanna síðu {NUMBER_OF_PAGES}}one{Skanna síðu {NUMBER_OF_PAGES}}other{Skanna síðu {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Setur upp – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Rafhleðsla tækisins er <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Tíðni</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_it.xtb b/chromeos/strings/chromeos_strings_it.xtb
index 10ab597..0793937 100644
--- a/chromeos/strings/chromeos_strings_it.xtb
+++ b/chromeos/strings/chromeos_strings_it.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" /> pagina stampata su <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Scansione della pagina <ph name="PAGE_NUM" /> in corso. Completamento: <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Stampa</translation>
-<translation id="3462187165860821523">Aggiornamento di <ph name="DEVICE_NAME" /> in corso…</translation>
 <translation id="3484914941826596830">Durante l'aggiornamento del firmware, non scollegare questo dispositivo esterno o non arrestare il computer. Puoi ridurre a icona questa finestra. Questo aggiornamento potrebbe richiedere qualche minuto e nel frattempo il dispositivo esterno potrebbe non funzionare.</translation>
 <translation id="3486220673238053218">definizione</translation>
 <translation id="3488065109653206955">Attivato parzialmente</translation>
 <translation id="3527036260304016759">Operazione non riuscita - Errore sconosciuto</translation>
 <translation id="3532980081107202182">Mancano circa <ph name="MIN_REMAINING" /> minuti</translation>
 <translation id="3565064564551103223">IP consentiti</translation>
+<translation id="3577473026931028326">Si è verificato un errore. Riprova.</translation>
 <translation id="357889014807611375">Wi-Fi a consumo</translation>
 <translation id="3583278742022654445">Intensità segnale debole. Prova ad avvicinarti alla fonte del segnale Wi-Fi.</translation>
 <translation id="3595596368722241419">Batteria carica</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Questo dispositivo <ph name="DEVICE_TYPE" /> è gestito da <ph name="MANAGER" />. Gli amministratori possono configurarlo da remoto.</translation>
 <translation id="7180611975245234373">Aggiorna</translation>
 <translation id="7216409898977639127">Fornitore del servizio di telefonia mobile</translation>
-<translation id="7240035910874241640">Tutte le periferiche sono aggiornate</translation>
 <translation id="7271040990581020067">Lo scanner è attualmente in uso. Riprova più tardi.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Raccolte di sfondi</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Contatori di traffico</translation>
 <translation id="8503813439785031346">Nome utente</translation>
 <translation id="8503836310948963452">Solo qualche altro minuto…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> è aggiornato</translation>
 <translation id="8521021929829989041">Usa come dispositivo personale</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Il tuo operatore potrebbe richiedere questa opzione per consentire di collegarsi alla sua rete. Contatta l'operatore per avere informazioni dettagliate.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Esegui di nuovo</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scansiona}=1{Scansiona pagina {NUMBER_OF_PAGES}}one{Scan page {NUMBER_OF_PAGES}}other{Scansiona pagina {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installazione in corso: <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Percentuale di batteria del dispositivo a <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Frequenza</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_iw.xtb b/chromeos/strings/chromeos_strings_iw.xtb
index 831a0aae..7520682 100644
--- a/chromeos/strings/chromeos_strings_iw.xtb
+++ b/chromeos/strings/chromeos_strings_iw.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">הודפס עמוד <ph name="PRINTED_PAGES" /> מתוך <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">מתבצעת סריקה של עמוד <ph name="PAGE_NUM" />. החלק שהושלם: <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">הדפסה</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> בתהליך עדכון</translation>
 <translation id="3484914941826596830">במהלך עדכון הקושחה אין לנתק את המכשיר החיצוני הזה או לכבות את המחשב. אפשר למזער את החלון הזה. העדכון הזה עשוי לקחת כמה דקות ויכול להיות שהמכשיר החיצוני לא יפעל במהלכו.</translation>
 <translation id="3486220673238053218">הגדרה</translation>
 <translation id="3488065109653206955">מופעל חלקית</translation>
 <translation id="3527036260304016759">נכשלה – שגיאה לא ידועה</translation>
 <translation id="3532980081107202182">נותרו <ph name="MIN_REMAINING" /> דקות בערך</translation>
 <translation id="3565064564551103223">‏כתובות IP מורשות</translation>
+<translation id="3577473026931028326">משהו השתבש. יש לנסות שוב.</translation>
 <translation id="357889014807611375">‏Wi-Fi עם חיוב לפי שימוש בנתונים</translation>
 <translation id="3583278742022654445">‏עוצמת האות חלשה. כדאי להתקרב למקור של אות ה-Wi-Fi.</translation>
 <translation id="3595596368722241419">סוללה מלאה</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">מכשיר <ph name="DEVICE_TYPE" /> זה מנוהל על ידי <ph name="MANAGER" />. מנהלי מערכת עשויים להגדיר את המכשיר הזה מרחוק.</translation>
 <translation id="7180611975245234373">רענון</translation>
 <translation id="7216409898977639127">ספק שירות סלולרי</translation>
-<translation id="7240035910874241640">כל הציוד ההיקפי עדכני</translation>
 <translation id="7271040990581020067">הסורק נמצא בשימוש כרגע. יש לנסות שוב מאוחר יותר.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">אוספים של טפטים</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">מוני תנועה</translation>
 <translation id="8503813439785031346">שם משתמש</translation>
 <translation id="8503836310948963452">רק עוד מספר דקות…</translation>
-<translation id="8520963233738002436">ה-<ph name="DEVICE_NAME" /> מעודכן</translation>
 <translation id="8521021929829989041">שימוש כמכשיר אישי</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ייתכן שהספק שלך ידרוש את האפשרות הזו כדי להתחבר לרשת שלו. למידע נוסף, ניתן לפנות לספק.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">הפעל שוב</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{סריקה}=1{סריקת דף {NUMBER_OF_PAGES}}two{סריקת דף {NUMBER_OF_PAGES}}many{סריקת דף {NUMBER_OF_PAGES}}other{סריקת דף {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">בתהליך התקנה – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">רמת הטעינה של הסוללה במכשיר: %<ph name="BATTERY_PERCENTAGE" />.</translation>
 <translation id="9003704114456258138">תדר</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ja.xtb b/chromeos/strings/chromeos_strings_ja.xtb
index 84405a7..ab287c8 100644
--- a/chromeos/strings/chromeos_strings_ja.xtb
+++ b/chromeos/strings/chromeos_strings_ja.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" /> ページを印刷しました。</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" /> ページ目をスキャンしています。<ph name="PERCENTAGE_VALUE" />% 完了。</translation>
 <translation id="3459509316159669723">印刷</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> を更新しています</translation>
 <translation id="3484914941826596830">ファームウェアのアップデート中、この外部デバイスを電源から外したり、パソコンをシャットダウンしたりしないでください。このウィンドウは最小化できます。アップデートには数分かかることがあります。その間、外部デバイスは動作しない可能性があります。</translation>
 <translation id="3486220673238053218">定義</translation>
 <translation id="3488065109653206955">一部有効</translation>
 <translation id="3527036260304016759">失敗 - 不明なエラー</translation>
 <translation id="3532980081107202182">残り時間: 約 <ph name="MIN_REMAINING" /> 分</translation>
 <translation id="3565064564551103223">許可する IP</translation>
+<translation id="3577473026931028326">エラーが発生しました。もう一度お試しください。</translation>
 <translation id="357889014807611375">従量制 Wi-Fi</translation>
 <translation id="3583278742022654445">電波が弱い状態です。Wi-Fi 信号の発生元に近づいてみてください。</translation>
 <translation id="3595596368722241419">バッテリー残量: フル</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">この <ph name="DEVICE_TYPE" /> は <ph name="MANAGER" /> によって管理されています。管理者がこのデバイスをリモートで設定している可能性があります。</translation>
 <translation id="7180611975245234373">更新</translation>
 <translation id="7216409898977639127">モバイル プロバイダ</translation>
-<translation id="7240035910874241640">周辺機器はすべて最新の状態です</translation>
 <translation id="7271040990581020067">スキャナは現在使用中です。しばらくしてからもう一度お試しください。</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">壁紙のコレクション</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">トラフィック カウンタ</translation>
 <translation id="8503813439785031346">ユーザー名</translation>
 <translation id="8503836310948963452">もう少しです…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> は最新の状態です</translation>
 <translation id="8521021929829989041">個人のデバイスとして使用</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ご利用の携帯通信会社でのネットワーク接続にこのオプションが必要な場合があります。詳しくは携帯通信会社にお問い合わせください。</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">再実行</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{スキャン}=1{{NUMBER_OF_PAGES} ページをスキャン}other{{NUMBER_OF_PAGES} ページをスキャン}}</translation>
-<translation id="8994273342647807496">インストールしています - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">デバイスのバッテリー残量は <ph name="BATTERY_PERCENTAGE" />% です。</translation>
 <translation id="9003704114456258138">周波数</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ka.xtb b/chromeos/strings/chromeos_strings_ka.xtb
index 0f258ae..bf34b3b 100644
--- a/chromeos/strings/chromeos_strings_ka.xtb
+++ b/chromeos/strings/chromeos_strings_ka.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">ამობეჭდილი გვერდი <ph name="PRINTED_PAGES" /> / <ph name="TOTAL_PAGES" />-დან.</translation>
 <translation id="345898999683440380">სკანირდება გვერდი <ph name="PAGE_NUM" />. დასრულებულია <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">ბეჭდვა</translation>
-<translation id="3462187165860821523">მიმდინარეობს <ph name="DEVICE_NAME" />-ის განახლება</translation>
 <translation id="3484914941826596830">ჩაშენებული პროგრამული უზრუნველყოფის განახლების პროცესში არ გამოაერთოთ ეს გარე მოწყობილობა ან არ გამორთოთ კომპიუტერი. შეგიძლიათ ამ ფანჯრის ჩაკეცვა. ამ განახლებას შეიძლება დასჭირდეს რამდენიმე წუთი და გარე მოწყობილობამ შეიძლება ამ დროს არ იმუშაოს.</translation>
 <translation id="3486220673238053218">განსაზღვრება</translation>
 <translation id="3488065109653206955">ნაწილობრივ გააქტიურებული</translation>
 <translation id="3527036260304016759">ვერ მოხერხდა — უცნობი შეცდომა</translation>
 <translation id="3532980081107202182">დარჩენილია დაახლოებით <ph name="MIN_REMAINING" /> წუთი</translation>
 <translation id="3565064564551103223">დაშვებული IP-ები</translation>
+<translation id="3577473026931028326">წარმოიქმნა შეფერხება. ცადეთ ხელახლა.</translation>
 <translation id="357889014807611375">ლიმიტირებული Wi-Fi</translation>
 <translation id="3583278742022654445">სიგნალის სიმძლავრე სუსტია. ცადეთ Wi-Fi სიგნალის წყაროსთან მიახლოება.</translation>
 <translation id="3595596368722241419">ბატარეა სავსეა</translation>
@@ -353,6 +353,7 @@
 <translation id="5691511426247308406">ოჯახი</translation>
 <translation id="5701381305118179107">ცენტრირება</translation>
 <translation id="5707900041990977207"><ph name="TOTAL_PAGES" />-ის <ph name="CURRENT_PAGE" /></translation>
+<translation id="5733298426544876109">განახლდეს <ph name="DEVICE_NAME" /></translation>
 <translation id="5760715441271661976">პორტალის მდგომარეობა</translation>
 <translation id="5784136236926853061">HTTP რეაგირების დრო დიდია</translation>
 <translation id="5832805196449965646">მომხმარებლის დამატება</translation>
@@ -462,7 +463,6 @@
 <translation id="7177485034254901881">ეს <ph name="DEVICE_TYPE" /> იმართება <ph name="MANAGER" />-ის მიერ. ადმინისტრატორებს შეუძლიათ ამ მოწყობილობის დისტანციურად კონფიგურაცია.</translation>
 <translation id="7180611975245234373">განახლება</translation>
 <translation id="7216409898977639127">ფიჭური ქსელის პროვაიდერი</translation>
-<translation id="7240035910874241640">ყველა პერიფერიული მოწყობილობა განახლებულია</translation>
 <translation id="7271040990581020067">სკანერი ამჟამად გამოიყენება. ცადეთ მოგვიანებით.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ფონების კოლექციები</translation>
@@ -563,7 +563,6 @@
 <translation id="8498220429738806196">ტრაფიკის მთვლელები</translation>
 <translation id="8503813439785031346">მომხმარებლის სახელი</translation>
 <translation id="8503836310948963452">კიდევ რამდენიმე წუთიც...</translation>
-<translation id="8520963233738002436">თქვენი <ph name="DEVICE_NAME" /> განახლებულია</translation>
 <translation id="8521021929829989041">პირად მოწყობილობად გამოყენება</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">შესაძლოა, ეს ვარიანტი თქვენს ოპერატორს სჭირდებოდეს, თავის ქსელთან დაკავშირების საშუალება რომ მოგცეთ. დეტალური ინფორმაციისთვის მიმართეთ ოპერატორს.</translation>
@@ -607,7 +606,6 @@
 <translation id="8970109610781093811">ხელახლა გაშვება</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{სკანირება}=1{გვერდის {NUMBER_OF_PAGES} სკანირება}other{გვერდის {NUMBER_OF_PAGES} სკანირება}}</translation>
-<translation id="8994273342647807496">მიმდინარეობს ინსტალაცია — <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">მოწყობილობის ბატარეის დონეა <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">სიხშირე</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_kk.xtb b/chromeos/strings/chromeos_strings_kk.xtb
index 8075c03..7121c35 100644
--- a/chromeos/strings/chromeos_strings_kk.xtb
+++ b/chromeos/strings/chromeos_strings_kk.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" /> бет (жалпы саны: <ph name="TOTAL_PAGES" />) басып шығарылды.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />-бет сканерленуде. <ph name="PERCENTAGE_VALUE" />% орындалды.</translation>
 <translation id="3459509316159669723">Басып шығару</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> жаңартылуда</translation>
 <translation id="3484914941826596830">Микробағдарлама жаңартылып жатқанда, сыртқы құрылғыны ажыратпаңыз немесе компьютерді өшірмеңіз. Бұл терезені кішірейте аласыз. Бұл жаңарту бірнеше минутқа созылып, ол кезде сыртқы құрылғы жұмыс істемей қалуы мүмкін.</translation>
 <translation id="3486220673238053218">анықтама</translation>
 <translation id="3488065109653206955">Ішінара белсендірілген</translation>
 <translation id="3527036260304016759">Сәтсіз: белгісіз қате шықты</translation>
 <translation id="3532980081107202182">Шамамен <ph name="MIN_REMAINING" /> минут қалды.</translation>
 <translation id="3565064564551103223">Рұқсат етілген IP мекенжайлары</translation>
+<translation id="3577473026931028326">Бірдеңе дұрыс болмады. Қайталап көріңіз.</translation>
 <translation id="357889014807611375">шектелген Wi-Fi</translation>
 <translation id="3583278742022654445">Сигнал күші аз. Wi-Fi сигнал көзіне жақындап көріңіз.</translation>
 <translation id="3595596368722241419">Батарея толы</translation>
@@ -459,7 +459,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> құрылғысын <ph name="MANAGER" /> басқарады. Әкімшілер құрылғыны қашықтан конфигурациялай алады.</translation>
 <translation id="7180611975245234373">Жаңарту</translation>
 <translation id="7216409898977639127">Ұялы байланыс провайдері</translation>
-<translation id="7240035910874241640">Барлық перифериялық құрылғы жаңартылған.</translation>
 <translation id="7271040990581020067">Сканер пайдаланылуда. Кейінірек қайталап көріңіз.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Тұсқағаз жинақтары</translation>
@@ -560,7 +559,6 @@
 <translation id="8498220429738806196">Трафик есептегіштері</translation>
 <translation id="8503813439785031346">Пайдаланушы аты</translation>
 <translation id="8503836310948963452">Бірнеше минут қана…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> құрылғысы жаңартылған.</translation>
 <translation id="8521021929829989041">Жеке құрылғы ретінде пайдалану</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Желіге қосылу үшін оператор осы опцияны талап етуі мүмкін. Мәліметтер алу үшін операторыңызға хабарласыңыз.</translation>
@@ -604,7 +602,6 @@
 <translation id="8970109610781093811">Қайта тексеру</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Сканерлеу}=1{{NUMBER_OF_PAGES} бетті сканерлеу}other{{NUMBER_OF_PAGES} бетті сканерлеу}}</translation>
-<translation id="8994273342647807496">Орнатылуда – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Құрылғының батарея деңгейі: <ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="9003704114456258138">Жиілік</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_km.xtb b/chromeos/strings/chromeos_strings_km.xtb
index 918cc3f..6ee54766 100644
--- a/chromeos/strings/chromeos_strings_km.xtb
+++ b/chromeos/strings/chromeos_strings_km.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">បានបោះពុម្ព​ទំព័រទី <ph name="PRINTED_PAGES" /> ក្នុងចំណោម <ph name="TOTAL_PAGES" />។</translation>
 <translation id="345898999683440380">កំពុង​ស្កេនទំព័រទី <ph name="PAGE_NUM" />។ បានបញ្ចប់ <ph name="PERCENTAGE_VALUE" />%។</translation>
 <translation id="3459509316159669723">កំពុងបោះពុម្ព</translation>
-<translation id="3462187165860821523">កំពុង​ដំឡើងកំណែ <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">សូមកុំដកឧបករណ៍ខាងក្រៅនេះ ឬបិទកុំព្យូទ័ររបស់អ្នក ពេលកំពុងដំឡើងកំណែកម្មវិធី​បង្កប់។ អ្នកអាចបង្រួមវិនដូនេះបាន។ ការដំឡើងកំណែនេះអាចចំណាយពេលពីរបីនាទី ហើយឧបករណ៍ខាងក្រៅរបស់អ្នកអាចមិនដំណើរការនៅអំឡុងពេលនេះទេ។</translation>
 <translation id="3486220673238053218">និយមន័យ</translation>
 <translation id="3488065109653206955">បានធ្វើសកម្មភាពតាមផ្នែក</translation>
 <translation id="3527036260304016759">មិនបានសម្រេច - មានបញ្ហា​ដែលមិនស្គាល់</translation>
 <translation id="3532980081107202182">នៅសល់ប្រហែល <ph name="MIN_REMAINING" /> នាទីទៀត</translation>
 <translation id="3565064564551103223">IP ដែលត្រូវបាន​អនុញ្ញាត</translation>
+<translation id="3577473026931028326">មានអ្វីមួយខុសប្រក្រតី។ សូមព្យាយាមម្ដងទៀត។</translation>
 <translation id="357889014807611375">Wi-Fi តាមកម្រិត</translation>
 <translation id="3583278742022654445">កម្លាំងរលកសញ្ញាខ្សោយ។ សូមសាកល្បងខិតឱ្យកាន់តែជិតប្រភពរលកសញ្ញា Wi-Fi។</translation>
 <translation id="3595596368722241419">ថ្មពេញ</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> នេះស្ថិតក្រោម​ការគ្រប់គ្រងរបស់ <ph name="MANAGER" />។ អ្នកគ្រប់គ្រង​អាចកំណត់រចនាសម្ព័ន្ធ​ឧបករណ៍​នេះពីចម្ងាយបាន។</translation>
 <translation id="7180611975245234373">ធ្វើឲ្យថ្មីឡើងវិញ…</translation>
 <translation id="7216409898977639127">ក្រុមហ៊ុន​ផ្តល់សេវា​ទូរសព្ទ</translation>
-<translation id="7240035910874241640">ឧបករណ៍​ខាងក្រៅ​ទាំងអស់​មានកំណែថ្មី​បំផុតហើយ</translation>
 <translation id="7271040990581020067">បច្ចុប្បន្ននេះ ម៉ាស៊ីនស្កេន​កំពុងស្ថិតក្នុង​ការប្រើប្រាស់។ សូមព្យាយាមម្ដងទៀតនៅពេលក្រោយ។</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">បណ្ដុំ​ផ្ទាំងរូបភាព</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">មុខងាររាប់ចំនួនចរាចរណ៍</translation>
 <translation id="8503813439785031346">ឈ្មោះអ្នកប្រើ</translation>
 <translation id="8503836310948963452">នៅសល់តែពីរបីនាទីទៀតប៉ុណ្ណោះ...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> របស់អ្នក​មានកំណែថ្មី​បំផុតហើយ</translation>
 <translation id="8521021929829989041">ប្រើជា​ឧបករណ៍​ផ្ទាល់ខ្លួន</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ក្រុមហ៊ុនសេវាទូរសព្ទ​របស់អ្នកអាច​តម្រូវឱ្យមានជម្រើសនេះ ដើម្បីភ្ជាប់ជាមួយ​បណ្ដាញរបស់ក្រុមហ៊ុននោះ។ សូមទាក់ទងក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នក ដើម្បីទទួលបាន​ព័ត៌មានលម្អិត។</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">ដំណើរការម្ដងទៀត</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ស្កេន}=1{ស្កេនទំព័រទី {NUMBER_OF_PAGES}}other{ស្កេនទំព័រទី {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">កំពុង​ដំឡើង - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ឧបករណ៍មានថ្ម <ph name="BATTERY_PERCENTAGE" />%។</translation>
 <translation id="9003704114456258138">ហ្វ្រេកង់</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_kn.xtb b/chromeos/strings/chromeos_strings_kn.xtb
index 7db281f..bb64b71 100644
--- a/chromeos/strings/chromeos_strings_kn.xtb
+++ b/chromeos/strings/chromeos_strings_kn.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> ರಲ್ಲಿ <ph name="PRINTED_PAGES" /> ಪುಟವನ್ನು ಮುದ್ರಿಸಲಾಗಿದೆ.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" /> ನೇ ಪುಟವನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ. <ph name="PERCENTAGE_VALUE" />% ಪೂರ್ಣಗೊಂಡಿದೆ.</translation>
 <translation id="3459509316159669723">ಮುದ್ರಿಸಲಾಗುತ್ತಿದೆ</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="3484914941826596830">ಫರ್ಮ್‌ವೇರ್ ಅಪ್‌ಡೇಟ್ ಆಗುತ್ತಿರುವ ಸಮಯದಲ್ಲಿ, ಈ ಬಾಹ್ಯ ಸಾಧನವನ್ನು ಅನ್‌ಪ್ಲಗ್ ಮಾಡಬೇಡಿ ಅಥವಾ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಸ್ಥಶಟ್ ಡೌನ್ ಮಾಡಬೇಡಿ. ನೀವು ಈ ವಿಂಡೋವನ್ನು ಕುಗ್ಗಿಸಬಹುದು. ಈ ಅಪ್‌ಡೇಟ್, ಕೆಲವು ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಈ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ ಬಾಹ್ಯ ಸಾಧನವು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು.</translation>
 <translation id="3486220673238053218">ವಿವರಣೆ</translation>
 <translation id="3488065109653206955">ಭಾಗಶಃ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ</translation>
 <translation id="3527036260304016759">ವಿಫಲವಾಗಿದೆ - ಅಪರಿಚಿತ ದೋಷ</translation>
 <translation id="3532980081107202182">ಸುಮಾರು <ph name="MIN_REMAINING" /> ಬಾಕಿ ಉಳಿದಿದೆ</translation>
 <translation id="3565064564551103223">ಅನುಮತಿಸಲಾದ IP ಗಳು</translation>
+<translation id="3577473026931028326">ಏನೋ ತಪ್ಪಾಗಿದೆ. ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="357889014807611375">ಮಾಪನ ಮಾಡಿದ ವೈ-ಫೈ</translation>
 <translation id="3583278742022654445">ಸಿಗ್ನಲ್ ಸಾಮರ್ಥ್ಯ ದುರ್ಬಲವಾಗಿದೆ. ವೈ-ಫೈ ಸಿಗ್ನಲ್ ಮೂಲದ ಸಮೀಪಕ್ಕೆ ಹೋಗಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="3595596368722241419">ಬ್ಯಾಟರಿ ಭರ್ತಿಯಾಗಿದೆ</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881">ಈ <ph name="DEVICE_TYPE" /> ಸಾಧನವನ್ನು <ph name="MANAGER" /> ನಿರ್ವಹಿಸುತ್ತದೆ ನಿರ್ವಾಹಕರು ರಿಮೋಟ್ ಆಗಿ ಸಾಧನವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು.</translation>
 <translation id="7180611975245234373">ರಿಫ್ರೆಶ್ ಮಾಡಿ</translation>
 <translation id="7216409898977639127">ಸೆಲ್ಯುಲಾರ್ ಒದಗಿಸುವವರು</translation>
-<translation id="7240035910874241640">ಎಲ್ಲಾ ಪೆರಿಫೆರಲ್‌ಗಳು ಅಪ್‌ ಟು ಡೇಟ್‌‌ ಆಗಿವೆ</translation>
 <translation id="7271040990581020067">ಸ್ಕ್ಯಾನರ್ ಅನ್ನು ಪ್ರಸ್ತುತವಾಗಿ ಬಳಸಲಾಗುತ್ತಿದೆ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ವಾಲ್‌ಪೇಪರ್ ಸಂಗ್ರಹಗಳು</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">ಟ್ರಾಫಿಕ್ ಕೌಂಟರ್‌ಗಳು</translation>
 <translation id="8503813439785031346">ಬಳಕೆದಾರರಹೆಸರು</translation>
 <translation id="8503836310948963452">ಕೇವಲ ಕೆಲವೇ ನಿಮಿಷಗಳು…</translation>
-<translation id="8520963233738002436">ನಿಮ್ಮ <ph name="DEVICE_NAME" /> ಅಪ್‌ ಟು ಡೇಟ್‌ ಆಗಿದೆ</translation>
 <translation id="8521021929829989041">ವೈಯಕ್ತಿಕ ಸಾಧನವಾಗಿ ಬಳಸಿ</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ನಿಮ್ಮ ವಾಹಕವು ತಮ್ಮ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲು ಈ ಆಯ್ಕೆಯ ಅಗತ್ಯವಿರಬಹುದು. ವಿವರಗಳಿಗಾಗಿ ನಿಮ್ಮ ವಾಹಕವನ್ನು ಸಂಪರ್ಕಿಸಿ.</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">ಮತ್ತೆ ಚಾಲನೆ ಮಾಡಿ</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ಸ್ಕ್ಯಾನ್}=1{ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾದ ಪುಟ {NUMBER_OF_PAGES}}one{ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾದ ಪುಟ {NUMBER_OF_PAGES}}other{ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾದ ಪುಟ {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ಸಾಧನದಲ್ಲಿ <ph name="BATTERY_PERCENTAGE" />% ರಷ್ಟು ಬ್ಯಾಟರಿ ಇದೆ.</translation>
 <translation id="9003704114456258138">ಫ್ರೀಕ್ವೆನ್ಸಿ</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ko.xtb b/chromeos/strings/chromeos_strings_ko.xtb
index edcf23a..6421fc97d 100644
--- a/chromeos/strings/chromeos_strings_ko.xtb
+++ b/chromeos/strings/chromeos_strings_ko.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">인쇄된 페이지 <ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" /></translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />페이지를 스캔 중입니다. <ph name="PERCENTAGE_VALUE" />% 완료되었습니다.</translation>
 <translation id="3459509316159669723">인쇄</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> 업데이트 중</translation>
 <translation id="3484914941826596830">펌웨어 업데이트 도중에 외부 기기를 분리하거나 컴퓨터를 종료하지 마세요. 이 창을 최소화할 수 있습니다. 업데이트되는 데 몇 분 정도 걸릴 수 있으며 이 시간 동안 외부 기기가 작동하지 않을 수도 있습니다.</translation>
 <translation id="3486220673238053218">정의</translation>
 <translation id="3488065109653206955">부분적으로 활성화됨</translation>
 <translation id="3527036260304016759">실패 - 알 수 없는 오류</translation>
 <translation id="3532980081107202182">약 <ph name="MIN_REMAINING" />분 남음</translation>
 <translation id="3565064564551103223">허용된 IP</translation>
+<translation id="3577473026931028326">문제가 발생했습니다. 다시 시도하세요.</translation>
 <translation id="357889014807611375">전송량 제한이 있는 Wi-Fi</translation>
 <translation id="3583278742022654445">신호 강도가 약합니다. Wi-Fi 신호 소스 가까이 이동해 보세요.</translation>
 <translation id="3595596368722241419">배터리 충전 완료</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">이 <ph name="DEVICE_TYPE" />은(는) <ph name="MANAGER" />에서 관리합니다. 관리자가 기기를 원격으로 구성할 수 있습니다.</translation>
 <translation id="7180611975245234373">새로고침</translation>
 <translation id="7216409898977639127">이동통신사</translation>
-<translation id="7240035910874241640">모든 주변기기가 최신 버전입니다</translation>
 <translation id="7271040990581020067">현재 스캐너를 사용하고 있습니다. 나중에 다시 시도해 주세요.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">배경화면 컬렉션</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">트래픽 카운터</translation>
 <translation id="8503813439785031346">사용자이름</translation>
 <translation id="8503836310948963452">몇 분 정도밖에 남지 않았습니다...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> 기기가 최신 버전입니다</translation>
 <translation id="8521021929829989041">개인 기기로 사용</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">이동통신사에서 네트워크에 연결하기 위해 이 옵션을 요구할 수 있습니다. 자세한 내용은 이동통신사에 문의하세요.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">다시 실행</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{스캔}=1{{NUMBER_OF_PAGES}페이지 스캔}other{{NUMBER_OF_PAGES}페이지 스캔}}</translation>
-<translation id="8994273342647807496">설치 중 - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">기기 배터리 잔량이 <ph name="BATTERY_PERCENTAGE" />%입니다.</translation>
 <translation id="9003704114456258138">주파수</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ky.xtb b/chromeos/strings/chromeos_strings_ky.xtb
index 2837eec..09acaa61 100644
--- a/chromeos/strings/chromeos_strings_ky.xtb
+++ b/chromeos/strings/chromeos_strings_ky.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> ичинен <ph name="PRINTED_PAGES" /> барак басылып чыгарылды.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />-бет скандалууда. <ph name="PERCENTAGE_VALUE" />% бүттү.</translation>
 <translation id="3459509316159669723">Басып чыгаруу</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> жаңыртылууда</translation>
 <translation id="3484914941826596830">Орнотулган программа жаңыртылып жатканда, тышкы түзмөктү ажыратпаңыз же компьютерди өчүрбөңүз. Бул терезени кичирейтип койсоңуз болот. Жаңыртуу бир нече мүнөткө созулуп, ал эми тышкы түзмөгүңүз бул убакытта иштебеши мүмкүн.</translation>
 <translation id="3486220673238053218">аныктама</translation>
 <translation id="3488065109653206955">Жарым-жартылай жандырылган</translation>
 <translation id="3527036260304016759">Басылып чыгарылган жок - Белгисиз ката</translation>
 <translation id="3532980081107202182">Болжол менен <ph name="MIN_REMAINING" /> мүнөт калды</translation>
 <translation id="3565064564551103223">Уруксат берилген IP-даректер</translation>
+<translation id="3577473026931028326">Бир жерден ката кетти. Кайталап көрүңүз.</translation>
 <translation id="357889014807611375">чектелген Wi-Fi</translation>
 <translation id="3583278742022654445">Cигнал начар. Wi-Fi сигналынын булагына жакыныраак жылып көрүңүз.</translation>
 <translation id="3595596368722241419">Батарея толук</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> түзмөгүн <ph name="MANAGER" /> башкарат. Администраторлор түзмөктү алыстан конфигурациялай алышат.</translation>
 <translation id="7180611975245234373">Жаңылоо</translation>
 <translation id="7216409898977639127">Интернет провайдери</translation>
-<translation id="7240035910874241640">Бардык перифериялык жөндөөлөр жаңыртылды</translation>
 <translation id="7271040990581020067">Сканер учурда колдонулуп жатат. Кийинчерээк кайталаңыз.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Тушкагаз жыйнактары</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Трафикти эсептегичтер</translation>
 <translation id="8503813439785031346">Колдонуучунун ысымы</translation>
 <translation id="8503836310948963452">Дагы бир нече мүнөт калды...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> түзмөгүңүз жаңыртылды</translation>
 <translation id="8521021929829989041">Жеке түзмөктү колдонуу</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Тармакка туташуу үчүн байланыш оператору бул параметрди талап кылышы мүмкүн. Кеңири маалымат үчүн байланыш операторуңузга кайрылыңыз</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Кайра сыноо</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Скандоо}=1{{NUMBER_OF_PAGES} бетти скандоо}other{{NUMBER_OF_PAGES} бетти скандоо}}</translation>
-<translation id="8994273342647807496">Орнотулууда – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Түзмөктүн батареясынын деңгээли: <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Жыштык</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_lo.xtb b/chromeos/strings/chromeos_strings_lo.xtb
index eda4363..72c99a0 100644
--- a/chromeos/strings/chromeos_strings_lo.xtb
+++ b/chromeos/strings/chromeos_strings_lo.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">ພິມໜ້າ <ph name="PRINTED_PAGES" /> ຈາກທັງໝົດ <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">ກຳລັງສະແກນໜ້າ <ph name="PAGE_NUM" />. ສຳເລັດແລ້ວ <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">ກໍາລັງພິມ</translation>
-<translation id="3462187165860821523">ກຳລັງອັບເດດ <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">ໃນຂະນະທີ່ກຳລັງອັບເດດເຟີມແວຢູ່, ກະລຸນາຢ່າຖອດອຸປະກອນພາຍນອກນີ້ອອກ ຫຼື ຢ່າປິດເຄື່ອງຄອມພິວເຕີຂອງທ່ານ. ທ່ານສາມາດຫຍໍ້ໜ້າຈໍນີ້ລົງໄດ້. ອັບເດດນີ້ອາດໃຊ້ເວລາສອງສາມນາທີ ແລະ ອຸປະກອນພາຍນອກຂອງທ່ານອາດບໍ່ເຮັດວຽກໃນລະຫວ່າງນີ້.</translation>
 <translation id="3486220673238053218">ຄໍາ​ນິ​ຍາມ</translation>
 <translation id="3488065109653206955">ເປີດ​​ໃຊ້ງານ​ບາງ​ສ່ວນເທົ່ານັ້ນ</translation>
 <translation id="3527036260304016759">ບໍ່ສຳເລັດ, ບໍ່ຮູ້ຈັກຂໍ້ຜິດພາດ</translation>
 <translation id="3532980081107202182">ຍັງເຫຼືອອີກປະມານ <ph name="MIN_REMAINING" /> ນາທີ</translation>
 <translation id="3565064564551103223">IP ທີ່ອະນຸຍາດ</translation>
+<translation id="3577473026931028326">ມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ. ກະລຸນາລອງໃໝ່.</translation>
 <translation id="357889014807611375">Wi-Fi ທີ່ວັດແທກການໃຊ້ອິນເຕີເນັດ</translation>
 <translation id="3583278742022654445">ຄວາມແຮງສັນຍານອ່ອນ. ໃຫ້ລອງຍ້າຍໄປໃກ້ແຫຼ່ງສັນຍານ Wi-Fi ຫຼາຍຂຶ້ນ.</translation>
 <translation id="3595596368722241419">ແບັດເຕີຣີເຕັມ</translation>
@@ -463,7 +463,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> ນີ້ຈັດການໂດຍ <ph name="MANAGER" />. ຜູ້ເບິ່ງແຍງລະບົບອາດຈະຕັ້ງຄ່າອຸປະກອນຈາກທາງໄກໄດ້.</translation>
 <translation id="7180611975245234373">ຣີເຟຣຊ</translation>
 <translation id="7216409898977639127">ຜູ້ໃຫ້ບໍລິການມືຖື</translation>
-<translation id="7240035910874241640">ອັບເດດອຸປະກອນຕໍ່ພ່ວງທັງໝົດແລ້ວ</translation>
 <translation id="7271040990581020067">ຕອນນີ້ມີຄົນໃຊ້ເຄື່ອງສະແກນຢູ່. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ຄໍເລັກຊັນຮູບພື້ນຫຼັງ</translation>
@@ -564,7 +563,6 @@
 <translation id="8498220429738806196">ຕົວນັບທຣາບຟິກ</translation>
 <translation id="8503813439785031346">ຊື່​ຜູ້​ໃຊ້</translation>
 <translation id="8503836310948963452">ອີກສອງສາມນາທີ...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> ຂອງທ່ານເປັນເວີຊັນຫຼ້າສຸດແລ້ວ</translation>
 <translation id="8521021929829989041">ໃຊ້ເປັນອຸປະກອນສ່ວນຕົວ</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ຜູ້ໃຫ້ບໍລິການຂອງທ່ານອາດຕ້ອງໃຊ້ຕົວເລືອກນີ້ເພື່ອເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍຂອງເຂົາເຈົ້າ. ກະລຸນາຕິດຕໍ່ຫາຜູ້ໃຫ້ບໍລິການຂອງທ່ານສຳລັບລາຍລະອຽດ.</translation>
@@ -608,7 +606,6 @@
 <translation id="8970109610781093811">ເອີ້ນໃຊ້ອີກຄັ້ງ</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ສະແກນ}=1{ສະແກນໜ້າ {NUMBER_OF_PAGES}}other{ສະແກນໜ້າ {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">ກໍາລັງຕິດຕັ້ງ - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ອຸປະກອນມີແບັດເຕີຣີ <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">ຄວາມຖີ່</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_lt.xtb b/chromeos/strings/chromeos_strings_lt.xtb
index 3b03156a..2868106 100644
--- a/chromeos/strings/chromeos_strings_lt.xtb
+++ b/chromeos/strings/chromeos_strings_lt.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Atspausdinta <ph name="PRINTED_PAGES" /> iš <ph name="TOTAL_PAGES" /> psl.</translation>
 <translation id="345898999683440380">Nuskaitomas <ph name="PAGE_NUM" /> psl. Atlikta: <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Spausdinimas</translation>
-<translation id="3462187165860821523">Atnaujinamas įrenginys „<ph name="DEVICE_NAME" />“</translation>
 <translation id="3484914941826596830">Kol programinė aparatinė įranga atnaujinama, neatjunkite išorinio įrenginio ir neišjunkite kompiuterio. Galite sumažinti šį langą. Šis atnaujinimo procesas gali užtrukti kelias minutes ir tuo metu jūsų išorinis įrenginys gali neveikti.</translation>
 <translation id="3486220673238053218">apibrėžimas</translation>
 <translation id="3488065109653206955">Iš dalies suaktyvinta</translation>
 <translation id="3527036260304016759">Nepavyko – nežinoma klaida</translation>
 <translation id="3532980081107202182">Liko apie <ph name="MIN_REMAINING" /> min.</translation>
 <translation id="3565064564551103223">Leidžiami IP</translation>
+<translation id="3577473026931028326">Kažkas ne taip. Bandykite dar kartą.</translation>
 <translation id="357889014807611375">matuojamas „Wi-Fi“ tinklas</translation>
 <translation id="3583278742022654445">Silpnas signalas. Pabandykite prieiti arčiau „Wi-Fi“ signalo šaltinio.</translation>
 <translation id="3595596368722241419">Akumuliatorius įkrautas</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Šį „<ph name="DEVICE_TYPE" />“ valdo <ph name="MANAGER" />. Administratoriai gali nuotoliniu būdu konfigūruoti įrenginį.</translation>
 <translation id="7180611975245234373">Atnaujinti</translation>
 <translation id="7216409898977639127">Mobiliojo ryšio teikėjas</translation>
-<translation id="7240035910874241640">Visi išoriniai įrenginiai atnaujinti</translation>
 <translation id="7271040990581020067">Skaitytuvas šiuo metu naudojamas. Vėliau bandykite dar kartą.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Ekrano fonų rinkiniai</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Srauto skaitikliai</translation>
 <translation id="8503813439785031346">Vartotojo vardas</translation>
 <translation id="8503836310948963452">Dar kelios minutės...</translation>
-<translation id="8520963233738002436">Jūsų įrenginys „<ph name="DEVICE_NAME" />“ atnaujintas</translation>
 <translation id="8521021929829989041">Naudoti kaip asmeninį įrenginį</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operatoriui gali būti reikalinga ši parinktis, kad būtų galima prisijungti prie tinklo. Jei reikia išsamios informacijos, susisiekite su operatoriumi.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Paleisti dar kartą</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Nuskaityti}=1{Nuskaityti {NUMBER_OF_PAGES} puslapį}one{Nuskaityti {NUMBER_OF_PAGES} puslapį}few{Nuskaityti {NUMBER_OF_PAGES} puslapį}many{Nuskaityti {NUMBER_OF_PAGES} puslapį}other{Nuskaityti {NUMBER_OF_PAGES} puslapį}}</translation>
-<translation id="8994273342647807496">Diegiama – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Įrenginio akumuliatoriaus energijos lygis: <ph name="BATTERY_PERCENTAGE" /> proc.</translation>
 <translation id="9003704114456258138">Dažnis</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_lv.xtb b/chromeos/strings/chromeos_strings_lv.xtb
index 379b050..dfc03604 100644
--- a/chromeos/strings/chromeos_strings_lv.xtb
+++ b/chromeos/strings/chromeos_strings_lv.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Izdrukāto lapu skaits: <ph name="PRINTED_PAGES" /> no<ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Notiek <ph name="PAGE_NUM" />. lapas skenēšana. Pabeigti: <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Drukāšana</translation>
-<translation id="3462187165860821523">Notiek ierīces <ph name="DEVICE_NAME" /> atjaunināšana</translation>
 <translation id="3484914941826596830">Kamēr notiek aparātprogrammatūras atjaunināšana, neatvienojiet šo ārējo ierīci un neizslēdziet datoru. Varat minimizēt šo logu. Atjaunināšana var ilgt dažas minūtes, un jūsu ārējā ierīce šajā laikā var nedarboties.</translation>
 <translation id="3486220673238053218">definīcija</translation>
 <translation id="3488065109653206955">Daļēji aktivizēts</translation>
 <translation id="3527036260304016759">Neizdevās — nezināma kļūda</translation>
 <translation id="3532980081107202182">Atlikušas aptuveni <ph name="MIN_REMAINING" /> minūtes</translation>
 <translation id="3565064564551103223">Atļautās IP adreses</translation>
+<translation id="3577473026931028326">Radās kļūda. Mēģiniet vēlreiz.</translation>
 <translation id="357889014807611375">Maksas Wi-Fi tīkls</translation>
 <translation id="3583278742022654445">Vājš signāls. Pārvietojieties tuvāk Wi-Fi signāla avotam.</translation>
 <translation id="3595596368722241419">Akumulators pilns</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Šo <ph name="DEVICE_TYPE" /> ierīci pārvalda <ph name="MANAGER" />. Administratori var attālināti konfigurēt ierīci.</translation>
 <translation id="7180611975245234373">Atsvaidzināt</translation>
 <translation id="7216409898977639127">Mobilo sakaru operators</translation>
-<translation id="7240035910874241640">Visas perifērijas ierīces ir atjauninātas</translation>
 <translation id="7271040990581020067">Skeneris pašlaik tiek izmantots. Vēlāk mēģiniet vēlreiz.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Fona tapešu kolekcijas</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Datplūsmas skaitītāji</translation>
 <translation id="8503813439785031346">Lietotājvārds</translation>
 <translation id="8503836310948963452">Vēl tikai dažas minūtes...</translation>
-<translation id="8520963233738002436">Ierīce <ph name="DEVICE_NAME" /> ir atjaunināta</translation>
 <translation id="8521021929829989041">Izmantot kā personīgo ierīci</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Jūsu mobilo sakaru operators var pieprasīt šīs opcijas izmantošanu, lai varētu izveidot savienojumu ar attiecīgā operatora tīklu. Lai iegūtu detalizētu informāciju, sazinieties ar savu mobilo sakaru operatoru.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Izpildīt vēlreiz</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skenēt}=1{Skenēt {NUMBER_OF_PAGES}. lapu}zero{Skenēt {NUMBER_OF_PAGES}. lapu}one{Skenēt {NUMBER_OF_PAGES}. lapu}other{Skenēt {NUMBER_OF_PAGES}. lapu}}</translation>
-<translation id="8994273342647807496">Notiek instalēšana — <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Ierīces akumulatora uzlādes līmenis: <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Frekvence</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_mk.xtb b/chromeos/strings/chromeos_strings_mk.xtb
index 26f46bc..841199c 100644
--- a/chromeos/strings/chromeos_strings_mk.xtb
+++ b/chromeos/strings/chromeos_strings_mk.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Отпечатена страница <ph name="PRINTED_PAGES" /> од <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Се скенира страницата <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" /> % завршено.</translation>
 <translation id="3459509316159669723">Се печати</translation>
-<translation id="3462187165860821523">Се ажурира <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Додека фирмверот се ажурира, не исклучувајте го надворешниов уред од струја или не исклучувајте го компјутерот. Може да го минимизирате прозорецов. Ажурирањево може да потрае неколку минути и надворешниот уред можеби нема да работи во ова време.</translation>
 <translation id="3486220673238053218">дефиниција</translation>
 <translation id="3488065109653206955">Делумно активиран</translation>
 <translation id="3527036260304016759">Неуспешно - непозната грешка</translation>
 <translation id="3532980081107202182">Преостануваат околу <ph name="MIN_REMAINING" /> мин.</translation>
 <translation id="3565064564551103223">Дозволени IP адреси</translation>
+<translation id="3577473026931028326">Нешто тргна наопаку. Обидете се повторно.</translation>
 <translation id="357889014807611375">Wi-Fi со ограничен интернет</translation>
 <translation id="3583278742022654445">Слаба јачина на сигналот. Обидете се да се приближите до изворот на сигналот за Wi-Fi.</translation>
 <translation id="3595596368722241419">Батеријата е полна</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> управува со овој <ph name="DEVICE_TYPE" />. Администраторите може да го конфигурираат уредот оддалеку.</translation>
 <translation id="7180611975245234373">Освежи</translation>
 <translation id="7216409898977639127">Мобилен оператор</translation>
-<translation id="7240035910874241640">Сите периферни уреди се ажурирани</translation>
 <translation id="7271040990581020067">Скенерот се користи во моментов. Обидете се повторно подоцна.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Збирки тапети</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Бројачи на сообраќај</translation>
 <translation id="8503813439785031346">Корисничко име</translation>
 <translation id="8503836310948963452">Само уште неколку минути…</translation>
-<translation id="8520963233738002436">Вашиот <ph name="DEVICE_NAME" /> е ажуриран</translation>
 <translation id="8521021929829989041">Користете како личен уред</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Оваа опција може да е задолжителна за да се поврзете на мрежата на операторот. Контактирајте со операторот за детали.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Изврши повторно</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Скенирај}=1{Скенирај {NUMBER_OF_PAGES} страница}one{Скенирај {NUMBER_OF_PAGES} страница}other{Скенирај {NUMBER_OF_PAGES} страници}}</translation>
-<translation id="8994273342647807496">Се инсталира - <ph name="PERCENTAGE_VALUE" /></translation>
 <translation id="8997710128084572139">Нивото на батерија на уредот е <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Зачестеност</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ml.xtb b/chromeos/strings/chromeos_strings_ml.xtb
index ae3e70d..fecc4217 100644
--- a/chromeos/strings/chromeos_strings_ml.xtb
+++ b/chromeos/strings/chromeos_strings_ml.xtb
@@ -13,6 +13,7 @@
 <translation id="1119447706177454957">ആന്തരിക പിശക്</translation>
 <translation id="1124772482545689468">ഉപയോക്താവ്</translation>
 <translation id="1128128132059598906">EAP-TTLS</translation>
+<translation id="1145018782460575098">'ബാഹ്യ ഉപകരണങ്ങൾക്കുള്ള ഫേംവെയർ അപ്‌ഡേറ്റ് ചെയ്യുക' വിൻഡോ തുറന്നിരിക്കുന്നു. <ph name="NUM_UPDATES" /> അപ്ഡേറ്റുകൾ ലഭ്യമാണ്.</translation>
 <translation id="1175697296044146566">ഈ <ph name="DEVICE_TYPE" /> മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്.</translation>
 <translation id="1175951029573070619">ശരാശരി (<ph name="SIGNAL_STRENGTH" />)</translation>
 <translation id="1181037720776840403">നീക്കംചെയ്യൂ</translation>
@@ -26,6 +27,7 @@
 <translation id="1270369111467284986">ക്യാപ്റ്റീവ് പോർട്ടൽ ആണെന്ന് സംശയിക്കുന്നു</translation>
 <translation id="1290331692326790741">ദുർബലമായ സിഗ്നൽ</translation>
 <translation id="1301069673413256657">GSM</translation>
+<translation id="1308754910631152188">അപ്ഡേറ്റ് ചെയ്യുന്നു (<ph name="PERCENTAGE_VALUE" />% പൂർത്തിയായി)</translation>
 <translation id="1310380015393971138"><ph name="NETWORK_NAME" /> നെറ്റ്‌വർക്ക് ഒന്നും ലഭ്യമല്ല</translation>
 <translation id="1314565355471455267">Android VPN</translation>
 <translation id="131461803491198646">ഹോം നെറ്റ്‍വര്‍ക്ക്, റോമിംഗ് അല്ല</translation>
@@ -43,10 +45,12 @@
 <translation id="1468664791493211953">ഓഫറുകൾ</translation>
 <translation id="1476467821656042872"><ph name="MANAGER" /> ഈ ഉപകരണം മാനേജ് ചെയ്യുന്നു, ഒപ്പം നിങ്ങളുടെ ആക്‌റ്റിവിറ്റികൾ നിരീക്ഷിക്കാനുമായേക്കും.</translation>
 <translation id="1478594628797167447">സ്‌കാനർ</translation>
+<translation id="1491076385728777984"><ph name="DEVICE_NAME" /> ഉപകരണത്തിലെ ഫേംവെയർ അപ്ഡേറ്റ് ചെയ്യുന്നു</translation>
 <translation id="1499900233129743732"><ph name="MANAGER" /> ആണ് ഈ ഉപയോക്താവിനെ മാനേജ് ചെയ്യുന്നത്, ഒപ്പം വിദൂരമായി ക്രമീകരണം മാനേജ് ചെയ്യുകയും ഉപയോക്തൃ ആക്‌റ്റിവിറ്റി നിരീക്ഷിക്കുകയും ചെയ്തേക്കാം.</translation>
 <translation id="150962533380566081">അസാധുവായ PUK.</translation>
 <translation id="1510238584712386396">ലോഞ്ചർ</translation>
 <translation id="155865706765934889">ടച്ച്‌പാഡ്</translation>
+<translation id="1565038567006703504"><ph name="DEVICE_NAME" /> അപ്ഡേറ്റ് ചെയ്യാനാകുന്നില്ല</translation>
 <translation id="1567064801249837505">ആൽബങ്ങൾ</translation>
 <translation id="1572585716423026576">വാൾപേപ്പറായി സജ്ജീകരിക്കുക</translation>
 <translation id="1621067168122174824">ചാർജ് ടെസ്റ്റ് റൺ ചെയ്യുക</translation>
@@ -117,6 +121,7 @@
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
 <translation id="2505327257735685095">നിലവിലെ വാൾപേപ്പർ ചിത്രം റീഫ്രഷ് ചെയ്യുക</translation>
 <translation id="2517472476991765520">സ്‌കാൻ ചെയ്യുക</translation>
+<translation id="253029298928638905">റീസ്റ്റാർട്ട് ചെയ്യുന്നു…</translation>
 <translation id="2536159006530886390">ഇന്റർനെറ്റിലേക്ക് കണക്റ്റ് ചെയ്യാനാകുന്നില്ല.</translation>
 <translation id="2570743873672969996"><ph name="TEST_NAME" /> പരീക്ഷണം റൺ ചെയ്യുന്നു...</translation>
 <translation id="2584559707064218956">സജ്ജീകരിക്കാൻ ക്രമീകരണത്തിലേക്ക് പോകുക</translation>
@@ -170,13 +175,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" />-ൽ <ph name="PRINTED_PAGES" /> പേജ് പ്രിന്റ് ചെയ്‌തു.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />-ാമത്തെ പേജ് സ്‌കാൻ ചെയ്യുന്നു. <ph name="PERCENTAGE_VALUE" />% പൂർത്തിയായി.</translation>
 <translation id="3459509316159669723">പ്രിന്റിംഗ്</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> അപ്‌ഡേറ്റ് ചെയ്യുന്നു</translation>
 <translation id="3484914941826596830">ഫേംവെയർ അപ്ഡേറ്റ് ചെയ്തുകൊണ്ടിരിക്കുമ്പോൾ ഈ എക്സ്റ്റേണൽ ഉപകരണം അൺപ്ലഗ് ചെയ്യാനോ നിങ്ങളുടെ കമ്പ്യൂട്ടർ ഷട്ട് ഡൗൺ ചെയ്യാനോ പാടില്ല. നിങ്ങൾക്ക് ഈ വിൻഡോ ചെറുതാക്കാം. ഈ അപ്ഡേറ്റ് പൂർത്തിയാകാൻ ഏതാനും മിനിറ്റുകൾ എടുത്തേക്കാം, അതുവരെ നിങ്ങളുടെ എക്സ്റ്റേണൽ ഉപകരണം പ്രവർത്തിക്കില്ല.</translation>
 <translation id="3486220673238053218">നിർവചനം</translation>
 <translation id="3488065109653206955">ഭാഗികമായി പ്രവര്‍ത്തനക്ഷമമാക്കി</translation>
 <translation id="3527036260304016759">പ്രിന്റ് ചെയ്യാനായില്ല - അജ്ഞാതമായ പിശക്</translation>
 <translation id="3532980081107202182">ഏകദേശം <ph name="MIN_REMAINING" /> മിനിറ്റ് ശേഷിക്കുന്നു</translation>
 <translation id="3565064564551103223">അനുവദനീയമായ IP-കൾ</translation>
+<translation id="3577473026931028326">എന്തോ കുഴപ്പമുണ്ടായി. വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="357889014807611375">മീറ്റർ ചെയ്‌ത വൈഫൈ</translation>
 <translation id="3583278742022654445">സിഗ്‌നൽ ശക്തി ദുർബലമാണ്. വൈഫൈ സിഗ്നൽ ഉറവിടത്തിന് കൂടുതൽ അടുത്തേക്ക് നീക്കി ശ്രമിക്കുക.</translation>
 <translation id="3595596368722241419">ബാറ്ററി നിറഞ്ഞു</translation>
@@ -206,6 +211,7 @@
 <translation id="3967822245660637423">ഡൗൺലോഡ് പൂർത്തിയായി</translation>
 <translation id="397105322502079400">കണക്കാക്കുന്നു...</translation>
 <translation id="39823212440917567"><ph name="NUMBER_OF_DAYS" /> ദിവസം മുമ്പുള്ള പ്രിന്റ് ജോലികൾ നീക്കം ചെയ്യും</translation>
+<translation id="3993704782688964914">നിങ്ങളുടെ <ph name="DEVICE_NAME" /> ഇപ്പോൾ അപ് ടു ഡേറ്റ് ആണ്</translation>
 <translation id="4003384961948020559">പ്രിന്റ് ചെയ്യാനായില്ല - ഔട്ട്പുട്ട് നിറഞ്ഞിരിക്കുന്നു</translation>
 <translation id="4034824040120875894">പ്രിന്റർ</translation>
 <translation id="4044093238444069296">ഗേറ്റ്‌വേയുമായി ബന്ധപ്പെടാനാകുന്നില്ല</translation>
@@ -232,6 +238,7 @@
 <translation id="4378373042927530923">റൺ ചെയ്‌തിട്ടില്ല</translation>
 <translation id="4378551569595875038">കണക്റ്റിംഗ്...</translation>
 <translation id="4382484599443659549">PDF</translation>
+<translation id="439429847087949098"><ph name="DEVICE_NAME" /> റീസ്റ്റാർട്ട് ചെയ്യുന്നു</translation>
 <translation id="4418498623216225764">പെരിഫറലുകൾ അപ്ഡേറ്റ് ചെയ്യുക</translation>
 <translation id="4425149324548788773">എന്റെ ഡ്രൈവ്</translation>
 <translation id="4428374560396076622"><ph name="NETWORK_NAME" /> ഓഫാണ്</translation>
@@ -248,6 +255,7 @@
 <translation id="4521826082652183069">സബ്ജക്റ്റ് ഓൾട്ടർനേറ്റീവ് നെയിം പൊരുത്തം</translation>
 <translation id="4536864596629708641">IP കോൺഫിഗറേഷൻ</translation>
 <translation id="4548483925627140043">സിഗ്‌നൽ കണ്ടെത്തിയില്ല</translation>
+<translation id="4556753742174065117">എല്ലാ ഫേംവെയറും അപ് ടു ഡേറ്റാണ്</translation>
 <translation id="455835558791489930"><ph name="CHARGE_VALUE" />mAh ബാറ്ററി</translation>
 <translation id="4561801978359312462">സിം അൺലോക്ക് ചെയ്തു</translation>
 <translation id="4562494484721939086">സേവനമില്ല</translation>
@@ -432,6 +440,7 @@
 <translation id="680983167891198932">കീ</translation>
 <translation id="6816797338148849397">നിങ്ങളുടെ തിരഞ്ഞെടുപ്പുമായി ബന്ധപ്പെട്ട വിവരങ്ങൾ ലഭ്യമാണ്. ആക്‌സസ് ചെയ്യാൻ മുകളിലേയ്ക്കുള്ള അമ്പടയാളം കീ ഉപയോഗിക്കുക.</translation>
 <translation id="6853312040151791195">ഡിസ്‌ചാർജ് ചെയ്യൽ റേറ്റ്</translation>
+<translation id="6889786074662672253">റീസ്റ്റാർട്ട് ചെയ്തുകൊണ്ടിരിക്കുമ്പോൾ, ഈ ബാഹ്യ ഉപകരണം അൺപ്ലഗ് ചെയ്യാനോ നിങ്ങളുടെ കമ്പ്യൂട്ടർ ഷട്ട് ഡൗൺ ചെയ്യാനോ പാടില്ല. നിങ്ങൾക്ക് ഈ വിൻഡോ ചെറുതാക്കാം. ഇത് പൂർത്തിയാകാൻ ഏതാനും മിനിറ്റുകൾ എടുത്തേക്കാം, അതുവരെ നിങ്ങളുടെ ബാഹ്യ ഉപകരണം പ്രവർത്തിക്കില്ല.</translation>
 <translation id="6905724422583748843"><ph name="PAGE_NAME" /> എന്ന പേജിലേക്ക് മടങ്ങുക</translation>
 <translation id="6910312834584889076">സ്‌കാനറിന്റെ കവർ തുറന്നിരിക്കുന്നു. കവർ അടച്ച് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="6911383237894364323">മീഡിയ സെർവറുകളിലേക്ക് കണക്റ്റ് ചെയ്യാനാകുന്നില്ല</translation>
@@ -461,7 +470,6 @@
 <translation id="7177485034254901881">ഈ <ph name="DEVICE_TYPE" /> മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്. അഡ്മിൻമാർ ഉപകരണം വിദൂരമായി കോൺഫിഗർ ചെയ്‌തേക്കാം.</translation>
 <translation id="7180611975245234373">റീഫ്രഷ് ചെയ്യുക</translation>
 <translation id="7216409898977639127">സെല്ലുലാര്‍‌ സേവനദാതാവ്</translation>
-<translation id="7240035910874241640">എല്ലാ പെരിഫറലുകളും അപ് ടു ഡേറ്റ് ആണ്</translation>
 <translation id="7271040990581020067">സ്‌കാനർ നിലവിൽ ഉപയോഗത്തിലാണ്. പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">വാൾപേപ്പർ ശേഖരങ്ങൾ</translation>
@@ -562,7 +570,6 @@
 <translation id="8498220429738806196">ട്രാഫിക് കൗണ്ടറുകൾ</translation>
 <translation id="8503813439785031346">ഉപയോക്തൃനാമം</translation>
 <translation id="8503836310948963452">കുറച്ച് മിനിറ്റുകൾ കൂടി മാത്രം…</translation>
-<translation id="8520963233738002436">നിങ്ങളുടെ <ph name="DEVICE_NAME" /> അപ് ടു ഡേറ്റ് ആണ്</translation>
 <translation id="8521021929829989041">വ്യക്തിപര ഉപകരണമായി ഉപയോഗിക്കുക</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">നിങ്ങളുടെ സേവനദാതാവിന് അവരുടെ നെറ്റ്‌വർക്കിലേക്ക് കണക്റ്റ് ചെയ്യാൻ ഈ ഓപ്‌ഷൻ ആവശ്യമായി വന്നേക്കാം. വിശദാംശങ്ങൾക്ക് നിങ്ങളുടെ സേവനദാതാവുമായി ബന്ധപ്പെടുക.</translation>
@@ -606,7 +613,6 @@
 <translation id="8970109610781093811">വീണ്ടും പ്രവർത്തിപ്പിക്കുക</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{സ്‌കാൻ ചെയ്യുക}=1{{NUMBER_OF_PAGES} പേജ് സ്‌കാൻ ചെയ്യുക}other{{NUMBER_OF_PAGES} പേജ് സ്‌കാൻ ചെയ്യുക}}</translation>
-<translation id="8994273342647807496">ഇൻസ്‌റ്റാൾ ചെയ്യുന്നു - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ഉപകരണത്തിൽ <ph name="BATTERY_PERCENTAGE" />% ബാറ്ററിയുണ്ട്.</translation>
 <translation id="9003704114456258138">ആവൃത്തി</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_mn.xtb b/chromeos/strings/chromeos_strings_mn.xtb
index f795669..4828495e 100644
--- a/chromeos/strings/chromeos_strings_mn.xtb
+++ b/chromeos/strings/chromeos_strings_mn.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" />-с <ph name="PRINTED_PAGES" /> хуудсыг хэвлэсэн.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />-р хуудсыг скан хийж байна. <ph name="PERCENTAGE_VALUE" />% дууссан.</translation>
 <translation id="3459509316159669723">Хэвлэж байна</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" />-г шинэчилж байна</translation>
 <translation id="3484914941826596830">Жижиг программыг шинэчилж байх үед энэ гадны төхөөрөмжийг бүү салгаарай. Мөн компьютероо бүү унтраагаарай. Та энэ цонхыг багасгах боломжтой. Энэ шинэчлэлтэд хэдэн минут зарцуулж магадгүй бөгөөд энэ хугацаанд таны гадны төхөөрөмж ажиллахгүй байж магадгүй.</translation>
 <translation id="3486220673238053218">тодорхойлолт</translation>
 <translation id="3488065109653206955">Хагас идэвхжсэн</translation>
 <translation id="3527036260304016759">Амжилтгүй болсон - Үл мэдэгдэх алдаа</translation>
 <translation id="3532980081107202182"><ph name="MIN_REMAINING" /> орчим минут үлдсэн байна</translation>
 <translation id="3565064564551103223">Зөвшөөрсөн IP</translation>
+<translation id="3577473026931028326">Алдаа гарлаа. Дахин оролдоно уу.</translation>
 <translation id="357889014807611375">хязгаартай Wi-Fi</translation>
 <translation id="3583278742022654445">Дохионы хүч сул байна. Wi-Fi дохионы эх үүсвэр лүү ойртож үзнэ үү.</translation>
 <translation id="3595596368722241419">Цэнэг дүүрсэн.</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Энэ <ph name="DEVICE_TYPE" />-г <ph name="MANAGER" /> удирддаг. Администраторууд төхөөрөмжийг алсаас тохируулж магадгүй.</translation>
 <translation id="7180611975245234373">Дахин сэргээх</translation>
 <translation id="7216409898977639127">Үүрэн холбооны үйлчилгээ үзүүлэгч</translation>
-<translation id="7240035910874241640">Бүх нэмэлт хэрэгсэл хамгийн шинэ байна</translation>
 <translation id="7271040990581020067">Сканнерыг одоогоор ашиглаж байна. Дараа дахин оролдоно уу.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Дэлгэцийн зургийн цуглуулга</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Ачаалал тоологч</translation>
 <translation id="8503813439785031346">Хэрэглэгчийн нэр</translation>
 <translation id="8503836310948963452">Цөөн хэдэн минут хүлээнэ үү...</translation>
-<translation id="8520963233738002436">Таны <ph name="DEVICE_NAME" /> хамгийн шинэ байна</translation>
 <translation id="8521021929829989041">Хувийн төхөөрөмж болгон ашиглах</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Та оператор компанийнхаа сүлжээнд холбогдохын тулд тэд танаас энэ сонголтыг шаардаж болзошгүй. Дэлгэрэнгүй мэдээлэл авах бол оператор компанитайгаа холбогдоно уу.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Дахин ажиллуулах</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Скан хийх}=1{{NUMBER_OF_PAGES} хуудас скан хийх}other{{NUMBER_OF_PAGES} хуудас скан хийх}}</translation>
-<translation id="8994273342647807496">Суулгаж байна - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Төхөөрөмжийн батарей <ph name="BATTERY_PERCENTAGE" />% байна.</translation>
 <translation id="9003704114456258138">Давтамж</translation>
 <translation id="9039663905644212491">PEAP /Хамгаалагдсан өргөжих боломжтой таниулах протокол/</translation>
diff --git a/chromeos/strings/chromeos_strings_mr.xtb b/chromeos/strings/chromeos_strings_mr.xtb
index 815bc02..8946c14 100644
--- a/chromeos/strings/chromeos_strings_mr.xtb
+++ b/chromeos/strings/chromeos_strings_mr.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> पैकी <ph name="PRINTED_PAGES" /> पेज प्रिंट केली.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" /> पेज स्कॅन करत आहे. <ph name="PERCENTAGE_VALUE" />% पूर्ण झाले.</translation>
 <translation id="3459509316159669723">प्रिंट</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> अपडेट होत आहे</translation>
 <translation id="3484914941826596830">फर्मवेअर अपडेट होत असताना, हे बाह्य डिव्हाइस अनप्लग करू नका किंवा तुमचा कॉंप्युटर बंद करू नका. तुम्ही ही विंडो लहान करू शकता. या अपडेटला काही मिनिटे लागू शकतात आणि या कालावधीदरम्यान तुमचे बाह्य डिव्हाइस कदाचित काम करणार नाही.</translation>
 <translation id="3486220673238053218">परिभाषा</translation>
 <translation id="3488065109653206955">आंशिक रूपात सक्रिय </translation>
 <translation id="3527036260304016759">अयशस्वी झाले - अज्ञात एरर</translation>
 <translation id="3532980081107202182">जवळपास <ph name="MIN_REMAINING" /> मिनिटे शिल्‍लक आहेत</translation>
 <translation id="3565064564551103223">आयपीना अनुमती दिली</translation>
+<translation id="3577473026931028326">काहीतरी चूक झाली. पुन्हा प्रयत्न करा.</translation>
 <translation id="357889014807611375">मर्यादित वाय-फाय</translation>
 <translation id="3583278742022654445">सिग्नलची क्षमता कमकुवत आहे. वाय-फाय सिग्नल स्रोताच्या जवळ जाण्याचा प्रयत्न करा.</translation>
 <translation id="3595596368722241419">बॅटरी पूर्ण चार्ज</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">हे <ph name="DEVICE_TYPE" /> <ph name="MANAGER" /> द्वारे व्यवस्थापित केले आहे. अ‍ॅडमिनिस्ट्रेटर रिमोट पद्धतीने डिव्हाइस काँफिगर करू शकतात.</translation>
 <translation id="7180611975245234373">रिफ्रेश करा</translation>
 <translation id="7216409898977639127">सेल्युलर सेवा देणारा</translation>
-<translation id="7240035910874241640">सर्व पेरिफेरल अप टू डेट आहेत</translation>
 <translation id="7271040990581020067">स्कॅनर सध्या वापरात आहे. नंतर पुन्हा प्रयत्न करा.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">वॉलपेपरचा संग्रह</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">ट्रॅफिक काउंटर</translation>
 <translation id="8503813439785031346">वापरकर्ता नाव</translation>
 <translation id="8503836310948963452">फक्त आणखी काही मिनिटे...</translation>
-<translation id="8520963233738002436">तुमचे <ph name="DEVICE_NAME" /> अप टू डेट आहे</translation>
 <translation id="8521021929829989041">वैयक्तिक डिव्हाइस म्हणून वापरा</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">तुमच्या वाहकाला त्यांच्या नेटवर्कशी कनेक्ट करण्यासाठी या पर्यायाची आवश्यकता असू शकते. तपशिलांसाठी तुमच्या वाहकाशी संपर्क साधा.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">पुन्हा चालवा</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scan}=1{{NUMBER_OF_PAGES} पेज स्कॅन करा}other{{NUMBER_OF_PAGES} पेज स्कॅन करा}}</translation>
-<translation id="8994273342647807496">इंस्टॉल करत आहे - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">डिव्हाइसच्या बॅटरीची पातळी <ph name="BATTERY_PERCENTAGE" />% आहे.</translation>
 <translation id="9003704114456258138">वारंवारता</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ms.xtb b/chromeos/strings/chromeos_strings_ms.xtb
index 4c6daa1..0e6a62b 100644
--- a/chromeos/strings/chromeos_strings_ms.xtb
+++ b/chromeos/strings/chromeos_strings_ms.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Mencetak halaman <ph name="PRINTED_PAGES" /> daripada <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Mengimbas halaman <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% selesai.</translation>
 <translation id="3459509316159669723">Mencetak</translation>
-<translation id="3462187165860821523">Mengemas kini <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Semasa perisian tegar sedang dikemas kini, jangan cabut palam peranti luaran ini atau matikan komputer anda. Anda boleh meminimumkan tetingkap ini. Kemaskinian ini mungkin mengambil masa beberapa minit dan peranti luaran anda mungkin tidak berfungsi pada masa ini.</translation>
 <translation id="3486220673238053218">takrif</translation>
 <translation id="3488065109653206955">Diaktifkan sebahagian</translation>
 <translation id="3527036260304016759">Gagal - Ralat tidak diketahui</translation>
 <translation id="3532980081107202182">Kira-kira <ph name="MIN_REMAINING" /> minit lagi</translation>
 <translation id="3565064564551103223">IP dibenarkan</translation>
+<translation id="3577473026931028326">Kesilapan telah berlaku. Cuba lagi.</translation>
 <translation id="357889014807611375">Wi-Fi bermeter</translation>
 <translation id="3583278742022654445">Kekuatan isyarat lemah. Cuba bergerak lebih rapat ke sumber isyarat Wi-Fi.</translation>
 <translation id="3595596368722241419">Bateri penuh</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> ini diurus oleh <ph name="MANAGER" />. Pentadbir boleh mengkonfigurasikan peranti dari jauh.</translation>
 <translation id="7180611975245234373">Muat semula</translation>
 <translation id="7216409898977639127">Penyedia selular</translation>
-<translation id="7240035910874241640">Semua persisian adalah terkini</translation>
 <translation id="7271040990581020067">Pengimbas sedang digunakan. Cuba lagi nanti.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Koleksi Kertas Dinding</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Pembilang Trafik</translation>
 <translation id="8503813439785031346">Nama pengguna</translation>
 <translation id="8503836310948963452">Hanya beberapa minit lagi…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> anda adalah yang terkini</translation>
 <translation id="8521021929829989041">Gunakan sebagai peranti peribadi</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Pembawa anda mungkin memerlukan pilihan ini untuk menyambung kepada rangkaian mereka. Hubungi pembawa anda untuk mendapatkan butiran.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Jalankan sekali lagi</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Imbas}=1{Imbas halaman {NUMBER_OF_PAGES}}other{Imbas halaman {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Pemasangan - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Peranti mempunyai <ph name="BATTERY_PERCENTAGE" />% bateri.</translation>
 <translation id="9003704114456258138">Frekuensi</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_my.xtb b/chromeos/strings/chromeos_strings_my.xtb
index 57036bc..86d6ab2a 100644
--- a/chromeos/strings/chromeos_strings_my.xtb
+++ b/chromeos/strings/chromeos_strings_my.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">စာမျက်နှာ <ph name="TOTAL_PAGES" /> မျက်နှာအနက် <ph name="PRINTED_PAGES" /> မျက်နှာကို ပုံနှိပ်ထုတ်ထားသည်။</translation>
 <translation id="345898999683440380">စာမျက်နှာ <ph name="PAGE_NUM" /> ကို စကင်ဖတ်နေသည်။ <ph name="PERCENTAGE_VALUE" />% ပြီးသွားပါပြီ။</translation>
 <translation id="3459509316159669723">ပုံနှိပ်နေသည်</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> ကိုအပ်ဒိတ်လုပ်နေသည်</translation>
 <translation id="3484914941826596830">ဖားမ်ဝဲအပ်ဒိတ်လုပ်နေစဉ် ဤပြင်ပကိရိယာကို ပလတ်မဖြုတ်ပါနှင့် (သို့) သင်၏ကွန်ပျူတာကို အပြီးမပိတ်ပါနှင့်။ ဤဝင်းဒိုးကို ချုံ့နိုင်သည်။ ယခုအပ်ဒိတ်သည် မိနစ်အနည်းငယ်ကြာနိုင်ပြီး ဤအချိန်အတွင်း သင်၏ပြင်ပကိရိယာ အလုပ်လုပ်နိုင်မည်မဟုတ်ပါ။</translation>
 <translation id="3486220673238053218">အဓိပ္ပါယ် ဖွင့်ဆိုချက်</translation>
 <translation id="3488065109653206955">တစ်စိတ်တစ်ဒေသ ဖွင့်သုံးနေ</translation>
 <translation id="3527036260304016759">မအောင်မြင်ပါ - အမည်မသိ အမှား</translation>
 <translation id="3532980081107202182"><ph name="MIN_REMAINING" /> မိနစ်ခန့် ကျန်သည်</translation>
 <translation id="3565064564551103223">ခွင့်ပြုထားသည့် IP များ</translation>
+<translation id="3577473026931028326">တစ်ခုခုမှားသွားသည်။ ထပ်စမ်းကြည့်ပါ။</translation>
 <translation id="357889014807611375">အခမဲ့မဟုတ်သော Wi-Fi</translation>
 <translation id="3583278742022654445">လိုင်းဆွဲအား မကောင်းပါ။ Wi-Fi လိုင်းရင်းမြစ် အနီးသို့ ရွှေ့ကြည့်ပါ။</translation>
 <translation id="3595596368722241419">ဘက်ထရီ အားပြည့်နေ</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881">ဤ <ph name="DEVICE_TYPE" /> ကို <ph name="MANAGER" /> က စီမံခန့်ခွဲသည်။ စီမံခန့်ခွဲသူများက စက်ပစ္စည်းကို အဝေးမှ စီစဉ်သတ်မှတ်နိုင်သည်။</translation>
 <translation id="7180611975245234373">ပြန်လည်စတင်ရန်</translation>
 <translation id="7216409898977639127">ဆယ်လူလာဝန်ဆောင်မှုပေးသူ</translation>
-<translation id="7240035910874241640">ချိတ်ဆက်ပစ္စည်းအားလုံး အပ်ဒိတ်ဖြစ်နေသည်</translation>
 <translation id="7271040990581020067">စကင်ဖတ်စက်ကို လက်ရှိ သုံးနေသည်။ နောက်မှ ထပ်စမ်းပါ။</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">နောက်ခံပုံ စုစည်းမှုများ</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">ကွန်ရက်ဒေတာ ရေတွက်စနစ်များ</translation>
 <translation id="8503813439785031346">အသုံးပြုသူအမည်</translation>
 <translation id="8503836310948963452">နောက်ထပ် မိနစ်အနည်းငယ်သာ လိုသည်…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> အပ်ဒိတ်ဖြစ်နေသည်</translation>
 <translation id="8521021929829989041">ကိုယ်ပိုင်စက် အသုံးပြုရန်</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">သင့်မိုဘိုင်းဖုန်းကုမ္ပဏီသည် ၎င်း၏ကွန်ရက်သို့ ချိတ်ဆက်ရန် ဤရွေးချယ်စရာကို သတ်မှတ်ထားနိုင်သည်။ အသေးစိတ်အတွက် သင့်မိုဘိုင်းဖုန်းကုမ္ပဏီကို ဆက်သွယ်ပါ။</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">ထပ်လုပ်ဆောင်ရန်</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{စကင်ဖတ်ရန်}=1{စာမျက်နှာ {NUMBER_OF_PAGES} ကို စကင်ဖတ်ရန်}other{စာမျက်နှာ {NUMBER_OF_PAGES} ကို စကင်ဖတ်ရန်}}</translation>
-<translation id="8994273342647807496">ထည့်သွင်းနေသည် - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ကိရိယာတွင် ဘက်ထရီ <ph name="BATTERY_PERCENTAGE" />% ရှိသည်။</translation>
 <translation id="9003704114456258138">ကြိမ်နှုန်း</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ne.xtb b/chromeos/strings/chromeos_strings_ne.xtb
index f8a7ef8d..c2e7700 100644
--- a/chromeos/strings/chromeos_strings_ne.xtb
+++ b/chromeos/strings/chromeos_strings_ne.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> मध्ये <ph name="PRINTED_PAGES" /> पृष्ठहरू प्रिन्ट गरिए</translation>
 <translation id="345898999683440380">पेज <ph name="PAGE_NUM" /> स्क्यान गरिँदै छ। <ph name="PERCENTAGE_VALUE" />% पूरा भयो।</translation>
 <translation id="3459509316159669723">प्रिन्टिङ</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> अपडेट गरिँदै छ</translation>
 <translation id="3484914941826596830">फर्मवेयर अपडेट भइरहेका बेला यो बाह्य डिभाइस अनप्लग गर्ने वा कम्प्युटर सट डाउन गर्ने काम नगर्नुहोस्। तपाईं यो विन्डो मिनिमाइज गर्न सक्नुहुन्छ। फर्मवेयर अपडेट गर्न केही मिनेट लाग्न सक्छ र अपडेट भइरहेका बेला तपाईंको बाह्य डिभाइसले काम नगर्न सक्छ।</translation>
 <translation id="3486220673238053218">परिभाषा</translation>
 <translation id="3488065109653206955">आंशिक रूपमा सक्रिय बनाइएको</translation>
 <translation id="3527036260304016759">प्रिन्ट गर्न सकिएन - अज्ञात त्रुटि भयो</translation>
 <translation id="3532980081107202182"><ph name="MIN_REMAINING" /> मिनेट जति बाँकी छ</translation>
 <translation id="3565064564551103223">अनुमति दिइएका IP</translation>
+<translation id="3577473026931028326">केही चिज गडबड भयो। फेरि प्रयास गर्नुहोस्।</translation>
 <translation id="357889014807611375">मिटर चढ्ने Wi-Fi</translation>
 <translation id="3583278742022654445">सिग्नल कमजोर छ। Wi-Fi सिग्नलको स्रोतको नजिक गई हेर्नुहोस्।</translation>
 <translation id="3595596368722241419">ब्यटरी पूर्ण</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> ले यो <ph name="DEVICE_TYPE" /> व्यवस्थापन गर्छ। एड्मिनहरू टाढैबाट यो डिभाइस कन्फिगर गर्न सक्छन्।</translation>
 <translation id="7180611975245234373">ताजा गर्नुहोस्</translation>
 <translation id="7216409898977639127">सेलुलर प्रदायक</translation>
-<translation id="7240035910874241640">सबै सहायक डिभाइस अप टु डेट छन्</translation>
 <translation id="7271040990581020067">स्क्यानर हाल प्रयोग भइरहेको छ। पछि फेरि प्रयास गर्नुहोस्।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">वालपेपरका सङ्ग्रहहरू</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">ट्राफिक काउन्टर</translation>
 <translation id="8503813439785031346">एक-पटके टेक्स्ट म्यासेज</translation>
 <translation id="8503836310948963452">थप केही मिनेट मात्र पर्खनुहोस्…</translation>
-<translation id="8520963233738002436">तपाईंको <ph name="DEVICE_NAME" /> अप टु डेट छ</translation>
 <translation id="8521021929829989041">व्यक्तिगत डिभाइसका रूपमा चलाउनुहोस्</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">तपाईंको मोबाइल सेवा प्रदायकले सो सेवा प्रदायकको नेटवर्कमा कनेक्ट गर्न सकोस् भन्नाका खातिर तपाईंले यो विकल्प अन गर्नु पर्ने हुन सक्छ। यससम्बन्धी थप जानकारी प्राप्त गर्न आफ्नो मोबाइल सेवा प्रदायकलाई सम्पर्क गर्नुहोस्।</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">फेरि गर्नुहोस्</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{स्क्यान गर्नुहोस्}=1{{NUMBER_OF_PAGES} औँ पेज स्क्यान गर्नुहोस्}other{{NUMBER_OF_PAGES} औँ पेज स्क्यान गर्नुहोस्}}</translation>
-<translation id="8994273342647807496">इन्स्टल गरिँदै छ - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">यो डिभाइसमा <ph name="BATTERY_PERCENTAGE" />% ब्याट्री बाँकी छ।</translation>
 <translation id="9003704114456258138">फ्रिक्वेन्सी</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_nl.xtb b/chromeos/strings/chromeos_strings_nl.xtb
index 7213647c..2e324e18 100644
--- a/chromeos/strings/chromeos_strings_nl.xtb
+++ b/chromeos/strings/chromeos_strings_nl.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Pagina <ph name="PRINTED_PAGES" /> van <ph name="TOTAL_PAGES" /> afgedrukt.</translation>
 <translation id="345898999683440380">Pagina <ph name="PAGE_NUM" /> scannen. <ph name="PERCENTAGE_VALUE" />% voltooid.</translation>
 <translation id="3459509316159669723">Afdrukken</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> updaten</translation>
 <translation id="3484914941826596830">Koppel dit externe apparaat niet los en zet je computer niet uit terwijl de firmware wordt geüpdatet. Je kunt dit venster minimaliseren. Deze update kan een paar minuten duren en je externe apparaat werkt misschien niet tijdens het updaten.</translation>
 <translation id="3486220673238053218">definitie</translation>
 <translation id="3488065109653206955">Gedeeltelijk geactiveerd</translation>
 <translation id="3527036260304016759">Mislukt - Onbekende fout</translation>
 <translation id="3532980081107202182">Nog ongeveer <ph name="MIN_REMAINING" /> minuten</translation>
 <translation id="3565064564551103223">Toegestane IP's</translation>
+<translation id="3577473026931028326">Er is iets misgegaan. Probeer het opnieuw.</translation>
 <translation id="357889014807611375">wifi met datalimiet</translation>
 <translation id="3583278742022654445">Zwak signaal. Ga dichter bij de wifi-signaalbron staan.</translation>
 <translation id="3595596368722241419">Batterij is vol</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Dit <ph name="DEVICE_TYPE" /> wordt beheerd door <ph name="MANAGER" />. Beheerders kunnen het apparaat op afstand instellen.</translation>
 <translation id="7180611975245234373">Vernieuwen</translation>
 <translation id="7216409898977639127">Mobiele provider</translation>
-<translation id="7240035910874241640">Alle randapparaten zijn up-to-date</translation>
 <translation id="7271040990581020067">De scanner wordt momenteel gebruikt. Probeer het later opnieuw.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Achtergrondcollecties</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Verkeerstellers</translation>
 <translation id="8503813439785031346">Gebruikersnaam</translation>
 <translation id="8503836310948963452">Nog een paar minuten...</translation>
-<translation id="8520963233738002436">Je <ph name="DEVICE_NAME" /> is up-to-date.</translation>
 <translation id="8521021929829989041">Gebruiken als persoonlijk apparaat</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Je provider kan deze optie vereisen om verbinding te maken met hun netwerk. Neem contact op met je provider voor meer informatie.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Opnieuw uitvoeren</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scannen}=1{Pagina {NUMBER_OF_PAGES} scannen}other{Pagina {NUMBER_OF_PAGES} scannen}}</translation>
-<translation id="8994273342647807496">Installeren: <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Apparaat heeft nog <ph name="BATTERY_PERCENTAGE" />% batterijlading.</translation>
 <translation id="9003704114456258138">Frequentie</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_no.xtb b/chromeos/strings/chromeos_strings_no.xtb
index ba5bb1ca..c2b7162b 100644
--- a/chromeos/strings/chromeos_strings_no.xtb
+++ b/chromeos/strings/chromeos_strings_no.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Skrev ut side <ph name="PRINTED_PAGES" /> av <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skanner side <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" /> % fullført.</translation>
 <translation id="3459509316159669723">Utskrift</translation>
-<translation id="3462187165860821523">Oppdaterer <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Ikke koble fra denne eksterne enheten eller slå av datamaskinen mens fastvaren oppdateres. Du kan minimere dette vinduet. Denne oppdateringen kan ta noen minutter, og det kan hende den eksterne enheten ikke fungerer i dette tidsrommet.</translation>
 <translation id="3486220673238053218">definisjon</translation>
 <translation id="3488065109653206955">Delvis aktivert</translation>
 <translation id="3527036260304016759">Mislykket – ukjent feil</translation>
 <translation id="3532980081107202182">Omtrent <ph name="MIN_REMAINING" /> minutter igjen</translation>
 <translation id="3565064564551103223">Tillatte IP-adresser</translation>
+<translation id="3577473026931028326">Noe gikk galt. Prøv på nytt.</translation>
 <translation id="357889014807611375">Wi-Fi med datamåling</translation>
 <translation id="3583278742022654445">Svakt signal. Prøv å flytte deg nærmere Wi-Fi-signalkilden.</translation>
 <translation id="3595596368722241419">Batteriet er fullt</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> administreres av <ph name="MANAGER" />. Administratorer kan konfigurere enheten eksternt.</translation>
 <translation id="7180611975245234373">Last inn på nytt</translation>
 <translation id="7216409898977639127">Mobiloperatør</translation>
-<translation id="7240035910874241640">Alle eksterne enheter er oppdaterte</translation>
 <translation id="7271040990581020067">Skanneren er i bruk for øyeblikket. Prøv igjen senere.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Samlinger av bakgrunnsbilder</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Trafikktellere</translation>
 <translation id="8503813439785031346">Brukernavn</translation>
 <translation id="8503836310948963452">Bare noen få minutter igjen …</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> er oppdatert</translation>
 <translation id="8521021929829989041">Bruk som personlig enhet</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Det kan hende operatøren din krever dette alternativet for at du skal kunne koble til nettverket deres Kontakt operatøren for mer informasjon.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Kjør på nytt</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skann}=1{Skann side {NUMBER_OF_PAGES}}other{Skann side {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installerer – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Enheten har <ph name="BATTERY_PERCENTAGE" /> % batteri.</translation>
 <translation id="9003704114456258138">Frekvens</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_or.xtb b/chromeos/strings/chromeos_strings_or.xtb
index 716c424..5ef4657 100644
--- a/chromeos/strings/chromeos_strings_or.xtb
+++ b/chromeos/strings/chromeos_strings_or.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" />ଟି ପୃଷ୍ଠା ମଧ୍ୟରୁ <ph name="PRINTED_PAGES" /> ନମ୍ବର ପୃଷ୍ଠା ପ୍ରିଣ୍ଟ କରାଯାଇଛି।</translation>
 <translation id="345898999683440380">ପୃଷ୍ଠା <ph name="PAGE_NUM" />କୁ ସ୍କାନ୍ କରାଯାଉଛି। <ph name="PERCENTAGE_VALUE" />% ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଛି।</translation>
 <translation id="3459509316159669723">ପ୍ରିଣ୍ଟିଂ</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" />କୁ ଅପଡେଟ କରାଯାଉଛି</translation>
 <translation id="3484914941826596830">ଫାର୍ମୱେରକୁ ଅପଡେଟ କରାଯାଉଥିବା ସମୟରେ ଏହି ଏକ୍ସଟର୍ନଲ ଡିଭାଇସକୁ ଅନପ୍ଲଗ କରନ୍ତୁ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରକୁ ବନ୍ଦ କରନ୍ତୁ ନାହିଁ। ଆପଣ ଏହି ୱିଣ୍ଡୋକୁ ଛୋଟ କରିପାରିବେ। ଏହି ଅପଡେଟ ପାଇଁ କିଛି ସମୟ ଲାଗିପାରେ ଏବଂ ଏହି ସମୟରେ ଆପଣଙ୍କ ଏକ୍ସଟର୍ନଲ ଡିଭାଇସ କାମ କରିନପାରେ।</translation>
 <translation id="3486220673238053218">ସଂଜ୍ଞା</translation>
 <translation id="3488065109653206955">ଆଶିଂକ ଭାବେ ସକ୍ରିୟ କରାଯାଇଛି</translation>
 <translation id="3527036260304016759">ବିଫଳ ହୋଇଛି - ଅଜଣା ତ୍ରୁଟି</translation>
 <translation id="3532980081107202182">ପ୍ରାୟ <ph name="MIN_REMAINING" /> ମିନିଟ୍ ବାକି ଅଛି</translation>
 <translation id="3565064564551103223">ଅନୁମତି ଦିଆଯାଇଥିବା IPଗୁଡ଼ିକ</translation>
+<translation id="3577473026931028326">କିଛି ତ୍ରୁଟି ହୋଇଛି। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="357889014807611375">ମିଟର୍ ହୋଇଥିବା ୱାଇ-ଫାଇ</translation>
 <translation id="3583278742022654445">ସିଗନାଲ କ୍ଷମତା ଦୁର୍ବଳ ଅଟେ। ୱାଇ-ଫାଇ ସିଗନାଲ ସୋର୍ସ ନିକଟକୁ ଯାଇ ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="3595596368722241419">ବ୍ୟାଟେରୀ ପୂର୍ଣ୍ଣ</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">ଏହି <ph name="DEVICE_TYPE" />, <ph name="MANAGER" /> ଦ୍ୱାରା ପରିଚାଳିତ ହେଉଛି। ଆଡମିନିଷ୍ଟ୍ରେଟରମାନେ ଡିଭାଇସଟିକୁ ରିମୋଟ୍ ଭାବେ କନଫିଗର୍ କରିପାରନ୍ତି।</translation>
 <translation id="7180611975245234373">ରିଫ୍ରେଶ୍</translation>
 <translation id="7216409898977639127">ସେଲ୍ୟୁଲାର୍ ସେବା ପ୍ରଦାତା</translation>
-<translation id="7240035910874241640">ସମସ୍ତ ପେରିଫେରାଲ ଅପ ଟୁ ଡେଟ ଅଛି</translation>
 <translation id="7271040990581020067">ସ୍କାନରକୁ ବର୍ତ୍ତମାନ ବ୍ୟବହାର କରାଯାଉଛି। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ୱାଲପେପର୍ ସଂଗ୍ରହଗୁଡ଼ିକ</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">ଟ୍ରାଫିକ୍ କାଉଣ୍ଟରଗୁଡ଼ିକ</translation>
 <translation id="8503813439785031346">ଉପଯୋଗକର୍ତ୍ତାନାମ</translation>
 <translation id="8503836310948963452">ଆଉ ଅଳ୍ପ କିଛି ମିନିଟ୍ ଅଛି…</translation>
-<translation id="8520963233738002436">ଆପଣଙ୍କ <ph name="DEVICE_NAME" /> ଅପ ଟୁ ଡେଟ ଅଛି</translation>
 <translation id="8521021929829989041">ବ୍ୟକ୍ତିଗତ ଡିଭାଇସ୍ ପରି ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ଆପଣଙ୍କ କ୍ୟାରିଅର୍ ଏହାର ନେଟୱାର୍କ ସହ ସଂଯୋଗ କରିବାକୁ ଏହି ବିକଳ୍ପ ଆବଶ୍ୟକ କରିପାରେ। ବିବରଣୀ ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର୍ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">ପୁଣି ଚଲାନ୍ତୁ</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ସ୍କାନ୍ କରନ୍ତୁ}=1{{NUMBER_OF_PAGES}ଟି ପୃଷ୍ଠା ସ୍କାନ୍ କରନ୍ତୁ}other{{NUMBER_OF_PAGES}ଟି ପୃଷ୍ଠା ସ୍କାନ୍ କରନ୍ତୁ}}</translation>
-<translation id="8994273342647807496">ଇନଷ୍ଟଲ ହେଉଛି - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ଡିଭାଇସରେ <ph name="BATTERY_PERCENTAGE" />% ବ୍ୟାଟେରୀ ଚାର୍ଜ ଅଛି।</translation>
 <translation id="9003704114456258138">ଫ୍ରିକ୍ୱେନ୍ସୀ</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_pa.xtb b/chromeos/strings/chromeos_strings_pa.xtb
index 1b0ccdd..188923f0 100644
--- a/chromeos/strings/chromeos_strings_pa.xtb
+++ b/chromeos/strings/chromeos_strings_pa.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> ਵਿੱਚੋਂ ਪੰਨਾ <ph name="PRINTED_PAGES" /> ਨੂੰ ਪ੍ਰਿੰਟ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="345898999683440380">ਪੰਨਾ <ph name="PAGE_NUM" /> ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ। <ph name="PERCENTAGE_VALUE" />% ਮੁਕੰਮਲ।</translation>
 <translation id="3459509316159669723">ਪ੍ਰਿੰਟ ਕਰਨਾ</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="3484914941826596830">ਫ਼ਰਮਵੇਅਰ ਦੇ ਅੱਪਡੇਟ ਹੋਣ ਦੌਰਾਨ ਇਸ ਬਾਹਰੀ ਡੀਵਾਈਸ ਨੂੰ ਅਣਪਲੱਗ ਨਾ ਕਰੋ ਜਾਂ ਆਪਣੇ ਕੰਪਿਊਟਰ ਨੂੰ ਬੰਦ ਨਾ ਕਰੋ। ਤੁਸੀਂ ਇਸ ਵਿੰਡੋ ਨੂੰ ਛੋਟਾ ਕਰ ਸਕਦੇ ਹੋ। ਇਸ ਅੱਪਡੇਟ ਵਿੱਚ ਕੁਝ ਮਿੰਟ ਲੱਗ ਸਕਦੇ ਹਨ ਅਤੇ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਇਸ ਸਮੇਂ ਦੌਰਾਨ ਤੁਹਾਡਾ ਬਾਹਰੀ ਡੀਵਾਈਸ ਕੰਮ ਨਾ ਕਰੇ।</translation>
 <translation id="3486220673238053218">ਪਰਿਭਾਸ਼ਾ</translation>
 <translation id="3488065109653206955">ਅੰਸ਼ਕ ਤੌਰ ਤੇ ਸਕਿਰਿਆ ਕੀਤਾ</translation>
 <translation id="3527036260304016759">ਅਸਫਲ ਰਹੀ - ਅਗਿਆਤ ਗੜਬੜ</translation>
 <translation id="3532980081107202182">ਲਗਭਗ <ph name="MIN_REMAINING" /> ਮਿੰਟ ਬਾਕੀ</translation>
 <translation id="3565064564551103223">ਮਨਜ਼ੂਰਸ਼ੁਦਾ IP</translation>
+<translation id="3577473026931028326">ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="357889014807611375">ਮੀਟਰਡ ਵਾਈ-ਫਾਈ</translation>
 <translation id="3583278742022654445">ਸਿਗਨਲ ਦੀ ਕਮਜ਼ੋਰ ਤੀਬਰਤਾ। ਵਾਈ-ਫਾਈ ਸਿਗਨਲ ਸਰੋਤ ਦੇ ਨਜ਼ਦੀਕ ਜਾ ਕੇ ਦੇਖੋ।</translation>
 <translation id="3595596368722241419">ਬੈਟਰੀ ਪੂਰੀ</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> ਵੱਲੋਂ ਇਸ <ph name="DEVICE_TYPE" /> ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਸ਼ਾਇਦ ਪ੍ਰਸ਼ਾਸਕ ਰਿਮੋਟਲੀ ਡੀਵਾਈਸ ਦਾ ਸੰਰੂਪਣ ਕਰ ਸਕਦੇ ਹਨ।</translation>
 <translation id="7180611975245234373">ਰਿਫ੍ਰੈਸ਼ ਕਰੋ</translation>
 <translation id="7216409898977639127">ਸੈਲਿਊਲਰ ਪ੍ਰਦਾਨਕ</translation>
-<translation id="7240035910874241640">ਸਾਰੇ ਪੈਰੀਫੈਰਲ ਅੱਪ-ਟੂ-ਡੇਟ ਹਨ</translation>
 <translation id="7271040990581020067">ਫ਼ਿਲਹਾਲ ਸਕੈਨਰ ਵਰਤੋਂ ਵਿੱਚ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ਵਾਲਪੇਪਰ ਸੰਗ੍ਰਹਿ</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">ਟਰੈਫ਼ਿਕ ਕਾਉਂਟਰ</translation>
 <translation id="8503813439785031346">ਵਰਤੋਂਕਾਰ ਨਾਮ</translation>
 <translation id="8503836310948963452">ਬਸ ਕੁਝ ਮਿੰਟ ਹੋਰ…</translation>
-<translation id="8520963233738002436">ਤੁਹਾਡਾ <ph name="DEVICE_NAME" /> ਅੱਪ-ਟੂ-ਡੇਟ ਹੈ</translation>
 <translation id="8521021929829989041">ਨਿੱਜੀ ਡੀਵਾਈਸ ਵਜੋਂ ਵਰਤੋ</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਨੂੰ ਆਪਣੇ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਇਸ ਵਿਕਲਪ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਵੇਰਵਿਆਂ ਲਈ ਆਪਣੇ ਕੈਰੀਅਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">ਦੁਬਾਰਾ ਚਲਾਓ</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ਸਕੈਨ ਕਰੋ}=1{{NUMBER_OF_PAGES} ਪੰਨਾ ਸਕੈਨ ਕਰੋ}other{{NUMBER_OF_PAGES} ਪੰਨੇ ਸਕੈਨ ਕਰੋ}}</translation>
-<translation id="8994273342647807496">ਸਥਾਪਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">ਡੀਵਾਈਸ ਦੀ ਬੈਟਰੀ ਦਾ ਪੱਧਰ <ph name="BATTERY_PERCENTAGE" />% ਹੈ।</translation>
 <translation id="9003704114456258138">ਬਾਰੰਬਾਰਤਾ</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_pl.xtb b/chromeos/strings/chromeos_strings_pl.xtb
index a6336ee..f83d94f21 100644
--- a/chromeos/strings/chromeos_strings_pl.xtb
+++ b/chromeos/strings/chromeos_strings_pl.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Wydrukowano stronę <ph name="PRINTED_PAGES" /> z <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skanuję stronę <ph name="PAGE_NUM" />. Ukończono <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Drukowanie</translation>
-<translation id="3462187165860821523">Aktualizuję urządzenie <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Podczas aktualizowania oprogramowania układowego nie odłączaj tego urządzenia zewnętrznego ani nie wyłączaj komputera. To okno możesz zminimalizować. Aktualizowanie może potrwać kilka minut i w tym czasie urządzenie zewnętrzne może nie działać.</translation>
 <translation id="3486220673238053218">definicja</translation>
 <translation id="3488065109653206955">Częściowo aktywowane</translation>
 <translation id="3527036260304016759">Niepowodzenie – nieznany błąd</translation>
 <translation id="3532980081107202182">Pozostało około <ph name="MIN_REMAINING" /> min</translation>
 <translation id="3565064564551103223">Dozwolone adresy IP</translation>
+<translation id="3577473026931028326">Coś poszło nie tak. Spróbuj ponownie.</translation>
 <translation id="357889014807611375">Wi-Fi z pomiarem użycia danych</translation>
 <translation id="3583278742022654445">Słaby sygnał. Zbliż się do źródła sygnału Wi-Fi.</translation>
 <translation id="3595596368722241419">Bateria naładowana</translation>
@@ -353,6 +353,7 @@
 <translation id="5691511426247308406">Rodzina</translation>
 <translation id="5701381305118179107">Wyśrodkuj</translation>
 <translation id="5707900041990977207"><ph name="CURRENT_PAGE" />/<ph name="TOTAL_PAGES" /></translation>
+<translation id="5733298426544876109">Zaktualizuj: <ph name="DEVICE_NAME" /></translation>
 <translation id="5760715441271661976">Stan portalu</translation>
 <translation id="5784136236926853061">Duże opóźnienie HTTP</translation>
 <translation id="5832805196449965646">Dodaj osobę</translation>
@@ -462,7 +463,6 @@
 <translation id="7177485034254901881">Tym urządzeniem <ph name="DEVICE_TYPE" /> zarządza <ph name="MANAGER" />. Administratorzy mogą je zdalnie konfigurować.</translation>
 <translation id="7180611975245234373">Odśwież</translation>
 <translation id="7216409898977639127">Operator komórkowy</translation>
-<translation id="7240035910874241640">Wszystkie urządzenia peryferyjne używają aktualnej wersji oprogramowania</translation>
 <translation id="7271040990581020067">Skaner jest obecnie używany. Spróbuj ponownie później.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Kolekcje tapet</translation>
@@ -563,7 +563,6 @@
 <translation id="8498220429738806196">Liczniki natężenia ruchu</translation>
 <translation id="8503813439785031346">Nazwa użytkownika</translation>
 <translation id="8503836310948963452">Jeszcze kilka minut…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> używa aktualnej wersji oprogramowania</translation>
 <translation id="8521021929829989041">Użyj jako urządzenia osobistego</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Tej opcji może wymagać operator do połączenia z jego siecią. Aby uzyskać szczegółowe informacje, skontaktuj się z operatorem.</translation>
@@ -607,7 +606,6 @@
 <translation id="8970109610781093811">Uruchom ponownie</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skanuj}=1{Skanuj {NUMBER_OF_PAGES} stronę}few{Skanuj {NUMBER_OF_PAGES} strony}many{Skanuj {NUMBER_OF_PAGES} stron}other{Skanuj {NUMBER_OF_PAGES} strony}}</translation>
-<translation id="8994273342647807496">Instaluję – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Poziom naładowania baterii urządzenia: <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Częstotliwość</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_pt-BR.xtb b/chromeos/strings/chromeos_strings_pt-BR.xtb
index 72ea3b2f..488e51e 100644
--- a/chromeos/strings/chromeos_strings_pt-BR.xtb
+++ b/chromeos/strings/chromeos_strings_pt-BR.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="PRINTED_PAGES" /> página impressa de <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Digitalizando página <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% concluído.</translation>
 <translation id="3459509316159669723">Imprimir</translation>
-<translation id="3462187165860821523">Atualizando o <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Não desconecte este dispositivo externo ou desligue o computador enquanto o firmware estiver atualizando. Você pode minimizar esta janela. Esta atualização pode levar alguns minutos e é possível que o dispositivo externo não funcione durante esse período.</translation>
 <translation id="3486220673238053218">definição</translation>
 <translation id="3488065109653206955">Ativado parcialmente</translation>
 <translation id="3527036260304016759">Falha - Erro desconhecido</translation>
 <translation id="3532980081107202182">Aproximadamente <ph name="MIN_REMAINING" /> minutos restantes</translation>
 <translation id="3565064564551103223">IPs permitidos</translation>
+<translation id="3577473026931028326">Algo deu errado. Tente novamente.</translation>
 <translation id="357889014807611375">Wi-Fi limitado</translation>
 <translation id="3583278742022654445">Intensidade do sinal fraca. Tente se aproximar da fonte do sinal Wi-Fi.</translation>
 <translation id="3595596368722241419">Bateria carregada</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Este <ph name="DEVICE_TYPE" /> é gerenciado por <ph name="MANAGER" />. Os administradores podem configurar o dispositivo remotamente.</translation>
 <translation id="7180611975245234373">Atualizar</translation>
 <translation id="7216409898977639127">Operadora de celular</translation>
-<translation id="7240035910874241640">Todos os periféricos estão atualizados</translation>
 <translation id="7271040990581020067">O scanner está em uso. Tente novamente mais tarde.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Coleções de plano de fundo</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Contadores de tráfego</translation>
 <translation id="8503813439785031346">Nome de usuário</translation>
 <translation id="8503836310948963452">Só mais alguns minutos…</translation>
-<translation id="8520963233738002436">Seu <ph name="DEVICE_NAME" /> está atualizado</translation>
 <translation id="8521021929829989041">Usar como dispositivo pessoal</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Pode ser necessário ativar esta opção para se conectar à rede da sua operadora. Entre em contato com a operadora para mais informações.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Executar novamente</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Digitalizar}=1{Digitalizar {NUMBER_OF_PAGES} página}one{Digitalizar {NUMBER_OF_PAGES} página}other{Digitalizar {NUMBER_OF_PAGES} páginas}}</translation>
-<translation id="8994273342647807496">Instalando (<ph name="PERCENTAGE_VALUE" />%)</translation>
 <translation id="8997710128084572139">O dispositivo tem <ph name="BATTERY_PERCENTAGE" />% bateria.</translation>
 <translation id="9003704114456258138">Frequência</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_pt-PT.xtb b/chromeos/strings/chromeos_strings_pt-PT.xtb
index a5acdc8b..070c276 100644
--- a/chromeos/strings/chromeos_strings_pt-PT.xtb
+++ b/chromeos/strings/chromeos_strings_pt-PT.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Página <ph name="PRINTED_PAGES" /> impressa de <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">A digitalizar a página <ph name="PAGE_NUM" />… <ph name="PERCENTAGE_VALUE" />% concluído.</translation>
 <translation id="3459509316159669723">Impressão</translation>
-<translation id="3462187165860821523">A atualizar o dispositivo <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Enquanto o firmware está a ser atualizado, não desligue este dispositivo externo nem encerre o computador. Pode minimizar esta janela. Esta atualização pode demorar alguns minutos e o seu dispositivo externo pode não funcionar durante este período.</translation>
 <translation id="3486220673238053218">definição</translation>
 <translation id="3488065109653206955">Parcialmente activado</translation>
 <translation id="3527036260304016759">Falha – Erro desconhecido</translation>
 <translation id="3532980081107202182">Faltam cerca de <ph name="MIN_REMAINING" /> minutos.</translation>
 <translation id="3565064564551103223">IPs permitidos</translation>
+<translation id="3577473026931028326">Algo correu mal. Tente novamente.</translation>
 <translation id="357889014807611375">Wi-Fi com acesso limitado</translation>
 <translation id="3583278742022654445">Intensidade do sinal fraca. Experimente aproximar-se da fonte de sinal de Wi-Fi.</translation>
 <translation id="3595596368722241419">Bateria carregada</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Este <ph name="DEVICE_TYPE" /> é gerido por <ph name="MANAGER" />. Os administradores podem configurar remotamente o dispositivo.</translation>
 <translation id="7180611975245234373">Atualizar</translation>
 <translation id="7216409898977639127">Operador de telemóvel</translation>
-<translation id="7240035910874241640">Todos os periféricos estão atualizados</translation>
 <translation id="7271040990581020067">O leitor está a ser utilizado atualmente. Tente novamente mais tarde.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Coleções de imagens de fundo</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Contadores de tráfego</translation>
 <translation id="8503813439785031346">Nome de utilizador</translation>
 <translation id="8503836310948963452">Só mais alguns minutos…</translation>
-<translation id="8520963233738002436">O dispositivo <ph name="DEVICE_NAME" /> está atualizado</translation>
 <translation id="8521021929829989041">Utilizar como dispositivo pessoal</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">O operador pode exigir esta opção para estabelecer ligação à respetiva rede. Contacte o seu operador para obter mais detalhes.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Executar novamente</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Analisar}=1{Analisar página {NUMBER_OF_PAGES}}one{Scan page {NUMBER_OF_PAGES}}other{Analisar página {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">A instalar - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">O dispositivo tem <ph name="BATTERY_PERCENTAGE" />% de bateria.</translation>
 <translation id="9003704114456258138">Frequência</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ro.xtb b/chromeos/strings/chromeos_strings_ro.xtb
index d91c2fd..b3b7df15 100644
--- a/chromeos/strings/chromeos_strings_ro.xtb
+++ b/chromeos/strings/chromeos_strings_ro.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">S-a printat pagina <ph name="PRINTED_PAGES" /> din <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Se scanează pagina <ph name="PAGE_NUM" />. Progres: <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Printare</translation>
-<translation id="3462187165860821523">Se actualizează dispozitivul <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Nu deconecta dispozitivul extern și nu închide computerul în timpul actualizării firmware-ului. Poți să minimizezi fereastra. Actualizarea poate să dureze câteva minute și este posibil ca dispozitivul extern să nu funcționeze în această perioadă.</translation>
 <translation id="3486220673238053218">definiție</translation>
 <translation id="3488065109653206955">Activat parțial</translation>
 <translation id="3527036260304016759">Nereușită – Eroare necunoscută</translation>
 <translation id="3532980081107202182">Au mai rămas aproximativ <ph name="MIN_REMAINING" /> minute</translation>
 <translation id="3565064564551103223">Adrese IP permise</translation>
+<translation id="3577473026931028326">A apărut o eroare. Încearcă din nou.</translation>
 <translation id="357889014807611375">Wi-Fi contorizat</translation>
 <translation id="3583278742022654445">Semnal slab. Apropie-te de sursa semnalului Wi-Fi.</translation>
 <translation id="3595596368722241419">Baterie încărcată</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Acest <ph name="DEVICE_TYPE" /> este gestionat de <ph name="MANAGER" />. Administratorii pot să configureze dispozitivul de la distanță.</translation>
 <translation id="7180611975245234373">Actualizați</translation>
 <translation id="7216409898977639127">Furnizor de date mobile</translation>
-<translation id="7240035910874241640">Toate dispozitivele periferice sunt actualizate</translation>
 <translation id="7271040990581020067">Scanerul este în uz. Încearcă din nou mai târziu.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Colecții de imagini de fundal</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Contoare de trafic</translation>
 <translation id="8503813439785031346">Nume de utilizator</translation>
 <translation id="8503836310948963452">Mai sunt câteva minute…</translation>
-<translation id="8520963233738002436">Dispozitivul <ph name="DEVICE_NAME" /> este actualizat</translation>
 <translation id="8521021929829989041">Folosește ca dispozitiv personal</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operatorul poate solicita această opțiune ca să te conectezi la rețeaua respectivă. Contactează operatorul pentru detalii.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Rulați din nou</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Scanează}=1{Scanează {NUMBER_OF_PAGES} pagină}few{Scanează {NUMBER_OF_PAGES} pagini}other{Scanează {NUMBER_OF_PAGES} de pagini}}</translation>
-<translation id="8994273342647807496">Se instalează – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Nivelul bateriei dispozitivului este de <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frecvență</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ru.xtb b/chromeos/strings/chromeos_strings_ru.xtb
index 534836d..06dc846 100644
--- a/chromeos/strings/chromeos_strings_ru.xtb
+++ b/chromeos/strings/chromeos_strings_ru.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Напечатано страниц: <ph name="PRINTED_PAGES" /> из <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Сканирование страницы <ph name="PAGE_NUM" />. Выполнено <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Печать</translation>
-<translation id="3462187165860821523">Обновление встроенного ПО для устройства "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3484914941826596830">Пока выполняется обновление встроенного ПО, не отключайте внешнее устройство и не выключайте компьютер. Это окно можно свернуть. Обновление займет несколько минут, в течение которых внешнее устройство может не работать.</translation>
 <translation id="3486220673238053218">узнать определение</translation>
 <translation id="3488065109653206955">Частично активировано</translation>
 <translation id="3527036260304016759">Сбой: неизвестная ошибка</translation>
 <translation id="3532980081107202182">Осталось примерно <ph name="MIN_REMAINING" /> мин.</translation>
 <translation id="3565064564551103223">Разрешенные IP-адреса</translation>
+<translation id="3577473026931028326">Произошла ошибка. Повторите попытку.</translation>
 <translation id="357889014807611375">Wi-Fi с тарификацией</translation>
 <translation id="3583278742022654445">Слабый сигнал Wi-Fi. Попробуйте разместить устройство ближе к источнику сигнала.</translation>
 <translation id="3595596368722241419">Аккумулятор заряжен</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Этим устройством <ph name="DEVICE_TYPE" /> управляет <ph name="MANAGER" />. Администраторы могут настраивать устройство удаленно.</translation>
 <translation id="7180611975245234373">Обновить</translation>
 <translation id="7216409898977639127">Оператор сотовой связи</translation>
-<translation id="7240035910874241640">Встроенное ПО для всех периферийных устройств уже обновлено.</translation>
 <translation id="7271040990581020067">Сканер уже используется. Повторите попытку позже.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Коллекция обоев</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Счетчики трафика</translation>
 <translation id="8503813439785031346">Имя пользователя</translation>
 <translation id="8503836310948963452">Осталось несколько минут…</translation>
-<translation id="8520963233738002436">Обновление для устройства "<ph name="DEVICE_NAME" />" установлено</translation>
 <translation id="8521021929829989041">Использовать как личное устройство</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Возможно, вам потребуется установить этот параметр, чтобы подключиться к сети. За подробными сведениями обращайтесь к своему оператору связи.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Выполнить ещё раз</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Сканировать}=1{Сканировать {NUMBER_OF_PAGES} страницу}one{Сканировать {NUMBER_OF_PAGES} страницу}few{Сканировать {NUMBER_OF_PAGES} страницы}many{Сканировать {NUMBER_OF_PAGES} страниц}other{Сканировать {NUMBER_OF_PAGES} страницы}}</translation>
-<translation id="8994273342647807496">Установка: <ph name="PERCENTAGE_VALUE" /> %…</translation>
 <translation id="8997710128084572139">Устройство заряжено на <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Частота</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_si.xtb b/chromeos/strings/chromeos_strings_si.xtb
index 538960e..d509523 100644
--- a/chromeos/strings/chromeos_strings_si.xtb
+++ b/chromeos/strings/chromeos_strings_si.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> න් මුද්‍රණය කළ පිටුව <ph name="PRINTED_PAGES" /></translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" /> පිටුව ස්කෑන් කරමින්. <ph name="PERCENTAGE_VALUE" />% සම්පූර්ණයි.</translation>
 <translation id="3459509316159669723">මුද්‍රණය කරමින්</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> යාවත්කාලීන කරමින්</translation>
 <translation id="3484914941826596830">නිත්‍ය මෘදුකාංග යාවත්කාලීන වන අතරතුර, මෙම බාහිර උපාංගය විසන්ධි කිරීම හෝ ඔබගේ පරිගණකය වැසීම නොකරන්න. ඔබට මෙම කවුළුව කුඩා කළ හැකිය. මෙම යාවත්කාලීන කිරීමට මිනිත්තු කිහිපයක් ගත විය හැකි අතර මෙම කාලය තුළ ඔබගේ බාහිර උපාංගය ක්‍රියා නොකළ හැකිය.</translation>
 <translation id="3486220673238053218">නිර්වචනය</translation>
 <translation id="3488065109653206955">අර්ධව සක්‍රිය කළ</translation>
 <translation id="3527036260304016759">අසාර්ථක විය - නොදන්නා දෝෂයකි</translation>
 <translation id="3532980081107202182">මිනිත්තු <ph name="MIN_REMAINING" />ක් පමණ ඉතිරිය</translation>
 <translation id="3565064564551103223">ඉඩ දෙන IP</translation>
+<translation id="3577473026931028326">යම් දෙයක් වැරදිණි. නැවත උත්සාහ කරන්න.</translation>
 <translation id="357889014807611375">මනුගත Wi-Fi</translation>
 <translation id="3583278742022654445">දුර්වල සංඥා ප්‍රබලතාව. Wi-Fi සංඥා මූලාශ්‍රය වෙත වඩාත් සමීප වීමට උත්සාහ කරන්න.</translation>
 <translation id="3595596368722241419">බැටරිය ආරෝපිතයි</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">මෙම <ph name="DEVICE_TYPE" /> කළමනාකරණය කරනු ලබන්නේ <ph name="MANAGER" /> මගිනි. පරිපාලකයින්ට උපාංගය දුරස්ථව වින්‍යාස කිරීමට හැකිය.</translation>
 <translation id="7180611975245234373">නැවුම් කරන්න</translation>
 <translation id="7216409898977639127">සෙලියුලර් සපයන්නා</translation>
-<translation id="7240035910874241640">සියලු උපාංග යාවත්කාලීනයි</translation>
 <translation id="7271040990581020067">ස්කෑනරය දැනට භාවිතයේ ඇත. පසුව නැවත උත්සාහ කරන්න.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">වෝල්පේපර එකතු</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">තදබදය ගණනය කිරීම්</translation>
 <translation id="8503813439785031346">පරිශීලක නාමය</translation>
 <translation id="8503836310948963452">හුදෙක් තව මිනිත්තු කීපයකි...</translation>
-<translation id="8520963233738002436">ඔබගේ <ph name="DEVICE_NAME" /> යාවත්කාලීනයි</translation>
 <translation id="8521021929829989041">පුද්ගලික උපාංගයක් භාවිත කරන්න</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ඔබගේ වාහකයට ඔවුන්ගේ ජාලයට සම්බන්ධ වීමට මෙම විකල්පය අවශ්‍ය විය හැකිය. විස්තර සඳහා ඔබගේ වාහකය අමතන්න.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">නැවත ධාවනය කරන්න</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ස්කෑන් කරන්න}=1{පිටු {NUMBER_OF_PAGES}ක් ස්කෑන් කරන්න}one{පිටු {NUMBER_OF_PAGES}ක් ස්කෑන් කරන්න}other{පිටු {NUMBER_OF_PAGES}ක් ස්කෑන් කරන්න}}</translation>
-<translation id="8994273342647807496">ස්ථාපනය කරමින් - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">උපාංගයට බැටරිය <ph name="BATTERY_PERCENTAGE" />% ක් ඇත.</translation>
 <translation id="9003704114456258138">සංඛ්‍යාතය</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_sk.xtb b/chromeos/strings/chromeos_strings_sk.xtb
index 33eae1b4..1ce7306 100644
--- a/chromeos/strings/chromeos_strings_sk.xtb
+++ b/chromeos/strings/chromeos_strings_sk.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Bola vytlačená <ph name="PRINTED_PAGES" />. strana z <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skenuje sa <ph name="PAGE_NUM" />. strana. Dokončené: <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Tlač</translation>
-<translation id="3462187165860821523">Aktualizuje sa zariadenie <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Počas aktualizovania firmvéru neodpájajte toto zariadenie ani nevypínajte počítač. Toto okno môžete minimalizovať. Táto aktualizácia môže trvať niekoľko minút a vaše externé zariadenie nemusí počas nej fungovať.</translation>
 <translation id="3486220673238053218">definícia</translation>
 <translation id="3488065109653206955">Čiastočne aktivované</translation>
 <translation id="3527036260304016759">Nepodarilo sa – neznáma chyba</translation>
 <translation id="3532980081107202182">Zostávajúci čas je približne <ph name="MIN_REMAINING" /> min.</translation>
 <translation id="3565064564551103223">Povolené adresy IP</translation>
+<translation id="3577473026931028326">Vyskytol sa problém. Skúste to znova.</translation>
 <translation id="357889014807611375">Wi‑Fi s meraním dát</translation>
 <translation id="3583278742022654445">Slabý signál. Skúste sa priblížiť k zdroju signálu Wi-Fi.</translation>
 <translation id="3595596368722241419">Batéria je nabitá</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Toto zariadenie <ph name="DEVICE_TYPE" /> spravuje <ph name="MANAGER" />. Správcovia ho môžu vzdialene konfigurovať.</translation>
 <translation id="7180611975245234373">Obnoviť</translation>
 <translation id="7216409898977639127">Poskytovateľ mobilného pripojenia</translation>
-<translation id="7240035910874241640">Všetky periférie sú aktuálne</translation>
 <translation id="7271040990581020067">Skener sa momentálne používa. Skúste to neskôr.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Zbierky tapiet</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Počítadlá návštevnosti</translation>
 <translation id="8503813439785031346">Meno používateľa</translation>
 <translation id="8503836310948963452">Už iba niekoľko minút…</translation>
-<translation id="8520963233738002436">Vaše zariadenie <ph name="DEVICE_NAME" /> je aktuálne</translation>
 <translation id="8521021929829989041">Použiť osobné zariadenie</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Váš operátor môže túto možnosť vyžadovať na pripojenie k jeho sieti. Podrobnosti vám poskytne operátor.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Spustiť znova</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skenovať}=1{Skenovať {NUMBER_OF_PAGES} stránku}few{Skenovať {NUMBER_OF_PAGES} stránky}many{Skenovať {NUMBER_OF_PAGES} stránky}other{Skenovať {NUMBER_OF_PAGES} stránok}}</translation>
-<translation id="8994273342647807496">Inštaluje sa – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Úroveň batérie zariadenia je <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frekvencia</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_sl.xtb b/chromeos/strings/chromeos_strings_sl.xtb
index dc6566e..4eb399ce 100644
--- a/chromeos/strings/chromeos_strings_sl.xtb
+++ b/chromeos/strings/chromeos_strings_sl.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Natisnjena <ph name="PRINTED_PAGES" />. stran od <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Optično branje <ph name="PAGE_NUM" />. strani. Dokončano: <ph name="PERCENTAGE_VALUE" /> %.</translation>
 <translation id="3459509316159669723">Tiskanje</translation>
-<translation id="3462187165860821523">Posodabljanje naprave <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Med posodabljanjem vdelane programske opreme ne odklopite zunanje naprave ali izklopite računalnika. To okno lahko pomanjšate. Ta posodobitev bo morda trajala nekaj minut in zunanja naprava v tem času morda ne bo delovala.</translation>
 <translation id="3486220673238053218">opredelitev</translation>
 <translation id="3488065109653206955">Delno aktivirano</translation>
 <translation id="3527036260304016759">Napaka – neznana napaka</translation>
 <translation id="3532980081107202182">Še približno <ph name="MIN_REMAINING" /> min</translation>
 <translation id="3565064564551103223">Dovoljeni IP-ji</translation>
+<translation id="3577473026931028326">Prišlo je do napake. Poskusite znova.</translation>
 <translation id="357889014807611375">Wi‑Fi z omejeno količino prenosa</translation>
 <translation id="3583278742022654445">Šibka moč signala. Poskusite se premakniti bliže viru signala omrežja Wi-Fi.</translation>
 <translation id="3595596368722241419">Baterija je polna</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">To napravo <ph name="DEVICE_TYPE" /> upravlja domena <ph name="MANAGER" />. Skrbniki lahko napravo konfigurirajo na daljavo.</translation>
 <translation id="7180611975245234373">Osveži</translation>
 <translation id="7216409898977639127">Ponudnik mobilnih storitev</translation>
-<translation id="7240035910874241640">Vse zunanje naprave so posodobljene.</translation>
 <translation id="7271040990581020067">Optični bralnik je trenutno v uporabi. Poskusite pozneje.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Zbirke zaslonskih ozadij</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Števci prometa</translation>
 <translation id="8503813439785031346">Uporabniško ime</translation>
 <translation id="8503836310948963452">Samo še nekaj minut …</translation>
-<translation id="8520963233738002436">Naprava <ph name="DEVICE_NAME" /> je posodobljena.</translation>
 <translation id="8521021929829989041">Uporabi kot osebno napravo</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operater lahko zahteva to možnost za povezovanje z njegovim omrežjem. Za podrobnejše informacije se obrnite na operaterja.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Znova zaženi</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Optično preberi}=1{Optično preberi stran {NUMBER_OF_PAGES}}one{Optično preberi stran {NUMBER_OF_PAGES}}two{Optično preberi stran {NUMBER_OF_PAGES}}few{Optično preberi stran {NUMBER_OF_PAGES}}other{Optično preberi stran {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Nameščanje – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Raven napolnjenosti baterije naprave <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frekvenca</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_sq.xtb b/chromeos/strings/chromeos_strings_sq.xtb
index 9e9b2393..1e763b0 100644
--- a/chromeos/strings/chromeos_strings_sq.xtb
+++ b/chromeos/strings/chromeos_strings_sq.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">U printua faqja <ph name="PRINTED_PAGES" /> nga <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Po skanon faqen <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% e përfunduar.</translation>
 <translation id="3459509316159669723">Po printon</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> po përditësohet</translation>
 <translation id="3484914941826596830">Mos e shkëput këtë pajisje të jashtme dhe mos e fik kompjuterin gjatë përditësimit të firmuerit. Mund ta minimizosh këtë dritare. Ky përditësim mund të zgjasë disa minuta dhe pajisja jote e jashtme mund të mos funksionojë gjatë kësaj kohe.</translation>
 <translation id="3486220673238053218">përkufizimi</translation>
 <translation id="3488065109653206955">I aktivizuar pjesërisht</translation>
 <translation id="3527036260304016759">Dështoi - Gabim i panjohur</translation>
 <translation id="3532980081107202182">Rreth <ph name="MIN_REMAINING" /> minuta të mbetura</translation>
 <translation id="3565064564551103223">IP-të e lejuara</translation>
+<translation id="3577473026931028326">Ndodhi një gabim. Provo përsëri.</translation>
 <translation id="357889014807611375">Wi-Fi me matje</translation>
 <translation id="3583278742022654445">Fuqi e dobët e sinjalit. Provo t'i afrohesh më shumë burimit të sinjalit Wi-Fi.</translation>
 <translation id="3595596368722241419">Bateria është plot</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881">Kjo pajisje <ph name="DEVICE_TYPE" /> menaxhohet nga <ph name="MANAGER" />. Administratorët mund ta konfigurojnë në distancë pajisjen.</translation>
 <translation id="7180611975245234373">Rifresko</translation>
 <translation id="7216409898977639127">Operatori celular</translation>
-<translation id="7240035910874241640">Të gjitha pajisjet periferike janë të përditësuara</translation>
 <translation id="7271040990581020067">Skaneri është aktualisht në përdorim. Provo përsëri më vonë.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Koleksionet e imazheve të sfondit</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">Matësit e trafikut</translation>
 <translation id="8503813439785031346">Emri i përdoruesit</translation>
 <translation id="8503836310948963452">Edhe vetëm pak minuta...</translation>
-<translation id="8520963233738002436">Pajisja jote <ph name="DEVICE_NAME" /> është e përditësuar</translation>
 <translation id="8521021929829989041">Përdore si pajisje personale</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operatori celular mund të kërkojë këtë opsion për t'u lidhur me rrjetin e tij. Kontakto me operatorin celular për detaje.</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">Ekzekuto përsëri</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skano}=1{Skano faqen {NUMBER_OF_PAGES}}other{Skano faqen {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Po instalohet - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Pajisja ka <ph name="BATTERY_PERCENTAGE" />% bateri.</translation>
 <translation id="9003704114456258138">Frekuenca</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_sr-Latn.xtb b/chromeos/strings/chromeos_strings_sr-Latn.xtb
index e861d3f..7f1d5521 100644
--- a/chromeos/strings/chromeos_strings_sr-Latn.xtb
+++ b/chromeos/strings/chromeos_strings_sr-Latn.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Odštampanih stranica: <ph name="PRINTED_PAGES" /> od <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Skenira se <ph name="PAGE_NUM" />. stranica. Dovršeno je <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Štampanje</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> se ažurira</translation>
 <translation id="3484914941826596830">Ne isključujte spoljni uređaj ni računar dok se firmver ažurira. Možete da umanjite ovaj prozor. Ovo ažuriranje može da potraje nekoliko minuta, a spoljni uređaj možda neće raditi tokom tog perioda.</translation>
 <translation id="3486220673238053218">definicija</translation>
 <translation id="3488065109653206955">Delimično aktivirano</translation>
 <translation id="3527036260304016759">Nije uspelo – nepoznata greška</translation>
 <translation id="3532980081107202182">Preostalo je još oko <ph name="MIN_REMAINING" /> minuta</translation>
 <translation id="3565064564551103223">Dozvoljene IPa adrese</translation>
+<translation id="3577473026931028326">Došlo je do greške. Probajte ponovo.</translation>
 <translation id="357889014807611375">WiFi sa ograničenjem</translation>
 <translation id="3583278742022654445">Signal je slab. Probajte da priđete bliže izvoru WiFi signala.</translation>
 <translation id="3595596368722241419">Baterija je puna</translation>
@@ -353,6 +353,7 @@
 <translation id="5691511426247308406">Porodica</translation>
 <translation id="5701381305118179107">Centriraj</translation>
 <translation id="5707900041990977207"><ph name="CURRENT_PAGE" /> od <ph name="TOTAL_PAGES" /></translation>
+<translation id="5733298426544876109">Ažurirajte <ph name="DEVICE_NAME" /></translation>
 <translation id="5760715441271661976">Status portala</translation>
 <translation id="5784136236926853061">Veliko HTTP kašnjenje</translation>
 <translation id="5832805196449965646">Dodaj osobu</translation>
@@ -462,7 +463,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> upravlja ovim <ph name="DEVICE_TYPE" /> uređajem. Administratori mogu da konfigurišu uređaj daljinski.</translation>
 <translation id="7180611975245234373">Osveži</translation>
 <translation id="7216409898977639127">Mobilni operater</translation>
-<translation id="7240035910874241640">Svi periferni uređaji su ažurni</translation>
 <translation id="7271040990581020067">Skener se trenutno koristi. Probajte ponovo kasnije.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Kolekcije pozadina</translation>
@@ -563,7 +563,6 @@
 <translation id="8498220429738806196">Brojači saobraćaja</translation>
 <translation id="8503813439785031346">Korisničko ime</translation>
 <translation id="8503836310948963452">Još samo par minuta…</translation>
-<translation id="8520963233738002436">Uređaj <ph name="DEVICE_NAME" /> je ažuriran</translation>
 <translation id="8521021929829989041">Koristi kao lični uređaj</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Mobilni operater može da zatraži ovu opciju radi povezivanja na mrežu. Obratite se mobilnom operateru za detalje.</translation>
@@ -607,7 +606,6 @@
 <translation id="8970109610781093811">Ponovo pokreni</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skeniraj}=1{Skeniraj {NUMBER_OF_PAGES}. stranicu}one{Skeniraj {NUMBER_OF_PAGES}. stranicu}few{Skeniraj {NUMBER_OF_PAGES}. stranicu}other{Skeniraj {NUMBER_OF_PAGES}. stranicu}}</translation>
-<translation id="8994273342647807496">Instalira se – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Uređaj ima <ph name="BATTERY_PERCENTAGE" />% baterije.</translation>
 <translation id="9003704114456258138">Frekvencija</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_sr.xtb b/chromeos/strings/chromeos_strings_sr.xtb
index df16b15..3032d7d 100644
--- a/chromeos/strings/chromeos_strings_sr.xtb
+++ b/chromeos/strings/chromeos_strings_sr.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Одштампаних страница: <ph name="PRINTED_PAGES" /> од <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Скенира се <ph name="PAGE_NUM" />. страница. Довршено је <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Штампање</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> се ажурира</translation>
 <translation id="3484914941826596830">Не искључујте спољни уређај ни рачунар док се фирмвер ажурира. Можете да умањите овај прозор. Ово ажурирање може да потраје неколико минута, а спољни уређај можда неће радити током тог периода.</translation>
 <translation id="3486220673238053218">дефиниција</translation>
 <translation id="3488065109653206955">Делимично активирано</translation>
 <translation id="3527036260304016759">Није успело – непозната грешка</translation>
 <translation id="3532980081107202182">Преостало је још око <ph name="MIN_REMAINING" /> минута</translation>
 <translation id="3565064564551103223">Дозвољене IPа адресе</translation>
+<translation id="3577473026931028326">Дошло је до грешке. Пробајте поново.</translation>
 <translation id="357889014807611375">WiFi са ограничењем</translation>
 <translation id="3583278742022654445">Сигнал је слаб. Пробајте да приђете ближе извору WiFi сигнала.</translation>
 <translation id="3595596368722241419">Батерија је пуна</translation>
@@ -353,6 +353,7 @@
 <translation id="5691511426247308406">Породица</translation>
 <translation id="5701381305118179107">Центрирај</translation>
 <translation id="5707900041990977207"><ph name="CURRENT_PAGE" /> од <ph name="TOTAL_PAGES" /></translation>
+<translation id="5733298426544876109">Ажурирајте <ph name="DEVICE_NAME" /></translation>
 <translation id="5760715441271661976">Статус портала</translation>
 <translation id="5784136236926853061">Велико HTTP кашњење</translation>
 <translation id="5832805196449965646">Додај особу</translation>
@@ -462,7 +463,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> управља овим <ph name="DEVICE_TYPE" /> уређајем. Администратори могу да конфигуришу уређај даљински.</translation>
 <translation id="7180611975245234373">Освежи</translation>
 <translation id="7216409898977639127">Мобилни оператер</translation>
-<translation id="7240035910874241640">Сви периферни уређаји су ажурни</translation>
 <translation id="7271040990581020067">Скенер се тренутно користи. Пробајте поново касније.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Колекције позадина</translation>
@@ -563,7 +563,6 @@
 <translation id="8498220429738806196">Бројачи саобраћаја</translation>
 <translation id="8503813439785031346">Корисничко име</translation>
 <translation id="8503836310948963452">Још само пар минута…</translation>
-<translation id="8520963233738002436">Уређај <ph name="DEVICE_NAME" /> је ажуриран</translation>
 <translation id="8521021929829989041">Користи као лични уређај</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Мобилни оператер може да затражи ову опцију ради повезивања на мрежу. Обратите се мобилном оператеру за детаље.</translation>
@@ -607,7 +606,6 @@
 <translation id="8970109610781093811">Поново покрени</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Скенирај}=1{Скенирај {NUMBER_OF_PAGES}. страницу}one{Скенирај {NUMBER_OF_PAGES}. страницу}few{Скенирај {NUMBER_OF_PAGES}. страницу}other{Скенирај {NUMBER_OF_PAGES}. страницу}}</translation>
-<translation id="8994273342647807496">Инсталира се – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Уређај има <ph name="BATTERY_PERCENTAGE" />% батерије.</translation>
 <translation id="9003704114456258138">Фреквенција</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_sv.xtb b/chromeos/strings/chromeos_strings_sv.xtb
index ba81604..448cb6c7 100644
--- a/chromeos/strings/chromeos_strings_sv.xtb
+++ b/chromeos/strings/chromeos_strings_sv.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Sida <ph name="PRINTED_PAGES" /> av <ph name="TOTAL_PAGES" /> har skrivits ut.</translation>
 <translation id="345898999683440380">Skannar sida <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" /> % har slutförts.</translation>
 <translation id="3459509316159669723">Skriva ut</translation>
-<translation id="3462187165860821523">Uppdaterar <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Koppla inte från den externa enheten eller stäng av datorn medan firmware uppdateras. Du kan minimera fönstret. Uppdateringen kan ta en stund och din externa enhet kanske inte fungerar under tiden.</translation>
 <translation id="3486220673238053218">definition</translation>
 <translation id="3488065109653206955">Delvis aktiverat</translation>
 <translation id="3527036260304016759">Misslyckades – okänt fel</translation>
 <translation id="3532980081107202182">Ungefär <ph name="MIN_REMAINING" /> minuter kvar</translation>
 <translation id="3565064564551103223">Tillåtna IP-adresser</translation>
+<translation id="3577473026931028326">Något gick fel. Försök igen.</translation>
 <translation id="357889014807611375">wifi med datapriser</translation>
 <translation id="3583278742022654445">Svag signalstyrka. Testa att gå närmare källan till wifi-signalen.</translation>
 <translation id="3595596368722241419">Batteriet är fulladdat</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Denna <ph name="DEVICE_TYPE" /> hanteras av <ph name="MANAGER" />. Administratörer kan fjärrkonfigurera enheten.</translation>
 <translation id="7180611975245234373">Uppdatera</translation>
 <translation id="7216409898977639127">Mobiloperatör</translation>
-<translation id="7240035910874241640">All kringutrustning är uppdaterad</translation>
 <translation id="7271040990581020067">Skannern används för närvarande. Försök igen senare.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Samlingar med bakgrunder</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Trafikräknare</translation>
 <translation id="8503813439785031346">Användarnamn</translation>
 <translation id="8503836310948963452">Bara några minuter kvar …</translation>
-<translation id="8520963233738002436">Din <ph name="DEVICE_NAME" /> är uppdaterad</translation>
 <translation id="8521021929829989041">Använd en personlig enhet</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Det här alternativet kan krävas för att du ska kunna ansluta till operatörens nätverk. Kontakta operatören för mer information.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Kör igen</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Genomsök}=1{Genomsök sida {NUMBER_OF_PAGES}}other{Genomsök sida {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Installeras – <ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="8997710128084572139">Enhetens batterinivå är <ph name="BATTERY_PERCENTAGE" /> %.</translation>
 <translation id="9003704114456258138">Frekvens</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_sw.xtb b/chromeos/strings/chromeos_strings_sw.xtb
index 71facd5..653af9d 100644
--- a/chromeos/strings/chromeos_strings_sw.xtb
+++ b/chromeos/strings/chromeos_strings_sw.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Imechapisha ukurasa wa <ph name="PRINTED_PAGES" /> kati ya <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Inachanganua ukurasa wa <ph name="PAGE_NUM" />. Asilimia <ph name="PERCENTAGE_VALUE" /> imekamilika.</translation>
 <translation id="3459509316159669723">Kuchapisha</translation>
-<translation id="3462187165860821523">Inasasisha <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Usichomoe kifaa hiki cha nje wala usizime kompyuta yako programu dhibiti ikisasishwa. Unaweza kupunguza kidirisha hiki. Sasisho hili linaweza kuchukua dakika chache na kifaa chako cha nje huenda kisifanye kazi kwa wakati huu.</translation>
 <translation id="3486220673238053218">ufafanuzi</translation>
 <translation id="3488065109653206955">Imaeamilisha kidogo</translation>
 <translation id="3527036260304016759">Haijakamilika - Hitilafu isiyojulikana</translation>
 <translation id="3532980081107202182">Zimesalia takriban dakika <ph name="MIN_REMAINING" /></translation>
 <translation id="3565064564551103223">IP zilizoruhusiwa</translation>
+<translation id="3577473026931028326">Hitilafu fulani imetokea. Jaribu tena.</translation>
 <translation id="357889014807611375">Wi-Fi inayopima data</translation>
 <translation id="3583278742022654445">Muunganisho wa mtandao ni dhaifu. Jaribu kusogea karibu na chanzo cha mawimbi ya Wi-Fi.</translation>
 <translation id="3595596368722241419">Betri imejaa</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> hii inadhibitiwa na <ph name="MANAGER" />. Wasimamizi wanaweza kuweka mipangilio ya kifaa kwa mbali.</translation>
 <translation id="7180611975245234373">Onyesha upya</translation>
 <translation id="7216409898977639127">Mtoa huduma za vifaa vya mkononi</translation>
-<translation id="7240035910874241640">Vifaa vyote vilivyounganishwa kwenye kompyuta vimesasishwa</translation>
 <translation id="7271040990581020067">Kichanganuzi kinatumika kwa sasa. Jaribu tena baadaye.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Mikusanyiko ya Mandhari</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">Hesabu za Trafiki</translation>
 <translation id="8503813439785031346">Jina la mtumiaji</translation>
 <translation id="8503836310948963452">Dakika chache tu...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> imesasishwa</translation>
 <translation id="8521021929829989041">Tumia kama kifaa chako binafsi</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Huenda mtoa huduma wako akahitaji chaguo hili ili uweze kuunganisha kwenye mtandao wake. Wasiliana na mtoa huduma wako ili upate maelezo.</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">Endesha tena</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Changanua}=1{Changanua ukurasa {NUMBER_OF_PAGES}}other{Changanua kurasa {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Inasakinisha - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Kiwango cha chaji ya betri kwenye kifaa ni asilimia <ph name="BATTERY_PERCENTAGE" />.</translation>
 <translation id="9003704114456258138">Masafa</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ta.xtb b/chromeos/strings/chromeos_strings_ta.xtb
index 936bb5e..90549d0 100644
--- a/chromeos/strings/chromeos_strings_ta.xtb
+++ b/chromeos/strings/chromeos_strings_ta.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">அச்சிடப்பட்ட பக்கங்கள்: <ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">ஸ்கேன் செய்யப்படும் பக்கம்: <ph name="PAGE_NUM" />. <ph name="PERCENTAGE_VALUE" />% முடிந்தது.</translation>
 <translation id="3459509316159669723">அச்சிடல்</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> ஐப் புதுப்பிக்கிறது</translation>
 <translation id="3484914941826596830">நிலைபொருளைப் புதுப்பிக்கும்போது இந்த வெளிப்புறச் சாதனத்தின் இணைப்பைத் துண்டிக்கவோ உங்கள் கம்ப்யூட்டரை ஷட் டவுன் செய்யவோ கூடாது. இந்தச் சாளரத்தைச் சிறிதாக்கிக்கொள்ளலாம். இந்தப் புதுப்பிப்பு நிறைவடைய சில நிமிடங்கள் ஆகலாம். அதுவரை உங்கள் வெளிப்புறச் சாதனத்தில் வேறு எதுவும் செய்ய முடியாமல் போகலாம்.</translation>
 <translation id="3486220673238053218">விளக்கம்</translation>
 <translation id="3488065109653206955">பகுதியளவு செயலாக்கப்பட்டது</translation>
 <translation id="3527036260304016759">அறியப்படாத பிழை காரணமாக அச்சிட முடியவில்லை</translation>
 <translation id="3532980081107202182">சுமார் <ph name="MIN_REMAINING" /> நிமிடங்கள் மீதமுள்ளன</translation>
 <translation id="3565064564551103223">அனுமதிக்கப்படும் IPகள்</translation>
+<translation id="3577473026931028326">ஏதோ தவறாகிவிட்டது. மீண்டும் முயலவும்.</translation>
 <translation id="357889014807611375">கட்டண வைஃபை</translation>
 <translation id="3583278742022654445">சிக்னல் மோசமாக உள்ளது. வைஃபை சிக்னலை வழங்கும் சாதனத்திற்கு அருகில் செல்லவும்.</translation>
 <translation id="3595596368722241419">பேட்டரி நிரம்பியது</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">இந்த <ph name="DEVICE_TYPE" /> சாதனத்தை <ph name="MANAGER" /> நிர்வகிக்கிறது. நிர்வாகிகள் இந்தச் சாதனத்தைத் தொலைநிலையிலிருந்து உள்ளமைக்கக்கூடும்.</translation>
 <translation id="7180611975245234373">புதுப்பி</translation>
 <translation id="7216409898977639127">செல்லுலார் வழங்குநர்</translation>
-<translation id="7240035910874241640">அனைத்துச் சாதனங்களும் புதுப்பித்த நிலையில் உள்ளன</translation>
 <translation id="7271040990581020067">ஸ்கேனர் தற்போது உபயோகத்தில் உள்ளது. பிறகு முயலவும்.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">வால்பேப்பர் தொகுப்புகள்</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">டிராஃபிக் கவுண்ட்டர்கள்</translation>
 <translation id="8503813439785031346">பயனர்பெயர்</translation>
 <translation id="8503836310948963452">இன்னும் சில நிமிடங்கள் காத்திருக்கவும்...</translation>
-<translation id="8520963233738002436">உங்கள் <ph name="DEVICE_NAME" /> புதுப்பித்த நிலையில் உள்ளது</translation>
 <translation id="8521021929829989041">தனிப்பட்ட சாதனமாகப் பயன்படுத்து</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">சேவை வழங்கும் நிறுவனத்தின் நெட்வொர்க்குடன் இணைக்க இந்த விருப்பத்தை இயக்க வேண்டியிருக்கலாம். விவரங்களுக்கு சேவை வழங்கும் நிறுவனத்தைத் தொடர்புகொள்ளவும்.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">மீண்டும் இயக்கு</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{ஸ்கேன் செய்}=1{{NUMBER_OF_PAGES} பக்கங்களை ஸ்கேன் செய்}other{{NUMBER_OF_PAGES} பக்கங்களை ஸ்கேன் செய்}}</translation>
-<translation id="8994273342647807496">நிறுவுகிறது (<ph name="PERCENTAGE_VALUE" />%)</translation>
 <translation id="8997710128084572139">சாதனத்தின் பேட்டரி நிலை <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">அதிர்வெண்</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_te.xtb b/chromeos/strings/chromeos_strings_te.xtb
index 866a6e2..04b0d06 100644
--- a/chromeos/strings/chromeos_strings_te.xtb
+++ b/chromeos/strings/chromeos_strings_te.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> పేజీలలో <ph name="PRINTED_PAGES" />వ పేజీ ప్రింట్ చేయబడింది.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />వ పేజీని స్కాన్ చేస్తోంది. <ph name="PERCENTAGE_VALUE" />% పూర్తయింది.</translation>
 <translation id="3459509316159669723">ప్రింటింగ్</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> అప్‌డేట్ అవుతోంది</translation>
 <translation id="3484914941826596830">ఫర్మ్‌వేర్ అప్‌డేట్ అవుతున్నప్పుడు, ఈ బాహ్య పరికరాన్ని అన్‌ప్లగ్ చేయవద్దు లేదా మీ కంప్యూటర్‌ను షట్ డౌన్ చేయవద్దు. మీరు ఈ విండోను చిన్నదిగా చేయవచ్చు. ఈ అప్‌డేట్‌కు కొన్ని నిమిషాల సమయం పట్టవచ్చు, ఇంకా ఈ సమయంలో మీ బాహ్య పరికరం పని చేయకపోవచ్చు.</translation>
 <translation id="3486220673238053218">నిర్వచనం</translation>
 <translation id="3488065109653206955">పాక్షికంగా సక్రియం చెయ్యబడింది</translation>
 <translation id="3527036260304016759">విఫలమైంది - తెలియని ఎర్రర్</translation>
 <translation id="3532980081107202182">సుమారు <ph name="MIN_REMAINING" /> నిమిషాలు మిగిలి ఉన్నాయి</translation>
 <translation id="3565064564551103223">అనుమతించబడిన IPలు</translation>
+<translation id="3577473026931028326">ఏదో తప్పు జరిగింది. మళ్లీ ట్రై చేయండి.</translation>
 <translation id="357889014807611375">డేటా నియంత్రణ Wi-Fi</translation>
 <translation id="3583278742022654445">సిగ్నల్ సామర్థ్యం బలహీనంగా ఉంది. Wi-Fi సిగ్నల్ సోర్స్‌కు కొద్దిగా దగ్గరగా వెళ్ళడానికి ట్రై చేయండి.</translation>
 <translation id="3595596368722241419">బ్యాటరీ నిండింది</translation>
@@ -352,6 +352,7 @@
 <translation id="5691511426247308406">కుటుంబం</translation>
 <translation id="5701381305118179107">మధ్యకు</translation>
 <translation id="5707900041990977207"><ph name="TOTAL_PAGES" />లో <ph name="CURRENT_PAGE" /></translation>
+<translation id="5733298426544876109"><ph name="DEVICE_NAME" />‌ను అప్‌డేట్ చేయండి</translation>
 <translation id="5760715441271661976">పోర్టల్ స్థితి</translation>
 <translation id="5784136236926853061">అధిక HTTPS ప్రతిస్పందన సమయం</translation>
 <translation id="5832805196449965646">వ్యక్తిని జోడించు</translation>
@@ -461,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="MANAGER" />, ఈ <ph name="DEVICE_TYPE" />ను మేనేజ్ చేస్తోంది. అడ్మినిస్ట్రేటర్‌లు పరికరాన్ని రిమోట్‌గా కాన్ఫిగర్ చేయవచ్చు.</translation>
 <translation id="7180611975245234373">రిఫ్రెష్ చేయి</translation>
 <translation id="7216409898977639127">సెల్యులార్ ప్రదాత</translation>
-<translation id="7240035910874241640">పెరిఫెరల్స్ అన్నీ అప్‌డేట్ అయ్యి ఉన్నాయి</translation>
 <translation id="7271040990581020067">స్కానర్ ప్రస్తుతం వినియోగంలో ఉంది. తర్వాత మళ్లీ ట్రై చేయండి.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">వాల్‌పేపర్ కలెక్షన్‌లు</translation>
@@ -562,7 +562,6 @@
 <translation id="8498220429738806196">ట్రాఫిక్ కౌంటర్‌లు</translation>
 <translation id="8503813439785031346">యూజర్‌పేరు</translation>
 <translation id="8503836310948963452">మరికొన్ని నిమిషాలు మాత్రమే…</translation>
-<translation id="8520963233738002436">మీ <ph name="DEVICE_NAME" /> అప్‌డేట్ అయ్యి ఉంది</translation>
 <translation id="8521021929829989041">వ్యక్తిగత పరికరంగా ఉపయోగించండి</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">వారి నెట్‌వర్క్‌కు కనెక్ట్ అవ్వడానికి మీ క్యారియర్‌కు ఈ ఆప్షన్ అవసరం పడవచ్చు. వివరాల కోసం మీ క్యారియర్‌ను సంప్రదించండి.</translation>
@@ -606,7 +605,6 @@
 <translation id="8970109610781093811">మళ్లీ అమలు చేయి</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{స్కాన్ చేయండి}=1{{NUMBER_OF_PAGES} పేజీని స్కాన్ చేయండి}other{{NUMBER_OF_PAGES} పేజీని స్కాన్ చేయండి}}</translation>
-<translation id="8994273342647807496">ఇన్‌స్టాల్ అవుతోంది - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">పరికరంలో <ph name="BATTERY_PERCENTAGE" />% బ్యాటరీ ఉంది.</translation>
 <translation id="9003704114456258138">పౌనఃపున్యం</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_th.xtb b/chromeos/strings/chromeos_strings_th.xtb
index ec9dc357..2614c15e 100644
--- a/chromeos/strings/chromeos_strings_th.xtb
+++ b/chromeos/strings/chromeos_strings_th.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">พิมพ์แล้ว <ph name="PRINTED_PAGES" /> จาก <ph name="TOTAL_PAGES" /> หน้า</translation>
 <translation id="345898999683440380">กำลังสแกนหน้า <ph name="PAGE_NUM" /> เสร็จแล้ว <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="3459509316159669723">การพิมพ์</translation>
-<translation id="3462187165860821523">กำลังอัปเดต <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">ขณะอัปเดตเฟิร์มแวร์ โปรดอย่าถอดปลั๊กอุปกรณ์ภายนอกเครื่องนี้หรือปิดคอมพิวเตอร์ คุณย่อหน้าต่างนี้ให้เล็กสุดได้ การอัปเดตอาจใช้เวลาสักครู่และอุปกรณ์ภายนอกอาจใช้ไม่ได้ในช่วงเวลานี้</translation>
 <translation id="3486220673238053218">คำจำกัดความ</translation>
 <translation id="3488065109653206955">เปิดการใช้งานบางส่วน</translation>
 <translation id="3527036260304016759">ไม่สำเร็จ - ข้อผิดพลาดที่ไม่รู้จัก</translation>
 <translation id="3532980081107202182">เหลือเวลาอีกประมาณ <ph name="MIN_REMAINING" /> นาที</translation>
 <translation id="3565064564551103223">IP ที่อนุญาต</translation>
+<translation id="3577473026931028326">เกิดข้อผิดพลาด ลองใหม่</translation>
 <translation id="357889014807611375">Wi-Fi ที่มีการวัดปริมาณอินเทอร์เน็ต</translation>
 <translation id="3583278742022654445">ความแรงสัญญาณไม่ดี ลองขยับไปใกล้ๆ แหล่งสัญญาณ Wi-Fi มากขึ้น</translation>
 <translation id="3595596368722241419">แบตเตอรี่เต็ม</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> นี้ได้รับการจัดการโดย <ph name="MANAGER" /> ผู้ดูแลระบบอาจกำหนดค่าอุปกรณ์จากระยะไกล</translation>
 <translation id="7180611975245234373">รีเฟรช</translation>
 <translation id="7216409898977639127">ผู้ให้บริการเครือข่ายมือถือ</translation>
-<translation id="7240035910874241640">อุปกรณ์ต่อพ่วงทั้งหมดเป็นเวอร์ชันล่าสุดแล้ว</translation>
 <translation id="7271040990581020067">เครื่องสแกนกำลังทำงานอยู่ ลองอีกครั้งในภายหลัง</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">คอลเล็กชันภาพวอลเปเปอร์</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">ตัวนับการรับส่งข้อมูล</translation>
 <translation id="8503813439785031346">ชื่อผู้ใช้</translation>
 <translation id="8503836310948963452">อีกเพียงไม่กี่นาทีเท่านั้น...</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> เป็นเวอร์ชันล่าสุดแล้ว</translation>
 <translation id="8521021929829989041">ใช้อุปกรณ์ส่วนตัว</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">ผู้ให้บริการอาจกำหนดให้ใช้ตัวเลือกนี้เพื่อให้เชื่อมต่อเครือข่ายของตนได้ โปรดติดต่อสอบถามรายละเอียดจากผู้ให้บริการ</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">ทำงานอีกครั้ง</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{สแกน}=1{สแกนหน้า {NUMBER_OF_PAGES}}other{สแกนหน้า {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">กำลังติดตั้ง - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">อุปกรณ์มีแบตเตอรี่ <ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="9003704114456258138">ความถี่</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_tr.xtb b/chromeos/strings/chromeos_strings_tr.xtb
index 587f7b3..687a7e39 100644
--- a/chromeos/strings/chromeos_strings_tr.xtb
+++ b/chromeos/strings/chromeos_strings_tr.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Yazdırılan sayfa: <ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" />. sayfa taranıyor %<ph name="PERCENTAGE_VALUE" /> tamamlandı</translation>
 <translation id="3459509316159669723">Yazdırma</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> güncelleniyor</translation>
 <translation id="3484914941826596830">Donanım yazılımı güncellenirken bu harici cihazı çıkarmayın ya da bilgisayarınızı kapatmayın. Bu pencereyi simge durumuna küçültebilirsiniz. Güncelleme birkaç dakika sürebilir ve bu süre boyunca harici cihazınız çalışmayabilir.</translation>
 <translation id="3486220673238053218">tanım</translation>
 <translation id="3488065109653206955">Kısmen etkinleştirildi</translation>
 <translation id="3527036260304016759">İşlem başarısız - Bilinmeyen hata</translation>
 <translation id="3532980081107202182">Yaklaşık <ph name="MIN_REMAINING" /> dakika kaldı</translation>
 <translation id="3565064564551103223">İzin verilen IP'ler</translation>
+<translation id="3577473026931028326">Bir sorun oldu. Tekrar deneyin.</translation>
 <translation id="357889014807611375">sayaçlı kablosuz ağ</translation>
 <translation id="3583278742022654445">Düşük sinyal gücü. Kablosuz sinyal kaynağına yaklaşmayı deneyin.</translation>
 <translation id="3595596368722241419">Pil tam dolu</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Bu <ph name="DEVICE_TYPE" />, <ph name="MANAGER" /> tarafından yönetiliyor. Yöneticiler bu cihazı uzaktan yapılandırabilir.</translation>
 <translation id="7180611975245234373">Yenile</translation>
 <translation id="7216409898977639127">Hücresel sağlayıcı</translation>
-<translation id="7240035910874241640">Tüm çevre birimleri güncel</translation>
 <translation id="7271040990581020067">Tarayıcı şu anda kullanımda. Daha sonra tekrar deneyin.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Duvar Kağıdı Koleksiyonları</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Trafik Sayaçları</translation>
 <translation id="8503813439785031346">Kullanıcı adı</translation>
 <translation id="8503836310948963452">Sadece birkaç dakika kaldı…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> cihazınız güncel</translation>
 <translation id="8521021929829989041">Kişisel cihaz olarak kullanın</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Operatörünüz, ağlarına bağlanmak için bu seçeneği gerektirebilir. Ayrıntılı bilgiler için operatörünüzle iletişime geçin.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Yeniden çalıştır</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Tara}=1{Taranacak sayfa: {NUMBER_OF_PAGES}}other{Taranacak sayfa: {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Yükleniyor - %<ph name="PERCENTAGE_VALUE" /></translation>
 <translation id="8997710128084572139">Cihazın pili %<ph name="BATTERY_PERCENTAGE" /> düzeyinde.</translation>
 <translation id="9003704114456258138">Frekans</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_uk.xtb b/chromeos/strings/chromeos_strings_uk.xtb
index 4c194d8..b6d68bb 100644
--- a/chromeos/strings/chromeos_strings_uk.xtb
+++ b/chromeos/strings/chromeos_strings_uk.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Надруковано сторінку <ph name="PRINTED_PAGES" /> з <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Сканування сторінки <ph name="PAGE_NUM" />. Виконано <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Друк</translation>
-<translation id="3462187165860821523">Пристрій <ph name="DEVICE_NAME" /> оновлюється</translation>
 <translation id="3484914941826596830">Поки мікропрограма оновлюється, не відключайте цей зовнішній пристрій і не завершуйте роботу комп’ютера. Можете згорнути це вікно. Оновлення може зайняти кілька хвилин, і впродовж цього часу зовнішній пристрій, імовірно, не працюватиме.</translation>
 <translation id="3486220673238053218">визначення</translation>
 <translation id="3488065109653206955">Частково активовано</translation>
 <translation id="3527036260304016759">Не надруковано – невідома помилка</translation>
 <translation id="3532980081107202182">Залишилося приблизно <ph name="MIN_REMAINING" /> хв</translation>
 <translation id="3565064564551103223">Дозволені IP-адреси</translation>
+<translation id="3577473026931028326">Сталася помилка. Повторіть спробу.</translation>
 <translation id="357889014807611375">Wi-Fi із тарифікацією трафіку</translation>
 <translation id="3583278742022654445">Низький рівень сигналу. Підійдіть ближче до джерела сигналу Wi-Fi.</translation>
 <translation id="3595596368722241419">Акумулятор заряджено</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Цим пристроєм <ph name="DEVICE_TYPE" /> керує <ph name="MANAGER" />. Адміністратори можуть віддалено налаштовувати його.</translation>
 <translation id="7180611975245234373">Оновити</translation>
 <translation id="7216409898977639127">Постачальник мобільного зв’язку</translation>
-<translation id="7240035910874241640">Усі периферійні пристрої оновлено</translation>
 <translation id="7271040990581020067">Cканер використовується. Повторіть спробу пізніше.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Колекції фонових малюнків</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Лічильники трафіку</translation>
 <translation id="8503813439785031346">Ім’я користувача</translation>
 <translation id="8503836310948963452">Залишилося кілька хвилин…</translation>
-<translation id="8520963233738002436">Ваш пристрій <ph name="DEVICE_NAME" /> оновлено</translation>
 <translation id="8521021929829989041">Використовувати як особистий пристрій</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Можливо, вам доведеться ввімкнути це налаштування, щоб підключитися до мережі. Щоб дізнатися більше, зверніться до свого оператора.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Запустити знову</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Сканувати}=1{Сканувати сторінку ({NUMBER_OF_PAGES})}one{Сканувати сторінки ({NUMBER_OF_PAGES})}few{Сканувати сторінки ({NUMBER_OF_PAGES})}many{Сканувати сторінки ({NUMBER_OF_PAGES})}other{Сканувати сторінки ({NUMBER_OF_PAGES})}}</translation>
-<translation id="8994273342647807496">Встановлення – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Рівень заряду акумулятора пристрою – <ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Частота</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_ur.xtb b/chromeos/strings/chromeos_strings_ur.xtb
index da8f8574..15812a8 100644
--- a/chromeos/strings/chromeos_strings_ur.xtb
+++ b/chromeos/strings/chromeos_strings_ur.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234"><ph name="TOTAL_PAGES" /> میں سے <ph name="PRINTED_PAGES" /> پرنٹ کئے ہوئے صفحات۔</translation>
 <translation id="345898999683440380">صفحہ <ph name="PAGE_NUM" /> اسکین ہو رہا ہے۔ <ph name="PERCENTAGE_VALUE" />% مکمل ہو گیا۔</translation>
 <translation id="3459509316159669723">پرنٹ کیا جا رہا ہے</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> اپ ڈیٹ ہو رہا ہے</translation>
 <translation id="3484914941826596830">فرم ویئر اپ ڈیٹ کرنے کے دوران اس خارجی آلے کو ان پلگ یا اپنے کمپیوٹر کو شٹ ڈاؤن نہ کریں۔ آپ اس ونڈو کو چھوٹا کر سکتے ہیں۔ اس اپ ڈیٹ میں کچھ منٹ لگ سکتے ہیں اور ہو سکتا ہے کہ آپ کا خارجی آلہ اس دوران کام نہ کرے۔</translation>
 <translation id="3486220673238053218">وضاحت</translation>
 <translation id="3488065109653206955">جزوی طور پر فعال کردہ</translation>
 <translation id="3527036260304016759">ناکام ہو گیا - نامعلوم خرابی</translation>
 <translation id="3532980081107202182">تقریباً <ph name="MIN_REMAINING" /> منٹ باقی ہیں</translation>
 <translation id="3565064564551103223">‏اجازت یافتہ IPs</translation>
+<translation id="3577473026931028326">کچھ غلط ہو گیا۔ دوبارہ کوشش کریں۔</translation>
 <translation id="357889014807611375">‏میٹرڈ Wi-Fi</translation>
 <translation id="3583278742022654445">‏کمزور سگنل کی مضبوطی۔ Wi-Fi سگنل ماخذ کے قریب منتقل کرنے کی کوشش کریں۔</translation>
 <translation id="3595596368722241419">بیٹری پوری چارج ہے</translation>
@@ -461,7 +461,6 @@
 <translation id="7177485034254901881">یہ <ph name="DEVICE_TYPE" /> <ph name="MANAGER" /> کے زیر انتظام ہے۔ منتظمین دور سے آلے کو کنفیگر کر سکتے ہیں۔</translation>
 <translation id="7180611975245234373">ریفریش کریں</translation>
 <translation id="7216409898977639127">سیلولر فراہم کنندہ</translation>
-<translation id="7240035910874241640">سبھی پیریفیرلز اپ ٹو ڈیٹ ہیں</translation>
 <translation id="7271040990581020067">اسکینر فی الحال زیر استعمال ہے۔ بعد میں دوبارہ کوشش کریں۔</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">وال پیپر کے مجموعے</translation>
@@ -562,7 +561,6 @@
 <translation id="8498220429738806196">ٹریفک کاؤنٹرز</translation>
 <translation id="8503813439785031346">صارف کا نام</translation>
 <translation id="8503836310948963452">صرف چند مزید منٹ...</translation>
-<translation id="8520963233738002436">آپ کا <ph name="DEVICE_NAME" /> اپ ٹو ڈیٹ ہے</translation>
 <translation id="8521021929829989041">ذاتی آلے کے طور پر استعمال کریں</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">آپ کے کیریئر کو اپنے نیٹ ورک سے منسلک ہونے کیلئے اس اختیار کی ضرورت پڑ سکتی ہے۔ تفصیلات کیلئے اپنے کیریئر سے رابطہ کریں۔</translation>
@@ -606,7 +604,6 @@
 <translation id="8970109610781093811">دوبارہ چلائيں</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{اسکین کریں}=1{{NUMBER_OF_PAGES} صفحہ اسکین کریں}other{{NUMBER_OF_PAGES} صفحہ اسکین کریں}}</translation>
-<translation id="8994273342647807496"><ph name="PERCENTAGE_VALUE" /> انسٹال ہو رہا ہے</translation>
 <translation id="8997710128084572139">آلے میں <ph name="BATTERY_PERCENTAGE" />فیصد بیٹری ہے۔</translation>
 <translation id="9003704114456258138">فریکوئنسی</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_uz.xtb b/chromeos/strings/chromeos_strings_uz.xtb
index bb05db1..ac3d20b 100644
--- a/chromeos/strings/chromeos_strings_uz.xtb
+++ b/chromeos/strings/chromeos_strings_uz.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Sahifa chop etildi: <ph name="PRINTED_PAGES" /> / <ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380"><ph name="PAGE_NUM" /> ta sahifa skanerlandi. <ph name="PERCENTAGE_VALUE" />% tugallandi.</translation>
 <translation id="3459509316159669723">Chop etish</translation>
-<translation id="3462187165860821523"><ph name="DEVICE_NAME" /> yangilanmoqda</translation>
 <translation id="3484914941826596830">Mikrodastur yangilanayotganda tashqi qurilmani uzmay va kompyuterni oʻchirmay turing. Bu oynani yigʻish mumkin. Bu yangilanish bir necha daqiqa vaqt oladi va bu vaqtda tashqi qurilma ishlamay turishi mumkin.</translation>
 <translation id="3486220673238053218">ta’rif</translation>
 <translation id="3488065109653206955">Qisman faollashtirilgan</translation>
 <translation id="3527036260304016759">Bajarilmadi - Notanish xato</translation>
 <translation id="3532980081107202182">Taxminan <ph name="MIN_REMAINING" /> daqiqa qoldi</translation>
 <translation id="3565064564551103223">Ruxsat etilgan IP manzillar</translation>
+<translation id="3577473026931028326">Xatolik yuz berdi. Qayta urining.</translation>
 <translation id="357889014807611375">Cheklangan trafikli Wi-Fi</translation>
 <translation id="3583278742022654445">Signal darajasi zaif. Wi-Fi signal manbasiga yaqinlashtiring.</translation>
 <translation id="3595596368722241419">Batareya to‘ldi</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Bu <ph name="DEVICE_TYPE" /> qurilmasi <ph name="MANAGER" /> domenida boshqariladi. Administratorlar qurilmani masofadan sozlashi mumkin.</translation>
 <translation id="7180611975245234373">Yangilash</translation>
 <translation id="7216409898977639127">Mobil tarmoq</translation>
-<translation id="7240035910874241640">Barcha tashqi qurilmalar taʼminoti yangilangan</translation>
 <translation id="7271040990581020067">Skaner hozir band. Keyinroq urining.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Fon rasmlari termasi</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Traffik hisoblagichlari</translation>
 <translation id="8503813439785031346">Foydalanuvchi nomi</translation>
 <translation id="8503836310948963452">Yana bir necha daqiqa kuting…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> tizimi eng oxirgi versiyada</translation>
 <translation id="8521021929829989041">Shaxsiy qurilma sifatida foydalanish</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Aloqa operatoringiz oʻz tarmogʻiga ulanishi uchun bu parametrni talab qilishi mumkin. Tafsilotlar uchun aloqa operatoringizga murojaat qiling.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Qayta tekshirish</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skanerlash}=1{{NUMBER_OF_PAGES} sahifani skanerlash}other{{NUMBER_OF_PAGES} sahifani skanerlash}}</translation>
-<translation id="8994273342647807496">Oʻrnatilmoqda - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Qurilma batareyasi quvvati: <ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="9003704114456258138">Chastotasi</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_vi.xtb b/chromeos/strings/chromeos_strings_vi.xtb
index 8512304..1b3b689 100644
--- a/chromeos/strings/chromeos_strings_vi.xtb
+++ b/chromeos/strings/chromeos_strings_vi.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Đã in trang <ph name="PRINTED_PAGES" />/<ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Đang quét trang <ph name="PAGE_NUM" />. Ðã quét được <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">In</translation>
-<translation id="3462187165860821523">Đang cập nhật <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Khi chương trình cơ sở đang cập nhật, đừng rút thiết bị bên ngoài này ra hay tắt máy tính. Bạn có thể thu nhỏ cửa sổ này. Quá trình cập nhật có thể mất vài phút và thiết bị bên ngoài của bạn có thể không hoạt động được trong thời gian này.</translation>
 <translation id="3486220673238053218">định nghĩa</translation>
 <translation id="3488065109653206955">Được kích hoạt một phần</translation>
 <translation id="3527036260304016759">Không thành công – Lỗi không xác định</translation>
 <translation id="3532980081107202182">Còn khoảng <ph name="MIN_REMAINING" /> phút nữa</translation>
 <translation id="3565064564551103223">IP được phép</translation>
+<translation id="3577473026931028326">Đã xảy ra lỗi. Hãy thử lại.</translation>
 <translation id="357889014807611375">mạng Wi‑Fi có giới hạn dữ liệu</translation>
 <translation id="3583278742022654445">Cường độ tín hiệu yếu. Hãy thử di chuyển đến gần nguồn tín hiệu Wi-Fi hơn.</translation>
 <translation id="3595596368722241419">Pin đầy</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> này do <ph name="MANAGER" /> quản lý. Quản trị viên có thể định cấu hình từ xa thiết bị này.</translation>
 <translation id="7180611975245234373">Làm mới</translation>
 <translation id="7216409898977639127">Nhà cung cấp dịch vụ di động</translation>
-<translation id="7240035910874241640">Tất cả thiết bị ngoại vi đã được cập nhật</translation>
 <translation id="7271040990581020067">Máy quét đang được sử dụng. Hãy thử lại sau.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Bộ sưu tập hình nền</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Bộ đếm lưu lượng truy cập</translation>
 <translation id="8503813439785031346">Tên người dùng</translation>
 <translation id="8503836310948963452">Còn một vài phút nữa thôi…</translation>
-<translation id="8520963233738002436"><ph name="DEVICE_NAME" /> của bạn đã được cập nhật</translation>
 <translation id="8521021929829989041">Sử dụng làm thiết bị cá nhân</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">Nhà mạng của bạn có thể yêu cầu bạn bật tùy chọn này để kết nối với mạng của họ. Hãy liên hệ với nhà mạng để biết thông tin chi tiết.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Chạy lại</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Quét}=1{Quét trang {NUMBER_OF_PAGES}}other{Quét trang {NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Đang cài đặt – <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Thiết bị còn <ph name="BATTERY_PERCENTAGE" />% pin.</translation>
 <translation id="9003704114456258138">Tần số</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-CN.xtb b/chromeos/strings/chromeos_strings_zh-CN.xtb
index dcc259d..5585aca 100644
--- a/chromeos/strings/chromeos_strings_zh-CN.xtb
+++ b/chromeos/strings/chromeos_strings_zh-CN.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">已打印 <ph name="PRINTED_PAGES" /> 页(共 <ph name="TOTAL_PAGES" /> 页)。</translation>
 <translation id="345898999683440380">正在扫描第 <ph name="PAGE_NUM" /> 页。已完成 <ph name="PERCENTAGE_VALUE" />%。</translation>
 <translation id="3459509316159669723">打印</translation>
-<translation id="3462187165860821523">正在更新“<ph name="DEVICE_NAME" />”</translation>
 <translation id="3484914941826596830">固件更新期间,请不要拔掉此外部设备的电源插头或关闭您的计算机。您可以最小化此窗口。此更新可能需要几分钟时间,在此期间,您的外部设备可能无法正常使用。</translation>
 <translation id="3486220673238053218">定义</translation>
 <translation id="3488065109653206955">部分激活</translation>
 <translation id="3527036260304016759">失败 - 不明错误</translation>
 <translation id="3532980081107202182">还剩大约 <ph name="MIN_REMAINING" /> 分钟</translation>
 <translation id="3565064564551103223">允许使用的 IP</translation>
+<translation id="3577473026931028326">出了点问题。请重试。</translation>
 <translation id="357889014807611375">按流量计费的 Wi-Fi</translation>
 <translation id="3583278742022654445">信号强度较弱。请尝试移到离 Wi-Fi 信号源更近的地方。</translation>
 <translation id="3595596368722241419">电池已充满</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">此 <ph name="DEVICE_TYPE" /> 由 <ph name="MANAGER" /> 管理。管理员可能会远程配置此设备。</translation>
 <translation id="7180611975245234373">刷新</translation>
 <translation id="7216409898977639127">移动网络服务提供商</translation>
-<translation id="7240035910874241640">所有外围设备都已是最新版本</translation>
 <translation id="7271040990581020067">扫描仪正在使用中。请稍后再试。</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">壁纸集</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">流量计数器</translation>
 <translation id="8503813439785031346">用户名</translation>
 <translation id="8503836310948963452">只需再等几分钟…</translation>
-<translation id="8520963233738002436">您的“<ph name="DEVICE_NAME" />”已是最新版本</translation>
 <translation id="8521021929829989041">用作个人设备</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">您的运营商可能会要求您启用此选项以连接到其网络。如需了解详情,请联系您的运营商。</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">重新运行</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{扫描}=1{扫描 {NUMBER_OF_PAGES} 个页面}other{扫描 {NUMBER_OF_PAGES} 个页面}}</translation>
-<translation id="8994273342647807496">正在安装 - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">设备电池电量为 <ph name="BATTERY_PERCENTAGE" />%。</translation>
 <translation id="9003704114456258138">频率</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-HK.xtb b/chromeos/strings/chromeos_strings_zh-HK.xtb
index 839eeba..f1d7a58c 100644
--- a/chromeos/strings/chromeos_strings_zh-HK.xtb
+++ b/chromeos/strings/chromeos_strings_zh-HK.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">印咗 <ph name="PRINTED_PAGES" /> 頁,總共有 <ph name="TOTAL_PAGES" /> 頁。</translation>
 <translation id="345898999683440380">掃瞄緊第 <ph name="PAGE_NUM" /> 頁。完成咗 <ph name="PERCENTAGE_VALUE" />%。</translation>
 <translation id="3459509316159669723">列印</translation>
-<translation id="3462187165860821523">正在更新 <ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">韌體更新時,請勿拔除此外部裝置的插頭或關閉電腦。您可將此視窗縮到最小。此更新可能需要幾分鐘,這段期間外部裝置可能無法正常運作。</translation>
 <translation id="3486220673238053218">定義</translation>
 <translation id="3488065109653206955">部分已啟用</translation>
 <translation id="3527036260304016759">失敗 - 不明錯誤</translation>
 <translation id="3532980081107202182">大約尚餘 <ph name="MIN_REMAINING" /> 分鐘</translation>
 <translation id="3565064564551103223">已允許的 IP</translation>
+<translation id="3577473026931028326">發生錯誤,請再試一次。</translation>
 <translation id="357889014807611375">按用量收費的 Wi-Fi</translation>
 <translation id="3583278742022654445">訊號強度較弱,請嘗試移近 Wi-Fi 訊號來源。</translation>
 <translation id="3595596368722241419">電池已滿</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">此 <ph name="DEVICE_TYPE" /> 由 <ph name="MANAGER" /> 管理。管理員可能會遠端設定裝置。</translation>
 <translation id="7180611975245234373">重新整理</translation>
 <translation id="7216409898977639127">流動服務供應商</translation>
-<translation id="7240035910874241640">所有周邊裝置已更新至最新版本</translation>
 <translation id="7271040990581020067">掃瞄器目前正在使用中,請稍後再試。</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">桌布收藏</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">流量計數器</translation>
 <translation id="8503813439785031346">用戶名稱</translation>
 <translation id="8503836310948963452">只需多幾分鐘…</translation>
-<translation id="8520963233738002436">「<ph name="DEVICE_NAME" />」已更新至最新版本</translation>
 <translation id="8521021929829989041">作為個人裝置使用</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">流動網絡供應商可能會要求您必須選擇此選項,才能連接他們的網絡。詳情請聯絡流動網絡供應商。</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">再執行一次</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{掃瞄}=1{掃瞄第 {NUMBER_OF_PAGES} 頁}other{掃瞄第 {NUMBER_OF_PAGES} 頁}}</translation>
-<translation id="8994273342647807496">正在安裝 - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">裝置有 <ph name="BATTERY_PERCENTAGE" />% 電。</translation>
 <translation id="9003704114456258138">頻率</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-TW.xtb b/chromeos/strings/chromeos_strings_zh-TW.xtb
index 5f8b6e5..739e765 100644
--- a/chromeos/strings/chromeos_strings_zh-TW.xtb
+++ b/chromeos/strings/chromeos_strings_zh-TW.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">已列印 <ph name="PRINTED_PAGES" /> 頁 (共 <ph name="TOTAL_PAGES" /> 頁)。</translation>
 <translation id="345898999683440380">正在掃描第 <ph name="PAGE_NUM" /> 頁,目前已完成 <ph name="PERCENTAGE_VALUE" />%。</translation>
 <translation id="3459509316159669723">列印</translation>
-<translation id="3462187165860821523">正在更新「<ph name="DEVICE_NAME" />」</translation>
 <translation id="3484914941826596830">在韌體更新期間,請勿拔除這台外部裝置的插頭或關閉電腦。你可以將這個視窗縮到最小。更新作業可能需要幾分鐘才會完成,這段期間外部裝置可能無法正常運作。</translation>
 <translation id="3486220673238053218">定義</translation>
 <translation id="3488065109653206955">部分已啟用</translation>
 <translation id="3527036260304016759">失敗 - 不明的錯誤</translation>
 <translation id="3532980081107202182">大約還剩 <ph name="MIN_REMAINING" /> 分鐘</translation>
 <translation id="3565064564551103223">已允許的 IP</translation>
+<translation id="3577473026931028326">發生錯誤,請再試一次。</translation>
 <translation id="357889014807611375">計量付費的 Wi-Fi</translation>
 <translation id="3583278742022654445">訊號強度偏弱,建議你移動到較靠近 Wi-Fi 訊號來源的位置。</translation>
 <translation id="3595596368722241419">電池已充滿</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">這部 <ph name="DEVICE_TYPE" /> 是由 <ph name="MANAGER" /> 管理。系統管理員可從遠端設定這部裝置。</translation>
 <translation id="7180611975245234373">重新整理</translation>
 <translation id="7216409898977639127">行動網路提供者</translation>
-<translation id="7240035910874241640">所有周邊裝置均為最新版本</translation>
 <translation id="7271040990581020067">掃描器正在使用中,請稍後再試。</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">桌布集錦</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">流量計數器</translation>
 <translation id="8503813439785031346">使用者名稱</translation>
 <translation id="8503836310948963452">請稍待幾分鐘…</translation>
-<translation id="8520963233738002436">「<ph name="DEVICE_NAME" />」已更新為最新版本</translation>
 <translation id="8521021929829989041">做為個人裝置使用</translation>
 <translation id="8528615187455571738">Crosvm</translation>
 <translation id="8575298406870537639">你的電信業者可能會要求你必須選擇此選項才能連線至他們的網路。如要瞭解詳情,請洽詢你的電信業者。</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">再執行一次</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{掃描}=1{掃描第 {NUMBER_OF_PAGES} 頁}other{掃描第 {NUMBER_OF_PAGES} 頁}}</translation>
-<translation id="8994273342647807496">安裝中 - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">裝置電池電量為 <ph name="BATTERY_PERCENTAGE" />%。</translation>
 <translation id="9003704114456258138">頻率</translation>
 <translation id="9039663905644212491">PEAP</translation>
diff --git a/chromeos/strings/chromeos_strings_zu.xtb b/chromeos/strings/chromeos_strings_zu.xtb
index 137ebcb..39c8b3c 100644
--- a/chromeos/strings/chromeos_strings_zu.xtb
+++ b/chromeos/strings/chromeos_strings_zu.xtb
@@ -170,13 +170,13 @@
 <translation id="3456078764689556234">Iphrinte ikhasi elingu-<ph name="PRINTED_PAGES" /> kwangu-<ph name="TOTAL_PAGES" />.</translation>
 <translation id="345898999683440380">Iskena ikhasi <ph name="PAGE_NUM" />. Kuqedwe <ph name="PERCENTAGE_VALUE" />%.</translation>
 <translation id="3459509316159669723">Iyaphrinta</translation>
-<translation id="3462187165860821523">Ibuyekeza i-<ph name="DEVICE_NAME" /></translation>
 <translation id="3484914941826596830">Ngenkathi i-firmware ibuyekeza, ungakhiphi ukuxhuma le divayisi yangaphandle noma ucishe ikhompyutha. Unganciphisa leli windi. Lesi sibuyekezo singase sithathe imizuzu embalwa futhi idivayisi yakho yangaphandle ingase ingasebenzi phakathi nalesi sikhathi.</translation>
 <translation id="3486220673238053218">incazelo</translation>
 <translation id="3488065109653206955">Yenziwe yasebenza ngokungaphelele</translation>
 <translation id="3527036260304016759">Yehlukile - Iphutha elingaziwa</translation>
 <translation id="3532980081107202182">Kusele cishe amaminithi angu-<ph name="MIN_REMAINING" /></translation>
 <translation id="3565064564551103223">Ama-IP avunyelwe</translation>
+<translation id="3577473026931028326">Kunento engahambanga kahle. Zama futhi.</translation>
 <translation id="357889014807611375">I-Wi-Fi enemitha</translation>
 <translation id="3583278742022654445">Amandla esignali abuthakathaka. Zama ukusondela eduze komthombo wesiginali ye-Wi-Fi.</translation>
 <translation id="3595596368722241419">Ibhethri ligcwele</translation>
@@ -462,7 +462,6 @@
 <translation id="7177485034254901881">Le-<ph name="DEVICE_TYPE" /> iphethwe yi-<ph name="MANAGER" />. Abalawuli bangase balungiselele ngokulawula kude idivayisi.</translation>
 <translation id="7180611975245234373">Qala kabusha</translation>
 <translation id="7216409898977639127">Umhlinzeki weselula</translation>
-<translation id="7240035910874241640">Yonke imikhawulo isesikhathini</translation>
 <translation id="7271040990581020067">Iskena sisasetshenziswa okwamanje. Zama futhi emuva kwesikhathi.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">Amaqoqo Wesithombe Sangemuva</translation>
@@ -563,7 +562,6 @@
 <translation id="8498220429738806196">Ukubalwa Kwethrafikhi</translation>
 <translation id="8503813439785031346">Igama lomsebenzisi</translation>
 <translation id="8503836310948963452">Amaninithi ambalwa nje asele…</translation>
-<translation id="8520963233738002436">I-<ph name="DEVICE_NAME" /> yakho isesikhathini</translation>
 <translation id="8521021929829989041">Sebenzisa njengedivayisi yomuntu siqu</translation>
 <translation id="8528615187455571738">I-Crosvm</translation>
 <translation id="8575298406870537639">Inkampani yenethiwekhi yakho idinga le nketho ukuze ixhume kunethiwekhi yayo. Xhumana nenkampani yakho yenethiwekhi mayelana nemininingwane.</translation>
@@ -607,7 +605,6 @@
 <translation id="8970109610781093811">Sebenzisa futhi</translation>
 <translation id="8983038754672563810">I-HSPA</translation>
 <translation id="8987565828374052507">{NUMBER_OF_PAGES,plural, =0{Skena}=1{Skena ikhasi elingu-{NUMBER_OF_PAGES}}one{Skena ikhasi elingu-{NUMBER_OF_PAGES}}other{Skena ikhasi elingu-{NUMBER_OF_PAGES}}}</translation>
-<translation id="8994273342647807496">Iyafaka - <ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="8997710128084572139">Idivayisi inebhethri engu-<ph name="BATTERY_PERCENTAGE" />%.</translation>
 <translation id="9003704114456258138">Imvamisa</translation>
 <translation id="9039663905644212491">I-PEAP</translation>
diff --git a/components/autofill/content/browser/risk/fingerprint.cc b/components/autofill/content/browser/risk/fingerprint.cc
index 10edc0f..bacb461 100644
--- a/components/autofill/content/browser/risk/fingerprint.cc
+++ b/components/autofill/content/browser/risk/fingerprint.cc
@@ -89,12 +89,12 @@
 // Adds the list of |fonts| to the |machine|.
 void AddFontsToFingerprint(const base::ListValue& fonts,
                            Fingerprint::MachineCharacteristics* machine) {
-  for (const auto& it : fonts.GetList()) {
+  for (const auto& it : fonts.GetListDeprecated()) {
     // Each item in the list is a two-element list such that the first element
     // is the font family and the second is the font name.
     DCHECK(it.is_list());
 
-    std::string font_name = it.GetList()[1].GetString();
+    std::string font_name = it.GetListDeprecated()[1].GetString();
 
     machine->add_font(font_name);
   }
diff --git a/components/autofill/core/browser/payments/payments_client.cc b/components/autofill/core/browser/payments/payments_client.cc
index 4c8a671..72813c8 100644
--- a/components/autofill/core/browser/payments/payments_client.cc
+++ b/components/autofill/core/browser/payments/payments_client.cc
@@ -139,7 +139,7 @@
                          address_lines);
   AppendStringIfNotEmpty(profile, ADDRESS_HOME_LINE3, app_locale,
                          address_lines);
-  if (!address_lines.GetList().empty())
+  if (!address_lines.GetListDeprecated().empty())
     postal_address.SetKey("address_line", std::move(address_lines));
 
   SetStringIfNotEmpty(profile, ADDRESS_HOME_CITY, app_locale, "locality_name",
diff --git a/components/autofill_assistant/browser/devtools/value_conversions.h b/components/autofill_assistant/browser/devtools/value_conversions.h
index 078d799..082701e 100644
--- a/components/autofill_assistant/browser/devtools/value_conversions.h
+++ b/components/autofill_assistant/browser/devtools/value_conversions.h
@@ -157,7 +157,7 @@
       return result;
     }
     errors->Push();
-    for (const auto& item : value.GetList())
+    for (const auto& item : value.GetListDeprecated())
       result.push_back(FromValue<T>::Parse(item, errors));
     errors->Pop();
     return result;
diff --git a/components/autofill_assistant/browser/parse_jspb.cc b/components/autofill_assistant/browser/parse_jspb.cc
index 48a5729..ac16d9a 100644
--- a/components/autofill_assistant/browser/parse_jspb.cc
+++ b/components/autofill_assistant/browser/parse_jspb.cc
@@ -47,7 +47,7 @@
   if (!value.is_list()) {
     return false;
   }
-  base::Value::ConstListView list = value.GetList();
+  base::Value::ConstListView list = value.GetListDeprecated();
   if (list.empty() || !list.front().is_string() ||
       !base::StartsWith(list.front().GetString(), jspb_id_prefix)) {
     if (error_message != nullptr) {
@@ -100,8 +100,8 @@
       if (IsJspbMessage(jspb_id_prefix, value, /* error_message= */ nullptr)) {
         // A proto message
         std::string bytes;
-        if (!ParseJspbToString(jspb_id_prefix, value.GetList(), &bytes,
-                               error_message)) {
+        if (!ParseJspbToString(jspb_id_prefix, value.GetListDeprecated(),
+                               &bytes, error_message)) {
           return false;
         }
         WriteTag(field_tag, WIRETYPE_LENGTH_DELIMITED, out);
@@ -110,7 +110,7 @@
         break;
       }
       // A repeated field.
-      for (const base::Value& element : value.GetList()) {
+      for (const base::Value& element : value.GetListDeprecated()) {
         AppendFieldValue(jspb_id_prefix, field_tag, element, out,
                          error_message);
       }
@@ -183,7 +183,7 @@
     return absl::nullopt;
   }
   std::string bytes;
-  if (!ParseJspbToString(jspb_id_prefix, message.GetList(), &bytes,
+  if (!ParseJspbToString(jspb_id_prefix, message.GetListDeprecated(), &bytes,
                          error_message)) {
     return absl::nullopt;
   }
diff --git a/components/autofill_assistant/browser/web/web_controller_browsertest.cc b/components/autofill_assistant/browser/web/web_controller_browsertest.cc
index 698e3999..a2e38a4 100644
--- a/components/autofill_assistant/browser/web/web_controller_browsertest.cc
+++ b/components/autofill_assistant/browser/web/web_controller_browsertest.cc
@@ -839,11 +839,11 @@
       [itemRect.top, itemRect.bottom, window.innerHeight,
            containerRect.top, containerRect.bottom])")
                                   .ExtractList();
-    double top = eval_result.GetList()[0].GetDouble();
-    double bottom = eval_result.GetList()[1].GetDouble();
-    double window_height = eval_result.GetList()[2].GetDouble();
-    double container_top = eval_result.GetList()[3].GetDouble();
-    double container_bottom = eval_result.GetList()[4].GetDouble();
+    double top = eval_result.GetListDeprecated()[0].GetDouble();
+    double bottom = eval_result.GetListDeprecated()[1].GetDouble();
+    double window_height = eval_result.GetListDeprecated()[2].GetDouble();
+    double container_top = eval_result.GetListDeprecated()[3].GetDouble();
+    double container_bottom = eval_result.GetListDeprecated()[4].GetDouble();
 
     // Element is at the desired position. (top is relative to the viewport)
     EXPECT_NEAR(top, window_height * 0.25, 1);
@@ -1650,8 +1650,8 @@
       let containerRect = container.getBoundingClientRect();
       [itemRect.top, containerRect.top])")
                                 .ExtractList();
-  double element_top = eval_result.GetList()[0].GetDouble();
-  double container_top = eval_result.GetList()[1].GetDouble();
+  double element_top = eval_result.GetListDeprecated()[0].GetDouble();
+  double container_top = eval_result.GetListDeprecated()[1].GetDouble();
 
   // Element is at the desired position.
   EXPECT_NEAR(element_top, container_top, 1);
@@ -1723,8 +1723,8 @@
   )")
                                 .ExtractList();
 
-  double top = eval_result.GetList()[0].GetDouble();
-  double window_inner_height = eval_result.GetList()[1].GetDouble();
+  double top = eval_result.GetListDeprecated()[0].GetDouble();
+  double window_inner_height = eval_result.GetListDeprecated()[1].GetDouble();
 
   EXPECT_NEAR(top, window_inner_height * 0.7, 1);
 }
diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc
index 7bc70e3..f052508 100644
--- a/components/bookmarks/browser/bookmark_codec.cc
+++ b/components/bookmarks/browser/bookmark_codec.cc
@@ -230,7 +230,7 @@
 bool BookmarkCodec::DecodeChildren(const base::Value& child_value_list,
                                    BookmarkNode* parent) {
   DCHECK(child_value_list.is_list());
-  for (const base::Value& child_value : child_value_list.GetList()) {
+  for (const base::Value& child_value : child_value_list.GetListDeprecated()) {
     if (!child_value.is_dict())
       return false;
     DecodeNode(child_value, parent, nullptr);
diff --git a/components/bookmarks/managed/managed_bookmarks_policy_handler.cc b/components/bookmarks/managed/managed_bookmarks_policy_handler.cc
index 733605a..1067589 100644
--- a/components/bookmarks/managed/managed_bookmarks_policy_handler.cc
+++ b/components/bookmarks/managed/managed_bookmarks_policy_handler.cc
@@ -48,7 +48,7 @@
     const base::Value& list) {
   DCHECK(list.is_list());
   // Iterate over the list, and try to find the FolderName.
-  for (const auto& el : list.GetList()) {
+  for (const auto& el : list.GetListDeprecated()) {
     if (!el.is_dict())
       continue;
 
diff --git a/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc b/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc
index 5084d22..3d1d8563 100644
--- a/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc
+++ b/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc
@@ -208,7 +208,7 @@
 
   // Swap the Google bookmark with the Folder.
   base::Value updated(CreateTestTree());
-  base::Value::ListView updated_listview = updated.GetList();
+  base::Value::ListView updated_listview = updated.GetListDeprecated();
   ASSERT_FALSE(updated_listview.empty());
   base::Value removed = std::move(updated_listview[0]);
   ASSERT_TRUE(updated.EraseListIter(updated_listview.begin()));
@@ -232,7 +232,7 @@
 
   // Remove the Folder.
   base::Value updated(CreateTestTree());
-  ASSERT_TRUE(updated.EraseListIter(updated.GetList().begin() + 1));
+  ASSERT_TRUE(updated.EraseListIter(updated.GetListDeprecated().begin() + 1));
 
   const BookmarkNode* parent = managed_node();
   EXPECT_CALL(observer_, BookmarkNodeRemoved(model_.get(), parent, 1, _, _));
diff --git a/components/browser_ui/site_settings/android/storage_info_fetcher.cc b/components/browser_ui/site_settings/android/storage_info_fetcher.cc
index aa68b455..f87430e 100644
--- a/components/browser_ui/site_settings/android/storage_info_fetcher.cc
+++ b/components/browser_ui/site_settings/android/storage_info_fetcher.cc
@@ -51,7 +51,6 @@
       FROM_HERE,
       base::BindOnce(
           &storage::QuotaManager::DeleteHostData, quota_manager_, host, type,
-          storage::AllQuotaClientTypes(),
           base::BindOnce(&StorageInfoFetcher::OnUsageClearedInternal, this)));
 }
 
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb
index 62a1b22..845acab 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Разгарнуць</translation>
 <translation id="4336434711095810371">Выдаліць усе даныя</translation>
 <translation id="4402755511846832236">Не даваць сайтам знаць, калі вы карыстаецеся гэтай прыладай</translation>
+<translation id="4428065317363009941">Персаналізацыя рэкламы</translation>
 <translation id="4434045419905280838">Усплыв. вокны і перанакіраванні</translation>
 <translation id="445467742685312942">Дазволіць сайтам прайграваць абароненае змесціва</translation>
 <translation id="4468959413250150279">Выключыць гук на канкрэтным сайце.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb
index 97e4945d..958779f 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Разгъване</translation>
 <translation id="4336434711095810371">Изчистване на всички данни</translation>
 <translation id="4402755511846832236">Блокиране на сайтовете, така че да не знаят дали това устройство се използва активно</translation>
+<translation id="4428065317363009941">Персонализиране на рекламите</translation>
 <translation id="4434045419905280838">Изскач. прозорци и пренасочвания</translation>
 <translation id="445467742685312942">Разрешаване на сайтовете да възпроизвеждат защитено съдържание</translation>
 <translation id="4468959413250150279">Спиране на звука за конкретен сайт.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb
index 9318b739..2c91c3c 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Proširi</translation>
 <translation id="4336434711095810371">Obriši sve podatke</translation>
 <translation id="4402755511846832236">Blokirajte web lokacijama informacije o vašem aktivnom korištenju ovog uređaja</translation>
+<translation id="4428065317363009941">Personalizacija oglasa</translation>
 <translation id="4434045419905280838">Skočni proz. i preusmjeravanja</translation>
 <translation id="445467742685312942">Dozvoljava web lokacijama da reproduciraju zaštićen sadržaj</translation>
 <translation id="4468959413250150279">Isključen zvuk za određenu web lokaciju.</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 c899636..3fd29c34 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Desplega</translation>
 <translation id="4336434711095810371">Esborra totes les dades</translation>
 <translation id="4402755511846832236">Bloqueja els llocs web perquè no sàpiguen quan estàs utilitzant aquest dispositiu de manera activa</translation>
+<translation id="4428065317363009941">Personalització d'anuncis</translation>
 <translation id="4434045419905280838">Finestres emergents i redireccions</translation>
 <translation id="445467742685312942">Permet que els llocs web reprodueixin contingut protegit</translation>
 <translation id="4468959413250150279">Silencia el so d'un lloc web concret.</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 78d2a06d..acfd5e90 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Rozbalit</translation>
 <translation id="4336434711095810371">Vymazat všechna data</translation>
 <translation id="4402755511846832236">Nedovolit webům zjistit, kdy aktivně používáte toto zařízení</translation>
+<translation id="4428065317363009941">Personalizace reklam</translation>
 <translation id="4434045419905280838">Vyskakovací okna a přesměrování</translation>
 <translation id="445467742685312942">Povolit webům přehrávat chráněný obsah</translation>
 <translation id="4468959413250150279">Vypne zvuk na konkrétním webu.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_el.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_el.xtb
index ec5b01f..0ee74d68 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_el.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_el.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Επέκταση</translation>
 <translation id="4336434711095810371">Διαγραφή όλων των δεδομένων</translation>
 <translation id="4402755511846832236">Να μην επιτρέπεται σε ιστοτόπους να γνωρίζουν πότε χρησιμοποιείτε τη συσκευή ενεργά</translation>
+<translation id="4428065317363009941">Εξατομίκευση διαφημίσεων</translation>
 <translation id="4434045419905280838">Αναδυόμενα παράθυρα και ανακατευθύνσεις</translation>
 <translation id="445467742685312942">Να επιτρέπεται στους ιστοτόπους η αναπαραγωγή προστατευμένου περιεχομένου</translation>
 <translation id="4468959413250150279">Σίγαση ήχου για συγκεκριμένο ιστότοπο.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb
index 1611470..a6ead69 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Expandir</translation>
 <translation id="4336434711095810371">Borrar todos los datos</translation>
 <translation id="4402755511846832236">No permitir que los sitios sepan cuando estás usando activamente este dispositivo</translation>
+<translation id="4428065317363009941">Personalización de anuncios</translation>
 <translation id="4434045419905280838">Ventanas emergentes y redireccionamientos</translation>
 <translation id="445467742685312942">Permitir que los sitios reproduzcan contenido protegido</translation>
 <translation id="4468959413250150279">Silenciar un sitio específico.</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 e72ce2fe..2c9882df 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Mostrar</translation>
 <translation id="4336434711095810371">Borrar todos los datos</translation>
 <translation id="4402755511846832236">Impide que los sitios detecten cuándo usas activamente este dispositivo</translation>
+<translation id="4428065317363009941">Personalización de anuncios</translation>
 <translation id="4434045419905280838">Ventanas emergentes y redirecciones</translation>
 <translation id="445467742685312942">Permitir que los sitios reproduzcan contenido protegido</translation>
 <translation id="4468959413250150279">Silencia el sonido de un sitio específico.</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 094fe895..11c17ea 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Laienda</translation>
 <translation id="4336434711095810371">Kustuta kõik andmed</translation>
 <translation id="4402755511846832236">Keelake saitidel selle tuvastamine, millal seda seadet aktiivselt kasutate</translation>
+<translation id="4428065317363009941">Reklaamide isikupärastamine</translation>
 <translation id="4434045419905280838">Hüpikaknad ja ümbersuunamised</translation>
 <translation id="445467742685312942">Saitidel on lubatud esitada kaitstud sisu</translation>
 <translation id="4468959413250150279">Konkreetse saidi heli vaigistamine.</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 b5c2358f4..5c99d9c 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Laajenna</translation>
 <translation id="4336434711095810371">Poista kaikki data</translation>
 <translation id="4402755511846832236">Estä sivustoja tietämästä, kun käytät tätä laitetta aktiivisesti</translation>
+<translation id="4428065317363009941">Mainosten personointi</translation>
 <translation id="4434045419905280838">Ponn.ikkunat ja uudelleenohjaus</translation>
 <translation id="445467742685312942">Salli sivustojen toistaa suojattua sisältöä</translation>
 <translation id="4468959413250150279">Mykistä tietyn sivuston äänet.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb
index a06aca2..f7591e6 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Développer</translation>
 <translation id="4336434711095810371">Effacer toutes les données</translation>
 <translation id="4402755511846832236">Empêcher les sites de savoir si vous utilisez activement cet appareil</translation>
+<translation id="4428065317363009941">Personnalisation des annonces</translation>
 <translation id="4434045419905280838">Pop-up et redirections</translation>
 <translation id="445467742685312942">Autoriser les sites à lire les contenus protégés</translation>
 <translation id="4468959413250150279">Coupez le son d'un site spécifique.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb
index caa5eba..724422e 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Ampliar</translation>
 <translation id="4336434711095810371">Borrar todos os datos</translation>
 <translation id="4402755511846832236">Impide que os sitios saiban se estás utilizando este dispositivo de maneira activa</translation>
+<translation id="4428065317363009941">Personalización de anuncios</translation>
 <translation id="4434045419905280838">Ventás emerxentes e redireccións</translation>
 <translation id="445467742685312942">Permitir que os sitios reproduzan contido protexido</translation>
 <translation id="4468959413250150279">Silencia o son dun sitio específico.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_hr.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_hr.xtb
index eeda259..ba004aef 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_hr.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_hr.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Proširi</translation>
 <translation id="4336434711095810371">Izbriši sve podatke</translation>
 <translation id="4402755511846832236">Onemogućivanje web-lokacijama da znaju kad aktivno upotrebljavate ovaj uređaj</translation>
+<translation id="4428065317363009941">Prilagodba oglasa</translation>
 <translation id="4434045419905280838">Skočni prozori i preusmjeravanja</translation>
 <translation id="445467742685312942">Web-lokacijama je dopuštena reprodukcija zaštićenog sadržaja</translation>
 <translation id="4468959413250150279">Isključivanje zvuka za određenu web-lokaciju.</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 de86267..4bbed37 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Luaskan</translation>
 <translation id="4336434711095810371">Hapus semua data</translation>
 <translation id="4402755511846832236">Blokir situs agar tidak mengetahui saat Anda aktif menggunakan perangkat ini</translation>
+<translation id="4428065317363009941">Personalisasi iklan</translation>
 <translation id="4434045419905280838">Pop-up dan pengalihan</translation>
 <translation id="445467742685312942">Izinkan situs memutar konten yang dilindungi</translation>
 <translation id="4468959413250150279">Mematikan suara untuk situs tertentu.</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 bbe8dea..52e0ba7 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Stækka</translation>
 <translation id="4336434711095810371">Hreinsa öll gögn</translation>
 <translation id="4402755511846832236">Lokaðu á að vefsvæði geti séð hvenær þú notar þetta tæki</translation>
+<translation id="4428065317363009941">Sérsniðnar auglýsingar</translation>
 <translation id="4434045419905280838">Sprettigluggar og framsendingar</translation>
 <translation id="445467742685312942">Leyfa vefsvæðum að spila varið efni</translation>
 <translation id="4468959413250150279">Slökkva á hljóði á tilteknu vefsvæði.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb
index 7ef3425..f1ab4a7 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">הרחבה</translation>
 <translation id="4336434711095810371">ניקוי כל הנתונים</translation>
 <translation id="4402755511846832236">אתרים לא יוכלו לדעת מתי המכשיר הזה משמש אותך באופן פעיל</translation>
+<translation id="4428065317363009941">התאמה אישית של מודעות</translation>
 <translation id="4434045419905280838">חלונות קופצים והפניות אוטומטיות</translation>
 <translation id="445467742685312942">מתן הרשאה לאתרים להציג תוכן מוגן</translation>
 <translation id="4468959413250150279">השתקת צלילים באתר ספציפי.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_kk.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_kk.xtb
index 0f94993d..f9f4e64 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_kk.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_kk.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Жаю</translation>
 <translation id="4336434711095810371">Барлық деректерді өшіру</translation>
 <translation id="4402755511846832236">Сайттарды бөгеу арқылы олардың құрылғыны қашан белсенді пайдаланғаныңыз туралы ақпаратты алуына жол берілмейді.</translation>
+<translation id="4428065317363009941">Жарнаманы жекелендіру</translation>
 <translation id="4434045419905280838">Қалқымалы терезе және бағыттау</translation>
 <translation id="445467742685312942">Сайттарға қорғалған мазмұнды ойнатуға рұқсат беру</translation>
 <translation id="4468959413250150279">Белгілі бір сайтта дыбысты өшіру.</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 d792c37..095362b 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">ពង្រីក</translation>
 <translation id="4336434711095810371">សម្អាត​ទិន្នន័យ​ទាំងអស់</translation>
 <translation id="4402755511846832236">ទប់ស្កាត់​គេហទំព័រមិនឱ្យដឹង​អំពីពេលវេលាដែលអ្នក​កំពុងប្រើឧបករណ៍នេះ​យ៉ាងសកម្ម</translation>
+<translation id="4428065317363009941">ការកំណត់ការផ្សាយពាណិជ្ជកម្មឱ្យស្របតាមបុគ្គល</translation>
 <translation id="4434045419905280838">ផ្ទាំងផុស​ និង​ការ​បញ្ជូន​បន្ត</translation>
 <translation id="445467742685312942">អនុញ្ញាតឱ្យ​គេហទំព័រ​ចាក់ខ្លឹមសារដែលមាន​ការការពារ</translation>
 <translation id="4468959413250150279">បិទសំឡេងសម្រាប់ទំព័រជាក់លាក់។</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 c6640ee44..b72d3db5 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">펼치기</translation>
 <translation id="4336434711095810371">모든 데이터 삭제</translation>
 <translation id="4402755511846832236">사용자가 현재 기기를 사용 중인지 사이트에서 알 수 없도록 차단합니다.</translation>
+<translation id="4428065317363009941">광고 개인 최적화</translation>
 <translation id="4434045419905280838">팝업 및 리디렉션</translation>
 <translation id="445467742685312942">사이트에서 보호된 콘텐츠를 재생하도록 허용</translation>
 <translation id="4468959413250150279">특정 사이트를 음소거합니다.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb
index 1ec1800e..896fdff 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Izvērst</translation>
 <translation id="4336434711095810371">Notīrīt visus datus</translation>
 <translation id="4402755511846832236">Nerādīt vietnēm, kad jūs aktīvi lietojat šo ierīci</translation>
+<translation id="4428065317363009941">Reklāmu personalizēšana</translation>
 <translation id="4434045419905280838">Uznirstošie elem. un novirzīšana</translation>
 <translation id="445467742685312942">Ļaut vietnēm atskaņot aizsargātu saturu</translation>
 <translation id="4468959413250150279">Izslēgt skaņu noteiktai vietnei</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 9d5f5f6..453b5661 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">ପ୍ରସାରଣ କରନ୍ତୁ</translation>
 <translation id="4336434711095810371">ସମସ୍ତ ଡାଟା ଖାଲି କରନ୍ତୁ</translation>
 <translation id="4402755511846832236">ଆପଣ କେତେବେଳେ ସକ୍ରିୟ ଭାବେ ଏହି ଡିଭାଇସକୁ ବ୍ୟବହାର କରୁଛନ୍ତି ତାହା ଜାଣିବାରୁ ସାଇଟଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରନ୍ତୁ</translation>
+<translation id="4428065317363009941">ବିଜ୍ଞାପନ ପର୍ସନାଲାଇଜେସନ</translation>
 <translation id="4434045419905280838">ପପ୍-ଅପ୍ ଏବଂ ରିଡାଇରେକ୍‌ଟ</translation>
 <translation id="445467742685312942">ସାଇଟ୍‍ଗୁଡ଼ିକୁ ସୁରକ୍ଷିତ ବିଷୟବସ୍ତୁ ଚଳାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ</translation>
 <translation id="4468959413250150279">ଗୋଟିଏ ନିର୍ଦ୍ଦିଷ୍ଟ ସାଇଟ୍ ପାଇଁ ସାଉଣ୍ଡକୁ ମ୍ୟୁଟ୍ କରନ୍ତୁ।</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 adf5898..6f87f719 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Expandir</translation>
 <translation id="4336434711095810371">Limpar todos os dados</translation>
 <translation id="4402755511846832236">Impedir que sites saibam quando você está usando este dispositivo</translation>
+<translation id="4428065317363009941">Personalização de anúncios</translation>
 <translation id="4434045419905280838">Pop-ups e redirecionamentos</translation>
 <translation id="445467742685312942">Permitir que sites mostrem conteúdo protegido</translation>
 <translation id="4468959413250150279">Desativar o som de um site específico.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb
index 2c0bb26..b91ed5ff 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Zgjero</translation>
 <translation id="4336434711095810371">Pastro të gjitha të dhënat</translation>
 <translation id="4402755511846832236">Blloko sajtet që të mos e dinë kur ti e përdor këtë pajisje në mënyrë aktive</translation>
+<translation id="4428065317363009941">Personalizimi i reklamave</translation>
 <translation id="4434045419905280838">Dritaret kërcyese dhe ridrejtimet</translation>
 <translation id="445467742685312942">Lejo sajtet të luajnë përmbajtje të mbrojtura</translation>
 <translation id="4468959413250150279">Hiq zërin për një sajt specifik.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb
index 7c83b29..c878604 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Expandera</translation>
 <translation id="4336434711095810371">Rensa all data</translation>
 <translation id="4402755511846832236">Blockera webbplatser från att veta när du använder enheten aktivt</translation>
+<translation id="4428065317363009941">Personliga annonspreferenser</translation>
 <translation id="4434045419905280838">Popup-fönster och omdirigeringar</translation>
 <translation id="445467742685312942">Tillåt att webbplatser spelar upp skyddat innehåll</translation>
 <translation id="4468959413250150279">Stäng av ljudet för en webbplats.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ta.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ta.xtb
index 5788a51..024887b2 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ta.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ta.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">விரி</translation>
 <translation id="4336434711095810371">அனைத்துத் தரவையும் அழி</translation>
 <translation id="4402755511846832236">இந்தச் சாதனத்தில் நீங்கள் செயலில் இருப்பது குறித்துத் தளங்கள் அறிந்துகொள்வதைத் தடுக்கும்</translation>
+<translation id="4428065317363009941">விளம்பரப் பிரத்தியேகமாக்கல்</translation>
 <translation id="4434045419905280838">பாப்-அப்கள் &amp; திசைதிருப்புதல்கள்</translation>
 <translation id="445467742685312942">பாதுகாக்கப்பட்ட உள்ளடக்கத்தை இயக்குவதற்குத் தளங்களை அனுமதிக்கும்</translation>
 <translation id="4468959413250150279">குறிப்பிட்ட தளத்திற்கு ஒலியடக்கு</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb
index ceda4fd..71bdf92 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Genişlet</translation>
 <translation id="4336434711095810371">Tüm verileri temizle</translation>
 <translation id="4402755511846832236">Bu cihazı etkin olarak kullandığınızda sitelerin bunu bilmesi engellenir</translation>
+<translation id="4428065317363009941">Reklam kişiselleştirme</translation>
 <translation id="4434045419905280838">Pop-up'lar ve yönlendirmeler</translation>
 <translation id="445467742685312942">Sitelerin korumalı içeriği oynatmasına izin ver</translation>
 <translation id="4468959413250150279">Belirli bir site için sesi kapatın.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
index 9820e4a..7c30084 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Розгорнути</translation>
 <translation id="4336434711095810371">Видалити всі дані</translation>
 <translation id="4402755511846832236">Блокувати сайтам інформацію про те, чи ви активно використовуєте цей пристрій</translation>
+<translation id="4428065317363009941">Персоналізація реклами</translation>
 <translation id="4434045419905280838">Спливаючі вікна/переспрямування</translation>
 <translation id="445467742685312942">Дозволити сайтам відтворювати захищений вміст</translation>
 <translation id="4468959413250150279">Вимкнути звук для певного сайту.</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 ca3336d..bae67c9 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
@@ -129,6 +129,7 @@
 <translation id="42981349822642051">Mở rộng</translation>
 <translation id="4336434711095810371">Xóa tất cả dữ liệu</translation>
 <translation id="4402755511846832236">Không cho các trang web biết khi bạn đang dùng thiết bị này</translation>
+<translation id="4428065317363009941">Cá nhân hoá quảng cáo</translation>
 <translation id="4434045419905280838">Cửa sổ bật lên và liên kết chuyển hướng</translation>
 <translation id="445467742685312942">Cho phép trang web phát nội dung được bảo vệ</translation>
 <translation id="4468959413250150279">Tắt âm thanh trên một trang web cụ thể.</translation>
diff --git a/components/browser_ui/widget/android/BUILD.gn b/components/browser_ui/widget/android/BUILD.gn
index 8b25641..9b8def64 100644
--- a/components/browser_ui/widget/android/BUILD.gn
+++ b/components/browser_ui/widget/android/BUILD.gn
@@ -167,6 +167,7 @@
     "java/res/drawable-mdpi/ic_more_vert_24dp_on_light_bg.png",
     "java/res/drawable-v24/app_menu_bg.xml",
     "java/res/drawable-v24/dialog_bg_no_shadow.xml",
+    "java/res/drawable-v24/menu_bg_tinted.xml",
     "java/res/drawable-v24/oval_surface_1.xml",
     "java/res/drawable-v24/rectangle_surface_1.xml",
     "java/res/drawable-v24/rounded_rectangle_surface_1.xml",
diff --git a/components/browser_ui/widget/android/java/res/drawable-v24/menu_bg_tinted.xml b/components/browser_ui/widget/android/java/res/drawable-v24/menu_bg_tinted.xml
new file mode 100644
index 0000000..54adac45
--- /dev/null
+++ b/components/browser_ui/widget/android/java/res/drawable-v24/menu_bg_tinted.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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. -->
+
+<layer-list
+    xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/popup_bg" />
+    <item>
+        <org.chromium.components.browser_ui.widget.SurfaceColorDrawable
+            xmlns:app="http://schemas.android.com/apk/res-auto"
+            android:shape="rectangle"
+            app:surfaceElevation="@dimen/menu_bg_color_elev">
+            <corners android:radius="@dimen/popup_bg_corner_radius" />
+        </org.chromium.components.browser_ui.widget.SurfaceColorDrawable>
+    </item>
+</layer-list>
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java
index 1889d9c..d513c35 100644
--- a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java
+++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java
@@ -10,13 +10,13 @@
 import android.view.View;
 import android.widget.LinearLayout.LayoutParams;
 
+import androidx.appcompat.content.res.AppCompatResources;
 import androidx.test.filters.MediumTest;
 
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.test.params.BaseJUnit4RunnerDelegate;
 import org.chromium.base.test.params.ParameterAnnotations;
 import org.chromium.base.test.params.ParameterAnnotations.UseRunnerDelegate;
@@ -73,8 +73,8 @@
 
             BasicListMenu listMenu = new BasicListMenu(activity, data, null);
             mView = listMenu.getContentView();
-            mView.setBackground(ApiCompatibilityUtils.getDrawable(
-                    activity.getResources(), R.drawable.menu_bg_tinted));
+            mView.setBackground(
+                    AppCompatResources.getDrawable(activity, R.drawable.menu_bg_tinted));
             int width = activity.getResources().getDimensionPixelSize(R.dimen.list_menu_width);
             activity.setContentView(mView, new LayoutParams(width, WRAP_CONTENT));
         });
diff --git a/components/custom_handlers/BUILD.gn b/components/custom_handlers/BUILD.gn
index cfba4ca..f33ccc56 100644
--- a/components/custom_handlers/BUILD.gn
+++ b/components/custom_handlers/BUILD.gn
@@ -8,6 +8,8 @@
     "pref_names.h",
     "protocol_handler_registry.cc",
     "protocol_handler_registry.h",
+    "protocol_handler_throttle.cc",
+    "protocol_handler_throttle.h",
   ]
   deps = [
     "//build:chromeos_buildflags",
@@ -17,6 +19,8 @@
     "//components/user_prefs",
     "//content/public/browser",
     "//content/public/common",
+    "//services/network/public/cpp:cpp_base",
+    "//third_party/blink/public/common:headers",
   ]
 }
 
diff --git a/components/custom_handlers/DEPS b/components/custom_handlers/DEPS
index eeaf6ed2..542e824 100644
--- a/components/custom_handlers/DEPS
+++ b/components/custom_handlers/DEPS
@@ -7,5 +7,7 @@
   "+content/public/browser",
   "+content/public/common",
   "+content/public/test",
+  "+third_party/blink/public/common/loader",
   "+third_party/blink/public/common/security",
+  "+services/network/public/cpp",
 ]
diff --git a/components/custom_handlers/protocol_handler_throttle.cc b/components/custom_handlers/protocol_handler_throttle.cc
new file mode 100644
index 0000000..690cfa8
--- /dev/null
+++ b/components/custom_handlers/protocol_handler_throttle.cc
@@ -0,0 +1,50 @@
+// 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/custom_handlers/protocol_handler_throttle.h"
+
+#include "components/custom_handlers/protocol_handler_registry.h"
+#include "services/network/public/cpp/resource_request.h"
+
+namespace custom_handlers {
+
+ProtocolHandlerThrottle::ProtocolHandlerThrottle(
+    const custom_handlers::ProtocolHandlerRegistry& protocol_handler_registry)
+    : protocol_handler_registry_(&protocol_handler_registry) {}
+
+void ProtocolHandlerThrottle::WillStartRequest(
+    network::ResourceRequest* request,
+    bool* defer) {
+  // Don't translate the urn: scheme URL while loading the resource from the
+  // specified web bundle.
+  // TODO(https://crbug.com/1257045): Remove this when we drop urn: scheme
+  // support in WebBundles.
+  if (request->web_bundle_token_params &&
+      request->url.SchemeIs(url::kUrnScheme)) {
+    return;
+  }
+  TranslateUrl(request->url);
+}
+
+void ProtocolHandlerThrottle::WillRedirectRequest(
+    net::RedirectInfo* redirect_info,
+    const network::mojom::URLResponseHead& response_head,
+    bool* defer,
+    std::vector<std::string>* to_be_removed_headers,
+    net::HttpRequestHeaders* modified_headers,
+    net::HttpRequestHeaders* modified_cors_exempt_headers) {
+  TranslateUrl(redirect_info->new_url);
+}
+
+void ProtocolHandlerThrottle::TranslateUrl(GURL& url) {
+  // TODO(jfernandez): We should use scheme_piece instead, which would imply
+  // adadpting the ProtocolHandlerRegistry code to use StringPiece.
+  if (!protocol_handler_registry_->IsHandledProtocol(url.scheme()))
+    return;
+  GURL translated_url = protocol_handler_registry_->Translate(url);
+  if (!translated_url.is_empty())
+    url = translated_url;
+}
+
+}  // namespace custom_handlers
diff --git a/components/custom_handlers/protocol_handler_throttle.h b/components/custom_handlers/protocol_handler_throttle.h
new file mode 100644
index 0000000..2a79d29
--- /dev/null
+++ b/components/custom_handlers/protocol_handler_throttle.h
@@ -0,0 +1,44 @@
+// 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_CUSTOM_HANDLERS_PROTOCOL_HANDLER_THROTTLE_H_
+#define COMPONENTS_CUSTOM_HANDLERS_PROTOCOL_HANDLER_THROTTLE_H_
+
+#include "base/memory/raw_ptr.h"
+#include "url/gurl.h"
+
+#include "third_party/blink/public/common/loader/url_loader_throttle.h"
+
+namespace custom_handlers {
+
+class ProtocolHandlerRegistry;
+
+class ProtocolHandlerThrottle : public blink::URLLoaderThrottle {
+ public:
+  explicit ProtocolHandlerThrottle(const ProtocolHandlerRegistry&);
+  ~ProtocolHandlerThrottle() override = default;
+
+  void WillStartRequest(network::ResourceRequest* request,
+                        bool* defer) override;
+
+  void WillRedirectRequest(
+      net::RedirectInfo* redirect_info,
+      const network::mojom::URLResponseHead& response_head,
+      bool* defer,
+      std::vector<std::string>* to_be_removed_headers,
+      net::HttpRequestHeaders* modified_headers,
+      net::HttpRequestHeaders* modified_cors_exempt_headers) override;
+
+ private:
+  // If the @url has a custom protocol handler, the argument will return the
+  // translated url.
+  void TranslateUrl(GURL& url);
+  // The ProtocolHandlerRegistry instance is a KeyedService which ownership is
+  // managed by the BrowseContext.
+  raw_ptr<const ProtocolHandlerRegistry> protocol_handler_registry_;
+};
+
+}  // namespace custom_handlers
+
+#endif  // COMPONENTS_CUSTOM_HANDLERS_PROTOCOL_HANDLER_THROTTLE_H_
diff --git a/components/digital_asset_links/digital_asset_links_handler.cc b/components/digital_asset_links/digital_asset_links_handler.cc
index 458f1c1..e18ada8 100644
--- a/components/digital_asset_links/digital_asset_links_handler.cc
+++ b/components/digital_asset_links/digital_asset_links_handler.cc
@@ -194,7 +194,7 @@
   // We only output individual statement failures if none match.
   std::vector<std::string> failures;
 
-  for (const auto& statement : statement_list.GetList()) {
+  for (const auto& statement : statement_list.GetListDeprecated()) {
     if (!statement.is_dict()) {
       failures.push_back("Statement is not a dictionary.");
       continue;
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
index c4adefec..2a36e09a 100644
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -384,6 +384,9 @@
     LOG(WARNING) << "Ignored invalid value for flag --" << kUserAgent;
   }
 
+  if (base::FeatureList::IsEnabled(blink::features::kFullUserAgent))
+    return GetFullUserAgent();
+
   if (base::FeatureList::IsEnabled(blink::features::kReduceUserAgent))
     return GetReducedUserAgent(force_major_to_minor);
 
diff --git a/components/embedder_support/user_agent_utils_unittest.cc b/components/embedder_support/user_agent_utils_unittest.cc
index 7aa666d..069a436 100644
--- a/components/embedder_support/user_agent_utils_unittest.cc
+++ b/components/embedder_support/user_agent_utils_unittest.cc
@@ -509,6 +509,29 @@
   EXPECT_EQ(GetUserAgent(), GetReducedUserAgent());
 }
 
+TEST_P(UserAgentUtilsTest, UserAgentStringFull) {
+  base::test::ScopedFeatureList scoped_feature_list;
+
+  // Verify that the full user agent string respects
+  // --force-major-version-to-minor
+  scoped_feature_list.Reset();
+  scoped_feature_list.InitWithFeatures(
+      {blink::features::kFullUserAgent,
+       blink::features::kForceMajorVersionInMinorPositionInUserAgent},
+      {});
+  { EXPECT_EQ(GetUserAgent(), GetFullUserAgent()); }
+
+  // Verify that the full user agent string when both reduced and full UA
+  // feature enabled respects
+  // --force-major-version-to-minor
+  scoped_feature_list.Reset();
+  scoped_feature_list.InitWithFeatures(
+      {blink::features::kFullUserAgent, blink::features::kReduceUserAgent,
+       blink::features::kForceMajorVersionInMinorPositionInUserAgent},
+      {});
+  { EXPECT_EQ(GetUserAgent(), GetFullUserAgent()); }
+}
+
 TEST_P(UserAgentUtilsTest, UserAgentMetadata) {
   auto metadata = GetUserAgentMetadata();
 
diff --git a/components/feed/core/v2/feed_stream.cc b/components/feed/core/v2/feed_stream.cc
index 6edfafbd..0ca7249 100644
--- a/components/feed/core/v2/feed_stream.cc
+++ b/components/feed/core/v2/feed_stream.cc
@@ -12,6 +12,7 @@
 #include "base/callback_helpers.h"
 #include "base/containers/cxx20_erase.h"
 #include "base/feature_list.h"
+#include "base/location.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/notreached.h"
 #include "base/threading/thread_task_runner_handle.h"
@@ -157,9 +158,11 @@
 
   // Inserting this task first ensures that |store_| is initialized before
   // it is used.
-  task_queue_.AddTask(std::make_unique<WaitForStoreInitializeTask>(
-      store_, this,
-      base::BindOnce(&FeedStream::InitializeComplete, base::Unretained(this))));
+  task_queue_.AddTask(FROM_HERE,
+                      std::make_unique<WaitForStoreInitializeTask>(
+                          store_, this,
+                          base::BindOnce(&FeedStream::InitializeComplete,
+                                         base::Unretained(this))));
   EnabledPreferencesChanged();
 }
 
@@ -218,9 +221,11 @@
   stream.surface_updater->LoadStreamStarted(/*manual_refreshing=*/false);
   LoadStreamTask::Options options;
   options.stream_type = stream_type;
-  task_queue_.AddTask(std::make_unique<LoadStreamTask>(
-      options, this,
-      base::BindOnce(&FeedStream::StreamLoadComplete, base::Unretained(this))));
+  task_queue_.AddTask(FROM_HERE,
+                      std::make_unique<LoadStreamTask>(
+                          options, this,
+                          base::BindOnce(&FeedStream::StreamLoadComplete,
+                                         base::Unretained(this))));
   return feedwire::DiscoverLaunchResult::CARDS_UNSPECIFIED;
 }
 
@@ -311,10 +316,12 @@
         options.load_type = LoadType::kBackgroundRefresh;
         options.stream_type = kWebFeedStream;
         options.abort_if_unread_content = true;
-        task_queue_.AddTask(std::make_unique<LoadStreamTask>(
-            options, this,
-            base::BindOnce(&FeedStream::BackgroundRefreshComplete,
-                           base::Unretained(this))));
+        task_queue_.AddTask(
+            FROM_HERE,
+            std::make_unique<LoadStreamTask>(
+                options, this,
+                base::BindOnce(&FeedStream::BackgroundRefreshComplete,
+                               base::Unretained(this))));
       }
     }
   }
@@ -331,11 +338,12 @@
 void FeedStream::OnEnterBackground() {
   metrics_reporter_->OnEnterBackground();
   if (GetFeedConfig().upload_actions_on_enter_background) {
-    task_queue_.AddTask(std::make_unique<UploadActionsTask>(
-        this,
-        /*launch_reliability_logger=*/nullptr,
-        base::BindOnce(&FeedStream::UploadActionsComplete,
-                       base::Unretained(this))));
+    task_queue_.AddTask(FROM_HERE,
+                        std::make_unique<UploadActionsTask>(
+                            this,
+                            /*launch_reliability_logger=*/nullptr,
+                            base::BindOnce(&FeedStream::UploadActionsComplete,
+                                           base::Unretained(this))));
   }
 }
 
@@ -450,8 +458,9 @@
   // Don't continue if unload_on_detach_sequence_number_ has changed.
   if (stream.unload_on_detach_sequence_number != sequence_number)
     return;
-  task_queue_.AddTask(std::make_unique<offline_pages::ClosureTask>(
-      base::BindOnce(&FeedStream::UnloadModelIfNoSurfacesAttachedTask,
+  task_queue_.AddTask(
+      FROM_HERE, std::make_unique<offline_pages::ClosureTask>(base::BindOnce(
+                     &FeedStream::UnloadModelIfNoSurfacesAttachedTask,
                      base::Unretained(this), stream_type)));
 }
 
@@ -504,9 +513,11 @@
   // to all requestors.
   stream.load_more_complete_callbacks.push_back(std::move(callback));
   if (stream.load_more_complete_callbacks.size() == 1) {
-    task_queue_.AddTask(std::make_unique<LoadMoreTask>(
-        surface.GetStreamType(), this,
-        base::BindOnce(&FeedStream::LoadMoreComplete, base::Unretained(this))));
+    task_queue_.AddTask(FROM_HERE,
+                        std::make_unique<LoadMoreTask>(
+                            surface.GetStreamType(), this,
+                            base::BindOnce(&FeedStream::LoadMoreComplete,
+                                           base::Unretained(this))));
   }
 }
 
@@ -548,10 +559,11 @@
     LoadStreamTask::Options options;
     options.stream_type = stream_type;
     options.load_type = LoadType::kManualRefresh;
-    task_queue_.AddTask(std::make_unique<LoadStreamTask>(
-        options, this,
-        base::BindOnce(&FeedStream::StreamLoadComplete,
-                       base::Unretained(this))));
+    task_queue_.AddTask(FROM_HERE,
+                        std::make_unique<LoadStreamTask>(
+                            options, this,
+                            base::BindOnce(&FeedStream::StreamLoadComplete,
+                                           base::Unretained(this))));
   }
 }
 
@@ -655,9 +667,10 @@
 void FeedStream::ForceRefreshForDebugging(const StreamType& stream_type) {
   // Avoid request throttling for debug refreshes.
   feed::prefs::SetThrottlerRequestCounts({}, *profile_prefs_);
-  task_queue_.AddTask(std::make_unique<offline_pages::ClosureTask>(
-      base::BindOnce(&FeedStream::ForceRefreshForDebuggingTask,
-                     base::Unretained(this), stream_type)));
+  task_queue_.AddTask(
+      FROM_HERE, std::make_unique<offline_pages::ClosureTask>(
+                     base::BindOnce(&FeedStream::ForceRefreshForDebuggingTask,
+                                    base::Unretained(this), stream_type)));
 }
 
 void FeedStream::ForceRefreshTask(const StreamType& stream_type) {
@@ -1004,10 +1017,11 @@
   options.stream_type = stream_type;
   options.load_type = LoadType::kBackgroundRefresh;
   options.refresh_even_when_not_stale = true;
-  task_queue_.AddTask(std::make_unique<LoadStreamTask>(
-      options, this,
-      base::BindOnce(&FeedStream::BackgroundRefreshComplete,
-                     base::Unretained(this))));
+  task_queue_.AddTask(FROM_HERE,
+                      std::make_unique<LoadStreamTask>(
+                          options, this,
+                          base::BindOnce(&FeedStream::BackgroundRefreshComplete,
+                                         base::Unretained(this))));
 }
 
 void FeedStream::BackgroundRefreshComplete(LoadStreamTask::Result result) {
@@ -1019,7 +1033,7 @@
   // Add prefetch images to task queue without waiting to finish
   // since we treat them as best-effort.
   if (result.stream_type.IsForYou())
-    task_queue_.AddTask(std::make_unique<PrefetchImagesTask>(this));
+    task_queue_.AddTask(FROM_HERE, std::make_unique<PrefetchImagesTask>(this));
 
   RefreshTaskId task_id;
   if (result.stream_type.GetRefreshTaskId(task_id)) {
@@ -1071,7 +1085,7 @@
   metrics_reporter_->OnClearAll(base::Time::Now() -
                                 GetLastFetchTime(kForYouStream));
   clear_all_in_progress_ = true;
-  task_queue_.AddTask(std::make_unique<ClearAllTask>(this));
+  task_queue_.AddTask(FROM_HERE, std::make_unique<ClearAllTask>(this));
 }
 
 void FeedStream::FinishClearAll() {
@@ -1114,9 +1128,10 @@
     const LoggingParameters& logging_parameters,
     bool upload_now,
     base::OnceCallback<void(UploadActionsTask::Result)> callback) {
-  task_queue_.AddTask(std::make_unique<UploadActionsTask>(
-      std::move(action), upload_now, logging_parameters, this,
-      std::move(callback)));
+  task_queue_.AddTask(
+      FROM_HERE, std::make_unique<UploadActionsTask>(
+                     std::move(action), upload_now, logging_parameters, this,
+                     std::move(callback)));
 }
 
 void FeedStream::LoadModel(const StreamType& stream_type,
@@ -1352,6 +1367,7 @@
   //   want a full refresh.
   // * it will add quite a bit of complexity to do it right
   task_queue_.AddTask(
+      FROM_HERE,
       std::make_unique<offline_pages::ClosureTask>(base::BindOnce(
           &FeedStream::ForceRefreshTask, base::Unretained(this), stream_type)));
 }
diff --git a/components/feed/core/v2/scheduling.cc b/components/feed/core/v2/scheduling.cc
index 51fa9ed..9122c3c0 100644
--- a/components/feed/core/v2/scheduling.cc
+++ b/components/feed/core/v2/scheduling.cc
@@ -25,7 +25,7 @@
                    std::vector<base::TimeDelta>* result) {
   if (!value.is_list())
     return false;
-  for (const base::Value& entry : value.GetList()) {
+  for (const base::Value& entry : value.GetListDeprecated()) {
     absl::optional<base::TimeDelta> delta = base::ValueToTimeDelta(entry);
     if (!delta)
       return false;
diff --git a/components/feed/core/v2/web_feed_subscription_coordinator.cc b/components/feed/core/v2/web_feed_subscription_coordinator.cc
index 00f8b741..39db3d5 100644
--- a/components/feed/core/v2/web_feed_subscription_coordinator.cc
+++ b/components/feed/core/v2/web_feed_subscription_coordinator.cc
@@ -9,6 +9,7 @@
 
 #include "base/callback_helpers.h"
 #include "base/feature_list.h"
+#include "base/location.h"
 #include "base/memory/raw_ptr.h"
 #include "base/task/post_task.h"
 #include "base/threading/sequenced_task_runner_handle.h"
@@ -273,11 +274,13 @@
 
   SubscribeToWebFeedTask::Request request;
   request.page_info = page_info;
-  feed_stream_->GetTaskQueue().AddTask(std::make_unique<SubscribeToWebFeedTask>(
-      feed_stream_, std::move(request),
-      base::BindOnce(&WebFeedSubscriptionCoordinator::FollowWebFeedComplete,
-                     base::Unretained(this), std::move(callback),
-                     /*followed_with_id=*/false)));
+  feed_stream_->GetTaskQueue().AddTask(
+      FROM_HERE,
+      std::make_unique<SubscribeToWebFeedTask>(
+          feed_stream_, std::move(request),
+          base::BindOnce(&WebFeedSubscriptionCoordinator::FollowWebFeedComplete,
+                         base::Unretained(this), std::move(callback),
+                         /*followed_with_id=*/false)));
 }
 
 void WebFeedSubscriptionCoordinator::FollowWebFeed(
@@ -300,11 +303,13 @@
   SubscribeToWebFeedTask::Request request;
   request.web_feed_id = web_feed_id;
 
-  feed_stream_->GetTaskQueue().AddTask(std::make_unique<SubscribeToWebFeedTask>(
-      feed_stream_, std::move(request),
-      base::BindOnce(&WebFeedSubscriptionCoordinator::FollowWebFeedComplete,
-                     base::Unretained(this), std::move(callback),
-                     /*followed_with_id=*/true)));
+  feed_stream_->GetTaskQueue().AddTask(
+      FROM_HERE,
+      std::make_unique<SubscribeToWebFeedTask>(
+          feed_stream_, std::move(request),
+          base::BindOnce(&WebFeedSubscriptionCoordinator::FollowWebFeedComplete,
+                         base::Unretained(this), std::move(callback),
+                         /*followed_with_id=*/true)));
 }
 
 void WebFeedSubscriptionCoordinator::FollowWebFeedComplete(
@@ -351,6 +356,7 @@
                             : absl::nullopt);
 
   feed_stream_->GetTaskQueue().AddTask(
+      FROM_HERE,
       std::make_unique<UnsubscribeFromWebFeedTask>(
           feed_stream_, web_feed_id,
           base::BindOnce(
@@ -652,6 +658,7 @@
     return;
   fetching_recommended_web_feeds_ = true;
   feed_stream_->GetTaskQueue().AddTask(
+      FROM_HERE,
       std::make_unique<FetchRecommendedWebFeedsTask>(
           feed_stream_,
           base::BindOnce(
@@ -726,6 +733,7 @@
   }
   fetching_subscribed_web_feeds_ = true;
   feed_stream_->GetTaskQueue().AddTask(
+      FROM_HERE,
       std::make_unique<FetchSubscribedWebFeedsTask>(
           feed_stream_,
           base::BindOnce(
diff --git a/components/flags_ui/flags_test_helpers.cc b/components/flags_ui/flags_test_helpers.cc
index e64da34..1d62b71 100644
--- a/components/flags_ui/flags_test_helpers.cc
+++ b/components/flags_ui/flags_test_helpers.cc
@@ -68,7 +68,7 @@
   base::Value metadata_json = FileContents(FlagFile::kFlagMetadata);
 
   FlagMetadataMap metadata;
-  for (const auto& entry : metadata_json.GetList()) {
+  for (const auto& entry : metadata_json.GetListDeprecated()) {
     std::string name = entry.FindKey("name")->GetString();
     std::vector<std::string> owners;
     if (const base::Value* e = entry.FindKey("owners")) {
@@ -86,7 +86,7 @@
   base::Value list_json = FileContents(FlagFile::kFlagNeverExpire);
 
   std::vector<std::string> result;
-  for (const auto& entry : list_json.GetList()) {
+  for (const auto& entry : list_json.GetListDeprecated()) {
     result.push_back(entry.GetString());
   }
   return result;
@@ -275,7 +275,7 @@
 
   std::vector<std::string> normalized_names;
   std::vector<std::string> names;
-  for (const auto& entry : metadata_json.GetList()) {
+  for (const auto& entry : metadata_json.GetListDeprecated()) {
     normalized_names.push_back(
         NormalizeName(entry.FindKey("name")->GetString()));
     names.push_back(entry.FindKey("name")->GetString());
@@ -287,7 +287,7 @@
 
   normalized_names.clear();
   names.clear();
-  for (const auto& entry : expiration_json.GetList()) {
+  for (const auto& entry : expiration_json.GetListDeprecated()) {
     normalized_names.push_back(NormalizeName(entry.GetString()));
     names.push_back(entry.GetString());
   }
diff --git a/components/invalidation/OWNERS b/components/invalidation/OWNERS
index 21636a67..b71a5d7 100644
--- a/components/invalidation/OWNERS
+++ b/components/invalidation/OWNERS
@@ -1,4 +1,6 @@
 treib@chromium.org
+asumaneev@google.com
+rbock@google.com
 
 # Fallback owners, in case the above are unavailable:
 dcheng@chromium.org
diff --git a/components/media_router/browser/logger_impl_unittest.cc b/components/media_router/browser/logger_impl_unittest.cc
index 799ed199..59e5914e 100644
--- a/components/media_router/browser/logger_impl_unittest.cc
+++ b/components/media_router/browser/logger_impl_unittest.cc
@@ -53,7 +53,7 @@
   std::string GetAttributeOfFirstEntry(const std::string& logs_json,
                                        const std::string& attribute) {
     base::Value logs = base::JSONReader::Read(logs_json).value();
-    return *logs.GetList()[0].FindStringKey(attribute);
+    return *logs.GetListDeprecated()[0].FindStringKey(attribute);
   }
 };
 
diff --git a/components/metrics/unsent_log_store.cc b/components/metrics/unsent_log_store.cc
index 88557d5..6b0ce7ce 100644
--- a/components/metrics/unsent_log_store.cc
+++ b/components/metrics/unsent_log_store.cc
@@ -238,18 +238,18 @@
 }
 
 void UnsentLogStore::ReadLogsFromPrefList(const base::Value& list_value) {
-  if (list_value.GetList().empty()) {
+  if (list_value.GetListDeprecated().empty()) {
     metrics_->RecordLogReadStatus(UnsentLogStoreMetrics::LIST_EMPTY);
     return;
   }
 
-  const size_t log_count = list_value.GetList().size();
+  const size_t log_count = list_value.GetListDeprecated().size();
 
   DCHECK(list_.empty());
   list_.resize(log_count);
 
   for (size_t i = 0; i < log_count; ++i) {
-    const base::Value& value = list_value.GetList()[i];
+    const base::Value& value = list_value.GetListDeprecated()[i];
     const base::DictionaryValue* dict = nullptr;
     if (value.is_dict())
       dict = &base::Value::AsDictionaryValue(value);
diff --git a/components/nacl/loader/nacl_helper_linux.cc b/components/nacl/loader/nacl_helper_linux.cc
index 288a90e7..3b2c073 100644
--- a/components/nacl/loader/nacl_helper_linux.cc
+++ b/components/nacl/loader/nacl_helper_linux.cc
@@ -71,7 +71,7 @@
     return "";
   }
 
-  for (const auto& flag : flags_list.value().GetList()) {
+  for (const auto& flag : flags_list.value().GetListDeprecated()) {
     if (!flag.is_string())
       continue;
     std::string flag_string = flag.GetString();
diff --git a/components/ntp_snippets/remote/json_to_categories.cc b/components/ntp_snippets/remote/json_to_categories.cc
index 7c5a76d0..65a57cd 100644
--- a/components/ntp_snippets/remote/json_to_categories.cc
+++ b/components/ntp_snippets/remote/json_to_categories.cc
@@ -21,7 +21,7 @@
                                  const base::Time& fetch_time) {
   DCHECK(list.is_list());
 
-  for (const base::Value& value : list.GetList()) {
+  for (const base::Value& value : list.GetListDeprecated()) {
     const base::DictionaryValue* dict = nullptr;
     if (!value.GetAsDictionary(&dict)) {
       return false;
diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/popular_sites_impl.cc
index f9aa518..70d270a2 100644
--- a/components/ntp_tiles/popular_sites_impl.cc
+++ b/components/ntp_tiles/popular_sites_impl.cc
@@ -223,7 +223,7 @@
   absl::optional<base::Value> sites = base::JSONReader::Read(
       ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(
           IDR_DEFAULT_POPULAR_SITES_JSON));
-  for (base::Value& site : sites.value().GetList())
+  for (base::Value& site : sites.value().GetListDeprecated())
     site.SetBoolKey("baked_in", true);
 
 #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
@@ -488,7 +488,7 @@
   prefs_->SetInteger(prefs::kPopularSitesVersionPref, version_in_pending_url_);
   prefs_->SetString(prefs::kPopularSitesURLPref, pending_url_.spec());
 
-  sections_ = ParseSites(list.GetList(), version_in_pending_url_);
+  sections_ = ParseSites(list.GetListDeprecated(), version_in_pending_url_);
   std::move(callback_).Run(true);
 }
 
diff --git a/components/offline_pages/task/task.h b/components/offline_pages/task/task.h
index 1d168ca..084604a 100644
--- a/components/offline_pages/task/task.h
+++ b/components/offline_pages/task/task.h
@@ -49,6 +49,7 @@
     kWaiting,
     kRunning,
     kSuspended,
+    kPendingResume,
     kCompleted,
   };
   // TaskQueue outlives and owns this task. Non-null only when this task is
diff --git a/components/offline_pages/task/task_queue.cc b/components/offline_pages/task/task_queue.cc
index 952a9a7..4cb63f9 100644
--- a/components/offline_pages/task/task_queue.cc
+++ b/components/offline_pages/task/task_queue.cc
@@ -19,11 +19,14 @@
 struct TaskQueue::Entry {
   Entry() = default;
   explicit Entry(std::unique_ptr<Task> task) : task(std::move(task)) {}
+  Entry(const base::Location& location, std::unique_ptr<Task> task)
+      : task(std::move(task)), from_here(location) {}
   Entry(std::unique_ptr<Task> task, base::OnceClosure resume_callback)
       : task(std::move(task)), resume_callback(std::move(resume_callback)) {}
 
   std::unique_ptr<Task> task;
   base::OnceClosure resume_callback;
+  base::Location from_here;
 };
 
 TaskQueue::TaskQueue(Delegate* delegate)
@@ -40,6 +43,15 @@
   StartTaskIfAvailable();
 }
 
+void TaskQueue::AddTask(const base::Location& from_here,
+                        std::unique_ptr<Task> task) {
+  DVLOG(2) << "Adding task " << from_here.ToString();
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  task->task_queue_ = this;
+  tasks_.emplace_back(from_here, std::move(task));
+  StartTaskIfAvailable();
+}
+
 bool TaskQueue::HasPendingTasks() const {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   return !tasks_.empty() || HasRunningTask();
@@ -65,6 +77,8 @@
   }
 
   current_task_ = std::move(tasks_.front().task);
+  current_task_location_ = tasks_.front().from_here;
+
   base::OnceClosure resume_callback = std::move(tasks_.front().resume_callback);
   tasks_.pop_front();
   if (resume_callback) {
@@ -80,13 +94,15 @@
 }
 
 void TaskQueue::RunCurrentTask() {
+  DVLOG(2) << "Running task " << current_task_location_.ToString();
   current_task_->Execute(base::BindOnce(&TaskCompletedCallback, task_runner_,
                                         weak_ptr_factory_.GetWeakPtr(),
                                         current_task_.get()));
 }
 
 void TaskQueue::ResumeCurrentTask(base::OnceClosure on_resume) {
-  DCHECK_EQ(Task::TaskState::kSuspended, current_task_->state_);
+  DVLOG(2) << "Resuming task " << current_task_location_.ToString();
+  DCHECK_EQ(Task::TaskState::kPendingResume, current_task_->state_);
   current_task_->state_ = Task::TaskState::kRunning;
   std::move(on_resume).Run();
 }
@@ -105,6 +121,7 @@
   // Normally, the completed task is the current task.
   if (task == current_task_.get()) {
     current_task_.reset(nullptr);
+    DVLOG(2) << "Current task completed " << current_task_location_.ToString();
     StartTaskIfAvailable();
     return;
   }
@@ -112,16 +129,9 @@
   // If the task is in the suspended_tasks_ list, remove it.
   for (auto iter = suspended_tasks_.begin(); iter != suspended_tasks_.end();
        ++iter) {
-    if (iter->get() == task) {
-      suspended_tasks_.erase(iter);
-      return;
-    }
-  }
-
-  // Otherwise, this is an enqueued task. Find and remove it.
-  for (auto iter = tasks_.begin(); iter != tasks_.end(); ++iter) {
     if (iter->task.get() == task) {
-      tasks_.erase(iter);
+      DVLOG(2) << "Suspended task completed " << iter->from_here.ToString();
+      suspended_tasks_.erase(iter);
       return;
     }
   }
@@ -134,7 +144,8 @@
   // Task::Suspend() sets state to kSuspended.
   DCHECK_EQ(Task::TaskState::kSuspended, task->state_);
   DCHECK_EQ(task, current_task_.get());
-  suspended_tasks_.push_back(std::move(current_task_));
+  suspended_tasks_.emplace_back(current_task_location_,
+                                std::move(current_task_));
   StartTaskIfAvailable();
 }
 
@@ -143,9 +154,11 @@
   DCHECK_EQ(Task::TaskState::kSuspended, task->state_);
   for (auto iter = suspended_tasks_.begin(); iter != suspended_tasks_.end();
        ++iter) {
-    if (iter->get() == task) {
-      tasks_.emplace_back(std::move(*iter), std::move(on_resume));
+    if (iter->task.get() == task) {
+      iter->resume_callback = std::move(on_resume);
+      tasks_.push_back(std::move(*iter));
       suspended_tasks_.erase(iter);
+      task->state_ = Task::TaskState::kPendingResume;
       StartTaskIfAvailable();
       return;
     }
@@ -159,4 +172,25 @@
   delegate_->OnTaskQueueIsIdle();
 }
 
+// Returns a human-readable string describing the contents of the task queue.
+std::string TaskQueue::GetStateForTesting() const {
+  std::stringstream ss;
+  if (current_task_) {
+    ss << "Current task: " << current_task_location_.ToString() << '\n';
+  } else {
+    ss << "No current task\n";
+  }
+  int number = 1;
+  for (const auto& entry : tasks_) {
+    ss << "Pending task " << number++ << ": " << entry.from_here.ToString()
+       << '\n';
+  }
+  number = 1;
+  for (const auto& entry : suspended_tasks_) {
+    ss << "Suspended task " << number++ << ": " << entry.from_here.ToString()
+       << '\n';
+  }
+  return ss.str();
+}
+
 }  // namespace offline_pages
diff --git a/components/offline_pages/task/task_queue.h b/components/offline_pages/task/task_queue.h
index eddc0c01..1689786 100644
--- a/components/offline_pages/task/task_queue.h
+++ b/components/offline_pages/task/task_queue.h
@@ -10,6 +10,7 @@
 
 #include "base/callback.h"
 #include "base/containers/circular_deque.h"
+#include "base/location.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
@@ -53,12 +54,17 @@
 
   ~TaskQueue();
 
-  // Adds a task to the queue. Queue takes ownership of the task.
+  // Adds a task to the queue. Queue takes ownership of the task. Optionally,
+  // use FROM_HERE as the first parameter for debugging.
   void AddTask(std::unique_ptr<Task> task);
+  void AddTask(const base::Location& from_here, std::unique_ptr<Task> task);
+
   // Whether the task queue has any pending (not-running) tasks.
   bool HasPendingTasks() const;
   // Whether there is a task currently running.
   bool HasRunningTask() const;
+  // Returns a human-readable string describing the contents of the task queue.
+  std::string GetStateForTesting() const;
 
  private:
   friend Task;
@@ -93,12 +99,13 @@
 
   // Currently running tasks.
   std::unique_ptr<Task> current_task_;
+  base::Location current_task_location_;
 
   // A FIFO queue of tasks that will be run using this task queue.
   base::circular_deque<Entry> tasks_;
 
   // A set of tasks which are suspended.
-  std::vector<std::unique_ptr<Task>> suspended_tasks_;
+  std::vector<Entry> suspended_tasks_;
 
   SEQUENCE_CHECKER(sequence_checker_);
 
diff --git a/components/omnibox/browser/actions/omnibox_pedal_provider.cc b/components/omnibox/browser/actions/omnibox_pedal_provider.cc
index 26eaa10..fcf66b3 100644
--- a/components/omnibox/browser/actions/omnibox_pedal_provider.cc
+++ b/components/omnibox/browser/actions/omnibox_pedal_provider.cc
@@ -410,7 +410,7 @@
   OmniboxPedal::SynonymGroup synonym_group(required, single, synonyms.size());
   for (const auto& synonyms_value : synonyms) {
     DCHECK(synonyms_value.is_list());
-    const auto& synonyms_value_list = synonyms_value.GetList();
+    const auto& synonyms_value_list = synonyms_value.GetListDeprecated();
     OmniboxPedal::TokenSequence synonym_all_tokens(synonyms_value_list.size());
     for (const auto& token_index_value : synonyms_value_list) {
       synonym_all_tokens.Add(token_index_value.GetInt());
diff --git a/components/omnibox/browser/search_suggestion_parser.cc b/components/omnibox/browser/search_suggestion_parser.cc
index 1708c20..0363848 100644
--- a/components/omnibox/browser/search_suggestion_parser.cc
+++ b/components/omnibox/browser/search_suggestion_parser.cc
@@ -86,7 +86,7 @@
     if (!subtypes_item.is_list())
       continue;
 
-    auto subtype_list = subtypes_item.GetList();
+    auto subtype_list = subtypes_item.GetListDeprecated();
     auto& result_subtypes = result[index];
     result_subtypes.reserve(subtype_list.size());
 
@@ -456,7 +456,7 @@
     Results* results) {
   if (!root_val.is_list())
     return false;
-  auto root_list = root_val.GetList();
+  auto root_list = root_val.GetListDeprecated();
 
   // 1st element: query.
   if (root_list.empty() || !root_list[0].is_string())
@@ -468,7 +468,7 @@
   // 2nd element: suggestions list.
   if (root_list.size() < 2u || !root_list[1].is_list())
     return false;
-  auto results_list = root_list[1].GetList();
+  auto results_list = root_list[1].GetListDeprecated();
 
   // 3rd element: Ignore the optional description list for now.
   // 4th element: Disregard the query URL list.
@@ -637,7 +637,7 @@
         std::u16string title;
         // 3rd element: optional descriptions list
         if (root_list.size() > 2u && root_list[2].is_list()) {
-          auto descriptions = root_list[2].GetList();
+          auto descriptions = root_list[2].GetListDeprecated();
           if (index < descriptions.size() && descriptions[index].is_string()) {
             title = base::UTF8ToUTF16(descriptions[index].GetString());
           }
diff --git a/components/omnibox/browser/zero_suggest_provider.cc b/components/omnibox/browser/zero_suggest_provider.cc
index 1aa94e43..b5d593d 100644
--- a/components/omnibox/browser/zero_suggest_provider.cc
+++ b/components/omnibox/browser/zero_suggest_provider.cc
@@ -421,7 +421,7 @@
     const bool non_empty_parsed_list =
         data->is_list() && data->GetListDeprecated().size() >= 2u &&
         data->GetListDeprecated()[1].is_list() &&
-        !data->GetListDeprecated()[1].GetList().empty();
+        !data->GetListDeprecated()[1].GetListDeprecated().empty();
     const bool non_empty_cache = !results_.suggest_results.empty() ||
                                  !results_.navigation_results.empty();
     if (non_empty_parsed_list && non_empty_cache)
diff --git a/components/permissions/contexts/bluetooth_chooser_context.cc b/components/permissions/contexts/bluetooth_chooser_context.cc
index f09dc36..a2b84457 100644
--- a/components/permissions/contexts/bluetooth_chooser_context.cc
+++ b/components/permissions/contexts/bluetooth_chooser_context.cc
@@ -94,7 +94,7 @@
   auto& manufacturer_data_list =
       *permission_object->FindListKey(kManufacturerDataKey);
   for (const auto& manufacturer_data_permission :
-       manufacturer_data_list.GetList()) {
+       manufacturer_data_list.GetListDeprecated()) {
     manufacturer_data_set.insert(
         static_cast<uint16_t>(manufacturer_data_permission.GetInt()));
   }
diff --git a/components/policy/core/browser/policy_conversions.cc b/components/policy/core/browser/policy_conversions.cc
index c4c22f7..0f5dba9 100644
--- a/components/policy/core/browser/policy_conversions.cc
+++ b/components/policy/core/browser/policy_conversions.cc
@@ -134,7 +134,7 @@
 Value DictionaryPolicyConversions::GetDeviceLocalAccountPolicies() {
   Value policies = client()->GetDeviceLocalAccountPolicies();
   Value device_values(Value::Type::DICTIONARY);
-  for (auto&& policy : policies.GetList()) {
+  for (auto&& policy : policies.GetListDeprecated()) {
     device_values.SetKey(policy.FindKey("id")->GetString(),
                          std::move(*policy.FindKey("policies")));
   }
@@ -146,7 +146,7 @@
     PolicyDomain policy_domain) {
   Value policies = client()->GetExtensionPolicies(policy_domain);
   Value extension_values(Value::Type::DICTIONARY);
-  for (auto&& policy : policies.GetList()) {
+  for (auto&& policy : policies.GetListDeprecated()) {
     extension_values.SetKey(policy.FindKey("id")->GetString(),
                             std::move(*policy.FindKey("policies")));
   }
diff --git a/components/policy/core/browser/policy_conversions_client.cc b/components/policy/core/browser/policy_conversions_client.cc
index 49c105d..c920022 100644
--- a/components/policy/core/browser/policy_conversions_client.cc
+++ b/components/policy/core/browser/policy_conversions_client.cc
@@ -214,7 +214,7 @@
   }
 
   Value result(Value::Type::LIST);
-  for (const auto& element : value_copy.GetList()) {
+  for (const auto& element : value_copy.GetListDeprecated()) {
     if (element.is_dict()) {
       result.Append(Value(ConvertValueToJSON(element)));
     } else {
diff --git a/components/policy/core/common/mac_util_unittest.cc b/components/policy/core/common/mac_util_unittest.cc
index e9ca407..ac1f5e5 100644
--- a/components/policy/core/common/mac_util_unittest.cc
+++ b/components/policy/core/common/mac_util_unittest.cc
@@ -42,7 +42,7 @@
   base::ListValue list;
   for (base::DictionaryValue::Iterator it(root); !it.IsAtEnd(); it.Advance())
     list.Append(std::make_unique<base::Value>(it.value().Clone()));
-  EXPECT_EQ(root.DictSize(), list.GetList().size());
+  EXPECT_EQ(root.DictSize(), list.GetListDeprecated().size());
   list.Append(std::make_unique<base::Value>(root.Clone()));
   root.SetKey("list", list.Clone());
 
diff --git a/components/policy/core/common/policy_loader_win_unittest.cc b/components/policy/core/common/policy_loader_win_unittest.cc
index e509072..94bb9582 100644
--- a/components/policy/core/common/policy_loader_win_unittest.cc
+++ b/components/policy/core/common/policy_loader_win_unittest.cc
@@ -109,7 +109,7 @@
     case base::Value::Type::LIST: {
       if (!value.is_list())
         return false;
-      const base::Value::ConstListView& list_view = value.GetList();
+      const base::Value::ConstListView& list_view = value.GetListDeprecated();
       for (size_t i = 0; i < list_view.size(); ++i) {
         if (!InstallValue(list_view[i], hive, path + kPathSep + name,
                           base::NumberToWString(i + 1))) {
diff --git a/components/policy/core/common/policy_test_utils.cc b/components/policy/core/common/policy_test_utils.cc
index b84ca97..aa8f2d7 100644
--- a/components/policy/core/common/policy_test_utils.cc
+++ b/components/policy/core/common/policy_test_utils.cc
@@ -101,7 +101,7 @@
     }
 
     case base::Value::Type::LIST: {
-      base::Value::ConstListView list_view = value.GetList();
+      base::Value::ConstListView list_view = value.GetListDeprecated();
       CFMutableArrayRef array =
           CFArrayCreateMutable(NULL, list_view.size(), &kCFTypeArrayCallBacks);
       for (const base::Value& entry : list_view) {
diff --git a/components/policy/core/common/registry_dict.cc b/components/policy/core/common/registry_dict.cc
index e894b64..ff487c9 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.GetList()) {
+      for (const auto& entry : value.GetListDeprecated()) {
         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 8477175..8eeafe4 100644
--- a/components/policy/core/common/schema.cc
+++ b/components/policy/core/common/schema.cc
@@ -1252,8 +1252,8 @@
       return false;
     }
   } else if (value.is_list()) {
-    for (size_t index = 0; index < value.GetList().size(); ++index) {
-      const base::Value& list_item = value.GetList()[index];
+    for (size_t index = 0; index < value.GetListDeprecated().size(); ++index) {
+      const base::Value& list_item = value.GetListDeprecated()[index];
       std::string new_error;
       const bool validation_result =
           GetItems().Validate(list_item, strategy, out_error_path, &new_error);
diff --git a/components/policy/core/common/schema_unittest.cc b/components/policy/core/common/schema_unittest.cc
index 68f77ac..304ab0e 100644
--- a/components/policy/core/common/schema_unittest.cc
+++ b/components/policy/core/common/schema_unittest.cc
@@ -832,7 +832,7 @@
     Schema subschema = schema.GetProperty("ArrayOfObjects");
     ASSERT_TRUE(subschema.valid());
     base::ListValue root;
-    base::Value::ListView root_view = root.GetList();
+    base::Value::ListView root_view = root.GetListDeprecated();
 
     // Unknown property.
     base::Value dict_value(base::Value::Type::DICTIONARY);
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index 4dd3f69c..2b2b7527 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -24917,12 +24917,29 @@
               'type': 'array',
               'items': { 'type': 'string' },
             },
+            'enabled_opt_in_events': {
+              'type': 'array',
+              'items': {
+                'type': 'object',
+                'properties': {
+                  'name': { 'type': 'string' },
+                  'url_patterns': {
+                    'type': 'array',
+                    'items': { 'type': 'string' },
+                  },
+                },
+              },
+            },
           },
         },
       },
       'example_value': [{
         'service_provider': 'Google',
         'enabled_event_names': ['passwordChangedEvent', 'sensitiveDataEvent'],
+        'enabled_opt_in_events': [
+          { 'name': 'loginEvent', 'url_patterns': ['*'] },
+          { 'name': 'passwordBreachEvent', 'url_patterns': ['example.com', 'other.example.com'] },
+        ],
       }],
       'features': {
         'dynamic_refresh': True,
@@ -29261,7 +29278,7 @@
       'owners': ['file://ash/quick_pair/OWNERS'],
       'type': 'main',
       'schema': { 'type': 'boolean' },
-      'future_on': ['chrome_os'],
+      'supported_on': ['chrome_os:100-'],
       'features': {
         'dynamic_refresh': True,
         'per_profile': True,
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index d7248e0..301ad93 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -844,6 +844,30 @@
 
       Diese Richtlinie ist standardmäßig deaktiviert.</translation>
 <translation id="1949584741547056205">Schnellinfo</translation>
+<translation id="1951288262199783797">Sie können diese Richtlinie aktivieren, um ein Wörterbuch der Dateierweiterungen mit einer entsprechenden Liste der Domains zu erstellen, für die keine erweiterungsbasierten Downloadwarnungen angezeigt werden sollen. Unternehmensadministratoren haben so die Möglichkeit, erweiterungsbasierte Downloadwarnungen für Dateien zu blockieren, die einer Domain in der Liste zugewiesen sind. Ist die Erweiterung „jnlp“ beispielsweise website1.com zugewiesen, sehen Nutzer keine Warnung, wenn sie „jnlp“-Dateien von website1.com herunterladen. Es wird aber eine angezeigt, wenn sie „jnlp“-Dateien von website2.com herunterladen.
+
+      Für Dateien mit Dateierweiterungen, die nach dieser Richtlinie für Domains festgelegt wurden, werden weiter Sicherheitswarnungen angezeigt, die nicht auf Dateierweiterungen beruhen. Das können z. B. Warnungen beim Herunterladen von gemischten Inhalten und Safe Browsing-Warnungen sein.
+
+      Wenn Sie diese Richtlinie deaktivieren oder nicht konfigurieren, werden für Dateitypen, bei denen erweiterungsbasierte Downloadwarnungen ausgelöst werden, Warnungen für den Nutzer angezeigt.
+
+      Wenn Sie diese Richtlinie aktivieren:
+
+      * muss das URL-Muster entsprechend https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns formatiert und
+      * die Dateierweiterung in Kleinbuchstaben (ASCII) angegeben werden. Das vorangestellte Trennzeichen muss beim Angeben der Dateierweiterung ausgelassen werden. Geben Sie also z. B. „jnlp“ und nicht „.jnlp“ an.
+
+      Beispiel:
+
+      Durch den folgenden Beispielwert würden erweiterungsbasierte Warnungen beim Herunterladen von „swf“-, „exe“- und „jnlp“-Dateien von *.beispiel.de-Domains blockiert. Nutzer sehen aber entsprechende Warnungen, wenn sie versuchen, „exe“- und „jnlp“-Dateien von einer anderen Domain herunterzuladen. Auf „swf“-Dateien trifft das nicht zu.
+
+      [
+        { "file_extension": "jnlp", "domains": ["beispiel.de"] },
+        { "file_extension": "exe", "domains": ["beispiel.de"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Wichtig: Im Beispiel oben werden erweiterungsbasierte Warnungen für „.swf“-Dateien domainübergreifend blockiert. Im Fall von gefährlichen Dateierweiterungen ist es aus Sicherheitsgründen jedoch nicht empfehlenswert, die entsprechenden Warnungen für alle Domains zu blockieren. Das Beispiel soll nur zeigen, dass dies im Grunde möglich ist.
+
+      Wenn diese Richtlinie zusammen mit „<ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" />“ aktiviert ist und gefährliche Dateitypen über „DownloadRestrictions“ blockiert werden, haben die Einstellungen von „DownloadRestrictions“ Priorität. Angenommen, Downloads von „exe“-Dateien von website1.com werden über diese Richtlinie zugelassen, „DownloadRestrictions“ ist aber so konfiguriert, dass schädliche Downloads und gefährliche Dateitypen blockiert werden. In diesem Fall werden Downloads von „exe“-Dateien für alle Domains blockiert. Werden gefährliche Dateitypen nicht über „DownloadRestrictions“ blockiert, werden keine erweiterungsbasierten Warnungen beim Herunterladen der in dieser Richtlinie festgelegten Dateitypen von den angegebenen Domains ausgegeben. Weitere Informationen zu „DownloadRestrictions“ finden Sie unter https://chromeenterprise.google/policies/?policy=DownloadRestrictions.</translation>
 <translation id="1960416154405676350"><ph name="GOOGLE_LENS_PRODUCT_NAME" />-Ausschnittsuche aktivieren.</translation>
 <translation id="1961091374249454164">Die Richtlinie wird nur auf verwaltete Gastsitzungen angewendet.
       Wenn die Richtlinie konfiguriert ist, wird eine Liste mit Erweiterungs-IDs angegeben, die von der Bereinigung der eingeschränkten verwalteten Gastsitzungen ausgenommen sind (siehe „<ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />“).
@@ -1751,6 +1775,7 @@
       Wenn die Richtlinie auf „false“ gesetzt ist, steht <ph name="BOREALIS_NAME" /> nicht zur Verfügung. Wenn die Richtlinie nicht konfiguriert oder auf „true“ gesetzt ist, ist <ph name="BOREALIS_NAME" /> verfügbar, sofern die Richtlinie nicht durch eine andere Richtlinie oder Einstellung außer Kraft gesetzt wird.</translation>
 <translation id="2964373560810620158">Verhindern, dass Nutzer den <ph name="LACROS_NAME" />-Browser verwenden</translation>
 <translation id="2968177167006045252">Websites die Nutzung von „SharedArrayBuffers“ erlauben</translation>
+<translation id="2969568582351417848">Erweiterungsbasierte Warnungen beim Herunterladen bestimmter Dateitypen von bestimmten Domains deaktivieren</translation>
 <translation id="2969797921412053304">Mit dieser Richtlinie wird festgelegt, welche URLs während des SAML-Flows auf dem Anmeldebildschirm die Remote-Attestierung der Geräteidentität verwenden dürfen.
 
       Eine URL darf HTTP-Header mit einer Antwort auf eine Remote-Nachweisabfrage zur Identitätsbestätigung empfangen, wenn sie mit einem der in dieser Richtlinie festgelegten Muster übereinstimmt. Dadurch werden die Geräteidentität und der Gerätestatus bestätigt.
@@ -2403,13 +2428,6 @@
 Wenn Sie diese Einstellung deaktivieren, können Nutzer die Funktion „Automatisches Ausfüllen“ nicht verwenden.
 
 Ist diese Einstellung aktiviert oder nicht konfiguriert, kann der Nutzer selbst entscheiden, ob er „Automatisches Ausfüllen“ nutzen möchte. Er kann dann entsprechende Profile konfigurieren und die Funktion nach eigenem Ermessen aktivieren und deaktivieren.</translation>
-<translation id="3731968520685217674">Mit dieser Richtlinie können Sie das Systemverhalten beim Start festlegen. Wenn diese Einstellung deaktiviert ist, hat das den gleichen Effekt, als wäre sie nicht konfiguriert, da <ph name="PRODUCT_NAME" /> ein festgelegtes Verhalten beim Start benötigt.
-
-      Wenn Sie diese Richtlinie konfigurieren, kann sie von Nutzern in <ph name="PRODUCT_NAME" /> nicht geändert werden. Andernfalls können Nutzer sie ändern.
-
-      Ist diese Richtlinie auf <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> gesetzt, werden einige Einstellungen deaktiviert, die während oder beim Beenden einer Sitzung ausgeführt werden, wie das Löschen von Browserdaten beim Schließen oder Sitzungscookies für bestimmte Sitzungen.
-
-      Unter <ph name="MS_WIN_NAME" /> steht diese Funktion nur bei Instanzen zur Verfügung, die Teil einer <ph name="MS_AD_NAME" />-Domain sind, auf denen Windows 10 Pro läuft oder die über <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" /> verwaltet werden. Unter <ph name="MAC_OS_NAME" /> steht diese Funktion nur bei Instanzen zur Verfügung, die über die Mobilgeräteverwaltung verwaltet werden oder per MCX mit einer Domain verbunden sind.</translation>
 <translation id="3733014427925403568">Wochentag des Intervalls.</translation>
 <translation id="3736879847913515635">"Person hinzufügen" im Nutzermanager aktivieren</translation>
 <translation id="3749259744154402564">Nicht unterstützt</translation>
@@ -2562,6 +2580,7 @@
       Führt Erweiterungen auf, die bei Geräten im Händlermodus automatisch für den Demo-Nutzer installiert werden. Diese Erweiterungen werden auf dem Gerät gespeichert und können anschließend offline installiert werden.
 
        Jeder Eintrag enthält ein Verzeichnis, in dem im Feld "extension-id" die Erweiterungs-ID und im Feld "update-url" die Aktualisierungs-URL angegeben werden müssen.</translation>
+<translation id="3869180930654347954">„First-Party-Sets“ für alle betroffenen Nutzer deaktivieren</translation>
 <translation id="3870059789954671543">Hiermit wird die Bedienungshilfe "Objekt mit Tastaturfokus hervorheben" auf dem Anmeldebildschirm aktiviert.
 
           Diese Funktion hebt das Objekt hervor, das im Fokus der Tastatur ist.
@@ -2756,6 +2775,7 @@
 Ist die Richtlinie deaktiviert oder nicht konfiguriert, werden Nutzer durch den Dienst an https://myaccount.google.com weitergeleitet, um ihr Passwort zu ändern.
 
       Unter <ph name="MS_WIN_NAME" /> steht diese Funktion nur bei Instanzen zur Verfügung, die Teil einer <ph name="MS_AD_NAME" />-Domain sind, auf denen Windows 10 Pro läuft oder die über <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" /> verwaltet werden. Unter <ph name="MAC_OS_NAME" /> steht diese Funktion nur bei Instanzen zur Verfügung, die über die Mobilgeräteverwaltung verwaltet werden oder per MCX mit einer Domain verbunden sind.</translation>
+<translation id="4115501011761259824">„First-Party-Sets“ für alle betroffenen Nutzer aktivieren</translation>
 <translation id="4121350739760194865">App-Werbung nicht auf der "Neuer Tab"-Seite anzeigen</translation>
 <translation id="4122473079291425973">Die „Neuer Tab“-Seite zeigt Karten an, sofern Inhalte verfügbar sind; Nutzer können diese Einstellung jedoch ändern</translation>
 <translation id="4122565688998751716">Diese Richtlinie wurde eingestellt. Bitte verwenden Sie stattdessen „<ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />“.
@@ -2895,6 +2915,14 @@
       Diese Richtlinie wird ignoriert und die Benachrichtigung wird immer angezeigt, wenn das Gerät nicht verwaltet wird oder es nur einen Nutzer gibt.
 
       Gibt es auf einem verwalteten Gerät mehrere Nutzerkonten, wird die Benachrichtigung nur angezeigt, wenn diese Richtlinie aktiviert ist.</translation>
+<translation id="4293593564662654474">Über diese Richtlinie kann die Funktion „First-Party-Sets“ deaktiviert werden.
+
+                  Ist diese Richtlinie nicht konfiguriert oder aktiviert, ist die Funktion „First-Party-Sets“ aktiviert.
+
+                  Wenn diese Richtlinie deaktiviert ist, ist die Funktion „First-Party-Sets“ deaktiviert.
+
+                  Vom Status der Funktion „First-Party-Sets“ hängt ab, ob Chrome die entsprechende Liste abruft
+                  und ob zugehörige Funktionen in Chrome unterstützt werden, z. B. das Cookie-Attribut „SameParty“.</translation>
 <translation id="4311195029067684288">Vollständig</translation>
 <translation id="4313767483634435271">Eingetragene Dock-MAC-Adresse des Geräts</translation>
 <translation id="4314538398999793073">CNAME-Suche bei der Kerberos-Authentifizierung deaktivieren</translation>
@@ -3025,6 +3053,7 @@
 <translation id="449423975179525290">Richtlinien für <ph name="PLUGIN_VM_NAME" /> konfigurieren.</translation>
 <translation id="449784980858429908">Websites automatisch die Berechtigung erteilen, eine Verbindung zu allen seriellen Ports herzustellen.</translation>
 <translation id="450080746522343150">Alle Downloads blockieren.</translation>
+<translation id="4508728400492074981">Hiermit werden die Richtlinien für die Funktion „First-Party-Sets“ gesteuert.</translation>
 <translation id="4510923771103268849">Nutzer hat Root-Zugriff auf Crostini-Container</translation>
 <translation id="4512407512989846472">Gestattet das Blockieren von Kopiervorgängen in die Zwischenablage auf bestimmten URLs</translation>
 <translation id="4513691822411041977">Verwendung von SafeSearch in der Google Suche oder im eingeschränkten Modus für YouTube nicht erzwingen</translation>
@@ -3140,6 +3169,16 @@
 <translation id="4617338332148204752">Metatag-Überprüfung in <ph name="PRODUCT_FRAME_NAME" /> überspringen</translation>
 <translation id="4624417808625504735">Verwendung von JIT durch JavaScript auf diesen Websites blockieren</translation>
 <translation id="4625915093043961294">Zulassungsliste für Installation von Erweiterungen konfigurieren</translation>
+<translation id="4631165564645497047">Wenn diese Einstellung aktiviert ist, verifiziert <ph name="PRODUCT_NAME" /> Serverzertifikate anhand der integrierten Zertifikatsprüfung.
+      Ist sie deaktiviert, verifiziert <ph name="PRODUCT_NAME" /> Serverzertifikate mit der Legacy-Zertifikatsprüfung der Plattform.
+      Ist sie nicht konfiguriert, wird die integrierte oder die Legacy-Zertifikatsprüfung verwendet.
+
+      Diese Richtlinie soll in Version 81 von <ph name="PRODUCT_OS_NAME" /> entfernt werden. Dann wird auch die Legacy-Zertifikatsprüfung in <ph name="PRODUCT_OS_NAME" /> voraussichtlich nicht mehr unterstützt.
+
+      Diese Richtlinie soll in Version 83 von <ph name="PRODUCT_NAME" /> für Linux entfernt werden. Dann wird auch die Legacy-Zertifikatsprüfung unter Linux voraussichtlich nicht mehr unterstützt.
+
+      Diese Richtlinie soll in Version 104 von <ph name="PRODUCT_NAME" /> für Mac OS X entfernt werden. Dann wird auch die Legacy-Zertifikatsprüfung unter Mac OS X voraussichtlich nicht mehr unterstützt.
+      </translation>
 <translation id="4632343302005518762">Verarbeitung der gelisteten Inhaltstypen durch <ph name="PRODUCT_FRAME_NAME" /> zulassen</translation>
 <translation id="4632566332417930481">Nutzung der Entwicklertools für Erweiterungen, die über die Unternehmensrichtlinie installiert wurden, nicht zulassen und Nutzung der Entwicklertools in anderen Kontexten zulassen</translation>
 <translation id="4635284822166984665">Zeitpunkt, an dem der Ladevorgang beginnt, angegeben in der lokalen Zeit des Geräts.</translation>
@@ -3453,6 +3492,7 @@
 <translation id="5075190314377370852">Wenn die Richtlinie auf "True" gesetzt ist, führt <ph name="PRODUCT_NAME" /> immer eine Widerrufsprüfung für Serverzertifikate durch, die erfolgreich bestätigt und von lokal installierten CA-Zertifikaten signiert wurden. Kann <ph name="PRODUCT_NAME" /> keine Informationen zum Widerrufsstatus abrufen, werden solche Zertifikate von <ph name="PRODUCT_NAME" /> als widerrufen behandelt ("hard-fail").
 
       Wenn diese Richtlinie nicht konfiguriert oder auf "False" gesetzt ist, verwendet <ph name="PRODUCT_NAME" /> die vorhandenen Online-Einstellungen zur Widerrufsprüfung.</translation>
+<translation id="5076953589932162038">Einstellungen für „First-Party-Sets“</translation>
 <translation id="5078623750797048009">PDF-Anmerkungen aktivieren</translation>
 <translation id="5081204761483900654">Eingeschränkte verwaltete Gastsitzungen</translation>
 <translation id="5082296146261894974">Ermöglicht Nutzern, auf die Phone Hub-Benachrichtigung zu klicken, um die App „Eche“ zu starten.</translation>
@@ -4490,6 +4530,16 @@
 <translation id="631183702829488873">Wenn diese Funktion aktiviert ist, erscheint auf dem Start- und Sperrbildschirm eine Schaltfläche zum Anzeigen des Passworts.
           Sie wird im Textfeld für das Passwort als Augensymbol dargestellt. Die Schaltfläche wird nicht angezeigt, wenn die Funktion deaktiviert ist.
       </translation>
+<translation id="6313108604615108577">Über diese Richtlinie wird festgelegt, ob die Hauptversion im User-Agent-String als „99“ festgeschrieben wird.
+
+      Anhand des User-Agent-Anfrageheaders können Websites die Anwendung, das Betriebssystem, den Anbieter und/oder die Version des anfragenden User-Agents identifizieren.
+      Einige Websites gehen von einer bestimmten Formatierung dieses Headers aus. Daher können Probleme mit Versionsstrings auftreten, bei denen für die Hauptversion drei Ziffern verwendet werden (z. B. 100.0.0.0).
+
+      Wird die Richtlinie auf „Default“ gesetzt oder nicht konfiguriert, werden standardmäßig die Browsereinstellungen für die Hauptversion im User-Agent-String verwendet.
+      Ist sie auf „ForceDisabled“ gesetzt, wird die Hauptversion nicht im User-Agent-String festgeschrieben.
+      Wenn sie auf „ForceEnabled“ gesetzt ist, wird die Hauptversion im User-Agent-String immer als „99“ und die Hauptversion des Browsers an zweiter Stelle (Nebenversion) angegeben. Für Browserversion 101.0.0.0 würde im User-Agent-Anfrageheader z. B. „99.101.0.0“ als Version gesendet.
+
+      Diese Richtlinie ist temporär und wird in Zukunft eingestellt. Wenn sowohl diese Richtlinie als auch „<ph name="USER_AGENT_REDUCTION_POLICY_NAME" />“ aktiviert sind, ist die Version im User-Agent-String immer „99.0.0.0“.</translation>
 <translation id="6313170479290171718">Diese Richtlinie ist veraltet. Bitte verwenden Sie stattdessen die Richtlinie <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />.
 
       Wenn Sie die Richtlinie auf „True“ setzen, wird die Bildschirmtastatur bei der Anmeldung aktiviert. Wenn Sie die Richtlinie auf „False“ setzen, wird die Bildschirmtastatur bei der Anmeldung deaktiviert.
@@ -4931,6 +4981,7 @@
       „chrome://flags“ und alle weiteren Möglichkeiten zum Aktivieren oder Deaktivieren von Browserfunktionen funktionieren weiter wie gewohnt, unabhängig davon, ob diese Richtlinie aktiviert oder deaktiviert ist.</translation>
 <translation id="6794083666143216172">Ursprüngen erlauben, Geräteattribute anzufragen</translation>
 <translation id="6795485990775913659">Drucken nur ohne PIN zulassen</translation>
+<translation id="6796215185873669533">Standardmäßig Browsereinstellungen für die Hauptversion im User-Agent-String verwenden.</translation>
 <translation id="6800181452282128474">Keine Anfragen an Quirks Server stellen</translation>
 <translation id="68031099365512050">Audiostatus melden</translation>
 <translation id="6810445994095397827">JavaScript auf diesen Websites blockieren</translation>
@@ -5253,6 +5304,7 @@
 <translation id="7070525176564511548">Passworteingabe wöchentlich erforderlich (alle 168 Stunden)</translation>
 <translation id="7072208053150563108">Änderungsrate des Computerpassworts</translation>
 <translation id="7072567600438630966">Aktivieren von Phone Hub zulassen.</translation>
+<translation id="7074437930865599190">Hauptversion im User-Agent-String als „99“ festschreiben</translation>
 <translation id="7079519252486108041">Pop-ups auf diesen Websites blockieren</translation>
 <translation id="707988220162760379">PDF-Dateien immer mit einem externen PDF-Viewer öffnen</translation>
 <translation id="7081784525008938771">Wenn die Richtlinie aktiviert wird oder nicht konfiguriert ist, gilt der Nutzer während der Videowiedergabe nicht als inaktiv. Dadurch wird verhindert, dass der Countdown für Inaktivität sowie zum Dimmen, Abschalten oder Sperren des Bildschirms gestartet wird und nach Ablauf der Zeit entsprechende Aktionen ausgeführt werden.
@@ -5956,6 +6008,7 @@
       Eine Erweiterung oder Android-App kann Schlüssel, die für die geschäftliche Nutzung bestimmt sind, standardmäßig nicht verwenden. Dies entspricht der Festlegung von „False“ für „allowCorporateKeyUsage“ bei der entsprechenden Erweiterung oder Android-App. Nur wenn „allowCorporateKeyUsage“ für eine Erweiterung oder Android-App auf „True“ gesetzt ist, kann sie alle Plattformschlüssel nutzen, die für die geschäftliche Nutzung bestimmt sind, um beliebige Daten zu signieren. Diese Berechtigung sollte nur dann gewährt werden, wenn der Zugriff auf den Schlüssel durch die Erweiterung oder Android-App sicher vor Angreifern schützt wird.</translation>
 <translation id="7933141401888114454">Erstellung von betreuten Nutzern aktivieren</translation>
 <translation id="793473937901685727">Verfügbarkeit von Zertifikaten für ARC-Apps festlegen</translation>
+<translation id="7936302526928951356">Im User-Agent-String wird die Hauptversion nicht festgeschrieben.</translation>
 <translation id="7937766917976512374">Videoaufzeichnung gestatten oder ablehnen</translation>
 <translation id="7941975817681987555">Netzwerkaktionen nicht über Netzwerkverbindungen vervollständigen</translation>
 <translation id="7946350455013548764">Wenn die Richtlinie auf 3 gesetzt ist, dürfen Websites um Zugriff auf HID-Geräte bitten. Ist sie auf 2 gesetzt, wird der Zugriff auf HID-Geräte verweigert.
@@ -6099,6 +6152,7 @@
 <translation id="8133152694354699657">Wenn die Richtlinie auf "True" gesetzt oder nicht konfiguriert ist, steht Nutzern "Zum Suchen antippen" zur Verfügung und sie können die Funktion aktivieren oder deaktivieren.
 
       Ist sie auf "False" gesetzt, wird "Zum Suchen antippen" vollständig deaktiviert.</translation>
+<translation id="8136345780578030573">„First-Party-Sets“ aktivieren.</translation>
 <translation id="8136906469922284163">Wenn die Richtlinie auf „True“ gesetzt ist, dürfen Seiten Pop-ups anzeigen, während die Seiten entfernt werden.
 
       Wenn die Richtlinie auf „False“ gesetzt oder nicht konfiguriert ist, können Seiten keine Pop-ups anzeigen, während die Seiten entfernt werden.
@@ -6526,9 +6580,6 @@
 <translation id="8525526490824335042">Linux-Container</translation>
 <translation id="8528951285051082869">Webanwendungen den Zugriff auf Dateitypen über die File Handling API nicht erlauben</translation>
 <translation id="8533145294731270627">Schädliche Downloads und gefährliche Dateitypen blockieren.</translation>
-<translation id="8537051350735478658">Wenn die Richtlinie auf "True" gesetzt ist, werden die Suchvorschläge in der Adressleiste von <ph name="PRODUCT_NAME" /> aktiviert. Ist sie auf "False" gesetzt, werden die Suchvorschläge deaktiviert.
-
-      Wenn Sie diese Richtlinie konfigurieren, kann sie von Nutzern nicht geändert werden. Wird sie nicht konfiguriert, sind die Suchvorschläge standardmäßig aktiviert, können aber jederzeit von Nutzern deaktiviert werden.</translation>
 <translation id="8543103455510904459">Mit dieser Richtlinie können Sie eine Liste mit URL-Mustern für Websites festlegen, die angeben, auf welchen Websites JavaScript mit aktiviertem JIT-Compiler (Just In Time) nicht ausgeführt werden darf.
 
           Wenn JavaScript JIT deaktiviert ist, rendert <ph name="PRODUCT_NAME" /> möglicherweise Webinhalte langsamer und Teile von JavaScript, einschließlich WebAssembly, werden eventuell deaktiviert. Außerdem darf <ph name="PRODUCT_NAME" /> Webinhalte möglicherweise in einer sichereren Konfiguration rendern, sollte JavaScript JIT deaktiviert sein.
@@ -6781,6 +6832,7 @@
       Jedes Listenelement der Richtlinie ist ein String mit einer Erweiterungs-ID und einer optionalen Update-URL, die durch ein Semikolon (;) getrennt sind. Die Erweiterungs-ID ist der String mit 32 Buchstaben, den Sie beispielsweise im Entwicklermodus unter chrome://extensions sehen. Die Update-URL sollte, sofern festgelegt, auf ein XML-Dokument mit einem Update-Manifest verweisen (https://developer.chrome.com/extensions/autoupdate). Standardmäßig kommt die Update-URL des Chrome Web Store zum Einsatz. Die in dieser Richtlinie festgelegte Update-URL wird nur für die Erstinstallation verwendet. In nachfolgenden Updates der Erweiterung kommt die Update-URL zum Einsatz, die im Manifest der Erweiterung angegeben wurde.
 
        Hinweis: Diese Richtlinie gilt nicht für den Inkognitomodus. Informationen zum Hosting von Erweiterungen finden Sie unter https://developer.chrome.com/extensions/hosting.</translation>
+<translation id="8827275450034266143">Im User-Agent-String wird die Hauptversion als „99“ festgeschrieben und die Hauptversion des Browsers an zweiter Stelle (Nebenversion) angegeben.</translation>
 <translation id="8827366480126575426">Protokoll für den Protokoll-Handler.</translation>
 <translation id="8827417642396462482">Zusätzliche DNS-Abfragetypen erlauben</translation>
 <translation id="8831911834413504983">Wenn diese Richtlinie konfiguriert ist, können Sie eine Liste mit URL-Mustern erstellen, die angeben, welche Websites JavaScript ausführen dürfen.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index dc39ef20..783b830 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -208,6 +208,9 @@
       Esta política no se aplicará a los usuarios de kioscos.
 
       Advertencia: "Wipe" y "MinimalMigrate" eliminarán los datos locales.</translation>
+<translation id="1250597158212586309">Si habilitas esta política o no la estableces, el usuario podrá descartar o restablecer las alertas de contraseña hackeada.
+
+      Si inhabilitas esta configuración, los usuarios no podrán descartar las alertas de contraseña hackeada. Si la habilitas, los usuarios podrán descartar las alertas de contraseña hackeada.</translation>
 <translation id="1252536192437793850">Permite que los sitios soliciten al usuario acceso a un puerto en serie</translation>
 <translation id="1255159327956066463">Habilitar la función de ventana fantasma</translation>
 <translation id="125655429495551011">Si estableces la política como una string, se aplicará la string como el nombre del host del dispositivo durante la solicitud de DHCP. Antes de usar la string como el nombre del host, se pueden reemplazar las variables <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" />, <ph name="LOCATION_PLACEHOLDER" /> de la string con valores del dispositivo. Esta sustitución generará un nombre de host válido (según RFC 1035, sección 3.1).
@@ -842,6 +845,30 @@
 
       De forma predeterminada, esta política empresarial está inhabilitada.</translation>
 <translation id="1949584741547056205">Respuestas rápidas</translation>
+<translation id="1951288262199783797">Puedes habilitar esta política a fin de crear un diccionario de extensiones del tipo de archivo con una lista correspondiente de dominios que quedarán exentos de las advertencias sobre descargas basadas en las extensiones del tipo de archivo. Esto les permite a los administradores de empresas bloquear las advertencias sobre descargas basadas en las extensiones del tipo de archivo para los archivos asociados con un dominio de la lista. Por ejemplo, si la extensión "jnlp" está asociada con "website1.com", los usuarios no verán advertencias cuando se descarguen archivos "jnlp" de "website1.com", sino cuando se descarguen de "website2.com".
+
+      Los archivos con extensiones del tipo de archivo especificadas para los dominios que se identifican en esta política seguirán sujetas a las advertencias de seguridad que no estén basadas en extensiones del tipo de archivo, como las advertencias sobre descargas de contenido mixto y las advertencias de Navegación segura.
+
+      Si inhabilitas esta política o no la configuras, los tipos de archivos que activan advertencias sobre descargas basadas en extensiones enviarán advertencias al usuario.
+
+      Si habilitas esta política:
+
+      * El formato del patrón de URL debe seguir las condiciones especificadas en https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * La extensión del tipo de archivo ingresada debe estar en minúscula y con letras en formato ASCII. Cuando enumeres la extensión del tipo de archivo, no incluyas el separador principal. Por ejemplo, usa "jnlp" en lugar de ".jnlp".
+
+      Por ejemplo:
+
+      El siguiente valor de ejemplo evitaría las advertencias sobre descargas basadas en las extensiones del tipo de archivo para las extensiones swf, exe, y jnlp en los dominios *.ejemplo.com. Le enviará al usuario una advertencia sobre descargas basada en las extensiones del tipo de archivo en cualquier otro dominio para los archivos exe y jnlp, pero no para los archivos swf.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Ten en cuenta que, mientras que el ejemplo anterior muestra menos advertencias sobre descargas basadas en las extensiones del tipo de archivo para los archivos "swf" en todos los dominios, por cuestiones de seguridad, no te recomendamos reducir la cantidad de ese tipo de advertencias en todos los dominios para las extensiones peligrosas de tipo de archivo. El único fin del ejemplo es demostrar que es posible hacerlo.
+
+      Si habilitas esta política junto a <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> y estableces DownloadRestrictions para bloquear los tipos de archivos peligrosos, los bloqueos de descargas determinados por DownloadRestrictions tendrán prioridad. Por ejemplo, si estableces esta política para que habilite las descargas de las extensiones de "exe" de "website1.com" y estableces DownloadRestrictions para bloquear las descargas maliciosas y los tipos de archivos peligrosos, se bloquearán las descargas de las extensiones de "exe" en todos los dominios. Si no estableces DownloadRestrictions para bloquear los tipos de archivos peligrosos, los tipos de archivos especificados en esta política quedarán exentos de las advertencias sobre descargas basadas en las extensiones del tipo de archivo en los dominios especificados. Obtén más información sobre DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350">Habilitar la búsqueda parcial de <ph name="GOOGLE_LENS_PRODUCT_NAME" /></translation>
 <translation id="1961091374249454164">La política solo se aplica a sesiones de invitado administradas.
       Si estableces la política, especificarás una lista de ID de extensiones que están exentas del procedimiento de limpieza de las sesiones de invitados administradas y restringidas (consulta <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -896,6 +923,7 @@
       Las impresoras conectadas a <ph name="CLOUD_PRINT_NAME" /> se consideran <ph name="PRINTER_TYPE_CLOUD" />; el resto de las impresoras se clasifican como <ph name="PRINTER_TYPE_LOCAL" />.
 
       Nota: Si se omite algún campo, cualquier valor será válido. Por ejemplo, si no se especifica la conectividad, la vista previa de impresión iniciará la búsqueda de todo tipo de impresoras, <ph name="PRINTER_TYPE_LOCAL" /> y <ph name="PRINTER_TYPE_CLOUD" />. Los patrones de las expresiones regulares deben seguir la sintaxis de JavaScript RegExp, y las coincidencias distinguen entre mayúsculas y minúsculas.</translation>
+<translation id="2004382785802837840">Inhabilitar la opción de descartar las alertas de contraseña hackeada</translation>
 <translation id="2005506794355327448">La acción que se debe tomar cuando la tapa esté cerrada.</translation>
 <translation id="2006530844219044261">Administración de energía</translation>
 <translation id="2008514891623783266">La política que controla la IP de WebRTC</translation>
@@ -1327,6 +1355,7 @@
 <translation id="2435232509335686514">Política de configuración del modo en que <ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /> maneja los archivos descargados</translation>
 <translation id="2436302465999055995">Seleccionar <ph name="LACROS_NAME" /> como el único navegador disponible (aún no se implementó)</translation>
 <translation id="2439187682308339104">No permitir que ningún sitio solicite acceso a los dispositivos HID a través de la API de WebHID</translation>
+<translation id="2439733504887695659">Habilitar la opción de descartar las alertas de contraseña hackeada para las credenciales que hayas ingresado</translation>
 <translation id="2448315169529769573">Si habilitas la política, <ph name="PRODUCT_OS_NAME" /> informará a Google sobre las métricas de uso y los datos de diagnóstico, incluidos los informes de fallas. Si inhabilitas la política, se desactivarán los informes sobre datos de diagnóstico y métricas.
 
        Si no la estableces, se desactivarán los informes sobre datos de diagnóstico y métricas en dispositivos no administrados y se activarán en dispositivos administrados.</translation>
@@ -1762,6 +1791,7 @@
       Si estableces la política como falsa, <ph name="BOREALIS_NAME" /> no estará disponible. De lo contrario, si no estableces la política o la estableces como verdadera, <ph name="BOREALIS_NAME" /> estará disponible únicamente si no hay otra política o configuración que la inhabilite.</translation>
 <translation id="2964373560810620158">Evitar que los usuarios utilicen el navegador <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Permitir que los sitios utilicen la política SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Inhabilitar las advertencias basadas en las extensiones de la descarga del tipo de archivo en los dominios</translation>
 <translation id="2969797921412053304">Esta política determina las URL a las que se les permitirá utilizar certificación remota de la identidad de los dispositivos durante el flujo de SAML de la pantalla de acceso.
 
       Específicamente, si una URL coincide con uno de los patrones que se proporcionan a través de esta política, se le permitirá recibir un encabezado HTTP que contenga una respuesta a un desafío de certificación remota para certificar el estado y la identidad de un dispositivo.
@@ -2412,13 +2442,6 @@
       Si se inhabilita esta configuración, los usuarios no podrán acceder a Autocompletar.
 
       Si se habilita o no se establece ningún valor, los usuarios podrán controlar Autocompletar. De esta manera, podrán configurar los perfiles de la función y activarla o desactivarla cuando lo deseen.</translation>
-<translation id="3731968520685217674">Si estableces la política, podrás especificar el comportamiento del sistema al iniciar el navegador. Desactivar esta configuración equivale a no establecerla, dado que no es posible dejar sin especificar el comportamiento de <ph name="PRODUCT_NAME" /> al iniciarse.
-
-      Si estableces esta política, los usuarios no podrán cambiarla en <ph name="PRODUCT_NAME" />. Si no la estableces, los usuarios podrán cambiarla.
-
-      Si estableces esta política como <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" />, se desactivarán algunas opciones de configuración asociadas a las sesiones o que realizan acciones al salir del navegador, como borrar cookies específicas de la sesión o los datos de navegación al salir del navegador.
-
-      En <ph name="MS_WIN_NAME" />, esta funcionalidad solo estará disponible en instancias que están vinculadas a un dominio de <ph name="MS_AD_NAME" />, están inscritas en <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" /> o se ejecutan en Windows 10 Pro. En <ph name="MAC_OS_NAME" />, esta funcionalidad solo está disponible en instancias administradas mediante MDM o vinculadas a un dominio a través de MCX.</translation>
 <translation id="3733014427925403568">El día de la semana para el intervalo.</translation>
 <translation id="3736879847913515635">Habilitar la opción para agregar una persona en el Administrador de usuarios</translation>
 <translation id="3749259744154402564">No compatible</translation>
@@ -3151,6 +3174,16 @@
 <translation id="4617338332148204752">Omitir la comprobación de metaetiquetas en <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Impedir que JavaScript utilice JIT en estos sitios</translation>
 <translation id="4625915093043961294">Configurar la lista blanca de instalación de extensiones</translation>
+<translation id="4631165564645497047">Si habilitas esta configuración, <ph name="PRODUCT_NAME" /> verificará los certificados de servidores mediante el verificador de certificados integrado.
+      Si se inhabilita, <ph name="PRODUCT_NAME" /> verificará los certificados de servidores mediante el verificador de certificados heredado que incluye la plataforma.
+      Si no se establece, podrán utilizarse el verificador de certificados integrado o el heredado.
+
+      Se planea quitar esta política en la versión <ph name="PRODUCT_OS_NAME" /> 81, cuando se quite la compatibilidad con el verificador de certificados heredado de <ph name="PRODUCT_OS_NAME" />.
+
+      Se planea quitar esta política en la versión <ph name="PRODUCT_NAME" /> 83 para Linux, cuando se quite la compatibilidad con el verificador de certificados heredado de Linux.
+
+      Se planea quitar esta política en la versión <ph name="PRODUCT_NAME" /> 104 para Mac OS X, cuando se quite la compatibilidad con el verificador de certificados heredado de Mac OS X.
+      </translation>
 <translation id="4632343302005518762">Permitir que <ph name="PRODUCT_FRAME_NAME" /> gestione los tipos de contenido que figuran en la lista</translation>
 <translation id="4632566332417930481">No permitir el uso de las Herramientas para desarrolladores en extensiones instaladas por una política empresarial; permitir el uso de las Herramientas para desarrolladores en otros contextos</translation>
 <translation id="4635284822166984665">La hora a la que el dispositivo comenzará a cargarse (según la zona horaria local del dispositivo).</translation>
@@ -3189,6 +3222,7 @@
 
           Para ver ejemplos de patrones, visita https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation>
 <translation id="467449052039111439">Abrir una lista de direcciones URL</translation>
+<translation id="4674542060943819878">Habilitar la opción de descartar las alertas de contraseña hackeada</translation>
 <translation id="4674871290487541952">Permitir los algoritmos no seguros en las verificaciones de integridad de las instalaciones y actualizaciones de extensiones</translation>
 <translation id="4680961954980851756">Habilitar Autocompletar</translation>
 <translation id="4685721728282448265">Se habilitó el establecimiento de claves poscuántico CECPQ2 para TLS</translation>
@@ -6553,9 +6587,6 @@
 <translation id="8525526490824335042">Contenedor de Linux</translation>
 <translation id="8528951285051082869">No permitir que cualquier aplicación web acceda a determinados tipos de archivos a través de la API de File Handling</translation>
 <translation id="8533145294731270627">Bloquear descargas de contenido malicioso y tipos de archivos peligrosos</translation>
-<translation id="8537051350735478658">Si estableces la política como verdadera, se activarán las sugerencias de búsqueda en la barra de direcciones de <ph name="PRODUCT_NAME" />. Si la estableces como falsa, se desactivarán estas sugerencias de búsqueda.
-
-      Si estableces la política, los usuarios no podrán cambiarla. Si no la estableces, las sugerencias de búsqueda estarán activadas al principio, pero los usuarios podrán desactivarlas en cualquier momento.</translation>
 <translation id="8543103455510904459">Te permite establecer una lista de patrones de URL de sitios donde se indiquen los que no pueden ejecutar JavaScript con el compilador JIT (Just In Time) habilitado.
 
           Si inhabilitas JavaScript con JIT, es posible que <ph name="PRODUCT_NAME" /> procese el contenido web más lentamente y, además, inhabilite partes de JavaScript, incluido WebAssembly. Si inhabilitas JavaScript con JIT, <ph name="PRODUCT_NAME" /> podría procesar el contenido web en una configuración más segura.
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index ec053d6..aa545871 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -208,6 +208,9 @@
       Esta política no se aplica a los usuarios de kiosko.
 
       Advertencia: "Wipe" y "MinimalMigrate" eliminan los datos locales.</translation>
+<translation id="1250597158212586309">Si esta política se habilita o no se establece, el usuario tiene la opción de cerrar o restaurar las alertas de contraseñas vulneradas.
+
+      Si se inhabilita este ajuste, los usuarios no podrán cerrar las alertas de contraseñas vulneradas. Si se habilita, los usuarios podrán cerrar las alertas de contraseñas vulneradas.</translation>
 <translation id="1252536192437793850">Dejar que los sitios web pidan permiso al usuario para acceder a un puerto serie</translation>
 <translation id="1255159327956066463">Habilitar la función de ventana fantasma</translation>
 <translation id="125655429495551011">Si se define esta política como una cadena, la cadena se utiliza como nombre de host del dispositivo en la solicitud DHCP. La cadena puede incluir las variables <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" /> y <ph name="LOCATION_PLACEHOLDER" />, las cuales se sustituyen por valores del dispositivo antes de que se utilice como nombre de host. El valor que se obtenga de la sustitución debe ser un nombre de host válido (según la sección 3.1 de la RFC 1035).
@@ -843,6 +846,30 @@
 
       Esta política de empresa está inhabilitada de forma predeterminada.</translation>
 <translation id="1949584741547056205">Respuestas rápidas</translation>
+<translation id="1951288262199783797">Puedes habilitar esta política para crear un diccionario de extensiones de archivo con una lista de dominios en los que no se mostrarán estas advertencias de descarga. De este modo, los administradores de empresas pueden bloquear las advertencias de descarga de tipos de archivo que estén asociados a un dominio de la lista. Por ejemplo, si la extensión "jnlp" se asocia con "sitioweb1.com", los usuarios no verían una advertencia al descargar archivos "jnlp" desde "sitioweb1.com", pero sí la verían al descargar archivos "jnlp" desde "sitioweb2.com".
+
+      Los archivos con extensiones de archivo incluidas en los dominios que identifique esta política seguirán estando sujetos a otros tipos de advertencias de seguridad, como las de descarga de contenido mixto y las de Navegación segura.
+
+      Si inhabilitas esta política o no la configuras, los usuarios seguirán viendo advertencias con los tipos de archivo que activan las advertencias de descarga de tipos de archivo.
+
+      Si habilitas esta política:
+
+      * El patrón de URL debería seguir el formato indicado en https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * La extensión de archivo introducida debe estar escrita en minúsculas con caracteres ASCII. No se debe incluir el separador inicial al añadir una extensión de archivo a la lista, así que deberías añadir "jnlp" en lugar de ".jnlp".
+
+      Ejemplo:
+
+      El siguiente valor de ejemplo evitaría que se mostraran advertencias de descarga de tipos de archivo "swf", "exe" y "jnlp" en dominios *.example.com. En cualquier otro dominio, el usuario vería una advertencia de descarga de tipos de archivo "exe" y "jnlp", pero no de "swf".
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Ten en cuenta que, aunque en el ejemplo anterior estén desactivadas las advertencias de descarga de tipos de archivo "swf" en todos los dominios, por motivos de seguridad, no se recomienda hacer esto con los tipos de archivo peligrosos. En el ejemplo se ha hecho solo para demostrar que puede hacerse.
+
+      Si esta política se habilita junto a <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> y DownloadRestrictions se configura para bloquear tipos de archivo peligrosos, los bloqueos de descargas indicados en DownloadRestrictions tienen preferencia. Por ejemplo, si esta política se configura para habilitar las descargas de archivos "exe" en "sitioweb1.com" y DownloadRestrictions se configura para bloquear descargas maliciosas y tipos de archivo peligrosos, las descargas de archivos "exe" se bloquearán en todos los dominios. Si DownloadRestrictions no se configura para bloquear tipos de archivo peligrosos, los tipos de archivo indicados en esta política no mostrarán advertencias de descarga de tipos de archivo en los dominios especificados. Consulta más información sobre DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350">Habilitar la búsqueda por sección de <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Esta política solo se aplica a las sesiones de invitado gestionadas.
       Si se le asigna un valor a esta política, se especificará una lista de IDs de extensiones que quedarán exentas del proceso de borrado de la sesiones de invitado gestionadas y restringidas (consulta <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -897,6 +924,7 @@
       Las impresoras conectadas a <ph name="CLOUD_PRINT_NAME" /> se consideran <ph name="PRINTER_TYPE_CLOUD" />, y el resto de las impresoras se clasifican como <ph name="PRINTER_TYPE_LOCAL" />.
 
       Nota: La omisión de algún campo implica que todos los valores coinciden. Por ejemplo, si no se especifica la conectividad, la vista previa de impresión buscará todo tipo de impresoras, tanto <ph name="PRINTER_TYPE_LOCAL" /> como <ph name="PRINTER_TYPE_CLOUD" />. Los patrones de expresión regular deben seguir la sintaxis de JavaScript RegExp, y las coincidencias distinguen entre mayúsculas y minúsculas.</translation>
+<translation id="2004382785802837840">Inhabilitar la opción de cerrar alertas de contraseñas vulneradas</translation>
 <translation id="2005506794355327448">Acción que se debe llevar a cabo cuando la tapa esté cerrada</translation>
 <translation id="2006530844219044261">Gestión de la batería</translation>
 <translation id="2008514891623783266">La política que gestiona la IP de WebRTC</translation>
@@ -1146,7 +1174,8 @@
 <translation id="225340736558643885">Habilitar advertencias en formularios no seguros</translation>
 <translation id="2258126710006312594">Permite que los usuarios con acceso remoto transfieran archivos al host y desde el host</translation>
 <translation id="2261648512244797294">Inhabilitar el protocolo Privet de impresión obsoleto</translation>
-<translation id="2266422599396179941">Permitir que los usuarios archiven sugerencias</translation>
+<translation id="2266422599396179941">Permitir que los usuarios envíen sugerencias
+</translation>
 <translation id="2269319728625047531">Habilitar Sync Consent durante el inicio de sesión</translation>
 <translation id="2270747976331889601">Habilita una función de seguridad de TLS 1.3 para los anclajes de veracidad locales.</translation>
 <translation id="22754818344448444">Permitir que los usuarios seleccionen un diseño de plantilla de escritorio para cargarlo</translation>
@@ -1329,6 +1358,7 @@
 <translation id="2435232509335686514">Política de configuración de la gestión que hace <ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /> de los archivos descargados</translation>
 <translation id="2436302465999055995">Establecer que <ph name="LACROS_NAME" /> sea el único navegador disponible (aún no se ha implementado)</translation>
 <translation id="2439187682308339104">No permite que ningún sitio solicite acceso a los dispositivos HID a través de la API WebHID</translation>
+<translation id="2439733504887695659">Habilitar la opción de cerrar alertas de contraseñas vulneradas para credenciales introducidas</translation>
 <translation id="2448315169529769573">Si se habilita la política, <ph name="PRODUCT_OS_NAME" /> enviará métricas de uso y datos de diagnóstico, como informes sobre fallos, a Google. Si se inhabilita la política, no se enviarán métricas ni datos de diagnóstico.
 
        Si no se establece la política, se desactivarán las métricas y los datos de diagnóstico en los dispositivos no administrados, y se activarán en los dispositivos administrados.</translation>
@@ -1766,6 +1796,7 @@
       Si se le asigna el valor false, <ph name="BOREALIS_NAME" /> no estará disponible. Si, por el contrario, se le asigna el valor true o no se le asigna ningún valor, <ph name="BOREALIS_NAME" /> estará disponible únicamente si no lo desactiva otra política o ajuste.</translation>
 <translation id="2964373560810620158">Evitar que los usuarios usen el navegador <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Permitir que los sitios usen SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Inhabilitar las advertencias de descarga de tipos de archivo asociados a dominios</translation>
 <translation id="2969797921412053304">Esta política define las URL a las que se otorgará acceso para usar la atestación remota de identidades de dispositivos durante el flujo de SAML en la pantalla de inicio de sesión.
 
       En concreto, si una URL coincide con uno de los patrones proporcionados a través de esta política, la URL podrá recibir un encabezado HTTP con una respuesta a una prueba de atestación remota, certificando la identidad y el estado del dispositivo.
@@ -2420,13 +2451,6 @@
       Si se inhabilita esta opción, los usuarios no podrán acceder a la función Autocompletar.
 
       Si se habilita esta opción o no se le asigna ningún valor, los usuarios controlarán la función Autocompletar. Esto les permitirá configurar perfiles de Autocompletar y activar o desactivar la función según sus preferencias.</translation>
-<translation id="3731968520685217674">Si se le asigna un valor a esta política, se especificará el comportamiento del sistema al iniciar el navegador. Si se desactiva esta opción, no se le asignará ningún valor, ya que <ph name="PRODUCT_NAME" /> debe tener un comportamiento definido para iniciar el navegador.
-
-      Si se le asigna un valor a esta política, los usuarios no podrán cambiarlo en <ph name="PRODUCT_NAME" />. Si no se le asigna ningún valor, los usuarios podrán cambiarlo.
-
-      Si se asigna el valor <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> a esta política, también se desactivarán algunas opciones que se basan en sesiones o realizan acciones al salir, como borrar los datos de navegación o las cookies de una sola sesión.
-
-      En <ph name="MS_WIN_NAME" />, esta función solo está disponible en instancias que estén vinculadas a un dominio de <ph name="MS_AD_NAME" />, que se ejecuten en Windows 10 Pro o que se hayan registrado en <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. En <ph name="MAC_OS_NAME" />, esta función solo está disponible en instancias que se gestionen mediante MDM o que estén vinculadas a un dominio a través de MCX.</translation>
 <translation id="3733014427925403568">Día de la semana del intervalo.</translation>
 <translation id="3736879847913515635">Habilitar Añadir persona en el administrador de usuarios</translation>
 <translation id="3749259744154402564">Incompatible</translation>
@@ -3159,6 +3183,16 @@
 <translation id="4617338332148204752">Saltarla comprobación de etiquetas meta en <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Impedir que JavaScript use JIT en estos sitios</translation>
 <translation id="4625915093043961294">Configurar lista de admisión de instalación de extensiones</translation>
+<translation id="4631165564645497047">Si se habilita esta opción, <ph name="PRODUCT_NAME" /> verificará los certificados de los servidores utilizando el verificador de certificados integrado.
+      Si se inhabilita esta opción, <ph name="PRODUCT_NAME" /> verificará los certificados de los servidores utilizando el verificador de certificados antiguo proporcionado por la plataforma.
+      Si no se configura esta opción, se podrá utilizar el verificador de certificados integrado o el antiguo.
+
+      Se prevé que esta política se elimine en la versión 81 de <ph name="PRODUCT_OS_NAME" />, en la que el verificador de certificados antiguo dejará de ser compatible con <ph name="PRODUCT_OS_NAME" />.
+
+      Se prevé que esta política se elimine en la versión 83 de <ph name="PRODUCT_NAME" /> para Linux, en la que el verificador de certificados antiguo dejará de ser compatible con Linux.
+
+      Se prevé que esta política se elimine en la versión 104 de <ph name="PRODUCT_NAME" /> para Mac OS X, en la que el verificador de certificados antiguo dejará de ser compatible con Mac OS X.
+      </translation>
 <translation id="4632343302005518762">Permitir que <ph name="PRODUCT_FRAME_NAME" /> procese los tipos de contenido mostrados</translation>
 <translation id="4632566332417930481">No permite el uso de las herramientas para desarrolladores en extensiones instaladas por la política de empresa, pero sí permite su uso en otros contextos</translation>
 <translation id="4635284822166984665">Hora a la que el dispositivo empezará a cargarse, interpretada en la zona horaria local del dispositivo.</translation>
@@ -3197,6 +3231,7 @@
 
           Puedes consultar ejemplos de patrones en la página https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation>
 <translation id="467449052039111439">Abrir una lista de URLs</translation>
+<translation id="4674542060943819878">Habilitar la opción de cerrar alertas de contraseñas vulneradas</translation>
 <translation id="4674871290487541952">Permite los algoritmos no seguros en las comprobaciones de integridad de las actualizaciones e instalaciones de extensiones</translation>
 <translation id="4680961954980851756">Habilitar Autocompletar</translation>
 <translation id="4685721728282448265">Acuerdo de claves poscuántico CECPQ2 habilitado para TLS</translation>
@@ -6557,9 +6592,6 @@
 <translation id="8525526490824335042">Contenedor de Linux</translation>
 <translation id="8528951285051082869">No permitir que ninguna aplicación web acceda a ciertos tipos de archivo a través de la API File Handling</translation>
 <translation id="8533145294731270627">Bloquea las descargas maliciosas y los tipos de archivos peligrosos.</translation>
-<translation id="8537051350735478658">Si se asigna el valor "Verdadero" a esta política, se activarán las sugerencias de búsqueda en la barra de direcciones de <ph name="PRODUCT_NAME" />. Si se le asigna el valor "Falso", se desactivarán estas sugerencias de búsqueda.
-
-      Si le asignas un valor a esta política, los usuarios no podrán cambiarlo. Si no se le asigna ningún valor, las sugerencias de búsqueda estarán activadas inicialmente, pero los usuarios podrán desactivarlas en cualquier momento.</translation>
 <translation id="8543103455510904459">Te permite definir una lista con patrones de URL de sitios donde se especifique qué sitios no pueden ejecutar JavaScript con un compilador en tiempo de ejecución (JIT) habilitado.
 
           Si se inhabilita el uso de JavaScript con JIT, es posible que <ph name="PRODUCT_NAME" /> renderice contenido web de forma más lenta y que también se inhabiliten algunas partes de JavaScript, como WebAssembly. Al inhabilitarse el uso de JavaScript con JIT, es posible que <ph name="PRODUCT_NAME" /> renderice contenido web con una configuración más segura.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index baf142ad..4488a426 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -208,6 +208,9 @@
       Cette règle ne s'applique pas aux utilisateurs de kiosque.
 
       Avertissement : Les valeurs "Wipe" et "MinimalMigrate" entraînent la suppression des données locales.</translation>
+<translation id="1250597158212586309">Si cette règle est activée ou qu'elle n'est pas configurée, l'utilisateur peut choisir de fermer/restaurer les alertes de mot de passe compromis.
+
+      Si vous désactivez ce paramètre, les utilisateurs ne pourront plus fermer les alertes concernant les mots de passe compromis. S'il est activé, les utilisateurs pourront fermer ces alertes.</translation>
 <translation id="1252536192437793850">Autoriser les sites à demander à l'utilisateur d'accorder l'accès à un port série</translation>
 <translation id="1255159327956066463">Activer la fonctionnalité Fenêtre fantôme</translation>
 <translation id="125655429495551011">Si cette règle est définie sur une chaîne, celle-ci correspond au nom d'hôte de l'appareil lors de la requête DHCP. La chaîne peut contenir les variables <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" /> et <ph name="LOCATION_PLACEHOLDER" /> qui devront être remplacées par les valeurs sur l'appareil avant qu'elle ne soit utilisée comme nom d'hôte. Le résultat de ce remplacement doit former un nom d'hôte valide conformément à la norme RFC 1035, section 3.1.
@@ -834,6 +837,30 @@
 
       Cette règle est désactivée par défaut.</translation>
 <translation id="1949584741547056205">Réponses rapides</translation>
+<translation id="1951288262199783797">Vous pouvez activer cette règle afin de créer un dictionnaire d'extensions de fichier et une liste correspondante de domaines qui seront exemptés d'avertissements de téléchargement basés sur l'extension. Cela permet aux administrateurs de l'entreprise de bloquer ces avertissements pour les fichiers associés à un domaine listé. Par exemple, si l'extension "jnlp" est associée à "website1.com", les utilisateurs verront un avertissement s'ils téléchargent des fichiers "jnlp" depuis "website1.com". En revanche, ils n'en verront pas s'ils téléchargent des fichiers "jnlp" depuis "website2.com".
+
+      Le téléchargement, depuis les domaines identifiés par cette règle, de fichiers dont l'extension est spécifiée fera toutefois l'objet d'avertissements de sécurité (non basés sur l'extension) pour signaler, par exemple, un contenu mixte ou une navigation sécurisée.
+
+      Si vous désactivez cette règle, ou que vous ne la configurez pas, les utilisateurs verront des avertissements s'ils téléchargent des fichiers des types spécifiés.
+
+      Si vous activez cette règle :
+
+      * Les URL doivent avoir le format décrit sur https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * L'extension doit être saisie au format ASCII, en minuscules. Les extensions doivent être listées sans le séparateur qui les précède (par exemple, indiquez "jlnp" et non ".jlnp").
+
+      Exemple :
+
+      La configuration suivante empêche que des avertissements s'affichent en cas de téléchargement de fichiers de type swf, exe et jnlp depuis le domaine *.example.com. L'utilisateur voit un avertissement s'il télécharge un fichier exe ou jnlp depuis un autre domaine, mais pas s'il télécharge un fichier swf.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Notez que même si les avertissements basés sur l'extension sont ici supprimés en cas de téléchargement d'un fichier swf depuis n'importe quel domaine, il n'est pas recommandé d'appliquer ce type de configuration aux extensions dangereuses, pour des raisons de sécurité. Cet exemple ne vise qu'à montrer qu'il est possible de le faire.
+
+      Si cette règle est activée en même temps que <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> et que cette autre règle est configurée pour bloquer les types de fichiers dangereux, les blocages de téléchargement qu'elle définit prévalent. Par exemple, si cette règle est configurée pour permettre les téléchargements de fichiers "exe" depuis "website1.com" et que la règle DownloadRestrictions est configurée pour bloquer les téléchargements malveillants et les types de fichiers dangereux, le téléchargement des fichiers "exe" sera alors quand même bloqué pour tous les domaines. Si la règle DownloadRestrictions n'est pas configurée pour bloquer les types de fichiers dangereux, les types de fichiers spécifiés dans cette règle seront exemptés des avertissements de téléchargement basé sur l'extension dans les domaines spécifiés. Pour en savoir plus sur la règle DownloadRestrictions, consultez la page https://chromeenterprise.google/policies/?policy=DownloadRestrictions.</translation>
 <translation id="1960416154405676350">Activer la recherche par zone <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Cette règle ne concerne que les sessions Invité gérées.
       Cette règle permet de spécifier une liste d'identifiants d'extension exclus de la procédure de nettoyage des sessions Invité gérées restreintes (voir la règle <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -888,6 +915,7 @@
       Les imprimantes connectées à <ph name="CLOUD_PRINT_NAME" /> sont considérées comme étant de type <ph name="PRINTER_TYPE_CLOUD" /> ; les autres sont de type <ph name="PRINTER_TYPE_LOCAL" />.
 
       Remarque : Si vous ne renseignez pas un champ, toutes les valeurs seront prises en compte. Par exemple, si vous ne spécifiez pas de connectivité, l'aperçu avant impression propose toutes sortes d'imprimantes, à la fois de type <ph name="PRINTER_TYPE_LOCAL" /> et <ph name="PRINTER_TYPE_CLOUD" />. Les structures d'expressions régulières doivent suivre la syntaxe JavaScript RegExp, et les correspondances sont sensibles à la casse.</translation>
+<translation id="2004382785802837840">Désactiver la fermeture des alertes de mot de passe compromis</translation>
 <translation id="2005506794355327448">Action à effectuer quand l'écran est rabattu.</translation>
 <translation id="2006530844219044261">Gestion de l'alimentation</translation>
 <translation id="2008514891623783266">La règle de gestion des adresses IP de WebRTC</translation>
@@ -1320,6 +1348,7 @@
 <translation id="2435232509335686514">Règle de configuration de <ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /> pour la gestion des fichiers téléchargés</translation>
 <translation id="2436302465999055995">Faire de <ph name="LACROS_NAME" /> le seul navigateur disponible (pas encore implémenté)</translation>
 <translation id="2439187682308339104">Interdire à tous les sites de demander l'accès aux appareils HID via l'API WebHID</translation>
+<translation id="2439733504887695659">Activer la fermeture des alertes de mot de passe compromis pour les identifiants saisis</translation>
 <translation id="2448315169529769573">Si cette règle est activée, <ph name="PRODUCT_OS_NAME" /> envoie à Google les statistiques d'utilisation et les données de diagnostic, y compris les rapports d'erreur. Si cette règle est désactivée, ces statistiques et ces données ne sont pas envoyées.
 
        Si cette règle n'est pas configurée, les statistiques et les données de diagnostic ne sont pas envoyées concernant les appareils non gérés, mais le sont pour les appareils gérés.</translation>
@@ -1752,6 +1781,7 @@
       Si cette règle est définie sur "False", <ph name="BOREALIS_NAME" /> ne sera pas disponible. Si la règle est définie sur "True" ou n'est pas définie, <ph name="BOREALIS_NAME" /> sera disponible si et seulement si aucune autre règle ni aucun autre paramètre ne le désactivent.</translation>
 <translation id="2964373560810620158">Empêcher les utilisateurs de se servir du navigateur <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Autoriser les sites à utiliser SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Désactiver les avertissements de téléchargement basés sur l'extension pour les types de fichier spécifiés selon le domaine</translation>
 <translation id="2969797921412053304">Cette règle permet de déterminer quelles URL sont autorisées à procéder à une attestation à distance de l'identité de l'appareil concerné pendant le flux SAML sur l'écran de connexion.
 
       Plus précisément, si une URL correspond à l'un des formats spécifiés dans cette règle, elle pourra recevoir un en-tête HTTP contenant une réponse à une attestation à distance (qui certifie l'identité et l'état de l'appareil concerné).
@@ -2400,13 +2430,6 @@
       Si vous désactivez ce paramètre, la saisie automatique n'est pas accessible aux utilisateurs.
 
       Si vous l'activez ou ne configurez aucune valeur, les utilisateurs contrôlent la saisie automatique. Ils peuvent alors l'activer ou la désactiver et configurer des profils de saisie automatique comme ils le souhaitent.</translation>
-<translation id="3731968520685217674">Permet de définir le comportement du système au démarrage. Désactiver cette règle revient à ne pas la configurer, car le comportement de <ph name="PRODUCT_NAME" /> au démarrage doit être spécifié.
-
-      Si cette règle est configurée, les utilisateurs ne peuvent pas la modifier dans <ph name="PRODUCT_NAME" />. Si elle n'est pas configurée, les utilisateurs peuvent la modifier.
-
-      Configurer cette règle sur <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> entraîne la désactivation de certains paramètres qui sont basés sur les sessions de navigation ou qui ont pour effet d'exécuter des actions lors de la fermeture du navigateur, comme la suppression des données de navigation ou des cookies d'une session.
-
-      Sous <ph name="MS_WIN_NAME" />, cette règle n'est disponible que sur les instances associées à un domaine <ph name="MS_AD_NAME" />, exécutées sous Windows 10 Pro ou qui bénéficient de la <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. Sous <ph name="MAC_OS_NAME" />, elle n'est disponible que sur les instances gérées via MDM ou associées à un domaine via MCX.</translation>
 <translation id="3733014427925403568">Jour de la semaine pour l'intervalle.</translation>
 <translation id="3736879847913515635">Autoriser l'ajout de personnes dans le gestionnaire d'utilisateurs</translation>
 <translation id="3749259744154402564">Non compatible</translation>
@@ -3138,6 +3161,16 @@
 <translation id="4617338332148204752">Ignorer la vérification des balises Meta dans <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Empêcher JavaScript d'utiliser le JIT sur ces sites</translation>
 <translation id="4625915093043961294">Configurer la liste blanche d'installation des extensions</translation>
+<translation id="4631165564645497047">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é.
+      Lorsqu'il est désactivé, <ph name="PRODUCT_NAME" /> vérifie les certificats des serveurs à l'aide de l'ancien outil de vérification fourni par la plate-forme.
+      Lorsqu'il n'est pas défini, l'outil intégré de vérification des certificats ou l'ancien outil peuvent être utilisés.
+
+      Cette règle sera supprimée de la version 81 de <ph name="PRODUCT_OS_NAME" /> lorsque l'ancien outil de vérification des certificats sur <ph name="PRODUCT_OS_NAME" /> ne sera plus pris en charge.
+
+      Cette règle sera supprimée de la version 83 de <ph name="PRODUCT_NAME" /> pour Linux lorsque l'ancien outil de vérification des certificats sur Linux ne sera plus pris en charge.
+
+      Cette règle sera supprimée de la version 104 de <ph name="PRODUCT_NAME" /> pour Mac OS X lorsque l'ancien outil de vérification des certificats sur Mac OS X ne sera plus pris en charge.
+      </translation>
 <translation id="4632343302005518762">Autoriser <ph name="PRODUCT_FRAME_NAME" /> à gérer les types de contenu répertoriés</translation>
 <translation id="4632566332417930481">Interdire l'utilisation des outils pour les développeurs avec les extensions installées par la stratégie d'entreprise, mais autoriser l'utilisation des outils pour les développeurs dans les autres cas</translation>
 <translation id="4635284822166984665">Heure (interprétée dans le fuseau horaire local de l'appareil) à laquelle l'appareil commencera à se recharger.</translation>
@@ -3176,6 +3209,7 @@
 
           Pour voir des exemples de formats, accédez à l'adresse https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation>
 <translation id="467449052039111439">Ouvrir une liste d'URL</translation>
+<translation id="4674542060943819878">Activer la fermeture des alertes de mot de passe compromis</translation>
 <translation id="4674871290487541952">Autoriser les algorithmes non sécurisés dans les vérifications de l'intégrité des mises à jour et des installations d'extension</translation>
 <translation id="4680961954980851756">Activer la saisie automatique</translation>
 <translation id="4685721728282448265">Algorithme clé-contrat post-quantique CECPQ2 activé pour TLS</translation>
@@ -6523,9 +6557,6 @@
 <translation id="8525526490824335042">Conteneur Linux</translation>
 <translation id="8528951285051082869">N'autoriser aucune appli Web à accéder à certains types de fichiers via l'API File Handling</translation>
 <translation id="8533145294731270627">Bloquer les téléchargements malveillants et les types de fichiers dangereux.</translation>
-<translation id="8537051350735478658">Si cette règle est définie sur "True", la fonctionnalité Suggestions de recherche est activée dans la barre d'adresse du navigateur <ph name="PRODUCT_NAME" />. Si cette règle est définie sur "False", cette fonctionnalité est désactivée.
-
-      Si vous configurez cette règle, les utilisateurs ne peuvent pas la modifier. Si cette règle n'est pas configurée, cette fonctionnalité est activée par défaut, mais les utilisateurs peuvent la désactiver à tout moment.</translation>
 <translation id="8543103455510904459">Permet de lister les formats d'URL pour lesquels les sites ne sont pas autorisés à exécuter JavaScript avec le compilateur JIT (Just In Time) activé.
 
           Si le JIT pour JavaScript est désactivé, <ph name="PRODUCT_NAME" /> peut afficher le contenu Web plus lentement et aussi désactiver des parties de JavaScript, y compris WebAssembly. Cette désactivation peut également permettre à <ph name="PRODUCT_NAME" /> d'afficher le contenu Web dans une configuration plus sûre.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 35ce36e..92be712 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -208,6 +208,9 @@
       Kebijakan ini tidak berlaku untuk pengguna kios.
 
       Peringatan: Wipe dan MinimalMigrate akan menghapus data lokal.</translation>
+<translation id="1250597158212586309">Jika kebijakan disetel ke Aktif atau tidak disetel, pengguna akan memiliki opsi untuk menutup/memulihkan notifikasi sandi yang telah dibobol.
+
+      Jika Anda menonaktifkan setelan ini, pengguna tidak akan dapat menutup notifikasi sandi yang telah dibobol. Jika Anda mengaktifkan setelan ini, pengguna akan dapat menutup notifikasi sandi yang telah dibobol.</translation>
 <translation id="1252536192437793850">Izinkan situs meminta pengguna memberikan akses ke port serial</translation>
 <translation id="1255159327956066463">Mengaktifkan fitur jendela bayangan</translation>
 <translation id="125655429495551011">Menyetel kebijakan ke string akan memberlakukan string tersebut sebagai hostname perangkat selama permintaan DHCP. String tersebut dapat memiliki variabel <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" />, <ph name="LOCATION_PLACEHOLDER" /> yang akan diganti dengan nilai di perangkat sebelum digunakan sebagai hostname. Substitusi yang dihasilkan harus berupa hostname yang valid (sesuai dengan RFC 1035, bagian 3.1).
@@ -844,6 +847,30 @@
 
       Kebijakan perusahaan ini dinonaktifkan secara default.</translation>
 <translation id="1949584741547056205">Jawaban Instan</translation>
+<translation id="1951288262199783797">Anda dapat mengaktifkan kebijakan ini untuk membuat kamus ekstensi jenis file beserta daftar domain yang sesuai yang tidak akan muncul di peringatan download berbasis ekstensi jenis file. Kebijakan ini memungkinkan administrator perusahaan memblokir peringatan download berbasis ekstensi jenis file untuk file yang dikaitkan dengan domain yang tercantum. Misalnya, jika ekstensi "jnlp" dikaitkan dengan "website1.com", pengguna tidak akan melihat peringatan saat mendownload file "jnlp" dari "website1.com", tetapi akan melihat peringatan download saat mendownload file "jnlp" dari "website2.com".
+
+      File dengan ekstensi jenis file yang ditentukan untuk domain yang diidentifikasi oleh kebijakan ini akan tetap mendapatkan peringatan keamanan berbasis ekstensi non-jenis file seperti peringatan download konten campuran dan peringatan Safe Browsing.
+
+      Jika kebijakan ini dinonaktifkan atau tidak dikonfigurasi, jenis file yang memicu peringatan download berbasis ekstensi akan menampilkan peringatan kepada pengguna.
+
+      Jika kebijakan ini diaktifkan:
+
+      * Pola URL harus diformat sesuai dengan https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * Ekstensi jenis file yang dimasukkan harus dalam huruf kecil ASCII. Pemisah di awal tidak boleh disertakan saat mencantumkan ekstensi jenis file, sehingga Anda harus menggunakan daftar "jnlp", bukan ".jnlp".
+
+      Contoh:
+
+      Contoh nilai berikut akan mencegah peringatan download berbasis ekstensi jenis file pada ekstensi swf, exe, dan jnlp untuk domain *.example.com. Pengguna akan melihat peringatan download berbasis ekstensi jenis file di domain lain untuk file exe dan jnlp, tetapi bukan untuk file swf.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Perhatikan bahwa jika contoh sebelumnya menunjukkan penekanan pada peringatan download berbasis ekstensi jenis file untuk file "swf" bagi semua domain, sebaiknya Anda tidak menerapkan penekanan pada peringatan tersebut bagi semua domain untuk ekstensi jenis file berbahaya demi alasan keamanan. Contoh ini diberikan hanya untuk mendemonstrasikan bahwa hal tersebut dapat dilakukan.
+
+      Jika kebijakan ini diaktifkan bersama <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> dan DownloadRestrictions disetel untuk memblokir jenis file berbahaya, pemblokiran download yang ditentukan oleh DownloadRestrictions akan diprioritaskan. Misalnya, jika kebijakan ini disetel untuk mengizinkan download ekstensi "exe" dari "website1.com", dan DownloadRestrictions disetel untuk memblokir download dan jenis file berbahaya, download ekstensi "exe" akan tetap diblokir di semua domain. Jika DownloadRestrictions tidak disetel untuk memblokir jenis file berbahaya, jenis file yang ditentukan di kebijakan ini tidak akan muncul di peringatan download berbasis ekstensi jenis file pada domain yang ditentukan. Baca selengkapnya tentang DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350">Aktifkan penelusuran region <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Kebijakan ini hanya berlaku untuk sesi tamu terkelola.
       Menyetel kebijakan akan menentukan daftar ID ekstensi yang dikecualikan dari prosedur pembersihan sesi tamu terkelola yang dibatasi (lihat <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -898,6 +925,7 @@
       Printer yang terhubung ke <ph name="CLOUD_PRINT_NAME" /> dianggap sebagai <ph name="PRINTER_TYPE_CLOUD" />, printer lainnya akan diklasifikasikan sebagai <ph name="PRINTER_TYPE_LOCAL" />.
 
       Catatan: Menghilangkan kolom berarti semua nilai cocok. Misalnya, tidak menentukan konektivitas menyebabkan Pratinjau Cetak mulai menemukan semua jenis printer, <ph name="PRINTER_TYPE_LOCAL" /> dan <ph name="PRINTER_TYPE_CLOUD" />. Pola ekspresi reguler harus mengikuti sintaksis RegExp JavaScript, dan pencocokan bersifat peka huruf besar/kecil.</translation>
+<translation id="2004382785802837840">Nonaktifkan penutupan notifikasi sandi yang telah dibobol</translation>
 <translation id="2005506794355327448">Tindakan yang harus diambil saat penutup ditutup.</translation>
 <translation id="2006530844219044261">Pengelolaan daya</translation>
 <translation id="2008514891623783266">Kebijakan penanganan IP WebRTC</translation>
@@ -1330,6 +1358,7 @@
 <translation id="2435232509335686514">Kebijakan konfigurasi untuk <ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /> yang menangani file yang didownload</translation>
 <translation id="2436302465999055995">Jadikan <ph name="LACROS_NAME" /> sebagai satu-satunya browser yang tersedia (belum diimplementasikan)</translation>
 <translation id="2439187682308339104">Jangan izinkan situs apa pun meminta akses ke perangkat HID melalui WebHID API</translation>
+<translation id="2439733504887695659">Mengaktifkan penutupan notifikasi sandi yang telah dibobol untuk kredensial yang dimasukkan</translation>
 <translation id="2448315169529769573">Jika kebijakan disetel ke Aktif, <ph name="PRODUCT_OS_NAME" /> akan melaporkan kembali metrik penggunaan dan data diagnostik, termasuk laporan kerusakan, ke Google. Jika kebijakan disetel ke Nonaktif, pelaporan metrik dan data diagnostik akan dinonaktifkan.
 
        Jika kebijakan tidak disetel, pelaporan metrik dan data diagnostik akan dinonaktifkan di perangkat yang tidak terkelola dan akan diaktifkan di perangkat terkelola.</translation>
@@ -1767,6 +1796,7 @@
       Jika kebijakan disetel ke salah (false), <ph name="BOREALIS_NAME" /> tidak akan tersedia. Sebaliknya (jika kebijakan tidak disetel atau disetel ke benar (true)), <ph name="BOREALIS_NAME" /> akan tersedia jika dan hanya jika tidak ada kebijakan atau setelan lain yang menonaktifkannya.</translation>
 <translation id="2964373560810620158">Cegah pengguna menggunakan browser <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Izinkan situs menggunakan SharedArrayBuffer</translation>
+<translation id="2969568582351417848">Menonaktifkan peringatan berbasis ekstensi jenis file download untuk jenis file tertentu di domain</translation>
 <translation id="2969797921412053304">Kebijakan ini mengonfigurasi URL yang akan diberi akses untuk menggunakan pengesahan identitas perangkat dari jarak jauh selama alur SAML berlangsung pada layar login.
 
       Khususnya, jika URL cocok dengan salah satu pola yang diberikan melalui kebijakan ini, URL akan diizinkan menerima header HTTP yang berisi respons untuk verifikasi pengesahan jarak jauh, yang mengesahkan identitas dan status perangkat.
@@ -2419,13 +2449,6 @@
       Jika setelan ini dinonaktifkan, Isi Otomatis tidak akan dapat diakses oleh pengguna.
 
       Jika setelan ini diaktifkan atau tidak disetel nilainya, Isi Otomatis akan dapat dikontrol oleh pengguna. Penyetelan ini akan memungkinkan pengguna untuk mengonfigurasi profil Isi Otomatis dan untuk mengaktifkan atau menonaktifkan Isi Otomatis sesuai keinginan.</translation>
-<translation id="3731968520685217674">Menyetel kebijakan memungkinkan Anda menentukan perilaku sistem saat browser mulai dijalankan. Menonaktifkan setelan ini memiliki efek yang sama dengan tidak menyetelnya, karena <ph name="PRODUCT_NAME" /> sudah menetapkan perilaku saat browser mulai dijalankan.
-
-      Jika Anda menyetel kebijakan, pengguna tidak dapat mengubahnya di <ph name="PRODUCT_NAME" />. Jika tidak disetel, pengguna dapat mengubahnya.
-
-      Menyetel kebijakan ini ke <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> akan menonaktifkan beberapa setelan yang mengandalkan sesi atau yang melakukan tindakan saat keluar, seperti menghapus data penjelajahan saat keluar atau cookie khusus sesi.
-
-      Di <ph name="MS_WIN_NAME" />, fungsi ini hanya tersedia di instance yang dihubungkan ke domain <ph name="MS_AD_NAME" />, dijalankan di Windows 10 Pro, atau didaftarkan di <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. Di <ph name="MAC_OS_NAME" />, fungsi ini hanya tersedia di instance yang dikelola melalui MDM, atau dihubungkan ke domain melalui MCX.</translation>
 <translation id="3733014427925403568">Hari dalam seminggu sebagai interval.</translation>
 <translation id="3736879847913515635">Mengaktifkan penambahan orang di pengelola pengguna</translation>
 <translation id="3749259744154402564">Tidak didukung</translation>
@@ -2580,6 +2603,7 @@
       Mendaftar ekstensi yang dipasang secara otomatis untuk pengguna Demo, untuk perangkat dalam mode ritel. Ekstensi ini disimpan dalam perangkat dan dapat dipasang saat offline, setelah pemasangan.
 
       Setiap entri cantuman berisi kamus yang harus menyertakan ID ekstensi dalam bidang 'extension-id', dan URL pembaruannya dalam bidang 'update-url'.</translation>
+<translation id="3869180930654347954">Nonaktifkan Set Pihak Pertama untuk semua pengguna yang terpengaruh</translation>
 <translation id="3870059789954671543">Mengaktifkan fitur aksesibilitas penyorotan fokus keyboard di layar login.
 
           Fitur ini berfungsi untuk menyoroti objek yang difokuskan oleh keyboard.
@@ -2774,6 +2798,7 @@
       Jika kebijakan dinonaktifkan atau tidak disetel, layanan akan mengirimkan pengguna ke https://myaccount.google.com untuk mengubah sandinya.
 
       Di <ph name="MS_WIN_NAME" />, fungsi ini hanya tersedia di instance yang dihubungkan ke domain <ph name="MS_AD_NAME" />, dijalankan di Windows 10 Pro, atau didaftarkan di <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. Di <ph name="MAC_OS_NAME" />, fungsi ini hanya tersedia di instance yang dikelola melalui MDM, atau dihubungkan ke domain melalui MCX.</translation>
+<translation id="4115501011761259824">Aktifkan Set Pihak Pertama untuk semua pengguna yang terpengaruh</translation>
 <translation id="4121350739760194865">Mencegah promosi apl muncul di halaman tab baru</translation>
 <translation id="4122473079291425973">Halaman Tab Baru akan menampilkan kartu jika konten tersedia, tetapi izinkan pengguna untuk mengubah setelan ini</translation>
 <translation id="4122565688998751716">Kebijakan ini tidak digunakan lagi. Sebagai gantinya, gunakan kebijakan '<ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />'.
@@ -2914,6 +2939,14 @@
       Kebijakan ini akan diabaikan dan notifikasi akan selalu ditampilkan jika perangkat tidak dikelola atau hanya terdapat satu pengguna.
 
       Jika terdapat beberapa akun pengguna di perangkat terkelola, notifikasi hanya akan ditampilkan saat kebijakan ini diaktifkan.</translation>
+<translation id="4293593564662654474">Kebijakan ini disediakan sebagai cara untuk memblokir fitur Set Pihak Pertama.
+
+                  Jika kebijakan ini tidak disetel atau disetel ke Aktif, fitur Set Pihak Pertama akan diaktifkan.
+
+                  Jika kebijakan ini disetel ke Nonaktif, fitur Set Pihak Pertama akan dinonaktifkan.
+
+                  Status fitur Set Pihak Pertama menentukan apakah Chrome akan mengambil daftar Set Pihak Pertama.
+                  Status tersebut juga mengontrol apakah Chrome akan mendukung fitur terkait Set Pihak Pertama (misalnya, atribut cookie SameParty).</translation>
 <translation id="4311195029067684288">Penuh</translation>
 <translation id="4313767483634435271">Alamat MAC dok yang ditetapkan untuk perangkat</translation>
 <translation id="4314538398999793073">Nonaktifkan pencarian CNAME selama autentikasi Kerberos</translation>
@@ -3044,6 +3077,7 @@
 <translation id="449423975179525290">Konfigurasikan kebijakan terkait <ph name="PLUGIN_VM_NAME" />.</translation>
 <translation id="449784980858429908">Otomatis memberikan izin ke situs untuk menghubungkan semua port serial.</translation>
 <translation id="450080746522343150">Blokir semua download.</translation>
+<translation id="4508728400492074981">Mengontrol kebijakan untuk fitur Set Pihak Pertama.</translation>
 <translation id="4510923771103268849">Pengguna diizinkan untuk memiliki akses root ke penampung Crostini</translation>
 <translation id="4512407512989846472">Memungkinkan pemblokiran penyalinan ke papan klip pada URL tertentu</translation>
 <translation id="4513691822411041977">Jangan terapkan penggunaan SafeSearch di Google Penelusuran atau Mode Terbatas YouTube</translation>
@@ -3159,6 +3193,16 @@
 <translation id="4617338332148204752">Lewati pemeriksaan tag meta pada <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Memblokir JavaScript agar tidak menggunakan JIT di situs ini</translation>
 <translation id="4625915093043961294">Mengonfigurasi daftar putih pemasangan ekstensi</translation>
+<translation id="4631165564645497047">Jika setelan ini diaktifkan, <ph name="PRODUCT_NAME" /> akan menjalankan verifikasi sertifikat server menggunakan pemverifikasi sertifikat bawaan.
+      Jika setelan ini dinonaktifkan, <ph name="PRODUCT_NAME" /> akan menjalankan verifikasi sertifikat server menggunakan pemverifikasi sertifikat lama yang disediakan oleh platform.
+      Jika setelan ini tidak ditetapkan, pemverifikasi sertifikat yang lama atau bawaan dapat digunakan.
+
+      Kebijakan ini akan dihapus dari <ph name="PRODUCT_OS_NAME" /> versi 81 dan saat ini terjadi, dukungan untuk pemverifikasi sertifikat versi lama di <ph name="PRODUCT_OS_NAME" /> akan dihapus.
+
+      Kebijakan ini akan dihapus dari <ph name="PRODUCT_NAME" /> untuk Linux versi 83 dan saat ini terjadi, dukungan untuk pemverifikasi sertifikat versi lama di Linux akan dihapus.
+
+      Kebijakan ini akan dihapus dari <ph name="PRODUCT_NAME" /> untuk Mac OS X versi 104 dan saat ini terjadi, dukungan untuk pemverifikasi sertifikat versi lama di Mac OS X akan dihapus.
+      </translation>
 <translation id="4632343302005518762">Izinkan <ph name="PRODUCT_FRAME_NAME" /> menangani jenis konten yang tercantum</translation>
 <translation id="4632566332417930481">Larang penggunaan Developer Tools pada ekstensi yang diinstal oleh kebijakan perusahaan, izinkan penggunaan Developer Tools dalam konteks lainnya</translation>
 <translation id="4635284822166984665">Waktu perangkat akan mulai mengisi daya, disesuaikan dengan zona waktu lokal perangkat.</translation>
@@ -3197,6 +3241,7 @@
 
           Untuk melihat contoh pola, buka https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation>
 <translation id="467449052039111439">Buka daftar URL</translation>
+<translation id="4674542060943819878">Aktifkan penutupan notifikasi sandi yang telah dibobol</translation>
 <translation id="4674871290487541952">Mengizinkan algoritme tidak aman dalam pemeriksaan integritas selama penginstalan dan update ekstensi</translation>
 <translation id="4680961954980851756">Aktifkan IsiOtomatis</translation>
 <translation id="4685721728282448265">Perjanjian kunci pasca-kuantum CECPQ2 diaktifkan untuk TLS</translation>
@@ -3474,6 +3519,7 @@
 <translation id="5075190314377370852">Jika kebijakan ditetapkan ke Benar (True), <ph name="PRODUCT_NAME" /> akan selalu melakukan pemeriksaan pencabutan sertifikat server yang berhasil divalidasi yang ditandatangani oleh sertifikat CA yang diinstal secara lokal. Jika <ph name="PRODUCT_NAME" /> tidak mendapat informasi status pencabutan, <ph name="PRODUCT_NAME" /> akan memperlakukan sertifikat ini sebagai dicabut (kegagalan fatal).
 
       Jika kebijakan ditetapkan ke Salah (False) atau tidak ditetapkan, <ph name="PRODUCT_NAME" /> akan menggunakan setelan pemeriksaan pencabutan online yang ada.</translation>
+<translation id="5076953589932162038">Setelan Set Pihak Pertama</translation>
 <translation id="5078623750797048009">Mengaktifkan Anotasi PDF</translation>
 <translation id="5081204761483900654">Sesi tamu terkelola yang dibatasi</translation>
 <translation id="5082296146261894974">Mengizinkan pengguna mengklik notifikasi Phone Hub untuk meluncurkan aplikasi Eche.</translation>
@@ -4523,6 +4569,28 @@
 <translation id="631183702829488873">Saat diaktifkan, fitur ini akan menampilkan tombol di layar login dan layar kunci yang mengizinkan sandi untuk ditampilkan.
           Fitur ini ditampilkan sebagai ikon mata di kolom teks sandi. Tombol tidak akan muncul saat fitur dinonaktifkan.
       </translation>
+<translation id="6313108604615108577">Kebijakan ini mengontrol apakah versi utama string
+      Agen Pengguna akan dibekukan ke 99.
+
+      Header permintaan Agen Pengguna memungkinkan situs mengidentifikasi aplikasi,
+      sistem operasi, vendor, dan/atau versi agen pengguna yang meminta.
+      Beberapa situs membuat asumsi tentang cara header ini diformat dan mungkin
+      mengalami masalah dengan string versi yang menyertakan tiga angka pada
+      posisi utama (misalnya, 100.0.0.0).
+
+      Jika kebijakan ini disetel ke 'Default' atau tidak disetel, setelan browser
+      untuk versi utama string Agen Pengguna akan kembali ke defaultnya.
+      Jika kebijakan disetel ke 'ForceDisabled', string Agen Pengguna tidak akan membekukan
+      versi utama.
+      Jika kebijakan disetel ke 'ForceEnabled', string Agen Pengguna akan selalu melaporkan
+      versi utama sebagai 99 dan menyertakan versi utama browser di posisi
+      minor. Misalnya, versi browser 101.0.0.0 akan mengirimkan header permintaan
+      Agen Pengguna yang melaporkan versi 99.101.0.0.
+
+      Kebijakan ini bersifat sementara dan tidak akan digunakan lagi di masa mendatang. Perhatikan bahwa
+      jika kebijakan ini dan
+      <ph name="USER_AGENT_REDUCTION_POLICY_NAME" /> diaktifkan,
+      string versi Agen Pengguna akan selalu 99.0.0.0.</translation>
 <translation id="6313170479290171718">Kebijakan ini tidak digunakan lagi. Sebagai gantinya, gunakan kebijakan <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />.
 
       Jika kebijakan disetel ke Benar (True), keyboard virtual akan diaktifkan saat login. Jika kebijakan disetel ke Salah (False), keyboard virtual akan dinonaktifkan saat login.
@@ -4964,6 +5032,7 @@
       chrome://flags dan cara lain untuk menonaktifkan dan mengaktifkan fitur browser akan tetap berperilaku sebagaimana mestinya terlepas dari apakah kebijakan ini disetel ke Aktif atau Nonaktif.</translation>
 <translation id="6794083666143216172">Mengizinkan asal mengkueri atribut perangkat</translation>
 <translation id="6795485990775913659">Hanya izinkan pencetakan tanpa PIN</translation>
+<translation id="6796215185873669533">Mengembalikan setelan browser untuk versi string Agen Pengguna ke defaultnya.</translation>
 <translation id="6800181452282128474">Jangan kueri Server Quirks</translation>
 <translation id="68031099365512050">Laporkan status audio</translation>
 <translation id="6810445994095397827">Cekal JavaScript di situs ini</translation>
@@ -5285,6 +5354,7 @@
 <translation id="7070525176564511548">Sandi harus dimasukkan setiap minggu (168 jam)</translation>
 <translation id="7072208053150563108">Tingkat perubahan sandi mesin</translation>
 <translation id="7072567600438630966">Izinkan pengaktifan Phone Hub.</translation>
+<translation id="7074437930865599190">Membekukan versi utama string Agen Pengguna ke 99</translation>
 <translation id="7079519252486108041">Cekal pop-up di situs ini</translation>
 <translation id="707988220162760379">Selalu buka file PDF menggunakan penampil PDF eksternal</translation>
 <translation id="7081784525008938771">Jika kebijakan disetel ke Aktif atau tidak disetel, pengguna tidak akan dianggap tidak ada aktivitas saat video diputar. Hal ini mencegah tercapainya waktu tunggu penundaan tidak ada aktivitas, penundaan peredupan layar, penundaan penonaktifan layar, dan penundaan penguncian layar, serta mencegah diambilnya tindakan terkait.
@@ -5990,6 +6060,7 @@
       Secara default, ekstensi atau aplikasi Android tidak dapat menggunakan kunci yang ditujukan untuk pemakaian dalam perusahaan, hal ini setara dengan menyetel allowCorporateKeyUsage ke Salah (False) untuk ekstensi atau aplikasi Android tersebut. Hanya jika allowCorporateKeyUsage disetel ke Benar (True) untuk suatu ekstensi atau aplikasi Android, ekstensi atau aplikasi Android tersebut dapat menggunakan kunci platform apa pun yang ditujukan untuk pemakaian dalam perusahaan, guna menandai data arbitrer. Izin ini hanya boleh diberikan jika ekstensi atau aplikasi Android dipercaya untuk mengamankan akses ke kunci dari para penyerang.</translation>
 <translation id="7933141401888114454">Mengaktifkan pembuatan pengguna yang dilindungi</translation>
 <translation id="793473937901685727">Menyetel ketersediaan sertifikat untuk aplikasi ARC</translation>
+<translation id="7936302526928951356">String Agen Pengguna tidak akan membekukan versi utama.</translation>
 <translation id="7937766917976512374">Izinkan atau tolak penangkapan video</translation>
 <translation id="7941975817681987555">Jangan memprediksi tindakan jaringan di koneksi jaringan apa pun</translation>
 <translation id="7946350455013548764">Jika kebijakan disetel ke 3, situs akan diizinkan meminta akses ke perangkat HID. Jika kebijakan disetel ke 2, situs akan dilarang meminta akses ke perangkat HID.
@@ -6133,6 +6204,7 @@
 <translation id="8133152694354699657">Jika kebijakan ditetapkan ke Benar (True) atau tidak ditetapkan, fitur Sentuh untuk Menelusuri akan tersedia bagi pengguna, dan mereka dapat mengaktifkan atau menonaktifkannya.
 
       Jika kebijakan ditetapkan ke Salah (False), fitur Sentuh untuk Menelusuri akan dinonaktifkan sepenuhnya.</translation>
+<translation id="8136345780578030573">Mengaktifkan Set Pihak Pertama.</translation>
 <translation id="8136906469922284163">Jika kebijakan disetel ke Benar (True), halaman akan menampilkan pop-up saat halaman menghapus muatan.
 
       Jika kebijakan disetel ke Salah (False) atau tidak disetel, halaman tidak akan dapat menampilkan pop-up saat halaman menghapus muatan.
@@ -6546,9 +6618,6 @@
 <translation id="8525526490824335042">Container Linux</translation>
 <translation id="8528951285051082869">Jangan izinkan aplikasi web apa pun mengakses berbagai jenis file melalui File Handling API</translation>
 <translation id="8533145294731270627">Blokir download dan jenis file berbahaya.</translation>
-<translation id="8537051350735478658">Jika kebijakan ditetapkan ke Benar (True), saran penelusuran akan diaktifkan di kolom URL <ph name="PRODUCT_NAME" />. Jika kebijakan ditetapkan ke Salah (False), saran penelusuran akan dinonaktifkan.
-
-      Jika Anda menetapkan kebijakan, pengguna tidak dapat mengubahnya. Jika tidak ditetapkan, saran penelusuran mula-mula akan diaktifkan, tetapi pengguna dapat menonaktifkannya kapan saja.</translation>
 <translation id="8543103455510904459">Memungkinkan Anda menetapkan daftar pola URL yang menentukan situs yang tidak diizinkan untuk menjalankan JavaScript dengan compiler JIT (Just In Time) yang diaktifkan.
 
           Jika JIT JavaScript dinonaktifkan, <ph name="PRODUCT_NAME" /> dapat merender konten web dengan lebih lambat, serta dapat menonaktifkan bagian JavaScript termasuk WebAssembly. Jika JIT JavaScript dinonaktifkan, <ph name="PRODUCT_NAME" /> dapat merender konten web dalam konfigurasi yang lebih aman.
@@ -6801,6 +6870,7 @@
       Setiap item daftar kebijakan merupakan string yang berisi ID ekstensi dan, terkadang, URL "update" yang dipisahkan titik koma (;). ID ekstensi adalah string 32 huruf yang ditemukan, misalnya, di chrome://extensions saat dalam mode Developer. Jika ditentukan, URL "update" akan mengarah ke dokumen XML Manifes Update (https://developer.chrome.com/extensions/autoupdate). Secara default, URL update Chrome Web Store akan digunakan. URL "update" yang disetel dalam kebijakan ini hanya digunakan untuk penginstalan awal; update ekstensi berikutnya akan menggunakan URL update dalam manifes ekstensi.
 
        Catatan: Kebijakan ini tidak berlaku untuk mode Samaran. Baca tentang ekstensi hosting (https://developer.chrome.com/extensions/hosting).</translation>
+<translation id="8827275450034266143">String Agen Pengguna akan membekukan versi utama sebagai 99 dan menyertakan versi utama browser di posisi minor.</translation>
 <translation id="8827366480126575426">Protokol untuk pengendali protokol.</translation>
 <translation id="8827417642396462482">Izinkan jenis kueri DNS tambahan</translation>
 <translation id="8831911834413504983">Menyetel kebijakan memungkinkan Anda menetapkan daftar pola URL yang menentukan situs yang dapat menjalankan JavaScript.
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 2a02a3d9..1c46451 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -831,6 +831,30 @@
 
       Questo criterio aziendale è disattivato per impostazione predefinita.</translation>
 <translation id="1949584741547056205">Risposte rapide</translation>
+<translation id="1951288262199783797">Puoi attivare questo criterio per creare un dizionario di estensioni di tipi di file con un elenco di domini corrispondente che verrà esentato dagli avvisi relativi al download basati sulle estensioni dei tipi di file. Questo criterio consente agli amministratori aziendali di bloccare gli avvisi relativi al download basati sulle estensioni dei tipi di file per i file associati a un dominio presente nell'elenco. Ad esempio, se l'estensione "jnlp" viene associata a "sitoweb1.com", gli utenti non vedrebbero un avviso se scaricassero file "jnlp" da "sitoweb1.com", ma vedrebbero un avviso relativo al download se scaricassero file "jnlp" da "sitoweb2.com".
+
+      I file con estensioni dei tipi di file specificate per i domini identificati da questo criterio saranno comunque soggetti ad avvisi relativi alla sicurezza non basati sulle estensioni dei tipi di file, ad esempio gli avvisi relativi al download di contenuto misto e gli avvisi di Navigazione sicura.
+
+      Se disattivi questo criterio o non lo configuri, all'utente verranno mostrati avvisi per i tipi di file che attivano gli avvisi relativi al download basati sulle estensioni.
+
+      Se attivi questo criterio:
+
+      * Il pattern URL deve essere nel formato indicato all'indirizzo https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * L'estensione del tipo di file inserita deve essere in formato ASCII minuscolo. Il separatore iniziale non deve essere incluso nel nome dell'estensione del tipo di file, quindi usa "jnlp" anziché ".jnlp".
+
+      Esempio:
+
+      Il valore di esempio che segue impedirebbe gli avvisi relativi al download basati sulle estensioni dei tipi di file swf, exe e jnlp per i domini *.example.com. All'utente verrà mostrato un avviso relativo al download basato sulle estensioni dei tipi di file su qualsiasi altro dominio per i file exe e jnlp, ma non per i file swf.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Tieni presente che, anche se nell'esempio precedente viene mostrata l'esclusione degli avvisi relativi al download basati sulle estensioni dei tipi di file per i file "swf" per tutti i domini, per motivi di sicurezza è sconsigliato applicare l'esclusione di tali avvisi per tutti i domini per le estensioni di tipi di file pericolosi. L'esclusione viene mostrata nell'esempio solamente per mostrare che è possibile farlo.
+
+      Se questo criterio viene attivato insieme al criterio <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> e DownloadRestrictions viene impostato in modo da bloccare i tipi di file pericolosi, i blocchi dei download stabiliti da DownloadRestrictions hanno la precedenza. Ad esempio, se questo criterio viene impostato in modo da consentire i download di file con estensione "exe" da "sitoweb1.com" e il criterio DownloadRestrictions viene impostato in modo da bloccare i download dannosi e i tipi di file pericolosi, i download dei file con estensione "exe" verranno comunque bloccati in tutti i domini. Se il criterio DownloadRestrictions non viene impostato in modo da bloccare i tipi di file pericolosi, i tipi di file specificati in questo criterio saranno esentati dagli avvisi relativi al download basati sulle estensioni dei tipi di file nei domini specificati. Scopri di più su DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350">Attiva la ricerca per sezione di <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Il criterio viene applicato soltanto alle sessioni Ospite gestite.
       La configurazione del criterio consente di specificare un elenco di ID delle estensioni esenti dalla procedura di pulizia della sessione Ospite gestita limitata (vedi <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -1756,6 +1780,7 @@
       Se il criterio viene impostato su falso, <ph name="BOREALIS_NAME" /> non sarà disponibile. In caso contrario (se il criterio non viene configurato o se viene impostato su vero) <ph name="BOREALIS_NAME" /> sarà disponibile soltanto se non viene disattivato da altri criteri o impostazioni.</translation>
 <translation id="2964373560810620158">Impedisci agli utenti di usare il browser <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Consenti ai siti di utilizzare il criterio SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Disattiva gli avvisi relativi al download basati sulle estensioni dei tipi di file per tipi di file specifici sui domini</translation>
 <translation id="2969797921412053304">Questo criterio consente di configurare gli URL a cui verrà concesso l'accesso per usare l'attestazione remota dell'identità del dispositivo durante il flusso SAML nella schermata di accesso.
 
       Nello specifico, se un URL corrisponde a uno dei pattern specificati tramite questo criterio, l'URL potrà ricevere un'intestazione HTTP contenente una risposta a una richiesta di attestazione remota, che attesta l'identità e lo stato del dispositivo.
@@ -2405,13 +2430,6 @@
       Se disattivi questa impostazione, gli utenti non potranno accedere alla funzionalità di compilazione automatica.
 
       Se la attivi o se non la configuri, la funzionalità di compilazione automatica potrà essere gestita dagli utenti, che potranno quindi configurare i profili di compilazione automatica e attivare o disattivare a propria scelta questa funzionalità.</translation>
-<translation id="3731968520685217674">Questo criterio consente di specificare il comportamento del sistema all'avvio. Disattivare questa impostazione equivale a non impostarla, perché per <ph name="PRODUCT_NAME" /> è necessario specificare un comportamento da adottare all'avvio.
-
-      Se il criterio viene impostato, gli utenti non possono modificarlo in <ph name="PRODUCT_NAME" />. Se non viene impostato, gli utenti possono modificarlo.
-
-      Se questo criterio viene impostato su <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" />, vengono disattivate alcune impostazioni basate sulle sessioni o che compiono azioni all'uscita, ad esempio la cancellazione dei dati di navigazione alla chiusura o quella dei cookie della sessione.
-
-      Su <ph name="MS_WIN_NAME" />, questa funzionalità è disponibile soltanto nelle istanze che fanno parte di un dominio <ph name="MS_AD_NAME" />, sono in esecuzione su Windows 10 Pro o sono registrate in <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. Su <ph name="MAC_OS_NAME" />, questa funzionalità è disponibile soltanto nelle istanze gestite tramite MDM o aggiunte a un dominio tramite MCX.</translation>
 <translation id="3733014427925403568">Giorno della settimana dell'intervallo.</translation>
 <translation id="3736879847913515635">Attiva la funzione Aggiungi persona in Gestione utenti</translation>
 <translation id="3749259744154402564">Opzione non supportata</translation>
@@ -2565,6 +2583,7 @@
       Consente di elencare le estensioni che vengono installate automaticamente per gli utenti Demo di dispositivi in modalità retail. Queste estensioni vengono salvate sul dispositivo e possono essere installate offline, dopo l'installazione.
 
       Ogni voce dell'elenco contiene un dizionario che deve includere l'ID dell'estensione nel campo "extension-id" e il relativo URL di aggiornamento nel campo "update-url".</translation>
+<translation id="3869180930654347954">Disattiva First-Party Sets per tutti gli utenti interessati</translation>
 <translation id="3870059789954671543">Consente di attivare la funzione di accessibilità di evidenziazione dell'elemento attivo tramite tastiera nella schermata di accesso.
 
           Questa funzione consente di evidenziare l'elemento attivo impostato tramite tastiera.
@@ -2758,6 +2777,7 @@
       Se il criterio viene disattivato o se non viene configurato, il servizio reindirizza gli utenti al sito https://myaccount.google.com per la modifica della propria password.
 
       Su <ph name="MS_WIN_NAME" />, questa funzionalità è disponibile soltanto sulle istanze che fanno parte di un dominio <ph name="MS_AD_NAME" />, sono in esecuzione su Windows 10 Pro o sono registrate in <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. Su <ph name="MAC_OS_NAME" />, questa funzionalità è disponibile soltanto nelle istanze gestite tramite MDM o aggiunte a un dominio tramite MCX.</translation>
+<translation id="4115501011761259824">Attiva First-Party Sets per tutti gli utenti interessati</translation>
 <translation id="4121350739760194865">Impedisci la visualizzazione delle promozioni di applicazioni nella pagina Nuova scheda</translation>
 <translation id="4122473079291425973">La pagina Nuova scheda mostra le schede se sono disponibili contenuti, ma consente all'utente di modificare l'impostazione</translation>
 <translation id="4122565688998751716">Questo criterio è deprecato. Utilizza il criterio "<ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />".
@@ -2897,6 +2917,14 @@
       Se il dispositivo non è gestito o se è presente un solo utente, il criterio viene ignorato e la notifica viene sempre visualizzata.
 
       Se sono presenti diversi account utente su un dispositivo gestito, la notifica viene visualizzata soltanto se il criterio è stato attivato.</translation>
+<translation id="4293593564662654474">Questo criterio consente di disattivare la funzionalità First-Party Sets.
+
+                  Se questo criterio non viene configurato o se viene impostato su Attivato, la funzionalità First-Party Sets viene attivata.
+
+                  Se questo criterio viene impostato su Disattivato, la funzionalità First-Party Sets viene disattivata.
+
+                  Lo stato della funzionalità First-Party Sets stabilisce se Chrome recupera o meno l'elenco di First-Party Sets.
+                  Stabilisce inoltre se Chrome supporta o meno le funzionalità correlate a First-Party Sets (ad esempio l'attributo per i cookie SameParty).</translation>
 <translation id="4311195029067684288">Full</translation>
 <translation id="4313767483634435271">Indirizzo MAC designato del dock del dispositivo</translation>
 <translation id="4314538398999793073">Disattiva ricerca CNAME durante l'autenticazione Kerberos</translation>
@@ -3027,6 +3055,7 @@
 <translation id="449423975179525290">Imposta le norme relative a <ph name="PLUGIN_VM_NAME" />.</translation>
 <translation id="449784980858429908">Concedi automaticamente ai siti l'autorizzazione a connettersi a tutte le porte seriali</translation>
 <translation id="450080746522343150">Blocca tutti i download.</translation>
+<translation id="4508728400492074981">Controlla i criteri relativi alla funzionalità First-Party Sets.</translation>
 <translation id="4510923771103268849">L'utente può avere accesso root ai contenitori Crostini</translation>
 <translation id="4512407512989846472">Consente di impedire la copia negli appunti per URL specifici</translation>
 <translation id="4513691822411041977">Non viene forzato l'uso di SafeSearch nella Ricerca Google o nella Modalità con restrizioni di YouTube</translation>
@@ -3143,6 +3172,16 @@
 <translation id="4617338332148204752">Salta il controllo dei metatag in <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Impedisci a JavaScript di utilizzare JIT su questi siti</translation>
 <translation id="4625915093043961294">Configura la whitelist per l'installazione delle estensioni</translation>
+<translation id="4631165564645497047">Se questa impostazione viene attivata, <ph name="PRODUCT_NAME" /> verifica i certificati dei server mediante lo strumento di verifica dei certificati integrato.
+      Se viene disattivata, <ph name="PRODUCT_NAME" /> verifica i certificati dei server mediante lo strumento di verifica dei certificati precedente fornito dalla piattaforma.
+      Se non viene configurata, potrebbe essere utilizzato lo strumento di verifica dei certificati integrato o quello precedente.
+
+      È prevista la rimozione di questo criterio nella versione 81 di <ph name="PRODUCT_OS_NAME" />, in concomitanza con la rimozione del supporto dello strumento di verifica dei certificati precedente su <ph name="PRODUCT_OS_NAME" />.
+
+      È prevista la rimozione di questo criterio nella versione 83 di <ph name="PRODUCT_NAME" /> per Linux, in concomitanza con la rimozione del supporto dello strumento di verifica dei certificati precedente su Linux.
+
+      È prevista la rimozione di questo criterio nella versione 104 di <ph name="PRODUCT_NAME" /> per Mac OS X, in concomitanza con la rimozione del supporto dello strumento di verifica dei certificati precedente su Mac OS X.
+      </translation>
 <translation id="4632343302005518762">Consenti a <ph name="PRODUCT_FRAME_NAME" /> di gestire i tipi di contenuti elencati</translation>
 <translation id="4632566332417930481">Non consentire l'utilizzo degli Strumenti per sviluppatori per le estensioni installate in base a norme aziendali; consenti l'utilizzo degli Strumenti per sviluppatori in altri contesti</translation>
 <translation id="4635284822166984665">L'ora in cui iniziare la ricarica del dispositivo, nel fuso orario locale del dispositivo.</translation>
@@ -3460,6 +3499,7 @@
 <translation id="5075190314377370852">Se il criterio è impostato su True, <ph name="PRODUCT_NAME" /> esegue sempre il controllo delle revoche per i certificati dei server che vengono convalidati correttamente e firmati tramite certificati CA installati localmente. Se <ph name="PRODUCT_NAME" /> non riesce a recuperare informazioni sullo stato della revoca, tali certificati vengono considerati revocati da <ph name="PRODUCT_NAME" /> (hard-fail).
 
       Se il criterio è impostato su False o se non viene configurato, <ph name="PRODUCT_NAME" /> utilizza le impostazioni di controllo delle revoche online esistenti.</translation>
+<translation id="5076953589932162038">Impostazioni First-Party Sets</translation>
 <translation id="5078623750797048009">Attiva annotazioni PDF</translation>
 <translation id="5081204761483900654">Sessioni Ospite gestite limitate</translation>
 <translation id="5082296146261894974">Consente agli utenti di fare clic sulla notifica di Phone Hub per avviare l'applicazione Eche.</translation>
@@ -4498,6 +4538,16 @@
 <translation id="631183702829488873">Se attivata, questa funzionalità mostra un pulsante nella schermata di accesso e di blocco per la visualizzazione della password.
           È rappresentata con un'icona a forma di occhio nel campo della password. Il pulsante non è presente quando la funzionalità è disattivata.
       </translation>
+<translation id="6313108604615108577">Questo criterio consente di stabilire se bloccare o meno la versione principale della stringa dello user agent a 99.
+
+      L'intestazione della richiesta dello user agent consente ai siti web di identificare l'applicazione, il sistema operativo, il fornitore e/o la versione dello user agent richiedente.
+      Alcuni siti web fanno supposizioni in merito al tipo di formattazione dell'intestazione e potrebbero riscontrare problemi con le stringhe di versione che includono tre cifre nella posizione principale (ad esempio 100.0.0.0).
+
+      Se il criterio viene impostato su "Predefinito" o se non viene configurato, per la versione principale della stringa dello user agent verranno usate per impostazione predefinita le impostazioni del browser.
+      Se viene impostato su "ForceDisabled", la stringa dello user agent non bloccherà la versione principale.
+      Se viene impostato su "ForceEnabled", la stringa dello user agent segnalerà sempre la versione principale 99 e includerà la versione principale del browser nella posizione secondaria. Ad esempio, la versione del browser 101.0.0.0 invierebbe un'intestazione della richiesta dello user agent che segnala la versione 99.101.0.0.
+
+      Questo criterio è temporaneo e verrà ritirato in futuro. Tieni presente che se questo criterio e il criterio <ph name="USER_AGENT_REDUCTION_POLICY_NAME" /> sono entrambi attivi, la stringa della versione dello user agent sarà sempre 99.0.0.0.</translation>
 <translation id="6313170479290171718">Questo criterio è deprecato. Utilizza il criterio <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />.
 
       Se il criterio è impostato su True, la tastiera sullo schermo è attivata all'accesso. Se il criterio è impostato su False, la tastiera sullo schermo è disattivata all'accesso.
@@ -4940,6 +4990,7 @@
       chrome://flags e qualsiasi altro metodo per attivare e disattivare le funzionalità del browser continueranno a comportarsi come previsto a prescindere dall'attivazione o meno di questo criterio.</translation>
 <translation id="6794083666143216172">Consenti alle origini di richiedere gli attributi dei dispositivi</translation>
 <translation id="6795485990775913659">Consenti la stampa solo senza PIN</translation>
+<translation id="6796215185873669533">Usa per impostazione predefinita le impostazioni del browser per la versione della stringa dello user agent.</translation>
 <translation id="6800181452282128474">Non inviare query a Quirks Server</translation>
 <translation id="68031099365512050">Viene segnalato lo stato dell'audio</translation>
 <translation id="6810445994095397827">Blocca JavaScript in questi siti</translation>
@@ -5261,6 +5312,7 @@
 <translation id="7070525176564511548">Richiedi l'inserimento della password ogni settimana (168 ore)</translation>
 <translation id="7072208053150563108">Frequenza di modifica della password del computer</translation>
 <translation id="7072567600438630966">Consenti l'attivazione di Phone Hub</translation>
+<translation id="7074437930865599190">Blocca la versione principale della stringa dello user agent a 99</translation>
 <translation id="7079519252486108041">Blocca popup su questi siti</translation>
 <translation id="707988220162760379">Apri sempre i file PDF utilizzando un visualizzatore PDF esterno</translation>
 <translation id="7081784525008938771">Se il criterio viene impostato su Attivato o se non viene configurato, l'utente non viene considerato inattivo durante la riproduzione di video. In questo modo non viene raggiunto il ritardo di inattività, oscuramento dello schermo, spegnimento dello schermo e blocco dello schermo e non vengono compiute le azioni corrispondenti.
@@ -5968,6 +6020,7 @@
       Per impostazione predefinita, un'estensione o un'app per Android non può utilizzare una chiave destinata all'uso aziendale, il che equivale a impostare il criterio allowCorporateKeyUsage su Falso per tale estensione. Solo se il criterio allowCorporateKeyUsage viene impostato su Vero per un'estensione o un'app per Android può utilizzare qualsiasi chiave della piattaforma contrassegnata per uso aziendale per firmare dati arbitrari. L'autorizzazione viene concessa solo se l'estensione o l'app per Android viene considerata protetta dall'accesso alla chiave di potenziali utenti malintenzionati.</translation>
 <translation id="7933141401888114454">Attivazione della creazione di utenti controllati</translation>
 <translation id="793473937901685727">Imposta la disponibilità dei certificati per le app ARC</translation>
+<translation id="7936302526928951356">La stringa dello user agent non bloccherà la versione principale.</translation>
 <translation id="7937766917976512374">Consenti o nega acquisizione video</translation>
 <translation id="7941975817681987555">Non prevedere le azioni di rete su qualsiasi connessione di rete</translation>
 <translation id="7946350455013548764">Se il criterio viene impostato su 3, i siti web possono richiedere l'accesso ai dispositivi HID. Se il criterio viene impostato su 2, viene negato l'accesso ai dispositivi HID.
@@ -6111,6 +6164,7 @@
 <translation id="8133152694354699657">Se il criterio viene impostato su True o non viene impostato, la funzionalità Tocca per cercare sarà a disposizione degli utenti, che potranno scegliere se attivarla o disattivarla.
 
       Se il criterio viene impostato su False, la funzionalità Tocca per cercare verrà disattivata completamente.</translation>
+<translation id="8136345780578030573">Attiva First-Party Sets.</translation>
 <translation id="8136906469922284163">Se il criterio viene impostato su Vero, le pagine possono mostrare popup durante l'unload.
 
       Se il criterio viene impostato su Falso o se non viene configurato, le pagine non possono mostrare popup durante l'unload.
@@ -6518,9 +6572,6 @@
 <translation id="8525526490824335042">Container Linux</translation>
 <translation id="8528951285051082869">Non consentire ad alcuna app web di accedere a determinati tipi di file tramite l'API File Handling</translation>
 <translation id="8533145294731270627">Blocca download dannosi e tipi di file pericolosi.</translation>
-<translation id="8537051350735478658">Se il criterio è impostato su True, la funzionalità Suggerimenti per le ricerche viene attivata nella barra degli indirizzi di <ph name="PRODUCT_NAME" />. Se il criterio è impostato su False, tale funzionalità viene disattivata.
-
-      Se il criterio è configurato, gli utenti non possono apportare modifiche. Se non è configurato, la funzionalità Suggerimenti per le ricerche è attiva all'inizio, ma gli utenti possono disattivarla in qualsiasi momento.</translation>
 <translation id="8543103455510904459">Consente di impostare un elenco di pattern URL che specificano i siti non autorizzati a eseguire JavaScript con il compilatore JIT (Just In Time) attivato.
 
           Se JIT di JavaScript viene disattivato, <ph name="PRODUCT_NAME" /> potrebbe visualizzare i contenuti web più lentamente e disattivare inoltre alcune parti di JavaScript, incluso WebAssembly. Se JIT di JavaScript viene disattivato, <ph name="PRODUCT_NAME" /> potrebbe essere in grado di visualizzare contenuti web in una configurazione più sicura.
@@ -6774,6 +6825,7 @@
       Ogni elemento nell'elenco del criterio è una stringa contenente un ID estensione e, facoltativamente, un URL "di aggiornamento" separati da punto e virgola (;). L'ID estensione è la stringa di 32 lettere che si trova, ad esempio, all'indirizzo chrome://extensions quando è attiva la modalità sviluppatore. Se specificato, l'URL "di aggiornamento" deve indirizzare a un documento XML manifest di aggiornamento (https://developer.chrome.com/extensions/autoupdate). Per impostazione predefinita, viene utilizzato l'URL di aggiornamento del Chrome Web Store. L'URL "di aggiornamento" impostato in questo criterio viene utilizzato esclusivamente per l'installazione iniziale; per i successivi aggiornamenti dell'estensione viene utilizzato l'URL di aggiornamento nel file manifest dell'estensione.
 
        Nota: questo criterio non viene applicato alla Modalità di navigazione in incognito. Leggi ulteriori informazioni sull'hosting delle estensioni (https://developer.chrome.com/extensions/hosting).</translation>
+<translation id="8827275450034266143">La stringa dello user agent bloccherà la versione principale a 99 e includerà la versione principale del browser nella posizione secondaria.</translation>
 <translation id="8827366480126575426">Il protocollo del gestore di protocollo.</translation>
 <translation id="8827417642396462482">Sono consentiti tipi di query DNS aggiuntivi</translation>
 <translation id="8831911834413504983">Se il criterio viene configurato, puoi impostare un elenco di pattern URL che specificano i siti che possono eseguire JavaScript.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index 745987f..aa79681 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -2334,13 +2334,6 @@
       この設定を無効にした場合、ユーザーは自動入力を利用できません。
 
       この設定を有効にするか値を設定しない場合、ユーザーは自動入力を利用できます。ユーザーは自動入力プロフィールを設定して、自身の判断で自動入力をオンまたはオフにすることができます。</translation>
-<translation id="3731968520685217674">このポリシーでは、起動時のシステムの動作を指定できます。<ph name="PRODUCT_NAME" /> では起動時の動作を指定する必要があるため、この設定をオフにすると未設定の場合と同じ扱いになります。
-
-      このポリシーが設定されている場合、ユーザーは <ph name="PRODUCT_NAME" /> でこの設定を変更できません。未設定の場合、ユーザーは起動時の動作を変更できます。
-
-      このポリシーを <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> に設定すると、セッションに依存する設定や終了時になんらかの処理(終了時の閲覧データ消去、セッション限定の Cookie など)を行う設定が一部無効になります。
-
-      <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="3733014427925403568">間隔の基準となる曜日です。</translation>
 <translation id="3736879847913515635">ユーザー管理画面でのユーザー追加を許可する</translation>
 <translation id="3749259744154402564">サポート対象外</translation>
@@ -2489,6 +2482,7 @@
       小売りモードでデバイスにログインしたデモ ユーザーに対して自動的にインストールされる拡張機能のリストを指定します。これらの拡張機能はデバイスに保存され、インストール後はオフラインでもインストールされた状態になります。
 
       リストの各エントリには辞書を指定し、[extension-id] フィールドに拡張機能 ID、[update-url] フィールドに更新 URL を指定する必要があります。</translation>
+<translation id="3869180930654347954">対象となるすべてのユーザーに対して First-Party Sets を無効にする</translation>
 <translation id="3870059789954671543">ログイン画面で「キーボード フォーカスによるハイライト表示」ユーザー補助機能を有効にします。
 
           これは、キーボード フォーカスのある項目をハイライト表示する機能です。
@@ -2683,6 +2677,7 @@
       このポリシーを無効に設定するか未設定のままにした場合、パスワード保護サービスにより、ユーザーは https://myaccount.google.com にリダイレクトされ、パスワードの変更を促されます。
 
       <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="4115501011761259824">対象となるすべてのユーザーに対して First-Party Sets を有効にする</translation>
 <translation id="4121350739760194865">アプリのプロモーションが新しいタブ ページに表示されないようにする</translation>
 <translation id="4122473079291425973">コンテンツが利用可能な場合は新しいタブページにカードを表示し、ユーザーはこの設定を変更できる</translation>
 <translation id="4122565688998751716">このポリシーはサポートが終了しています。代わりに <ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" /> ポリシーを使用してください。Linux で <ph name="PRODUCT_NAME" /> がネイティブ通知を使用するかどうかを設定します。True に設定するか未設定のままにすると、<ph name="PRODUCT_NAME" /> はネイティブ通知を使用できます。False に設定すると、<ph name="PRODUCT_NAME" /> はネイティブ通知を使用しません。代わりに <ph name="PRODUCT_NAME" /> のメッセージ センターが使用されます。</translation>
@@ -2802,6 +2797,14 @@
       デバイスが管理対象外またはユーザーが 1 人のみの場合、このポリシーは無視され、通知が常に表示されます。
 
       管理対象デバイスに複数のユーザー アカウントがある場合は、このポリシーを有効に設定しているときのみ通知が表示されます。</translation>
+<translation id="4293593564662654474">このポリシーでは、First-Party Sets 機能からオプトアウトするよう指定できます。
+
+                  このポリシーを未設定のままにした場合や有効に設定した場合、First-Party Sets 機能が有効になります。
+
+                  このポリシーを無効に設定した場合、First-Party Sets 機能は無効になります。
+
+                  この First-Party Sets 機能のステータスに基づいて、Chrome で First-Party Sets のリストを取得するかどうかが決まります。
+                  また、Chrome で First-Party Sets 関連の機能(「SameParty」の Cookie 属性など)をサポートするかどうかも決まります。</translation>
 <translation id="4311195029067684288">フル</translation>
 <translation id="4313767483634435271">デバイスで指定されたホルダーの MAC アドレス</translation>
 <translation id="4314538398999793073">Kerberos 認証時に CNAME 検索を無効にする</translation>
@@ -2931,6 +2934,7 @@
 <translation id="449423975179525290"><ph name="PLUGIN_VM_NAME" /> に関連するポリシーを設定します。</translation>
 <translation id="449784980858429908">すべてのシリアルポートへの接続を自動的にサイトに許可します。</translation>
 <translation id="450080746522343150">すべてのダウンロードをブロックする</translation>
+<translation id="4508728400492074981">First-Party Sets 機能に関するポリシーを管理します。</translation>
 <translation id="4510923771103268849">Crostini コンテナへのルートアクセスをユーザーに許可する</translation>
 <translation id="4512407512989846472">指定された URL 上のクリップボードへのコピーをブロックすることを許可します</translation>
 <translation id="4513691822411041977">Google 検索または YouTube の制限付きモードでセーフサーチを強制的に適用しない</translation>
@@ -3356,6 +3360,7 @@
 
       このポリシーを true に設定するか、未設定のままにした場合、ユーザーは新しいタブページの背景をカスタイマイズできます。</translation>
 <translation id="5075190314377370852">このポリシーを True に設定した場合、ローカルにインストールされた CA 証明書によって正常に確認されたサーバー証明書に対し、<ph name="PRODUCT_NAME" /> は常に失効確認を行います。<ph name="PRODUCT_NAME" /> が失効のステータス情報を取得できない場合、<ph name="PRODUCT_NAME" /> ではその証明書は失効したものとして扱われます(強制エラー)。このポリシーを False に設定するか未設定のままにした場合、<ph name="PRODUCT_NAME" /> は既存のオンライン失効確認設定を使用します。</translation>
+<translation id="5076953589932162038">First-Party Sets 設定</translation>
 <translation id="5078623750797048009">PDF の注釈を有効にする</translation>
 <translation id="5081204761483900654">制限付き管理対象ゲスト セッション</translation>
 <translation id="5082296146261894974">ユーザーがスマートフォン ハブの通知をクリックして Eche アプリを起動することを許可します。</translation>
@@ -4361,6 +4366,16 @@
 <translation id="631183702829488873">この機能を有効にすると、パスワードを表示できるようにするボタンをログイン画面とロック画面に表示します。
           このボタンは、パスワード用のテキスト欄に目のアイコンとして表されます。この機能を無効にすると、ボタンは表示されません。
       </translation>
+<translation id="6313108604615108577">このポリシーでは、ユーザー エージェント文字列のメジャー バージョンを 99 に固定するかどうかを管理します。
+
+      ユーザー エージェント リクエスト ヘッダーは、ウェブサイトがリクエスト元のユーザー エージェントのアプリケーション、オペレーティング システム、ベンダー、バージョンを識別するために使用されます。
+      一部のウェブサイトは、このヘッダーについて特定の形式を想定しており、バージョン文字列のメジャー ポジションに 3 桁の数字(例: 100.0.0.0)が含まれている場合に問題が発生することがあります。
+
+      このポリシーを「Default」に設定するか未設定のままにした場合、ユーザー エージェント文字列のメジャー バージョンとしてブラウザ設定が使用されます。
+      「ForceDisabled」に設定した場合、ユーザー エージェント文字列のメジャー バージョンは固定されません。
+      「ForceEnabled」に設定した場合、ユーザー エージェント文字列のメジャー バージョンは 99 に固定され、マイナー ポジションにブラウザのメジャー バージョンが含められます。たとえば、ブラウザのバージョンが 101.0.0.0 の場合、ユーザー エージェント リクエスト ヘッダーではバージョンが 99.101.0.0 と報告されます。
+
+      このポリシーは一時的なものであり、将来的に削除される予定です。なお、このポリシーと <ph name="USER_AGENT_REDUCTION_POLICY_NAME" /> を両方とも有効にした場合、ユーザー エージェントのバージョン文字列は常に 99.0.0.0 となります。</translation>
 <translation id="6313170479290171718">このポリシーはサポートが終了しています。代わりに <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> ポリシーを使用してください。
 
       このポリシーを True に設定した場合、ログイン画面で画面キーボードが有効になります。このポリシーを False に設定した場合、ログイン画面で画面キーボードが無効になります。
@@ -4777,6 +4792,7 @@
       ブラウザの各種機能のオンとオフを切り替えるための chrome://flags やその他の方法は、このポリシーが有効か無効にかかわらず、引き続き想定どおりに動作します。</translation>
 <translation id="6794083666143216172">オリジンにデバイス属性の取得を許可する</translation>
 <translation id="6795485990775913659">PIN なしの印刷のみを許可します</translation>
+<translation id="6796215185873669533">ユーザー エージェント文字列のバージョンとしてブラウザ設定を使用する。</translation>
 <translation id="6800181452282128474">Quirks サーバーにクエリを送信しない</translation>
 <translation id="68031099365512050">音声の状態を報告する</translation>
 <translation id="6810445994095397827">これらのサイトの JavaScript をブロックする</translation>
@@ -5081,6 +5097,7 @@
 <translation id="7070525176564511548">週 1 回(168 時間ごとに)パスワードの入力を求める</translation>
 <translation id="7072208053150563108">パソコンのパスワードの変更頻度</translation>
 <translation id="7072567600438630966">スマートフォン ハブを有効にできるようにします。</translation>
+<translation id="7074437930865599190">ユーザー エージェント文字列のメジャー バージョンを 99 に固定する</translation>
 <translation id="7079519252486108041">これらのサイトのポップアップをブロックする</translation>
 <translation id="707988220162760379">常に外部 PDF ビューアを使用して PDF ファイルを開く</translation>
 <translation id="7081784525008938771">このポリシーを有効に設定するか未設定のままにした場合、動画が再生されている間は、ユーザーはアイドル状態とはみなされません。アイドル時間、画面を暗くするまでの時間、画面オフまでの時間、画面ロックまでの時間に達しても、対応する処理は行われません。
@@ -5762,6 +5779,7 @@
       デフォルトでは、拡張機能または Android アプリで企業用のキーを使用することはできません。この動作は、拡張機能または Android アプリに対して allowCorporateKeyUsage を False に設定した場合の結果と同じです。拡張機能または Android アプリに対して allowCorporateKeyUsage が True に設定されている場合のみ、その拡張機能または Android アプリでは企業用のプラットフォーム キーを任意のデータの署名に使用できます。対象の拡張機能または Android アプリがキーへのアクセスを攻撃から保護できると信頼できる場合にのみ、この許可を付与してください。</translation>
 <translation id="7933141401888114454">監視対象ユーザーを作成できるようにする</translation>
 <translation id="793473937901685727">ARC アプリで証明書を使用できるかどうかを設定します</translation>
+<translation id="7936302526928951356">ユーザー エージェント文字列のメジャー バージョンを固定しない。</translation>
 <translation id="7937766917976512374">動画キャプチャを許可または拒否する</translation>
 <translation id="7941975817681987555">ネットワーク接続でネットワーク動作を予測しない</translation>
 <translation id="7946350455013548764">このポリシーを 3 に設定した場合、ウェブサイトは、HID デバイスへのアクセスを要求できます。このポリシーを 2 に設定した場合、HID デバイスへのアクセスは許可されません。
@@ -5899,6 +5917,7 @@
 <translation id="8133152694354699657">このポリシーを True に設定するか未設定のままにした場合、ユーザーは「タップして検索」を使用でき、この機能のオンとオフを切り替えられるようになります。
 
       このポリシーを False に設定した場合、「タップして検索」は完全にオフになります。</translation>
+<translation id="8136345780578030573">First-Party Sets を有効にする。</translation>
 <translation id="8136906469922284163">このポリシーを True に設定した場合、ページにアンロード中のポップアップ表示を許可します。
 
       このポリシーを False に設定するか未設定のままにした場合、ページのアンロード中にポップアップは表示されません。
@@ -6307,7 +6326,6 @@
 <translation id="8525526490824335042">Linux コンテナ</translation>
 <translation id="8528951285051082869">File Handling API を通じてファイル形式にアクセスすることをウェブアプリに許可しない</translation>
 <translation id="8533145294731270627">不正なファイルのダウンロードと危険なファイル形式をブロックします。</translation>
-<translation id="8537051350735478658">このポリシーを True に設定した場合、<ph name="PRODUCT_NAME" /> のアドレスバーで検索候補が有効になります。このポリシーを False に設定した場合、検索候補が無効になります。このポリシーを設定した場合、ユーザーは設定を変更できません。ポリシーを設定しない場合、検索候補は最初は有効ですが、ユーザーはいつでも無効にできます。</translation>
 <translation id="8543103455510904459">JIT(Just In Time)コンパイラを有効にした JavaScript の実行を許可しないサイトの URL パターンのリストを設定できます。
 
           JavaScript JIT を無効にした場合、<ph name="PRODUCT_NAME" /> でウェブ コンテンツの表示に時間がかかったり、WebAssembly を使用する JavaScript の一部が無効になったりする可能性があります。JavaScript JIT を無効にすると、<ph name="PRODUCT_NAME" /> でのウェブ コンテンツの表示をより安全な設定で行えるようになります。
@@ -6558,6 +6576,7 @@
       このポリシーの各リスト項目には、拡張機能 ID と「更新」URL(省略可)をセミコロン(;)で区切った文字列を指定します。拡張機能 ID は 32 文字の文字列で、たとえばデベロッパー モードで chrome://extensions を開くと確認できます。「更新」URL を指定する場合は、更新マニフェスト XML ドキュメントを指定する必要があります(https://developer.chrome.com/extensions/autoupdate)。デフォルトでは Chrome ウェブストアの更新 URL が使用されます。このポリシーで設定した「更新」URL は初回のインストールでのみ使用され、その後の拡張機能の更新には、拡張機能のマニフェストで指定した更新 URL が使用されます。
 
        注: このポリシーはシークレット モードには適用されません。拡張機能のホスティングについてご確認ください(https://developer.chrome.com/extensions/hosting)。</translation>
+<translation id="8827275450034266143">ユーザー エージェント文字列のメジャー バージョンを 99 に固定し、ブラウザのメジャー バージョンをマイナー ポジションに含める。</translation>
 <translation id="8827366480126575426">プロトコル ハンドラで使用するプロトコルです。</translation>
 <translation id="8827417642396462482">その他の DNS クエリタイプを許可する</translation>
 <translation id="8831911834413504983">このポリシーでは、JavaScript の実行を許可するサイトの URL パターンリストを指定できます。
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index 6962df5..dae4dfe 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -208,6 +208,9 @@
       이 정책은 키오스크 사용자에게는 적용되지 않습니다.
 
       경고: Wipe 및 MnimalMigrate는 로컬 데이터를 삭제합니다.</translation>
+<translation id="1250597158212586309">정책을 사용 설정하거나 설정하지 않으면 사용자에게 유출된 비밀번호 경보를 해제/복원할 수 있는 옵션이 제공됩니다.
+
+      이 설정을 사용 중지하면 사용자는 유출된 비밀번호에 대한 경보를 해제할 수 없습니다. 사용 설정한 경우 사용자는 유출된 비밀번호에 대한 경보를 해제할 수 있습니다.</translation>
 <translation id="1252536192437793850">사이트에서 사용자에게 직렬 포트 액세스를 요청하도록 허용</translation>
 <translation id="1255159327956066463">고스트 창 기능 사용</translation>
 <translation id="125655429495551011">정책을 문자열에 설정하면 DHCP 요청 중 문자열이 기기 호스트 이름으로 사용됩니다. 문자열은 <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" />, <ph name="LOCATION_PLACEHOLDER" /> 등의 변수를 가질 수 있으며 기기에서 값으로 대체된 후 호스트 이름으로 사용됩니다. 그 결과로 나오는 대체 값은 RFC 1035, 섹션 3.1에 따라 유효한 호스트 이름이어야 합니다.
@@ -833,6 +836,30 @@
 
       이 기업 정책은 기본적으로 사용 중지되어 있습니다.</translation>
 <translation id="1949584741547056205">빠른 답변</translation>
+<translation id="1951288262199783797">이 정책을 사용 설정하면 파일 형식 확장자 기반 다운로드 경고에서 제외될 도메인 목록에 상응하는 파일 형식 확장자 사전을 만들 수 있습니다. 이렇게 하면 기업 관리자가 목록에 있는 도메인과 연결된 파일에 대해 파일 형식 확장자 기반 다운로드 경고를 차단할 수 있습니다. 예를 들어 'jnlp' 확장자가 'website1.com'과 연결된 경우 사용자가 'website1.com'에서 'jnlp' 파일을 다운로드할 때는 경고가 표시되지 않지만 'website2.com'에서 'jnlp' 파일을 다운로드하면 다운로드 경고가 표시됩니다.
+
+      이 정책에 의해 식별된 도메인에 지정된 파일 형식 확장자를 갖는 파일이라고 할지라도 혼합 콘텐츠 다운로드 경고 및 세이프 브라우징 경고 등 파일 형식 확장자에 기반하지 않는 보안 경고는 계속 표시됩니다.
+
+      이 정책을 사용 중지하거나 구성하지 않으면 확장자 기반 다운로드 경고를 트리거하는 형식의 파일을 다운로드할 때 경고가 사용자에게 표시됩니다.
+
+      이 정책을 사용 설정하는 경우:
+
+      * https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns에 따라 URL 패턴 형식이 지정되어야 합니다.
+      * 파일 형식 확장자는 소문자 ASCII로 입력되어야 합니다. 파일 형식 확장자를 나열할 때 선행 구분자가 포함되어서는 안 됩니다. '.jnlp' 대신 'jnlp'로 표시하세요.
+
+      예:
+
+      다음의 예시 값을 사용하면 *.example.com 도메인에서 swf, exe, jnlp 확장자에 관한 파일 형식 확장자 기반 다운로드 경고가 표시되지 않습니다. 다른 도메인에서는 exe 및 jnlp 파일에 관한 파일 형식 확장자 기반 다운로드 경고가 표시되지만, swf 파일의 경우 표시되지 않습니다.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      앞선 예시에서는 모든 도메인에서 'swf' 파일에 대한 파일 형식 확장자 기반 다운로드 경고가 표시되지 않습니다. 그러나 모든 도메인에서 위험한 파일 형식 확장자에 관한 경고를 차단하는 것은 보안 우려가 있으므로 권장되지 않습니다. 단지 이러한 경우도 가능하다는 것을 보여주기 위해 포함된 예시입니다.
+
+      이 정책이 <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" />와 함께 사용되며 DownloadRestrictions가 위험한 파일 형식을 차단하도록 설정되면 DownloadRestrictions에 의해 결정되는 다운로드 차단이 우선순위를 갖습니다. 예를 들어 이 정책이 'website1.com'에서의 'exe' 확장자 다운로드가 가능하도록 설정했으나 DownloadRestrictions가 악성 다운로드 및 위험한 파일 형식을 차단하도록 설정되면 모든 도메인에서의 'exe' 확장자 다운로드가 차단됩니다. DownloadRestrictions가 위험한 파일 형식을 차단하도록 설정되지 않았다면 이 정책에 지정된 파일 형식이 지정된 도메인에서 파일 형식 확장자 기반 다운로드 경고에서 제외됩니다. DownloadRestrictions에 관해 자세히 알아보기(https://chromeenterprise.google/policies/?policy=DownloadRestrictions)</translation>
 <translation id="1960416154405676350"><ph name="GOOGLE_LENS_PRODUCT_NAME" /> 영역 검색을 사용 설정합니다.</translation>
 <translation id="1961091374249454164">관리되는 게스트 세션에만 적용되는 정책입니다.
       정책을 설정하면 제한적인 관리 게스트 세션 정리 절차에서 제외할 확장 프로그램 ID 목록이 지정됩니다(<ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" /> 참고).
@@ -887,6 +914,7 @@
       <ph name="CLOUD_PRINT_NAME" />에 연결된 프린터는 <ph name="PRINTER_TYPE_CLOUD" />로 간주되며 나머지 프린터는 <ph name="PRINTER_TYPE_LOCAL" />로 분류됩니다.
 
       참고: 필드를 누락하면 모든 값이 일치한다는 의미입니다. 예를 들어, 연결을 지정하지 않으면 인쇄 미리보기에서 <ph name="PRINTER_TYPE_LOCAL" />, <ph name="PRINTER_TYPE_CLOUD" /> 등 모든 종류의 프린터를 검색하기 시작합니다. 정규 표현식 패턴은 자바스크립트 RegExp 구문을 따라야 하며 일치하는 항목은 대소문자를 구분합니다.</translation>
+<translation id="2004382785802837840">유출된 비밀번호 경보 해제 사용 안함</translation>
 <translation id="2005506794355327448">덮개를 닫을 경우 취할 작업입니다.</translation>
 <translation id="2006530844219044261">전력 관리</translation>
 <translation id="2008514891623783266">WebRTC의 IP 처리 정책</translation>
@@ -1319,6 +1347,7 @@
 <translation id="2435232509335686514"><ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" />의 다운로드한 파일 처리를 위한 구성 정책</translation>
 <translation id="2436302465999055995"><ph name="LACROS_NAME" />를 사용 가능한 유일한 브라우저로 지정(아직 구현되지 않음)</translation>
 <translation id="2439187682308339104">어느 사이트에서도 WebHID API를 통한 HID 기기 액세스 요청을 허용 안함</translation>
+<translation id="2439733504887695659">입력한 사용자 인증 정보에 대해 유출된 비밀번호 경보 해제 사용 설정</translation>
 <translation id="2448315169529769573">정책을 사용 설정하면 <ph name="PRODUCT_OS_NAME" />에서 비정상 종료 보고서 등 사용 측정항목과 진단 데이터를 Google에 보고합니다. 정책을 사용 중지하면 측정항목 및 진단 데이터 보고가 사용 중지됩니다.
 
        정책을 설정하지 않으면 관리되지 않는 기기에서는 측정항목 및 진단 데이터 보고가 사용 중지되고 관리되는 기기에서는 사용 설정됩니다.</translation>
@@ -1756,6 +1785,7 @@
       정책이 False로 설정되면 <ph name="BOREALIS_NAME" />를 사용할 수 없습니다. 그렇지 않은 경우(정책이 설정되지 않거나 True로 설정됨) 다른 정책 또는 설정에서 사용 중지하지 않는 이상 <ph name="BOREALIS_NAME" />를 사용할 수 있습니다.</translation>
 <translation id="2964373560810620158">사용자가 <ph name="LACROS_NAME" /> 브라우저를 사용하지 못하도록 차단</translation>
 <translation id="2968177167006045252">사이트에서 SharedArrayBuffers를 사용하도록 허용</translation>
+<translation id="2969568582351417848">도메인에서 특정 파일 형식에 관한 파일 형식 확장자 기반 다운로드 경고 사용 중지</translation>
 <translation id="2969797921412053304">이 정책은 로그인 화면의 SAML 절차가 진행되는 동안 기기 ID의 원격 증명을 사용할 수 있는 액세스 권한이 부여되는 URL을 지정합니다.
 
       특히 URL이 이 정책을 통해 제공되는 패턴 중 하나와 일치하는 경우 원격 증명 자격 확인에 대한 응답을 포함하는 HTTP 헤더를 받을 수 있도록 허용하여 기기 ID 및 상태를 증명합니다.
@@ -2407,13 +2437,6 @@
       이 설정을 사용 중지하면 사용자가 자동 완성을 사용할 수 없습니다.
 
       이 설정을 사용 설정하거나 값을 지정하지 않으면 사용자가 자동 완성을 제어할 수 있게 됩니다. 따라서 사용자가 자동 완성 프로필을 설정하고 원하는 대로 자동 완성을 사용하거나 사용 중지할 수 있습니다.</translation>
-<translation id="3731968520685217674">정책을 설정하면 시작 시 시스템 동작을 지정할 수 있습니다. 설정을 사용 중지하면 <ph name="PRODUCT_NAME" />에서 시작 동작을 지정해야 하므로 설정하지 않은 경우와 동일하게 처리됩니다.
-
-      정책을 설정하면 사용자가 <ph name="PRODUCT_NAME" />에서 정책을 변경할 수 없습니다. 설정하지 않으면 사용자가 정책을 변경할 수 있습니다.
-
-      정책을 <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" />으로 설정하면 세션에 의존하거나 종료 시 특정 작업을 실행하는 일부 설정(종료 시 인터넷 사용 기록 또는 세션 전용 쿠키 삭제 등)이 사용 중지됩니다.
-
-      <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="3733014427925403568">간격에 사용할 요일입니다.</translation>
 <translation id="3736879847913515635">사용자 관리자에서 사용자 추가 허용</translation>
 <translation id="3749259744154402564">지원되지 않음</translation>
@@ -3145,6 +3168,16 @@
 <translation id="4617338332148204752"><ph name="PRODUCT_FRAME_NAME" />에서 메타 태그 검사 건너뛰기</translation>
 <translation id="4624417808625504735">자바스크립트가 다음 사이트에서 JIT를 사용하지 못하도록 차단</translation>
 <translation id="4625915093043961294">확장 프로그램 설치 허용목록 설정</translation>
+<translation id="4631165564645497047">이 설정을 사용하면 <ph name="PRODUCT_NAME" />에서 내장 인증서 확인 기능을 사용하여 서버 인증서를 확인합니다.
+      사용 중지하면 <ph name="PRODUCT_NAME" /> 제품이 플랫폼에서 제공하는 레거시 인증서 확인 기능을 사용하여 서버 인증서를 확인합니다.
+      설정하지 않으면 내장 또는 레거시 인증서 확인 기능을 사용할 수 있습니다.
+
+      이 정책은 <ph name="PRODUCT_OS_NAME" />의 레거시 인증서 확인 기능이 지원 중단되는 <ph name="PRODUCT_OS_NAME" /> 버전 81부터 삭제될 예정입니다.
+
+      또한 Linux의 레거시 인증서 확인 기능이 지원 중단되는 Linux용 <ph name="PRODUCT_NAME" /> 버전 83부터,
+
+      Mac OS X의 레거시 인증서 확인 기능이 지원 중단되는 Mac OS X용 <ph name="PRODUCT_NAME" /> 버전 104부터도 삭제됩니다.
+      </translation>
 <translation id="4632343302005518762"><ph name="PRODUCT_FRAME_NAME" />이(가) 목록에 있는 콘텐츠 유형을 처리하도록 허용</translation>
 <translation id="4632566332417930481">엔터프라이즈 정책에 의해 설치된 확장 프로그램에서는 Developer Tools 사용 금지, 다른 컨텍스트에서는 Developer Tools 사용 허용</translation>
 <translation id="4635284822166984665">기기의 충전을 시작할 시간으로, 기기의 현지 시간대로 변환됩니다.</translation>
@@ -3183,6 +3216,7 @@
 
           예제 패턴은 https://www.chromium.org/developers/how-tos/chrome-frame-getting-started 페이지를 참조하세요.</translation>
 <translation id="467449052039111439">URL 목록 열기</translation>
+<translation id="4674542060943819878">유출된 비밀번호 경보 해제 사용 설정</translation>
 <translation id="4674871290487541952">확장 프로그램 업데이트 및 설치 시 무결성 확인에서 보안에 취약한 알고리즘을 허용합니다.</translation>
 <translation id="4680961954980851756">자동 완성 사용</translation>
 <translation id="4685721728282448265">TLS의 CECPQ2 포스트 퀀텀 키 협약 사용 설정됨</translation>
@@ -6542,9 +6576,6 @@
 <translation id="8525526490824335042">Linux 컨테이너</translation>
 <translation id="8528951285051082869">웹 앱에서 File Handling API를 통해 파일 형식에 액세스하도록 허용 안함</translation>
 <translation id="8533145294731270627">악성 다운로드와 위험한 파일 형식을 차단합니다.</translation>
-<translation id="8537051350735478658">정책을 True로 설정하면 <ph name="PRODUCT_NAME" />의 주소 표시줄에서 추천 검색어가 사용됩니다. 정책을 False로 설정하면 추천 검색어가 사용 중지됩니다.
-
-      정책을 설정하면 사용자가 변경할 수 없습니다. 정책을 설정하지 않으면 처음에는 추천 검색어가 표시되지만 사용자가 언제든지 사용 중지할 수 있습니다.</translation>
 <translation id="8543103455510904459">JIT(Just In Time) 컴파일러가 사용 설정된 자바스크립트를 실행할 수 없는 사이트를 지정하는 사이트 URL 패턴 목록을 설정할 수 있습니다.
 
           자바스크립트 JIT를 사용 중지하면 <ph name="PRODUCT_NAME" />의 웹 콘텐츠 렌더링 속도가 느려질 수 있으며 WebAssembly를 비롯해 자바스크립트의 일부가 사용 중지될 수 있습니다. 자바스크립트 JIT를 사용 중지하면 <ph name="PRODUCT_NAME" />이 더 안전한 구성으로 웹 콘텐츠를 렌더링할 수 있습니다.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 42e96d18..278de90 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -816,6 +816,30 @@
 
       Dit bedrijfsbeleid is standaard niet toegepast.</translation>
 <translation id="1949584741547056205">Snelle antwoorden</translation>
+<translation id="1951288262199783797">Pas dit beleid toe om een woordenboek met bestandsextensies te maken met een bijbehorende lijst van domeinen die worden vrijgesteld van op bestandsextensies gebaseerde downloadwaarschuwingen. Hierdoor kunnen zakelijke beheerders op bestandsextensies gebaseerde downloadwaarschuwingen blokkeren voor bestanden die aan een domein in de lijst zijn gekoppeld. Als de extensie jnlp bijvoorbeeld is gekoppeld aan website1.com, zien gebruikers geen waarschuwing als ze jnlp-bestanden downloaden van website1.com, maar zien ze wel een downloadwaarschuwing als ze jnlp-bestanden downloaden van website2.com.
+
+      Bestanden met bestandsextensies die zijn opgegeven voor domeinen die door dit beleid worden geïdentificeerd, vallen nog steeds onder beveiligingswaarschuwingen die niet op bestandsextensies zijn gebaseerd, zoals downloadwaarschuwingen voor gemengde content en Safe Browsing-waarschuwingen.
+
+      Als je dit beleid niet toepast of niet instelt, krijgt de gebruiker waarschuwingen te zien voor bestandstypen die op extensies gebaseerde downloadwaarschuwingen activeren.
+
+      Als je dit beleid toepast, geldt het volgende:
+
+* Het URL-patroon moet worden opgemaakt volgens https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * De opgegeven bestandsextensie moet in kleine ASCII-letters zijn. Het voorafgaande scheidingsteken mag niet worden opgenomen als je de bestandsextensie vermeldt. Vermeld dus jnlp in plaats van .jnlp.
+
+      Voorbeeld:
+
+De volgende voorbeeldwaarde voorkomt op bestandsextensies gebaseerde downloadwaarschuwingen voor swf-, exe- en jnlp-extensies voor *.example.com-domeinen. De gebruiker krijgt een op bestandsextensies gebaseerde downloadwaarschuwing te zien op elk ander domein voor exe- en jnlp-bestanden, maar niet voor swf-bestanden.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+Hoewel het voorgaande voorbeeld de onderdrukking van op bestandsextensies gebaseerde downloadwaarschuwingen voor swf-bestanden voor alle domeinen laat zien, wordt uit veiligheidsoverwegingen het toepassen van onderdrukking van dergelijke waarschuwingen voor alle domeinen niet aanbevolen voor gevaarlijke bestandsextensies. Dit wordt alleen in het voorbeeld getoond om te laten zien dat het mogelijk is.
+
+Als dit beleid wordt toegepast in combinatie met <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> en DownloadRestrictions is ingesteld om gevaarlijke bestandstypen te blokkeren, hebben downloadblokkeringen bepaald door DownloadRestrictions voorrang. Als dit beleid bijvoorbeeld is ingesteld om downloads van exe-bestanden van website1.com aan te zetten en DownloadRestrictions is ingesteld om schadelijke downloads en gevaarlijke bestandstypen te blokkeren, worden downloads van exe-bestanden alsnog geblokkeerd voor alle domeinen. Als DownloadRestrictions niet is ingesteld om gevaarlijke bestandstypen te blokkeren, worden bestandstypen die in dit beleid zijn gespecificeerd, vrijgesteld van op bestandsextensies gebaseerde downloadwaarschuwingen in de opgegeven domeinen. Lees meer over DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350">Regio doorzoeken aanzetten voor <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Het beleid is alleen van toepassing op beheerde gastsessies.
       Als je het beleid instelt, geef je een lijst met extensie-ID's op die zijn vrijgesteld van de opschoonprocedure voor beperkte beheerde gastsessies (zie <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -1722,6 +1746,7 @@
       Als je het beleid instelt op False, is <ph name="BOREALIS_NAME" /> niet beschikbaar. Als je het beleid niet instelt of instelt op True, is <ph name="BOREALIS_NAME" /> beschikbaar als deze functie niet uitstaat op basis van een andere beleidsregel of instelling.</translation>
 <translation id="2964373560810620158">Niet toestaan dat gebruikers de <ph name="LACROS_NAME" />-browser gebruiken</translation>
 <translation id="2968177167006045252">Toestaan dat sites SharedArrayBuffers gebruiken</translation>
+<translation id="2969568582351417848">Op bestandsextensies gebaseerde downloadwaarschuwingen uitzetten voor gespecificeerde bestandstypen in domeinen</translation>
 <translation id="2969797921412053304">Met dit beleid wordt ingesteld welke URL's toegang krijgen tot attesten van apparaatidentiteit op afstand tijdens het SAML-proces op het inlogscherm.
 
       Als een URL overeenkomt met een van de patronen die zijn opgegeven via dit beleid, kan de URL een HTTP-header ontvangen met een reactie op een externe attestuitdaging voor een attest van apparaatidentiteit en apparaatstatus.
@@ -2367,13 +2392,6 @@
 Als je deze instelling uitzet, kunnen gebruikers de functie Automatisch aanvullen niet gebruiken.
 
 Als je de instelling activeert of geen waarde instelt, kunnen gebruikers de opties voor Automatisch aanvullen zelf beheren. Zo kunnen ze profielen voor Automatisch aanvullen instellen en de functie naar wens aan- of uitzetten.</translation>
-<translation id="3731968520685217674">Als je dit beleid instelt, kun je opgeven hoe het systeem moet reageren als de browser wordt opgestart. Als je deze instelling uitzet, heeft dit hetzelfde effect als wanneer je het beleid niet instelt, omdat het opstartgedrag van <ph name="PRODUCT_NAME" /> moet zijn opgegeven.
-
-      Als je het beleid instelt, kunnen gebruikers dit niet wijzigen in <ph name="PRODUCT_NAME" />. Als je het beleid niet instelt, kunnen gebruikers dit wijzigen.
-
-      Als je dit beleid instelt op <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" />, worden sommige instellingen uitgezet die afhankelijk zijn van sessies of waarmee bij het afsluiten bepaalde acties worden uitgevoerd (zoals browsegegevens wissen bij afsluiten of sessiecookies).
-
-      In <ph name="MS_WIN_NAME" /> is deze functionaliteit alleen beschikbaar voor instanties die zijn gekoppeld aan een <ph name="MS_AD_NAME" />-domein, worden uitgevoerd in Windows 10 Pro of zijn ingeschreven voor <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. In <ph name="MAC_OS_NAME" /> is deze functionaliteit alleen beschikbaar voor instanties die via MDM worden beheerd of via MCX aan een domein zijn gekoppeld.</translation>
 <translation id="3733014427925403568">Dag van de week voor het interval.</translation>
 <translation id="3736879847913515635">'Persoon toevoegen' aanzetten in gebruikersbeheer</translation>
 <translation id="3749259744154402564">Niet ondersteund</translation>
@@ -2527,6 +2545,7 @@
       Hiermee vermeld je extensies die automatisch worden geïnstalleerd voor de demogebruiker, voor apparaten in de commerciële modus. Deze extensies worden opgeslagen op het apparaat en kunnen worden geïnstalleerd in de offline modus, na de installatie.
 
       Elke lijstvermelding bevat een woordenboek dat de extensie-ID moet bevatten in het veld 'Extensie-ID' en de update-URL in het veld 'Update-URL'.</translation>
+<translation id="3869180930654347954">First-Party Sets uitzetten voor alle betrokken gebruikers</translation>
 <translation id="3870059789954671543">Zet de toegankelijkheidsfunctie voor markeren via toetsenbordfocus aan op het inlogscherm.
 
           Met deze functie wordt het object gemarkeerd dat door het toetsenbord is gefocust.
@@ -2720,6 +2739,7 @@
       Als je dit beleid niet toepast of niet instelt, stuurt de service gebruikers naar https://myaccount.google.com om hun wachtwoord te wijzigen.
 
       In <ph name="MS_WIN_NAME" /> is deze functionaliteit alleen beschikbaar voor instanties die zijn gekoppeld aan een <ph name="MS_AD_NAME" />-domein, worden uitgevoerd in Windows 10 Pro of zijn ingeschreven voor <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. In <ph name="MAC_OS_NAME" /> is deze functionaliteit alleen beschikbaar voor instanties die via MDM worden beheerd of via MCX aan een domein zijn gekoppeld.</translation>
+<translation id="4115501011761259824">First-Party Sets aanzetten voor alle betrokken gebruikers</translation>
 <translation id="4121350739760194865">Voorkomen dat app-promoties worden weergegeven op de pagina 'Nieuw tabblad'</translation>
 <translation id="4122473079291425973">De pagina Nieuw tabblad laat kaarten zien als er content beschikbaar is, maar gebruikers mogen deze instelling wijzigen</translation>
 <translation id="4122565688998751716">Dit beleid is beëindigd. Gebruik in plaats daarvan het beleid <ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />.
@@ -2859,6 +2879,14 @@
       Dit beleid wordt genegeerd en de melding wordt altijd getoond als het apparaat onbeheerd is of er slechts één gebruiker is.
 
       Als er meerdere gebruikersaccounts zijn op een beheerd apparaat, wordt de melding alleen getoond als dit beleid is toegepast.</translation>
+<translation id="4293593564662654474">Dit beleid wordt aangeboden als een manier om je af te melden voor de functie First-Party Sets.
+
+                  Als je dit beleid niet instelt of aanzet, staat de functie First-Party Sets aan.
+
+                  Als je dit beleid uitzet, staat de functie First-Party Sets uit.
+
+                  De status van de functie First-Party Sets bepaalt of Chrome de lijst met First-Party Sets ophaalt.
+                  Het beleid bepaalt ook of Chrome aan First-Party Sets gerelateerde functies ondersteunt (bijvoorbeeld het SameParty-cookiekenmerk).</translation>
 <translation id="4311195029067684288">Full</translation>
 <translation id="4313767483634435271">Toegewezen MAC-adres van dock van apparaat</translation>
 <translation id="4314538398999793073">CNAME-lookup tijdens Kerberos-verificatie uitzetten</translation>
@@ -2988,6 +3016,7 @@
 <translation id="449423975179525290">Aan <ph name="PLUGIN_VM_NAME" /> gerelateerd beleid configureren.</translation>
 <translation id="449784980858429908">Automatisch rechten aan sites geven om verbinding te maken met alle seriële poorten.</translation>
 <translation id="450080746522343150">Alle downloads blokkeren.</translation>
+<translation id="4508728400492074981">Beheert het beleid voor de functie First-Party Sets.</translation>
 <translation id="4510923771103268849">De gebruiker heeft toestemming voor roottoegang tot Crostini-containers</translation>
 <translation id="4512407512989846472">Staat toe dat het kopiëren naar het klembord voor gespecificeerde URL's wordt geblokkeerd</translation>
 <translation id="4513691822411041977">Het gebruik van SafeSearch op Google Zoeken of de beperkte modus van YouTube niet afdwingen</translation>
@@ -3103,6 +3132,16 @@
 <translation id="4617338332148204752">De metatagcontrole in <ph name="PRODUCT_FRAME_NAME" /> overslaan</translation>
 <translation id="4624417808625504735">Voorkomen dat JavaScript op deze sites JIT kan gebruiken</translation>
 <translation id="4625915093043961294">Witte lijst voor het installeren van extensies configureren</translation>
+<translation id="4631165564645497047">Als je deze instelling aanzet, verifieert <ph name="PRODUCT_NAME" /> servercertificaten met de ingebouwde certificaatverificatie.
+      Als je deze instelling uitzet, verifieert <ph name="PRODUCT_NAME" /> servercertificaten met de verouderde certificaatverificatie die door het platform wordt geleverd.
+      Als je deze instelling niet instelt, kan de ingebouwde of de verouderde certificaatverificatie worden gebruikt.
+
+      Dit beleid wordt verwijderd in <ph name="PRODUCT_OS_NAME" /> versie 81, als de support voor de verouderde certificaatverificatie in <ph name="PRODUCT_OS_NAME" /> ook wordt verwijderd.
+
+      Dit beleid wordt verwijderd in <ph name="PRODUCT_NAME" /> voor Linux-versie 83, als de support voor de verouderde certificaatverificatie in Linux ook wordt verwijderd.
+
+      Dit beleid wordt verwijderd in <ph name="PRODUCT_NAME" /> voor Mac OS X-versie 104, als de support voor de verouderde certificaatverificatie in Mac OS X ook wordt verwijderd.
+      </translation>
 <translation id="4632343302005518762"><ph name="PRODUCT_FRAME_NAME" /> toestaan de vermelde soorten content te verwerken.</translation>
 <translation id="4632566332417930481">Gebruik van hulpprogramma's voor ontwikkelaars uitzetten voor extensies die zijn geïnstalleerd op basis van het bedrijfsbeleid, maar toestaan in andere contexten</translation>
 <translation id="4635284822166984665">Tijd wanneer het apparaat begint met opladen, geïnterpreteerd in de lokale tijdzone van het apparaat.</translation>
@@ -3416,6 +3455,7 @@
 <translation id="5075190314377370852">Als je het beleid instelt op 'True', voert <ph name="PRODUCT_NAME" /> altijd een intrekkingscontrole uit voor gevalideerde servercertificaten die zijn ondertekend door lokaal geïnstalleerde CA-certificaten. Als <ph name="PRODUCT_NAME" /> geen informatie over de intrekkingsstatus kan verkrijgen, beschouwt <ph name="PRODUCT_NAME" /> deze certificaten als ingetrokken ('hard-fail').
 
       Als je het beleid instelt op 'False' of niet instelt, gebruikt <ph name="PRODUCT_NAME" /> de bestaande instellingen voor online intrekkingscontrole.</translation>
+<translation id="5076953589932162038">Instellingen voor First-Party Sets</translation>
 <translation id="5078623750797048009">Pdf-annotaties aanzetten</translation>
 <translation id="5081204761483900654">Beperkte beheerde gastsessies</translation>
 <translation id="5082296146261894974">Staat toe dat gebruikers op een Telefoonhub-melding klikken om de Eche-app te starten.</translation>
@@ -4447,6 +4487,16 @@
         Als dit beleid is ingesteld op False of niet is ingesteld, kan de gebruiker blijven werken terwijl de verificatie ongeldig is.</translation>
 <translation id="631183702829488873">Als deze functie aanstaat, wordt een knop getoond op het inlog- en vergrendelscherm waarmee het wachtwoord kan worden getoond.
           De knop wordt getoond als een oog in het tekstveld voor het wachtwoord. De knop is afwezig als de functie uitstaat.</translation>
+<translation id="6313108604615108577">Dit beleid bepaalt of de hoofdversie van de tekenreeks voor User-agent moet worden vastgezet op 99.
+
+      Met de verzoekheader voor user-agent kunnen websites de app, het besturingssysteem, de leverancier en/of de versie van de aanvragende user-agent identificeren.
+      Sommige websites doen aannames over de verwachte opmaak van deze kop en kunnen problemen krijgen met versiereeksen die 3 cijfers in de hoofdpositie bevatten (bijv. 100.0.0.0).
+
+      Als je het beleid instelt op Default of niet instelt, worden de standaard browserinstellingen gebruikt voor de hoofdversie van de tekenreeks voor User-agent.
+      Als je dit instelt op ForceDisabled, wordt de hoofdversie niet vastgezet door de tekenreeks voor User-agent.
+      Als je dit instelt op ForceEnabled, meldt de tekenreeks voor User-agent altijd de hoofdversie als 99 en wordt de hoofdversie van de browser opgenomen in de secundaire positie. Browserversie 101.0.0.0 zou bijvoorbeeld een verzoekheader voor User-agent sturen die versie 99.101.0.0 meldt.
+
+      Dit beleid is tijdelijk en wordt in de toekomst beëindigd. Houd er rekening mee dat als dit beleid en <ph name="USER_AGENT_REDUCTION_POLICY_NAME" /> aanstaan, de tekenreeks voor de User-agent-versie altijd 99.0.0.0 is.</translation>
 <translation id="6313170479290171718">Dit beleid is beëindigd. Gebruik in plaats daarvan het beleid <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />.
 
       Als je het beleid instelt op True, staat het schermtoetsenbord aan bij het inloggen. Als je het beleid instelt op False, staat het schermtoetsenbord uit bij het inloggen.
@@ -4887,6 +4937,7 @@
       chrome://flags en andere manieren om browserfuncties aan- en uit te zetten werken nog steeds hetzelfde, ongeacht of je het beleid wel of niet hebt toegepast.</translation>
 <translation id="6794083666143216172">Toestaan dat de herkomst query's voor apparaatkenmerken kan uitvoeren</translation>
 <translation id="6795485990775913659">Alleen afdrukken toestaan zonder pincode</translation>
+<translation id="6796215185873669533">Standaard browserinstellingen gebruiken voor tekenreeksversie van User-agent.</translation>
 <translation id="6800181452282128474">Geen query's sturen naar Quirks Servers</translation>
 <translation id="68031099365512050">Audiostatus rapporteren</translation>
 <translation id="6810445994095397827">JavaScript blokkeren op deze sites</translation>
@@ -5205,6 +5256,7 @@
 <translation id="7070525176564511548">Het wachtwoord moet elke week (168 uur) worden opgegeven</translation>
 <translation id="7072208053150563108">Wijzigingsfrequentie van computerwachtwoord</translation>
 <translation id="7072567600438630966">Toestaan dat Phone Hub wordt aangezet.</translation>
+<translation id="7074437930865599190">Hoofdversie van tekenreeks voor User-agent vastzetten op 99</translation>
 <translation id="7079519252486108041">Pop-ups blokkeren op deze sites</translation>
 <translation id="707988220162760379">Pdf-bestanden altijd openen met een externe pdf-viewer</translation>
 <translation id="7081784525008938771">Als je dit beleid toepast of niet instelt, worden gebruikers niet als inactief gezien als er video wordt afgespeeld. Hiermee wordt voorkomen dat de vertraging voor het dimmen, uitzetten en vergrendelen van het scherm wordt bereikt en dat de bijbehorende acties worden uitgevoerd.
@@ -5911,6 +5963,7 @@
       Een extensie of Android-app kan standaard geen sleutel gebruiken die is bedoeld voor zakelijk gebruik. Dit staat gelijk aan het instellen van allowCorporateKeyUsage op False voor die extensie of Android-app. Alleen als allowCorporateKeyUsage voor een extensie of Android-app is ingesteld op True kan deze elke platformsleutel gebruiken die is gemarkeerd voor zakelijk gebruik om willekeurige gegevens te ondertekenen. Geef deze toestemming alleen als je er zeker van bent dat de extensie of de Android-app de toegang tot de sleutel voldoende beveiligt tegen aanvallers.</translation>
 <translation id="7933141401888114454">Aanmaak van bewaakte gebruikers aanzetten</translation>
 <translation id="793473937901685727">Certificaatbeschikbaarheid instellen voor ARC-apps</translation>
+<translation id="7936302526928951356">De tekenreeks voor User-agent zet de hoofdversie niet vast.</translation>
 <translation id="7937766917976512374">Het opnemen van video's toestaan of weigeren</translation>
 <translation id="7941975817681987555">Geen netwerkacties voorspellen voor een netwerkverbinding</translation>
 <translation id="7946350455013548764">Als je het beleid instelt op 3, kunnen websites toegang vragen tot HID-apparaten. Als je het beleid instelt op 2, wordt toegang tot HID-apparaten geweigerd.
@@ -6059,6 +6112,7 @@
 <translation id="8133152694354699657">Als je het beleid instelt op True of niet instelt, wordt 'Tikken om te zoeken' beschikbaar voor gebruikers. Ze kunnen de functie aan- of uitzetten.
 
       Als je het beleid instelt op False, wordt 'Tikken om te zoeken' volledig uitgezet.</translation>
+<translation id="8136345780578030573">First-Party Sets aanzetten</translation>
 <translation id="8136906469922284163">Als je het beleid instelt op True, kunnen pagina's pop-ups laten zien terwijl het laden van de pagina's ongedaan wordt gemaakt.
 
       Als je het beleid instelt op False of niet instelt, kunnen pagina's geen pop-ups laten zien terwijl het laden van de pagina's ongedaan wordt gemaakt.
@@ -6466,9 +6520,6 @@
 <translation id="8525526490824335042">Linux-container</translation>
 <translation id="8528951285051082869">Geen web-apps toestemming geven voor toegang tot bestandstypen via de File Handling API</translation>
 <translation id="8533145294731270627">Schadelijke downloads en gevaarlijke bestandstypen blokkeren.</translation>
-<translation id="8537051350735478658">Als je het beleid instelt op True, worden de zoeksuggesties in de adresbalk van <ph name="PRODUCT_NAME" /> aangezet. Als je het beleid instelt op False, worden deze zoeksuggesties uitgezet.
-
-      Als je het beleid instelt, kunnen gebruikers het niet wijzigen. Als je dit beleid niet instelt, staan de zoeksuggesties in eerste instantie aan, maar kunnen gebruikers deze op elk moment uitzetten.</translation>
 <translation id="8543103455510904459">Hiermee kun je een lijst met URL-patronen opgeven van sites die JavaScript niet mogen uitvoeren met de JIT-compiler (Just In Time) aangezet.
 
           Als je de JavaScript JIT-compiler uitzet, kan <ph name="PRODUCT_NAME" /> er langer over doen om webcontent te laten zien en kunnen ook delen van JavaScript (waaronder WebAssembly) worden uitgezet. Als je de JavaScript JIT-compiler uitzet, kan <ph name="PRODUCT_NAME" /> webcontent laten zien in een meer beveiligde configuratie.
@@ -6721,6 +6772,7 @@
       Elk lijstitem van het beleid is een tekenreeks die een extensie-ID en optioneel een update-URL bevat, gescheiden door een puntkomma (;). De extensie-ID is de tekenreeks van 32 letters die bijvoorbeeld op chrome://extensions kan worden gevonden als de ontwikkelaarsmodus actief is. De update-URL, indien opgegeven, moet verwijzen naar een XML-updatedocument voor het manifest ( https://developer.chrome.com/extensions/autoupdate ). Standaard wordt de update-URL van de Chrome Web Store gebruikt. De update-URL die in dit beleid is ingesteld, wordt alleen voor de eerste installatie gebruikt. Daaropvolgende updates van de extensie gebruiken de update-URL die in het manifest van de extensie wordt aangegeven.
 
        Opmerking: Dit beleid is niet van toepassing op de incognitomodus. Bekijk meer informatie over het hosten van extensies ( https://developer.chrome.com/extensions/hosting ).</translation>
+<translation id="8827275450034266143">De tekenreeks voor User-agent zet de hoofdversie vast op 99 en neemt de hoofdversie van de browser op in de secundaire positie.</translation>
 <translation id="8827366480126575426">Het protocol voor de protocolhandler.</translation>
 <translation id="8827417642396462482">Aanvullende DNS-zoekopdrachttypen toestaan</translation>
 <translation id="8831911834413504983">Als je het beleid instelt, kun je een lijst met URL-patronen instellen om op te geven welke sites JavaScript mogen uitvoeren.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 84de845..6f81f1ee 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -204,6 +204,9 @@
       Essa política não se aplica a usuários de quiosque.
 
       Cuidado: Wipe e MinimalMigrate removem dados locais.</translation>
+<translation id="1250597158212586309">Se a política for definida como "Enabled" (ativada) ou deixada sem definição, o usuário tem a opção de dispensar/restaurar alertas de senha comprometida.
+
+      Se você desativar esta configuração, os usuários não vão poder dispensar alertas de senha comprometida. Se ela estiver ativada, os usuários vão poder dispensar alertas sobre senhas comprometidas.</translation>
 <translation id="1252536192437793850">Permitir que os sites peçam ao usuário para conceder acesso a uma porta serial</translation>
 <translation id="1255159327956066463">Ativar o recurso de janelas fantasmas</translation>
 <translation id="125655429495551011">Se a política for definida como uma string, a string será aplicada como nome do host do dispositivo durante a solicitação de DHCP. A string pode ter as variáveis <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" /> e <ph name="LOCATION_PLACEHOLDER" />, que serão substituídas por valores no dispositivo antes de serem usadas como nome do host. A substituição resultante precisa ser um nome de host válido, conforme o RFC 1035, seção 3.1.
@@ -841,6 +844,30 @@
 
       Esta política comercial fica desativada por padrão.</translation>
 <translation id="1949584741547056205">Respostas rápidas</translation>
+<translation id="1951288262199783797">Você pode ativar esta política para criar um dicionário de extensões de tipos de arquivo com uma lista de domínios correspondentes que estão isentos dos avisos de download com base na extensão do tipo de arquivo. Isso permite que os administradores corporativos bloqueiem avisos de download com base na extensão de tipo para arquivos associados a um domínio listado. Por exemplo, se a extensão "jnlp" estiver associada ao "site1.com", os usuários não vão receber um aviso ao fazer o download de arquivos "jnlp" do "site1.com", mas vão receber um aviso ao fazer o download de arquivos "jnlp" do "site2.com".
+
+      Arquivos com extensões especificadas para domínios identificados por esta política, ainda vão estar sujeitos a avisos de segurança não baseados na extensão do tipo do arquivo, como avisos de download de conteúdo misto e do Navegação segura.
+
+      Se a política for desativada ou não estiver configurada, os tipos de arquivo que acionam avisos de download com base na extensão vão mostrar avisos ao usuário.
+
+      Se você ativar a política:
+
+      * O padrão de URL precisa ser formatado de acordo com https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * A extensão do tipo de arquivo inserida precisa estar em letras minúsculas de acordo com o ASCII. O separador à esquerda não pode ser incluído ao listar as extensões do tipo de arquivo. Então, use "jnlp" em vez de ".jnlp".
+
+      Exemplo:
+
+      O valor de exemplo abaixo evitaria avisos de download baseados na extensão do tipo de arquivo em extensões swf, exe e jnlp para domínios *.example.com. O usuário recebe um aviso de download com base na extensão do tipo de arquivo em qualquer outro domínio para arquivos exe e jnlp, mas não para arquivos swf.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Observe que, embora o exemplo anterior mostre a supressão de avisos de download com base na extensão do tipo de arquivo para arquivos "swf" em todos os domínios, a aplicação da supressão desse tipo de aviso em todos os domínios para extensões de tipos de arquivos perigosas não é recomendada devido a questões de segurança. A supressão é mostrada no exemplo apenas para demonstrar que pode ser feita.
+
+      Se esta política estiver ativada em conjunto com <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> e a política DownloadRestrictions estiver definida para bloquear tipos de arquivos perigosos, os blocos de download determinados por DownloadRestrictions têm precedência. Por exemplo, se esta política estiver definida para autorizar downloads de extensão "exe" do "site1.com" e a política DownloadRestrictions estiver definida para bloquear downloads maliciosos e tipos de arquivos perigosos, os downloads de extensão "exe" ainda vão ser bloqueados em todos os domínios. Se a DownloadRestrictions não estiver definida para bloquear tipos de arquivo perigosos, os tipos de arquivo especificados nesta política não vão enviar avisos de download com base na extensão nos domínios especificados. Leia mais sobre a política DownloadRestrictions em https://chromeenterprise.google/policies/?policy=DownloadRestrictions.</translation>
 <translation id="1960416154405676350">Ativar a pesquisa por região do <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Esta política se aplica apenas a sessões de visitante gerenciadas.
       Se ela for definida, uma lista de IDs de extensão isentos do processo de limpeza da sessão de visitante gerenciada restrita será especificada. Consulte <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />.
@@ -895,6 +922,7 @@
       Impressoras conectadas ao <ph name="CLOUD_PRINT_NAME" /> são consideradas <ph name="PRINTER_TYPE_CLOUD" />, e as restantes são classificadas como <ph name="PRINTER_TYPE_LOCAL" />.
 
       Observação: a omissão de um campo significa que todos os valores correspondem. Por exemplo, a não especificação da conectividade faz com que a visualização da impressão inicie a detecção de todos os tipos de impressoras, <ph name="PRINTER_TYPE_LOCAL" /> e <ph name="PRINTER_TYPE_CLOUD" />. Os padrões de expressão regular precisam seguir a sintaxe RegExp do JavaScript. As correspondências diferenciam maiúsculas de minúsculas.</translation>
+<translation id="2004382785802837840">Desativar a opção de dispensar alertas de senha comprometida</translation>
 <translation id="2005506794355327448">Ação a ser tomada quando a tampa for fechada.</translation>
 <translation id="2006530844219044261">Gerenciamento de energia</translation>
 <translation id="2008514891623783266">A política de processamento de IPs do WebRTC</translation>
@@ -1327,6 +1355,7 @@
 <translation id="2435232509335686514">Política de configuração do gerenciamento de arquivos transferidos por download pelo <ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /></translation>
 <translation id="2436302465999055995">Tornar o <ph name="LACROS_NAME" /> o único navegador disponível (ainda não implementado)</translation>
 <translation id="2439187682308339104">Não permitir que nenhum site solicite acesso a dispositivos HID pela API WebHID</translation>
+<translation id="2439733504887695659">Ativar a opção de dispensar alertas de senha comprometida para as credenciais inseridas</translation>
 <translation id="2448315169529769573">Se a política for definida como "Ativada", o <ph name="PRODUCT_OS_NAME" /> informará métricas de uso e dados de diagnóstico, incluindo relatórios de erros, para o Google. Se a política for definida como "Desativada", as informações de métrica e dados de diagnóstico serão desativados.
 
        Se a política não for definida, as informações de métrica e dados de diagnóstico ficarão desativados nos dispositivos não gerenciados e ativados nos dispositivos gerenciados.</translation>
@@ -1764,6 +1793,7 @@
       Se a política for definida como falsa, a <ph name="BOREALIS_NAME" /> ficará indisponível. Caso contrário, quando a política for definida como verdadeira ou deixada sem definição, a <ph name="BOREALIS_NAME" /> ficará disponível se, e apenas se, nenhuma outra política ou configuração a desativar.</translation>
 <translation id="2964373560810620158">Impedir que os usuários usem o navegador <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Permitir que os sites usem o SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Desativar avisos de download com base na extensão do tipo de arquivo para os tipos especificados nos domínios</translation>
 <translation id="2969797921412053304">Esta política configura quais URLs terão acesso para usar o atestado remoto da identidade do dispositivo durante o fluxo SAML na tela de login.
 
       Especificamente, se um URL corresponder a um dos padrões fornecidos por esta política, ele poderá receber um cabeçalho HTTP com uma resposta para um desafio de atestado remoto, confirmando a identidade e o estado do dispositivo.
@@ -2410,13 +2440,6 @@
       Se você desativar essa configuração, os usuários não poderão usar o preenchimento automático.
 
       Se você ativar essa configuração ou não definir um valor, o preenchimento automático será controlado pelo usuário, ou seja, ele poderá configurar perfis de preenchimento automático e ativar ou desativar o recurso quando quiser.</translation>
-<translation id="3731968520685217674">A definição desta política permite especificar o comportamento do sistema na inicialização. Desativar essa configuração é o mesmo que não defini-la, já que o <ph name="PRODUCT_NAME" /> precisa ter um comportamento de inicialização especificado.
-
-      Se você definir a política, os usuários não poderão mudá-la no <ph name="PRODUCT_NAME" />. Se não defini-la, eles poderão mudá-la.
-
-      A definição desta política como <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> desativa algumas configurações que dependem de sessões ou que realizam ações ao sair, como a limpeza dos dados de navegação ao sair ou os cookies de sessão.
-
-      No <ph name="MS_WIN_NAME" />, essa funcionalidade está disponível apenas em instâncias associadas a um domínio do <ph name="MS_AD_NAME" />, executadas no Windows 10 Pro ou registradas no <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. No <ph name="MAC_OS_NAME" />, essa funcionalidade está disponível apenas em instâncias gerenciadas por MDM ou associadas a um domínio via MCX.</translation>
 <translation id="3733014427925403568">Dia da semana para o intervalo.</translation>
 <translation id="3736879847913515635">Ativar adição de uma pessoa no gerenciador de usuários</translation>
 <translation id="3749259744154402564">Incompatível</translation>
@@ -3149,6 +3172,16 @@
 <translation id="4617338332148204752">Ignorar a verificação de metatags em <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Bloquear o uso de JIT pelo JavaScript nestes sites</translation>
 <translation id="4625915093043961294">Configurar a lista branca de instalação de extensão</translation>
+<translation id="4631165564645497047">Quando esta configuração estiver ativada, o <ph name="PRODUCT_NAME" /> verifica os certificados do servidor usando o verificador integrado de certificados.
+      Quando ela estiver desativada, o <ph name="PRODUCT_NAME" /> verifica os certificados do servidor usando o verificador legado disponibilizado pela plataforma.
+      Quando esta configuração não for definida, tanto o verificador de certificados integrado quanto o legado podem ser usados.
+
+      Esta política vai ser removida na versão 81 do <ph name="PRODUCT_OS_NAME" />, quando o suporte ao verificador de certificados legado no <ph name="PRODUCT_OS_NAME" /> também vai ser removido.
+
+      Esta política vai ser removida do <ph name="PRODUCT_NAME" /> na versão 83 do Linux, quando o suporte ao verificador de certificados legado nesse SO também vai ser removido.
+
+      Esta política vai ser removida do <ph name="PRODUCT_NAME" /> na versão 104 do Mac OS X, quando o suporte ao verificador de certificados legado nesse SO também vai ser removido.
+      </translation>
 <translation id="4632343302005518762">Permitir que o <ph name="PRODUCT_FRAME_NAME" /> trabalhe com os tipos de conteúdo listados</translation>
 <translation id="4632566332417930481">Não permite o uso das Ferramentas para Desenvolvedores em extensões instaladas por uma política corporativa; permite o uso das Ferramentas para desenvolvedores em outros contextos</translation>
 <translation id="4635284822166984665">Horário em que o carregamento do dispositivo será iniciado, interpretado no fuso horário local do dispositivo.</translation>
@@ -3187,6 +3220,7 @@
 
           Para ver exemplos de padrões, consulte http://www.chromium.org/developers/how-tos/chrome-frame-getting-started (link em inglês).</translation>
 <translation id="467449052039111439">Abrir uma lista de URLs</translation>
+<translation id="4674542060943819878">Ativar a opção de dispensar alertas de senha comprometida</translation>
 <translation id="4674871290487541952">Permite algoritmos inseguros em verificações de integridade nas atualizações e instalações de extensão</translation>
 <translation id="4680961954980851756">Ativar Preenchimento automático</translation>
 <translation id="4685721728282448265">CECPQ2 de acordo de chave pós-quântico ativado para TLS</translation>
@@ -6527,9 +6561,6 @@
 <translation id="8525526490824335042">Contêiner Linux</translation>
 <translation id="8528951285051082869">Não permitir que nenhum app da Web acesse tipos de arquivo pela API File Handling</translation>
 <translation id="8533145294731270627">Bloquear downloads maliciosos e tipos de arquivo perigosos.</translation>
-<translation id="8537051350735478658">Se a política for definida como verdadeira, as sugestões de pesquisa na barra de endereço do <ph name="PRODUCT_NAME" /> serão ativadas. Se ela for definida como falsa, essas sugestões serão desativadas.
-
-      Se você definir a política, os usuários não poderão mudá-la. Se ela não for definida, as sugestões de pesquisa ficarão inicialmente ativadas, mas os usuários poderão desativá-las quando quiserem.</translation>
 <translation id="8543103455510904459">Permite definir uma lista de padrões de URL que especificam sites sem permissão para executar o JavaScript com o compilador JIT (Just In Time) ativado.
 
           Se você desativar o JIT do JavaScript, o <ph name="PRODUCT_NAME" /> poderá renderizar conteúdo da Web mais lentamente, e partes do próprio JavaScript poderão ser desativadas, incluindo o WebAssembly. Se você desativar o JIT do JavaScript, o <ph name="PRODUCT_NAME" /> poderá renderizar conteúdo da Web com uma configuração mais segura.
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index e9d0785..74b019f 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -833,6 +833,30 @@
 
       По умолчанию это правило отключено.</translation>
 <translation id="1949584741547056205">Быстрые ответы</translation>
+<translation id="1951288262199783797">Включите это правило, чтобы создать словарь, где для каждого расширения файла перечисляется список доменов. Предупреждение не показывается, если указанный тип файла скачивается с заданного домена. Это правило позволяет администраторам отключить предупреждения о скачивании файлов с перечисленными расширениями с доверенных доменов. Например, если связать расширение JNLP с доменом website1.com, пользователи не увидят предупреждение при скачивании файла JNLP с сайта website1.com. При попытке скачать файл JNLP с сайта website2.com предупреждение появится.
+
+      Настройки этого правила не влияют на показ других предупреждений. Если скачиваемый файл с расширением из этого списка нарушает правила Безопасного просмотра или блокировки смешанного контента, будут показаны соответствующие предупреждения.
+
+      Если правило отключено или не настроено, при скачивании файлов с определенными расширениями пользователи увидят предупреждение.
+
+      Во время настройки правила обратите внимание на следующее:
+
+      * Формат шаблона URL должен соответствовать требованиям, указанным на странице https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * При вводе расширений файлов используйте только строчные ASCII-символы. Точку указывать не нужно: jnlp вместо .jnlp.
+
+      Пример.
+
+      Если использовать указанные ниже настройки, предупреждения не будут показываться при скачивании файлов EXE и JNLP с доменов *.example.com и файлов SWF с любого сайта.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Обратите внимание, что использование приведенных выше настроек не рекомендуется. Отключение предупреждений при скачивании потенциально опасных типов файлов с любых сайтов представляет риск для пользователей. Эта информация размещена исключительно в ознакомительных целях.
+
+      Если правило <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> блокирует скачивание опасных типов файлов, то оно имеет приоритет над этим правилом. Например, если правило ExemptDomainFileTypePairsFromFileTypeDownloadWarnings отключает уведомления при скачивании файлов EXE с сайта website1.com, а правило DownloadRestrictions запрещает скачивание вдредоносных и потенциально опасных типов файлов, пользователь не сможет скачать файл EXE ни с одного домена. Если правило DownloadRestrictions не блокирует потенциально опасные типы файлов, уведомления не будут показываться при скачивании, когда пара (разрешение файла и домен) указана в этом правиле. Подробная информация о правиле DownloadRestrictions доступна здесь: https://chromeenterprise.google/policies/?policy=DownloadRestrictions.</translation>
 <translation id="1960416154405676350">Включить поиск по области изображения в сервисе "<ph name="GOOGLE_LENS_PRODUCT_NAME" />"</translation>
 <translation id="1961091374249454164">Правило действует только для управляемых гостевых сеансов.
       Оно позволяет указать список идентификаторов расширений, для которых не будет выполняться процедура очистки управляемого гостевого сеанса с ограниченным доступом (см. <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -1743,6 +1767,7 @@
       Если установлено значение False, <ph name="BOREALIS_NAME" /> будет недоступно. Если правило не настроено или установлено значение True, <ph name="BOREALIS_NAME" /> будет доступно, только если другие правила и настройки не запрещают это.</translation>
 <translation id="2964373560810620158">Запретить пользователям работать в браузере <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Разрешить сайтам использовать SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Отключение предупреждений при скачивании файлов с заданными расширениями с доменов из списка</translation>
 <translation id="2969797921412053304">Это правило определяет, каким URL будет разрешено выполнять удаленную проверку устройства во время аутентификации с использованием SAML на экране входа.
 
       Например, тому URL, который совпадает с одним из шаблонов этого правила, будет разрешено получить заголовок HTTP с ответом на запрос удаленной проверки, подтверждающим данные об устройстве и его состояние.
@@ -2393,13 +2418,6 @@
       Если этот параметр отключен, функция автозаполнения недоступна пользователям.
 
       Если он включен или его значение не указано, пользователям будет доступна функция автозаполнения и они смогут включать и отключать ее, а также настраивать профили автозаполнения.</translation>
-<translation id="3731968520685217674">Если правило задано, можно настроить процесс запуска системы. Если оно отключено, при запуске браузер <ph name="PRODUCT_NAME" /> будет работать в стандартном режиме.
-
-      Если правило задано, этот параметр невозможно изменить в <ph name="PRODUCT_NAME" />. В противном случае пользователи смогут вносить изменения.
-
-      При выборе значения <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> будут отключены некоторые функции, такие как удаление данных о работе в браузере или файлов cookie при завершении работы.
-
-      В <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" /> правило поддерживается только на устройствах, которые контролируются с помощью ПО для управления мобильными устройствами или добавлены в домен через MCX.</translation>
 <translation id="3733014427925403568">День недели для интервала.</translation>
 <translation id="3736879847913515635">Разрешить добавлять людей через диспетчер пользователей</translation>
 <translation id="3749259744154402564">Не поддерживать</translation>
@@ -3133,6 +3151,16 @@
 <translation id="4617338332148204752">Отменить проверку метатега в <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Запретить использование JIT-компилятора JavaScript на этих сайтах</translation>
 <translation id="4625915093043961294">Настройка белого списка расширений</translation>
+<translation id="4631165564645497047">Если правило включено, подтверждение сертификатов сервера в <ph name="PRODUCT_NAME" /> будет выполняться встроенным инструментом верификации.
+      Если правило отключено, подтверждение сертификатов сервера в <ph name="PRODUCT_NAME" /> будет выполняться устаревшим методом через инструмент верификации операционной системы.
+      Если правило не настроено, может использоваться как встроенный инструмент, так и устаревший метод.
+
+      Это правило будет удалено в <ph name="PRODUCT_OS_NAME" /> версии 81, когда будет прекращена поддержка устаревшего метода подтверждения сертификатов в <ph name="PRODUCT_OS_NAME" />.
+
+      Это правило будет удалено в <ph name="PRODUCT_NAME" /> для Linux версии 83, когда будет прекращена поддержка устаревшего метода подтверждения сертификатов в Linux.
+
+      Это правило будет удалено в <ph name="PRODUCT_NAME" /> для macOS версии 104, когда будет прекращена поддержка устаревшего метода подтверждения сертификатов в macOS.
+      </translation>
 <translation id="4632343302005518762">Типы содержания, которые <ph name="PRODUCT_FRAME_NAME" /> может обрабатывать</translation>
 <translation id="4632566332417930481">Запретить использование Инструментов разработчика в отношении расширений, установленных в соответствии с корпоративной политикой, и разрешить во всех остальных случаях</translation>
 <translation id="4635284822166984665">Время, когда устройство начнет заряжаться, в соответствии с часовым поясом, заданным на устройстве.</translation>
@@ -6515,9 +6543,6 @@
 <translation id="8525526490824335042">Контейнер Linux</translation>
 <translation id="8528951285051082869">Запретить веб-приложениям доступ к файлам определенных типов через File Handling API</translation>
 <translation id="8533145294731270627">Блокировать скачивание вредоносного ПО и опасных типов файлов</translation>
-<translation id="8537051350735478658">Если для правила задано значение True, в адресной строке <ph name="PRODUCT_NAME" /> при поиске будут появляться подсказки. Если указано значение False, таких подсказок не будет.
-
-      Если вы настроите это правило, пользователи не смогут его изменить. Если вы не настроите правило, подсказки при поиске будут включены, но пользователи смогут отключить их в любое время.</translation>
 <translation id="8543103455510904459">Позволяет задать список шаблонов URL для указания сайтов, которым запрещено запускать код JavaScript с включенным JIT-компилятором.
 
           Если отключить JIT-компилятор JavaScript, веб-контент может загружаться медленнее в <ph name="PRODUCT_NAME" />, а некоторые элементы JavaScript, включая WebAssembly, могут перестать работать. Отключение JIT-компилятора JavaScript повышает безопасность отображения веб-контента в <ph name="PRODUCT_NAME" />.
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index de23c8c..1701e25d1 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -2392,13 +2392,6 @@
       หากคุณปิดใช้การตั้งค่านี้ ผู้ใช้จะเข้าถึงฟีเจอร์ป้อนข้อความอัตโนมัติไม่ได้
 
       หากคุณเปิดใช้การตั้งค่านี้หรือไม่ได้กำหนดค่าไว้ ผู้ใช้จะยังคงเป็นผู้ควบคุมฟีเจอร์ป้อนข้อความอัตโนมัติ ซึ่งจะทำให้ผู้ใช้กำหนดค่าโปรไฟล์การป้อนข้อความอัตโนมัติและเปิดหรือปิดการป้อนข้อความอัตโนมัติได้ตามที่เห็นสมควร</translation>
-<translation id="3731968520685217674">การตั้งค่านโยบายช่วยให้คุณระบุลักษณะการทำงานของระบบเมื่อเริ่มต้นใช้งานได้ การปิดการตั้งค่านี้จะเท่ากับไม่ได้ตั้งค่า เนื่องจาก <ph name="PRODUCT_NAME" /> ต้องมีลักษณะการทำงานที่เจาะจงเมื่อเริ่มต้นใช้งาน
-
-      หากคุณตั้งค่านโยบายไว้ ผู้ใช้จะเปลี่ยนการตั้งค่าดังกล่าวใน <ph name="PRODUCT_NAME" /> ไม่ได้ หากไม่ได้ตั้งค่า ผู้ใช้จะเปลี่ยนแปลงค่านี้ได้
-
-      การตั้งค่านโยบายนี้เป็น <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> จะปิดการตั้งค่าบางอย่างที่ต้องอาศัยเซสชันหรือที่ปฏิบัติตามคำสั่งในขณะออกจากระบบ เช่น การล้างข้อมูลการท่องเว็บเมื่อออกจากระบบหรือคุกกี้เฉพาะเซสชัน
-
-      ใน <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="3733014427925403568">วันในสัปดาห์ที่เริ่มต้นและสิ้นสุดระยะเวลา</translation>
 <translation id="3736879847913515635">เปิดใช้การเพิ่มบุคคลในการจัดการผู้ใช้</translation>
 <translation id="3749259744154402564">ไม่รองรับ</translation>
@@ -2552,6 +2545,7 @@
       แสดงรายการส่วนขยายที่ติดตั้งอัตโนมัติสำหรับผู้ใช้การสาธิตสำหรับอุปกรณ์ในโหมดปลีก ส่วนขยายเหล่านี้ถูกบันทึกไว้ในอุปกรณ์และติดตั้งขณะที่ออฟไลน์ได้หลังจากการติดตั้ง
 
       แต่ละรายการจะมีพจนานุกรมที่ต้องมี ID ส่วนขยายในฟิลด์ "extension-id" และ URL การอัปเดตในฟิลด์ "update-url"</translation>
+<translation id="3869180930654347954">ปิดใช้ชุดบุคคลที่หนึ่งสำหรับผู้ใช้ทั้งหมดที่ได้รับผลกระทบ</translation>
 <translation id="3870059789954671543">เปิดใช้ฟีเจอร์การช่วยเหลือพิเศษสำหรับการไฮไลต์โฟกัสของแป้นพิมพ์ในหน้าจอการเข้าสู่ระบบ
 
           ฟีเจอร์นี้ทำหน้าที่ไฮไลต์วัตถุที่แป้นพิมพ์โฟกัส
@@ -2745,6 +2739,7 @@
       การปิดใช้นโยบายหรือไม่ได้ตั้งค่าหมายความว่าบริการจะส่งผู้ใช้ไปที่ https://myaccount.google.com เพื่อเปลี่ยนรหัสผ่าน
 
       ใน <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="4115501011761259824">เปิดใช้ชุดบุคคลที่หนึ่งสำหรับผู้ใช้ทั้งหมดที่ได้รับผลกระทบ</translation>
 <translation id="4121350739760194865">ป้องกันไม่ให้การส่งเสริมของแอปพลิเคชันไปปรากฏบนหน้าแท็บใหม่</translation>
 <translation id="4122473079291425973">หน้าแท็บใหม่จะแสดงการ์ดหากมีเนื้อหา แต่ผู้ใช้เปลี่ยนการตั้งค่านี้ได้</translation>
 <translation id="4122565688998751716">นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้นโยบาย "<ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />" แทน
@@ -2882,6 +2877,14 @@
       ระบบจะเพิกเฉยต่อนโยบายนี้และการแจ้งเตือนจะแสดงเสมอหากอุปกรณ์ไม่มีการจัดการหรือมีผู้ใช้เพียงคนเดียว
 
       หากมีบัญชีผู้ใช้หลายบัญชีในอุปกรณ์ที่มีการจัดการ การแจ้งเตือนจะแสดงเฉพาะเมื่อเปิดใช้นโยบายนี้เท่านั้น</translation>
+<translation id="4293593564662654474">นโยบายนี้มีไว้เพื่อเป็นวิธีเลือกไม่ใช้ฟีเจอร์ชุดบุคคลที่หนึ่ง
+
+                  เมื่อไม่ได้ตั้งค่านโยบายนี้หรือตั้งค่าเป็น "เปิดใช้" ระบบจะเปิดใช้ฟีเจอร์ชุดบุคคลที่หนึ่ง
+
+                  เมื่อตั้งค่านโยบายนี้เป็น "ปิดใช้" ระบบจะปิดใช้ฟีเจอร์ชุดบุคคลที่หนึ่ง
+
+                  สถานะของฟีเจอร์ชุดบุคคลที่หนึ่งเป็นตัวกำหนดว่า Chrome จะเรียกรายการชุดบุคคลที่หนึ่งหรือไม่
+                  และยังควบคุมด้วยว่า Chrome จะรองรับฟีเจอร์ที่เกี่ยวข้องกับชุดบุคคลที่หนึ่งหรือไม่ (เช่น แอตทริบิวต์คุกกี้ SameParty)</translation>
 <translation id="4311195029067684288">เต็ม</translation>
 <translation id="4313767483634435271">ที่อยู่ MAC ของแท่นชาร์จที่กำหนดของอุปกรณ์</translation>
 <translation id="4314538398999793073">ปิดใช้การค้นหา CNAME ระหว่างการตรวจสอบสิทธิ์ Kerberos</translation>
@@ -3012,6 +3015,7 @@
 <translation id="449423975179525290">กำหนดค่านโยบายที่เกี่ยวข้องกับ <ph name="PLUGIN_VM_NAME" /></translation>
 <translation id="449784980858429908">ให้สิทธิ์เว็บไซต์โดยอัตโนมัติในการเชื่อมต่อกับพอร์ตอนุกรมทุกพอร์ต</translation>
 <translation id="450080746522343150">บล็อกการดาวน์โหลดทั้งหมด</translation>
+<translation id="4508728400492074981">ควบคุมนโยบายสำหรับฟีเจอร์ชุดบุคคลที่หนึ่ง</translation>
 <translation id="4510923771103268849">ผู้ใช้มีสิทธิ์เข้าถึงรากของคอนเทนเนอร์ Crostini ได้</translation>
 <translation id="4512407512989846472">อนุญาตให้บล็อกการคัดลอกไปยังคลิปบอร์ดใน URL ที่ระบุ</translation>
 <translation id="4513691822411041977">ไม่บังคับใช้ฟีเจอร์ค้นหาปลอดภัยใน Google Search หรือโหมดที่จำกัดของ YouTube</translation>
@@ -3450,6 +3454,7 @@
 <translation id="5075190314377370852">การตั้งค่านโยบายเป็น "จริง" หมายความว่า <ph name="PRODUCT_NAME" /> จะตรวจสอบการเพิกถอนใบรับรองเซิร์ฟเวอร์ที่ได้รับการรับรองว่าใช้ได้โดยใบรับรอง CA ที่ติดตั้งไว้ในเครื่องอยู่เสมอ หาก <ph name="PRODUCT_NAME" /> ไม่ได้รับข้อมูลสถานะการเพิกถอน <ph name="PRODUCT_NAME" /> จะถือว่าใบรับรองดังกล่าวถูกเพิกถอน (hard-fail)
 
       การตั้งค่านโยบายเป็น "เท็จ" หรือไม่ได้ตั้งค่า หมายความว่า <ph name="PRODUCT_NAME" /> จะใช้การตั้งค่าการตรวจสอบการเพิกถอนทางออนไลน์ที่มีอยู่</translation>
+<translation id="5076953589932162038">การตั้งค่าชุดบุคคลที่หนึ่ง</translation>
 <translation id="5078623750797048009">เปิดใช้คำอธิบายประกอบ PDF</translation>
 <translation id="5081204761483900654">เซสชันผู้เยี่ยมชมที่มีการจัดการแบบจำกัด</translation>
 <translation id="5082296146261894974">อนุญาตให้ผู้ใช้คลิกการแจ้งเตือนฮับโทรศัพท์เพื่อเปิดแอปพลิเคชัน Eche</translation>
@@ -4481,6 +4486,16 @@
 <translation id="631183702829488873">เมื่อเปิดใช้ไว้ ฟีเจอร์นี้จะแสดงปุ่มในหน้าจอเข้าสู่ระบบและหน้าจอล็อก ซึ่งจะช่วยให้แสดงรหัสผ่านได้
           ปุ่มนี้จะแสดงเป็นไอคอนรูปดวงตาในช่องข้อความรหัสผ่าน ปุ่มดังกล่าวจะไม่แสดงเมื่อปิดใช้ฟีเจอร์นี้อยู่
       </translation>
+<translation id="6313108604615108577">นโยบายนี้ควบคุมว่าเวอร์ชันหลักของสตริง User-Agent ควรหยุดอยู่ที่ 99 หรือไม่
+
+      ส่วนหัวของคำขอ User-Agent ช่วยให้เว็บไซต์ระบุแอปพลิเคชัน ระบบปฏิบัติการ ผู้ให้บริการ และ/หรือเวอร์ชันของ User Agent ที่เป็นผู้ขอได้
+      เว็บไซต์บางแห่งคาดเดาเกี่ยวกับการจัดรูปแบบของส่วนหัวนี้และอาจพบปัญหากับสตริงของเวอร์ชันที่มีเลข 3 หลักในตำแหน่งหลัก (เช่น 100.0.0.0)
+
+      การตั้งค่านโยบายเป็น "ค่าเริ่มต้น" หรือไม่ตั้งค่าจะทำให้ระบบใช้การตั้งค่าเบราว์เซอร์เป็นค่าเริ่มต้นสำหรับเวอร์ชันหลักของสตริง User-Agent
+      หากตั้งค่าเป็น ForceDisabled สตริง User-Agent จะไม่หยุดเวอร์ชันหลัก
+      หากตั้งค่าเป็น ForceEnabled สตริง User-Agent จะรายงานเวอร์ชันหลักเป็น 99 เสมอและรวมเวอร์ชันหลักของเบราว์เซอร์ไว้ในตำแหน่งรอง ตัวอย่างเช่น เบราว์เซอร์เวอร์ชัน 101.0.0.0 จะส่งส่วนหัวของคำขอ User-Agent ที่รายงานเวอร์ชัน 99.101.0.0
+
+      นโยบายนี้มีผลชั่วคราวและจะเลิกใช้งานในอนาคต โปรดทราบว่าหากเปิดใช้ทั้งนโยบายนี้และ <ph name="USER_AGENT_REDUCTION_POLICY_NAME" /> สตริงเวอร์ชัน User-Agent จะเป็น 99.0.0.0 เสมอ</translation>
 <translation id="6313170479290171718">นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้นโยบาย <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> แทน
 
       การตั้งค่านโยบายเป็น "จริง" จะเปิดแป้นพิมพ์บนหน้าจอไว้เมื่อลงชื่อเข้าใช้ การตั้งค่านโยบายเป็น "เท็จ" จะปิดแป้นพิมพ์บนหน้าจอไว้เมื่อลงชื่อเข้าใช้
@@ -4922,6 +4937,7 @@
       การใช้ chrome://flags รวมถึงการปิดและเปิดฟีเจอร์ของเบราว์เซอร์ด้วยวิธีการอื่นใดจะยังคงมีลักษณะการทำงานตามที่คาดไว้ไม่ว่าจะมีการ "เปิดใช้" หรือ "ปิดใช้" นโยบายนี้</translation>
 <translation id="6794083666143216172">อนุญาตให้ต้นทางค้นหาแอตทริบิวต์ของอุปกรณ์</translation>
 <translation id="6795485990775913659">อนุญาตให้พิมพ์เท่านั้นเมื่อไม่มี PIN</translation>
+<translation id="6796215185873669533">ใช้การตั้งค่าเบราว์เซอร์เป็นค่าเริ่มต้นสำหรับเวอร์ชันสตริงของ User-Agent</translation>
 <translation id="6800181452282128474">ไม่ส่งคำค้นหาไปยังเซิร์ฟเวอร์ Quirks</translation>
 <translation id="68031099365512050">รายงานสถานะเสียง</translation>
 <translation id="6810445994095397827">ปิดกั้น JavaScript บนไซต์เหล่านี้</translation>
@@ -5243,6 +5259,7 @@
 <translation id="7070525176564511548">ต้องป้อนรหัสผ่านทุกสัปดาห์ (168 ชั่วโมง)</translation>
 <translation id="7072208053150563108">อัตราการเปลี่ยนรหัสผ่านโดยเครื่อง</translation>
 <translation id="7072567600438630966">อนุญาตให้มีการเปิดใช้ฮับโทรศัพท์</translation>
+<translation id="7074437930865599190">ทำให้เวอร์ชันหลักของสตริง User-Agent หยุดอยู่ที่ 99</translation>
 <translation id="7079519252486108041">ปิดกั้นป๊อปอัปบนไซต์เหล่านี้</translation>
 <translation id="707988220162760379">เปิดไฟล์ PDF โดยใช้โปรแกรมอ่าน PDF ภายนอกเสมอ</translation>
 <translation id="7081784525008938771">การตั้งค่านโยบายเป็น "เปิดใช้" หรือไม่ตั้งค่าทำให้ผู้ใช้ไม่ถูกพิจารณาว่าไม่มีความเคลื่อนไหวในขณะกำลังเล่นวิดีโอ ซึ่งจะป้องกันระยะหน่วงเวลาของการไม่ใช้งาน ระยะหน่วงเวลาการหรี่แสงหน้าจอ ระยะหน่วงเวลาการปิดหน้าจอ และระยะหน่วงเวลาการล็อกหน้าจอ รวมถึงป้องกันไม่ให้มีการทำงานที่สอดคล้องกัน
@@ -5947,6 +5964,7 @@
       โดยค่าเริ่มต้น ส่วนขยายหรือแอปพลิเคชัน Android จะใช้คีย์ที่กำหนดไว้สำหรับการใช้งานขององค์กรไม่ได้ ซึ่งเทียบเท่ากับการตั้งค่า allowCorporateKeyUsage เป็น "เท็จ" สำหรับส่วนขยายหรือแอปพลิเคชัน Android นั้น ส่วนขยายหรือแอปพลิเคชัน Android จะใช้คีย์ของแพลตฟอร์มที่มีการทำเครื่องหมายไว้สำหรับการใช้งานขององค์กรเพื่อลงนามข้อมูลที่กำหนดเองได้เฉพาะในกรณีที่มีการตั้งค่า allowCorporateKeyUsage เป็น "จริง" สำหรับส่วนขยายหรือแอปพลิเคชัน Android ดังกล่าว ควรมอบสิทธิ์นี้ต่อเมื่อมั่นใจว่าส่วนขยายหรือแอปพลิเคชัน Android มีการป้องกันการเข้าถึงคีย์จากผู้โจมตีเท่านั้น</translation>
 <translation id="7933141401888114454">เปิดใช้งานการสร้างผู้ใช้ภายใต้การควบคุมดูแล</translation>
 <translation id="793473937901685727">ตั้งค่าความพร้อมใช้งานของใบรับรองสำหรับแอป ARC</translation>
+<translation id="7936302526928951356">สตริง User-Agent จะไม่หยุดเวอร์ชันหลัก</translation>
 <translation id="7937766917976512374">อนุญาตหรือปฏิเสธการจับวิดีโอ</translation>
 <translation id="7941975817681987555">อย่าคาดการณ์การทำงานของเครือข่ายจากการเชื่อมต่อเครือข่ายใดๆ</translation>
 <translation id="7946350455013548764">การตั้งค่านโยบายเป็น 3 จะให้เว็บไซต์ขอสิทธิ์เข้าถึงอุปกรณ์ HID ได้ การตั้งค่านโยบายเป็น 2 จะปฏิเสธการเข้าถึงอุปกรณ์ HID
@@ -6090,6 +6108,7 @@
 <translation id="8133152694354699657">การตั้งค่านโยบายเป็น "จริง" หรือไม่ได้ตั้งค่าจะทำให้ฟีเจอร์แตะเพื่อค้นหาพร้อมใช้งานสำหรับผู้ใช้ โดยผู้ใช้เลือกได้ว่าจะเปิดหรือปิดฟีเจอร์นี้
 
       การตั้งค่านโยบายเป็น "เท็จ" จะปิดฟีเจอร์แตะเพื่อค้นหา</translation>
+<translation id="8136345780578030573">เปิดใช้ชุดบุคคลที่หนึ่ง</translation>
 <translation id="8136906469922284163">การตั้งค่านโยบายเป็น "จริง" อนุญาตให้หน้าเว็บแสดงป๊อปอัปในขณะที่มีการยกเลิกการโหลด
 
       การตั้งค่านโยบายเป็น "เท็จ" หรือไม่ได้ตั้งค่าจะป้องกันไม่ให้หน้าเว็บแสดงป๊อปอัปในขณะที่มีการยกเลิกการโหลด
@@ -6501,9 +6520,6 @@
 <translation id="8525526490824335042">คอนเทนเนอร์ Linux</translation>
 <translation id="8528951285051082869">ไม่อนุญาตให้เว็บแอปเข้าถึงไฟล์ประเภทต่างๆ ผ่าน File Handling API</translation>
 <translation id="8533145294731270627">บล็อกการดาวน์โหลดและประเภทไฟล์ที่เป็นอันตราย</translation>
-<translation id="8537051350735478658">การตั้งค่านโยบายเป็น "จริง" จะเปิดการแนะนำการค้นหาในแถบที่อยู่ของ <ph name="PRODUCT_NAME" /> การตั้งค่านโยบายเป็น "เท็จ" จะปิดการแนะนำการค้นหา
-
-      หากคุณตั้งค่านโยบายนี้ ผู้ใช้จะเปลี่ยนไม่ได้ หากไม่ได้ตั้งค่า การแนะนำการค้นหาจะเปิดอยู่ในตอนแรก แต่ผู้ใช้จะปิดได้ทุกเมื่อ</translation>
 <translation id="8543103455510904459">ให้คุณกำหนดรายการรูปแบบ URL ของเว็บไซต์ซึ่งระบุเว็บไซต์ที่ไม่ได้รับอนุญาตให้เรียกใช้ JavaScript ที่เปิดใช้คอมไพเลอร์ JIT (Just In Time)
 
           การปิดใช้ JIT ใน JavaScript อาจทำให้ <ph name="PRODUCT_NAME" /> แสดงเนื้อหาเว็บช้าลงและปิดใช้ส่วนต่างๆ ของ JavaScript รวมถึง WebAssembly การปิดใช้ JIT ใน JavaScript อาจช่วยให้ <ph name="PRODUCT_NAME" /> แสดงเนื้อหาเว็บในการกำหนดค่าที่ปลอดภัยขึ้น
@@ -6754,6 +6770,7 @@
       แต่ละรายการของนโยบายเป็นสตริงที่มีรหัสส่วนขยาย และอาจมี URL "อัปเดต" ที่คั่นด้วยอัฒภาค (;) รหัสส่วนขยายคือสตริงตัวอักษร 32 ตัว เช่น ที่พบใน chrome://extensions เมื่ออยู่ในโหมดนักพัฒนาซอฟต์แวร์ URL "อัปเดต" (หากระบุไว้) ควรชี้ไปยังเอกสาร XML ไฟล์ Manifest ของการอัปเดต (https://developer.chrome.com/extensions/autoupdate) ระบบจะใช้ URL อัปเดตของ Chrome เว็บสโตร์โดยค่าเริ่มต้น URL "อัปเดต" ที่กำหนดไว้ในนโยบายนี้จะใช้สำหรับการติดตั้งครั้งแรกเท่านั้น ส่วนการอัปเดตส่วนขยายในครั้งต่อๆ ไปจะใช้ URL อัปเดตในไฟล์ Manifest ของส่วนขยาย
 
        หมายเหตุ: นโยบายนี้ไม่มีผลกับโหมดไม่ระบุตัวตน อ่านเกี่ยวกับการโฮสต์ส่วนขยาย (https://developer.chrome.com/extensions/hosting)</translation>
+<translation id="8827275450034266143">สตริง User-Agent จะหยุดเวอร์ชันหลักไว้ที่ 99 และรวมเวอร์ชันหลักของเบราว์เซอร์ไว้ในตำแหน่งรอง</translation>
 <translation id="8827366480126575426">โปรโตคอลสำหรับเครื่องจัดการโปรโตคอล</translation>
 <translation id="8827417642396462482">อนุญาตประเภทคำขอ DNS เพิ่มเติม</translation>
 <translation id="8831911834413504983">การตั้งค่านโยบายจะให้คุณสร้างรายการรูปแบบ URL ซึ่งระบุเว็บไซต์ที่เรียกใช้ JavaScript ได้
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index b25beb6..5e24daa 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -208,6 +208,9 @@
       Bu politika kiosk kullanıcıları için geçerli değildir.
 
       Uyarı: Wipe ve MinimalMigrate yerel verileri kaldırır.</translation>
+<translation id="1250597158212586309">Politika, etkin değerine ayarlanır veya ayarlanmadan bırakılırsa kullanıcıya güvenliği ihlal edilmiş şifre uyarılarını kapatma/geri yükleme seçeneği sunulur.
+
+      Bu ayarı devre dışı bırakırsanız kullanıcılar güvenliği ihlal edilmiş şifre uyarılarını kapatamaz. Ayar etkinleştirilirse kullanıcılar güvenliği ihlal edilmiş şifre uyarılarını kapatabilir.</translation>
 <translation id="1252536192437793850">Sitelerin, seri bağlantı noktasına erişmek için kullanıcıdan izin istemesine izin ver</translation>
 <translation id="1255159327956066463">Hayalet pencere özelliğini etkinleştir</translation>
 <translation id="125655429495551011">Politika bir dizeye ayarlanırsa o dize, DHCP isteği sırasında cihazın ana makine adı olarak kullanılır. Dize; <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" />, <ph name="LOCATION_PLACEHOLDER" /> değişkenlerini içerebilir. Ana makine adı olarak kullanılmadan önce cihazda bu değişkenlerin yerine değerler getirilir. RFC 1035, bölüm 3.1 uyarınca, bu işlemin sonucunda ortaya çıkan değişikliğin geçerli bir ana makine adı olması gerekir.
@@ -829,6 +832,30 @@
 
       Bu kurumsal politika varsayılan olarak devre dışıdır.</translation>
 <translation id="1949584741547056205">Bil bakalım</translation>
+<translation id="1951288262199783797">Dosya türü uzantısına dayalı indirme uyarılarından muaf tutulacak dosya türü uzantılarını ve muafiyetin geçerli olacağı alanların listesini içeren bir sözlük oluşturmak için bu politikayı etkinleştirebilirsiniz. Böylece kuruluş yöneticileri, listedeki alanlarla ilişkili dosyalar için dosya türü uzantısına dayalı indirme uyarılarını engelleyebilirler. Örneğin "jnlp" uzantısı "website1.com" ile ilişkilendirilmişse kullanıcılar, "website1.com"dan "jnlp" dosyalarını indirirken uyarı almaz ancak "website2.com"dan "jnlp" dosyalarını indirirken uyarı alır.
+
+      Bu politikada tanımlanan alanlar için belirtilen dosya türü uzantılarına sahip dosyalar da, karma içerik indirme uyarısı ve Güvenli Tarama uyarısı gibi dosya türü uzantısına dayalı olmayan güvenlik uyarılarına tabidir.
+
+      Bu politikayı devre dışı bırakır veya yapılandırmazsanız uzantıya dayalı indirme uyarılarını tetikleyen dosya türleri kullanıcıya uyarı verir.
+
+      Bu politikayı etkinleştirirseniz:
+
+      * URL kalıpları https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns adresindeki kurallara uygun olarak biçimlendirilmelidir.
+      * Dosya uzantıları küçük harflerle ASCII olarak girilmelidir. Dosya türü uzantısı listelenirken ayırıcı eklenmemelidir, yani ".jnlp" yerine "jnlp" şeklinde yazmanız gerekir.
+
+      Örnek:
+
+      Aşağıdaki örnek değer *.example.com alanlarında swf, exe ve jnlp uzantıları için dosya türü uzantısına dayalı indirme uyarılarını önler. Diğer tüm alanlarda kullanıcıya exe ve jnlp dosyaları için dosya türü uzantısına dayalı indirme uyarısı gösterir ancak swf dosyaları için göstermez.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Bu örnekte "swf" dosyaları için dosya türü uzantısına dayalı indirme uyarılarının tüm alanlarda engellendiğini görebilirsiniz. Güvenlik riski nedeniyle, tehlikeli dosya türü uzantıları için bu gibi uyarıların tüm alanlarda engellenmesi önerilmez. Bu örnek yalnızca böyle bir yapılandırmanın mümkün olduğunu göstermek amacıyla verilmiştir.
+
+      Bu politika <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> ile birlikte etkinleştirildiğinde, DownloadRestrictions politikası tehlikeli dosya türlerini engelleyecek şekilde ayarlanmışsa öncelik DownloadRestrictions tarafından uygulanan indirme engelleme işlemlerine verilir. Örneğin, DownloadRestrictions kötü amaçlı indirmeleri ve tehlikeli dosya türlerini engelleyecek şekilde ayarlanmışsa, bu politika "website1.com"dan "exe" uzantılı indirmelere izin verecek şekilde ayarlanmış olsa bile "exe" uzantılı indirmeler tüm alanlarda engellenir. DownloadRestrictions tehlikeli dosya türlerini engelleyecek şekilde ayarlanmamışsa bu politikada belirtilen dosya türleri, belirtilen alanlarda dosya türü uzantısına dayalı indirme uyarılarına tabi olmaz. DownloadRestrictions hakkında daha fazla bilgi edinin (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350"><ph name="GOOGLE_LENS_PRODUCT_NAME" /> bölge aramayı etkinleştirin.</translation>
 <translation id="1961091374249454164">Bu politika, yalnızca yönetilen misafir oturumları için geçerlidir.
       Politika ayarlanırsa kısıtlanmış yönetilen misafir oturumunu temizleme prosedüründen muaf tutulan uzantı kimliklerinin bir listesi belirtilir (bkz. <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -883,6 +910,7 @@
       <ph name="CLOUD_PRINT_NAME" /> bağlantılı yazıcılar <ph name="PRINTER_TYPE_CLOUD" /> yazıcı sayılır, geri kalan yazıcılar <ph name="PRINTER_TYPE_LOCAL" /> olarak sınıflandırılır.
 
       Not: Bir alanın atlanması, tüm değerlerin eşleştiği anlamına gelir. Örneğin, bağlantının belirtilmemesi, Baskı Önizleme'nin <ph name="PRINTER_TYPE_LOCAL" /> ve <ph name="PRINTER_TYPE_CLOUD" /> üzerindeki her tür yazıcının bulunması için işlem başlatmasına neden olur. Normal ifade kalıpları JavaScript RegExp söz dizimine uygun olmalıdır. Eşleşmeler büyük/küçük harfe duyarlıdır.</translation>
+<translation id="2004382785802837840">Güvenliği ihlal edilmiş şifre uyarılarını kapatmayı devre dışı bırak</translation>
 <translation id="2005506794355327448">Kapak kapalıyken yapılacak işlem</translation>
 <translation id="2006530844219044261">Güç yönetimi</translation>
 <translation id="2008514891623783266">WebRTC'nin IP işleme politikası</translation>
@@ -1305,6 +1333,7 @@
 <translation id="2435232509335686514"><ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /> tarafından indirilen dosyaların işlenmesi için yapılandırma politikası</translation>
 <translation id="2436302465999055995"><ph name="LACROS_NAME" /> tarayıcısını kullanılabilen tek tarayıcı yap (henüz kullanıma geçmedi)</translation>
 <translation id="2439187682308339104">Hiçbir sitenin WebHID API üzerinden HID cihazlara erişim istemesine izin verme</translation>
+<translation id="2439733504887695659">Girilen kimlik bilgisi için güvenliği ihlal edilmiş şifre uyarılarını kapatmayı etkinleştir</translation>
 <translation id="2448315169529769573">Politika Etkin değerine ayarlanırsa <ph name="PRODUCT_OS_NAME" />, kilitlenme raporları da dahil olmak üzere kullanım metriklerini ve teşhis verilerini Google'a bildirir. Politika Devre Dışı değerine ayarlanırsa metrikler ve teşhis verisi raporlama devre dışı bırakılır.
 
        Politika ayarlanmadan bırakılırsa metrikler ve teşhis verisi raporlama, yönetilmeyen cihazlarda devre dışı, yönetilen cihazlarda ise etkin kalır.</translation>
@@ -1741,6 +1770,7 @@
       Politika yanlış değerine ayarlanırsa <ph name="BOREALIS_NAME" /> kullanılamaz. Diğer hallerde (politika ayarlanmadığında veya doğru değerine ayarlandığında) <ph name="BOREALIS_NAME" />, yalnızca başka bir politika ya da ayar tarafından devre dışı bırakılmamışsa kullanılabilir.</translation>
 <translation id="2964373560810620158">Kullanıcıların <ph name="LACROS_NAME" /> tarayıcıyı kullanmalarını engelle</translation>
 <translation id="2968177167006045252">Sitelerin SharedArrayBuffers kullanmasına izin ver</translation>
+<translation id="2969568582351417848">İndirilen dosya türünün uzantısına dayalı uyarıları alanlarda belirlenen dosya türleri için engelle</translation>
 <translation id="2969797921412053304">Bu politika, oturum açma ekranında SAML akışı sırasında cihaz kimliğinin uzaktan onayını kullanması için erişim izni verilecek URL'leri yapılandırır.
 
       Özellikle bir URL bu politika aracılığıyla sağlanan kalıplardan biriyle eşleşirse bu URL'nin bir uzaktan onay sorusunun yanıtını, onay veren cihaz kimliğini ve cihaz durumunu içeren bir HTTP üst bilgisi almasına izin verilir.
@@ -2389,13 +2419,6 @@
       Bu ayarı devre dışı bırakırsanız kullanıcılar Otomatik Doldurma özelliğine erişemezler.
 
       Bu ayarı etkinleştirirseniz veya bir değer ayarlamazsanız, Otomatik Doldurma kullanıcının denetimi altında kalır. Böylece kullanıcılara, Otomatik Doldurma profillerini yapılandırma ve kendi istedikleri şekilde Otomatik Doldurma özelliğini açıp kapama olanağı verilir.</translation>
-<translation id="3731968520685217674">Politikayı ayarlamak, başlangıçta sistem davranışını belirtmenize olanak tanır. <ph name="PRODUCT_NAME" /> ürününün, başlangıç davranışını belirtmesi gerektiğinden bu ayarı kapatmak, politikanın ayarlanmadan bırakılması anlamına gelir.
-
-      Bu politikayı ayarlarsanız kullanıcılar <ph name="PRODUCT_NAME" /> ürününde değiştiremez. Politika ayarlanmazsa kullanıcılar sistem davranışını değiştirebilir.
-
-      Politika, <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> olarak ayarlanırsa oturumlarla ilişkili olan veya çıkışta tarama verilerini ya da salt oturum çerezlerini temizleme gibi çıkışta çeşitli işlemler yapan bazı ayarlar devre dışı kalır.
-
-      <ph name="MS_WIN_NAME" /> işletim sisteminde bu işlev, yalnızca Windows 10 Pro üzerinde çalışan bir <ph name="MS_AD_NAME" /> alan adına katılmış veya <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" /> öğesine kaydolmuş örneklerde kullanılabilir. <ph name="MAC_OS_NAME" /> işletim sisteminde bu işlev yalnızca MDM ile çalışan veya MCX aracılığıyla bir alan adına katılmış örneklerde kullanılabilir.</translation>
 <translation id="3733014427925403568">Haftanın hangi gününde ara verileceği.</translation>
 <translation id="3736879847913515635">Kullanıcı yöneticisinde kişi eklemeyi etkinleştir</translation>
 <translation id="3749259744154402564">Desteklenmiyor</translation>
@@ -2549,6 +2572,7 @@
       Perakende modundaki cihazlar için Demo kullanıcı adına otomatik olarak yüklenmiş uzantıları listeler. Bu uzantılar cihaza kaydedilir ve yüklemeden sonra çevrimdışıyken yüklenebilir.
 
       Her bir liste girişi, 'extension-id' alanında uzantı kimliği ve 'update-url' alanında güncelleme URL'si bulunması gereken bir sözlük içerir.</translation>
+<translation id="3869180930654347954">Etkilenen tüm kullanıcılar için First-Party Sets özelliğini devre dışı bırak</translation>
 <translation id="3870059789954671543">Giriş ekranında, klavye odağını vurgulama erişilebilirlik özelliğini etkinleştirir.
 
           Bu özellik klavye tarafından odaklanmış nesneyi vurgulamaktan sorumludur.
@@ -2743,6 +2767,7 @@
       Politika devre dışı bırakılır veya ayarlanmazsa hizmet, şifrelerini değiştirmeleri için kullanıcıları https://myaccount.google.com adresine gönderir.
 
       <ph name="MS_WIN_NAME" /> işletim sisteminde bu işlev yalnızca Windows 10 Pro üzerinde çalışan bir <ph name="MS_AD_NAME" /> alan adına katılmış veya <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" /> öğesine kaydolmuş örneklerde kullanılabilir. <ph name="MAC_OS_NAME" /> işletim sisteminde bu işlev yalnızca MDM ile çalışan veya MCX aracılığıyla bir alan adına katılmış örneklerde kullanılabilir.</translation>
+<translation id="4115501011761259824">Etkilenen tüm kullanıcılar için First-Party Sets özelliğini etkinleştir</translation>
 <translation id="4121350739760194865">Uygulama tanıtımlarının yeni sekme sayfasında görünmesini önle</translation>
 <translation id="4122473079291425973">İçerik varsa Yeni Sekme Sayfası'nda kartları göster, ancak kullanıcının bu ayarı değiştirmesine olanak tanı</translation>
 <translation id="4122565688998751716">Bu politika kullanımdan kaldırıldı. Bunun yerine lütfen "<ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />" politikasını kullanın.
@@ -2883,6 +2908,14 @@
       Cihaz yönetilmiyorsa veya yalnızca bir kullanıcı varsa bu politika yok sayılır ve bildirim her zaman gösterilir.
 
       Yönetilen cihazda birden fazla kullanıcı hesabı varsa bildirim yalnızca bu politika etkinleştirildiğinde gösterilir.</translation>
+<translation id="4293593564662654474">Bu politika, First-Party Sets özelliğini devre dışı bırakma yöntemi olarak sağlanmıştır.
+
+                  Bu politika ayarlanmadığında veya etkin değerine ayarlandığında First-Party Sets özelliği etkinleştirilir.
+
+                  Bu politika devre dışı değerine ayarlandığında First-Party Sets özelliği devre dışı bırakılır.
+
+                  First-Party Sets özelliğinin durumu, Chrome'un First-Party Sets listesini alıp almayacağını belirler.
+                  Ayrıca Chrome'un, First-Party Sets ile ilgili özellikleri (ör. SameParty çerez özelliği) destekleyip desteklemeyeceğini kontrol eder.</translation>
 <translation id="4311195029067684288">Tam</translation>
 <translation id="4313767483634435271">Cihazın atanmış yuva MAC adresi</translation>
 <translation id="4314538398999793073">Kerberos kimlik doğrulaması sırasında CNAME aramasını devre dışı bırak</translation>
@@ -3012,6 +3045,7 @@
 <translation id="449423975179525290"><ph name="PLUGIN_VM_NAME" /> ile ilgili politikaları yapılandırır.</translation>
 <translation id="449784980858429908">Sitelere, tüm seri bağlantı noktalarına bağlanmak için otomatik olarak izin ver.</translation>
 <translation id="450080746522343150">Tüm indirmeleri engelle.</translation>
+<translation id="4508728400492074981">First-Party Sets özelliğiyle ilgili politikaları kontrol eder.</translation>
 <translation id="4510923771103268849">Kullanıcının, Crostini kapsayıcılarına root erişimi olmasına izin verilir</translation>
 <translation id="4512407512989846472">Belirli URL'lerden panoya kopyalama işleminin engellenmesine izin verir</translation>
 <translation id="4513691822411041977">Google Arama'da Güvenli Arama ve YouTube Kısıtlı Modu kullanımını zorlama</translation>
@@ -3127,6 +3161,16 @@
 <translation id="4617338332148204752"><ph name="PRODUCT_FRAME_NAME" /> cihazında meta etiket kontrolünü atla</translation>
 <translation id="4624417808625504735">Bu sitelerde JavaScript'in JIT kullanmasını engelle</translation>
 <translation id="4625915093043961294">Uzantı yükleme beyaz listesini yapılandır</translation>
+<translation id="4631165564645497047">Bu ayar etkinleştirildiğinde <ph name="PRODUCT_NAME" /> sunucu sertifikalarının doğrulamasını yerleşik sertifika doğrulayıcıyı kullanarak yerine getirir.
+      Bu ayar devre dışı bırakıldığında <ph name="PRODUCT_NAME" /> sunucu sertifikalarının doğrulamasını platform tarafından sağlanan eski sertifika doğrulayıcıyı kullanarak yerine getirir.
+      Bu ayar belirtilmezse yerleşik veya eski sertifika doğrulayıcı kullanılabilir.
+
+      <ph name="PRODUCT_OS_NAME" /> için eski sertifika doğrulayıcı desteğinin kaldırılması planlandığından bu politikanın da <ph name="PRODUCT_OS_NAME" /> sürüm 81'de kaldırılması planlanmıştır.
+
+      Linux'ta eski sertifika doğrulayıcı desteğinin kaldırılması planlandığından bu politikanın da Linux sürüm 83 için <ph name="PRODUCT_NAME" /> ürününde kaldırılması planlanmıştır.
+
+      Mac OS X sürümünde eski sertifika doğrulayıcı desteğinin kaldırılması planlandığından bu politikanın da Mac OS X sürüm 104 için <ph name="PRODUCT_NAME" /> ürününde kaldırılması planlanmıştır.
+      </translation>
 <translation id="4632343302005518762"><ph name="PRODUCT_FRAME_NAME" /> için listelenen içerik türlerini işlemeye izin ver</translation>
 <translation id="4632566332417930481">Kurumsal politika tarafından yüklenen uzantılarda Geliştirici Araçları kullanımına izin verme, diğer bağlamlarda Geliştirici Araçları kullanımına izin ver</translation>
 <translation id="4635284822166984665">Cihazın şarj olmaya başlayacağı zaman (cihazın yerel saat dilimine göre).</translation>
@@ -3165,6 +3209,7 @@
 
           Örnek kalıplar için https://www.chromium.org/developers/how-tos/chrome-frame-getting-started adresine bakın.</translation>
 <translation id="467449052039111439">URL listesi aç</translation>
+<translation id="4674542060943819878">Güvenliği ihlal edilmiş şifre uyarılarını kapatmayı etkinleştir</translation>
 <translation id="4674871290487541952">Uzantı güncelleme ve yükleme işlemleriyle ilgili bütünlük kontrollerinde güvenli olmayan algoritmalara izin verme</translation>
 <translation id="4680961954980851756">Otomatik Doldurmayı etkinleştir</translation>
 <translation id="4685721728282448265">CECPQ2 kuantum sonrası anahtar anlaşması, TLS için etkinleştirildi</translation>
@@ -3440,6 +3485,7 @@
 <translation id="5075190314377370852">Politikayı True (Doğru) değerine ayarlamak, <ph name="PRODUCT_NAME" /> ürününün yerel olarak yüklü CA sertifikaları tarafından imzalanmış başarıyla doğrulanmış sunucu sertifikaları için her zaman iptal kontrolü yapacağı anlamına gelir. <ph name="PRODUCT_NAME" />, iptal durumu bilgilerini alamazsa <ph name="PRODUCT_NAME" />, bu sertifikaları iptal edildi ("kesin hata") olarak değerlendirir.
 
       Uygulamayı False (Yanlış) değerine ayarlamak veya ayarlamadan bırakmak, <ph name="PRODUCT_NAME" /> ürününün mevcut online iptal kontrolü ayarlarını kullanacağı anlamına gelir.</translation>
+<translation id="5076953589932162038">First-Party Sets Ayarları</translation>
 <translation id="5078623750797048009">PDF Ek Açıklamalarını etkinleştir</translation>
 <translation id="5081204761483900654">Kısıtlanmış yönetilen misafir oturumları</translation>
 <translation id="5082296146261894974">Kullanıcıların Eche uygulamasını başlatmak için Telefon Merkezi bildirimini tıklamasına izin verir.</translation>
@@ -4475,6 +4521,28 @@
 <translation id="631183702829488873">Etkinleştirildiğinde bu özellik, giriş ve kilit ekranında şifrenin görüntülenmesini sağlayan bir düğme gösterir.
           Bu düğme, şifre metin alanında göz simgesi olarak gösterilir. Özellik devre dışı bırakıldığında bu düğme gösterilmez.
       </translation>
+<translation id="6313108604615108577">Bu politika, User-Agent dizesi ana sürümünün 99'da
+      dondurulup dondurulmayacağını kontrol eder.
+
+      User-Agent istek başlığı sayesinde web siteleri, istekte bulunan kullanıcı
+      aracısının uygulamasını, işletim sistemini, tedarikçisini ve/veya sürümünü tanımlayabilir.
+      Bazı web siteleri, bu başlığın nasıl biçimlendirildiğiyle ilgili varsayımlarda bulunur
+      ve ana konumda (ör. 100.0.0.0) üç basamak içeren sürüm dizeleriyle
+      ilgili sorunlarla karşılaşabilir.
+
+      Bu politika "Varsayılan" değerine ayarlanır veya ayarlanmadan bırakılırsa
+      User-Agent dizesi ana sürümü için varsayılan olarak tarayıcı ayarları kullanılır.
+      Politika "ForceDisabled" değerine ayarlanırsa User-Agent dizesi, ana
+      sürümü dondurmaz.
+      Politika "ForceEnabled" değerine ayarlanırsa User-Agent dizesi, ana sürümü
+      her zaman 99 olarak raporlar ve tarayıcının ana sürümünü ikincil konuma
+      dahil eder. Örneğin, 101.0.0.0 tarayıcı sürümü, 99.101.0.0 sürümünü raporlayan
+      bir User-Agent istek başlığı gönderir.
+
+      Bu politika geçici olup gelecekte kullanımdan kaldırılacaktır. Bu politika
+      ve <ph name="USER_AGENT_REDUCTION_POLICY_NAME" />
+      politikası birlikte etkinleştirildiğinde User-Agent
+      sürüm dizesinin her zaman 99.0.0.0 olacağını unutmayın.</translation>
 <translation id="6313170479290171718">Bu politika kullanımdan kaldırıldı. Bunun yerine lütfen <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> politikasını kullanın.
 
       Politikayı Doğru değerine ayarlamak, oturum açma ekranında dokunmatik klavyeyi açık tutar. Politikayı Yanlış değerine ayarlamak, oturum açma ekranında dokunmatik klavyeyi kapalı tutar.
@@ -4916,6 +4984,7 @@
       chrome://flags ve tarayıcı özelliklerini açıp kapatmak için kullanılan herhangi başka bir yöntem, bu politikanın Etkin ya da Devre Dışı olmasından bağımsız olarak, beklendiği şekilde davranacaktır.</translation>
 <translation id="6794083666143216172">Kaynakların cihaz özelliklerini sorgulamasına izin ver</translation>
 <translation id="6795485990775913659">Yalnızca PIN olmadan yazdırmaya izin ver</translation>
+<translation id="6796215185873669533">User-Agent dizesi sürümü için varsayılan olarak tarayıcı ayarlarını kullan.</translation>
 <translation id="6800181452282128474">Quirks Sunucularını sorgulama</translation>
 <translation id="68031099365512050">Ses durumunu bildir</translation>
 <translation id="6810445994095397827">Bu sitelerde JavaScript'i engelle</translation>
@@ -5237,6 +5306,7 @@
 <translation id="7070525176564511548">Her hafta (168 saatte bir) şifre girilmesi gerekiyor</translation>
 <translation id="7072208053150563108">Makine şifresi değişim hızı</translation>
 <translation id="7072567600438630966">Telefon Merkezi'nin etkinleştirilmesine izin ver.</translation>
+<translation id="7074437930865599190">User-Agent dizesi ana sürümünü 99'da dondur</translation>
 <translation id="7079519252486108041">Bu sitelerde pop-up'ları engelle</translation>
 <translation id="707988220162760379">PDF dosyalarını her zaman harici bir PDF görüntüleyici kullanarak aç</translation>
 <translation id="7081784525008938771">Politika, Etkin değerine ayarlanır veya ayarlanmadan bırakılırsa video oynatılırken kullanıcı boşta olarak algılanmaz. Böylece hiçbir zaman boşta kalma gecikmesi, ekran karartma gecikmesi, ekran kapatma gecikmesi ve ekran kilitleme gecikmesi süreleri dolmaz ve ilgili işlemler uygulanmaz.
@@ -5946,6 +6016,7 @@
       Varsayılan olarak bir uzantı ya da Android uygulaması, şirket kullanımı için atanmış bir anahtarı kullanamaz. Bu, söz konusu uzantı ya da Android uygulaması için allowCorporateKeyUsage politikasını Yanlış değerine ayarlamayla eş değerdir. Yalnızca, bir uzantı ya da Android uygulaması için allowCorporateKeyUsage politikası Doğru değerine ayarlandığında, söz konusu uzantı ya da Android uygulaması rastgele verileri imzalamak amacıyla, şirket kullanımı için işaretlenen platform anahtarlarını kullanabilir. Saldırganlara karşı anahtar erişimi güvenliği sağlamak için bu izin yalnızca uzantıya ya da Android uygulamasına güveniliyorsa verilmelidir.</translation>
 <translation id="7933141401888114454">Denetlenen kullanıcılar oluşturmayı etkinleştir</translation>
 <translation id="793473937901685727">ARC uygulamaları için sertifika kullanılabilirliğini ayarla</translation>
+<translation id="7936302526928951356">User-Agent dizesi, ana sürümü dondurmaz.</translation>
 <translation id="7937766917976512374">Video yakalamaya izin verme veya reddetme</translation>
 <translation id="7941975817681987555">Ağ bağlantılarında ağ işlemlerini tahmin etme</translation>
 <translation id="7946350455013548764">Politikayı 3 değerine ayarlarsanız web siteleri HID cihazlara erişim izni isteyebilir. Politikayı 2 değerine ayarlarsanız HID cihazlara erişime izin verilmez.
@@ -6094,6 +6165,7 @@
 <translation id="8133152694354699657">Politikayı Doğru (True) değerine ayarlar veya ayarlamadan bırakırsanız kullanıcı Dokun ve Ara özelliğini kullanabilir ve özelliği açıp kapatabilir.
 
       Politikayı Yanlış (False) değerine ayarlarsanız Dokun ve Ara özelliği tümüyle kapanır.</translation>
+<translation id="8136345780578030573">First-Party Sets özelliğini etkinleştir.</translation>
 <translation id="8136906469922284163">Politika Doğru değerine ayarlandığında sayfalar kaldırılırken pop-up'lar gösterebilir.
 
       Politika Yanlış değerine ayarlandığında ya da ayarlanmadan bırakıldığında sayfaların kaldırılırken pop-up göstermesi engellenir.
@@ -6498,9 +6570,6 @@
 <translation id="8525526490824335042">Linux kapsayıcı</translation>
 <translation id="8528951285051082869">Hiçbir web uygulamasının File System API üzerinden dosya türlerine erişmesine izin verme</translation>
 <translation id="8533145294731270627">Kötü amaçlı indirmeleri ve tehlikeli dosya türlerini engelle.</translation>
-<translation id="8537051350735478658">Politikayı True (Doğru) değerine ayarlamak, <ph name="PRODUCT_NAME" /> ürününün adres çubuğunda arama önerilerini açar. Politikayı False (Yanlış) değerine ayarlamak, arama önerilerini kapatır.
-
-      Bu politikayı ayarlarsanız kullanıcılar değiştiremez. Ayarlanmazsa arama önerileri ilk başta açıktır, ancak kullanıcılar istedikleri zaman kapatabilir.</translation>
 <translation id="8543103455510904459">JIT (Just In Time) derleyicisi etkinken JavaScript çalıştırmasına izin verilmeyen sitelerin belirtildiği bir site URL kalıpları listesini ayarlamanıza olanak tanır.
 
           JavaScript JIT'in devre dışı bırakılması, <ph name="PRODUCT_NAME" /> tarayıcının, web içeriğini daha yavaş oluşturabileceği, ayrıca JavaScript'in WebAssembly gibi bazı bölümlerini devre dışı bırakabileceği anlamına gelir. JavaScript JIT'in devre dışı bırakılması, <ph name="PRODUCT_NAME" /> tarayıcının, web içeriğini daha güvenli bir konfigürasyonda oluşturmasına imkan sağlayabilir.
@@ -6752,6 +6821,7 @@
       Politikaya ait her liste öğesi, noktalı virgülle (;) ayrılmış bir uzantı kimliği ve isteğe bağlı bir "güncelleme" URL'si içeren bir dizedir. Uzantı kimliği, örneğin Geliştirici modundayken chrome://extensions adresinde bulunabilen 32 harfli bir dizedir. Belirtilmişse "güncelleme" URL'si bir Güncelleme Manifest XML dokümanına işaret etmelidir. (https://developer.chrome.com/extensions/autoupdate). Varsayılan olarak Chrome Web Mağazası'nın güncelleme URL'si kullanılır. Bu politikada ayarlanan "güncelleme" URL'si yalnızca ilk yükleme için kullanılır. Uzantının sonraki güncellemelerinde ise uzantının manifest dosyasındaki güncelleme URL'si kullanılır.
 
        Not: Bu politika gizli mod için geçerli değildir. Uzantıların barındırılması (https://developer.chrome.com/extensions/hosting) ile ilgili bilgi edinin.</translation>
+<translation id="8827275450034266143">User-Agent dizesi, ana sürümü 99 olarak dondurur ve tarayıcının ana sürümünü ikincil konuma dahil eder.</translation>
 <translation id="8827366480126575426">Protokol işleyicinin protokolü.</translation>
 <translation id="8827417642396462482">İlave DNS sorgu türlerine izin ver</translation>
 <translation id="8831911834413504983">Politikayı ayarlamak, JavaScript çalıştırabilen siteleri belirten URL kalıpları için bir liste yapmanıza olanak tanır.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 1f5b86e..a4818ec 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -208,6 +208,9 @@
       Це правило не стосується користувачів термінала.
 
       Попередження: якщо вибрати значення Wipe або MinimalMigrate, локальні дані буде видалено.</translation>
+<translation id="1250597158212586309">Якщо ввімкнути або не налаштувати це правило, користувачі зможуть закривати або відновлювати сповіщення про зламані паролі.
+
+      Якщо це налаштування вимкнути, користувачі не зможуть закривати сповіщення про зламані паролі. Якщо його ввімкнути, користувачі зможуть закривати такі сповіщення.</translation>
 <translation id="1252536192437793850">Дозволити сайтам запитувати в користувача доступ до послідовного порту</translation>
 <translation id="1255159327956066463">Увімкнути функцію вікна-привида</translation>
 <translation id="125655429495551011">Якщо для цього правила вибрано сегмент, цей сегмент використовуватиметься як ім'я хосту пристрою в запитах DHCP. Сегмент може містити змінні <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" />, <ph name="LOCATION_PLACEHOLDER" />, замість яких потрібно підставити значення на пристрої, перш ніж використовувати ці дані як ім'я хосту. Після підстановки ви маєте отримати дійсне ім'я хосту (відповідно до RFC 1035, розділ 3.1).
@@ -844,6 +847,30 @@
 
       За умовчанням це корпоративне правило вимкнено.</translation>
 <translation id="1949584741547056205">Швидкі відповіді</translation>
+<translation id="1951288262199783797">Ви можете ввімкнути це правило, щоб створити словник розширень типів файлів із відповідним списком доменів, для яких не показуватимуться попередження про розширення типів файлів. Це дає змогу адміністраторам підприємств блокувати попередження про завантаження розширень типів файлів для файлів, які пов’язані із зазначеним доменом. Наприклад, якщо розширення "jnlp" пов’язане з веб-сайтом "website1.com", користувачі не бачитимуть попередження під час завантаження файлів "jnlp" з "website1.com", але бачитимуть попередження про завантаження файлів "jnlp" із веб-сайту "website2.com".
+
+      На файли з розширеннями типів файлів, указані для доменів, визначених цим правилом, і надалі поширюватимуться попередження про безпеку на основі розширень типів нефайлів, як-от попередження про завантаження змішаного контенту та застереження Безпечного пошуку.
+
+      Якщо вимкнути це правило чи не налаштувати його, типи файлів, які активують попередження про завантаження на основі розширень, користувачам показуватимуться попередження.
+
+      Якщо ввімкнути це правило:
+
+      * Шаблон URL-адреси потрібно відформатувати відповідно до вказівок на сторінці https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * Введене розширення типу файлів має бути вказано малими літерами ASCII. Назви розширень типів файлів потрібно вказувати без роздільника, наприклад "jnlp" замість ".jnlp".
+
+      Приклад.
+
+      Значення в прикладі не дозволятиме показувати попередження на основі розширення типу файлу для розширень swf, exe та jnlp в доменах *.example.com. Користувачі бачитимуть попередження про завантаження на основі розширення типу файлу в будь-якому іншому домені для файлів exe і jnlp, але не swf.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Зауважте, що хоча в попередньому прикладі показано блокування попередження про завантаження на основі розширень типів файлів для файлів "swf" у всіх доменах, з міркувань безпеки ми не радимо застосовувати блокування таких попереджень для небезпечних розширень типів файлів у всіх доменах. Це показано в прикладі, лише щоб продемонструвати можливість такої дії.
+
+      Якщо це правило ввімкнено разом із правилом <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" />, а DownloadRestrictions налаштовано на блокування небезпечних типів файлів, перевагу має блокування завантажень, визначене в правилі DownloadRestrictions. Наприклад, якщо це правило дозволяє завантаження файлів із розширенням "exe" із сайту "website1.com", а правило DownloadRestrictions налаштовано так, щоб зловмисні завантаження й небезпечні файли, тоді завантаження файлів із розширенням "exe" блокуватиметься в усіх доменах. Якщо правило DownloadRestrictions не налаштовано блокувати небезпечні типи файлів, тоді для типів файлів, указаних у цьому правилі, не відображаються попередження про завантаження на основі розширень типів файлів у вказаних доменах. Докладніше про DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350">Увімкнути пошук за областю зображення в сервісі <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Це правило стосується лише керованих сеансів у режимі "Гість".
       За допомогою налаштувань цього правила можна вказати список ідентифікаторів розширень-винятків у процедурі очищення керованих сеанів у режимі "Гість" (див. <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -898,6 +925,7 @@
       Принтери, підключені до сервісу <ph name="CLOUD_PRINT_NAME" />, визначаються як <ph name="PRINTER_TYPE_CLOUD" />, а всі інші – <ph name="PRINTER_TYPE_LOCAL" />.
 
       Примітка: якщо пропустити значення якогось атрибута, система вважатиме, що підходить будь-яке його значення. Наприклад, якщо не вказати значення для способу підключення, під час попереднього перегляду перед друком виявлятимуться всі типи принтерів: і локальні (<ph name="PRINTER_TYPE_LOCAL" />), і хмарні (<ph name="PRINTER_TYPE_CLOUD" />). Шаблони регулярних виразів мають відповідати синтаксису JavaScript RegExp. Збіги чутливі до регістру.</translation>
+<translation id="2004382785802837840">Вимкнути можливість закривати сповіщення про зламані паролі</translation>
 <translation id="2005506794355327448">Дія, яка має виконуватися, коли кришку закрито</translation>
 <translation id="2006530844219044261">Керування живленням</translation>
 <translation id="2008514891623783266">Правило WebRTC щодо обробки IP-адрес</translation>
@@ -1330,6 +1358,7 @@
 <translation id="2435232509335686514">Правило для налаштування конектора <ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /> щодо обробки завантажених файлів</translation>
 <translation id="2436302465999055995">Зробити <ph name="LACROS_NAME" /> єдиним доступним веб-переглядачем (ще не застосовано)</translation>
 <translation id="2439187682308339104">Заборонити всім сайтам запитувати дозвіл на доступ до пристроїв HID через WebHID API</translation>
+<translation id="2439733504887695659">Увімкнути можливість закривати сповіщення про зламані паролі для введених облікових даних</translation>
 <translation id="2448315169529769573">Якщо це правило ввімкнено, <ph name="PRODUCT_OS_NAME" /> повідомлятиме компанії Google показники використання й дані діагностики, зокрема звіти про аварійне завершення роботи. Якщо це правило вимкнено, показники й дані діагностики не надсилатимуться.
 
        Якщо це правило не налаштовано, показники й дані діагностики некерованих пристроїв не надсилатимуться, а керованих – надсилатимуться</translation>
@@ -1766,6 +1795,7 @@
       Якщо вибрати значення false, правило <ph name="BOREALIS_NAME" /> буде недоступне. Якщо ж не налаштовувати правило або вибрати для нього значення true, правило <ph name="BOREALIS_NAME" /> буде доступне, лише якщо інше правило чи налаштування не вимикатиме його.</translation>
 <translation id="2964373560810620158">Заборонити використовувати веб-переглядач <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Дозволити сайтам використовувати правило SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Вимкнути завантаження попереджень про розширення типів файлів для вибраних типів файлів у доменах</translation>
 <translation id="2969797921412053304">Це правило визначає, які URL-адреси зможуть віддалено засвідчувати облікові дані пристрою під час процедури SAML на екрані входу.
 
       Якщо URL-адреса збігається з одним із шаблонів, указаних у цьому правилі, вона зможе отримувати заголовок HTTP з відповіддю на виклик для віддаленої перевірки, що засвідчить дані та стан пристрою.
@@ -2419,13 +2449,6 @@
       Якщо вимкнути це налаштування, функція автозаповнення буде недоступною для користувачів.
 
       Якщо це налаштування ввімкнути або не налаштувати, функцією автозаповнення керує користувач. Завдяки цьому він зможе налаштовувати профілі автозаповнення та вмикати або вимикати функцію автозаповнення на власний розсуд.</translation>
-<translation id="3731968520685217674">За допомогою цього правила можна вибрати поведінку системи після запуску. Якщо вимкнути це правило, результат буде такий самий, як і якщо його не налаштувати, оскільки для <ph name="PRODUCT_NAME" /> потрібно вказувати поведінку при запуску.
-
-      Якщо це правило налаштовано, користувачі не зможуть змінювати його в <ph name="PRODUCT_NAME" />. Якщо це правило не налаштовано, користувачі можуть змінювати його.
-
-      Якщо для цього правила вибрано значення <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" />, буде вимкнено деякі налаштування, які залежать від сеансів або виконують дії після виходу (як-от очищення даних веб-перегляду після виходу чи файлів cookie лише для сеансу).
-
-      У <ph name="MS_WIN_NAME" /> ця функція доступна лише для машин із Windows 10 Pro, зареєстрованих у домені <ph name="MS_AD_NAME" /> чи сервісі <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. У <ph name="MAC_OS_NAME" /> ця функція доступна лише для машин, які контролюються через Керування мобільними пристроями або зареєстровані в домені через MCX.</translation>
 <translation id="3733014427925403568">День тижня для проміжку.</translation>
 <translation id="3736879847913515635">Додавати користувачів у диспетчері користувачів</translation>
 <translation id="3749259744154402564">Не підтримується</translation>
@@ -3158,6 +3181,16 @@
 <translation id="4617338332148204752">Пропускати перевірку метатегів у <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Заборонити JavaScript використовувати JIT-компілятор на цих сайтах</translation>
 <translation id="4625915093043961294">Налаштувати список дозволених для встановлення розширень</translation>
+<translation id="4631165564645497047">Якщо це налаштування ввімкнено, <ph name="PRODUCT_NAME" /> перевірятиме сертифікати сервера за допомогою вбудованого інструмента перевірки сертифікатів.
+      Якщо це налаштування вимкнено, <ph name="PRODUCT_NAME" /> перевірятиме сертифікати сервера за допомогою застарілого інструмента перевірки сертифікатів, наданого платформою.
+      Якщо цей параметр не налаштовано, може використовуватися вбудований або застарілий інструмент перевірки сертифікатів.
+
+      Коли підтримка застарілого інструмента перевірки сертифікатів у <ph name="PRODUCT_OS_NAME" /> припиниться, це правило буде видалено в <ph name="PRODUCT_OS_NAME" /> версії 81.
+
+      Коли підтримка застарілого інструмента перевірки сертифікатів у Linux припиниться, це правило буде видалено в <ph name="PRODUCT_NAME" /> для Linux версії 83.
+
+      Коли підтримка застарілого інструмента перевірки сертифікатів у Mac OS X версії 104 припиниться, це правило буде видалено в <ph name="PRODUCT_NAME" /> для Mac OС X.
+      </translation>
 <translation id="4632343302005518762">Дозволити <ph name="PRODUCT_FRAME_NAME" /> обробляти перелічені типи вмісту</translation>
 <translation id="4632566332417930481">Забороняє використовувати Інструменти розробника для розширень, установлених згідно з корпоративною політикою, але дозволяє застосовувати їх в інших ситуаціях</translation>
 <translation id="4635284822166984665">Час, коли пристрій почне заряджатися (за встановленим на пристрої місцевим часовим поясом).</translation>
@@ -3196,6 +3229,7 @@
 
           Приклади шаблонів можна переглянути на сторінці https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation>
 <translation id="467449052039111439">Відкривати список URL-адрес</translation>
+<translation id="4674542060943819878">Увімкнути можливість закривати сповіщення про зламані паролі</translation>
 <translation id="4674871290487541952">Дозволити ненадійні алгоритми під час перевірки цілісності для оновлень і встановлень розширень</translation>
 <translation id="4680961954980851756">Увімкнути автозаповнення</translation>
 <translation id="4685721728282448265">Постквантовий алгоритм узгодження ключів CECPQ2 ввімкнено для TLS</translation>
@@ -6546,9 +6580,6 @@
 <translation id="8525526490824335042">Контейнер Linux</translation>
 <translation id="8528951285051082869">Заборонити всім веб-додаткам доступ до певних типів файлів через File Handling API</translation>
 <translation id="8533145294731270627">Блокувати шкідливі завантаження й небезпечні типи файлів.</translation>
-<translation id="8537051350735478658">Якщо для цього правила вибрано значення True, підказки в пошуку в адресному рядку <ph name="PRODUCT_NAME" /> буде ввімкнено. Якщо для нього вибрано значення False, підказки в пошуку буде вимкнено.
-
-      Якщо це правило налаштовано, користувачі не зможуть змінювати його. Якщо це правило не налаштовано, підказки в пошуку буде ввімкнено, але користувачі зможуть будь-коли вимкнути їх.</translation>
 <translation id="8543103455510904459">Дає змогу налаштовувати список шаблонів URL-адрес сайтів, яким заборонено запускати JavaScript з увімкненим JIT-компілятором.
 
           Якщо вимкнути JIT-компілятор JavaScript, <ph name="PRODUCT_NAME" /> може відображати контент повільніше, а деякі частини JavaScript (зокрема WebAssembly) вимикатимуться. Крім того, у такому випадку <ph name="PRODUCT_NAME" /> відображатиме веб-контент у надійнішій конфігурації.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index b143dd0..a1d0deeb 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -208,6 +208,9 @@
       Chính sách này không áp dụng cho người dùng kiosk.
 
       Cảnh báo: Tùy chọn Wipe và MinimalMigrate sẽ xóa dữ liệu trên máy.</translation>
+<translation id="1250597158212586309">Nếu bạn đặt thành Bật hoặc không đặt chính sách này, thì người dùng sẽ có tuỳ chọn đóng/khôi phục cảnh báo mật khẩu bị lộ.
+
+      Nếu bạn tắt chế độ cài đặt này, người dùng sẽ không đóng được cảnh báo mật khẩu bị lộ. Nếu chế độ này được bật, người dùng sẽ đóng được cảnh báo mật khẩu bị lộ.</translation>
 <translation id="1252536192437793850">Cho phép trang web yêu cầu người dùng cấp quyền truy cập vào một cổng nối tiếp</translation>
 <translation id="1255159327956066463">Bật tính năng cửa sổ ảo</translation>
 <translation id="125655429495551011">Nếu bạn đặt chính sách này thành một chuỗi, thì chuỗi đó sẽ được dùng làm tên máy chủ thiết bị trong yêu cầu DHCP. Chuỗi này có thể chứa các biến <ph name="ASSET_ID_PLACEHOLDER" />, <ph name="SERIAL_NUM_PLACEHOLDER" />, <ph name="MAC_ADDR_PLACEHOLDER" />, <ph name="MACHINE_NAME_PLACEHOLDER" />, <ph name="LOCATION_PLACEHOLDER" /> sẽ được thay thế bằng các giá trị trên thiết bị trước khi dùng làm tên máy chủ. Giá trị thay thế thu được sẽ là tên máy chủ hợp lệ (theo RFC 1035, mục 3.1).
@@ -834,6 +837,30 @@
 
       Chính sách doanh nghiệp này bị tắt theo mặc định.</translation>
 <translation id="1949584741547056205">Câu trả lời nhanh</translation>
+<translation id="1951288262199783797">Bạn có thể bật chính sách này để tạo từ điển cho tiện ích loại tệp với một danh sách miền tương ứng sẽ được loại trừ khỏi cảnh báo tải xuống dựa trên tiện ích loại tệp. Việc này cho phép quản trị viên doanh nghiệp chặn cảnh báo tải xuống dựa trên tiện ích loại tệp đối với những tệp có liên kết với một danh sách miền cụ thể. Ví dụ: nếu tiện ích "jnlp" liên kết với "website1.com", thì người dùng sẽ không thấy cảnh báo khi tải tệp "jnlp" xuống qua "website1.com", nhưng sẽ thấy cảnh báo khi tải tệp "jnlp" xuống qua "website2.com".
+
+      Các tệp có tiện ích loại tệp cụ thể cho miền được xác định trong chính sách này sẽ phải áp dụng cảnh báo bảo mật dựa trên tiện ích loại không phải tệp, chẳng hạn như cảnh báo tải nội dung hỗn hợp xuống và cảnh báo Duyệt web an toàn.
+
+      Nếu bạn tắt hoặc không định cấu hình chính sách này, người dùng sẽ thấy cảnh báo cho những loại tệp kích hoạt cảnh báo tải xuống dựa trên tiện ích.
+
+      Nếu bạn bật chính sách này:
+
+      * Mẫu URL sẽ được định dạng theo https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+      * Tiện ích loại tệp phải được nhập ở dạng ASCII chữ thường. Không được thêm dấu phân cách phía trước khi liệt kê tiện ích loại tệp, vậy nên hãy liệt kê dưới dạng "jnlp" thay vì".jnlp".
+
+      Ví dụ:
+
+      Giá trị minh hoạ sau đây sẽ chặn cảnh báo tải xuống dựa trên tiện ích loại tệp đối với các tiện ích swf, exe, và jnlp cho miền *.example.com. Người dùng sẽ thấy một cảnh báo tải xuống dựa trên tiện ích loại tệp trên mọi miền khác đối với tệp exe và jnlp nhưng không thấy cảnh báo đối với tệp swf.
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      Xin lưu ý rằng tuy ví dụ trên cho thấy việc chặn các cảnh báo tải xuống dựa trên tiện ích loại tệp đối với tệp "swf" cho mọi miền, nhưng bạn không nên chặn những cảnh báo như vậy cho mọi miền đối với mọi tiện ích nguy hiểm loại tệp do lo ngại về bảo mật. Ví dụ này chỉ để minh hoạ khả năng làm vậy.
+
+      Nếu chính sách này được bật cùng với <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> và DownloadRestrictions được đặt để chặn loại tệp nguy hiểm, chế độ chặn tải xuống do DownloadRestrictions xác định sẽ được ưu tiên. Ví dụ: nếu chính sách này được đặt thành cho phép tải tiện ích "exe" xuống qua "website1.com" trong khi DownloadRestrictions được đặt thành chặn tệp tải xuống độc hại và loại tệp nguy hiểm, thì việc tải tiện ích "exe" xuống sẽ bị chặn trên mọi miền. Nếu DownloadRestrictions không được đặt để chặn loại tệp nguy hiểm, thì loại tệp chỉ định trong chính sách này sẽ được loại trừ khỏi cảnh báo tải xuống dựa trên tiện ích loại tệp trong các miền đã được chỉ định. Đọc thêm về DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions).</translation>
 <translation id="1960416154405676350">Bật tính năng tìm kiếm khu vực của <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="1961091374249454164">Chính sách này chỉ áp dụng cho các phiên khách được quản lý.
       Nếu bạn đặt chính sách này, thì hệ thống sẽ chỉ định danh sách các mã tiện ích được miễn trừ khỏi quy trình xóa phiên khách được quản lý hạn chế (xem <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />).
@@ -888,6 +915,7 @@
       Máy in đã kết nối với <ph name="CLOUD_PRINT_NAME" /> được coi là <ph name="PRINTER_TYPE_CLOUD" />, các máy in còn lại được phân loại là <ph name="PRINTER_TYPE_LOCAL" />.
 
       Lưu ý: Việc bỏ qua một trường tức là mọi giá trị đều trùng khớp. Ví dụ: nếu bạn không chỉ định khả năng kết nối, chế độ Xem trước bản in sẽ bắt đầu tìm kiếm tất cả loại máy in, <ph name="PRINTER_TYPE_LOCAL" /> và <ph name="PRINTER_TYPE_CLOUD" />. Mẫu biểu thức chính quy phải tuân theo cú pháp JavaScript RegExp và kết quả trùng khớp có phân biệt chữ hoa/chữ thường.</translation>
+<translation id="2004382785802837840">Tắt chế độ đóng cảnh báo mật khẩu bị lộ</translation>
 <translation id="2005506794355327448">Hành động cần thực hiện khi đóng nắp</translation>
 <translation id="2006530844219044261">Quản lý nguồn</translation>
 <translation id="2008514891623783266">Chính sách xử lý IP của WebRTC</translation>
@@ -1319,6 +1347,7 @@
 <translation id="2435232509335686514">Chính sách cấu hình để <ph name="FILE_SYSTEM_ENTERPRISE_CONNECTOR" /> xử lý các tệp đã tải xuống</translation>
 <translation id="2436302465999055995">Đặt <ph name="LACROS_NAME" /> làm trình duyệt duy nhất sử dụng được (chưa triển khai)</translation>
 <translation id="2439187682308339104">Không cho phép trang web nào yêu cầu quyền truy cập vào thiết bị HID thông qua API WebHID</translation>
+<translation id="2439733504887695659">Bật chế độ đóng cảnh báo mật khẩu bị lộ cho thông tin xác thực đã nhập</translation>
 <translation id="2448315169529769573">Nếu bạn đặt chính sách này thành Bật, <ph name="PRODUCT_OS_NAME" /> sẽ báo cáo lại cho Google số liệu sử dụng và dữ liệu chẩn đoán, bao gồm cả báo cáo sự cố. Nếu bạn đặt chính sách này thành Tắt, báo cáo số liệu sử dụng và dữ liệu chẩn đoán sẽ tắt.
 
        Nếu bạn không đặt chính sách này, báo cáo số liệu sử dụng và dữ liệu chẩn đoán sẽ tắt trên các thiết bị không được quản lý và sẽ bật trên các thiết bị được quản lý.</translation>
@@ -1756,6 +1785,7 @@
       Nếu bạn tắt chính sách này, <ph name="BOREALIS_NAME" /> sẽ không sử dụng được. Khi bạn bật hoặc không đặt chính sách này, <ph name="BOREALIS_NAME" /> sẽ chỉ sử dụng được nếu không bị chế độ cài đặt hoặc chính sách khác vô hiệu hóa.</translation>
 <translation id="2964373560810620158">Ngăn người dùng sử dụng trình duyệt <ph name="LACROS_NAME" /></translation>
 <translation id="2968177167006045252">Cho phép các trang web sử dụng SharedArrayBuffers</translation>
+<translation id="2969568582351417848">Tắt cảnh báo dựa trên tiện ích loại tệp tải xuống cho một số loại tệp cụ thể trên miền</translation>
 <translation id="2969797921412053304">Chính sách này định cấu hình URL sẽ được cấp quyền sử dụng tính năng chứng thực từ xa danh tính thiết bị trong quy trình SAML trên màn hình đăng nhập.
 
       Cụ thể là nếu một URL khớp với một trong các mẫu được cung cấp thông qua chính sách này, thì URL đó sẽ được phép nhận tiêu đề HTTP chứa phản hồi của yêu cầu chứng thực từ xa, chứng thực danh tính thiết bị và trạng thái thiết bị.
@@ -2409,13 +2439,6 @@
       Nếu bạn tắt lựa chọn cài đặt này, thì người dùng sẽ không dùng được tính năng Tự động điền.
 
       Nếu bạn bật hoặc không đặt giá trị cho lựa chọn cài đặt này, thì người dùng vẫn có quyền kiểm soát tính năng Tự động điền. Điều này sẽ cho phép họ thiết lập hồ sơ Tự động điền và bật hoặc tắt tính năng này theo ý muốn.</translation>
-<translation id="3731968520685217674">Nếu đặt chính sách này, bạn có thể chỉ định hoạt động của hệ thống khi khởi động. Việc tắt tùy chọn cài đặt này tương tự như việc không đặt chính sách vì <ph name="PRODUCT_NAME" /> chắc chắn đã chỉ định hoạt động khi khởi động.
-
-      Nếu bạn đặt chính sách này, người dùng sẽ không thay đổi được trong <ph name="PRODUCT_NAME" />. Nếu bạn không đặt chính sách này, người dùng có thể thay đổi tùy chọn.
-
-      Việc đặt chính sách này thành <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" /> sẽ tắt một số tùy chọn cài đặt dựa vào phiên duyệt web hoặc thực hiện các thao tác khi thoát, chẳng hạn như xóa dữ liệu duyệt web khi thoát hoặc xóa cookie chỉ trong phiên duyệt web.
-
-      Trên <ph name="MS_WIN_NAME" />, chức năng này chỉ có ở những phiên bản liên kết với một miền <ph name="MS_AD_NAME" />, chạy trên Windows 10 Pro hoặc đã đăng ký <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />. Trên <ph name="MAC_OS_NAME" />, chức năng này chỉ có ở những phiên bản được quản lý qua MDM hoặc liên kết với một miền qua MCX.</translation>
 <translation id="3733014427925403568">Ngày trong tuần cho khoảng thời gian.</translation>
 <translation id="3736879847913515635">Cho phép thêm người trong trình quản lý người dùng</translation>
 <translation id="3749259744154402564">Không được hỗ trợ</translation>
@@ -3148,6 +3171,16 @@
 <translation id="4617338332148204752">Bỏ qua kiểm tra thẻ meta trong <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4624417808625504735">Chặn JavaScript sử dụng JIT trên những trang web này</translation>
 <translation id="4625915093043961294">Định cấu hình danh sách trắng cài đặt tiện ích</translation>
+<translation id="4631165564645497047">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 để 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ẽ sử dụng trình xác minh chứng chỉ cũ do nền tảng cung cấp để xác minh chứng chỉ máy chủ.
+      Nếu bạn không đặt chế độ cài đặt này, thì trình xác minh chứng chỉ cũ hoặc tích hợp sẵn có thể được sử dụng.
+
+      Chúng tôi dự định loại bỏ chính sách này trong <ph name="PRODUCT_OS_NAME" /> phiên bản 81, khi ngừng hỗ trợ trình xác minh chứng chỉ cũ trong <ph name="PRODUCT_OS_NAME" /> theo kế hoạch.
+
+      Chúng tôi dự định loại bỏ chính sách này trong <ph name="PRODUCT_NAME" /> dành cho Linux phiên bản 83, khi ngừng hỗ trợ trình xác minh chứng chỉ cũ trên Linux theo kế hoạch.
+
+      Chúng tôi dự định loại bỏ chính sách này trong <ph name="PRODUCT_NAME" /> dành cho Mac OS X phiên bản 104, khi ngừng hỗ trợ trình xác minh chứng chỉ cũ trên Mac OS X theo kế hoạch.
+      </translation>
 <translation id="4632343302005518762">Cho phép <ph name="PRODUCT_FRAME_NAME" /> xử lý các loại nội dung được liệt kê</translation>
 <translation id="4632566332417930481">Không cho phép sử dụng Công cụ dành cho nhà phát triển trên các tiện ích được cài đặt theo chính sách doanh nghiệp, nhưng lại cho phép sử dụng Công cụ dành cho nhà phát triển trong các ngữ cảnh khác</translation>
 <translation id="4635284822166984665">Thời điểm thiết bị sẽ bắt đầu sạc, được diễn giải theo múi giờ địa phương trên thiết bị.</translation>
@@ -3186,6 +3219,7 @@
 
           Để biết các mẫu ví dụ, hãy xem http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation>
 <translation id="467449052039111439">Mở một danh sách URL</translation>
+<translation id="4674542060943819878">Bật chế độ đóng cảnh báo mật khẩu bị lộ</translation>
 <translation id="4674871290487541952">Cho phép thuật toán không an toàn trong quá trình kiểm tra tính toàn vẹn đối với các bản cập nhật và cài đặt tiện ích</translation>
 <translation id="4680961954980851756">Bật Tự động điền</translation>
 <translation id="4685721728282448265">Đã cho phép dùng thuật toán CECPQ2 của thỏa thuận về khóa hậu lượng tử cho TLS</translation>
@@ -6549,9 +6583,6 @@
 <translation id="8525526490824335042">Vùng chứa Linux</translation>
 <translation id="8528951285051082869">Không cho phép ứng dụng web nào truy cập vào các loại tệp thông qua API Xử lý tệp</translation>
 <translation id="8533145294731270627">Chặn tải các tệp độc hại xuống và chặn các loại tệp nguy hiểm.</translation>
-<translation id="8537051350735478658">Nếu bạn đặt chính sách này thành True, thì các đề xuất tìm kiếm sẽ bật trong thanh địa chỉ của <ph name="PRODUCT_NAME" />. Nếu bạn đặt chính sách này thành False, thì các đề xuất tìm kiếm này sẽ tắt.
-
-      Nếu bạn đặt chính sách này, thì người dùng sẽ không thể thay đổi được. Nếu bạn không đặt chính sách này, thì các đề xuất tìm kiếm sẽ bật lúc đầu nhưng người dùng có thể tắt bất cứ lúc nào.</translation>
 <translation id="8543103455510904459">Cho phép bạn thiết lập một danh sách mẫu URL trang web để chỉ định các trang web không được phép chạy JavaScript bật trình biên dịch JIT (Just In Time).
 
           Việc tắt JavaScript JIT có nghĩa là <ph name="PRODUCT_NAME" /> có thể hiển thị nội dung web chậm hơn và cũng có thể vô hiệu hóa các phần của JavaScript (bao gồm cả WebAssembly). Việc tắt JavaScript JIT có thể cho phép <ph name="PRODUCT_NAME" /> hiển thị nội dung web ở một cấu hình an toàn hơn.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index 57c99e2..b7c6ce28 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -815,6 +815,30 @@
 
       默认情况下,这项企业政策会处于停用状态。</translation>
 <translation id="1949584741547056205">快速解答</translation>
+<translation id="1951288262199783797">如果启用此政策,您可创建一个由文件类型扩展名构成的字典及配套的网域列表,指定这些扩展名不会在哪些网域中触发基于文件类型扩展名的下载警告。这样一来,企业管理员便能针对已与某个所列网域关联的文件类型屏蔽基于文件类型扩展名的下载警告。例如,倘若扩展名“jnlp”与网域“website1.com”关联,用户在从“website1.com”下载“jnlp”文件时便不会看到警告,但在从“website2.com”下载“jnlp”文件时会看到警告。
+
+      即使具有此政策中为所列网域指定的文件类型扩展名,相关文件仍可能会触发并非以文件类型扩展名为依据的安全警告(例如混合内容下载警告和安全浏览警告)。
+
+      如果您停用或不配置此政策,当用户下载的文件触发基于文件类型扩展名的下载警告时,系统将会向用户显示警告。
+
+      如果您启用此政策:
+
+      * 网址格式应遵循 https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns 上的要求。
+      * 所输入的文件类型扩展名必须采用小写 ASCII。罗列文件类型扩展名时不应添加前导分隔符,因此请输入“jnlp”而非“.jnlp”。
+
+      示例:
+
+      下列示例值会阻止扩展名“swf”、“exe”和“jnlp”在网域“*.example.com”中触发基于文件类型扩展名的下载警告。如果这样设置,在其他任何网域上,系统都会针对“exe”和“jnlp”文件向用户显示基于文件类型扩展名的下载警告,但不会针对“swf”文件显示此类警告。
+
+      [
+        { "file_extension": "jnlp", "domains": ["example.com"] },
+        { "file_extension": "exe", "domains": ["example.com"] },
+        { "file_extension": "swf", "domains": ["*"] }
+      ]
+
+      请注意,尽管上例所示设置在所有网域中都不会针对“swf”文件显示基于文件类型扩展名的下载警告,但出于安全方面的考虑,我们不建议您在所有网域中针对任何危险文件类型扩展名限制此类警告的显示。上例中之所以显示相应设置,只是为了表明这样的设置是可行的。
+
+      如果此政策和 <ph name="DOWNLOAD_RESTRICTIONS_POLICY_NAME" /> 都已启用,而且 DownloadRestrictions 设为屏蔽危险文件类型,系统会以 DownloadRestrictions 中针对下载文件的屏蔽设置为准。例如,倘若此政策设为允许从网域“website1.com”下载具有扩展名“exe”的文件,同时 DownloadRestrictions 设为屏蔽恶意下载内容和危险文件类型,系统仍会在所有网域中屏蔽文件类型扩展名为“exe”的下载文件。如果 DownloadRestrictions 未设为屏蔽危险文件类型,此政策中指定的文件类型将不会在所列网域中触发基于文件类型扩展名的下载警告。不妨详细了解 DownloadRestrictions (https://chromeenterprise.google/policies/?policy=DownloadRestrictions)。</translation>
 <translation id="1960416154405676350">启用 <ph name="GOOGLE_LENS_PRODUCT_NAME" />区域搜索。</translation>
 <translation id="1961091374249454164">此政策仅适用于受管理的访客会话。
       通过设置此政策,您可指定一个扩展程序 ID 列表,以表明要从受限受管理访客会话清理过程中排除哪些扩展程序(请参阅 <ph name="DEVICE_RESTRICTED_MANAGED_GUEST_SESSION_ENABLED_POLICY_NAME" />)。
@@ -1723,6 +1747,7 @@
       如果此政策设为 false,<ph name="BOREALIS_NAME" /> 会处于不可用状态。否则(如果此政策未设置或设为 true),仅当未被任何其他政策或设置停用时,<ph name="BOREALIS_NAME" /> 才可用。</translation>
 <translation id="2964373560810620158">阻止用户使用 <ph name="LACROS_NAME" /> 浏览器</translation>
 <translation id="2968177167006045252">允许网站使用 SharedArrayBuffers</translation>
+<translation id="2969568582351417848">不针对所列网域中的指定文件类型显示基于文件类型扩展名的下载警告</translation>
 <translation id="2969797921412053304">此政策用于配置哪些网址有权在登录屏幕上的 SAML 流程中对设备身份执行远程认证。
 
       具体而言,如果某个网址与通过此政策提供的格式之一匹配,该网址就能接收 HTTP 标头(包含对远程认证质询的响应),以认证设备身份和设备状态。
@@ -2366,13 +2391,6 @@
       如果您停用了此设置,用户就无法使用“自动填充”功能。
 
       如果您启用了此设置或未设置值,那么“自动填充”功能仍由用户控制。这样,用户就能配置要自动填充的个人资料,并能自行决定是否要启用/停用“自动填充”功能。</translation>
-<translation id="3731968520685217674">通过设置此政策,您可以指定 Chrome 启动时的系统行为。关闭此设置相当于未对其进行配置,因为 <ph name="PRODUCT_NAME" /> 必须具有指定的启动行为。
-
-      如果您设置了此政策,用户将无法在 <ph name="PRODUCT_NAME" /> 中更改它。如果您未设置此政策,用户便可自行更改它。
-
-      如果此政策设为 <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" />,某些依赖于会话的设置或用于指定退出时应执行什么操作的设置(例如:退出时清除浏览数据,或仅在会话期间有效的 Cookie)就会被关闭。
-
-      在 <ph name="MS_WIN_NAME" /> 上,此功能仅适用于已加入 <ph name="MS_AD_NAME" /> 网域的实例、在 Windows 10 专业版上运行的实例,或已注册 <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />的实例。在 <ph name="MAC_OS_NAME" /> 上,此功能仅适用于通过 MDM 进行管理或通过 MCX 加入网域的实例。</translation>
 <translation id="3733014427925403568">间隔时段的开始日期和结束日期分别是周几。</translation>
 <translation id="3736879847913515635">允许通过用户管理器添加用户</translation>
 <translation id="3749259744154402564">不支持</translation>
@@ -2526,6 +2544,7 @@
     列出系统自动为演示用户安装的扩展程序(它们将安装在零售模式下的设备上)。安装后,这些扩展程序保存在该设备中,并且可以在离线状态下安装。
 
       每个列表条目都包含一个字典,其“extension-id”字段必须包含扩展程序 ID,而其“update-url”字段必须包含更新网址。</translation>
+<translation id="3869180930654347954">对所有受影响客户停用 First-Party Sets 功能</translation>
 <translation id="3870059789954671543">在登录屏幕上启用“键盘焦点突出显示”无障碍功能。
 
           此功能负责突出显示通过键盘操作成为焦点的对象。
@@ -2719,6 +2738,7 @@
       如果您停用了或未设置此政策,该服务会将用户转到 https://myaccount.google.com,以便其更改密码。
 
       在 <ph name="MS_WIN_NAME" /> 上,此功能仅适用于已加入 <ph name="MS_AD_NAME" /> 网域的实例、在 Windows 10 专业版上运行的实例,或已注册 <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />的实例。在 <ph name="MAC_OS_NAME" /> 上,此功能仅适用于通过 MDM 进行管理或通过 MCX 加入网域的实例。</translation>
+<translation id="4115501011761259824">对所有受影响客户启用 First-Party Sets 功能</translation>
 <translation id="4121350739760194865">阻止在新标签页上显示应用宣传信息</translation>
 <translation id="4122473079291425973">“新标签页”页面会显示卡片(若有可用内容),但用户可以更改此设置</translation>
 <translation id="4122565688998751716">此政策已被弃用,请改用“<ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />”政策。
@@ -2858,6 +2878,14 @@
       如果相应设备不受管理或只有 1 个用户,此政策会被忽略,并且系统始终都会显示通知。
 
       如果受管理的设备上有多个用户帐号,仅当此政策已启用时,系统才会显示通知。</translation>
+<translation id="4293593564662654474">此政策提供了一种停用 First-Party Sets 功能的方式。
+
+                  如果此政策未设置或被设置为“启用”,系统会启用 First-Party Sets 功能。
+
+                  如果此政策被设置为“停用”,系统会停用 First-Party Sets 功能。
+
+                  First-Party Sets 功能的状态会决定 Chrome 是否会检索 First-Party Sets 列表。
+                  它还会控制 Chrome 是否支持 First-Party Sets 相关功能(例如 SameParty cookie 属性)。</translation>
 <translation id="4311195029067684288">Full</translation>
 <translation id="4313767483634435271">设备的指定基座 MAC 地址</translation>
 <translation id="4314538398999793073">在 Kerberos 身份验证期间停用 CNAME 查找功能</translation>
@@ -2988,6 +3016,7 @@
 <translation id="449423975179525290">配置与 <ph name="PLUGIN_VM_NAME" /> 相关的政策。</translation>
 <translation id="449784980858429908">自动授权网站连接所有串行端口。</translation>
 <translation id="450080746522343150">拦截所有下载内容。</translation>
+<translation id="4508728400492074981">控制 First-Party Sets 功能的相关政策。</translation>
 <translation id="4510923771103268849">允许用户拥有 Crostini 容器的 root 权限</translation>
 <translation id="4512407512989846472">允许禁止指定网址向剪贴板中复制数据</translation>
 <translation id="4513691822411041977">不强制在 Google 搜索中使用安全搜索功能,也不强制使用 YouTube 受限模式</translation>
@@ -3103,6 +3132,16 @@
 <translation id="4617338332148204752">跳过“<ph name="PRODUCT_FRAME_NAME" />”中的元标记检查</translation>
 <translation id="4624417808625504735">禁止 JavaScript 在这些网站上使用 JIT</translation>
 <translation id="4625915093043961294">配置扩展程序安装白名单</translation>
+<translation id="4631165564645497047">如果此设置已启用,<ph name="PRODUCT_NAME" /> 将会使用内置的证书验证程序来验证服务器证书。
+      如果此设置已停用,<ph name="PRODUCT_NAME" /> 将会使用平台提供的旧版证书验证程序来验证服务器证书。
+      如果此设置未配置,系统既可能会使用内置的证书验证程序,也可能会使用旧版证书验证程序。
+
+      按照我们的计划,此政策将会从 <ph name="PRODUCT_OS_NAME" /> 81 版中移除,该版本将不再支持在 <ph name="PRODUCT_OS_NAME" />上使用旧版证书验证程序。
+
+      按照我们的计划,此政策将会从 Linux 上的 <ph name="PRODUCT_NAME" /> 83 版中移除,该版本将不再支持在 Linux 上使用旧版证书验证程序。
+
+      按照我们的计划,此政策将会从 Mac OS X 上的 <ph name="PRODUCT_NAME" /> 104 版中移除,该版本将不再支持在 Mac OS X 上使用旧版证书验证程序。
+      </translation>
 <translation id="4632343302005518762">允许 <ph name="PRODUCT_FRAME_NAME" />处理列出的内容类型</translation>
 <translation id="4632566332417930481">禁止在由企业政策安装的扩展程序中使用开发者工具,允许在其他情境中使用开发者工具</translation>
 <translation id="4635284822166984665">设备将于何时(以设备的本地时区表示)开始充电。</translation>
@@ -3416,6 +3455,7 @@
 <translation id="5075190314377370852">如果此政策设为 True,对于已成功通过验证且已由安装在本地的 CA 证书签名的服务器证书,<ph name="PRODUCT_NAME" /> 始终会执行撤消检查。如果 <ph name="PRODUCT_NAME" /> 无法获取撤消状态信息,<ph name="PRODUCT_NAME" /> 会将此类证书视为已撤消(硬性失败)。
 
       如果此政策设为 False 或未设置,<ph name="PRODUCT_NAME" /> 会使用现有的在线撤消检查设置。</translation>
+<translation id="5076953589932162038">First-Party Sets 功能设置</translation>
 <translation id="5078623750797048009">启用 PDF 注释</translation>
 <translation id="5081204761483900654">受限受管理访客会话</translation>
 <translation id="5082296146261894974">允许用户通过点击 Phone Hub 通知来启动 Eche 应用。</translation>
@@ -4448,6 +4488,16 @@
 <translation id="631183702829488873">如果您启用了该功能,用户便会在登录屏幕和锁定屏幕上看到一个用于显示密码的按钮。
          这个按钮会在密码文本字段中显示为眼睛图标。如果您停用了该功能,这个按钮将不会显示。
       </translation>
+<translation id="6313108604615108577">此政策可控制是否要将 User-Agent 字符串的主要版本冻结为 99。
+
+      网站会通过 User-Agent 请求标头识别应用、操作系统、供应商和/或请求的用户代理的版本。
+      有些网站会对这种标头的格式做出假设,因此可能会在主要位置纳入三位数的版本字符串(如 100.0.0.0)时遇到问题。
+
+      如果此政策设置为“默认”或未设置,系统会将 User-Agent 字符串的主要版本默认设为浏览器设置。
+      如果设置为“ForceDisabled”,User-Agent 字符串将不会冻结主要版本。
+      如果设置为“ForceEnabled”,User-Agent 字符串会一律将主要版本回报为 99,并在次要位置纳入浏览器的主要版本。例如,浏览器版本 101.0.0.0 会发送一个 User-Agent 请求标头,将版本回报为 99.101.0.0。
+
+      此政策只是暂时性措施,日后会被弃用。请注意,如果同时启用此政策和<ph name="USER_AGENT_REDUCTION_POLICY_NAME" />政策,则 User-Agent 版本字符串会一律显示为 99.0.0.0。</translation>
 <translation id="6313170479290171718">此政策已被弃用,请改用 <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> 政策。
 
       如果此政策设为 True,系统会在登录时开启屏幕键盘。如果此政策设为 False,系统会在登录时关闭屏幕键盘。
@@ -4888,6 +4938,7 @@
       无论此政策是已启用还是已停用,chrome://flags 和任何其他可用于开启和关闭浏览器功能的方法都能正常起作用。</translation>
 <translation id="6794083666143216172">允许来源查询设备属性</translation>
 <translation id="6795485990775913659">仅允许在没有 PIN 码的情况下打印</translation>
+<translation id="6796215185873669533">将 User-Agent 字符串版本默认设为浏览器设置。</translation>
 <translation id="6800181452282128474">不向 Quirks Server 发送查询</translation>
 <translation id="68031099365512050">报告音频状态</translation>
 <translation id="6810445994095397827">在这些网站上阻止 JavaScript</translation>
@@ -5209,6 +5260,7 @@
 <translation id="7070525176564511548">每周(168 小时)必须输入一次密码</translation>
 <translation id="7072208053150563108">设备密码更改率</translation>
 <translation id="7072567600438630966">允许启用 Phone Hub。</translation>
+<translation id="7074437930865599190">将 User-Agent 字符串的主要版本冻结为 99</translation>
 <translation id="7079519252486108041">在这些网站上阻止弹出式窗口</translation>
 <translation id="707988220162760379">始终使用外部 PDF 查看器打开 PDF 文件</translation>
 <translation id="7081784525008938771">如果此政策已启用或未设置,播放视频时设备不会被视为闲置。这样,系统就不会开始应用闲置延迟时间、屏幕变暗延迟时间、屏幕关闭延迟时间和锁定延迟时间,也不会执行相应的操作。
@@ -5913,6 +5965,7 @@
       默认情况下,扩展程序或 Android 应用无权使用此类密钥(相当于针对扩展程序或 Android 应用将 allowCorporateKeyUsage 设为 False)。只有在针对某个扩展程序或 Android 应用将 allowCorporateKeyUsage 设为 True 的情况下,该扩展程序/应用才能利用被标记为供企业使用的平台密钥签署任意数据。为了防范黑客盗用密钥,切勿将这项权限授予不信任的扩展程序或 Android 应用。</translation>
 <translation id="7933141401888114454">允许创建受监管用户</translation>
 <translation id="793473937901685727">为 ARC 应用设置证书可用性</translation>
+<translation id="7936302526928951356">User-Agent 字符串不会冻结主要版本。</translation>
 <translation id="7937766917976512374">是否允许视频捕获</translation>
 <translation id="7941975817681987555">采用任何网络连接时,均不预测网络操作</translation>
 <translation id="7946350455013548764">如果此政策设为 3,系统会允许网站请求对 HID 设备的访问权限。如果此政策设为 2,系统会禁止网站访问 HID 设备。
@@ -6056,6 +6109,7 @@
 <translation id="8133152694354699657">如果此政策设为 True 或未设置,用户将能够使用“轻触搜索”功能,并能够开启或关闭该功能。
 
       如果此政策设为 False,系统会彻底关闭“轻触搜索”功能。</translation>
+<translation id="8136345780578030573">启用 First-Party Sets 功能。</translation>
 <translation id="8136906469922284163">如果此政策设为 True,网页将能够在取消加载的过程中显示弹出式窗口。
 
       如果此政策设为 False 或未设置,网页将无法在取消加载的过程中显示弹出式窗口。
@@ -6459,9 +6513,6 @@
 <translation id="8525526490824335042">Linux 容器</translation>
 <translation id="8528951285051082869">不允许任何 Web 应用通过 File Handling API 访问各类文件</translation>
 <translation id="8533145294731270627">拦截恶意下载内容和危险文件类型。</translation>
-<translation id="8537051350735478658">如果此政策设为 True,系统会在 <ph name="PRODUCT_NAME" /> 地址栏中显示搜索建议。如果此政策设为 False,系统会停用此类搜索建议功能。
-
-      如果您设置了此政策,用户便无法更改它。如果您不设置此政策,系统最初会显示搜索建议,但用户可随时停用此功能。</translation>
 <translation id="8543103455510904459">让您能够设置一系列网站网址格式,从而指定不允许哪些网站在运行 JavaScript 时启用 JIT(即时)编译器。
 
           停用 JavaScript JIT 后,<ph name="PRODUCT_NAME" /> 呈现网页内容的速度可能会更慢,且可能会停用 JavaScript 的某些部分(包括 WebAssembly)。停用 JavaScript JIT 可能会允许 <ph name="PRODUCT_NAME" /> 以更安全的配置呈现网页内容。
@@ -6714,6 +6765,7 @@
       此政策的每个列表项都是一个字符串,其中包含一个扩展程序 ID 和一个可选的“更新”网址(这两者之间以英文分号 [;] 分隔)。扩展程序 ID 是一个由 32 个字母构成的字符串;若想查看该字符串,一种方法是在开发者模式下访问 chrome://extensions。“更新”网址(若指定)应指向一个更新清单 XML 文档 (https://developer.chrome.com/extensions/autoupdate)。默认情况下,系统会使用 Chrome 网上应用店的更新网址。此政策中设置的“更新”网址仅用于初次安装;扩展程序的后续更新将会使用该扩展程序的清单中的更新网址。
 
        请注意:此政策不适用于无痕模式。了解如何托管扩展程序 (https://developer.chrome.com/extensions/hosting)。</translation>
+<translation id="8827275450034266143">User-Agent 字符串会将主要版本冻结为 99,并在次要位置纳入浏览器的主要版本。</translation>
 <translation id="8827366480126575426">协议处理程序所对应的协议。</translation>
 <translation id="8827417642396462482">允许其他 DNS 查询类型</translation>
 <translation id="8831911834413504983">通过设置此政策,您可以创建一个网址格式列表,从而指定哪些网站可以运行 JavaScript。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 36ce9c0a..adb7dc9 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -2391,13 +2391,6 @@
       如果你停用這項設定,使用者就無法使用自動填入功能。
 
       如果你啟用這項設定或未設定任何值,使用者就能自行管理自動填入功能。也就是說,使用者可以設定自動填入設定檔,並可自行決定是否要開啟自動填入功能。</translation>
-<translation id="3731968520685217674">你可以透過這項政策指定系統的啟動行為。關閉這項設定等同於未設定,因為 <ph name="PRODUCT_NAME" /> 必須有指定的啟動行為。
-
-      如果設定這項政策,使用者將無法在 <ph name="PRODUCT_NAME" /> 中進行變更。如果未設定,使用者可以進行變更。
-
-      如果將這項政策設為 <ph name="POLICY_ENUM_RESTOREONSTARTUP_RESTOREONSTARTUPISLASTSESSION" />,系統會關閉部分與工作階段相依的設定或在結束時執行動作的設定,例如結束時清除瀏覽資料或僅在工作階段有效的 Cookie。
-
-          在 <ph name="MS_WIN_NAME" /> 上,這項功能僅適用於已加入 <ph name="MS_AD_NAME" /> 網域的執行個體、在 Windows 10 專業版上執行的執行個體,或是已註冊 <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />服務的執行個體。在 <ph name="MAC_OS_NAME" /> 上,這項功能僅適用於透過行動裝置管理 (MDM) 軟體進行管理或透過 MCX 加入網域的執行個體。</translation>
 <translation id="3733014427925403568">限制時段的開始及結束時間分別是星期幾。</translation>
 <translation id="3736879847913515635">允許在使用者管理工具中新增使用者</translation>
 <translation id="3749259744154402564">不支援</translation>
@@ -2551,6 +2544,7 @@
       列出系統自動為零售模式裝置中的示範模式使用者所安裝的擴充功能。這些擴充功能會儲存在裝置上,並且可以在安裝後進行離線安裝。
 
       每個清單項目都含有目錄,其中的「extension-id」欄位必須包含擴充功能 ID,且「update-url」欄位必須包含更新網址。</translation>
+<translation id="3869180930654347954">為所有受影響的使用者停用 First-Party Sets 功能</translation>
 <translation id="3870059789954671543">在登入畫面上啟用鍵盤焦點醒目顯示無障礙功能。
 
           這項功能可以醒目顯示鍵盤聚焦的物件。
@@ -2743,6 +2737,7 @@
       如果停用這項政策或不設定,密碼保護服務會將使用者導向至 https://myaccount.google.com 以變更密碼。
 
       在 <ph name="MS_WIN_NAME" /> 上,這項功能僅適用於已加入 <ph name="MS_AD_NAME" /> 網域的執行個體、在 Windows 10 專業版上執行的執行個體,或是已註冊 <ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" />服務的執行個體。在 <ph name="MAC_OS_NAME" /> 上,這項功能僅適用於透過行動裝置管理 (MDM) 軟體進行管理或透過 MCX 加入網域的執行個體。</translation>
+<translation id="4115501011761259824">為所有受影響的使用者啟用 First-Party Sets 功能</translation>
 <translation id="4121350739760194865">阻止應用程式宣傳資訊在新分頁上顯示</translation>
 <translation id="4122473079291425973">如果系統可以取得與卡片相關的網頁內容,新分頁就會顯示卡片,但使用者可以變更這項設定</translation>
 <translation id="4122565688998751716">這項政策已遭淘汰,請改用「<ph name="ALLOW_SYSTEM_NOTIFICATIONS_POLICY_NAME" />」政策。
@@ -2883,6 +2878,14 @@
       如果裝置未受管理或是只有一位使用者,系統會忽略這項政策,並一律顯示通知。
 
       如果受管理的裝置上有多個使用者帳戶,只有當這項政策啟用時,系統才會顯示通知。</translation>
+<translation id="4293593564662654474">這項政策提供了另一種停用 First-Party Sets 功能的方式。
+
+                  如果將這項政策設為啟用或不予設定,系統會啟用 First-Party Sets 功能。
+
+                  如果將這項政策設為停用,則系統會停用 First-Party Sets 功能。
+
+                  First-Party Sets 功能的狀態會控管 Chrome 是否要擷取 First-Party Sets 清單,
+                  以及 Chrome 是否支援 First-Party Sets 相關功能 (例如 SameParty Cookie 屬性)。</translation>
 <translation id="4311195029067684288">Full</translation>
 <translation id="4313767483634435271">裝置的指定座架 MAC 位址</translation>
 <translation id="4314538398999793073">在 Kerberos 驗證期間停用 CNAME 查詢</translation>
@@ -3012,6 +3015,7 @@
 <translation id="449423975179525290">設定 <ph name="PLUGIN_VM_NAME" /> 的相關政策。</translation>
 <translation id="449784980858429908">自動授權網站連線至所有序列埠。</translation>
 <translation id="450080746522343150">封鎖所有下載作業。</translation>
+<translation id="4508728400492074981">控管 First-Party Sets 功能的相關政策。</translation>
 <translation id="4510923771103268849">允許使用者擁有 Crostini 容器的 Root 權限</translation>
 <translation id="4512407512989846472">允許禁止在特定網址上將資料複製到剪貼簿</translation>
 <translation id="4513691822411041977">不強制啟用 Google 搜尋的安全搜尋功能和中度以上的 YouTube 嚴格篩選模式</translation>
@@ -3449,6 +3453,7 @@
 <translation id="5075190314377370852">如果將這項政策設為 True,<ph name="PRODUCT_NAME" /> 一律會針對在本機上安裝的 CA 憑證所簽署的成功驗證伺服器憑證執行撤銷檢查。如果 <ph name="PRODUCT_NAME" /> 無法取得撤銷狀態資訊,<ph name="PRODUCT_NAME" /> 會將這些憑證視為已撤銷 (作業失敗)。
 
       如果將這項政策設為 False 或不設定,<ph name="PRODUCT_NAME" /> 會使用現有的線上撤銷檢查設定。</translation>
+<translation id="5076953589932162038">First-Party Sets 設定</translation>
 <translation id="5078623750797048009">啟用 PDF 註解功能</translation>
 <translation id="5081204761483900654">有限制的受管理訪客工作階段</translation>
 <translation id="5082296146261894974">允許使用者透過點選 Phone Hub 通知的方式啟動 Eche 應用程式。</translation>
@@ -4465,6 +4470,15 @@
 <translation id="631183702829488873">啟用這項功能後,你會在登入畫面和鎖定畫面上看到允許顯示密碼的按鈕。
           這個按鈕會在密碼文字欄位中顯示為眼睛圖示。如果停用這項功能,此按鈕就不會顯示。
       </translation>
+<translation id="6313108604615108577">這項政策可控管是否要將 User-Agent 字串的主要版本凍結為 99。
+
+      網站會透過 User-Agent 要求標頭識別應用程式、作業系統、供應商和/或要求的使用者代理程式版本。
+      某些網站會假設這個標頭的格式,因此可能會在主要位置納入三位數的版本字串 (例如 100.0.0.0),進而發生問題。
+
+      如果將這項政策設為「停用」或不設定,系統會將 User-Agent 字串的主要版本預設為瀏覽器設定。如果設為「ForceDisabled」,User-Agent 字串將不會凍結主要版本。
+      如果設為「ForceEnabled」,User-Agent 字串會一律將主要版本回報為 99,並在次要位置納入瀏覽器的主要版本。舉例來說,瀏覽器版本 101.0.0.0 會傳送 User-Agent 要求標頭,將版本資訊回報為 99.101.0.0。
+
+      這項政策僅是暫時性措施,日後將遭到移除。請注意,如果同時啟用這項政策和 <ph name="USER_AGENT_REDUCTION_POLICY_NAME" /> 政策,則 User-Agent 版本字串會一律顯示為 99.0.0.0。</translation>
 <translation id="6313170479290171718">這項政策已遭淘汰,請改用 <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> 政策。
 
       將這項政策設為 True,即可在登入時啟用螢幕小鍵盤。將這項政策設為 False,即可在登入時停用螢幕小鍵盤。
@@ -4901,6 +4915,7 @@
       無論這項政策設為啟用或停用,chrome://flags 和其他開啟/關閉瀏覽器功能的方法都能正常運作。</translation>
 <translation id="6794083666143216172">同意讓來源查詢裝置屬性</translation>
 <translation id="6795485990775913659">只在 PIN 碼停用時允許列印</translation>
+<translation id="6796215185873669533">將 User-Agent 字串版本預設為瀏覽器設定值。</translation>
 <translation id="6800181452282128474">不向 Quirks Server 發送查詢</translation>
 <translation id="68031099365512050">回報音訊狀態</translation>
 <translation id="6810445994095397827">封鎖這些網站的 JavaScript</translation>
@@ -5223,6 +5238,7 @@
 <translation id="7070525176564511548">每週 (168 小時) 需輸入一次密碼</translation>
 <translation id="7072208053150563108">裝置密碼變更頻率</translation>
 <translation id="7072567600438630966">允許啟用 Phone Hub 功能。</translation>
+<translation id="7074437930865599190">將 User-Agent 字串的主要版本凍結為 99</translation>
 <translation id="7079519252486108041">封鎖這些網站的彈出式視窗</translation>
 <translation id="707988220162760379">一律使用外部 PDF 檢視器開啟 PDF 檔案</translation>
 <translation id="7081784525008938771">如果將這項政策設為啟用或不設定,系統在視訊播放期間不會將使用者狀態視為閒置。這麼做可防止系統因達到閒置延遲時間、螢幕調暗延遲時間、螢幕關閉延遲時間和螢幕鎖定延遲時間限制,而採取相應動作。
@@ -5922,6 +5938,7 @@
       根據預設,擴充功能或 Android 應用程式無法使用企業專用的金鑰 (等同於將 allowCorporateKeyUsage 設為 False)。擴充功能或 Android 應用程式只有在 allowCorporateKeyUsage 設為 True 時,才能使用企業專用的平台金鑰簽署任意資料。為了確保攻擊者無法獲得金鑰存取權,這項權限只應授予信任的擴充功能或 Android 應用程式。</translation>
 <translation id="7933141401888114454">啟用建立受監管使用者的功能</translation>
 <translation id="793473937901685727">設定 ARC 應用程式的憑證可用性</translation>
+<translation id="7936302526928951356">User-Agent 字串不會凍結主要版本。</translation>
 <translation id="7937766917976512374">允許或拒絕擷取視訊</translation>
 <translation id="7941975817681987555">無論使用任何網路連線,皆不預測網路動作</translation>
 <translation id="7946350455013548764">如果將這項政策設為 3,網站即可要求存取 HID 裝置。如果將這項政策設為 2,系統會拒絕網站存取 HID 裝置。如果不設定,網站可要求存取權,但使用者可以變更這項設定。
@@ -6063,6 +6080,7 @@
 <translation id="8133152694354699657">如果將這項政策設為 True 或不設定,使用者將可使用「輕觸搜尋」功能,並且可以啟用或停用這項功能。
 
       如果將這項政策設為 False,系統會完全停用「輕觸搜尋」功能。</translation>
+<translation id="8136345780578030573">啟用 First-Party Sets 功能。</translation>
 <translation id="8136906469922284163">如果將這項政策設為 Ture,頁面卸載時將可顯示彈出式視窗。
 
       如果將這項政策設為 False 或不設定,頁面卸載時將無法顯示彈出式視窗。
@@ -6467,9 +6485,6 @@
 <translation id="8525526490824335042">Linux 容器</translation>
 <translation id="8528951285051082869">禁止任何網頁應用程式透過 File Handling API 存取特定類型的檔案</translation>
 <translation id="8533145294731270627">封鎖惡意下載作業和危險檔案類型。</translation>
-<translation id="8537051350735478658">如果將這項政策設為 True,系統會在 <ph name="PRODUCT_NAME" /> 的網址列中啟用搜尋建議功能。如果將這項政策設為 False,系統會停用這類搜尋建議功能。
-
-      如果設定這項政策,使用者將無法變更。如果未設定,系統會先啟用搜尋建議功能,但使用者隨時可以停用。</translation>
 <translation id="8543103455510904459">你可以設定網站網址模式清單,指定哪些網站不得在啟用 JIT (Just In Time) 編譯器的情況下執行 JavaScript。
 
           停用 JavaScript JIT 可能會減慢 <ph name="PRODUCT_NAME" /> 顯示網站內容的速度,也可能一併停用 JavaScript 中的 WebAssembly 等程式語言,但可讓 <ph name="PRODUCT_NAME" /> 以更安全的設定顯示網站內容。
@@ -6717,6 +6732,7 @@
       這項政策的每個清單項目都是一行字串,其中包含以分號 (;) 區隔的擴充功能 ID 和「更新」網址 (選用)。擴充功能 ID 為 32 個字母的字串,你可以在開發人員模式下前往 chrome://extensions 等位置查看這類字串。「更新」網址 (如有指定) 應指向更新資訊清單 XML 文件 ( https://developer.chrome.com/extensions/autoupdate )。根據預設,系統會使用 Chrome 線上應用程式商店的更新網址。這項政策設定的「更新」網址僅適用於初次安裝,後續的擴充功能更新將使用擴充功能資訊清單中的更新網址。
 
        注意:這項政策不適用於無痕模式。請前往以下頁面,參閱有關代管擴充功能的資訊:https://developer.chrome.com/extensions/hosting。</translation>
+<translation id="8827275450034266143">User-Agent 字串會將主要版本凍結為 99,並在次要位置納入瀏覽器的主要版本。</translation>
 <translation id="8827366480126575426">通訊協定處理常式的通訊協定。</translation>
 <translation id="8827417642396462482">允許其他 DNS 查詢類型</translation>
 <translation id="8831911834413504983">你可以透過這項政策設定網址模式清單,用於指定可執行 JavaScript 的網站。
diff --git a/components/policy/tools/generate_policy_source.py b/components/policy/tools/generate_policy_source.py
index 36d16f0..63170e1 100755
--- a/components/policy/tools/generate_policy_source.py
+++ b/components/policy/tools/generate_policy_source.py
@@ -503,7 +503,14 @@
 
 #include "components/policy/core/common/policy_details.h"
 #include "components/policy/core/common/policy_map.h"
-#include "components/policy/proto/cloud_policy.pb.h"
+
+namespace enterprise_management {
+class BooleanPolicyProto;
+class CloudPolicySettings;
+class IntegerPolicyProto;
+class StringListPolicyProto;
+class StringPolicyProto;
+}
 
 namespace em = enterprise_management;
 
diff --git a/components/policy/tools/generate_policy_source_test_data.py b/components/policy/tools/generate_policy_source_test_data.py
index 5396ecf..6a523b3 100644
--- a/components/policy/tools/generate_policy_source_test_data.py
+++ b/components/policy/tools/generate_policy_source_test_data.py
@@ -190,7 +190,14 @@
 
 #include "components/policy/core/common/policy_details.h"
 #include "components/policy/core/common/policy_map.h"
-#include "components/policy/proto/cloud_policy.pb.h"
+
+namespace enterprise_management {
+class BooleanPolicyProto;
+class CloudPolicySettings;
+class IntegerPolicyProto;
+class StringListPolicyProto;
+class StringPolicyProto;
+}
 
 namespace em = enterprise_management;
 
diff --git a/components/prefs/pref_member.cc b/components/prefs/pref_member.cc
index f5340ab..8ee5e7d4 100644
--- a/components/prefs/pref_member.cc
+++ b/components/prefs/pref_member.cc
@@ -134,7 +134,7 @@
     return false;
 
   std::vector<std::string> local_vector;
-  for (const auto& item : value.GetList()) {
+  for (const auto& item : value.GetListDeprecated()) {
     if (!item.is_string())
       return false;
     local_vector.push_back(item.GetString());
diff --git a/components/prefs/pref_member_unittest.cc b/components/prefs/pref_member_unittest.cc
index 0cf95bb5..ca1bbe3 100644
--- a/components/prefs/pref_member_unittest.cc
+++ b/components/prefs/pref_member_unittest.cc
@@ -240,7 +240,8 @@
   EXPECT_FALSE(string_list.IsDefaultValue());
 
   // Try removing through the pref.
-  EXPECT_TRUE(expected_list.EraseListIter(expected_list.GetList().begin()));
+  EXPECT_TRUE(
+      expected_list.EraseListIter(expected_list.GetListDeprecated().begin()));
   expected_vector.erase(expected_vector.begin());
   prefs.Set(kStringListPref, expected_list);
 
diff --git a/components/safe_browsing/content/browser/triggers/trigger_throttler.cc b/components/safe_browsing/content/browser/triggers/trigger_throttler.cc
index a55541c0..b203cee2 100644
--- a/components/safe_browsing/content/browser/triggers/trigger_throttler.cc
+++ b/components/safe_browsing/content/browser/triggers/trigger_throttler.cc
@@ -213,7 +213,7 @@
       continue;
 
     const TriggerType trigger_type = static_cast<TriggerType>(trigger_type_int);
-    for (const auto& timestamp : trigger_pair.second.GetList()) {
+    for (const auto& timestamp : trigger_pair.second.GetListDeprecated()) {
       if (timestamp.is_double())
         trigger_events_[trigger_type].push_back(
             base::Time::FromDoubleT(timestamp.GetDouble()));
diff --git a/components/safe_browsing/content/common/file_type_policies_policy_util.cc b/components/safe_browsing/content/common/file_type_policies_policy_util.cc
index c4d9fea4..8a787c63 100644
--- a/components/safe_browsing/content/common/file_type_policies_policy_util.cc
+++ b/components/safe_browsing/content/common/file_type_policies_policy_util.cc
@@ -62,7 +62,7 @@
       }
     }
 
-    if (!domains_for_extension.GetList().empty()) {
+    if (!domains_for_extension.GetListDeprecated().empty()) {
       url_matcher::URLMatcher matcher;
       url_matcher::URLMatcherConditionSet::ID id(0);
       url_matcher::util::AddFilters(&matcher, true, &id,
diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc
index 9fb3f5d..6a370b21 100644
--- a/components/safe_browsing/core/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc
@@ -330,8 +330,8 @@
     const base::Value& raw_domain_list,
     std::vector<std::string>* out_canonicalized_domain_list) {
   out_canonicalized_domain_list->clear();
-  for (auto it = raw_domain_list.GetList().begin();
-       it != raw_domain_list.GetList().end(); it++) {
+  for (auto it = raw_domain_list.GetListDeprecated().begin();
+       it != raw_domain_list.GetListDeprecated().end(); it++) {
     // Verify if it is valid domain string.
     url::CanonHostInfo host_info;
     std::string canonical_host =
diff --git a/components/search_engines/template_url_data.cc b/components/search_engines/template_url_data.cc
index f0f131f..4d10e7a 100644
--- a/components/search_engines/template_url_data.cc
+++ b/components/search_engines/template_url_data.cc
@@ -95,7 +95,7 @@
   SetURL(std::string(search_url));
   input_encodings.push_back(std::string(encoding));
   if (alternate_urls_list.is_list()) {
-    auto alternate_urls_list_view = alternate_urls_list.GetList();
+    auto alternate_urls_list_view = alternate_urls_list.GetListDeprecated();
     for (size_t i = 0; i < alternate_urls_list_view.size(); ++i) {
       const std::string* alternate_url =
           alternate_urls_list_view[i].GetIfString();
diff --git a/components/send_tab_to_self/metrics_util.cc b/components/send_tab_to_self/metrics_util.cc
index 2bce8a2..a6d81b4 100644
--- a/components/send_tab_to_self/metrics_util.cc
+++ b/components/send_tab_to_self/metrics_util.cc
@@ -32,7 +32,8 @@
   kTimedOut = 3,
   kSent = 4,
   kDismissReasonUnknown = 5,
-  kMaxValue = kDismissReasonUnknown,
+  kThrottled = 6,
+  kMaxValue = kThrottled,
 };
 
 std::string GetEntryPointHistogramString(ShareEntryPoint entry_point) {
@@ -96,4 +97,9 @@
                                 NotificationStatus::kDismissReasonUnknown);
 }
 
+void RecordNotificationThrottled() {
+  base::UmaHistogramEnumeration("Sharing.SendTabToSelf.NotificationStatus",
+                                NotificationStatus::kThrottled);
+}
+
 }  // namespace send_tab_to_self
diff --git a/components/send_tab_to_self/metrics_util.h b/components/send_tab_to_self/metrics_util.h
index 6078551..3043a31 100644
--- a/components/send_tab_to_self/metrics_util.h
+++ b/components/send_tab_to_self/metrics_util.h
@@ -38,6 +38,9 @@
 // Records when a received STTS notification is dismissed for an unknown reason.
 void RecordNotificationDismissReasonUnknown();
 
+// Records when a received STTS notification is throttled from being sent.
+void RecordNotificationThrottled();
+
 }  // namespace send_tab_to_self
 
 #endif  // COMPONENTS_SEND_TAB_TO_SELF_METRICS_UTIL_H_
diff --git a/components/send_tab_to_self/send_tab_to_self_bridge.cc b/components/send_tab_to_self/send_tab_to_self_bridge.cc
index f6e17045..6d574d7 100644
--- a/components/send_tab_to_self/send_tab_to_self_bridge.cc
+++ b/components/send_tab_to_self/send_tab_to_self_bridge.cc
@@ -17,6 +17,7 @@
 #include "base/time/time.h"
 #include "components/history/core/browser/history_service.h"
 #include "components/send_tab_to_self/features.h"
+#include "components/send_tab_to_self/metrics_util.h"
 #include "components/send_tab_to_self/proto/send_tab_to_self.pb.h"
 #include "components/send_tab_to_self/target_device_info.h"
 #include "components/sync/model/entity_change.h"
@@ -312,6 +313,7 @@
   if (mru_entry_ && url == mru_entry_->GetURL() &&
       navigation_time == mru_entry_->GetOriginalNavigationTime() &&
       shared_time - mru_entry_->GetSharedTime() < kDedupeTime) {
+    send_tab_to_self::RecordNotificationThrottled();
     return mru_entry_;
   }
 
diff --git a/components/services/storage/public/cpp/quota_client_callback_wrapper.cc b/components/services/storage/public/cpp/quota_client_callback_wrapper.cc
index 883a17d..c59bbc6 100644
--- a/components/services/storage/public/cpp/quota_client_callback_wrapper.cc
+++ b/components/services/storage/public/cpp/quota_client_callback_wrapper.cc
@@ -47,18 +47,6 @@
                 std::move(callback), std::vector<blink::StorageKey>()));
 }
 
-void QuotaClientCallbackWrapper::GetStorageKeysForHost(
-    blink::mojom::StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-
-  wrapped_client_->GetStorageKeysForHost(
-      type, host,
-      mojo::WrapCallbackWithDefaultInvokeIfNotRun(
-          std::move(callback), std::vector<blink::StorageKey>()));
-}
-
 void QuotaClientCallbackWrapper::DeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     blink::mojom::StorageType type,
diff --git a/components/services/storage/public/cpp/quota_client_callback_wrapper.h b/components/services/storage/public/cpp/quota_client_callback_wrapper.h
index f964baf..f2ab5517 100644
--- a/components/services/storage/public/cpp/quota_client_callback_wrapper.h
+++ b/components/services/storage/public/cpp/quota_client_callback_wrapper.h
@@ -59,9 +59,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
diff --git a/components/services/storage/public/mojom/quota_client.mojom b/components/services/storage/public/mojom/quota_client.mojom
index a56d4c34..c045e7f8 100644
--- a/components/services/storage/public/mojom/quota_client.mojom
+++ b/components/services/storage/public/mojom/quota_client.mojom
@@ -35,11 +35,6 @@
   GetStorageKeysForType(blink.mojom.StorageType type)
       => (array<blink.mojom.StorageKey> storage_keys);
 
-  // Returns a list of storage keys that match the `host` and have data in the
-  // `type` storage.
-  GetStorageKeysForHost(blink.mojom.StorageType type, string host)
-      => (array<blink.mojom.StorageKey> storage_keys);
-
   // Returns after all data belonging to `storage_key` in the `type` storage
   // has been deleted.
   DeleteStorageKeyData(blink.mojom.StorageKey storage_key,
diff --git a/components/shared_highlighting/core/common/fragment_directives_utils_unittest.cc b/components/shared_highlighting/core/common/fragment_directives_utils_unittest.cc
index 11643166..9e97cbd6 100644
--- a/components/shared_highlighting/core/common/fragment_directives_utils_unittest.cc
+++ b/components/shared_highlighting/core/common/fragment_directives_utils_unittest.cc
@@ -62,11 +62,13 @@
   GURL url_with_fragment(
       "https://www.example.com/#idFrag:~:text=text%201&text=text%202");
   base::Value result = ParseTextFragments(url_with_fragment);
-  ASSERT_EQ(2u, result.GetList().size());
-  EXPECT_EQ("text 1",
-            result.GetList()[0].FindKey(kFragmentTextStartKey)->GetString());
-  EXPECT_EQ("text 2",
-            result.GetList()[1].FindKey(kFragmentTextStartKey)->GetString());
+  ASSERT_EQ(2u, result.GetListDeprecated().size());
+  EXPECT_EQ("text 1", result.GetListDeprecated()[0]
+                          .FindKey(kFragmentTextStartKey)
+                          ->GetString());
+  EXPECT_EQ("text 2", result.GetListDeprecated()[1]
+                          .FindKey(kFragmentTextStartKey)
+                          ->GetString());
 
   GURL url_no_fragment("www.example.com");
   base::Value empty_result = ParseTextFragments(url_no_fragment);
diff --git a/components/signin/ios/browser/manage_accounts_delegate.h b/components/signin/ios/browser/manage_accounts_delegate.h
index 5d3293d2..878f3e0 100644
--- a/components/signin/ios/browser/manage_accounts_delegate.h
+++ b/components/signin/ios/browser/manage_accounts_delegate.h
@@ -10,6 +10,8 @@
 class WebState;
 }
 
+// TODO(crbug.com/1293395): Refactor ManageAccountsDelegate into a C++ abstract
+// class.
 @protocol ManageAccountsDelegate<NSObject>
 
 // Called when Gaia cookies have been regenerated for a specific user sign-in.
diff --git a/components/strings/components_strings_af.xtb b/components/strings/components_strings_af.xtb
index fa0b3eef..b7eb824 100644
--- a/components/strings/components_strings_af.xtb
+++ b/components/strings/components_strings_af.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Laat wag</translation>
 <translation id="1181037720776840403">Verwyder</translation>
 <translation id="1186201132766001848">Gaan wagwoorde na</translation>
-<translation id="1195210374336998651">Gaan na programinstellings toe</translation>
 <translation id="1195558154361252544">Kennisgewings word outomaties geblokkeer vir alle werwe behalwe dié wat jy toelaat</translation>
 <translation id="1197088940767939838">Oranje</translation>
 <translation id="1201402288615127009">Volgende</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Middel</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Jy kan jou groep enige tyd terugstel. Dit neem omtrent 'n dag om by 'n nuwe groep aan te sluit.}=1{Jy kan jou groep enige tyd terugstel. Dit neem omtrent 'n dag om by 'n nuwe groep aan te sluit.}other{Jy kan jou groep enige tyd terugstel. Dit neem {NUM_DAYS} dae om by 'n nuwe groep aan te sluit.}}</translation>
-<translation id="3596012367874587041">Programinstellings</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Jou administrateur blokkeer die program</translation>
 <translation id="3608932978122581043">Stroomoriëntasie</translation>
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index 9a42b95..6ae88e8 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">ለአፍታ አቁም</translation>
 <translation id="1181037720776840403">አስወግድ</translation>
 <translation id="1186201132766001848">የይለፍ ቃላትዎን ይፈትሹ</translation>
-<translation id="1195210374336998651">ወደ የመተግበሪያ ቅንብሮች ይሂዱ</translation>
 <translation id="1195558154361252544">እርስዎ ከፈቀዱላቸው ጣቢያዎች በስተቀር ማሳወቂያዎች ለሁሉም ጣቢያዎች በራስ-ሰር ይታገዳሉ</translation>
 <translation id="1197088940767939838">ብርቱካናማ</translation>
 <translation id="1201402288615127009">ቀጣይ</translation>
@@ -838,7 +837,6 @@
 <translation id="3587738293690942763">መሃል</translation>
 <translation id="3592413004129370115">ጣልያንኛ (የደብዳቤ ፖስታ)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ቡድንዎን በማንኛውም ጊዜ ዳግም ማስጀመር ይችላሉ። አዲስ ቡድን ለመቀላቀል አንድ ቀን ያህል ጊዜ ይወስዳል።}=1{ቡድንዎን በማንኛውም ጊዜ ዳግም ማስጀመር ይችላሉ። አዲስ ቡድን ለመቀላቀል አንድ ቀን ያህል ጊዜ ይወስዳል።}one{ቡድንዎን በማንኛውም ጊዜ ዳግም ማስጀመር ይችላሉ። አዲስ ቡድን ለመቀላቀል {NUM_DAYS} ቀኖች ያህል ጊዜ ይወስዳል።}other{ቡድንዎን በማንኛውም ጊዜ ዳግም ማስጀመር ይችላሉ። አዲስ ቡድን ለመቀላቀል {NUM_DAYS} ቀኖች ያህል ጊዜ ይወስዳል።}}</translation>
-<translation id="3596012367874587041">የመተግበሪያ ቅንብሮች</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />፣ <ph name="DOMAIN" />፣ <ph name="TIME" /></translation>
 <translation id="3603507503523709">መተግበሪያ በእርስዎ አስተዳዳሪ ታግዷል</translation>
 <translation id="3608932978122581043">የምገባ አቀማመጥ</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index 0ffa916b..6d6be23d 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">الإيقاف مؤقتًا</translation>
 <translation id="1181037720776840403">إزالة</translation>
 <translation id="1186201132766001848">التحقق من كلمات المرور</translation>
-<translation id="1195210374336998651">الانتقال إلى إعدادات التطبيق</translation>
 <translation id="1195558154361252544">يتم حظر الإشعارات تلقائيًا لجميع المواقع الإلكترونية باستثناء المواقع التي تسمح بها.</translation>
 <translation id="1197088940767939838">برتقالي</translation>
 <translation id="1201402288615127009">التالي</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">متوسط</translation>
 <translation id="3592413004129370115">‏Italian (مغلف)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{يمكنك إعادة ضبط مجموعتك متى شئت، مع العِلم أنّ الانضمام إلى مجموعة جديدة يستغرق يومًا تقريبًا.}=1{يمكنك إعادة ضبط مجموعتك متى شئت، مع العِلم أنّ الانضمام إلى مجموعة جديدة يستغرق يومًا واحدًا تقريبًا.}two{يمكنك إعادة ضبط مجموعتك متى شئت، مع العِلم أنّ الانضمام إلى مجموعة جديدة يستغرق يومَين ({NUM_DAYS}) تقريبًا.}few{يمكنك إعادة ضبط مجموعتك متى شئت، مع العِلم أنّ الانضمام إلى مجموعة جديدة يستغرق {NUM_DAYS} أيام تقريبًا.}many{يمكنك إعادة ضبط مجموعتك متى شئت، مع العِلم أنّ الانضمام إلى مجموعة جديدة يستغرق {NUM_DAYS} يومًا تقريبًا.}other{يمكنك إعادة ضبط مجموعتك متى شئت، مع العِلم أنّ الانضمام إلى مجموعة جديدة يستغرق {NUM_DAYS} يوم تقريبًا.}}</translation>
-<translation id="3596012367874587041">إعدادات التطبيق</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />، و<ph name="DOMAIN" />، و<ph name="TIME" /></translation>
 <translation id="3603507503523709">حظر مشرفك التطبيق</translation>
 <translation id="3608932978122581043">تخطيط الاتجاه</translation>
@@ -1977,6 +1975,7 @@
 <translation id="7334320624316649418">إعادة إ&amp;جراء الترتيب</translation>
 <translation id="7335157162773372339">السماح للموقع الإلكتروني بطلب استخدام الكاميرا</translation>
 <translation id="7337248890521463931">عرض المزيد من الأسطر</translation>
+<translation id="7337418456231055214">ألم تتم تعبئة الحقل برقم البطاقة الافتراضية؟ انقر على تفاصيل البطاقة لنسخها. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">غير متاحة على نظامك الأساسي.</translation>
 <translation id="733923710415886693">لم يتم الكشف عن شهادة الخادم عن طريق شهادة الشفافية.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_as.xtb b/components/strings/components_strings_as.xtb
index c03f3f5..d16c772 100644
--- a/components/strings/components_strings_as.xtb
+++ b/components/strings/components_strings_as.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">পজ কৰক</translation>
 <translation id="1181037720776840403">আঁতৰাওক</translation>
 <translation id="1186201132766001848">পাছৱৰ্ডবোৰ পৰীক্ষা কৰক</translation>
-<translation id="1195210374336998651">এপৰ ছেটিঙলৈ যাওক</translation>
 <translation id="1195558154361252544">আপুনি অনুমতি দিয়াটোৰ বাদে আন সকলো ছাইটৰ বাবে জাননীসমূহ স্বয়ংক্ৰিয়ভাৱে অৱৰোধ কৰা হয়</translation>
 <translation id="1197088940767939838">কমলা</translation>
 <translation id="1201402288615127009">পৰৱৰ্তী</translation>
@@ -840,7 +839,6 @@
 <translation id="3587738293690942763">মাজভাগ</translation>
 <translation id="3592413004129370115">ইটালিয়ান (লেফাফা)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{আপুনি যিকোনো সময়তে নিজৰ গোটটো ৰিছেট কৰিব পাৰে। এটা নতুন গোটত যোগদান কৰিবলৈ প্ৰায় এদিন সময় লাগে।}=1{আপুনি যিকোনো সময়তে নিজৰ গোটটো ৰিছেট কৰিব পাৰে। এটা নতুন গোটত যোগদান কৰিবলৈ প্ৰায় এদিন সময় লাগে।}one{আপুনি যিকোনো সময়তে নিজৰ গোটটো ৰিছেট কৰিব পাৰে। এটা নতুন গোটত যোগদান কৰিবলৈ {NUM_DAYS} দিন সময় লাগে।}other{আপুনি যিকোনো সময়তে নিজৰ গোটটো ৰিছেট কৰিব পাৰে। এটা নতুন গোটত যোগদান কৰিবলৈ {NUM_DAYS} দিন সময় লাগে।}}</translation>
-<translation id="3596012367874587041">এপৰ ছেটিং</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">আপোনাৰ প্ৰশাসকৰ দ্বাৰা এপ্লিকেশ্বনটো অৱৰোধ কৰা হৈছে</translation>
 <translation id="3608932978122581043">ফীডৰ দিশ</translation>
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb
index 02f585c2..ab98f861 100644
--- a/components/strings/components_strings_az.xtb
+++ b/components/strings/components_strings_az.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Durdurun</translation>
 <translation id="1181037720776840403">Silin</translation>
 <translation id="1186201132766001848">Parolları yoxlayın</translation>
-<translation id="1195210374336998651">Tətbiq ayarlarına keçin</translation>
 <translation id="1195558154361252544">İcazə verdiklərinizdən başqa bütün saytlarda bildirişlər blok edilib</translation>
 <translation id="1197088940767939838">Narıncı</translation>
 <translation id="1201402288615127009">Növbəti</translation>
@@ -840,7 +839,6 @@
 <translation id="3587738293690942763">Orta</translation>
 <translation id="3592413004129370115">İtalyan (Zərf)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Qrupunuzu istənilən vaxt sıfırlaya bilərsiniz. Yeni bir qrupa qoşulmaq təxminən bir gün çəkir.}=1{Qrupunuzu istənilən vaxt sıfırlaya bilərsiniz. Yeni bir qrupa qoşulmaq təxminən bir gün çəkir.}other{Qrupunuzu istənilən vaxt sıfırlaya bilərsiniz. Yeni bir qrupa qoşulmaq təxminən {NUM_DAYS} gün çəkir.}}</translation>
-<translation id="3596012367874587041">Tətbiq ayarları</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Tətbiq admin tərəfindən bloklanıb</translation>
 <translation id="3608932978122581043">İstiqaməti tənzimləyin</translation>
diff --git a/components/strings/components_strings_be.xtb b/components/strings/components_strings_be.xtb
index a26ec5bf..7613058 100644
--- a/components/strings/components_strings_be.xtb
+++ b/components/strings/components_strings_be.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Прыпыніць</translation>
 <translation id="1181037720776840403">Выдаліць</translation>
 <translation id="1186201132766001848">Праверыць паролі</translation>
-<translation id="1195210374336998651">Перайсці ў налады праграмы</translation>
 <translation id="1195558154361252544">Апавяшчэнні аўтаматычна блакіруюцца для ўсіх сайтаў, акрамя тых, якім вы далі дазвол іх паказваць</translation>
 <translation id="1197088940767939838">Аранжавы</translation>
 <translation id="1201402288615127009">Далей</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Сярэдні</translation>
 <translation id="3592413004129370115">Italian (канверт)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Вы можаце скінуць параметры сваёй групы ў любы час. Далучэнне да новай групы адбываецца прыблізна праз дзень.}=1{Вы можаце скінуць параметры сваёй групы ў любы час. Далучэнне да новай групы адбываецца прыблізна праз дзень.}one{Вы можаце скінуць параметры сваёй групы ў любы час. Далучэнне да новай групы адбываецца прыблізна праз {NUM_DAYS} дзень.}few{Вы можаце скінуць параметры сваёй групы ў любы час. Далучэнне да новай групы адбываецца прыблізна праз {NUM_DAYS} дні.}many{Вы можаце скінуць параметры сваёй групы ў любы час. Далучэнне да новай групы адбываецца прыблізна праз {NUM_DAYS} дзён.}other{Вы можаце скінуць параметры сваёй групы ў любы час. Далучэнне да новай групы адбываецца прыблізна праз {NUM_DAYS} дня.}}</translation>
-<translation id="3596012367874587041">Налады праграмы</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Праграма заблакіравана адміністратарам</translation>
 <translation id="3608932978122581043">Арыентацыя падачы</translation>
@@ -1976,6 +1974,7 @@
 <translation id="7334320624316649418">&amp;Паўтарыць змяненне парадку</translation>
 <translation id="7335157162773372339">Сайт можа запытваць дазвол на выкарыстанне мікрафона</translation>
 <translation id="7337248890521463931">Паказваць больш радкоў</translation>
+<translation id="7337418456231055214">Не ўказаны нумар віртуальнай карткі? Скапіруйце рэквізіты карткі, націснуўшы на іх. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Недаступна на вашай платформе.</translation>
 <translation id="733923710415886693">Сертыфікат сервера не быў раскрыты ў адпаведнасці са стандартам "Празрыстасць сертыфікатаў".</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb
index fccd46c2..afd8fffc 100644
--- a/components/strings/components_strings_bg.xtb
+++ b/components/strings/components_strings_bg.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Пауза</translation>
 <translation id="1181037720776840403">Премахване</translation>
 <translation id="1186201132766001848">Проверка на паролите</translation>
-<translation id="1195210374336998651">Към настройките за приложението</translation>
 <translation id="1195558154361252544">Известията се блокират автоматично за всички сайтове освен за онези, за които ги разрешите</translation>
 <translation id="1197088940767939838">оранжево</translation>
 <translation id="1201402288615127009">Напред</translation>
@@ -841,7 +840,6 @@
 <translation id="3587738293690942763">Среден</translation>
 <translation id="3592413004129370115">Italian (плик)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Можете да зададете повторно групата си по всяко време. Присъединяването към нова група отнема около един ден.}=1{Можете да зададете повторно групата си по всяко време. Присъединяването към нова група отнема около един ден.}other{Можете да зададете повторно групата си по всяко време. Присъединяването към нова група отнема около {NUM_DAYS} дни.}}</translation>
-<translation id="3596012367874587041">Настройки за приложението</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Приложението е блокирано от администратора ви</translation>
 <translation id="3608932978122581043">Ориентация при подаване</translation>
@@ -1975,6 +1973,7 @@
 <translation id="7334320624316649418">&amp;Възстановяване на пренареждането</translation>
 <translation id="7335157162773372339">Може да поиска разрешение да използва камерата ви</translation>
 <translation id="7337248890521463931">Показване на повече редове</translation>
+<translation id="7337418456231055214">Номерът на виртуалната карта не е попълнен? Кликнете върху данните за картата, за да ги копирате. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Не е налице за платформата ви.</translation>
 <translation id="733923710415886693">Сертификатът на сървъра не е разкрит чрез Прозрачност на сертификатите.</translation>
 <translation id="734600844861828519">11 x 15</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index c43e96a..e16620d 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">বিরতি</translation>
 <translation id="1181037720776840403">সরান</translation>
 <translation id="1186201132766001848">পাসওয়ার্ড চেক করুন</translation>
-<translation id="1195210374336998651">অ্যাপ সেটিংসে যান</translation>
 <translation id="1195558154361252544">আপনার অনুমতি দেওয়া সাইট ছাড়া, বাকি সব সাইটের জন্য বিজ্ঞপ্তি অটোমেটিক ব্লক করা হয়েছে</translation>
 <translation id="1197088940767939838">কমলা</translation>
 <translation id="1201402288615127009">পরের</translation>
@@ -844,7 +843,6 @@
 <translation id="3587738293690942763">মাঝারি</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{আপনি যেকোনও সময় আপনার গ্রুপ রিসেট করতে পারবেন। নতুন গ্রুপে যোগ দিতে প্রায় এক দিন সময় লাগে।}=1{আপনি যেকোনও সময় আপনার গ্রুপ রিসেট করতে পারবেন। নতুন গ্রুপে যোগ দিতে প্রায় এক দিন সময় লাগে।}one{আপনি যেকোনও সময় আপনার গ্রুপ রিসেট করতে পারবেন। নতুন গ্রুপে যোগ দিতে {NUM_DAYS} দিন সময় লাগে।}other{আপনি যেকোনও সময় আপনার গ্রুপ রিসেট করতে পারবেন। নতুন গ্রুপে যোগ দিতে {NUM_DAYS} দিন সময় লাগে।}}</translation>
-<translation id="3596012367874587041">অ্যাপ সেটিংস</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">অ্যাপ্লিকেশনটিকে আপনার অ্যাডমিনিস্ট্রেটর  ব্লক করেছে</translation>
 <translation id="3608932978122581043">ফিড ওরিয়েন্টেশন</translation>
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb
index 4c99ae7..4576215 100644
--- a/components/strings/components_strings_bs.xtb
+++ b/components/strings/components_strings_bs.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pauziraj</translation>
 <translation id="1181037720776840403">Ukloni</translation>
 <translation id="1186201132766001848">Provjeri lozinke</translation>
-<translation id="1195210374336998651">Idite u postavke aplikacije</translation>
 <translation id="1195558154361252544">Obavještenja se automatski blokiraju za sve web lokacije osim onih koje omogućite</translation>
 <translation id="1197088940767939838">Narandžasta</translation>
 <translation id="1201402288615127009">Naprijed</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Srednje</translation>
 <translation id="3592413004129370115">Italijanska (koverta)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Možete vratiti grupu na zadano kad god želite. Potreban je otprilike jedan dan da se pridružite novoj grupi.}=1{Možete vratiti grupu na zadano kad god želite. Potreban je otprilike jedan dan da se pridružite novoj grupi.}one{Možete vratiti grupu na zadano kad god želite. Potreban je otprilike {NUM_DAYS} dan da se pridružite novoj grupi.}few{Možete vratiti grupu na zadano kad god želite. Potrebna su otprilike {NUM_DAYS} dana da se pridružite novoj grupi.}other{Možete vratiti grupu na zadano kad god želite. Potrebno je otprilike {NUM_DAYS} dana da se pridružite novoj grupi.}}</translation>
-<translation id="3596012367874587041">Postavke aplikacije</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikaciju je blokirao vaš administrator</translation>
 <translation id="3608932978122581043">Orijentacija sažetka sadržaja</translation>
@@ -1977,7 +1975,7 @@
 <translation id="7334320624316649418">&amp;Ponovi preuređivanje</translation>
 <translation id="7335157162773372339">Može tražiti da koristi kameru</translation>
 <translation id="7337248890521463931">Prikaži više redova</translation>
-<translation id="7337418456231055214">Broj virtualne kartice nije ispunjen? Kliknite podatke o kartici da biste kopirali. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
+<translation id="7337418456231055214">Broj virtuelne kartice nije ispunjen? Kliknite na detalje kartice da ih kopirate. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Nije dostupno na vašoj platformi.</translation>
 <translation id="733923710415886693">Potvrda servera nije otkrivena korištenjem pravila o transparentnosti potvrde.</translation>
 <translation id="734600844861828519">11 x 15</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index 90d7c88b..a2b80cf 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Posa en pausa</translation>
 <translation id="1181037720776840403">Suprimeix</translation>
 <translation id="1186201132766001848">Comprova les contrasenyes</translation>
-<translation id="1195210374336998651">Ves a la configuració de l'aplicació</translation>
 <translation id="1195558154361252544">Les notificacions de tots els llocs web estan bloquejades automàticament excepte les que permetis</translation>
 <translation id="1197088940767939838">Taronja</translation>
 <translation id="1201402288615127009">Següent</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">Mitjà</translation>
 <translation id="3592413004129370115">Italian (sobre)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Pots restablir el teu grup en qualsevol moment. Ha de transcórrer aproximadament un dia per unir-te a un grup nou.}=1{Pots restablir el teu grup en qualsevol moment. Ha de transcórrer aproximadament un dia per unir-te a un grup nou.}other{Pots restablir el teu grup en qualsevol moment. Han de transcórrer aproximadament {NUM_DAYS} dies per unir-te a un grup nou.}}</translation>
-<translation id="3596012367874587041">Configuració de l'aplicació</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplicació bloquejada per l'administrador</translation>
 <translation id="3608932978122581043">Orientació de l'entrada</translation>
@@ -1968,6 +1966,7 @@
 <translation id="7334320624316649418">&amp;Refés el canvi d'ordre</translation>
 <translation id="7335157162773372339">Pot demanar permís per utilitzar la càmera</translation>
 <translation id="7337248890521463931">Mostra més línies</translation>
+<translation id="7337418456231055214">No s'ha emplenat el número de la targeta virtual? Fes clic als detalls de la targeta per copiar-los. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">No està disponible a la teva plataforma.</translation>
 <translation id="733923710415886693">El certificat del servidor no s'ha divulgat mitjançant la Transparència de certificats.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb
index e611092..00fc617 100644
--- a/components/strings/components_strings_cs.xtb
+++ b/components/strings/components_strings_cs.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pozastavit</translation>
 <translation id="1181037720776840403">Odebrat</translation>
 <translation id="1186201132766001848">Zkontrolovat hesla</translation>
-<translation id="1195210374336998651">Přejít na nastavení aplikace</translation>
 <translation id="1195558154361252544">Oznámení jsou automaticky blokována u všech webů s výjimkou těch, u nichž je povolíte</translation>
 <translation id="1197088940767939838">Oranžová</translation>
 <translation id="1201402288615127009">Další</translation>
@@ -836,7 +835,6 @@
 <translation id="3587738293690942763">Střední</translation>
 <translation id="3592413004129370115">Italian (obálka)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Skupinu můžete kdykoli resetovat. Zařazení do nové skupiny trvá přibližně jeden den.}=1{Skupinu můžete kdykoli resetovat. Zařazení do nové skupiny trvá přibližně jeden den.}few{Skupinu můžete kdykoli resetovat. Zařazení do nové skupiny trvá přibližně {NUM_DAYS} dny.}many{Skupinu můžete kdykoli resetovat. Zařazení do nové skupiny trvá přibližně {NUM_DAYS} dne.}other{Skupinu můžete kdykoli resetovat. Zařazení do nové skupiny trvá přibližně {NUM_DAYS} dní.}}</translation>
-<translation id="3596012367874587041">Nastavení aplikace</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikace je blokována administrátorem</translation>
 <translation id="3608932978122581043">Orientace podávání</translation>
@@ -1962,6 +1960,7 @@
 <translation id="7334320624316649418">&amp;Opakovat změnu uspořádání</translation>
 <translation id="7335157162773372339">Může žádat o použití kamery</translation>
 <translation id="7337248890521463931">Zobrazit další řádky</translation>
+<translation id="7337418456231055214">Číslo virtuální karty není vyplněno? Klikněte na podrobnosti o kartě a zkopírujte ho. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Pro vaši platformu nedostupné.</translation>
 <translation id="733923710415886693">Certifikát serveru nebyl zveřejněn prostřednictvím projektu Certificate Transparency.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index 0ba7a0d..22b138ed 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pause</translation>
 <translation id="1181037720776840403">Fjern</translation>
 <translation id="1186201132766001848">Tjek adgangskoder</translation>
-<translation id="1195210374336998651">Gå til appindstillinger</translation>
 <translation id="1195558154361252544">Notifikationer blokeres automatisk for alle website med undtagelse dem, du har givet tilladelse til</translation>
 <translation id="1197088940767939838">Orange</translation>
 <translation id="1201402288615127009">Næste</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">I midten</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Du kan til enhver tid nulstille din gruppe. Det tager ca. en dag at blive medlem af en nye gruppe.}=1{Du kan til enhver tid nulstille din gruppe. Det tager ca. en dag at blive medlem af en nye gruppe.}one{Du kan til enhver tid nulstille din gruppe. Det tager {NUM_DAYS} dag at blive medlem af en ny gruppe.}other{Du kan til enhver tid nulstille din gruppe. Det tager {NUM_DAYS} dage at blive medlem af en ny gruppe.}}</translation>
-<translation id="3596012367874587041">Appindstillinger</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Appen er blokeret af din administrator</translation>
 <translation id="3608932978122581043">Retning for indførelse</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index e47f64b..735935b31 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pause</translation>
 <translation id="1181037720776840403">Entfernen</translation>
 <translation id="1186201132766001848">Passwörter prüfen</translation>
-<translation id="1195210374336998651">App-Einstellungen öffnen</translation>
 <translation id="1195558154361252544">Benachrichtigungen werden automatisch für alle Websites blockiert, außer für diejenigen, die Sie zulassen</translation>
 <translation id="1197088940767939838">Orange</translation>
 <translation id="1201402288615127009">Weiter</translation>
@@ -838,7 +837,6 @@
 <translation id="3587738293690942763">Mitte</translation>
 <translation id="3592413004129370115">Italian (Umschlag)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Sie können Ihre Gruppe jederzeit zurücksetzen. Es dauert ungefähr einen Tag, einer neuen Gruppe beizutreten.}=1{Sie können Ihre Gruppe jederzeit zurücksetzen. Es dauert ungefähr einen Tag, einer neuen Gruppe beizutreten.}other{Sie können Ihre Gruppe jederzeit zurücksetzen. Es dauert {NUM_DAYS} Tage, einer neuen Gruppe beizutreten.}}</translation>
-<translation id="3596012367874587041">App-Einstellungen</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">App durch Administrator blockiert</translation>
 <translation id="3608932978122581043">Einzugsausrichtung</translation>
@@ -1966,6 +1964,7 @@
 <translation id="7334320624316649418">&amp;Neu anordnen wiederholen</translation>
 <translation id="7335157162773372339">Darf nachfragen, wenn sie meine Kamera verwenden möchte</translation>
 <translation id="7337248890521463931">Mehr Zeilen anzeigen</translation>
+<translation id="7337418456231055214">Wurde die virtuelle Kartennummer nicht eingefügt? Klicken Sie auf die Kartendetails, um sie zu kopieren. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Nicht auf Ihrer Plattform verfügbar.</translation>
 <translation id="733923710415886693">Das Serverzertifikat wurde nicht über die Zertifikatstransparenz offengelegt.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 987d695..a179b60 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Παύση</translation>
 <translation id="1181037720776840403">Κατάργηση</translation>
 <translation id="1186201132766001848">Έλεγχος κωδικών πρόσβασης</translation>
-<translation id="1195210374336998651">Μετάβαση στις ρυθμίσεις εφαρμογής</translation>
 <translation id="1195558154361252544">Οι ειδοποιήσεις αποκλείονται αυτόματα για όλους τους ιστοτόπους εκτός από αυτούς στους οποίους τις επιτρέπετε</translation>
 <translation id="1197088940767939838">Πορτοκαλί</translation>
 <translation id="1201402288615127009">Επόμενο</translation>
@@ -844,7 +843,6 @@
 <translation id="3587738293690942763">Μέσο</translation>
 <translation id="3592413004129370115">Italian (Φάκελος)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Μπορείτε να επαναφέρετε την ομάδα σας ανά πάσα στιγμή. Χρειάζεται περίπου μία μέρα για να εγγραφείτε σε μια νέα ομάδα.}=1{Μπορείτε να επαναφέρετε την ομάδα σας ανά πάσα στιγμή. Χρειάζεται περίπου μία μέρα για να εγγραφείτε σε μια νέα ομάδα.}other{Μπορείτε να επαναφέρετε την ομάδα σας ανά πάσα στιγμή. Χρειάζονται {NUM_DAYS} ημέρες για να εγγραφείτε σε μια νέα ομάδα.}}</translation>
-<translation id="3596012367874587041">Ρυθμίσεις εφαρμογής</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Η εφαρμογή έχει αποκλειστεί από τον διαχειριστή σας.</translation>
 <translation id="3608932978122581043">Προσανατολισμός ροής</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb
index a6a4c9de..ee89a6e 100644
--- a/components/strings/components_strings_en-GB.xtb
+++ b/components/strings/components_strings_en-GB.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pause</translation>
 <translation id="1181037720776840403">Remove</translation>
 <translation id="1186201132766001848">Check passwords</translation>
-<translation id="1195210374336998651">Go to app settings</translation>
 <translation id="1195558154361252544">Notifications are automatically blocked for all sites except ones that you allow</translation>
 <translation id="1197088940767939838">Orange</translation>
 <translation id="1201402288615127009">Next</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Middle</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{You can reset your group at any time. It takes about a day to join a new group.}=1{You can reset your group at any time. It takes about a day to join a new group.}other{You can reset your group at any time. It takes {NUM_DAYS} days to join a new group.}}</translation>
-<translation id="3596012367874587041">App settings</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Application blocked by your administrator</translation>
 <translation id="3608932978122581043">Feed orientation</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index 40ff0da6..2419b7b 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Detener</translation>
 <translation id="1181037720776840403">Quitar</translation>
 <translation id="1186201132766001848">Revisar contraseñas</translation>
-<translation id="1195210374336998651">Ir a la configuración de la app</translation>
 <translation id="1195558154361252544">Se bloquearon automáticamente las notificaciones para todos los sitios, excepto en los sitios en que las permites</translation>
 <translation id="1197088940767939838">Naranja</translation>
 <translation id="1201402288615127009">Siguiente</translation>
@@ -840,7 +839,6 @@
 <translation id="3587738293690942763">Medio</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Puedes restablecer tu grupo en cualquier momento. Te llevará aproximadamente un día unirte a un grupo nuevo.}=1{Puedes restablecer tu grupo en cualquier momento. Te llevará aproximadamente un día unirte a un grupo nuevo.}other{Puedes restablecer tu grupo en cualquier momento. Te llevará {NUM_DAYS} días unirte a un grupo nuevo.}}</translation>
-<translation id="3596012367874587041">Configuración de la app</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">El administrador bloqueó la aplicación</translation>
 <translation id="3608932978122581043">Orientación de la entrada</translation>
@@ -1969,6 +1967,7 @@
 <translation id="7334320624316649418">&amp;Rehacer Reorganizar</translation>
 <translation id="7335157162773372339">Puede solicitar permiso para usar la cámara</translation>
 <translation id="7337248890521463931">Mostrar más líneas</translation>
+<translation id="7337418456231055214">¿No se completó el número de la tarjeta virtual? Haz clic en los detalles de la tarjeta para copiarlos. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">No está disponible para tu plataforma.</translation>
 <translation id="733923710415886693">El certificado del servidor no se divulgó mediante el Certificado de transparencia.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index d387b59..7e6ecaf 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pausar</translation>
 <translation id="1181037720776840403">Quitar</translation>
 <translation id="1186201132766001848">Comprobar contraseñas</translation>
-<translation id="1195210374336998651">Accede a la configuración de la aplicación</translation>
 <translation id="1195558154361252544">Las notificaciones se bloquean automáticamente en todos los sitios, excepto en los que las permitas.</translation>
 <translation id="1197088940767939838">Naranja</translation>
 <translation id="1201402288615127009">Siguiente</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Medio</translation>
 <translation id="3592413004129370115">Italian (sobre)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Puedes restablecer tu grupo en cualquier momento. Se tarda alrededor de un día en unirse a un nuevo grupo.}=1{Puedes restablecer tu grupo en cualquier momento. Se tarda alrededor de un día en unirse a un nuevo grupo.}other{Puedes restablecer tu grupo en cualquier momento. Se tardan {NUM_DAYS} días en unirse a un nuevo grupo.}}</translation>
-<translation id="3596012367874587041">Configuración de la aplicación</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Tu administrador ha bloqueado esta aplicación</translation>
 <translation id="3608932978122581043">Orientación de entrada</translation>
@@ -1977,6 +1975,7 @@
 <translation id="7334320624316649418">&amp;Rehacer reorganización</translation>
 <translation id="7335157162773372339">Puede solicitar permiso para usar tu cámara</translation>
 <translation id="7337248890521463931">Mostrar más líneas</translation>
+<translation id="7337418456231055214">¿No se ha introducido el número de tarjeta virtual? Haz clic en la información de la tarjeta para copiarla. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">No está disponible en esta plataforma.</translation>
 <translation id="733923710415886693">El certificado del servidor no se ha revelado a través de la Transparencia en los Certificados.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index b423b00..77549ad7 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Peata</translation>
 <translation id="1181037720776840403">Eemalda</translation>
 <translation id="1186201132766001848">Kontrolli paroole</translation>
-<translation id="1195210374336998651">Rakenduse seadete avamine</translation>
 <translation id="1195558154361252544">Märguanded blokeeritakse automaatselt kõigi saitide, välja arvatud lubatud saitide puhul.</translation>
 <translation id="1197088940767939838">Oranž</translation>
 <translation id="1201402288615127009">Järgmine</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Keskmine</translation>
 <translation id="3592413004129370115">Italian (ümbrik)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Saate grupi mis tahes ajal lähtestada. Uue grupiga liitumiseks kulub umbes päev.}=1{Saate grupi mis tahes ajal lähtestada. Uue grupiga liitumiseks kulub umbes päev.}other{Saate grupi mis tahes ajal lähtestada. Uue grupiga liitumiseks kulub {NUM_DAYS} päeva.}}</translation>
-<translation id="3596012367874587041">Rakenduse seaded</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Rakenduse blokeeris administraator</translation>
 <translation id="3608932978122581043">Voo suund</translation>
@@ -1976,6 +1974,7 @@
 <translation id="7334320624316649418">&amp;Korrasta uuesti</translation>
 <translation id="7335157162773372339">Saab küsida luba teie kaamera kasutamiseks</translation>
 <translation id="7337248890521463931">Kuva rohkem ridu</translation>
+<translation id="7337418456231055214">Kas virtuaalkaardi numbrit pole sisestatud? Klõpsake kopeerimiseks kaardi üksikasjadel. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Pole teie platvormil saadaval.</translation>
 <translation id="733923710415886693">Serveri sertifikaati ei avalikustatud sertifikaadi läbipaistvuse reegli kaudu.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb
index 4c5d12e..c3e989ef 100644
--- a/components/strings/components_strings_eu.xtb
+++ b/components/strings/components_strings_eu.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pausatu</translation>
 <translation id="1181037720776840403">Kendu</translation>
 <translation id="1186201132766001848">Egiaztatu pasahitzak</translation>
-<translation id="1195210374336998651">Joan aplikazioen ezarpenetara</translation>
 <translation id="1195558154361252544">Webgune guztien jakinarazpenak automatikoki blokeatzen dira, zuk baimentzen dituzunenak izan ezik</translation>
 <translation id="1197088940767939838">Laranja</translation>
 <translation id="1201402288615127009">Hurrengoa</translation>
@@ -835,7 +834,6 @@
 <translation id="3587738293690942763">Erdia</translation>
 <translation id="3592413004129370115">Italian (gutun-azala)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Edozein unetan berrezar dezakezu taldea. Gutxi gorabehera egun bat behar da beste talde batean sartzeko.}=1{Edozein unetan berrezar dezakezu taldea. Gutxi gorabehera egun bat behar da beste talde batean sartzeko.}other{Edozein unetan berrezar dezakezu taldea. Gutxi gorabehera {NUM_DAYS} egun behar dira beste talde batean sartzeko.}}</translation>
-<translation id="3596012367874587041">Aplikazioen ezarpenak</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" /> (<ph name="TIME" />)</translation>
 <translation id="3603507503523709">Administratzaileak aplikazioa blokeatu du</translation>
 <translation id="3608932978122581043">Papera sartzeko orientazioa</translation>
@@ -1963,6 +1961,7 @@
 <translation id="7334320624316649418">&amp;Berregin berrantolatzea</translation>
 <translation id="7335157162773372339">Kamera erabiltzea eska dezake</translation>
 <translation id="7337248890521463931">Erakutsi lerro gehiago</translation>
+<translation id="7337418456231055214">Txartel birtualaren zenbakia ez dago beteta? Txartelaren xehetasunak kopiatu nahi badituzu, saka itzazu. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Ez dago erabilgarri darabilzun plataforman.</translation>
 <translation id="733923710415886693">Zerbitzariaren ziurtagiria ez da ezagutarazi ziurtagirien gardentasun-gidalerroa erabilita.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index 6684e53..e7b7903 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">مکث</translation>
 <translation id="1181037720776840403">حذف</translation>
 <translation id="1186201132766001848">بررسی گذرواژه‌ها</translation>
-<translation id="1195210374336998651">رفتن به تنظیمات برنامه</translation>
 <translation id="1195558154361252544">اعلان‌ها به‌طور خودکار برای همه سایت‌ها، به‌جز آن‌هایی که مجاز کرده‌اید، مسدود می‌شوند</translation>
 <translation id="1197088940767939838">نارنجی</translation>
 <translation id="1201402288615127009">بعدی</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">وسط</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{هرزمان خواستید می‌توانید گروه را بازنشانی کنید. پیوستن به گروه جدید حدود یک روز طول می‌کشد.}=1{هرزمان خواستید می‌توانید گروه را بازنشانی کنید. پیوستن به گروه جدید حدود یک روز طول می‌کشد.}one{هرزمان خواستید می‌توانید گروه را بازنشانی کنید. پیوستن به گروه جدید {NUM_DAYS} روز طول می‌کشد.}other{هرزمان خواستید می‌توانید گروه را بازنشانی کنید. پیوستن به گروه جدید {NUM_DAYS} روز طول می‌کشد.}}</translation>
-<translation id="3596012367874587041">تنظیمات برنامه</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />، <ph name="DOMAIN" />، <ph name="TIME" /></translation>
 <translation id="3603507503523709">سرپرست برنامه را مسدود کرده است</translation>
 <translation id="3608932978122581043">جهت تغذیه کاغذ</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb
index da17176..08b22ed 100644
--- a/components/strings/components_strings_fi.xtb
+++ b/components/strings/components_strings_fi.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Tauko</translation>
 <translation id="1181037720776840403">Poista</translation>
 <translation id="1186201132766001848">Tarkista salasanat</translation>
-<translation id="1195210374336998651">Siirry sovellusasetuksiin</translation>
 <translation id="1195558154361252544">Ilmoitukset estetään automaattisesti kaikilla muilla paitsi sallituilla sivustoilla</translation>
 <translation id="1197088940767939838">Oranssi</translation>
 <translation id="1201402288615127009">Seuraava</translation>
@@ -844,7 +843,6 @@
 <translation id="3587738293690942763">Keskitaso</translation>
 <translation id="3592413004129370115">Italialainen (kirjekuori)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Voit nollata ryhmän milloin tahansa. Uuteen ryhmään liittyminen vie noin päivän.}=1{Voit nollata ryhmän milloin tahansa. Uuteen ryhmään liittyminen vie noin päivän.}other{Voit nollata ryhmän milloin tahansa. Uuteen ryhmään liittyminen vie {NUM_DAYS} päivää.}}</translation>
-<translation id="3596012367874587041">Sovellusasetukset</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Järjestelmänvalvoja esti sovelluksen</translation>
 <translation id="3608932978122581043">Syöttösuunta</translation>
@@ -1978,6 +1976,7 @@
 <translation id="7334320624316649418">&amp;Toista uudelleenjärjestely</translation>
 <translation id="7335157162773372339">Saa pyytää kameran käyttölupaa</translation>
 <translation id="7337248890521463931">Näytä enemmän rivejä</translation>
+<translation id="7337418456231055214">Eikö virtuaalista korttinumeroa ole täytetty? Kopioi kortin tiedot klikkaamalla niitä. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Ei saatavilla käyttöympäristössäsi</translation>
 <translation id="733923710415886693">Palvelimen varmenteesta ei ole saatu Certificate Transparencyn vaatimia tietoja.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb
index bcc9871..994446e 100644
--- a/components/strings/components_strings_fil.xtb
+++ b/components/strings/components_strings_fil.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">I-pause</translation>
 <translation id="1181037720776840403">Alisin</translation>
 <translation id="1186201132766001848">Suriin ang mga Password</translation>
-<translation id="1195210374336998651">Pumunta sa mga setting ng app</translation>
 <translation id="1195558154361252544">Awtomatikong naka-block ang mga notification para sa lahat ng site maliban sa mga pinapayagan mo</translation>
 <translation id="1197088940767939838">Orange</translation>
 <translation id="1201402288615127009">Susunod</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Gitna</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Puwede mong i-reset ang iyong grupo anumang oras. Inaabot nang humigit-kumulang isang araw para makasali sa isang bagong grupo.}=1{Puwede mong i-reset ang iyong grupo anumang oras. Inaabot nang humigit-kumulang isang araw para makasali sa isang bagong grupo.}one{Puwede mong i-reset ang iyong grupo anumang oras. Inaabot nang {NUM_DAYS} araw para makasali sa isang bagong grupo.}other{Puwede mong i-reset ang iyong grupo anumang oras. Inaabot nang {NUM_DAYS} na araw para makasali sa isang bagong grupo.}}</translation>
-<translation id="3596012367874587041">Mga setting ng app</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Na-block ng iyong administrator ang application</translation>
 <translation id="3608932978122581043">Oryentasyon ng feed</translation>
diff --git a/components/strings/components_strings_fr-CA.xtb b/components/strings/components_strings_fr-CA.xtb
index 9ef948f6..b61c09e 100644
--- a/components/strings/components_strings_fr-CA.xtb
+++ b/components/strings/components_strings_fr-CA.xtb
@@ -63,7 +63,6 @@
 <translation id="1178581264944972037">Interrompre</translation>
 <translation id="1181037720776840403">Supprimer</translation>
 <translation id="1186201132766001848">Vérifier les mots de passe</translation>
-<translation id="1195210374336998651">Accédez aux paramètres de l'application</translation>
 <translation id="1195558154361252544">Les notifications sont automatiquement bloquées pour tous les sites, sauf ceux que vous autorisez</translation>
 <translation id="1197088940767939838">Orange</translation>
 <translation id="1201402288615127009">Suivant</translation>
@@ -817,7 +816,6 @@
 <translation id="3587738293690942763">Centre</translation>
 <translation id="3592413004129370115">Enveloppe italienne</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Vous pouvez réinitialiser votre groupe en tout temps. Il faut environ un jour pour vous joindre à un nouveau groupe.}=1{Vous pouvez réinitialiser votre groupe en tout temps. Il faut environ un jour pour vous joindre à un nouveau groupe.}one{Vous pouvez réinitialiser votre groupe en tout temps. Il faut environ {NUM_DAYS} jour pour vous joindre à un nouveau groupe.}other{Vous pouvez réinitialiser votre groupe en tout temps. Il faut environ {NUM_DAYS} jours pour vous joindre à un nouveau groupe.}}</translation>
-<translation id="3596012367874587041">Paramètres de l'application</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Application bloquée par votre administrateur</translation>
 <translation id="3608932978122581043">Orientation de l'alimentation</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb
index edb35e9..469caf9 100644
--- a/components/strings/components_strings_fr.xtb
+++ b/components/strings/components_strings_fr.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Suspendre</translation>
 <translation id="1181037720776840403">Supprimer</translation>
 <translation id="1186201132766001848">Vérifier les mots de passe</translation>
-<translation id="1195210374336998651">Accéder aux paramètres de l'appli</translation>
 <translation id="1195558154361252544">Les notifications sont bloquées automatiquement pour tous les sites, sauf ceux que vous autorisez</translation>
 <translation id="1197088940767939838">Orange</translation>
 <translation id="1201402288615127009">Suivant</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Milieu</translation>
 <translation id="3592413004129370115">Italian (enveloppe)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Vous pouvez réinitialiser votre groupe à tout moment. Comptez environ une journée pour rejoindre un nouveau groupe.}=1{Vous pouvez réinitialiser votre groupe à tout moment. Comptez environ une journée pour rejoindre un nouveau groupe.}one{Vous pouvez réinitialiser votre groupe à tout moment. Comptez {NUM_DAYS} jour pour rejoindre un nouveau groupe.}other{Vous pouvez réinitialiser votre groupe à tout moment. Comptez {NUM_DAYS} jours pour rejoindre un nouveau groupe.}}</translation>
-<translation id="3596012367874587041">Paramètres de l'appli</translation>
 <translation id="3600246354004376029">"<ph name="TITLE" />", <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Application bloquée par votre administrateur</translation>
 <translation id="3608932978122581043">Orientation de l'alimentation</translation>
@@ -1978,6 +1976,7 @@
 <translation id="7334320624316649418">&amp;Rétablir la réorganisation</translation>
 <translation id="7335157162773372339">Peut demander à utiliser votre appareil photo</translation>
 <translation id="7337248890521463931">Afficher plus de lignes</translation>
+<translation id="7337418456231055214">Le numéro de carte virtuelle n'est pas renseigné ? Cliquez sur les informations relatives à la carte pour les copier. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Non disponible sur votre plate-forme</translation>
 <translation id="733923710415886693">Le certificat du serveur n'a pas été communiqué tel que le prévoient les règles de transparence des certificats.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_gl.xtb b/components/strings/components_strings_gl.xtb
index a6136973..7bf5bf0d 100644
--- a/components/strings/components_strings_gl.xtb
+++ b/components/strings/components_strings_gl.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pausar</translation>
 <translation id="1181037720776840403">Eliminar</translation>
 <translation id="1186201132766001848">Comprobar contrasinais</translation>
-<translation id="1195210374336998651">Ir á configuración da aplicación</translation>
 <translation id="1195558154361252544">Bloquéanse automaticamente as notificacións para todos os sitios, excepto para os que permitas</translation>
 <translation id="1197088940767939838">Laranxa</translation>
 <translation id="1201402288615127009">Seguinte</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Medio</translation>
 <translation id="3592413004129370115">Italian (sobre)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Podes restablecer o teu grupo cando queiras. Tardarás máis ou menos un día en unirte a un grupo novo.}=1{Podes restablecer o teu grupo cando queiras. Tardarás máis ou menos un día en unirte a un grupo novo.}other{Podes restablecer o teu grupo cando queiras. Tardarás {NUM_DAYS} días en unirte a un grupo novo.}}</translation>
-<translation id="3596012367874587041">Axustes da aplicación</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">O administrador bloqueou a aplicación</translation>
 <translation id="3608932978122581043">Orientación da alimentación</translation>
@@ -1976,6 +1974,7 @@
 <translation id="7334320624316649418">&amp;Refacer de cambio de orde</translation>
 <translation id="7335157162773372339">Pode pedirche permiso para utilizar a cámara</translation>
 <translation id="7337248890521463931">Mostrar máis liñas</translation>
+<translation id="7337418456231055214">Non se autocompletou o número da tarxeta virtual? Para copialo, fai clic nos detalles da tarxeta. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Non está dispoñible na túa plataforma.</translation>
 <translation id="733923710415886693">O certificado do servidor non se indicou mediante Certificate Transparency.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index a2b057f..298308d8 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">થોભો</translation>
 <translation id="1181037720776840403">કાઢી નાખો</translation>
 <translation id="1186201132766001848">પાસવર્ડ ચેક કરો</translation>
-<translation id="1195210374336998651">ઍપ સેટિંગ પર જાઓ</translation>
 <translation id="1195558154361252544">તમે જેના માટે મંજૂરી આપી હોય તે સિવાયની બધી સાઇટ માટે નોટિફિકેશનને ઑટોમૅટિક રીતે બ્લૉક કરવામાં આવે છે</translation>
 <translation id="1197088940767939838">નારંગી</translation>
 <translation id="1201402288615127009">આગલું</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">મધ્ય</translation>
 <translation id="3592413004129370115">ઇટાલિયન (એન્વલપ)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{તમે કોઈપણ સમયે તમારું ગ્રૂપ રીસેટ કરી શકો છો. નવા ગ્રૂપમાં જોડાવામાં આશરે એક દિવસ લાગે છે.}=1{તમે કોઈપણ સમયે તમારું ગ્રૂપ રીસેટ કરી શકો છો. નવા ગ્રૂપમાં જોડાવામાં આશરે એક દિવસ લાગે છે.}one{તમે કોઈપણ સમયે તમારું ગ્રૂપ રીસેટ કરી શકો છો. નવા ગ્રૂપમાં જોડાવામાં આશરે {NUM_DAYS} દિવસ લાગે છે.}other{તમે કોઈપણ સમયે તમારું ગ્રૂપ રીસેટ કરી શકો છો. નવા ગ્રૂપમાં જોડાવામાં આશરે {NUM_DAYS} દિવસ લાગે છે.}}</translation>
-<translation id="3596012367874587041">ઍપ સેટિંગ</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">તમારા વ્યવસ્થાપક દ્વારા બ્લૉક કરેલી ઍપ્લિકેશન</translation>
 <translation id="3608932978122581043">ફીડ ઓરિએન્ટેશન</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index 7dff724a..a4f3e5d 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">रोकें</translation>
 <translation id="1181037720776840403">हटाएं</translation>
 <translation id="1186201132766001848">पासवर्ड जांचें</translation>
-<translation id="1195210374336998651">ऐप्लिकेशन की सेटिंग पर जाएं</translation>
 <translation id="1195558154361252544">जिन साइट को आप फ़ॉलो करते हैं उन्हें छोड़कर सभी साइट के लिए सूचनाएं अपने आप बंद हो गई हैं</translation>
 <translation id="1197088940767939838">नारंगी</translation>
 <translation id="1201402288615127009">अगला</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">मिडल</translation>
 <translation id="3592413004129370115">इटैलियन (एन्वेलप)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{आप अपना पासवर्ड कभी भी रीसेट कर सकते हैं. नए ग्रुप से जुड़ने में करीब-करीब एक दिन लगता है.}=1{आप अपना पासवर्ड कभी भी रीसेट कर सकते हैं. नए ग्रुप से जुड़ने में करीब-करीब एक दिन लगता है.}one{आप अपना पासवर्ड कभी भी रीसेट कर सकते हैं. नए ग्रुप से जुड़ने में {NUM_DAYS} दिन लगता है.}other{आप अपना पासवर्ड कभी भी रीसेट कर सकते हैं. नए ग्रुप से जुड़ने में {NUM_DAYS} दिन लगते हैं.}}</translation>
-<translation id="3596012367874587041">ऐप्लिकेशन की सेटिंग</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">आपके एडमिन ने ऐप्लिकेशन को ब्लॉक कर दिया है</translation>
 <translation id="3608932978122581043">फ़ीड ओरिएंटेशन</translation>
@@ -1977,6 +1975,7 @@
 <translation id="7334320624316649418">&amp;पुन: क्रमित करना फिर से करें</translation>
 <translation id="7335157162773372339">साइट, आपके कैमरे का इस्तेमाल करने की अनुमति मांग सकती है</translation>
 <translation id="7337248890521463931">और लाइनें दिखाएं</translation>
+<translation id="7337418456231055214">वर्चुअल कार्ड नंबर नहीं भरा गया? कार्ड की जानकारी कॉपी करने के लिए, उस पर क्लिक करें. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">आपके प्लेटफ़ॉर्म पर उपलब्ध नहीं है.</translation>
 <translation id="733923710415886693">प्रमाणपत्र पारदर्शिता के माध्यम से सर्वर के प्रमाणपत्र को प्रकट नहीं किया गया.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index c27b0ba..a60dcf6 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pauziraj</translation>
 <translation id="1181037720776840403">Ukloni</translation>
 <translation id="1186201132766001848">Provjeri zaporke</translation>
-<translation id="1195210374336998651">Otvorite postavke aplikacije</translation>
 <translation id="1195558154361252544">Obavijesti su automatski blokirane za sve web-lokacije osim za one koje dopustite</translation>
 <translation id="1197088940767939838">Narančasta</translation>
 <translation id="1201402288615127009">Dalje</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Srednji</translation>
 <translation id="3592413004129370115">Italian (omotnica)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Grupu uvijek možete poništiti. Za pridruživanje novoj grupi potreban je otprilike jedan dan.}=1{Grupu uvijek možete poništiti. Za pridruživanje novoj grupi potreban je otprilike jedan dan.}one{Grupu uvijek možete poništiti. Za pridruživanje novoj grupi potreban je {NUM_DAYS} dan.}few{Grupu uvijek možete poništiti. Za pridruživanje novoj grupi potrebna su {NUM_DAYS} dana.}other{Grupu uvijek možete poništiti. Za pridruživanje novoj grupi potrebno je {NUM_DAYS} dana.}}</translation>
-<translation id="3596012367874587041">Postavke aplikacije</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Administrator je blokirao aplikaciju</translation>
 <translation id="3608932978122581043">Usmjerenje umetanja</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb
index 3f67113..a7f54f62 100644
--- a/components/strings/components_strings_hu.xtb
+++ b/components/strings/components_strings_hu.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Szünet</translation>
 <translation id="1181037720776840403">Eltávolítás</translation>
 <translation id="1186201132766001848">Jelszavak ellenőrzése</translation>
-<translation id="1195210374336998651">Ugrás az alkalmazás beállításaihoz</translation>
 <translation id="1195558154361252544">Az Ön által engedélyezett webhelyek kivételével a böngésző automatikusan letiltja az értesítéseket</translation>
 <translation id="1197088940767939838">Narancssárga</translation>
 <translation id="1201402288615127009">Tovább</translation>
@@ -841,7 +840,6 @@
 <translation id="3587738293690942763">Közép</translation>
 <translation id="3592413004129370115">Italian (boríték)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Csoportját bármikor visszaállíthatja. Az új csoporthoz való csatlakozás körülbelül egy napig tart.}=1{Csoportját bármikor visszaállíthatja. Az új csoporthoz való csatlakozás körülbelül egy napig tart.}other{Csoportját bármikor visszaállíthatja. Az új csoporthoz való csatlakozás körülbelül {NUM_DAYS} napig tart.}}</translation>
-<translation id="3596012367874587041">Alkalmazásbeállítások</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">A rendszergazda letiltotta az alkalmazást</translation>
 <translation id="3608932978122581043">Adagolás tájolása</translation>
diff --git a/components/strings/components_strings_hy.xtb b/components/strings/components_strings_hy.xtb
index 7f0ed202..ef17e36 100644
--- a/components/strings/components_strings_hy.xtb
+++ b/components/strings/components_strings_hy.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Դադար</translation>
 <translation id="1181037720776840403">Ջնջել</translation>
 <translation id="1186201132766001848">Ստուգել գաղտնաբառերը</translation>
-<translation id="1195210374336998651">Անցնել հավելվածի կարգավորումներ</translation>
 <translation id="1195558154361252544">Բացի ձեր նշած կայքերից՝ մնացած բոլոր կայքերի համար ծանուցումներն ավտոմատ արգելափակվում են:</translation>
 <translation id="1197088940767939838">Նարնջագույն</translation>
 <translation id="1201402288615127009">Հաջորդը</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Միջին</translation>
 <translation id="3592413004129370115">Italian (ծրար)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Դուք ցանկացած ժամանակ կարող եք զրոյացնել ձեր խմբի կարգավորումները։ Խմբին միանալու համար մոտ մեկ օր է պահանջվում։}=1{Դուք ցանկացած ժամանակ կարող եք զրոյացնել ձեր խմբի կարգավորումները։ Խմբին միանալու համար մոտ մեկ օր է պահանջվում։}one{Դուք ցանկացած ժամանակ կարող եք զրոյացնել ձեր խմբի կարգավորումները։ Խմբին միանալու համար մոտ {NUM_DAYS} օր է պահանջվում։}other{Դուք ցանկացած ժամանակ կարող եք զրոյացնել ձեր խմբի կարգավորումները։ Խմբին միանալու համար մոտ {NUM_DAYS} օր է պահանջվում։}}</translation>
-<translation id="3596012367874587041">Հավելվածի կարգավորումներ</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Ձեր ադմինիստրատորն արգելափակել է հավելվածը</translation>
 <translation id="3608932978122581043">Նշել դիրքը</translation>
@@ -1978,6 +1976,7 @@
 <translation id="7334320624316649418">&amp;Վերարկել վերադասավորումը</translation>
 <translation id="7335157162773372339">Կարող է հայցել տեսախցիկն օգտագործելու թույլտվություն</translation>
 <translation id="7337248890521463931">Ցույց տալ ավելի շատ տողեր</translation>
+<translation id="7337418456231055214">Վիրտուալ քարտի համարը չի՞ լրացվել։ Սեղմեք քարտի տվյալների վրա՝ դրանք պատճենելու համար։ <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Հասանելի չէ ձեր հարթակում:</translation>
 <translation id="733923710415886693">Սերվերի վկայագիրը չի բացահայտվել «Վկայագրերի թափանցիկություն» կանոնի միջոցով:</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb
index b71aad3a..6d4033e7e 100644
--- a/components/strings/components_strings_id.xtb
+++ b/components/strings/components_strings_id.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Jeda</translation>
 <translation id="1181037720776840403">Hapus</translation>
 <translation id="1186201132766001848">Periksa Sandi</translation>
-<translation id="1195210374336998651">Buka setelan aplikasi</translation>
 <translation id="1195558154361252544">Notifikasi otomatis diblokir untuk semua situs kecuali situs yang Anda izinkan</translation>
 <translation id="1197088940767939838">Oranye</translation>
 <translation id="1201402288615127009">Berikutnya</translation>
@@ -838,7 +837,6 @@
 <translation id="3587738293690942763">Tengah</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Anda dapat mereset grup kapan saja. Perlu waktu sekitar 1 hari untuk bergabung ke grup baru.}=1{Anda dapat mereset grup kapan saja. Perlu waktu sekitar 1 hari untuk bergabung ke grup baru.}other{Anda dapat mereset grup kapan saja. Perlu waktu sekitar {NUM_DAYS} hari untuk bergabung ke grup baru.}}</translation>
-<translation id="3596012367874587041">Setelan aplikasi</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikasi diblokir oleh administrator Anda</translation>
 <translation id="3608932978122581043">Feed orientasi</translation>
@@ -1965,6 +1963,7 @@
 <translation id="7334320624316649418">&amp;Ulangi pengaturan ulang</translation>
 <translation id="7335157162773372339">Dapat meminta untuk menggunakan kamera Anda</translation>
 <translation id="7337248890521463931">Tampilkan lebih banyak baris</translation>
+<translation id="7337418456231055214">Nomor kartu virtual tidak diisi? Klik detail kartu untuk menyalinnya. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Tidak tersedia di platform Anda.</translation>
 <translation id="733923710415886693">Sertifikat server tidak diungkapkan melalui Transparansi Sertifikat.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb
index 3b75317..87dbba3d 100644
--- a/components/strings/components_strings_is.xtb
+++ b/components/strings/components_strings_is.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Gera hlé</translation>
 <translation id="1181037720776840403">Fjarlægja</translation>
 <translation id="1186201132766001848">Yfirfara aðgangsorð</translation>
-<translation id="1195210374336998651">Opna forritastillingar</translation>
 <translation id="1195558154361252544">Sjálfkrafa er lokað á tilkynningar fyrir öll vefsvæði nema þau sem þú hefur gefið leyfi</translation>
 <translation id="1197088940767939838">Appelsínugulur</translation>
 <translation id="1201402288615127009">Áfram</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Miðja</translation>
 <translation id="3592413004129370115">Italian (umslag)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Þú getur endurstillt hópinn þinn hvenær sem er. Það tekur um einn dag að ganga í nýjan hóp.}=1{Þú getur endurstillt hópinn þinn hvenær sem er. Það tekur um einn dag að ganga í nýjan hóp.}one{Þú getur endurstillt hópinn þinn hvenær sem er. Það tekur {NUM_DAYS} dag að ganga í nýjan hóp.}other{Þú getur endurstillt hópinn þinn hvenær sem er. Það tekur {NUM_DAYS} daga að ganga í nýjan hóp.}}</translation>
-<translation id="3596012367874587041">Forritastillingar</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Kerfisstjóri hefur lokað á þetta forrit</translation>
 <translation id="3608932978122581043">Inntaksstefna</translation>
@@ -1977,6 +1975,7 @@
 <translation id="7334320624316649418">Endu&amp;rtaka nýja röðun</translation>
 <translation id="7335157162773372339">Getur beðið um að nota myndavélina</translation>
 <translation id="7337248890521463931">Sýna fleiri línur</translation>
+<translation id="7337418456231055214">Var sýndarkortsnúmerið ekki útfyllt? Smelltu á upplýsingar kortsins til að afrita. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Ekki í boði fyrir stýrikerfið þitt.</translation>
 <translation id="733923710415886693">Vottorð vefþjóns var ekki birt í gegnum gagnsæi vottorðs.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb
index f9a6e0d..af91435d 100644
--- a/components/strings/components_strings_it.xtb
+++ b/components/strings/components_strings_it.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pausa</translation>
 <translation id="1181037720776840403">Rimuovi</translation>
 <translation id="1186201132766001848">Controlla password</translation>
-<translation id="1195210374336998651">Vai alle impostazioni dell'app</translation>
 <translation id="1195558154361252544">Le notifiche vengono bloccate automaticamente per tutti i siti, tranne per quelli che consenti tu</translation>
 <translation id="1197088940767939838">Arancione</translation>
 <translation id="1201402288615127009">Avanti</translation>
@@ -840,7 +839,6 @@
 <translation id="3587738293690942763">Medio</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Puoi reimpostare il tuo gruppo in qualsiasi momento. Ci vorrà circa un giorno per unirsi a un nuovo gruppo.}=1{Puoi reimpostare il tuo gruppo in qualsiasi momento. Ci vorrà circa un giorno per unirsi a un nuovo gruppo.}one{Puoi reimpostare il tuo gruppo in qualsiasi momento. Ci vorrà {NUM_DAYS} giorno per unirsi a un nuovo gruppo.}other{Puoi reimpostare il tuo gruppo in qualsiasi momento. Ci vorranno {NUM_DAYS} giorni per unirsi a un nuovo gruppo.}}</translation>
-<translation id="3596012367874587041">Impostazioni app</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Applicazione bloccata dal tuo amministratore</translation>
 <translation id="3608932978122581043">Fornisci orientamento</translation>
@@ -1973,6 +1971,7 @@
 <translation id="7334320624316649418">&amp;Ripeti ridisposizione</translation>
 <translation id="7335157162773372339">Può richiedere l'autorizzazione per utilizzare la videocamera</translation>
 <translation id="7337248890521463931">Mostra più righe</translation>
+<translation id="7337418456231055214">Il numero della carta virtuale non è stato compilato? Fai clic sui dettagli della carta per copiarli. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Non disponibile sulla piattaforma in uso.</translation>
 <translation id="733923710415886693">Il certificato del server non è stato reso pubblico tramite Certificate Transparency.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb
index 987ce7e7..4e24717 100644
--- a/components/strings/components_strings_iw.xtb
+++ b/components/strings/components_strings_iw.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">השהיה</translation>
 <translation id="1181037720776840403">הסרה</translation>
 <translation id="1186201132766001848">בדיקת הסיסמאות</translation>
-<translation id="1195210374336998651">להגדרות האפליקציה</translation>
 <translation id="1195558154361252544">הצגת ההודעות חסומה באופן אוטומטי בכל האתרים, מלבד האתרים שבהם היא אושרה</translation>
 <translation id="1197088940767939838">כתום</translation>
 <translation id="1201402288615127009">הבא</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">אמצעי</translation>
 <translation id="3592413004129370115">Italian (Envelope)‎</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ניתן לאפס את הקבוצה מתי שרוצים. הצטרפות לקבוצה חדשה נמשכת סביב יום אחד.}=1{ניתן לאפס את הקבוצה מתי שרוצים. הצטרפות לקבוצה חדשה נמשכת סביב יום אחד.}two{ניתן לאפס את הקבוצה מתי שרוצים. הצטרפות לקבוצה חדשה נמשכת סביב יומיים ({NUM_DAYS}).}many{ניתן לאפס את הקבוצה מתי שרוצים. הצטרפות לקבוצה חדשה נמשכת סביב {NUM_DAYS} ימים.}other{ניתן לאפס את הקבוצה מתי שרוצים. הצטרפות לקבוצה חדשה נמשכת סביב {NUM_DAYS} ימים.}}</translation>
-<translation id="3596012367874587041">הגדרות האפליקציה</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">האפליקציה נחסמה על ידי מנהל המערכת</translation>
 <translation id="3608932978122581043">כיוון הזנה</translation>
@@ -1980,6 +1978,7 @@
 <translation id="7334320624316649418">&amp;ביצוע מחדש של שינוי סדר</translation>
 <translation id="7335157162773372339">האתר יכול לבקש הרשאה להשתמש במצלמה</translation>
 <translation id="7337248890521463931">אני רוצה לראות יותר שורות</translation>
+<translation id="7337418456231055214">מספר הכרטיס הווירטואלי לא הוזן? לוחצים על פרטי הכרטיס כדי להעתיק. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">לא זמין בפלטפורמה שלך.</translation>
 <translation id="733923710415886693">אישור השרת לא נחשף דרך 'שקיפות אישורים'.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index 9ce5c24c..e4bed3d 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">一時停止</translation>
 <translation id="1181037720776840403">削除</translation>
 <translation id="1186201132766001848">パスワードを確認</translation>
-<translation id="1195210374336998651">アプリの設定に移動</translation>
 <translation id="1195558154361252544">許可したサイトを除くすべてのサイトで通知を自動的にブロックします</translation>
 <translation id="1197088940767939838">オレンジ</translation>
 <translation id="1201402288615127009">次へ</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">中</translation>
 <translation id="3592413004129370115">Italian(封筒)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{グループはいつでもリセットできます。新しいグループに分類されるまでには約 1 日かかります。}=1{グループはいつでもリセットできます。新しいグループに分類されるまでには約 1 日かかります。}other{グループはいつでもリセットできます。新しいグループに分類されるまでには {NUM_DAYS} 日かかります。}}</translation>
-<translation id="3596012367874587041">アプリの設定</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />、<ph name="DOMAIN" />、<ph name="TIME" /></translation>
 <translation id="3603507503523709">アプリケーションは管理者によってブロックされています</translation>
 <translation id="3608932978122581043">給紙方向</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb
index fdcd6d7..34ce86b 100644
--- a/components/strings/components_strings_ka.xtb
+++ b/components/strings/components_strings_ka.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">პაუზა</translation>
 <translation id="1181037720776840403">ამოშლა</translation>
 <translation id="1186201132766001848">პაროლების შემოწმება</translation>
-<translation id="1195210374336998651">აპის პარამეტრებზე გადასვლა</translation>
 <translation id="1195558154361252544">შეტყობინებები ავტომატურად დაბლოკილია ყველა საიტისთვის, გარდა თქვენ მიერ დაშვებულისა</translation>
 <translation id="1197088940767939838">ნარინჯისფერი</translation>
 <translation id="1201402288615127009">შემდეგი</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">შუა</translation>
 <translation id="3592413004129370115">Italian (კონვერტი)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{თქვენი ჯგუფის გადაყენება ნებისმიერ დროს შეგიძლიათ. ახალ ჯგუფში გაწევრიანებს დაახლოებით ერთი დღე სჭირდება.}=1{თქვენი ჯგუფის გადაყენება ნებისმიერ დროს შეგიძლიათ. ახალ ჯგუფში გაწევრიანებს დაახლოებით ერთი დღე სჭირდება.}other{თქვენი ჯგუფის გადაყენება ნებისმიერ დროს შეგიძლიათ. ახალ ჯგუფში გაწევრიანებს დაახლოებით {NUM_DAYS} დღე სჭირდება.}}</translation>
-<translation id="3596012367874587041">აპის პარამეტრები</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">აპლიკაცია დაბლოკილია თქვენი ადმინისტრატორის მიერ</translation>
 <translation id="3608932978122581043">მიწოდების ორიენტაცია</translation>
diff --git a/components/strings/components_strings_kk.xtb b/components/strings/components_strings_kk.xtb
index aed7c1f9..0ed1c13 100644
--- a/components/strings/components_strings_kk.xtb
+++ b/components/strings/components_strings_kk.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Кідірту</translation>
 <translation id="1181037720776840403">Өшіру</translation>
 <translation id="1186201132766001848">Құпия сөздерді тексеру</translation>
-<translation id="1195210374336998651">Қолданба параметрлеріне өту</translation>
 <translation id="1195558154361252544">Сіз рұқсат еткеннен басқа сайттар үшін хабарландырулар автоматты түрде бөгелді.</translation>
 <translation id="1197088940767939838">Қызғылт сары</translation>
 <translation id="1201402288615127009">Келесі</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Ортасы</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Топ параметрлерін кез келген уақытта бастапқы күйге қайтара аласыз. Жаңа топқа қосылу шамамен бір күн алады.}=1{Топ параметрлерін кез келген уақытта бастапқы күйге қайтара аласыз. Жаңа топқа қосылу шамамен бір күн алады.}other{Топ параметрлерін кез келген уақытта бастапқы күйге қайтара аласыз. Жаңа топқа қосылу шамамен {NUM_DAYS} күн алады.}}</translation>
-<translation id="3596012367874587041">Қолданба параметрлері</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Қолданбаны әкімші бөгеген</translation>
 <translation id="3608932978122581043">Беру бағыты</translation>
diff --git a/components/strings/components_strings_km.xtb b/components/strings/components_strings_km.xtb
index c1ae9a0..805c7dd 100644
--- a/components/strings/components_strings_km.xtb
+++ b/components/strings/components_strings_km.xtb
@@ -71,7 +71,6 @@
 <translation id="1178581264944972037">ផ្អាក</translation>
 <translation id="1181037720776840403">ដកចេញ</translation>
 <translation id="1186201132766001848">ពិនិត្យពាក្យសម្ងាត់</translation>
-<translation id="1195210374336998651">ចូលទៅកាន់​ការកំណត់កម្មវិធី</translation>
 <translation id="1195558154361252544">ការជូនដំណឹង​ត្រូវបានទប់ស្កាត់​ដោយស្វ័យប្រវត្តិ​សម្រាប់គេហទំព័រ​ទាំងអស់ លើកលែងតែ​គេហទំព័រ​ដែលអ្នក​អនុញ្ញាត​ប៉ុណ្ណោះ</translation>
 <translation id="1197088940767939838">ទឹក​ក្រូច</translation>
 <translation id="1201402288615127009">បន្ទាប់</translation>
@@ -846,7 +845,6 @@
 <translation id="3587738293690942763">កណ្តាល</translation>
 <translation id="3592413004129370115">Italian (ស្រោម​សំបុត្រ)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{អ្នកអាច​កំណត់​ក្រុមរបស់អ្នក​ឡើងវិញ​បានគ្រប់ពេល។ ចំណាយពេលប្រហែលមួយថ្ងៃ ដើម្បីចូលរួមក្រុមថ្មី។}=1{អ្នកអាច​កំណត់​ក្រុមរបស់អ្នក​ឡើងវិញ​បានគ្រប់ពេល។ ចំណាយពេលប្រហែលមួយថ្ងៃ ដើម្បីចូលរួមក្រុមថ្មី។}other{អ្នកអាច​កំណត់​ក្រុមរបស់អ្នក​ឡើងវិញ​បានគ្រប់ពេល។ ចំណាយពេលប្រហែល {NUM_DAYS} ថ្ងៃ ដើម្បីចូលរួមក្រុមថ្មី។}}</translation>
-<translation id="3596012367874587041">ការកំណត់កម្មវិធី</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">កម្មវិធី​ដែលទប់ស្កាត់​ដោយ​អ្នកគ្រប់គ្រង​របស់អ្នក</translation>
 <translation id="3608932978122581043">កំណត់ទិស</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb
index 8eac933..40a58be0 100644
--- a/components/strings/components_strings_kn.xtb
+++ b/components/strings/components_strings_kn.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">ವಿರಾಮ</translation>
 <translation id="1181037720776840403">ತೆಗೆದುಹಾಕು</translation>
 <translation id="1186201132766001848">ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
-<translation id="1195210374336998651">ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ</translation>
 <translation id="1195558154361252544">ನೀವು ಅನುಮತಿಸಿರುವ ಸೈಟ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಉಳಿದ ಎಲ್ಲಾ ಸೈಟ್‌ಗಳಿಂದ ಬರುವ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
 <translation id="1197088940767939838">ಕಿತ್ತಳೆ</translation>
 <translation id="1201402288615127009">ಮುಂದೆ</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">ಮಧ್ಯಮ</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಗುಂಪನ್ನು ರೀಸೆಟ್ ಮಾಡಬಹುದು. ಹೊಸ ಗುಂಪಿಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳಲು ಒಂದು ದಿನದ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.}=1{ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಗುಂಪನ್ನು ರೀಸೆಟ್ ಮಾಡಬಹುದು. ಹೊಸ ಗುಂಪಿಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳಲು ಒಂದು ದಿನದ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.}one{ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಗುಂಪನ್ನು ರೀಸೆಟ್ ಮಾಡಬಹುದು. ಹೊಸ ಗುಂಪಿಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳಲು {NUM_DAYS} ದಿನಗಳ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.}other{ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಗುಂಪನ್ನು ರೀಸೆಟ್ ಮಾಡಬಹುದು. ಹೊಸ ಗುಂಪಿಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳಲು {NUM_DAYS} ದಿನಗಳ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.}}</translation>
-<translation id="3596012367874587041">ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಿದ್ದಾರೆ</translation>
 <translation id="3608932978122581043">ಫೀಡ್ ಓರಿಯಂಟೇಶನ್</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index 87d811e..9c66533 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">일시중지</translation>
 <translation id="1181037720776840403">삭제</translation>
 <translation id="1186201132766001848">비밀번호 확인</translation>
-<translation id="1195210374336998651">앱 설정으로 이동</translation>
 <translation id="1195558154361252544">허용한 사이트를 제외한 모든 사이트의 알림이 자동으로 차단됩니다.</translation>
 <translation id="1197088940767939838">오렌지색</translation>
 <translation id="1201402288615127009">다음</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">보통</translation>
 <translation id="3592413004129370115">Italian(봉투)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{언제든지 그룹을 재설정할 수 있습니다. 새 그룹에 참여하는 데 하루 정도가 소요됩니다.}=1{언제든지 그룹을 재설정할 수 있습니다. 새 그룹에 참여하는 데 하루 정도가 소요됩니다.}other{언제든지 그룹을 재설정할 수 있습니다. 새 그룹에 참여하는 데 {NUM_DAYS}일이 소요됩니다.}}</translation>
-<translation id="3596012367874587041">앱 설정</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">관리자가 차단한 애플리케이션</translation>
 <translation id="3608932978122581043">종이 공급 방향</translation>
@@ -1968,6 +1966,7 @@
 <translation id="7334320624316649418">재정렬 다시 실행(&amp;R)</translation>
 <translation id="7335157162773372339">카메라 사용을 요청할 수 있음</translation>
 <translation id="7337248890521463931">자막 펼치기</translation>
+<translation id="7337418456231055214">가상 카드 번호가 자동 완성되지 않았나요? 복사할 카드 세부정보를 클릭하세요. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">사용 중인 플랫폼에서는 제공되지 않습니다.</translation>
 <translation id="733923710415886693">서버 인증서가 인증서 투명성 정책을 사용하여 공개되지 않았습니다.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_ky.xtb b/components/strings/components_strings_ky.xtb
index 07156464..d9c6f968 100644
--- a/components/strings/components_strings_ky.xtb
+++ b/components/strings/components_strings_ky.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Бир азга токтотуу</translation>
 <translation id="1181037720776840403">Алып салуу</translation>
 <translation id="1186201132766001848">Сырсөздөрдү текшерүү</translation>
-<translation id="1195210374336998651">Колдонмонун жөндөөлөрүнө өтүү</translation>
 <translation id="1195558154361252544">Билдирмелер өзүңүз белгилеген сайттардан тышкары бардык сайттар үчүн автоматтык түрдө бөгөттөлгөн</translation>
 <translation id="1197088940767939838">Кызгылт сары</translation>
 <translation id="1201402288615127009">Кийинки</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Орто</translation>
 <translation id="3592413004129370115">Italian (Конверт)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Тобуңузду каалаган убакта баштапкы абалга келтирсеңиз болот. Жаңы топко кошулуу үчүн 1 күндөй убакыт кетет.}=1{Тобуңузду каалаган убакта баштапкы абалга келтирсеңиз болот. Жаңы топко кошулуу үчүн 1 күндөй убакыт кетет.}other{Тобуңузду каалаган убакта баштапкы абалга келтирсеңиз болот. Жаңы топко кошулуу үчүн {NUM_DAYS} күндөй убакыт кетет.}}</translation>
-<translation id="3596012367874587041">Колдонмонун жөндөөлөрү</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Колдонмо администраторуңуз тарабынан бөгөттөлдү</translation>
 <translation id="3608932978122581043">Түрмөктүн багыты</translation>
diff --git a/components/strings/components_strings_lo.xtb b/components/strings/components_strings_lo.xtb
index f38556e..e144c4b 100644
--- a/components/strings/components_strings_lo.xtb
+++ b/components/strings/components_strings_lo.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">ຢຸດຊົ່ວຄາວ</translation>
 <translation id="1181037720776840403">ລຶບອອກ</translation>
 <translation id="1186201132766001848">ກວດເບິ່ງລະຫັດຜ່ານ</translation>
-<translation id="1195210374336998651">ໄປຫາການຕັ້ງຄ່າແອັບ</translation>
 <translation id="1195558154361252544">ການແຈ້ງເຕືອນຖືກບລັອກໄວ້ໂດຍອັດຕະໂນມັດສຳລັບເວັບໄຊທັງໝົດ ຍົກເວັ້ນເວັບໄຊທີ່ທ່ານອະນຸຍາດ</translation>
 <translation id="1197088940767939838">ສີໝາກກ້ຽງ</translation>
 <translation id="1201402288615127009">ຕໍ່ໄປ</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">ເຄິ່ງກາງ</translation>
 <translation id="3592413004129370115">Italian (ຊອງຈົດໝາຍ)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ທ່ານສາມາດຣີເຊັດກຸ່ມຂອງທ່ານຕອນໃດກໍໄດ້. ມັນໃຊ້ເວລາປະມານໜຶ່ງມື້ເພື່ອເຂົ້າຮ່ວມກຸ່ມໃໝ່.}=1{ທ່ານສາມາດຣີເຊັດກຸ່ມຂອງທ່ານຕອນໃດກໍໄດ້. ມັນໃຊ້ເວລາປະມານໜຶ່ງມື້ເພື່ອເຂົ້າຮ່ວມກຸ່ມໃໝ່.}other{ທ່ານສາມາດຣີເຊັດກຸ່ມຂອງທ່ານຕອນໃດກໍໄດ້. ມັນໃຊ້ເວລາປະມານ {NUM_DAYS} ມື້ເພື່ອເຂົ້າຮ່ວມກຸ່ມໃໝ່.}}</translation>
-<translation id="3596012367874587041">ການຕັ້ງຄ່າແອັບ</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານໄດ້ບລັອກແອັບພລິເຄຊັນ</translation>
 <translation id="3608932978122581043">ປ້ອນເຈ້ຍຕາມທິດທາງ</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index 4b1674e..0de33fa9 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pristabdyti</translation>
 <translation id="1181037720776840403">Pašalinti</translation>
 <translation id="1186201132766001848">Patikrinti slaptažodžius</translation>
-<translation id="1195210374336998651">Eiti į programos nustatymus</translation>
 <translation id="1195558154361252544">Pranešimai automatiškai blokuojami visose svetainėse, išskyrus svetaines, kuriose leidote rodyti</translation>
 <translation id="1197088940767939838">Oranžinė</translation>
 <translation id="1201402288615127009">Kitas</translation>
@@ -844,7 +843,6 @@
 <translation id="3587738293690942763">Vidurys</translation>
 <translation id="3592413004129370115">„Italian“ (vokas)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Grupę bet kuriuo metu galite nustatyti iš naujo. Prisijungimas prie naujos grupės užtruks maždaug dieną.}=1{Grupę bet kuriuo metu galite nustatyti iš naujo. Prisijungimas prie naujos grupės užtruks maždaug dieną.}one{Grupę bet kuriuo metu galite nustatyti iš naujo. Prisijungimas prie naujos grupės užtruks {NUM_DAYS} dieną.}few{Grupę bet kuriuo metu galite nustatyti iš naujo. Prisijungimas prie naujos grupės užtruks {NUM_DAYS} dienas.}many{Grupę bet kuriuo metu galite nustatyti iš naujo. Prisijungimas prie naujos grupės užtruks {NUM_DAYS} dienos.}other{Grupę bet kuriuo metu galite nustatyti iš naujo. Prisijungimas prie naujos grupės užtruks {NUM_DAYS} dienų.}}</translation>
-<translation id="3596012367874587041">Programos nustatymai</translation>
 <translation id="3600246354004376029">„<ph name="TITLE" />“, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Programą užblokavo administratorius</translation>
 <translation id="3608932978122581043">Pateikti orientaciją</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index 2a155c7..618e354 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pauzēt</translation>
 <translation id="1181037720776840403">Noņemt</translation>
 <translation id="1186201132766001848">Pārbaudīt paroles</translation>
-<translation id="1195210374336998651">Pāriet uz lietotnes iestatījumiem</translation>
 <translation id="1195558154361252544">Paziņojumi tiek automātiski bloķēti visās vietnēs, izņemot tās, kurās atļāvāt to rādīšanu.</translation>
 <translation id="1197088940767939838">Oranža</translation>
 <translation id="1201402288615127009">Tālāk</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">vidējais</translation>
 <translation id="3592413004129370115">Italian (aploksne)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Jebkurā laikā varat atiestatīt grupu. Pievienošanās jaunai grupai var ilgt aptuveni dienu.}=1{Jebkurā laikā varat atiestatīt grupu. Pievienošanās jaunai grupai var ilgt aptuveni dienu.}zero{Jebkurā laikā varat atiestatīt grupu. Pievienošanās jaunai grupai var ilgt {NUM_DAYS} dienas.}one{Jebkurā laikā varat atiestatīt grupu. Pievienošanās jaunai grupai var ilgt {NUM_DAYS} dienu.}other{Jebkurā laikā varat atiestatīt grupu. Pievienošanās jaunai grupai var ilgt {NUM_DAYS} dienas.}}</translation>
-<translation id="3596012367874587041">Lietotnes iestatījumi</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Lietojumprogrammu bloķēja jūsu administrators</translation>
 <translation id="3608932978122581043">Padeves virziens</translation>
@@ -1976,6 +1974,7 @@
 <translation id="7334320624316649418">&amp;Atcelt pārkārtošanas atsaukšanu</translation>
 <translation id="7335157162773372339">Var pieprasīt atļauju izmantot jūsu kameru</translation>
 <translation id="7337248890521463931">Rādīt vairāk rindu</translation>
+<translation id="7337418456231055214">Vai nav ievadīts virtuālās kartes numurs? Noklikšķiniet uz kartes informācijas, lai to kopētu. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Nav pieejams jūsu platformā.</translation>
 <translation id="733923710415886693">Servera sertifikāts netika atklāts, izmantojot sertifikāta pārredzamību.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_mk.xtb b/components/strings/components_strings_mk.xtb
index 5d11b28..86189fd6 100644
--- a/components/strings/components_strings_mk.xtb
+++ b/components/strings/components_strings_mk.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Пауза</translation>
 <translation id="1181037720776840403">Отстрани</translation>
 <translation id="1186201132766001848">Провери ги лозинките</translation>
-<translation id="1195210374336998651">Одете во постаките за апликацијата</translation>
 <translation id="1195558154361252544">Известувањата се автоматски блокирани за сите сајтови, освен за оние за коишто сте ги дозволиле</translation>
 <translation id="1197088940767939838">Портокалова</translation>
 <translation id="1201402288615127009">Следно</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Средна</translation>
 <translation id="3592413004129370115">Italian (плик)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Може да ја рестирате групата во секое време. Потребен е околу еден ден за да се придружите на нова група.}=1{Може да ја рестирате групата во секое време. Потребен е околу еден ден за да се придружите на нова група.}one{Може да ја рестирате групата во секое време. Потребен е околу {NUM_DAYS} ден за да се придружите на нова група.}other{Може да ја рестирате групата во секое време. Потребни се околу {NUM_DAYS} дена за да се придружите на нова група.}}</translation>
-<translation id="3596012367874587041">Поставки за апликацијата</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Администраторот ја блокирал апликацијата</translation>
 <translation id="3608932978122581043">Одржи ја ориентацијата</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index c8aaaf5a..bc5d305 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">താൽക്കാലികമായി നിർത്തുക</translation>
 <translation id="1181037720776840403">നീക്കംചെയ്യൂ</translation>
 <translation id="1186201132766001848">പാസ്‌വേഡ് പരിശോധിക്കൂ</translation>
-<translation id="1195210374336998651">ആപ്പ് ക്രമീകരണത്തിലേക്ക് പോകുക</translation>
 <translation id="1195558154361252544">നിങ്ങൾ അനുവദിക്കുന്ന സൈറ്റുകൾക്ക് ഒഴികെ മറ്റ് എല്ലാ സൈറ്റുകൾക്കും അറിയിപ്പുകൾ സ്വയമേവ ബ്ലോക്ക് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="1197088940767939838">ഓറഞ്ച്</translation>
 <translation id="1201402288615127009">അടുത്തത്</translation>
@@ -841,7 +840,6 @@
 <translation id="3587738293690942763">മദ്ധ്യം</translation>
 <translation id="3592413004129370115">ഇറ്റാലിയൻ (എൻവലപ്പ്)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{നിങ്ങളുടെ ഗ്രൂപ്പ് ഏതുസമയത്തും റീസെറ്റ് ചെയ്യാം. പുതിയ ഗ്രൂപ്പിൽ ചേരാൻ ഒരു ദിവസമെടുക്കും.}=1{നിങ്ങളുടെ ഗ്രൂപ്പ് ഏതുസമയത്തും റീസെറ്റ് ചെയ്യാം. പുതിയ ഗ്രൂപ്പിൽ ചേരാൻ ഒരു ദിവസമെടുക്കും.}other{നിങ്ങളുടെ ഗ്രൂപ്പ് ഏതുസമയത്തും റീസെറ്റ് ചെയ്യാം. പുതിയ ഗ്രൂപ്പിൽ ചേരാൻ {NUM_DAYS} ദിവസമെടുക്കും.}}</translation>
-<translation id="3596012367874587041">ആപ്പ് ക്രമീകരണം</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ആപ്പ് നിങ്ങളുടെ അഡ്‌മിൻ ബ്ലോക്ക് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="3608932978122581043">ഓറിയന്റേഷൻ ഫീഡ് ചെയ്യുക</translation>
diff --git a/components/strings/components_strings_mn.xtb b/components/strings/components_strings_mn.xtb
index 334dcd5..ced06ee 100644
--- a/components/strings/components_strings_mn.xtb
+++ b/components/strings/components_strings_mn.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Түр зогсоох</translation>
 <translation id="1181037720776840403">Хасах</translation>
 <translation id="1186201132766001848">Нууц үгийг шалгах</translation>
-<translation id="1195210374336998651">Аппын тохиргоо руу очно уу</translation>
 <translation id="1195558154361252544">Таны зөвшөөрөх сайтаас бусад бүх сайтын мэдэгдлийг автоматаар хориглоно</translation>
 <translation id="1197088940767939838">Улбар шар</translation>
 <translation id="1201402288615127009">Дараагийнх</translation>
@@ -844,7 +843,6 @@
 <translation id="3587738293690942763">Дунд</translation>
 <translation id="3592413004129370115">Итали (Дугтуй)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Та бүлгээ хүссэн үедээ шинэчлэх боломжтой. Шинэ бүлэгт нэгдэхэд ойролцоогоор 1 өдөр зарцуулдаг.}=1{Та бүлгээ хүссэн үедээ шинэчлэх боломжтой. Шинэ бүлэгт нэгдэхэд ойролцоогоор 1 өдөр зарцуулдаг.}other{Та бүлгээ хүссэн үедээ шинэчлэх боломжтой. Шинэ бүлэгт нэгдэхэд ойролцоогоор {NUM_DAYS} өдөр зарцуулдаг.}}</translation>
-<translation id="3596012367874587041">Aппын тохиргоо</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Администратор аппликэйшнийг блоклосон</translation>
 <translation id="3608932978122581043">Чиглэлийг заах</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index 61a75fa..fbd4b180 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">विराम द्या</translation>
 <translation id="1181037720776840403">काढून टाका</translation>
 <translation id="1186201132766001848">पासवर्ड तपासा</translation>
-<translation id="1195210374336998651">अ‍ॅप सेटिंग्जवर जा</translation>
 <translation id="1195558154361252544">तुम्ही अनुमती दिलेली साइट वगळता सर्व साइटसाठी सूचना आपोआप ब्लॉक केल्या आहेत</translation>
 <translation id="1197088940767939838">नारिंगी</translation>
 <translation id="1201402288615127009">पुढील</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">मध्य</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{You can reset your group at any time. It takes about a day to join a new group.}=1{तुम्ही तुमचा गट कधीही रीसेट करू शकता. नवीन गटामध्ये सामील होण्यासाठी एक दिवस लागू शकतो.}other{तुम्ही तुमचा गट कधीही रीसेट करू शकता. नवीन गटामध्ये सामील होण्यासाठी {NUM_DAYS} दिवस लागू शकतात.}}</translation>
-<translation id="3596012367874587041">अ‍ॅप सेटिंग्ज</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">तुमच्या अ‍ॅडमिनिस्ट्रेटरने अ‍ॅप्लिकेशन ब्लॉक केले आहे</translation>
 <translation id="3608932978122581043">ओरिएंटेशन फीड करा</translation>
@@ -1977,6 +1975,7 @@
 <translation id="7334320624316649418">&amp;पुनर्क्रमित करा पुन्हा करा</translation>
 <translation id="7335157162773372339">तुमचा कॅमेरा वापरण्याची विनंती करू शकते</translation>
 <translation id="7337248890521463931">आणखी रेषा दाखवा</translation>
+<translation id="7337418456231055214">व्हर्च्युअल कार्ड नंबर भरला नाही का? कॉपी करण्यासाठी कार्डच्या तपशिलांवर क्लिक करा. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">तुमच्या प्लॅटफॉर्मवर उपलब्ध नाही.</translation>
 <translation id="733923710415886693">सर्टिफिकेट पारदर्शकतेअंतर्गत सर्व्हरचे सर्टिफिकेट उघड केले नाही.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb
index 889e4dd..0f4023fd 100644
--- a/components/strings/components_strings_ms.xtb
+++ b/components/strings/components_strings_ms.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Jeda</translation>
 <translation id="1181037720776840403">Alih keluar</translation>
 <translation id="1186201132766001848">Semak Kata Laluan</translation>
-<translation id="1195210374336998651">Pergi ke tetapan apl</translation>
 <translation id="1195558154361252544">Pemberitahuan disekat secara automatik untuk semua tapak kecuali tapak yang anda benarkan</translation>
 <translation id="1197088940767939838">Oren</translation>
 <translation id="1201402288615127009">Seterusnya</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Tengah</translation>
 <translation id="3592413004129370115">Itali (Sampul Surat)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Anda boleh menetapkan semula kumpulan anda pada bila-bila masa. Proses menyertai kumpulan baharu mengambil masa kira-kira sehari.}=1{Anda boleh menetapkan semula kumpulan anda pada bila-bila masa. Proses menyertai kumpulan baharu mengambil masa kira-kira sehari.}other{Anda boleh menetapkan semula kumpulan anda pada bila-bila masa. Proses menyertai kumpulan baharu mengambil masa kira-kira {NUM_DAYS} hari.}}</translation>
-<translation id="3596012367874587041">Tetapan apl</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikasi disekat oleh pentadbir anda</translation>
 <translation id="3608932978122581043">Orientasi suapan</translation>
@@ -1978,6 +1976,7 @@
 <translation id="7334320624316649418">&amp;Buat semula susun semula</translation>
 <translation id="7335157162773372339">Boleh meminta untuk menggunakan kamera anda</translation>
 <translation id="7337248890521463931">Tunjukkan lagi baris</translation>
+<translation id="7337418456231055214">Nombor kad maya tidak diisikan? Klik butiran kad untuk disalin. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Tidak tersedia pada platform anda.</translation>
 <translation id="733923710415886693">Sijil pelayan tidak didedahkan melalui Ketelusan Sijil.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_my.xtb b/components/strings/components_strings_my.xtb
index b522ab3..551460a 100644
--- a/components/strings/components_strings_my.xtb
+++ b/components/strings/components_strings_my.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">ဆိုင်းငံ့ထားရန်</translation>
 <translation id="1181037720776840403">ဖယ်ရှားရန်</translation>
 <translation id="1186201132766001848">စကားဝှက်များ စစ်ဆေးရန်</translation>
-<translation id="1195210374336998651">အက်ပ်ဆက်တင်များသို့ သွားရန်</translation>
 <translation id="1195558154361252544">သင်ခွင့်ပြုထားသည့် ဝဘ်ဆိုက်များအတွက်မှလွဲ၍ အကြောင်းကြားချက်များကို အလိုအလျောက် ပိတ်ထားသည်</translation>
 <translation id="1197088940767939838">လိမ္မော်ရောင်</translation>
 <translation id="1201402288615127009">ရှေ့သို့</translation>
@@ -844,7 +843,6 @@
 <translation id="3587738293690942763">အလယ်အလတ်</translation>
 <translation id="3592413004129370115">အီတလီ (စာအိတ်)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{သင့်အဖွဲ့ကို အချိန်မရွေး ပြင်ဆင်သတ်မှတ်နိုင်သည်။ အဖွဲ့သစ်တွင်ပါဝင်ရန် တစ်ရက် ကြာမြင့်သည်။}=1{သင့်အဖွဲ့ကို အချိန်မရွေး ပြင်ဆင်သတ်မှတ်နိုင်သည်။ အဖွဲ့သစ်တွင်ပါဝင်ရန် တစ်ရက် ကြာမြင့်သည်။}other{သင့်အဖွဲ့ကို အချိန်မရွေး ပြင်ဆင်သတ်မှတ်နိုင်သည်။ အဖွဲ့သစ်တွင်ပါဝင်ရန် {NUM_DAYS} ရက် ကြာမြင့်သည်။}}</translation>
-<translation id="3596012367874587041">အက်ပ်ဆက်တင်များ</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />၊ <ph name="DOMAIN" />၊ <ph name="TIME" /></translation>
 <translation id="3603507503523709">သင့်စီမံခန့်ခွဲသူက ပိတ်ထားသည့် အပလီကေးရှင်း</translation>
 <translation id="3608932978122581043">ဖိဒ်အနေအထား</translation>
@@ -1978,6 +1976,7 @@
 <translation id="7334320624316649418">&amp;ပြန်စီမှုကို ပြန်လုပ်ရန်</translation>
 <translation id="7335157162773372339">သင့်ကင်မရာသုံးရန် ခွင့်တောင်းနိုင်သည်</translation>
 <translation id="7337248890521463931">စာကြောင်းပိုပြရန်</translation>
+<translation id="7337418456231055214">ပကတိအသွင်ကတ် နံပါတ် ဖြည့်မထားဘူးလား။ မိတ္တူကူးရန် ကတ်အသေးစိတ်အချက်များကို နှိပ်နိုင်သည်။ <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">သင်အသုံးပြုနေသည့်စနစ်အတွက် မရနိုင်ပါ။</translation>
 <translation id="733923710415886693">ဆာဗာ၏အသိအမှတ်ပြုလက်မှတ်ကို အသိအမှတ်ပြုလက်မှတ်ပွင့်လင်းမြင်သာရှိမှုမှတစ်ဆင့် ဖော်ပြထားခြင်း မရှိပါ။</translation>
 <translation id="734600844861828519">၁၁x၁၅</translation>
diff --git a/components/strings/components_strings_ne.xtb b/components/strings/components_strings_ne.xtb
index bf233a0..9a26fc70 100644
--- a/components/strings/components_strings_ne.xtb
+++ b/components/strings/components_strings_ne.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">पज गर्नुहोस्</translation>
 <translation id="1181037720776840403">हटाउनुहोस्</translation>
 <translation id="1186201132766001848">पासवर्डहरूको जाँच गर्नुहोस्</translation>
-<translation id="1195210374336998651">एपका सेटिङमा जानुहोस्</translation>
 <translation id="1195558154361252544">तपाईंले अनुमति दिएका साइटबाहेक अन्य सबै साइटका सूचनाहरूलाई स्वतः रोक लगाइएको छ</translation>
 <translation id="1197088940767939838">सुन्तला रङ्ग</translation>
 <translation id="1201402288615127009">अर्को</translation>
@@ -840,7 +839,6 @@
 <translation id="3587738293690942763">मध्य भाग</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{तपाईं जुनसुकै बेला आफ्नो समूह रिसेट गर्न सक्नुहुन्छ। नयाँ समूहमा सामेल हुन झन्डै एक दिन लाग्छ।}=1{तपाईं जुनसुकै बेला आफ्नो समूह रिसेट गर्न सक्नुहुन्छ। नयाँ समूहमा सामेल हुन झन्डै एक दिन लाग्छ।}other{तपाईं जुनसुकै बेला आफ्नो समूह रिसेट गर्न सक्नुहुन्छ। नयाँ समूहमा सामेल हुन झन्डै {NUM_DAYS} दिन लाग्छ।}}</translation>
-<translation id="3596012367874587041">एपका सेटिङ</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">तपाईंका प्रशासकले रोक लगाउनुभएको एप</translation>
 <translation id="3608932978122581043">अभिमुखीकरण फिड गर्नुहोस्</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb
index 433a4b17..f8ab1220 100644
--- a/components/strings/components_strings_nl.xtb
+++ b/components/strings/components_strings_nl.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Onderbreken</translation>
 <translation id="1181037720776840403">Verwijderen</translation>
 <translation id="1186201132766001848">Wachtwoorden controleren</translation>
-<translation id="1195210374336998651">Ga naar app-instellingen</translation>
 <translation id="1195558154361252544">Meldingen zijn automatisch geblokkeerd voor alle sites, behalve de meldingen die je toestaat</translation>
 <translation id="1197088940767939838">Oranje</translation>
 <translation id="1201402288615127009">Volgende</translation>
@@ -836,7 +835,6 @@
 <translation id="3587738293690942763">Midden</translation>
 <translation id="3592413004129370115">Italian (envelop)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Je kunt je groep op elk moment resetten. Het duurt ongeveer 1 dag om aan een nieuwe groep deel te nemen.}=1{Je kunt je groep op elk moment resetten. Het duurt ongeveer 1 dag om aan een nieuwe groep deel te nemen.}other{Je kunt je groep op elk moment resetten. Het duurt {NUM_DAYS} dagen om aan een nieuwe groep deel te nemen.}}</translation>
-<translation id="3596012367874587041">App-instellingen</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">App geblokkeerd door je beheerder</translation>
 <translation id="3608932978122581043">Invoerrichting</translation>
@@ -1968,6 +1966,7 @@
 <translation id="7334320624316649418">&amp;Opnieuw volgorde wijzigen</translation>
 <translation id="7335157162773372339">Kan vragen of deze site je camera mag gebruiken</translation>
 <translation id="7337248890521463931">Meer regels bekijken</translation>
+<translation id="7337418456231055214">Virtueel kaartnummer niet ingevuld? Klik op de kaartgegevens om ze te kopiëren. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Niet beschikbaar op je platform.</translation>
 <translation id="733923710415886693">Het certificaat van de server is niet bekendgemaakt via Certificaattransparantie.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index a7666e8..95e924f 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Stans midlertidig</translation>
 <translation id="1181037720776840403">Fjern</translation>
 <translation id="1186201132766001848">Kontrollér passordene</translation>
-<translation id="1195210374336998651">Gå til appinnstillinger</translation>
 <translation id="1195558154361252544">Varsler blokkeres automatisk for alle nettsteder unntatt dem du tillater</translation>
 <translation id="1197088940767939838">Oransje</translation>
 <translation id="1201402288615127009">Neste</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Midtre</translation>
 <translation id="3592413004129370115">Italian (konvolutt)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Du kan tilbakestille gruppen din når som helst. Det tar omtrent én dag å bli med i en ny gruppe.}=1{Du kan tilbakestille gruppen din når som helst. Det tar omtrent én dag å bli med i en ny gruppe.}other{Du kan tilbakestille gruppen din når som helst. Det tar omtrent {NUM_DAYS} dager å bli med i en ny gruppe.}}</translation>
-<translation id="3596012367874587041">Appinnstillinger</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Programmet er blokkert av administratoren din</translation>
 <translation id="3608932978122581043">Feed-retning</translation>
diff --git a/components/strings/components_strings_or.xtb b/components/strings/components_strings_or.xtb
index f3ca1f2..a4de31e 100644
--- a/components/strings/components_strings_or.xtb
+++ b/components/strings/components_strings_or.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">ବିରତି</translation>
 <translation id="1181037720776840403">କାଢ଼ି ଦିଅନ୍ତୁ</translation>
 <translation id="1186201132766001848">ପାସ୍‌ୱାର୍ଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ</translation>
-<translation id="1195210374336998651">ଆପ ସେଟିଂସକୁ ଯାଆନ୍ତୁ</translation>
 <translation id="1195558154361252544">ଆପଣ ଅନୁମତି ଦେଇଥିବା ସାଇଟ୍‍ଗୁଡ଼ିକ ବ୍ୟତୀତ ସମସ୍ତ ସାଇଟ୍‌ରେ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
 <translation id="1197088940767939838">କମଳା</translation>
 <translation id="1201402288615127009">ପରବର୍ତ୍ତୀ</translation>
@@ -837,7 +836,6 @@
 <translation id="3587738293690942763">ମଧ୍ୟମ</translation>
 <translation id="3592413004129370115">ଇଟାଲିଆନ୍ (ଏନଭଲପ୍)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ଆପଣ ଯେ କୌଣସି ସମୟରେ ଆପଣଙ୍କ ଗୋଷ୍ଠୀ ରିସେଟ୍ କରିପାରିବେ। ଏକ ନୂଆ ଗୋଷ୍ଠୀରେ ଯୋଗ ଦେବା ପାଇଁ ଗୋଟିଏ ଦିନ ସମୟ ଲାଗିଥାଏ।}=1{ଆପଣ ଯେ କୌଣସି ସମୟରେ ଆପଣଙ୍କ ଗୋଷ୍ଠୀ ରିସେଟ୍ କରିପାରିବେ। ଏକ ନୂଆ ଗୋଷ୍ଠୀରେ ଯୋଗ ଦେବା ପାଇଁ ଗୋଟିଏ ଦିନ ସମୟ ଲାଗିଥାଏ।}other{ଆପଣ ଯେ କୌଣସି ସମୟରେ ଆପଣଙ୍କ ଗୋଷ୍ଠୀ ରିସେଟ୍ କରିପାରିବେ। ଏକ ନୂଆ ଗୋଷ୍ଠୀରେ ଯୋଗ ଦେବା ପାଇଁ {NUM_DAYS} ଦିନ ସମୟ ଲାଗିଥାଏ।}}</translation>
-<translation id="3596012367874587041">ଆପ ସେଟିଂସ</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ଆପଣଙ୍କ ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କ ଦ୍ୱାରା ଆପ୍ଲିକେସନ୍ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
 <translation id="3608932978122581043">ଫିଡ୍ ଓରିଏଣ୍ଟେସନ୍</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index bc501c3d..4b3328b6 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">ਰੋਕੋ</translation>
 <translation id="1181037720776840403">ਹਟਾਓ</translation>
 <translation id="1186201132766001848">ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰੋ</translation>
-<translation id="1195210374336998651">ਐਪ ਸੈਟਿੰਗਾਂ 'ਤੇ ਜਾਓ</translation>
 <translation id="1195558154361252544">ਸੂਚਨਾਵਾਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇਜਾਜ਼ਤ ਦਿੱਤੀਆਂ ਸਾਈਟਾਂ ਨੂੰ ਛੱਡ ਕੇ ਸਾਰੀਆਂ ਸਾਈਟਾਂ ਲਈ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਬਲਾਕ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ</translation>
 <translation id="1197088940767939838">ਸੰਤਰੀ</translation>
 <translation id="1201402288615127009">ਅੱਗੇ</translation>
@@ -837,7 +836,6 @@
 <translation id="3587738293690942763">ਵਿਚਕਾਰ</translation>
 <translation id="3592413004129370115">ਇਤਾਲਵੀ (ਲਿਫ਼ਾਫ਼ਾ)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣਾ ਗਰੁੱਪ ਰੀਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ ਨਵੇਂ ਗਰੁੱਪ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਲਗਭਗ ਇੱਕ ਦਿਨ ਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।}=1{ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣਾ ਗਰੁੱਪ ਰੀਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ ਨਵੇਂ ਗਰੁੱਪ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਲਗਭਗ ਇੱਕ ਦਿਨ ਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।}other{ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣਾ ਗਰੁੱਪ ਰੀਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ ਨਵੇਂ ਗਰੁੱਪ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਲਗਭਗ {NUM_DAYS} ਦਿਨਾਂ ਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।}}</translation>
-<translation id="3596012367874587041">ਐਪ ਸੈਟਿੰਗਾਂ</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਬਲਾਕ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="3608932978122581043">ਦਿਸ਼ਾਮਾਨ ਫ਼ੀਡ ਕਰੋ</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index bbff2f0..894cc1e39 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Wstrzymaj</translation>
 <translation id="1181037720776840403">Usuń</translation>
 <translation id="1186201132766001848">Sprawdź hasła</translation>
-<translation id="1195210374336998651">Otwórz ustawienia aplikacji</translation>
 <translation id="1195558154361252544">Powiadomienia są automatycznie blokowane w przypadku wszystkich stron, chyba że na nie zezwolisz</translation>
 <translation id="1197088940767939838">Pomarańczowy</translation>
 <translation id="1201402288615127009">Dalej</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">Średni</translation>
 <translation id="3592413004129370115">Italian (koperta)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Możesz zresetować grupę w dowolnym momencie. Dołączenie do nowej grupy trwa około 1 dnia.}=1{Możesz zresetować grupę w dowolnym momencie. Dołączenie do nowej grupy trwa około 1 dnia.}few{Możesz zresetować grupę w dowolnym momencie. Dołączenie do nowej grupy trwa około {NUM_DAYS} dni.}many{Możesz zresetować grupę w dowolnym momencie. Dołączenie do nowej grupy trwa około {NUM_DAYS} dni.}other{Możesz zresetować grupę w dowolnym momencie. Dołączenie do nowej grupy trwa około {NUM_DAYS} dnia.}}</translation>
-<translation id="3596012367874587041">Ustawienia aplikacji</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikacja zablokowana przez administratora</translation>
 <translation id="3608932978122581043">Orientacja podajnika</translation>
@@ -1968,6 +1966,7 @@
 <translation id="7334320624316649418">&amp;Ponów zmianę kolejności</translation>
 <translation id="7335157162773372339">Może prosić o dostęp do kamery</translation>
 <translation id="7337248890521463931">Pokaż więcej wierszy</translation>
+<translation id="7337418456231055214">Nie uzupełniono numeru karty wirtualnej? Kliknij dane karty, które chcesz skopiować. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Niedostępny na Twojej platformie.</translation>
 <translation id="733923710415886693">Certyfikat serwera nie został ujawniony przez protokół Certificate Transparency.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index 5f56c2e..407b1fb 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pausar</translation>
 <translation id="1181037720776840403">Remover</translation>
 <translation id="1186201132766001848">Verificar senhas</translation>
-<translation id="1195210374336998651">Acessar as configurações do app</translation>
 <translation id="1195558154361252544">As notificações são bloqueadas automaticamente para todos os sites, exceto aqueles que têm permissão</translation>
 <translation id="1197088940767939838">Laranja</translation>
 <translation id="1201402288615127009">Próxima</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">Meio</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Você pode redefinir o grupo a qualquer momento. Leva cerca de um dia para fazer parte de um novo grupo.}=1{Você pode redefinir o grupo a qualquer momento. Leva cerca de um dia para fazer parte de um novo grupo.}one{Você pode redefinir o grupo a qualquer momento. Leva {NUM_DAYS} dia para fazer parte de um novo grupo.}other{Você pode redefinir o grupo a qualquer momento. Leva {NUM_DAYS} dias para fazer parte de um novo grupo.}}</translation>
-<translation id="3596012367874587041">Configurações do app</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplicativo bloqueado pelo administrador</translation>
 <translation id="3608932978122581043">Fornecer orientação</translation>
@@ -1968,6 +1966,7 @@
 <translation id="7334320624316649418">&amp;Refazer reordenar</translation>
 <translation id="7335157162773372339">Pode pedir para usar a câmera</translation>
 <translation id="7337248890521463931">Mostrar mais linhas</translation>
+<translation id="7337418456231055214">O número do cartão virtual não foi preenchido? Clique nos detalhes do cartão para copiar. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Não está disponível na sua plataforma.</translation>
 <translation id="733923710415886693">O certificado do servidor não foi divulgado por meio da Transparência dos certificados.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index dfa2ae6..9376ff583 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pausa</translation>
 <translation id="1181037720776840403">Remover</translation>
 <translation id="1186201132766001848">Verificar palavras-passe</translation>
-<translation id="1195210374336998651">Aceda às definições da app</translation>
 <translation id="1195558154361252544">As notificações são bloqueadas automaticamente para todos os sites, exceto os que autorizar</translation>
 <translation id="1197088940767939838">Laranja</translation>
 <translation id="1201402288615127009">Seguinte</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Central</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Pode repor o grupo em qualquer altura. A adesão a um novo grupo demora cerca de um dia.}=1{Pode repor o grupo em qualquer altura. A adesão a um novo grupo demora cerca de um dia.}one{Pode repor o grupo em qualquer altura. A adesão a um novo grupo demora cerca de {NUM_DAYS} dia(s).}other{Pode repor o grupo em qualquer altura. A adesão a um novo grupo demora cerca de {NUM_DAYS} dias.}}</translation>
-<translation id="3596012367874587041">Definições da app</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">App bloqueada pelo seu administrador</translation>
 <translation id="3608932978122581043">Guiar a orientação</translation>
@@ -1977,6 +1975,7 @@
 <translation id="7334320624316649418">&amp;Refazer reordenação</translation>
 <translation id="7335157162773372339">Pode solicitar a utilização da câmara</translation>
 <translation id="7337248890521463931">Mostrar mais linhas</translation>
+<translation id="7337418456231055214">O número do cartão virtual não foi preenchido? Clique nos detalhes do cartão para copiar. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Indisponível na sua plataforma.</translation>
 <translation id="733923710415886693">O certificado do servidor não foi divulgado através da Transparência de certificados.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index deaadf39..abeacea 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Întrerupe</translation>
 <translation id="1181037720776840403">Elimină</translation>
 <translation id="1186201132766001848">Verifică parolele</translation>
-<translation id="1195210374336998651">Accesează setările aplicației</translation>
 <translation id="1195558154361252544">Notificările sunt blocate automat pentru toate site-urile, cu excepția celor pe care le accepți</translation>
 <translation id="1197088940767939838">Portocaliu</translation>
 <translation id="1201402288615127009">Înainte</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Central</translation>
 <translation id="3592413004129370115">Italian (Plic)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Poți reseta oricând grupul. Durează aproximativ o zi să te alături unui alt grup.}=1{Poți reseta oricând grupul. Durează aproximativ o zi să te alături unui alt grup.}few{Poți reseta oricând grupul. Durează aproximativ {NUM_DAYS} zile să te alături unui alt grup.}other{Poți reseta oricând grupul. Durează aproximativ {NUM_DAYS} de zile să te alături unui alt grup.}}</translation>
-<translation id="3596012367874587041">Setările aplicației</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplicația a fost blocată de administrator</translation>
 <translation id="3608932978122581043">Orientarea alimentării</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index 4201c30d..59a2b18 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Пауза</translation>
 <translation id="1181037720776840403">Удалить</translation>
 <translation id="1186201132766001848">Проверить пароли</translation>
-<translation id="1195210374336998651">Открыть настройки приложений</translation>
 <translation id="1195558154361252544">Уведомления со всех сайтов, кроме тех, которым вы предоставили отдельные разрешения, автоматически блокируются.</translation>
 <translation id="1197088940767939838">Оранжевый</translation>
 <translation id="1201402288615127009">Далее</translation>
@@ -838,7 +837,6 @@
 <translation id="3587738293690942763">Середина</translation>
 <translation id="3592413004129370115">Italian (конверт)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Вы можете в любое время сбросить настройки группы. Чтобы присоединиться к другой группе, потребуется примерно 1 день.}=1{Вы можете в любое время сбросить настройки группы. Чтобы присоединиться к другой группе, потребуется примерно 1 день.}one{Вы можете в любое время сбросить настройки группы. Чтобы присоединиться к другой группе, потребуется примерно {NUM_DAYS} день.}few{Вы можете в любое время сбросить настройки группы. Чтобы присоединиться к другой группе, потребуется примерно {NUM_DAYS} дня.}many{Вы можете в любое время сбросить настройки группы. Чтобы присоединиться к другой группе, потребуется примерно {NUM_DAYS} дней.}other{Вы можете в любое время сбросить настройки группы. Чтобы присоединиться к другой группе, потребуется около {NUM_DAYS} дня.}}</translation>
-<translation id="3596012367874587041">Настройки приложений</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Приложение заблокировано администратором</translation>
 <translation id="3608932978122581043">Задать ориентацию</translation>
@@ -1967,6 +1965,7 @@
 <translation id="7334320624316649418">&amp;Повторить изменение порядка</translation>
 <translation id="7335157162773372339">Разрешено отправлять запрос на использование камеры</translation>
 <translation id="7337248890521463931">Показать больше строк</translation>
+<translation id="7337418456231055214">Номер виртуальной карты не указан? Нажмите на реквизиты, чтобы скопировать их. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Недоступно на вашей платформе.</translation>
 <translation id="733923710415886693">Сертификат сервера не проходил проверку.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_si.xtb b/components/strings/components_strings_si.xtb
index 0405054f..cc72c709 100644
--- a/components/strings/components_strings_si.xtb
+++ b/components/strings/components_strings_si.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">විරාමය</translation>
 <translation id="1181037720776840403">ඉවත් කරන්න</translation>
 <translation id="1186201132766001848">මුරපද පරීක්‍ෂා කරන්න</translation>
-<translation id="1195210374336998651">යෙදුම් සැකසීම් වෙත යන්න</translation>
 <translation id="1195558154361252544">ඔබ අවසර දෙන ඒවා හැර සියලුම වෙබ් අඩවි සඳහා දැනුම්දීම් ස්වයංක්‍රීයව අවහිර කෙරෙති</translation>
 <translation id="1197088940767939838">තැඹිලි</translation>
 <translation id="1201402288615127009">ඊළඟ</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">මැද</translation>
 <translation id="3592413004129370115">Italian (ලියුම් කවරය)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ඔබට ඕනෑම වේලාවක ඔබගේ සමූහය යළි සැකසිය හැකිය. නව සමූහයකට එක් වීමට දිනක් පමණ ගත වේ.}=1{ඔබට ඕනෑම වේලාවක ඔබගේ සමූහය යළි සැකසිය හැකිය. නව සමූහයකට එක් වීමට දිනක් පමණ ගත වේ.}one{ඔබට ඕනෑම වේලාවක ඔබගේ සමූහය යළි සැකසිය හැකිය. නව සමූහයකට එක් වීමට දින {NUM_DAYS}ක් ගත වේ.}other{ඔබට ඕනෑම වේලාවක ඔබගේ සමූහය යළි සැකසිය හැකිය. නව සමූහයකට එක් වීමට දින {NUM_DAYS}ක් ගත වේ.}}</translation>
-<translation id="3596012367874587041">යෙදුම් සැකසීම්</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ඔබේ පරිපාලකයා යෙදුම අවහිර කර ඇත</translation>
 <translation id="3608932978122581043">පෝෂණ දිශානතිය</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 972099da..556d5f9 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pozastaviť</translation>
 <translation id="1181037720776840403">Odstrániť</translation>
 <translation id="1186201132766001848">Skontrolovať heslá</translation>
-<translation id="1195210374336998651">Prejsť do nastavení aplikácie</translation>
 <translation id="1195558154361252544">Upozornenia sú automaticky blokované pre všetky weby okrem tých, ktoré povolíte</translation>
 <translation id="1197088940767939838">Oranžová</translation>
 <translation id="1201402288615127009">Ďalej</translation>
@@ -836,7 +835,6 @@
 <translation id="3587738293690942763">Stred</translation>
 <translation id="3592413004129370115">Italian (obálka)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Skupinu môžete kedykoľvek resetovať. Pripojenie k novej skupine trvá približne deň.}=1{Skupinu môžete kedykoľvek resetovať. Pripojenie k novej skupine trvá približne deň.}few{Skupinu môžete kedykoľvek resetovať. Pripojenie k novej skupine trvá približne {NUM_DAYS} dni.}many{Skupinu môžete kedykoľvek resetovať. Pripojenie k novej skupine trvá približne {NUM_DAYS} dňa.}other{Skupinu môžete kedykoľvek resetovať. Pripojenie k novej skupine trvá približne {NUM_DAYS} dní.}}</translation>
-<translation id="3596012367874587041">Nastavenia aplikácie</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikácia bola zablokovaná vaším správcom</translation>
 <translation id="3608932978122581043">Orientácia zásobníka</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb
index 57092869..42b61216 100644
--- a/components/strings/components_strings_sl.xtb
+++ b/components/strings/components_strings_sl.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Prekini</translation>
 <translation id="1181037720776840403">Odstrani</translation>
 <translation id="1186201132766001848">Preveri gesla</translation>
-<translation id="1195210374336998651">V nastavitve aplikacije</translation>
 <translation id="1195558154361252544">Obvestila so samodejno blokirana za vsa spletna mesta, razen za tista z vašim dovoljenjem</translation>
 <translation id="1197088940767939838">Oranžna</translation>
 <translation id="1201402288615127009">Naprej</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">Srednje</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Skupino lahko kadar koli ponastavite. Pridružitev novi skupini traja približno en dan.}=1{Skupino lahko kadar koli ponastavite. Pridružitev novi skupini traja približno en dan.}one{Skupino lahko kadar koli ponastavite. Pridružitev novi skupini traja približno {NUM_DAYS} dan.}two{Skupino lahko kadar koli ponastavite. Pridružitev novi skupini traja približno {NUM_DAYS} dneva.}few{Skupino lahko kadar koli ponastavite. Pridružitev novi skupini traja približno {NUM_DAYS} dni.}other{Skupino lahko kadar koli ponastavite. Pridružitev novi skupini traja približno {NUM_DAYS} dni.}}</translation>
-<translation id="3596012367874587041">Nastavitve aplikacije</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikacijo je blokiral skrbnik</translation>
 <translation id="3608932978122581043">Usmerjenost podajanja</translation>
diff --git a/components/strings/components_strings_sq.xtb b/components/strings/components_strings_sq.xtb
index 3c76074d..3d7860e 100644
--- a/components/strings/components_strings_sq.xtb
+++ b/components/strings/components_strings_sq.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pauzë</translation>
 <translation id="1181037720776840403">Hiq</translation>
 <translation id="1186201132766001848">Kontrollo fjalëkalimet</translation>
-<translation id="1195210374336998651">Shko te cilësimet e aplikacionit</translation>
 <translation id="1195558154361252544">Njoftimet janë bllokuar automatikisht për të gjitha sajtet përveçse për ato që lejon ti</translation>
 <translation id="1197088940767939838">Portokalli</translation>
 <translation id="1201402288615127009">Para</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Mesatar</translation>
 <translation id="3592413004129370115">Italian (Zarf)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Mund ta rivendosësh grupin tënd në çdo kohë. Duhet rreth një ditë për t'u bashkuar në një grup të ri.}=1{Mund ta rivendosësh grupin tënd në çdo kohë. Duhet rreth një ditë për t'u bashkuar në një grup të ri.}other{Mund ta rivendosësh grupin tënd në çdo kohë. Duhen {NUM_DAYS} ditë për t'u bashkuar në një grup të ri.}}</translation>
-<translation id="3596012367874587041">Cilësimet e aplikacionit</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Aplikacioni u bllokua nga administratori yt</translation>
 <translation id="3608932978122581043">Orientimi i furnizimit</translation>
@@ -1973,6 +1971,7 @@
 <translation id="7334320624316649418">&amp;Ribëj renditjen</translation>
 <translation id="7335157162773372339">Mund të kërkojë të përdorë kamerën tënde</translation>
 <translation id="7337248890521463931">Shfaq më shumë radhë</translation>
+<translation id="7337418456231055214">Nuk është plotësuar numri i kartës virtuale? Kliko detajet e kartës për t'i kopjuar. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Nuk ofrohet në këtë platformë.</translation>
 <translation id="733923710415886693">Certifikata e serverit nuk është zbuluar përmes "Transparencës së certifikatave".</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb
index 228c31a..b5f08b8 100644
--- a/components/strings/components_strings_sr-Latn.xtb
+++ b/components/strings/components_strings_sr-Latn.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pauziraj</translation>
 <translation id="1181037720776840403">Ukloni</translation>
 <translation id="1186201132766001848">Proveri lozinke</translation>
-<translation id="1195210374336998651">Otvori podešavanja aplikacije</translation>
 <translation id="1195558154361252544">Obaveštenja su automatski blokirana za sve sajtove osim za one koje omogućite</translation>
 <translation id="1197088940767939838">Narandžasta</translation>
 <translation id="1201402288615127009">Dalje</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Srednje</translation>
 <translation id="3592413004129370115">Italian (koverat)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Grupu možete da resetujete u bilo kom trenutku. Pridruživanje novoj grupi traje otprilike jedan dan.}=1{Grupu možete da resetujete u bilo kom trenutku. Pridruživanje novoj grupi traje otprilike jedan dan.}one{Grupu možete da resetujete u bilo kom trenutku. Pridruživanje novoj grupi traje otprilike {NUM_DAYS} dan.}few{Grupu možete da resetujete u bilo kom trenutku. Pridruživanje novoj grupi traje otprilike {NUM_DAYS} dana.}other{Grupu možete da resetujete u bilo kom trenutku. Pridruživanje novoj grupi traje otprilike {NUM_DAYS} dana.}}</translation>
-<translation id="3596012367874587041">Podešavanja aplikacije</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Administrator blokira aplikaciju</translation>
 <translation id="3608932978122581043">Smer unosa</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 493ce8db..a7dff4ad 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Паузирај</translation>
 <translation id="1181037720776840403">Уклони</translation>
 <translation id="1186201132766001848">Провери лозинке</translation>
-<translation id="1195210374336998651">Отвори подешавања апликације</translation>
 <translation id="1195558154361252544">Обавештења су аутоматски блокирана за све сајтове осим за оне које омогућите</translation>
 <translation id="1197088940767939838">Наранџаста</translation>
 <translation id="1201402288615127009">Даље</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Средње</translation>
 <translation id="3592413004129370115">Italian (коверат)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Групу можете да ресетујете у било ком тренутку. Придруживање новој групи траје отприлике један дан.}=1{Групу можете да ресетујете у било ком тренутку. Придруживање новој групи траје отприлике један дан.}one{Групу можете да ресетујете у било ком тренутку. Придруживање новој групи траје отприлике {NUM_DAYS} дан.}few{Групу можете да ресетујете у било ком тренутку. Придруживање новој групи траје отприлике {NUM_DAYS} дана.}other{Групу можете да ресетујете у било ком тренутку. Придруживање новој групи траје отприлике {NUM_DAYS} дана.}}</translation>
-<translation id="3596012367874587041">Подешавања апликације</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Администратор блокира апликацију</translation>
 <translation id="3608932978122581043">Смер уноса</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index e5ba31f..6065e98 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Paus</translation>
 <translation id="1181037720776840403">Ta bort</translation>
 <translation id="1186201132766001848">Kontrollera lösenord</translation>
-<translation id="1195210374336998651">Öppna appinställningarna</translation>
 <translation id="1195558154361252544">Aviseringar blockeras automatiskt på alla webbplatser utom sådana du tillåter</translation>
 <translation id="1197088940767939838">Orange</translation>
 <translation id="1201402288615127009">Nästa</translation>
@@ -843,7 +842,6 @@
 <translation id="3587738293690942763">Mellan</translation>
 <translation id="3592413004129370115">Italian (kuvert)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Du kan återställa grupptillhörigheten när som helst. Det tar ungefär ett dygn att bli med i en ny grupp.}=1{Du kan återställa grupptillhörigheten när som helst. Det tar ungefär ett dygn att bli med i en ny grupp.}other{Du kan återställa grupptillhörigheten när som helst. Det tar {NUM_DAYS} dygn att bli med i en ny grupp.}}</translation>
-<translation id="3596012367874587041">Appinställningar</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Appen blockeras av administratören</translation>
 <translation id="3608932978122581043">Ställa in riktning</translation>
@@ -1977,6 +1975,7 @@
 <translation id="7334320624316649418">&amp;Gör om Ändra ordning</translation>
 <translation id="7335157162773372339">Får begära åtkomst till kameran</translation>
 <translation id="7337248890521463931">Visa fler rader</translation>
+<translation id="7337418456231055214">Har det virtuella kortnumret inte fyllts i? Klicka på kortuppgifterna om du vill kopiera dem. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Ej tillgänglig för din plattform.</translation>
 <translation id="733923710415886693">Servercertifikatet har inte lämnats ut via Certifikattransparens.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb
index d806d0e..5e8769a 100644
--- a/components/strings/components_strings_sw.xtb
+++ b/components/strings/components_strings_sw.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Sitisha</translation>
 <translation id="1181037720776840403">Ondoa</translation>
 <translation id="1186201132766001848">Kagua Manenosiri</translation>
-<translation id="1195210374336998651">Nenda kwenye mipangilio ya programu</translation>
 <translation id="1195558154361252544">Arifa zinazuiwa kiotomatiki kwenye tovuti zote isipokuwa zile unazoruhusu</translation>
 <translation id="1197088940767939838">Rangi ya machungwa</translation>
 <translation id="1201402288615127009">Endelea</translation>
@@ -842,7 +841,6 @@
 <translation id="3587738293690942763">Katikati</translation>
 <translation id="3592413004129370115">Italian (Bahasha)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Unaweza kubadilisha kikundi chako wakati wowote. Inachukua takriban siku moja kujiunga na kikundi kipya.}=1{Unaweza kubadilisha kikundi chako wakati wowote. Inachukua takriban siku moja kujiunga na kikundi kipya.}other{Unaweza kubadilisha kikundi chako wakati wowote. Inachukua siku {NUM_DAYS} kujiunga na kikundi kipya.}}</translation>
-<translation id="3596012367874587041">Mipangilio ya programu</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Programu imezuiwa na msimamizi wako</translation>
 <translation id="3608932978122581043">Weka mkao</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb
index 9190e81..be3e5453 100644
--- a/components/strings/components_strings_ta.xtb
+++ b/components/strings/components_strings_ta.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">இடைநிறுத்து</translation>
 <translation id="1181037720776840403">அகற்று</translation>
 <translation id="1186201132766001848">கடவுச்சொற்களைச் சோதித்துப் பார்க்கவும்</translation>
-<translation id="1195210374336998651">ஆப்ஸ் அமைப்புகளுக்குச் செல்லும்</translation>
 <translation id="1195558154361252544">நீங்கள் அனுமதிக்கும் தளங்களைத் தவிர பிற அனைத்துத் தளங்களுக்கும் அறிவிப்புகள் தானாகவே முடக்கப்படும்</translation>
 <translation id="1197088940767939838">ஆரஞ்சு</translation>
 <translation id="1201402288615127009">அடுத்து</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">நடுவிலுள்ளது</translation>
 <translation id="3592413004129370115">Italian (என்வலப்)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{எப்போது வேண்டுமானாலும் உங்கள் குழுவை மீட்டமைக்கலாம். புதிய குழுவில் சேர ஒரு நாள் ஆகும்.}=1{எப்போது வேண்டுமானாலும் உங்கள் குழுவை மீட்டமைக்கலாம். புதிய குழுவில் சேர ஒரு நாள் ஆகும்.}other{எப்போது வேண்டுமானாலும் உங்கள் குழுவை மீட்டமைக்கலாம். புதிய குழுவில் சேர {NUM_DAYS} நாட்கள் ஆகும்.}}</translation>
-<translation id="3596012367874587041">ஆப்ஸ் அமைப்புகள்</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">உங்கள் நிர்வாகி ஆப்ஸைத் தடுத்துள்ளார்</translation>
 <translation id="3608932978122581043">உட்செலுத்தும் திசையமைப்பு</translation>
@@ -1972,6 +1970,7 @@
 <translation id="7334320624316649418">&amp;மறுவரிசைப்படுத்தலை மீண்டும் செய்</translation>
 <translation id="7335157162773372339">கேமராவைப் பயன்படுத்த அனுமதி கேட்க வேண்டும்</translation>
 <translation id="7337248890521463931">மேலும் வரிகளைக் காட்டும்</translation>
+<translation id="7337418456231055214">விர்ச்சுவல் கார்டு எண் நிரப்பப்படவில்லையா? நகலெடுக்க, கார்டு விவரங்களைக் கிளிக் செய்யவும். <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">உங்கள் இயங்குதளத்தில் இல்லை.</translation>
 <translation id="733923710415886693">சான்றிதழ் வெளிப்படைத்தன்மை மூலம் சேவையகத்தின் சான்றிதழ் வெளியிடப்படவில்லை.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb
index 504cc7c..a4775dda 100644
--- a/components/strings/components_strings_te.xtb
+++ b/components/strings/components_strings_te.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">పాజ్ చేయి</translation>
 <translation id="1181037720776840403">తీసివేయి</translation>
 <translation id="1186201132766001848">పాస్‌వర్డ్‌లను చెక్ చేయండి</translation>
-<translation id="1195210374336998651">యాప్ సెట్టింగ్‌లకు వెళ్లండి</translation>
 <translation id="1195558154361252544">మీరు అనుమతించినవి మినహా, ఇతర అన్ని సైట్‌లకు నోటిఫికేషన్‌లు ఆటోమేటిక్‌గా బ్లాక్ చేయబడ్డాయి</translation>
 <translation id="1197088940767939838">నారింజ రంగు</translation>
 <translation id="1201402288615127009">తరువాత</translation>
@@ -845,7 +844,6 @@
 <translation id="3587738293690942763">మధ్యలో</translation>
 <translation id="3592413004129370115">ఇటాలియన్ (ఎన్వలప్)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{మీరు ఏ సమయంలో అయినా మీ గ్రూప్‌ను రీసెట్ చేయవచ్చు. కొత్త గ్రూప్‌కు చేరడానికి ఒక రోజు వరకు పడుతుంది.}=1{మీరు ఏ సమయంలో అయినా మీ గ్రూప్‌ను రీసెట్ చేయవచ్చు. కొత్త గ్రూప్‌కు చేరడానికి ఒక రోజు వరకు పడుతుంది.}other{మీరు ఏ సమయంలో అయినా మీ గ్రూప్‌ను రీసెట్ చేయవచ్చు. కొత్త గ్రూప్‌కు చేరడానికి {NUM_DAYS} రోజులు పడుతుంది.}}</translation>
-<translation id="3596012367874587041">యాప్ సెట్టింగ్‌లు</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">మీ నిర్వాహకుడు యాప్‌ను బ్లాక్ చేశారు</translation>
 <translation id="3608932978122581043">ఫీడ్ ఓరియంటేషన్</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index 1593d051..c9c01a5 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">หยุดชั่วคราว</translation>
 <translation id="1181037720776840403">นำออก</translation>
 <translation id="1186201132766001848">ตรวจสอบรหัสผ่าน</translation>
-<translation id="1195210374336998651">ไปที่การตั้งค่าแอป</translation>
 <translation id="1195558154361252544">ระบบจะบล็อกการแจ้งเตือนของทุกเว็บไซต์โดยอัตโนมัติ ยกเว้นเว็บไซต์ที่คุณอนุญาต</translation>
 <translation id="1197088940767939838">สีส้ม</translation>
 <translation id="1201402288615127009">ถัดไป</translation>
@@ -838,7 +837,6 @@
 <translation id="3587738293690942763">ตรงกลาง</translation>
 <translation id="3592413004129370115">Italian (ซองจดหมาย)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{คุณรีเซ็ตกลุ่มได้ทุกเมื่อ การเข้าร่วมกลุ่มใหม่จะใช้เวลาประมาณ 1 วัน}=1{คุณรีเซ็ตกลุ่มได้ทุกเมื่อ การเข้าร่วมกลุ่มใหม่จะใช้เวลาประมาณ 1 วัน}other{คุณรีเซ็ตกลุ่มได้ทุกเมื่อ การเข้าร่วมกลุ่มใหม่จะใช้เวลาประมาณ {NUM_DAYS} วัน}}</translation>
-<translation id="3596012367874587041">การตั้งค่าแอป</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ผู้ดูแลระบบบล็อกแอปพลิเคชันไว้</translation>
 <translation id="3608932978122581043">ฟีดกระดาษตามแนว</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb
index c81c4602..0eefa16 100644
--- a/components/strings/components_strings_tr.xtb
+++ b/components/strings/components_strings_tr.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Duraklat</translation>
 <translation id="1181037720776840403">Kaldır</translation>
 <translation id="1186201132766001848">Şifreleri Kontrol Et</translation>
-<translation id="1195210374336998651">Uygulama ayarlarına git</translation>
 <translation id="1195558154361252544">Bildirimler, izin verdikleriniz dışındaki tüm siteler için otomatik olarak engellenir</translation>
 <translation id="1197088940767939838">Turuncu</translation>
 <translation id="1201402288615127009">İleri</translation>
@@ -840,7 +839,6 @@
 <translation id="3587738293690942763">Orta</translation>
 <translation id="3592413004129370115">Italian (Zarf)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Grubunuzu istediğiniz zaman sıfırlayabilirsiniz. Yeni bir gruba katılmak yaklaşık bir gün sürer.}=1{Grubunuzu istediğiniz zaman sıfırlayabilirsiniz. Yeni bir gruba katılmak yaklaşık bir gün sürer.}other{Grubunuzu istediğiniz zaman sıfırlayabilirsiniz. Yeni bir gruba katılmak yaklaşık {NUM_DAYS} gün sürer.}}</translation>
-<translation id="3596012367874587041">Uygulama ayarları</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Uygulama, yöneticiniz tarafından engellendi</translation>
 <translation id="3608932978122581043">Besleme yönü</translation>
@@ -1970,6 +1968,7 @@
 <translation id="7334320624316649418">Sıralama değişikliğini &amp;yeniden yap</translation>
 <translation id="7335157162773372339">Kameranızı kullanmak isteyebilir</translation>
 <translation id="7337248890521463931">Daha fazla satır göster</translation>
+<translation id="7337418456231055214">Sanal kart numarası doldurulmadı mı? Kopyalamak için kart detaylarını tıklayın. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Platformunuzda kullanılamıyor.</translation>
 <translation id="733923710415886693">Sunucunun sertifikası, Sertifika Şeffaflığı aracılığıyla açıklanmadı.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index b0cf0e7..782e31c 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Пауза</translation>
 <translation id="1181037720776840403">Видалити</translation>
 <translation id="1186201132766001848">Перевірити паролі</translation>
-<translation id="1195210374336998651">Перейдіть у налаштування додатка</translation>
 <translation id="1195558154361252544">Сповіщення автоматично заблоковано для всіх сайтів, крім тих, які ви дозволили</translation>
 <translation id="1197088940767939838">Оранжевий</translation>
 <translation id="1201402288615127009">Далі</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">Середній</translation>
 <translation id="3592413004129370115">Italian (конверт)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає приблизно один день.}=1{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає приблизно один день.}one{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} день.}few{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} дні.}many{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} днів.}other{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} дня.}}</translation>
-<translation id="3596012367874587041">Налаштування додатків</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Додаток заблоковано адміністратором</translation>
 <translation id="3608932978122581043">Орієнтація стрічки</translation>
@@ -1973,6 +1971,7 @@
 <translation id="7334320624316649418">&amp;Повторити перевпорядкування</translation>
 <translation id="7335157162773372339">Може просити доступ до камери</translation>
 <translation id="7337248890521463931">Показати більше рядків</translation>
+<translation id="7337418456231055214">Номер віртуальної картки не заповнено? Щоб скопіювати дані картки, натисніть їх. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Недоступний на вашій платформі.</translation>
 <translation id="733923710415886693">Сертифікат сервера не надав інформацію про перевірку.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index 456432c8..e951220 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -71,7 +71,6 @@
 <translation id="1178581264944972037">موقوف کریں</translation>
 <translation id="1181037720776840403">ہٹائیں</translation>
 <translation id="1186201132766001848">پاس ورڈز چیک کریں</translation>
-<translation id="1195210374336998651">ایپ کی ترتیبات پر جائیں</translation>
 <translation id="1195558154361252544">تمام سائٹس کے لیے اطلاعات کو خودکار طور پر مسدود کر دیا گیا ہے سوائے ان کے جن کی آپ نے اجازت دی ہے</translation>
 <translation id="1197088940767939838">نارنجی</translation>
 <translation id="1201402288615127009">اگلا</translation>
@@ -845,7 +844,6 @@
 <translation id="3587738293690942763">وسطی</translation>
 <translation id="3592413004129370115">Italian ‎(Envelope‎)‎</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{آپ کسی بھی وقت اپنے گروپ کو ری سیٹ کر سکتے ہیں۔ ایک نئے گروپ میں شامل ہونے کے لیے ایک دن لگتا ہے۔}=1{آپ کسی بھی وقت اپنے گروپ کو ری سیٹ کر سکتے ہیں۔ ایک نئے گروپ میں شامل ہونے کے لیے ایک دن لگتا ہے۔}other{آپ کسی بھی وقت اپنے گروپ کو ری سیٹ کر سکتے ہیں۔ ایک نئے گروپ میں شامل ہونے کے لیے {NUM_DAYS} دن لگتے ہیں۔}}</translation>
-<translation id="3596012367874587041">ایپ کی ترتیبات</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />، <ph name="DOMAIN" />، <ph name="TIME" /></translation>
 <translation id="3603507503523709">ایپلیکیشن کو آپ کے منتظم کے ذریعے مسدود کیا گیا</translation>
 <translation id="3608932978122581043">سمت بندی فیڈ کریں</translation>
diff --git a/components/strings/components_strings_uz.xtb b/components/strings/components_strings_uz.xtb
index 2f352947..c03cba2 100644
--- a/components/strings/components_strings_uz.xtb
+++ b/components/strings/components_strings_uz.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Pauza</translation>
 <translation id="1181037720776840403">Olib tashlash</translation>
 <translation id="1186201132766001848">Parollarni tekshiring</translation>
-<translation id="1195210374336998651">Ilova sozlamalarini ochish</translation>
 <translation id="1195558154361252544">Bildirishnoamalar siz ruxsat bergan saytlardan tashqari barcha saytlar uchun taqiqlanadi</translation>
 <translation id="1197088940767939838">Apelsinrang</translation>
 <translation id="1201402288615127009">Keyingisi</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">Oʻrtacha</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Guruh sozlamalarini istalgan vaqtda tiklash mumkin. Yangi guruhga qoʻshilish bir kun vaqt oladi.}=1{Guruh sozlamalarini istalgan vaqtda tiklash mumkin. Yangi guruhga qoʻshilish bir kun vaqt oladi.}other{Guruh sozlamalarini istalgan vaqtda tiklash mumkin. Yangi guruhga qoʻshilish {NUM_DAYS} kun vaqt oladi.}}</translation>
-<translation id="3596012367874587041">Ilova sozlamalari</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Ilova administrator tomonidan bloklangan</translation>
 <translation id="3608932978122581043">Holatini belgilash</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index c9d48c6e..adf0ccd8 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Tạm dừng</translation>
 <translation id="1181037720776840403">Xóa</translation>
 <translation id="1186201132766001848">Kiểm tra mật khẩu</translation>
-<translation id="1195210374336998651">Chuyển đến trang cài đặt ứng dụng</translation>
 <translation id="1195558154361252544">Đã tự động chặn thông báo đối với mọi trang web, ngoại trừ những trang web bạn cho phép</translation>
 <translation id="1197088940767939838">Màu cam</translation>
 <translation id="1201402288615127009">Tiếp theo</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">Ở giữa</translation>
 <translation id="3592413004129370115">Italian (Phong bì)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Bạn có thể đặt lại nhóm của mình bất cứ lúc nào. Bạn sẽ mất khoảng 1 ngày để tham gia một nhóm mới.}=1{Bạn có thể đặt lại nhóm của mình bất cứ lúc nào. Bạn sẽ mất khoảng 1 ngày để tham gia một nhóm mới.}other{Bạn có thể đặt lại nhóm của mình bất cứ lúc nào. Bạn sẽ mất {NUM_DAYS} ngày để tham gia một nhóm mới.}}</translation>
-<translation id="3596012367874587041">Cài đặt ứng dụng</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Quản trị viên đã chặn ứng dụng</translation>
 <translation id="3608932978122581043">Hướng nạp giấy</translation>
@@ -1973,6 +1971,7 @@
 <translation id="7334320624316649418">&amp;Làm lại sắp xếp lại</translation>
 <translation id="7335157162773372339">Trang web có thể yêu cầu dùng máy ảnh của bạn</translation>
 <translation id="7337248890521463931">Hiện thêm dòng</translation>
+<translation id="7337418456231055214">Bạn chưa điền số thẻ ảo? Hãy nhấp vào mục thông tin thẻ chi tiết để sao chép. <ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">Không được hỗ trợ trên nền tảng của bạn.</translation>
 <translation id="733923710415886693">Chứng chỉ của máy chủ đã không được tiết lộ qua Tính minh bạch của chứng chỉ.</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index cb896d8e03..ce4b12ea 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">暂停</translation>
 <translation id="1181037720776840403">移除</translation>
 <translation id="1186201132766001848">检查密码</translation>
-<translation id="1195210374336998651">转到应用设置</translation>
 <translation id="1195558154361252544">除您允许的网站外,已自动阻止所有其他网站显示通知</translation>
 <translation id="1197088940767939838">橙色</translation>
 <translation id="1201402288615127009">下一步</translation>
@@ -836,7 +835,6 @@
 <translation id="3587738293690942763">中间</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{您可以随时重置自己所属的群组。大约需要 1 天的时间才能加入新群组。}=1{您可以随时重置自己所属的群组。大约需要 1 天的时间才能加入新群组。}other{您可以随时重置自己所属的群组。大约需要 {NUM_DAYS} 天的时间才能加入新群组。}}</translation>
-<translation id="3596012367874587041">应用设置</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />,<ph name="DOMAIN" />,<ph name="TIME" /></translation>
 <translation id="3603507503523709">已被您的管理员禁用的应用</translation>
 <translation id="3608932978122581043">送纸方向</translation>
@@ -1963,6 +1961,7 @@
 <translation id="7334320624316649418">恢复顺序调整(&amp;R)</translation>
 <translation id="7335157162773372339">可以询问能否使用您的摄像头</translation>
 <translation id="7337248890521463931">显示更多行</translation>
+<translation id="7337418456231055214">未填充虚拟卡号?点击“信用卡详细信息”即可复制。<ph name="IDS_AUTOFILL_VIRTUAL_CARD_MANUAL_FALLBACK_BUBBLE_LEARN_MORE_LINK_LABEL" /></translation>
 <translation id="7337706099755338005">在您的平台上不可用。</translation>
 <translation id="733923710415886693">该服务器的证书未通过证书透明度政策进行披露。</translation>
 <translation id="734600844861828519">11x15</translation>
diff --git a/components/strings/components_strings_zh-HK.xtb b/components/strings/components_strings_zh-HK.xtb
index 1a37ea0d..e888cbd 100644
--- a/components/strings/components_strings_zh-HK.xtb
+++ b/components/strings/components_strings_zh-HK.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">暫停</translation>
 <translation id="1181037720776840403">移除</translation>
 <translation id="1186201132766001848">檢查密碼</translation>
-<translation id="1195210374336998651">前往應用程式設定</translation>
 <translation id="1195558154361252544">系統已自動封鎖所有網站的通知,但您允許的網站除外</translation>
 <translation id="1197088940767939838">橙色</translation>
 <translation id="1201402288615127009">下一個</translation>
@@ -838,7 +837,6 @@
 <translation id="3587738293690942763">中間</translation>
 <translation id="3592413004129370115">Italian (信封)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{您可隨時重設群組。加入新群組約需時 1 天。}=1{您可隨時重設群組。加入新群組約需時 1 天。}other{您可隨時重設群組。加入新群組約需時 {NUM_DAYS} 天。}}</translation>
-<translation id="3596012367874587041">應用程式設定</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />,<ph name="DOMAIN" />,<ph name="TIME" /></translation>
 <translation id="3603507503523709">您的管理員已封鎖應用程式</translation>
 <translation id="3608932978122581043">送紙方向</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 4411928..e022d60 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">暫停</translation>
 <translation id="1181037720776840403">移除</translation>
 <translation id="1186201132766001848">檢查密碼</translation>
-<translation id="1195210374336998651">前往應用程式設定</translation>
 <translation id="1195558154361252544">除了你允許的網站之外,自動封鎖所有網站的通知</translation>
 <translation id="1197088940767939838">橘色</translation>
 <translation id="1201402288615127009">繼續</translation>
@@ -839,7 +838,6 @@
 <translation id="3587738293690942763">中間</translation>
 <translation id="3592413004129370115">Italian (信封)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{你隨時可以重設群組。大約需要 1 天才能加入新群組。}=1{你隨時可以重設群組。大約需要 1 天才能加入新群組。}other{你隨時可以重設群組。需要 {NUM_DAYS} 天才能加入新群組。}}</translation>
-<translation id="3596012367874587041">應用程式設定</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />,<ph name="DOMAIN" />,<ph name="TIME" /></translation>
 <translation id="3603507503523709">已遭系統管理員封鎖的應用程式</translation>
 <translation id="3608932978122581043">送紙方向</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb
index c246bb6..e68d337efa 100644
--- a/components/strings/components_strings_zu.xtb
+++ b/components/strings/components_strings_zu.xtb
@@ -70,7 +70,6 @@
 <translation id="1178581264944972037">Misa isikhashana</translation>
 <translation id="1181037720776840403">Susa</translation>
 <translation id="1186201132766001848">Hlola amaphasiwedi</translation>
-<translation id="1195210374336998651">Iya kumasethingi e-app</translation>
 <translation id="1195558154361252544">Izaziso zivinjelwe ngokuzenzakalela kuwo wonke amasayithi ngaphandle kwalawo ovavumelayo</translation>
 <translation id="1197088940767939838">Olintshi</translation>
 <translation id="1201402288615127009">Okulandelayo</translation>
@@ -841,7 +840,6 @@
 <translation id="3587738293690942763">Okumaphakathi</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Ungasetha kabusha iqembu lakho nganoma yisiphi isikhathi. Kuthatha cishe usuku ukujoyina iqembu elisha.}=1{Ungasetha kabusha iqembu lakho nganoma yisiphi isikhathi. Kuthatha cishe usuku ukujoyina iqembu elisha.}one{Ungasetha kabusha iqembu lakho nganoma yisiphi isikhathi. Kuthatha izinsuku ezingu-{NUM_DAYS} ukujoyina iqembu elisha.}other{Ungasetha kabusha iqembu lakho nganoma yisiphi isikhathi. Kuthatha izinsuku ezingu-{NUM_DAYS} ukujoyina iqembu elisha.}}</translation>
-<translation id="3596012367874587041">Amasethingi e-App</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Uhlelo lokusebenza luvinjwe ngumlawuli wakho</translation>
 <translation id="3608932978122581043">Umumo wokuphakelayo</translation>
diff --git a/components/sync_preferences/pref_model_associator.cc b/components/sync_preferences/pref_model_associator.cc
index 3a25ed1..12149a93 100644
--- a/components/sync_preferences/pref_model_associator.cc
+++ b/components/sync_preferences/pref_model_associator.cc
@@ -321,8 +321,8 @@
   DCHECK(to_value.type() == base::Value::Type::LIST);
 
   base::Value result = to_value.Clone();
-  for (const auto& value : from_value.GetList()) {
-    if (!base::Contains(result.GetList(), value))
+  for (const auto& value : from_value.GetListDeprecated()) {
+    if (!base::Contains(result.GetListDeprecated(), value))
       result.Append(value.Clone());
   }
 
diff --git a/components/sync_preferences/pref_service_syncable_unittest.cc b/components/sync_preferences/pref_service_syncable_unittest.cc
index 3ec2ff2..4b46fb5 100644
--- a/components/sync_preferences/pref_service_syncable_unittest.cc
+++ b/components/sync_preferences/pref_service_syncable_unittest.cc
@@ -654,7 +654,7 @@
 
   pref_registry_->RegisterListPref(
       pref_name, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
-  EXPECT_TRUE(GetPreferenceValue(pref_name).GetList().empty());
+  EXPECT_TRUE(GetPreferenceValue(pref_name).GetListDeprecated().empty());
   EXPECT_FALSE(user_prefs_->GetValue(pref_name, nullptr));
 
   prefs_.RemoveSyncedPrefObserver(pref_name, &observer);
diff --git a/components/translate/core/browser/translate_prefs_unittest.cc b/components/translate/core/browser/translate_prefs_unittest.cc
index 40a85136..4cbf2aa 100644
--- a/components/translate/core/browser/translate_prefs_unittest.cc
+++ b/components/translate/core/browser/translate_prefs_unittest.cc
@@ -46,7 +46,8 @@
     const base::Value& language_values,
     const std::vector<std::string>& languages) {
   const int input_size = languages.size();
-  base::Value::ConstListView language_values_view = language_values.GetList();
+  base::Value::ConstListView language_values_view =
+      language_values.GetListDeprecated();
   ASSERT_EQ(input_size, static_cast<int>(language_values_view.size()));
   for (int i = 0; i < input_size; ++i) {
     ASSERT_TRUE(language_values_view[i].is_string());
diff --git a/components/unified_consent/unified_consent_metrics.cc b/components/unified_consent/unified_consent_metrics.cc
index ef22e7d0b..c3bdd21 100644
--- a/components/unified_consent/unified_consent_metrics.cc
+++ b/components/unified_consent/unified_consent_metrics.cc
@@ -34,9 +34,9 @@
   kPasswords = 8,
   kAutofill = 9,
   kPayments = 10,
-  kSync = 11,
+  // kSync = 11,
 
-  kMaxValue = kSync
+  kMaxValue = kPayments
 };
 
 void RecordSyncDataTypeSample(SyncDataType data_type) {
@@ -50,13 +50,6 @@
 // Returns true if a sample was recorded.
 bool RecordSyncSetupDataTypesImpl(syncer::SyncUserSettings* sync_settings,
                                   PrefService* pref_service) {
-#if BUILDFLAG(IS_ANDROID)
-  if (!sync_settings->IsSyncRequested()) {
-    RecordSyncDataTypeSample(SyncDataType::kSync);
-    return true;  // Don't record states of data types if sync is disabled.
-  }
-#endif
-
   bool metric_recorded = false;
 
   std::vector<std::pair<SyncDataType, syncer::UserSelectableType>> sync_types;
@@ -81,9 +74,9 @@
                           syncer::UserSelectableType::kThemes);
 #endif
 
-  for (const auto& data_type : sync_types) {
-    if (!sync_settings->GetSelectedTypes().Has(data_type.second)) {
-      RecordSyncDataTypeSample(data_type.first);
+  for (const auto& [bucket, type] : sync_types) {
+    if (!sync_settings->GetSelectedTypes().Has(type)) {
+      RecordSyncDataTypeSample(bucket);
       metric_recorded = true;
     }
   }
diff --git a/components/url_matcher/url_matcher_factory.cc b/components/url_matcher/url_matcher_factory.cc
index f9235f8..0c94822 100644
--- a/components/url_matcher/url_matcher_factory.cc
+++ b/components/url_matcher/url_matcher_factory.cc
@@ -253,7 +253,7 @@
     if (entry.is_int()) {
       ranges.push_back(URLMatcherPortFilter::CreateRange(entry.GetInt()));
     } else if (entry.is_list()) {
-      base::Value::ConstListView entry_list = entry.GetList();
+      base::Value::ConstListView entry_list = entry.GetListDeprecated();
       if (entry_list.size() != 2u || !entry_list[0].is_int() ||
           !entry_list[1].is_int()) {
         *error = kInvalidPortRanges;
diff --git a/components/viz/common/quads/render_pass_io.cc b/components/viz/common/quads/render_pass_io.cc
index 124bdc8..1f2cb9e0 100644
--- a/components/viz/common/quads/render_pass_io.cc
+++ b/components/viz/common/quads/render_pass_io.cc
@@ -208,14 +208,14 @@
   DCHECK_LT(0u, expected_count);
   if (!list.is_list())
     return false;
-  size_t count = list.GetList().size();
+  size_t count = list.GetListDeprecated().size();
   if (count != expected_count)
     return false;
   std::vector<double> double_data(count);
   for (size_t ii = 0; ii < count; ++ii) {
-    if (!list.GetList()[ii].is_double())
+    if (!list.GetListDeprecated()[ii].is_double())
       return false;
-    double_data[ii] = list.GetList()[ii].GetDouble();
+    double_data[ii] = list.GetListDeprecated()[ii].GetDouble();
   }
   for (size_t ii = 0; ii < count; ++ii)
     data[ii] = static_cast<float>(double_data[ii]);
@@ -343,13 +343,13 @@
   DCHECK(transform);
   if (!list.is_list())
     return false;
-  if (list.GetList().size() != 16)
+  if (list.GetListDeprecated().size() != 16)
     return false;
   double data[16];
   for (size_t ii = 0; ii < 16; ++ii) {
-    if (!list.GetList()[ii].is_double())
+    if (!list.GetListDeprecated()[ii].is_double())
       return false;
-    data[ii] = list.GetList()[ii].GetDouble();
+    data[ii] = list.GetListDeprecated()[ii].GetDouble();
   }
   transform->matrix().setColMajord(data);
   return true;
@@ -368,11 +368,11 @@
   DCHECK(shape);
   if (!list.is_list())
     return false;
-  size_t size = list.GetList().size();
+  size_t size = list.GetListDeprecated().size();
   cc::FilterOperation::ShapeRects data;
   data.resize(size);
   for (size_t ii = 0; ii < size; ++ii) {
-    if (!RectFromDict(list.GetList()[ii], &data[ii]))
+    if (!RectFromDict(list.GetListDeprecated()[ii], &data[ii]))
       return false;
   }
   *shape = data;
@@ -564,9 +564,9 @@
   if (!list.is_list())
     return false;
   cc::FilterOperations data;
-  for (size_t ii = 0; ii < list.GetList().size(); ++ii) {
+  for (size_t ii = 0; ii < list.GetListDeprecated().size(); ++ii) {
     cc::FilterOperation filter;
-    if (!FilterOperationFromDict(list.GetList()[ii], &filter))
+    if (!FilterOperationFromDict(list.GetListDeprecated()[ii], &filter))
       return false;
     data.Append(filter);
   }
@@ -862,7 +862,7 @@
   DCHECK(resources);
   if (!list.is_list())
     return false;
-  size_t size = list.GetList().size();
+  size_t size = list.GetListDeprecated().size();
   if (size == 0u) {
     resources->count = 0u;
     return true;
@@ -870,13 +870,13 @@
   if (size > DrawQuad::Resources::kMaxResourceIdCount)
     return false;
   for (size_t ii = 0; ii < size; ++ii) {
-    if (!list.GetList()[ii].is_int())
+    if (!list.GetListDeprecated()[ii].is_int())
       return false;
   }
 
   resources->count = static_cast<uint32_t>(size);
   for (size_t ii = 0; ii < size; ++ii) {
-    resources->ids[ii] = ResourceId(list.GetList()[ii].GetInt());
+    resources->ids[ii] = ResourceId(list.GetListDeprecated()[ii].GetInt());
   }
   return true;
 }
@@ -1623,11 +1623,11 @@
   case DrawQuad::Material::NAME:            \
     NOTREACHED() << "Unexpected " << #NAME; \
     break;
-#define GET_QUAD_FROM_DICT(NAME, TYPE)                             \
-  case DrawQuad::Material::NAME: {                                 \
-    TYPE* quad = quads.AllocateAndConstruct<TYPE>();               \
-    if (!TYPE##FromDict(list.GetList()[ii], common.value(), quad)) \
-      return false;                                                \
+#define GET_QUAD_FROM_DICT(NAME, TYPE)                                       \
+  case DrawQuad::Material::NAME: {                                           \
+    TYPE* quad = quads.AllocateAndConstruct<TYPE>();                         \
+    if (!TYPE##FromDict(list.GetListDeprecated()[ii], common.value(), quad)) \
+      return false;                                                          \
   } break;
 bool QuadListFromList(const base::Value& list,
                       QuadList* quad_list,
@@ -1635,17 +1635,17 @@
   DCHECK(quad_list);
   if (!list.is_list())
     return false;
-  size_t size = list.GetList().size();
+  size_t size = list.GetListDeprecated().size();
   if (size == 0) {
     quad_list->clear();
     return true;
   }
   QuadList quads(size);
   for (size_t ii = 0; ii < size; ++ii) {
-    if (!list.GetList()[ii].is_dict())
+    if (!list.GetListDeprecated()[ii].is_dict())
       return false;
-    absl::optional<DrawQuadCommon> common =
-        GetDrawQuadCommonFromDict(list.GetList()[ii], shared_quad_state_list);
+    absl::optional<DrawQuadCommon> common = GetDrawQuadCommonFromDict(
+        list.GetListDeprecated()[ii], shared_quad_state_list);
     if (!common)
       return false;
     switch (common->material) {
@@ -1847,14 +1847,14 @@
   DCHECK(shared_quad_state_list);
   if (!list.is_list())
     return false;
-  size_t size = list.GetList().size();
+  size_t size = list.GetListDeprecated().size();
   SharedQuadStateList states(alignof(SharedQuadState), sizeof(SharedQuadState),
                              size);
   for (size_t ii = 0; ii < size; ++ii) {
-    if (!list.GetList()[ii].is_dict())
+    if (!list.GetListDeprecated()[ii].is_dict())
       return false;
     SharedQuadState* sqs = states.AllocateAndConstruct<SharedQuadState>();
-    if (!SharedQuadStateFromDict(list.GetList()[ii], sqs))
+    if (!SharedQuadStateFromDict(list.GetListDeprecated()[ii], sqs))
       return false;
   }
   shared_quad_state_list->swap(states);
@@ -2218,7 +2218,7 @@
   if (!list.is_list()) {
     return false;
   }
-  for (const auto& frame_data_dict : list.GetList()) {
+  for (const auto& frame_data_dict : list.GetListDeprecated()) {
     FrameData frame_data;
     auto* surface_id_dict = frame_data_dict.FindDictKey("surface_id");
     if (!surface_id_dict) {
diff --git a/components/webcrypto/algorithms/aes_cbc_unittest.cc b/components/webcrypto/algorithms/aes_cbc_unittest.cc
index a885f95..00dc021 100644
--- a/components/webcrypto/algorithms/aes_cbc_unittest.cc
+++ b/components/webcrypto/algorithms/aes_cbc_unittest.cc
@@ -93,10 +93,10 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_cbc.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/aes_ctr_unittest.cc b/components/webcrypto/algorithms/aes_ctr_unittest.cc
index 1f1595c..62ec5215 100644
--- a/components/webcrypto/algorithms/aes_ctr_unittest.cc
+++ b/components/webcrypto/algorithms/aes_ctr_unittest.cc
@@ -33,10 +33,10 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_ctr.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/aes_gcm_unittest.cc b/components/webcrypto/algorithms/aes_gcm_unittest.cc
index 5b0a7f08..7f64590 100644
--- a/components/webcrypto/algorithms/aes_gcm_unittest.cc
+++ b/components/webcrypto/algorithms/aes_gcm_unittest.cc
@@ -137,10 +137,10 @@
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_gcm.json", &tests));
 
   // Note that WebCrypto appends the authentication tag to the ciphertext.
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/aes_kw_unittest.cc b/components/webcrypto/algorithms/aes_kw_unittest.cc
index 27c4858..a96303d 100644
--- a/components/webcrypto/algorithms/aes_kw_unittest.cc
+++ b/components/webcrypto/algorithms/aes_kw_unittest.cc
@@ -164,7 +164,7 @@
   // This test exercises the code path common to all unwrap operations.
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_kw.json", &tests));
-  const base::Value& test_value = tests.GetList()[0];
+  const base::Value& test_value = tests.GetListDeprecated()[0];
   ASSERT_TRUE(test_value.is_dict());
   const base::DictionaryValue* test =
       &base::Value::AsDictionaryValue(test_value);
@@ -191,10 +191,10 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_kw.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
@@ -253,7 +253,7 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_kw.json", &tests));
 
-  const base::Value& test_value = tests.GetList()[0];
+  const base::Value& test_value = tests.GetListDeprecated()[0];
   ASSERT_TRUE(test_value.is_dict());
   const base::DictionaryValue* test =
       &base::Value::AsDictionaryValue(test_value);
@@ -306,7 +306,7 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_kw.json", &tests));
   // Use 256 bits of data with a 256-bit KEK
-  const base::Value& test_value = tests.GetList()[3];
+  const base::Value& test_value = tests.GetListDeprecated()[3];
   ASSERT_TRUE(test_value.is_dict());
   const base::DictionaryValue* test =
       &base::Value::AsDictionaryValue(test_value);
@@ -349,7 +349,7 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("aes_kw.json", &tests));
   // Use 256 bits of data with a 256-bit KEK
-  const base::Value& test_value = tests.GetList()[3];
+  const base::Value& test_value = tests.GetListDeprecated()[3];
   ASSERT_TRUE(test_value.is_dict());
   const base::DictionaryValue* test =
       &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/ecdh_unittest.cc b/components/webcrypto/algorithms/ecdh_unittest.cc
index 6a79f8c..02515ff 100644
--- a/components/webcrypto/algorithms/ecdh_unittest.cc
+++ b/components/webcrypto/algorithms/ecdh_unittest.cc
@@ -78,11 +78,11 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("ecdh.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
 
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
@@ -126,10 +126,10 @@
 
   const base::DictionaryValue* test = nullptr;
   bool valid_p521_keys = false;
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     EXPECT_TRUE(test_value.is_dict());
     test = &base::Value::AsDictionaryValue(test_value);
     absl::optional<bool> keys = test->FindBoolKey("valid_p521_keys");
@@ -311,7 +311,7 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("ecdh.json", &tests));
 
-  const base::Value& test_value = tests.GetList()[0];
+  const base::Value& test_value = tests.GetListDeprecated()[0];
   ASSERT_TRUE(test_value.is_dict());
   const base::DictionaryValue* test =
       &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/ecdsa_unittest.cc b/components/webcrypto/algorithms/ecdsa_unittest.cc
index 9eeafc8..a8b17dfa 100644
--- a/components/webcrypto/algorithms/ecdsa_unittest.cc
+++ b/components/webcrypto/algorithms/ecdsa_unittest.cc
@@ -98,7 +98,7 @@
   // using the first one.
   base::Value private_keys;
   ASSERT_TRUE(ReadJsonTestFileAsList("ec_private_keys.json", &private_keys));
-  const base::Value& key_value = private_keys.GetList()[0];
+  const base::Value& key_value = private_keys.GetListDeprecated()[0];
   ASSERT_TRUE(key_value.is_dict());
   const base::DictionaryValue* key_dict =
       &base::Value::AsDictionaryValue(key_value);
@@ -156,11 +156,11 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("ecdsa.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
 
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
@@ -240,11 +240,11 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("bad_ec_keys.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
 
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
@@ -273,11 +273,11 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("ec_private_keys.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
 
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/hmac_unittest.cc b/components/webcrypto/algorithms/hmac_unittest.cc
index 42e2605..7f16c1a6 100644
--- a/components/webcrypto/algorithms/hmac_unittest.cc
+++ b/components/webcrypto/algorithms/hmac_unittest.cc
@@ -52,10 +52,10 @@
 TEST_F(WebCryptoHmacTest, HMACSampleSets) {
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("hmac.json", &tests));
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/rsa_oaep_unittest.cc b/components/webcrypto/algorithms/rsa_oaep_unittest.cc
index f90bba3..eb8f8ef 100644
--- a/components/webcrypto/algorithms/rsa_oaep_unittest.cc
+++ b/components/webcrypto/algorithms/rsa_oaep_unittest.cc
@@ -158,11 +158,11 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("rsa_oaep.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
 
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/rsa_ssa_unittest.cc b/components/webcrypto/algorithms/rsa_ssa_unittest.cc
index 29fcb1e..04834ea 100644
--- a/components/webcrypto/algorithms/rsa_ssa_unittest.cc
+++ b/components/webcrypto/algorithms/rsa_ssa_unittest.cc
@@ -209,11 +209,11 @@
   // new keys.
   std::vector<blink::WebCryptoKey> live_keys;
 
-  for (size_t key_index = 0; key_index < key_list.GetList().size();
+  for (size_t key_index = 0; key_index < key_list.GetListDeprecated().size();
        ++key_index) {
     SCOPED_TRACE(key_index);
 
-    const base::Value& key_values = key_list.GetList()[key_index];
+    const base::Value& key_values = key_list.GetListDeprecated()[key_index];
     ASSERT_TRUE(key_values.is_dict());
     const base::DictionaryValue* key_values_dict =
         &base::Value::AsDictionaryValue(key_values);
@@ -268,7 +268,7 @@
   ASSERT_TRUE(ReadJsonTestFileAsList("rsa_private_keys.json", &key_list));
 
   // Import a 1024-bit private key.
-  const base::Value& key1_props_value = key_list.GetList()[1];
+  const base::Value& key1_props_value = key_list.GetListDeprecated()[1];
   ASSERT_TRUE(key1_props_value.is_dict());
   const base::DictionaryValue* key1_props =
       &base::Value::AsDictionaryValue(key1_props_value);
@@ -288,7 +288,7 @@
 
   // Construct a JWK using the modulus of key1, but all the other fields from
   // another key (also a 1024-bit private key).
-  base::Value& key2_props_value = key_list.GetList()[5];
+  base::Value& key2_props_value = key_list.GetListDeprecated()[5];
   ASSERT_TRUE(key2_props_value.is_dict());
   base::DictionaryValue* key2_props = const_cast<base::DictionaryValue*>(
       &base::Value::AsDictionaryValue(key2_props_value));
@@ -659,11 +659,11 @@
 
   // Validate the signatures are computed and verified as expected.
   std::vector<uint8_t> signature;
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
 
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
@@ -1000,11 +1000,11 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("bad_rsa_keys.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
 
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/webcrypto/algorithms/sha_unittest.cc b/components/webcrypto/algorithms/sha_unittest.cc
index 48dd015..cec19aa 100644
--- a/components/webcrypto/algorithms/sha_unittest.cc
+++ b/components/webcrypto/algorithms/sha_unittest.cc
@@ -25,10 +25,10 @@
   base::Value tests;
   ASSERT_TRUE(ReadJsonTestFileAsList("sha.json", &tests));
 
-  for (size_t test_index = 0; test_index < tests.GetList().size();
+  for (size_t test_index = 0; test_index < tests.GetListDeprecated().size();
        ++test_index) {
     SCOPED_TRACE(test_index);
-    const base::Value& test_value = tests.GetList()[test_index];
+    const base::Value& test_value = tests.GetListDeprecated()[test_index];
     ASSERT_TRUE(test_value.is_dict());
     const base::DictionaryValue* test =
         &base::Value::AsDictionaryValue(test_value);
diff --git a/components/wifi/network_properties.cc b/components/wifi/network_properties.cc
index 08adcf3..f1801abe 100644
--- a/components/wifi/network_properties.cc
+++ b/components/wifi/network_properties.cc
@@ -54,7 +54,7 @@
          ++it) {
       frequency_list.Append(*it);
     }
-    if (!frequency_list.GetList().empty())
+    if (!frequency_list.GetListDeprecated().empty())
       wifi.SetPath(onc::wifi::kFrequencyList, std::move(frequency_list));
     if (!bssid.empty())
       wifi.SetStringPath(onc::wifi::kBSSID, bssid);
diff --git a/content/browser/accessibility/accessibility_action_browsertest.cc b/content/browser/accessibility/accessibility_action_browsertest.cc
index fbff14b..51126060 100644
--- a/content/browser/accessibility/accessibility_action_browsertest.cc
+++ b/content/browser/accessibility/accessibility_action_browsertest.cc
@@ -490,11 +490,11 @@
   ASSERT_NE(nullptr, target);
   EXPECT_EQ(u"Before", target->GetValueForControl());
 
-  AccessibilityNotificationWaiter waiter2(
+  AccessibilityNotificationWaiter waiter(
       shell()->web_contents(), ui::kAXModeComplete,
       ui::AXEventGenerator::Event::VALUE_IN_TEXT_FIELD_CHANGED);
   GetManager()->SetValue(*target, "Line1\nLine2");
-  waiter2.WaitForNotification();
+  waiter.WaitForNotification();
 
   EXPECT_EQ(u"Line1\nLine2", target->GetValueForControl());
 
diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc
index d7e376b..c9154ee1 100644
--- a/content/browser/accessibility/browser_accessibility_manager_android.cc
+++ b/content/browser/accessibility/browser_accessibility_manager_android.cc
@@ -279,8 +279,12 @@
       break;
     }
     case ui::AXEventGenerator::Event::VALUE_IN_TEXT_FIELD_CHANGED:
-      DCHECK(android_node->IsTextField());
-      if (GetFocus() == node)
+      // Sometimes `RetargetForEvents` will walk up to the lowest platform leaf
+      // and fire the same event on that node. However, in some rare cases the
+      // leaf node might not be a text field. For example, in the unusual case
+      // when the text field is inside a button, the leaf node is the button not
+      // the text field.
+      if (android_node->IsTextField() && GetFocus() == node)
         wcax->HandleEditableTextChanged(android_node->unique_id());
       break;
 
diff --git a/content/browser/aggregation_service/public_key_parsing_utils.cc b/content/browser/aggregation_service/public_key_parsing_utils.cc
index ab9d365d..3a142ef 100644
--- a/content/browser/aggregation_service/public_key_parsing_utils.cc
+++ b/content/browser/aggregation_service/public_key_parsing_utils.cc
@@ -63,7 +63,7 @@
   std::vector<PublicKey> public_keys;
   base::flat_set<std::string> key_ids_set;
 
-  for (auto& key_json : keys_json.value().GetList()) {
+  for (auto& key_json : keys_json.value().GetListDeprecated()) {
     // Return error (i.e. empty vector) if more keys than expected are
     // specified.
     if (public_keys.size() == PublicKeyset::kMaxNumberKeys)
diff --git a/content/browser/android/java/gin_java_method_invocation_helper.cc b/content/browser/android/java/gin_java_method_invocation_helper.cc
index 562cca4..fd3fe98 100644
--- a/content/browser/android/java/gin_java_method_invocation_helper.cc
+++ b/content/browser/android/java/gin_java_method_invocation_helper.cc
@@ -53,7 +53,7 @@
     DispatcherDelegate* dispatcher,
     const base::Value& list_value) {
   DCHECK(list_value.is_list());
-  for (const auto& entry : list_value.GetList()) {
+  for (const auto& entry : list_value.GetListDeprecated()) {
     if (AppendObjectRef(dispatcher, entry))
       continue;
     if (entry.is_list()) {
@@ -109,7 +109,7 @@
 void GinJavaMethodInvocationHelper::Invoke() {
   JNIEnv* env = AttachCurrentThread();
   const JavaMethod* method =
-      object_->FindMethod(method_name_, arguments_.GetList().size());
+      object_->FindMethod(method_name_, arguments_.GetListDeprecated().size());
   if (!method) {
     SetInvocationError(kGinJavaBridgeMethodNotFound);
     return;
@@ -137,7 +137,7 @@
   GinJavaBridgeError coercion_error = kGinJavaBridgeNoError;
   std::vector<jvalue> parameters(method->num_parameters());
   for (size_t i = 0; i < method->num_parameters(); ++i) {
-    const base::Value& argument = arguments_.GetList()[i];
+    const base::Value& argument = arguments_.GetListDeprecated()[i];
     parameters[i] = CoerceJavaScriptValueToJavaValue(
         env, &argument, method->parameter_type(i), true, object_refs_,
         &coercion_error);
diff --git a/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc b/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc
index 8642161..1f1bf03 100644
--- a/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc
+++ b/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc
@@ -225,7 +225,7 @@
   helper->Invoke();
   EXPECT_TRUE(object_delegate->get_local_ref_called());
   EXPECT_TRUE(helper->HoldsPrimitiveResult());
-  EXPECT_TRUE(helper->GetPrimitiveResult().GetList().empty());
+  EXPECT_TRUE(helper->GetPrimitiveResult().GetListDeprecated().empty());
   EXPECT_EQ(kGinJavaBridgeObjectIsGone, helper->GetInvocationError());
 }
 
@@ -276,7 +276,7 @@
   helper->Invoke();
   EXPECT_TRUE(object_delegate->find_method_called());
   EXPECT_TRUE(helper->HoldsPrimitiveResult());
-  EXPECT_TRUE(helper->GetPrimitiveResult().GetList().empty());
+  EXPECT_TRUE(helper->GetPrimitiveResult().GetListDeprecated().empty());
   EXPECT_EQ(kGinJavaBridgeMethodNotFound, helper->GetInvocationError());
 }
 
@@ -335,7 +335,7 @@
   EXPECT_TRUE(object_delegate->find_method_called());
   EXPECT_TRUE(object_delegate->get_class_called());
   EXPECT_TRUE(helper->HoldsPrimitiveResult());
-  EXPECT_TRUE(helper->GetPrimitiveResult().GetList().empty());
+  EXPECT_TRUE(helper->GetPrimitiveResult().GetListDeprecated().empty());
   EXPECT_EQ(kGinJavaBridgeAccessToObjectGetClassIsBlocked,
             helper->GetInvocationError());
 }
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
index 487ffaa..9763b33 100644
--- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -299,13 +299,11 @@
   if (!allowed)
     return;
 
-  const AttributionPolicy& policy = attribution_manager->GetAttributionPolicy();
-
   const auto sanitize_trigger_data =
       [&](const uint64_t unsanitized, CommonSourceInfo::SourceType source_type,
           devtools_instrumentation::AttributionReportingIssueType issue_type) {
         const uint64_t sanitized =
-            policy.SanitizeTriggerData(unsanitized, source_type);
+            SanitizeTriggerData(unsanitized, source_type);
 
         if (sanitized != unsanitized) {
           devtools_instrumentation::ReportAttributionReportingIssue(
diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/content/browser/attribution_reporting/attribution_host_utils.cc
index 4531aeaf..2173a35 100644
--- a/content/browser/attribution_reporting/attribution_host_utils.cc
+++ b/content/browser/attribution_reporting/attribution_host_utils.cc
@@ -61,12 +61,12 @@
 
   StorableSource storable_impression(
       // Impression data doesn't need to be sanitized.
-      CommonSourceInfo(
-          impression.impression_data, impression_origin,
-          impression.conversion_destination, reporting_origin, impression_time,
-          attribution_manager.GetAttributionPolicy().GetExpiryTimeForImpression(
-              impression.expiry, impression_time, source_type),
-          source_type, impression.priority));
+      CommonSourceInfo(impression.impression_data, impression_origin,
+                       impression.conversion_destination, reporting_origin,
+                       impression_time,
+                       GetExpiryTimeForImpression(impression.expiry,
+                                                  impression_time, source_type),
+                       source_type, impression.priority));
 
   attribution_manager.HandleSource(std::move(storable_impression));
   return VerifyResult{.allowed = true, .stored = true};
diff --git a/content/browser/attribution_reporting/attribution_manager.h b/content/browser/attribution_reporting/attribution_manager.h
index 3045b4b6..75f43b0 100644
--- a/content/browser/attribution_reporting/attribution_manager.h
+++ b/content/browser/attribution_reporting/attribution_manager.h
@@ -22,7 +22,6 @@
 
 namespace content {
 
-class AttributionPolicy;
 class AttributionTrigger;
 class StorableSource;
 class StoredSource;
@@ -96,10 +95,6 @@
       const std::vector<AttributionReport::EventLevelData::Id>& ids,
       base::OnceClosure done) = 0;
 
-  // Returns the AttributionPolicy that is used to control API policies such
-  // as noise.
-  virtual const AttributionPolicy& GetAttributionPolicy() const = 0;
-
   // Deletes all data in storage for URLs matching |filter|, between
   // |delete_begin| and |delete_end| time.
   //
diff --git a/content/browser/attribution_reporting/attribution_manager_impl.cc b/content/browser/attribution_reporting/attribution_manager_impl.cc
index 4c1643d7..08c6539a 100644
--- a/content/browser/attribution_reporting/attribution_manager_impl.cc
+++ b/content/browser/attribution_reporting/attribution_manager_impl.cc
@@ -294,10 +294,6 @@
                            weak_factory_.GetWeakPtr(), std::move(done)));
 }
 
-const AttributionPolicy& AttributionManagerImpl::GetAttributionPolicy() const {
-  return attribution_policy_;
-}
-
 void AttributionManagerImpl::ClearData(
     base::Time delete_begin,
     base::Time delete_end,
@@ -481,10 +477,10 @@
   if (info.status == SendResult::Status::kTransientFailure) {
     report.set_failed_send_attempts(report.failed_send_attempts() + 1);
     const absl::optional<base::TimeDelta> delay =
-        attribution_policy_.GetFailedReportDelay(report.failed_send_attempts());
+        GetFailedReportDelay(report.failed_send_attempts());
     if (delay.has_value()) {
       should_retry = true;
-      report.set_report_time(report.report_time() + *delay);
+      report.set_report_time(base::Time::Now() + *delay);
     }
   }
 
diff --git a/content/browser/attribution_reporting/attribution_manager_impl.h b/content/browser/attribution_reporting/attribution_manager_impl.h
index 87e6798..c5ef3dc 100644
--- a/content/browser/attribution_reporting/attribution_manager_impl.h
+++ b/content/browser/attribution_reporting/attribution_manager_impl.h
@@ -19,7 +19,6 @@
 #include "base/threading/sequence_bound.h"
 #include "base/timer/wall_clock_timer.h"
 #include "content/browser/attribution_reporting/attribution_manager.h"
-#include "content/browser/attribution_reporting/attribution_policy.h"
 #include "content/browser/attribution_reporting/attribution_report.h"
 #include "content/browser/attribution_reporting/attribution_storage.h"
 #include "content/common/content_export.h"
@@ -116,7 +115,6 @@
   void SendReportsForWebUI(
       const std::vector<AttributionReport::EventLevelData::Id>& ids,
       base::OnceClosure done) override;
-  const AttributionPolicy& GetAttributionPolicy() const override;
   void ClearData(base::Time delete_begin,
                  base::Time delete_end,
                  base::RepeatingCallback<bool(const url::Origin&)> filter,
@@ -180,10 +178,6 @@
 
   base::SequenceBound<AttributionStorage> attribution_storage_;
 
-  // Policy used for controlling API configurations such as reporting and
-  // attribution models.
-  AttributionPolicy attribution_policy_;
-
   // Storage policy for the browser context |this| is in. May be nullptr.
   scoped_refptr<storage::SpecialStoragePolicy> special_storage_policy_;
 
diff --git a/content/browser/attribution_reporting/attribution_policy.cc b/content/browser/attribution_reporting/attribution_policy.cc
index 79d17da..4eae7310 100644
--- a/content/browser/attribution_reporting/attribution_policy.cc
+++ b/content/browser/attribution_reporting/attribution_policy.cc
@@ -5,31 +5,25 @@
 #include "content/browser/attribution_reporting/attribution_policy.h"
 
 #include <math.h>
+#include <stdint.h>
 
-#include "base/check.h"
 #include "base/check_op.h"
 #include "base/cxx17_backports.h"
-#include "base/memory/ptr_util.h"
 #include "base/time/time.h"
 #include "content/browser/attribution_reporting/attribution_utils.h"
 
 namespace content {
 
-AttributionPolicy::AttributionPolicy() = default;
-
-AttributionPolicy::~AttributionPolicy() = default;
-
-uint64_t AttributionPolicy::SanitizeTriggerData(
-    uint64_t trigger_data,
-    CommonSourceInfo::SourceType source_type) const {
+uint64_t SanitizeTriggerData(uint64_t trigger_data,
+                             CommonSourceInfo::SourceType source_type) {
   const uint64_t cardinality = TriggerDataCardinality(source_type);
   return trigger_data % cardinality;
 }
 
-base::Time AttributionPolicy::GetExpiryTimeForImpression(
+base::Time GetExpiryTimeForImpression(
     const absl::optional<base::TimeDelta>& declared_expiry,
     base::Time impression_time,
-    CommonSourceInfo::SourceType source_type) const {
+    CommonSourceInfo::SourceType source_type) {
   constexpr base::TimeDelta kMinImpressionExpiry = base::Days(1);
   constexpr base::TimeDelta kDefaultImpressionExpiry = base::Days(30);
 
@@ -46,8 +40,7 @@
          base::clamp(expiry, kMinImpressionExpiry, kDefaultImpressionExpiry);
 }
 
-absl::optional<base::TimeDelta> AttributionPolicy::GetFailedReportDelay(
-    int failed_send_attempts) const {
+absl::optional<base::TimeDelta> GetFailedReportDelay(int failed_send_attempts) {
   DCHECK_GT(failed_send_attempts, 0);
 
   const int kMaxFailedSendAttempts = 2;
diff --git a/content/browser/attribution_reporting/attribution_policy.h b/content/browser/attribution_reporting/attribution_policy.h
index 4028a99..f48f0b3 100644
--- a/content/browser/attribution_reporting/attribution_policy.h
+++ b/content/browser/attribution_reporting/attribution_policy.h
@@ -7,42 +7,36 @@
 
 #include <stdint.h>
 
-#include "base/time/time.h"
 #include "content/browser/attribution_reporting/common_source_info.h"
 #include "content/common/content_export.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
+namespace base {
+class Time;
+class TimeDelta;
+}  // namespace base
+
 namespace content {
 
-// Class for controlling certain constraints and configurations for handling,
-// storing, and sending impressions and conversions.
-class CONTENT_EXPORT AttributionPolicy {
- public:
-  AttributionPolicy();
-  AttributionPolicy(const AttributionPolicy& other) = delete;
-  AttributionPolicy& operator=(const AttributionPolicy& other) = delete;
-  AttributionPolicy(AttributionPolicy&& other) = delete;
-  AttributionPolicy& operator=(AttributionPolicy&& other) = delete;
-  ~AttributionPolicy();
+CONTENT_EXPORT
+uint64_t SanitizeTriggerData(uint64_t trigger_data,
+                             CommonSourceInfo::SourceType source_type);
 
-  uint64_t SanitizeTriggerData(uint64_t trigger_data,
-                               CommonSourceInfo::SourceType source_type) const;
+// Returns the expiry time for an impression that is clamped to a maximum
+// value of 30 days from |impression_time|.
+CONTENT_EXPORT
+base::Time GetExpiryTimeForImpression(
+    const absl::optional<base::TimeDelta>& declared_expiry,
+    base::Time impression_time,
+    CommonSourceInfo::SourceType source_type);
 
-  // Returns the expiry time for an impression that is clamped to a maximum
-  // value of 30 days from |impression_time|.
-  base::Time GetExpiryTimeForImpression(
-      const absl::optional<base::TimeDelta>& declared_expiry,
-      base::Time impression_time,
-      CommonSourceInfo::SourceType source_type) const;
-
-  // Gets the delay for a report that has failed to be sent
-  // `failed_send_attempts` times.
-  // Returns `absl::nullopt` to indicate that no more attempts should be made.
-  // Otherwise, the return value must be positive. `failed_send_attempts` is
-  // guaranteed to be positive.
-  absl::optional<base::TimeDelta> GetFailedReportDelay(
-      int failed_send_attempts) const;
-};
+// Gets the delay for a report that has failed to be sent
+// `failed_send_attempts` times.
+// Returns `absl::nullopt` to indicate that no more attempts should be made.
+// Otherwise, the return value must be positive. `failed_send_attempts` is
+// guaranteed to be positive.
+CONTENT_EXPORT
+absl::optional<base::TimeDelta> GetFailedReportDelay(int failed_send_attempts);
 
 }  // namespace content
 
diff --git a/content/browser/attribution_reporting/attribution_policy_unittest.cc b/content/browser/attribution_reporting/attribution_policy_unittest.cc
index c031a95..51e4bf42 100644
--- a/content/browser/attribution_reporting/attribution_policy_unittest.cc
+++ b/content/browser/attribution_reporting/attribution_policy_unittest.cc
@@ -12,31 +12,25 @@
 namespace content {
 
 TEST(AttributionPolicyTest, HighEntropyTriggerData_StrippedToLowerBits) {
-  AttributionPolicy policy;
+  EXPECT_EQ(0u,
+            SanitizeTriggerData(8, CommonSourceInfo::SourceType::kNavigation));
+  EXPECT_EQ(1u,
+            SanitizeTriggerData(9, CommonSourceInfo::SourceType::kNavigation));
 
-  EXPECT_EQ(0u, policy.SanitizeTriggerData(
-                    8, CommonSourceInfo::SourceType::kNavigation));
-  EXPECT_EQ(1u, policy.SanitizeTriggerData(
-                    9, CommonSourceInfo::SourceType::kNavigation));
-
-  EXPECT_EQ(
-      0u, policy.SanitizeTriggerData(2, CommonSourceInfo::SourceType::kEvent));
-  EXPECT_EQ(
-      1u, policy.SanitizeTriggerData(3, CommonSourceInfo::SourceType::kEvent));
+  EXPECT_EQ(0u, SanitizeTriggerData(2, CommonSourceInfo::SourceType::kEvent));
+  EXPECT_EQ(1u, SanitizeTriggerData(3, CommonSourceInfo::SourceType::kEvent));
 }
 
 TEST(AttributionPolicyTest, LowEntropyTriggerData_Unchanged) {
-  AttributionPolicy policy;
-
   for (uint64_t trigger_data = 0; trigger_data < 8; trigger_data++) {
     EXPECT_EQ(trigger_data,
-              policy.SanitizeTriggerData(
-                  trigger_data, CommonSourceInfo::SourceType::kNavigation));
+              SanitizeTriggerData(trigger_data,
+                                  CommonSourceInfo::SourceType::kNavigation));
   }
   for (uint64_t trigger_data = 0; trigger_data < 2; trigger_data++) {
     EXPECT_EQ(trigger_data,
-              policy.SanitizeTriggerData(trigger_data,
-                                         CommonSourceInfo::SourceType::kEvent));
+              SanitizeTriggerData(trigger_data,
+                                  CommonSourceInfo::SourceType::kEvent));
   }
 }
 
@@ -46,7 +40,7 @@
   for (auto source_type : kSourceTypes) {
     EXPECT_EQ(
         impression_time + base::Days(30),
-        AttributionPolicy().GetExpiryTimeForImpression(
+        GetExpiryTimeForImpression(
             /*declared_expiry=*/absl::nullopt, impression_time, source_type));
   }
 }
@@ -57,8 +51,8 @@
 
   for (auto source_type : kSourceTypes) {
     EXPECT_EQ(impression_time + base::Days(30),
-              AttributionPolicy().GetExpiryTimeForImpression(
-                  declared_expiry, impression_time, source_type));
+              GetExpiryTimeForImpression(declared_expiry, impression_time,
+                                         source_type));
   }
 }
 
@@ -77,8 +71,8 @@
   for (auto source_type : kSourceTypes) {
     for (const auto& test_case : kTestCases) {
       EXPECT_EQ(impression_time + test_case.want_expiry,
-                AttributionPolicy().GetExpiryTimeForImpression(
-                    test_case.declared_expiry, impression_time, source_type));
+                GetExpiryTimeForImpression(test_case.declared_expiry,
+                                           impression_time, source_type));
     }
   }
 }
@@ -105,8 +99,8 @@
   for (const auto& test_case : kTestCases) {
     EXPECT_EQ(
         impression_time + test_case.want_expiry,
-        AttributionPolicy().GetExpiryTimeForImpression(
-            test_case.declared_expiry, impression_time, test_case.source_type));
+        GetExpiryTimeForImpression(test_case.declared_expiry, impression_time,
+                                   test_case.source_type));
   }
 }
 
@@ -116,8 +110,8 @@
 
   for (auto source_type : kSourceTypes) {
     EXPECT_EQ(impression_time + base::Days(10),
-              AttributionPolicy().GetExpiryTimeForImpression(
-                  declared_expiry, impression_time, source_type));
+              GetExpiryTimeForImpression(declared_expiry, impression_time,
+                                         source_type));
   }
 }
 
@@ -132,8 +126,8 @@
   };
 
   for (const auto& test_case : kTestCases) {
-    EXPECT_EQ(test_case.expected, AttributionPolicy().GetFailedReportDelay(
-                                      test_case.failed_send_attempts))
+    EXPECT_EQ(test_case.expected,
+              GetFailedReportDelay(test_case.failed_send_attempts))
         << "failed_send_attempts=" << test_case.failed_send_attempts;
   }
 }
diff --git a/content/browser/attribution_reporting/attribution_test_utils.cc b/content/browser/attribution_reporting/attribution_test_utils.cc
index fd6db0a4..6978353 100644
--- a/content/browser/attribution_reporting/attribution_test_utils.cc
+++ b/content/browser/attribution_reporting/attribution_test_utils.cc
@@ -140,10 +140,6 @@
   observers_.RemoveObserver(observer);
 }
 
-const AttributionPolicy& MockAttributionManager::GetAttributionPolicy() const {
-  return policy_;
-}
-
 void MockAttributionManager::NotifySourcesChanged() {
   for (Observer& observer : observers_)
     observer.OnSourcesChanged();
diff --git a/content/browser/attribution_reporting/attribution_test_utils.h b/content/browser/attribution_reporting/attribution_test_utils.h
index 026ff02..fc94c59 100644
--- a/content/browser/attribution_reporting/attribution_test_utils.h
+++ b/content/browser/attribution_reporting/attribution_test_utils.h
@@ -19,7 +19,6 @@
 #include "content/browser/attribution_reporting/attribution_host.h"
 #include "content/browser/attribution_reporting/attribution_manager.h"
 #include "content/browser/attribution_reporting/attribution_manager_impl.h"
-#include "content/browser/attribution_reporting/attribution_policy.h"
 #include "content/browser/attribution_reporting/attribution_report.h"
 #include "content/browser/attribution_reporting/attribution_storage.h"
 #include "content/browser/attribution_reporting/attribution_trigger.h"
@@ -222,7 +221,6 @@
 
   void AddObserver(Observer* observer) override;
   void RemoveObserver(Observer* observer) override;
-  const AttributionPolicy& GetAttributionPolicy() const override;
 
   void NotifySourcesChanged();
   void NotifyReportsChanged();
@@ -234,7 +232,6 @@
       const AttributionStorage::CreateReportResult& result);
 
  private:
-  AttributionPolicy policy_;
   base::ObserverList<Observer, /*check_empty=*/true> observers_;
 };
 
diff --git a/content/browser/attribution_reporting/attributions_browsertest.cc b/content/browser/attribution_reporting/attributions_browsertest.cc
index eaeb2b3..1eeb63a 100644
--- a/content/browser/attribution_reporting/attributions_browsertest.cc
+++ b/content/browser/attribution_reporting/attributions_browsertest.cc
@@ -836,7 +836,7 @@
       /*attribution_destination=*/"https://b.test",
       /*source_event_id=*/"1", /*source_type=*/"navigation",
       /*trigger_data=*/"7", https_server());
-  // 12 below is sanitized to 4 here by the `AttributionPolicy`.
+  // 12 below is sanitized to 4 here by `SanitizeTriggerData()`.
   ExpectedReportWaiter expected_report2(
       GURL("https://a.test/.well-known/attribution-reporting/"
            "report-attribution"),
diff --git a/content/browser/cache_storage/cache_storage_manager.h b/content/browser/cache_storage/cache_storage_manager.h
index 6c5c3fa6..a775cff5 100644
--- a/content/browser/cache_storage/cache_storage_manager.h
+++ b/content/browser/cache_storage/cache_storage_manager.h
@@ -5,8 +5,6 @@
 #ifndef CONTENT_BROWSER_CACHE_STORAGE_CACHE_STORAGE_MANAGER_H_
 #define CONTENT_BROWSER_CACHE_STORAGE_CACHE_STORAGE_MANAGER_H_
 
-#include <string>
-
 #include "components/services/storage/public/mojom/cache_storage_control.mojom.h"
 #include "components/services/storage/public/mojom/quota_client.mojom.h"
 #include "content/browser/cache_storage/cache_storage_handle.h"
@@ -43,10 +41,6 @@
   virtual void GetStorageKeys(
       storage::mojom::CacheStorageOwner owner,
       storage::mojom::QuotaClient::GetStorageKeysForTypeCallback callback) = 0;
-  virtual void GetStorageKeysForHost(
-      const std::string& host,
-      storage::mojom::CacheStorageOwner owner,
-      storage::mojom::QuotaClient::GetStorageKeysForHostCallback callback) = 0;
   virtual void DeleteStorageKeyData(
       const blink::StorageKey& storage_key,
       storage::mojom::CacheStorageOwner owner,
diff --git a/content/browser/cache_storage/cache_storage_manager_unittest.cc b/content/browser/cache_storage/cache_storage_manager_unittest.cc
index b07c1e8..14a744f1 100644
--- a/content/browser/cache_storage/cache_storage_manager_unittest.cc
+++ b/content/browser/cache_storage/cache_storage_manager_unittest.cc
@@ -2393,16 +2393,6 @@
     return callback_storage_keys_.size();
   }
 
-  size_t QuotaGetStorageKeysForHost(const std::string& host) {
-    base::RunLoop loop;
-    quota_client_->GetStorageKeysForHost(
-        StorageType::kTemporary, host,
-        base::BindOnce(&CacheStorageQuotaClientTest::StorageKeysCallback,
-                       base::Unretained(this), base::Unretained(&loop)));
-    loop.Run();
-    return callback_storage_keys_.size();
-  }
-
   bool QuotaDeleteStorageKeyData(const blink::StorageKey& storage_key) {
     base::RunLoop loop;
     quota_client_->DeleteStorageKeyData(
@@ -2458,28 +2448,6 @@
   EXPECT_EQ(1u, QuotaGetStorageKeysForType());
 }
 
-TEST_P(CacheStorageQuotaClientTestP, QuotaGetStorageKeysForHost) {
-  EXPECT_EQ(0u, QuotaGetStorageKeysForHost("example.com"));
-  EXPECT_TRUE(Open(
-      blink::StorageKey(url::Origin::Create(GURL("http://example.com:8080"))),
-      "foo"));
-  EXPECT_TRUE(Open(
-      blink::StorageKey(url::Origin::Create(GURL("http://example.com:9000"))),
-      "foo"));
-  EXPECT_TRUE(
-      Open(blink::StorageKey(url::Origin::Create(GURL("ftp://example.com"))),
-           "foo"));
-  EXPECT_TRUE(
-      Open(blink::StorageKey(url::Origin::Create(GURL("http://example2.com"))),
-           "foo"));
-  EXPECT_EQ(3u, QuotaGetStorageKeysForHost("example.com"));
-  EXPECT_EQ(1u, QuotaGetStorageKeysForHost("example2.com"));
-  EXPECT_THAT(callback_storage_keys_,
-              testing::Contains(blink::StorageKey::CreateFromStringForTesting(
-                  "http://example2.com")));
-  EXPECT_EQ(0u, QuotaGetStorageKeysForHost("unknown.com"));
-}
-
 TEST_P(CacheStorageQuotaClientTestP, QuotaDeleteStorageKeyData) {
   EXPECT_EQ(0, QuotaGetStorageKeyUsage(storage_key1_));
   EXPECT_TRUE(Open(storage_key1_, "foo"));
diff --git a/content/browser/cache_storage/cache_storage_quota_client.cc b/content/browser/cache_storage/cache_storage_quota_client.cc
index 6436f39a..460f908 100644
--- a/content/browser/cache_storage/cache_storage_quota_client.cc
+++ b/content/browser/cache_storage/cache_storage_quota_client.cc
@@ -46,16 +46,6 @@
   cache_manager_->GetStorageKeys(owner_, std::move(callback));
 }
 
-void CacheStorageQuotaClient::GetStorageKeysForHost(
-    blink::mojom::StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK_EQ(type, blink::mojom::StorageType::kTemporary);
-
-  cache_manager_->GetStorageKeysForHost(host, owner_, std::move(callback));
-}
-
 void CacheStorageQuotaClient::DeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     blink::mojom::StorageType type,
diff --git a/content/browser/cache_storage/cache_storage_quota_client.h b/content/browser/cache_storage/cache_storage_quota_client.h
index ded6ece..acf320a 100644
--- a/content/browser/cache_storage/cache_storage_quota_client.h
+++ b/content/browser/cache_storage/cache_storage_quota_client.h
@@ -43,9 +43,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage_manager.cc b/content/browser/cache_storage/legacy/legacy_cache_storage_manager.cc
index 68fe6529..ea00eaf 100644
--- a/content/browser/cache_storage/legacy/legacy_cache_storage_manager.cc
+++ b/content/browser/cache_storage/legacy/legacy_cache_storage_manager.cc
@@ -205,21 +205,6 @@
   return out_storage_keys;
 }
 
-void GetStorageKeysForHostDidListStorageKeys(
-    const std::string& host,
-    storage::mojom::QuotaClient::GetStorageKeysForHostCallback callback,
-    const std::vector<blink::StorageKey>& storage_keys) {
-  // On scheduler sequence.
-  std::vector<blink::StorageKey> out_storage_keys;
-  for (const blink::StorageKey& storage_key : storage_keys) {
-    if (host == storage_key.origin().host())
-      out_storage_keys.push_back(storage_key);
-  }
-  base::SequencedTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE,
-      base::BindOnce(std::move(callback), std::move(out_storage_keys)));
-}
-
 void AllOriginSizesReported(
     std::vector<storage::mojom::StorageUsageInfoPtr> usages,
     storage::mojom::CacheStorageControl::GetAllStorageKeysInfoCallback
@@ -469,33 +454,6 @@
       std::move(callback));
 }
 
-void LegacyCacheStorageManager::GetStorageKeysForHost(
-    const std::string& host,
-    storage::mojom::CacheStorageOwner owner,
-    storage::mojom::QuotaClient::GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-
-  if (IsMemoryBacked()) {
-    std::vector<blink::StorageKey> storage_keys;
-    for (const auto& key_value : cache_storage_map_) {
-      if (key_value.first.second != owner)
-        continue;
-      if (host == key_value.first.first.origin().host())
-        storage_keys.push_back(key_value.first.first);
-    }
-    scheduler_task_runner_->PostTask(
-        FROM_HERE,
-        base::BindOnce(std::move(callback), std::move(storage_keys)));
-    return;
-  }
-
-  PostTaskAndReplyWithResult(
-      cache_task_runner_.get(), FROM_HERE,
-      base::BindOnce(&ListStorageKeysOnTaskRunner, root_path_, owner),
-      base::BindOnce(&GetStorageKeysForHostDidListStorageKeys, host,
-                     std::move(callback)));
-}
-
 void LegacyCacheStorageManager::DeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     storage::mojom::CacheStorageOwner owner,
diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage_manager.h b/content/browser/cache_storage/legacy/legacy_cache_storage_manager.h
index 131a3af..788edec 100644
--- a/content/browser/cache_storage/legacy/legacy_cache_storage_manager.h
+++ b/content/browser/cache_storage/legacy/legacy_cache_storage_manager.h
@@ -83,11 +83,6 @@
   void GetStorageKeys(storage::mojom::CacheStorageOwner owner,
                       storage::mojom::QuotaClient::GetStorageKeysForTypeCallback
                           callback) override;
-  void GetStorageKeysForHost(
-      const std::string& host,
-      storage::mojom::CacheStorageOwner owner,
-      storage::mojom::QuotaClient::GetStorageKeysForHostCallback callback)
-      override;
   void DeleteStorageKeyData(
       const blink::StorageKey& storage_key,
       storage::mojom::CacheStorageOwner owner,
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
index d507104a..12340cef 100644
--- a/content/browser/client_hints/client_hints.cc
+++ b/content/browser/client_hints/client_hints.cc
@@ -451,46 +451,47 @@
 }
 
 // Returns true iff the `url` is embedded inside a frame that has the
-// Sec-CH-UA-Reduced client hint and thus, is enrolled in the
-// UserAgentReduction Origin Trial.
+// corresponding Sec-CH-UA-Reduced or Sec-CH-UA-Full client hint and thus, is
+// enrolled in the UserAgentReduction or SendFullUserAgentAfterReduction Origin
+// Trial.
 //
-// TODO(crbug.com/1258063): Remove when the UserAgentReduction Origin Trial is
-// finished.
-bool IsUserAgentReductionEnabledForEmbeddedFrame(
+// TODO(crbug.com/1258063): Remove when the UserAgentReduction and
+// SendFullUserAgentAfterReduction Origin Trial is finished.
+bool AreUserAgentOriginTrialHintsEnabledForFrame(
     const GURL& url,
     const GURL& main_frame_url,
     FrameTreeNode* frame_tree_node,
-    ClientHintsControllerDelegate* delegate) {
-  bool is_embedder_ua_reduced = false;
+    ClientHintsControllerDelegate* delegate,
+    WebClientHintsType hint_type) {
+  bool is_embedder_in_ua_origin_trial = false;
   RenderFrameHostImpl* current = frame_tree_node->current_frame_host();
   while (current) {
     const GURL& current_url = (current == frame_tree_node->current_frame_host())
                                   ? url
                                   : current->GetLastCommittedURL();
 
-    // Don't use Sec-CH-UA-Reduced from third-party origins if third-party
-    // cookies are blocked, so that we don't reveal any more user data than
-    // is allowed by the cookie settings.
+    // Don't use Sec-CH-UA-Reduced or Sec-CH-UA-Full from third-party origins if
+    // third-party cookies are blocked, so that we don't reveal any more user
+    // data than is allowed by the cookie settings.
     if (url::IsSameOriginWith(current_url, main_frame_url) ||
         !delegate->AreThirdPartyCookiesBlocked(current_url)) {
       blink::EnabledClientHints current_url_hints;
       delegate->GetAllowedClientHintsFromSource(current_url,
                                                 &current_url_hints);
-      if ((is_embedder_ua_reduced =
-               base::Contains(current_url_hints.GetEnabledHints(),
-                              WebClientHintsType::kUAReduced))) {
+      if ((is_embedder_in_ua_origin_trial = base::Contains(
+               current_url_hints.GetEnabledHints(), hint_type))) {
         break;
       }
     }
 
     current = current->GetParent();
   }
-  return is_embedder_ua_reduced;
+  return is_embedder_in_ua_origin_trial;
 }
 
-// TODO(crbug.com/1258063): Delete this function when the UserAgentReduction
-// Origin Trial is finished.
-void RemoveAllClientHintsExceptUaReduced(
+// TODO(crbug.com/1258063): Delete this function when the UserAgentReduction and
+// SendFullUserAgentAfterReduction Origin Trial is finished.
+void RemoveAllClientHintsExceptUaReducedOrUaDeprecation(
     const GURL& url,
     FrameTreeNode* frame_tree_node,
     ClientHintsControllerDelegate* delegate,
@@ -501,7 +502,8 @@
       frame_tree_node->frame_tree()->GetMainFrame();
 
   for (auto it = accept_ch->begin(); it != accept_ch->end();) {
-    if (*it == WebClientHintsType::kUAReduced) {
+    if (*it == WebClientHintsType::kUAReduced ||
+        *it == WebClientHintsType::kFullUserAgent) {
       ++it;
     } else {
       it = accept_ch->erase(it);
@@ -555,8 +557,12 @@
     // TODO(crbug.com/1258063): Remove once the UserAgentReduction Origin Trial
     // is finished.
     if (frame_tree_node && !is_main_frame) {
-      is_embedder_ua_reduced = IsUserAgentReductionEnabledForEmbeddedFrame(
-          url, main_frame_url, frame_tree_node, delegate);
+      is_embedder_ua_reduced = AreUserAgentOriginTrialHintsEnabledForFrame(
+          url, main_frame_url, frame_tree_node, delegate,
+          WebClientHintsType::kUAReduced);
+      is_embedder_ua_full = AreUserAgentOriginTrialHintsEnabledForFrame(
+          url, main_frame_url, frame_tree_node, delegate,
+          WebClientHintsType::kFullUserAgent);
     }
 
     // Record the time spent getting the client hints.
@@ -573,6 +579,14 @@
   // receive the reduced User-Agent header, so we want to also send the reduced
   // User-Agent for the embedded request as well.
   bool is_embedder_ua_reduced = false;
+  // If true, one of the ancestor requests in the path to this request had
+  // Sec-CH-UA-Full in their Accept-CH cache.  Only applies to embedded
+  // requests (top-level requests will always set this to false).
+  //
+  // If an embedder of a request has Sec-CH-UA-Full, it means it will
+  // receive the full User-Agent header, so we want to also send the full
+  // User-Agent for the embedded request as well.
+  bool is_embedder_ua_full = false;
   url::Origin resource_origin;
   bool is_main_frame = false;
   GURL main_frame_url;
@@ -581,17 +595,17 @@
 };
 
 bool SkipPermissionPolicyCheck(WebClientHintsType type) {
-  // TODO(crbug/1282230): Add || type == WebClientHintsType::kFullUserAgent;
-  return type == WebClientHintsType::kUAReduced;
+  return type == WebClientHintsType::kUAReduced ||
+         type == WebClientHintsType::kFullUserAgent;
 }
 
 bool IsClientHintEnabled(const ClientHintsExtendedData& data,
                          WebClientHintsType type) {
   return blink::IsClientHintSentByDefault(type) || data.hints.IsEnabled(type) ||
          (type == WebClientHintsType::kUAReduced &&
-          data.is_embedder_ua_reduced);
-  // TODO(crbug/1282230): Add || (type == WebClientHintsType::kFullUserAgent &&
-  // data.is_embedder_ua_full);
+          data.is_embedder_ua_reduced) ||
+         (type == WebClientHintsType::kFullUserAgent &&
+          data.is_embedder_ua_full);
 }
 
 bool IsClientHintAllowed(const ClientHintsExtendedData& data,
@@ -763,6 +777,10 @@
       AddUAHeader(headers, WebClientHintsType::kUAFullVersionList,
                   ua_metadata->SerializeBrandFullVersionList());
     }
+    if (ShouldAddClientHint(data, WebClientHintsType::kFullUserAgent)) {
+      AddUAHeader(headers, WebClientHintsType::kFullUserAgent,
+                  SerializeHeaderString(true));
+    }
   } else if (call_type == ClientUaHeaderCallType::kAfterCreated) {
     RemoveClientHintHeader(WebClientHintsType::kUA, headers);
     RemoveClientHintHeader(WebClientHintsType::kUAMobile, headers);
@@ -775,6 +793,7 @@
     RemoveClientHintHeader(WebClientHintsType::kUAReduced, headers);
     RemoveClientHintHeader(WebClientHintsType::kUAFullVersionList, headers);
     RemoveClientHintHeader(WebClientHintsType::kUAWoW64, headers);
+    RemoveClientHintHeader(WebClientHintsType::kFullUserAgent, headers);
   }
 }
 
@@ -989,9 +1008,9 @@
   // TODO(crbug.com/1258063): Delete this call when the UserAgentReduction
   // Origin Trial is finished.
   if (!frame_tree_node->IsMainFrame()) {
-    RemoveAllClientHintsExceptUaReduced(url, frame_tree_node, delegate,
-                                        &accept_ch, &main_frame_url,
-                                        &third_party_url);
+    RemoveAllClientHintsExceptUaReducedOrUaDeprecation(
+        url, frame_tree_node, delegate, &accept_ch, &main_frame_url,
+        &third_party_url);
     if (accept_ch.empty()) {
       // There are is no Sec-CH-UA-Reduced in Accept-CH for the embedded frame,
       // so nothing should be persisted.
@@ -1033,6 +1052,10 @@
       !base::Contains(hints, WebClientHintsType::kUAReduced)) {
     hints.push_back(WebClientHintsType::kUAReduced);
   }
+  if (data.is_embedder_ua_full &&
+      !base::Contains(hints, WebClientHintsType::kFullUserAgent)) {
+    hints.push_back(WebClientHintsType::kFullUserAgent);
+  }
   return hints;
 }
 
diff --git a/content/browser/devtools/protocol/tracing_handler.cc b/content/browser/devtools/protocol/tracing_handler.cc
index 08cf128..8223c1a6 100644
--- a/content/browser/devtools/protocol/tracing_handler.cc
+++ b/content/browser/devtools/protocol/tracing_handler.cc
@@ -98,7 +98,7 @@
 
   if (value.is_list()) {
     base::Value out(base::Value::Type::LIST);
-    for (const auto& v : value.GetList())
+    for (const auto& v : value.GetListDeprecated())
       out.Append(ConvertDictKeyStyle(v));
     return out;
   }
diff --git a/content/browser/font_unique_name_lookup/font_unique_name_browsertest.cc b/content/browser/font_unique_name_lookup/font_unique_name_browsertest.cc
index 6c92e27c8..8377a53 100644
--- a/content/browser/font_unique_name_lookup/font_unique_name_browsertest.cc
+++ b/content/browser/font_unique_name_lookup/font_unique_name_browsertest.cc
@@ -175,7 +175,7 @@
   // next SendCommand call.
   base::Value node_list =
       result->FindKeyOfType("nodeIds", base::Value::Type::LIST)->Clone();
-  base::Value::ConstListView nodes_view = node_list.GetList();
+  base::Value::ConstListView nodes_view = node_list.GetListDeprecated();
   ASSERT_EQ(nodes_view.size(), num_added_nodes);
   ASSERT_EQ(nodes_view.size(), base::size(kExpectedFontFamilyNames));
   for (size_t i = 0; i < nodes_view.size(); ++i) {
diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc
index 350ee37..57a0546 100644
--- a/content/browser/gpu/compositor_util.cc
+++ b/content/browser/gpu/compositor_util.cc
@@ -340,7 +340,8 @@
     disabled_features.Append("all");
     problem.SetKey("affectedGpuSettings", std::move(disabled_features));
     problem.SetStringKey("tag", "disabledFeatures");
-    problem_list.Insert(problem_list.GetList().begin(), std::move(problem));
+    problem_list.Insert(problem_list.GetListDeprecated().begin(),
+                        std::move(problem));
   }
 
   bool eof = false;
@@ -357,7 +358,8 @@
       disabled_features.Append(gpu_feature_data.name);
       problem.SetKey("affectedGpuSettings", std::move(disabled_features));
       problem.SetStringKey("tag", "disabledFeatures");
-      problem_list.Insert(problem_list.GetList().begin(), std::move(problem));
+      problem_list.Insert(problem_list.GetListDeprecated().begin(),
+                          std::move(problem));
     }
   }
   return problem_list;
diff --git a/content/browser/indexed_db/indexed_db_quota_client.cc b/content/browser/indexed_db/indexed_db_quota_client.cc
index cd7e576..a888b68 100644
--- a/content/browser/indexed_db/indexed_db_quota_client.cc
+++ b/content/browser/indexed_db/indexed_db_quota_client.cc
@@ -59,25 +59,6 @@
   std::move(callback).Run(std::move(storage_keys));
 }
 
-void IndexedDBQuotaClient::GetStorageKeysForHost(
-    StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK_EQ(type, StorageType::kTemporary);
-
-  std::vector<StorageKey> host_storage_keys;
-  // In the vast majority of cases, this vector will end up with exactly one
-  // storage key. The storage key will be https://host or http://host.
-  host_storage_keys.reserve(1);
-
-  for (auto& storage_key : indexed_db_context_.GetAllStorageKeys()) {
-    if (host == storage_key.origin().host())
-      host_storage_keys.push_back(std::move(storage_key));
-  }
-  std::move(callback).Run(std::move(host_storage_keys));
-}
-
 void IndexedDBQuotaClient::DeleteStorageKeyData(
     const StorageKey& storage_key,
     StorageType type,
diff --git a/content/browser/indexed_db/indexed_db_quota_client.h b/content/browser/indexed_db/indexed_db_quota_client.h
index 4c5c56c..c88bd30a 100644
--- a/content/browser/indexed_db/indexed_db_quota_client.h
+++ b/content/browser/indexed_db/indexed_db_quota_client.h
@@ -5,9 +5,6 @@
 #ifndef CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_QUOTA_CLIENT_H_
 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_QUOTA_CLIENT_H_
 
-#include <set>
-#include <string>
-
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/sequence_checker.h"
@@ -40,9 +37,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
diff --git a/content/browser/indexed_db/indexed_db_quota_client_unittest.cc b/content/browser/indexed_db/indexed_db_quota_client_unittest.cc
index 93268b3..ffc57f9 100644
--- a/content/browser/indexed_db/indexed_db_quota_client_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_quota_client_unittest.cc
@@ -42,14 +42,11 @@
  public:
   const StorageKey kStorageKeyA;
   const StorageKey kStorageKeyB;
-  const StorageKey kStorageKeyOther;
 
   IndexedDBQuotaClientTest()
       : kStorageKeyA(StorageKey::CreateFromStringForTesting("http://host")),
         kStorageKeyB(
-            StorageKey::CreateFromStringForTesting("http://host:8000")),
-        kStorageKeyOther(
-            StorageKey::CreateFromStringForTesting("http://other")) {
+            StorageKey::CreateFromStringForTesting("http://host:8000")) {
     CreateTempDir();
     auto quota_manager = base::MakeRefCounted<storage::MockQuotaManager>(
         /*in_memory=*/false, temp_dir_.GetPath(),
@@ -111,23 +108,6 @@
     return result;
   }
 
-  static std::vector<StorageKey> GetStorageKeysForHost(
-      storage::mojom::QuotaClient& client,
-      StorageType type,
-      const std::string& host) {
-    std::vector<StorageKey> result;
-    base::RunLoop loop;
-    client.GetStorageKeysForHost(
-        type, host,
-        base::BindLambdaForTesting(
-            [&](const std::vector<StorageKey>& storage_keys) {
-              result = storage_keys;
-              loop.Quit();
-            }));
-    loop.Run();
-    return result;
-  }
-
   static blink::mojom::QuotaStatusCode DeleteStorageKeyData(
       storage::mojom::QuotaClient& client,
       const StorageKey& storage_key,
@@ -199,34 +179,6 @@
   EXPECT_EQ(3, GetStorageKeyUsage(client, kStorageKeyB, kTemp));
 }
 
-TEST_F(IndexedDBQuotaClientTest, GetStorageKeysForHost) {
-  IndexedDBQuotaClient client(*idb_context());
-
-  EXPECT_EQ(kStorageKeyA.origin().host(), kStorageKeyB.origin().host());
-  EXPECT_NE(kStorageKeyA.origin().host(), kStorageKeyOther.origin().host());
-
-  std::vector<StorageKey> storage_keys =
-      GetStorageKeysForHost(client, kTemp, kStorageKeyA.origin().host());
-  EXPECT_TRUE(storage_keys.empty());
-
-  AddFakeIndexedDB(kStorageKeyA, 1000);
-  storage_keys =
-      GetStorageKeysForHost(client, kTemp, kStorageKeyA.origin().host());
-  EXPECT_EQ(storage_keys.size(), 1ul);
-  EXPECT_THAT(storage_keys, testing::Contains(kStorageKeyA));
-
-  AddFakeIndexedDB(kStorageKeyB, 1000);
-  storage_keys =
-      GetStorageKeysForHost(client, kTemp, kStorageKeyA.origin().host());
-  EXPECT_EQ(storage_keys.size(), 2ul);
-  EXPECT_THAT(storage_keys, testing::Contains(kStorageKeyA));
-  EXPECT_THAT(storage_keys, testing::Contains(kStorageKeyB));
-
-  EXPECT_TRUE(
-      GetStorageKeysForHost(client, kTemp, kStorageKeyOther.origin().host())
-          .empty());
-}
-
 TEST_F(IndexedDBQuotaClientTest, GetStorageKeysForType) {
   IndexedDBQuotaClient client(*idb_context());
 
@@ -270,8 +222,6 @@
 
   // No FakeIndexDB is added.
   EXPECT_TRUE(GetStorageKeysForType(client, kTemp).empty());
-  EXPECT_TRUE(GetStorageKeysForHost(client, kTemp, kStorageKeyA.origin().host())
-                  .empty());
   EXPECT_EQ(0, GetStorageKeyUsage(client, kStorageKeyA, kTemp));
 }
 
diff --git a/content/browser/interest_group/ad_auction_service_impl.cc b/content/browser/interest_group/ad_auction_service_impl.cc
index af2397d5..e30d7ae8 100644
--- a/content/browser/interest_group/ad_auction_service_impl.cc
+++ b/content/browser/interest_group/ad_auction_service_impl.cc
@@ -295,11 +295,9 @@
   }
 
   std::unique_ptr<AuctionRunner> auction = AuctionRunner::CreateAndStart(
-      &auction_worklet_manager_, this, &GetInterestGroupManager(),
-      std::move(config),
+      &auction_worklet_manager_, &GetInterestGroupManager(), std::move(config),
       base::BindRepeating(&AdAuctionServiceImpl::IsInterestGroupAPIAllowed,
                           base::Unretained(this)),
-      /*frame_origin=*/origin(),
       base::BindOnce(&AdAuctionServiceImpl::OnAuctionComplete,
                      base::Unretained(this), std::move(callback)));
   auctions_.insert(std::move(auction));
diff --git a/content/browser/interest_group/auction_runner.cc b/content/browser/interest_group/auction_runner.cc
index d7b93be..88b3e2e 100644
--- a/content/browser/interest_group/auction_runner.cc
+++ b/content/browser/interest_group/auction_runner.cc
@@ -140,32 +140,24 @@
 
 std::unique_ptr<AuctionRunner> AuctionRunner::CreateAndStart(
     AuctionWorkletManager* auction_worklet_manager,
-    AuctionWorkletManager::Delegate* auction_worklet_manager_delegate,
     InterestGroupManagerImpl* interest_group_manager,
     blink::mojom::AuctionAdConfigPtr auction_config,
     IsInterestGroupApiAllowedCallback is_interest_group_api_allowed_callback,
-    const url::Origin& frame_origin,
     RunAuctionCallback callback) {
-  std::unique_ptr<AuctionRunner> instance(new AuctionRunner(
-      auction_worklet_manager, auction_worklet_manager_delegate,
-      interest_group_manager, std::move(auction_config), frame_origin,
-      std::move(callback)));
+  std::unique_ptr<AuctionRunner> instance(
+      new AuctionRunner(auction_worklet_manager, interest_group_manager,
+                        std::move(auction_config), std::move(callback)));
   instance->StartAuction(is_interest_group_api_allowed_callback);
   return instance;
 }
 
-AuctionRunner::AuctionRunner(
-    AuctionWorkletManager* auction_worklet_manager,
-    AuctionWorkletManager::Delegate* auction_worklet_manager_delegate,
-    InterestGroupManagerImpl* interest_group_manager,
-    blink::mojom::AuctionAdConfigPtr auction_config,
-    const url::Origin& frame_origin,
-    RunAuctionCallback callback)
+AuctionRunner::AuctionRunner(AuctionWorkletManager* auction_worklet_manager,
+                             InterestGroupManagerImpl* interest_group_manager,
+                             blink::mojom::AuctionAdConfigPtr auction_config,
+                             RunAuctionCallback callback)
     : auction_worklet_manager_(auction_worklet_manager),
-      auction_worklet_manager_delegate_(auction_worklet_manager_delegate),
       interest_group_manager_(interest_group_manager),
       auction_config_(std::move(auction_config)),
-      frame_origin_(frame_origin),
       callback_(std::move(callback)) {}
 
 AuctionRunner::~AuctionRunner() = default;
diff --git a/content/browser/interest_group/auction_runner.h b/content/browser/interest_group/auction_runner.h
index 9b79d36..2d97fa39 100644
--- a/content/browser/interest_group/auction_runner.h
+++ b/content/browser/interest_group/auction_runner.h
@@ -131,9 +131,8 @@
   // Runs an entire FLEDGE auction.
   //
   // Arguments:
-  // `auction_worklet_manager`, `auction_worklet_manager_delegate`, and
-  // `interest_group_manager` must remain valid until the
-  //  AuctionRunner is destroyed.
+  // `auction_worklet_manager` and `interest_group_manager` must remain valid
+  //  until the  AuctionRunner is destroyed.
   //
   // `auction_config` is the configuration provided by client JavaScript in
   //  the renderer in order to initiate the auction.
@@ -144,16 +143,11 @@
   //
   // `browser_signals` signals from the browser about the auction that are the
   //  same for all worklets.
-  //
-  // `frame_origin` is the origin running the auction (not the top frame
-  //  origin), used as the initiator in network requests.
   static std::unique_ptr<AuctionRunner> CreateAndStart(
       AuctionWorkletManager* auction_worklet_manager,
-      AuctionWorkletManager::Delegate* auction_worklet_manager_delegate,
       InterestGroupManagerImpl* interest_group_manager,
       blink::mojom::AuctionAdConfigPtr auction_config,
       IsInterestGroupApiAllowedCallback is_interest_group_api_allowed_callback,
-      const url::Origin& frame_origin,
       RunAuctionCallback callback);
 
   ~AuctionRunner();
@@ -220,13 +214,10 @@
     absl::optional<GURL> seller_debug_win_report_url;
   };
 
-  AuctionRunner(
-      AuctionWorkletManager* auction_worklet_manager,
-      AuctionWorkletManager::Delegate* auction_worklet_manager_delegate,
-      InterestGroupManagerImpl* interest_group_manager,
-      blink::mojom::AuctionAdConfigPtr auction_config,
-      const url::Origin& frame_origin,
-      RunAuctionCallback callback);
+  AuctionRunner(AuctionWorkletManager* auction_worklet_manager,
+                InterestGroupManagerImpl* interest_group_manager,
+                blink::mojom::AuctionAdConfigPtr auction_config,
+                RunAuctionCallback callback);
 
   // Checks that the seller is allowed to partipate in an auction, and starts
   // retrieving all interest groups owned buyer origins listed in
@@ -357,8 +348,6 @@
       AuctionWorkletManager::FatalErrorCallback fatal_error_callback);
 
   const raw_ptr<AuctionWorkletManager> auction_worklet_manager_;
-  const raw_ptr<AuctionWorkletManager::Delegate>
-      auction_worklet_manager_delegate_;
   const raw_ptr<InterestGroupManagerImpl> interest_group_manager_;
 
   // Configuration.
@@ -367,7 +356,6 @@
   // Decremented each time OnInterestGroupRead() is invoked. The auction is
   // started once this hits 0.
   size_t num_pending_buyers_ = 0;
-  const url::Origin frame_origin_;
   RunAuctionCallback callback_;
 
   // True once a seller worklet has been received from the
diff --git a/content/browser/interest_group/auction_runner_unittest.cc b/content/browser/interest_group/auction_runner_unittest.cc
index ba275ef..b00c390 100644
--- a/content/browser/interest_group/auction_runner_unittest.cc
+++ b/content/browser/interest_group/auction_runner_unittest.cc
@@ -933,7 +933,7 @@
   // Helper to create an auction config with the specified values.
   blink::mojom::AuctionAdConfigPtr CreateAuctionConfig(
       const GURL& seller_decision_logic_url,
-      std::vector<url::Origin> buyers) {
+      absl::optional<std::vector<url::Origin>> buyers) {
     blink::mojom::AuctionAdConfigPtr auction_config =
         blink::mojom::AuctionAdConfig::New();
     auction_config->seller = url::Origin::Create(seller_decision_logic_url);
@@ -1022,9 +1022,8 @@
 
     auction_run_loop_ = std::make_unique<base::RunLoop>();
     auction_runner_ = AuctionRunner::CreateAndStart(
-        auction_worklet_manager_.get(), this, interest_group_manager_.get(),
+        auction_worklet_manager_.get(), interest_group_manager_.get(),
         std::move(auction_config), IsInterestGroupApiAllowedCallback(),
-        frame_origin_,
         base::BindOnce(&AuctionRunnerTest::OnAuctionComplete,
                        base::Unretained(this)));
   }
@@ -1295,7 +1294,8 @@
   const std::string kBidder2Name{"Another Ad Thing"};
   const GURL kBidder2TrustedSignalsUrl{"https://anotheradthing.com/signals2"};
 
-  std::vector<url::Origin> interest_group_buyers_ = {kBidder1, kBidder2};
+  absl::optional<std::vector<url::Origin>> interest_group_buyers_ = {
+      {kBidder1, kBidder2}};
 
   // Origins which are not allowed to take part in auctions, as the
   // corresponding participant types.
@@ -1343,6 +1343,24 @@
   GURL pause_worklet_url_;
 };
 
+// Runs an auction with an empty buyers field.
+TEST_F(AuctionRunnerTest, NullBuyers) {
+  interest_group_buyers_->clear();
+  RunAuctionAndWait(kSellerUrl, std::vector<StorageInterestGroup>());
+
+  EXPECT_FALSE(result_.ad_url);
+  EXPECT_FALSE(result_.ad_component_urls);
+  EXPECT_THAT(result_.report_urls, testing::UnorderedElementsAre());
+  EXPECT_EQ(-1, result_.bidder1_bid_count);
+  EXPECT_EQ(0u, result_.bidder1_prev_wins.size());
+  EXPECT_EQ(-1, result_.bidder2_bid_count);
+  EXPECT_EQ(0u, result_.bidder2_prev_wins.size());
+  EXPECT_THAT(result_.errors, testing::ElementsAre());
+  CheckHistograms(AuctionRunner::AuctionResult::kNoInterestGroups,
+                  /*expected_interest_groups=*/absl::nullopt,
+                  /*expected_owners=*/absl::nullopt);
+}
+
 // Runs the standard auction, but without adding any interest groups to the
 // manager.
 TEST_F(AuctionRunnerTest, NoInterestGroups) {
diff --git a/content/browser/interest_group/interest_group_browsertest.cc b/content/browser/interest_group/interest_group_browsertest.cc
index f67e62c..4c2fee9 100644
--- a/content/browser/interest_group/interest_group_browsertest.cc
+++ b/content/browser/interest_group/interest_group_browsertest.cc
@@ -988,7 +988,7 @@
       return absl::nullopt;
 
     std::vector<GURL> out;
-    for (const auto& value : result.value.GetList()) {
+    for (const auto& value : result.value.GetListDeprecated()) {
       if (!value.is_string()) {
         ADD_FAILURE() << "Expected string: " << value;
         return std::vector<GURL>();
diff --git a/content/browser/media/media_internals_unittest.cc b/content/browser/media/media_internals_unittest.cc
index f51cff1b..a62d947 100644
--- a/content/browser/media/media_internals_unittest.cc
+++ b/content/browser/media/media_internals_unittest.cc
@@ -88,12 +88,12 @@
                            const base::ListValue& expected_list) const {
     const base::ListValue* actual_list;
     ASSERT_TRUE(update_data_.GetList(key, &actual_list));
-    const size_t expected_size = expected_list.GetList().size();
+    const size_t expected_size = expected_list.GetListDeprecated().size();
     const size_t actual_size = actual_list->GetListDeprecated().size();
     ASSERT_EQ(expected_size, actual_size);
     for (size_t i = 0; i < expected_size; ++i) {
       const std::string* expected_value =
-          expected_list.GetList()[i].GetIfString();
+          expected_list.GetListDeprecated()[i].GetIfString();
       const std::string* actual_value =
           actual_list->GetListDeprecated()[i].GetIfString();
       ASSERT_TRUE(expected_value);
@@ -429,9 +429,9 @@
   // Check JSON is what we expect.
   {
     base::Value found_sessions = GetSessionsFromValueAndReset();
-    EXPECT_EQ(1u, found_sessions.GetList().size());
+    EXPECT_EQ(1u, found_sessions.GetListDeprecated().size());
 
-    const base::Value& session = found_sessions.GetList()[0];
+    const base::Value& session = found_sessions.GetListDeprecated()[0];
     EXPECT_TRUE(base::Value(request_id1).Equals(session.FindKey("id")));
     EXPECT_TRUE(session.FindKeyOfType("name", base::Value::Type::STRING));
     EXPECT_TRUE(session.FindKeyOfType("owner", base::Value::Type::STRING));
@@ -453,15 +453,15 @@
   // Check JSON is what we expect.
   {
     base::Value found_sessions = GetSessionsFromValueAndReset();
-    EXPECT_EQ(2u, found_sessions.GetList().size());
+    EXPECT_EQ(2u, found_sessions.GetListDeprecated().size());
 
-    const base::Value& session1 = found_sessions.GetList()[0];
+    const base::Value& session1 = found_sessions.GetListDeprecated()[0];
     EXPECT_TRUE(base::Value(request_id2).Equals(session1.FindKey("id")));
     EXPECT_TRUE(session1.FindKeyOfType("name", base::Value::Type::STRING));
     EXPECT_TRUE(session1.FindKeyOfType("owner", base::Value::Type::STRING));
     EXPECT_TRUE(session1.FindKeyOfType("state", base::Value::Type::STRING));
 
-    const base::Value& session2 = found_sessions.GetList()[1];
+    const base::Value& session2 = found_sessions.GetListDeprecated()[1];
     EXPECT_TRUE(base::Value(request_id1).Equals(session2.FindKey("id")));
     EXPECT_TRUE(session2.FindKeyOfType("name", base::Value::Type::STRING));
     EXPECT_TRUE(session2.FindKeyOfType("owner", base::Value::Type::STRING));
@@ -475,9 +475,9 @@
   // Check JSON is what we expect.
   {
     base::Value found_sessions = GetSessionsFromValueAndReset();
-    EXPECT_EQ(1u, found_sessions.GetList().size());
+    EXPECT_EQ(1u, found_sessions.GetListDeprecated().size());
 
-    const base::Value& session = found_sessions.GetList()[0];
+    const base::Value& session = found_sessions.GetListDeprecated()[0];
     EXPECT_TRUE(base::Value(request_id1).Equals(session.FindKey("id")));
     EXPECT_TRUE(session.FindKeyOfType("name", base::Value::Type::STRING));
     EXPECT_TRUE(session.FindKeyOfType("owner", base::Value::Type::STRING));
@@ -495,7 +495,7 @@
   // Check JSON is what we expect.
   {
     base::Value found_sessions = GetSessionsFromValueAndReset();
-    EXPECT_EQ(0u, found_sessions.GetList().size());
+    EXPECT_EQ(0u, found_sessions.GetListDeprecated().size());
   }
 }
 
diff --git a/content/browser/metrics/histograms_internals_ui.cc b/content/browser/metrics/histograms_internals_ui.cc
index eed47e4b..bec9af4 100644
--- a/content/browser/metrics/histograms_internals_ui.cc
+++ b/content/browser/metrics/histograms_internals_ui.cc
@@ -81,7 +81,7 @@
 
 JsParams HistogramsMessageHandler::AllowJavascriptAndUnpackParams(
     const base::ListValue& args) {
-  base::Value::ConstListView args_list = args.GetList();
+  base::Value::ConstListView args_list = args.GetListDeprecated();
   AllowJavascript();
   JsParams params;
   if (args_list.size() > 0u && args_list[0].is_string())
diff --git a/content/browser/metrics/histograms_monitor_unittest.cc b/content/browser/metrics/histograms_monitor_unittest.cc
index fe93b8b0..d9615e4 100644
--- a/content/browser/metrics/histograms_monitor_unittest.cc
+++ b/content/browser/metrics/histograms_monitor_unittest.cc
@@ -30,15 +30,15 @@
 
   // Get diff immediately should return nothing.
   base::ListValue diff = monitor.GetDiff();
-  ASSERT_EQ(diff.GetList().size(), 0ull);
+  ASSERT_EQ(diff.GetListDeprecated().size(), 0ull);
 
   // Add more data to histogram.
   histogram1->Add(30);
   histogram1->Add(40);
 
   diff = monitor.GetDiff();
-  ASSERT_EQ(diff.GetList().size(), 1ull);
-  std::string* header1 = diff.GetList()[0].FindStringKey("header");
+  ASSERT_EQ(diff.GetListDeprecated().size(), 1ull);
+  std::string* header1 = diff.GetListDeprecated()[0].FindStringKey("header");
   EXPECT_EQ(*header1,
             "Histogram: MonitorHistogram1 recorded 2 samples, mean = 35.0");
 
@@ -47,8 +47,8 @@
       "MonitorHistogram2", 1, 1000, 10, base::HistogramBase::kNoFlags);
   histogram2->Add(50);
   diff = monitor.GetDiff();
-  ASSERT_EQ(diff.GetList().size(), 2ull);
-  std::string* header2 = diff.GetList()[1].FindStringKey("header");
+  ASSERT_EQ(diff.GetListDeprecated().size(), 2ull);
+  std::string* header2 = diff.GetListDeprecated()[1].FindStringKey("header");
   EXPECT_EQ(*header2,
             "Histogram: MonitorHistogram2 recorded 1 samples, mean = 50.0");
 }
@@ -66,7 +66,7 @@
       "MonitorHistogram2", 1, 1000, 10, base::HistogramBase::kNoFlags);
   histogram2->Add(50);
   base::ListValue diff = monitor.GetDiff();
-  ASSERT_EQ(diff.GetList().size(), 0ull);
+  ASSERT_EQ(diff.GetListDeprecated().size(), 0ull);
 }
 
 }  // namespace content
diff --git a/content/browser/native_io/native_io_manager.cc b/content/browser/native_io/native_io_manager.cc
index 2cba35c..bf2437a 100644
--- a/content/browser/native_io/native_io_manager.cc
+++ b/content/browser/native_io/native_io_manager.cc
@@ -300,44 +300,6 @@
       base::BindOnce(&DoGetStorageKeys, root_path_), std::move(callback));
 }
 
-void NativeIOManager::GetStorageKeysForHost(
-    blink::mojom::StorageType type,
-    const std::string& host,
-    storage::mojom::QuotaClient::GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK_EQ(type, blink::mojom::StorageType::kTemporary);
-  DCHECK(callback);
-
-  base::ThreadPool::PostTaskAndReplyWithResult(
-      FROM_HERE,
-      {
-          // Needed for file I/O.
-          base::MayBlock(),
-
-          // Reasonable compromise, given that the sitedata UI depends on this
-          // functionality.
-          base::TaskPriority::USER_VISIBLE,
-
-          // BLOCK_SHUTDOWN is definitely not appropriate. We might be able to
-          // move to CONTINUE_ON_SHUTDOWN after very careful analysis.
-          base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN,
-      },
-      base::BindOnce(&DoGetStorageKeys, root_path_),
-      base::BindOnce(
-          [](const std::string& host,
-             storage::mojom::QuotaClient::GetStorageKeysForTypeCallback
-                 callback,
-             std::vector<blink::StorageKey> storage_keys) {
-            std::vector<blink::StorageKey> host_storage_keys;
-            for (blink::StorageKey& storage_key : storage_keys) {
-              if (host == storage_key.origin().host())
-                host_storage_keys.push_back(std::move(storage_key));
-            }
-            std::move(callback).Run(std::move(host_storage_keys));
-          },
-          host, std::move(callback)));
-}
-
 void NativeIOManager::GetStorageKeyUsage(
     const blink::StorageKey& storage_key,
     blink::mojom::StorageType type,
diff --git a/content/browser/native_io/native_io_manager.h b/content/browser/native_io/native_io_manager.h
index c76f077..865b4c1 100644
--- a/content/browser/native_io/native_io_manager.h
+++ b/content/browser/native_io/native_io_manager.h
@@ -79,12 +79,6 @@
       blink::mojom::StorageType type,
       storage::mojom::QuotaClient::GetStorageKeysForTypeCallback callback);
 
-  // Computes all storage keys with data for a given hostname.
-  void GetStorageKeysForHost(
-      blink::mojom::StorageType type,
-      const std::string& host,
-      storage::mojom::QuotaClient::GetStorageKeysForHostCallback callback);
-
   // Computes the amount of bytes for the given storage key.
   //
   // This method walks the storage key's entire directory and is therefore not
diff --git a/content/browser/native_io/native_io_manager_unittest.cc b/content/browser/native_io/native_io_manager_unittest.cc
index 64d79c9..a55e61c1 100644
--- a/content/browser/native_io/native_io_manager_unittest.cc
+++ b/content/browser/native_io/native_io_manager_unittest.cc
@@ -78,21 +78,6 @@
     return storage_keys;
   }
 
-  std::vector<StorageKey> GetStorageKeysForHost(blink::mojom::StorageType type,
-                                                const std::string& host) {
-    std::vector<StorageKey> storage_keys;
-    base::RunLoop run_loop;
-    io_manager_->GetStorageKeysForHost(
-        type, host,
-        base::BindLambdaForTesting(
-            [&](const std::vector<StorageKey>& returned_storage_keys) {
-              storage_keys = returned_storage_keys;
-              run_loop.Quit();
-            }));
-    run_loop.Run();
-    return storage_keys;
-  }
-
   int64_t GetStorageKeyUsage(const StorageKey& storage_key,
                              blink::mojom::StorageType type) {
     int64_t usage;
@@ -864,68 +849,6 @@
   example_file_host.Close();
 }
 
-TEST_P(NativeIOManagerTest, GetStorageKeysByHost_ReturnsActiveStorageKeys) {
-  mojo::Remote<blink::mojom::NativeIOFileHost> example_file_host_remote;
-  base::File example_file =
-      example_host_
-          ->OpenFile("test_file",
-                     example_file_host_remote.BindNewPipeAndPassReceiver())
-          .file;
-
-  mojo::Remote<blink::mojom::NativeIOHost> example_with_port_host_remote;
-  std::string example_with_port_storage_key =
-      std::string(kExampleStorageKey).append(":1");
-  manager_->BindReceiver(
-      StorageKey::CreateFromStringForTesting(example_with_port_storage_key),
-      example_with_port_host_remote.BindNewPipeAndPassReceiver(),
-      GetBadMessageCallback());
-  NativeIOHostSync example_with_port_host(example_with_port_host_remote.get());
-  mojo::Remote<blink::mojom::NativeIOFileHost>
-      example_with_port_file_host_remote;
-  base::File example_with_port_file =
-      example_with_port_host
-          .OpenFile(
-              "test_file",
-              example_with_port_file_host_remote.BindNewPipeAndPassReceiver())
-          .file;
-
-  mojo::Remote<blink::mojom::NativeIOFileHost> google_file_host_remote;
-  base::File google_file =
-      google_host_
-          ->OpenFile("test_file",
-                     google_file_host_remote.BindNewPipeAndPassReceiver())
-          .file;
-
-  example_file.Close();
-  NativeIOFileHostSync example_file_host(example_file_host_remote.get());
-  example_file_host.Close();
-  example_with_port_file.Close();
-  NativeIOFileHostSync example_with_port_file_host(
-      example_with_port_file_host_remote.get());
-  example_with_port_file_host.Close();
-  google_file.Close();
-  NativeIOFileHostSync google_file_host(google_file_host_remote.get());
-  google_file_host.Close();
-
-  std::vector<StorageKey> example_storage_keys =
-      sync_manager_->GetStorageKeysForHost(
-          blink::mojom::StorageType::kTemporary, "example.com");
-  EXPECT_EQ(2u, example_storage_keys.size());
-  EXPECT_THAT(example_storage_keys,
-              testing::Contains(StorageKey::CreateFromStringForTesting(
-                  example_with_port_storage_key)));
-  EXPECT_THAT(example_storage_keys,
-              testing::Contains(
-                  StorageKey::CreateFromStringForTesting(kExampleStorageKey)));
-
-  std::vector<StorageKey> google_storage_keys =
-      sync_manager_->GetStorageKeysForHost(
-          blink::mojom::StorageType::kTemporary, "google.com");
-  EXPECT_EQ(1u, google_storage_keys.size());
-  EXPECT_EQ(StorageKey::CreateFromStringForTesting(kGoogleStorageKey),
-            google_storage_keys[0]);
-}
-
 TEST_P(NativeIOManagerTest, GetStorageKeyUsage_ActiveStorageKeyUsage) {
   mojo::Remote<blink::mojom::NativeIOFileHost> example_host_remote;
   base::File example_file =
@@ -974,9 +897,6 @@
   EXPECT_THAT(sync_manager->GetStorageKeysForType(
                   blink::mojom::StorageType::kTemporary),
               testing::SizeIs(0));
-  EXPECT_THAT(sync_manager->GetStorageKeysForHost(
-                  blink::mojom::StorageType::kTemporary, "example.com"),
-              testing::SizeIs(0));
   EXPECT_EQ(0, sync_manager->GetStorageKeyUsage(
                    StorageKey::CreateFromStringForTesting(kExampleStorageKey),
                    blink::mojom::StorageType::kTemporary));
diff --git a/content/browser/native_io/native_io_quota_client.cc b/content/browser/native_io/native_io_quota_client.cc
index 49ff7eb9..772bcb5 100644
--- a/content/browser/native_io/native_io_quota_client.cc
+++ b/content/browser/native_io/native_io_quota_client.cc
@@ -38,16 +38,6 @@
   manager_->GetStorageKeysForType(type, std::move(callback));
 }
 
-void NativeIOQuotaClient::GetStorageKeysForHost(
-    blink::mojom::StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK_EQ(type, blink::mojom::StorageType::kTemporary);
-
-  manager_->GetStorageKeysForHost(type, std::move(host), std::move(callback));
-}
-
 void NativeIOQuotaClient::DeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     blink::mojom::StorageType type,
diff --git a/content/browser/native_io/native_io_quota_client.h b/content/browser/native_io/native_io_quota_client.h
index 8b43b536..1325463 100644
--- a/content/browser/native_io/native_io_quota_client.h
+++ b/content/browser/native_io/native_io_quota_client.h
@@ -37,9 +37,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
diff --git a/content/browser/prerender/prerender_browsertest.cc b/content/browser/prerender/prerender_browsertest.cc
index cf63125..405152b 100644
--- a/content/browser/prerender/prerender_browsertest.cc
+++ b/content/browser/prerender/prerender_browsertest.cc
@@ -2623,7 +2623,7 @@
   EvalJsResult results = EvalJs(prerender_render_frame_host, "eventsSeen");
   std::vector<std::string> eventsSeen;
   base::Value resultsList = results.ExtractList();
-  for (auto& result : resultsList.GetList())
+  for (auto& result : resultsList.GetListDeprecated())
     eventsSeen.push_back(result.GetString());
   EXPECT_THAT(eventsSeen,
               testing::ElementsAreArray(
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index ea7c39b..2b9989a 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -313,9 +313,18 @@
   return true;
 }
 
+bool DoesHeaderContainClientHint(
+    const net::HttpRequestHeaders& headers,
+    const network::mojom::WebClientHintsType hint) {
+  std::string header = network::GetClientHintToNameMap().at(hint);
+  std::string value;
+  return headers.GetHeader(header, &value) && value == "?1";
+}
+
 // Computes the value that should be set for the User-Agent header, based on the
-// values of relevant headers like Sec-CH-UA-Reduced.  If `user_agent_override`
-// is non-empty, `user_agent_override` is returned as the header value.
+// values of relevant headers like Sec-CH-UA-Reduced or Sec-CH-UA-Full.  If
+// `user_agent_override` is non-empty, `user_agent_override` is returned as the
+// header value.
 std::string ComputeUserAgentValue(const net::HttpRequestHeaders& headers,
                                   const std::string& user_agent_override,
                                   content::BrowserContext* context) {
@@ -325,13 +334,23 @@
     return user_agent_override;
   }
 
+  // If Sec-CH-UA-Full is set on the headers, it means that the token for the
+  // SendFullUserAgentAfterReduction Origin Trial has been validated and we
+  // should send a reduced UA string on the request.
+  const bool full = DoesHeaderContainClientHint(
+      headers, network::mojom::WebClientHintsType::kFullUserAgent);
+
+  if (full) {
+    base::UmaHistogramEnumeration("Navigation.UserAgentStringType",
+                                  UserAgentStringType::kFullVersion);
+    return GetContentClient()->browser()->GetFullUserAgent();
+  }
+
   // If Sec-CH-UA-Reduced is set on the headers, it means that the token for the
   // UserAgentReduction Origin Trial has been validated and we should send a
   // reduced UA string on the request.
-  std::string header = network::GetClientHintToNameMap().at(
-      network::mojom::WebClientHintsType::kUAReduced);
-  std::string value;
-  const bool reduced = headers.GetHeader(header, &value) && value == "?1";
+  const bool reduced = DoesHeaderContainClientHint(
+      headers, network::mojom::WebClientHintsType::kUAReduced);
   base::UmaHistogramEnumeration("Navigation.UserAgentStringType",
                                 reduced ? UserAgentStringType::kReducedVersion
                                         : UserAgentStringType::kFullVersion);
@@ -868,26 +887,36 @@
 }
 
 // If the response does not contain an Accept-CH header, then remove the
-// Sec-CH-UA-Reduced client hint from the Accept-CH cache, if it exists, for the
-// response origin.  The `client_hints` vector also has kUaReduced removed from
-// it if the Accept-CH response header doesn't exist.
-void RemoveUaReducedFromAcceptCH(
+// Sec-CH-UA-Reduced or Sec-CH-UA-Full client hint from the Accept-CH cache, if
+// it exists, for the response origin.  The `client_hints` vector also has
+// kUaReduced or kFullUserAgent removed from it if the Accept-CH response header
+// doesn't exist.
+void RemoveUaReducedAndFullFromAcceptCH(
     const GURL& url,
     ClientHintsControllerDelegate* delegate,
     const network::mojom::URLResponseHead* response,
     std::vector<network::mojom::WebClientHintsType>& client_hints) {
-  if (response && !response->parsed_headers->accept_ch &&
-      base::Contains(client_hints,
-                     network::mojom::WebClientHintsType::kUAReduced)) {
-    // For Chrome to continue to send Sec-CH-UA-Reduced, the server must
-    // continue replying with:
+  if (response && !response->parsed_headers->accept_ch) {
+    // For Chrome to continue to send Sec-CH-UA-Reduced or Sec-CH-UA-Full, the
+    // server must continue replying with:
     //  - a valid Origin Trial token.
-    //  - Accept-CH header with Sec-CH-UA-Reduced as a value.
+    //  - Accept-CH header with Sec-CH-UA-Reduced or Sec-CH-UA-Full as a value.
     //
     // Here, it did not. So it gets removed from the persisted client hints
     // for the next request.
-    base::Erase(client_hints, network::mojom::WebClientHintsType::kUAReduced);
-    PersistAcceptCH(url, delegate, client_hints);
+    std::vector<network::mojom::WebClientHintsType> hints_to_remove = {
+        network::mojom::WebClientHintsType::kUAReduced,
+        network::mojom::WebClientHintsType::kFullUserAgent};
+    bool need_update_storage = false;
+    for (const auto& hint : hints_to_remove) {
+      if (base::Contains(client_hints, hint)) {
+        base::Erase(client_hints, hint);
+        need_update_storage = true;
+      }
+    }
+    if (need_update_storage) {
+      PersistAcceptCH(url, delegate, client_hints);
+    }
   }
 }
 
@@ -3972,17 +4001,18 @@
         source_url, response_head->parsed_headers, response_head->headers.get(),
         browser_context, client_hints_delegate, frame_tree_node_);
     // CriticalClientHintsThrottle issues a 307 internal redirect without the
-    // original headers, and we don't want to remove Sec-CH-UA-Reduced when
-    // Critical-CH is set.  This means that if the site sends a 307 (instead of
-    // a 301 or 302), Sec-CH-UA-Reduced will *not* be removed from the Accept-CH
-    // cache if the Accept-CH header is missing from the redirect response.
+    // original headers, and we don't want to remove Sec-CH-UA-Reduced or
+    // Sec-CH-UA-Full when Critical-CH is set.  This means that if the site
+    // sends a 307 (instead of a 301 or 302), Sec-CH-UA-Reduced or
+    // Sec-CH-UA-Full will *not* be removed from the Accept-CH cache if the
+    // Accept-CH header is missing from the redirect response.
     if (response_head->headers && response_head->headers->response_code() !=
                                       net::HTTP_TEMPORARY_REDIRECT) {
       std::vector<network::mojom::WebClientHintsType> client_hints =
           LookupAcceptCHForCommit(source_url, client_hints_delegate,
                                   frame_tree_node_);
-      RemoveUaReducedFromAcceptCH(source_url, client_hints_delegate,
-                                  response_head, client_hints);
+      RemoveUaReducedAndFullFromAcceptCH(source_url, client_hints_delegate,
+                                         response_head, client_hints);
     }
 
     AddNavigationRequestClientHintsHeaders(
@@ -4388,9 +4418,9 @@
     }
     commit_params_->enabled_client_hints = LookupAcceptCHForCommit(
         common_params_->url, client_hints_delegate, frame_tree_node_);
-    RemoveUaReducedFromAcceptCH(common_params_->url, client_hints_delegate,
-                                response(),
-                                commit_params_->enabled_client_hints);
+    RemoveUaReducedAndFullFromAcceptCH(common_params_->url,
+                                       client_hints_delegate, response(),
+                                       commit_params_->enabled_client_hints);
   }
 
   // Generate a UKM source and track it on NavigationRequest. This will be
diff --git a/content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.cc b/content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.cc
index 57e024f..4b8d0e73 100644
--- a/content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.cc
@@ -74,7 +74,7 @@
     if (!i.is_list())
       continue;
 
-    base::Value::ConstListView cur_font = i.GetList();
+    base::Value::ConstListView cur_font = i.GetListDeprecated();
 
     // Each entry is actually a list of (font name, localized name).
     // We only care about the regular name.
diff --git a/content/browser/renderer_host/policy_container_navigation_bundle.cc b/content/browser/renderer_host/policy_container_navigation_bundle.cc
index ec600e3..7a86b6d 100644
--- a/content/browser/renderer_host/policy_container_navigation_bundle.cc
+++ b/content/browser/renderer_host/policy_container_navigation_bundle.cc
@@ -15,16 +15,6 @@
 namespace content {
 namespace {
 
-// Returns whether |url| has a local scheme - i.e. a document that commits with
-// |url| should inherit its policies from the initiator or the parent frame.
-//
-// If |url| is not `about:srcdoc` and this function returns true, then the
-// document should inherit its policies from the initiator.
-bool HasLocalScheme(const GURL& url) {
-  return url.SchemeIs(url::kAboutScheme) || url.SchemeIs(url::kDataScheme) ||
-         url.SchemeIs(url::kBlobScheme) || url.SchemeIs(url::kFileSystemScheme);
-}
-
 // Returns a copy of |parent|'s policies, or nullopt if |parent| is nullptr.
 std::unique_ptr<PolicyContainerPolicies> GetParentPolicies(
     RenderFrameHostImpl* parent) {
@@ -204,7 +194,7 @@
 
 std::unique_ptr<PolicyContainerPolicies>
 PolicyContainerNavigationBundle::ComputeInheritedPolicies(const GURL& url) {
-  DCHECK(HasLocalScheme(url)) << "No inheritance allowed for non-local schemes";
+  DCHECK(url.SchemeIsLocal()) << url << " should not inherit policies";
 
   if (url.IsAboutSrcdoc()) {
     DCHECK(parent_policies_)
@@ -223,7 +213,7 @@
 PolicyContainerNavigationBundle::ComputeFinalPolicies(const GURL& url) {
   // Policies are either inherited from another document for local scheme, or
   // directly set from the delivered response.
-  if (!HasLocalScheme(url))
+  if (!url.SchemeIsLocal())
     return delivered_policies_->Clone();
 
   // For a local scheme, history policies should not incorporate delivered ones
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 85e8b71..bbcf5f3 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8833,6 +8833,12 @@
   return GetLifecycleStateFromImpl(lifecycle_state());
 }
 
+bool RenderFrameHostImpl::IsInLifecycleState(LifecycleState state) {
+  if (lifecycle_state() == LifecycleStateImpl::kSpeculative)
+    return false;
+  return state == GetLifecycleState();
+}
+
 RenderFrameHost::LifecycleState RenderFrameHostImpl::GetLifecycleStateFromImpl(
     LifecycleStateImpl state) {
   switch (state) {
diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h
index c90a0ae..02903557 100644
--- a/content/browser/renderer_host/render_frame_host_impl.h
+++ b/content/browser/renderer_host/render_frame_host_impl.h
@@ -388,6 +388,7 @@
   bool IsRenderFrameCreated() override;
   bool IsRenderFrameLive() override;
   LifecycleState GetLifecycleState() override;
+  bool IsInLifecycleState(LifecycleState lifecycle_state) override;
   bool IsActive() override;
   bool IsInactiveAndDisallowActivation(uint64_t reason) override;
   size_t GetProxyCount() override;
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index b95a0626..cc37d68 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -5062,14 +5062,12 @@
   }
 
   // Pass bits of global renderer state to the renderer.
-  GetRendererInterface()->SetUserAgent(
+  GetRendererInterface()->InitializeRenderer(
       GetContentClient()->browser()->GetUserAgentBasedOnPolicy(
-          browser_context_));
-  GetRendererInterface()->SetReducedUserAgent(
-      GetContentClient()->browser()->GetReducedUserAgent());
-  GetRendererInterface()->SetUserAgentMetadata(
-      GetContentClient()->browser()->GetUserAgentMetadata());
-  GetRendererInterface()->SetCorsExemptHeaderList(
+          browser_context_),
+      GetContentClient()->browser()->GetFullUserAgent(),
+      GetContentClient()->browser()->GetReducedUserAgent(),
+      GetContentClient()->browser()->GetUserAgentMetadata(),
       storage_partition_impl_->cors_exempt_header_list());
   NotifyRendererOfLockedStateUpdate();
 
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_browsertest.cc b/content/browser/renderer_host/render_widget_host_view_aura_browsertest.cc
index fc9a800..3d27e90 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura_browsertest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura_browsertest.cc
@@ -433,10 +433,10 @@
   // done in `WebFrameWidgetImpl`.
   const base::Value eval_result =
       EvalJs(wc, "getSelectionBounds();").ExtractList();
-  const int x = floor(eval_result.GetList()[0].GetDouble());
-  const int right = ceil(eval_result.GetList()[1].GetDouble());
-  const int y = floor(eval_result.GetList()[2].GetDouble());
-  const int bottom = ceil(eval_result.GetList()[3].GetDouble());
+  const int x = floor(eval_result.GetListDeprecated()[0].GetDouble());
+  const int right = ceil(eval_result.GetListDeprecated()[1].GetDouble());
+  const int y = floor(eval_result.GetListDeprecated()[2].GetDouble());
+  const int bottom = ceil(eval_result.GetListDeprecated()[3].GetDouble());
   const int expected_dip_width = floor(right / scale()) - ceil(x / scale());
   const int expected_dip_height = floor(bottom / scale()) - ceil(y / scale());
 
diff --git a/content/browser/resources/histograms/histograms_internals.css b/content/browser/resources/histograms/histograms_internals.css
index 113c48a..666d760 100644
--- a/content/browser/resources/histograms/histograms_internals.css
+++ b/content/browser/resources/histograms/histograms_internals.css
@@ -22,3 +22,19 @@
 .histogram-body {
   padding-inline-start: 15px;
 }
+
+@media (prefers-color-scheme: dark) {
+  .histogram-header {
+    background-color: rgba(255, 255, 255, 0.1);
+  }
+
+  .histogram-header-link {
+    color: rgb(138, 180, 248); /* --google-blue-300 */
+  }
+
+  html,
+  body {
+    background-color: rgb(32, 33, 36); /* --google-grey-900 */
+    color: rgb(232, 234, 237); /* --google-grey-200 */
+  }
+}
diff --git a/content/browser/resources/histograms/histograms_internals.html b/content/browser/resources/histograms/histograms_internals.html
index 09c73b2..849dee1 100644
--- a/content/browser/resources/histograms/histograms_internals.html
+++ b/content/browser/resources/histograms/histograms_internals.html
@@ -5,6 +5,7 @@
 <html dir="ltr" lang="en">
 <head>
   <meta charset="utf-8">
+  <meta name="color-scheme" content="light dark">
   <link rel="stylesheet" href="histograms_internals.css">
   <script type="module" src="histograms_internals.js"></script>
   <title>Histograms</title>
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc
index 40bdb85..602ba20 100644
--- a/content/browser/service_worker/service_worker_browsertest.cc
+++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -304,7 +304,7 @@
       ADD_FAILURE();
       return false;
     }
-    base::Value::ConstListView name_value_pair = header.GetList();
+    base::Value::ConstListView name_value_pair = header.GetListDeprecated();
     if (name_value_pair.size() != 2u) {
       ADD_FAILURE();
       return false;
@@ -340,7 +340,7 @@
       ADD_FAILURE();
       return false;
     }
-    base::Value::ConstListView name_value_pair = header.GetList();
+    base::Value::ConstListView name_value_pair = header.GetListDeprecated();
     if (name_value_pair.size() != 2u) {
       ADD_FAILURE();
       return false;
diff --git a/content/browser/service_worker/service_worker_quota_client.cc b/content/browser/service_worker/service_worker_quota_client.cc
index 4cf2c358f..a58d70a 100644
--- a/content/browser/service_worker/service_worker_quota_client.cc
+++ b/content/browser/service_worker/service_worker_quota_client.cc
@@ -65,26 +65,6 @@
   context_->registry()->GetRegisteredStorageKeys(std::move(callback));
 }
 
-void ServiceWorkerQuotaClient::GetStorageKeysForHost(
-    StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK_EQ(type, StorageType::kTemporary);
-  context_->registry()->GetRegisteredStorageKeys(base::BindOnce(
-      [](const std::string& host, GetStorageKeysForTypeCallback callback,
-         const std::vector<blink::StorageKey>& all_storage_keys) {
-        std::vector<blink::StorageKey> host_storage_keys;
-        for (auto& storage_key : all_storage_keys) {
-          if (host != storage_key.origin().host())
-            continue;
-          host_storage_keys.push_back(storage_key);
-        }
-        std::move(callback).Run(host_storage_keys);
-      },
-      host, std::move(callback)));
-}
-
 void ServiceWorkerQuotaClient::DeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     StorageType type,
diff --git a/content/browser/service_worker/service_worker_quota_client.h b/content/browser/service_worker/service_worker_quota_client.h
index 6531104..6cbab4a 100644
--- a/content/browser/service_worker/service_worker_quota_client.h
+++ b/content/browser/service_worker/service_worker_quota_client.h
@@ -44,9 +44,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
diff --git a/content/browser/site_per_process_layout_browsertest.cc b/content/browser/site_per_process_layout_browsertest.cc
index 635c0c5..6b02217 100644
--- a/content/browser/site_per_process_layout_browsertest.cc
+++ b/content/browser/site_per_process_layout_browsertest.cc
@@ -742,8 +742,8 @@
   EvalJsResult iframe_b_result =
       EvalJsAfterLifecycleUpdate(root->current_frame_host(), "", script);
   base::Value iframe_b_offset = iframe_b_result.ExtractList();
-  int iframe_b_offset_left = iframe_b_offset.GetList()[0].GetInt();
-  int iframe_b_offset_top = iframe_b_offset.GetList()[1].GetInt();
+  int iframe_b_offset_left = iframe_b_offset.GetListDeprecated()[0].GetInt();
+  int iframe_b_offset_top = iframe_b_offset.GetListDeprecated()[1].GetInt();
 
   // Make sure a new IPC is sent after dirty-ing layout.
   filter->Clear();
@@ -758,8 +758,8 @@
   EvalJsResult iframe_c_result = EvalJsAfterLifecycleUpdate(
       root->child_at(0)->current_frame_host(), raf_script, script);
   base::Value iframe_c_offset = iframe_c_result.ExtractList();
-  int iframe_c_offset_left = iframe_c_offset.GetList()[0].GetInt();
-  int iframe_c_offset_top = iframe_c_offset.GetList()[1].GetInt();
+  int iframe_c_offset_left = iframe_c_offset.GetListDeprecated()[0].GetInt();
+  int iframe_c_offset_top = iframe_c_offset.GetListDeprecated()[1].GetInt();
 
   // The IPC should already have been sent
   EXPECT_TRUE(filter->MessageReceived());
diff --git a/content/browser/tracing/background_startup_tracing_observer.cc b/content/browser/tracing/background_startup_tracing_observer.cc
index f07ab55a..0bc43d7 100644
--- a/content/browser/tracing/background_startup_tracing_observer.cc
+++ b/content/browser/tracing/background_startup_tracing_observer.cc
@@ -5,6 +5,7 @@
 #include "content/browser/tracing/background_startup_tracing_observer.h"
 
 #include "base/bind.h"
+#include "base/no_destructor.h"
 #include "components/tracing/common/trace_startup_config.h"
 #include "content/browser/tracing/background_tracing_rule.h"
 #include "content/public/browser/browser_task_traits.h"
@@ -33,11 +34,10 @@
 }  // namespace
 
 // static
-BackgroundStartupTracingObserver*
+BackgroundStartupTracingObserver&
 BackgroundStartupTracingObserver::GetInstance() {
-  static BackgroundStartupTracingObserver* instance =
-      new BackgroundStartupTracingObserver;
-  return instance;
+  static base::NoDestructor<BackgroundStartupTracingObserver> instance;
+  return *instance;
 }
 
 // static
diff --git a/content/browser/tracing/background_startup_tracing_observer.h b/content/browser/tracing/background_startup_tracing_observer.h
index 22ac934..bb62424 100644
--- a/content/browser/tracing/background_startup_tracing_observer.h
+++ b/content/browser/tracing/background_startup_tracing_observer.h
@@ -7,6 +7,7 @@
 
 #include <memory>
 
+#include "base/no_destructor.h"
 #include "content/browser/tracing/background_tracing_manager_impl.h"
 #include "content/common/content_export.h"
 
@@ -26,7 +27,7 @@
     virtual ~PreferenceManager() = default;
   };
 
-  static BackgroundStartupTracingObserver* GetInstance();
+  static BackgroundStartupTracingObserver& GetInstance();
 
   BackgroundStartupTracingObserver(const BackgroundStartupTracingObserver&) =
       delete;
@@ -66,6 +67,9 @@
   bool enabled_in_current_session_;
 
   std::unique_ptr<PreferenceManager> preferences_;
+
+  // For `BackgroundStartupTracingObserver::GetInstance`.
+  friend class base::NoDestructor<BackgroundStartupTracingObserver>;
 };
 
 }  // namespace content
diff --git a/content/browser/tracing/background_startup_tracing_observer_unittest.cc b/content/browser/tracing/background_startup_tracing_observer_unittest.cc
index 160d908..7c8f78f 100644
--- a/content/browser/tracing/background_startup_tracing_observer_unittest.cc
+++ b/content/browser/tracing/background_startup_tracing_observer_unittest.cc
@@ -43,25 +43,25 @@
 }  // namespace
 
 TEST(BackgroundStartupTracingObserverTest, IncludeStartupConfigIfNeeded) {
-  BackgroundStartupTracingObserver* observer =
+  BackgroundStartupTracingObserver& observer =
       BackgroundStartupTracingObserver::GetInstance();
   std::unique_ptr<TestPreferenceManagerImpl> test_preferences(
       new TestPreferenceManagerImpl);
   TestPreferenceManagerImpl* preferences = test_preferences.get();
-  observer->SetPreferenceManagerForTesting(std::move(test_preferences));
+  observer.SetPreferenceManagerForTesting(std::move(test_preferences));
 
   // Empty config without preference set should not do anything.
   std::unique_ptr<content::BackgroundTracingConfigImpl> config_impl;
-  config_impl = observer->IncludeStartupConfigIfNeeded(std::move(config_impl));
+  config_impl = observer.IncludeStartupConfigIfNeeded(std::move(config_impl));
   EXPECT_FALSE(config_impl);
-  EXPECT_FALSE(observer->enabled_in_current_session());
+  EXPECT_FALSE(observer.enabled_in_current_session());
 
   // Empty config with preference set should create a startup config, and reset
   // preference.
   EXPECT_FALSE(preferences->GetBackgroundStartupTracingEnabled());
   preferences->SetBackgroundStartupTracingEnabled(true);
-  config_impl = observer->IncludeStartupConfigIfNeeded(std::move(config_impl));
-  EXPECT_TRUE(observer->enabled_in_current_session());
+  config_impl = observer.IncludeStartupConfigIfNeeded(std::move(config_impl));
+  EXPECT_TRUE(observer.enabled_in_current_session());
   EXPECT_FALSE(preferences->GetBackgroundStartupTracingEnabled());
   ASSERT_TRUE(config_impl);
   EXPECT_EQ(1u, config_impl->rules().size());
@@ -71,8 +71,8 @@
 
   // Startup config with preference set should keep config and preference same.
   preferences->SetBackgroundStartupTracingEnabled(true);
-  config_impl = observer->IncludeStartupConfigIfNeeded(std::move(config_impl));
-  EXPECT_TRUE(observer->enabled_in_current_session());
+  config_impl = observer.IncludeStartupConfigIfNeeded(std::move(config_impl));
+  EXPECT_TRUE(observer.enabled_in_current_session());
   EXPECT_TRUE(preferences->GetBackgroundStartupTracingEnabled());
   ASSERT_TRUE(config_impl);
   EXPECT_EQ(1u, config_impl->rules().size());
@@ -81,8 +81,8 @@
   // Startup config without preference set should keep config and set
   // preference.
   preferences->SetBackgroundStartupTracingEnabled(false);
-  config_impl = observer->IncludeStartupConfigIfNeeded(std::move(config_impl));
-  EXPECT_FALSE(observer->enabled_in_current_session());
+  config_impl = observer.IncludeStartupConfigIfNeeded(std::move(config_impl));
+  EXPECT_FALSE(observer.enabled_in_current_session());
   EXPECT_TRUE(preferences->GetBackgroundStartupTracingEnabled());
   ASSERT_TRUE(config_impl);
   EXPECT_EQ(1u, config_impl->rules().size());
@@ -103,8 +103,8 @@
   ASSERT_TRUE(config_impl);
 
   preferences->SetBackgroundStartupTracingEnabled(false);
-  config_impl = observer->IncludeStartupConfigIfNeeded(std::move(config_impl));
-  EXPECT_FALSE(observer->enabled_in_current_session());
+  config_impl = observer.IncludeStartupConfigIfNeeded(std::move(config_impl));
+  EXPECT_FALSE(observer.enabled_in_current_session());
   EXPECT_FALSE(preferences->GetBackgroundStartupTracingEnabled());
   EXPECT_EQ(1u, config_impl->rules().size());
   TestStartupRuleExists(*config_impl, false);
@@ -112,8 +112,8 @@
   // A custom config with preference set should include startup config and
   // disable preference.
   preferences->SetBackgroundStartupTracingEnabled(true);
-  config_impl = observer->IncludeStartupConfigIfNeeded(std::move(config_impl));
-  EXPECT_TRUE(observer->enabled_in_current_session());
+  config_impl = observer.IncludeStartupConfigIfNeeded(std::move(config_impl));
+  EXPECT_TRUE(observer.enabled_in_current_session());
   EXPECT_FALSE(preferences->GetBackgroundStartupTracingEnabled());
   ASSERT_TRUE(config_impl);
   EXPECT_EQ(2u, config_impl->rules().size());
diff --git a/content/browser/tracing/background_tracing_manager_browsertest.cc b/content/browser/tracing/background_tracing_manager_browsertest.cc
index 160855b..c9ee535 100644
--- a/content/browser/tracing/background_tracing_manager_browsertest.cc
+++ b/content/browser/tracing/background_tracing_manager_browsertest.cc
@@ -1714,7 +1714,7 @@
       new TestStartupPreferenceManagerImpl);
   TestStartupPreferenceManagerImpl* preferences = preferences_moved.get();
   BackgroundStartupTracingObserver::GetInstance()
-      ->SetPreferenceManagerForTesting(std::move(preferences_moved));
+      .SetPreferenceManagerForTesting(std::move(preferences_moved));
   preferences->SetBackgroundStartupTracingEnabled(false);
 
   base::Value dict(base::Value::Type::DICTIONARY);
@@ -1763,7 +1763,7 @@
       new TestStartupPreferenceManagerImpl);
   TestStartupPreferenceManagerImpl* preferences = preferences_moved.get();
   BackgroundStartupTracingObserver::GetInstance()
-      ->SetPreferenceManagerForTesting(std::move(preferences_moved));
+      .SetPreferenceManagerForTesting(std::move(preferences_moved));
   preferences->SetBackgroundStartupTracingEnabled(true);
 
   base::Value dict(base::Value::Type::DICTIONARY);
diff --git a/content/browser/tracing/background_tracing_manager_impl.cc b/content/browser/tracing/background_tracing_manager_impl.cc
index 71126575..887f3f9 100644
--- a/content/browser/tracing/background_tracing_manager_impl.cc
+++ b/content/browser/tracing/background_tracing_manager_impl.cc
@@ -94,7 +94,7 @@
 BackgroundTracingManagerImpl::BackgroundTracingManagerImpl()
     : delegate_(GetContentClient()->browser()->GetTracingDelegate()),
       trigger_handle_ids_(0) {
-  AddEnabledStateObserver(BackgroundStartupTracingObserver::GetInstance());
+  AddEnabledStateObserver(&BackgroundStartupTracingObserver::GetInstance());
 #if BUILDFLAG(IS_ANDROID)
   AddEnabledStateObserver(&BackgroundReachedCodeTracingObserver::GetInstance());
 #endif
@@ -145,7 +145,7 @@
   std::unique_ptr<BackgroundTracingConfigImpl> config_impl(
       static_cast<BackgroundTracingConfigImpl*>(config.release()));
   config_impl = BackgroundStartupTracingObserver::GetInstance()
-                    ->IncludeStartupConfigIfNeeded(std::move(config_impl));
+                    .IncludeStartupConfigIfNeeded(std::move(config_impl));
 #if BUILDFLAG(IS_ANDROID)
   config_impl = BackgroundReachedCodeTracingObserver::GetInstance()
                     .IncludeReachedCodeConfigIfNeeded(std::move(config_impl));
@@ -157,7 +157,7 @@
   } else
 #endif
       if (BackgroundStartupTracingObserver::GetInstance()
-              ->enabled_in_current_session()) {
+              .enabled_in_current_session()) {
     // Anonymize data for startup tracing by default. We currently do not
     // support storing the config in preferences for next session.
     data_filtering = DataFiltering::ANONYMIZE_DATA;
diff --git a/content/browser/tracing/cast_tracing_agent.cc b/content/browser/tracing/cast_tracing_agent.cc
index b8e4092..580d40f64 100644
--- a/content/browser/tracing/cast_tracing_agent.cc
+++ b/content/browser/tracing/cast_tracing_agent.cc
@@ -156,9 +156,9 @@
 
 class CastDataSource : public tracing::PerfettoTracedProcess::DataSourceBase {
  public:
-  static CastDataSource* GetInstance() {
+  static CastDataSource& GetInstance() {
     static base::NoDestructor<CastDataSource> instance;
-    return instance.get();
+    return *instance;
   }
 
   CastDataSource(const CastDataSource&) = delete;
@@ -268,7 +268,7 @@
 
 CastTracingAgent::CastTracingAgent() {
   tracing::PerfettoTracedProcess::Get()->AddDataSource(
-      CastDataSource::GetInstance());
+      &CastDataSource::GetInstance());
 }
 
 CastTracingAgent::~CastTracingAgent() = default;
diff --git a/content/browser/tracing/cros_tracing_agent.cc b/content/browser/tracing/cros_tracing_agent.cc
index 209590a..58add84 100644
--- a/content/browser/tracing/cros_tracing_agent.cc
+++ b/content/browser/tracing/cros_tracing_agent.cc
@@ -97,9 +97,9 @@
 
 class CrOSDataSource : public tracing::PerfettoTracedProcess::DataSourceBase {
  public:
-  static CrOSDataSource* GetInstance() {
+  static CrOSDataSource& GetInstance() {
     static base::NoDestructor<CrOSDataSource> instance;
-    return instance.get();
+    return *instance;
   }
 
   CrOSDataSource(const CrOSDataSource&) = delete;
@@ -229,7 +229,7 @@
 
 CrOSTracingAgent::CrOSTracingAgent() {
   tracing::PerfettoTracedProcess::Get()->AddDataSource(
-      CrOSDataSource::GetInstance());
+      &CrOSDataSource::GetInstance());
 }
 
 CrOSTracingAgent::~CrOSTracingAgent() = default;
diff --git a/content/browser/webrtc/webrtc_internals.cc b/content/browser/webrtc/webrtc_internals.cc
index b2df9ee..e2ead0018 100644
--- a/content/browser/webrtc/webrtc_internals.cc
+++ b/content/browser/webrtc/webrtc_internals.cc
@@ -192,7 +192,7 @@
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   auto it = FindRecord(frame_id, lid);
-  if (it != peer_connection_data_.GetList().end()) {
+  if (it != peer_connection_data_.GetListDeprecated().end()) {
     MaybeClosePeerConnection(*it);
     peer_connection_data_.EraseListIter(it);
   }
@@ -212,7 +212,7 @@
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   auto it = FindRecord(frame_id, lid);
-  if (it == peer_connection_data_.GetList().end())
+  if (it == peer_connection_data_.GetListDeprecated().end())
     return;
 
   if (type == "iceconnectionstatechange") {
@@ -291,7 +291,8 @@
                                      const std::string& video_constraints) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-  if (get_user_media_requests_.GetList().size() >= kMaxGetUserMediaEntries) {
+  if (get_user_media_requests_.GetListDeprecated().size() >=
+      kMaxGetUserMediaEntries) {
     LOG(WARNING) << "Maximum number of tracked getUserMedia() requests reached "
                     "in webrtc-internals.";
     return;
@@ -333,7 +334,8 @@
     const std::string& video_track_info) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-  if (get_user_media_requests_.GetList().size() >= kMaxGetUserMediaEntries) {
+  if (get_user_media_requests_.GetListDeprecated().size() >=
+      kMaxGetUserMediaEntries) {
     LOG(WARNING) << "Maximum number of tracked getUserMedia() requests reached "
                     "in webrtc-internals.";
     return;
@@ -369,7 +371,8 @@
                                             const std::string& error_message) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-  if (get_user_media_requests_.GetList().size() >= kMaxGetUserMediaEntries) {
+  if (get_user_media_requests_.GetListDeprecated().size() >=
+      kMaxGetUserMediaEntries) {
     LOG(WARNING) << "Maximum number of tracked getUserMedia() requests reached "
                     "in webrtc-internals.";
     return;
@@ -412,7 +415,7 @@
   DisableLocalEventLogRecordings();
 
   // TODO(tommi): Consider removing all the peer_connection_data_.
-  for (auto& dictionary : peer_connection_data_.GetList())
+  for (auto& dictionary : peer_connection_data_.GetListDeprecated())
     FreeLogList(&dictionary);
 }
 
@@ -430,10 +433,10 @@
 
 void WebRTCInternals::UpdateObserver(WebRTCInternalsUIObserver* observer) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  if (peer_connection_data_.GetList().size() > 0)
+  if (peer_connection_data_.GetListDeprecated().size() > 0)
     observer->OnUpdate("update-all-peer-connections", &peer_connection_data_);
 
-  for (const auto& request : get_user_media_requests_.GetList()) {
+  for (const auto& request : get_user_media_requests_.GetListDeprecated()) {
     // If there is a stream_id key or an error key this is an update.
     if (request.FindStringKey("stream_id") || request.FindStringKey("error")) {
       observer->OnUpdate("update-get-user-media", &request);
@@ -603,7 +606,8 @@
 
   // Iterates from the end of the list to remove the PeerConnections created
   // by the exiting renderer.
-  base::Value::ListView peer_conn_view = peer_connection_data_.GetList();
+  base::Value::ListView peer_conn_view =
+      peer_connection_data_.GetListDeprecated();
   for (int i = peer_conn_view.size() - 1; i >= 0; --i) {
     DCHECK(peer_conn_view[i].is_dict());
 
@@ -628,7 +632,7 @@
   // Iterates from the end of the list to remove the getUserMedia requests
   // created by the exiting renderer.
   base::Value::ListView get_user_media_requests_view =
-      get_user_media_requests_.GetList();
+      get_user_media_requests_.GetListDeprecated();
   for (int i = get_user_media_requests_view.size() - 1; i >= 0; --i) {
     DCHECK(get_user_media_requests_view[i].is_dict());
 
@@ -748,7 +752,8 @@
     int lid) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-  base::Value::ListView peer_conn_view = peer_connection_data_.GetList();
+  base::Value::ListView peer_conn_view =
+      peer_connection_data_.GetListDeprecated();
   for (auto it = peer_conn_view.begin(); it != peer_conn_view.end(); ++it) {
     DCHECK(it->is_dict());
 
diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui_impl.cc
index cf8bba7..4c8acf5 100644
--- a/content/browser/webui/web_ui_impl.cc
+++ b/content/browser/webui/web_ui_impl.cc
@@ -279,7 +279,7 @@
   auto callback_pair = message_callbacks_.find(message);
   if (callback_pair != message_callbacks_.end()) {
     // Forward this message and content on.
-    callback_pair->second.Run(args.GetList());
+    callback_pair->second.Run(args.GetListDeprecated());
     return;
   }
 
diff --git a/content/browser/worker_host/dedicated_worker_host.cc b/content/browser/worker_host/dedicated_worker_host.cc
index 59024bc..661790b 100644
--- a/content/browser/worker_host/dedicated_worker_host.cc
+++ b/content/browser/worker_host/dedicated_worker_host.cc
@@ -367,12 +367,9 @@
   }
 
   // https://html.spec.whatwg.org/C/#run-a-worker
-  if (final_response_url.SchemeIsBlob() ||
-      final_response_url.SchemeIs(url::kAboutScheme) ||
-      final_response_url.SchemeIs(url::kDataScheme) ||
-      // TODO(https://crbug.com/1146362): Inherit from the file creator instead
-      // once creator policies are persisted through the filesystem store.
-      final_response_url.SchemeIs(url::kFileSystemScheme)) {
+  if (final_response_url.SchemeIsLocal()) {
+    // TODO(https://crbug.com/1146362): Inherit from the file creator instead
+    // once creator policies are persisted through the filesystem store.
     if (base::FeatureList::IsEnabled(
             features::kPrivateNetworkAccessForWorkers)) {
       worker_client_security_state_ = creator_client_security_state_->Clone();
diff --git a/content/browser/worker_host/shared_worker_host.cc b/content/browser/worker_host/shared_worker_host.cc
index 5b87887..0bcf573 100644
--- a/content/browser/worker_host/shared_worker_host.cc
+++ b/content/browser/worker_host/shared_worker_host.cc
@@ -209,15 +209,15 @@
   started_ = true;
   final_response_url_ = final_response_url;
 
+  // `network::mojom::ClientSecurityState` contains a worker-relevant subset of
+  // the policy container. https://crbug.com/1177199 tracks using
+  // `PolicyContainerPolicies` for workers instead.
+  //
+  // https://html.spec.whatwg.org/C/#initialize-worker-policy-container
   worker_client_security_state_ = network::mojom::ClientSecurityState::New();
-  if (final_response_url.SchemeIsBlob() ||
-      final_response_url.SchemeIs(url::kAboutScheme) ||
-      final_response_url.SchemeIs(url::kDataScheme) ||
-      // TODO(https://crbug.com/1146362): Inherit from the file creator instead
-      // once creator policies are persisted through the filesystem store.
-      final_response_url.SchemeIs(url::kFileSystemScheme)) {
-    // > 13.6 If response's url's scheme is a local scheme, then set worker
-    // global scope's embedder policy to owner's embedder policy.
+  if (final_response_url.SchemeIsLocal()) {
+    // TODO(https://crbug.com/1146362): Inherit from the file creator instead
+    // once creator policies are persisted through the filesystem store.
     if (base::FeatureList::IsEnabled(
             features::kPrivateNetworkAccessForWorkers)) {
       worker_client_security_state_ =
@@ -227,6 +227,7 @@
           creator_client_security_state_->cross_origin_embedder_policy;
     }
   } else {
+    // https://html.spec.whatwg.org/C/#creating-a-policy-container-from-a-fetch-response
     if (base::FeatureList::IsEnabled(
             features::kPrivateNetworkAccessForWorkers)) {
       worker_client_security_state_->ip_address_space = CalculateIPAddressSpace(
@@ -240,10 +241,7 @@
               worker_client_security_state_->ip_address_space,
               worker_client_security_state_->is_web_secure_context);
     }
-    // https://html.spec.whatwg.org/C/#run-a-worker
     if (main_script_load_params->response_head->parsed_headers) {
-      // > 13.7 Otherwise, set worker global scope's embedder policy to the
-      // result of obtaining an embedder policy from response.
       worker_client_security_state_->cross_origin_embedder_policy =
           main_script_load_params->response_head->parsed_headers
               ->cross_origin_embedder_policy;
diff --git a/content/common/font_list_unittest.cc b/content/common/font_list_unittest.cc
index 45545be..1afbbc7 100644
--- a/content/common/font_list_unittest.cc
+++ b/content/common/font_list_unittest.cc
@@ -22,8 +22,8 @@
 bool HasFontWithName(const base::ListValue& list,
                      base::StringPiece expected_font_id,
                      base::StringPiece expected_display_name) {
-  for (const auto& font : list.GetList()) {
-    const auto& font_names = font.GetList();
+  for (const auto& font : list.GetListDeprecated()) {
+    const auto& font_names = font.GetListDeprecated();
     std::string font_id = font_names[0].GetString();
     std::string display_name = font_names[1].GetString();
     if (font_id == expected_font_id && display_name == expected_display_name)
@@ -85,7 +85,7 @@
   std::unique_ptr<base::ListValue> fonts = content::GetFontList_SlowBlocking();
 
   for (const auto& font : fonts->GetListDeprecated()) {
-    const auto& font_names = font.GetList();
+    const auto& font_names = font.GetListDeprecated();
     const std::string& font_id = font_names[0].GetString();
 
     // The checks are inspired by Gecko's gfxMacPlatformFontList::AddFamily.
diff --git a/content/common/input/actions_parser.cc b/content/common/input/actions_parser.cc
index 6b6dec5..5eaf612 100644
--- a/content/common/input/actions_parser.cc
+++ b/content/common/input/actions_parser.cc
@@ -89,9 +89,9 @@
   // gpuBenchmarking.pointerActionSequence. Below we are deciding where the
   // action sequence list comes from.
   if (action_sequence_list_.is_list() &&
-      action_sequence_list_.GetList().size() > 0) {
-    use_testdriver_api_ =
-        ActionsDictionaryUsesTestDriverApi(action_sequence_list_.GetList()[0]);
+      action_sequence_list_.GetListDeprecated().size() > 0) {
+    use_testdriver_api_ = ActionsDictionaryUsesTestDriverApi(
+        action_sequence_list_.GetListDeprecated()[0]);
   }
 }
 
@@ -99,13 +99,14 @@
 
 bool ActionsParser::Parse() {
   if (!action_sequence_list_.is_list() ||
-      action_sequence_list_.GetList().size() == 0) {
+      action_sequence_list_.GetListDeprecated().size() == 0) {
     error_message_ =
         std::string("provided action sequence list is not a list or is empty");
     return false;
   }
 
-  for (const auto& action_sequence : action_sequence_list_.GetList()) {
+  for (const auto& action_sequence :
+       action_sequence_list_.GetListDeprecated()) {
     if (!action_sequence.is_dict()) {
       error_message_ =
           std::string("Expected ActionSequence is not a dictionary");
@@ -373,7 +374,7 @@
                                         std::string source_type) {
   DCHECK(source_type == "none" || source_type == source_type_);
   SyntheticPointerActionListParams::ParamList param_list;
-  for (const auto& action : actions.GetList()) {
+  for (const auto& action : actions.GetListDeprecated()) {
     if (!action.is_dict()) {
       error_message_ = base::StringPrintf(
           "actions[%zu].actions is not defined or not a dictionary",
diff --git a/content/common/renderer.mojom b/content/common/renderer.mojom
index fd8c520..6181ea0811 100644
--- a/content/common/renderer.mojom
+++ b/content/common/renderer.mojom
@@ -116,23 +116,6 @@
   // Android.
   SetWebKitSharedTimersSuspended(bool suspend);
 
-  // Sets the user-agent string. This is needed because getting the value in the
-  // renderer from the system leads to a wrong value due to sandboxing. This
-  // must be called as early as possible, during the renderer process
-  // initialization.
-  SetUserAgent(string user_agent);
-
-  // Sets a user-agent with high-entropy information reduced to common values.
-  // See `SetUserAgent` for caveats.
-  SetReducedUserAgent(string user_agent);
-
-  // Sets the user agent metadata. This will replace `SetUserAgent()` if we
-  // decide to ship https://github.com/WICG/ua-client-hints.
-  SetUserAgentMetadata(blink.mojom.UserAgentMetadata metadata);
-
-  // Sets the CORS exempt header list for sanity checking (e.g. DCHECKs).
-  SetCorsExemptHeaderList(array<string> list);
-
   // Tells the renderer about a scrollbar appearance change. Only for use on
   // OS X.
   UpdateScrollbarTheme(UpdateScrollbarThemeParams params);
@@ -186,4 +169,28 @@
   // sites, because those features are highly privileged and shouldn't be
   // exposed to other sites.
   EnableBlinkRuntimeFeatures(array<string> features);
+
+  // Initialize renderer user agent string, user agent metadata and CORS exempt
+  // header list on renderer startup.
+  //
+  // |user_agent| sets the user-agent string. This is needed because getting the
+  // value in the renderer from the system leads to a wrong value due to
+  // sandboxing. This must be called as early as possible, during the renderer
+  // process initialization.
+  //
+  // |full_user_agent| sets the full user-agent with high-entropy information.
+  //
+  // |reduced_user_agent| sets a user-agent with high-entropy information
+  // reduced to common values.
+  //
+  // |metadata| sets the user agent metadata. This will replace `SetUserAgent()`
+  // if we decide to ship https://github.com/WICG/ua-client-hints.
+  //
+  // |cors_exempt_header_list| sets the CORS exempt header list for sanity
+  // checking (e.g. DCHECKs).
+  InitializeRenderer(string user_agent,
+                     string full_user_agent,
+                     string reduced_user_agent,
+                     blink.mojom.UserAgentMetadata metadata,
+                     array<string> cors_exempt_header_list);
 };
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 174b7a6..91f0c43 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -1067,6 +1067,10 @@
   return GetUserAgent();
 }
 
+std::string ContentBrowserClient::GetFullUserAgent() {
+  return GetUserAgent();
+}
+
 std::string ContentBrowserClient::GetReducedUserAgent() {
   return GetUserAgent();
 }
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index f5db7c3..9fbc889c 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -1889,6 +1889,10 @@
   virtual std::string GetUserAgentBasedOnPolicy(
       content::BrowserContext* context);
 
+  // Returns the full user agent string. Defaults to |GetUserAgent|. Content
+  // may cache this value.
+  virtual std::string GetFullUserAgent();
+
   // Returns the reduced user agent string. Defaults to |GetUserAgent|. Content
   // may cache this value.
   virtual std::string GetReducedUserAgent();
diff --git a/content/public/browser/render_frame_host.h b/content/public/browser/render_frame_host.h
index 36b06c5..4ea019d 100644
--- a/content/public/browser/render_frame_host.h
+++ b/content/public/browser/render_frame_host.h
@@ -712,6 +712,13 @@
   // new RenderFrameHosts when they reach the kPendingCommit state.
   virtual LifecycleState GetLifecycleState() = 0;
 
+  // Returns true if and only if the `lifecycle_state` matches
+  // `GetLifecycleState`. This is helpful for determining if a RenderFrameHost
+  // is in a specific state since GetLifecycleState can crash on speculative
+  // frames. TODO(crbug.com/1183639): Remove this method once
+  // GetLifecycleState() can be used for speculative.
+  virtual bool IsInLifecycleState(LifecycleState lifecycle_state) = 0;
+
   // Returns true if the document hosted in this RenderFrameHost is committed
   // and lives inside a page presented to the user for the WebContents it is in
   // (e.g., not a prerendered or back-forward cached page). Only active RFHs
diff --git a/content/public/renderer/render_thread.h b/content/public/renderer/render_thread.h
index 463df946..f5e7207 100644
--- a/content/public/renderer/render_thread.h
+++ b/content/public/renderer/render_thread.h
@@ -112,6 +112,7 @@
 
   // Returns the user-agent string.
   virtual blink::WebString GetUserAgent() = 0;
+  virtual blink::WebString GetFullUserAgent() = 0;
   virtual blink::WebString GetReducedUserAgent() = 0;
   virtual const blink::UserAgentMetadata& GetUserAgentMetadata() = 0;
 
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc
index ffa7bc50..d242622 100644
--- a/content/public/test/browser_test_utils.cc
+++ b/content/public/test/browser_test_utils.cc
@@ -1694,7 +1694,7 @@
         is_reply_from_script && response->GetListDeprecated()[1].is_string();
     bool is_automatic_success_reply =
         is_reply_from_script && response->GetListDeprecated()[1].is_list() &&
-        response->GetListDeprecated()[1].GetList().size() == 1;
+        response->GetListDeprecated()[1].GetListDeprecated().size() == 1;
 
     if (is_error) {
       // This is a response generated by the error handler in our runner
@@ -1728,7 +1728,7 @@
       // form [token, [completion_value]]. Return the completion value, with an
       // empty error.
       return EvalJsResult(
-          std::move(response->GetListDeprecated()[1].GetList()[0]),
+          std::move(response->GetListDeprecated()[1].GetListDeprecated()[0]),
           std::string());
     } else {
       // The response was not well-formed (it failed the token match), so it's
diff --git a/content/public/test/mock_render_thread.cc b/content/public/test/mock_render_thread.cc
index 9f812f9..384e7bd 100644
--- a/content/public/test/mock_render_thread.cc
+++ b/content/public/test/mock_render_thread.cc
@@ -217,6 +217,10 @@
   return blink::WebString();
 }
 
+blink::WebString MockRenderThread::GetFullUserAgent() {
+  return blink::WebString();
+}
+
 blink::WebString MockRenderThread::GetReducedUserAgent() {
   return blink::WebString();
 }
diff --git a/content/public/test/mock_render_thread.h b/content/public/test/mock_render_thread.h
index 0fa80cf..455daa74f 100644
--- a/content/public/test/mock_render_thread.h
+++ b/content/public/test/mock_render_thread.h
@@ -82,6 +82,7 @@
   void SetRendererProcessType(
       blink::scheduler::WebRendererProcessType type) override;
   blink::WebString GetUserAgent() override;
+  blink::WebString GetFullUserAgent() override;
   blink::WebString GetReducedUserAgent() override;
   const blink::UserAgentMetadata& GetUserAgentMetadata() override;
   bool IsUseZoomForDSF() override;
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index f6574e1..0b42cba 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -968,6 +968,24 @@
       blink::WebImageGenerator::CreateAsSkImageGenerator);
 }
 
+void RenderThreadImpl::InitializeRenderer(
+    const std::string& user_agent,
+    const std::string& full_user_agent,
+    const std::string& reduced_user_agent,
+    const blink::UserAgentMetadata& user_agent_metadata,
+    const std::vector<std::string>& cors_exempt_header_list) {
+  DCHECK(user_agent_.IsNull());
+  DCHECK(reduced_user_agent_.IsNull());
+  DCHECK(full_user_agent_.IsNull());
+
+  user_agent_ = WebString::FromUTF8(user_agent);
+  GetContentClient()->renderer()->DidSetUserAgent(user_agent);
+  full_user_agent_ = WebString::FromUTF8(full_user_agent);
+  reduced_user_agent_ = WebString::FromUTF8(reduced_user_agent);
+  user_agent_metadata_ = user_agent_metadata;
+  cors_exempt_header_list_ = cors_exempt_header_list;
+}
+
 void RenderThreadImpl::RegisterSchemes() {
   // chrome:
   WebString chrome_scheme(WebString::FromASCII(kChromeUIScheme));
@@ -1288,6 +1306,12 @@
   return user_agent_;
 }
 
+blink::WebString RenderThreadImpl::GetFullUserAgent() {
+  DCHECK(!full_user_agent_.IsNull());
+
+  return full_user_agent_;
+}
+
 blink::WebString RenderThreadImpl::GetReducedUserAgent() {
   DCHECK(!reduced_user_agent_.IsNull());
 
@@ -1700,27 +1724,6 @@
 #endif
 }
 
-void RenderThreadImpl::SetUserAgent(const std::string& user_agent) {
-  DCHECK(user_agent_.IsNull());
-  user_agent_ = WebString::FromUTF8(user_agent);
-  GetContentClient()->renderer()->DidSetUserAgent(user_agent);
-}
-
-void RenderThreadImpl::SetReducedUserAgent(const std::string& user_agent) {
-  DCHECK(reduced_user_agent_.IsNull());
-  reduced_user_agent_ = WebString::FromUTF8(user_agent);
-}
-
-void RenderThreadImpl::SetUserAgentMetadata(
-    const blink::UserAgentMetadata& user_agent_metadata) {
-  user_agent_metadata_ = user_agent_metadata;
-}
-
-void RenderThreadImpl::SetCorsExemptHeaderList(
-    const std::vector<std::string>& list) {
-  cors_exempt_header_list_ = list;
-}
-
 void RenderThreadImpl::UpdateScrollbarTheme(
     mojom::UpdateScrollbarThemeParamsPtr params) {
 #if BUILDFLAG(IS_MAC)
@@ -1802,15 +1805,14 @@
 
 void RenderThreadImpl::OnMemoryPressure(
     base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) {
-  TRACE_EVENT("memory", "RenderThreadImpl::OnMemoryPressure",
-              [&](perfetto::EventContext ctx) {
-                auto* event =
-                    ctx.event<perfetto::protos::pbzero::ChromeTrackEvent>();
-                auto* data = event->set_chrome_memory_pressure_notification();
-                data->set_level(
-                    base::trace_event::MemoryPressureLevelToTraceEnum(
-                        memory_pressure_level));
-              });
+  TRACE_EVENT(
+      "memory", "RenderThreadImpl::OnMemoryPressure",
+      [&](perfetto::EventContext ctx) {
+        auto* event = ctx.event<perfetto::protos::pbzero::ChromeTrackEvent>();
+        auto* data = event->set_chrome_memory_pressure_notification();
+        data->set_level(base::trace_event::MemoryPressureLevelToTraceEnum(
+            memory_pressure_level));
+      });
   if (blink_platform_impl_)
     blink::WebMemoryPressureListener::OnMemoryPressure(memory_pressure_level);
   if (memory_pressure_level ==
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index b2e886d..238ef650 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -188,6 +188,7 @@
   void SetRendererProcessType(
       blink::scheduler::WebRendererProcessType type) override;
   blink::WebString GetUserAgent() override;
+  blink::WebString GetFullUserAgent() override;
   blink::WebString GetReducedUserAgent() override;
   const blink::UserAgentMetadata& GetUserAgentMetadata() override;
   bool IsUseZoomForDSF() override;
@@ -446,10 +447,12 @@
                                base::TimeDelta transport_rtt,
                                double bandwidth_kbps) override;
   void SetWebKitSharedTimersSuspended(bool suspend) override;
-  void SetUserAgent(const std::string& user_agent) override;
-  void SetReducedUserAgent(const std::string& user_agent) override;
-  void SetUserAgentMetadata(const blink::UserAgentMetadata& metadata) override;
-  void SetCorsExemptHeaderList(const std::vector<std::string>& list) override;
+  void InitializeRenderer(
+      const std::string& user_agent,
+      const std::string& full_user_agent,
+      const std::string& reduced_user_agent,
+      const blink::UserAgentMetadata& user_agent_metadata,
+      const std::vector<std::string>& cors_exempt_header_list) override;
   void UpdateScrollbarTheme(
       mojom::UpdateScrollbarThemeParamsPtr params) override;
   void OnSystemColorsChanged(int32_t aqua_color_variant,
@@ -515,6 +518,7 @@
   absl::optional<mojom::RenderProcessVisibleState> visible_state_;
 
   blink::WebString user_agent_;
+  blink::WebString full_user_agent_;
   blink::WebString reduced_user_agent_;
   blink::UserAgentMetadata user_agent_metadata_;
 
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index b4e37bb..a64d78c 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -313,6 +313,14 @@
   return render_thread->GetUserAgent();
 }
 
+blink::WebString RendererBlinkPlatformImpl::FullUserAgent() {
+  auto* render_thread = RenderThreadImpl::current();
+  // RenderThreadImpl is null in some tests.
+  if (!render_thread)
+    return WebString();
+  return render_thread->GetFullUserAgent();
+}
+
 blink::WebString RendererBlinkPlatformImpl::ReducedUserAgent() {
   auto* render_thread = RenderThreadImpl::current();
   // RenderThreadImpl is null in some tests.
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
index 2191ab72..10c96d3 100644
--- a/content/renderer/renderer_blink_platform_impl.h
+++ b/content/renderer/renderer_blink_platform_impl.h
@@ -86,6 +86,7 @@
   uint64_t VisitedLinkHash(const char* canonicalURL, size_t length) override;
   bool IsLinkVisited(uint64_t linkHash) override;
   blink::WebString UserAgent() override;
+  blink::WebString FullUserAgent() override;
   blink::WebString ReducedUserAgent() override;
   blink::UserAgentMetadata UserAgentMetadata() override;
   void CacheMetadata(blink::mojom::CodeCacheType cache_type,
diff --git a/content/renderer/skia_benchmarking_extension_unittest.cc b/content/renderer/skia_benchmarking_extension_unittest.cc
index 142c11c5..70598f6 100644
--- a/content/renderer/skia_benchmarking_extension_unittest.cc
+++ b/content/renderer/skia_benchmarking_extension_unittest.cc
@@ -60,7 +60,7 @@
 
   // Verify the recorded commands.
   const base::ListValue& ops = benchmarking_canvas.Commands();
-  ASSERT_EQ(ops.GetList().size(), static_cast<size_t>(5));
+  ASSERT_EQ(ops.GetListDeprecated().size(), static_cast<size_t>(5));
 
   size_t index = 0;
   const base::Value* value;
@@ -68,7 +68,7 @@
   const base::ListValue* op_args;
   std::string op_name;
 
-  value = &ops.GetList()[index++];
+  value = &ops.GetListDeprecated()[index++];
   ASSERT_TRUE(value->is_dict());
   op = static_cast<const base::DictionaryValue*>(value);
   EXPECT_TRUE(op->GetString("cmd_string", &op_name));
@@ -76,7 +76,7 @@
   ASSERT_TRUE(op->GetList("info", &op_args));
   EXPECT_EQ(op_args->GetListDeprecated().size(), static_cast<size_t>(0));
 
-  value = &ops.GetList()[index++];
+  value = &ops.GetListDeprecated()[index++];
   ASSERT_TRUE(value->is_dict());
   op = static_cast<const base::DictionaryValue*>(value);
   EXPECT_TRUE(op->GetString("cmd_string", &op_name));
@@ -87,7 +87,7 @@
   EXPECT_TRUE(HasArg(op_args, "op"));
   EXPECT_TRUE(HasArg(op_args, "anti-alias"));
 
-  value = &ops.GetList()[index++];
+  value = &ops.GetListDeprecated()[index++];
   ASSERT_TRUE(value->is_dict());
   op = static_cast<const base::DictionaryValue*>(value);
   EXPECT_TRUE(op->GetString("cmd_string", &op_name));
@@ -96,7 +96,7 @@
   EXPECT_EQ(op_args->GetListDeprecated().size(), static_cast<size_t>(1));
   EXPECT_TRUE(HasArg(op_args, "matrix"));
 
-  value = &ops.GetList()[index++];
+  value = &ops.GetListDeprecated()[index++];
   ASSERT_TRUE(value->is_dict());
   op = static_cast<const base::DictionaryValue*>(value);
   EXPECT_TRUE(op->GetString("cmd_string", &op_name));
@@ -106,7 +106,7 @@
   EXPECT_TRUE(HasArg(op_args, "rect"));
   EXPECT_TRUE(HasArg(op_args, "paint"));
 
-  value = &ops.GetList()[index++];
+  value = &ops.GetListDeprecated()[index++];
   ASSERT_TRUE(value->is_dict());
   op = static_cast<const base::DictionaryValue*>(value);
   EXPECT_TRUE(op->GetString("cmd_string", &op_name));
diff --git a/content/test/data/accessibility/aria/aria-hidden-iframe-body-expected-blink.txt b/content/test/data/accessibility/aria/aria-hidden-iframe-body-expected-blink.txt
index 71e8858..9e14da91 100644
--- a/content/test/data/accessibility/aria/aria-hidden-iframe-body-expected-blink.txt
+++ b/content/test/data/accessibility/aria/aria-hidden-iframe-body-expected-blink.txt
@@ -4,7 +4,7 @@
 ++++++iframe focusable
 ++++++++rootWebArea focusable
 ++++++++++genericContainer ignored
-++++++++++++genericContainer editable focusable invisible multiline richlyEditable value='1'
+++++++++++++genericContainer editable focusable invisible multiline richlyEditable
 ++++++++++++++staticText ignored invisible name='1'
 ++++++iframe focusable
 ++++++++rootWebArea focusable
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-android-external.txt b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-android-external.txt
index d1b566e..abea14f 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-android-external.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-android-external.txt
@@ -1,9 +1,9 @@
 WebView focusable focused scrollable actions:[CLEAR_FOCUS, AX_FOCUS] bundle:[chromeRole="rootWebArea"]
-++EditText text:"Foo\n\nBar\n\nBar\n\nBaz\n\nBaz" clickable editable textSelectionStart:0 textSelectionEnd:0 actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="not editable"]
+++EditText text:"Foo\nBar\nBar\nBaz\nBaz" clickable editable textSelectionStart:0 textSelectionEnd:0 actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="not editable"]
 ++++TextView text:"Foo" actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="paragraph"]
 ++++EditText text:"Bar" clickable editable textSelectionStart:0 textSelectionEnd:0 actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="nested, not editable, rich"]
 ++++++TextView text:"Bar" actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="paragraph"]
 ++++EditText text:"Bar" clickable editable textSelectionStart:0 textSelectionEnd:0 actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="nested, not editable, plain"]
 ++++EditText text:"Baz" clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="nested, editable, rich"]
 ++++EditText text:"Baz" clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="nested, editable, plain"]
-++EditText text:"Foo\n\nBar\n\nBar\n\nBaz\n\nBaz" clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="editable"]
\ No newline at end of file
+++EditText text:"Foo\nBar\nBar\nBaz\nBaz" clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="editable"]
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-blink.txt b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-blink.txt
index 41a06dd..4f53cdd4 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-blink.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea
 ++genericContainer ignored
 ++++genericContainer ignored
-++++++textField name='not editable' value='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz' nonAtomicTextFieldRoot=true
+++++++textField name='not editable' value='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz' nonAtomicTextFieldRoot=true
 ++++++++paragraph
 ++++++++++staticText name='Foo'
 ++++++++++++inlineTextBox name='Foo'
@@ -19,7 +19,7 @@
 ++++++++textField editable multiline richlyEditable name='nested, editable, plain' value='Baz' nonAtomicTextFieldRoot=true
 ++++++++++staticText editable richlyEditable name='Baz'
 ++++++++++++inlineTextBox editable richlyEditable name='Baz'
-++++++textField editable multiline richlyEditable name='editable' value='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz' nonAtomicTextFieldRoot=true
+++++++textField editable multiline richlyEditable name='editable' value='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz' nonAtomicTextFieldRoot=true
 ++++++++paragraph editable richlyEditable
 ++++++++++staticText editable richlyEditable name='Foo'
 ++++++++++++inlineTextBox editable richlyEditable name='Foo'
@@ -36,4 +36,4 @@
 ++++++++++++++inlineTextBox editable richlyEditable name='Baz'
 ++++++++textField editable multiline richlyEditable name='nested, editable, plain' value='Baz' nonAtomicTextFieldRoot=true
 ++++++++++staticText editable richlyEditable name='Baz'
-++++++++++++inlineTextBox editable richlyEditable name='Baz'
+++++++++++++inlineTextBox editable richlyEditable name='Baz'
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-mac.txt b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-mac.txt
index 4a33726..79f094e 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-mac.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-mac.txt
@@ -1,5 +1,5 @@
 AXWebArea
-++AXTextField AXDescription='not editable' AXValue='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz'
+++AXTextField AXDescription='not editable' AXValue='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz'
 ++++AXGroup
 ++++++AXStaticText AXValue='Foo'
 ++++AXTextField AXDescription='nested, not editable, rich' AXValue='Bar'
@@ -12,7 +12,7 @@
 ++++++++AXStaticText AXValue='Baz'
 ++++AXTextArea AXDescription='nested, editable, plain' AXValue='Baz'
 ++++++AXStaticText AXValue='Baz'
-++AXTextArea AXDescription='editable' AXValue='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz'
+++AXTextArea AXDescription='editable' AXValue='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz'
 ++++AXGroup
 ++++++AXStaticText AXValue='Foo'
 ++++AXTextField AXDescription='nested, not editable, rich' AXValue='Bar'
@@ -24,4 +24,4 @@
 ++++++AXGroup
 ++++++++AXStaticText AXValue='Baz'
 ++++AXTextArea AXDescription='nested, editable, plain' AXValue='Baz'
-++++++AXStaticText AXValue='Baz'
+++++++AXStaticText AXValue='Baz'
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-uia-win.txt b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-uia-win.txt
index c6d78b8cf..0f66e0a 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-uia-win.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-uia-win.txt
@@ -1,5 +1,5 @@
 Document
-++Edit Name='not editable' Value.Value='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz'
+++Edit Name='not editable' Value.Value='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz'
 ++++Group IsControlElement=false
 ++++++Text Name='Foo'
 ++++Edit Name='nested, not editable, rich' Value.Value='Bar'
@@ -12,7 +12,7 @@
 ++++++++Text Name='Baz'
 ++++Edit Name='nested, editable, plain' Value.Value='Baz'
 ++++++Text Name='Baz'
-++Edit Name='editable' Value.Value='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz'
+++Edit Name='editable' Value.Value='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz'
 ++++Group IsControlElement=false
 ++++++Text Name='Foo'
 ++++Edit Name='nested, not editable, rich' Value.Value='Bar'
@@ -24,4 +24,4 @@
 ++++++Group IsControlElement=false
 ++++++++Text Name='Baz'
 ++++Edit Name='nested, editable, plain' Value.Value='Baz'
-++++++Text Name='Baz'
+++++++Text Name='Baz'
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-win.txt b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-win.txt
index 5a8e252..6e0990a5 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-win.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-aria-textbox-child-expected-win.txt
@@ -1,5 +1,5 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
-++ROLE_SYSTEM_TEXT name='not editable' value='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz'
+++ROLE_SYSTEM_TEXT name='not editable' value='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz'
 ++++IA2_ROLE_PARAGRAPH
 ++++++ROLE_SYSTEM_STATICTEXT name='Foo'
 ++++ROLE_SYSTEM_TEXT name='nested, not editable, rich' value='Bar'
@@ -12,7 +12,7 @@
 ++++++++ROLE_SYSTEM_STATICTEXT name='Baz' IA2_STATE_EDITABLE
 ++++ROLE_SYSTEM_TEXT name='nested, editable, plain' value='Baz' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE
 ++++++ROLE_SYSTEM_STATICTEXT name='Baz' IA2_STATE_EDITABLE
-++ROLE_SYSTEM_TEXT name='editable' value='Foo<newline><newline>Bar<newline><newline>Bar<newline><newline>Baz<newline><newline>Baz' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE
+++ROLE_SYSTEM_TEXT name='editable' value='Foo<newline>Bar<newline>Bar<newline>Baz<newline>Baz' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE
 ++++IA2_ROLE_PARAGRAPH IA2_STATE_EDITABLE
 ++++++ROLE_SYSTEM_STATICTEXT name='Foo' IA2_STATE_EDITABLE
 ++++ROLE_SYSTEM_TEXT name='nested, not editable, rich' value='Bar' IA2_STATE_EDITABLE
@@ -24,4 +24,4 @@
 ++++++IA2_ROLE_PARAGRAPH IA2_STATE_EDITABLE
 ++++++++ROLE_SYSTEM_STATICTEXT name='Baz' IA2_STATE_EDITABLE
 ++++ROLE_SYSTEM_TEXT name='nested, editable, plain' value='Baz' IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE
-++++++ROLE_SYSTEM_STATICTEXT name='Baz' IA2_STATE_EDITABLE
+++++++ROLE_SYSTEM_STATICTEXT name='Baz' IA2_STATE_EDITABLE
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-android-external.txt b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-android-external.txt
index d839cce..e8646e7 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-android-external.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-android-external.txt
@@ -1,5 +1,5 @@
 WebView focusable focused scrollable actions:[CLEAR_FOCUS, AX_FOCUS] bundle:[chromeRole="rootWebArea", hasImage="true"]
-++EditText text:"focusable: ok link name: " clickable editable focusable textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="not editable"]
+++EditText text:"focusable: oklink name: \n" clickable editable focusable textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="not editable"]
 ++++TextView text:"focusable: " actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="staticText"]
 ++++Button text:"ok" clickable focusable actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="button", clickableScore="300", roleDescription="button"]
 ++++View text:"null" contentDescription:"link" clickable focusable actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="link", clickableScore="300", roleDescription="link", targetUrl="file:///storage/emulated/0/chromium_tests_root/content/test/data/accessibility/aria/aria-textbox-with-non-text-children.html#"]
@@ -8,7 +8,7 @@
 ++++View actions:[AX_FOCUS] bundle:[chromeRole="labelText"]
 ++++++TextView text:"name: " actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="staticText"]
 ++++++EditText clickable editable focusable inputType:1 textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, PASTE, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="name:"]
-++EditText text:"focusable: ok link name: " clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="editable"]
+++EditText text:"focusable: oklink name: \n" clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="editable"]
 ++++TextView text:"focusable: " actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="staticText"]
 ++++Button text:"ok" clickable focusable actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="button", clickableScore="300", roleDescription="button"]
 ++++View text:"null" contentDescription:"link" clickable actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="link", clickableScore="300", roleDescription="link", targetUrl="file:///storage/emulated/0/chromium_tests_root/content/test/data/accessibility/aria/aria-textbox-with-non-text-children.html#"]
@@ -17,7 +17,7 @@
 ++++View actions:[AX_FOCUS] bundle:[chromeRole="labelText", clickableScore="100"]
 ++++++TextView text:"name: " actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="staticText"]
 ++++++EditText clickable editable focusable inputType:1 textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, PASTE, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300", hint="name:"]
-++EditText text:"focusable: ok link name: " clickable editable textSelectionStart:0 textSelectionEnd:0 actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="not editable or focusable"]
+++EditText text:"focusable: oklink name: \n" clickable editable textSelectionStart:0 textSelectionEnd:0 actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", hint="not editable or focusable"]
 ++++TextView text:"focusable: " actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="staticText"]
 ++++Button text:"ok" clickable focusable actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="button", clickableScore="300", roleDescription="button"]
 ++++View text:"null" contentDescription:"link" clickable focusable actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="link", clickableScore="300", roleDescription="link", targetUrl="file:///storage/emulated/0/chromium_tests_root/content/test/data/accessibility/aria/aria-textbox-with-non-text-children.html#"]
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-blink.txt b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-blink.txt
index b329d11..aeaaca3 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-blink.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea
 ++genericContainer ignored
 ++++genericContainer ignored
-++++++textField name='not editable' value='focusable: ok link name: '
+++++++textField name='not editable' value='focusable: oklink name: <newline>'
 ++++++++staticText name='focusable: '
 ++++++++++inlineTextBox name='focusable: '
 ++++++++button name='ok'
@@ -17,7 +17,7 @@
 ++++++++++++inlineTextBox name='name: '
 ++++++++++textField name='name:'
 ++++++++++++genericContainer
-++++++textField multiline name='editable' value='focusable: ok link name: '
+++++++textField multiline name='editable' value='focusable: oklink name: <newline>'
 ++++++++staticText name='focusable: '
 ++++++++++inlineTextBox name='focusable: '
 ++++++++button name='ok'
@@ -33,7 +33,7 @@
 ++++++++++++inlineTextBox name='name: '
 ++++++++++textField name='name:'
 ++++++++++++genericContainer
-++++++textField name='not editable or focusable' value='focusable: ok link name: '
+++++++textField name='not editable or focusable' value='focusable: oklink name: <newline>'
 ++++++++staticText name='focusable: '
 ++++++++++inlineTextBox name='focusable: '
 ++++++++button name='ok'
@@ -50,4 +50,4 @@
 ++++++++++textField name='name:'
 ++++++++++++genericContainer
 ++++++textField name='not editable, img child'
-++++++++image
+++++++++image
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-mac.txt b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-mac.txt
index 5a83dd05..ada427b 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-mac.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-mac.txt
@@ -1,5 +1,5 @@
 AXWebArea
-++AXTextField AXDescription='not editable' AXValue='focusable: ok link name: '
+++AXTextField AXDescription='not editable' AXValue='focusable: oklink name: <newline>'
 ++++AXStaticText AXValue='focusable: '
 ++++AXButton AXTitle='ok'
 ++++AXLink AXDescription='link'
@@ -8,7 +8,7 @@
 ++++AXGroup
 ++++++AXStaticText AXValue='name: '
 ++++++AXTextField AXTitle='name:'
-++AXTextArea AXDescription='editable' AXValue='focusable: ok link name: '
+++AXTextArea AXDescription='editable' AXValue='focusable: oklink name: <newline>'
 ++++AXStaticText AXValue='focusable: '
 ++++AXButton AXTitle='ok'
 ++++AXLink AXDescription='link'
@@ -17,7 +17,7 @@
 ++++AXGroup
 ++++++AXStaticText AXValue='name: '
 ++++++AXTextField AXTitle='name:'
-++AXTextField AXDescription='not editable or focusable' AXValue='focusable: ok link name: '
+++AXTextField AXDescription='not editable or focusable' AXValue='focusable: oklink name: <newline>'
 ++++AXStaticText AXValue='focusable: '
 ++++AXButton AXTitle='ok'
 ++++AXLink AXDescription='link'
@@ -27,4 +27,4 @@
 ++++++AXStaticText AXValue='name: '
 ++++++AXTextField AXTitle='name:'
 ++AXTextField AXDescription='not editable, img child'
-++++AXImage
+++++AXImage
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-uia-win.txt b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-uia-win.txt
index 094371e..9bd36c3 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-uia-win.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-uia-win.txt
@@ -1,5 +1,5 @@
 Document
-++Edit Name='not editable' Value.Value='focusable: ok link name: '
+++Edit Name='not editable' Value.Value='focusable: oklink name: <newline>'
 ++++Text Name='focusable: '
 ++++Button Name='ok'
 ++++Hyperlink Name='link'
@@ -8,7 +8,7 @@
 ++++Text
 ++++++Text Name='name: '
 ++++++Edit Name='name:'
-++Edit Name='editable' Value.Value='focusable: ok link name: '
+++Edit Name='editable' Value.Value='focusable: oklink name: <newline>'
 ++++Text Name='focusable: '
 ++++Button Name='ok'
 ++++Hyperlink Name='link'
@@ -17,7 +17,7 @@
 ++++Text
 ++++++Text Name='name: '
 ++++++Edit Name='name:'
-++Edit Name='not editable or focusable' Value.Value='focusable: ok link name: '
+++Edit Name='not editable or focusable' Value.Value='focusable: oklink name: <newline>'
 ++++Text Name='focusable: '
 ++++Button Name='ok'
 ++++Hyperlink Name='link'
@@ -27,4 +27,4 @@
 ++++++Text Name='name: '
 ++++++Edit Name='name:'
 ++Edit Name='not editable, img child'
-++++Image
+++++Image
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-win.txt b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-win.txt
index bea47fd8..71ca2f3 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-win.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-non-text-children-expected-win.txt
@@ -1,5 +1,5 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
-++ROLE_SYSTEM_TEXT name='not editable' value='focusable: ok link name: ' FOCUSABLE
+++ROLE_SYSTEM_TEXT name='not editable' value='focusable: oklink name: <newline>' FOCUSABLE
 ++++ROLE_SYSTEM_STATICTEXT name='focusable: '
 ++++ROLE_SYSTEM_PUSHBUTTON name='ok' FOCUSABLE
 ++++ROLE_SYSTEM_LINK name='link' FOCUSABLE
@@ -8,7 +8,7 @@
 ++++IA2_ROLE_LABEL
 ++++++ROLE_SYSTEM_STATICTEXT name='name: '
 ++++++ROLE_SYSTEM_TEXT name='name:' FOCUSABLE
-++ROLE_SYSTEM_TEXT name='editable' value='focusable: ok link name: ' FOCUSABLE IA2_STATE_MULTI_LINE
+++ROLE_SYSTEM_TEXT name='editable' value='focusable: oklink name: <newline>' FOCUSABLE IA2_STATE_MULTI_LINE
 ++++ROLE_SYSTEM_STATICTEXT name='focusable: '
 ++++ROLE_SYSTEM_PUSHBUTTON name='ok' FOCUSABLE
 ++++ROLE_SYSTEM_LINK name='link'
@@ -17,7 +17,7 @@
 ++++IA2_ROLE_LABEL
 ++++++ROLE_SYSTEM_STATICTEXT name='name: '
 ++++++ROLE_SYSTEM_TEXT name='name:' FOCUSABLE
-++ROLE_SYSTEM_TEXT name='not editable or focusable' value='focusable: ok link name: '
+++ROLE_SYSTEM_TEXT name='not editable or focusable' value='focusable: oklink name: <newline>'
 ++++ROLE_SYSTEM_STATICTEXT name='focusable: '
 ++++ROLE_SYSTEM_PUSHBUTTON name='ok' FOCUSABLE
 ++++ROLE_SYSTEM_LINK name='link' FOCUSABLE
@@ -27,4 +27,4 @@
 ++++++ROLE_SYSTEM_STATICTEXT name='name: '
 ++++++ROLE_SYSTEM_TEXT name='name:' FOCUSABLE
 ++ROLE_SYSTEM_TEXT name='not editable, img child'
-++++ROLE_SYSTEM_GRAPHIC READONLY
+++++ROLE_SYSTEM_GRAPHIC READONLY
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-mac.txt b/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-mac.txt
index 106c299..b4b48acc 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-mac.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-mac.txt
@@ -2,8 +2,8 @@
 ++AXTextArea AXRoleDescription='text entry area' AXValue='TextBox1'
 ++++AXHeading AXRoleDescription='heading' AXTitle='TextBox1' AXValue=1
 ++++++AXStaticText AXRoleDescription='text' AXValue='TextBox1'
-++AXTextArea AXRoleDescription='text entry area' AXValue='TextBox2<newline><newline>Some text.'
+++AXTextArea AXRoleDescription='text entry area' AXValue='TextBox2<newline>Some text.'
 ++++AXHeading AXRoleDescription='heading' AXTitle='TextBox2' AXValue=2
 ++++++AXStaticText AXRoleDescription='text' AXValue='TextBox2'
 ++++AXGroup AXRoleDescription='group'
-++++++AXStaticText AXRoleDescription='text' AXValue='Some text.'
+++++++AXStaticText AXRoleDescription='text' AXValue='Some text.'
\ No newline at end of file
diff --git a/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-win.txt b/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-win.txt
index 9586f352..7d8ff23d 100644
--- a/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-win.txt
+++ b/content/test/data/accessibility/aria/aria-textbox-with-rich-text-expected-win.txt
@@ -2,7 +2,7 @@
 ++ROLE_SYSTEM_TEXT value='TextBox1' FOCUSABLE IA2_STATE_MULTI_LINE xml-roles:textbox ia2_hypertext='<obj0>' n_characters=1 caret_offset=0 n_selections=0
 ++++IA2_ROLE_HEADING name='TextBox1' ia2_hypertext='TextBox1' n_characters=8 n_selections=0
 ++++++ROLE_SYSTEM_STATICTEXT name='TextBox1' ia2_hypertext='TextBox1' n_characters=8 n_selections=0
-++ROLE_SYSTEM_TEXT value='TextBox2<newline><newline>Some text.' FOCUSABLE IA2_STATE_MULTI_LINE xml-roles:textbox ia2_hypertext='<obj0><obj1>' n_characters=2 n_selections=0
+++ROLE_SYSTEM_TEXT value='TextBox2<newline>Some text.' FOCUSABLE IA2_STATE_MULTI_LINE xml-roles:textbox ia2_hypertext='<obj0><obj1>' n_characters=2 n_selections=0
 ++++IA2_ROLE_HEADING name='TextBox2' ia2_hypertext='TextBox2' n_characters=8 n_selections=0
 ++++++ROLE_SYSTEM_STATICTEXT name='TextBox2' ia2_hypertext='TextBox2' n_characters=8 n_selections=0
 ++++IA2_ROLE_PARAGRAPH ia2_hypertext='Some text.' n_characters=10 n_selections=0
diff --git a/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-mac.txt b/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-mac.txt
index f7a2b4b0..1ac2ddc7 100644
--- a/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-mac.txt
+++ b/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-mac.txt
@@ -1,2 +1,4 @@
+AXValueChanged on AXTextField AXDescription='initially not editable' AXValue='foo ok'
+AXValueChanged on AXWebArea
 === Start Continuation ===
-AXValueChanged on AXTextArea AXDescription='initially editable' AXValue='foo ok'
+AXValueChanged on AXTextArea AXDescription='initially editable' AXValue='foo ok'
\ No newline at end of file
diff --git a/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-win.txt b/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-win.txt
index 0c902bf..d8618c8 100644
--- a/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-win.txt
+++ b/content/test/data/accessibility/event/aria-textbox-editability-changes-expected-win.txt
@@ -1,8 +1,9 @@
 EVENT_OBJECT_STATECHANGE on <button> role=ROLE_SYSTEM_PUSHBUTTON name="ok" FOCUSABLE IA2_STATE_EDITABLE
 EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_STATICTEXT name="foo " IA2_STATE_EDITABLE
 EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_STATICTEXT name="ok" IA2_STATE_EDITABLE
+EVENT_OBJECT_VALUECHANGE on <div#txt1> role=ROLE_SYSTEM_TEXT name="initially not editable" value="foo ok" FOCUSABLE IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE
 === Start Continuation ===
 EVENT_OBJECT_STATECHANGE on <button> role=ROLE_SYSTEM_PUSHBUTTON name="ok" FOCUSABLE
 EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_STATICTEXT name="foo "
 EVENT_OBJECT_STATECHANGE on role=ROLE_SYSTEM_STATICTEXT name="ok"
-EVENT_OBJECT_VALUECHANGE on <div#txt2> role=ROLE_SYSTEM_TEXT name="initially editable" value="foo ok" FOCUSABLE IA2_STATE_EDITABLE,IA2_STATE_MULTI_LINE,IA2_STATE_SELECTABLE_TEXT
+EVENT_OBJECT_VALUECHANGE on <div#txt2> role=ROLE_SYSTEM_TEXT name="initially editable" value="foo ok" FOCUSABLE IA2_STATE_EDITABLE,IA2_STATE_MULTI_LINE,IA2_STATE_SELECTABLE_TEXT
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/contenteditable-descendants-expected-android-external.txt b/content/test/data/accessibility/html/contenteditable-descendants-expected-android-external.txt
index 2bc4b611b..af4bbe77 100644
--- a/content/test/data/accessibility/html/contenteditable-descendants-expected-android-external.txt
+++ b/content/test/data/accessibility/html/contenteditable-descendants-expected-android-external.txt
@@ -1,5 +1,5 @@
 WebView focusable focused scrollable actions:[CLEAR_FOCUS, AX_FOCUS] bundle:[chromeRole="rootWebArea", hasImage="true"]
-++EditText text:"A contenteditable with a link and an  and a .\n\nAlways expose editable tables as tables.\nEditable list item." clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="genericContainer", clickableScore="200", hasImage="true"]
+++EditText text:"A contenteditable with a link and an \n\n and a Button.\nAlways expose editable tables as tables.\n1. Editable list item." clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="genericContainer", clickableScore="200", hasImage="true"]
 ++++View actions:[AX_FOCUS] bundle:[chromeRole="paragraph", clickableScore="100", hasImage="true"]
 ++++++TextView text:"A contenteditable with a " actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="staticText"]
 ++++++View text:"null" contentDescription:"link" clickable actions:[CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="link", clickableScore="300", roleDescription="link", targetUrl="file:///storage/emulated/0/chromium_tests_root/content/test/data/accessibility/html/contenteditable-descendants.html#"]
diff --git a/content/test/data/accessibility/html/contenteditable-descendants-expected-android.txt b/content/test/data/accessibility/html/contenteditable-descendants-expected-android.txt
index 8940e44..b63dd68 100644
--- a/content/test/data/accessibility/html/contenteditable-descendants-expected-android.txt
+++ b/content/test/data/accessibility/html/contenteditable-descendants-expected-android.txt
@@ -1,5 +1,5 @@
 android.webkit.WebView focusable focused scrollable
-++android.widget.EditText clickable editable_text focusable has_non_empty_value multiline name='A contenteditable with a link and an  and a .<newline><newline>Always expose editable tables as tables.<newline>Editable list item.' text_change_added_count=107
+++android.widget.EditText clickable editable_text focusable has_non_empty_value multiline name='A contenteditable with a link and an <newline><newline> and a Button.<newline>Always expose editable tables as tables.<newline>1. Editable list item.' text_change_added_count=117
 ++++android.view.View
 ++++++android.widget.TextView name='A contenteditable with a '
 ++++++android.view.View role_description='link' clickable link name='link'
diff --git a/content/test/data/accessibility/html/contenteditable-descendants-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-descendants-expected-blink.txt
index 57404c36..e060e1d6 100644
--- a/content/test/data/accessibility/html/contenteditable-descendants-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-descendants-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea
 ++genericContainer ignored
 ++++genericContainer ignored
-++++++genericContainer editable multiline richlyEditable value='A contenteditable with a link and an  and a .<newline><newline>Always expose editable tables as tables.<newline>Editable list item.' nonAtomicTextFieldRoot=true
+++++++genericContainer editable multiline richlyEditable value='A contenteditable with a link and an <newline><newline> and a Button.<newline>Always expose editable tables as tables.<newline>1. Editable list item.' nonAtomicTextFieldRoot=true
 ++++++++paragraph editable richlyEditable
 ++++++++++staticText editable richlyEditable name='A contenteditable with a '
 ++++++++++++inlineTextBox editable richlyEditable name='A contenteditable with a '
@@ -35,4 +35,4 @@
 ++++++++++inlineTextBox name='Non-editable paragraph.'
 ++++++paragraph editable multiline richlyEditable value='Should keep the role but change the state.' nonAtomicTextFieldRoot=true
 ++++++++staticText editable richlyEditable name='Should keep the role but change the state.'
-++++++++++inlineTextBox editable richlyEditable name='Should keep the role but change the state.'
+++++++++++inlineTextBox editable richlyEditable name='Should keep the role but change the state.'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/contenteditable-descendants-expected-win.txt b/content/test/data/accessibility/html/contenteditable-descendants-expected-win.txt
index 0c6b2cc..c508fd22 100644
--- a/content/test/data/accessibility/html/contenteditable-descendants-expected-win.txt
+++ b/content/test/data/accessibility/html/contenteditable-descendants-expected-win.txt
@@ -1,5 +1,5 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0><obj1><obj2>' n_selections=0
-++IA2_ROLE_SECTION value='A contenteditable with a link and an  and a .<newline><newline>Always expose editable tables as tables.<newline>Editable list item.' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE ia2_hypertext='<obj0><obj1><obj2>' n_selections=0
+++IA2_ROLE_SECTION value='A contenteditable with a link and an <newline><newline> and a Button.<newline>Always expose editable tables as tables.<newline>1. Editable list item.' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE ia2_hypertext='<obj0><obj1><obj2>' n_selections=0
 ++++IA2_ROLE_PARAGRAPH IA2_STATE_EDITABLE ia2_hypertext='A contenteditable with a <obj1> and an <obj3> and a <obj5>.' n_selections=0
 ++++++ROLE_SYSTEM_STATICTEXT name='A contenteditable with a ' IA2_STATE_EDITABLE ia2_hypertext='A contenteditable with a ' n_selections=0
 ++++++ROLE_SYSTEM_LINK name='link' LINKED IA2_STATE_EDITABLE ia2_hypertext='link' n_selections=0
diff --git a/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-blink.txt
index 06dde4ae..e27c3b1 100644
--- a/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea
 ++genericContainer ignored
 ++++genericContainer ignored
-++++++genericContainer editable multiline richlyEditable value='A contenteditable with a link and an  and a .<newline><newline>Always expose editable tables as tables.<newline>Editable list item.' nonAtomicTextFieldRoot=true TreeData.textSelStartOffset=0 TreeData.textSelEndOffset=3
+++++++genericContainer editable multiline richlyEditable value='A contenteditable with a link and an <newline><newline> and a Button.<newline>Always expose editable tables as tables.<newline>1. Editable list item.' nonAtomicTextFieldRoot=true TreeData.textSelStartOffset=0 TreeData.textSelEndOffset=3
 ++++++++paragraph editable richlyEditable
 ++++++++++staticText editable richlyEditable name='A contenteditable with a '
 ++++++++++++inlineTextBox editable richlyEditable name='A contenteditable with a '
@@ -29,4 +29,4 @@
 ++++++++++++listMarker name='1. '
 ++++++++++++++staticText ignored name='1. '
 ++++++++++++staticText editable richlyEditable name='Editable list item.'
-++++++++++++++inlineTextBox editable richlyEditable name='Editable list item.'
+++++++++++++++inlineTextBox editable richlyEditable name='Editable list item.'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-win.txt b/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-win.txt
index b59997ce..18747d0b 100644
--- a/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-win.txt
+++ b/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-win.txt
@@ -1,5 +1,5 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>' caret_offset=1 n_selections=1 selection_start=0 selection_end=1
-++IA2_ROLE_SECTION value='A contenteditable with a link and an  and a .<newline><newline>Always expose editable tables as tables.<newline>Editable list item.' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE ia2_hypertext='<obj0><obj1><obj2>' caret_offset=3 n_selections=1 selection_start=0 selection_end=3
+++IA2_ROLE_SECTION value='A contenteditable with a link and an <newline><newline> and a Button.<newline>Always expose editable tables as tables.<newline>1. Editable list item.' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE ia2_hypertext='<obj0><obj1><obj2>' caret_offset=3 n_selections=1 selection_start=0 selection_end=3
 ++++IA2_ROLE_PARAGRAPH IA2_STATE_EDITABLE ia2_hypertext='A contenteditable with a <obj1> and an <obj3> and a <obj5>.' n_selections=1 selection_start=0 selection_end=3
 ++++++ROLE_SYSTEM_STATICTEXT name='A contenteditable with a ' IA2_STATE_EDITABLE ia2_hypertext='A contenteditable with a ' n_selections=1 selection_start=0 selection_end=3
 ++++++ROLE_SYSTEM_LINK name='link' LINKED IA2_STATE_EDITABLE ia2_hypertext='link' n_selections=1 selection_start=0 selection_end=3
diff --git a/content/test/data/accessibility/html/contenteditable-docs-li-disable-ng-layout-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-docs-li-disable-ng-layout-expected-blink.txt
index 1626aca..97a840ff 100644
--- a/content/test/data/accessibility/html/contenteditable-docs-li-disable-ng-layout-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-docs-li-disable-ng-layout-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea isLineBreakingObject=true
 ++genericContainer ignored isLineBreakingObject=true
 ++++genericContainer ignored isLineBreakingObject=true
-++++++textField multiline value='Beginning<newline><newline>A plain list item<newline>A list item<newline>with a br (line break) inside it<newline><newline>A list item with an inner p role=presentation<newline><newline>A list item with both a br and<newline>an inner p role=presentation<newline><newline>A list item with inner spans on each line<newline>and separated by a br<newline><newline>A list item with a role presentation, and two inner spans, each separated by a space<newline><newline>A list item with a role presentation, and two inner spans,<newline>each separated by a br<newline><newline>Hello world this is like docs markup without the weird presentational br<newline><newline>Hello<newline>world this<newline>is just like docs, and your kitchen sink<newline><newline>The end' isLineBreakingObject=true
+++++++textField multiline value='Beginning<newline>1. A plain list item<newline>2. A list item<newline>with a br (line break) inside it<newline>3. A list item with an inner p role=presentation<newline>4. A list item with both a br and <newline>an inner p role=presentation<newline>5. A list item with inner spans on each line<newline>and separated by a br<newline>6. A list item with a role presentation, and two inner spans, each separated by a space<newline>7. A list item with a role presentation, and two inner spans, <newline>each separated by a br<newline>8. Hello world this is like docs markup without the weird presentational br<newline>9. Hello world this is just like docs, and your kitchen sink<newline>The end' isLineBreakingObject=true
 ++++++++paragraph isLineBreakingObject=true
 ++++++++++staticText name='Beginning'
 ++++++++++++inlineTextBox name='Beginning'
@@ -86,4 +86,4 @@
 ++++++++++++++inlineTextBox name='is just like docs, and your kitchen sink'
 ++++++++paragraph isLineBreakingObject=true
 ++++++++++staticText name='The end'
-++++++++++++inlineTextBox name='The end'
+++++++++++++inlineTextBox name='The end'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/contenteditable-docs-li-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-docs-li-expected-blink.txt
index 3e7287c1..e13dd5e 100644
--- a/content/test/data/accessibility/html/contenteditable-docs-li-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-docs-li-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea isLineBreakingObject=true
 ++genericContainer ignored isLineBreakingObject=true
 ++++genericContainer ignored isLineBreakingObject=true
-++++++textField multiline value='Beginning<newline><newline>A plain list item<newline>A list item<newline>with a br (line break) inside it<newline><newline>A list item with an inner p role=presentation<newline><newline>A list item with both a br and<newline>an inner p role=presentation<newline><newline>A list item with inner spans on each line<newline>and separated by a br<newline><newline>A list item with a role presentation, and two inner spans, each separated by a space<newline><newline>A list item with a role presentation, and two inner spans,<newline>each separated by a br<newline><newline>Hello world this is like docs markup without the weird presentational br<newline><newline>Hello<newline>world this<newline>is just like docs, and your kitchen sink<newline><newline>The end' isLineBreakingObject=true
+++++++textField multiline value='Beginning<newline>1. A plain list item<newline>2. A list item<newline>with a br (line break) inside it<newline>3. A list item with an inner p role=presentation<newline>4. A list item with both a br and<newline>an inner p role=presentation<newline>5. A list item with inner spans on each line<newline>and separated by a br<newline>6. A list item with a role presentation, and two inner spans, each separated by a space<newline>7. A list item with a role presentation, and two inner spans,<newline>each separated by a br<newline>8. Hello world this is like docs markup without the weird presentational br<newline>9. Hello world this is just like docs, and your kitchen sink<newline>The end' isLineBreakingObject=true
 ++++++++paragraph isLineBreakingObject=true
 ++++++++++staticText name='Beginning'
 ++++++++++++inlineTextBox name='Beginning'
@@ -93,4 +93,4 @@
 ++++++++++++++inlineTextBox name='is just like docs, and your kitchen sink'
 ++++++++paragraph isLineBreakingObject=true
 ++++++++++staticText name='The end'
-++++++++++++inlineTextBox name='The end'
+++++++++++++inlineTextBox name='The end'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/contenteditable-li-contains-presentation-disable-ng-layout-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-li-contains-presentation-disable-ng-layout-expected-blink.txt
index b90c035..4335406 100644
--- a/content/test/data/accessibility/html/contenteditable-li-contains-presentation-disable-ng-layout-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-li-contains-presentation-disable-ng-layout-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea isLineBreakingObject=true
 ++genericContainer ignored isLineBreakingObject=true
 ++++genericContainer ignored isLineBreakingObject=true
-++++++genericContainer multiline value='text in span in presentational paragraph in li<newline><newline>A list item with both a br and<newline>an inner p role=presentation' isLineBreakingObject=true
+++++++genericContainer multiline value='1. text in span in presentational paragraph in li<newline>2. A list item with both a br and<newline>an inner p role=presentation' isLineBreakingObject=true
 ++++++++list isLineBreakingObject=true
 ++++++++++listItem isLineBreakingObject=true
 ++++++++++++listMarker name='1. ' nextOnLineId=inlineTextBox:"text in span in presentational paragraph in li"
diff --git a/content/test/data/accessibility/html/contenteditable-li-contains-presentation-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-li-contains-presentation-expected-blink.txt
index 7db603e54..c04d0eb 100644
--- a/content/test/data/accessibility/html/contenteditable-li-contains-presentation-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-li-contains-presentation-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea isLineBreakingObject=true
 ++genericContainer ignored isLineBreakingObject=true
 ++++genericContainer ignored isLineBreakingObject=true
-++++++genericContainer multiline value='text in span in presentational paragraph in li<newline><newline>A list item with both a br and<newline>an inner p role=presentation' isLineBreakingObject=true
+++++++genericContainer multiline value='1. text in span in presentational paragraph in li<newline>2. A list item with both a br and<newline>an inner p role=presentation' isLineBreakingObject=true
 ++++++++list isLineBreakingObject=true
 ++++++++++listItem isLineBreakingObject=true
 ++++++++++++listMarker name='1. ' nextOnLineId=inlineTextBox:"text in span in presentational paragraph in li"
@@ -16,4 +16,4 @@
 ++++++++++++lineBreak name='<newline>' previousOnLineId=inlineTextBox:"A list item with both a br and" isLineBreakingObject=true
 ++++++++++++++inlineTextBox name='<newline>' previousOnLineId=inlineTextBox:"A list item with both a br and" isLineBreakingObject=true
 ++++++++++++staticText name='an inner p role=presentation'
-++++++++++++++inlineTextBox name='an inner p role=presentation'
+++++++++++++++inlineTextBox name='an inner p role=presentation'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/contenteditable-spans-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-spans-expected-blink.txt
index 9243d89..6e7ee5a 100644
--- a/content/test/data/accessibility/html/contenteditable-spans-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-spans-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea
 ++genericContainer ignored
 ++++genericContainer ignored
-++++++textField multiline value='ABCDEF<newline><newline>XYZ123'
+++++++textField multiline value='ABCDEF<newline>XYZ123'
 ++++++++paragraph
 ++++++++++staticText name='ABC' nextOnLineId=inlineTextBox:"DEF"
 ++++++++++++inlineTextBox name='ABC' nextOnLineId=inlineTextBox:"DEF"
diff --git a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android-external.txt b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android-external.txt
index e02f8ad..fc49c8c 100644
--- a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android-external.txt
+++ b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android-external.txt
@@ -1,5 +1,5 @@
 WebView focusable focused scrollable actions:[CLEAR_FOCUS, AX_FOCUS] bundle:[chromeRole="rootWebArea"]
-++EditText text:"This is editable.\n\nThis is not editable.\n\n\nBut this one is.\n\nSo is this one." clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="genericContainer", clickableScore="200"]
+++EditText text:"This is editable.\nThis is not editable.\nBut this one is.\nSo is this one." clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="genericContainer", clickableScore="200"]
 ++++TextView text:"This is editable." actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="paragraph", clickableScore="100"]
 ++++TextView text:"This is not editable." actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="staticText"]
 ++++View text:"\n" actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="lineBreak", clickableScore="100"]
diff --git a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android.txt b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android.txt
index 73db664..37d2c6d 100644
--- a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android.txt
+++ b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-android.txt
@@ -1,5 +1,5 @@
 android.webkit.WebView focusable focused scrollable
-++android.widget.EditText clickable editable_text focusable has_non_empty_value multiline name='This is editable.<newline><newline>This is not editable.<newline><newline><newline>But this one is.<newline><newline>So is this one.' text_change_added_count=76
+++android.widget.EditText clickable editable_text focusable has_non_empty_value multiline name='This is editable.<newline>This is not editable.<newline>But this one is.<newline>So is this one.' text_change_added_count=72
 ++++android.widget.TextView name='This is editable.'
 ++++android.widget.TextView name='This is not editable.'
 ++++android.view.View name='<newline>'
diff --git a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-blink.txt b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-blink.txt
index b4cd8d8b..afa2ee6 100644
--- a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-blink.txt
+++ b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea
 ++genericContainer ignored
 ++++genericContainer ignored
-++++++genericContainer editable multiline richlyEditable value='This is editable.<newline><newline>This is not editable.<newline><newline><newline>But this one is.<newline><newline>So is this one.' nonAtomicTextFieldRoot=true
+++++++genericContainer editable multiline richlyEditable value='This is editable.<newline>This is not editable.<newline>But this one is.<newline>So is this one.' nonAtomicTextFieldRoot=true
 ++++++++paragraph editable richlyEditable
 ++++++++++staticText editable richlyEditable name='This is editable.'
 ++++++++++++inlineTextBox editable richlyEditable name='This is editable.'
@@ -15,4 +15,4 @@
 ++++++++++++++inlineTextBox editable richlyEditable name='But this one is.'
 ++++++++paragraph editable multiline richlyEditable value='So is this one.' nonAtomicTextFieldRoot=true
 ++++++++++staticText editable richlyEditable name='So is this one.'
-++++++++++++inlineTextBox editable richlyEditable name='So is this one.'
+++++++++++++inlineTextBox editable richlyEditable name='So is this one.'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt
index 83d98fd7..89fbcde55 100644
--- a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt
+++ b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-mac.txt
@@ -1,5 +1,5 @@
 AXWebArea
-++AXTextArea AXValue='This is editable.<newline><newline>This is not editable.<newline><newline><newline>But this one is.<newline><newline>So is this one.'
+++AXTextArea AXValue='This is editable.<newline>This is not editable.<newline>But this one is.<newline>So is this one.'
 ++++AXGroup
 ++++++AXStaticText AXValue='This is editable.'
 ++++AXStaticText AXValue='This is not editable.'
diff --git a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt
index 60c6953..a81a566 100644
--- a/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt
+++ b/content/test/data/accessibility/html/contenteditable-with-embedded-contenteditables-expected-win.txt
@@ -1,5 +1,5 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>' n_selections=0
-++IA2_ROLE_SECTION value='This is editable.<newline><newline>This is not editable.<newline><newline><newline>But this one is.<newline><newline>So is this one.' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE ia2_hypertext='<obj0>This is not editable.<newline><obj3><obj4>' n_selections=0
+++IA2_ROLE_SECTION value='This is editable.<newline>This is not editable.<newline>But this one is.<newline>So is this one.' FOCUSABLE IA2_STATE_EDITABLE IA2_STATE_MULTI_LINE ia2_hypertext='<obj0>This is not editable.<newline><obj3><obj4>' n_selections=0
 ++++IA2_ROLE_PARAGRAPH IA2_STATE_EDITABLE ia2_hypertext='This is editable.' n_selections=0
 ++++++ROLE_SYSTEM_STATICTEXT name='This is editable.' IA2_STATE_EDITABLE ia2_hypertext='This is editable.' n_selections=0
 ++++ROLE_SYSTEM_STATICTEXT name='This is not editable.' ia2_hypertext='This is not editable.' n_selections=0
diff --git a/content/test/data/accessibility/html/design-mode-expected-blink.txt b/content/test/data/accessibility/html/design-mode-expected-blink.txt
index fe54203c..ccab1de8 100644
--- a/content/test/data/accessibility/html/design-mode-expected-blink.txt
+++ b/content/test/data/accessibility/html/design-mode-expected-blink.txt
@@ -1,6 +1,6 @@
 rootWebArea editable richlyEditable htmlTag='#document'
-++genericContainer editable ignored richlyEditable htmlTag='html' nonAtomicTextFieldRoot=true
-++++genericContainer editable richlyEditable htmlTag='body' nonAtomicTextFieldRoot=true
+++genericContainer editable ignored richlyEditable htmlTag='html' value='Hello' nonAtomicTextFieldRoot=true
+++++genericContainer editable richlyEditable htmlTag='body' value='Hello' nonAtomicTextFieldRoot=true
 ++++++paragraph editable richlyEditable htmlTag='p'
 ++++++++staticText editable richlyEditable name='Hello'
-++++++++++inlineTextBox editable richlyEditable name='Hello'
+++++++++++inlineTextBox editable richlyEditable name='Hello'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-android.txt b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-android.txt
index 1315d17..a5d0235 100644
--- a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-android.txt
+++ b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-android.txt
@@ -1,4 +1,2 @@
 android.webkit.WebView focusable focused scrollable
-++android.widget.EditText clickable editable_text focusable multiline hint='Done'
-++++android.widget.TextView
-++++android.widget.TextView
\ No newline at end of file
+++android.widget.EditText clickable editable_text focusable has_non_empty_value multiline name='<newline>' hint='Done' text_change_added_count=1
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-blink.txt b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-blink.txt
index 22293a0..9e5f909 100644
--- a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-blink.txt
+++ b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-blink.txt
@@ -1,5 +1,5 @@
 rootWebArea
 ++genericContainer ignored
-++++genericContainer multiline name='Done'
+++++genericContainer multiline name='Done' value='<newline>'
 ++++++genericContainer
-++++++genericContainer
+++++++genericContainer
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-mac.txt b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-mac.txt
index dadf6f64..b4e82f8 100644
--- a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-mac.txt
+++ b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-mac.txt
@@ -1,4 +1,4 @@
 AXWebArea
-++AXTextArea AXDescription='Done'
+++AXTextArea AXDescription='Done' AXValue='<newline>'
 ++++AXGroup
-++++AXGroup
+++++AXGroup
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-win.txt b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-win.txt
index 23d066f..d8cc9dc 100644
--- a/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-win.txt
+++ b/content/test/data/accessibility/html/node-changed-crash-in-editable-text-expected-win.txt
@@ -1,4 +1,4 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
-++IA2_ROLE_SECTION name='Done' FOCUSABLE IA2_STATE_MULTI_LINE
+++IA2_ROLE_SECTION name='Done' value='<newline>' FOCUSABLE IA2_STATE_MULTI_LINE
 ++++IA2_ROLE_SECTION
 ++++IA2_ROLE_SECTION
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/selectmenu-expected-android-external.txt b/content/test/data/accessibility/html/selectmenu-expected-android-external.txt
index a6bd028b..37a6350 100644
--- a/content/test/data/accessibility/html/selectmenu-expected-android-external.txt
+++ b/content/test/data/accessibility/html/selectmenu-expected-android-external.txt
@@ -1,11 +1,10 @@
 WebView focusable focused scrollable actions:[CLEAR_FOCUS, AX_FOCUS] bundle:[chromeRole="rootWebArea"]
-++View actions:[AX_FOCUS] bundle:[chromeRole="genericContainer"]
-++++View viewIdResName:"A" actions:[AX_FOCUS] bundle:[chromeRole="genericContainer"]
-++++++View text:"Option 1" stateDescription:"in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
-++++++View text:"Option 2" stateDescription:"in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
-++++++View text:"Option 3" stateDescription:"in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
-++++View viewIdResName:"B" actions:[AX_FOCUS] bundle:[chromeRole="genericContainer"]
-++++++TextView text:"Custom selectmenu button" actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="genericContainer"]
-++++++View text:"Option 1" stateDescription:"in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
-++++++View text:"Option 2" stateDescription:"in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
-++++++View text:"Option 3" stateDescription:"in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
\ No newline at end of file
+++View viewIdResName:"A" actions:[AX_FOCUS] bundle:[chromeRole="genericContainer"]
+++++View text:"Option 1, in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
+++++View text:"Option 2, in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
+++++View text:"Option 3, in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
+++View viewIdResName:"B" actions:[AX_FOCUS] bundle:[chromeRole="genericContainer"]
+++++TextView text:"Custom selectmenu button" actions:[AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="genericContainer"]
+++++View text:"Option 1, in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
+++++View text:"Option 2, in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
+++++View text:"Option 3, in list, item 1 of 0" clickable focusable CollectionItemInfo:[rowIndex=0, rowSpan=0, colIndex=0, colSpan=0] actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS] bundle:[chromeRole="listBoxOption", clickableScore="200"]
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/ul-contenteditable-expected-android-external.txt b/content/test/data/accessibility/html/ul-contenteditable-expected-android-external.txt
index 3c5c608e..820da000 100644
--- a/content/test/data/accessibility/html/ul-contenteditable-expected-android-external.txt
+++ b/content/test/data/accessibility/html/ul-contenteditable-expected-android-external.txt
@@ -1,2 +1,2 @@
 WebView focusable focused scrollable actions:[CLEAR_FOCUS, AX_FOCUS] bundle:[chromeRole="rootWebArea"]
-++EditText text:"Hello\n\nBye" clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300"]
\ No newline at end of file
+++EditText text:"• Hello\n• Bye" clickable editable focusable multiLine textSelectionStart:0 textSelectionEnd:0 actions:[FOCUS, CLICK, AX_FOCUS, NEXT, PREVIOUS, COPY, PASTE, CUT, SET_SELECTION, SET_TEXT, IME_ENTER] bundle:[chromeRole="textField", clickableScore="300"]
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/ul-contenteditable-expected-blink.txt b/content/test/data/accessibility/html/ul-contenteditable-expected-blink.txt
index 249fb77..771c648 100644
--- a/content/test/data/accessibility/html/ul-contenteditable-expected-blink.txt
+++ b/content/test/data/accessibility/html/ul-contenteditable-expected-blink.txt
@@ -1,7 +1,7 @@
 rootWebArea
 ++genericContainer ignored
 ++++genericContainer ignored
-++++++textField multiline value='Hello<newline><newline>Bye'
+++++++textField multiline value='%E2%80%A2 Hello<newline>%E2%80%A2 Bye'
 ++++++++list
 ++++++++++listItem
 ++++++++++++listMarker name='%E2%80%A2 '
@@ -12,4 +12,4 @@
 ++++++++++++listMarker name='%E2%80%A2 '
 ++++++++++++++staticText ignored name='%E2%80%A2 '
 ++++++++++++staticText name='Bye'
-++++++++++++++inlineTextBox name='Bye'
+++++++++++++++inlineTextBox name='Bye'
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/ul-contenteditable-expected-win.txt b/content/test/data/accessibility/html/ul-contenteditable-expected-win.txt
index 134a4ca..643fd51 100644
--- a/content/test/data/accessibility/html/ul-contenteditable-expected-win.txt
+++ b/content/test/data/accessibility/html/ul-contenteditable-expected-win.txt
@@ -1,5 +1,5 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
-++ROLE_SYSTEM_TEXT value='Hello<newline><newline>Bye' FOCUSABLE IA2_STATE_MULTI_LINE
+++ROLE_SYSTEM_TEXT value='%E2%80%A2 Hello<newline>%E2%80%A2 Bye' FOCUSABLE IA2_STATE_MULTI_LINE
 ++++ROLE_SYSTEM_LIST
 ++++++ROLE_SYSTEM_LISTITEM
 ++++++++ROLE_SYSTEM_STATICTEXT name='%E2%80%A2 '
diff --git a/content/test/data/accessibility/regression/content-visibility-with-pseudo-element-expected-blink.txt b/content/test/data/accessibility/regression/content-visibility-with-pseudo-element-expected-blink.txt
index c0232ef..2bd7de5 100644
--- a/content/test/data/accessibility/regression/content-visibility-with-pseudo-element-expected-blink.txt
+++ b/content/test/data/accessibility/regression/content-visibility-with-pseudo-element-expected-blink.txt
@@ -1,3 +1,3 @@
-rootWebArea name='done'
-++genericContainer ignored
-++++genericContainer
+#<skip -- Expectations are unimportant. It should simply not crash.>rootWebArea name='done'
+++genericContainer ignored value='%E2%80%A2 <newline>%E2%80%A2 target'
+++++genericContainer value='%E2%80%A2 <newline>%E2%80%A2 target'
diff --git a/content/test/test_blink_web_unit_test_support.cc b/content/test/test_blink_web_unit_test_support.cc
index 20ce04c..18e51ce 100644
--- a/content/test/test_blink_web_unit_test_support.cc
+++ b/content/test/test_blink_web_unit_test_support.cc
@@ -179,6 +179,10 @@
   return blink::WebString::FromUTF8("test_runner/0.0.0.0");
 }
 
+blink::WebString TestBlinkWebUnitTestSupport::FullUserAgent() {
+  return blink::WebString::FromUTF8("test_runner/0.0.0.0");
+}
+
 blink::WebString TestBlinkWebUnitTestSupport::ReducedUserAgent() {
   return blink::WebString::FromUTF8("test_runner/0.0.0.0");
 }
diff --git a/content/test/test_blink_web_unit_test_support.h b/content/test/test_blink_web_unit_test_support.h
index f2a70ae..52fcdbad 100644
--- a/content/test/test_blink_web_unit_test_support.h
+++ b/content/test/test_blink_web_unit_test_support.h
@@ -47,6 +47,7 @@
   ~TestBlinkWebUnitTestSupport() override;
 
   blink::WebString UserAgent() override;
+  blink::WebString FullUserAgent() override;
   blink::WebString ReducedUserAgent() override;
   blink::WebString QueryLocalizedString(int resource_id) override;
   blink::WebString QueryLocalizedString(int resource_id,
diff --git a/dbus/values_util.cc b/dbus/values_util.cc
index b32d831..56652e5 100644
--- a/dbus/values_util.cc
+++ b/dbus/values_util.cc
@@ -267,7 +267,7 @@
     case base::Value::Type::LIST: {
       dbus::MessageWriter array_writer(nullptr);
       writer->OpenArray("v", &array_writer);
-      for (const auto& value_in_list : value.GetList()) {
+      for (const auto& value_in_list : value.GetListDeprecated()) {
         AppendValueDataAsVariant(&array_writer, value_in_list);
       }
       writer->CloseContainer(&array_writer);
diff --git a/extensions/browser/api/declarative/declarative_api.cc b/extensions/browser/api/declarative/declarative_api.cc
index eb28841..644b909b 100644
--- a/extensions/browser/api/declarative/declarative_api.cc
+++ b/extensions/browser/api/declarative/declarative_api.cc
@@ -109,7 +109,7 @@
     if (value.is_blob()) {
       value = ConvertBinaryToBase64(value);
     } else if (value.is_list()) {
-      ConvertBinaryListElementsToBase64(value.GetList());
+      ConvertBinaryListElementsToBase64(value.GetListDeprecated());
     } else if (value.is_dict()) {
       ConvertBinaryDictionaryValuesToBase64(value);
     }
@@ -125,7 +125,7 @@
     if (value.is_blob()) {
       value = ConvertBinaryToBase64(value);
     } else if (value.is_list()) {
-      ConvertBinaryListElementsToBase64(value.GetList());
+      ConvertBinaryListElementsToBase64(value.GetListDeprecated());
     } else if (value.is_dict()) {
       ConvertBinaryDictionaryValuesToBase64(value);
     }
diff --git a/extensions/browser/api/declarative/rules_cache_delegate.cc b/extensions/browser/api/declarative/rules_cache_delegate.cc
index 3c7c00e..a5f5c0af 100644
--- a/extensions/browser/api/declarative/rules_cache_delegate.cc
+++ b/extensions/browser/api/declarative/rules_cache_delegate.cc
@@ -111,7 +111,7 @@
   }
 
   DCHECK(value.is_list());
-  has_nonempty_ruleset_ = !value.GetList().empty();
+  has_nonempty_ruleset_ = !value.GetListDeprecated().empty();
   for (auto& observer : observers_)
     observer.OnUpdateRules();
 
diff --git a/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc b/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc
index 549a0e7..afb9213 100644
--- a/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc
+++ b/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc
@@ -87,7 +87,7 @@
   // We don't use json_schema_compiler::util::PopulateArrayFromList since it
   // fails if a single Value can't be deserialized. However we want to ignore
   // values which can't be parsed to maintain backwards compatibility.
-  const auto& rules_list = rules.GetList();
+  const auto& rules_list = rules.GetListDeprecated();
 
   // Ignore any rulesets which exceed the static rule count limit (This is
   // defined as dnr_api::GUARANTEED_MINIMUM_STATIC_RULES + the global rule count
diff --git a/extensions/browser/api/declarative_net_request/filter_list_converter/converter.cc b/extensions/browser/api/declarative_net_request/filter_list_converter/converter.cc
index 790d77aa..b39f4b01 100644
--- a/extensions/browser/api/declarative_net_request/filter_list_converter/converter.cc
+++ b/extensions/browser/api/declarative_net_request/filter_list_converter/converter.cc
@@ -251,7 +251,7 @@
     }
 
     // Omit empty domain list.
-    if (!domains.GetList().empty()) {
+    if (!domains.GetListDeprecated().empty()) {
       CHECK(
           json_rule_.SetPath({kRuleConditionKey, sub_key}, std::move(domains)));
     }
diff --git a/extensions/browser/api/declarative_net_request/rules_monitor_service.cc b/extensions/browser/api/declarative_net_request/rules_monitor_service.cc
index c7a3996..17babe0 100644
--- a/extensions/browser/api/declarative_net_request/rules_monitor_service.cc
+++ b/extensions/browser/api/declarative_net_request/rules_monitor_service.cc
@@ -357,7 +357,7 @@
   std::vector<api::declarative_net_request::Rule> result;
   std::u16string error;
   bool populate_result = json_schema_compiler::util::PopulateArrayFromList(
-      GetSessionRulesValue(extension_id).GetList(), &result, &error);
+      GetSessionRulesValue(extension_id).GetListDeprecated(), &result, &error);
   DCHECK(populate_result);
   DCHECK(error.empty());
   return result;
diff --git a/extensions/browser/api/declarative_net_request/utils.cc b/extensions/browser/api/declarative_net_request/utils.cc
index 9bdd287..6d890c45 100644
--- a/extensions/browser/api/declarative_net_request/utils.cc
+++ b/extensions/browser/api/declarative_net_request/utils.cc
@@ -237,9 +237,19 @@
 
   details.method = request.method;
   details.frame_id = request.frame_data.frame_id;
+  if (request.frame_data.document_id) {
+    details.document_id = std::make_unique<std::string>(
+        request.frame_data.document_id.ToString());
+  }
   details.parent_frame_id = request.frame_data.parent_frame_id;
+  if (request.frame_data.parent_document_id) {
+    details.parent_document_id = std::make_unique<std::string>(
+        request.frame_data.parent_document_id.ToString());
+  }
   details.tab_id = request.frame_data.tab_id;
   details.type = GetDNRResourceType(request.web_request_type);
+  details.frame_type = request.frame_data.frame_type;
+  details.document_lifecycle = request.frame_data.document_lifecycle;
   return details;
 }
 
diff --git a/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc b/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc
index f8e1e3e..b217c99 100644
--- a/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc
+++ b/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc
@@ -727,7 +727,7 @@
     return false;
 
   int stages = 0;
-  for (const auto& entry : value.GetList()) {
+  for (const auto& entry : value.GetListDeprecated()) {
     if (!entry.is_string())
       return false;
     const std::string& stage_name = entry.GetString();
diff --git a/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc b/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc
index 1c82170..4381298 100644
--- a/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc
+++ b/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc
@@ -129,7 +129,8 @@
     EXPECT_TRUE(values.is_list());
 
     std::unique_ptr<api::feedback_private::SendFeedback::Params> params =
-        api::feedback_private::SendFeedback::Params::Create(values.GetList());
+        api::feedback_private::SendFeedback::Params::Create(
+            values.GetListDeprecated());
     EXPECT_TRUE(params);
 
     scoped_refptr<FeedbackData> actual_feedback_data;
diff --git a/extensions/browser/api/networking_private/networking_private_api.cc b/extensions/browser/api/networking_private/networking_private_api.cc
index 30d2e94..ca1dc6e 100644
--- a/extensions/browser/api/networking_private/networking_private_api.cc
+++ b/extensions/browser/api/networking_private/networking_private_api.cc
@@ -467,10 +467,10 @@
 
   base::Value enabled_networks_onc_types(
       GetDelegate(browser_context())->GetEnabledNetworkTypes());
-  if (enabled_networks_onc_types.GetList().empty())
+  if (enabled_networks_onc_types.GetListDeprecated().empty())
     return RespondNow(Error(networking_private::kErrorNotSupported));
   base::Value enabled_networks_list(base::Value::Type::LIST);
-  for (const auto& entry : enabled_networks_onc_types.GetList()) {
+  for (const auto& entry : enabled_networks_onc_types.GetListDeprecated()) {
     const std::string& type = entry.GetString();
     if (type == ::onc::network_type::kEthernet) {
       enabled_networks_list.Append(
diff --git a/extensions/browser/api/networking_private/networking_private_chromeos.cc b/extensions/browser/api/networking_private/networking_private_chromeos.cc
index 7182971..9a1aa0b 100644
--- a/extensions/browser/api/networking_private/networking_private_chromeos.cc
+++ b/extensions/browser/api/networking_private/networking_private_chromeos.cc
@@ -498,7 +498,7 @@
       chromeos::network_util::TranslateNetworkListToONC(
           pattern, configured_only, visible_only, limit);
 
-  for (auto& value : network_properties_list.GetList()) {
+  for (auto& value : network_properties_list.GetListDeprecated()) {
     base::DictionaryValue* network_dict = nullptr;
     value.GetAsDictionary(&network_dict);
     DCHECK(network_dict);
diff --git a/extensions/browser/api/networking_private/networking_private_linux.cc b/extensions/browser/api/networking_private/networking_private_linux.cc
index e3b5951..9ab67041 100644
--- a/extensions/browser/api/networking_private/networking_private_linux.cc
+++ b/extensions/browser/api/networking_private/networking_private_linux.cc
@@ -673,7 +673,7 @@
     const base::Value& network_list) {
   GuidList guidsForEventCallback;
 
-  for (const auto& network : network_list.GetList()) {
+  for (const auto& network : network_list.GetListDeprecated()) {
     const base::DictionaryValue* dict = nullptr;
     if (network.GetAsDictionary(&dict)) {
       if (const std::string* guid = dict->FindStringKey(kAccessPointInfoGuid)) {
diff --git a/extensions/browser/api/storage/storage_api.cc b/extensions/browser/api/storage/storage_api.cc
index 7a02cd7..00f0f15 100644
--- a/extensions/browser/api/storage/storage_api.cc
+++ b/extensions/browser/api/storage/storage_api.cc
@@ -41,8 +41,8 @@
 std::vector<std::string> GetKeysFromList(const base::Value& list) {
   DCHECK(list.is_list());
   std::vector<std::string> keys;
-  keys.reserve(list.GetList().size());
-  for (const auto& value : list.GetList()) {
+  keys.reserve(list.GetListDeprecated().size());
+  for (const auto& value : list.GetListDeprecated()) {
     auto* as_string = value.GetIfString();
     if (as_string)
       keys.push_back(*as_string);
diff --git a/extensions/browser/api/web_request/web_request_api.cc b/extensions/browser/api/web_request/web_request_api.cc
index 7448333..c0e696d 100644
--- a/extensions/browser/api/web_request/web_request_api.cc
+++ b/extensions/browser/api/web_request/web_request_api.cc
@@ -960,7 +960,7 @@
     if (it.key() == "urls") {
       if (!it.value().is_list())
         return false;
-      for (const auto& item : it.value().GetList()) {
+      for (const auto& item : it.value().GetListDeprecated()) {
         std::string url;
         // TODO(https://crbug.com/1257045): Remove urn: scheme support.
         URLPattern pattern(URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS |
@@ -984,7 +984,7 @@
     } else if (it.key() == "types") {
       if (!it.value().is_list())
         return false;
-      for (const auto& type : it.value().GetList()) {
+      for (const auto& type : it.value().GetListDeprecated()) {
         std::string type_str;
         if (type.is_string())
           type_str = type.GetString();
diff --git a/extensions/browser/api/web_request/web_request_api_helpers.cc b/extensions/browser/api/web_request/web_request_api_helpers.cc
index 0e8f2f0b..510a0e6 100644
--- a/extensions/browser/api/web_request/web_request_api_helpers.cc
+++ b/extensions/browser/api/web_request/web_request_api_helpers.cc
@@ -544,7 +544,7 @@
   *extra_info_spec = 0;
   if (!value.is_list())
     return false;
-  base::Value::ConstListView value_list = value.GetList();
+  base::Value::ConstListView value_list = value.GetListDeprecated();
   for (size_t i = 0; i < value_list.size(); ++i) {
     const std::string* str = value_list[i].GetIfString();
     if (!str)
diff --git a/extensions/browser/event_listener_map.cc b/extensions/browser/event_listener_map.cc
index 9accec4..c9f0c347 100644
--- a/extensions/browser/event_listener_map.cc
+++ b/extensions/browser/event_listener_map.cc
@@ -289,7 +289,7 @@
     // We skip entries if they are malformed.
     if (!it.value().is_list())
       continue;
-    for (const base::Value& filter_value : it.value().GetList()) {
+    for (const base::Value& filter_value : it.value().GetListDeprecated()) {
       if (!filter_value.is_dict())
         continue;
       const base::DictionaryValue* filter =
diff --git a/extensions/browser/event_router_unittest.cc b/extensions/browser/event_router_unittest.cc
index 65383ba..df030f85 100644
--- a/extensions/browser/event_router_unittest.cc
+++ b/extensions/browser/event_router_unittest.cc
@@ -461,7 +461,7 @@
   DictionaryValue::Iterator iter(*filtered_events);
   ASSERT_EQ(kEventName, iter.key());
   ASSERT_TRUE(iter.value().is_list());
-  ASSERT_EQ(3u, iter.value().GetList().size());
+  ASSERT_EQ(3u, iter.value().GetListDeprecated().size());
 
   ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[0]));
   ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[1]));
diff --git a/extensions/browser/extension_api_frame_id_map.cc b/extensions/browser/extension_api_frame_id_map.cc
index ff798a2..b28fa94 100644
--- a/extensions/browser/extension_api_frame_id_map.cc
+++ b/extensions/browser/extension_api_frame_id_map.cc
@@ -38,18 +38,28 @@
     : frame_id(kInvalidFrameId),
       parent_frame_id(kInvalidFrameId),
       tab_id(extension_misc::kUnknownTabId),
-      window_id(extension_misc::kUnknownWindowId) {}
+      window_id(extension_misc::kUnknownWindowId),
+      frame_type(api::extension_types::FrameType::FRAME_TYPE_OUTERMOST_FRAME),
+      document_lifecycle(
+          api::extension_types::DocumentLifecycle::DOCUMENT_LIFECYCLE_ACTIVE) {}
 
-ExtensionApiFrameIdMap::FrameData::FrameData(int frame_id,
-                                             int parent_frame_id,
-                                             int tab_id,
-                                             int window_id,
-                                             const DocumentId& document_id)
+ExtensionApiFrameIdMap::FrameData::FrameData(
+    int frame_id,
+    int parent_frame_id,
+    int tab_id,
+    int window_id,
+    const DocumentId& document_id,
+    const DocumentId& parent_document_id,
+    api::extension_types::FrameType frame_type,
+    api::extension_types::DocumentLifecycle document_lifecycle)
     : frame_id(frame_id),
       parent_frame_id(parent_frame_id),
       tab_id(tab_id),
       window_id(window_id),
-      document_id(document_id) {}
+      document_id(document_id),
+      parent_document_id(parent_document_id),
+      frame_type(frame_type),
+      document_lifecycle(document_lifecycle) {}
 
 ExtensionApiFrameIdMap::FrameData::~FrameData() = default;
 
@@ -147,8 +157,11 @@
     ExtensionsBrowserClient::Get()->GetTabAndWindowIdForWebContents(
         content::WebContents::FromRenderFrameHost(rfh), &tab_id, &window_id);
   }
+
   return FrameData(GetFrameId(rfh), GetParentFrameId(rfh), tab_id, window_id,
-                   GetDocumentId(rfh));
+                   GetDocumentId(rfh),
+                   GetDocumentId(rfh->GetParentOrOuterDocument()),
+                   GetFrameType(rfh), GetDocumentLifecycle(rfh));
 }
 
 ExtensionApiFrameIdMap::FrameData ExtensionApiFrameIdMap::GetFrameData(
@@ -164,7 +177,11 @@
 ExtensionApiFrameIdMap::DocumentId ExtensionApiFrameIdMap::GetDocumentId(
     content::RenderFrameHost* rfh) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-  DCHECK(rfh);
+  // This check allows callers to pass in the result from
+  // GetParentOrOuterDocument() without needing to check whether the resulting
+  // frame exists.
+  if (!rfh)
+    return DocumentId();
   return ExtensionDocumentUserData::GetOrCreateForCurrentDocument(rfh)
       ->document_id();
 }
@@ -182,6 +199,70 @@
   return DocumentId();
 }
 
+api::extension_types::FrameType ExtensionApiFrameIdMap::GetFrameType(
+    content::RenderFrameHost* rfh) {
+  DCHECK(rfh);
+  if (!rfh->GetParentOrOuterDocument()) {
+    return api::extension_types::FRAME_TYPE_OUTERMOST_FRAME;
+  }
+  if (rfh->IsFencedFrameRoot()) {
+    return api::extension_types::FRAME_TYPE_FENCED_FRAME;
+  }
+  return api::extension_types::FRAME_TYPE_SUB_FRAME;
+}
+
+api::extension_types::FrameType ExtensionApiFrameIdMap::GetFrameType(
+    content::NavigationHandle* navigation_handle) {
+  switch (navigation_handle->GetNavigatingFrameType()) {
+    case content::FrameType::kSubframe:
+      return api::extension_types::FRAME_TYPE_SUB_FRAME;
+    case content::FrameType::kFencedFrameRoot:
+      return api::extension_types::FRAME_TYPE_FENCED_FRAME;
+    case content::FrameType::kPrimaryMainFrame:
+    case content::FrameType::kPrerenderMainFrame:
+      return api::extension_types::FRAME_TYPE_OUTERMOST_FRAME;
+  }
+}
+
+api::extension_types::DocumentLifecycle
+ExtensionApiFrameIdMap::GetDocumentLifecycle(content::RenderFrameHost* rfh) {
+  DCHECK(rfh);
+  // We use IsInLifecycleState as opposed to GetLifecycleState with a switch
+  // because we cannot call GetLifecycleState for speculative frames.
+  if (rfh->IsInLifecycleState(
+          content::RenderFrameHost::LifecycleState::kActive)) {
+    return api::extension_types::DOCUMENT_LIFECYCLE_ACTIVE;
+  }
+  if (rfh->IsInLifecycleState(
+          content::RenderFrameHost::LifecycleState::kInBackForwardCache)) {
+    return api::extension_types::DOCUMENT_LIFECYCLE_CACHED;
+  }
+  if (rfh->IsInLifecycleState(
+          content::RenderFrameHost::LifecycleState::kPrerendering)) {
+    return api::extension_types::DOCUMENT_LIFECYCLE_PRERENDER;
+  }
+  if (rfh->IsInLifecycleState(
+          content::RenderFrameHost::LifecycleState::kPendingDeletion)) {
+    return api::extension_types::DOCUMENT_LIFECYCLE_PENDING_DELETION;
+  }
+  return api::extension_types::DOCUMENT_LIFECYCLE_NONE;
+}
+
+api::extension_types::DocumentLifecycle
+ExtensionApiFrameIdMap::GetDocumentLifecycle(
+    content::NavigationHandle* navigation_handle) {
+  if (content::RenderFrameHost* parent_or_outer_document =
+          navigation_handle->GetParentFrameOrOuterDocument()) {
+    return GetDocumentLifecycle(parent_or_outer_document);
+  }
+  if (navigation_handle->IsInPrerenderedMainFrame()) {
+    return api::extension_types::DOCUMENT_LIFECYCLE_PRERENDER;
+  } else if (navigation_handle->IsInPrimaryMainFrame()) {
+    return api::extension_types::DOCUMENT_LIFECYCLE_ACTIVE;
+  }
+  return api::extension_types::DOCUMENT_LIFECYCLE_NONE;
+}
+
 void ExtensionApiFrameIdMap::OnRenderFrameDeleted(
     content::RenderFrameHost* rfh) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
diff --git a/extensions/browser/extension_api_frame_id_map.h b/extensions/browser/extension_api_frame_id_map.h
index a89255a..842eab5a 100644
--- a/extensions/browser/extension_api_frame_id_map.h
+++ b/extensions/browser/extension_api_frame_id_map.h
@@ -12,7 +12,9 @@
 #include "base/lazy_instance.h"
 #include "base/unguessable_token.h"
 #include "content/public/browser/document_user_data.h"
+#include "content/public/browser/frame_type.h"
 #include "content/public/browser/global_routing_id.h"
+#include "extensions/common/api/extension_types.h"
 
 namespace content {
 class NavigationHandle;
@@ -52,7 +54,10 @@
               int parent_frame_id,
               int tab_id,
               int window_id,
-              const DocumentId& document_id);
+              const DocumentId& document_id,
+              const DocumentId& parent_document_id,
+              api::extension_types::FrameType frame_type,
+              api::extension_types::DocumentLifecycle document_lifecycle);
     ~FrameData();
 
     FrameData(const FrameData&);
@@ -74,6 +79,17 @@
 
     // The extennsion API document ID of the document in the frame.
     DocumentId document_id;
+
+    // The extension API document ID of the parent document of the frame.
+    DocumentId parent_document_id;
+
+    // The type that this frame represents.
+    api::extension_types::FrameType frame_type =
+        api::extension_types::FRAME_TYPE_NONE;
+
+    // The lifecycle state the frame is currently in.
+    api::extension_types::DocumentLifecycle document_lifecycle =
+        api::extension_types::DOCUMENT_LIFECYCLE_NONE;
   };
 
   // An invalid extension API frame ID.
@@ -105,6 +121,23 @@
   // Get the extension API document ID for the document of |navigation_handle|.
   static DocumentId GetDocumentId(content::NavigationHandle* navigation_handle);
 
+  // Get the extension API frame type for the current document of |rfh|.
+  static api::extension_types::FrameType GetFrameType(
+      content::RenderFrameHost* rfh);
+
+  // Get the extension API frame type for the frame of |navigation_handle|.
+  static api::extension_types::FrameType GetFrameType(
+      content::NavigationHandle* navigation_handle);
+
+  // Get the extension API document lifecycle for the current document of |rfh|.
+  static api::extension_types::DocumentLifecycle GetDocumentLifecycle(
+      content::RenderFrameHost* rfh);
+
+  // Get the extension API document lifecycle for the frame of
+  // |navigation_handle|.
+  static api::extension_types::DocumentLifecycle GetDocumentLifecycle(
+      content::NavigationHandle* navigation_handle);
+
   // Find the current RenderFrameHost for a given WebContents and extension
   // frame ID.
   // Returns nullptr if not found.
diff --git a/extensions/browser/extension_navigation_ui_data.cc b/extensions/browser/extension_navigation_ui_data.cc
index c4e0a33..2fae8f1 100644
--- a/extensions/browser/extension_navigation_ui_data.cc
+++ b/extensions/browser/extension_navigation_ui_data.cc
@@ -37,7 +37,11 @@
           ExtensionApiFrameIdMap::GetFrameId(navigation_handle),
           ExtensionApiFrameIdMap::GetParentFrameId(navigation_handle),
           GetFrameRoutingId(navigation_handle->GetParentFrameOrOuterDocument()),
-          ExtensionApiFrameIdMap::GetDocumentId(navigation_handle)) {
+          ExtensionApiFrameIdMap::GetDocumentId(navigation_handle),
+          ExtensionApiFrameIdMap::GetDocumentId(
+              navigation_handle->GetParentFrameOrOuterDocument()),
+          ExtensionApiFrameIdMap::GetFrameType(navigation_handle),
+          ExtensionApiFrameIdMap::GetDocumentLifecycle(navigation_handle)) {
   // TODO(clamy): See if it would be possible to have just one source for the
   // FrameData that works both for navigations and subresources loads.
 }
@@ -53,7 +57,11 @@
           ExtensionApiFrameIdMap::GetFrameId(frame_host),
           ExtensionApiFrameIdMap::GetParentFrameId(frame_host),
           GetFrameRoutingId(frame_host->GetParentOrOuterDocument()),
-          ExtensionApiFrameIdMap::GetDocumentId(frame_host)) {}
+          ExtensionApiFrameIdMap::GetDocumentId(frame_host),
+          ExtensionApiFrameIdMap::GetDocumentId(
+              frame_host->GetParentOrOuterDocument()),
+          ExtensionApiFrameIdMap::GetFrameType(frame_host),
+          ExtensionApiFrameIdMap::GetDocumentLifecycle(frame_host)) {}
 
 // static
 std::unique_ptr<ExtensionNavigationUIData>
@@ -65,7 +73,10 @@
       web_contents, tab_id, window_id, ExtensionApiFrameIdMap::kTopFrameId,
       ExtensionApiFrameIdMap::kInvalidFrameId,
       content::GlobalRenderFrameHostId(),
-      ExtensionApiFrameIdMap::GetDocumentId(web_contents->GetMainFrame())));
+      ExtensionApiFrameIdMap::GetDocumentId(web_contents->GetMainFrame()),
+      ExtensionApiFrameIdMap::DocumentId(),
+      api::extension_types::FRAME_TYPE_OUTERMOST_FRAME,
+      api::extension_types::DOCUMENT_LIFECYCLE_ACTIVE));
 }
 
 std::unique_ptr<ExtensionNavigationUIData> ExtensionNavigationUIData::DeepCopy()
@@ -86,8 +97,18 @@
     int frame_id,
     int parent_frame_id,
     content::GlobalRenderFrameHostId parent_routing_id,
-    const ExtensionApiFrameIdMap::DocumentId& document_id)
-    : frame_data_(frame_id, parent_frame_id, tab_id, window_id, document_id),
+    const ExtensionApiFrameIdMap::DocumentId& document_id,
+    const ExtensionApiFrameIdMap::DocumentId& parent_document_id,
+    api::extension_types::FrameType frame_type,
+    api::extension_types::DocumentLifecycle document_lifecycle)
+    : frame_data_(frame_id,
+                  parent_frame_id,
+                  tab_id,
+                  window_id,
+                  document_id,
+                  parent_document_id,
+                  frame_type,
+                  document_lifecycle),
       parent_routing_id_(parent_routing_id) {
   WebViewGuest* web_view = WebViewGuest::FromWebContents(web_contents);
   if (web_view) {
diff --git a/extensions/browser/extension_navigation_ui_data.h b/extensions/browser/extension_navigation_ui_data.h
index 7bb1f58..638b93b7 100644
--- a/extensions/browser/extension_navigation_ui_data.h
+++ b/extensions/browser/extension_navigation_ui_data.h
@@ -59,7 +59,10 @@
       int frame_id,
       int parent_frame_id,
       content::GlobalRenderFrameHostId parent_routing_id,
-      const ExtensionApiFrameIdMap::DocumentId& document_id);
+      const ExtensionApiFrameIdMap::DocumentId& document_id,
+      const ExtensionApiFrameIdMap::DocumentId& parent_document_id,
+      api::extension_types::FrameType frame_type,
+      api::extension_types::DocumentLifecycle document_lifecycle);
 
   ExtensionApiFrameIdMap::FrameData frame_data_;
   bool is_web_view_;
diff --git a/extensions/browser/extension_pref_value_map_unittest.cc b/extensions/browser/extension_pref_value_map_unittest.cc
index cdeb5293..87a1a72 100644
--- a/extensions/browser/extension_pref_value_map_unittest.cc
+++ b/extensions/browser/extension_pref_value_map_unittest.cc
@@ -48,12 +48,9 @@
 
   // Returns an empty string if the key is not set.
   std::string GetValue(const char * key, bool incognito) const {
-    const base::Value *value =
+    const base::Value* value =
         epvm_.GetEffectivePrefValue(key, incognito, NULL);
-    std::string string_value;
-    if (value)
-      value->GetAsString(&string_value);
-    return string_value;
+    return (value && value->is_string()) ? value->GetString() : std::string();
   }
 
   // Registers the extension as enabled but without incognito permission.
diff --git a/extensions/browser/extension_user_script_loader.cc b/extensions/browser/extension_user_script_loader.cc
index 4ac6c6e..1742cb4 100644
--- a/extensions/browser/extension_user_script_loader.cc
+++ b/extensions/browser/extension_user_script_loader.cc
@@ -241,7 +241,7 @@
       scripting::kScriptsCanExecuteEverywhere);
 
   UserScriptList scripts;
-  for (const base::Value& value : list.GetList()) {
+  for (const base::Value& value : list.GetListDeprecated()) {
     std::u16string error;
     std::unique_ptr<api::content_scripts::ContentScript> content_script =
         api::content_scripts::ContentScript::FromValue(value, &error);
diff --git a/extensions/browser/verified_contents.cc b/extensions/browser/verified_contents.cc
index b982a79..b6e675e 100644
--- a/extensions/browser/verified_contents.cc
+++ b/extensions/browser/verified_contents.cc
@@ -51,7 +51,7 @@
                                            const std::string& key,
                                            const std::string& value) {
   DCHECK(list.is_list());
-  for (const base::Value& item : list.GetList()) {
+  for (const base::Value& item : list.GetListDeprecated()) {
     if (!item.is_dict())
       continue;
     // Finds a path because the |key| may include '.'.
diff --git a/extensions/common/api/declarative/declarative_manifest_data.cc b/extensions/common/api/declarative/declarative_manifest_data.cc
index 1078f85..50d4e553 100644
--- a/extensions/common/api/declarative/declarative_manifest_data.cc
+++ b/extensions/common/api/declarative/declarative_manifest_data.cc
@@ -131,7 +131,7 @@
     return nullptr;
   }
 
-  for (const auto& element : value.GetList()) {
+  for (const auto& element : value.GetListDeprecated()) {
     const base::DictionaryValue* dict = nullptr;
     if (!element.GetAsDictionary(&dict)) {
       error_builder.Append("expected dictionary, got %s",
diff --git a/extensions/common/api/declarative_net_request.idl b/extensions/common/api/declarative_net_request.idl
index d884783b..3162385 100644
--- a/extensions/common/api/declarative_net_request.idl
+++ b/extensions/common/api/declarative_net_request.idl
@@ -403,10 +403,25 @@
     // are unique within a tab.
     long frameId;
 
+    // The unique identifier for the frame's document, if this request is for a
+    // frame.
+    [nodoc] DOMString? documentId;
+
+    // The type of the frame, if this request is for a frame.
+    [nodoc] extensionTypes.FrameType? frameType;
+
+    // The lifecycle of the frame's document, if this request is for a
+    // frame.
+    [nodoc] extensionTypes.DocumentLifecycle? documentLifecycle;
+
     // ID of frame that wraps the frame which sent the request. Set to -1 if no
     // parent frame exists.
     long parentFrameId;
 
+    // The unique identifier for the frame's parent document, if this request
+    // is for a frame and has a parent.
+    [nodoc] DOMString? parentDocumentId;
+
     // The ID of the tab in which the request takes place. Set to -1 if the
     // request isn't related to a tab.
     long tabId;
diff --git a/extensions/common/api/extension_types.json b/extensions/common/api/extension_types.json
index e00040e..ceaff4a 100644
--- a/extensions/common/api/extension_types.json
+++ b/extensions/common/api/extension_types.json
@@ -100,6 +100,20 @@
             "description": "The <a href=\"https://www.w3.org/TR/css3-cascade/#cascading-origins\">origin</a> of the CSS to remove. Defaults to <code>\"author\"</code>."
           }
         }
+      },
+      {
+        "id": "FrameType",
+        "type": "string",
+        "nodoc": true,
+        "enum": ["outermost_frame", "fenced_frame", "sub_frame"],
+        "description": "The type of frame."
+      },
+      {
+        "id": "DocumentLifecycle",
+        "type": "string",
+        "nodoc": true,
+        "enum": ["prerender", "active", "cached", "pending_deletion"],
+        "description": "The document lifecycle of the frame."
       }
     ]
   }
diff --git a/extensions/common/permissions/mock_manifest_permission.cc b/extensions/common/permissions/mock_manifest_permission.cc
index 49014cff..0714b4a 100644
--- a/extensions/common/permissions/mock_manifest_permission.cc
+++ b/extensions/common/permissions/mock_manifest_permission.cc
@@ -29,7 +29,10 @@
 }
 
 bool MockManifestPermission::FromValue(const base::Value* value) {
-  return value && value->GetAsString(&value_);
+  if (!value || !value->is_string())
+    return false;
+  value_ = value->GetString();
+  return true;
 }
 
 std::unique_ptr<base::Value> MockManifestPermission::ToValue() const {
diff --git a/extensions/common/url_pattern_set.cc b/extensions/common/url_pattern_set.cc
index e6a63a1..9d5b3a9 100644
--- a/extensions/common/url_pattern_set.cc
+++ b/extensions/common/url_pattern_set.cc
@@ -283,7 +283,7 @@
                              bool allow_file_access,
                              std::string* error) {
   std::vector<std::string> patterns;
-  for (const base::Value& pattern : value.GetList()) {
+  for (const base::Value& pattern : value.GetListDeprecated()) {
     const std::string* item = pattern.GetIfString();
     if (!item)
       return false;
diff --git a/extensions/renderer/activity_log_converter_strategy_unittest.cc b/extensions/renderer/activity_log_converter_strategy_unittest.cc
index e7577dd..82a7dd41 100644
--- a/extensions/renderer/activity_log_converter_strategy_unittest.cc
+++ b/extensions/renderer/activity_log_converter_strategy_unittest.cc
@@ -65,10 +65,9 @@
 
   testing::AssertionResult VerifyString(v8::Local<v8::Value> v8_value,
                                         const std::string& expected) {
-    std::string out;
     std::unique_ptr<base::Value> value(
         converter_->FromV8Value(v8_value, context()));
-    if (value->is_string() && value->GetAsString(&out) && out == expected)
+    if (value->is_string() && value->GetString() == expected)
       return testing::AssertionSuccess();
     return testing::AssertionFailure();
   }
diff --git a/extensions/renderer/api_activity_logger_unittest.cc b/extensions/renderer/api_activity_logger_unittest.cc
index e041199..f68be054 100644
--- a/extensions/renderer/api_activity_logger_unittest.cc
+++ b/extensions/renderer/api_activity_logger_unittest.cc
@@ -67,9 +67,9 @@
       .WillOnce([&](const ExtensionId& extension_id, const ActivityLogCallType,
                     const ExtensionHostMsg_APIActionOrEvent_Params& params) {
         EXPECT_EQ("someApiMethod", params.api_call);
-        ASSERT_EQ(1u, params.arguments.GetList().size());
+        ASSERT_EQ(1u, params.arguments.GetListDeprecated().size());
         EXPECT_EQ(base::Value::Type::NONE,
-                  params.arguments.GetList()[0].type());
+                  params.arguments.GetListDeprecated()[0].type());
       });
 
   APIActivityLogger::LogAPICall(ipc_sender.get(), context, "someApiMethod",
diff --git a/extensions/renderer/bindings/api_event_handler.cc b/extensions/renderer/bindings/api_event_handler.cc
index b316948..ce35091 100644
--- a/extensions/renderer/bindings/api_event_handler.cc
+++ b/extensions/renderer/bindings/api_event_handler.cc
@@ -229,8 +229,8 @@
       content::V8ValueConverter::Create();
 
   std::vector<v8::Local<v8::Value>> v8_args;
-  v8_args.reserve(args.GetList().size());
-  for (const auto& arg : args.GetList())
+  v8_args.reserve(args.GetListDeprecated().size());
+  for (const auto& arg : args.GetListDeprecated())
     v8_args.push_back(converter->ToV8Value(&arg, context));
 
   FireEventInContext(event_name, context, &v8_args, std::move(filter),
diff --git a/extensions/renderer/bindings/api_signature.cc b/extensions/renderer/bindings/api_signature.cc
index 5f7e6c67..ea8e127 100644
--- a/extensions/renderer/bindings/api_signature.cc
+++ b/extensions/renderer/bindings/api_signature.cc
@@ -23,14 +23,14 @@
     const base::Value& specification_list,
     bool uses_returns_async) {
   std::vector<std::unique_ptr<ArgumentSpec>> signature;
-  auto size = specification_list.GetList().size();
+  auto size = specification_list.GetListDeprecated().size();
   // If the API specification uses the returns_async format we will be pushing a
   // callback onto the end of the argument spec list during the call to the ctor
   // later, so we make room for it now when we reserve the size.
   if (uses_returns_async)
     size++;
   signature.reserve(size);
-  for (const auto& value : specification_list.GetList()) {
+  for (const auto& value : specification_list.GetListDeprecated()) {
     CHECK(value.is_dict());
     signature.push_back(std::make_unique<ArgumentSpec>(value));
   }
@@ -499,7 +499,7 @@
   if (!argument_specs.empty() &&
       argument_specs.back()->type() == ArgumentType::FUNCTION) {
     DCHECK(!returns_async_spec);
-    returns_async_spec = &spec_list.GetList().back();
+    returns_async_spec = &spec_list.GetListDeprecated().back();
     argument_specs.pop_back();
   }
 
diff --git a/fuchsia/engine/web_engine_debug_integration_test.cc b/fuchsia/engine/web_engine_debug_integration_test.cc
index 2c0a28ce..20237ec 100644
--- a/fuchsia/engine/web_engine_debug_integration_test.cc
+++ b/fuchsia/engine/web_engine_debug_integration_test.cc
@@ -173,13 +173,15 @@
   base::Value devtools_list = cr_fuchsia::GetDevToolsListFromPort(
       *dev_tools_listener_.debug_ports().begin());
   ASSERT_TRUE(devtools_list.is_list());
-  EXPECT_EQ(devtools_list.GetList().size(), 1u);
+  EXPECT_EQ(devtools_list.GetListDeprecated().size(), 1u);
 
-  base::Value* devtools_url = devtools_list.GetList()[0].FindPath("url");
+  base::Value* devtools_url =
+      devtools_list.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url->is_string());
   EXPECT_EQ(devtools_url->GetString(), url);
 
-  base::Value* devtools_title = devtools_list.GetList()[0].FindPath("title");
+  base::Value* devtools_title =
+      devtools_list.GetListDeprecated()[0].FindPath("title");
   ASSERT_TRUE(devtools_title->is_string());
   EXPECT_EQ(devtools_title->GetString(), "title 1");
 
@@ -201,13 +203,15 @@
 
   base::Value devtools_list1 = cr_fuchsia::GetDevToolsListFromPort(port1);
   ASSERT_TRUE(devtools_list1.is_list());
-  EXPECT_EQ(devtools_list1.GetList().size(), 1u);
+  EXPECT_EQ(devtools_list1.GetListDeprecated().size(), 1u);
 
-  base::Value* devtools_url1 = devtools_list1.GetList()[0].FindPath("url");
+  base::Value* devtools_url1 =
+      devtools_list1.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url1->is_string());
   EXPECT_EQ(devtools_url1->GetString(), url1);
 
-  base::Value* devtools_title1 = devtools_list1.GetList()[0].FindPath("title");
+  base::Value* devtools_title1 =
+      devtools_list1.GetListDeprecated()[0].FindPath("title");
   ASSERT_TRUE(devtools_title1->is_string());
   EXPECT_EQ(devtools_title1->GetString(), "title 1");
 
@@ -236,13 +240,15 @@
 
   base::Value devtools_list2 = cr_fuchsia::GetDevToolsListFromPort(port2);
   ASSERT_TRUE(devtools_list2.is_list());
-  EXPECT_EQ(devtools_list2.GetList().size(), 1u);
+  EXPECT_EQ(devtools_list2.GetListDeprecated().size(), 1u);
 
-  base::Value* devtools_url2 = devtools_list2.GetList()[0].FindPath("url");
+  base::Value* devtools_url2 =
+      devtools_list2.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url2->is_string());
   EXPECT_EQ(devtools_url2->GetString(), url2);
 
-  base::Value* devtools_title2 = devtools_list2.GetList()[0].FindPath("title");
+  base::Value* devtools_title2 =
+      devtools_list2.GetListDeprecated()[0].FindPath("title");
   ASSERT_TRUE(devtools_title2->is_string());
   EXPECT_EQ(devtools_title2->GetString(), "title 2");
 
@@ -281,13 +287,15 @@
   base::Value devtools_list =
       cr_fuchsia::GetDevToolsListFromPort(remote_debugging_port);
   ASSERT_TRUE(devtools_list.is_list());
-  EXPECT_EQ(devtools_list.GetList().size(), 1u);
+  EXPECT_EQ(devtools_list.GetListDeprecated().size(), 1u);
 
-  base::Value* devtools_url = devtools_list.GetList()[0].FindPath("url");
+  base::Value* devtools_url =
+      devtools_list.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url->is_string());
   EXPECT_EQ(devtools_url->GetString(), url);
 
-  base::Value* devtools_title = devtools_list.GetList()[0].FindPath("title");
+  base::Value* devtools_title =
+      devtools_list.GetListDeprecated()[0].FindPath("title");
   ASSERT_TRUE(devtools_title->is_string());
   EXPECT_EQ(devtools_title->GetString(), "title 1");
 
diff --git a/fuchsia/engine/web_engine_integration_test.cc b/fuchsia/engine/web_engine_integration_test.cc
index 1547d1d..ed71a9d1 100644
--- a/fuchsia/engine/web_engine_integration_test.cc
+++ b/fuchsia/engine/web_engine_integration_test.cc
@@ -279,9 +279,10 @@
   base::Value devtools_list =
       cr_fuchsia::GetDevToolsListFromPort(remote_debugging_port);
   ASSERT_TRUE(devtools_list.is_list());
-  EXPECT_EQ(devtools_list.GetList().size(), 1u);
+  EXPECT_EQ(devtools_list.GetListDeprecated().size(), 1u);
 
-  base::Value* devtools_url = devtools_list.GetList()[0].FindPath("url");
+  base::Value* devtools_url =
+      devtools_list.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url->is_string());
   EXPECT_EQ(devtools_url->GetString(), url);
 
@@ -293,9 +294,9 @@
 
   devtools_list = cr_fuchsia::GetDevToolsListFromPort(remote_debugging_port);
   ASSERT_TRUE(devtools_list.is_list());
-  EXPECT_EQ(devtools_list.GetList().size(), 1u);
+  EXPECT_EQ(devtools_list.GetListDeprecated().size(), 1u);
 
-  devtools_url = devtools_list.GetList()[0].FindPath("url");
+  devtools_url = devtools_list.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url->is_string());
   EXPECT_EQ(devtools_url->GetString(), url);
 
diff --git a/fuchsia/engine/web_instance_host_integration_test.cc b/fuchsia/engine/web_instance_host_integration_test.cc
index 5f4c7a1d..88d73072d 100644
--- a/fuchsia/engine/web_instance_host_integration_test.cc
+++ b/fuchsia/engine/web_instance_host_integration_test.cc
@@ -139,8 +139,9 @@
   base::Value devtools_list =
       cr_fuchsia::GetDevToolsListFromPort(remote_debugging_port);
   ASSERT_TRUE(devtools_list.is_list());
-  EXPECT_EQ(devtools_list.GetList().size(), 1u);
-  base::Value* devtools_url = devtools_list.GetList()[0].FindPath("url");
+  EXPECT_EQ(devtools_list.GetListDeprecated().size(), 1u);
+  base::Value* devtools_url =
+      devtools_list.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url->is_string());
   EXPECT_EQ(devtools_url->GetString(), url);
 
@@ -158,8 +159,8 @@
 
   devtools_list = cr_fuchsia::GetDevToolsListFromPort(remote_debugging_port);
   ASSERT_TRUE(devtools_list.is_list());
-  EXPECT_EQ(devtools_list.GetList().size(), 1u);
-  devtools_url = devtools_list.GetList()[0].FindPath("url");
+  EXPECT_EQ(devtools_list.GetListDeprecated().size(), 1u);
+  devtools_url = devtools_list.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url->is_string());
   EXPECT_EQ(devtools_url->GetString(), url2);
 }
diff --git a/fuchsia/runners/cast/cast_runner.cc b/fuchsia/runners/cast/cast_runner.cc
index b9c4198..95f36fd9 100644
--- a/fuchsia/runners/cast/cast_runner.cc
+++ b/fuchsia/runners/cast/cast_runner.cc
@@ -33,16 +33,25 @@
 
 namespace {
 
-// List of services provided to the WebEngine context.
-// All services must be listed in cast_runner.cmx.
+// List of services in CastRunner's Service Directory that will be passed
+// through to each WebEngine instance it creates. Each service in
+// web_instance.cmx/.cml must appear on a line below.
+// Although the array must not include any services handled dynamically by the
+// CastRunner logic (e.g., Agent redirections), they are listed here as comments
+// to make the list easier to validate at-a-glance.
+// cast_runner.cmx/.cml must include all services in the array as well as
+// "fuchsia.media.Audio" since OnAudioServiceRequest() may fall back to it.
 static constexpr const char* kServices[] = {
     "fuchsia.accessibility.semantics.SemanticsManager",
     "fuchsia.buildinfo.Provider",
+    // "fuchsia.camera3.DeviceWatcher" is redirected to the agent.
     "fuchsia.device.NameProvider",
     "fuchsia.fonts.Provider",
     "fuchsia.input.virtualkeyboard.ControllerCreator",
     "fuchsia.intl.PropertyProvider",
+    // "fuchsia.legacymetrics.MetricsRecorder" is redirected to the agent.
     "fuchsia.logger.LogSink",
+    // "fuchsia.media.Audio" may be redirected to the agent.
     "fuchsia.media.AudioDeviceEnumerator",
     "fuchsia.media.ProfileProvider",
     "fuchsia.media.SessionAudioConsumerFactory",
@@ -50,8 +59,8 @@
     "fuchsia.media.drm.Widevine",
     "fuchsia.mediacodec.CodecFactory",
     "fuchsia.memorypressure.Provider",
-    "fuchsia.net.name.Lookup",
     "fuchsia.net.interfaces.State",
+    "fuchsia.net.name.Lookup",
     "fuchsia.posix.socket.Provider",
     "fuchsia.process.Launcher",
     "fuchsia.settings.Display",
@@ -61,11 +70,6 @@
     "fuchsia.ui.input3.Keyboard",
     "fuchsia.ui.scenic.Scenic",
     "fuchsia.vulkan.loader.Loader",
-
-    // These services are redirected to the Agent:
-    // * fuchsia.camera3.DeviceWatcher
-    // * fuchsia.legacymetrics.MetricsRecorder
-    // * fuchsia.media.Audio
 };
 
 // Names used to partition the Runner's persistent storage for different uses.
diff --git a/fuchsia/runners/cast/cast_runner.cmx b/fuchsia/runners/cast/cast_runner.cmx
index 7396f8f..8f8ece4 100644
--- a/fuchsia/runners/cast/cast_runner.cmx
+++ b/fuchsia/runners/cast/cast_runner.cmx
@@ -8,7 +8,6 @@
       "chromium.cast.ApplicationConfigManager",
       "fuchsia.accessibility.semantics.SemanticsManager",
       "fuchsia.buildinfo.Provider",
-      "fuchsia.camera3.DeviceWatcher",
       "fuchsia.device.NameProvider",
       "fuchsia.feedback.ComponentDataRegister",
       "fuchsia.feedback.CrashReportingProductRegister",
diff --git a/fuchsia/runners/cast/cast_runner_integration_test.cc b/fuchsia/runners/cast/cast_runner_integration_test.cc
index cd9b21b..68d0da4 100644
--- a/fuchsia/runners/cast/cast_runner_integration_test.cc
+++ b/fuchsia/runners/cast/cast_runner_integration_test.cc
@@ -748,9 +748,10 @@
   base::Value devtools_list =
       cr_fuchsia::GetDevToolsListFromPort(CastRunner::kRemoteDebuggingPort);
   ASSERT_TRUE(devtools_list.is_list());
-  EXPECT_EQ(devtools_list.GetList().size(), 1u);
+  EXPECT_EQ(devtools_list.GetListDeprecated().size(), 1u);
 
-  base::Value* devtools_url = devtools_list.GetList()[0].FindPath("url");
+  base::Value* devtools_url =
+      devtools_list.GetListDeprecated()[0].FindPath("url");
   ASSERT_TRUE(devtools_url->is_string());
   EXPECT_EQ(devtools_url->GetString(), app_url.spec());
 }
diff --git a/google_apis/gaia/gaia_auth_util.cc b/google_apis/gaia/gaia_auth_util.cc
index 3af23ed..074dc0f5 100644
--- a/google_apis/gaia/gaia_auth_util.cc
+++ b/google_apis/gaia/gaia_auth_util.cc
@@ -133,13 +133,13 @@
   // Get list of account info.
   if (!list[1].is_list())
     return false;
-  base::Value::ConstListView account_list = list[1].GetList();
+  base::Value::ConstListView account_list = list[1].GetListDeprecated();
 
   // Build a vector of accounts from the cookie.  Order is important: the first
   // account in the list is the primary account.
   for (size_t i = 0; i < account_list.size(); ++i) {
     if (account_list[i].is_list()) {
-      base::Value::ConstListView account = account_list[i].GetList();
+      base::Value::ConstListView account = account_list[i].GetListDeprecated();
       std::string email;
       // Canonicalize the email since ListAccounts returns "display email".
       if (3u < account.size() && account[3].is_string() &&
diff --git a/gpu/tools/compositor_model_bench/render_tree.cc b/gpu/tools/compositor_model_bench/render_tree.cc
index 6066841..943301f 100644
--- a/gpu/tools/compositor_model_bench/render_tree.cc
+++ b/gpu/tools/compositor_model_bench/render_tree.cc
@@ -146,7 +146,7 @@
                      const char* listName = nullptr) {
   // Assume the index is valid (since we'll be able to generate a better
   // error message for this elsewhere.)
-  if (list.GetList()[index].type() != type) {
+  if (list.GetListDeprecated()[index].type() != type) {
     LOG(ERROR) << (listName ? listName : "List") << "element " << index
                << " did not have the expected type (expected "
                << base::Value::GetTypeName(type) << ")\n";
diff --git a/headless/public/internal/value_conversions.h b/headless/public/internal/value_conversions.h
index ebb7040..1b700ad 100644
--- a/headless/public/internal/value_conversions.h
+++ b/headless/public/internal/value_conversions.h
@@ -179,7 +179,7 @@
       return result;
     }
     errors->Push();
-    for (const auto& item : value.GetList())
+    for (const auto& item : value.GetListDeprecated())
       result.push_back(FromValue<T>::Parse(item, errors));
     errors->Pop();
     return result;
diff --git a/infra/config/generated/luci/cr-buildbucket.cfg b/infra/config/generated/luci/cr-buildbucket.cfg
index 190565b..8875fc59 100644
--- a/infra/config/generated/luci/cr-buildbucket.cfg
+++ b/infra/config/generated/luci/cr-buildbucket.cfg
@@ -51982,22 +51982,50 @@
         '    },'
         '    {'
         '      "branch_types": ['
-        '        "desktop-extended-stable"'
-        '      ],'
-        '      "name": "desktop-extended-stable"'
-        '    },'
-        '    {'
-        '      "branch_types": ['
         '        "cros-lts"'
         '      ],'
         '      "name": "cros-lts"'
         '    },'
         '    {'
         '      "branch_types": ['
-        '        "desktop-extended-stable",'
-        '        "cros-lts"'
+        '        "desktop-extended-stable"'
         '      ],'
-        '      "name": "desktop-extended-stable + cros-lts"'
+        '      "name": "desktop-extended-stable"'
+        '    },'
+        '    {'
+        '      "branch_types": ['
+        '        "fuchsia-lts"'
+        '      ],'
+        '      "name": "fuchsia-lts"'
+        '    },'
+        '    {'
+        '      "branch_types": ['
+        '        "cros-lts",'
+        '        "desktop-extended-stable"'
+        '      ],'
+        '      "name": "cros-lts + desktop-extended-stable"'
+        '    },'
+        '    {'
+        '      "branch_types": ['
+        '        "cros-lts",'
+        '        "fuchsia-lts"'
+        '      ],'
+        '      "name": "cros-lts + fuchsia-lts"'
+        '    },'
+        '    {'
+        '      "branch_types": ['
+        '        "desktop-extended-stable",'
+        '        "fuchsia-lts"'
+        '      ],'
+        '      "name": "desktop-extended-stable + fuchsia-lts"'
+        '    },'
+        '    {'
+        '      "branch_types": ['
+        '        "cros-lts",'
+        '        "desktop-extended-stable",'
+        '        "fuchsia-lts"'
+        '      ],'
+        '      "name": "cros-lts + desktop-extended-stable + fuchsia-lts"'
         '    }'
         '  ],'
         '  "branch_script": "infra/config/scripts/branch.py",'
diff --git a/infra/config/lib/branches.star b/infra/config/lib/branches.star
index 3de2a13..8731c33 100644
--- a/infra/config/lib/branches.star
+++ b/infra/config/lib/branches.star
@@ -22,6 +22,9 @@
 * CROS_LTS_BRANCHES - The resource is defined only for the long-term support branches
     (LTC and LTR).
     [`branch_type.CROS_LTS in settings.branch_types`]
+* FUCHSIA_LTS_BRANCHES - The resource is defined only for the fuchsia support
+    branches.
+    [`branch_type.FUCHSIA_LTS in settings.branch_types`]
 
 The `branch_selector` argument can also be one of the following constants
 composing multiple categories:
@@ -32,6 +35,8 @@
     trunk -> beta -> stable -> desktop extended stable
 * CROS_LTS_MILESTONE - The resource is defined for a branch as it move through the
     long-term suport release channels: trunk -> beta -> stable -> LTC -> LTR.
+* FUCHSIA_LTS_MILESTONE - The resource is define only for a branch as it moves
+    through the fuchsia support channels: trunk -> beta -> stable -> Fuchsia LTS.
 * ALL_BRANCHES - The resource is defined for all branches and main/trunk.
 * NOT_MAIN - The resource is defined for all branches, but not for main/trunk.
 
@@ -54,8 +59,9 @@
 STANDARD_BRANCHES = _branch_selector("STANDARD_BRANCHES")
 DESKTOP_EXTENDED_STABLE_BRANCHES = _branch_selector("DESKTOP_EXTENDED_STABLE_BRANCHES")
 CROS_LTS_BRANCHES = _branch_selector("CROS_LTS_BRANCHES")
+FUCHSIA_LTS_BRANCHES = _branch_selector("FUCHSIA_LTS_BRANCHES")
 
-_BRANCH_SELECTORS = (MAIN, STANDARD_BRANCHES, DESKTOP_EXTENDED_STABLE_BRANCHES, CROS_LTS_BRANCHES)
+_BRANCH_SELECTORS = (MAIN, STANDARD_BRANCHES, DESKTOP_EXTENDED_STABLE_BRANCHES, CROS_LTS_BRANCHES, FUCHSIA_LTS_BRANCHES)
 
 def _normalize_branch_selector(branch_selector):
     """Convert provided branch selector to a set of basic selectors.
@@ -100,6 +106,9 @@
         elif b == CROS_LTS_BRANCHES:
             if branch_type.CROS_LTS in settings.branch_types:
                 return True
+        elif b == FUCHSIA_LTS_BRANCHES:
+            if branch_type.FUCHSIA_LTS in settings.branch_types:
+                return True
         else:
             fail("elements of branch_selectors must be one of {}, got {!r}"
                 .format(_BRANCH_SELECTORS, b))
@@ -141,11 +150,13 @@
     STANDARD_BRANCHES = STANDARD_BRANCHES,
     DESKTOP_EXTENDED_STABLE_BRANCHES = DESKTOP_EXTENDED_STABLE_BRANCHES,
     CROS_LTS_BRANCHES = CROS_LTS_BRANCHES,
+    FUCHSIA_LTS_BRANCHES = FUCHSIA_LTS_BRANCHES,
 
     # Branch selectors for tracking milestones through release channels
     STANDARD_MILESTONE = (MAIN, STANDARD_BRANCHES),
     DESKTOP_EXTENDED_STABLE_MILESTONE = (MAIN, STANDARD_BRANCHES, DESKTOP_EXTENDED_STABLE_BRANCHES),
     CROS_LTS_MILESTONE = (MAIN, STANDARD_BRANCHES, CROS_LTS_BRANCHES),
+    FUCHSIA_LTS_MILESTONE = (MAIN, STANDARD_BRANCHES, FUCHSIA_LTS_BRANCHES),
 
     # Branch selectors to apply widely to branches
     ALL_BRANCHES = _BRANCH_SELECTORS,
diff --git a/infra/config/project.star b/infra/config/project.star
index 79e8a41..31f34ba 100644
--- a/infra/config/project.star
+++ b/infra/config/project.star
@@ -8,9 +8,10 @@
     STANDARD = "standard",
     DESKTOP_EXTENDED_STABLE = "desktop-extended-stable",
     CROS_LTS = "cros-lts",
+    FUCHSIA_LTS = "fuchsia-lts",
 )
 
-_BRANCH_TYPES = tuple([getattr(branch_type, a) for a in dir(branch_type)])
+BRANCH_TYPES = tuple([getattr(branch_type, a) for a in dir(branch_type)])
 
 def _project_settings(
         *,
@@ -41,7 +42,7 @@
       is_main attribute is set to True if branch_types is empty or False if
       branch_types is not empty.
     """
-    invalid_branch_types = [t for t in branch_types if t not in _BRANCH_TYPES]
+    invalid_branch_types = [t for t in branch_types if t not in BRANCH_TYPES]
     if invalid_branch_types:
         fail("The following branch types are invalid: {}".format(invalid_branch_types))
     if branch_type.STANDARD in branch_types and len(branch_types) != 1:
diff --git a/infra/config/scripts/branch.py b/infra/config/scripts/branch.py
index ba42e8d..859b751 100755
--- a/infra/config/scripts/branch.py
+++ b/infra/config/scripts/branch.py
@@ -80,7 +80,12 @@
     f.write(settings)
 
 
-BRANCH_TYPES = ('standard', 'desktop-extended-stable', 'cros-lts')
+BRANCH_TYPES = (
+    'standard',
+    'desktop-extended-stable',
+    'cros-lts',
+    'fuchsia-lts',
+)
 
 
 def set_type(settings_json, branch_types):
diff --git a/infra/config/scripts/tests/branch_unit_test.py b/infra/config/scripts/tests/branch_unit_test.py
index d0726c4..68e97427 100755
--- a/infra/config/scripts/tests/branch_unit_test.py
+++ b/infra/config/scripts/tests/branch_unit_test.py
@@ -93,7 +93,8 @@
             "project_title": "Chromium MMM",
             "ref": "refs/branch-heads/AAAA"
         }""")
-    output = branch.set_type(input, ['desktop-extended-stable', 'cros-lts'])
+    output = branch.set_type(
+        input, ['desktop-extended-stable', 'cros-lts', 'fuchsia-lts'])
     self.assertEqual(
         output,
         textwrap.dedent("""\
@@ -103,7 +104,8 @@
                 "ref": "refs/branch-heads/AAAA",
                 "branch_types": [
                     "desktop-extended-stable",
-                    "cros-lts"
+                    "cros-lts",
+                    "fuchsia-lts"
                 ]
             }
             """))
diff --git a/infra/config/subprojects/chromium/ci/chromium.linux.star b/infra/config/subprojects/chromium/ci/chromium.linux.star
index 514b0ec..c48812c 100644
--- a/infra/config/subprojects/chromium/ci/chromium.linux.star
+++ b/infra/config/subprojects/chromium/ci/chromium.linux.star
@@ -27,7 +27,7 @@
 
 consoles.console_view(
     name = "chromium.linux",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     ordering = {
         None: ["release", "debug"],
         "release": consoles.ordering(short_names = ["bld", "tst", "nsl", "gcc"]),
@@ -138,7 +138,7 @@
 
 ci.builder(
     name = "Fuchsia ARM64",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     console_view_entry = [
         consoles.console_view_entry(
             category = "fuchsia|a64",
@@ -157,7 +157,7 @@
 
 ci.builder(
     name = "Fuchsia x64",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     console_view_entry = [
         consoles.console_view_entry(
             category = "fuchsia|x64",
@@ -284,7 +284,7 @@
 
 ci.builder(
     name = "fuchsia-arm64-cast",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     console_view_entry = [
         consoles.console_view_entry(
             category = "fuchsia|cast",
@@ -315,7 +315,7 @@
 
 ci.builder(
     name = "fuchsia-x64-cast",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     console_view_entry = [
         consoles.console_view_entry(
             category = "fuchsia|cast",
diff --git a/infra/config/subprojects/chromium/ci/chromium.star b/infra/config/subprojects/chromium/ci/chromium.star
index 0fc7dc42..d7841c5 100644
--- a/infra/config/subprojects/chromium/ci/chromium.star
+++ b/infra/config/subprojects/chromium/ci/chromium.star
@@ -21,7 +21,10 @@
 
 consoles.console_view(
     name = "chromium",
-    branch_selector = branches.DESKTOP_EXTENDED_STABLE_MILESTONE,
+    branch_selector = [
+        branches.DESKTOP_EXTENDED_STABLE_MILESTONE,
+        branches.FUCHSIA_LTS_MILESTONE,
+    ],
     include_experimental_builds = True,
     ordering = {
         "*type*": consoles.ordering(short_names = ["dbg", "rel", "off"]),
@@ -85,7 +88,7 @@
 
 ci.builder(
     name = "fuchsia-official",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     builderless = False,
     console_view_entry = [
         consoles.console_view_entry(
diff --git a/infra/config/subprojects/chromium/try/presubmit.star b/infra/config/subprojects/chromium/try/presubmit.star
index 219dc38..59a1aef 100644
--- a/infra/config/subprojects/chromium/try/presubmit.star
+++ b/infra/config/subprojects/chromium/try/presubmit.star
@@ -7,7 +7,7 @@
 load("//lib/branches.star", "branches")
 load("//lib/try.star", "try_")
 load("//lib/consoles.star", "consoles")
-load("//project.star", "branch_type")
+load("//project.star", "BRANCH_TYPES", "branch_type")
 load("../fallback-cq.star", "fallback_cq")
 
 try_.defaults.set(
@@ -51,29 +51,35 @@
 # long after the change has been made, so make it a presubmit builder to ensure
 # it's checked with current code. The builder runs in a few minutes and only for
 # infra/config changes, so it won't impose a heavy burden on our capacity.
+def branch_configs():
+    """Get the branch configs to be tested.
+
+    Returns:
+      A list of objects that can be used as the value of the "branch_configs"
+      property for the branch_configuration/tester recipe. See
+      https://chromium.googlesource.com/chromium/tools/build/+/refs/heads/main/recipes/recipes/branch_configuration/tester.proto
+      The returned configs will cover standard branches and every combination of
+      post-stable branches.
+    """
+    type_combos = []
+    for t in BRANCH_TYPES:
+        # The standard branch type can only appear alone, so add it afterwards
+        if t == branch_type.STANDARD:
+            continue
+        type_combos = type_combos + [[t]] + [c + [t] for c in type_combos]
+
+    type_combos = [[branch_type.STANDARD]] + sorted(type_combos, key = lambda x: (len(x), x))
+    return [{
+        "name": " + ".join(c),
+        "branch_types": c,
+    } for c in type_combos]
+
 presubmit_builder(
     name = "branch-config-verifier",
     executable = "recipe:branch_configuration/tester",
     properties = {
         "branch_script": "infra/config/scripts/branch.py",
-        "branch_configs": [
-            {
-                "name": branch_type.STANDARD,
-                "branch_types": [branch_type.STANDARD],
-            },
-            {
-                "name": branch_type.DESKTOP_EXTENDED_STABLE,
-                "branch_types": [branch_type.DESKTOP_EXTENDED_STABLE],
-            },
-            {
-                "name": branch_type.CROS_LTS,
-                "branch_types": [branch_type.CROS_LTS],
-            },
-            {
-                "name": "{} + {}".format(branch_type.DESKTOP_EXTENDED_STABLE, branch_type.CROS_LTS),
-                "branch_types": [branch_type.DESKTOP_EXTENDED_STABLE, branch_type.CROS_LTS],
-            },
-        ],
+        "branch_configs": branch_configs(),
         "starlark_entry_points": ["infra/config/main.star", "infra/config/dev.star"],
     },
     tryjob = try_.job(
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star b/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star
index 1ba7d8da..cf549ef4 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star
@@ -25,7 +25,10 @@
 
 consoles.list_view(
     name = "tryserver.chromium.linux",
-    branch_selector = branches.CROS_LTS_MILESTONE,
+    branch_selector = [
+        branches.CROS_LTS_MILESTONE,
+        branches.FUCHSIA_LTS_MILESTONE,
+    ],
 )
 
 try_.builder(
@@ -65,7 +68,7 @@
 
 try_.builder(
     name = "fuchsia-binary-size",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     builderless = True,
     executable = "recipe:binary_size_fuchsia_trybot",
     properties = {
@@ -85,7 +88,7 @@
 
 try_.builder(
     name = "fuchsia-arm64-cast",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     main_list_view = "try",
     tryjob = try_.job(
         location_regexp = [
@@ -132,7 +135,7 @@
 
 try_.builder(
     name = "fuchsia-x64-cast",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     builderless = not settings.is_main,
     main_list_view = "try",
     tryjob = try_.job(),
@@ -140,7 +143,7 @@
 
 try_.builder(
     name = "fuchsia_arm64",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     builderless = not settings.is_main,
     main_list_view = "try",
     tryjob = try_.job(),
@@ -148,7 +151,7 @@
 
 try_.builder(
     name = "fuchsia_x64",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
     builderless = not settings.is_main,
     main_list_view = "try",
     tryjob = try_.job(),
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.star b/infra/config/subprojects/chromium/try/tryserver.chromium.star
index c15392ab..1eff7bf4 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.star
@@ -22,7 +22,10 @@
 
 consoles.list_view(
     name = "tryserver.chromium",
-    branch_selector = branches.DESKTOP_EXTENDED_STABLE_MILESTONE,
+    branch_selector = [
+        branches.DESKTOP_EXTENDED_STABLE_MILESTONE,
+        branches.FUCHSIA_LTS_MILESTONE,
+    ],
 )
 
 try_.builder(
@@ -32,7 +35,7 @@
 
 try_.builder(
     name = "fuchsia-official",
-    branch_selector = branches.STANDARD_MILESTONE,
+    branch_selector = branches.FUCHSIA_LTS_MILESTONE,
 )
 
 try_.builder(
diff --git a/ios/chrome/app/application_delegate/app_state_observer.h b/ios/chrome/app/application_delegate/app_state_observer.h
index a2548df..29f18f5 100644
--- a/ios/chrome/app/application_delegate/app_state_observer.h
+++ b/ios/chrome/app/application_delegate/app_state_observer.h
@@ -23,11 +23,16 @@
   // at the InitStageSafeMode stage if safe mode is needed, or will move to the
   // next stage otherwise.
   InitStageSafeMode,
+  // The app is initializing the browser objects for the background handlers.
+  // In particular this creates ChromeMain instances which initialises many
+  // low-level objects (such as PostTask, ChromeBrowserStateManager, named
+  // threads, ApplicationContext, ...). Using the corresponding features when
+  // the InitStage is below this stage is unsupported. Most likely, you want
+  // all new stages to be >= InitStageBrowserObjectsForBackgroundHandlers.
+  InitStageBrowserObjectsForBackgroundHandlers,
   // The app is fetching any enterprise policies. The initialization is blocked
   // on this because the policies might have an effect on later init stages.
   InitStageEnterprise,
-  // The app is initializing the browser objects for the background handlers.
-  InitStageBrowserObjectsForBackgroundHandlers,
   // The app is initializing the browser objects for the browser UI (e.g., the
   // browser state).
   InitStageBrowserObjectsForUI,
diff --git a/ios/chrome/app/application_delegate/app_state_unittest.mm b/ios/chrome/app/application_delegate/app_state_unittest.mm
index 3b77b56b..c26e905 100644
--- a/ios/chrome/app/application_delegate/app_state_unittest.mm
+++ b/ios/chrome/app/application_delegate/app_state_unittest.mm
@@ -111,11 +111,11 @@
       break;
     case InitStageSafeMode:
       break;
-    case InitStageEnterprise:
-      break;
     case InitStageBrowserObjectsForBackgroundHandlers:
       [appState queueTransitionToNextInitStage];
       break;
+    case InitStageEnterprise:
+      break;
     case InitStageBrowserObjectsForUI:
       [appState queueTransitionToNextInitStage];
       break;
diff --git a/ios/chrome/app/main_application_delegate.mm b/ios/chrome/app/main_application_delegate.mm
index 2c4caf0..bd494bc 100644
--- a/ios/chrome/app/main_application_delegate.mm
+++ b/ios/chrome/app/main_application_delegate.mm
@@ -293,13 +293,6 @@
   }
 }
 
-#pragma mark - optionals from UIApplicationDelegate required by ChromeInternal
-
-// TODO(crbug.com/1227456): Remove when fixed in ChromeInternal
-- (UIWindow*)window {
-  return GetAnyKeyWindow();
-}
-
 #pragma mark - Testing methods
 
 - (MainController*)mainController {
diff --git a/ios/chrome/app/main_controller.mm b/ios/chrome/app/main_controller.mm
index f9bf541..18ccb7d 100644
--- a/ios/chrome/app/main_controller.mm
+++ b/ios/chrome/app/main_controller.mm
@@ -639,12 +639,12 @@
     case InitStageSafeMode:
       [self addPostSafeModeAgents];
       break;
-    case InitStageEnterprise:
-      break;
     case InitStageBrowserObjectsForBackgroundHandlers:
       [self startUpBrowserBackgroundInitialization];
       [appState queueTransitionToNextInitStage];
       break;
+    case InitStageEnterprise:
+      break;
     case InitStageBrowserObjectsForUI:
       // When adding a new initialization flow, consider setting
       // |_appState.userInteracted| at the appropriate time.
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-1024.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-1024.png
index 2276c75e..51df6b1 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-1024.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-1024.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-120.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-120.png
index 5a59378..ab4d6c8 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-120.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-120.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-152.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-152.png
index 7c4f8b9..a42082e 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-152.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-152.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-167.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-167.png
index 2f6b743..12c1767d 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-167.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-167.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-180.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-180.png
index efbdd17..02e33f9 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-180.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-180.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-29.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-29.png
index 57c58c9..9c8cca6 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-29.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-29.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-40.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-40.png
index 0406667..53256da 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-40.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-40.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-58.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-58.png
index 2a7b8547..a2eda54 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-58.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-58.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-80.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-80.png
index c78cba89..9264752c 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-80.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-80.png
Binary files differ
diff --git a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-87.png b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-87.png
index 4c038d3d..cd458bb 100644
--- a/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-87.png
+++ b/ios/chrome/app/resources/chromium/AppIcon.appiconset/Icon-87.png
Binary files differ
diff --git a/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@2x.png b/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@2x.png
index 35a12b2..9ec9aba 100644
--- a/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@2x.png
+++ b/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@2x.png
Binary files differ
diff --git a/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@3x.png b/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@3x.png
index ca309d4e..432a40d 100644
--- a/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@3x.png
+++ b/ios/chrome/app/resources/launchscreen_app_logo.imageset/launchscreen_app_logo@3x.png
Binary files differ
diff --git a/ios/chrome/app/strings/resources/ios_strings_af.xtb b/ios/chrome/app/strings/resources/ios_strings_af.xtb
index 2c7aa97..4ad0ebd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_af.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privaat</translation>
 <translation id="5188482106078495165">Jou webkoekiesinstelling is van toepassing op alle oortjies. Herlaai die oortjie om 'n nuwe instelling op 'n oop oortjie toe te pas.</translation>
 <translation id="5190835502935405962">Boekmerkebalk</translation>
+<translation id="519530786644929958">Kon nie aflaai nie en kan nie weer probeer nie.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Maak oortjie toe</translation>
 <translation id="5228579091201413441">Aktiveer sinkronisering</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index be57add6..78e02dc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">የግል</translation>
 <translation id="5188482106078495165">የኩኪዎችዎ ቅንብር በሁሉም ትሮች ላይ ተፈጻሚ ይሆናል። በክፍት ትር ላይ አዲስ ቅንብርን ለመተግበር ትሩን እንደገና ይጫኑት።</translation>
 <translation id="5190835502935405962">የዕልባቶች አሞሌ</translation>
+<translation id="519530786644929958">ማውረድ አልተሳካም እና እንደገና መሞከር አይቻልም።</translation>
 <translation id="5197255632782567636">በይነመረብ</translation>
 <translation id="5210365745912300556">ትር ዝጋ</translation>
 <translation id="5228579091201413441">ማመሳሰልን አንቃ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index 6c30360..4caac01 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -453,6 +453,7 @@
 <translation id="5186185447130319458">خاص</translation>
 <translation id="5188482106078495165">تنطبق إعدادات ملفات تعريف الارتباط على جميع علامات التبويب. ولتطبيق إعدادات جديدة في علامة تبويب مفتوحة، يجب إعادة تحميل علامة التبويب.</translation>
 <translation id="5190835502935405962">شريط الإشارات</translation>
+<translation id="519530786644929958">تعذّر تنزيل الملف ولا يمكن إعادة المحاولة.</translation>
 <translation id="5197255632782567636">الإنترنت</translation>
 <translation id="5210365745912300556">إغلاق علامة التبويب</translation>
 <translation id="5228579091201413441">تفعيل المزامنة</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_az.xtb b/ios/chrome/app/strings/resources/ios_strings_az.xtb
index 3d25469..5ad460e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_az.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_az.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Şəxsi</translation>
 <translation id="5188482106078495165">Kuki ayarınız bütün tablara tətbiq edilir. Açıq taba yeni ayar tətbiq etmək üçün tabı yenidən yükləyin.</translation>
 <translation id="5190835502935405962">Əlfəcinlər Paneli</translation>
+<translation id="519530786644929958">Endirmə uğursuz oldu və yenidən cəhd etmək mümkün deyil.</translation>
 <translation id="5197255632782567636">internet</translation>
 <translation id="5210365745912300556">Paneli qapadın</translation>
 <translation id="5228579091201413441">Sinxronizasiyanı aktiv edin</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
index e190cd7c..21f7f7bf 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
@@ -297,7 +297,7 @@
 <translation id="3607167657931203000">Podaci automatskog popunjavanja</translation>
 <translation id="3609785682760573515">Sinhroniziranje…</translation>
 <translation id="3631443864840848029">Vodite računa da pohranite trenutnu lozinku za ovu web lokaciju.</translation>
-<translation id="3638472932233958418">Unapr. učit. web str.</translation>
+<translation id="3638472932233958418">Predučitaj web stranice</translation>
 <translation id="3661160521073045932">Dostupan je profil konfiguracije</translation>
 <translation id="3670030362669914947">Broj</translation>
 <translation id="3691593122358196899">Oznaka je pohranjena u folderu <ph name="FOLDER_TITLE" /></translation>
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privatno</translation>
 <translation id="5188482106078495165">Postavka kolačića se primjenjuje na sve kartice. Da primijenite novu postavku na otvorenu karticu, ponovo učitajte karticu.</translation>
 <translation id="5190835502935405962">Traka oznaka</translation>
+<translation id="519530786644929958">Preuzimanje nije uspjelo i ne može se ponoviti.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Zatvorite karticu.</translation>
 <translation id="5228579091201413441">Omogući sinhronizaciju</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index 65839b3..98a7ae8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Soukromé</translation>
 <translation id="5188482106078495165">Nastavení souborů cookie se vztahuje na všechny karty. Pokud v otevřené kartě chcete použít nové nastavení, znovu ji načtěte.</translation>
 <translation id="5190835502935405962">Lišta záložek</translation>
+<translation id="519530786644929958">Stahování neúspěšné, nelze obnovit.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Zavřít kartu</translation>
 <translation id="5228579091201413441">Aktivace synchronizace</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 330af63d..833e2aa 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privat</translation>
 <translation id="5188482106078495165">Dine cookieindstillinger gælder for alle faner. Du kan anvende en ny indstilling i en åben fane ved at genindlæse fanen.</translation>
 <translation id="5190835502935405962">Bogmærkelinje</translation>
+<translation id="519530786644929958">Downloaden mislykkedes og kan ikke gentages.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Luk fanen</translation>
 <translation id="5228579091201413441">Aktivér synkronisering</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index 17b2594..5053a635 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privat</translation>
 <translation id="5188482106078495165">Ihre Cookie-Einstellung gilt für alle Tabs. Wenn Sie eine neue Einstellung auf einen geöffneten Tab anwenden möchten, aktualisieren Sie den Tab.</translation>
 <translation id="5190835502935405962">Lesezeichenleiste</translation>
+<translation id="519530786644929958">Der Download ist fehlgeschlagen und kann nicht wiederholt werden.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Schließen</translation>
 <translation id="5228579091201413441">Synchronisierung aktivieren</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index 5c927a2..8138235 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">خصوصی</translation>
 <translation id="5188482106078495165">تنظیمات کوکی برای همه برگه‌ها اعمال می‌شود. برای اعمال تنظیم جدید در یکی از برگه‌های باز، برگه را تازه‌سازی کنید.</translation>
 <translation id="5190835502935405962">نوار نشانک‌ها</translation>
+<translation id="519530786644929958">بارگیری موفق نبود و نمی‌توان آن را دوباره انجام داد.</translation>
 <translation id="5197255632782567636">اینترنت</translation>
 <translation id="5210365745912300556">بستن برگه</translation>
 <translation id="5228579091201413441">فعال کردن همگام‌سازی</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index de0be02..fcae2e8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">ખાનગી</translation>
 <translation id="5188482106078495165">તમારી કુકીનાં સેટિંગ બધી ટૅબ પર લાગુ થાય છે. કોઈ ખુલ્લી ટૅબ પર નવું સેટિંગ લાગુ કરવા માટે, ટૅબ ફરીથી લોડ કરો.</translation>
 <translation id="5190835502935405962">બુકમાર્ક બાર</translation>
+<translation id="519530786644929958">ડાઉનલોડ કરવામાં નિષ્ફ્ળતા મળી અને ફરી પ્રયાસ કરી શકાય નહીં.</translation>
 <translation id="5197255632782567636">ઇન્ટરનેટ</translation>
 <translation id="5210365745912300556">ટૅબ બંધ કરો</translation>
 <translation id="5228579091201413441">સિંક ચાલુ કરો</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 7d61741..ded1783e8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">निजी</translation>
 <translation id="5188482106078495165">आपकी कुकी सेटिंग सभी टैब पर लागू होती है. खुले हुए टैब पर नई सेटिंग लागू करने के लिए, टैब को फिर से लोड करें.</translation>
 <translation id="5190835502935405962">बुकमार्क बार</translation>
+<translation id="519530786644929958">डाउनलोड नहीं की जा सकी. दोबारा कोशिश नहीं की जा सकती.</translation>
 <translation id="5197255632782567636">इंटरनेट</translation>
 <translation id="5210365745912300556">टैब बंद करें</translation>
 <translation id="5228579091201413441">सिंक चालू करें</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index ba593c3..069e3ae 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privatno</translation>
 <translation id="5188482106078495165">Vaša postavka kolačića primjenjuje se na sve kartice. Da biste primijenili novu postavku na otvorenu karticu, ponovo učitajte tu karticu.</translation>
 <translation id="5190835502935405962">Traka oznaka</translation>
+<translation id="519530786644929958">Preuzimanje nije uspjelo i nije moguće pokušati ponovno.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Zatvori karticu</translation>
 <translation id="5228579091201413441">Omogući sinkronizaciju</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hy.xtb b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
index e7256d9..b71a12a8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hy.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Գաղտնի</translation>
 <translation id="5188482106078495165">Ձեր քուքիների կարգավորումները կիրառվում են բոլոր ներդիրներում։ Եթե նոր կարգավորումն ուզում եք կիրառել բացված ներդիրում, վերաբեռնեք այն։</translation>
 <translation id="5190835502935405962">Էջանիշների գոտի</translation>
+<translation id="519530786644929958">Ներբեռնումը ձախողվեց, և այն հնարավոր չէ կրկնել։</translation>
 <translation id="5197255632782567636">Համացանց</translation>
 <translation id="5210365745912300556">Փակել ներդիրը</translation>
 <translation id="5228579091201413441">Միացնել համաժամացումը</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 6d3be47..fd43926 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Pribadi</translation>
 <translation id="5188482106078495165">Setelan cookie berlaku untuk semua tab. Untuk menerapkan setelan baru pada tab yang terbuka, muat ulang tab.</translation>
 <translation id="5190835502935405962">Bilah Bookmark</translation>
+<translation id="519530786644929958">Download gagal dan tidak dapat dicoba lagi.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Tutup tab</translation>
 <translation id="5228579091201413441">Aktifkan sinkronisasi</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index e86cda5..5965452 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privata</translation>
 <translation id="5188482106078495165">L'impostazione relativa ai cookie viene applicata a tutte le schede. Per applicare una nuova impostazione a una scheda aperta, ricarica la scheda.</translation>
 <translation id="5190835502935405962">Barra dei Preferiti</translation>
+<translation id="519530786644929958">Download non riuscito. Impossibile riprovare.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Chiudi scheda</translation>
 <translation id="5228579091201413441">Abilita sincronizzazione</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index 0e1bbd40..ae9a8fd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">פרטי</translation>
 <translation id="5188482106078495165">‏הגדרת קובצי ה-cookie שלך חלה על כל הכרטיסיות. כדי להחיל הגדרה חדשה על כרטיסייה פתוחה יש לטעון את הכרטיסייה מחדש.</translation>
 <translation id="5190835502935405962">סרגל הסימניות</translation>
+<translation id="519530786644929958">ההורדה נכשלה ואי אפשר לנסות שוב.</translation>
 <translation id="5197255632782567636">אינטרנט</translation>
 <translation id="5210365745912300556">סגירת כרטיסייה</translation>
 <translation id="5228579091201413441">הפעלת סנכרון</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
index 2f00f43..7949b66 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">プライベート接続</translation>
 <translation id="5188482106078495165">Cookie の設定はすべてのタブに適用されます。開いているタブに新しい設定を適用するには、タブを再読み込みしてください。</translation>
 <translation id="5190835502935405962">ブックマーク バー</translation>
+<translation id="519530786644929958">ダウンロードに失敗し、再試行できません。</translation>
 <translation id="5197255632782567636">インターネット</translation>
 <translation id="5210365745912300556">タブを閉じる</translation>
 <translation id="5228579091201413441">同期を有効にする</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index c75ad4e..5c2555a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">ಖಾಸಗಿ</translation>
 <translation id="5188482106078495165">ನಿಮ್ಮ ಕುಕೀಗಳ ಸೆಟ್ಟಿಂಗ್ ಎಲ್ಲಾ ಟ್ಯಾಬ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ. ತೆರೆದ ಟ್ಯಾಬ್‌ ಒಂದಕ್ಕೆ ಹೊಸ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಅನ್ವಯಿಸಲು, ಟ್ಯಾಬ್ ಅನ್ನು ಮರುಲೋಡ್ ಮಾಡಿ.</translation>
 <translation id="5190835502935405962">ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳ ಬಾರ್</translation>
+<translation id="519530786644929958">ಡೌನ್‌ಲೋಡ್ ವಿಫಲವಾಗಿದೆ ಮತ್ತು ಮರುಪ್ರಯತ್ನಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
 <translation id="5197255632782567636">ಇಂಟರ್ನೆಟ್</translation>
 <translation id="5210365745912300556">ಟ್ಯಾಬ್ ಅನ್ನು ಮುಚ್ಚಿ</translation>
 <translation id="5228579091201413441">ಸಿಂಕ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
index 037950ab..84a0e11 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Купуя</translation>
 <translation id="5188482106078495165">Cookie файлдарыңыздын жөндөөсү бардык өтмөктөргө карата колдонулат. Жаңы жөндөөнү ачык өтмөккө карата колдонуу үчүн өтмөктү кайрадан жүктөңүз.</translation>
 <translation id="5190835502935405962">Кыстармалар тилкеси</translation>
+<translation id="519530786644929958">Жүктөлүп алынган жок. Бул аракетти кайталоо мүмкүн эмес.</translation>
 <translation id="5197255632782567636">Интернет</translation>
 <translation id="5210365745912300556">Өтмөктү жабуу</translation>
 <translation id="5228579091201413441">Шайкештирүүнү иштетүү</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
index d31456d..64c06ca 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">ສ່ວນຕົວ</translation>
 <translation id="5188482106078495165">ການຕັ້ງຄ່າຄຸກກີ້ຂອງທ່ານນຳໃຊ້ກັບແຖບທັງໝົດ. ເພື່ອນຳໃຊ້ການຕັ້ງຄ່າໃໝ່ກັບແຖບເປີດ, ກະລຸນາໂຫຼດແຖບ.</translation>
 <translation id="5190835502935405962">ແຖບບຸກມາກສ໌</translation>
+<translation id="519530786644929958">ດາວໂຫຼດບໍ່ສຳເລັດ ແລະ ບໍ່ສາມາດລອງໃໝ່ໄດ້.</translation>
 <translation id="5197255632782567636">ອິນ​ເຕີ​ເນັດ</translation>
 <translation id="5210365745912300556">ປິດແຖບ</translation>
 <translation id="5228579091201413441">ເປີດໃຊ້ງານຊິງຄ໌</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mk.xtb b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
index 12a93727..e86acf9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Приватен</translation>
 <translation id="5188482106078495165">Поставката за колачиња се применува на сите картички. За да примените нова поставка на отворена картичка, вчитајте ја картичката повторно.</translation>
 <translation id="5190835502935405962">Лента со обележувачи</translation>
+<translation id="519530786644929958">Преземањето не успеа и не може да се повтори.</translation>
 <translation id="5197255632782567636">Интернет</translation>
 <translation id="5210365745912300556">Затвори ја картичката</translation>
 <translation id="5228579091201413441">Овозможи синхронизација</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index 3c275cd8..eb22a950 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -85,6 +85,7 @@
 <translation id="1620510694547887537">ക്യാമറ</translation>
 <translation id="1644574205037202324">ചരിത്രം</translation>
 <translation id="1650222530560417226">എല്ലാ ടാബുകളിൽ നിന്നും ഭാവി JavaScript കൺസോൾ ലോഗുകളും പിശകുകളും ശേഖരിക്കാൻ, "ലോഗിംഗ് ആരംഭിക്കുക" ബട്ടൺ ടാപ്പ് ചെയ്യുക. ഈ പേജ് അടയ്ക്കുന്നതുവരെയോ "ലോഗിംഗ് നിർത്തുക" ടാപ്പ് ചെയ്യുന്നതുവരെയോ ലോഗുകൾ ശേഖരിക്കും (കൂടാതെ മെമ്മറിയിൽ മാത്രം സ്‌റ്റോർ ചെയ്യുന്നു).</translation>
+<translation id="1654232554734641711">മൈക്രോഫോൺ ആക്‌സസ് അനുവദിച്ചിരിക്കുന്നു</translation>
 <translation id="1657011748321897393">നിങ്ങൾ ഒരു നെറ്റ്‌വർക്കുമായി കണക്റ്റ് ചെയ്യാത്തതിനാൽ പങ്കിടൽ പരാജയപ്പെട്ടു.</translation>
 <translation id="1657641691196698092">ബ്ലോക്ക് ചെയ്‌ത കുക്കികൾ</translation>
 <translation id="165877110639533037">തുറന്ന ടാബുകൾ ഒന്നുമില്ല</translation>
@@ -396,6 +397,7 @@
 <translation id="4682686630151240767">1. iPhone ക്രമീകരണം തുറക്കുക</translation>
 <translation id="4689564913179979534">പേയ്മെന്റ് രീതികൾ മാനേജ് ചെയ്യുക...</translation>
 <translation id="470966556546083668">സമന്വയിപ്പിക്കൽ ഓണാക്കരുത്</translation>
+<translation id="4731472194328757163">ക്യാമറ, മൈക്രോഫോൺ ആക്‌സസ് അനുവദിച്ചിരിക്കുന്നു</translation>
 <translation id="473775607612524610">അപ്ഡേറ്റ് ചെയ്യുക</translation>
 <translation id="4747097190499141774">പാസ്‌ഫ്രെയ്‌സ് എൻക്രിപ്ഷനിൽ, Google Pay-ൽ നിന്നുള്ള പേയ്മെന്‍റ് രീതികളും വിലാസങ്ങളും ഉൾപ്പെടുന്നില്ല. നിങ്ങളുടെ പാസ്‌ഫ്രെയ്‌സുള്ള വ്യക്തിക്ക് മാത്രമേ എൻക്രി‌പ്‌റ്റ് ചെയ്‌ത ഡാറ്റ വായിക്കാനാവൂ. പാസ്‌ഫ്രെയ്‌സ് Google-ലേക്ക് അയയ്‌ക്കുകയോ സംഭരിക്കുകയോ ചെയ്യുന്നില്ല. പാസ്‌ഫ്രെയ്‌സ് മറന്നുപോവുകയോ ഈ ക്രമീകരണം മാറ്റുകയോ ചെയ്യണമെങ്കിൽ, സമന്വയം പുനഃക്രമീകരിക്കേണ്ടി വരും. <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation>
 <translation id="4751645464639803239">പുതിയ അദൃശ്യ ടാബ്</translation>
@@ -547,6 +549,7 @@
 <translation id="6059830886158432458">നിങ്ങളുടെ സ്‌റ്റോറികളും ആക്റ്റിവിറ്റികളും ഇവിടെ നിയന്ത്രിക്കുക</translation>
 <translation id="6064824697233747382">സമന്വയിപ്പിക്കൽ ഓഫാക്കാൻ നിങ്ങളുടെ സ്ഥാപനം ആവശ്യപ്പെടുന്നു.</translation>
 <translation id="6066301408025741299">റദ്ദാക്കുന്നതിന് ടാപ്പ് ചെയ്യുക.</translation>
+<translation id="6077126322656614846">ക്യാമറ ആക്‌സസ് അനുവദിച്ചിരിക്കുന്നു</translation>
 <translation id="60829778314739003">അംഗീകരിച്ച് തുടരുക</translation>
 <translation id="6084848228346514841">ടാബുകൾ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="6103540626693881831">ഉപകരണത്തിലെ എൻക്രിപ്ഷൻ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index 7b21101..0bedff84 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -453,6 +453,7 @@
 <translation id="5186185447130319458">खाजगी</translation>
 <translation id="5188482106078495165">तुमची कुकी सेटिंग्ज सर्व टॅबना लागू होतात. उघड्या टॅबवर नवीन सेटिंग लागू करण्यासाठी, टॅब रीलोड करा.</translation>
 <translation id="5190835502935405962">बुकमार्क बार</translation>
+<translation id="519530786644929958">डाउनलोड करता आली नाही आणि पुन्हा प्रयत्न करू शकत नाही.</translation>
 <translation id="5197255632782567636">इंटरनेट</translation>
 <translation id="5210365745912300556">टॅब बंद करा</translation>
 <translation id="5228579091201413441">सिंक सुरू करा</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_my.xtb b/ios/chrome/app/strings/resources/ios_strings_my.xtb
index 21ff4df..9b76b5bb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_my.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_my.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">ကိုယ်ပိုင်သီးသန့်</translation>
 <translation id="5188482106078495165">သင့်ကွတ်ကီးများဆက်တင်က တဘ်အားလုံးသို့ သက်ရောက်ပါသည်။ ဖွင့်ထားသောတဘ်သို့ ဆက်တင်အသစ်ထည့်သွင်းရန် တဘ်ကိုပြန်စတင်ပါ။</translation>
 <translation id="5190835502935405962">စာညှပ် ဘား</translation>
+<translation id="519530786644929958">ဒေါင်းလုဒ်လုပ်၍မရပါ။ ထပ်မံမလုပ်နိုင်ပါ။</translation>
 <translation id="5197255632782567636">အင်တာနက်</translation>
 <translation id="5210365745912300556">တဘ် ပိတ်ရန်</translation>
 <translation id="5228579091201413441">စင့်က် ဖွင့်ထားရန်</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index 3f4761b7..7e09f20 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privé</translation>
 <translation id="5188482106078495165">Je cookie-instellingen zijn van toepassing op alle tabbladen. Als je een nieuwe instelling wilt toepassen op een geopend tabblad, laad je het tabblad opnieuw.</translation>
 <translation id="5190835502935405962">Bookmarkbalk</translation>
+<translation id="519530786644929958">Downloaden is mislukt en kan niet opnieuw worden geprobeerd.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Tabblad sluiten</translation>
 <translation id="5228579091201413441">Synchronisatie aanzetten</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb
index 728e3d95..5a9ba86 100644
--- a/ios/chrome/app/strings/resources/ios_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Privat</translation>
 <translation id="5188482106078495165">Innstillingen for informasjonskapsler gjelder for alle faner. For å ta i bruk en ny innstilling på en åpen fane, last inn fanen på nytt.</translation>
 <translation id="5190835502935405962">Bokmerkerad</translation>
+<translation id="519530786644929958">Nedlastingen mislyktes. Det er ikke mulig å prøve på nytt.</translation>
 <translation id="5197255632782567636">Internett</translation>
 <translation id="5210365745912300556">Lukk fanen</translation>
 <translation id="5228579091201413441">Slå på synkronisering</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index 89ebb80..ddcdbef2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -450,6 +450,7 @@
 <translation id="5186185447130319458">Prywatna</translation>
 <translation id="5188482106078495165">Ustawienie plików cookie obowiązuje w odniesieniu do wszystkich kart. Aby zastosować nowe ustawienie do otwartej karty, załaduj ją ponownie.</translation>
 <translation id="5190835502935405962">Pasek zakładek</translation>
+<translation id="519530786644929958">Pobieranie się nie udało i nie można go powtórzyć.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Zamknij kartę</translation>
 <translation id="5228579091201413441">Włącz synchronizację</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_si.xtb b/ios/chrome/app/strings/resources/ios_strings_si.xtb
index 37f9eeb3..30b984c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_si.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_si.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">රහසිගත</translation>
 <translation id="5188482106078495165">ඔබේ කුකි සැකසීම සියලු ටැබවලට යෙදේ. නව සැකසීමක් විවෘත ටැබයකට යෙදීමට, ටැබය නැවත පූරණය කරන්න.</translation>
 <translation id="5190835502935405962">පොත්සලකුණු තීරුව</translation>
+<translation id="519530786644929958">බාගැනීම අසාර්ථක වූ අතර යළි උත්සාහ කළ නොහැකිය.</translation>
 <translation id="5197255632782567636">අන්තර්ජාලය</translation>
 <translation id="5210365745912300556">ටැබය වසන්න</translation>
 <translation id="5228579091201413441">සමමුහුර්ත කිරීම සබල කරන්න</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
index 7e3e837f..61d2b176 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Zasebno</translation>
 <translation id="5188482106078495165">Nastavitev piškotkov velja za vse zavihke. Če želite uporabiti novo nastavitev na odprtem zavihku, ga znova naložite.</translation>
 <translation id="5190835502935405962">Vrstica z zaznamki</translation>
+<translation id="519530786644929958">Prenos ni uspel in ga ni mogoče poskusiti znova.</translation>
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5210365745912300556">Zapri zavihek</translation>
 <translation id="5228579091201413441">Omogoči sinhronizacijo</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
index 2763be6..0748ec0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">தனிப்பட்டது</translation>
 <translation id="5188482106078495165">குக்கீகளுக்கான உங்கள் அமைப்பு அனைத்துத் தாவல்களுக்கும் பொருந்தும். திறந்திருக்கும் தாவலை புதிய அமைப்புக்கு உட்படுத்த, அதை ரெஃப்ரெஷ் செய்யவும்.</translation>
 <translation id="5190835502935405962">புக்மார்க் பட்டி</translation>
+<translation id="519530786644929958">பதிவிறக்க முடியவில்லை, இதை மீண்டும் முயல முடியாது.</translation>
 <translation id="5197255632782567636">இணையம்</translation>
 <translation id="5210365745912300556">தாவலை மூடுக</translation>
 <translation id="5228579091201413441">ஒத்திசைவை இயக்கு</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index 83d9f518..167e5f4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">ส่วนตัว</translation>
 <translation id="5188482106078495165">การตั้งค่าคุกกี้จะมีผลกับทุกแท็บ โหลดแท็บซ้ำเพื่อให้การตั้งค่าใหม่มีผลกับแท็บที่เปิดอยู่</translation>
 <translation id="5190835502935405962">แถบบุ๊กมาร์ก</translation>
+<translation id="519530786644929958">ดาวน์โหลดไม่สำเร็จและลองอีกครั้งไม่ได้</translation>
 <translation id="5197255632782567636">อินเทอร์เน็ต</translation>
 <translation id="5210365745912300556">ปิดแท็บ</translation>
 <translation id="5228579091201413441">เปิดใช้การซิงค์</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
index a2851d0..334960b7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Gizli</translation>
 <translation id="5188482106078495165">Çerez ayarlarınız tüm sekmelere uygulanır. Açık bir sekmeye yeni bir ayar uygulamak için sekmeyi yeniden yükleyin.</translation>
 <translation id="5190835502935405962">Yer İşareti Çubuğu</translation>
+<translation id="519530786644929958">İndirme başarısız oldu ve tekrar denenemez.</translation>
 <translation id="5197255632782567636">İnternet</translation>
 <translation id="5210365745912300556">Sekmeyi kapat</translation>
 <translation id="5228579091201413441">Senkronizasyonu etkinleştir</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
index 86b263a..9a5178a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">نجی</translation>
 <translation id="5188482106078495165">آپ کی کوکیز کی ترتیب سبھی ٹیبز پر لاگو ہوتی ہے۔ ایک کھلے ٹیب پر نئی ترتیب لاگو کرنے کیلئے، ٹیب کو دوبارہ لوڈ کریں۔</translation>
 <translation id="5190835502935405962">بُک مارکس بار</translation>
+<translation id="519530786644929958">ڈاؤن لوڈ کرنے میں ناکام اور دوبارہ کوشش نہیں کی جا سکتی۔</translation>
 <translation id="5197255632782567636">انٹرنیٹ</translation>
 <translation id="5210365745912300556">ٹیب بند کریں</translation>
 <translation id="5228579091201413441">مطابقت پذیری فعال کریں</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 da54bc3..4b6b955 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">不公开</translation>
 <translation id="5188482106078495165">您的 Cookie 设置适用于所有标签页。若要对某个已打开的标签页应用新设置,请重新加载该标签页。</translation>
 <translation id="5190835502935405962">书签栏</translation>
+<translation id="519530786644929958">下载失败,无法重试。</translation>
 <translation id="5197255632782567636">互联网</translation>
 <translation id="5210365745912300556">关闭标签页</translation>
 <translation id="5228579091201413441">启用同步功能</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 698d3fdb..9dbe76c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">私人</translation>
 <translation id="5188482106078495165">您的 Cookie 設定會套用至所有分頁。如要為已開啟的分頁套用新設定,請重新載入分頁。</translation>
 <translation id="5190835502935405962">書籤列</translation>
+<translation id="519530786644929958">下載失敗且無法重試。</translation>
 <translation id="5197255632782567636">互聯網</translation>
 <translation id="5210365745912300556">關閉分頁</translation>
 <translation id="5228579091201413441">啟用同步功能</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 833ac77..762d801 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">私人</translation>
 <translation id="5188482106078495165">你的 Cookie 設定會套用到所有分頁。如要將新的設定套用到已開啟的分頁,請重新載入分頁。</translation>
 <translation id="5190835502935405962">書籤列</translation>
+<translation id="519530786644929958">下載失敗且無法重試。</translation>
 <translation id="5197255632782567636">網際網路</translation>
 <translation id="5210365745912300556">關閉分頁</translation>
 <translation id="5228579091201413441">啟用同步功能</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zu.xtb b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
index dbd30152..5f7f417 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
@@ -452,6 +452,7 @@
 <translation id="5186185447130319458">Okuyimfihlo</translation>
 <translation id="5188482106078495165">Isethingi lamakhukhi wakho lisebenza kuwo wonke amathebhu. Ukuze usebenzise isethingi entsha ukuvula ithebhu, layisha kabusha ithebhu.</translation>
 <translation id="5190835502935405962">Ibha yamabhukhimakhi</translation>
+<translation id="519530786644929958">Ukudawuniloda kuhlulekile futhi akukwazi ukuphinda kuzanywe.</translation>
 <translation id="5197255632782567636">I-inthanethi</translation>
 <translation id="5210365745912300556">Vala ithebhu</translation>
 <translation id="5228579091201413441">Nika amandla ukuvumelanisa</translation>
diff --git a/ios/chrome/browser/discover_feed/discover_feed_service.h b/ios/chrome/browser/discover_feed/discover_feed_service.h
index abe1ac92..1058b98a 100644
--- a/ios/chrome/browser/discover_feed/discover_feed_service.h
+++ b/ios/chrome/browser/discover_feed/discover_feed_service.h
@@ -28,10 +28,6 @@
 
   ~DiscoverFeedService() override;
 
-  // Returns the FeedMetricsRecorder to be used by the Feed, a single instance
-  // of FeedMetricsRecorder needs to be used per BrowserState.
-  FeedMetricsRecorder* GetFeedMetricsRecorder();
-
   // KeyedService:
   void Shutdown() override;
 
diff --git a/ios/chrome/browser/discover_feed/discover_feed_service.mm b/ios/chrome/browser/discover_feed/discover_feed_service.mm
index dc03f2eb..a35ab57 100644
--- a/ios/chrome/browser/discover_feed/discover_feed_service.mm
+++ b/ios/chrome/browser/discover_feed/discover_feed_service.mm
@@ -28,16 +28,12 @@
   discover_config.authService = authentication_service;
   discover_config.prefService = pref_service;
   discover_config.metricsRecorder = feed_metrics_recorder_;
-  ios::GetChromeBrowserProvider().GetDiscoverFeedProvider()->StartFeed(
+  ios::GetChromeBrowserProvider().GetDiscoverFeedProvider()->StartFeedService(
       discover_config);
 }
 
 DiscoverFeedService::~DiscoverFeedService() {}
 
-FeedMetricsRecorder* DiscoverFeedService::GetFeedMetricsRecorder() {
-  return feed_metrics_recorder_;
-}
-
 void DiscoverFeedService::Shutdown() {
   identity_manager_observation_.Reset();
 
diff --git a/ios/chrome/browser/ntp/new_tab_page_tab_helper_delegate.h b/ios/chrome/browser/ntp/new_tab_page_tab_helper_delegate.h
index 67277ea..3b7f38081 100644
--- a/ios/chrome/browser/ntp/new_tab_page_tab_helper_delegate.h
+++ b/ios/chrome/browser/ntp/new_tab_page_tab_helper_delegate.h
@@ -6,6 +6,9 @@
 #define IOS_CHROME_BROWSER_NTP_NEW_TAB_PAGE_TAB_HELPER_DELEGATE_H_
 
 class NewTabPageTabHelper;
+namespace web {
+class WebState;
+}
 
 // Protocol defining a delegate for the NTP tab helper.
 @protocol NewTabPageTabHelperDelegate
diff --git a/ios/chrome/browser/signin/BUILD.gn b/ios/chrome/browser/signin/BUILD.gn
index da794c7..45fc7cc 100644
--- a/ios/chrome/browser/signin/BUILD.gn
+++ b/ios/chrome/browser/signin/BUILD.gn
@@ -7,6 +7,8 @@
   sources = [
     "about_signin_internals_factory.cc",
     "about_signin_internals_factory.h",
+    "account_consistency_browser_agent.h",
+    "account_consistency_browser_agent.mm",
     "account_consistency_service_factory.h",
     "account_consistency_service_factory.mm",
     "account_reconcilor_factory.cc",
@@ -78,12 +80,15 @@
     "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/content_settings",
     "//ios/chrome/browser/crash_report",
+    "//ios/chrome/browser/main:public",
     "//ios/chrome/browser/policy:policy_util",
     "//ios/chrome/browser/reading_list:reading_list_remover",
     "//ios/chrome/browser/ui/authentication/signin:signin_headers",
     "//ios/chrome/browser/ui/commands",
     "//ios/chrome/browser/ui/table_view/cells:cells_constants",
     "//ios/chrome/browser/ui/util",
+    "//ios/chrome/browser/web",
+    "//ios/chrome/browser/web_state_list",
     "//ios/chrome/browser/webdata_services",
     "//ios/chrome/common",
     "//ios/chrome/common/ui/util:image_util",
diff --git a/ios/chrome/browser/signin/account_consistency_browser_agent.h b/ios/chrome/browser/signin/account_consistency_browser_agent.h
new file mode 100644
index 0000000..6e5adc3
--- /dev/null
+++ b/ios/chrome/browser/signin/account_consistency_browser_agent.h
@@ -0,0 +1,73 @@
+// 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 IOS_CHROME_BROWSER_SIGNIN_ACCOUNT_CONSISTENCY_BROWSER_AGENT_H_
+#define IOS_CHROME_BROWSER_SIGNIN_ACCOUNT_CONSISTENCY_BROWSER_AGENT_H_
+
+#import "ios/chrome/browser/main/browser_observer.h"
+#import "ios/chrome/browser/main/browser_user_data.h"
+#import "ios/chrome/browser/web_state_list/web_state_dependency_installation_observer.h"
+
+@protocol ApplicationCommands;
+class Browser;
+@class SceneState;
+@class ManageAccountsDelegateBridge;
+@class UIViewController;
+
+// A browser agent that tracks the addition and removal of webstates, registers
+// them with the AccountConsistencyService, and handles events triggered from
+// them.
+class AccountConsistencyBrowserAgent
+    : public BrowserUserData<AccountConsistencyBrowserAgent>,
+      public DependencyInstaller,
+      BrowserObserver {
+ public:
+  // |browser| is the browser this agent is attached to.
+  // |base_view_controller| is the view controller which UI will be presented
+  // from.
+  static void CreateForBrowser(Browser* browser,
+                               UIViewController* base_view_controller,
+                               id<ApplicationCommands> handler);
+
+  // Not copyable or moveable
+  AccountConsistencyBrowserAgent(const AccountConsistencyBrowserAgent&) =
+      delete;
+  AccountConsistencyBrowserAgent& operator=(
+      const AccountConsistencyBrowserAgent&) = delete;
+  ~AccountConsistencyBrowserAgent() override;
+
+  // DependencyInstaller
+  void InstallDependency(web::WebState* web_state) override;
+  void UninstallDependency(web::WebState* web_state) override;
+
+  // Handlers for the corresponding protocol methods in ManageAccountDelegate.
+  void OnRestoreGaiaCookies();
+  void OnManageAccounts();
+  void OnAddAccount();
+  void OnShowConsistencyPromo(const GURL& url, web::WebState* webState);
+  void OnGoIncognito(const GURL& url);
+
+ private:
+  AccountConsistencyBrowserAgent(Browser* browser,
+                                 UIViewController* base_view_controller,
+                                 id<ApplicationCommands> handler);
+
+  friend class BrowserUserData<AccountConsistencyBrowserAgent>;
+  BROWSER_USER_DATA_KEY_DECL();
+
+  // BrowserObserver
+  void BrowserDestroyed(Browser* browser) override;
+
+  UIViewController* base_view_controller_;
+  id<ApplicationCommands> handler_;
+  Browser* browser_;
+
+  // Bridge object to act as the delegate.
+  ManageAccountsDelegateBridge* bridge_;
+  // Observer to handle webstate registration and deregistration events.
+  std::unique_ptr<WebStateDependencyInstallationObserver>
+      installation_observer_;
+};
+
+#endif  // IOS_CHROME_BROWSER_SIGNIN_ACCOUNT_CONSISTENCY_BROWSER_AGENT_H_
diff --git a/ios/chrome/browser/signin/account_consistency_browser_agent.mm b/ios/chrome/browser/signin/account_consistency_browser_agent.mm
new file mode 100644
index 0000000..cc8dfc6
--- /dev/null
+++ b/ios/chrome/browser/signin/account_consistency_browser_agent.mm
@@ -0,0 +1,180 @@
+// 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.
+
+#import "ios/chrome/browser/signin/account_consistency_browser_agent.h"
+
+#import <UIKit/UIKit.h>
+
+#import "components/signin/core/browser/account_reconcilor.h"
+#import "components/signin/ios/browser/account_consistency_service.h"
+#import "components/signin/ios/browser/manage_accounts_delegate.h"
+#import "ios/chrome/browser/signin/account_consistency_service_factory.h"
+#import "ios/chrome/browser/signin/account_reconcilor_factory.h"
+#import "ios/chrome/browser/ui/commands/application_commands.h"
+#import "ios/chrome/browser/ui/commands/open_new_tab_command.h"
+#import "ios/chrome/browser/ui/commands/show_signin_command.h"
+#import "ios/chrome/browser/web/web_navigation_browser_agent.h"
+#import "ios/chrome/browser/web_state_list/web_state_dependency_installation_observer.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+BROWSER_USER_DATA_KEY_IMPL(AccountConsistencyBrowserAgent)
+
+// Obj-C bridge object to forward ManageAccountsDelegate methods to the browser
+// agent.
+// TODO(crbug.com/1293395): Refactor ManageAccountsDelegate into C++, removing
+// the need for this object.
+@interface ManageAccountsDelegateBridge : NSObject <ManageAccountsDelegate>
+
+- (instancetype)initWithBrowserAgent:(AccountConsistencyBrowserAgent*)agent;
+
+@end
+
+@implementation ManageAccountsDelegateBridge {
+  AccountConsistencyBrowserAgent* _agent;
+}
+
+- (instancetype)initWithBrowserAgent:(AccountConsistencyBrowserAgent*)agent {
+  if (self = [super init]) {
+    _agent = agent;
+  }
+  return self;
+}
+
+- (void)onRestoreGaiaCookies {
+  _agent->OnRestoreGaiaCookies();
+}
+
+- (void)onManageAccounts {
+  _agent->OnManageAccounts();
+}
+
+- (void)onAddAccount {
+  _agent->OnAddAccount();
+}
+
+- (void)onShowConsistencyPromo:(const GURL&)url
+                      webState:(web::WebState*)webState {
+  _agent->OnShowConsistencyPromo(url, webState);
+}
+
+- (void)onGoIncognito:(const GURL&)url {
+  _agent->OnGoIncognito(url);
+}
+
+@end
+
+void AccountConsistencyBrowserAgent::CreateForBrowser(
+    Browser* browser,
+    UIViewController* base_view_controller,
+    id<ApplicationCommands> handler) {
+  DCHECK(browser);
+  if (!FromBrowser(browser)) {
+    browser->SetUserData(UserDataKey(),
+                         base::WrapUnique(new AccountConsistencyBrowserAgent(
+                             browser, base_view_controller, handler)));
+  }
+}
+
+AccountConsistencyBrowserAgent::AccountConsistencyBrowserAgent(
+    Browser* browser,
+    UIViewController* base_view_controller,
+    id<ApplicationCommands> handler)
+    : base_view_controller_(base_view_controller),
+      handler_(handler),
+      browser_(browser) {
+  bridge_ = [[ManageAccountsDelegateBridge alloc] initWithBrowserAgent:this];
+  installation_observer_ =
+      std::make_unique<WebStateDependencyInstallationObserver>(
+          browser->GetWebStateList(), this);
+  browser_->AddObserver(this);
+}
+
+AccountConsistencyBrowserAgent::~AccountConsistencyBrowserAgent() {}
+
+void AccountConsistencyBrowserAgent::InstallDependency(
+    web::WebState* web_state) {
+  if (AccountConsistencyService* accountConsistencyService =
+          ios::AccountConsistencyServiceFactory::GetForBrowserState(
+              browser_->GetBrowserState())) {
+    accountConsistencyService->SetWebStateHandler(web_state, bridge_);
+  }
+}
+
+void AccountConsistencyBrowserAgent::UninstallDependency(
+    web::WebState* web_state) {
+  if (AccountConsistencyService* accountConsistencyService =
+          ios::AccountConsistencyServiceFactory::GetForBrowserState(
+              browser_->GetBrowserState())) {
+    accountConsistencyService->RemoveWebStateHandler(web_state);
+  }
+}
+
+void AccountConsistencyBrowserAgent::OnRestoreGaiaCookies() {
+  signin_metrics::LogAccountReconcilorStateOnGaiaResponse(
+      ios::AccountReconcilorFactory::GetForBrowserState(
+          browser_->GetBrowserState())
+          ->GetState());
+  [handler_
+      showSigninAccountNotificationFromViewController:base_view_controller_];
+}
+
+void AccountConsistencyBrowserAgent::OnManageAccounts() {
+  signin_metrics::LogAccountReconcilorStateOnGaiaResponse(
+      ios::AccountReconcilorFactory::GetForBrowserState(
+          browser_->GetBrowserState())
+          ->GetState());
+  [handler_ showAccountsSettingsFromViewController:base_view_controller_];
+}
+
+void AccountConsistencyBrowserAgent::OnShowConsistencyPromo(
+    const GURL& url,
+    web::WebState* web_state) {
+  signin_metrics::LogAccountReconcilorStateOnGaiaResponse(
+      ios::AccountReconcilorFactory::GetForBrowserState(
+          browser_->GetBrowserState())
+          ->GetState());
+  web::WebState* current_web_state =
+      browser_->GetWebStateList()->GetActiveWebState();
+  if (current_web_state == web_state) {
+    [handler_ showConsistencyPromoFromViewController:base_view_controller_
+                                                 URL:url];
+  }
+}
+
+void AccountConsistencyBrowserAgent::OnAddAccount() {
+  ShowSigninCommand* command = [[ShowSigninCommand alloc]
+      initWithOperation:AUTHENTICATION_OPERATION_ADD_ACCOUNT
+            accessPoint:signin_metrics::AccessPoint::ACCESS_POINT_UNKNOWN];
+  [handler_ showSignin:command baseViewController:base_view_controller_];
+}
+
+void AccountConsistencyBrowserAgent::OnGoIncognito(const GURL& url) {
+  // The user taps on go incognito from the mobile U-turn webpage (the web
+  // page that displays all users accounts available in the content area). As
+  // the user chooses to go to incognito, the mobile U-turn page is no longer
+  // neeeded. The current solution is to go back in history. This has the
+  // advantage of keeping the current browsing session and give a good user
+  // experience when the user comes back from incognito.
+  WebNavigationBrowserAgent::FromBrowser(browser_)->GoBack();
+
+  if (url.is_valid()) {
+    OpenNewTabCommand* command = [[OpenNewTabCommand alloc]
+         initWithURL:url
+            referrer:web::Referrer()  // Strip referrer when switching modes.
+         inIncognito:YES
+        inBackground:NO
+            appendTo:kLastTab];
+    [handler_ openURLInNewTab:command];
+  } else {
+    [handler_ openURLInNewTab:[OpenNewTabCommand command]];
+  }
+}
+
+void AccountConsistencyBrowserAgent::BrowserDestroyed(Browser* browser) {
+  installation_observer_.reset();
+  browser_->RemoveObserver(this);
+}
diff --git a/ios/chrome/browser/signin/pattern_account_restriction_unittest.mm b/ios/chrome/browser/signin/pattern_account_restriction_unittest.mm
index 624219d0..7734c3bb 100644
--- a/ios/chrome/browser/signin/pattern_account_restriction_unittest.mm
+++ b/ios/chrome/browser/signin/pattern_account_restriction_unittest.mm
@@ -26,7 +26,8 @@
   base::Value value{base::Value::Type::LIST};
   value.Append("*gmail.com");
   value.Append("*google.com");
-  auto restriction = PatternAccountRestrictionFromValue(value.GetList());
+  auto restriction =
+      PatternAccountRestrictionFromValue(value.GetListDeprecated());
 
   EXPECT_EQ(restriction->IsAccountRestricted(email1), false);
   EXPECT_EQ(restriction->IsAccountRestricted(email2), false);
@@ -37,7 +38,8 @@
 // restrictions are not set.
 TEST_F(PatternAccountRestrictionTest, FilterEmailsWithoutRestriction) {
   base::Value value{base::Value::Type::LIST};
-  auto restriction = PatternAccountRestrictionFromValue(value.GetList());
+  auto restriction =
+      PatternAccountRestrictionFromValue(value.GetListDeprecated());
 
   EXPECT_EQ(restriction->IsAccountRestricted(email1), false);
   EXPECT_EQ(restriction->IsAccountRestricted(email2), false);
@@ -50,7 +52,8 @@
   base::Value value{base::Value::Type::LIST};
   value.Append("*gmail.com\\");
   value.Append("*google.com");
-  auto restriction = PatternAccountRestrictionFromValue(value.GetList());
+  auto restriction =
+      PatternAccountRestrictionFromValue(value.GetListDeprecated());
 
   EXPECT_EQ(restriction->IsAccountRestricted(email1), true);
   EXPECT_EQ(restriction->IsAccountRestricted(email2), false);
diff --git a/ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.mm b/ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.mm
index e7ad792..0584a32a 100644
--- a/ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.mm
+++ b/ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.mm
@@ -70,6 +70,16 @@
   // Returns null if user does not need to be prompted to sign in again.
   AuthenticationService* authService =
       AuthenticationServiceFactory::GetForBrowserState(browser_state);
+  // Don't show the notification if sign-in is not supported.
+  switch (authService->GetServiceStatus()) {
+    case AuthenticationService::ServiceStatus::SigninForcedByPolicy:
+    case AuthenticationService::ServiceStatus::SigninAllowed:
+      break;
+    case AuthenticationService::ServiceStatus::SigninDisabledByUser:
+    case AuthenticationService::ServiceStatus::SigninDisabledByPolicy:
+    case AuthenticationService::ServiceStatus::SigninDisabledByInternal:
+      return nullptr;
+  }
   if (!authService->ShouldReauthPromptForSignInAndSync())
     return nullptr;
   // Returns null if user has already signed in via some other path.
diff --git a/ios/chrome/browser/ui/browser_view/browser_coordinator.mm b/ios/chrome/browser/ui/browser_view/browser_coordinator.mm
index bf888f1..de48a3b 100644
--- a/ios/chrome/browser/ui/browser_view/browser_coordinator.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_coordinator.mm
@@ -21,6 +21,7 @@
 #import "ios/chrome/browser/main/browser.h"
 #import "ios/chrome/browser/prerender/prerender_service.h"
 #import "ios/chrome/browser/prerender/prerender_service_factory.h"
+#import "ios/chrome/browser/signin/account_consistency_browser_agent.h"
 #import "ios/chrome/browser/signin/account_consistency_service_factory.h"
 #import "ios/chrome/browser/store_kit/store_kit_coordinator.h"
 #import "ios/chrome/browser/store_kit/store_kit_tab_helper.h"
@@ -576,6 +577,9 @@
 
   [self.textFragmentsCoordinator stop];
   self.textFragmentsCoordinator = nil;
+
+  [self.nonModalPromoCoordinator stop];
+  self.nonModalPromoCoordinator = nil;
 }
 
 // Starts mediators owned by this coordinator.
@@ -1079,6 +1083,11 @@
   if (loadingAgent) {
     loadingAgent->SetDelegate(self);
   }
+
+  id<ApplicationCommands> applicationCommandHandler = HandlerForProtocol(
+      self.browser->GetCommandDispatcher(), ApplicationCommands);
+  AccountConsistencyBrowserAgent::CreateForBrowser(
+      self.browser, self.viewController, applicationCommandHandler);
 }
 
 // Uninstalls delegates for self.browser.
diff --git a/ios/chrome/browser/ui/browser_view/browser_coordinator_unittest.mm b/ios/chrome/browser/ui/browser_view/browser_coordinator_unittest.mm
index 38f8a10..22f78bf 100644
--- a/ios/chrome/browser/ui/browser_view/browser_coordinator_unittest.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_coordinator_unittest.mm
@@ -15,6 +15,7 @@
 #include "ios/chrome/browser/main/test_browser.h"
 #include "ios/chrome/browser/search_engines/template_url_service_factory.h"
 #import "ios/chrome/browser/ui/commands/activity_service_commands.h"
+#import "ios/chrome/browser/ui/commands/application_commands.h"
 #import "ios/chrome/browser/ui/commands/browser_coordinator_commands.h"
 #import "ios/chrome/browser/ui/commands/command_dispatcher.h"
 #import "ios/chrome/browser/ui/fullscreen/fullscreen_controller.h"
@@ -83,6 +84,19 @@
     CommandDispatcher* dispatcher = browser_->GetCommandDispatcher();
     [dispatcher startDispatchingToTarget:reauthAgent
                              forProtocol:@protocol(IncognitoReauthCommands)];
+
+    // Set up ApplicationCommands mock. Because ApplicationCommands conforms
+    // to ApplicationSettingsCommands, that needs to be mocked and dispatched
+    // as well.
+    id mockApplicationCommandHandler =
+        OCMProtocolMock(@protocol(ApplicationCommands));
+    id mockApplicationSettingsCommandHandler =
+        OCMProtocolMock(@protocol(ApplicationSettingsCommands));
+    [dispatcher startDispatchingToTarget:mockApplicationCommandHandler
+                             forProtocol:@protocol(ApplicationCommands)];
+    [dispatcher
+        startDispatchingToTarget:mockApplicationSettingsCommandHandler
+                     forProtocol:@protocol(ApplicationSettingsCommands)];
   }
 
   BrowserCoordinator* GetBrowserCoordinator() {
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
index 3a62e93..e36b16c 100644
--- a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
@@ -21,8 +21,6 @@
 #include "components/omnibox/browser/location_bar_model_impl.h"
 #include "components/reading_list/core/reading_list_model.h"
 #include "components/sessions/core/tab_restore_service_helper.h"
-#include "components/signin/core/browser/account_reconcilor.h"
-#import "components/signin/ios/browser/account_consistency_service.h"
 #include "components/signin/ios/browser/active_state_manager.h"
 #include "components/strings/grit/components_strings.h"
 #include "components/translate/core/browser/translate_manager.h"
@@ -51,8 +49,6 @@
 #include "ios/chrome/browser/reading_list/reading_list_model_factory.h"
 #include "ios/chrome/browser/sessions/ios_chrome_tab_restore_service_factory.h"
 #import "ios/chrome/browser/sessions/session_restoration_browser_agent.h"
-#import "ios/chrome/browser/signin/account_consistency_service_factory.h"
-#include "ios/chrome/browser/signin/account_reconcilor_factory.h"
 #include "ios/chrome/browser/signin/authentication_service.h"
 #include "ios/chrome/browser/signin/authentication_service_factory.h"
 #import "ios/chrome/browser/snapshots/snapshot_tab_helper.h"
@@ -2644,12 +2640,6 @@
   CaptivePortalTabHelper::CreateForWebState(webState, self);
 
   NewTabPageTabHelper::FromWebState(webState)->SetDelegate(self);
-
-  if (AccountConsistencyService* accountConsistencyService =
-          ios::AccountConsistencyServiceFactory::GetForBrowserState(
-              self.browserState)) {
-    accountConsistencyService->SetWebStateHandler(webState, self);
-  }
 }
 
 // DEPRECATED -- Do not add further logic to this method.
@@ -2672,12 +2662,6 @@
     OverscrollActionsTabHelper::FromWebState(webState)->SetDelegate(nil);
   }
 
-  if (AccountConsistencyService* accountConsistencyService =
-          ios::AccountConsistencyServiceFactory::GetForBrowserState(
-              self.browserState)) {
-    accountConsistencyService->RemoveWebStateHandler(webState);
-  }
-
   // TODO(crbug.com/1173610): Have BrowserCoordinator manage the NTP.
   // No need to stop _ntpCoordinator with Single NTP enabled since shutdown will
   // do that. In addition, uninstallDelegatesForWebState: is called for
@@ -4692,59 +4676,6 @@
 // TODO(crbug.com/1272476): Factor ManageAccountsDelegate out of the BVC. It can
 // be a browser agent instead.
 
-- (void)onRestoreGaiaCookies {
-  signin_metrics::LogAccountReconcilorStateOnGaiaResponse(
-      ios::AccountReconcilorFactory::GetForBrowserState(self.browserState)
-          ->GetState());
-  [self.dispatcher showSigninAccountNotificationFromViewController:self];
-}
-
-- (void)onManageAccounts {
-  signin_metrics::LogAccountReconcilorStateOnGaiaResponse(
-      ios::AccountReconcilorFactory::GetForBrowserState(self.browserState)
-          ->GetState());
-  [self.dispatcher showAccountsSettingsFromViewController:self];
-}
-
-- (void)onShowConsistencyPromo:(const GURL&)url
-                      webState:(web::WebState*)webState {
-  signin_metrics::LogAccountReconcilorStateOnGaiaResponse(
-      ios::AccountReconcilorFactory::GetForBrowserState(self.browserState)
-          ->GetState());
-  if (self.currentWebState == webState)
-    [self.dispatcher showConsistencyPromoFromViewController:self URL:url];
-}
-
-- (void)onAddAccount {
-  ShowSigninCommand* command = [[ShowSigninCommand alloc]
-      initWithOperation:AUTHENTICATION_OPERATION_ADD_ACCOUNT
-            accessPoint:signin_metrics::AccessPoint::ACCESS_POINT_UNKNOWN];
-  DCHECK(self.dispatcher);
-  [self.dispatcher showSignin:command baseViewController:self];
-}
-
-- (void)onGoIncognito:(const GURL&)url {
-  // The user taps on go incognito from the mobile U-turn webpage (the web page
-  // that displays all users accounts available in the content area). As the
-  // user chooses to go to incognito, the mobile U-turn page is no longer
-  // neeeded. The current solution is to go back in history. This has the
-  // advantage of keeping the current browsing session and give a good user
-  // experience when the user comes back from incognito.
-  WebNavigationBrowserAgent::FromBrowser(self.browser)->GoBack();
-
-  if (url.is_valid()) {
-    OpenNewTabCommand* command = [[OpenNewTabCommand alloc]
-         initWithURL:url
-            referrer:web::Referrer()  // Strip referrer when switching modes.
-         inIncognito:YES
-        inBackground:NO
-            appendTo:kLastTab];
-    [self.dispatcher openURLInNewTab:command];
-  } else {
-    [self.dispatcher openURLInNewTab:[OpenNewTabCommand command]];
-  }
-}
-
 #pragma mark - SigninPresenter
 
 - (void)showSignin:(ShowSigninCommand*)command {
diff --git a/ios/chrome/browser/ui/browser_view/common_tab_helper_delegate.h b/ios/chrome/browser/ui/browser_view/common_tab_helper_delegate.h
index dd3ce1e..23d604cc 100644
--- a/ios/chrome/browser/ui/browser_view/common_tab_helper_delegate.h
+++ b/ios/chrome/browser/ui/browser_view/common_tab_helper_delegate.h
@@ -5,7 +5,6 @@
 #ifndef IOS_CHROME_BROWSER_UI_BROWSER_VIEW_COMMON_TAB_HELPER_DELEGATE_H_
 #define IOS_CHROME_BROWSER_UI_BROWSER_VIEW_COMMON_TAB_HELPER_DELEGATE_H_
 
-#import "components/signin/ios/browser/manage_accounts_delegate.h"
 #import "ios/chrome/browser/ntp/new_tab_page_tab_helper_delegate.h"
 #import "ios/chrome/browser/passwords/password_controller.h"
 #import "ios/chrome/browser/snapshots/snapshot_generator_delegate.h"
@@ -20,8 +19,6 @@
 // that the BVC conforms to to zero.
 @protocol CommonTabHelperDelegate <
     BubblePresenterDelegate,
-    // TODO(crbug.com/1272476): Factor ManageAccountsDelegate out of the BVC.
-    ManageAccountsDelegate,
     // TODO(crbug.com/1272483): Factor NetExportTabHelperDelegate out of the
     // BVC.
     NetExportTabHelperDelegate,
diff --git a/ios/chrome/browser/ui/context_menu/context_menu_configuration_provider.mm b/ios/chrome/browser/ui/context_menu/context_menu_configuration_provider.mm
index 1b619bf..0fd4501 100644
--- a/ios/chrome/browser/ui/context_menu/context_menu_configuration_provider.mm
+++ b/ios/chrome/browser/ui/context_menu/context_menu_configuration_provider.mm
@@ -341,8 +341,9 @@
       return previewViewController;
     }
     DCHECK(isImage);
-    ImagePreviewViewController* preview =
-        [[ImagePreviewViewController alloc] init];
+    ImagePreviewViewController* preview = [[ImagePreviewViewController alloc]
+        initWithPreferredContentSize:CGSizeMake(params.natural_width,
+                                                params.natural_height)];
     __weak ImagePreviewViewController* weakPreview = preview;
 
     ImageFetchTabHelper* imageFetcher =
diff --git a/ios/chrome/browser/ui/context_menu/image_preview_view_controller.h b/ios/chrome/browser/ui/context_menu/image_preview_view_controller.h
index 3609ed9..a79527b 100644
--- a/ios/chrome/browser/ui/context_menu/image_preview_view_controller.h
+++ b/ios/chrome/browser/ui/context_menu/image_preview_view_controller.h
@@ -10,6 +10,16 @@
 // View Controller showing a preview of an image.
 @interface ImagePreviewViewController : UIViewController
 
+// Initializes with |preferredContentSize|.
+- (instancetype)initWithPreferredContentSize:(CGSize)preferredContentSize
+    NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+- (instancetype)initWithCoder:(NSCoder*)coder NS_UNAVAILABLE;
+
+- (instancetype)initWithNibName:(NSString*)nibNameOrNil
+                         bundle:(NSBundle*)nibBundleOrNil NS_UNAVAILABLE;
+
 // Sets the displayed image to |data|.
 - (void)updateImageData:(NSData*)data;
 
diff --git a/ios/chrome/browser/ui/context_menu/image_preview_view_controller.mm b/ios/chrome/browser/ui/context_menu/image_preview_view_controller.mm
index e651d4d4..25ac275 100644
--- a/ios/chrome/browser/ui/context_menu/image_preview_view_controller.mm
+++ b/ios/chrome/browser/ui/context_menu/image_preview_view_controller.mm
@@ -25,17 +25,36 @@
 
 #pragma mark - Public
 
+- (instancetype)initWithPreferredContentSize:(CGSize)preferredContentSize {
+  self = [super initWithNibName:nil bundle:nil];
+  if (self) {
+    if (preferredContentSize.width <= 0.0 ||
+        preferredContentSize.height <= 0.0) {
+      self.preferredContentSize = CGSizeMake(kDefaultSize, kDefaultSize);
+    } else {
+      self.preferredContentSize = preferredContentSize;
+    }
+  }
+  return self;
+}
+
 - (void)loadView {
   self.view = [[UIImageView alloc] init];
-
-  self.preferredContentSize = CGSizeMake(kDefaultSize, kDefaultSize);
 }
 
 - (void)updateImageData:(NSData*)data {
   UIImage* image = [UIImage imageWithData:data];
   self.view.image = image;
 
-  self.preferredContentSize = image.size;
+  // UIPreviewProvider cannot animate |preferredContentSize| changes.
+  // Changing |preferredContentSize| during animation will make it glitch.
+  // See crbug.com/1288017.
+  // Here we set |preferredContentSize| as a last resort, if
+  // the |preferredContentSize| provided during initialization is invalid.
+  if (self.preferredContentSize.width == kDefaultSize &&
+      self.preferredContentSize.height == kDefaultSize) {
+    self.preferredContentSize = image.size;
+  }
 }
 
 @end
diff --git a/ios/chrome/browser/ui/download/download_manager_egtest.mm b/ios/chrome/browser/ui/download/download_manager_egtest.mm
index e0e8564..40bf6ff 100644
--- a/ios/chrome/browser/ui/download/download_manager_egtest.mm
+++ b/ios/chrome/browser/ui/download/download_manager_egtest.mm
@@ -15,6 +15,7 @@
 #import "ios/testing/earl_grey/app_launch_configuration.h"
 #import "ios/testing/earl_grey/earl_grey_test.h"
 #include "ios/testing/embedded_test_server_handlers.h"
+#include "ios/web/common/features.h"
 #include "ios/web/public/test/element_selector.h"
 #include "net/test/embedded_test_server/http_request.h"
 #include "net/test/embedded_test_server/http_response.h"
@@ -46,6 +47,17 @@
   return result;
 }
 
+// Provides test page for downloads with content disposition
+std::unique_ptr<net::test_server::HttpResponse> GetContentDispositionResponse(
+    const net::test_server::HttpRequest& request) {
+  auto result = std::make_unique<net::test_server::BasicHttpResponse>();
+  result->set_code(net::HTTP_OK);
+  result->set_content(
+      "<a id='pdf' download='test.pdf' href='/single_page_wide.pdf'>PDF</a>");
+  result->set_content_type("attachment; filename='filename.pdf'");
+  return result;
+}
+
 // Waits until Open in... button is shown.
 [[nodiscard]] bool WaitForOpenInButton() {
   // These downloads usually take longer and need a longer timeout.
@@ -86,7 +98,8 @@
 
 }  // namespace
 
-// Tests critical user journeys for Download Manager.
+// Tests critical user journeys for Download Manager using old download code
+// paths.
 @interface DownloadManagerTestCase : ChromeTestCase
 @end
 
@@ -100,16 +113,20 @@
                           base::BindRepeating(&GetResponse)));
 
   self.testServer->RegisterRequestHandler(base::BindRepeating(
+      &net::test_server::HandlePrefixedRequest, "/content-disposition",
+      base::BindRepeating(&GetContentDispositionResponse)));
+
+  self.testServer->RegisterRequestHandler(base::BindRepeating(
       &net::test_server::HandlePrefixedRequest, "/download-example",
       base::BindRepeating(&testing::HandleDownload)));
 
   GREYAssertTrue(self.testServer->Start(), @"Test server failed to start.");
 }
 
-// Tests sucessfull download up to the point where "Open in..." button is
+// Tests successful download up to the point where "Open in..." button is
 // presented. EarlGrey does not allow testing "Open in..." dialog, because it
 // is run in a separate process.
-- (void)testSucessfullDownload {
+- (void)testSuccessfulDownload {
   [ChromeEarlGrey loadURL:self.testServer->GetURL("/")];
   [ChromeEarlGrey waitForWebStateContainingText:"Download"];
   [ChromeEarlGrey tapWebStateElementWithID:@"download"];
@@ -121,7 +138,7 @@
   GREYAssert(WaitForOpenInButton(), @"Open in... button did not show up");
 }
 
-// Tests sucessfull download up to the point where "Open in..." button is
+// Tests successful download up to the point where "Open in..." button is
 // presented. EarlGrey does not allow testing "Open in..." dialog, because it
 // is run in a separate process. Performs download in Incognito.
 #if !TARGET_IPHONE_SIMULATOR
@@ -278,3 +295,132 @@
 }
 
 @end
+
+// Tests critical user journeys for Download Manager using new download code
+// paths. Once support for old download API is removed (i.e. once the new
+// API is launched and iOS 14 support is dropped) this class needs
+// to be merged with DownloadManagerTestCase.
+@interface DownloadManagerNewAPITestCase : DownloadManagerTestCase
+@end
+
+@implementation DownloadManagerNewAPITestCase
+
+- (AppLaunchConfiguration)appConfigurationForTestCase {
+  AppLaunchConfiguration config;
+  if (@available(iOS 15.0, *)) {
+    config.features_enabled.push_back(web::features::kEnableNewDownloadAPI);
+  }
+  return config;
+}
+
+- (void)setUp {
+  [super setUp];
+}
+
+// Tests successful download up to the point where "Open in..." button is
+// presented. EarlGrey does not allow testing "Open in..." dialog, because it
+// is run in a separate process.
+- (void)testSuccessfulDownload {
+  [super testSuccessfulDownload];
+}
+
+// Tests successful blob download. This also checks that a file can be
+// downloaded and saved locally while an anchor tag has the download attribute.
+- (void)testSucessfulBlobDownload {
+  if (@available(iOS 15.0, *)) {
+    [ChromeEarlGrey
+        loadURL:self.testServer->GetURL("/download_test_page.html")];
+    [ChromeEarlGrey waitForWebStateContainingText:"BlobURL"];
+    [ChromeEarlGrey tapWebStateElementWithID:@"blob"];
+
+    GREYAssert(WaitForDownloadButton(), @"Download button did not show up");
+    [[EarlGrey selectElementWithMatcher:DownloadButton()]
+        performAction:grey_tap()];
+
+    GREYAssert(WaitForOpenInButton(), @"Open in... button did not show up");
+  }
+}
+
+// Tests that a pdf can be downloaded. This also checks that a file can be
+// downloaded and saved locally while an anchor tag has the download attribute.
+- (void)testSucessfulPDFDownload {
+  if (@available(iOS 15.0, *)) {
+    [ChromeEarlGrey
+        loadURL:self.testServer->GetURL("/download_test_page.html")];
+    [ChromeEarlGrey waitForWebStateContainingText:"PDF"];
+    [ChromeEarlGrey tapWebStateElementWithID:@"pdf"];
+
+    GREYAssert(WaitForDownloadButton(), @"Download button did not show up");
+    [[EarlGrey selectElementWithMatcher:DownloadButton()]
+        performAction:grey_tap()];
+
+    GREYAssert(WaitForOpenInButton(), @"Open in... button did not show up");
+  }
+}
+
+// Tests that a file is downloaded successfully even if it is renderable by the
+// browser.
+- (void)testSucessfulDownloadWithContentDisposition {
+  if (@available(iOS 15.0, *)) {
+    [ChromeEarlGrey loadURL:self.testServer->GetURL("/content-disposition")];
+    [ChromeEarlGrey waitForWebStateContainingText:"PDF"];
+    [ChromeEarlGrey tapWebStateElementWithID:@"pdf"];
+
+    GREYAssert(WaitForDownloadButton(), @"Download button did not show up");
+    [[EarlGrey selectElementWithMatcher:DownloadButton()]
+        performAction:grey_tap()];
+
+    GREYAssert(WaitForOpenInButton(), @"Open in... button did not show up");
+  }
+}
+
+// Tests successful download up to the point where "Open in..." button is
+// presented. EarlGrey does not allow testing "Open in..." dialog, because it
+// is run in a separate process. Performs download in Incognito.
+#if !TARGET_IPHONE_SIMULATOR
+// TODO(crbug.com/1059320): Test consistently failing on device.
+#define MAYBE_testSucessfullDownloadInIncognito \
+  DISABLED_testSucessfullDownloadInIncognito
+#else
+#define MAYBE_testSucessfullDownloadInIncognito \
+  testSucessfullDownloadInIncognito
+#endif
+- (void)MAYBE_testSucessfullDownloadInIncognito {
+  [super MAYBE_testSucessfullDownloadInIncognito];
+}
+
+// Tests cancelling download UI.
+- (void)testCancellingDownload {
+  [super testCancellingDownload];
+}
+
+// Tests sucessfull download up to the point where "Open in..." button is
+// presented. EarlGrey does not allow testing "Open in..." dialog, because it
+// is run in a separate process. After tapping Download this test opens a
+// separate tabs and loads the URL there. Then closes the tab and waits for
+// the download completion.
+- (void)testDownloadWhileBrowsing {
+  [super testDownloadWhileBrowsing];
+}
+
+// Tests "Open in New Tab" on download link.
+- (void)testDownloadInNewTab {
+  [super testDownloadInNewTab];
+}
+
+// Tests accessibility on Download Manager UI when download is not started.
+- (void)testAccessibilityOnNotStartedDownloadToolbar {
+  [super testAccessibilityOnNotStartedDownloadToolbar];
+}
+
+// Tests accessibility on Download Manager UI when download is complete.
+- (void)testAccessibilityOnCompletedDownloadToolbar {
+  [super testAccessibilityOnCompletedDownloadToolbar];
+}
+
+// Tests that filename label and "Open in Downloads" button are showing.
+- (void)testVisibleFileNameAndOpenInDownloads {
+  [super testVisibleFileNameAndOpenInDownloads];
+}
+
+@end
diff --git a/ios/chrome/browser/ui/link_to_text/link_to_text_egtest.mm b/ios/chrome/browser/ui/link_to_text/link_to_text_egtest.mm
index ae665f1..45cd871 100644
--- a/ios/chrome/browser/ui/link_to_text/link_to_text_egtest.mm
+++ b/ios/chrome/browser/ui/link_to_text/link_to_text_egtest.mm
@@ -101,7 +101,7 @@
   GREYAssertTrue(result.is_list(), @"Result is not iterable.");
 
   NSMutableArray<NSString*>* marked_texts = [NSMutableArray array];
-  for (const auto& element : result.GetList()) {
+  for (const auto& element : result.GetListDeprecated()) {
     if (element.is_string()) {
       NSString* ns_element = base::SysUTF8ToNSString(element.GetString());
       [marked_texts addObject:ns_element];
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 f6189b7..9def1a1 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
@@ -260,11 +260,13 @@
   self.ntpMediator = [self createNTPMediator];
 
   // Creating the DiscoverFeedService will start the Discover feed.
-  DiscoverFeedService* discoverFeedService =
-      DiscoverFeedServiceFactory::GetForBrowserState(
-          self.browser->GetBrowserState());
+  // TODO(crbug.com/1264872): Move this to Chrome launch code.
+  DiscoverFeedServiceFactory::GetForBrowserState(
+      self.browser->GetBrowserState());
 
-  self.feedMetricsRecorder = discoverFeedService->GetFeedMetricsRecorder();
+  self.feedMetricsRecorder = ios::GetChromeBrowserProvider()
+                                 .GetDiscoverFeedProvider()
+                                 ->GetFeedMetricsRecorder();
 
   self.contentSuggestionsCoordinator =
       [self createContentSuggestionsCoordinator];
diff --git a/ios/chrome/browser/ui/ntp/revamped_incognito_view.mm b/ios/chrome/browser/ui/ntp/revamped_incognito_view.mm
index 2c22e9418..8e0b429c 100644
--- a/ios/chrome/browser/ui/ntp/revamped_incognito_view.mm
+++ b/ios/chrome/browser/ui/ntp/revamped_incognito_view.mm
@@ -90,9 +90,11 @@
 // properly in a UILabel.  Removes the "<ul>" tag and replaces "<li>" with a
 // bullet unicode character.
 NSAttributedString* FormatHTMLListForUILabel(NSString* listString) {
-  listString =
-      [listString stringByReplacingOccurrencesOfString:@"\n        <ul>"
-                                            withString:@""];
+  listString = [listString
+      stringByReplacingOccurrencesOfString:@"\n +<ul>"
+                                withString:@""
+                                   options:NSRegularExpressionSearch
+                                     range:NSMakeRange(0, [listString length])];
   listString = [listString stringByReplacingOccurrencesOfString:@"</ul>"
                                                      withString:@""];
 
diff --git a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h b/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h
index c7f1d872..7381c44 100644
--- a/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h
+++ b/ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_mediator.h
@@ -9,6 +9,7 @@
 
 #import "ios/chrome/browser/ui/browser_container/browser_container_consumer.h"
 #import "ios/chrome/browser/ui/follow/follow_action_state.h"
+#import "ios/chrome/browser/ui/popup_menu/overflow_menu/overflow_menu_swift.h"
 
 namespace bookmarks {
 class BookmarkModel;
@@ -19,7 +20,6 @@
 @protocol ApplicationCommands;
 @protocol BrowserCommands;
 class BrowserPolicyConnectorIOS;
-@class OverflowMenuModel;
 class OverlayPresenter;
 class PrefService;
 @protocol FindInPageCommands;
diff --git a/ios/chrome/browser/ui/settings/content_settings/BUILD.gn b/ios/chrome/browser/ui/settings/content_settings/BUILD.gn
index 15d863d9..59fc94a 100644
--- a/ios/chrome/browser/ui/settings/content_settings/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/content_settings/BUILD.gn
@@ -54,6 +54,7 @@
     "default_page_mode_table_view_controller_delegate.h",
   ]
   deps = [
+    "//base",
     "//ios/chrome/browser/ui/settings:settings_root",
     "//ios/chrome/browser/ui/table_view:utils",
     "//ios/chrome/browser/ui/table_view/cells",
diff --git a/ios/chrome/browser/ui/settings/content_settings/block_popups_table_view_controller.mm b/ios/chrome/browser/ui/settings/content_settings/block_popups_table_view_controller.mm
index 094660d..1efdd70 100644
--- a/ios/chrome/browser/ui/settings/content_settings/block_popups_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/content_settings/block_popups_table_view_controller.mm
@@ -134,7 +134,8 @@
   }
 
   if ([self popupsCurrentlyBlocked] &&
-      (_exceptions.GetList().size() || _allowPopupsByPolicy.GetList().size())) {
+      (_exceptions.GetListDeprecated().size() ||
+       _allowPopupsByPolicy.GetListDeprecated().size())) {
     [self populateExceptionsItems];
   }
 }
@@ -144,7 +145,7 @@
 }
 
 - (BOOL)editButtonEnabled {
-  return _exceptions.GetList().size() > 0;
+  return _exceptions.GetListDeprecated().size() > 0;
 }
 
 // Override.
@@ -219,7 +220,7 @@
   [self deleteItemAtIndexPaths:@[ indexPath ]];
   if (![self.tableViewModel
           hasSectionForSectionIdentifier:SectionIdentifierExceptions] ||
-      !_exceptions.GetList().size()) {
+      !_exceptions.GetListDeprecated().size()) {
     self.navigationItem.rightBarButtonItem.enabled = NO;
   }
 }
@@ -295,7 +296,7 @@
   for (NSIndexPath* indexPath in indexPaths) {
     size_t urlIndex = indexPath.item;
     std::string urlToRemove;
-    base::Value::ListView exceptions_view = _exceptions.GetList();
+    base::Value::ListView exceptions_view = _exceptions.GetListDeprecated();
     if (urlIndex < exceptions_view.size() &&
         exceptions_view[urlIndex].is_string()) {
       urlToRemove = exceptions_view[urlIndex].GetString();
@@ -388,7 +389,7 @@
   [model setHeader:header forSectionWithIdentifier:SectionIdentifierExceptions];
 
   // Populate the exception items set by the user.
-  for (const base::Value& exception : _exceptions.GetList()) {
+  for (const base::Value& exception : _exceptions.GetListDeprecated()) {
     std::string allowed_url;
     if (exception.is_string())
       allowed_url = exception.GetString();
@@ -399,7 +400,7 @@
   }
 
   // Populate the allowed popup items set by the policy.
-  for (const base::Value& l : _allowPopupsByPolicy.GetList()) {
+  for (const base::Value& l : _allowPopupsByPolicy.GetListDeprecated()) {
     std::string allowed_url_by_policy;
     if (l.is_string())
       allowed_url_by_policy = l.GetString();
@@ -411,8 +412,8 @@
 }
 
 - (void)layoutSections:(BOOL)blockPopupsIsOn {
-  BOOL hasExceptions =
-      _exceptions.GetList().size() || _allowPopupsByPolicy.GetList().size();
+  BOOL hasExceptions = _exceptions.GetListDeprecated().size() ||
+                       _allowPopupsByPolicy.GetListDeprecated().size();
   BOOL exceptionsListShown = [self.tableViewModel
       hasSectionForSectionIdentifier:SectionIdentifierExceptions];
 
diff --git a/ios/chrome/browser/ui/settings/content_settings/default_page_mode_table_view_controller.mm b/ios/chrome/browser/ui/settings/content_settings/default_page_mode_table_view_controller.mm
index 5bf9bfa..6104dc86 100644
--- a/ios/chrome/browser/ui/settings/content_settings/default_page_mode_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/content_settings/default_page_mode_table_view_controller.mm
@@ -4,6 +4,7 @@
 
 #import "ios/chrome/browser/ui/settings/content_settings/default_page_mode_table_view_controller.h"
 
+#include "base/metrics/user_metrics.h"
 #import "ios/chrome/browser/ui/settings/content_settings/default_page_mode_table_view_controller_delegate.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_detail_icon_item.h"
 
@@ -74,6 +75,9 @@
 
   [tableView deselectRowAtIndexPath:indexPath animated:YES];
 
+  base::RecordAction(
+      base::UserMetricsAction("MobileDefaultPageModeSettingsClose"));
+
   [self.delegate didSelectMode:chosenMode];
 }
 
@@ -94,6 +98,8 @@
     }
   }
 
+  base::RecordAction(
+      base::UserMetricsAction("MobileDefaultPageModeSettingsToggled"));
   [self reloadCellsForItems:[self.tableViewModel itemsInSectionWithIdentifier:
                                                      SectionIdentifierMode]
            withRowAnimation:UITableViewRowAnimationAutomatic];
@@ -102,11 +108,13 @@
 #pragma mark - SettingsControllerProtocol
 
 - (void)reportDismissalUserAction {
-  // TODO(crbug.com/1276922): Add UserAction recording.
+  base::RecordAction(
+      base::UserMetricsAction("MobileDefaultPageModeSettingsClose"));
 }
 
 - (void)reportBackUserAction {
-  // TODO(crbug.com/1276922): Add UserAction recording.
+  base::RecordAction(
+      base::UserMetricsAction("MobileDefaultPageModeSettingsBack"));
 }
 
 @end
diff --git a/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.h b/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.h
index 2f7cd65a..5c40f6a 100644
--- a/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.h
+++ b/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.h
@@ -52,7 +52,7 @@
   void EndSubscription();
 
   // JavaScript call handler.
-  void OnLoaded(const base::ListValue* args);
+  void OnLoaded(const base::Value::ConstListView args);
 
  private:
   // JavaScript function to be called on load.
diff --git a/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.mm b/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.mm
index 5ef796c..f3bbe50 100644
--- a/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.mm
+++ b/ios/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.mm
@@ -59,12 +59,12 @@
 }
 
 void InternalsUIHandler::RegisterMessages() {
-  web_ui()->RegisterDeprecatedMessageCallback(
+  web_ui()->RegisterMessageCallback(
       "loaded", base::BindRepeating(&InternalsUIHandler::OnLoaded,
                                     base::Unretained(this)));
 }
 
-void InternalsUIHandler::OnLoaded(const base::ListValue* args) {
+void InternalsUIHandler::OnLoaded(const base::Value::ConstListView args) {
   base::Value load_event(call_on_load_);
   base::Value empty;
   web_ui()->CallJavascriptFunction("cr.webUIListenerCallback",
diff --git a/ios/chrome/browser/ui/webui/omaha_ui.cc b/ios/chrome/browser/ui/webui/omaha_ui.cc
index e7e1f17..032ad2c 100644
--- a/ios/chrome/browser/ui/webui/omaha_ui.cc
+++ b/ios/chrome/browser/ui/webui/omaha_ui.cc
@@ -48,7 +48,7 @@
 
  private:
   // Asynchronously fetches the debug information. Called from JS.
-  void HandleRequestDebugInformation(const base::ListValue* args);
+  void HandleRequestDebugInformation(const base::Value::ConstListView args);
 
   // Called when the debug information have been computed.
   void OnDebugInformationAvailable(base::DictionaryValue* debug_information);
@@ -63,14 +63,14 @@
 OmahaDOMHandler::~OmahaDOMHandler() {}
 
 void OmahaDOMHandler::RegisterMessages() {
-  web_ui()->RegisterDeprecatedMessageCallback(
+  web_ui()->RegisterMessageCallback(
       "requestOmahaDebugInformation",
       base::BindRepeating(&OmahaDOMHandler::HandleRequestDebugInformation,
                           base::Unretained(this)));
 }
 
 void OmahaDOMHandler::HandleRequestDebugInformation(
-    const base::ListValue* args) {
+    const base::Value::ConstListView args) {
   OmahaService::GetDebugInformation(
       base::BindOnce(&OmahaDOMHandler::OnDebugInformationAvailable,
                      weak_ptr_factory_.GetWeakPtr()));
diff --git a/ios/chrome/browser/web/chrome_web_client.mm b/ios/chrome/browser/web/chrome_web_client.mm
index 315f22d..59ba677 100644
--- a/ios/chrome/browser/web/chrome_web_client.mm
+++ b/ios/chrome/browser/web/chrome_web_client.mm
@@ -10,6 +10,7 @@
 #import "base/ios/ios_util.h"
 #import "base/ios/ns_error_util.h"
 #include "base/mac/bundle_locations.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/no_destructor.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/sys_string_conversions.h"
@@ -416,8 +417,11 @@
       ios::HostContentSettingsMapFactory::GetForBrowserState(browser_state);
   ContentSetting setting = settings_map->GetContentSetting(
       url, url, ContentSettingsType::REQUEST_DESKTOP_SITE);
-  return (setting == CONTENT_SETTING_ALLOW) ? web::UserAgentType::DESKTOP
-                                            : web::UserAgentType::MOBILE;
+  bool use_desktop_agent = setting == CONTENT_SETTING_ALLOW;
+  base::UmaHistogramBoolean("IOS.PageLoad.DefaultModeMobile",
+                            !use_desktop_agent);
+  return use_desktop_agent ? web::UserAgentType::DESKTOP
+                           : web::UserAgentType::MOBILE;
 }
 
 bool ChromeWebClient::RestoreSessionFromCache(web::WebState* web_state) const {
diff --git a/ios/chrome/common/ui/promo_style/BUILD.gn b/ios/chrome/common/ui/promo_style/BUILD.gn
index 4a14d84..6be42ba 100644
--- a/ios/chrome/common/ui/promo_style/BUILD.gn
+++ b/ios/chrome/common/ui/promo_style/BUILD.gn
@@ -8,8 +8,6 @@
 source_set("promo_style") {
   configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
-    "highlighted_button.h",
-    "highlighted_button.mm",
     "promo_style_view_controller.h",
     "promo_style_view_controller.mm",
     "promo_style_view_controller_delegate.h",
@@ -21,6 +19,7 @@
     "//ios/chrome/app/strings",
     "//ios/chrome/common:constants",
     "//ios/chrome/common/ui/colors",
+    "//ios/chrome/common/ui/elements",
     "//ios/chrome/common/ui/resources:help_icon",
     "//ios/chrome/common/ui/util",
     "//ios/chrome/common/ui/util:dynamic_type_util",
diff --git a/ios/chrome/common/ui/promo_style/highlighted_button.h b/ios/chrome/common/ui/promo_style/highlighted_button.h
deleted file mode 100644
index d4250470..0000000
--- a/ios/chrome/common/ui/promo_style/highlighted_button.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2021 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 IOS_CHROME_COMMON_UI_PROMO_STYLE_HIGHLIGHTED_BUTTON_H_
-#define IOS_CHROME_COMMON_UI_PROMO_STYLE_HIGHLIGHTED_BUTTON_H_
-
-#import <UIKit/UIKit.h>
-
-// A UIButton subclass that applies a lower alpha when the button is
-// highlighted. When the button isn't highlighted, the alpha is set to 1.
-@interface HighlightedButton : UIButton
-
-@end
-
-#endif  // IOS_CHROME_COMMON_UI_PROMO_STYLE_HIGHLIGHTED_BUTTON_H_
diff --git a/ios/chrome/common/ui/promo_style/highlighted_button.mm b/ios/chrome/common/ui/promo_style/highlighted_button.mm
deleted file mode 100644
index cd7e2ca..0000000
--- a/ios/chrome/common/ui/promo_style/highlighted_button.mm
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2021 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.
-
-#import "ios/chrome/common/ui/promo_style/highlighted_button.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-namespace {
-
-// Tha alpha to apply when the button is highlighted.
-const CGFloat kHighlightedAlpha = 0.5;
-
-// The duration of the animation when adding / removing transparency.
-const CGFloat kAnimationDuration = 0.1;
-
-}  // namespace
-
-@implementation HighlightedButton
-
-#pragma mark - Accessors
-
-- (void)setHighlighted:(BOOL)highlighted {
-  __weak __typeof(self) weakSelf = self;
-  CGFloat targetAlpha = highlighted ? kHighlightedAlpha : 1.0;
-  [UIView animateWithDuration:kAnimationDuration
-                   animations:^{
-                     weakSelf.alpha = targetAlpha;
-                   }];
-  [super setHighlighted:highlighted];
-}
-
-@end
diff --git a/ios/chrome/common/ui/promo_style/promo_style_view_controller.mm b/ios/chrome/common/ui/promo_style/promo_style_view_controller.mm
index ec67642..b0452a0 100644
--- a/ios/chrome/common/ui/promo_style/promo_style_view_controller.mm
+++ b/ios/chrome/common/ui/promo_style/promo_style_view_controller.mm
@@ -8,8 +8,8 @@
 #include "base/i18n/rtl.h"
 #import "ios/chrome/common/constants.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
+#import "ios/chrome/common/ui/elements/highlight_button.h"
 #import "ios/chrome/common/ui/promo_style/constants.h"
-#import "ios/chrome/common/ui/promo_style/highlighted_button.h"
 #import "ios/chrome/common/ui/util/button_util.h"
 #include "ios/chrome/common/ui/util/device_util.h"
 #include "ios/chrome/common/ui/util/dynamic_type_util.h"
@@ -43,7 +43,7 @@
 // UIView that wraps the scrollable content.
 @property(nonatomic, strong) UIView* scrollContentView;
 @property(nonatomic, strong) UILabel* subtitleLabel;
-@property(nonatomic, strong) HighlightedButton* primaryActionButton;
+@property(nonatomic, strong) HighlightButton* primaryActionButton;
 @property(nonatomic, strong) UIButton* secondaryActionButton;
 @property(nonatomic, strong) UIButton* tertiaryActionButton;
 
@@ -521,7 +521,7 @@
 
 - (UIButton*)primaryActionButton {
   if (!_primaryActionButton) {
-    _primaryActionButton = [[HighlightedButton alloc] initWithFrame:CGRectZero];
+    _primaryActionButton = [[HighlightButton alloc] initWithFrame:CGRectZero];
     _primaryActionButton.contentEdgeInsets =
         UIEdgeInsetsMake(kButtonVerticalInsets, 0, kButtonVerticalInsets, 0);
     [_primaryActionButton setBackgroundColor:[UIColor colorNamed:kBlueColor]];
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey.mm b/ios/chrome/test/earl_grey/chrome_earl_grey.mm
index eef41366..60ff4df 100644
--- a/ios/chrome/test/earl_grey/chrome_earl_grey.mm
+++ b/ios/chrome/test/earl_grey/chrome_earl_grey.mm
@@ -483,7 +483,7 @@
                              @"The script response is not iteratble.");
 
   NSMutableDictionary* cookies = [NSMutableDictionary dictionary];
-  for (const auto& option : result.GetList()) {
+  for (const auto& option : result.GetListDeprecated()) {
     if (option.is_string()) {
       NSString* nameValuePair = base::SysUTF8ToNSString(option.GetString());
       NSMutableArray* cookieNameValue =
diff --git a/ios/testing/BUILD.gn b/ios/testing/BUILD.gn
index 6bd2d5a..cc728e43 100644
--- a/ios/testing/BUILD.gn
+++ b/ios/testing/BUILD.gn
@@ -116,6 +116,7 @@
     "data/http_server_files/console_with_iframe.html",
     "data/http_server_files/context_menu.html",
     "data/http_server_files/destination.html",
+    "data/http_server_files/download_test_page.html",
     "data/http_server_files/fullscreen.html",
     "data/http_server_files/generic.pkpass",
     "data/http_server_files/history.html",
diff --git a/ios/testing/data/http_server_files/download_test_page.html b/ios/testing/data/http_server_files/download_test_page.html
new file mode 100644
index 0000000..90fa8b6
--- /dev/null
+++ b/ios/testing/data/http_server_files/download_test_page.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<body>
+    <a download="example.gif" id="data">DataURL</a>
+    <a download="example.gif" id="blob">BlobURL</a>
+    <a id="pdf" download="test.pdf" href="/single_page_wide.pdf">PDF</a>
+    
+    <script>
+    (async () => {
+    const dataURL =
+      "data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7";
+    const blob = await (await fetch(dataURL)).blob();
+    console.log(blob)
+    const blobURL = URL.createObjectURL(blob);
+    const hrefs = [dataURL, blobURL];
+
+    document.querySelectorAll("a").forEach((a, i) => {
+      a.href = hrefs[i];
+    });
+  })();
+</script>
+</body>
+</html>
diff --git a/ios/web/favicon/favicon_util_unittest.mm b/ios/web/favicon/favicon_util_unittest.mm
index 65848629..5bbc9e14 100644
--- a/ios/web/favicon/favicon_util_unittest.mm
+++ b/ios/web/favicon/favicon_util_unittest.mm
@@ -37,7 +37,7 @@
   favicons.Append(std::move(favicon3));
 
   std::vector<web::FaviconURL> urls;
-  bool result = web::ExtractFaviconURL(favicons.GetList(),
+  bool result = web::ExtractFaviconURL(favicons.GetListDeprecated(),
                                        GURL("http://chromium.org"), &urls);
 
   EXPECT_TRUE(result);
@@ -75,7 +75,8 @@
   favicons.Append(std::move(favicon3));
 
   std::vector<web::FaviconURL> urls;
-  bool result = web::ExtractFaviconURL(favicons.GetList(), GURL(), &urls);
+  bool result =
+      web::ExtractFaviconURL(favicons.GetListDeprecated(), GURL(), &urls);
 
   EXPECT_FALSE(result);
   ASSERT_EQ(1U, urls.size());
@@ -100,7 +101,8 @@
   favicons.Append(std::move(favicon3));
 
   std::vector<web::FaviconURL> urls;
-  bool result = web::ExtractFaviconURL(favicons.GetList(), GURL(), &urls);
+  bool result =
+      web::ExtractFaviconURL(favicons.GetListDeprecated(), GURL(), &urls);
 
   EXPECT_FALSE(result);
   ASSERT_EQ(1U, urls.size());
@@ -124,7 +126,8 @@
   favicons.Append(std::move(favicon3));
 
   std::vector<web::FaviconURL> urls;
-  bool result = web::ExtractFaviconURL(favicons.GetList(), GURL(), &urls);
+  bool result =
+      web::ExtractFaviconURL(favicons.GetListDeprecated(), GURL(), &urls);
 
   EXPECT_FALSE(result);
   ASSERT_EQ(1U, urls.size());
@@ -138,7 +141,7 @@
   base::Value favicons(base::Value::Type::LIST);
 
   std::vector<web::FaviconURL> urls;
-  bool result = web::ExtractFaviconURL(favicons.GetList(),
+  bool result = web::ExtractFaviconURL(favicons.GetListDeprecated(),
                                        GURL("http://chromium.org"), &urls);
 
   EXPECT_TRUE(result);
@@ -164,7 +167,8 @@
   favicons.Append(std::move(favicon2));
 
   std::vector<web::FaviconURL> urls;
-  bool result = web::ExtractFaviconURL(favicons.GetList(), GURL(), &urls);
+  bool result =
+      web::ExtractFaviconURL(favicons.GetListDeprecated(), GURL(), &urls);
 
   EXPECT_TRUE(result);
   ASSERT_EQ(2U, urls.size());
@@ -199,7 +203,8 @@
   favicons.Append(std::move(favicon2));
 
   std::vector<web::FaviconURL> urls;
-  bool result = web::ExtractFaviconURL(favicons.GetList(), GURL(), &urls);
+  bool result =
+      web::ExtractFaviconURL(favicons.GetListDeprecated(), GURL(), &urls);
 
   EXPECT_TRUE(result);
   ASSERT_EQ(2U, urls.size());
diff --git a/ios/web/js_features/context_menu/context_menu_constants.h b/ios/web/js_features/context_menu/context_menu_constants.h
index e0b816c..92f8027 100644
--- a/ios/web/js_features/context_menu/context_menu_constants.h
+++ b/ios/web/js_features/context_menu/context_menu_constants.h
@@ -40,6 +40,14 @@
 // only).
 extern const char kContextMenuElementAlt[];
 
+// Optional key. Represents element's naturalWidth attribute if present (<img>
+// element only).
+extern const char kContextMenuElementNaturalWidth[];
+
+// Optional key. Represents element's naturalHeight attribute if present (<img>
+// element only).
+extern const char kContextMenuElementNaturalHeight[];
+
 }  // namespace web
 
 #endif  // IOS_WEB_JS_FEATURES_CONTEXT_MENU_CONTEXT_MENU_CONSTANTS_H_
diff --git a/ios/web/js_features/context_menu/context_menu_constants.mm b/ios/web/js_features/context_menu/context_menu_constants.mm
index 17159a0..bd84b03 100644
--- a/ios/web/js_features/context_menu/context_menu_constants.mm
+++ b/ios/web/js_features/context_menu/context_menu_constants.mm
@@ -17,5 +17,7 @@
 const char kContextMenuElementReferrerPolicy[] = "referrerPolicy";
 const char kContextMenuElementInnerText[] = "innerText";
 const char kContextMenuElementAlt[] = "alt";
+const char kContextMenuElementNaturalWidth[] = "naturalWidth";
+const char kContextMenuElementNaturalHeight[] = "naturalHeight";
 
 }  // namespace web
diff --git a/ios/web/js_features/context_menu/context_menu_js_unittest.mm b/ios/web/js_features/context_menu/context_menu_js_unittest.mm
index d7cba94a..7d69703 100644
--- a/ios/web/js_features/context_menu/context_menu_js_unittest.mm
+++ b/ios/web/js_features/context_menu/context_menu_js_unittest.mm
@@ -68,7 +68,7 @@
 // A point in the web view's coordinate space outside of the document bounds.
 const CGPoint kPointOutsideDocument = {150.0, 150.0};
 
-// A base64 encoded svg image of a blue square.
+// A base64 encoded svg image of a 600x600 blue square.
 const char kImageSource[] =
     "data:image/"
     "svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiI"
@@ -78,6 +78,12 @@
     "CjxyZWN0IHdpZHRoPSI"
     "2MDAiIGhlaWdodD0iNjAwIiBmaWxsPSIjMDA2NmZmIi8+Cjwvc3ZnPg==";
 
+// Natural width of kImageSource after styling
+const double kImageNaturalWidth = 84.0;
+
+// Natural height of kImageSource after styling
+const double kImageNaturalHeight = 25.0;
+
 // Alt text on image element for accessibility.
 const char kImageAlt[] = "Some alt text for an image";
 
@@ -300,6 +306,10 @@
   expected_value.SetStringKey(kContextMenuElementSource, kImageSource);
   expected_value.SetStringKey(kContextMenuElementAlt, kImageAlt);
   expected_value.SetStringKey(kContextMenuElementReferrerPolicy, "default");
+  expected_value.SetDoubleKey(kContextMenuElementNaturalWidth,
+                              kImageNaturalWidth);
+  expected_value.SetDoubleKey(kContextMenuElementNaturalHeight,
+                              kImageNaturalHeight);
 
   CheckElementResult(kPointOnImage, expected_value);
 }
@@ -318,11 +328,34 @@
   expected_value.SetStringKey(kContextMenuElementSource, kImageSource);
   expected_value.SetStringKey(kContextMenuElementAlt, kImageAlt);
   expected_value.SetStringKey(kContextMenuElementReferrerPolicy, "default");
+  expected_value.SetDoubleKey(kContextMenuElementNaturalWidth,
+                              kImageNaturalWidth);
+  expected_value.SetDoubleKey(kContextMenuElementNaturalHeight,
+                              kImageNaturalHeight);
   expected_value.SetStringKey(kContextMenuElementTitle, image_title);
 
   CheckElementResult(kPointOnImage, expected_value);
 }
 
+// Tests that the correct natural size is found for an image.
+TEST_F(ContextMenuJsFindElementAtPointTest,
+       FindImageElementWithNaturalSizeAtPoint) {
+  NSString* html = GetHtmlForPage(/*head=*/nil, GetHtmlForImage());
+  ASSERT_TRUE(web::test::LoadHtml(web_view_, html, GetTestURL()));
+
+  base::Value expected_value(base::Value::Type::DICTIONARY);
+  expected_value.SetStringKey(kContextMenuElementRequestId, kRequestId);
+  expected_value.SetStringKey(kContextMenuElementSource, kImageSource);
+  expected_value.SetStringKey(kContextMenuElementAlt, kImageAlt);
+  expected_value.SetStringKey(kContextMenuElementReferrerPolicy, "default");
+  expected_value.SetDoubleKey(kContextMenuElementNaturalWidth,
+                              kImageNaturalWidth);
+  expected_value.SetDoubleKey(kContextMenuElementNaturalHeight,
+                              kImageNaturalHeight);
+
+  CheckElementResult(kPointOnImage, expected_value);
+}
+
 // Tests that image details are not returned for a point outside of the document
 // margins.
 TEST_F(ContextMenuJsFindElementAtPointTest,
@@ -363,6 +396,10 @@
   expected_value.SetStringKey(kContextMenuElementSource, kImageSource);
   expected_value.SetStringKey(kContextMenuElementAlt, kImageAlt);
   expected_value.SetStringKey(kContextMenuElementReferrerPolicy, "default");
+  expected_value.SetDoubleKey(kContextMenuElementNaturalWidth,
+                              kImageNaturalWidth);
+  expected_value.SetDoubleKey(kContextMenuElementNaturalHeight,
+                              kImageNaturalHeight);
   expected_value.SetStringKey(kContextMenuElementHyperlink, image_link);
 
   CheckElementResult(kPointOnImage, expected_value);
@@ -510,6 +547,10 @@
   expected_value.SetStringKey(kContextMenuElementSource, kImageSource);
   expected_value.SetStringKey(kContextMenuElementAlt, kImageAlt);
   expected_value.SetStringKey(kContextMenuElementReferrerPolicy, "default");
+  expected_value.SetDoubleKey(kContextMenuElementNaturalWidth,
+                              kImageNaturalWidth);
+  expected_value.SetDoubleKey(kContextMenuElementNaturalHeight,
+                              kImageNaturalHeight);
 
   // Make sure the returned JSON does not have an 'href' key.
   CheckElementResult(kPointOnImage, expected_value);
diff --git a/ios/web/js_features/context_menu/context_menu_params.mm b/ios/web/js_features/context_menu/context_menu_params.mm
index c176568..2626554 100644
--- a/ios/web/js_features/context_menu/context_menu_params.mm
+++ b/ios/web/js_features/context_menu/context_menu_params.mm
@@ -13,7 +13,9 @@
 ContextMenuParams::ContextMenuParams()
     : is_main_frame(true),
       referrer_policy(ReferrerPolicyDefault),
-      location(CGPointZero) {}
+      location(CGPointZero),
+      natural_width(0.0),
+      natural_height(0.0) {}
 
 ContextMenuParams::ContextMenuParams(const ContextMenuParams& other) = default;
 
diff --git a/ios/web/js_features/context_menu/context_menu_params_utils.mm b/ios/web/js_features/context_menu/context_menu_params_utils.mm
index e747e9c..b635130a 100644
--- a/ios/web/js_features/context_menu/context_menu_params_utils.mm
+++ b/ios/web/js_features/context_menu/context_menu_params_utils.mm
@@ -67,6 +67,18 @@
     params.alt_text = base::SysUTF8ToNSString(*alt_text);
   }
 
+  absl::optional<double> natural_width =
+      element->FindDoubleKey(web::kContextMenuElementNaturalWidth);
+  if (natural_width.has_value()) {
+    params.natural_width = *natural_width;
+  }
+
+  absl::optional<double> natural_height =
+      element->FindDoubleKey(web::kContextMenuElementNaturalHeight);
+  if (natural_height.has_value()) {
+    params.natural_height = *natural_height;
+  }
+
   return params;
 }
 
diff --git a/ios/web/js_features/context_menu/context_menu_params_utils_unittest.mm b/ios/web/js_features/context_menu/context_menu_params_utils_unittest.mm
index b69ca44c..3d2185ba 100644
--- a/ios/web/js_features/context_menu/context_menu_params_utils_unittest.mm
+++ b/ios/web/js_features/context_menu/context_menu_params_utils_unittest.mm
@@ -27,6 +27,8 @@
 const char kReferrerPolicy[] = "always";
 const char kLinkText[] = "link text";
 const char kAlt[] = "alt text";
+const double kNaturalWidth = 200.0;
+const double kNaturalHeight = 300.0;
 }
 
 namespace web {
@@ -46,6 +48,8 @@
   EXPECT_NSEQ(params.link_text, nil);
   EXPECT_NSEQ(params.title_attribute, nil);
   EXPECT_NSEQ(params.alt_text, nil);
+  EXPECT_NEAR(params.natural_width, 0.0, DBL_EPSILON);
+  EXPECT_NEAR(params.natural_height, 0.0, DBL_EPSILON);
 }
 
 // Tests the parsing of the element NSDictionary.
@@ -57,6 +61,8 @@
   element_dict.SetStringKey(kContextMenuElementReferrerPolicy, kReferrerPolicy);
   element_dict.SetStringKey(kContextMenuElementInnerText, kLinkText);
   element_dict.SetStringKey(kContextMenuElementAlt, kAlt);
+  element_dict.SetDoubleKey(kContextMenuElementNaturalWidth, kNaturalWidth);
+  element_dict.SetDoubleKey(kContextMenuElementNaturalHeight, kNaturalHeight);
   ContextMenuParams params =
       ContextMenuParamsFromElementDictionary(&element_dict);
 
@@ -71,6 +77,9 @@
 
   EXPECT_NSEQ(params.title_attribute, @(kTitle));
   EXPECT_NSEQ(params.alt_text, @(kAlt));
+
+  EXPECT_NEAR(params.natural_width, kNaturalWidth, DBL_EPSILON);
+  EXPECT_NEAR(params.natural_height, kNaturalHeight, DBL_EPSILON);
 }
 
 
diff --git a/ios/web/js_features/context_menu/resources/all_frames_context_menu.js b/ios/web/js_features/context_menu/resources/all_frames_context_menu.js
index d6adff5..aa44232a 100644
--- a/ios/web/js_features/context_menu/resources/all_frames_context_menu.js
+++ b/ios/web/js_features/context_menu/resources/all_frames_context_menu.js
@@ -73,6 +73,14 @@
     }
   parent = parent.parentNode;
   }
+  // Copy the image natural width, if any.
+  if (element.naturalWidth) {
+    result.naturalWidth = element.naturalWidth;
+  }
+  // Copy the image natural height, if any.
+  if (element.naturalHeight) {
+    result.naturalHeight = element.naturalHeight;
+  }
   return result;
 };
 
diff --git a/ios/web/js_messaging/web_view_js_utils_unittest.mm b/ios/web/js_messaging/web_view_js_utils_unittest.mm
index 695a6d5..cbd47924 100644
--- a/ios/web/js_messaging/web_view_js_utils_unittest.mm
+++ b/ios/web/js_messaging/web_view_js_utils_unittest.mm
@@ -190,7 +190,7 @@
 
     inner_list = absl::nullopt;
     if (!current_list.value().empty() && current_list.value()[0].is_list())
-      inner_list = current_list.value()[0].GetList();
+      inner_list = current_list.value()[0].GetListDeprecated();
     current_list = inner_list;
   }
   EXPECT_FALSE(current_list.has_value());
diff --git a/ios/web/public/ui/context_menu_params.h b/ios/web/public/ui/context_menu_params.h
index f877b1b..97aaab12 100644
--- a/ios/web/public/ui/context_menu_params.h
+++ b/ios/web/public/ui/context_menu_params.h
@@ -53,6 +53,12 @@
 
   // The text for the "alt" attribute of an HTML img element. Can be null.
   NSString* alt_text;
+
+  // The natural width of the HTML img element. Can be null = 0.
+  double natural_width;
+
+  // The natural height of the HTML img element. Can be null = 0.
+  double natural_height;
 };
 
 }  // namespace web
diff --git a/ios/web/text_fragments/text_fragments_manager_impl.mm b/ios/web/text_fragments/text_fragments_manager_impl.mm
index ae8ece8..b73ac4d 100644
--- a/ios/web/text_fragments/text_fragments_manager_impl.mm
+++ b/ios/web/text_fragments/text_fragments_manager_impl.mm
@@ -156,7 +156,7 @@
 
   // Log metrics and cache Referrer for UKM logging.
   shared_highlighting::LogTextFragmentSelectorCount(
-      parsed_fragments.GetList().size());
+      parsed_fragments.GetListDeprecated().size());
   shared_highlighting::LogTextFragmentLinkOpenSource(referrer.url);
   latest_source_id_ = ukm::ConvertToSourceId(context->GetNavigationId(),
                                              ukm::SourceIdType::NAVIGATION_ID);
diff --git a/ios/web/web_state/ui/crw_context_menu_controller.mm b/ios/web/web_state/ui/crw_context_menu_controller.mm
index cc158e4..ccad40e 100644
--- a/ios/web/web_state/ui/crw_context_menu_controller.mm
+++ b/ios/web/web_state/ui/crw_context_menu_controller.mm
@@ -142,10 +142,13 @@
                           (UIContextMenuInteraction*)interaction
     previewForDismissingMenuWithConfiguration:
         (UIContextMenuConfiguration*)configuration {
+  UIPreviewParameters* previewParameters = [[UIPreviewParameters alloc] init];
+  previewParameters.backgroundColor = UIColor.clearColor;
   // If the dismiss view is not attached to the view hierarchy, fallback to nil
   // to prevent app crashing. See crbug.com/1231888.
   return self.dismissView.window
-             ? [[UITargetedPreview alloc] initWithView:self.dismissView]
+             ? [[UITargetedPreview alloc] initWithView:self.dismissView
+                                            parameters:previewParameters]
              : nil;
 }
 
diff --git a/ios/web/webui/web_ui_ios_impl.mm b/ios/web/webui/web_ui_ios_impl.mm
index 595a465f..e051dc3 100644
--- a/ios/web/webui/web_ui_ios_impl.mm
+++ b/ios/web/webui/web_ui_ios_impl.mm
@@ -157,7 +157,7 @@
       message_callbacks_.find(message);
   if (callback != message_callbacks_.end()) {
     // Forward this message and content on.
-    callback->second.Run(args.GetList());
+    callback->second.Run(args.GetListDeprecated());
   }
 
   // Look up the deprecated callback for this message.
diff --git a/mojo/core/watcher_dispatcher.cc b/mojo/core/watcher_dispatcher.cc
index e40d7c7..e220e87 100644
--- a/mojo/core/watcher_dispatcher.cc
+++ b/mojo/core/watcher_dispatcher.cc
@@ -233,7 +233,8 @@
     if (last_watch_to_block_arming_) {
       // Find the next watch to notify in simple round-robin order on the
       // |ready_watches_| map, wrapping around to the beginning if necessary.
-      next_ready_iter = ready_watches_.find(last_watch_to_block_arming_);
+      next_ready_iter = ready_watches_.find(
+          static_cast<const Watch*>(last_watch_to_block_arming_));
       if (next_ready_iter != ready_watches_.end())
         ++next_ready_iter;
       if (next_ready_iter == ready_watches_.end())
@@ -250,7 +251,7 @@
       blocking_events[i].signals_state = watch->last_known_signals_state();
 
       // Iterate and wrap around.
-      last_watch_to_block_arming_ = watch;
+      last_watch_to_block_arming_ = static_cast<const void*>(watch);
       ++next_ready_iter;
       if (next_ready_iter == ready_watches_.end())
         next_ready_iter = ready_watches_.begin();
diff --git a/mojo/core/watcher_dispatcher.h b/mojo/core/watcher_dispatcher.h
index f615597..271f656 100644
--- a/mojo/core/watcher_dispatcher.h
+++ b/mojo/core/watcher_dispatcher.h
@@ -93,8 +93,9 @@
   // remain ready over the span of several Arm() attempts.
   //
   // NOTE: This pointer is only used to index |ready_watches_| and may point to
-  // an invalid object. It must therefore never be dereferenced.
-  raw_ptr<const Watch> last_watch_to_block_arming_ = nullptr;
+  // an invalid object. It must therefore never be dereferenced. Use void*
+  // instead of raw_ptr<void> as the latter could trip dangling pointer checks.
+  const void* last_watch_to_block_arming_ = 0;
 };
 
 }  // namespace core
diff --git a/mojo/public/cpp/base/values_mojom_traits.h b/mojo/public/cpp/base/values_mojom_traits.h
index dc9d473..4e3e95f1 100644
--- a/mojo/public/cpp/base/values_mojom_traits.h
+++ b/mojo/public/cpp/base/values_mojom_traits.h
@@ -58,7 +58,7 @@
     StructTraits<mojo_base::mojom::ListValueDataView, base::Value> {
   static base::span<const base::Value> storage(const base::Value& value) {
     DCHECK(value.is_list());
-    return value.GetList();
+    return value.GetListDeprecated();
   }
 
   static bool Read(mojo_base::mojom::ListValueDataView data,
diff --git a/net/base/address_list.cc b/net/base/address_list.cc
index 6bbb2fe..e19e4bc 100644
--- a/net/base/address_list.cc
+++ b/net/base/address_list.cc
@@ -9,13 +9,10 @@
 #include <utility>
 #include <vector>
 
-#include "base/bind.h"
-#include "base/callback.h"
 #include "base/containers/flat_map.h"
 #include "base/logging.h"
 #include "base/values.h"
 #include "net/base/sys_addrinfo.h"
-#include "net/log/net_log_capture_mode.h"
 
 namespace net {
 
diff --git a/net/base/address_list_unittest.cc b/net/base/address_list_unittest.cc
index 7d9e6ea93..e656a8c 100644
--- a/net/base/address_list_unittest.cc
+++ b/net/base/address_list_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "net/base/address_list.h"
 
+#include <algorithm>
+
 #include "base/cxx17_backports.h"
 #include "base/strings/string_util.h"
 #include "base/sys_byteorder.h"
@@ -246,5 +248,31 @@
                           IPEndPoint(IPAddress(0, 0, 0, 3), 0)));
 }
 
+// Test that, for every permutation of a list of endpoints, deduplication
+// produces the same results as a naive reference implementation.
+TEST(AddressListTest, DeduplicatePreservesOrder) {
+  std::vector<IPEndPoint> permutation = {IPEndPoint(IPAddress(0, 0, 0, 1), 0),
+                                         IPEndPoint(IPAddress(0, 0, 0, 1), 0),
+                                         IPEndPoint(IPAddress(0, 0, 0, 2), 0),
+                                         IPEndPoint(IPAddress(0, 0, 0, 2), 0),
+                                         IPEndPoint(IPAddress(0, 0, 0, 3), 0)};
+  ASSERT_TRUE(std::is_sorted(permutation.begin(), permutation.end()));
+
+  do {
+    std::vector<IPEndPoint> expected;
+    std::set<IPEndPoint> set;
+    for (const IPEndPoint& endpoint : permutation) {
+      if (set.insert(endpoint).second)
+        expected.push_back(endpoint);
+    }
+    EXPECT_EQ(expected.size(), 3u);
+
+    AddressList address_list;
+    address_list.endpoints() = permutation;
+    address_list.Deduplicate();
+    EXPECT_EQ(address_list.endpoints(), expected);
+  } while (std::next_permutation(permutation.begin(), permutation.end()));
+}
+
 }  // namespace
 }  // namespace net
diff --git a/net/base/backoff_entry_serializer.cc b/net/base/backoff_entry_serializer.cc
index 3c975580..fd4fc472 100644
--- a/net/base/backoff_entry_serializer.cc
+++ b/net/base/backoff_entry_serializer.cc
@@ -79,7 +79,7 @@
     base::Time time_now) {
   if (!serialized.is_list())
     return nullptr;
-  const base::Value::ConstListView& list_view = serialized.GetList();
+  const base::Value::ConstListView& list_view = serialized.GetListDeprecated();
 
   if (list_view.size() != 4)
     return nullptr;
diff --git a/net/base/backoff_entry_serializer_unittest.cc b/net/base/backoff_entry_serializer_unittest.cc
index c56b453..2b4993d 100644
--- a/net/base/backoff_entry_serializer_unittest.cc
+++ b/net/base/backoff_entry_serializer_unittest.cc
@@ -139,7 +139,7 @@
 
     // Check that the serialized backoff duration matches our expectation.
     const std::string& serialized_backoff_duration_string =
-        serialized.GetList()[2].GetString();
+        serialized.GetListDeprecated()[2].GetString();
     int64_t serialized_backoff_duration_us;
     EXPECT_TRUE(base::StringToInt64(serialized_backoff_duration_string,
                                     &serialized_backoff_duration_us));
@@ -172,7 +172,7 @@
 
   // Reach into the serialization and check the string-formatted release time.
   const std::string& serialized_release_time =
-      serialized.GetList()[3].GetString();
+      serialized.GetListDeprecated()[3].GetString();
   EXPECT_EQ(serialized_release_time, "0");
 
   // Test that |DeserializeFromValue| notices this zero-valued release time and
diff --git a/net/base/network_isolation_key.cc b/net/base/network_isolation_key.cc
index 9f620d6..359cdcd1 100644
--- a/net/base/network_isolation_key.cc
+++ b/net/base/network_isolation_key.cc
@@ -139,7 +139,7 @@
   if (!value.is_list())
     return false;
 
-  base::Value::ConstListView list = value.GetList();
+  base::Value::ConstListView list = value.GetListDeprecated();
   if (list.empty()) {
     *network_isolation_key = NetworkIsolationKey();
     return true;
diff --git a/net/cert/crl_set.cc b/net/cert/crl_set.cc
index bf9a99d..7e5f839 100644
--- a/net/cert/crl_set.cc
+++ b/net/cert/crl_set.cc
@@ -178,7 +178,7 @@
     }
 
     std::vector<std::string> allowed_spkis;
-    for (const auto& j : i.second.GetList()) {
+    for (const auto& j : i.second.GetListDeprecated()) {
       allowed_spkis.push_back(std::string());
       if (!j.is_string() ||
           !base::Base64Decode(j.GetString(), &allowed_spkis.back())) {
diff --git a/net/cert/sct_auditing_delegate.h b/net/cert/sct_auditing_delegate.h
index 21f39e1a..2a146a8 100644
--- a/net/cert/sct_auditing_delegate.h
+++ b/net/cert/sct_auditing_delegate.h
@@ -23,8 +23,6 @@
       const net::X509Certificate* validated_certificate_chain,
       const net::SignedCertificateTimestampAndStatusList&
           signed_certificate_timestamps) = 0;
-
-  virtual bool IsSCTAuditingEnabled() = 0;
 };
 
 }  // namespace net
diff --git a/net/disk_cache/blockfile/block_files.cc b/net/disk_cache/blockfile/block_files.cc
index 9a87066..0f9a78a 100644
--- a/net/disk_cache/blockfile/block_files.cc
+++ b/net/disk_cache/blockfile/block_files.cc
@@ -256,12 +256,9 @@
 
 // ------------------------------------------------------------------------
 
-BlockFiles::BlockFiles(const base::FilePath& path)
-    : init_(false), zero_buffer_(nullptr), path_(path) {}
+BlockFiles::BlockFiles(const base::FilePath& path) : path_(path) {}
 
 BlockFiles::~BlockFiles() {
-  if (zero_buffer_)
-    delete[] zero_buffer_;
   CloseFiles();
 }
 
@@ -343,19 +340,18 @@
   if (!address.is_initialized() || address.is_separate_file())
     return;
 
-  if (!zero_buffer_) {
-    zero_buffer_ = new char[Addr::BlockSizeForFileType(BLOCK_4K) * 4];
-    memset(zero_buffer_, 0, Addr::BlockSizeForFileType(BLOCK_4K) * 4);
-  }
   MappedFile* file = GetFile(address);
   if (!file)
     return;
 
+  if (zero_buffer_.empty())
+    zero_buffer_.resize(Addr::BlockSizeForFileType(BLOCK_4K) * 4, 0);
+
   size_t size = address.BlockSize() * address.num_blocks();
   size_t offset = address.start_block() * address.BlockSize() +
                   kBlockHeaderSize;
   if (deep)
-    file->Write(zero_buffer_, size, offset);
+    file->Write(zero_buffer_.data(), size, offset);
 
   BlockHeader file_header(file);
   file_header.DeleteMapBlock(address.start_block(), address.num_blocks());
diff --git a/net/disk_cache/blockfile/block_files.h b/net/disk_cache/blockfile/block_files.h
index 77d5e22..6bfd7e2 100644
--- a/net/disk_cache/blockfile/block_files.h
+++ b/net/disk_cache/blockfile/block_files.h
@@ -151,8 +151,8 @@
   // Returns the filename for a given file index.
   base::FilePath Name(int index);
 
-  bool init_;
-  raw_ptr<char> zero_buffer_;  // Buffer to speed-up cleaning deleted entries.
+  bool init_ = false;
+  std::vector<char> zero_buffer_;  // Speed-up cleaning deleted entries.
   base::FilePath path_;  // Path to the backing folder.
   std::vector<scoped_refptr<MappedFile>> block_files_;  // The actual files.
   std::unique_ptr<base::ThreadChecker> thread_checker_;
diff --git a/net/dns/host_cache.cc b/net/dns/host_cache.cc
index 0d3813b..58f4e91 100644
--- a/net/dns/host_cache.cc
+++ b/net/dns/host_cache.cc
@@ -891,7 +891,7 @@
   // Reset the restore size to 0.
   restore_size_ = 0;
 
-  for (const auto& entry_dict : old_cache.GetList()) {
+  for (const auto& entry_dict : old_cache.GetListDeprecated()) {
     // If the cache is already full, don't bother prioritizing what to evict,
     // just stop restoring.
     if (size() == max_entries_)
diff --git a/net/dns/host_cache_unittest.cc b/net/dns/host_cache_unittest.cc
index 167ce56..22bb616a 100644
--- a/net/dns/host_cache_unittest.cc
+++ b/net/dns/host_cache_unittest.cc
@@ -1621,7 +1621,7 @@
   HostCache restored_cache(kMaxCacheEntries);
   EXPECT_FALSE(restored_cache.RestoreFromListValue(serialized_cache));
 
-  base::Value::ListView list = serialized_cache.GetList();
+  base::Value::ListView list = serialized_cache.GetListDeprecated();
   ASSERT_EQ(1u, list.size());
   ASSERT_TRUE(list[0].is_dict());
   base::Value* nik_value = list[0].FindPath("network_isolation_key");
@@ -1651,7 +1651,7 @@
   HostCache restored_cache(kMaxCacheEntries);
   restored_cache.RestoreFromListValue(serialized_cache);
 
-  ASSERT_EQ(1u, serialized_cache.GetList().size());
+  ASSERT_EQ(1u, serialized_cache.GetListDeprecated().size());
   ASSERT_EQ(1u, restored_cache.size());
   HostCache::EntryStaleness stale;
   const std::pair<const HostCache::Key, HostCache::Entry>* result =
diff --git a/net/http/http_auth_gssapi_posix.cc b/net/http/http_auth_gssapi_posix.cc
index 787f5bc..3d649e5 100644
--- a/net/http/http_auth_gssapi_posix.cc
+++ b/net/http/http_auth_gssapi_posix.cc
@@ -175,7 +175,7 @@
     messages.Append(message_string);
   } while (message_context != 0 && ++iterations < kMaxDisplayIterations);
 
-  if (messages.GetList().size() > 0)
+  if (messages.GetListDeprecated().size() > 0)
     rv.SetKey("message", std::move(messages));
   return rv;
 }
diff --git a/net/http/http_server_properties.cc b/net/http/http_server_properties.cc
index c2a3806b..39e8b65 100644
--- a/net/http/http_server_properties.cc
+++ b/net/http/http_server_properties.cc
@@ -415,7 +415,7 @@
       }
       alternative_service_list.Append(std::move(alternative_service_string));
     }
-    if (alternative_service_list.GetList().empty())
+    if (alternative_service_list.GetListDeprecated().empty())
       continue;
     base::Value dict(base::Value::Type::DICTIONARY);
     dict.SetStringKey("server", key.server.Serialize());
diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_properties_manager.cc
index 89a9ffca..a6836ff2 100644
--- a/net/http/http_server_properties_manager.cc
+++ b/net/http/http_server_properties_manager.cc
@@ -805,7 +805,7 @@
                                     std::move(advertised_versions_list));
     alternative_service_list.Append(std::move(alternative_service_dict));
   }
-  if (alternative_service_list.GetList().size() == 0)
+  if (alternative_service_list.GetListDeprecated().size() == 0)
     return;
   server_pref_dict->SetKey(kAlternativeServiceKey,
                            std::move(alternative_service_list));
@@ -897,7 +897,8 @@
         continue;
       }
       entry_dict.SetKey(kBrokenCountKey, base::Value(broken_count));
-      json_list_index_map[broken_alt_service] = json_list.GetList().size();
+      json_list_index_map[broken_alt_service] =
+          json_list.GetListDeprecated().size();
       json_list.Append(std::move(entry_dict));
     }
   }
@@ -921,7 +922,8 @@
       auto index_map_it = json_list_index_map.find(broken_alt_service);
       if (index_map_it != json_list_index_map.end()) {
         size_t json_list_index = index_map_it->second;
-        base::Value& entry_dict = json_list.GetList()[json_list_index];
+        base::Value& entry_dict =
+            json_list.GetListDeprecated()[json_list_index];
         DCHECK(entry_dict.is_dict());
         DCHECK(!entry_dict.FindKey(kBrokenUntilKey));
         entry_dict.SetKey(kBrokenUntilKey,
@@ -941,7 +943,7 @@
 
   // This can happen if all the entries are for NetworkIsolationKeys for opaque
   // origins, which isn't exactly common, but can theoretically happen.
-  if (json_list.GetList().empty())
+  if (json_list.GetListDeprecated().empty())
     return;
 
   http_server_properties_dict->SetKey(kBrokenAlternativeServicesKey,
diff --git a/net/http/transport_security_persister.cc b/net/http/transport_security_persister.cc
index 0010686..0554f03 100644
--- a/net/http/transport_security_persister.cc
+++ b/net/http/transport_security_persister.cc
@@ -138,7 +138,7 @@
 
   base::Time current_time(base::Time::Now());
 
-  for (const base::Value& sts_entry : sts_list.GetList()) {
+  for (const base::Value& sts_entry : sts_list.GetListDeprecated()) {
     if (!sts_entry.is_dict())
       continue;
 
@@ -227,7 +227,7 @@
 
   const base::Time current_time(base::Time::Now());
 
-  for (const base::Value& ct_entry : ct_list.GetList()) {
+  for (const base::Value& ct_entry : ct_list.GetListDeprecated()) {
     if (!ct_entry.is_dict())
       continue;
 
diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc
index 72c7952..d8ac4fb 100644
--- a/net/quic/crypto/proof_verifier_chromium.cc
+++ b/net/quic/crypto/proof_verifier_chromium.cc
@@ -540,8 +540,7 @@
           cert_verify_result.policy_compliance,
           proof_verifier_->network_isolation_key_);
 
-  if (sct_auditing_delegate_ &&
-      sct_auditing_delegate_->IsSCTAuditingEnabled()) {
+  if (sct_auditing_delegate_) {
     sct_auditing_delegate_->MaybeEnqueueReport(
         HostPortPair(hostname_, port_), cert_verify_result.verified_cert.get(),
         cert_verify_result.scts);
diff --git a/net/reporting/README.md b/net/reporting/README.md
index 49b07293..7ad6beb 100644
--- a/net/reporting/README.md
+++ b/net/reporting/README.md
@@ -4,9 +4,17 @@
 to origins from various other components (e.g. HTTP Public Key Pinning,
 Interventions, or Content Security Policy could potentially use it).
 
-The parts of it that are exposed to the web platform are specified in the [draft
-spec](https://w3c.github.io/reporting/). This document assumes that you've read
-that one.
+The parts of it that are exposed to the web platform are specified in three
+documents:
+ * The original API implemented in Chrome (Reporting V0) can be found at
+     [https://www.w3.org/TR/2018/WD-reporting-1-20180925/].
+ * The newer API is split into two parts. Document and worker-level reporting
+     (Reporting V1) is specified in the [draft reporting spec]
+     (https://w3c.github.io/reporting/), while Network-level reporting is
+     specified in the [draft network reporting spec]
+     (https://w3c.github.io/reporting/network-reporting.html).
+
+This document assumes that you've read those ones.
 
 ## Reporting in Chromium
 
@@ -31,10 +39,11 @@
       contains the inner workings of Reporting, spread across several classes:
 
         * The *`ReportingCache`* stores undelivered reports and endpoint
-          configurations (aka "clients" in the spec).
+          configurations (aka "clients" in the V0 spec, and the named endpoint
+          per reporting source in the V1 spec).
 
-        * The *`ReportingHeaderParser`* parses `Report-To:` headers and updates
-          the cache accordingly.
+        * The *`ReportingHeaderParser`* parses `Report-To:` and
+          `Reporting-Endpoints' headers and updates the cache accordingly.
 
         * The *`ReportingDeliveryAgent`* reads reports from the cache, decides
           which endpoints to deliver them to, and attempts to do so. It uses a
@@ -70,6 +79,24 @@
   are received, and passed on to the `ReportingService` to be added to the
   cache.
 
+* `Reporting-Endpoints:` headers are initially parsed by
+  `PopulateParsedHeaders`, where the raw header data is run through the
+  Structured Headers parser. If valid, this structure is stored on the network
+  response until a reporting source can be associated with it, and is then
+  passed through the `ReportingService` to be further validated and added to the
+  cache.
+
+* A reporting source, used only by V1 reports, is a `base::UnguessableToken`
+  associated with the document (or worker eventually) which configures reporting
+  using a `Reporting-Endpoints:` header. This same token must be passed into
+  the `ReportingService` when a report is queued for the correct endpoint to be
+  found. Since the `ReportingService` in `//net` does not know anything about
+  documents or workers, it tracks configurations and reports using this source
+  token. Any object creating such a token is responsible for informing the
+  `ReportingService` when the token will no longer be used (when the document
+  is destroyed, for instance.) This will cause any outstanding reports for that
+  token to be sent, and the configuration removed from the cache.
+
 ### Outside `//net`
 
 * In the network service, a `network::NetworkContext` queues reports by getting
@@ -97,6 +124,50 @@
     * This functionality is tested on Android by way of sending Network Error
       Logging reports [in the Cronet Java tests][4].
 
+## Differences between V0 and V1 reporting
+
+The original V0 reporting API included support for the `Report-To` header only,
+which configures endpoint groups which apply to an entire origin. This is still
+required for Network Error Logging, as those reports are not associated with
+any successful document load.
+
+All V0 reports destined for the same endpoint group may be bundled together for
+delivery, regardless of their source (subject to NIK isolation).
+
+V1 reporting drops the `Report-To` header in favor of `Reporting-Endpoints`,
+which configures named endpoints (single URLs) which are only valid for the
+network resource with which the header was sent. (In general, this means
+documents and workers, since other resources do not currently generate reports.
+Chrome ignores any `Reporting-Endpoints` headers on those responses.) The V1 API
+does not support multiple weighted URLs for an endpoint, or failover between
+them.
+
+V1 reports from the same source may be bundled together in a single delivery,
+but must be delivered separtely from other reports, even those coming from a
+different `Document` object at the same URL.
+
+## Supporting both V0 and V1 reporting in the same codebase
+
+Chrome cannot yet drop support for NEL, and therefore for the `Report-To`
+header. Until we can, it is possible for reports to be sent to endpoints
+configured with either header. NEL reports can only go to those endpoint groups
+configured with `Report-To`.
+
+To support both mechanisms simultaneously, we do the following:
+
+* V1 endpoints are stored in the cache along with V0 endpoint groups. Separate
+  maps are kept of (origin -> endpoint groups) and (source token -> endpoints).
+
+* All reports which can be associated with a specific source (currently all
+  reports except for NEL, which requires origin-scoped V0 configuration) must be
+  queued with that source's reporting source token.
+
+* When a report is to be delivered, the `ReportingDeliveryAgent` will first
+  attempt to find a matching V1 endpoint for the source. Only if that is
+  unsuccessful, because the source is null, or because the named endpoint is not
+  configured, will it fall back to searching for a matching V0 named endpoint
+  group.
+
 [1]: https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/renderer/core/frame/reporting_observer.h
 [2]: https://chromium.googlesource.com/chromium/src/+/HEAD/content/browser/net/reporting_service_proxy.cc
 [3]: https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/browser/net/chrome_network_delegate.h
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
index ec7d57e..1063bfb 100644
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -1356,8 +1356,7 @@
           server_cert_verify_result_.policy_compliance,
           ssl_config_.network_isolation_key);
 
-  if (context_->sct_auditing_delegate() &&
-      context_->sct_auditing_delegate()->IsSCTAuditingEnabled()) {
+  if (context_->sct_auditing_delegate()) {
     context_->sct_auditing_delegate()->MaybeEnqueueReport(
         host_and_port_, server_cert_verify_result_.verified_cert.get(),
         server_cert_verify_result_.scts);
diff --git a/net/spdy/spdy_log_util_unittest.cc b/net/spdy/spdy_log_util_unittest.cc
index 723b130d..21ca359e 100644
--- a/net/spdy/spdy_log_util_unittest.cc
+++ b/net/spdy/spdy_log_util_unittest.cc
@@ -39,25 +39,26 @@
       ElideHttp2HeaderBlockForNetLog(headers, NetLogCaptureMode::kDefault);
 
   ASSERT_FALSE(list.is_none());
-  ASSERT_EQ(2u, list.GetList().size());
+  ASSERT_EQ(2u, list.GetListDeprecated().size());
 
-  ASSERT_TRUE(list.GetList()[0].is_string());
-  EXPECT_EQ("foo: bar", list.GetList()[0].GetString());
+  ASSERT_TRUE(list.GetListDeprecated()[0].is_string());
+  EXPECT_EQ("foo: bar", list.GetListDeprecated()[0].GetString());
 
-  ASSERT_TRUE(list.GetList()[1].is_string());
-  EXPECT_EQ("cookie: [10 bytes were stripped]", list.GetList()[1].GetString());
+  ASSERT_TRUE(list.GetListDeprecated()[1].is_string());
+  EXPECT_EQ("cookie: [10 bytes were stripped]",
+            list.GetListDeprecated()[1].GetString());
 
   list = ElideHttp2HeaderBlockForNetLog(headers,
                                         NetLogCaptureMode::kIncludeSensitive);
 
   ASSERT_FALSE(list.is_none());
-  ASSERT_EQ(2u, list.GetList().size());
+  ASSERT_EQ(2u, list.GetListDeprecated().size());
 
-  ASSERT_TRUE(list.GetList()[0].is_string());
-  EXPECT_EQ("foo: bar", list.GetList()[0].GetString());
+  ASSERT_TRUE(list.GetListDeprecated()[0].is_string());
+  EXPECT_EQ("foo: bar", list.GetListDeprecated()[0].GetString());
 
-  ASSERT_TRUE(list.GetList()[1].is_string());
-  EXPECT_EQ("cookie: name=value", list.GetList()[1].GetString());
+  ASSERT_TRUE(list.GetListDeprecated()[1].is_string());
+  EXPECT_EQ("cookie: name=value", list.GetListDeprecated()[1].GetString());
 }
 
 TEST(SpdyLogUtilTest, Http2HeaderBlockNetLogParams) {
@@ -114,7 +115,7 @@
   base::ListValue list =
       ElideHttp2HeaderBlockForNetLog(headers, NetLogCaptureMode::kDefault);
 
-  base::Value::ConstListView list_view = list.GetList();
+  base::Value::ConstListView list_view = list.GetListDeprecated();
   ASSERT_EQ(3u, list_view.size());
   ASSERT_TRUE(list_view[0].is_string());
   EXPECT_EQ("%ESCAPED:\xE2\x80\x8B foo: bar%81", list_view[0].GetString());
diff --git a/net/test/spawned_test_server/local_test_server.cc b/net/test/spawned_test_server/local_test_server.cc
index 6c039ee..27142c9 100644
--- a/net/test/spawned_test_server/local_test_server.cc
+++ b/net/test/spawned_test_server/local_test_server.cc
@@ -203,9 +203,9 @@
 
     // Add arguments from a list.
     if (value.is_list()) {
-      if (value.GetList().empty())
+      if (value.GetListDeprecated().empty())
         return false;
-      for (const auto& entry : value.GetList()) {
+      for (const auto& entry : value.GetListDeprecated()) {
         if (!AppendArgumentFromJSONValue(key, entry, command_line))
           return false;
       }
diff --git a/pdf/pdf_view_plugin_base.cc b/pdf/pdf_view_plugin_base.cc
index 489efc2..659c6c2d 100644
--- a/pdf/pdf_view_plugin_base.cc
+++ b/pdf/pdf_view_plugin_base.cc
@@ -1575,7 +1575,7 @@
 
 void PdfViewPluginBase::SendBookmarks() {
   base::Value bookmarks = engine()->GetBookmarks();
-  if (bookmarks.GetList().empty())
+  if (bookmarks.GetListDeprecated().empty())
     return;
 
   base::Value message(base::Value::Type::DICTIONARY);
diff --git a/pdf/pdfium/pdfium_engine_exports.cc b/pdf/pdfium/pdfium_engine_exports.cc
index fc19d77..a3aadad 100644
--- a/pdf/pdfium/pdfium_engine_exports.cc
+++ b/pdf/pdfium/pdfium_engine_exports.cc
@@ -189,7 +189,7 @@
   // use "~children" instead of "children" because we pretty-print the
   // result of this as JSON and the keys are sorted; it's much easier to
   // understand when the children are the last key.
-  if (!children.GetList().empty())
+  if (!children.GetListDeprecated().empty())
     result.SetKey("~children", std::move(children));
 
   return result;
diff --git a/pdf/ppapi_migration/value_conversions.cc b/pdf/ppapi_migration/value_conversions.cc
index d5c55c46..7cdf31fd 100644
--- a/pdf/ppapi_migration/value_conversions.cc
+++ b/pdf/ppapi_migration/value_conversions.cc
@@ -44,7 +44,7 @@
     case base::Value::Type::LIST: {
       pp::VarArray var_array;
       uint32_t i = 0;
-      for (const auto& val : value.GetList()) {
+      for (const auto& val : value.GetListDeprecated()) {
         var_array.Set(i, VarFromValue(val));
         i++;
       }
diff --git a/ppapi/shared_impl/private/ppb_x509_certificate_private_shared.cc b/ppapi/shared_impl/private/ppb_x509_certificate_private_shared.cc
index 958b39b7..6796eb1 100644
--- a/ppapi/shared_impl/private/ppb_x509_certificate_private_shared.cc
+++ b/ppapi/shared_impl/private/ppb_x509_certificate_private_shared.cc
@@ -26,21 +26,22 @@
   DCHECK(value);
   uint32_t index = static_cast<uint32_t>(field);
   // Pad the list with null values if necessary.
-  while (index >= values_.GetList().size())
+  while (index >= values_.GetListDeprecated().size())
     values_.Append(base::Value());
-  values_.GetList()[index] = base::Value::FromUniquePtrValue(std::move(value));
+  values_.GetListDeprecated()[index] =
+      base::Value::FromUniquePtrValue(std::move(value));
 }
 
 PP_Var PPB_X509Certificate_Fields::GetFieldAsPPVar(
     PP_X509Certificate_Private_Field field) const {
   uint32_t index = static_cast<uint32_t>(field);
-  if (index >= values_.GetList().size()) {
+  if (index >= values_.GetListDeprecated().size()) {
     // Our list received might be smaller than the number of fields, so just
     // return null if the index is OOB.
     return PP_MakeNull();
   }
 
-  const base::Value& value = values_.GetList()[index];
+  const base::Value& value = values_.GetListDeprecated()[index];
   switch (value.type()) {
     case base::Value::Type::NONE:
       return PP_MakeNull();
diff --git a/printing/android/java/src/org/chromium/printing/PrintDocumentAdapterWrapper.java b/printing/android/java/src/org/chromium/printing/PrintDocumentAdapterWrapper.java
index b1b74cf..356b42d 100644
--- a/printing/android/java/src/org/chromium/printing/PrintDocumentAdapterWrapper.java
+++ b/printing/android/java/src/org/chromium/printing/PrintDocumentAdapterWrapper.java
@@ -4,8 +4,6 @@
 
 package org.chromium.printing;
 
-import android.annotation.TargetApi;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.ParcelFileDescriptor;
@@ -23,7 +21,6 @@
  * {@link PrintDocumentAdapter#onLayout} and {@link PrintDocumentAdapter#onWrite}. This class helps
  * bypassing the limitation.
  */
-@TargetApi(Build.VERSION_CODES.KITKAT)
 public class PrintDocumentAdapterWrapper extends PrintDocumentAdapter {
     private PdfGenerator mPdfGenerator;
 
@@ -143,4 +140,4 @@
         super.onFinish();
         mPdfGenerator.onFinish();
     }
-}
\ No newline at end of file
+}
diff --git a/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java b/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java
index 150b4d75eb..e31b7d59 100644
--- a/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java
+++ b/printing/android/java/src/org/chromium/printing/PrintManagerDelegateImpl.java
@@ -4,10 +4,8 @@
 
 package org.chromium.printing;
 
-import android.annotation.TargetApi;
 import android.app.Activity;
 import android.content.Context;
-import android.os.Build;
 import android.print.PrintAttributes;
 import android.print.PrintDocumentAdapter;
 import android.print.PrintJob;
@@ -22,7 +20,6 @@
 /**
  * An implementation of {@link PrintManagerDelegate} using the Android framework print manager.
  */
-@TargetApi(Build.VERSION_CODES.KITKAT)
 public class PrintManagerDelegateImpl implements PrintManagerDelegate {
     private static final String TAG = "printing";
     private final PrintManager mPrintManager;
diff --git a/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java b/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java
index 11943f7..84bbfd3 100644
--- a/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java
+++ b/printing/android/java/src/org/chromium/printing/PrintingControllerImpl.java
@@ -4,8 +4,6 @@
 
 package org.chromium.printing;
 
-import android.annotation.TargetApi;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.ParcelFileDescriptor;
@@ -31,7 +29,6 @@
  * the print button. The singleton object lives in UI thread. Interaction with the native side is
  * carried through PrintingContext class.
  */
-@TargetApi(Build.VERSION_CODES.KITKAT)
 public class PrintingControllerImpl implements PrintingController, PdfGenerator {
     private static final String TAG = "printing";
 
diff --git a/remoting/host/security_key/security_key_extension_session.cc b/remoting/host/security_key/security_key_extension_session.cc
index ab8bdea0..41b3aa4 100644
--- a/remoting/host/security_key/security_key_extension_session.cc
+++ b/remoting/host/security_key/security_key_extension_session.cc
@@ -45,11 +45,11 @@
 bool ConvertListToString(const base::Value& bytes, std::string* out) {
   out->clear();
 
-  unsigned int byte_count = bytes.GetList().size();
+  unsigned int byte_count = bytes.GetListDeprecated().size();
   if (byte_count != 0) {
     out->reserve(byte_count);
     for (unsigned int i = 0; i < byte_count; i++) {
-      auto value = bytes.GetList()[i].GetIfInt();
+      auto value = bytes.GetListDeprecated()[i].GetIfInt();
       if (!value.has_value()) {
         return false;
       }
diff --git a/remoting/resources/remoting_strings_sw.xtb b/remoting/resources/remoting_strings_sw.xtb
index a493e61..6dc57d2 100644
--- a/remoting/resources/remoting_strings_sw.xtb
+++ b/remoting/resources/remoting_strings_sw.xtb
@@ -67,11 +67,11 @@
 <translation id="4126409073460786861">Baada ya kukamilisha shughuli ya kuweka mipangilio, onyesha upya ukurasa huu na utaweza kufikia kompyuta kwa kuchagua kifaa chako na kuweka PIN</translation>
 <translation id="4145029455188493639">Umeingia katika akaunti ukitumia <ph name="EMAIL_ADDRESS" />.</translation>
 <translation id="4155497795971509630">Baadhi ya vipengele vinavyohitajika havipo. Tafadhali hakikisha kuwa umesakinisha toleo jipya la programu na ujaribu tena.</translation>
-<translation id="4176825807642096119">Msimbo wa ufikiaji</translation>
+<translation id="4176825807642096119">Msimbo wa kufikia</translation>
 <translation id="4227991223508142681">Utoaji Data wa Seva Pangishi</translation>
 <translation id="4240294130679914010">Kiondoa Seva Pangishi ya Chromoting</translation>
 <translation id="4257751272692708833">Kisambazaji cha URL cha <ph name="PRODUCT_NAME" /></translation>
-<translation id="4277736576214464567">Msimbo wa ufikiaji ni batili. Tafadhali jaribu tena.</translation>
+<translation id="4277736576214464567">Msimbo wa kufikia si sahihi. Tafadhali jaribu tena.</translation>
 <translation id="4281844954008187215">Sheria na Masharti</translation>
 <translation id="4372650392690220936">Hakimiliki 2022 Waandishi wa Chromium. Haki Zote Zimehifadhiwa.</translation>
 <translation id="4405930547258349619">Mkataba Kuu</translation>
diff --git a/rlz/chromeos/lib/rlz_value_store_chromeos.cc b/rlz/chromeos/lib/rlz_value_store_chromeos.cc
index 60b5c60..a07ce47 100644
--- a/rlz/chromeos/lib/rlz_value_store_chromeos.cc
+++ b/rlz/chromeos/lib/rlz_value_store_chromeos.cc
@@ -181,9 +181,9 @@
 
     case base::Value::Type::LIST: {
       base::Value::ListStorage storage;
-      storage.reserve(value.GetList().size());
+      storage.reserve(value.GetListDeprecated().size());
 
-      for (const base::Value& item : value.GetList()) {
+      for (const base::Value& item : value.GetListDeprecated()) {
         absl::optional<base::Value> item_copy = CopyWithoutEmptyChildren(item);
         if (item_copy)
           storage.push_back(std::move(*item_copy));
diff --git a/services/device/geolocation/network_location_provider_unittest.cc b/services/device/geolocation/network_location_provider_unittest.cc
index 2e05c8f1..beef6db 100644
--- a/services/device/geolocation/network_location_provider_unittest.cc
+++ b/services/device/geolocation/network_location_provider_unittest.cc
@@ -297,14 +297,15 @@
       CreateReferenceWifiScanDataJson(expected_wifi_aps, wifi_start_index,
                                       &expected_wifi_aps_json);
       EXPECT_EQ(size_t(expected_wifi_aps),
-                expected_wifi_aps_json.GetList().size());
+                expected_wifi_aps_json.GetListDeprecated().size());
 
       const base::ListValue* wifi_aps_json;
       ASSERT_TRUE(
           JsonGetList("wifiAccessPoints", *request_json, &wifi_aps_json));
-      for (size_t i = 0; i < expected_wifi_aps_json.GetList().size(); ++i) {
+      for (size_t i = 0; i < expected_wifi_aps_json.GetListDeprecated().size();
+           ++i) {
         const base::Value& expected_json_value =
-            expected_wifi_aps_json.GetList()[i];
+            expected_wifi_aps_json.GetListDeprecated()[i];
         ASSERT_TRUE(expected_json_value.is_dict());
         const base::DictionaryValue& expected_json =
             base::Value::AsDictionaryValue(expected_json_value);
diff --git a/services/network/expect_ct_reporter_unittest.cc b/services/network/expect_ct_reporter_unittest.cc
index 2288d0d..9d5c1020 100644
--- a/services/network/expect_ct_reporter_unittest.cc
+++ b/services/network/expect_ct_reporter_unittest.cc
@@ -133,7 +133,7 @@
     const base::ListValue& chain) {
   std::vector<std::string> pem_encoded_chain;
   expected_cert->GetPEMEncodedChain(&pem_encoded_chain);
-  base::Value::ConstListView chain_list = chain.GetList();
+  base::Value::ConstListView chain_list = chain.GetListDeprecated();
   ASSERT_EQ(pem_encoded_chain.size(), chain_list.size());
 
   for (size_t i = 0; i < pem_encoded_chain.size(); i++) {
@@ -168,7 +168,7 @@
     return ::testing::AssertionFailure() << "Failed to serialize SCT";
   }
 
-  for (const base::Value& report_sct_value : report_list.GetList()) {
+  for (const base::Value& report_sct_value : report_list.GetListDeprecated()) {
     if (!report_sct_value.is_dict()) {
       return ::testing::AssertionFailure()
              << "Failed to get dictionary value from report SCT list";
@@ -215,7 +215,7 @@
 void CheckReportSCTs(
     const net::SignedCertificateTimestampAndStatusList& expected_scts,
     const base::ListValue& scts) {
-  EXPECT_EQ(expected_scts.size(), scts.GetList().size());
+  EXPECT_EQ(expected_scts.size(), scts.GetListDeprecated().size());
   for (const auto& expected_sct : expected_scts) {
     ASSERT_TRUE(
         FindSCTInReportList(expected_sct.sct, expected_sct.status, scts));
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 80d864c..c84a5ab 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -353,7 +353,6 @@
       const net::X509Certificate* validated_certificate_chain,
       const net::SignedCertificateTimestampAndStatusList&
           signed_certificate_timestamps) override;
-  bool IsSCTAuditingEnabled() override;
 
  private:
   base::WeakPtr<NetworkContext> context_;
@@ -376,12 +375,6 @@
                                   signed_certificate_timestamps);
 }
 
-bool SCTAuditingDelegate::IsSCTAuditingEnabled() {
-  if (!context_)
-    return false;
-  return context_->sct_auditing_handler()->is_enabled();
-}
-
 // Filters `log_list` for disqualified or Google-operated logs,
 // returning them as sorted vectors in `disqualified_logs` and
 // `operated_by_google_logs` suitable for use with a `CTPolicyEnforcer`.
@@ -1401,8 +1394,7 @@
           net::TransportSecurityState::ENABLE_EXPECT_CT_REPORTS,
           cert_verify_result.policy_compliance, network_isolation_key);
 
-  if (url_request_context_->sct_auditing_delegate() &&
-      url_request_context_->sct_auditing_delegate()->IsSCTAuditingEnabled()) {
+  if (url_request_context_->sct_auditing_delegate()) {
     url_request_context_->sct_auditing_delegate()->MaybeEnqueueReport(
         host_port_pair, verified_cert, cert_verify_result.scts);
   }
diff --git a/services/network/network_context_unittest.cc b/services/network/network_context_unittest.cc
index bc642d55..d941f6d7c 100644
--- a/services/network/network_context_unittest.cc
+++ b/services/network/network_context_unittest.cc
@@ -68,6 +68,8 @@
 #include "net/base/test_completion_callback.h"
 #include "net/cert/cert_verify_result.h"
 #include "net/cert/mock_cert_verifier.h"
+#include "net/cert/sct_status_flags.h"
+#include "net/cert/x509_certificate.h"
 #include "net/cookies/canonical_cookie.h"
 #include "net/cookies/cookie_access_result.h"
 #include "net/cookies/cookie_options.h"
@@ -143,6 +145,7 @@
 #if BUILDFLAG(IS_CT_SUPPORTED)
 #include "components/certificate_transparency/chrome_ct_policy_enforcer.h"
 #include "services/network/public/mojom/ct_log_info.mojom.h"
+#include "services/network/sct_auditing/sct_auditing_cache.h"
 #endif
 
 #if BUILDFLAG(ENABLE_REPORTING)
@@ -7434,6 +7437,52 @@
   EXPECT_TRUE(is_url_allowed_to_use_auth_schemes(kBlocked));
 }
 
+#if BUILDFLAG(IS_CT_SUPPORTED)
+// Tests that NetworkContext doesn't enqueue SCT reports for auditing if the
+// feature is disabled.
+TEST_F(NetworkContextTest, DisableSCTReportAuditing) {
+  const char kHostname[] = "foo.test.";
+  scoped_refptr<net::X509Certificate> chain =
+      net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem");
+  ASSERT_TRUE(chain.get());
+  const net::HostPortPair kHostPortPair = net::HostPortPair(kHostname, 0);
+
+  scoped_refptr<net::ct::SignedCertificateTimestamp> sct(
+      new net::ct::SignedCertificateTimestamp());
+  sct->version = net::ct::SignedCertificateTimestamp::V1;
+
+  // The particular value of the log ID doesn't matter; it just has to be the
+  // correct length.
+  const unsigned char kTestLogId[] = {
+      0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+      0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+      0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
+  const std::string log_id(reinterpret_cast<const char*>(kTestLogId),
+                           sizeof(kTestLogId));
+  sct->log_id = log_id;
+  sct->timestamp = base::Time::Now();
+  sct->origin = net::ct::SignedCertificateTimestamp::SCT_EMBEDDED;
+  net::SignedCertificateTimestampAndStatusList sct_list;
+  sct_list.push_back(
+      net::SignedCertificateTimestampAndStatus(sct, net::ct::SCT_STATUS_OK));
+
+  for (bool enabled : {false, true}) {
+    SCOPED_TRACE(testing::Message() << "Enabled: " << enabled);
+    base::HistogramTester histograms;
+    mojom::NetworkContextParamsPtr params =
+        CreateNetworkContextParamsForTesting();
+    params->enable_sct_auditing = enabled;
+    std::unique_ptr<NetworkContext> network_context =
+        CreateContextWithParams(std::move(params));
+    network_context->MaybeEnqueueSCTReport(kHostPortPair, chain.get(),
+                                           sct_list);
+    histograms.ExpectTotalCount("Security.SCTAuditing.OptIn.ReportSampled",
+                                enabled ? 1 : 0);
+    network_service()->ClearSCTAuditingCache();
+  }
+}
+#endif  // BUILDFLAG(IS_CT_SUPPORTED)
+
 }  // namespace
 
 }  // namespace network
diff --git a/services/network/network_service.cc b/services/network/network_service.cc
index b80ef8f..a707b82c 100644
--- a/services/network/network_service.cc
+++ b/services/network/network_service.cc
@@ -693,11 +693,9 @@
 }
 
 void NetworkService::ConfigureSCTAuditing(
-    bool enabled,
     double sampling_rate,
     const GURL& reporting_uri,
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation) {
-  sct_auditing_cache_->set_enabled(enabled);
   sct_auditing_cache_->set_sampling_rate(sampling_rate);
   sct_auditing_cache_->set_report_uri(reporting_uri);
   sct_auditing_cache_->set_traffic_annotation(traffic_annotation);
diff --git a/services/network/network_service.h b/services/network/network_service.h
index 0a9ff954..0fee98c 100644
--- a/services/network/network_service.h
+++ b/services/network/network_service.h
@@ -180,8 +180,7 @@
                     ParseHeadersCallback callback) override;
 #if BUILDFLAG(IS_CT_SUPPORTED)
   void ClearSCTAuditingCache() override;
-  void ConfigureSCTAuditing(bool enabled,
-                            double sampling_rate,
+  void ConfigureSCTAuditing(double sampling_rate,
                             const GURL& reporting_uri,
                             const net::MutableNetworkTrafficAnnotationTag&
                                 traffic_annotation) override;
diff --git a/services/network/public/mojom/network_service.mojom b/services/network/public/mojom/network_service.mojom
index 28b6eb0..78f99ce 100644
--- a/services/network/public/mojom/network_service.mojom
+++ b/services/network/public/mojom/network_service.mojom
@@ -313,16 +313,14 @@
   ClearSCTAuditingCache();
 
   // Configures SCT auditing.
-  // This allows the embedder to specify whether SCT auditing should be enabled,
-  // what sampling rate to use on reports, where reports should be sent, and the
-  // traffic annotation to use.
+  // This allows the embedder to specify what sampling rate to use on SCT
+  // auditing reports, where reports should be sent, and the traffic annotation
+  // to use.
   [EnableIf=is_ct_supported]
-  ConfigureSCTAuditing(bool enabled,
-                       double sampling_rate,
+  ConfigureSCTAuditing(double sampling_rate,
                        url.mojom.Url report_uri,
                        MutableNetworkTrafficAnnotationTag traffic_annotation);
 
-
   // Updates the log list used for CT verification. `update_time` should
   // contain the timestamp that the log list was considered fresh/current, in
   // order to ensure that CT is not enforced if the log list is too out of
diff --git a/services/network/sct_auditing/sct_auditing_cache.cc b/services/network/sct_auditing/sct_auditing_cache.cc
index e1a0e43b..2a786b5 100644
--- a/services/network/sct_auditing/sct_auditing_cache.cc
+++ b/services/network/sct_auditing/sct_auditing_cache.cc
@@ -70,9 +70,13 @@
     const net::X509Certificate* validated_certificate_chain,
     const net::SignedCertificateTimestampAndStatusList&
         signed_certificate_timestamps) {
-  if (!enabled_)
-    return;
-
+  if (!histogram_timer_.IsRunning()) {
+    // High-water-mark metrics get logged hourly (rather than once-per-session
+    // at shutdown, as Network Service shutdown is not consistent and
+    // non-browser processes can fail to report metrics during shutdown).
+    histogram_timer_.Start(FROM_HERE, base::Hours(1), this,
+                           &SCTAuditingCache::ReportHWMMetrics);
+  }
   auto report = std::make_unique<sct_auditing::SCTClientReport>();
   auto* tls_report = report->add_certificate_report();
 
@@ -163,28 +167,8 @@
   dedupe_cache_.Clear();
 }
 
-void SCTAuditingCache::set_enabled(bool enabled) {
-  enabled_ = enabled;
-  SetPeriodicMetricsEnabled(enabled);
-}
-
 void SCTAuditingCache::ReportHWMMetrics() {
-  if (!enabled_)
-    return;
   RecordSCTAuditingCacheHighWaterMarkMetrics(dedupe_cache_size_hwm_);
 }
 
-void SCTAuditingCache::SetPeriodicMetricsEnabled(bool enabled) {
-  // High-water-mark metrics get logged hourly (rather than once-per-session at
-  // shutdown, as Network Service shutdown is not consistent and non-browser
-  // processes can fail to report metrics during shutdown). The timer should
-  // only be running if SCT auditing is enabled.
-  if (enabled) {
-    histogram_timer_.Start(FROM_HERE, base::Hours(1), this,
-                           &SCTAuditingCache::ReportHWMMetrics);
-  } else {
-    histogram_timer_.Stop();
-  }
-}
-
 }  // namespace network
diff --git a/services/network/sct_auditing/sct_auditing_cache.h b/services/network/sct_auditing/sct_auditing_cache.h
index 3c2d1fa7..a9d44392 100644
--- a/services/network/sct_auditing/sct_auditing_cache.h
+++ b/services/network/sct_auditing/sct_auditing_cache.h
@@ -72,7 +72,6 @@
 
   void ClearCache();
 
-  void set_enabled(bool enabled);
   void set_sampling_rate(double rate) { sampling_rate_ = rate; }
   void set_report_uri(const GURL& report_uri) { report_uri_ = report_uri; }
   void set_popular_scts(std::vector<std::vector<uint8_t>> popular_scts) {
@@ -93,7 +92,6 @@
 
  private:
   void ReportHWMMetrics();
-  void SetPeriodicMetricsEnabled(bool enabled);
 
   // Value `bool` is ignored in the dedupe cache. This cache only stores
   // recently seen hashes of SCTs in order to deduplicate on SCTs, and the bool
@@ -106,7 +104,6 @@
   // as an optimization for hashdance clients.
   std::vector<std::vector<uint8_t>> popular_scts_;
 
-  bool enabled_ = false;
   double sampling_rate_ = 0;
   GURL report_uri_;
   net::MutableNetworkTrafficAnnotationTag traffic_annotation_;
diff --git a/services/network/sct_auditing/sct_auditing_cache_unittest.cc b/services/network/sct_auditing/sct_auditing_cache_unittest.cc
index 8d105be..4336e87c 100644
--- a/services/network/sct_auditing/sct_auditing_cache_unittest.cc
+++ b/services/network/sct_auditing/sct_auditing_cache_unittest.cc
@@ -77,7 +77,6 @@
   // sets up the URLLoaderFactory. Individual tests can directly call the set_*
   // methods to tweak the configuration.
   void InitSCTAuditing(SCTAuditingCache* cache) {
-    cache->set_enabled(true);
     cache->set_sampling_rate(1.0);
     cache->set_report_uri(GURL("https://example.test"));
     cache->set_traffic_annotation(
@@ -182,26 +181,6 @@
 
 }  // namespace
 
-// Test that if auditing is disabled, no reports are cached.
-TEST_F(SCTAuditingCacheTest, NoReportsCachedWhenAuditingDisabled) {
-  SCTAuditingCache cache(10);
-  InitSCTAuditing(&cache);
-  cache.set_enabled(false);
-
-  const net::HostPortPair host_port_pair("example.com", 443);
-  net::SignedCertificateTimestampAndStatusList sct_list;
-  MakeTestSCTAndStatus(net::ct::SignedCertificateTimestamp::SCT_EMBEDDED,
-                       "extensions1", "signature1", base::Time::Now(),
-                       net::ct::SCT_STATUS_OK, &sct_list);
-  cache.MaybeEnqueueReport(network_context_.get(), host_port_pair, chain_.get(),
-                           sct_list);
-
-  EXPECT_EQ(0u, cache.GetCacheForTesting()->size());
-  EXPECT_EQ(0u, network_context_->sct_auditing_handler()
-                    ->GetPendingReportersForTesting()
-                    ->size());
-}
-
 // Test that inserting and retrieving a report works.
 TEST_F(SCTAuditingCacheTest, InsertAndRetrieveReport) {
   SCTAuditingCache cache(10);
diff --git a/services/network/sct_auditing/sct_auditing_handler_unittest.cc b/services/network/sct_auditing/sct_auditing_handler_unittest.cc
index 88e2fa2..0869934a 100644
--- a/services/network/sct_auditing/sct_auditing_handler_unittest.cc
+++ b/services/network/sct_auditing/sct_auditing_handler_unittest.cc
@@ -60,7 +60,6 @@
 
     // Set up SCT auditing configuration.
     auto* cache = network_service_->sct_auditing_cache();
-    cache->set_enabled(true);
     cache->set_sampling_rate(1.0);
     cache->set_report_uri(GURL("https://example.test"));
     cache->set_traffic_annotation(
@@ -247,7 +246,6 @@
     auto* file_writer = handler.GetFileWriterForTesting();
     ASSERT_TRUE(file_writer);
 
-    ASSERT_TRUE(handler.is_enabled());
     ASSERT_FALSE(file_writer->HasPendingWrite());
 
     // Add a Reporter to the Handler and check that it gets scheduled to be
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
index 44d46b6..9c873de 100644
--- a/services/network/url_loader.cc
+++ b/services/network/url_loader.cc
@@ -419,12 +419,6 @@
       continue;
     }
 
-    // TODO(crbug.com/1286857): `Sec-CH-UA-Full` client hint isn't yet in
-    // request, which trigger a restart, will add in following CL.
-    if (hint == mojom::WebClientHintsType::kFullUserAgent) {
-      continue;
-    }
-
     const std::string header = GetClientHintToNameMap().at(hint);
     if (!headers.HasHeader(header))
       hints.push_back(hint);
diff --git a/services/tracing/perfetto/perfetto_service.cc b/services/tracing/perfetto/perfetto_service.cc
index e8a444d..f5fc293 100644
--- a/services/tracing/perfetto/perfetto_service.cc
+++ b/services/tracing/perfetto/perfetto_service.cc
@@ -9,10 +9,12 @@
 #include "base/bind.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/no_destructor.h"
+#include "base/process/process_handle.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
 #include "base/task/post_task.h"
+#include "build/build_config.h"
 #include "mojo/public/cpp/bindings/message.h"
 #include "services/tracing/perfetto/consumer_host.h"
 #include "services/tracing/perfetto/producer_host.h"
@@ -20,12 +22,20 @@
 #include "third_party/perfetto/include/perfetto/ext/tracing/core/tracing_service.h"
 
 namespace tracing {
-
 namespace {
 
-bool StringToProcessId(const std::string& input, base::ProcessId* output) {
-  // Pid is encoded as uint in the string.
-  return base::StringToUint(input, reinterpret_cast<uint32_t*>(output));
+// Parses the PID from |pid_as_string| and stores the result in |pid|.
+// Returns true if the PID was parsed successfully.
+bool ParseProcessId(const std::string& pid_as_string, base::ProcessId* pid) {
+#if BUILDFLAG(IS_FUCHSIA)
+  // Fuchsia zx_koid_t is a 64-bit int.
+  static_assert(sizeof(base::ProcessId) == 8);
+  return base::StringToUint64(pid_as_string, pid);
+#else
+  // All other platforms use 32-bit ints for their PIDs.
+  static_assert(sizeof(base::ProcessId) == 4);
+  return base::StringToUint(pid_as_string, reinterpret_cast<uint32_t*>(pid));
+#endif
 }
 
 }  // namespace
@@ -41,7 +51,7 @@
 
   static const size_t kPrefixLength =
       strlen(mojom::kPerfettoProducerNamePrefix);
-  if (!StringToProcessId(producer_name.substr(kPrefixLength), pid)) {
+  if (!ParseProcessId(producer_name.substr(kPrefixLength), pid)) {
     LOG(DFATAL) << "Unexpected producer name: " << producer_name;
     return false;
   }
diff --git a/skia/ext/benchmarking_canvas.cc b/skia/ext/benchmarking_canvas.cc
index 0dbd7de..cc8f4a4 100644
--- a/skia/ext/benchmarking_canvas.cc
+++ b/skia/ext/benchmarking_canvas.cc
@@ -388,7 +388,7 @@
 BenchmarkingCanvas::~BenchmarkingCanvas() = default;
 
 size_t BenchmarkingCanvas::CommandCount() const {
-  return op_records_.GetList().size();
+  return op_records_.GetListDeprecated().size();
 }
 
 const base::ListValue& BenchmarkingCanvas::Commands() const {
@@ -396,7 +396,7 @@
 }
 
 double BenchmarkingCanvas::GetTime(size_t index) {
-  const base::Value& op = op_records_.GetList()[index];
+  const base::Value& op = op_records_.GetListDeprecated()[index];
   if (!op.is_dict())
     return 0;
   return op.FindDoubleKey("cmd_time").value_or(0);
diff --git a/storage/browser/database/database_quota_client.cc b/storage/browser/database/database_quota_client.cc
index 8240da8..d595a539 100644
--- a/storage/browser/database/database_quota_client.cc
+++ b/storage/browser/database/database_quota_client.cc
@@ -77,30 +77,6 @@
   std::move(callback).Run(all_storage_keys);
 }
 
-void DatabaseQuotaClient::GetStorageKeysForHost(
-    StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK(!callback.is_null());
-  DCHECK_EQ(type, StorageType::kTemporary);
-
-  std::vector<StorageKey> host_storage_keys;
-  // In the vast majority of cases, this vector will end up with exactly one
-  // storage key. The storage key will be https://host or http://host.
-  host_storage_keys.reserve(1);
-
-  std::vector<std::string> origin_identifiers;
-  if (db_tracker_.GetAllOriginIdentifiers(&origin_identifiers)) {
-    for (const auto& identifier : origin_identifiers) {
-      StorageKey storage_key = StorageKey(GetOriginFromIdentifier(identifier));
-      if (host == storage_key.origin().host())
-        host_storage_keys.push_back(std::move(storage_key));
-    }
-  }
-  std::move(callback).Run(host_storage_keys);
-}
-
 void DatabaseQuotaClient::DeleteStorageKeyData(
     const StorageKey& storage_key,
     StorageType type,
diff --git a/storage/browser/database/database_quota_client.h b/storage/browser/database/database_quota_client.h
index 1d0fb15..25b37af 100644
--- a/storage/browser/database/database_quota_client.h
+++ b/storage/browser/database/database_quota_client.h
@@ -5,9 +5,6 @@
 #ifndef STORAGE_BROWSER_DATABASE_DATABASE_QUOTA_CLIENT_H_
 #define STORAGE_BROWSER_DATABASE_DATABASE_QUOTA_CLIENT_H_
 
-#include <set>
-#include <string>
-
 #include "base/component_export.h"
 #include "base/memory/ref_counted.h"
 #include "base/sequence_checker.h"
@@ -44,9 +41,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
diff --git a/storage/browser/database/database_quota_client_unittest.cc b/storage/browser/database/database_quota_client_unittest.cc
index 06f0483ca..ffd0b02 100644
--- a/storage/browser/database/database_quota_client_unittest.cc
+++ b/storage/browser/database/database_quota_client_unittest.cc
@@ -181,23 +181,6 @@
     return result;
   }
 
-  static std::vector<blink::StorageKey> GetStorageKeysForHost(
-      mojom::QuotaClient& client,
-      blink::mojom::StorageType type,
-      const std::string& host) {
-    std::vector<blink::StorageKey> result;
-    base::RunLoop loop;
-    client.GetStorageKeysForHost(
-        type, host,
-        base::BindLambdaForTesting(
-            [&](const std::vector<blink::StorageKey>& storage_keys) {
-              result = storage_keys;
-              loop.Quit();
-            }));
-    loop.Run();
-    return result;
-  }
-
   static blink::mojom::QuotaStatusCode DeleteStorageKeyData(
       mojom::QuotaClient& client,
       blink::mojom::StorageType type,
@@ -231,34 +214,6 @@
   EXPECT_EQ(0, GetStorageKeyUsage(client, kStorageKeyB, kTemp));
 }
 
-TEST_F(DatabaseQuotaClientTest, GetStorageKeysForHost) {
-  DatabaseQuotaClient client(*mock_tracker_);
-
-  EXPECT_EQ(kStorageKeyA.origin().host(), kStorageKeyB.origin().host());
-  EXPECT_NE(kStorageKeyA.origin().host(), kStorageKeyOther.origin().host());
-
-  std::vector<blink::StorageKey> storage_keys =
-      GetStorageKeysForHost(client, kTemp, kStorageKeyA.origin().host());
-  EXPECT_TRUE(storage_keys.empty());
-
-  mock_tracker_->AddMockDatabase(kStorageKeyA.origin(), "fooDB", 1000);
-  storage_keys =
-      GetStorageKeysForHost(client, kTemp, kStorageKeyA.origin().host());
-  EXPECT_EQ(storage_keys.size(), 1ul);
-  EXPECT_THAT(storage_keys, testing::Contains(kStorageKeyA));
-
-  mock_tracker_->AddMockDatabase(kStorageKeyB.origin(), "barDB", 1000);
-  storage_keys =
-      GetStorageKeysForHost(client, kTemp, kStorageKeyA.origin().host());
-  EXPECT_EQ(storage_keys.size(), 2ul);
-  EXPECT_THAT(storage_keys, testing::Contains(kStorageKeyA));
-  EXPECT_THAT(storage_keys, testing::Contains(kStorageKeyB));
-
-  EXPECT_TRUE(
-      GetStorageKeysForHost(client, kTemp, kStorageKeyOther.origin().host())
-          .empty());
-}
-
 TEST_F(DatabaseQuotaClientTest, GetStorageKeysForType) {
   DatabaseQuotaClient client(*mock_tracker_);
 
diff --git a/storage/browser/file_system/file_system_quota_client.cc b/storage/browser/file_system/file_system_quota_client.cc
index abf6649..f313af64 100644
--- a/storage/browser/file_system/file_system_quota_client.cc
+++ b/storage/browser/file_system/file_system_quota_client.cc
@@ -92,16 +92,6 @@
   return quota_util->GetStorageKeysForTypeOnFileTaskRunner(type);
 }
 
-std::vector<blink::StorageKey> GetStorageKeysForHostOnFileTaskRunner(
-    FileSystemContext* context,
-    FileSystemType type,
-    const std::string& host) {
-  FileSystemQuotaUtil* quota_util = context->GetQuotaUtil(type);
-  if (!quota_util)
-    return {};
-  return quota_util->GetStorageKeysForHostOnFileTaskRunner(type, host);
-}
-
 blink::mojom::QuotaStatusCode DeleteStorageKeyOnFileTaskRunner(
     FileSystemContext* context,
     const blink::StorageKey& storage_key,
@@ -197,32 +187,6 @@
   }
 }
 
-void FileSystemQuotaClient::GetStorageKeysForHost(
-    blink::mojom::StorageType storage_type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK(!callback.is_null());
-
-  base::span<const FileSystemType> types =
-      QuotaStorageTypeToFileSystemTypes(storage_type);
-
-  base::RepeatingCallback<void(std::vector<blink::StorageKey>)> barrier =
-      base::BarrierCallback<std::vector<blink::StorageKey>>(
-          types.size(),
-          base::BindOnce(&MergeWithoutDuplicates<blink::StorageKey>)
-              .Then(std::move(callback)));
-
-  for (auto type : types) {
-    file_task_runner()->PostTaskAndReplyWithResult(
-        FROM_HERE,
-        base::BindOnce(&GetStorageKeysForHostOnFileTaskRunner,
-                       base::RetainedRef(file_system_context_.get()), type,
-                       host),
-        barrier);
-  }
-}
-
 void FileSystemQuotaClient::DeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     blink::mojom::StorageType type,
diff --git a/storage/browser/file_system/file_system_quota_client.h b/storage/browser/file_system/file_system_quota_client.h
index b40930a..a410c2c 100644
--- a/storage/browser/file_system/file_system_quota_client.h
+++ b/storage/browser/file_system/file_system_quota_client.h
@@ -5,8 +5,6 @@
 #ifndef STORAGE_BROWSER_FILE_SYSTEM_FILE_SYSTEM_QUOTA_CLIENT_H_
 #define STORAGE_BROWSER_FILE_SYSTEM_FILE_SYSTEM_QUOTA_CLIENT_H_
 
-#include <string>
-
 #include "base/component_export.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/ref_counted.h"
@@ -47,9 +45,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
diff --git a/storage/browser/file_system/file_system_quota_client_unittest.cc b/storage/browser/file_system/file_system_quota_client_unittest.cc
index f8c7fee..ac214fd3 100644
--- a/storage/browser/file_system/file_system_quota_client_unittest.cc
+++ b/storage/browser/file_system/file_system_quota_client_unittest.cc
@@ -110,19 +110,6 @@
     return storage_keys_;
   }
 
-  const std::vector<StorageKey>& GetStorageKeysForHost(
-      storage::mojom::QuotaClient& quota_client,
-      StorageType type,
-      const std::string& host) {
-    storage_keys_.clear();
-    quota_client.GetStorageKeysForHost(
-        type, host,
-        base::BindOnce(&FileSystemQuotaClientTest::OnGetStorageKeys,
-                       weak_factory_.GetWeakPtr()));
-    base::RunLoop().RunUntilIdle();
-    return storage_keys_;
-  }
-
   void RunAdditionalStorageKeyUsageTask(
       storage::mojom::QuotaClient& quota_client,
       const std::string& origin_url,
@@ -481,38 +468,6 @@
   }
 }
 
-TEST_P(FileSystemQuotaClientTest, GetStorageKeysForHost) {
-  FileSystemQuotaClient quota_client(GetFileSystemContext());
-  const char* kURL1 = "http://foo.com/";
-  const char* kURL2 = "https://foo.com/";
-  const char* kURL3 = "http://foo.com:1/";
-  const char* kURL4 = "http://foo2.com/";
-  const char* kURL5 = "http://foo.com:2/";
-  InitializeOriginFiles(quota_client,
-                        {
-                            {true, "", 0, kURL1, kFileSystemTypeTemporary},
-                            {true, "", 0, kURL2, kFileSystemTypeTemporary},
-                            {true, "", 0, kURL3, kFileSystemTypeTemporary},
-                            {true, "", 0, kURL4, kFileSystemTypeTemporary},
-                            {true, "", 0, kURL5, kFileSystemTypePersistent},
-                        });
-
-  if (persistent_quota_is_temporary_quota()) {
-    EXPECT_THAT(GetStorageKeysForHost(quota_client, kTemporary, "foo.com"),
-                testing::UnorderedElementsAre(
-                    StorageKey::CreateFromStringForTesting(kURL1),
-                    StorageKey::CreateFromStringForTesting(kURL2),
-                    StorageKey::CreateFromStringForTesting(kURL3),
-                    StorageKey::CreateFromStringForTesting(kURL5)));
-  } else {
-    EXPECT_THAT(GetStorageKeysForHost(quota_client, kTemporary, "foo.com"),
-                testing::UnorderedElementsAre(
-                    StorageKey::CreateFromStringForTesting(kURL1),
-                    StorageKey::CreateFromStringForTesting(kURL2),
-                    StorageKey::CreateFromStringForTesting(kURL3)));
-  }
-}
-
 TEST_P(FileSystemQuotaClientTest, DeleteOriginTest) {
   FileSystemQuotaClient quota_client(GetFileSystemContext());
   const std::vector<TestFile> kFiles = {
diff --git a/storage/browser/file_system/file_system_quota_util.h b/storage/browser/file_system/file_system_quota_util.h
index d329f63..dd34c1e1 100644
--- a/storage/browser/file_system/file_system_quota_util.h
+++ b/storage/browser/file_system/file_system_quota_util.h
@@ -7,7 +7,6 @@
 
 #include <stdint.h>
 
-#include <string>
 #include <vector>
 
 #include "base/component_export.h"
@@ -48,10 +47,6 @@
   virtual std::vector<blink::StorageKey> GetStorageKeysForTypeOnFileTaskRunner(
       FileSystemType type) = 0;
 
-  virtual std::vector<blink::StorageKey> GetStorageKeysForHostOnFileTaskRunner(
-      FileSystemType type,
-      const std::string& host) = 0;
-
   // Returns the amount of data used for the `storage_key` for usage tracking.
   virtual int64_t GetStorageKeyUsageOnFileTaskRunner(
       FileSystemContext* file_system_context,
diff --git a/storage/browser/file_system/plugin_private_file_system_backend.cc b/storage/browser/file_system/plugin_private_file_system_backend.cc
index c42bd2590..c3f943b 100644
--- a/storage/browser/file_system/plugin_private_file_system_backend.cc
+++ b/storage/browser/file_system/plugin_private_file_system_backend.cc
@@ -274,23 +274,6 @@
   return storage_keys;
 }
 
-std::vector<blink::StorageKey>
-PluginPrivateFileSystemBackend::GetStorageKeysForHostOnFileTaskRunner(
-    FileSystemType type,
-    const std::string& host) {
-  if (!CanHandleType(type))
-    return std::vector<blink::StorageKey>();
-  std::unique_ptr<ObfuscatedFileUtil::AbstractStorageKeyEnumerator> enumerator(
-      obfuscated_file_util()->CreateStorageKeyEnumerator());
-  std::vector<blink::StorageKey> storage_keys;
-  absl::optional<blink::StorageKey> storage_key;
-  while ((storage_key = enumerator->Next()).has_value()) {
-    if (host == storage_key->origin().host())
-      storage_keys.push_back(std::move(storage_key).value());
-  }
-  return storage_keys;
-}
-
 int64_t PluginPrivateFileSystemBackend::GetStorageKeyUsageOnFileTaskRunner(
     FileSystemContext* context,
     const blink::StorageKey& storage_key,
diff --git a/storage/browser/file_system/plugin_private_file_system_backend.h b/storage/browser/file_system/plugin_private_file_system_backend.h
index 9174aa0..5b36b882 100644
--- a/storage/browser/file_system/plugin_private_file_system_backend.h
+++ b/storage/browser/file_system/plugin_private_file_system_backend.h
@@ -127,9 +127,6 @@
                                              FileSystemType type) override;
   std::vector<blink::StorageKey> GetStorageKeysForTypeOnFileTaskRunner(
       FileSystemType type) override;
-  std::vector<blink::StorageKey> GetStorageKeysForHostOnFileTaskRunner(
-      FileSystemType type,
-      const std::string& host) override;
   int64_t GetStorageKeyUsageOnFileTaskRunner(
       FileSystemContext* context,
       const blink::StorageKey& storage_key,
diff --git a/storage/browser/file_system/sandbox_file_system_backend_delegate.cc b/storage/browser/file_system/sandbox_file_system_backend_delegate.cc
index 7c4a097..0ae0f5b 100644
--- a/storage/browser/file_system/sandbox_file_system_backend_delegate.cc
+++ b/storage/browser/file_system/sandbox_file_system_backend_delegate.cc
@@ -384,23 +384,6 @@
   return storage_keys;
 }
 
-std::vector<blink::StorageKey>
-SandboxFileSystemBackendDelegate::GetStorageKeysForHostOnFileTaskRunner(
-    FileSystemType type,
-    const std::string& host) {
-  DCHECK(file_task_runner_->RunsTasksInCurrentSequence());
-  std::vector<blink::StorageKey> storage_keys;
-  std::unique_ptr<StorageKeyEnumerator> enumerator(
-      CreateStorageKeyEnumerator());
-  absl::optional<blink::StorageKey> storage_key;
-  while ((storage_key = enumerator->Next()).has_value()) {
-    if (host == storage_key->origin().host() &&
-        enumerator->HasFileSystemType(type))
-      storage_keys.push_back(std::move(storage_key).value());
-  }
-  return storage_keys;
-}
-
 int64_t SandboxFileSystemBackendDelegate::GetStorageKeyUsageOnFileTaskRunner(
     FileSystemContext* file_system_context,
     const blink::StorageKey& storage_key,
diff --git a/storage/browser/file_system/sandbox_file_system_backend_delegate.h b/storage/browser/file_system/sandbox_file_system_backend_delegate.h
index cc1cc70..7abbc1a 100644
--- a/storage/browser/file_system/sandbox_file_system_backend_delegate.h
+++ b/storage/browser/file_system/sandbox_file_system_backend_delegate.h
@@ -156,9 +156,6 @@
                                              FileSystemType type) override;
   std::vector<blink::StorageKey> GetStorageKeysForTypeOnFileTaskRunner(
       FileSystemType type) override;
-  std::vector<blink::StorageKey> GetStorageKeysForHostOnFileTaskRunner(
-      FileSystemType type,
-      const std::string& host) override;
   int64_t GetStorageKeyUsageOnFileTaskRunner(
       FileSystemContext* context,
       const blink::StorageKey& storage_key,
diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota/quota_manager_impl.cc
index 0901cd0..a4d6efdf 100644
--- a/storage/browser/quota/quota_manager_impl.cc
+++ b/storage/browser/quota/quota_manager_impl.cc
@@ -871,9 +871,7 @@
 };
 
 // Retrieves all buckets for `host` from QuotaDatabase and calls
-// BucketDataDeleter for `quota_client_types` for each bucket.
-// If BucketDataDeleter is called for all registered QuotaClientTypes,
-// BucketDataDeleter will remove the bucket from QuotaDatabase.
+// BucketDataDeleter for all registered QuotaClientTypes.
 // `callback` will run to return the status of the deletion on task completion,
 // followed by `completion_closure` which will be called to destroy itself by
 // its owner. Neither will callbacks will outlive the deleter.
@@ -882,13 +880,11 @@
   HostDataDeleter(QuotaManagerImpl* manager,
                   const std::string& host,
                   StorageType type,
-                  QuotaClientTypes quota_client_types,
                   StatusCallback callback,
                   base::OnceCallback<void(HostDataDeleter*)> completion_closure)
       : manager_(manager),
         host_(host),
         type_(type),
-        quota_client_types_(std::move(quota_client_types)),
         callback_(std::move(callback)),
         completion_closure_(std::move(completion_closure)) {
     DCHECK(manager_);
@@ -942,7 +938,7 @@
       // BucketDataDeleter created here, which guarantees it will only use the
       // callbacks when it's alive.
       auto bucket_deleter = std::make_unique<BucketDataDeleter>(
-          manager_, bucket, quota_client_types_,
+          manager_, bucket, AllQuotaClientTypes(),
           base::BindOnce(&HostDataDeleter::DidDeleteBucketData,
                          base::Unretained(this)),
           base::BindOnce(&HostDataDeleter::FinishedBucketDeletion,
@@ -985,7 +981,6 @@
   QuotaManagerImpl* const manager_ GUARDED_BY_CONTEXT(sequence_checker_);
   const std::string host_;
   const StorageType type_;
-  const QuotaClientTypes quota_client_types_;
   std::map<BucketDataDeleter*, std::unique_ptr<BucketDataDeleter>>
       bucket_deleters_;
   std::set<BucketLocator> buckets_;
@@ -1468,7 +1463,6 @@
 
 void QuotaManagerImpl::DeleteHostData(const std::string& host,
                                       StorageType type,
-                                      QuotaClientTypes quota_client_types,
                                       StatusCallback callback) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   EnsureDatabaseOpened();
@@ -1479,7 +1473,7 @@
     return;
   }
   auto host_deleter = std::make_unique<HostDataDeleter>(
-      this, host, type, std::move(quota_client_types), std::move(callback),
+      this, host, type, std::move(callback),
       base::BindOnce(&QuotaManagerImpl::DidDeleteHostData,
                      weak_factory_.GetWeakPtr()));
   auto* host_deleter_ptr = host_deleter.get();
diff --git a/storage/browser/quota/quota_manager_impl.h b/storage/browser/quota/quota_manager_impl.h
index 820ebb6..3b4a8b15 100644
--- a/storage/browser/quota/quota_manager_impl.h
+++ b/storage/browser/quota/quota_manager_impl.h
@@ -322,19 +322,15 @@
                             blink::mojom::StorageType type,
                             bool enabled);
 
-  // DeleteHostData deletes buckets of a particular blink::mojom::StorageType
-  // with storage keys that match the specified host.
-  // DeleteBucketData will only delete the specified bucket.
-  // Each method additionally requires a `quota_client_types` which specifies
-  // the types of QuotaClients to delete from the storage key.
-  // Pass in QuotaClientType::AllClients() to remove all clients from the
-  // storage key, regardless of type.
+  // Deletes `bucket` data for the specified `quota_client_types`. Pass in
+  // QuotaClientType::AllClients() to remove bucket data for all quota clients.
   virtual void DeleteBucketData(const BucketLocator& bucket,
                                 QuotaClientTypes quota_client_types,
                                 StatusCallback callback);
+  // Deletes buckets of a particular blink::mojom::StorageType with storage keys
+  // that match the specified host.
   void DeleteHostData(const std::string& host,
                       blink::mojom::StorageType type,
-                      QuotaClientTypes quota_client_types,
                       StatusCallback callback);
 
   // Queries QuotaDatabase for the bucket with `storage_key` and `bucket_name`
diff --git a/storage/browser/quota/quota_manager_unittest.cc b/storage/browser/quota/quota_manager_unittest.cc
index edb2436..bb9f2737 100644
--- a/storage/browser/quota/quota_manager_unittest.cc
+++ b/storage/browser/quota/quota_manager_unittest.cc
@@ -345,12 +345,9 @@
     return future.Get();
   }
 
-  QuotaStatusCode DeleteHostData(const std::string& host,
-                                 StorageType type,
-                                 QuotaClientTypes quota_client_types) {
+  QuotaStatusCode DeleteHostData(const std::string& host, StorageType type) {
     base::test::TestFuture<QuotaStatusCode> future;
-    quota_manager_impl_->DeleteHostData(
-        host, type, std::move(quota_client_types), future.GetCallback());
+    quota_manager_impl_->DeleteHostData(host, type, future.GetCallback());
     return future.Get();
   }
 
@@ -1263,9 +1260,9 @@
 
   base::test::TestFuture<QuotaStatusCode> future_foo;
   base::test::TestFuture<QuotaStatusCode> future_bar;
-  quota_manager_impl()->DeleteHostData("foo.com", kTemp, AllQuotaClientTypes(),
+  quota_manager_impl()->DeleteHostData("foo.com", kTemp,
                                        future_foo.GetCallback());
-  quota_manager_impl()->DeleteHostData("bar.com", kTemp, AllQuotaClientTypes(),
+  quota_manager_impl()->DeleteHostData("bar.com", kTemp,
                                        future_bar.GetCallback());
 
   // Nuke before waiting for callbacks.
@@ -1972,8 +1969,7 @@
 }
 
 TEST_F(QuotaManagerImplTest, DeleteHostDataNoClients) {
-  EXPECT_EQ(DeleteHostData(std::string(), kTemp, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData(std::string(), kTemp), QuotaStatusCode::kOk);
 }
 
 TEST_F(QuotaManagerImplTest, DeleteHostDataSimple) {
@@ -1993,8 +1989,7 @@
   GetHostUsageWithBreakdown("foo.com", kPerm);
   int64_t predelete_host_pers = usage();
 
-  EXPECT_EQ(DeleteHostData(std::string(), kTemp, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData(std::string(), kTemp), QuotaStatusCode::kOk);
 
   global_usage_result = GetGlobalUsage(kTemp);
   EXPECT_EQ(global_usage_result.usage, predelete_global_tmp);
@@ -2005,8 +2000,7 @@
   GetHostUsageWithBreakdown("foo.com", kPerm);
   EXPECT_EQ(predelete_host_pers, usage());
 
-  EXPECT_EQ(DeleteHostData("foo.com", kTemp, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData("foo.com", kTemp), QuotaStatusCode::kOk);
 
   global_usage_result = GetGlobalUsage(kTemp);
   EXPECT_EQ(predelete_global_tmp - 1, global_usage_result.usage);
@@ -2052,12 +2046,9 @@
   GetHostUsageWithBreakdown("bar.com", kPerm);
   const int64_t predelete_bar_pers = usage();
 
-  EXPECT_EQ(DeleteHostData("foo.com", kTemp, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
-  EXPECT_EQ(DeleteHostData("bar.com", kTemp, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
-  EXPECT_EQ(DeleteHostData("foo.com", kTemp, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData("foo.com", kTemp), QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData("bar.com", kTemp), QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData("foo.com", kTemp), QuotaStatusCode::kOk);
 
   const BucketTableEntries& entries = DumpBucketTable();
   for (const auto& entry : entries) {
@@ -2128,10 +2119,8 @@
   GetHostUsageWithBreakdown("bar.com", kPerm);
   EXPECT_EQ(1000, usage());
 
-  EXPECT_EQ(DeleteHostData("foo.com", kPerm, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
-  EXPECT_EQ(DeleteHostData("bar.com", kPerm, AllQuotaClientTypes()),
-            QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData("foo.com", kPerm), QuotaStatusCode::kOk);
+  EXPECT_EQ(DeleteHostData("bar.com", kPerm), QuotaStatusCode::kOk);
 
   const BucketTableEntries& entries = DumpBucketTable();
   for (const auto& entry : entries) {
@@ -2699,54 +2688,6 @@
   EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage());
 }
 
-TEST_F(QuotaManagerImplTest, DeleteSpecificClientTypeSingleHost) {
-  static const MockStorageKeyData kData1[] = {
-      {"http://foo.com:1111/", kTemp, 1},
-  };
-  static const MockStorageKeyData kData2[] = {
-      {"http://foo.com:2222/", kTemp, 2},
-  };
-  static const MockStorageKeyData kData3[] = {
-      {"http://foo.com:3333/", kTemp, 4},
-  };
-  static const MockStorageKeyData kData4[] = {
-      {"http://foo.com:4444/", kTemp, 8},
-  };
-  CreateAndRegisterClient(kData1, QuotaClientType::kFileSystem,
-                          {blink::mojom::StorageType::kTemporary});
-  CreateAndRegisterClient(kData2, QuotaClientType::kServiceWorkerCache,
-                          {blink::mojom::StorageType::kTemporary});
-  CreateAndRegisterClient(kData3, QuotaClientType::kDatabase,
-                          {blink::mojom::StorageType::kTemporary});
-  CreateAndRegisterClient(kData4, QuotaClientType::kIndexedDatabase,
-                          {blink::mojom::StorageType::kTemporary});
-
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  const int64_t predelete_foo_tmp = usage();
-
-  EXPECT_EQ(DeleteHostData("foo.com", kTemp, {QuotaClientType::kFileSystem}),
-            QuotaStatusCode::kOk);
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  EXPECT_EQ(predelete_foo_tmp - 1, usage());
-
-  EXPECT_EQ(
-      DeleteHostData("foo.com", kTemp, {QuotaClientType::kServiceWorkerCache}),
-      QuotaStatusCode::kOk);
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  EXPECT_EQ(predelete_foo_tmp - 2 - 1, usage());
-
-  EXPECT_EQ(DeleteHostData("foo.com", kTemp, {QuotaClientType::kDatabase}),
-            QuotaStatusCode::kOk);
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  EXPECT_EQ(predelete_foo_tmp - 4 - 2 - 1, usage());
-
-  EXPECT_EQ(
-      DeleteHostData("foo.com", kTemp, {QuotaClientType::kIndexedDatabase}),
-      QuotaStatusCode::kOk);
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage());
-}
-
 TEST_F(QuotaManagerImplTest, DeleteMultipleClientTypesSingleBucket) {
   static const MockStorageKeyData kData1[] = {
       {"http://foo.com/", kTemp, 1},
@@ -2788,46 +2729,6 @@
   EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage());
 }
 
-TEST_F(QuotaManagerImplTest, DeleteMultipleClientTypesSingleHost) {
-  static const MockStorageKeyData kData1[] = {
-      {"http://foo.com:1111/", kTemp, 1},
-  };
-  static const MockStorageKeyData kData2[] = {
-      {"http://foo.com:2222/", kTemp, 2},
-  };
-  static const MockStorageKeyData kData3[] = {
-      {"http://foo.com:3333/", kTemp, 4},
-  };
-  static const MockStorageKeyData kData4[] = {
-      {"http://foo.com:4444/", kTemp, 8},
-  };
-  CreateAndRegisterClient(kData1, QuotaClientType::kFileSystem,
-                          {blink::mojom::StorageType::kTemporary});
-  CreateAndRegisterClient(kData2, QuotaClientType::kServiceWorkerCache,
-                          {blink::mojom::StorageType::kTemporary});
-  CreateAndRegisterClient(kData3, QuotaClientType::kDatabase,
-                          {blink::mojom::StorageType::kTemporary});
-  CreateAndRegisterClient(kData4, QuotaClientType::kIndexedDatabase,
-                          {blink::mojom::StorageType::kTemporary});
-
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  const int64_t predelete_foo_tmp = usage();
-
-  EXPECT_EQ(DeleteHostData("foo.com", kTemp,
-                           {QuotaClientType::kFileSystem,
-                            QuotaClientType::kServiceWorkerCache}),
-            QuotaStatusCode::kOk);
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  EXPECT_EQ(predelete_foo_tmp - 2 - 1, usage());
-
-  EXPECT_EQ(DeleteHostData("foo.com", kTemp,
-                           {QuotaClientType::kDatabase,
-                            QuotaClientType::kIndexedDatabase}),
-            QuotaStatusCode::kOk);
-  GetHostUsageWithBreakdown("foo.com", kTemp);
-  EXPECT_EQ(predelete_foo_tmp - 8 - 4 - 2 - 1, usage());
-}
-
 TEST_F(QuotaManagerImplTest, GetUsageAndQuota_Incognito) {
   ResetQuotaManagerImpl(true);
 
diff --git a/storage/browser/quota/usage_tracker_unittest.cc b/storage/browser/quota/usage_tracker_unittest.cc
index aa109e3..b765d4db 100644
--- a/storage/browser/quota/usage_tracker_unittest.cc
+++ b/storage/browser/quota/usage_tracker_unittest.cc
@@ -64,20 +64,6 @@
         base::BindOnce(std::move(callback), std::move(storage_keys)));
   }
 
-  void GetStorageKeysForHost(StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override {
-    EXPECT_EQ(StorageType::kTemporary, type);
-    std::vector<StorageKey> storage_keys;
-    for (const auto& storage_key_usage_pair : storage_key_usage_map_) {
-      if (storage_key_usage_pair.first.origin().host() == host)
-        storage_keys.push_back(storage_key_usage_pair.first);
-    }
-    base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE,
-        base::BindOnce(std::move(callback), std::move(storage_keys)));
-  }
-
   void DeleteStorageKeyData(const StorageKey& storage_key,
                             StorageType type,
                             DeleteStorageKeyDataCallback callback) override {
diff --git a/storage/browser/test/mock_quota_client.cc b/storage/browser/test/mock_quota_client.cc
index cc01178..32f4060 100644
--- a/storage/browser/test/mock_quota_client.cc
+++ b/storage/browser/test/mock_quota_client.cc
@@ -87,16 +87,6 @@
                      weak_factory_.GetWeakPtr(), type, std::move(callback)));
 }
 
-void MockQuotaClient::GetStorageKeysForHost(
-    blink::mojom::StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE, base::BindOnce(&MockQuotaClient::RunGetStorageKeysForHost,
-                                weak_factory_.GetWeakPtr(), type, host,
-                                std::move(callback)));
-}
-
 void MockQuotaClient::DeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     blink::mojom::StorageType type,
@@ -136,20 +126,6 @@
   std::move(callback).Run(std::move(storage_keys));
 }
 
-void MockQuotaClient::RunGetStorageKeysForHost(
-    blink::mojom::StorageType type,
-    const std::string& host,
-    GetStorageKeysForHostCallback callback) {
-  std::vector<blink::StorageKey> storage_keys;
-  for (const auto& storage_key_type_usage : storage_key_data_) {
-    if (type == storage_key_type_usage.first.second &&
-        host == storage_key_type_usage.first.first.origin().host()) {
-      storage_keys.push_back(storage_key_type_usage.first.first);
-    }
-  }
-  std::move(callback).Run(std::move(storage_keys));
-}
-
 void MockQuotaClient::RunDeleteStorageKeyData(
     const blink::StorageKey& storage_key,
     blink::mojom::StorageType storage_type,
diff --git a/storage/browser/test/mock_quota_client.h b/storage/browser/test/mock_quota_client.h
index 8778c41..ed09b95 100644
--- a/storage/browser/test/mock_quota_client.h
+++ b/storage/browser/test/mock_quota_client.h
@@ -62,9 +62,6 @@
                           GetStorageKeyUsageCallback callback) override;
   void GetStorageKeysForType(blink::mojom::StorageType type,
                              GetStorageKeysForTypeCallback callback) override;
-  void GetStorageKeysForHost(blink::mojom::StorageType type,
-                             const std::string& host,
-                             GetStorageKeysForHostCallback callback) override;
   void DeleteStorageKeyData(const blink::StorageKey& storage_key,
                             blink::mojom::StorageType type,
                             DeleteStorageKeyDataCallback callback) override;
@@ -77,9 +74,6 @@
                              GetStorageKeyUsageCallback callback);
   void RunGetStorageKeysForType(blink::mojom::StorageType type,
                                 GetStorageKeysForTypeCallback callback);
-  void RunGetStorageKeysForHost(blink::mojom::StorageType type,
-                                const std::string& host,
-                                GetStorageKeysForTypeCallback callback);
   void RunDeleteStorageKeyData(const blink::StorageKey& storage_key,
                                blink::mojom::StorageType type,
                                DeleteStorageKeyDataCallback callback);
diff --git a/storage/browser/test/test_file_system_backend.cc b/storage/browser/test/test_file_system_backend.cc
index 404f0be2..6896414e 100644
--- a/storage/browser/test/test_file_system_backend.cc
+++ b/storage/browser/test/test_file_system_backend.cc
@@ -5,7 +5,6 @@
 #include "storage/browser/test/test_file_system_backend.h"
 
 #include <set>
-#include <string>
 #include <utility>
 #include <vector>
 
@@ -95,13 +94,6 @@
     return std::vector<blink::StorageKey>();
   }
 
-  std::vector<blink::StorageKey> GetStorageKeysForHostOnFileTaskRunner(
-      FileSystemType type,
-      const std::string& host) override {
-    NOTREACHED();
-    return std::vector<blink::StorageKey>();
-  }
-
   int64_t GetStorageKeyUsageOnFileTaskRunner(
       FileSystemContext* context,
       const blink::StorageKey& storage_key,
diff --git a/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_negative.filter b/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_negative.filter
index 16918ed..30f0de7 100644
--- a/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_negative.filter
+++ b/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_negative.filter
@@ -26,6 +26,7 @@
 -All/SAMLPasswordAttributesTest.*
 -All/SAMLPolicyTest.*
 -All/SamlTestWithFeatures.*
+-All/SmartPrivacyProtectionScreenTest.*
 -All/SshWarningTest.*
 -All/SyncConsentPolicyDisabledTest.*
 -All/SyncConsentTestWithParams.*
diff --git a/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_positive.filter b/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_positive.filter
index 09f51deb..5edef619 100644
--- a/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_positive.filter
+++ b/testing/buildbot/filters/chromeos.msan.browser_tests.oobe_positive.filter
@@ -26,6 +26,7 @@
 All/SAMLPasswordAttributesTest.*
 All/SAMLPolicyTest.*
 All/SamlTestWithFeatures.*
+All/SmartPrivacyProtectionScreenTest.*
 All/SshWarningTest.*
 All/SyncConsentPolicyDisabledTest.*
 All/SyncConsentTestWithParams.*
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index f8416a2..9c6cf37 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -1762,6 +1762,129 @@
             ]
         }
     ],
+    "Collections": [
+        {
+            "platforms": [
+                "android"
+            ],
+            "experiments": [
+                {
+                    "name": "ReadLater__SemiIntegrated",
+                    "params": {
+                        "allow_bookmark_type_swapping": "true",
+                        "autodismiss_enabled": "true",
+                        "bookmark_in_app_menu": "false",
+                        "bookmark_visuals_enabled": "true",
+                        "reading_list_in_app_menu": "false",
+                        "use_root_bookmark_as_default": "true"
+                    },
+                    "enable_features": [
+                        "BookmarksImprovedSaveFlow",
+                        "BookmarksRefresh",
+                        "ReadLater"
+                    ],
+                    "disable_features": [
+                        "ShoppingList"
+                    ]
+                }
+            ]
+        },
+        {
+            "platforms": [
+                "android"
+            ],
+            "experiments": [
+                {
+                    "name": "ReadLater__DedicatedSaveFlow",
+                    "params": {
+                        "allow_bookmark_type_swapping": "false",
+                        "autodismiss_enabled": "true",
+                        "bookmark_in_app_menu": "true",
+                        "bookmark_visuals_enabled": "true",
+                        "reading_list_in_app_menu": "true",
+                        "use_root_bookmark_as_default": "true"
+                    },
+                    "enable_features": [
+                        "BookmarksImprovedSaveFlow",
+                        "BookmarksRefresh",
+                        "ReadLater"
+                    ],
+                    "disable_features": [
+                        "ShoppingList"
+                    ]
+                }
+            ]
+        },
+        {
+            "platforms": [
+                "android"
+            ],
+            "experiments": [
+                {
+                    "name": "ReadLater__NoCustomTab",
+                    "params": {
+                        "reading_list_in_app_menu": "false",
+                        "use_cct": "false",
+                        "use_root_bookmark_as_default": "true"
+                    },
+                    "enable_features": [
+                        "ReadLater"
+                    ],
+                    "disable_features": [
+                        "ShoppingList"
+                    ]
+                }
+            ]
+        },
+        {
+            "platforms": [
+                "android"
+            ],
+            "experiments": [
+                {
+                    "name": "WallE__BookmarkMenuItem",
+                    "params": {
+                        "bookmark_in_app_menu": "true",
+                        "bookmark_visuals_enabled": "true",
+                        "reading_list_in_app_menu": "false",
+                        "use_root_bookmark_as_default": "true"
+                    },
+                    "enable_features": [
+                        "BookmarksRefresh",
+                        "ReadLater"
+                    ],
+                    "disable_features": [
+                        "BookmarksImprovedSaveFlow",
+                        "ShoppingList"
+                    ]
+                }
+            ]
+        },
+        {
+            "platforms": [
+                "android"
+            ],
+            "experiments": [
+                {
+                    "name": "WallE__BookmarksRefresh",
+                    "params": {
+                        "bookmark_in_app_menu": "false",
+                        "bookmark_visuals_enabled": "true",
+                        "reading_list_in_app_menu": "false",
+                        "use_root_bookmark_as_default": "true"
+                    },
+                    "enable_features": [
+                        "BookmarksRefresh",
+                        "ReadLater"
+                    ],
+                    "disable_features": [
+                        "BookmarksImprovedSaveFlow",
+                        "ShoppingList"
+                    ]
+                }
+            ]
+        }
+    ],
     "CombineResponseBody": [
         {
             "platforms": [
@@ -2340,31 +2463,6 @@
             ]
         }
     ],
-    "DesktopReadingListDiscoveryIPH": [
-        {
-            "platforms": [
-                "chromeos",
-                "chromeos_lacros",
-                "linux",
-                "mac",
-                "windows"
-            ],
-            "experiments": [
-                {
-                    "name": "ReadingListDiscoveryIPH",
-                    "params": {
-                        "availability": "any",
-                        "event_trigger": "name:reading_list_discovery_iph_triggered;comparator:==0;window:365;storage:365",
-                        "event_used": "name:reading_list_menu_opened;comparator:==0;window:365;storage:365",
-                        "session_rate": "<3"
-                    },
-                    "enable_features": [
-                        "IPH_ReadingListDiscovery"
-                    ]
-                }
-            ]
-        }
-    ],
     "DesktopReadingListEntryPointIPH": [
         {
             "platforms": [
@@ -4960,25 +5058,6 @@
             ]
         }
     ],
-    "PreconnectOnDidFinishNavigation": [
-        {
-            "platforms": [
-                "android",
-                "android_weblayer"
-            ],
-            "experiments": [
-                {
-                    "name": "Enabled_3_seconds",
-                    "params": {
-                        "delay_after_commit_in_ms": "3000"
-                    },
-                    "enable_features": [
-                        "PreconnectOnDidFinishNavigation"
-                    ]
-                }
-            ]
-        }
-    ],
     "PreconnectToSearchDesktop": [
         {
             "platforms": [
@@ -5217,77 +5296,6 @@
             ]
         }
     ],
-    "ReadLater": [
-        {
-            "platforms": [
-                "android"
-            ],
-            "experiments": [
-                {
-                    "name": "EnabledContextMenuWithRootAsDefault",
-                    "params": {
-                        "use_root_bookmark_as_default": "true"
-                    },
-                    "enable_features": [
-                        "ReadLater"
-                    ],
-                    "disable_features": [
-                        "BookmarkBottomSheet",
-                        "BookmarksImprovedSaveFlow",
-                        "BookmarksRefresh"
-                    ]
-                },
-                {
-                    "name": "EnabledContextMenuWithRootAsDefault_20211206",
-                    "params": {
-                        "use_root_bookmark_as_default": "true"
-                    },
-                    "enable_features": [
-                        "ReadLater"
-                    ],
-                    "disable_features": [
-                        "BookmarkBottomSheet"
-                    ]
-                },
-                {
-                    "name": "EnabledDedicatedSaveFlow",
-                    "params": {
-                        "autodismiss_enabled": "true",
-                        "bookmark_in_app_menu": "true",
-                        "bookmark_visuals_enabled": "true",
-                        "reading_list_in_app_menu": "true",
-                        "use_root_bookmark_as_default": "true"
-                    },
-                    "enable_features": [
-                        "BookmarksImprovedSaveFlow",
-                        "BookmarksRefresh",
-                        "ReadLater"
-                    ],
-                    "disable_features": [
-                        "BookmarkBottomSheet"
-                    ]
-                },
-                {
-                    "name": "EnabledSemiIntegrated",
-                    "params": {
-                        "allow_bookmark_type_swapping": "true",
-                        "autodismiss_enabled": "true",
-                        "bookmark_in_app_menu": "false",
-                        "bookmark_visuals_enabled": "true",
-                        "use_root_bookmark_as_default": "true"
-                    },
-                    "enable_features": [
-                        "BookmarksImprovedSaveFlow",
-                        "BookmarksRefresh",
-                        "ReadLater"
-                    ],
-                    "disable_features": [
-                        "BookmarkBottomSheet"
-                    ]
-                }
-            ]
-        }
-    ],
     "ReadLaterAppMenuBookmarkThisPage": [
         {
             "platforms": [
@@ -5799,6 +5807,25 @@
             ]
         }
     ],
+    "SidePanelDragAndDrop": [
+        {
+            "platforms": [
+                "chromeos",
+                "chromeos_lacros",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "enable_features": [
+                        "SidePanelDragAndDrop"
+                    ]
+                }
+            ]
+        }
+    ],
     "SideSearchGoogle": [
         {
             "platforms": [
diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc
index 30320cd..bd238963 100644
--- a/third_party/blink/common/client_hints/enabled_client_hints.cc
+++ b/third_party/blink/common/client_hints/enabled_client_hints.cc
@@ -90,23 +90,24 @@
   return false;
 }
 
-bool IsUaReducedClientHintEnabled(
+bool IsUserAgentOriginTrialEnabled(
     const GURL& url,
     const GURL* third_party_url,
-    const net::HttpResponseHeaders* response_headers) {
+    const net::HttpResponseHeaders* response_headers,
+    base::StringPiece feature_name) {
   blink::TrialTokenValidator validator;
   base::Time now = base::Time::Now();
   if (third_party_url == nullptr) {
-    // It's not a third-party embed request, validate the UserAgentReduction OT
+    // It's not a third-party embed request, validate the feature_name OT
     // token as normal.
-    return validator.RequestEnablesFeature(url, response_headers,
-                                           "UserAgentReduction", now);
+    return validator.RequestEnablesFeature(url, response_headers, feature_name,
+                                           now);
   }
 
   // Validate the third-party OT token.
   bool enabled = false;
   // Iterate through all of the Origin-Trial headers and validate if any of
-  // them are valid third-party OT tokens for the UserAgentReduction trial.
+  // them are valid third-party OT tokens for the feature_name trial.
   if (validator.IsTrialPossibleOnOrigin(*third_party_url)) {
     url::Origin origin = url::Origin::Create(url);
     url::Origin third_party_origin = url::Origin::Create(*third_party_url);
@@ -116,7 +117,7 @@
       blink::TrialTokenResult result =
           validator.ValidateToken(token, origin, &third_party_origin, now);
       if (result.Status() == blink::OriginTrialTokenStatus::kSuccess) {
-        if (result.ParsedToken()->feature_name() == "UserAgentReduction") {
+        if (result.ParsedToken()->feature_name() == feature_name) {
           enabled = true;
           break;
         }
@@ -146,8 +147,13 @@
     const bool should_send) {
   bool enabled = should_send;
   if (enabled && type == WebClientHintsType::kUAReduced) {
+    enabled = IsUserAgentOriginTrialEnabled(
+        url, third_party_url, response_headers, "UserAgentReduction");
+  }
+  if (enabled && type == WebClientHintsType::kFullUserAgent) {
     enabled =
-        IsUaReducedClientHintEnabled(url, third_party_url, response_headers);
+        IsUserAgentOriginTrialEnabled(url, third_party_url, response_headers,
+                                      "SendFullUserAgentAfterReduction");
   }
   SetIsEnabled(type, enabled);
 }
diff --git a/third_party/blink/common/client_hints/enabled_client_hints_unittest.cc b/third_party/blink/common/client_hints/enabled_client_hints_unittest.cc
index 61a6983..eb3401d 100644
--- a/third_party/blink/common/client_hints/enabled_client_hints_unittest.cc
+++ b/third_party/blink/common/client_hints/enabled_client_hints_unittest.cc
@@ -57,6 +57,19 @@
     response_headers_->AddHeader(header, value);
   }
 
+  void VerifyClientHintEnabledWithOriginTrailToken(
+      const std::string& token,
+      const GURL* third_party_url,
+      const WebClientHintsType client_hint_type,
+      bool expected_client_hint_enabled) {
+    AddHeader("Origin-Trial", token);
+    EnabledClientHints hints;
+    hints.SetIsEnabled(GURL(kOriginUrl), third_party_url, response_headers(),
+                       client_hint_type, true);
+    EXPECT_TRUE(hints.IsEnabled(client_hint_type) ==
+                expected_client_hint_enabled);
+  }
+
  private:
   class TestOriginTrialPolicy : public OriginTrialPolicy {
    public:
@@ -124,11 +137,10 @@
       "LC"
       "AiZXhwaXJ5IjogMjAwMDAwMDAwMH0=";
 
-  AddHeader("Origin-Trial", kValidOriginTrialToken);
-  EnabledClientHints hints;
-  hints.SetIsEnabled(GURL(kOriginUrl), /*third_party_url=*/nullptr,
-                     response_headers(), WebClientHintsType::kUAReduced, true);
-  EXPECT_TRUE(hints.IsEnabled(WebClientHintsType::kUAReduced));
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kValidOriginTrialToken,
+      /*third_party_url=*/nullptr, WebClientHintsType::kUAReduced,
+      /*expected_client_hint_enabled=*/true);
 }
 
 TEST_F(EnabledClientHintsTest,
@@ -142,11 +154,10 @@
       "LC"
       "AiZXhwaXJ5IjogMjAwMDAwMDAwMH0=";
 
-  AddHeader("Origin-Trial", kInvalidOriginTrialToken);
-  EnabledClientHints hints;
-  hints.SetIsEnabled(GURL(kOriginUrl), /*third_party_url=*/nullptr,
-                     response_headers(), WebClientHintsType::kUAReduced, true);
-  EXPECT_FALSE(hints.IsEnabled(WebClientHintsType::kUAReduced));
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kInvalidOriginTrialToken,
+      /*third_party_url=*/nullptr, WebClientHintsType::kUAReduced,
+      /*expected_client_hint_enabled=*/false);
 }
 
 TEST_F(EnabledClientHintsTest,
@@ -164,12 +175,10 @@
       "nR5IjogdHJ1ZSwgImZlYXR1cmUiOiAiVXNlckFnZW50UmVkdWN0aW9uIiwgImV4cGlyeSI6I"
       "DIwMDAwMDAwMDB9";
 
-  AddHeader("Origin-Trial", kValidThirdPartyOriginTrialToken);
-  EnabledClientHints hints;
   const GURL third_party_url = GURL(kThirdPartyOriginUrl);
-  hints.SetIsEnabled(GURL(kOriginUrl), &third_party_url, response_headers(),
-                     WebClientHintsType::kUAReduced, true);
-  EXPECT_TRUE(hints.IsEnabled(WebClientHintsType::kUAReduced));
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kValidThirdPartyOriginTrialToken, &third_party_url,
+      WebClientHintsType::kUAReduced, /*expected_client_hint_enabled=*/true);
 }
 
 TEST_F(EnabledClientHintsTest,
@@ -189,12 +198,94 @@
       "ZmVhdHVyZSI6ICJVc2VyQWdlbnRSZWR1Y3Rpb24iLCAiZXhwaXJ5IjogMjAwMDAwMDAwMH0"
       "=";
 
-  AddHeader("Origin-Trial", kValidOriginTrialTokenForThirdPartyUrl);
-  EnabledClientHints hints;
   const GURL third_party_url = GURL(kThirdPartyOriginUrl);
-  hints.SetIsEnabled(GURL(kOriginUrl), &third_party_url, response_headers(),
-                     WebClientHintsType::kUAReduced, true);
-  EXPECT_FALSE(hints.IsEnabled(WebClientHintsType::kUAReduced));
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kValidOriginTrialTokenForThirdPartyUrl, &third_party_url,
+      WebClientHintsType::kUAReduced, /*expected_client_hint_enabled=*/false);
+}
+
+TEST_F(EnabledClientHintsTest,
+       EnabledUADDrepcationClientHintWithValidOriginTrialToken) {
+  // Generated by running (in tools/origin_trials):
+  // generate_token.py https://127.0.0.1:44444 SendFullUserAgentAfterReduction
+  // --expire-timestamp=2000000000
+  //
+  // The Origin Trial token expires in 2033.  Generate a new token by then, or
+  // find a better way to re-generate a test trial token.
+  static constexpr char kValidOriginTrialToken[] =
+      "A6+Ti/9KuXTgmFzOQwkTuO8k0QFH8vUaxmv0CllAET1/"
+      "307KShF6fhskMuBqFUvqO7ViAkZ+"
+      "NSeJhQI0n5aLggsAAABpeyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAi"
+      "ZmVhdHVyZSI6ICJTZW5kRnVsbFVzZXJBZ2VudEFmdGVyUmVkdWN0aW9uIiwgImV4cGlyeSI6"
+      "IDIwMDAwMDAwMDB9";
+
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kValidOriginTrialToken,
+      /*third_party_url=*/nullptr, WebClientHintsType::kFullUserAgent,
+      /*expected_client_hint_enabled=*/true);
+}
+
+TEST_F(EnabledClientHintsTest,
+       EnabledUADDrepcationClientHintWithInvalidOriginTrialToken) {
+  // A slight corruption (changing a character) of a valid OT token.
+  static constexpr char kInvalidOriginTrialToken[] =
+      "A6+Ti/9KuXTgmFzOQwkTuO8k0QFH8vUaxmv0CllAET1/"
+      "307KShF6fhskMuBqFUvqO7ViAkZ+"
+      "NSeJhQI0n5aLggsAAABpeyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDQiLCAi"
+      "ZmVhdHVyZSI6ICTZW5kRnVsbFVzZXJBZ2VudEFmdGVyUmVkdWN0aW9uIiwgImV4cGlyeSI6"
+      "IDIwMDAwMDAwMDB9";
+
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kInvalidOriginTrialToken,
+      /*third_party_url=*/nullptr, WebClientHintsType::kFullUserAgent,
+      /*expected_client_hint_enabled=*/false);
+}
+
+TEST_F(EnabledClientHintsTest,
+       EnabledUADDrepcationClientHintWithValidThirdPartyOriginTrialToken) {
+  // Generated by running (in tools/origin_trials):
+  // generate_token.py https://127.0.0.1:44445 SendFullUserAgentAfterReduction
+  // --expire-timestamp=2000000000 --is-third-party
+  //
+  // The Origin Trial token expires in 2033.  Generate a new token by then, or
+  // find a better way to re-generate a test trial token.
+  static constexpr char kValidThirdPartyOriginTrialToken[] =
+      "A0q1jQxOoBMkORITt4dborMF2TE0MVT71JbLomfT4tg8nKuEiRcDNTLVEfSffhxcwqMYEmXs"
+      "p4CXXypHENjrvwgAAAB/"
+      "eyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDUiLCAiaXNUaGlyZFBhcnR5Ijog"
+      "dHJ1ZSwgImZlYXR1cmUiOiAiU2VuZEZ1bGxVc2VyQWdlbnRBZnRlclJlZHVjdGlvbiIsICJl"
+      "eHBpcnkiOiAyMDAwMDAwMDAwfQ==";
+
+  const GURL third_party_url = GURL(kThirdPartyOriginUrl);
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kValidThirdPartyOriginTrialToken, &third_party_url,
+      WebClientHintsType::kFullUserAgent,
+      /*expected_client_hint_enabled=*/true);
+}
+
+TEST_F(EnabledClientHintsTest,
+       EnabledUADDrepcationClientHintThirdPartyWithValidOriginTrialToken) {
+  // Generated by running (in tools/origin_trials):
+  // generate_token.py https://127.0.0.1:44445 SendFullUserAgentAfterReduction
+  // --expire-timestamp=2000000000
+  //
+  // We are using a valid first party OT token for the third-party URL, which
+  // should be rejected by the TrialTokenValidator for third-party contexts.
+  //
+  // The Origin Trial token expires in 2033.  Generate a new token by then, or
+  // find a better way to re-generate a test trial token.
+  static constexpr char kValidOriginTrialTokenForThirdPartyUrl[] =
+      "A0kGFcySC9Pfb0ouX/"
+      "Ks2SYCmUEIkhU0aje4kHgLaCTgeOKoUaIwcrVSsiZgs3Im2vmPHwcaoqwzr/"
+      "d0YqDtzQQAAABpeyJvcmlnaW4iOiAiaHR0cHM6Ly8xMjcuMC4wLjE6NDQ0NDUiLCAiZmVhdH"
+      "VyZSI6ICJTZW5kRnVsbFVzZXJBZ2VudEFmdGVyUmVkdWN0aW9uIiwgImV4cGlyeSI6IDIwMD"
+      "AwMDAwMDB9";
+
+  const GURL third_party_url = GURL(kThirdPartyOriginUrl);
+  VerifyClientHintEnabledWithOriginTrailToken(
+      kValidOriginTrialTokenForThirdPartyUrl, &third_party_url,
+      WebClientHintsType::kFullUserAgent,
+      /*expected_client_hint_enabled=*/false);
 }
 
 TEST_F(EnabledClientHintsTest, GetEnabledHints) {
diff --git a/third_party/blink/common/manifest/manifest.cc b/third_party/blink/common/manifest/manifest.cc
index e100c874..8789d38 100644
--- a/third_party/blink/common/manifest/manifest.cc
+++ b/third_party/blink/common/manifest/manifest.cc
@@ -85,6 +85,19 @@
   return !(*this == other);
 }
 
+bool Manifest::PermissionsPolicyDeclaration::operator==(
+    const PermissionsPolicyDeclaration& other) const {
+  auto AsTuple = [](const auto& item) {
+    return std::tie(item.feature, item.allowlist);
+  };
+  return AsTuple(*this) == AsTuple(other);
+}
+
+bool Manifest::PermissionsPolicyDeclaration::operator!=(
+    const PermissionsPolicyDeclaration& other) const {
+  return !(*this == other);
+}
+
 Manifest::TranslationItem::TranslationItem() = default;
 
 Manifest::TranslationItem::~TranslationItem() = default;
diff --git a/third_party/blink/public/common/manifest/manifest.h b/third_party/blink/public/common/manifest/manifest.h
index b89b0e8..a4d68e1 100644
--- a/third_party/blink/public/common/manifest/manifest.h
+++ b/third_party/blink/public/common/manifest/manifest.h
@@ -146,6 +146,19 @@
         NavigateExistingClient::kAlways;
   };
 
+  // This struct replicates ManifestPermissionsPolicy with an added copy
+  // constructor, this enables containing classes to have a default copy
+  // constructor.
+  // TODO(crbug.com/): Use mojom::blink::ManifestPermissionsPolicyDeclaration
+  // directly when it can support copy/move.
+  struct BLINK_COMMON_EXPORT PermissionsPolicyDeclaration {
+    bool operator==(const PermissionsPolicyDeclaration& other) const;
+    bool operator!=(const PermissionsPolicyDeclaration& other) const;
+
+    std::string feature;
+    std::vector<std::string> allowlist;
+  };
+
   // Structure containing translations for the translatable manifest fields.
   struct BLINK_COMMON_EXPORT TranslationItem {
     TranslationItem();
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index 6acdee7..d188491a 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -50,7 +50,6 @@
 #include "third_party/blink/public/common/security/protocol_handler_security_level.h"
 #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
 #include "third_party/blink/public/mojom/loader/code_cache.mojom-forward.h"
-#include "third_party/blink/public/mojom/service_worker/service_worker_container.mojom-shared.h"
 #include "third_party/blink/public/mojom/timing/worker_timing_container.mojom-forward.h"
 #include "third_party/blink/public/platform/audio/web_audio_device_source_type.h"
 #include "third_party/blink/public/platform/blame_context.h"
@@ -151,6 +150,10 @@
 class WebThreadScheduler;
 }
 
+namespace mojom {
+class ServiceWorkerContainerHostInterfaceBase;
+}
+
 class BLINK_PLATFORM_EXPORT Platform {
  public:
   // Initialize platform and wtf. If you need to initialize the entire Blink,
@@ -298,8 +301,12 @@
   WrapSharedURLLoaderFactory(
       scoped_refptr<network::SharedURLLoaderFactory> factory);
 
-  // Returns the User-Agent string.
+  // Returns the default User-Agent string, it can either full User-Agent string
+  // or reduced User-Agent string based on policy setting.
   virtual WebString UserAgent() { return WebString(); }
+  // Returns the full User-Agent string.
+  virtual WebString FullUserAgent() { return WebString(); }
+  // Returns the reduced User-Agent string.
   virtual WebString ReducedUserAgent() { return WebString(); }
 
   // Returns the User Agent metadata. This will replace `UserAgent()` if we
diff --git a/third_party/blink/renderer/core/animation/README.md b/third_party/blink/renderer/core/animation/README.md
index b5c2300c..bde7d9c 100644
--- a/third_party/blink/renderer/core/animation/README.md
+++ b/third_party/blink/renderer/core/animation/README.md
@@ -19,7 +19,7 @@
 *   [CSS Animations Level 2](https://drafts.csswg.org/css-animations-2/)
 *   [CSS Transitions Level 1](https://drafts.csswg.org/css-transitions-1/)
 *   [CSS Transitions Level 2](https://drafts.csswg.org/css-transitions-2/)
-*   [Web Animations Level 1](https://drafts.csswg.org/web-animations-1/)
+*   [Web Animations Level 1](https://w3.org/TR/web-animations-1/)
 *   [Web Animations Level 2](https://drafts.csswg.org/web-animations-2/)
 *   [Scroll Animations Level 1](https://drafts.csswg.org/scroll-animations-1/)
 *   [CSS Properties and Values API Level 1 - Animation Behavior of Custom Properties](
@@ -275,7 +275,7 @@
 
 2. An 'animation model' which converts the progress to property values.
 
-![](https://drafts.csswg.org/web-animations/img/timing-and-animation-models.svg)
+![](https://w3.org/TR/web-animations-1/img/timing-and-animation-models.svg)
 
 The division of responsibilities can best be illustrated through an example.
 Consider the following:
@@ -390,7 +390,7 @@
 specifications:
 
 * [web animations -- the effect stack](
-https://drafts.csswg.org/web-animations/#the-effect-stack
+https://w3.org/TR/web-animations-1/#the-effect-stack
 )
 * [css animations -- animation composite order](
 https://drafts.csswg.org/css-animations-2/#animation-composite-order
@@ -406,7 +406,7 @@
 modes in the KeyframeEffect section). Additional rules apply for sorting CSS
 transitions and CSS animations.
 
-[Animatable]: https://drafts.csswg.org/web-animations/#the-animatable-interface-mixin
+[Animatable]: https://w3.org/TR/web-animations-1/#the-animatable-interface-mixin
 
 ### Animation
 
@@ -440,7 +440,7 @@
 * **[effect attribute][]**: gets or sets the [AnimationEffect][] for the
 animation. The algorithm for setting the effect of an animation is outlined in
 [web-animations -- Setting the associated effect of an animation](
-https://drafts.csswg.org/web-animations/#setting-the-associated-effect). A few
+https://w3.org/TR/web-animations-1/#setting-the-associated-effect). A few
 extra steps are required for CSS animations and transitions, which have an
 [AnimationEffect::EventDelegate][] that need to be reattached after the effect
 is updated. Special handling is also required if the new effect is null to
@@ -477,7 +477,7 @@
 for CSSAnimations since calling it may update the animation-play-state property
 by unpausing a CSS animation. Refer to
 [Web-animations -- Setting the start time of an animation](
-https://drafts.csswg.org/web-animations/#setting-the-start-time-of-an-animation)
+https://w3.org/TR/web-animations-1/#setting-the-start-time-of-an-animation)
 for more detail.
 
    ```javascript
@@ -519,9 +519,9 @@
 will not resolve a finished promise or queue an onfinished event until the next
 [microtask checkpoint][] since the state change may be temporary. Refer to
 [Web-animations -- The current time of an animation](
-https://drafts.csswg.org/web-animations/#the-current-time-of-an-animation) and
+https://w3.org/TR/web-animations-1/#the-current-time-of-an-animation) and
 [Web-animations -- Setting the current time of an animation](
-https://drafts.csswg.org/web-animations/#setting-the-current-time-of-an-animation)
+https://w3.org/TR/web-animations-1/#setting-the-current-time-of-an-animation)
 for more detail.
 
    ```javascript
@@ -549,7 +549,7 @@
 for a brief time interval if using updatePlaybackRate to asynchronously change
 the playback rate. The algorithm for setting the playback rate is covered under
 [web animations -- setting the playback rate on an animation](
-https://drafts.csswg.org/web-animations/#setting-the-playback-rate-of-an-animation)
+https://w3.org/TR/web-animations-1/#setting-the-playback-rate-of-an-animation)
 in the spec. An additional step in required in Blink to ensure that a composited
 animation is kept in sync with a change to the playback rate and to prevent a
 discontinuity (jump) in the animation. Typically, using updatePlaybackRate is
@@ -572,7 +572,7 @@
 to disambiguate whether the reported play state reflects the current or the
 scheduled state. The algorithm for determining the play state is outlined in
 [web animations -- play states](
-https://drafts.csswg.org/web-animations/#play-states).
+https://w3.org/TR/web-animations-1/#play-states).
 
    ```javascript
    const animation = element.animate(...);
@@ -592,7 +592,7 @@
 animation that has been explicitly marked for exclusion for the automated
 removal process via the persist method. The procedure for marking and removing
 animations is covered in [web animations - replacing animations](
-https://drafts.csswg.org/web-animations/#replacing-animations). In the Blink
+https://w3.org/TR/web-animations-1/#replacing-animations). In the Blink
 implementation, identifying which animations are replaceable is done in
 [Animation::IsReplaceable][]. Removal of replaced animations is done in
 [AnimationTimeline::RemoveReplacedAnimations][], which calls
@@ -677,7 +677,7 @@
 the animation should not resolve the finished promise. API calls that affect
 current time or play state must update the finished state of the animation. The
 algorithm is outlined in [web animation -- updating the finished state](
-https://drafts.csswg.org/web-animations/#updating-the-finished-state). In
+https://w3.org/TR/web-animations-1/#updating-the-finished-state). In
 Blink, updating the finished state and scheduling the microtask is performed in
 [Animation::UpdateFinishedState][]. The microtask is handled in
 [Animation::AsyncFinishMicrotask][]. The finished promise is convenient for
@@ -812,7 +812,7 @@
 [Animation::NotifyReady][] calls [Animation::CommitPendingPlay][] or
  [Animation::CommitPendingPause][] depending on the play state. The algorithm
  is specced in [web animations -- seamlessly updating the playback rate...](
- https://drafts.csswg.org/web-animations/#seamlessly-updating-the-playback-rate-of-an-animation).
+ https://w3.org/TR/web-animations-1/#seamlessly-updating-the-playback-rate-of-an-animation).
 
    ```javascript
    const animation = element.animate(...);
@@ -897,11 +897,11 @@
    });
    ```
 
-[Animation interface]: https://drafts.csswg.org/web-animations/#the-animation-interface
+[Animation interface]: https://w3.org/TR/web-animations-1/#the-animation-interface
 [Animation object]: https://cs.chromium.org/search/?q=class:blink::Animation$
-[timeline]: https://drafts.csswg.org/web-animations/#timelines
-[Timelines]: https://drafts.csswg.org/web-animations/#timelines
-[default document timeline]: https://drafts.csswg.org/web-animations/#the-documents-default-timeline
+[timeline]: https://w3.org/TR/web-animations-1/#timelines
+[Timelines]: https://w3.org/TR/web-animations-1/#timelines
+[default document timeline]: https://w3.org/TR/web-animations-1/#the-documents-default-timeline
 [AnimationEffect::EventDelegate]: https://cs.chromium.org/search?lang=cc&q=class:AnimationEffect::EventDelegate$
 [Animation constructor]:  https://cs.chromium.org/search/?q=function:blink::Animation::Animation$
 [id attribute]: https://cs.chromium.org/search/?q=function:blink::Animation::(setI|i)d$
@@ -1053,7 +1053,7 @@
 [updateTiming method]: https://cs.chromium.org/search/?q=function:blink::AnimationEffect::updateTiming$
 [EffectTiming]: https://cs.chromium.org/search/?q=class:blink::EffectTiming$
 [ComputedEffectTiming]: https://cs.chromium.org/search/?q=class:blink::ComputedEffectTiming$
-[transformed progress]: https://drafts.csswg.org/web-animations/#calculating-the-transformed-progress
+[transformed progress]: https://w3.org/TR/web-animations-1/#calculating-the-transformed-progress
 
 
 ### KeyframeEffect
@@ -1130,7 +1130,7 @@
 [composite attribute]: https://cs.chromium.org/search/?q=function:blink::KeyframeEffect::(setC|c)omposite$
 [getKeyframes method]: https://cs.chromium.org/search/?q=function:blink::KeyframeEffect::getKeyframes$
 [setKeyframes method]: https://cs.chromium.org/search/?q=function:blink::KeyframeEffect::setKeyframes$
-[KeyframeEffectOptions]: https://drafts.csswg.org/web-animations/#the-keyframeeffectoptions-dictionary
+[KeyframeEffectOptions]: https://w3.org/TR/web-animations-1/#the-keyframeeffectoptions-dictionary
 [TransitionKeyframes]: https://cs.chromium.org/search/?q=class:blink::TransitionKeyframe$
 [StringKeyframes]: https://cs.chromium.org/search/?q=class:blink::StringKeyframe$
 [KeyframeEffectModel]: https://cs.chromium.org/search/?q=class:blink::KeyframeEffectModel$
@@ -1180,7 +1180,7 @@
 effect’s iteration duration is auto. The value is computed such that the effect
 fills the available time.
 
-[AnimationTimeline interface]: https://drafts.csswg.org/web-animations/#the-animationtimeline-interface
+[AnimationTimeline interface]: https://w3.org/TR/web-animations-1/#the-animationtimeline-interface
 [AnimationTimeline class]: https://cs.chromium.org/search/?q=class:blink::AnimationTimeline$
 
 #### DocumentTimeline
@@ -1190,7 +1190,7 @@
 offset in milliseconds relative to the time origin (zero time) and may be used
 to synchronize animations across multiple document timelines.
 
-[DocumentTimeline interface]: https://drafts.csswg.org/web-animations/#the-documenttimeline-interface
+[DocumentTimeline interface]: https://w3.org/TR/web-animations-1/#the-documenttimeline-interface
 
 #### ScrollTimeline
 
@@ -1554,7 +1554,7 @@
 
     [EffectInput](https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/animation/effect_input.cc)
     contains the helper functions that are used to
-    [process a keyframe argument](https://drafts.csswg.org/web-animations/#processing-a-keyframes-argument)
+    [process a keyframe argument](https://w3.org/TR/web-animations-1/#processing-a-keyframes-argument)
     which can take an argument of either object or array form.
 
 *   ### DevTools
diff --git a/third_party/blink/renderer/core/animation/animatable.cc b/third_party/blink/renderer/core/animation/animatable.cc
index 4f987fb..fe3ef660 100644
--- a/third_party/blink/renderer/core/animation/animatable.cc
+++ b/third_party/blink/renderer/core/animation/animatable.cc
@@ -64,7 +64,7 @@
 
 }  // namespace
 
-// https://drafts.csswg.org/web-animations/#dom-animatable-animate
+// https://w3.org/TR/web-animations-1/#dom-animatable-animate
 Animation* Animatable::animate(
     ScriptState* script_state,
     const ScriptValue& keyframes,
@@ -110,6 +110,7 @@
   return animation;
 }
 
+// https://w3.org/TR/web-animations-1/#dom-animatable-animate
 Animation* Animatable::animate(ScriptState* script_state,
                                const ScriptValue& keyframes,
                                ExceptionState& exception_state) {
@@ -133,6 +134,7 @@
   return element->GetDocument().Timeline().Play(effect, exception_state);
 }
 
+// https://w3.org/TR/web-animations-1/#dom-animatable-getanimations
 HeapVector<Member<Animation>> Animatable::getAnimations(
     GetAnimationsOptions* options) {
   bool use_subtree = options && options->subtree();
diff --git a/third_party/blink/renderer/core/animation/animatable.idl b/third_party/blink/renderer/core/animation/animatable.idl
index 1101e4c..ac01a853 100644
--- a/third_party/blink/renderer/core/animation/animatable.idl
+++ b/third_party/blink/renderer/core/animation/animatable.idl
@@ -28,7 +28,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-// https://drafts.csswg.org/web-animations/#the-animatable-interface-mixin
+// https://w3.org/TR/web-animations-1/#the-animatable-interface-mixin
 interface mixin Animatable {
     [CallWith=ScriptState, Measure, RaisesException] Animation animate(object? keyframes, optional (unrestricted double or KeyframeAnimationOptions) options);
     [RuntimeEnabled=WebAnimationsAPI] sequence<Animation> getAnimations(optional GetAnimationsOptions options = {});
diff --git a/third_party/blink/renderer/core/animation/animation.cc b/third_party/blink/renderer/core/animation/animation.cc
index 6ed84d9..393d01a 100644
--- a/third_party/blink/renderer/core/animation/animation.cc
+++ b/third_party/blink/renderer/core/animation/animation.cc
@@ -111,13 +111,13 @@
 
 Animation::AnimationClassPriority AnimationPriority(
     const Animation& animation) {
-  // According to the spec:
-  // https://drafts.csswg.org/web-animations/#animation-class,
-  // CSS tranisiton has a lower composite order than the CSS animation, and CSS
-  // animation has a lower composite order than other animations. Thus,CSS
+  // https://www.w3.org/TR/web-animations-1/#animation-class
+
+  // CSS transitions have a lower composite order than CSS animations, and CSS
+  // animations have a lower composite order than other animations. Thus,CSS
   // transitions are to appear before CSS animations and CSS animations are to
-  // appear before other animations
-  // TODO: When animations are disassociated from their element they are sorted
+  // appear before other animations.
+  // When animations are disassociated from their element they are sorted
   // by their sequence number, i.e. kDefaultPriority. See
   // https://drafts.csswg.org/css-animations-2/#animation-composite-order and
   // https://drafts.csswg.org/css-transitions-2/#animation-composite-order
@@ -433,7 +433,7 @@
   return true;
 }
 
-// https://drafts.csswg.org/web-animations/#setting-the-current-time-of-an-animation.
+// https://www.w3.org/TR/web-animations-1/#setting-the-current-time-of-an-animation
 void Animation::setCurrentTime(const V8CSSNumberish* current_time,
                                ExceptionState& exception_state) {
   if (!current_time) {
@@ -473,7 +473,7 @@
   NotifyProbe();
 }
 
-// https://drafts.csswg.org/web-animations/#setting-the-current-time-of-an-animation
+// https://www.w3.org/TR/web-animations-1/#setting-the-current-time-of-an-animation
 // See steps for silently setting the current time. The preliminary step of
 // handling an unresolved time are to be handled by the caller.
 void Animation::SetCurrentTimeInternal(AnimationTimeDelta new_current_time) {
@@ -533,7 +533,7 @@
   return nullptr;
 }
 
-// https://drafts.csswg.org/web-animations/#the-current-time-of-an-animation
+// https://www.w3.org/TR/web-animations-1/#the-current-time-of-an-animation
 V8CSSNumberish* Animation::currentTime() const {
   // 1. If the animation’s hold time is resolved,
   //    The current time is the animation’s hold time.
@@ -795,8 +795,8 @@
 }
 
 // Microtask for playing an animation.
-// Refer to Step 8.3 'pending play task' in
-// https://drafts.csswg.org/web-animations/#playing-an-animation-section.
+// Refer to Step 8.3 'pending play task' in the following spec:
+// https://www.w3.org/TR/web-animations-1/#playing-an-animation-section
 void Animation::CommitPendingPlay(AnimationTimeDelta ready_time) {
   DCHECK(start_time_ || hold_time_);
   DCHECK(pending_play_);
@@ -856,8 +856,8 @@
 }
 
 // Microtask for pausing an animation.
-// Refer to step 7 'pending pause task' in
-// https://drafts.csswg.org/web-animations-1/#pausing-an-animation-section
+// Refer to step 7 'pending pause task' in the following spec:
+// https://www.w3.org/TR/web-animations-1/#pausing-an-animation-section
 void Animation::CommitPendingPause(AnimationTimeDelta ready_time) {
   DCHECK(pending_pause_);
   pending_pause_ = false;
@@ -900,11 +900,7 @@
 }
 
 void Animation::setTimeline(AnimationTimeline* timeline) {
-  // https://drafts.csswg.org/web-animations-1/#setting-the-timeline
-
-  // Steps refined to accommodate scroll timelines.
-  // TODO(crbug.com/827626): Update the web-animation-1 spec.
-  // https://github.com/w3c/csswg-drafts/pull/5423.
+  // https://www.w3.org/TR/web-animations-1/#setting-the-timeline
 
   // Unfortunately cannot mark the setter only as being conditionally enabled
   // via a feature flag. Conditionally making the feature a no-op is nearly
@@ -1050,7 +1046,7 @@
   return timeline_->Phase();
 }
 
-// https://drafts.csswg.org/web-animations/#setting-the-start-time-of-an-animation
+// https://www.w3.org/TR/web-animations-1/#setting-the-start-time-of-an-animation
 void Animation::setStartTime(const V8CSSNumberish* start_time,
                              ExceptionState& exception_state) {
 
@@ -1145,7 +1141,7 @@
   NotifyProbe();
 }
 
-// https://drafts.csswg.org/web-animations-1/#setting-the-associated-effect
+// https://www.w3.org/TR/web-animations-1/#setting-the-associated-effect
 void Animation::setEffect(AnimationEffect* new_effect) {
   // 1. Let old effect be the current associated effect of animation, if any.
   AnimationEffect* old_effect = content_;
@@ -1269,7 +1265,7 @@
   }
 }
 
-// https://drafts.csswg.org/web-animations/#play-states
+// https://www.w3.org/TR/web-animations-1/#play-states
 Animation::AnimationPlayState Animation::CalculateAnimationPlayState() const {
   // 1. All of the following conditions are true:
   //    * The current time of animation is unresolved, and
@@ -1309,7 +1305,7 @@
   return PendingInternal();
 }
 
-// https://drafts.csswg.org/web-animations-1/#reset-an-animations-pending-tasks.
+// https://www.w3.org/TR/web-animations-1/#reset-an-animations-pending-tasks.
 void Animation::ResetPendingTasks() {
   // 1. If animation does not have a pending play task or a pending pause task,
   //    abort this procedure.
@@ -1337,7 +1333,7 @@
 // Pause methods.
 // ----------------------------------------------
 
-// https://drafts.csswg.org/web-animations/#pausing-an-animation-section
+// https://www.w3.org/TR/web-animations-1/#pausing-an-animation-section
 void Animation::pause(ExceptionState& exception_state) {
   // 1. If animation has a pending pause task, abort these steps.
   // 2. If the play state of animation is paused, abort these steps.
@@ -1423,21 +1419,21 @@
 // ----------------------------------------------
 
 // Refer to the unpause operation in the following spec:
-// https://drafts.csswg.org/css-animations-1/#animation-play-state
+// https://www.w3.org/TR/css-animations-1/#animation-play-state
 void Animation::Unpause() {
   if (CalculateAnimationPlayState() != kPaused)
     return;
   PlayInternal(AutoRewind::kDisabled, ASSERT_NO_EXCEPTION);
 }
 
-// https://drafts.csswg.org/web-animations/#programming-interface.
+// https://www.w3.org/TR/web-animations-1/#playing-an-animation-section
 void Animation::play(ExceptionState& exception_state) {
   // Begin or resume playback of the animation by running the procedure to
   // play an animation passing true as the value of the auto-rewind flag.
   PlayInternal(AutoRewind::kEnabled, exception_state);
 }
 
-// https://drafts.csswg.org/web-animations/#playing-an-animation-section.
+// https://www.w3.org/TR/web-animations-1/#playing-an-animation-section
 void Animation::PlayInternal(AutoRewind auto_rewind,
                              ExceptionState& exception_state) {
   // 1. Let aborted pause be a boolean flag that is true if animation has a
@@ -1565,7 +1561,7 @@
   NotifyProbe();
 }
 
-// https://drafts.csswg.org/web-animations/#reversing-an-animation-section
+// https://www.w3.org/TR/web-animations-1/#reversing-an-animation-section
 void Animation::reverse(ExceptionState& exception_state) {
   // 1. If there is no timeline associated with animation, or the associated
   //    timeline is inactive throw an "InvalidStateError" DOMException and abort
@@ -1602,7 +1598,7 @@
 // Finish methods.
 // ----------------------------------------------
 
-// https://drafts.csswg.org/web-animations/#finishing-an-animation-section
+// https://www.w3.org/TR/web-animations-1/#finishing-an-animation-section
 void Animation::finish(ExceptionState& exception_state) {
   if (!EffectivePlaybackRate()) {
     exception_state.ThrowDOMException(
@@ -1771,7 +1767,7 @@
 }
 
 // Refer to 'finished notification steps' in
-// https://drafts.csswg.org/web-animations-1/#updating-the-finished-state
+// https://www.w3.org/TR/web-animations-1/#updating-the-finished-state
 void Animation::CommitFinishNotification() {
   if (committed_finish_notification_)
     return;
@@ -1794,7 +1790,7 @@
   committed_finish_notification_ = true;
 }
 
-// https://drafts.csswg.org/web-animations/#setting-the-playback-rate-of-an-animation
+// https://www.w3.org/TR/web-animations-1/#setting-the-playback-rate-of-an-animation
 void Animation::updatePlaybackRate(double playback_rate,
                                    ExceptionState& exception_state) {
   // 1. Let previous play state be animation’s play state.
@@ -2281,7 +2277,7 @@
 }
 
 // Update current time of the animation. Refer to step 1 in:
-// https://drafts.csswg.org/web-animations/#update-animations-and-send-events
+// https://www.w3.org/TR/web-animations-1/#update-animations-and-send-events
 bool Animation::Update(TimingUpdateReason reason) {
   // Due to the hierarchical nature of the timing model, updating the current
   // time of an animation also involves:
@@ -2294,7 +2290,7 @@
 
   ClearOutdated();
   bool idle = CalculateAnimationPlayState() == kIdle;
-  if (!idle)
+  if (!idle && reason == kTimingUpdateForAnimationFrame)
     UpdateFinishedState(UpdateType::kContinuous, NotificationType::kAsync);
 
   if (content_) {
@@ -2653,7 +2649,7 @@
 // Replacement of animations
 // -------------------------------------
 
-// https://drafts.csswg.org/web-animations-1/#removing-replaced-animations
+// https://www.w3.org/TR/web-animations-1/#removing-replaced-animations
 bool Animation::IsReplaceable() {
   // An animation is replaceable if all of the following conditions are true:
 
@@ -2693,7 +2689,7 @@
   return true;
 }
 
-// https://drafts.csswg.org/web-animations-1/#removing-replaced-animations
+// https://www.w3.org/TR/web-animations-1/#removing-replaced-animations
 void Animation::RemoveReplacedAnimation() {
   DCHECK(IsReplaceable());
 
@@ -2756,7 +2752,7 @@
   }
 }
 
-// https://drafts.csswg.org/web-animations-1/#dom-animation-commitstyles
+// https://www.w3.org/TR/web-animations-1/#dom-animation-commitstyles
 void Animation::commitStyles(ExceptionState& exception_state) {
   Element* target = content_ && content_->IsKeyframeEffect()
                         ? To<KeyframeEffect>(effect())->target()
diff --git a/third_party/blink/renderer/core/animation/animation.h b/third_party/blink/renderer/core/animation/animation.h
index eaf2aca..f55f534 100644
--- a/third_party/blink/renderer/core/animation/animation.h
+++ b/third_party/blink/renderer/core/animation/animation.h
@@ -84,12 +84,12 @@
     kFinished
   };
 
-  // https://drafts.csswg.org/web-animations/#animation-replace-state
+  // https://w3.org/TR/web-animations-1/#animation-replace-state
   enum ReplaceState { kActive, kRemoved, kPersisted };
 
   // Priority for sorting getAnimation by Animation class, arranged from lowest
   // priority to highest priority as per spec:
-  // https://drafts.csswg.org/web-animations/#dom-document-getanimations
+  // https://w3.org/TR/web-animations-1/#dom-document-getanimations
   enum AnimationClassPriority {
     kCssTransitionPriority,
     kCssAnimationPriority,
@@ -103,7 +103,7 @@
   enum CompareAnimationsOrdering { kTreeOrder, kPointerOrder };
 
   // Only expect timing accuracy to within 1 microsecond.
-  // drafts.csswg.org/web-animations/#precision-of-time-values.
+  // https://w3.org/TR/web-animations-1/#precision-of-time-values.
   static constexpr double kTimeToleranceMs = 0.001;
 
   static Animation* Create(AnimationEffect*,
@@ -156,7 +156,7 @@
 
   absl::optional<AnimationTimeDelta> UnlimitedCurrentTime() const;
 
-  // https://drafts.csswg.org/web-animations/#play-states
+  // https://w3.org/TR/web-animations-1/#play-states
   String PlayStateString() const;
   static const char* PlayStateString(AnimationPlayState);
   AnimationPlayState CalculateAnimationPlayState() const;
diff --git a/third_party/blink/renderer/core/animation/animation.idl b/third_party/blink/renderer/core/animation/animation.idl
index 0bdb34f..a5844e2 100644
--- a/third_party/blink/renderer/core/animation/animation.idl
+++ b/third_party/blink/renderer/core/animation/animation.idl
@@ -28,7 +28,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-// https://drafts.csswg.org/web-animations/#the-animation-interface
+// https://w3.org/TR/web-animations-1/#the-animation-interface
 
 enum AnimationPlayState { "idle", "pending", "running", "paused", "finished" };
 
diff --git a/third_party/blink/renderer/core/animation/animation_effect.cc b/third_party/blink/renderer/core/animation/animation_effect.cc
index 4563919b..02328ae 100644
--- a/third_party/blink/renderer/core/animation/animation_effect.cc
+++ b/third_party/blink/renderer/core/animation/animation_effect.cc
@@ -75,7 +75,7 @@
       DCHECK_GE(active_duration, AnimationTimeDelta());
 
       // Per the spec, the end time has a lower bound of 0.0:
-      // https://drafts.csswg.org/web-animations-1/#end-time
+      // https://w3.org/TR/web-animations-1/#end-time
       const AnimationTimeDelta end_time =
           std::max(timing_.start_delay + active_duration + timing_.end_delay,
                    AnimationTimeDelta());
@@ -144,7 +144,7 @@
       normalized_->iteration_duration, timing_.iteration_count);
 
   // Per the spec, the end time has a lower bound of 0.0:
-  // https://drafts.csswg.org/web-animations-1/#end-time
+  // https://w3.org/TR/web-animations-1/#end-time#end-time
   normalized_->end_time =
       std::max(normalized_->start_delay + normalized_->active_duration +
                    normalized_->end_delay,
diff --git a/third_party/blink/renderer/core/animation/animation_effect.h b/third_party/blink/renderer/core/animation/animation_effect.h
index c74c8ea..4bdeb70 100644
--- a/third_party/blink/renderer/core/animation/animation_effect.h
+++ b/third_party/blink/renderer/core/animation/animation_effect.h
@@ -56,7 +56,7 @@
 };
 
 // Represents the content of an Animation and its fractional timing state.
-// https://drafts.csswg.org/web-animations/#the-animationeffect-interface
+// https://w3.org/TR/web-animations-1/#the-animationeffect-interface
 class CORE_EXPORT AnimationEffect : public ScriptWrappable {
   DEFINE_WRAPPERTYPEINFO();
   // Calls Attach/Detach, GetAnimation, UpdateInheritedTime.
diff --git a/third_party/blink/renderer/core/animation/animation_effect.idl b/third_party/blink/renderer/core/animation/animation_effect.idl
index 64683b9..5a17366b 100644
--- a/third_party/blink/renderer/core/animation/animation_effect.idl
+++ b/third_party/blink/renderer/core/animation/animation_effect.idl
@@ -28,7 +28,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-// https://drafts.csswg.org/web-animations/#the-animationeffect-interface
+// https://w3.org/TR/web-animations-1/#the-animationeffect-interface
 
 [Exposed=Window]
 interface AnimationEffect {
diff --git a/third_party/blink/renderer/core/animation/animation_effect_timing_read_only.idl b/third_party/blink/renderer/core/animation/animation_effect_timing_read_only.idl
deleted file mode 100644
index 2c00b09e..0000000
--- a/third_party/blink/renderer/core/animation/animation_effect_timing_read_only.idl
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2016 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.
-
-// https://drafts.csswg.org/web-animations/#the-animationeffecttimingreadonly-interface
-// TODO(suzyh): Use enums instead of DOMStrings where specced
-
-[
-    RuntimeEnabled=WebAnimationsAPI
-] interface AnimationEffectTimingReadOnly {
-    readonly attribute double delay;
-    readonly attribute double endDelay;
-    readonly attribute DOMString fill;
-    readonly attribute double iterationStart;
-    readonly attribute unrestricted double iterations;
-    readonly attribute (unrestricted double or DOMString) duration;
-    readonly attribute PlaybackDirection direction;
-    readonly attribute DOMString easing;
-};
diff --git a/third_party/blink/renderer/core/animation/animation_timeline.h b/third_party/blink/renderer/core/animation/animation_timeline.h
index 43ca718..96d09b41 100644
--- a/third_party/blink/renderer/core/animation/animation_timeline.h
+++ b/third_party/blink/renderer/core/animation/animation_timeline.h
@@ -50,7 +50,7 @@
   virtual bool IsCSSScrollTimeline() const { return false; }
   virtual bool IsActive() const = 0;
   virtual AnimationTimeDelta ZeroTime() = 0;
-  // https://drafts.csswg.org/web-animations/#monotonically-increasing-timeline
+  // https://w3.org/TR/web-animations-1/#monotonically-increasing-timeline
   // A timeline is monotonically increasing if its reported current time is
   // always greater than or equal than its previously reported current time.
   bool IsMonotonicallyIncreasing() const { return IsDocumentTimeline(); }
diff --git a/third_party/blink/renderer/core/animation/animation_timeline.idl b/third_party/blink/renderer/core/animation/animation_timeline.idl
index 336d122..2af171a 100644
--- a/third_party/blink/renderer/core/animation/animation_timeline.idl
+++ b/third_party/blink/renderer/core/animation/animation_timeline.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#the-animationtimeline-interface
+// https://w3.org/TR/web-animations-1/#the-animationtimeline-interface
 
 enum TimelinePhase { "inactive", "before", "active", "after" };
 [
diff --git a/third_party/blink/renderer/core/animation/base_keyframe.idl b/third_party/blink/renderer/core/animation/base_keyframe.idl
index e27109f..13b74141 100644
--- a/third_party/blink/renderer/core/animation/base_keyframe.idl
+++ b/third_party/blink/renderer/core/animation/base_keyframe.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#dictdef-basekeyframe
+// https://w3.org/TR/web-animations-1/#dictdef-basekeyframe
 
 enum CompositeOperationOrAuto {"replace", "add", "accumulate", "auto"};
 
diff --git a/third_party/blink/renderer/core/animation/base_property_indexed_keyframe.idl b/third_party/blink/renderer/core/animation/base_property_indexed_keyframe.idl
index cc71757..1aafddeb 100644
--- a/third_party/blink/renderer/core/animation/base_property_indexed_keyframe.idl
+++ b/third_party/blink/renderer/core/animation/base_property_indexed_keyframe.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#dictdef-basepropertyindexedkeyframe
+// https://w3.org/TR/web-animations-1/#dictdef-basepropertyindexedkeyframe
 
 dictionary BasePropertyIndexedKeyframe {
   (double? or sequence<double?>) offset = [];
diff --git a/third_party/blink/renderer/core/animation/computed_effect_timing.idl b/third_party/blink/renderer/core/animation/computed_effect_timing.idl
index 603a8ac..2b8f58c 100644
--- a/third_party/blink/renderer/core/animation/computed_effect_timing.idl
+++ b/third_party/blink/renderer/core/animation/computed_effect_timing.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#the-computedeffecttiming-dictionary
+// https://w3.org/TR/web-animations-1/#the-computedeffecttiming-dictionary
 
 dictionary ComputedEffectTiming : EffectTiming {
     CSSNumberish          endTime;
diff --git a/third_party/blink/renderer/core/animation/css/css_animations.cc b/third_party/blink/renderer/core/animation/css/css_animations.cc
index 231977e..46bc70a 100644
--- a/third_party/blink/renderer/core/animation/css/css_animations.cc
+++ b/third_party/blink/renderer/core/animation/css/css_animations.cc
@@ -1954,7 +1954,8 @@
 }
 
 // Properties that affect animations are not allowed to be affected by
-// animations. https://drafts.csswg.org/web-animations/#not-animatable-section
+// animations.
+// https://w3.org/TR/web-animations-1/#animating-properties
 bool CSSAnimations::IsAnimationAffectingProperty(const CSSProperty& property) {
   switch (property.PropertyID()) {
     case CSSPropertyID::kAnimation:
diff --git a/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc
index ed72ae867..33d1db6 100644
--- a/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc
@@ -222,7 +222,7 @@
     std::unique_ptr<InterpolableList> interpolable_list,
     const InterpolationValue& underlying) const {
   // Per the spec, addition of shadow lists is defined as concatenation.
-  // https://drafts.csswg.org/web-animations/#combining-shadow-lists
+  // https://w3.org/TR/web-animations-1/#combining-shadow-lists
   const InterpolableList& underlying_list =
       To<InterpolableList>(*underlying.interpolable_value);
   auto composited_list = std::make_unique<InterpolableList>(
@@ -245,7 +245,7 @@
     const InterpolationValue& underlying) const {
   // Per the spec, accumulation of shadow lists operates on pairwise addition of
   // the underlying components.
-  // https://drafts.csswg.org/web-animations/#combining-shadow-lists
+  // https://w3.org/TR/web-animations-1/#combining-shadow-lists
   const InterpolableList& underlying_list =
       To<InterpolableList>(*underlying.interpolable_value);
   wtf_size_t length = interpolable_list->length();
diff --git a/third_party/blink/renderer/core/animation/document_animation.idl b/third_party/blink/renderer/core/animation/document_animation.idl
index 7a3eabb0..4d72a2c 100644
--- a/third_party/blink/renderer/core/animation/document_animation.idl
+++ b/third_party/blink/renderer/core/animation/document_animation.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#extensions-to-the-document-interface
+// https://w3.org/TR/web-animations-1/#extensions-to-the-document-interface
 
 [
     ImplementedAs=DocumentAnimation,
diff --git a/third_party/blink/renderer/core/animation/document_animations.cc b/third_party/blink/renderer/core/animation/document_animations.cc
index 9e128f81..f98ed0f0 100644
--- a/third_party/blink/renderer/core/animation/document_animations.cc
+++ b/third_party/blink/renderer/core/animation/document_animations.cc
@@ -84,7 +84,7 @@
 }
 
 void DocumentAnimations::UpdateAnimationTimingForAnimationFrame() {
-  // https://drafts.csswg.org/web-animations-1/#timelines.
+  // https://w3.org/TR/web-animations-1/#timelines
 
   // 1. Update the current time of all timelines associated with doc passing now
   //    as the timestamp.
@@ -167,9 +167,7 @@
     const TreeScope& tree_scope) {
   // This method implements the Document::getAnimations method defined in the
   // web-animations-1 spec.
-  // https://drafts.csswg.org/web-animations-1/#dom-document-getanimations
-  // TODO(crbug.com/1046916): refactoring work to create a shared implementation
-  // of getAnimations for Documents and ShadowRoots.
+  // https://w3.org/TR/web-animations-1/#extensions-to-the-documentorshadowroot-interface-mixin
   document_->UpdateStyleAndLayoutTree();
   HeapVector<Member<Animation>> animations;
   if (document_->GetPage())
diff --git a/third_party/blink/renderer/core/animation/document_timeline.h b/third_party/blink/renderer/core/animation/document_timeline.h
index 62e4bed..b7203408 100644
--- a/third_party/blink/renderer/core/animation/document_timeline.h
+++ b/third_party/blink/renderer/core/animation/document_timeline.h
@@ -76,7 +76,7 @@
 
   // The zero time of DocumentTimeline is computed by adding a separate
   // |origin_time_| from DocumentTimelineOptions.
-  // https://drafts.csswg.org/web-animations/#origin-time
+  // https://w3.org/TR/web-animations-1/#origin-time
   // TODO(crbug.com/1162960) Convert DocumentTimeline::zero_time_ from
   // base::TimeTicks to AnimationTimeDelta
   base::TimeTicks CalculateZeroTime();
@@ -104,7 +104,7 @@
  private:
   // Origin time for the timeline relative to the time origin of the document.
   // Provided when the timeline is constructed. See
-  // https://drafts.csswg.org/web-animations/#dom-documenttimelineoptions-origintime.
+  // https://w3.org/TR/web-animations-1/#dom-documenttimelineoptions-origintime.
   base::TimeDelta origin_time_;
   // The origin time. This is computed by adding |origin_time_| to the time
   // origin of the document.
diff --git a/third_party/blink/renderer/core/animation/document_timeline.idl b/third_party/blink/renderer/core/animation/document_timeline.idl
index 54c03af..e86cd272 100644
--- a/third_party/blink/renderer/core/animation/document_timeline.idl
+++ b/third_party/blink/renderer/core/animation/document_timeline.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#the-documenttimeline-interface
+// https://w3.org/TR/web-animations-1/#the-documenttimeline-interface
 
 [
     RuntimeEnabled=WebAnimationsAPI,
diff --git a/third_party/blink/renderer/core/animation/document_timeline_options.idl b/third_party/blink/renderer/core/animation/document_timeline_options.idl
index d3ea63bc..0798a98 100644
--- a/third_party/blink/renderer/core/animation/document_timeline_options.idl
+++ b/third_party/blink/renderer/core/animation/document_timeline_options.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#dictdef-documenttimelineoptions
+// https://w3.org/TR/web-animations-1/#dictdef-documenttimelineoptions
 
 dictionary DocumentTimelineOptions {
   DOMHighResTimeStamp originTime = 0;
diff --git a/third_party/blink/renderer/core/animation/effect_input.cc b/third_party/blink/renderer/core/animation/effect_input.cc
index 275503b..7b729dd7 100644
--- a/third_party/blink/renderer/core/animation/effect_input.cc
+++ b/third_party/blink/renderer/core/animation/effect_input.cc
@@ -441,7 +441,7 @@
 // Implements the procedure to "process a keyframes argument" from the
 // web-animations spec for an object form keyframes argument.
 //
-// See https://drafts.csswg.org/web-animations/#processing-a-keyframes-argument
+// See https://w3.org/TR/web-animations-1/#processing-a-keyframes-argument
 StringKeyframeVector ConvertObjectForm(Element* element,
                                        Document& document,
                                        const v8::Local<v8::Object>& v8_keyframe,
diff --git a/third_party/blink/renderer/core/animation/effect_input.h b/third_party/blink/renderer/core/animation/effect_input.h
index 42347ca9..511b4941 100644
--- a/third_party/blink/renderer/core/animation/effect_input.h
+++ b/third_party/blink/renderer/core/animation/effect_input.h
@@ -29,7 +29,7 @@
                                           ExceptionState&);
 
   // Implements "Processing a keyframes argument" from the web-animations spec.
-  // https://drafts.csswg.org/web-animations/#processing-a-keyframes-argument
+  // https://w3.org/TR/web-animations-1/#processing-a-keyframes-argument
   static StringKeyframeVector ParseKeyframesArgument(
       Element*,
       const ScriptValue& keyframes,
diff --git a/third_party/blink/renderer/core/animation/effect_timing.idl b/third_party/blink/renderer/core/animation/effect_timing.idl
index 4b2cdb0..19b5c82 100644
--- a/third_party/blink/renderer/core/animation/effect_timing.idl
+++ b/third_party/blink/renderer/core/animation/effect_timing.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#the-effecttiming-dictionaries
+// https://w3.org/TR/web-animations-1/#the-effecttiming-dictionaries
 
 enum FillMode { "none", "forwards", "backwards", "both", "auto" };
 enum PlaybackDirection { "normal", "reverse", "alternate", "alternate-reverse" };
diff --git a/third_party/blink/renderer/core/animation/keyframe.h b/third_party/blink/renderer/core/animation/keyframe.h
index d5b943f4..1c0cfa9 100644
--- a/third_party/blink/renderer/core/animation/keyframe.h
+++ b/third_party/blink/renderer/core/animation/keyframe.h
@@ -40,7 +40,7 @@
 //     underlying value. If this is 'auto', the keyframe effect composite
 //     operation is used instead.
 //
-// For spec details, refer to: https://drafts.csswg.org/web-animations/#keyframe
+// For spec details, refer to: https://w3.org/TR/web-animations-1/#keyframe
 //
 // Implementation-wise the base Keyframe class captures the offset, composite
 // operation, and timing function. It is left to subclasses to define and store
diff --git a/third_party/blink/renderer/core/animation/keyframe_animation_options.idl b/third_party/blink/renderer/core/animation/keyframe_animation_options.idl
index 522308d..6b9fc1a 100644
--- a/third_party/blink/renderer/core/animation/keyframe_animation_options.idl
+++ b/third_party/blink/renderer/core/animation/keyframe_animation_options.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#dictdef-keyframeanimationoptions
+// https://w3.org/TR/web-animations-1/#dictdef-keyframeanimationoptions
 
 dictionary KeyframeAnimationOptions : KeyframeEffectOptions {
     DOMString id = "";
diff --git a/third_party/blink/renderer/core/animation/keyframe_effect.cc b/third_party/blink/renderer/core/animation/keyframe_effect.cc
index c2143fd..937c6c0 100644
--- a/third_party/blink/renderer/core/animation/keyframe_effect.cc
+++ b/third_party/blink/renderer/core/animation/keyframe_effect.cc
@@ -242,6 +242,10 @@
   InvalidateAndNotifyOwner();
 }
 
+// Returns a list of 'ComputedKeyframes'. A ComputedKeyframe consists of the
+// normal keyframe data combined with the computed offset for the given
+// keyframe.
+// https://w3.org/TR/web-animations-1/#dom-keyframeeffect-getkeyframes
 HeapVector<ScriptValue> KeyframeEffect::getKeyframes(
     ScriptState* script_state) {
   if (Animation* animation = GetAnimation())
@@ -251,11 +255,6 @@
   if (!model_->HasFrames() || !script_state->ContextIsValid())
     return computed_keyframes;
 
-  // getKeyframes() returns a list of 'ComputedKeyframes'. A ComputedKeyframe
-  // consists of the normal keyframe data combined with the computed offset for
-  // the given keyframe.
-  //
-  // https://w3c.github.io/web-animations/#dom-keyframeeffectreadonly-getkeyframes
   KeyframeVector keyframes = ignore_css_keyframes_
                                  ? model_->GetFrames()
                                  : model_->GetComputedKeyframes(EffectTarget());
diff --git a/third_party/blink/renderer/core/animation/keyframe_effect.h b/third_party/blink/renderer/core/animation/keyframe_effect.h
index cea09b6e..b412198 100644
--- a/third_party/blink/renderer/core/animation/keyframe_effect.h
+++ b/third_party/blink/renderer/core/animation/keyframe_effect.h
@@ -49,7 +49,7 @@
 class V8UnionKeyframeEffectOptionsOrUnrestrictedDouble;
 
 // Represents the effect of an Animation on an Element's properties.
-// https://drafts.csswg.org/web-animations/#keyframe-effect
+// https://w3.org/TR/web-animations-1/#keyframe-effects
 class CORE_EXPORT KeyframeEffect final : public AnimationEffect {
   DEFINE_WRAPPERTYPEINFO();
 
diff --git a/third_party/blink/renderer/core/animation/keyframe_effect.idl b/third_party/blink/renderer/core/animation/keyframe_effect.idl
index 50694064..085979bd 100644
--- a/third_party/blink/renderer/core/animation/keyframe_effect.idl
+++ b/third_party/blink/renderer/core/animation/keyframe_effect.idl
@@ -28,7 +28,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-// https://drafts.csswg.org/web-animations/#the-keyframeeffect-interface
+// https://w3.org/TR/web-animations-1/#the-keyframeeffect-interface
 
 enum CompositeOperation { "replace", "add", "accumulate" };
 
diff --git a/third_party/blink/renderer/core/animation/keyframe_effect_options.idl b/third_party/blink/renderer/core/animation/keyframe_effect_options.idl
index 0df789d..28bcb68 100644
--- a/third_party/blink/renderer/core/animation/keyframe_effect_options.idl
+++ b/third_party/blink/renderer/core/animation/keyframe_effect_options.idl
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://drafts.csswg.org/web-animations/#the-keyframeeffectoptions-dictionary
+// https://w3.org/TR/web-animations-1/#the-keyframeeffectoptions-dictionary
 
 dictionary KeyframeEffectOptions : EffectTiming {
     // TODO(alancutter): Implement iterationComposite
diff --git a/third_party/blink/renderer/core/animation/string_keyframe.h b/third_party/blink/renderer/core/animation/string_keyframe.h
index bcbb0013..daabfe1 100644
--- a/third_party/blink/renderer/core/animation/string_keyframe.h
+++ b/third_party/blink/renderer/core/animation/string_keyframe.h
@@ -238,7 +238,7 @@
   // resolving longhand name collisions.  The resolver also knows how to
   // create serialized text for a shorthand, which is required for getKeyframes
   // calls.
-  // See: https://drafts.csswg.org/web-animations/#keyframes-section
+  // See: https://w3.org/TR/web-animations-1/#keyframes-section
   HeapHashMap<PropertyHandle, Member<PropertyResolver>> input_properties_;
 
   // The resolved properties are computed from unresolved ones applying these
diff --git a/third_party/blink/renderer/core/animation/timing.cc b/third_party/blink/renderer/core/animation/timing.cc
index 18bef75..8dead5bb 100644
--- a/third_party/blink/renderer/core/animation/timing.cc
+++ b/third_party/blink/renderer/core/animation/timing.cc
@@ -62,7 +62,7 @@
   if (fill_mode != Timing::FillMode::AUTO)
     return fill_mode;
 
-  // https://drafts.csswg.org/web-animations/#the-effecttiming-dictionaries
+  // https://w3.org/TR/web-animations-1/#the-effecttiming-dictionaries
   if (is_keyframe_effect)
     return Timing::FillMode::NONE;
   return Timing::FillMode::BOTH;
@@ -140,7 +140,7 @@
   // For the EffectTiming members, getComputedTiming is equivalent to getTiming
   // except that the fill and duration must be resolved.
   //
-  // https://drafts.csswg.org/web-animations-1/#dom-animationeffect-getcomputedtiming
+  // https://w3.org/TR/web-animations-1/#dom-animationeffect-getcomputedtiming
 
   // TODO(crbug.com/1216527): Animation effect timing members start_delay and
   // end_delay should be CSSNumberish
@@ -244,7 +244,7 @@
   DCHECK(!calculated.is_in_effect ||
          (current_iteration.has_value() && progress.has_value()));
   calculated.is_in_play = calculated.phase == Timing::kPhaseActive;
-  // https://drafts.csswg.org/web-animations-1/#current
+  // https://w3.org/TR/web-animations-1/#current
   calculated.is_current = calculated.is_in_play ||
                           (playback_rate.has_value() && playback_rate > 0 &&
                            calculated.phase == Timing::kPhaseBefore) ||
diff --git a/third_party/blink/renderer/core/animation/timing_calculations.h b/third_party/blink/renderer/core/animation/timing_calculations.h
index 6e0496f..0e32454 100644
--- a/third_party/blink/renderer/core/animation/timing_calculations.h
+++ b/third_party/blink/renderer/core/animation/timing_calculations.h
@@ -107,7 +107,7 @@
   return x.is_zero() || y == 0 ? AnimationTimeDelta() : (x * y);
 }
 
-// https://drafts.csswg.org/web-animations-1/#animation-effect-phases-and-states
+// https://w3.org/TR/web-animations-1/#animation-effect-phases-and-states
 static inline Timing::Phase CalculatePhase(
     const Timing::NormalizedTiming& normalized,
     absl::optional<AnimationTimeDelta> local_time,
@@ -148,7 +148,7 @@
   return Timing::kPhaseActive;
 }
 
-// https://drafts.csswg.org/web-animations/#calculating-the-active-time
+// https://w3.org/TR/web-animations-1/#calculating-the-active-time
 static inline absl::optional<AnimationTimeDelta> CalculateActiveTime(
     const Timing::NormalizedTiming& normalized,
     Timing::FillMode fill_mode,
@@ -188,7 +188,7 @@
 
 // Calculates the overall progress, which describes the number of iterations
 // that have completed (including partial iterations).
-// https://drafts.csswg.org/web-animations/#calculating-the-overall-progress
+// https://w3.org/TR/web-animations-1/#calculating-the-overall-progress
 static inline absl::optional<double> CalculateOverallProgress(
     Timing::Phase phase,
     absl::optional<AnimationTimeDelta> active_time,
@@ -216,7 +216,7 @@
 // through the current iteration that ignores transformations to the time
 // introduced by the playback direction or timing functions applied to the
 // effect.
-// https://drafts.csswg.org/web-animations/#calculating-the-simple-iteration-progress
+// https://w3.org/TR/web-animations-1/#calculating-the-simple-iteration-progress
 static inline absl::optional<double> CalculateSimpleIterationProgress(
     Timing::Phase phase,
     absl::optional<double> overall_progress,
@@ -256,7 +256,7 @@
   return simple_iteration_progress;
 }
 
-// https://drafts.csswg.org/web-animations/#calculating-the-current-iteration
+// https://w3.org/TR/web-animations-1/#calculating-the-current-iteration
 static inline absl::optional<double> CalculateCurrentIteration(
     Timing::Phase phase,
     absl::optional<AnimationTimeDelta> active_time,
@@ -290,7 +290,7 @@
   return floor(overall_progress.value());
 }
 
-// https://drafts.csswg.org/web-animations/#calculating-the-directed-progress
+// https://w3.org/TR/web-animations-1/#calculating-the-directed-progress
 static inline bool IsCurrentDirectionForwards(
     absl::optional<double> current_iteration,
     Timing::PlaybackDirection direction) {
@@ -316,7 +316,7 @@
   }
 }
 
-// https://drafts.csswg.org/web-animations/#calculating-the-directed-progress
+// https://w3.org/TR/web-animations-1/#calculating-the-directed-progress
 static inline absl::optional<double> CalculateDirectedProgress(
     absl::optional<double> simple_iteration_progress,
     absl::optional<double> current_iteration,
@@ -335,7 +335,7 @@
                                        : 1 - simple_iteration_progress.value();
 }
 
-// https://drafts.csswg.org/web-animations/#calculating-the-transformed-progress
+// https://w3.org/TR/web-animations-1/#calculating-the-transformed-progress
 static inline absl::optional<double> CalculateTransformedProgress(
     Timing::Phase phase,
     absl::optional<double> directed_progress,
@@ -402,7 +402,7 @@
 // that the section linked below is non-normative); it is used for calculating
 // the time until the next iteration to optimize scheduling.
 //
-// [0] https://drafts.csswg.org/web-animations-1/#iteration-time-space
+// [0] https://w3.org/TR/web-animations-1/#iteration-time-space
 static inline absl::optional<AnimationTimeDelta> CalculateIterationTime(
     AnimationTimeDelta iteration_duration,
     AnimationTimeDelta active_duration,
@@ -437,7 +437,7 @@
       fmod(offset_active_time->InSecondsF(), iteration_duration.InSecondsF()));
 
   // This implements step 3 of
-  // https://drafts.csswg.org/web-animations/#calculating-the-simple-iteration-progress
+  // https://w3.org/TR/web-animations-1/#calculating-the-simple-iteration-progress
   if (iteration_time.is_zero() && phase == Timing::kPhaseAfter &&
       !active_duration.is_zero() && !offset_active_time.value().is_zero())
     return absl::make_optional(iteration_duration);
diff --git a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
index 19076c6d..4bd3e13 100644
--- a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
@@ -433,23 +433,29 @@
     return;
   }
 
-  if (IsA<HTMLFencedFrameElement>(element) &&
-      !features::IsFencedFramesMPArchBased()) {
-    // Force the inside-display to `flow`, but honors the outside-display.
-    switch (DisplayOutside(style.Display())) {
-      case EDisplay::kInline:
-      case EDisplay::kContents:
-        style.SetDisplay(EDisplay::kInlineBlock);
-        break;
-      case EDisplay::kBlock:
-        style.SetDisplay(EDisplay::kBlock);
-        break;
-      case EDisplay::kNone:
-        break;
-      default:
-        NOTREACHED();
-        style.SetDisplay(EDisplay::kInlineBlock);
-        break;
+  if (IsA<HTMLFencedFrameElement>(element)) {
+    // Force the effective CSS `zoom` property to 1, so that the CSS `zoom`
+    // property does not leak to fencedframe `window.innerWidth` and
+    // `window.innerHeight`. crbug.com/1285327
+    style.SetEffectiveZoom(1);
+
+    if (!features::IsFencedFramesMPArchBased()) {
+      // Force the inside-display to `flow`, but honors the outside-display.
+      switch (DisplayOutside(style.Display())) {
+        case EDisplay::kInline:
+        case EDisplay::kContents:
+          style.SetDisplay(EDisplay::kInlineBlock);
+          break;
+        case EDisplay::kBlock:
+          style.SetDisplay(EDisplay::kBlock);
+          break;
+        case EDisplay::kNone:
+          break;
+        default:
+          NOTREACHED();
+          style.SetDisplay(EDisplay::kInlineBlock);
+          break;
+      }
     }
   }
 
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
index b81883dd..02ad35b 100644
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -671,32 +671,24 @@
       !GetDocument().IsActive() || GetDocument().InStyleRecalc() ||
       !GetDocument().NeedsLayoutTreeUpdateForNodeIncludingDisplayLocked(*this));
 
-  // FIXME: Even if we are not visible, we might have a child that is visible.
-  // Hyatt wants to fix that some day with a "has visible content" flag or the
-  // like.
-  auto IsFocusable = [](const ComputedStyle* style) {
-    return style && !style->IsEnsuredInDisplayNone() &&
-           style->Display() != EDisplay::kContents && !style->IsInert() &&
-           style->Visibility() == EVisibility::kVisible;
-  };
-
-  if (LayoutObject* layout_object = GetLayoutObject()) {
-    if (IsFocusable(layout_object->Style()))
-      return true;
-  }
+  if (LayoutObject* layout_object = GetLayoutObject())
+    return layout_object->StyleRef().IsFocusable();
 
   // If a canvas represents embedded content, its descendants are not rendered.
   // But they are still allowed to be focusable as long as their style allows
   // focus, their canvas is rendered, and its style allows focus.
   if (IsInCanvasSubtree()) {
-    if (!IsFocusable(GetComputedStyle()))
+    const ComputedStyle* style = GetComputedStyle();
+    if (!style || !style->IsFocusable())
       return false;
 
     const HTMLCanvasElement* canvas =
         Traversal<HTMLCanvasElement>::FirstAncestorOrSelf(*this);
     DCHECK(canvas);
-    if (LayoutObject* layout_object = canvas->GetLayoutObject())
-      return layout_object->IsCanvas() && IsFocusable(layout_object->Style());
+    if (LayoutObject* layout_object = canvas->GetLayoutObject()) {
+      return layout_object->IsCanvas() &&
+             layout_object->StyleRef().IsFocusable();
+    }
   }
 
   return false;
diff --git a/third_party/blink/renderer/core/execution_context/agent.h b/third_party/blink/renderer/core/execution_context/agent.h
index a40b448..b2b837db 100644
--- a/third_party/blink/renderer/core/execution_context/agent.h
+++ b/third_party/blink/renderer/core/execution_context/agent.h
@@ -11,7 +11,8 @@
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
 #include "third_party/blink/renderer/platform/heap/member.h"
-#include "v8/include/v8.h"
+#include "v8/include/v8-forward.h"
+#include "v8/include/v8-microtask-queue.h"
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
index ab505bd..45ce11afd 100644
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -57,7 +57,8 @@
 #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 #include "third_party/blink/renderer/platform/supplementable.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
-#include "v8/include/v8.h"
+#include "v8/include/v8-callbacks.h"
+#include "v8/include/v8-forward.h"
 
 namespace base {
 class UnguessableToken;
@@ -67,6 +68,10 @@
 class UkmRecorder;
 }  // namespace ukm
 
+namespace v8 {
+class MicrotaskQueue;
+}  // namespace v8
+
 namespace blink {
 
 class Agent;
diff --git a/third_party/blink/renderer/core/execution_context/navigator_base.cc b/third_party/blink/renderer/core/execution_context/navigator_base.cc
index 0961d0f..24293de6 100644
--- a/third_party/blink/renderer/core/execution_context/navigator_base.cc
+++ b/third_party/blink/renderer/core/execution_context/navigator_base.cc
@@ -36,6 +36,13 @@
   if (execution_context)
     execution_context->ReportNavigatorUserAgentAccess();
 
+  // If the User-Agent string is opted into the SendFullUserAgentAfterReduction,
+  // platform should be a full value.
+  if (RuntimeEnabledFeatures::SendFullUserAgentAfterReductionEnabled(
+          execution_context)) {
+    return NavigatorID::platform();
+  }
+
   // If the User-Agent string is frozen, platform should be a value
   // matching the frozen string per https://github.com/WICG/ua-client-hints.
   // See content::frozen_user_agent_strings.
diff --git a/third_party/blink/renderer/core/execution_context/security_context.cc b/third_party/blink/renderer/core/execution_context/security_context.cc
index 828202c..0de46d6 100644
--- a/third_party/blink/renderer/core/execution_context/security_context.cc
+++ b/third_party/blink/renderer/core/execution_context/security_context.cc
@@ -34,6 +34,7 @@
 #include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom-blink.h"
 #include "third_party/blink/public/mojom/permissions_policy/policy_value.mojom-blink.h"
 #include "third_party/blink/public/mojom/security_context/insecure_request_policy.mojom-blink.h"
+#include "third_party/blink/public/mojom/web_feature/web_feature.mojom-shared.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/platform/weborigin/scheme_registry.h"
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
index c5a05cb..889101d 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
@@ -372,6 +372,10 @@
   if (!GetFrame())
     return String();
 
+  if (RuntimeEnabledFeatures::SendFullUserAgentAfterReductionEnabled(this)) {
+    return GetFrame()->Loader().FullUserAgent();
+  }
+
   if (RuntimeEnabledFeatures::UserAgentReductionEnabled(this))
     return GetFrame()->Loader().ReducedUserAgent();
   else
diff --git a/third_party/blink/renderer/core/frame/local_dom_window_test.cc b/third_party/blink/renderer/core/frame/local_dom_window_test.cc
index f5799c6..bcf3922 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window_test.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window_test.cc
@@ -230,7 +230,7 @@
   }
 }
 
-TEST_F(LocalDOMWindowTest, ReducedUserAgent) {
+TEST_F(LocalDOMWindowTest, UserAgent) {
   EXPECT_EQ(GetFrame().DomWindow()->UserAgent(),
             GetFrame().Loader().UserAgent());
   {
@@ -238,6 +238,11 @@
     EXPECT_EQ(GetFrame().DomWindow()->UserAgent(),
               GetFrame().Loader().ReducedUserAgent());
   }
+  {
+    ScopedSendFullUserAgentAfterReductionForTest s1(true);
+    EXPECT_EQ(GetFrame().DomWindow()->UserAgent(),
+              GetFrame().Loader().FullUserAgent());
+  }
 }
 
 // Tests ExecutionContext::GetContentSecurityPolicyForCurrentWorld().
diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
index cf6f792..45d397a7 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
@@ -248,6 +248,7 @@
       std::unique_ptr<WebDocumentLoader::ExtraData> extra_data) = 0;
 
   virtual String UserAgent() = 0;
+  virtual String FullUserAgent() = 0;
   virtual String ReducedUserAgent() = 0;
   virtual absl::optional<blink::UserAgentMetadata> UserAgentMetadata() = 0;
 
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
index ba2d1be..3c36532 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
@@ -820,6 +820,17 @@
   return reduced_user_agent_;
 }
 
+String LocalFrameClientImpl::FullUserAgent() {
+  WebString override =
+      web_frame_->Client() ? web_frame_->Client()->UserAgentOverride() : "";
+  if (!override.IsEmpty())
+    return override;
+
+  if (full_user_agent_.IsEmpty())
+    full_user_agent_ = Platform::Current()->FullUserAgent();
+  return full_user_agent_;
+}
+
 absl::optional<UserAgentMetadata> LocalFrameClientImpl::UserAgentMetadata() {
   bool ua_override_on = web_frame_->Client() &&
                         !web_frame_->Client()->UserAgentOverride().IsEmpty();
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
index 2d9517c..d78c1ed 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
@@ -175,6 +175,7 @@
       DocumentLoader* document_loader,
       std::unique_ptr<WebDocumentLoader::ExtraData> extra_data) override;
   WTF::String UserAgent() override;
+  WTF::String FullUserAgent() override;
   WTF::String ReducedUserAgent() override;
   absl::optional<blink::UserAgentMetadata> UserAgentMetadata() override;
   WTF::String DoNotTrackValue() override;
@@ -302,6 +303,7 @@
   Member<WebLocalFrameImpl> web_frame_;
 
   String user_agent_;
+  String full_user_agent_;
   String reduced_user_agent_;
 };
 
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 2164271..36922ba4 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
@@ -195,7 +195,7 @@
 
   v8::Context::Scope context_scope(context);
   WTF::Vector<v8::Local<v8::Value>> args;
-  for (auto const& argument : arguments.GetList()) {
+  for (auto const& argument : arguments.GetListDeprecated()) {
     args.push_back(converter->ToV8Value(&argument, context));
   }
 
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc
index 6070214..2c8f125 100644
--- a/third_party/blink/renderer/core/loader/base_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc
@@ -463,6 +463,17 @@
               .c_str(),
           SerializeBoolHeader(true));
     }
+
+    if (ShouldSendClientHint(
+            ClientHintsMode::kStandard, policy, resource_origin, is_1p_origin,
+            network::mojom::blink::WebClientHintsType::kFullUserAgent,
+            hints_preferences)) {
+      request.SetHttpHeaderField(
+          network::GetClientHintToNameMap()
+              .at(network::mojom::blink::WebClientHintsType::kFullUserAgent)
+              .c_str(),
+          SerializeBoolHeader(true));
+    }
   }
 
   if (ShouldSendClientHint(
@@ -691,13 +702,15 @@
       base::FeatureList::IsEnabled(features::kAllowClientHintsToThirdParty)) {
     origin_ok = true;
   } else {
-    // For subresource requests, if the parent frame has Sec-CH-UA-Reduced,
-    // then send Sec-CH-UA-Reduced in the fetch request, regardless of the
-    // permissions policy.
-    origin_ok = type == network::mojom::blink::WebClientHintsType::kUAReduced ||
-                (policy && policy->IsFeatureEnabledForOrigin(
-                               GetClientHintToPolicyFeatureMap().at(type),
-                               resource_origin));
+    // For subresource requests, if the parent frame has Sec-CH-UA-Reduced or
+    // Sec-CH-UA-Full, then send Sec-CH-UA-Reduced or Sec-CH-UA-Full in the
+    // fetch request, regardless of the permissions policy.
+    origin_ok =
+        type == network::mojom::blink::WebClientHintsType::kUAReduced ||
+        type == network::mojom::blink::WebClientHintsType::kFullUserAgent ||
+        (policy &&
+         policy->IsFeatureEnabledForOrigin(
+             GetClientHintToPolicyFeatureMap().at(type), resource_origin));
   }
 
   if (!origin_ok)
diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h
index 8a08a07..9ea6cc0 100644
--- a/third_party/blink/renderer/core/loader/empty_clients.h
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
@@ -310,6 +310,7 @@
       std::unique_ptr<WebDocumentLoader::ExtraData> extra_data) override {}
 
   String UserAgent() override { return ""; }
+  String FullUserAgent() override { return ""; }
   String ReducedUserAgent() override { return ""; }
   absl::optional<blink::UserAgentMetadata> UserAgentMetadata() override {
     return blink::UserAgentMetadata();
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
index 8628f3a..0270b454b 100644
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -361,7 +361,15 @@
           network::GetClientHintToNameMap()
               .at(network::mojom::blink::WebClientHintsType::kUAReduced)
               .c_str()) == "?1";
-  String user_agent = ua_reduced ? GetReducedUserAgent() : GetUserAgent();
+  const bool ua_full =
+      request.HttpHeaderField(
+          network::GetClientHintToNameMap()
+              .at(network::mojom::blink::WebClientHintsType::kFullUserAgent)
+              .c_str()) == "?1";
+
+  String user_agent =
+      ua_full ? GetFullUserAgent()
+              : (ua_reduced ? GetReducedUserAgent() : GetUserAgent());
   base::UmaHistogramBoolean("Blink.Fetch.ReducedUserAgent", ua_reduced);
   request.SetHTTPUserAgent(AtomicString(user_agent));
 
@@ -700,6 +708,12 @@
   return GetFrame()->Loader().UserAgent();
 }
 
+String FrameFetchContext::GetFullUserAgent() const {
+  if (GetResourceFetcherProperties().IsDetached())
+    return frozen_state_->user_agent;
+  return GetFrame()->Loader().FullUserAgent();
+}
+
 String FrameFetchContext::GetReducedUserAgent() const {
   if (GetResourceFetcherProperties().IsDetached())
     return frozen_state_->user_agent;
@@ -739,15 +753,20 @@
   if (GetResourceFetcherProperties().IsDetached())
     return this;
 
+  // If the Sec-CH-UA-Full client hint header is set on the request, then the
+  // full User-Agent string should be set on the User-Agent request header.
   // If the Sec-CH-UA-Reduced client hint header is set on the request, then the
   // reduced User-Agent string should also be set on the User-Agent request
   // header.
   const ClientHintsPreferences& client_hints_prefs =
       GetClientHintsPreferences();
   String user_agent = client_hints_prefs.ShouldSend(
-                          network::mojom::WebClientHintsType::kUAReduced)
-                          ? GetReducedUserAgent()
-                          : GetUserAgent();
+                          network::mojom::WebClientHintsType::kFullUserAgent)
+                          ? GetFullUserAgent()
+                          : client_hints_prefs.ShouldSend(
+                                network::mojom::WebClientHintsType::kUAReduced)
+                                ? GetReducedUserAgent()
+                                : GetUserAgent();
 
   frozen_state_ = MakeGarbageCollected<FrozenState>(
       Url(), GetContentSecurityPolicy(), GetSiteForCookies(),
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
index 183200f2..06e0907 100644
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -194,6 +194,7 @@
   WebContentSettingsClient* GetContentSettingsClient() const;
   Settings* GetSettings() const;
   String GetUserAgent() const;
+  String GetFullUserAgent() const;
   String GetReducedUserAgent() const;
   absl::optional<UserAgentMetadata> GetUserAgentMetadata() const;
   const PermissionsPolicy* GetPermissionsPolicy() const override;
diff --git a/third_party/blink/renderer/core/loader/frame_loader.cc b/third_party/blink/renderer/core/loader/frame_loader.cc
index e47f0bc6..d2998b3 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.cc
+++ b/third_party/blink/renderer/core/loader/frame_loader.cc
@@ -1340,6 +1340,13 @@
   return user_agent;
 }
 
+String FrameLoader::FullUserAgent() const {
+  String user_agent = Client()->FullUserAgent();
+  probe::ApplyUserAgentOverride(probe::ToCoreProbeSink(frame_->GetDocument()),
+                                &user_agent);
+  return user_agent;
+}
+
 String FrameLoader::ReducedUserAgent() const {
   String user_agent = Client()->ReducedUserAgent();
   probe::ApplyUserAgentOverride(probe::ToCoreProbeSink(frame_->GetDocument()),
diff --git a/third_party/blink/renderer/core/loader/frame_loader.h b/third_party/blink/renderer/core/loader/frame_loader.h
index 203712f1..21c3343 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.h
+++ b/third_party/blink/renderer/core/loader/frame_loader.h
@@ -142,6 +142,7 @@
   void DidExplicitOpen();
 
   String UserAgent() const;
+  String FullUserAgent() const;
   String ReducedUserAgent() const;
   absl::optional<blink::UserAgentMetadata> UserAgentMetadata() const;
 
diff --git a/third_party/blink/renderer/core/loader/interactive_detector.cc b/third_party/blink/renderer/core/loader/interactive_detector.cc
index 678cddf..e5db7b9c 100644
--- a/third_party/blink/renderer/core/loader/interactive_detector.cc
+++ b/third_party/blink/renderer/core/loader/interactive_detector.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "third_party/blink/renderer/core/loader/interactive_detector.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/profiler/sample_metadata.h"
 #include "base/time/default_tick_clock.h"
@@ -46,6 +47,10 @@
 const char kHistogramInputDelay[] = "PageLoad.InteractiveTiming.InputDelay3";
 const char kHistogramInputTimestamp[] =
     "PageLoad.InteractiveTiming.InputTimestamp3";
+const char kHistogramProcessingTime[] =
+    "PageLoad.InteractiveTiming.ProcessingTime";
+const char kHistogramTimeToNextPaint[] =
+    "PageLoad.InteractiveTiming.TimeToNextPaint";
 
 // static
 const char InteractiveDetector::kSupplementName[] = "InteractiveDetector";
@@ -679,6 +684,10 @@
           time_to_next_paint.InMilliseconds())
       .Record(GetUkmRecorder());
 
+  UmaHistogramCustomTimes(kHistogramProcessingTime, processing_time,
+                          base::Milliseconds(1), base::Seconds(60), 50);
+  UmaHistogramCustomTimes(kHistogramTimeToNextPaint, time_to_next_paint,
+                          base::Milliseconds(1), base::Seconds(60), 50);
   if (!page_event_times_.first_input_processing_time) {
     page_event_times_.first_input_processing_time = processing_time;
     if (GetSupplementable()->Loader()) {
diff --git a/third_party/blink/renderer/core/paint/theme_painter.cc b/third_party/blink/renderer/core/paint/theme_painter.cc
index 03dea8f0..0e3a7ef 100644
--- a/third_party/blink/renderer/core/paint/theme_painter.cc
+++ b/third_party/blink/renderer/core/paint/theme_painter.cc
@@ -22,6 +22,7 @@
 #include "third_party/blink/renderer/core/paint/theme_painter.h"
 
 #include "build/build_config.h"
+#include "third_party/blink/public/mojom/web_feature/web_feature.mojom-shared.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/renderer/core/dom/shadow_root.h"
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h
index e7ff479..f02ccd8 100644
--- a/third_party/blink/renderer/core/style/computed_style.h
+++ b/third_party/blink/renderer/core/style/computed_style.h
@@ -2248,6 +2248,15 @@
                            UserModify() == EUserModify::kReadOnly);
   }
 
+  bool IsFocusable() const {
+    // TODO: Maybe `display: contents` shouldn't prevent focusability, see
+    // discussion in https://github.com/whatwg/html/issues/1837
+    // TODO: `visibility: hidden` shouldn't prevent focusability, see
+    // https://html.spec.whatwg.org/multipage/interaction.html#focusable-area
+    return !IsEnsuredInDisplayNone() && Display() != EDisplay::kContents &&
+           !IsInert() && Visibility() == EVisibility::kVisible;
+  }
+
   // Text decoration utility functions.
   bool TextDecorationVisualOverflowEqual(const ComputedStyle& o) const;
   void ApplyTextDecorations(const Color& parent_text_decoration_color,
diff --git a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc b/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
index 4228a292..20ee543 100644
--- a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
+++ b/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
@@ -60,10 +60,14 @@
   DCHECK(csp);
 
   LocalFrameClient* frame_client = window->GetFrame()->Client();
+  // For now we should prioritize to send full UA string if opted into both
+  // Reduction and SendFullUserAgentAfterReduction Origin Trial
   const String user_agent =
-      RuntimeEnabledFeatures::UserAgentReductionEnabled(window)
-          ? frame_client->ReducedUserAgent()
-          : frame_client->UserAgent();
+      RuntimeEnabledFeatures::SendFullUserAgentAfterReductionEnabled(window)
+          ? frame_client->FullUserAgent()
+          : (RuntimeEnabledFeatures::UserAgentReductionEnabled(window)
+                 ? frame_client->ReducedUserAgent()
+                 : frame_client->UserAgent());
 
   auto global_scope_creation_params =
       std::make_unique<GlobalScopeCreationParams>(
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object.cc b/third_party/blink/renderer/modules/accessibility/ax_object.cc
index 74a7db0..6410329 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_object.cc
+++ b/third_party/blink/renderer/modules/accessibility/ax_object.cc
@@ -1149,7 +1149,7 @@
 
   if (is_visible || is_focusable) {
     // If the author applied the ARIA "textbox" role on something that is not
-    // (currently) editable, this may be read-only rich-text object. Or it
+    // (currently) editable, this may be a read-only rich-text object. Or it
     // might just be bad authoring. Either way, we want to expose its
     // descendants, especially the interactive ones which might gain focus.
     bool is_non_atomic_textfield_root = IsARIATextField();
@@ -1915,16 +1915,12 @@
   SerializeSparseAttributes(node_data);
 
   if (Element* element = GetElement()) {
-    String value_text = SlowGetValueForControlIncludingContentEditable();
-    if (value_text.IsEmpty() && !IsRangeValueSupported()) {
-      // TODO(nektar) Once contenteditable values are computed on the browser
-      // side, only expose this when value text is non-empty.
-      node_data->AddStringAttribute(ax::mojom::blink::StringAttribute::kValue,
-                                    std::string());
-    } else {
-      TruncateAndAddStringAttribute(
-          node_data, ax::mojom::blink::StringAttribute::kValue, value_text);
-    }
+    // Do not send the value attribute for non-atomic text fields in order to
+    // improve the performance of the cross-process communication with the
+    // browser process, and since it can be easily computed in that process.
+    TruncateAndAddStringAttribute(node_data,
+                                  ax::mojom::blink::StringAttribute::kValue,
+                                  GetValueForControl());
 
     if (IsAtomicTextField()) {
       // Selection offsets are only used for plain text controls, (input of a
diff --git a/third_party/blink/renderer/modules/manifest/manifest_manager.cc b/third_party/blink/renderer/modules/manifest/manifest_manager.cc
index 7751cd3..4d18744 100644
--- a/third_party/blink/renderer/modules/manifest/manifest_manager.cc
+++ b/third_party/blink/renderer/modules/manifest/manifest_manager.cc
@@ -192,7 +192,7 @@
   }
 
   manifest_debug_info_ = mojom::blink::ManifestDebugInfo::New();
-  manifest_debug_info_->raw_manifest = data;
+  manifest_debug_info_->raw_manifest = data.IsNull() ? "" : data;
   parser.TakeErrors(&manifest_debug_info_->errors);
 
   for (const auto& error : manifest_debug_info_->errors) {
diff --git a/third_party/blink/renderer/modules/mediastream/webmediaplayer_ms.cc b/third_party/blink/renderer/modules/mediastream/webmediaplayer_ms.cc
index b6eede5f..b842282 100644
--- a/third_party/blink/renderer/modules/mediastream/webmediaplayer_ms.cc
+++ b/third_party/blink/renderer/modules/mediastream/webmediaplayer_ms.cc
@@ -183,21 +183,26 @@
       return;
     }
 
-#if BUILDFLAG(IS_WIN)
-    const bool skip_creating_gpu_memory_buffer =
-        frame->visible_rect().width() <
-            kUseGpuMemoryBufferVideoFramesMinResolution.width() ||
-        frame->visible_rect().height() <
-            kUseGpuMemoryBufferVideoFramesMinResolution.height();
-#else
-    const bool skip_creating_gpu_memory_buffer = false;
-#endif  // BUILDFLAG(IS_WIN)
-
     // If |render_frame_suspended_|, we can keep passing the frames to keep the
     // latest frame in compositor up to date. However, creating GMB backed
     // frames is unnecessary, because the frames are not going to be shown for
     // the time period.
-    if (render_frame_suspended_ || skip_creating_gpu_memory_buffer) {
+    bool skip_creating_gpu_memory_buffer = render_frame_suspended_;
+
+#if BUILDFLAG(IS_WIN)
+    skip_creating_gpu_memory_buffer |=
+        frame->visible_rect().width() <
+            kUseGpuMemoryBufferVideoFramesMinResolution.width() ||
+        frame->visible_rect().height() <
+            kUseGpuMemoryBufferVideoFramesMinResolution.height();
+#endif  // BUILDFLAG(IS_WIN)
+
+#if BUILDFLAG(IS_FUCHSIA)
+    // Always create GMP to workaround https://crbug.com/1293616.
+    skip_creating_gpu_memory_buffer = false;
+#endif  // BUILDFLAG(IS_FUCHSIA)
+
+    if (skip_creating_gpu_memory_buffer) {
       int original_frame_id = frame->unique_id();
       EnqueueFrame(original_frame_id, std::move(frame));
       // If there are any existing MaybeCreateHardwareFrame() calls, we do not
diff --git a/third_party/blink/renderer/modules/webgpu/gpu.cc b/third_party/blink/renderer/modules/webgpu/gpu.cc
index 96dfbb1..8e87231 100644
--- a/third_party/blink/renderer/modules/webgpu/gpu.cc
+++ b/third_party/blink/renderer/modules/webgpu/gpu.cc
@@ -13,6 +13,7 @@
 #include "third_party/blink/public/common/privacy_budget/identifiable_token_builder.h"
 #include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
 #include "third_party/blink/public/mojom/gpu/gpu.mojom-blink.h"
+#include "third_party/blink/public/mojom/web_feature/web_feature.mojom-shared.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/public/platform/web_graphics_context_3d_provider.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
diff --git a/third_party/blink/renderer/platform/bindings/dictionary_base.cc b/third_party/blink/renderer/platform/bindings/dictionary_base.cc
index d37905b..53521a7 100644
--- a/third_party/blink/renderer/platform/bindings/dictionary_base.cc
+++ b/third_party/blink/renderer/platform/bindings/dictionary_base.cc
@@ -5,6 +5,8 @@
 #include "third_party/blink/renderer/platform/bindings/dictionary_base.h"
 
 #include "third_party/blink/renderer/platform/bindings/script_state.h"
+#include "v8/include/v8-context.h"
+#include "v8/include/v8-object.h"
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/platform/bindings/dictionary_base.h b/third_party/blink/renderer/platform/bindings/dictionary_base.h
index b167aa6..4ac866b 100644
--- a/third_party/blink/renderer/platform/bindings/dictionary_base.h
+++ b/third_party/blink/renderer/platform/bindings/dictionary_base.h
@@ -7,7 +7,8 @@
 
 #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
 #include "third_party/blink/renderer/platform/platform_export.h"
-#include "v8/include/v8.h"
+#include "v8/include/v8-forward.h"
+#include "v8/include/v8-local-handle.h"
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/platform/bindings/v8_throw_exception.cc b/third_party/blink/renderer/platform/bindings/v8_throw_exception.cc
index a0cccbb..ff1b2ed8 100644
--- a/third_party/blink/renderer/platform/bindings/v8_throw_exception.cc
+++ b/third_party/blink/renderer/platform/bindings/v8_throw_exception.cc
@@ -25,6 +25,7 @@
 #include "third_party/blink/renderer/platform/bindings/v8_throw_exception.h"
 
 #include "third_party/blink/renderer/platform/bindings/v8_binding.h"
+#include "v8/include/v8-exception.h"
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/platform/bindings/v8_throw_exception.h b/third_party/blink/renderer/platform/bindings/v8_throw_exception.h
index 995b08d..82f781f 100644
--- a/third_party/blink/renderer/platform/bindings/v8_throw_exception.h
+++ b/third_party/blink/renderer/platform/bindings/v8_throw_exception.h
@@ -28,7 +28,9 @@
 #include "third_party/blink/renderer/platform/platform_export.h"
 #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
-#include "v8/include/v8.h"
+#include "v8/include/v8-forward.h"
+#include "v8/include/v8-isolate.h"
+#include "v8/include/v8-local-handle.h"
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
index ff7e160..13e15cd9 100644
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
@@ -49,6 +49,7 @@
 #include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
 #include "third_party/blink/public/mojom/blob/blob_registry.mojom-blink.h"
 #include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
+#include "third_party/blink/public/mojom/web_feature/web_feature.mojom-shared.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/public/platform/web_blob_info.h"
 #include "third_party/blink/public/platform/web_code_cache_loader.h"
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 4ad4ea2..d565389 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -1916,6 +1916,9 @@
 
 
 # @container
+crbug.com/1289850 external/wpt/css/css-contain/container-queries/canvas-as-container-002.html [ Failure ]
+crbug.com/1289850 external/wpt/css/css-contain/container-queries/canvas-as-container-004.html [ Failure ]
+crbug.com/1289850 external/wpt/css/css-contain/container-queries/canvas-as-container-006.html [ Failure ]
 crbug.com/1273913 external/wpt/css/css-contain/container-queries/pseudo-elements-002.tentative.html [ Failure ]
 crbug.com/1284918 external/wpt/css/css-contain/container-queries/table-inside-container-changing-display.html [ Failure ]
 
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-001.html
new file mode 100644
index 0000000..5e1d595
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-001.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<title>CSS Container Queries Test: Canvas as size container for focusable child</title>
+<link rel="help" href="https://drafts.csswg.org/css-contain-3/#size-container">
+<link rel="match" href="/css/reference/ref-filled-green-100px-square-only.html">
+<style>
+  canvas:focus-within {
+    border: 50px solid green;
+  }
+  canvas {
+    display: block;
+    width: 100px;
+    height: 100px;
+    box-sizing: border-box;
+    container-type: size;
+  }
+</style>
+<p>Test passes if there is a filled green square.</p>
+<canvas>
+  <div id="target" tabIndex="1"></div>
+</canvas>
+<script>
+  target.focus();
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-002.html
new file mode 100644
index 0000000..3e817a64
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-002.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<title>CSS Container Queries Test: Absolute positioned canvas as size container for focusable child</title>
+<link rel="help" href="https://drafts.csswg.org/css-contain-3/#size-container">
+<link rel="match" href="/css/reference/ref-filled-green-100px-square-only.html">
+<style>
+  canvas:focus-within {
+    border: 50px solid green;
+  }
+  canvas {
+    display: block;
+    position: absolute;
+    width: 100px;
+    height: 100px;
+    box-sizing: border-box;
+    container-type: size;
+  }
+</style>
+<p>Test passes if there is a filled green square.</p>
+<canvas>
+  <div id="target" tabIndex="1"></div>
+</canvas>
+<script>
+  target.focus();
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-003.html b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-003.html
new file mode 100644
index 0000000..6a54e4a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-003.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<title>CSS Container Queries Test: Canvas as size container for focusable child with display</title>
+<link rel="help" href="https://drafts.csswg.org/css-contain-3/#size-container">
+<link rel="match" href="/css/reference/ref-filled-green-100px-square-only.html">
+<style>
+  canvas:focus-within {
+    background-color: green;
+  }
+  canvas {
+    display: block;
+    width: 100px;
+    height: 100px;
+    container-type: size;
+  }
+  #target { display: none; }
+  @container size(width = 100px) {
+    #target { display: block; }
+  }
+</style>
+<p>Test passes if there is a filled green square.</p>
+<canvas>
+  <div id="target" tabIndex="1"></div>
+</canvas>
+<script>
+  target.focus();
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-004.html b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-004.html
new file mode 100644
index 0000000..86296346
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-004.html
@@ -0,0 +1,27 @@
+<!doctype html>
+<title>CSS Container Queries Test: Absolute positioned canvas as size container for focusable child with display</title>
+<link rel="help" href="https://drafts.csswg.org/css-contain-3/#size-container">
+<link rel="match" href="/css/reference/ref-filled-green-100px-square-only.html">
+<style>
+  canvas:focus-within {
+    background-color: green;
+  }
+  canvas {
+    display: block;
+    position: absolute;
+    width: 100px;
+    height: 100px;
+    container-type: size;
+  }
+  #target { display: none; }
+  @container size(width = 100px) {
+    #target { display: block; }
+  }
+</style>
+<p>Test passes if there is a filled green square.</p>
+<canvas>
+  <div id="target" tabIndex="1"></div>
+</canvas>
+<script>
+  target.focus();
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-005.html b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-005.html
new file mode 100644
index 0000000..c85a9cd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-005.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<title>CSS Container Queries Test: Canvas as dynamic size container for focusable child with display</title>
+<link rel="help" href="https://drafts.csswg.org/css-contain-3/#size-container">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  canvas {
+    display: block;
+    width: 100px;
+    height: 100px;
+    container-type: size;
+  }
+  #target { display: none; }
+  @container size(width = 200px) {
+    #target { display: block; }
+  }
+</style>
+<p>Test passes if there is a filled green square.</p>
+<canvas id="canvas">
+  <div id="target" tabIndex="1"></div>
+</canvas>
+<script>
+  test(() => {
+    target.focus();
+    assert_not_equals(document.activeElement, target);
+  }, "Initially display:none, not focusable");
+
+  test(() => {
+    canvas.style.width = "200px";
+    target.focus();
+    assert_equals(document.activeElement, target);
+  }, "Focusable after container size change");
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-006.html b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-006.html
new file mode 100644
index 0000000..5b15a40
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-contain/container-queries/canvas-as-container-006.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<title>CSS Container Queries Test: Absolute positioned canvas as dynamic size container for focusable child with display</title>
+<link rel="help" href="https://drafts.csswg.org/css-contain-3/#size-container">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  canvas {
+    display: block;
+    position: absolute;
+    width: 100px;
+    height: 100px;
+    container-type: size;
+  }
+  #target { display: none; }
+  @container size(width = 200px) {
+    #target { display: block; }
+  }
+</style>
+<p>Test passes if there is a filled green square.</p>
+<canvas id="canvas">
+  <div id="target" tabIndex="1"></div>
+</canvas>
+<script>
+  test(() => {
+    target.focus();
+    assert_not_equals(document.activeElement, target);
+  }, "Initially display:none, not focusable");
+
+  test(() => {
+    canvas.style.width = "200px";
+    target.focus();
+    assert_equals(document.activeElement, target);
+  }, "Focusable after container size change");
+</script>
diff --git a/third_party/blink/web_tests/fast/canvas/bug1281185-expected.html b/third_party/blink/web_tests/fast/canvas/bug1281185-expected.html
new file mode 100644
index 0000000..33a1ddd
--- /dev/null
+++ b/third_party/blink/web_tests/fast/canvas/bug1281185-expected.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Regression test for crbug.com/1281185</title>
+</head>
+<body>
+</body>
+<script>
+const w = 100;
+const canvas = document.createElement('canvas');
+canvas.width = canvas.height = w;
+const ctx = canvas.getContext('2d');
+document.body.appendChild(canvas);
+ctx.fillStyle = '#0f0';
+ctx.fillRect(0, 0, w, w);
+</script>
+</html>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/fast/canvas/bug1281185.html b/third_party/blink/web_tests/fast/canvas/bug1281185.html
new file mode 100644
index 0000000..1cdd62ff
--- /dev/null
+++ b/third_party/blink/web_tests/fast/canvas/bug1281185.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Regression test for crbug.com/1281185</title>
+</head>
+<body>
+</body>
+<script>
+
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+}
+const w = 100;
+
+// Specifiy willReadyFrequently to ensure continued test coverage after
+// GPU fallback heuristic changes.
+const canvas1 = document.createElement('canvas', {willReadFrequently: true});
+canvas1.width = canvas1.height = w;
+const ctx1 = canvas1.getContext('2d');
+
+const canvas2 = document.createElement('canvas');
+canvas2.width = canvas2.height = w;
+const ctx2 = canvas2.getContext('2d');
+document.body.appendChild(canvas2);
+
+ctx1.fillStyle = '#f00';
+ctx1.fillRect(0, 0, w, w);
+
+// Triggers heuristic to fallback from GPU-acceleration
+let data = ctx1.getImageData(0, 0, 1, 1);
+
+// without this it behaves correctly (in chrome)
+ctx2.drawImage(canvas1, 0, 0);
+
+requestAnimationFrame(() => {
+    ctx1.globalCompositeOperation = 'source-in';
+    ctx1.fillStyle = "#0f0";
+    ctx1.fillRect(0, 0, w, w);
+    data = ctx1.getImageData(0, 0, w, w);
+    ctx2.drawImage(canvas1, 0, 0);
+
+    if (window.testRunner) {
+        testRunner.notifyDone();
+    }
+});
+
+</script>
+</html>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/wpt_internal/fenced_frame/resize-lock-zoom.html b/third_party/blink/web_tests/wpt_internal/fenced_frame/resize-lock-zoom.html
new file mode 100644
index 0000000..783f51d
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/fenced_frame/resize-lock-zoom.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+  <title>Test FencedFrames does not leak the CSS zoom property</title>
+  <script src="/resources/testharness.js"></script>
+  <script src="/resources/testharnessreport.js"></script>
+  <script src="resources/utils.js"></script>
+  <script src="/common/utils.js"></script>
+
+  <body>
+
+    <script>
+      promise_test(async () => {
+        const resize_lock_inner_page_is_ready_key = token();
+        const resize_lock_resize_is_done_key = token();
+        const resize_lock_report_inner_dimensions_key = token();
+
+        const frame = attachFencedFrame(generateURL(
+            "resources/resize-lock-inner.html",
+            [resize_lock_inner_page_is_ready_key,
+             resize_lock_resize_is_done_key,
+             resize_lock_report_inner_dimensions_key]));
+
+        await nextValueFromServer(resize_lock_inner_page_is_ready_key);
+
+        document.body.style.zoom = '2';
+
+        writeValueToServer(resize_lock_resize_is_done_key,
+                           "outer_page_attempted_resize");
+
+        let result =
+          await nextValueFromServer(resize_lock_report_inner_dimensions_key);
+        assert_equals(result, "300x150",
+                      "fenced frame dimensions should not be updated by " +
+                      "parent page");
+
+      }, "Test Resize Lock");
+    </script>
+
+  </body>
+</html>
diff --git a/third_party/freetype/README.chromium b/third_party/freetype/README.chromium
index 8dc1a28..839c82e 100644
--- a/third_party/freetype/README.chromium
+++ b/third_party/freetype/README.chromium
@@ -1,7 +1,7 @@
 Name: FreeType
 URL: http://www.freetype.org/
-Version: VER-2-11-1-94-g56d182a74
-Revision: 56d182a74d90cde8753d5ec28d37f748f909c729
+Version: VER-2-11-1-95-gdd8676b27
+Revision: dd8676b2779a5c2130d6265a4e966515ff0509f6
 CPEPrefix: cpe:/a:freetype:freetype:2.11.1
 License: Custom license "inspired by the BSD, Artistic, and IJG (Independent
          JPEG Group) licenses"
diff --git a/third_party/webrtc_overrides/BUILD.gn b/third_party/webrtc_overrides/BUILD.gn
index 1671b93..61039e44 100644
--- a/third_party/webrtc_overrides/BUILD.gn
+++ b/third_party/webrtc_overrides/BUILD.gn
@@ -182,6 +182,8 @@
   deps = [ "//base" ]
 }
 
+# If you want to depend on this target you should depend on :webrtc_component
+# instead (which has a public dependency on this target).
 source_set("task_queue_factory") {
   visibility = [ ":*" ]
   sources = [
diff --git a/third_party/wpt_tools/README.chromium b/third_party/wpt_tools/README.chromium
index 8a41e1b..30a5d85 100644
--- a/third_party/wpt_tools/README.chromium
+++ b/third_party/wpt_tools/README.chromium
@@ -1,7 +1,7 @@
 Name: web-platform-tests - Test Suites for Web Platform specifications
 Short Name: wpt
 URL: https://github.com/web-platform-tests/wpt/
-Version: 34b9a716f5dd5a2ad4d3302d786a106792bfdee2
+Version: 17360749298fc8b9656536a972ed140841b93a2b
 License: LICENSES FOR W3C TEST SUITES (https://www.w3.org/Consortium/Legal/2008/03-bsd-license.html)
 License File: NOT_SHIPPED
 Security Critical: no
diff --git a/third_party/wpt_tools/wpt/tools/webtransport/h3/webtransport_h3_server.py b/third_party/wpt_tools/wpt/tools/webtransport/h3/webtransport_h3_server.py
index 7fd30f2b..1ff5ca8 100644
--- a/third_party/wpt_tools/wpt/tools/webtransport/h3/webtransport_h3_server.py
+++ b/third_party/wpt_tools/wpt/tools/webtransport/h3/webtransport_h3_server.py
@@ -14,7 +14,8 @@
 from aioquic.h3.connection import H3_ALPN, FrameType, H3Connection, ProtocolError, Setting  # type: ignore
 from aioquic.h3.events import H3Event, HeadersReceived, WebTransportStreamDataReceived, DatagramReceived, DataReceived  # type: ignore
 from aioquic.quic.configuration import QuicConfiguration  # type: ignore
-from aioquic.quic.connection import stream_is_unidirectional  # type: ignore
+from aioquic.quic.connection import logger as quic_connection_logger  # type: ignore
+from aioquic.quic.connection import stream_is_unidirectional
 from aioquic.quic.events import QuicEvent, ProtocolNegotiated, ConnectionTerminated, StreamReset  # type: ignore
 from aioquic.tls import SessionTicket  # type: ignore
 
@@ -35,6 +36,10 @@
 _logger: logging.Logger = logging.getLogger(__name__)
 _doc_root: str = ""
 
+# Set aioquic's log level to WARNING to suppress some INFO logs which are
+# recorded every connection close.
+quic_connection_logger.setLevel(logging.WARNING)
+
 
 class H3ConnectionWithDatagram04(H3Connection):
     """
diff --git a/tools/json_schema_compiler/cc_generator.py b/tools/json_schema_compiler/cc_generator.py
index 736d362..128afff 100644
--- a/tools/json_schema_compiler/cc_generator.py
+++ b/tools/json_schema_compiler/cc_generator.py
@@ -1028,7 +1028,7 @@
                      failure_value,
                      is_ptr=is_ptr))
       else:
-        args = ['%(src_var)s.GetList()', '&%(dst_var)s']
+        args = ['%(src_var)s.GetListDeprecated()', '&%(dst_var)s']
         if self._generate_error_messages:
           c.Append('std::u16string array_parse_error;')
           args.append('&array_parse_error')
@@ -1109,7 +1109,7 @@
       cpp_type = self._type_helper.GetCppType(item_type, is_in_container=True)
       c.Append('%s = std::make_unique<std::vector<%s>>();' %
                    (dst_var, cpp_type))
-    (c.Sblock('for (const auto& it : (%s).GetList()) {' % src_var)
+    (c.Sblock('for (const auto& it : (%s).GetListDeprecated()) {' % src_var)
       .Append('%s tmp;' % self._type_helper.GetCppType(item_type))
       .Concat(self._GenerateStringToEnumConversion(item_type,
                                                    '(it)',
diff --git a/tools/json_schema_compiler/test/arrays_unittest.cc b/tools/json_schema_compiler/test/arrays_unittest.cc
index fb357168..5d533c09 100644
--- a/tools/json_schema_compiler/test/arrays_unittest.cc
+++ b/tools/json_schema_compiler/test/arrays_unittest.cc
@@ -194,7 +194,7 @@
   integer_array.Append(8);
   params_value.Append(std::move(integer_array));
   std::unique_ptr<arrays::IntegerArray::Params> params(
-      arrays::IntegerArray::Params::Create(params_value.GetList()));
+      arrays::IntegerArray::Params::Create(params_value.GetListDeprecated()));
   EXPECT_TRUE(params.get());
   ASSERT_EQ(3u, params->nums.size());
   EXPECT_EQ(2, params->nums[0]);
@@ -210,7 +210,7 @@
   any_array.Append(CreateItemValue(2));
   params_value.Append(std::move(any_array));
   std::unique_ptr<arrays::AnyArray::Params> params(
-      arrays::AnyArray::Params::Create(params_value.GetList()));
+      arrays::AnyArray::Params::Create(params_value.GetListDeprecated()));
   EXPECT_TRUE(params.get());
   ASSERT_EQ(3u, params->anys.size());
   ASSERT_TRUE(params->anys[0]->is_int());
@@ -224,7 +224,7 @@
   item_array.Append(CreateItemValue(2));
   params_value.Append(std::move(item_array));
   std::unique_ptr<arrays::ObjectArray::Params> params(
-      arrays::ObjectArray::Params::Create(params_value.GetList()));
+      arrays::ObjectArray::Params::Create(params_value.GetListDeprecated()));
   EXPECT_TRUE(params.get());
   ASSERT_EQ(2u, params->objects.size());
   EXPECT_EQ(1, params->objects[0].additional_properties["val"]);
@@ -238,7 +238,7 @@
   item_array.Append(CreateItemValue(2));
   params_value.Append(std::move(item_array));
   std::unique_ptr<arrays::RefArray::Params> params(
-      arrays::RefArray::Params::Create(params_value.GetList()));
+      arrays::RefArray::Params::Create(params_value.GetListDeprecated()));
   EXPECT_TRUE(params.get());
   ASSERT_EQ(2u, params->refs.size());
   EXPECT_EQ(1, params->refs[0].val);
diff --git a/tools/json_schema_compiler/test/functions_on_types_unittest.cc b/tools/json_schema_compiler/test/functions_on_types_unittest.cc
index 9029f19..b2b62b5 100644
--- a/tools/json_schema_compiler/test/functions_on_types_unittest.cc
+++ b/tools/json_schema_compiler/test/functions_on_types_unittest.cc
@@ -58,8 +58,8 @@
   base::Value results(
       functions_on_types::StorageArea::Get::Results::Create(items));
   ASSERT_TRUE(results.is_list());
-  ASSERT_EQ(1u, results.GetList().size());
-  EXPECT_EQ(items.additional_properties, results.GetList()[0]);
+  ASSERT_EQ(1u, results.GetListDeprecated().size());
+  EXPECT_EQ(items.additional_properties, results.GetListDeprecated()[0]);
 }
 
 TEST(JsonSchemaCompilerFunctionsOnTypesTest, ChromeSettingGetParamsCreate) {
diff --git a/tools/json_schema_compiler/test/objects_unittest.cc b/tools/json_schema_compiler/test/objects_unittest.cc
index cbd332a..9ea0d0be 100644
--- a/tools/json_schema_compiler/test/objects_unittest.cc
+++ b/tools/json_schema_compiler/test/objects_unittest.cc
@@ -60,11 +60,11 @@
   info.state = test::api::objects::FIRST_STATE_FOO;
   base::Value results(test::api::objects::ReturnsObject::Results::Create(info));
   ASSERT_TRUE(results.is_list());
-  ASSERT_EQ(1u, results.GetList().size());
+  ASSERT_EQ(1u, results.GetListDeprecated().size());
 
   base::DictionaryValue expected;
   expected.SetString("state", "foo");
-  EXPECT_EQ(expected, results.GetList()[0]);
+  EXPECT_EQ(expected, results.GetListDeprecated()[0]);
 }
 
 TEST(JsonSchemaCompilerObjectsTest, OnObjectFiredCreate) {
@@ -72,11 +72,11 @@
   object.state = test::api::objects::FIRST_STATE_BAR;
   base::Value results(test::api::objects::OnObjectFired::Create(object));
   ASSERT_TRUE(results.is_list());
-  ASSERT_EQ(1u, results.GetList().size());
+  ASSERT_EQ(1u, results.GetListDeprecated().size());
 
   base::DictionaryValue expected;
   expected.SetString("state", "bar");
-  EXPECT_EQ(expected, results.GetList()[0]);
+  EXPECT_EQ(expected, results.GetListDeprecated()[0]);
 }
 
 TEST(JsonSchemaCompilerMovableObjectsTest, MovableObjectsTest) {
diff --git a/tools/json_schema_compiler/test/simple_api_unittest.cc b/tools/json_schema_compiler/test/simple_api_unittest.cc
index 57b592ce..4703e32 100644
--- a/tools/json_schema_compiler/test/simple_api_unittest.cc
+++ b/tools/json_schema_compiler/test/simple_api_unittest.cc
@@ -218,8 +218,8 @@
 
     base::Value results(simple_api::OnTestTypeFired::Create(some_test_type));
     ASSERT_TRUE(results.is_list());
-    ASSERT_EQ(1u, results.GetList().size());
-    EXPECT_EQ(*expected, results.GetList()[0]);
+    ASSERT_EQ(1u, results.GetListDeprecated().size());
+    EXPECT_EQ(*expected, results.GetListDeprecated()[0]);
   }
 }
 
diff --git a/tools/metrics/actions/actions.xml b/tools/metrics/actions/actions.xml
index 07c9229..54c368f 100644
--- a/tools/metrics/actions/actions.xml
+++ b/tools/metrics/actions/actions.xml
@@ -17159,6 +17159,32 @@
   </description>
 </action>
 
+<action name="MobileDefaultPageModeSettingsBack">
+  <owner>gambard@chromium.org</owner>
+  <owner>ajuma@chromium.org</owner>
+  <description>
+    Reported when user goes back from Default Page Mode Settings UI to Content
+    Settings screen. iOS only.
+  </description>
+</action>
+
+<action name="MobileDefaultPageModeSettingsClose">
+  <owner>gambard@chromium.org</owner>
+  <owner>ajuma@chromium.org</owner>
+  <description>
+    Reported when Default Page Mode UI was dismissed. iOS only.
+  </description>
+</action>
+
+<action name="MobileDefaultPageModeSettingsToggled">
+  <owner>gambard@chromium.org</owner>
+  <owner>ajuma@chromium.org</owner>
+  <description>
+    Reported when the user selects a default mode (Mobile/Desktop) for page
+    load. iOS only.
+  </description>
+</action>
+
 <action name="MobileDownloadFileUIInstallGoogleDrive">
   <obsolete>
     Removed in 12/2019 after adds of IOSDownloadFileUIGoogleDrive's histogram.
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 680575e..1adebf3 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -3627,6 +3627,8 @@
   <int value="22" label="Preferred App turned off"/>
   <int value="23" label="Supported Links list shown"/>
   <int value="24" label="Overlapping apps dialog shown"/>
+  <int value="25" label="Window mode changed to browser"/>
+  <int value="26" label="Window mode changed to window"/>
 </enum>
 
 <enum name="AppMenuHighlightItem">
@@ -43742,9 +43744,11 @@
     Journeys, UI.
   </summary>
   <int value="0" label="Unknown"/>
-  <int value="1" label="kLinkClick">Link Clicked from UI</int>
-  <int value="2" label="kCloseTab">
-    The UI interaction ended without opening anything on the page.
+  <int value="1" label="kLinkClick">Followed a link in the same tab.</int>
+  <int value="2" label="kCloseTab">The tab was closed.</int>
+  <int value="3" label="kSameDocNavigation">
+    Followed a same-doc link (i.e., the 'Chrome history' and 'Tabs from other
+    devices' links) in the same tab without returning to the HistoryClusters UI.
   </int>
 </enum>
 
@@ -53850,6 +53854,7 @@
       label="OmniboxUIExperimentHideSteadyStateUrlPathQueryAndRef:disabled"/>
   <int value="-127666141" label="TabGroups:disabled"/>
   <int value="-127231994" label="VrBrowsingNativeAndroidUi:disabled"/>
+  <int value="-124472602" label="LeakDetectionUnauthenticated:enabled"/>
   <int value="-122492389" label="enable-browser-task-scheduler"/>
   <int value="-122458532" label="FilesExtractArchive:enabled"/>
   <int value="-121563330" label="SecurePaymentConfirmationBrowser:disabled"/>
@@ -55524,6 +55529,7 @@
   <int value="1074359194" label="UseSuggestionsEvenIfFew:enabled"/>
   <int value="1074427701" label="NewPrintPreviewLayout:enabled"/>
   <int value="1075637651" label="disable-tablet-splitview"/>
+  <int value="1077758422" label="LeakDetectionUnauthenticated:disabled"/>
   <int value="1079032226" label="ParallelDownloading:enabled"/>
   <int value="1079302639" label="ArcEnableWebAppShare:disabled"/>
   <int value="1081546525" label="ash-enable-docked-windows"/>
@@ -89414,7 +89420,11 @@
   <int value="8" label="Passwords"/>
   <int value="9" label="Autofill"/>
   <int value="10" label="Payments"/>
-  <int value="11" label="Sync (Mobile only)"/>
+  <int value="11" label="(deprecated) Sync (Mobile only)">
+    <obsolete>
+      Removed 01/2022.
+    </obsolete>
+  </int>
 </enum>
 
 <enum name="UniformityTrialGroupNotActive">
diff --git a/tools/metrics/histograms/metadata/extensions/histograms.xml b/tools/metrics/histograms/metadata/extensions/histograms.xml
index f7edd257..725fc015 100644
--- a/tools/metrics/histograms/metadata/extensions/histograms.xml
+++ b/tools/metrics/histograms/metadata/extensions/histograms.xml
@@ -455,6 +455,9 @@
 
 <histogram name="Extensions.CorruptedExtensionLocation"
     enum="ExtensionLocation" expires_after="2022-01-01">
+  <obsolete>
+    Obsolete in M100.
+  </obsolete>
   <owner>ydago@chromium.org</owner>
   <owner>extensions-core@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/history/histograms.xml b/tools/metrics/histograms/metadata/history/histograms.xml
index 4e7c072..3fd5fc9 100644
--- a/tools/metrics/histograms/metadata/history/histograms.xml
+++ b/tools/metrics/histograms/metadata/history/histograms.xml
@@ -655,6 +655,7 @@
     The value represents the 0-indexed index of the cluster.
   </summary>
   <token key="ClusterAction">
+    <variant name="Clicked" summary="clicks a visit"/>
     <variant name="Deleted" summary="deletes a history cluster"/>
     <variant name="OpenedInTabGroup"
         summary="opens the visit urls in a history cluster in a new tab group"/>
@@ -662,7 +663,6 @@
         summary="clicks a related search suggestion"/>
     <variant name="RelatedVisitsVisibilityToggled"
         summary="toggles visibility of the default-hidden related visits"/>
-    <variant name="VisitClicked" summary="clicks a visit"/>
   </token>
 </histogram>
 
diff --git a/tools/metrics/histograms/metadata/ios/histograms.xml b/tools/metrics/histograms/metadata/ios/histograms.xml
index 508c470..f2011e85 100644
--- a/tools/metrics/histograms/metadata/ios/histograms.xml
+++ b/tools/metrics/histograms/metadata/ios/histograms.xml
@@ -973,6 +973,16 @@
   </summary>
 </histogram>
 
+<histogram name="IOS.PageLoad.DefaultModeMobile" enum="Boolean"
+    expires_after="2023-01-30">
+  <owner>gambard@chromium.org</owner>
+  <owner>ajuma@chromium.org</owner>
+  <summary>
+    Tracks the default mode used by the webview when a page is loaded. True when
+    the default mode is Mobile (vs Default).
+  </summary>
+</histogram>
+
 <histogram name="IOS.PageLoadCount.Counts"
     enum="IOSPageLoadCountNavigationType" expires_after="2022-06-12">
   <owner>gambard@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml
index 31c24a2..9c062c5 100644
--- a/tools/metrics/histograms/metadata/others/histograms.xml
+++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -5476,25 +5476,29 @@
 </histogram>
 
 <histogram name="FirstRun.NewUserExperience.GoogleAppsInteraction"
-    enum="NuxGoogleAppsInteractions" expires_after="M76">
-  <owner>hcarmona@chromium.org</owner>
-  <owner>scottchen@chromium.org</owner>
+    enum="NuxGoogleAppsInteractions" expires_after="M110">
+  <owner>johntlee@chromium.org</owner>
+  <owner>dpapad@chromium.org</owner>
   <summary>
     Records when a user interacted with the Google Apps new user experience. We
     record both accept and reject but are not recording when a user ignored the
     prompt completely. Users can ignore this prompt by closing the tab or
     navigating away, we record when the prompt is shown.
+
+    Warning: this histogram was expired from M76 to M100; data may be missing.
   </summary>
 </histogram>
 
 <histogram name="FirstRun.NewUserExperience.GoogleAppsSelection"
-    enum="NuxGoogleAppsSelections" expires_after="M76">
-  <owner>hcarmona@chromium.org</owner>
-  <owner>scottchen@chromium.org</owner>
+    enum="NuxGoogleAppsSelections" expires_after="M110">
+  <owner>johntlee@chromium.org</owner>
+  <owner>dpapad@chromium.org</owner>
   <summary>
     Records what Google apps were selected as part of the Google Apps New User
     Experience. Histogram is only recorded when a user accepts the prompt to add
     Google Apps.
+
+    Warning: this histogram was expired from M76 to M100; data may be missing.
   </summary>
 </histogram>
 
@@ -5504,7 +5508,6 @@
     need to track how the metrics change over time, and how different
     acquisition campaigns impact this metric. -->
 
-  <owner>hcarmona@chromium.org</owner>
   <owner>scottchen@chromium.org</owner>
   <summary>
     Records when a user interacted with the landing page of the onboarding
@@ -5514,8 +5517,8 @@
 
 <histogram name="FirstRun.NewUserExperience.NtpBackgroundInteraction"
     enum="NuxNtpBackgroundInteractions" expires_after="2022-06-12">
-  <owner>hcarmona@chromium.org</owner>
   <owner>johntlee@chromium.org</owner>
+  <owner>dpapad@chromium.org</owner>
   <summary>
     Records when a user interacts with the NTP Backgrounds new user experience.
     We record the number of times the page is seen, how they interacted with the
@@ -5527,8 +5530,8 @@
 
 <histogram name="FirstRun.NewUserExperience.NtpBackgroundLoadTime" units="ms"
     expires_after="M80">
-  <owner>hcarmona@chromium.org</owner>
   <owner>johntlee@chromium.org</owner>
+  <owner>dpapad@chromium.org</owner>
   <summary>
     Records the time taken to load a NTP background image for preview. This is
     recorded when a user clicks on a background to preview and the full-size
@@ -5542,8 +5545,8 @@
     need to track how the metrics change over time, and how different
     acquisition campaigns impact this metric. -->
 
-  <owner>hcarmona@chromium.org</owner>
-  <owner>scottchen@chromium.org</owner>
+  <owner>johntlee@chromium.org</owner>
+  <owner>dpapad@chromium.org</owner>
   <summary>
     Records when a user interacted with the set default page of the onboarding
     process. We record that the page was seen and what action the user took.
@@ -5551,13 +5554,15 @@
 </histogram>
 
 <histogram name="FirstRun.NewUserExperience.SignInInterstitialInteraction"
-    enum="NuxSignInInterstitialInteractions" expires_after="M76">
-  <owner>hcarmona@chromium.org</owner>
-  <owner>scottchen@chromium.org</owner>
+    enum="NuxSignInInterstitialInteractions" expires_after="M110">
+  <owner>johntlee@chromium.org</owner>
+  <owner>dpapad@chromium.org</owner>
   <summary>
     Records when a user interacted with the sign in interstitial of the
     onboarding process. We record that the page was seen and what action the
     user took.
+
+    Warning: this histogram was expired from M76 to M100; data may be missing.
   </summary>
 </histogram>
 
diff --git a/tools/metrics/histograms/metadata/page/histograms.xml b/tools/metrics/histograms/metadata/page/histograms.xml
index e900771..ebcbc6b0 100644
--- a/tools/metrics/histograms/metadata/page/histograms.xml
+++ b/tools/metrics/histograms/metadata/page/histograms.xml
@@ -1755,6 +1755,33 @@
   </summary>
 </histogram>
 
+<histogram name="PageLoad.InteractiveTiming.ProcessingTime" units="ms"
+    expires_after="2022-11-01">
+  <owner>hbsong@chromium.org</owner>
+  <owner>speed-metrics-dev@chromium.org</owner>
+  <summary>
+    The duration between the start of event processing and the end of event
+    processing on the main thread for a meaningful input. Excludes scrolls.
+
+    This metric is recorded when users interact with the page, which may trigger
+    input events such as pointerdown, keydown, click and mousedown.
+  </summary>
+</histogram>
+
+<histogram name="PageLoad.InteractiveTiming.TimeToNextPaint" units="ms"
+    expires_after="2022-11-01">
+  <owner>hbsong@chromium.org</owner>
+  <owner>speed-metrics-dev@chromium.org</owner>
+  <summary>
+    The duration between the end of event processing and the time when the first
+    paint was performed on the main thread for a meaningful input. Excludes
+    scrolls.
+
+    This metric is recorded when users interact with the page, which may trigger
+    input events such as pointerdown, keydown, click and mousedown.
+  </summary>
+</histogram>
+
 <histogram
     name="PageLoad.InteractiveTiming.{NormalizedResponsivenessMetric}{Bfcache}.{UserInteractionLatency}"
     units="ms" expires_after="2022-05-01">
diff --git a/tools/metrics/histograms/metadata/password/histograms.xml b/tools/metrics/histograms/metadata/password/histograms.xml
index ed66f3a..236e5313 100644
--- a/tools/metrics/histograms/metadata/password/histograms.xml
+++ b/tools/metrics/histograms/metadata/password/histograms.xml
@@ -1028,7 +1028,7 @@
 </histogram>
 
 <histogram name="PasswordManager.CredentialEntryActions.{CredentialEntryType}"
-    enum="CredentialEntryAction" expires_after="M101">
+    enum="CredentialEntryAction" expires_after="M104">
   <owner>ioanap@chromium.org</owner>
   <owner>fhorschig@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/tab/histograms.xml b/tools/metrics/histograms/metadata/tab/histograms.xml
index 80c0b31..e9fe42fd 100644
--- a/tools/metrics/histograms/metadata/tab/histograms.xml
+++ b/tools/metrics/histograms/metadata/tab/histograms.xml
@@ -320,30 +320,16 @@
   </summary>
 </histogram>
 
-<histogram name="Tab.CloseAllTabsDialog.ClosedAllTabs{CloseAllTabsDialogType}"
-    units="Boolean" expires_after="2022-06-30">
+<histogram name="Tab.CloseAllTabsDialog.ClosedAllTabs" units="Boolean"
+    expires_after="2022-06-30">
   <owner>ckitagawa@chromium.org</owner>
   <owner>yashard@chromium.org</owner>
   <owner>fredmello@chromium.org</owner>
   <summary>
     Records the whether the &quot;Close all tabs&quot; action was taken when
     close all tabs confirmation dialog was shown through App Menu &gt; Close all
-    tabs. This is only recorded for Android. {CloseAllTabsDialogType}
+    tabs. This is only recorded for Android.
   </summary>
-  <token key="CloseAllTabsDialogType">
-    <variant name=".CannotUndoWarning"
-        summary="A warning about being unable to undo close all tabs is shown
-                 in addition to the default message. The undo close all
-                 action cannot be undone when using a custom homepage."/>
-    <variant name=".Default"
-        summary="The default close all tabs message is shown alerting users
-                 that this action will close all tabs and lose any unsaved
-                 data."/>
-    <variant name=".NoWarningImmediateExit"
-        summary="The default message is shown, but no additional warning
-                 about being unable to undo close all tabs is shown. Undo
-                 will not be possible due to having a custom homepage."/>
-  </token>
 </histogram>
 
 <histogram name="Tab.Count.Guest" units="units" expires_after="2022-06-19">
diff --git a/tools/metrics/histograms/metadata/webapps/histograms.xml b/tools/metrics/histograms/metadata/webapps/histograms.xml
index 8707ab0..dfa7869 100644
--- a/tools/metrics/histograms/metadata/webapps/histograms.xml
+++ b/tools/metrics/histograms/metadata/webapps/histograms.xml
@@ -495,22 +495,6 @@
   </summary>
 </histogram>
 
-<histogram name="WebApp.Preinstalled.AppDuplicationFixApplied" units="apps"
-    expires_after="2022-07-27">
-  <owner>alancutter@chromium.org</owner>
-  <owner>desktop-pwas-team@google.com</owner>
-  <summary>
-    Chrome apps migrated to preinstalled web apps encountered an issue where
-    apps became duplicated, see https://crbug.com/1266234.
-
-    The PreinstalledWebAppDuplicationFixer was added to fix users that
-    encountered duplicate apps. See https://crbug.com/1290716. This metric
-    records how many app duplications got fixed.
-
-    This gets recorded at start up after Chrome apps have loaded.
-  </summary>
-</histogram>
-
 <histogram name="WebApp.Preinstalled.AppToReplaceStillDefaultInstalledCount"
     units="apps" expires_after="2022-04-17">
   <owner>alancutter@chromium.org</owner>
diff --git a/tools/perf/benchmarks/blink_perf_unittest.py b/tools/perf/benchmarks/blink_perf_unittest.py
index f1f6e25..6ebda287 100644
--- a/tools/perf/benchmarks/blink_perf_unittest.py
+++ b/tools/perf/benchmarks/blink_perf_unittest.py
@@ -63,6 +63,7 @@
     self.assertEquals(len(update_layout_trees), 5)
     self.assertGreater(_Mean(update_layout_trees), 0.001)
 
+  @decorators.Disabled('chromeos')  # Flaky: https://crbug.com/1284873
   def testBlinkPerfTracingMetricsForMeasureFrameTime(self):
     measurements = self.RunPageTest(
         self.blink_page_test, 'file://color-changes-measure-frame-time.html')
diff --git a/tools/perf/chrome-health-run-daily.sh b/tools/perf/chrome-health-run-daily.sh
new file mode 100644
index 0000000..0250a1e
--- /dev/null
+++ b/tools/perf/chrome-health-run-daily.sh
@@ -0,0 +1,34 @@
+# 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.
+#!/bin/sh
+
+releaseBranchNo=4844
+releaseBranchMinusOneNo=4758
+pinnedReleaseMinusOne=199fc4f2ce08413e0126f4e98393232412a76ab6 #98.0.4758.82
+pinnedMain=6ee574c7eb5719153bbe0d1eff07fd0acbd864cc #refs/heads/main@{#966041}
+
+cd ~/chromium/src
+
+# Uncomment these two lines for the first run after updating one of the releaseBranchNos
+#gclient sync --with_branch_heads --with_tags
+#git fetch
+
+# Current release branch
+git checkout -b branch_$releaseBranchNo branch-heads/$releaseBranchNo
+git checkout -f branch_$releaseBranchNo
+git pull
+headOfRelease=`git whatchanged --format="%H" -1 | head -n 1`
+echo $headOfRelease
+
+# main branch
+git checkout -f main
+git pull
+headOfMain=`git whatchanged --format="%H" -1 | head -n 1`
+
+# M vs. M-1
+pinpoint experiment-telemetry-start --base-commit=$pinnedReleaseMinusOne --exp-commit=$headOfRelease --presets-file tools/perf/chrome-health-presets.yaml --preset=chrome_health
+# Main
+pinpoint experiment-telemetry-start --base-commit=$pinnedMain --exp-commit=$headOfMain --presets-file tools/perf/chrome-health-presets.yaml --preset=chrome_health
+# A/A
+pinpoint experiment-telemetry-start --base-commit=$headOfMain --exp-commit=$headOfMain --presets-file tools/perf/chrome-health-presets.yaml --preset=chrome_health
\ No newline at end of file
diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json
index 4a0d82ca..35862d47 100644
--- a/tools/perf/core/perfetto_binary_roller/binary_deps.json
+++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json
@@ -22,7 +22,7 @@
         },
         "linux": {
             "hash": "e77b1decbe72adff8b2fba5322e941d478833c9b",
-            "remote_path": "perfetto_binaries/trace_processor_shell/linux/8d95cd174a866457acd2ef57eae1ee43c6799d96/trace_processor_shell"
+            "remote_path": "perfetto_binaries/trace_processor_shell/linux/3bcca55bc51476087892050a0ff530f465226cf1/trace_processor_shell"
         }
     },
     "power_profile.sql": {
diff --git a/tools/privacy_budget/font_indexer/font_indexer.cc b/tools/privacy_budget/font_indexer/font_indexer.cc
index 5b09e8f3..85f47ff 100644
--- a/tools/privacy_budget/font_indexer/font_indexer.cc
+++ b/tools/privacy_budget/font_indexer/font_indexer.cc
@@ -103,7 +103,7 @@
   base::Value::ConstListView list_view = list->GetListDeprecated();
   for (const auto& i : list_view) {
     DCHECK(i.is_list());
-    base::Value::ConstListView font = i.GetList();
+    base::Value::ConstListView font = i.GetListDeprecated();
 
     std::string non_localized_name = font[0].GetString();
     PrintAllFontsWithName(non_localized_name.c_str());
diff --git a/ui/accessibility/ax_computed_node_data.cc b/ui/accessibility/ax_computed_node_data.cc
index e175016..cbb3f6f 100644
--- a/ui/accessibility/ax_computed_node_data.cc
+++ b/ui/accessibility/ax_computed_node_data.cc
@@ -100,6 +100,10 @@
                "'GetOrComputeAttributeUTF8`";
         return GetOrComputeTextContentWithParagraphBreaksUTF8();
       }
+      // If an atomic text field has no value attribute sent from the renderer,
+      // then it means that it is empty, since we do not compute the values of
+      // such controls on the browser. The same for all other controls, other
+      // than non-atomic text fields.
       return base::EmptyString();
     default:
       // This is a special case: for performance reasons do not use
@@ -110,7 +114,25 @@
 
 std::u16string AXComputedNodeData::GetOrComputeAttributeUTF16(
     const ax::mojom::StringAttribute attribute) const {
-  return base::UTF8ToUTF16(GetOrComputeAttributeUTF8(attribute));
+  if (owner_->data().HasStringAttribute(attribute))
+    return owner_->data().GetString16Attribute(attribute);
+
+  switch (attribute) {
+    case ax::mojom::StringAttribute::kValue:
+      if (owner_->data().IsNonAtomicTextField()) {
+        DCHECK(HasOrCanComputeAttribute(attribute))
+            << "Code in `HasOrCanComputeAttribute` should be in sync with "
+               "'GetOrComputeAttributeUTF16`";
+        return GetOrComputeTextContentWithParagraphBreaksUTF16();
+      }
+      // If an atomic text field has no value attribute sent from the renderer,
+      // then it means that it is empty, since we do not compute the values of
+      // such controls on the browser. The same for all other controls, other
+      // than non-atomic text fields.
+      return std::u16string();
+    default:
+      return std::u16string();
+  }
 }
 
 const std::vector<int32_t>& AXComputedNodeData::GetOrComputeAttribute(
@@ -165,7 +187,8 @@
     auto range =
         AXRange<AXPosition<AXNodePosition, AXNode>>::RangeOfContents(*owner_);
     text_content_with_paragraph_breaks_utf8_ = base::UTF16ToUTF8(
-        range.GetText(AXTextConcatenationBehavior::kWithParagraphBreaks));
+        range.GetText(AXTextConcatenationBehavior::kWithParagraphBreaks,
+                      AXEmbeddedObjectBehavior::kSuppressCharacter));
   }
   return *text_content_with_paragraph_breaks_utf8_;
 }
@@ -179,7 +202,8 @@
     auto range =
         AXRange<AXPosition<AXNodePosition, AXNode>>::RangeOfContents(*owner_);
     text_content_with_paragraph_breaks_utf16_ =
-        range.GetText(AXTextConcatenationBehavior::kWithParagraphBreaks);
+        range.GetText(AXTextConcatenationBehavior::kWithParagraphBreaks,
+                      AXEmbeddedObjectBehavior::kSuppressCharacter);
   }
   return *text_content_with_paragraph_breaks_utf16_;
 }
diff --git a/ui/accessibility/ax_computed_node_data_unittest.cc b/ui/accessibility/ax_computed_node_data_unittest.cc
index a337e28..5a5a60d 100644
--- a/ui/accessibility/ax_computed_node_data_unittest.cc
+++ b/ui/accessibility/ax_computed_node_data_unittest.cc
@@ -264,7 +264,7 @@
       ax::mojom::IntListAttribute::kLabelledbyIds));
 }
 
-TEST_F(AXComputedNodeDataTest, DISABLED_GetOrComputeAttribute) {
+TEST_F(AXComputedNodeDataTest, GetOrComputeAttribute) {
   // Embedded object behavior is dependant on platform. We manually set it to a
   // specific value so that test results are consistent across platforms.
   testing::ScopedAXEmbeddedObjectBehaviorSetter embedded_object_behaviour(
@@ -446,7 +446,7 @@
               SizeIs(0));
 }
 
-TEST_F(AXComputedNodeDataTest, DISABLED_GetOrComputeTextContent) {
+TEST_F(AXComputedNodeDataTest, GetOrComputeTextContent) {
   // Embedded object behavior is dependant on platform. We manually set it to a
   // specific value so that test results are consistent across platforms.
   testing::ScopedAXEmbeddedObjectBehaviorSetter embedded_object_behaviour(
diff --git a/ui/accessibility/ax_event_generator.cc b/ui/accessibility/ax_event_generator.cc
index ea9f7459..7b124e902 100644
--- a/ui/accessibility/ax_event_generator.cc
+++ b/ui/accessibility/ax_event_generator.cc
@@ -480,13 +480,7 @@
         FireLiveRegionEvents(node);
       }
 
-      // If it's a change to static text, and it's in an editable text field,
-      // fire an event on the editable root.
-      if (node->IsText()) {
-        AXNode* text_field = node->GetTextFieldAncestor();
-        if (text_field)
-          AddEvent(text_field, Event::EDITABLE_TEXT_CHANGED);
-      }
+      FireValueInTextFieldChangedEventIfNecessary(tree, node);
       break;
     case ax::mojom::StringAttribute::kPlaceholder:
       AddEvent(node, Event::PLACEHOLDER_CHANGED);
@@ -778,7 +772,9 @@
 }
 
 void AXEventGenerator::OnNodeWillBeDeleted(AXTree* tree, AXNode* node) {
+  DCHECK_EQ(tree_, tree);
   live_region_tracker_->OnNodeWillBeDeleted(*node);
+  FireValueInTextFieldChangedEventIfNecessary(tree, node);
 
   // TODO(accessibility): This should also handle firing MENU_POPUP_END when a
   // node with the menu role is removed. The issue to be solved is that after we
@@ -788,8 +784,6 @@
   // firing the event from BrowserAccessibilityManager. Adding the ability to
   // fire generated events immediately should make it possible to fire
   // MENU_POPUP_END here.
-  DCHECK_EQ(tree_, tree);
-  tree_events_.erase(node->id());
 }
 
 void AXEventGenerator::OnSubtreeWillBeDeleted(AXTree* tree, AXNode* node) {
@@ -805,6 +799,11 @@
   DCHECK_EQ(tree_, tree);
 }
 
+void AXEventGenerator::OnNodeDeleted(AXTree* tree, AXNodeID node_id) {
+  DCHECK_EQ(tree_, tree);
+  tree_events_.erase(node_id);
+}
+
 void AXEventGenerator::OnNodeReparented(AXTree* tree, AXNode* node) {
   DCHECK_EQ(tree_, tree);
   AddEvent(node, Event::PARENT_CHANGED);
@@ -812,6 +811,7 @@
 
 void AXEventGenerator::OnNodeCreated(AXTree* tree, AXNode* node) {
   DCHECK_EQ(tree_, tree);
+  FireValueInTextFieldChangedEventIfNecessary(tree, node);
   if (node->GetRole() == ax::mojom::Role::kMenu &&
       !node->IsInvisibleOrIgnored()) {
     AddEvent(node, Event::MENU_POPUP_START);
@@ -856,7 +856,6 @@
     if (change.type == SUBTREE_CREATED) {
       AddEvent(change.node, Event::SUBTREE_CREATED);
     } else if (change.type != NODE_CREATED) {
-      FireValueInTextFieldChangedEvent(tree, change.node);
       FireRelationSourceEvents(tree, change.node);
       continue;
     }
@@ -934,13 +933,19 @@
   active_descendant_changed_.clear();
 }
 
-void AXEventGenerator::FireValueInTextFieldChangedEvent(AXTree* tree,
-                                                        AXNode* target_node) {
-  if (!target_node->IsText())
+void AXEventGenerator::FireValueInTextFieldChangedEventIfNecessary(
+    AXTree* tree,
+    AXNode* target_node) {
+  // Text is only found on leaf nodes, so the text in a text field would change
+  // if any of the leaf nodes in it have changed their names.
+  if (!target_node->IsLeaf())
     return;
+
   AXNode* text_field_ancestor = target_node->GetTextFieldAncestor();
-  if (!text_field_ancestor)
+  if (!text_field_ancestor || text_field_ancestor == target_node)
     return;
+
+  AddEvent(text_field_ancestor, Event::EDITABLE_TEXT_CHANGED);
   AddEvent(text_field_ancestor, Event::VALUE_IN_TEXT_FIELD_CHANGED);
 }
 
diff --git a/ui/accessibility/ax_event_generator.h b/ui/accessibility/ax_event_generator.h
index 75f9ef5..dc81e0c 100644
--- a/ui/accessibility/ax_event_generator.h
+++ b/ui/accessibility/ax_event_generator.h
@@ -299,6 +299,7 @@
   void OnSubtreeWillBeDeleted(AXTree* tree, AXNode* node) override;
   void OnNodeWillBeReparented(AXTree* tree, AXNode* node) override;
   void OnSubtreeWillBeReparented(AXTree* tree, AXNode* node) override;
+  void OnNodeDeleted(AXTree* tree, AXNodeID node_id) override;
   void OnNodeReparented(AXTree* tree, AXNode* node) override;
   void OnNodeCreated(AXTree* tree, AXNode* node) override;
   void OnAtomicUpdateFinished(AXTree* tree,
@@ -317,7 +318,11 @@
 
   void FireLiveRegionEvents(AXNode* node);
   void FireActiveDescendantEvents();
-  void FireValueInTextFieldChangedEvent(AXTree* tree, AXNode* target_node);
+  // If the given target node is inside a text field and the node's modification
+  // could affect the field's value, generates an `VALUE_IN_TEXT_FIELD_CHANGED`
+  // on the text field that contains the node.
+  void FireValueInTextFieldChangedEventIfNecessary(AXTree* tree,
+                                                   AXNode* target_node);
   void FireRelationSourceEvents(AXTree* tree, AXNode* target_node);
   bool ShouldFireLoadEvents(AXNode* node);
 
diff --git a/ui/accessibility/ax_node.cc b/ui/accessibility/ax_node.cc
index 443d33a..6548c9f 100644
--- a/ui/accessibility/ax_node.cc
+++ b/ui/accessibility/ax_node.cc
@@ -1730,7 +1730,8 @@
       // maps. Therefore, do not truncate descendants except in the case where
       // ARIA role=img or role=image because that's how we want to treat
       // ARIA-based images.
-      std::string role = GetStringAttribute(ax::mojom::StringAttribute::kRole);
+      const std::string role =
+          GetStringAttribute(ax::mojom::StringAttribute::kRole);
       return role == "img" || role == "image";
     }
     case ax::mojom::Role::kDocCover:
@@ -1879,10 +1880,11 @@
   // ancestor, its immediate descendant can have Role::kGenericContainer without
   // State::kEditable. Same with inline text boxes and placeholder text.
   // TODO(nektar): Fix all such inconsistencies in Blink.
-  for (AXNode* ancestor = const_cast<AXNode*>(this);
-       ancestor && (ancestor->HasState(ax::mojom::State::kEditable) ||
-                    ancestor->GetRole() == ax::mojom::Role::kGenericContainer ||
-                    ancestor->IsText());
+  //
+  // Also, ARIA text and search boxes may not have the contenteditable attribute
+  // set, but they should still be treated the same as all other text fields.
+  // (See `AXNodeData::IsAtomicTextField()` for more details.)
+  for (AXNode* ancestor = const_cast<AXNode*>(this); ancestor;
        ancestor = ancestor->GetUnignoredParent()) {
     if (ancestor->data().IsTextField())
       return ancestor;
diff --git a/ui/accessibility/ax_node_unittest.cc b/ui/accessibility/ax_node_unittest.cc
index 1104f33..9f16e29 100644
--- a/ui/accessibility/ax_node_unittest.cc
+++ b/ui/accessibility/ax_node_unittest.cc
@@ -12,6 +12,7 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/accessibility/ax_enums.mojom.h"
 #include "ui/accessibility/ax_node_data.h"
+#include "ui/accessibility/ax_position.h"
 #include "ui/accessibility/ax_tree.h"
 #include "ui/accessibility/ax_tree_data.h"
 #include "ui/accessibility/ax_tree_id.h"
@@ -29,7 +30,7 @@
 
 }  // namespace
 
-using testing::ElementsAre;
+using ::testing::ElementsAre;
 
 TEST(AXNodeTest, TreeWalking) {
   // ++kRootWebArea
@@ -393,11 +394,15 @@
   EXPECT_EQ(root_node_1, root_node_2->GetUnignoredParentCrossingTreeBoundary());
 }
 
-TEST(AXNodeTest, DISABLED_GetValueForControlTextField) {
+TEST(AXNodeTest, GetValueForControlTextField) {
+  testing::ScopedAXEmbeddedObjectBehaviorSetter ax_embedded_object_behavior(
+      AXEmbeddedObjectBehavior::kSuppressCharacter);
+
   // kRootWebArea
   // ++kTextField (contenteditable)
   // ++++kGenericContainer
   // ++++++kStaticText "Line 1"
+  // ++++++kImage
   // ++++++kLineBreak '\n'
   // ++++++kStaticText "Line 2"
 
@@ -409,10 +414,12 @@
   rich_text_field_text_container.id = 3;
   AXNodeData rich_text_field_line_1;
   rich_text_field_line_1.id = 4;
+  AXNodeData rich_text_field_image;
+  rich_text_field_image.id = 5;
   AXNodeData rich_text_field_line_break;
-  rich_text_field_line_break.id = 5;
+  rich_text_field_line_break.id = 6;
   AXNodeData rich_text_field_line_2;
-  rich_text_field_line_2.id = 6;
+  rich_text_field_line_2.id = 7;
 
   root.role = ax::mojom::Role::kRootWebArea;
   root.child_ids = {rich_text_field.id};
@@ -429,15 +436,20 @@
   rich_text_field_text_container.AddState(ax::mojom::State::kIgnored);
   rich_text_field_text_container.AddState(ax::mojom::State::kEditable);
   rich_text_field_text_container.AddState(ax::mojom::State::kRichlyEditable);
-  rich_text_field_text_container.child_ids = {rich_text_field_line_1.id,
-                                              rich_text_field_line_break.id,
-                                              rich_text_field_line_2.id};
+  rich_text_field_text_container.child_ids = {
+      rich_text_field_line_1.id, rich_text_field_image.id,
+      rich_text_field_line_break.id, rich_text_field_line_2.id};
 
   rich_text_field_line_1.role = ax::mojom::Role::kStaticText;
   rich_text_field_line_1.AddState(ax::mojom::State::kEditable);
   rich_text_field_line_1.AddState(ax::mojom::State::kRichlyEditable);
   rich_text_field_line_1.SetName("Line 1");
 
+  rich_text_field_image.role = ax::mojom::Role::kImage;
+  rich_text_field_image.AddState(ax::mojom::State::kEditable);
+  rich_text_field_image.AddState(ax::mojom::State::kRichlyEditable);
+  rich_text_field_image.SetName(AXNode::kEmbeddedObjectCharacterUTF8);
+
   rich_text_field_line_break.role = ax::mojom::Role::kLineBreak;
   rich_text_field_line_break.AddState(ax::mojom::State::kEditable);
   rich_text_field_line_break.AddState(ax::mojom::State::kRichlyEditable);
@@ -456,6 +468,7 @@
                   rich_text_field,
                   rich_text_field_text_container,
                   rich_text_field_line_1,
+                  rich_text_field_image,
                   rich_text_field_line_break,
                   rich_text_field_line_2};
 
@@ -466,7 +479,9 @@
     const AXNode* text_field_node =
         manager.GetTree()->GetFromId(rich_text_field.id);
     ASSERT_NE(nullptr, text_field_node);
-    EXPECT_EQ("Line 1\nLine 2", text_field_node->GetValueForControl());
+    // In the accessibility tree's text representation, there is an implicit
+    // line break before every embedded object, such as an image.
+    EXPECT_EQ("Line 1\n\nLine 2", text_field_node->GetValueForControl());
   }
 
   // Only rich text fields should have their value attribute automatically
@@ -492,7 +507,7 @@
       ax::mojom::BoolAttribute::kNonAtomicTextFieldRoot, true);
 
   // A node's data should override any computed node data.
-  rich_text_field.SetValue("Other value");
+  rich_text_field.SetValue("Line 1\nLine 2");
   AXTreeUpdate update_3;
   update_3.nodes = {rich_text_field};
 
@@ -502,7 +517,7 @@
     const AXNode* text_field_node =
         manager.GetTree()->GetFromId(rich_text_field.id);
     ASSERT_NE(nullptr, text_field_node);
-    EXPECT_EQ("Other value", text_field_node->GetValueForControl());
+    EXPECT_EQ("Line 1\nLine 2", text_field_node->GetValueForControl());
   }
 }
 
diff --git a/ui/accessibility/extensions/BUILD.gn b/ui/accessibility/extensions/BUILD.gn
index 81342af..161a1a4 100644
--- a/ui/accessibility/extensions/BUILD.gn
+++ b/ui/accessibility/extensions/BUILD.gn
@@ -181,6 +181,7 @@
   "caretbrowsing/manifest.json",
   "caretbrowsing/options.html",
   "caretbrowsing/options.js",
+  "caretbrowsing/storage.js",
   "caretbrowsing/traverse_util.js",
   "//third_party/accessibility-audit/axs_testing.js",
 ]
diff --git a/ui/accessibility/extensions/caretbrowsing/background.js b/ui/accessibility/extensions/caretbrowsing/background.js
index 6d74826..62e9b21 100644
--- a/ui/accessibility/extensions/caretbrowsing/background.js
+++ b/ui/accessibility/extensions/caretbrowsing/background.js
@@ -6,9 +6,13 @@
  * @fileoverview Script that runs on the background page.
  */
 
+importScripts('storage.js');
+Storage.initialize();
+
 CONTENT_SCRIPTS = [
   'accessibility_utils.js',
   'traverse_util.js',
+  'storage.js',
   'caret_browsing.js'
 ];
 
@@ -22,22 +26,15 @@
 const CaretBkgnd = function() {};
 
 /**
- * Flag indicating whether caret browsing is enabled. Global, applies to
- * all tabs simultaneously.
- * @type {boolean}
- */
-CaretBkgnd.isEnabled;
-
-/**
  * Change the browser action icon and tooltip based on the enabled state.
  */
 CaretBkgnd.setIcon = function() {
   chrome.action.setIcon(
-      {'path': CaretBkgnd.isEnabled ?
+      {'path': Storage.enabled ?
                '../caret_19_on.png' :
                '../caret_19.png'});
   chrome.action.setTitle(
-      {'title': CaretBkgnd.isEnabled ?
+      {'title': Storage.enabled ?
                 'Turn Off Caret Browsing (F7)' :
                 'Turn On Caret Browsing (F7)' });
 };
@@ -71,10 +68,7 @@
  * all open tabs.
  */
 CaretBkgnd.toggle = function() {
-  CaretBkgnd.isEnabled = !CaretBkgnd.isEnabled;
-  var obj = {};
-  obj['enabled'] = CaretBkgnd.isEnabled;
-  chrome.storage.sync.set(obj);
+  Storage.enabled = !Storage.enabled;
   CaretBkgnd.setIcon();
 };
 
@@ -86,22 +80,10 @@
  * and send them to content scripts.
  */
 CaretBkgnd.init = function() {
-  chrome.storage.sync.get('enabled', function(result) {
-    CaretBkgnd.isEnabled = result['enabled'];
-    CaretBkgnd.setIcon();
-    CaretBkgnd.injectContentScripts();
-
-    chrome.action.onClicked.addListener(function(tab) {
-      CaretBkgnd.toggle();
-    });
-  });
-
-  chrome.storage.onChanged.addListener(function() {
-    chrome.storage.sync.get('enabled', function(result) {
-      CaretBkgnd.isEnabled = result['enabled'];
-      CaretBkgnd.setIcon();
-    });
-  });
+  CaretBkgnd.setIcon();
+  chrome.action.onClicked.addListener(CaretBkgnd.toggle);
+  chrome.storage.onChanged.addListener(CaretBkgnd.setIcon);
 };
 
 CaretBkgnd.init();
+self.addEventListener('install', CaretBkgnd.injectContentScripts);
diff --git a/ui/accessibility/extensions/caretbrowsing/caretbrowsing.js b/ui/accessibility/extensions/caretbrowsing/caretbrowsing.js
index 08f7382..38f293a 100644
--- a/ui/accessibility/extensions/caretbrowsing/caretbrowsing.js
+++ b/ui/accessibility/extensions/caretbrowsing/caretbrowsing.js
@@ -57,6 +57,8 @@
  * valid bounding box.
  */
 
+Storage.initialize();
+
 /**
  * Return whether a node is focusable. This includes nodes whose tabindex
  * attribute is set to "-1" explicitly - these nodes are not in the tab
@@ -120,30 +122,12 @@
 class CaretBrowsing {
   constructor() {
     /**
-     * Is caret browsing enabled?
-     * @type {boolean}
-     */
-    this.isEnabled = false;
-
-    /**
      * Keep it enabled even when flipped off (for the options page)?
      * @type {boolean}
      */
     this.forceEnabled = false;
 
     /**
-     * What to do when the caret appears?
-     * @type {string}
-     */
-    this.onEnable;
-
-    /**
-     * What to do when the caret jumps?
-     * @type {string}
-     */
-    this.onJump;
-
-    /**
      * Is this window / iframe focused? We won't show the caret if not,
      * especially so that carets aren't shown in two iframes of the same
      * tab.
@@ -152,7 +136,7 @@
     this.isWindowFocused = false;
 
     /**
-     * Is the caret actually visible? This is true only if isEnabled and
+     * Is the caret actually visible? This is true only if Storage.enabled and
      * isWindowFocused are both true.
      * @type {boolean}
      */
@@ -453,9 +437,9 @@
     document.body.appendChild(element);
     this.caretElement = element;
 
-    if (this.onEnable == 'anim') {
+    if (Storage.onEnable === FlourishType.ANIMATE) {
       this.animateCaretElement();
-    } else if (this.onEnable == 'flash') {
+    } else if (Storage.onEnable === FlourishType.FLASH) {
       this.flashCaretElement();
     } else {
       this.setCaretElementNormalStyle();
@@ -644,9 +628,9 @@
 
     if (Math.abs(previousX - this.caretX) > 500 ||
         Math.abs(previousY - this.caretY) > 100) {
-      if (this.onJump == 'anim') {
+      if (Storage.onJump === FlourishType.ANIMATE) {
         this.animateCaretElement();
-      } else if (this.onJump == 'flash') {
+      } else if (Storage.onJump === FlourishType.FLASH) {
         this.flashCaretElement();
       }
     }
@@ -1216,10 +1200,7 @@
       return;
     }
 
-    this.isEnabled = !this.isEnabled;
-    const obj = {};
-    obj['enabled'] = this.isEnabled;
-    chrome.storage.sync.set(obj);
+    Storage.enabled = !Storage.enabled;
     this.updateIsCaretVisible();
   }
 
@@ -1237,7 +1218,7 @@
       this.toggle();
     }
 
-    if (!this.isEnabled) {
+    if (!Storage.enabled) {
       return true;
     }
 
@@ -1309,7 +1290,7 @@
    * @return {boolean} True if the default action should be performed.
    */
   onClick(evt) {
-    if (!this.isEnabled) {
+    if (!Storage.enabled) {
       return true;
     }
     window.setTimeout(() => {
@@ -1342,7 +1323,7 @@
    */
   updateIsCaretVisible() {
     this.isCaretVisible =
-        (this.isEnabled && this.isWindowFocused);
+        (Storage.enabled && this.isWindowFocused);
     if (this.isCaretVisible && !this.caretElement) {
       this.setInitialCursor();
       this.updateCaretOrSelection(true);
@@ -1366,14 +1347,7 @@
    * Called when the prefs get updated.
    */
   onPrefsUpdated() {
-    chrome.storage.sync.get(null /* get all */, (result) => {
-      if (!this.forceEnabled) {
-        this.isEnabled = result['enabled'];
-      }
-      this.onEnable = result['onenable'];
-      this.onJump = result['onjump'];
-      this.recreateCaretElement();
-    });
+    this.recreateCaretElement();
   }
 
   /**
@@ -1415,13 +1389,11 @@
 
     if (document.body.getAttribute('caretbrowsing') == 'on') {
       caretBrowsing.forceEnabled = true;
-      caretBrowsing.isEnabled = true;
+      Storage.enabled = true;
       caretBrowsing.updateIsCaretVisible();
     }
 
-    chrome.storage.onChanged.addListener(() => {
-      caretBrowsing.onPrefsUpdated();
-    });
+    chrome.storage.onChanged.addListener(() => caretBrowsing.onPrefsUpdated());
     caretBrowsing.onPrefsUpdated();
   }
 
diff --git a/ui/accessibility/extensions/caretbrowsing/manifest.json b/ui/accessibility/extensions/caretbrowsing/manifest.json
index bc32ce3..f634057e 100644
--- a/ui/accessibility/extensions/caretbrowsing/manifest.json
+++ b/ui/accessibility/extensions/caretbrowsing/manifest.json
@@ -27,6 +27,7 @@
       "js": [
         "axs_testing.js",
         "traverse_util.js",
+	"storage.js",
         "caretbrowsing.js"
       ]
     }
diff --git a/ui/accessibility/extensions/caretbrowsing/options.html b/ui/accessibility/extensions/caretbrowsing/options.html
index 91a66944..0a93302 100644
--- a/ui/accessibility/extensions/caretbrowsing/options.html
+++ b/ui/accessibility/extensions/caretbrowsing/options.html
@@ -75,6 +75,7 @@
   <link href="caretbrowsing.css" rel="stylesheet" type="text/css">
   <script src="axs_testing.js"></script>
   <script src="traverse_util.js"></script>
+  <script src="storage.js"></script>
   <script src="caretbrowsing.js"></script>
   <script src="options.js"></script>
 </head>
@@ -129,7 +130,7 @@
         <label for="onenable_nothing" i18n-content="caret_browsing_noFeedback"></label>
         </div>
 
-      </fieldset>      
+      </fieldset>
 
       <fieldset>
         <legend i18n-content="caret_browsing_jump"></legend>
diff --git a/ui/accessibility/extensions/caretbrowsing/options.js b/ui/accessibility/extensions/caretbrowsing/options.js
index b3f5830..17d290f 100644
--- a/ui/accessibility/extensions/caretbrowsing/options.js
+++ b/ui/accessibility/extensions/caretbrowsing/options.js
@@ -2,31 +2,23 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file. */
 
+Storage.initialize();
+
 function setRadio(name, defaultValue) {
-  chrome.storage.sync.get(name, function(result) {
-    let value = result[name];
-    if (value === undefined) {
-      value = defaultValue;
-      const obj = {};
-      obj[name] = value;
-      chrome.storage.sync.set(obj);
+  let value = Storage[name];
+  const controls = document.querySelectorAll(
+      'input[type="radio"][name="' + name + '"]');
+  for (let i = 0; i < controls.length; i++) {
+    const c = controls[i];
+    if (c.value == value) {
+      c.checked = true;
     }
-    const controls = document.querySelectorAll(
-        'input[type="radio"][name="' + name + '"]');
-    for (let i = 0; i < controls.length; i++) {
-      const c = controls[i];
-      if (c.value == value) {
-        c.checked = true;
+    c.addEventListener('change', function(evt) {
+      if (evt.target.checked) {
+        Storage[evt.target.name] = evt.target.value;
       }
-      c.addEventListener('change', function(evt) {
-        if (evt.target.checked) {
-          const obj = {};
-          obj[evt.target.name] = evt.target.value;
-          chrome.storage.sync.set(obj);
-        }
-      }, false);
-    }
-  });
+    }, false);
+  }
 }
 
 function load() {
diff --git a/ui/accessibility/extensions/caretbrowsing/storage.js b/ui/accessibility/extensions/caretbrowsing/storage.js
new file mode 100644
index 0000000..e241633e
--- /dev/null
+++ b/ui/accessibility/extensions/caretbrowsing/storage.js
@@ -0,0 +1,175 @@
+// 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.
+
+/** @enum {string} */
+const FlourishType = {
+  ANIMATE: 'anim',
+  FLASH: 'flash',
+  NONE: 'none',
+};
+
+/**
+ * Class to handle both storing values using the chrome.storage API, and
+ * fetching/caching values that have been stored that way.
+ */
+class Storage {
+  /** @private */
+  constructor() {
+    /** @private {boolean} */
+    this.enabled_ = Storage.ENABLED.defaultValue;
+    /** @private {!FlourishType} */
+    this.onEnable_ = Storage.ON_ENABLE.defaultValue;
+    /** @private {!FlourishType} */
+    this.onJump_ = Storage.ON_JUMP.defaultValue;
+
+    this.init_();
+  }
+
+  // ======= Public Methods =======
+
+  static initialize() {
+    if (!Storage.instance) {
+      Storage.instance = new Storage();
+    }
+  }
+
+  /** @return {boolean} */
+  static get enabled() { return Storage.instance.enabled_; }
+  /** @return {!FlourishType} */
+  static get onEnable() { return Storage.instance.onEnable_; }
+  /** @return {!FlourishType} */
+  static get onJump() { return Storage.instance.onJump_; }
+
+  /** @param {boolean} enabled */
+  static set enabled(enabled) {
+    Storage.instance.setValue_(Storage.ENABLED, enabled);
+  }
+
+  /** @param {!FlourishType} onEnable */
+  static set onEnable(onEnable) {
+    Storage.instance.setValue_(Storage.ON_ENABLE, onEnable);
+  }
+
+  /** @param {!FlourishType} onJump */
+  static set onJump(onJump) {
+    Storage.instance.setValue_(Storage.ON_JUMP, onJump);
+  }
+
+  /**
+   * @param {!Storage.Value} storage
+   * @param {*} newValue
+   * @private
+   */
+  setValue_(storage, newValue) {
+    if (newValue === storage.get()) {
+      return;
+    }
+
+    if (storage.validate(newValue)) {
+      storage.set(newValue);
+    } else {
+      storage.reset();
+    }
+    this.store_(storage);
+  }
+
+  // ======= Private Methods =======
+
+  /** @private */
+  init_() {
+    chrome.storage.onChanged.addListener(this.onChange_);
+    chrome.storage.local.get(null /* all values */, (results) => {
+      for (const value of Storage.ALL_VALUES) {
+        const newValue = results[value.key];
+        if (!newValue) {
+          continue;
+        }
+
+        if (value.validate(newValue)) {
+          value.set(newValue);
+        } else {
+          value.reset();
+        }
+      }
+    });
+  }
+
+  /**
+   * @param {!Object<string, chrome.storage.StorageChange>} changes
+   * @private
+   */
+  onChange_(changes) {
+    for (const value of Storage.ALL_VALUES) {
+      if (!changes[value.key]) {
+        continue;
+      }
+
+      const newValue = changes[value.key].newValue;
+      if (value.validate(newValue)) {
+        value.set(newValue);
+      } else {
+        value.reset();
+      }
+    }
+  }
+
+  /**
+   * @param {!Storage.Value} value
+   * @private
+   */
+  store_(value) {
+    const update = {};
+    update[value.key] = value.get();
+    chrome.storage.local.set(update);
+  }
+
+  // ======= Stored Values =======
+
+  /**
+   * @typedef {{
+   *     key: string,
+   *     defaultValue: *,
+   *     validate: function(*): boolean,
+   *     get: function: *,
+   *     set: function(*),
+   *     reset: function()
+   * }}
+   */
+  static Value;
+
+  /** @const {!Storage.Value} */
+  static ENABLED = {
+    key: 'enabled',
+    defaultValue: false,
+    validate: (enabled) => enabled === true || enabled === false,
+    get: () => Storage.instance.enabled_,
+    set: (enabled) => Storage.instance.enabled_ = enabled,
+    reset: () => Storage.instance.setEnabled(Storage.ENABLED.defaultValue),
+  };
+
+  /** @const {!Storage.Value} */
+  static ON_ENABLE = {
+    key: 'onenable',
+    defaultValue: FlourishType.ANIMATE,
+    validate: (onEnable) => Object.values(FlourishType).includes(onEnable),
+    get: () => Storage.instance.onEnable_,
+    set: (onEnable) => Storage.instance.onEnable_ = onEnable,
+    reset: () => Storage.instance.setKeyAction(Storage.ON_ENABLE.defaultValue),
+  };
+
+  /** @const {!Storage.Value} */
+  static ON_JUMP = {
+    key: 'onjump',
+    defaultValue: FlourishType.FLASH,
+    validate: (onJump) => Object.values(FlourishType).includes(onJump),
+    get: () => Storage.instance.onJump_,
+    set: (onJump) => Storage.instance.onJump_ = onJump,
+    reset: () => Storage.instance.setKeyAction(Storage.ON_JUMP.defaultValue),
+  };
+
+  /** @const {!Array<!Storage.Value>} */
+  static ALL_VALUES = [
+      Storage.ENABLED, Storage.ON_ENABLE, Storage.ON_JUMP,
+  ];
+}
diff --git a/ui/accessibility/platform/inspect/ax_inspect_utils.cc b/ui/accessibility/platform/inspect/ax_inspect_utils.cc
index 484ce71..ffe2dc12 100644
--- a/ui/accessibility/platform/inspect/ax_inspect_utils.cc
+++ b/ui/accessibility/platform/inspect/ax_inspect_utils.cc
@@ -54,7 +54,7 @@
   // List: exposed as [value1, ..., valueN];
   if (value.is_list()) {
     std::string output;
-    for (const auto& item : value.GetList()) {
+    for (const auto& item : value.GetListDeprecated()) {
       if (!output.empty()) {
         output += ", ";
       }
diff --git a/ui/accessibility/platform/inspect/ax_tree_formatter_mac.mm b/ui/accessibility/platform/inspect/ax_tree_formatter_mac.mm
index ccd6897..342ca8d2 100644
--- a/ui/accessibility/platform/inspect/ax_tree_formatter_mac.mm
+++ b/ui/accessibility/platform/inspect/ax_tree_formatter_mac.mm
@@ -153,7 +153,7 @@
   }
 
   std::string contents;
-  for (const base::Value& script : scripts.GetList()) {
+  for (const base::Value& script : scripts.GetListDeprecated()) {
     std::string line;
     WriteAttribute(true, script.GetString(), &line);
     contents += line + "\n";
diff --git a/ui/android/java/src/org/chromium/ui/DropdownPopupWindowImpl.java b/ui/android/java/src/org/chromium/ui/DropdownPopupWindowImpl.java
index 6fb6210..829f5d46 100644
--- a/ui/android/java/src/org/chromium/ui/DropdownPopupWindowImpl.java
+++ b/ui/android/java/src/org/chromium/ui/DropdownPopupWindowImpl.java
@@ -20,7 +20,8 @@
 import android.widget.ListView;
 import android.widget.PopupWindow;
 
-import org.chromium.base.ApiCompatibilityUtils;
+import androidx.appcompat.content.res.AppCompatResources;
+
 import org.chromium.ui.widget.AnchoredPopupWindow;
 import org.chromium.ui.widget.ViewRectProvider;
 
@@ -82,8 +83,7 @@
 
         ViewRectProvider rectProvider = new ViewRectProvider(mAnchorView);
         rectProvider.setIncludePadding(true);
-        mBackground = ApiCompatibilityUtils.getDrawable(
-                context.getResources(), R.drawable.menu_bg_tinted);
+        mBackground = AppCompatResources.getDrawable(context, R.drawable.menu_bg_tinted);
         mAnchoredPopupWindow = new AnchoredPopupWindow(
                 context, mAnchorView, mBackground, mContentView, rectProvider);
         mAnchoredPopupWindow.addOnDismissListener(onDismissLitener);
@@ -117,8 +117,8 @@
     public void onPreLayoutChange(
             boolean positionBelow, int x, int y, int width, int height, Rect anchorRect) {
         mBackground.setBounds(anchorRect);
-        mAnchoredPopupWindow.setBackgroundDrawable(ApiCompatibilityUtils.getDrawable(
-                mContext.getResources(), R.drawable.menu_bg_tinted));
+        mAnchoredPopupWindow.setBackgroundDrawable(
+                AppCompatResources.getDrawable(mContext, R.drawable.menu_bg_tinted));
     }
 
     /**
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
index d564d79..ccfe025 100644
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
@@ -334,10 +334,18 @@
 // Enable raw draw for tiles.
 const base::Feature kRawDraw{"RawDraw", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Tile size = viewport size * TileSizeFactor
+const base::FeatureParam<double> kRawDrawTileSizeFactor{&kRawDraw,
+                                                        "TileSizeFactor", 1};
+
 bool IsUsingRawDraw() {
   return base::FeatureList::IsEnabled(kRawDraw);
 }
 
+double RawDrawTileSizeFactor() {
+  return kRawDrawTileSizeFactor.Get();
+}
+
 const base::Feature kUiCompositorReleaseTileResourcesForHiddenLayers{
     "UiCompositorReleaseTileResourcesForHiddenLayers",
     base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h
index 6a49493a..4a915d6 100644
--- a/ui/base/ui_base_features.h
+++ b/ui/base/ui_base_features.h
@@ -192,6 +192,7 @@
 // Enables Raw Draw.
 COMPONENT_EXPORT(UI_BASE_FEATURES) extern const base::Feature kRawDraw;
 COMPONENT_EXPORT(UI_BASE_FEATURES) bool IsUsingRawDraw();
+COMPONENT_EXPORT(UI_BASE_FEATURES) double RawDrawTileSizeFactor();
 
 COMPONENT_EXPORT(UI_BASE_FEATURES)
 extern const base::Feature kUiCompositorReleaseTileResourcesForHiddenLayers;
diff --git a/ui/ozone/platform/wayland/host/wayland_window.cc b/ui/ozone/platform/wayland/host/wayland_window.cc
index 12ec141..45b5429 100644
--- a/ui/ozone/platform/wayland/host/wayland_window.cc
+++ b/ui/ozone/platform/wayland/host/wayland_window.cc
@@ -244,7 +244,10 @@
   base::circular_deque<
       std::pair<WaylandSubsurface*, ui::ozone::mojom::WaylandOverlayConfigPtr>>
       subsurfaces_to_overlays;
-  subsurfaces_to_overlays.reserve(wayland_subsurfaces_.size() + 1);
+  subsurfaces_to_overlays.reserve(wayland_subsurfaces_.size() +
+                                  (primary_subsurface() ? 1 : 0));
+  if (primary_subsurface())
+    subsurfaces_to_overlays.emplace_back(primary_subsurface(), nullptr);
   for (auto& subsurface : wayland_subsurfaces_)
     subsurfaces_to_overlays.emplace_back(subsurface.get(), nullptr);
 
diff --git a/ui/ozone/platform/wayland/test/mock_surface.cc b/ui/ozone/platform/wayland/test/mock_surface.cc
index 3525925..ef9f740c 100644
--- a/ui/ozone/platform/wayland/test/mock_surface.cc
+++ b/ui/ozone/platform/wayland/test/mock_surface.cc
@@ -137,6 +137,10 @@
   return GetUserDataAs<MockSurface>(resource);
 }
 
+void MockSurface::ClearBufferReleases() {
+  linux_buffer_releases_.clear();
+}
+
 void MockSurface::SetOpaqueRegionImpl(wl_resource* region) {
   if (!region) {
     opaque_region_ = gfx::Rect(-1, -1, 0, 0);
diff --git a/ui/ozone/platform/wayland/test/mock_surface.h b/ui/ozone/platform/wayland/test/mock_surface.h
index 964b1c1..fb4fedb 100644
--- a/ui/ozone/platform/wayland/test/mock_surface.h
+++ b/ui/ozone/platform/wayland/test/mock_surface.h
@@ -94,6 +94,7 @@
     DCHECK(!linux_buffer_releases_.contains(buffer));
     linux_buffer_releases_.emplace(buffer, linux_buffer_release);
   }
+  void ClearBufferReleases();
 
   wl_resource* attached_buffer() const { return attached_buffer_; }
   wl_resource* prev_attached_buffer() const { return prev_attached_buffer_; }
diff --git a/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc b/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
index b91d6e8..71ac713b 100644
--- a/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
+++ b/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
@@ -1956,6 +1956,15 @@
 
   Sync();
 
+  // The surface must has the buffer detached and all the buffers are destroyed.
+  // Release the fence as there is no further need to hold that as the client
+  // no longer expects that. Moreover, its next attach may result in a DCHECK,
+  // as the next buffer resource can be allocated on the same memory address
+  // resulting in a DCHECK when set_linux_buffer_release is called. The reason
+  // is that wl_resource_create calls internally calls malloc, which may reuse
+  // that memory.
+  mock_surface->ClearBufferReleases();
+
   auto interface_ptr = manager_host_->BindInterface();
   buffer_manager_gpu_->Initialize(
       std::move(interface_ptr), {}, false, true, false,
@@ -1987,6 +1996,126 @@
   DestroyBufferAndSetTerminateExpectation(widget, kBufferId1, false /*fail*/);
 }
 
+// Tests that destroying a channel results in attaching null buffers to the root
+// surface, and hiding primary subsurface and overlay surfaces. This is required
+// to make it possible for a GPU service to switch from hw acceleration to sw
+// compositing. Otherwise, there will be frozen graphics represented by a
+// primary subsurface as sw compositing uses the root surface to draw new
+// frames. Verifies the fix for https://crbug.com/1201314
+TEST_P(WaylandBufferManagerTest, HidesSubsurfacesOnChannelDestroyed) {
+  constexpr uint32_t kBufferId1 = 1;
+  constexpr uint32_t kBufferId2 = 2;
+  constexpr uint32_t kBufferId3 = 3;
+
+  const gfx::Rect bounds = window_->GetBounds();
+
+  auto* linux_dmabuf = server_.zwp_linux_dmabuf_v1();
+  EXPECT_CALL(*linux_dmabuf, CreateParams(_, _, _)).Times(3);
+  CreateDmabufBasedBufferAndSetTerminateExpectation(false /*fail*/, kBufferId1);
+  CreateDmabufBasedBufferAndSetTerminateExpectation(false /*fail*/, kBufferId2);
+  CreateDmabufBasedBufferAndSetTerminateExpectation(false /*fail*/, kBufferId3);
+
+  Sync();
+
+  ProcessCreatedBufferResourcesWithExpectation(3u /* expected size */,
+                                               false /* fail */);
+
+  // Prepare a frame with one background buffer, one primary plane and one
+  // additional overlay plane. This will simulate hw accelerated compositing.
+  std::vector<ui::ozone::mojom::WaylandOverlayConfigPtr> overlay_configs;
+  overlay_configs.push_back(ui::ozone::mojom::WaylandOverlayConfig::New(
+      INT32_MIN, gfx::OverlayTransform::OVERLAY_TRANSFORM_NONE, kBufferId1,
+      kDefaultScale, gfx::RectF(bounds), gfx::RectF(), bounds, false, 1.0f,
+      gfx::GpuFenceHandle(), gfx::OverlayPriorityHint::kNone, gfx::RRectF()));
+  overlay_configs.push_back(ui::ozone::mojom::WaylandOverlayConfig::New(
+      0, gfx::OverlayTransform::OVERLAY_TRANSFORM_NONE, kBufferId2,
+      kDefaultScale, gfx::RectF(bounds), gfx::RectF(), bounds, false, 1.0f,
+      gfx::GpuFenceHandle(), gfx::OverlayPriorityHint::kNone, gfx::RRectF()));
+  overlay_configs.push_back(ui::ozone::mojom::WaylandOverlayConfig::New(
+      1, gfx::OverlayTransform::OVERLAY_TRANSFORM_NONE, kBufferId3,
+      kDefaultScale, gfx::RectF(bounds), gfx::RectF(), bounds, false, 1.0f,
+      gfx::GpuFenceHandle(), gfx::OverlayPriorityHint::kNone, gfx::RRectF()));
+  buffer_manager_gpu_->CommitOverlays(window_->GetWidget(),
+                                      std::move(overlay_configs));
+  Sync();
+
+  // 3 surfaces must exist - root surface, the primary subsurface and one
+  // additional overlay surface. All of them must have buffers attached.
+
+  auto* mock_surface = server_.GetObject<wl::MockSurface>(
+      window_->root_surface()->GetSurfaceId());
+  EXPECT_TRUE(mock_surface->attached_buffer());
+
+  auto* mock_surface_primary_subsurface = server_.GetObject<wl::MockSurface>(
+      window_->primary_subsurface()->wayland_surface()->GetSurfaceId());
+  EXPECT_TRUE(mock_surface_primary_subsurface->attached_buffer());
+
+  EXPECT_EQ(1u, window_->wayland_subsurfaces().size());
+  auto* mock_surface_overlay_subsurface =
+      server_.GetObject<wl::MockSurface>(window_->wayland_subsurfaces()
+                                             .begin()
+                                             ->get()
+                                             ->wayland_surface()
+                                             ->GetSurfaceId());
+  EXPECT_TRUE(mock_surface_overlay_subsurface->attached_buffer());
+
+  Sync();
+
+  // Pretend that the channel gets destroyed because of some internal reason.
+  manager_host_->OnChannelDestroyed();
+  manager_host_ = connection_->buffer_manager_host();
+
+  Sync();
+
+  // The root surface should not have the buffer detached.
+  EXPECT_FALSE(mock_surface->attached_buffer());
+
+  // The primary and secondary subsurfaces must be hidden.
+  EXPECT_FALSE(window_->primary_subsurface()->IsVisible());
+  EXPECT_EQ(1u, window_->wayland_subsurfaces().size());
+  EXPECT_FALSE(window_->wayland_subsurfaces().begin()->get()->IsVisible());
+
+  mock_surface->ClearBufferReleases();
+
+  auto interface_ptr = manager_host_->BindInterface();
+  buffer_manager_gpu_->Initialize(
+      std::move(interface_ptr), {}, false, true, false,
+      /*supports_non_backed_solid_color_buffers*/ false, false);
+
+  // Now, create only one buffer and attach that to the root surface. The
+  // primary subsurface and secondary subsurface must remain invisible.
+  EXPECT_CALL(*linux_dmabuf, CreateParams(_, _, _)).Times(1);
+  CreateDmabufBasedBufferAndSetTerminateExpectation(false /*fail*/, kBufferId1);
+
+  Sync();
+
+  ProcessCreatedBufferResourcesWithExpectation(1u /* expected size */,
+                                               false /* fail */);
+
+  std::vector<ui::ozone::mojom::WaylandOverlayConfigPtr> overlay_configs2;
+  overlay_configs2.push_back(ui::ozone::mojom::WaylandOverlayConfig::New(
+      INT32_MIN, gfx::OverlayTransform::OVERLAY_TRANSFORM_NONE, kBufferId1,
+      kDefaultScale, gfx::RectF(bounds), gfx::RectF(), bounds, false, 1.0f,
+      gfx::GpuFenceHandle(), gfx::OverlayPriorityHint::kNone, gfx::RRectF()));
+
+  buffer_manager_gpu_->CommitOverlays(window_->GetWidget(),
+                                      std::move(overlay_configs2));
+
+  Sync();
+
+  mock_surface = server_.GetObject<wl::MockSurface>(
+      window_->root_surface()->GetSurfaceId());
+  EXPECT_TRUE(mock_surface->attached_buffer());
+
+  // The root surface should have the buffer detached.
+  EXPECT_TRUE(mock_surface->attached_buffer());
+
+  // The primary and secondary subsurfaces must remain hidden.
+  EXPECT_FALSE(window_->primary_subsurface()->IsVisible());
+  EXPECT_EQ(1u, window_->wayland_subsurfaces().size());
+  EXPECT_FALSE(window_->wayland_subsurfaces().begin()->get()->IsVisible());
+}
+
 TEST_P(WaylandBufferManagerTest,
        DoesNotAttachAndCommitOnHideIfNoBuffersAttached) {
   EXPECT_TRUE(window_->IsVisible());
diff --git a/ui/strings/translations/ax_strings_af.xtb b/ui/strings/translations/ax_strings_af.xtb
index 4a70077..b28b255 100644
--- a/ui/strings/translations/ax_strings_af.xtb
+++ b/ui/strings/translations/ax_strings_af.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">uithaalaanhaling</translation>
 <translation id="1821985195704844674">boomrooster</translation>
 <translation id="1823704031293214298">bladsyvoetreël</translation>
+<translation id="1838681052457320736">waarskuwingdialoog</translation>
 <translation id="1842960171412779397">kies</translation>
 <translation id="190587075670221089">uitvee</translation>
 <translation id="1907737156431278478">voorbeeld</translation>
diff --git a/ui/strings/translations/ax_strings_am.xtb b/ui/strings/translations/ax_strings_am.xtb
index e9537e90..2cc96768 100644
--- a/ui/strings/translations/ax_strings_am.xtb
+++ b/ui/strings/translations/ax_strings_am.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">ጥቅስ</translation>
 <translation id="1821985195704844674">የዛፍ ፍርግርግ</translation>
 <translation id="1823704031293214298">ገጽ ግርጌ</translation>
+<translation id="1838681052457320736">የማንቂያ መገናኛ</translation>
 <translation id="1842960171412779397">ምረጥ</translation>
 <translation id="190587075670221089">ስረዛ</translation>
 <translation id="1907737156431278478">ምሳሌ</translation>
diff --git a/ui/strings/translations/ax_strings_ar.xtb b/ui/strings/translations/ax_strings_ar.xtb
index 2bd97937..05a8f7d 100644
--- a/ui/strings/translations/ax_strings_ar.xtb
+++ b/ui/strings/translations/ax_strings_ar.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">اقتباس مستمد</translation>
 <translation id="1821985195704844674">شبكة متفرعة</translation>
 <translation id="1823704031293214298">تذييل الصفحة</translation>
+<translation id="1838681052457320736">مربّع حوار لتنبيه</translation>
 <translation id="1842960171412779397">الاختيار</translation>
 <translation id="190587075670221089">حذف</translation>
 <translation id="1907737156431278478">مثال</translation>
diff --git a/ui/strings/translations/ax_strings_az.xtb b/ui/strings/translations/ax_strings_az.xtb
index b4778cf..0d720f9a 100644
--- a/ui/strings/translations/ax_strings_az.xtb
+++ b/ui/strings/translations/ax_strings_az.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">sitat</translation>
 <translation id="1821985195704844674">ağac şəbəkəsi</translation>
 <translation id="1823704031293214298">səhifə altlığı</translation>
+<translation id="1838681052457320736">xəbərdarlıq dialoqu</translation>
 <translation id="1842960171412779397">seçin</translation>
 <translation id="190587075670221089">silinmə</translation>
 <translation id="1907737156431278478">məsələn</translation>
diff --git a/ui/strings/translations/ax_strings_bs.xtb b/ui/strings/translations/ax_strings_bs.xtb
index 091b54b..e18ae58 100644
--- a/ui/strings/translations/ax_strings_bs.xtb
+++ b/ui/strings/translations/ax_strings_bs.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">izdvojeno</translation>
 <translation id="1821985195704844674">mreža stabla</translation>
 <translation id="1823704031293214298">podnožje stranice</translation>
+<translation id="1838681052457320736">dijaloški okvir upozorenja</translation>
 <translation id="1842960171412779397">odaberi</translation>
 <translation id="190587075670221089">brisanje</translation>
 <translation id="1907737156431278478">primjer</translation>
diff --git a/ui/strings/translations/ax_strings_cs.xtb b/ui/strings/translations/ax_strings_cs.xtb
index ddb7c7b..bc4379a 100644
--- a/ui/strings/translations/ax_strings_cs.xtb
+++ b/ui/strings/translations/ax_strings_cs.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">citace</translation>
 <translation id="1821985195704844674">stromová mřížka</translation>
 <translation id="1823704031293214298">zápatí stránky</translation>
+<translation id="1838681052457320736">dialogové okno upozornění</translation>
 <translation id="1842960171412779397">zvolit</translation>
 <translation id="190587075670221089">smazání</translation>
 <translation id="1907737156431278478">příklad</translation>
diff --git a/ui/strings/translations/ax_strings_da.xtb b/ui/strings/translations/ax_strings_da.xtb
index bb9defea..fa4add5 100644
--- a/ui/strings/translations/ax_strings_da.xtb
+++ b/ui/strings/translations/ax_strings_da.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">opmærksomhedsskabende citat</translation>
 <translation id="1821985195704844674">trægitter</translation>
 <translation id="1823704031293214298">sidefod</translation>
+<translation id="1838681052457320736">dialogboks med underretning</translation>
 <translation id="1842960171412779397">vælg</translation>
 <translation id="190587075670221089">sletning</translation>
 <translation id="1907737156431278478">eksempel</translation>
diff --git a/ui/strings/translations/ax_strings_de.xtb b/ui/strings/translations/ax_strings_de.xtb
index 3105e469..e0286a6 100644
--- a/ui/strings/translations/ax_strings_de.xtb
+++ b/ui/strings/translations/ax_strings_de.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">Textzitat</translation>
 <translation id="1821985195704844674">Baumraster</translation>
 <translation id="1823704031293214298">Fußzeile</translation>
+<translation id="1838681052457320736">Dialogfeld für eine Benachrichtigung</translation>
 <translation id="1842960171412779397">auswählen</translation>
 <translation id="190587075670221089">Löschen</translation>
 <translation id="1907737156431278478">Beispiel</translation>
diff --git a/ui/strings/translations/ax_strings_fa.xtb b/ui/strings/translations/ax_strings_fa.xtb
index d8be64d0d..fa6fb63 100644
--- a/ui/strings/translations/ax_strings_fa.xtb
+++ b/ui/strings/translations/ax_strings_fa.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">نقل‌قول</translation>
 <translation id="1821985195704844674">شبکه درختی</translation>
 <translation id="1823704031293214298">پاصفحه</translation>
+<translation id="1838681052457320736">کادر گفتگوی هشدار</translation>
 <translation id="1842960171412779397">انتخاب</translation>
 <translation id="190587075670221089">حذف</translation>
 <translation id="1907737156431278478">مثال</translation>
diff --git a/ui/strings/translations/ax_strings_gu.xtb b/ui/strings/translations/ax_strings_gu.xtb
index 94a9541..d85ea4b 100644
--- a/ui/strings/translations/ax_strings_gu.xtb
+++ b/ui/strings/translations/ax_strings_gu.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">પુલક્વોટ</translation>
 <translation id="1821985195704844674">ટ્રી ગ્રિડ</translation>
 <translation id="1823704031293214298">પેજ ફૂટર</translation>
+<translation id="1838681052457320736">અલર્ટ માટેનો સંવાદ</translation>
 <translation id="1842960171412779397">પસંદ કરો</translation>
 <translation id="190587075670221089">ડિલીટ કરો</translation>
 <translation id="1907737156431278478">ઉદાહરણ</translation>
diff --git a/ui/strings/translations/ax_strings_hi.xtb b/ui/strings/translations/ax_strings_hi.xtb
index a9507b4..5b769e8 100644
--- a/ui/strings/translations/ax_strings_hi.xtb
+++ b/ui/strings/translations/ax_strings_hi.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">पुलकोट</translation>
 <translation id="1821985195704844674">ट्री ग्रिड</translation>
 <translation id="1823704031293214298">पेज फ़ुटर</translation>
+<translation id="1838681052457320736">चेतावनी दिखाने वाला डायलॉग बॉक्स</translation>
 <translation id="1842960171412779397">चुनें</translation>
 <translation id="190587075670221089">मिटाना</translation>
 <translation id="1907737156431278478">उदाहरण</translation>
diff --git a/ui/strings/translations/ax_strings_hr.xtb b/ui/strings/translations/ax_strings_hr.xtb
index 15d792b2..9a81261 100644
--- a/ui/strings/translations/ax_strings_hr.xtb
+++ b/ui/strings/translations/ax_strings_hr.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">izdvojeno</translation>
 <translation id="1821985195704844674">rešetka u obliku stabla</translation>
 <translation id="1823704031293214298">podnožje stranice</translation>
+<translation id="1838681052457320736">dijalog upozorenja</translation>
 <translation id="1842960171412779397">odaberi</translation>
 <translation id="190587075670221089">brisanje</translation>
 <translation id="1907737156431278478">primjer</translation>
diff --git a/ui/strings/translations/ax_strings_hy.xtb b/ui/strings/translations/ax_strings_hy.xtb
index 565a593..daea4b0 100644
--- a/ui/strings/translations/ax_strings_hy.xtb
+++ b/ui/strings/translations/ax_strings_hy.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">մեջբերում</translation>
 <translation id="1821985195704844674">ծառի տեսքով ցանց</translation>
 <translation id="1823704031293214298">էջատակ</translation>
+<translation id="1838681052457320736">զգուշացման պատուհան</translation>
 <translation id="1842960171412779397">ընտրել</translation>
 <translation id="190587075670221089">ջնջում</translation>
 <translation id="1907737156431278478">օրինակ</translation>
diff --git a/ui/strings/translations/ax_strings_id.xtb b/ui/strings/translations/ax_strings_id.xtb
index 93a628a..84865a4 100644
--- a/ui/strings/translations/ax_strings_id.xtb
+++ b/ui/strings/translations/ax_strings_id.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">pullquote</translation>
 <translation id="1821985195704844674">kisi pohon</translation>
 <translation id="1823704031293214298">footer halaman</translation>
+<translation id="1838681052457320736">dialog pemberitahuan</translation>
 <translation id="1842960171412779397">pilih</translation>
 <translation id="190587075670221089">penghapusan</translation>
 <translation id="1907737156431278478">contoh</translation>
diff --git a/ui/strings/translations/ax_strings_it.xtb b/ui/strings/translations/ax_strings_it.xtb
index 07df2fa..7640b6c 100644
--- a/ui/strings/translations/ax_strings_it.xtb
+++ b/ui/strings/translations/ax_strings_it.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">citazione</translation>
 <translation id="1821985195704844674">griglia ad albero</translation>
 <translation id="1823704031293214298">piè di pagina</translation>
+<translation id="1838681052457320736">Finestra di dialogo di avviso</translation>
 <translation id="1842960171412779397">seleziona</translation>
 <translation id="190587075670221089">eliminazione</translation>
 <translation id="1907737156431278478">esempio</translation>
diff --git a/ui/strings/translations/ax_strings_iw.xtb b/ui/strings/translations/ax_strings_iw.xtb
index 06b0d6e..24b5e97a 100644
--- a/ui/strings/translations/ax_strings_iw.xtb
+++ b/ui/strings/translations/ax_strings_iw.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">ציטוט</translation>
 <translation id="1821985195704844674">רשת של עץ</translation>
 <translation id="1823704031293214298">הכותרת התחתונה של הדף</translation>
+<translation id="1838681052457320736">תיבת דו-שיח של התראה</translation>
 <translation id="1842960171412779397">בחירה</translation>
 <translation id="190587075670221089">מחיקה</translation>
 <translation id="1907737156431278478">דוגמה</translation>
diff --git a/ui/strings/translations/ax_strings_ja.xtb b/ui/strings/translations/ax_strings_ja.xtb
index d3a352e..b31cb2a 100644
--- a/ui/strings/translations/ax_strings_ja.xtb
+++ b/ui/strings/translations/ax_strings_ja.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">引用</translation>
 <translation id="1821985195704844674">ツリーグリッド</translation>
 <translation id="1823704031293214298">ページフッター</translation>
+<translation id="1838681052457320736">アラート ダイアログ</translation>
 <translation id="1842960171412779397">選択</translation>
 <translation id="190587075670221089">削除</translation>
 <translation id="1907737156431278478">例</translation>
diff --git a/ui/strings/translations/ax_strings_kn.xtb b/ui/strings/translations/ax_strings_kn.xtb
index 0f0930fc..1fbaafd0 100644
--- a/ui/strings/translations/ax_strings_kn.xtb
+++ b/ui/strings/translations/ax_strings_kn.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">ಪ್ರಮುಖ ಉಲ್ಲೇಖ</translation>
 <translation id="1821985195704844674">ಟ್ರೀ ಗ್ರಿಡ್</translation>
 <translation id="1823704031293214298">ಪುಟದ ಅಡಿಲೇಖ</translation>
+<translation id="1838681052457320736">ಎಚ್ಚರಿಕೆ ಸಂವಾದ</translation>
 <translation id="1842960171412779397">ಆಯ್ಕೆ ಮಾಡಿ</translation>
 <translation id="190587075670221089">ಅಳಿಸುವಿಕೆ</translation>
 <translation id="1907737156431278478">ಉದಾಹರಣೆ</translation>
diff --git a/ui/strings/translations/ax_strings_ky.xtb b/ui/strings/translations/ax_strings_ky.xtb
index 7829d12e..d4eb4a0 100644
--- a/ui/strings/translations/ax_strings_ky.xtb
+++ b/ui/strings/translations/ax_strings_ky.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">үзүндү</translation>
 <translation id="1821985195704844674">дарак торчосу</translation>
 <translation id="1823704031293214298">беттин төмөнкү колонтитулу</translation>
+<translation id="1838681052457320736">эскертүү диалогу</translation>
 <translation id="1842960171412779397">тандоо</translation>
 <translation id="190587075670221089">жок кылуу</translation>
 <translation id="1907737156431278478">мисал</translation>
diff --git a/ui/strings/translations/ax_strings_lo.xtb b/ui/strings/translations/ax_strings_lo.xtb
index adb9315..e617581 100644
--- a/ui/strings/translations/ax_strings_lo.xtb
+++ b/ui/strings/translations/ax_strings_lo.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">ການອ້າງອີງ</translation>
 <translation id="1821985195704844674">ຕາໜ່າງຕົ້ນໄມ້</translation>
 <translation id="1823704031293214298">ສ່ວນທ້າຍຂອງໜ້າ</translation>
+<translation id="1838681052457320736">ກ່ອງໂຕ້​ຕອບແຈ້ງເຕືອນ</translation>
 <translation id="1842960171412779397">ເລືອກ</translation>
 <translation id="190587075670221089">ການລຶບ</translation>
 <translation id="1907737156431278478">ຕົວຢ່າງ</translation>
diff --git a/ui/strings/translations/ax_strings_mk.xtb b/ui/strings/translations/ax_strings_mk.xtb
index 71dff20..05d5c00 100644
--- a/ui/strings/translations/ax_strings_mk.xtb
+++ b/ui/strings/translations/ax_strings_mk.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">цитат</translation>
 <translation id="1821985195704844674">мрежа на дрвото</translation>
 <translation id="1823704031293214298">подножје на страницата</translation>
+<translation id="1838681052457320736">дијалог за предупредување</translation>
 <translation id="1842960171412779397">избери</translation>
 <translation id="190587075670221089">бришење</translation>
 <translation id="1907737156431278478">пример</translation>
diff --git a/ui/strings/translations/ax_strings_mr.xtb b/ui/strings/translations/ax_strings_mr.xtb
index 98b9c0a..8a98dfe 100644
--- a/ui/strings/translations/ax_strings_mr.xtb
+++ b/ui/strings/translations/ax_strings_mr.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">पुलकोट</translation>
 <translation id="1821985195704844674">ट्री ग्रीड</translation>
 <translation id="1823704031293214298">पेज फूटर</translation>
+<translation id="1838681052457320736">सूचना डायलॉग</translation>
 <translation id="1842960171412779397">निवडा</translation>
 <translation id="190587075670221089">हटवणे</translation>
 <translation id="1907737156431278478">उदाहरण</translation>
diff --git a/ui/strings/translations/ax_strings_my.xtb b/ui/strings/translations/ax_strings_my.xtb
index 44950a69..7884ce2d 100644
--- a/ui/strings/translations/ax_strings_my.xtb
+++ b/ui/strings/translations/ax_strings_my.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">ကောက်နုတ်ဖော်ပြချက်</translation>
 <translation id="1821985195704844674">သစ်ပင်ပုံစံဇယားကွက်</translation>
 <translation id="1823704031293214298">စာမျက်နှာ အောက်ခြေမှတ်စု</translation>
+<translation id="1838681052457320736">သတိပေး ဒိုင်ယာလော့</translation>
 <translation id="1842960171412779397">ရွေးချယ်ရန်</translation>
 <translation id="190587075670221089">ဖျက်ခြင်း</translation>
 <translation id="1907737156431278478">ဥပမာ</translation>
diff --git a/ui/strings/translations/ax_strings_nl.xtb b/ui/strings/translations/ax_strings_nl.xtb
index 730fe13..b5c1771d 100644
--- a/ui/strings/translations/ax_strings_nl.xtb
+++ b/ui/strings/translations/ax_strings_nl.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">pullquote</translation>
 <translation id="1821985195704844674">boomstructuur</translation>
 <translation id="1823704031293214298">voettekst van de pagina</translation>
+<translation id="1838681052457320736">dialoogvenster met melding</translation>
 <translation id="1842960171412779397">Selecteren</translation>
 <translation id="190587075670221089">verwijdering</translation>
 <translation id="1907737156431278478">voorbeeld</translation>
diff --git a/ui/strings/translations/ax_strings_no.xtb b/ui/strings/translations/ax_strings_no.xtb
index 24869c2..8ff352d 100644
--- a/ui/strings/translations/ax_strings_no.xtb
+++ b/ui/strings/translations/ax_strings_no.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">sitat</translation>
 <translation id="1821985195704844674">trerutenett</translation>
 <translation id="1823704031293214298">bunntekst</translation>
+<translation id="1838681052457320736">varseldialog</translation>
 <translation id="1842960171412779397">velg</translation>
 <translation id="190587075670221089">sletting</translation>
 <translation id="1907737156431278478">eksempel</translation>
diff --git a/ui/strings/translations/ax_strings_pl.xtb b/ui/strings/translations/ax_strings_pl.xtb
index df26e603..1d52253 100644
--- a/ui/strings/translations/ax_strings_pl.xtb
+++ b/ui/strings/translations/ax_strings_pl.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">cytat</translation>
 <translation id="1821985195704844674">siatka drzewa</translation>
 <translation id="1823704031293214298">stopka strony</translation>
+<translation id="1838681052457320736">okno dialogowe alertu</translation>
 <translation id="1842960171412779397">wybierz</translation>
 <translation id="190587075670221089">usunięcie</translation>
 <translation id="1907737156431278478">przykład</translation>
diff --git a/ui/strings/translations/ax_strings_si.xtb b/ui/strings/translations/ax_strings_si.xtb
index 27be905..cafc050cd 100644
--- a/ui/strings/translations/ax_strings_si.xtb
+++ b/ui/strings/translations/ax_strings_si.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">අදින උද්ධරණය</translation>
 <translation id="1821985195704844674">රුක් ජාලය</translation>
 <translation id="1823704031293214298">පිටු පාදකය</translation>
+<translation id="1838681052457320736">ඇඟවුම් සංවාදය</translation>
 <translation id="1842960171412779397">තෝරන්න</translation>
 <translation id="190587075670221089">මැකීම</translation>
 <translation id="1907737156431278478">උදාහරණය</translation>
diff --git a/ui/strings/translations/ax_strings_sl.xtb b/ui/strings/translations/ax_strings_sl.xtb
index ac7d3db..d29c2044 100644
--- a/ui/strings/translations/ax_strings_sl.xtb
+++ b/ui/strings/translations/ax_strings_sl.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">pojavni citat</translation>
 <translation id="1821985195704844674">drevesna mreža</translation>
 <translation id="1823704031293214298">noga strani</translation>
+<translation id="1838681052457320736">opozorilno pogovorno okno</translation>
 <translation id="1842960171412779397">izberi</translation>
 <translation id="190587075670221089">brisanje</translation>
 <translation id="1907737156431278478">primer</translation>
diff --git a/ui/strings/translations/ax_strings_ta.xtb b/ui/strings/translations/ax_strings_ta.xtb
index 015f528..ed386ed 100644
--- a/ui/strings/translations/ax_strings_ta.xtb
+++ b/ui/strings/translations/ax_strings_ta.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">pullquote</translation>
 <translation id="1821985195704844674">ட்ரீ கிரிட்</translation>
 <translation id="1823704031293214298">பக்க அடிக்குறிப்பு</translation>
+<translation id="1838681052457320736">விழிப்பூட்டல் உரையாடல்</translation>
 <translation id="1842960171412779397">தேர்ந்தெடு</translation>
 <translation id="190587075670221089">நீக்கும்</translation>
 <translation id="1907737156431278478">உதாரணம்</translation>
diff --git a/ui/strings/translations/ax_strings_th.xtb b/ui/strings/translations/ax_strings_th.xtb
index 5aa3856..61170b7 100644
--- a/ui/strings/translations/ax_strings_th.xtb
+++ b/ui/strings/translations/ax_strings_th.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">การเน้นข้อความ</translation>
 <translation id="1821985195704844674">แผนผังต้นไม้</translation>
 <translation id="1823704031293214298">ส่วนท้ายของหน้า</translation>
+<translation id="1838681052457320736">กล่องโต้ตอบการแจ้งเตือน</translation>
 <translation id="1842960171412779397">เลือก</translation>
 <translation id="190587075670221089">การลบ</translation>
 <translation id="1907737156431278478">ตัวอย่าง</translation>
diff --git a/ui/strings/translations/ax_strings_tr.xtb b/ui/strings/translations/ax_strings_tr.xtb
index 01cb1ca..5bff38f 100644
--- a/ui/strings/translations/ax_strings_tr.xtb
+++ b/ui/strings/translations/ax_strings_tr.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">alıntı</translation>
 <translation id="1821985195704844674">ağaç tablo</translation>
 <translation id="1823704031293214298">sayfa alt bilgisi</translation>
+<translation id="1838681052457320736">uyarı iletişim kutusu</translation>
 <translation id="1842960171412779397">seç</translation>
 <translation id="190587075670221089">silme</translation>
 <translation id="1907737156431278478">örnek</translation>
diff --git a/ui/strings/translations/ax_strings_ur.xtb b/ui/strings/translations/ax_strings_ur.xtb
index 771d7438..0cce9c3 100644
--- a/ui/strings/translations/ax_strings_ur.xtb
+++ b/ui/strings/translations/ax_strings_ur.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">اقوال زریں</translation>
 <translation id="1821985195704844674">ٹری گرڈ</translation>
 <translation id="1823704031293214298">صفحے کا فٹر</translation>
+<translation id="1838681052457320736">الرٹ ڈائیلاگ</translation>
 <translation id="1842960171412779397">منتخب کریں</translation>
 <translation id="190587075670221089">حذف کرنا</translation>
 <translation id="1907737156431278478">مثال</translation>
diff --git a/ui/strings/translations/ax_strings_zh-CN.xtb b/ui/strings/translations/ax_strings_zh-CN.xtb
index b16255d..f1b9f71e01 100644
--- a/ui/strings/translations/ax_strings_zh-CN.xtb
+++ b/ui/strings/translations/ax_strings_zh-CN.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">重要引述</translation>
 <translation id="1821985195704844674">树状网格</translation>
 <translation id="1823704031293214298">页脚</translation>
+<translation id="1838681052457320736">提醒对话框</translation>
 <translation id="1842960171412779397">选中</translation>
 <translation id="190587075670221089">删除</translation>
 <translation id="1907737156431278478">示例</translation>
diff --git a/ui/strings/translations/ax_strings_zh-HK.xtb b/ui/strings/translations/ax_strings_zh-HK.xtb
index 5b459780..7fd8492 100644
--- a/ui/strings/translations/ax_strings_zh-HK.xtb
+++ b/ui/strings/translations/ax_strings_zh-HK.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">重要引述</translation>
 <translation id="1821985195704844674">樹狀目錄網格</translation>
 <translation id="1823704031293214298">頁尾</translation>
+<translation id="1838681052457320736">警示對話框</translation>
 <translation id="1842960171412779397">選取</translation>
 <translation id="190587075670221089">刪除</translation>
 <translation id="1907737156431278478">例子</translation>
diff --git a/ui/strings/translations/ax_strings_zh-TW.xtb b/ui/strings/translations/ax_strings_zh-TW.xtb
index 12d1af8..5f99c9211 100644
--- a/ui/strings/translations/ax_strings_zh-TW.xtb
+++ b/ui/strings/translations/ax_strings_zh-TW.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">重要引述</translation>
 <translation id="1821985195704844674">樹狀目錄網格</translation>
 <translation id="1823704031293214298">頁尾</translation>
+<translation id="1838681052457320736">警示對話方塊</translation>
 <translation id="1842960171412779397">選取</translation>
 <translation id="190587075670221089">刪除</translation>
 <translation id="1907737156431278478">範例</translation>
diff --git a/ui/strings/translations/ax_strings_zu.xtb b/ui/strings/translations/ax_strings_zu.xtb
index 62ff88f..69e8dc35 100644
--- a/ui/strings/translations/ax_strings_zu.xtb
+++ b/ui/strings/translations/ax_strings_zu.xtb
@@ -15,6 +15,7 @@
 <translation id="1650423536718072820">i-pullquote</translation>
 <translation id="1821985195704844674">igridi yesihlahla</translation>
 <translation id="1823704031293214298">phansi ekhasini</translation>
+<translation id="1838681052457320736">ibhokisi lesexwayiso</translation>
 <translation id="1842960171412779397">khetha</translation>
 <translation id="190587075670221089">ukususwa</translation>
 <translation id="1907737156431278478">isibonelo</translation>
diff --git a/ui/webui/resources/cr_components/app_management/BUILD.gn b/ui/webui/resources/cr_components/app_management/BUILD.gn
index c30e643..e76bee7e 100644
--- a/ui/webui/resources/cr_components/app_management/BUILD.gn
+++ b/ui/webui/resources/cr_components/app_management/BUILD.gn
@@ -20,6 +20,7 @@
   "shared_vars.ts",
   "toggle_row.ts",
   "uninstall_button.ts",
+  "window_mode_item.ts",
 ]
 
 non_web_component_files = [
diff --git a/ui/webui/resources/cr_components/app_management/constants.ts b/ui/webui/resources/cr_components/app_management/constants.ts
index b0f4c63..a044aa1d 100644
--- a/ui/webui/resources/cr_components/app_management/constants.ts
+++ b/ui/webui/resources/cr_components/app_management/constants.ts
@@ -70,4 +70,6 @@
   PreferredAppTurnedOff = 22,
   SupportedLinksListShown = 23,
   OverlappingAppsDialogShown = 24,
+  WindowModeChangedToBrowser = 25,
+  WindowModeChangedToWindow = 26,
 }
diff --git a/ui/webui/resources/cr_components/app_management/util.ts b/ui/webui/resources/cr_components/app_management/util.ts
index 4f57246..33473a1 100644
--- a/ui/webui/resources/cr_components/app_management/util.ts
+++ b/ui/webui/resources/cr_components/app_management/util.ts
@@ -5,7 +5,7 @@
 import {assert, assertNotReached} from 'chrome://resources/js/assert.m.js';
 
 import {App} from './app_management.mojom-webui.js';
-import {AppManagementUserAction, AppType, OptionalBool} from './constants.js';
+import {AppManagementUserAction, AppType, OptionalBool, WindowMode} from './constants.js';
 import {PermissionType, PermissionTypeIndex} from './permission_constants.js';
 import {isPermissionEnabled} from './permission_util.js';
 
@@ -123,3 +123,20 @@
   chrome.metricsPrivate.recordEnumerationValue(
       histogram, userAction, enumLength);
 }
+
+function convertWindowModeToBool(windowMode: WindowMode): boolean {
+  switch (windowMode) {
+    case WindowMode.kBrowser:
+      return false;
+    case WindowMode.kWindow:
+      return true;
+    default:
+      assertNotReached();
+      return false;
+  }
+}
+
+export function getWindowModeBoolean(windowMode: WindowMode): boolean {
+  assert(windowMode !== WindowMode.kUnknown, 'Window Mode Not Set');
+  return convertWindowModeToBool(windowMode);
+}
\ No newline at end of file
diff --git a/ui/webui/resources/cr_components/app_management/window_mode_item.html b/ui/webui/resources/cr_components/app_management/window_mode_item.html
new file mode 100644
index 0000000..59f6cd1
--- /dev/null
+++ b/ui/webui/resources/cr_components/app_management/window_mode_item.html
@@ -0,0 +1,7 @@
+<template is="dom-if" if="[[available_]]">
+  <app-management-toggle-row
+      id="toggle-row"
+      label="[[windowModeLabel]]"
+      value="[[getValue_(app)]]">
+  </app-management-toggle-row>
+</template>
\ No newline at end of file
diff --git a/ui/webui/resources/cr_components/app_management/window_mode_item.ts b/ui/webui/resources/cr_components/app_management/window_mode_item.ts
new file mode 100644
index 0000000..0c413b1
--- /dev/null
+++ b/ui/webui/resources/cr_components/app_management/window_mode_item.ts
@@ -0,0 +1,95 @@
+// 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.
+
+import './shared_style.js';
+import './toggle_row.js';
+
+import {assert, assertNotReached} from '//resources/js/assert.m.js';
+import {html, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {App} from './app_management.mojom-webui.js';
+import {BrowserProxy} from './browser_proxy.js';
+import {AppManagementUserAction, WindowMode} from './constants.js';
+import {AppManagementToggleRowElement} from './toggle_row.js';
+import {getWindowModeBoolean, recordAppManagementUserAction} from './util.js';
+
+export class AppManagementWindowModeElement extends PolymerElement {
+  static get is() {
+    return 'app-management-window-mode';
+  }
+
+  static get template() {
+    return html`{__html_template__}`;
+  }
+
+  static get properties() {
+    return {
+      windowModeLabel: String,
+
+      app: Object,
+
+      /**
+       * True if the window mode type is available for the app.
+       */
+      available_: {
+        type: Boolean,
+        computed: 'isAvailable_(app)',
+        reflectToAttribute: true,
+      },
+    };
+  }
+
+  windowModeLabel: String;
+  app: App;
+
+  ready() {
+    super.ready();
+    this.addEventListener('click', this.onClick_);
+    this.addEventListener('change', this.toggleWindowMode_);
+  }
+
+  private isAvailable_(app: App): boolean {
+    if (app === undefined) {
+      return false;
+    }
+    assert(app);
+    return app.windowMode !== undefined;
+  }
+
+  private getValue_(app: App): boolean {
+    if (!this.isAvailable_(app)) {
+      return false;
+    }
+    assert(app);
+    return getWindowModeBoolean(app.windowMode);
+  }
+
+  private onClick_() {
+    this.shadowRoot!
+        .querySelector<AppManagementToggleRowElement>('#toggle-row')!.click();
+  }
+
+  toggleWindowMode_() {
+    assert(this.app);
+    const currentWindowMode = this.app.windowMode;
+    if (currentWindowMode === WindowMode.kUnknown) {
+      assertNotReached();
+    }
+    const newWindowMode = (currentWindowMode === WindowMode.kBrowser) ?
+        WindowMode.kWindow :
+        WindowMode.kBrowser;
+    BrowserProxy.getInstance().handler.setWindowMode(
+        this.app.id,
+        newWindowMode,
+    );
+    const booleanWindowMode = getWindowModeBoolean(newWindowMode);
+    const windowModeChangeAction = booleanWindowMode ?
+        AppManagementUserAction.WindowModeChangedToWindow :
+        AppManagementUserAction.WindowModeChangedToBrowser;
+    recordAppManagementUserAction(this.app.type, windowModeChangeAction);
+  }
+}
+
+customElements.define(
+    AppManagementWindowModeElement.is, AppManagementWindowModeElement);
\ No newline at end of file
diff --git a/url/gurl.cc b/url/gurl.cc
index 06495e43..c0577539 100644
--- a/url/gurl.cc
+++ b/url/gurl.cc
@@ -349,7 +349,7 @@
   DCHECK(base::IsStringASCII(lower_ascii_scheme));
   DCHECK(base::ToLowerASCII(lower_ascii_scheme) == lower_ascii_scheme);
 
-  if (parsed_.scheme.len <= 0)
+  if (!has_scheme())
     return lower_ascii_scheme.empty();
   return scheme_piece() == lower_ascii_scheme;
 }
@@ -363,7 +363,7 @@
 }
 
 bool GURL::SchemeIsCryptographic() const {
-  if (parsed_.scheme.len <= 0)
+  if (!has_scheme())
     return false;
   return SchemeIsCryptographic(scheme_piece());
 }
@@ -376,6 +376,13 @@
          lower_ascii_scheme == url::kWssScheme;
 }
 
+bool GURL::SchemeIsLocal() const {
+  // The `filesystem:` scheme is not in the Fetch spec, but Chromium still
+  // supports it in large part. It should be treated as a local scheme too.
+  return SchemeIs(url::kAboutScheme) || SchemeIs(url::kBlobScheme) ||
+         SchemeIs(url::kDataScheme) || SchemeIs(url::kFileSystemScheme);
+}
+
 int GURL::IntPort() const {
   if (parsed_.port.is_nonempty())
     return url::ParsePort(spec_.data(), parsed_.port);
diff --git a/url/gurl.h b/url/gurl.h
index 86a340a..76b318db 100644
--- a/url/gurl.h
+++ b/url/gurl.h
@@ -265,6 +265,10 @@
     return SchemeIs(url::kBlobScheme);
   }
 
+  // Returns true if the scheme is a local scheme, as defined in Fetch:
+  // https://fetch.spec.whatwg.org/#local-scheme
+  bool SchemeIsLocal() const;
+
   // For most URLs, the "content" is everything after the scheme (skipping the
   // scheme delimiting colon) and before the fragment (skipping the fragment
   // delimiting octothorpe). For javascript URLs the "content" also includes the
diff --git a/url/gurl_unittest.cc b/url/gurl_unittest.cc
index 86fcb6f..b9b0f61 100644
--- a/url/gurl_unittest.cc
+++ b/url/gurl_unittest.cc
@@ -876,6 +876,20 @@
   EXPECT_FALSE(GURL("http://bar/").SchemeIsBlob());
 }
 
+TEST(GURLTest, SchemeIsLocal) {
+  EXPECT_TRUE(GURL("BLOB://BAR/").SchemeIsLocal());
+  EXPECT_TRUE(GURL("blob://bar/").SchemeIsLocal());
+  EXPECT_TRUE(GURL("DATA:TEXT/HTML,BAR").SchemeIsLocal());
+  EXPECT_TRUE(GURL("data:text/html,bar").SchemeIsLocal());
+  EXPECT_TRUE(GURL("ABOUT:BAR").SchemeIsLocal());
+  EXPECT_TRUE(GURL("about:bar").SchemeIsLocal());
+  EXPECT_TRUE(GURL("FILESYSTEM:HTTP://FOO.EXAMPLE/BAR").SchemeIsLocal());
+  EXPECT_TRUE(GURL("filesystem:http://foo.example/bar").SchemeIsLocal());
+
+  EXPECT_FALSE(GURL("http://bar/").SchemeIsLocal());
+  EXPECT_FALSE(GURL("file:///bar").SchemeIsLocal());
+}
+
 // Tests that the 'content' of the URL is properly extracted. This can be
 // complex in cases such as multiple schemes (view-source:http:) or for
 // javascript URLs. See GURL::GetContent for more details.
diff --git a/weblayer/browser/content_browser_client_impl.cc b/weblayer/browser/content_browser_client_impl.cc
index d7ec930..1128296 100644
--- a/weblayer/browser/content_browser_client_impl.cc
+++ b/weblayer/browser/content_browser_client_impl.cc
@@ -427,6 +427,10 @@
   return embedder_support::GetUserAgent();
 }
 
+std::string ContentBrowserClientImpl::GetFullUserAgent() {
+  return embedder_support::GetFullUserAgent();
+}
+
 std::string ContentBrowserClientImpl::GetReducedUserAgent() {
   return embedder_support::GetReducedUserAgent();
 }
diff --git a/weblayer/browser/content_browser_client_impl.h b/weblayer/browser/content_browser_client_impl.h
index 3f28f4df..b414962 100644
--- a/weblayer/browser/content_browser_client_impl.h
+++ b/weblayer/browser/content_browser_client_impl.h
@@ -94,6 +94,7 @@
                                    blink::mojom::WebFeature feature) override;
   std::string GetProduct() override;
   std::string GetUserAgent() override;
+  std::string GetFullUserAgent() override;
   std::string GetReducedUserAgent() override;
   blink::UserAgentMetadata GetUserAgentMetadata() override;
   void OverrideWebkitPrefs(content::WebContents* web_contents,