diff --git a/AUTHORS b/AUTHORS
index bbfb909..35da693 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -744,6 +744,7 @@
 Michael Müller <michael@fds-team.de>
 Michael Schechter <mike.schechter@gmail.com>
 Michael Smith <sideshowbarker@gmail.com>
+Michael Weiss <dev.primeos@gmail.com>
 Michaël Zasso <mic.besace@gmail.com>
 Michael Zugelder <michael@zugelder.org>
 Michel Promonet <michel.promonet.1@gmail.com>
diff --git a/DEPS b/DEPS
index ef810c9..9855d033 100644
--- a/DEPS
+++ b/DEPS
@@ -228,7 +228,7 @@
   # 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': '076be6662a23375d1b7ef332a50b8700ed8fade1',
+  'skia_revision': '031d796b1132c2c9368b5e228cd6a61544e385ef',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
@@ -240,7 +240,7 @@
   # 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': '331be08ffaade7caffe6e824ffb446188f96cec9',
+  'angle_revision': 'ff64d2c7e562f401bf174ba2030bc10583a4b307',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -307,7 +307,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': 'd42f0f1db86d96c07961c9a6fcad0be860980995',
+  'devtools_frontend_revision': '72f2e9e156dd0aa95b94ac2113bb7e5bd64ceeb5',
   # 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.
@@ -363,7 +363,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling wuffs
   # and whatever else without interference from each other.
-  'wuffs_revision': '1b9a6cb85b9f359595bd264d4c95da5d1291adc5',
+  'wuffs_revision': '600cd96cf47788ee3a74b40a6028b035c9fd6a61',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libgifcodec
   # and whatever else without interference from each other.
@@ -767,7 +767,7 @@
     'packages': [
       {
           'package': 'chromium/third_party/androidx',
-          'version': '5EsskEwtu6Hzju-fNoomuLOMy9gfI2OYkzR37-UWmjkC',
+          'version': 'aInnSluuC_7a0hWGVsPv23EywmldAOPIcV-bs0Ah1V0C',
       },
     ],
     'condition': 'checkout_android',
@@ -1003,7 +1003,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'bdc7adc6f733eb2e145f8eaf4d99f951f8d013b0',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '4b973b6e6e2b3d7c1adfe605b5042fda1042c081',
 
   'src/third_party/devtools-frontend/src':
     Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
@@ -1015,7 +1015,7 @@
     Var('chromium_git') + '/chromium/dom-distiller/dist.git' + '@' + 'f339eb9463714c3d31657c8ee1bd53d1c7e5c555',
 
   'src/third_party/eigen3/src':
-    Var('chromium_git') + '/external/gitlab.com/libeigen/eigen.git' + '@' + '12e8d57108c50d8a63605c6eb0144c838c128337',
+    Var('chromium_git') + '/external/gitlab.com/libeigen/eigen.git' + '@' + '011e0db31d1bed8b7f73662be6d57d9f30fa457a',
 
   'src/third_party/emoji-metadata/src': {
     'url': Var('chromium_git') + '/external/github.com/googlefonts/emoji-metadata' + '@' + '069b14c94db6c1625a143d9f82e07a08a29909cf',
@@ -1052,10 +1052,10 @@
   },
 
   'src/third_party/fp16/src':
-    Var('chromium_git') + '/external/github.com/Maratyszcza/FP16.git' + '@' + '4dfe081cf6bcd15db339cf2680b9281b8451eeb3',
+    Var('chromium_git') + '/external/github.com/Maratyszcza/FP16.git' + '@' + 'febbb1c163726b5db24bed55cc9dc42529068997',
 
   'src/third_party/gemmlowp/src':
-    Var('chromium_git') + '/external/github.com/google/gemmlowp.git' + '@' + 'fda83bdc38b118cc6b56753bd540caa49e570745',
+    Var('chromium_git') + '/external/github.com/google/gemmlowp.git' + '@' + '8589f2084b738e2285d5e8547b8b699c03a177dd',
 
   'src/third_party/grpc/src': {
       'url': Var('chromium_git') + '/external/github.com/grpc/grpc.git' + '@' + '54dc182082db941aa67c7c3f93ad858c99a16d7d',
@@ -1345,7 +1345,7 @@
   },
 
   'src/third_party/neon_2_sse/src':
-    Var('chromium_git') + '/external/github.com/intel/ARM_NEON_2_x86_SSE.git' + '@' + '1200fe90bb174a6224a525ee60148671a786a71f',
+    Var('chromium_git') + '/external/github.com/intel/ARM_NEON_2_x86_SSE.git' + '@' + '42b2bebacee25452e150095ef4480b3fa26e30f5',
 
   'src/third_party/netty-tcnative/src': {
       'url': Var('chromium_git') + '/external/netty-tcnative.git' + '@' + '5b46a8ef4a39c39c576fcdaaf718b585d75df463',
@@ -1478,7 +1478,7 @@
       'packages': [
           {
               'package': 'fuchsia/third_party/aemu/linux-amd64',
-              'version': 'qWiGSH8A_xdaUVO-GsDJsJ5HCkIRwZqb-HDyxsLiuWwC'
+              'version': 'LSAHyvH--mg3OcjoWmJXmvjXf4kutf7lnfogQjd1CVcC'
           },
       ],
       'condition': 'host_os == "linux" and checkout_fuchsia',
@@ -1527,7 +1527,7 @@
   },
 
   'src/third_party/ruy/src':
-    Var('chromium_git') + '/external/github.com/google/ruy.git' + '@' + 'e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce',
+    Var('chromium_git') + '/external/github.com/google/ruy.git' + '@' + '34ea9f4993955fa1ff4eb58e504421806b7f2e8f',
 
   'src/third_party/skia':
     Var('skia_git') + '/skia.git' + '@' +  Var('skia_revision'),
@@ -1561,7 +1561,7 @@
   },
 
   'src/third_party/tflite/src':
-    Var('chromium_git') + '/external/github.com/tensorflow/tensorflow.git' + '@' + '3ec476211ce91b409a7cae98d8b346f8141bdea6',
+    Var('chromium_git') + '/external/github.com/tensorflow/tensorflow.git' + '@' + 'fcc4b966f1265f466e82617020af93670141b009',
 
   'src/third_party/turbine': {
       'packages': [
@@ -1629,7 +1629,7 @@
   # Wuffs' canonical repository is at github.com/google/wuffs, but we use
   # Skia's mirror of Wuffs, the same as in upstream Skia's DEPS file.
   'src/third_party/wuffs/src':
-    Var('skia_git') + '/external/github.com/google/wuffs.git' + '@' +  Var('wuffs_revision'),
+    Var('skia_git') + '/external/github.com/google/wuffs-mirror-release-c.git' + '@' +  Var('wuffs_revision'),
 
   'src/third_party/weston/src': {
       'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/weston.git' + '@' + '420cfd00f2de91de74bd9d4d8348e43c582d29f0',
@@ -1682,7 +1682,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@88e5cc318e7dd155c30992b8204c26cb18640622',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@4bdfb7aed92a0644e342a5f486ede091c2a5149a',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/ash/ambient/model/ambient_backend_model.cc b/ash/ambient/model/ambient_backend_model.cc
index e0dde04..ef416a0 100644
--- a/ash/ambient/model/ambient_backend_model.cc
+++ b/ash/ambient/model/ambient_backend_model.cc
@@ -2,10 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include <vector>
-
 #include "ash/ambient/model/ambient_backend_model.h"
 
+#include <algorithm>
+#include <random>
+#include <vector>
+
 #include "ash/ambient/model/ambient_backend_model_observer.h"
 #include "ash/public/cpp/ambient/ambient_ui_model.h"
 #include "base/containers/flat_map.h"
@@ -73,6 +75,9 @@
       idx += 2;
     }
   }
+
+  std::shuffle(paired_topics.begin(), paired_topics.end(),
+               std::default_random_engine());
   return paired_topics;
 }
 }  // namespace
diff --git a/ash/ambient/model/ambient_backend_model_unittest.cc b/ash/ambient/model/ambient_backend_model_unittest.cc
index 5322bb4a..e90b44f 100644
--- a/ash/ambient/model/ambient_backend_model_unittest.cc
+++ b/ash/ambient/model/ambient_backend_model_unittest.cc
@@ -273,24 +273,32 @@
   AppendTopics(topics);
   EXPECT_EQ(fetched_topics().size(), 2u);
 
-  EXPECT_EQ(fetched_topics()[0].url, "topic1_url");
-  EXPECT_EQ(fetched_topics()[0].details, "topic1_details");
-  EXPECT_FALSE(fetched_topics()[0].is_portrait);
-  EXPECT_EQ(fetched_topics()[0].topic_type, ::ambient::TopicType::kPersonal);
-  EXPECT_EQ(fetched_topics()[0].related_image_url, "topic2_url");
-  EXPECT_EQ(fetched_topics()[0].related_details, "topic2_details");
+  const int index =
+      (fetched_topics()[0].topic_type == ::ambient::TopicType::kPersonal) ? 0
+                                                                          : 1;
+  EXPECT_EQ(fetched_topics()[index].url, "topic1_url");
+  EXPECT_EQ(fetched_topics()[index].details, "topic1_details");
+  EXPECT_FALSE(fetched_topics()[index].is_portrait);
+  EXPECT_EQ(fetched_topics()[index].topic_type,
+            ::ambient::TopicType::kPersonal);
+  EXPECT_EQ(fetched_topics()[index].related_image_url, "topic2_url");
+  EXPECT_EQ(fetched_topics()[index].related_details, "topic2_details");
 
-  EXPECT_EQ(fetched_topics()[1].url, "topic4_url");
-  EXPECT_EQ(fetched_topics()[1].details, "topic4_details");
-  EXPECT_FALSE(fetched_topics()[1].is_portrait);
-  EXPECT_EQ(fetched_topics()[1].topic_type, ::ambient::TopicType::kFeatured);
-  EXPECT_EQ(fetched_topics()[1].related_image_url, "topic5_url");
-  EXPECT_EQ(fetched_topics()[1].related_details, "topic5_details");
+  EXPECT_EQ(fetched_topics()[1 - index].url, "topic4_url");
+  EXPECT_EQ(fetched_topics()[1 - index].details, "topic4_details");
+  EXPECT_FALSE(fetched_topics()[1 - index].is_portrait);
+  EXPECT_EQ(fetched_topics()[1 - index].topic_type,
+            ::ambient::TopicType::kFeatured);
+  EXPECT_EQ(fetched_topics()[1 - index].related_image_url, "topic5_url");
+  EXPECT_EQ(fetched_topics()[1 - index].related_details, "topic5_details");
 }
 
 TEST_F(AmbientBackendModelTest, ShouldNotPairPortraitImages) {
-  // Set up 3 featured landscape photos and 3 personal portrait photos.
-  // Will output 4 topics, having one in featured, and 3 in personal category.
+  // Test that topics with portrait photos will not be re-paired. Only topics
+  // with landscape photos will be paired.
+  // Set up 3 landscape topics and 3 portrait topics.
+  // Will output 4 topics, having one paired landscape photo. The 3 portrait
+  // topics will not change.
   std::vector<ash::AmbientModeTopic> topics;
   topics.emplace_back(CreateTopic(
       /*url=*/"topic1_url", /*details=*/"topic1_details", /*is_portrait=*/true,
@@ -311,46 +319,63 @@
   topics.emplace_back(CreateTopic(
       /*url=*/"topic4_url", /*details=*/"topic4_details", /*is_portrait=*/false,
       /*related_url=*/"",
-      /*related_details=*/"", ::ambient::TopicType::kFeatured));
+      /*related_details=*/"", ::ambient::TopicType::kPersonal));
   topics.emplace_back(CreateTopic(
       /*url=*/"topic5_url", /*details=*/"topic5_details", /*is_portrait=*/false,
       /*related_url=*/"",
-      /*related_details=*/"", ::ambient::TopicType::kFeatured));
+      /*related_details=*/"", ::ambient::TopicType::kPersonal));
   topics.emplace_back(CreateTopic(
       /*url=*/"topic6_url", /*details=*/"topic6_details", /*is_portrait=*/false,
       /*related_url=*/"",
-      /*related_details=*/"", ::ambient::TopicType::kFeatured));
+      /*related_details=*/"", ::ambient::TopicType::kPersonal));
 
   AppendTopics(topics);
   EXPECT_EQ(fetched_topics().size(), 4u);
 
-  EXPECT_EQ(fetched_topics()[0].url, "topic1_url");
-  EXPECT_EQ(fetched_topics()[0].details, "topic1_details");
-  EXPECT_TRUE(fetched_topics()[0].is_portrait);
-  EXPECT_EQ(fetched_topics()[0].topic_type, ::ambient::TopicType::kPersonal);
-  EXPECT_EQ(fetched_topics()[0].related_image_url, "topic1_related_url");
-  EXPECT_EQ(fetched_topics()[0].related_details, "topic1_related_details");
-
-  EXPECT_EQ(fetched_topics()[1].url, "topic2_url");
-  EXPECT_EQ(fetched_topics()[1].details, "topic2_details");
-  EXPECT_TRUE(fetched_topics()[1].is_portrait);
-  EXPECT_EQ(fetched_topics()[1].topic_type, ::ambient::TopicType::kPersonal);
-  EXPECT_EQ(fetched_topics()[1].related_image_url, "topic2_related_url");
-  EXPECT_EQ(fetched_topics()[1].related_details, "topic2_related_details");
-
-  EXPECT_EQ(fetched_topics()[2].url, "topic3_url");
-  EXPECT_EQ(fetched_topics()[2].details, "topic3_details");
-  EXPECT_TRUE(fetched_topics()[2].is_portrait);
-  EXPECT_EQ(fetched_topics()[2].topic_type, ::ambient::TopicType::kPersonal);
-  EXPECT_EQ(fetched_topics()[2].related_image_url, "topic3_related_url");
-  EXPECT_EQ(fetched_topics()[2].related_details, "topic3_related_details");
-
-  EXPECT_EQ(fetched_topics()[3].url, "topic4_url");
-  EXPECT_EQ(fetched_topics()[3].details, "topic4_details");
-  EXPECT_FALSE(fetched_topics()[3].is_portrait);
-  EXPECT_EQ(fetched_topics()[3].topic_type, ::ambient::TopicType::kFeatured);
-  EXPECT_EQ(fetched_topics()[3].related_image_url, "topic5_url");
-  EXPECT_EQ(fetched_topics()[3].related_details, "topic5_details");
+  for (size_t index = 0; index < fetched_topics().size(); ++index) {
+    if (fetched_topics()[index].url == "topic1_url") {
+      EXPECT_EQ(fetched_topics()[index].url, "topic1_url");
+      EXPECT_EQ(fetched_topics()[index].details, "topic1_details");
+      EXPECT_TRUE(fetched_topics()[index].is_portrait);
+      EXPECT_EQ(fetched_topics()[index].topic_type,
+                ::ambient::TopicType::kPersonal);
+      EXPECT_EQ(fetched_topics()[index].related_image_url,
+                "topic1_related_url");
+      EXPECT_EQ(fetched_topics()[index].related_details,
+                "topic1_related_details");
+    } else if (fetched_topics()[index].url == "topic2_url") {
+      EXPECT_EQ(fetched_topics()[index].url, "topic2_url");
+      EXPECT_EQ(fetched_topics()[index].details, "topic2_details");
+      EXPECT_TRUE(fetched_topics()[index].is_portrait);
+      EXPECT_EQ(fetched_topics()[index].topic_type,
+                ::ambient::TopicType::kPersonal);
+      EXPECT_EQ(fetched_topics()[index].related_image_url,
+                "topic2_related_url");
+      EXPECT_EQ(fetched_topics()[index].related_details,
+                "topic2_related_details");
+    } else if (fetched_topics()[index].url == "topic3_url") {
+      EXPECT_EQ(fetched_topics()[index].url, "topic3_url");
+      EXPECT_EQ(fetched_topics()[index].details, "topic3_details");
+      EXPECT_TRUE(fetched_topics()[index].is_portrait);
+      EXPECT_EQ(fetched_topics()[index].topic_type,
+                ::ambient::TopicType::kPersonal);
+      EXPECT_EQ(fetched_topics()[index].related_image_url,
+                "topic3_related_url");
+      EXPECT_EQ(fetched_topics()[index].related_details,
+                "topic3_related_details");
+    } else if (fetched_topics()[index].url == "topic4_url") {
+      EXPECT_EQ(fetched_topics()[index].url, "topic4_url");
+      EXPECT_EQ(fetched_topics()[index].details, "topic4_details");
+      EXPECT_FALSE(fetched_topics()[index].is_portrait);
+      EXPECT_EQ(fetched_topics()[index].topic_type,
+                ::ambient::TopicType::kPersonal);
+      EXPECT_EQ(fetched_topics()[index].related_image_url, "topic5_url");
+      EXPECT_EQ(fetched_topics()[index].related_details, "topic5_details");
+    } else {
+      // Not reached.
+      EXPECT_FALSE(true);
+    }
+  }
 }
 
 TEST_F(AmbientBackendModelTest,
@@ -397,18 +422,20 @@
 
   AppendTopics(topics);
   EXPECT_EQ(fetched_topics().size(), 2u);
-  EXPECT_EQ(fetched_topics()[0].url, "topic1_url");
-  EXPECT_EQ(fetched_topics()[0].details, "topic1_details");
-  EXPECT_FALSE(fetched_topics()[0].is_portrait);
-  EXPECT_EQ(fetched_topics()[0].topic_type, ::ambient::TopicType::kGeo);
-  EXPECT_EQ(fetched_topics()[0].related_image_url, "");
-  EXPECT_EQ(fetched_topics()[0].related_details, "");
 
-  EXPECT_EQ(fetched_topics()[1].url, "topic2_url");
-  EXPECT_EQ(fetched_topics()[1].details, "topic2_details");
-  EXPECT_FALSE(fetched_topics()[1].is_portrait);
-  EXPECT_EQ(fetched_topics()[1].topic_type, ::ambient::TopicType::kGeo);
-  EXPECT_EQ(fetched_topics()[1].related_image_url, "");
-  EXPECT_EQ(fetched_topics()[1].related_details, "");
+  const int index = (fetched_topics()[0].url == "topic1_url") ? 0 : 1;
+  EXPECT_EQ(fetched_topics()[index].url, "topic1_url");
+  EXPECT_EQ(fetched_topics()[index].details, "topic1_details");
+  EXPECT_FALSE(fetched_topics()[index].is_portrait);
+  EXPECT_EQ(fetched_topics()[index].topic_type, ::ambient::TopicType::kGeo);
+  EXPECT_EQ(fetched_topics()[index].related_image_url, "");
+  EXPECT_EQ(fetched_topics()[index].related_details, "");
+
+  EXPECT_EQ(fetched_topics()[1 - index].url, "topic2_url");
+  EXPECT_EQ(fetched_topics()[1 - index].details, "topic2_details");
+  EXPECT_FALSE(fetched_topics()[1 - index].is_portrait);
+  EXPECT_EQ(fetched_topics()[1 - index].topic_type, ::ambient::TopicType::kGeo);
+  EXPECT_EQ(fetched_topics()[1 - index].related_image_url, "");
+  EXPECT_EQ(fetched_topics()[1 - index].related_details, "");
 }
 }  // namespace ash
diff --git a/ash/assistant/ui/BUILD.gn b/ash/assistant/ui/BUILD.gn
index 2e99422..3f4ca57c 100644
--- a/ash/assistant/ui/BUILD.gn
+++ b/ash/assistant/ui/BUILD.gn
@@ -7,9 +7,7 @@
 
 assert(is_chromeos)
 
-component("constants") {
-  output_name = "assistant_ui_constants"
-
+source_set("constants") {
   defines = [ "IS_ASSISTANT_UI_CONSTANTS_IMPL" ]
 
   sources = [
@@ -26,9 +24,7 @@
   ]
 }
 
-component("ui") {
-  output_name = "assistant_ui"
-
+source_set("ui") {
   defines = [ "IS_ASSISTANT_UI_IMPL" ]
 
   sources = [
diff --git a/ash/assistant/ui/main_stage/assistant_query_view.cc b/ash/assistant/ui/main_stage/assistant_query_view.cc
index 135d700..26a38d9 100644
--- a/ash/assistant/ui/main_stage/assistant_query_view.cc
+++ b/ash/assistant/ui/main_stage/assistant_query_view.cc
@@ -14,6 +14,7 @@
 #include "ash/assistant/ui/colors/assistant_colors_util.h"
 #include "ash/constants/ash_features.h"
 #include "ash/public/cpp/style/color_provider.h"
+#include "ash/public/cpp/style/scoped_light_mode_as_default.h"
 #include "base/strings/utf_string_conversions.h"
 #include "net/base/escape.h"
 #include "third_party/skia/include/core/SkColor.h"
@@ -77,34 +78,21 @@
   // Changing color of a background object doesn't trigger a paint.
   SchedulePaint();
 
-  // TODO(crbug.com/1176919): We cannot use ScopedLightModeAsDefault from
-  // ash/assistant/ui as it causes a circular dependency. Find a better way to
-  // resolve cros_styles color.
-  SkColor text_color_primary =
-      features::IsDarkLightModeEnabled()
-          ? ColorProvider::Get()->GetContentLayerColor(
-                ColorProvider::ContentLayerType::kTextColorPrimary)
-          : cros_styles::ResolveColor(cros_styles::ColorName::kTextColorPrimary,
-                                      /*is_dark_mode=*/false,
-                                      /*use_debug_colors=*/false);
-  SkColor text_color_secondary =
-      features::IsDarkLightModeEnabled()
-          ? ColorProvider::Get()->GetContentLayerColor(
-                ColorProvider::ContentLayerType::kTextColorSecondary)
-          : cros_styles::ResolveColor(
-                cros_styles::ColorName::kTextColorSecondary,
-                /*is_dark_mode=*/false,
-                /*use_debug_colors=*/false);
+  ScopedLightModeAsDefault scoped_light_mode_as_default;
 
   high_confidence_label_->SetBackgroundColor(
       ash::assistant::ResolveAssistantColor(
           assistant_colors::ColorName::kBgAssistantPlate));
-  high_confidence_label_->SetEnabledColor(text_color_primary);
+  high_confidence_label_->SetEnabledColor(
+      ColorProvider::Get()->GetContentLayerColor(
+          ColorProvider::ContentLayerType::kTextColorPrimary));
 
   low_confidence_label_->SetBackgroundColor(
       ash::assistant::ResolveAssistantColor(
           assistant_colors::ColorName::kBgAssistantPlate));
-  low_confidence_label_->SetEnabledColor(text_color_secondary);
+  low_confidence_label_->SetEnabledColor(
+      ColorProvider::Get()->GetContentLayerColor(
+          ColorProvider::ContentLayerType::kTextColorSecondary));
 }
 
 void AssistantQueryView::InitLayout() {
diff --git a/ash/assistant/ui/main_stage/assistant_zero_state_view.cc b/ash/assistant/ui/main_stage/assistant_zero_state_view.cc
index 5bb160d7..50240c8 100644
--- a/ash/assistant/ui/main_stage/assistant_zero_state_view.cc
+++ b/ash/assistant/ui/main_stage/assistant_zero_state_view.cc
@@ -17,6 +17,7 @@
 #include "ash/public/cpp/assistant/assistant_state.h"
 #include "ash/public/cpp/assistant/controller/assistant_ui_controller.h"
 #include "ash/public/cpp/style/color_provider.h"
+#include "ash/public/cpp/style/scoped_light_mode_as_default.h"
 #include "ash/strings/grit/ash_strings.h"
 #include "chromeos/services/assistant/public/cpp/features.h"
 #include "third_party/skia/include/core/SkColor.h"
@@ -72,17 +73,9 @@
   greeting_label_->SetBackgroundColor(ash::assistant::ResolveAssistantColor(
       assistant_colors::ColorName::kBgAssistantPlate));
 
-  // TODO(crbug.com/1176919): We cannot use ScopedLightModeAsDefault from
-  // ash/assistant/ui as it causes a circular dependency. Find a better way to
-  // resolve cros_styles color.
-  SkColor text_color_primary =
-      features::IsDarkLightModeEnabled()
-          ? ColorProvider::Get()->GetContentLayerColor(
-                ColorProvider::ContentLayerType::kTextColorPrimary)
-          : cros_styles::ResolveColor(cros_styles::ColorName::kTextColorPrimary,
-                                      /*is_dark_mode=*/false,
-                                      /*use_debug_colors=*/false);
-  greeting_label_->SetEnabledColor(text_color_primary);
+  ScopedLightModeAsDefault scoped_light_mode_as_default;
+  greeting_label_->SetEnabledColor(ColorProvider::Get()->GetContentLayerColor(
+      ColorProvider::ContentLayerType::kTextColorPrimary));
 }
 
 void AssistantZeroStateView::OnAssistantControllerDestroying() {
diff --git a/ash/strings/ash_strings_as.xtb b/ash/strings/ash_strings_as.xtb
index 19d1ac0..220af1f 100644
--- a/ash/strings/ash_strings_as.xtb
+++ b/ash/strings/ash_strings_as.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">ছেট আপ কৰক</translation>
 <translation id="3573179567135747900">পুনৰ "<ph name="FROM_LOCALE" />"লৈ সলনি কৰক (ৰিষ্টাৰ্ট কৰাৰ প্ৰয়োজন)</translation>
 <translation id="3576141592585647168">সময় মণ্ডল সলনি কৰক</translation>
+<translation id="3580650856351781466">কথনৰ ফাইল ডাউনল’ড কৰি থকা হৈছে</translation>
 <translation id="3593039967545720377">আপোনাৰ ক্লিপব’ৰ্ড চাবলৈ <ph name="SHORTCUT_KEY_NAME" /> + V টিপি নিজৰ ক্লিপব’ৰ্ডৰ ইতিহাস এক্সেছ কৰক। আৰম্ভ কৰিবলৈ এটা বস্তু প্ৰতিলিপি কৰক।</translation>
 <translation id="3593646411856133110">খোলা এপ্‌সমূহ চাবলৈ ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক</translation>
 <translation id="3595596368722241419">বেটাৰী চ্চাৰ্জ সম্পূৰ্ণ হৈছে</translation>
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb
index 972180c7..4a1fdc8 100644
--- a/ash/strings/ash_strings_bn.xtb
+++ b/ash/strings/ash_strings_bn.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">সেট-আপ</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />" তে ফেরান (পুনর্সূচনা প্রয়োজন)</translation>
 <translation id="3576141592585647168">টাইমজোন পরিবর্তন করা</translation>
+<translation id="3580650856351781466">স্পিচ ফাইল ডাউনলোড করা চলছে</translation>
 <translation id="3593039967545720377">ক্লিপবোর্ড ইতিহাস অ্যাক্সেস করতে এবং ক্লিপবোর্ড দেখতে <ph name="SHORTCUT_KEY_NAME" /> + V টিপুন। শুরু করতে আইটেম কপি করুন।</translation>
 <translation id="3593646411856133110">খুলে রাখা অ্যাপগুলি দেখার জন্য উপরের দিকে সোয়াইপ করে ধরে রাখুন</translation>
 <translation id="3595596368722241419">ব্যাটারি পুরো চার্জ</translation>
diff --git a/ash/strings/ash_strings_gu.xtb b/ash/strings/ash_strings_gu.xtb
index debf1df..2dec0d8 100644
--- a/ash/strings/ash_strings_gu.xtb
+++ b/ash/strings/ash_strings_gu.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">સેટ અપ</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />" પર પાછા જાઓ (ફરી શરૂ કરવું જરૂરી છે)</translation>
 <translation id="3576141592585647168">ટાઇમઝોનમાં ફેરફાર કરો</translation>
+<translation id="3580650856351781466">સ્પીચ ફાઇલો ડાઉનલોડ કરી રહ્યાં છીએ</translation>
 <translation id="3593039967545720377">તમારું ક્લિપબોર્ડ જોવા માટે <ph name="SHORTCUT_KEY_NAME" /> + V દબાવીને તમારા ક્લિપબોર્ડનો ઇતિહાસ ઍક્સેસ કરો. શરૂ કરવા માટે કોઈ આઇટમ કૉપિ કરો.</translation>
 <translation id="3593646411856133110">ખુલ્લી ઍપ જોવા માટે ઉપર સ્વાઇપ કરો અને હોલ્ડ કરો</translation>
 <translation id="3595596368722241419">બૅટરી પૂર્ણ ચાર્જ</translation>
diff --git a/ash/strings/ash_strings_kn.xtb b/ash/strings/ash_strings_kn.xtb
index 1c8a3bb..be44de3 100644
--- a/ash/strings/ash_strings_kn.xtb
+++ b/ash/strings/ash_strings_kn.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">ಹೊಂದಿಸು</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />" ಗೆ ಮರುಬದಲಾಯಿಸಿ (ಮರುಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿದೆ)</translation>
 <translation id="3576141592585647168">ಸಮಯವಲಯವನ್ನು ಬದಲಾಯಿಸಿ</translation>
+<translation id="3580650856351781466">ಧ್ವನಿ ಫೈಲ್‌ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="3593039967545720377">ನಿಮ್ಮ ಕ್ಲಿಪ್‌ಬೋರ್ಡ್ ಅನ್ನು ವೀಕ್ಷಿಸಲು <ph name="SHORTCUT_KEY_NAME" /> + V ಅನ್ನು ಒತ್ತುವ ಮೂಲಕ ನಿಮ್ಮ ಕ್ಲಿಪ್‌ಬೋರ್ಡ್ ಇತಿಹಾಸವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು. ಪ್ರಾರಂಭಿಸಲು, ಐಟಂ ಅನ್ನು ನಕಲಿಸಿ.</translation>
 <translation id="3593646411856133110">ತೆರೆದಿರುವ ಆ್ಯಪ್‌ಗಳನ್ನು ನೋಡಲು, ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ, ಒತ್ತಿಹಿಡಿಯಿರಿ</translation>
 <translation id="3595596368722241419">ಬ್ಯಾಟರಿ ಭರ್ತಿಯಾಗಿದೆ</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb
index 9f19f6e6c..2ff238e 100644
--- a/ash/strings/ash_strings_mr.xtb
+++ b/ash/strings/ash_strings_mr.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">सेट अप</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />"मध्ये परत बदला (रीस्टार्ट करणे आवश्यक)</translation>
 <translation id="3576141592585647168">टाइमझोन बदला</translation>
+<translation id="3580650856351781466">स्पीच फाइल डाउनलोड होत आहेत</translation>
 <translation id="3593039967545720377">तुमचे क्लिपबोर्ड पाहण्यासाठी, <ph name="SHORTCUT_KEY_NAME" /> + V दाबून तुमचा क्लिपबोर्ड इतिहास ॲक्सेस करा. सुरुवात करण्यासाठी आयटम कॉपी करा.</translation>
 <translation id="3593646411856133110">उघडी अ‍ॅप्स पाहण्यासाठी वर स्वाइप करा आणि धरून ठेवा</translation>
 <translation id="3595596368722241419">बॅटरी पूर्ण चार्ज</translation>
diff --git a/ash/strings/ash_strings_or.xtb b/ash/strings/ash_strings_or.xtb
index cb5fb3e..f8e4053d 100644
--- a/ash/strings/ash_strings_or.xtb
+++ b/ash/strings/ash_strings_or.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">ସେଟ୍ ଅପ୍</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />"ରେ ପୁଣି ପରିବର୍ତ୍ତନ କରନ୍ତୁ (ପୁନରାରମ୍ଭର ଆବଶ୍ୟକତା ଅଛି)</translation>
 <translation id="3576141592585647168">ସମୟକ୍ଷେତ୍ର ବଦଳାନ୍ତୁ</translation>
+<translation id="3580650856351781466">ସ୍ପିଚ୍ ଫାଇଲଗୁଡ଼ିକୁ ଡାଉନଲୋଡ୍ କରାଯାଉଛି</translation>
 <translation id="3593039967545720377">ଆପଣଙ୍କ କ୍ଲିପବୋର୍ଡ ଦେଖିବାକୁ <ph name="SHORTCUT_KEY_NAME" /> + V ଦବାଇ ଆପଣଙ୍କ କ୍ଲିପବୋର୍ଡ ଇତିହାସକୁ ଆକ୍ସେସ୍ କରନ୍ତୁ। ଆରମ୍ଭ କରିବାକୁ ଏକ ଆଇଟମ୍ କପି କରନ୍ତୁ।</translation>
 <translation id="3593646411856133110">ଖୋଲା ଥିବା ଆପଗୁଡ଼ିକୁ ଦେଖିବାକୁ ଉପରକୁ ଉଠାଇ ଧରି ରଖନ୍ତୁ</translation>
 <translation id="3595596368722241419">ବ୍ୟାଟେରୀ ପୂର୍ଣ୍ଣ</translation>
diff --git a/ash/strings/ash_strings_pa.xtb b/ash/strings/ash_strings_pa.xtb
index c29cdd20..e0f50e5 100644
--- a/ash/strings/ash_strings_pa.xtb
+++ b/ash/strings/ash_strings_pa.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">ਸਥਾਪਤ ਕਰੋ</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />" 'ਤੇ ਵਾਪਸ ਬਦਲੋ (ਮੁੜ-ਸ਼ੁਰੂ ਲੋੜੀਂਦਾ)</translation>
 <translation id="3576141592585647168">ਸਮਾਂ ਖੇਤਰ ਬਦਲੋ</translation>
+<translation id="3580650856351781466">ਬੋਲੀ ਵਾਲੀਆਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="3593039967545720377">ਆਪਣਾ ਕਲਿੱਪਬੋਰਡ ਦੇਖਣ ਲਈ <ph name="SHORTCUT_KEY_NAME" /> + V ਦਬਾ ਕੇ ਆਪਣੇ ਕਲਿੱਪਬੋਰਡ ਦੇ ਇਤਿਹਾਸ ਤੱਕ ਪਹੁੰਚ ਕਰੋ। ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਕੋਈ ਆਈਟਮ ਕਾਪੀ ਕਰੋ।</translation>
 <translation id="3593646411856133110">ਖੁੱਲ੍ਹੀਆਂ ਐਪਾਂ ਦੇਖਣ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ</translation>
 <translation id="3595596368722241419">ਬੈਟਰੀ ਪੂਰੀ</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb
index fb9b387..d6b6beb8 100644
--- a/ash/strings/ash_strings_ta.xtb
+++ b/ash/strings/ash_strings_ta.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">அமை</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />" க்கு மீண்டும் மாற்று (மறுதொடக்கம் தேவை)</translation>
 <translation id="3576141592585647168">நேரமண்டலத்தை மாற்றுக</translation>
+<translation id="3580650856351781466">பேச்சு அறிதல் அம்சத்திற்கான ஃபைல்களைப் பதிவிறக்குகிறது</translation>
 <translation id="3593039967545720377">கிளிப்போர்டைப் பார்க்க, <ph name="SHORTCUT_KEY_NAME" /> + V விசைகளை அழுத்தி இதுவரையான கிளிப்போர்டு தகவல்களை அணுகலாம். இதைச் செய்ய, ஏதேனும் ஒன்றை நகலெடுக்கவும்.</translation>
 <translation id="3593646411856133110">திறந்திருக்கும் ஆப்ஸ்களைப் பார்க்க மேலே ஸ்வைப் செய்து பிடிக்கவும்</translation>
 <translation id="3595596368722241419">பேட்டரி நிரம்பியது</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb
index 8aa617e..a2f0358f 100644
--- a/ash/strings/ash_strings_te.xtb
+++ b/ash/strings/ash_strings_te.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">సెటప్ చేయి</translation>
 <translation id="3573179567135747900">"<ph name="FROM_LOCALE" />"కు వెనుక‌కు మార్చండి (పునఃప్రారంభం అవసరం)</translation>
 <translation id="3576141592585647168">సమయ మండలిని మార్చండి</translation>
+<translation id="3580650856351781466">స్పీచ్ ఫైల్‌లను డౌన్‌లోడ్ చేస్తోంది</translation>
 <translation id="3593039967545720377">మీ క్లిప్‌బోర్డ్‌ను చూడడానికి, <ph name="SHORTCUT_KEY_NAME" /> + V నొక్కడం ద్వారా మీ క్లిప్‌బోర్డ్ హిస్టరీని యాక్సెస్ చేయండి. ప్రారంభించడానికి, ఐటెమ్‌ను కాపీ చేయండి.</translation>
 <translation id="3593646411856133110">తెరిచి ఉన్న యాప్‌లను చూడటానికి పైకి స్వైప్ చేసి, పట్టుకోండి</translation>
 <translation id="3595596368722241419">బ్యాటరీ నిండింది</translation>
diff --git a/ash/strings/ash_strings_ur.xtb b/ash/strings/ash_strings_ur.xtb
index 6009dfa7..7d2b780 100644
--- a/ash/strings/ash_strings_ur.xtb
+++ b/ash/strings/ash_strings_ur.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">ترتیب دیں</translation>
 <translation id="3573179567135747900">واپس "<ph name="FROM_LOCALE" />" میں تبدیل کریں (ری اسٹارٹ مطلوب ہے)</translation>
 <translation id="3576141592585647168">ٹائم زون تبدیل کریں</translation>
+<translation id="3580650856351781466">اسپیچ فائلز ڈاؤن لوڈ کی جا رہی ہیں</translation>
 <translation id="3593039967545720377">‏اپنا کلپ بورڈ دیکھنے کیلئے، ‎<ph name="SHORTCUT_KEY_NAME" /> +‎ ‎V دبا کر اپنے کلپ بورڈ کی سرگزشت تک رسائی حاصل کریں۔ شروع کرنے کیلئے ایک آئٹم کاپی کریں۔</translation>
 <translation id="3593646411856133110">کھلی ایپس کو دیکھنے کے لیے سوائپ اپ اور ہولڈ کریں</translation>
 <translation id="3595596368722241419">بیٹری پوری چارج ہے</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb
index cf5815b..481faa1 100644
--- a/ash/strings/ash_strings_zh-CN.xtb
+++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -324,6 +324,7 @@
 <translation id="3571734092741541777">设置</translation>
 <translation id="3573179567135747900">重新更改为“<ph name="FROM_LOCALE" />”(需要重启)</translation>
 <translation id="3576141592585647168">更改时区</translation>
+<translation id="3580650856351781466">正在下载语音识别结果文件</translation>
 <translation id="3593039967545720377">您只需按“<ph name="SHORTCUT_KEY_NAME" /> + V”打开剪贴板,便可访问剪贴板历史记录。首先,请复制一项内容。</translation>
 <translation id="3593646411856133110">向上滑动并按住屏幕可查看已打开的应用</translation>
 <translation id="3595596368722241419">电池已充满</translation>
diff --git a/ash/webui/diagnostics_ui/backend/input_data_provider_unittest.cc b/ash/webui/diagnostics_ui/backend/input_data_provider_unittest.cc
index 934650bc..df5f223 100644
--- a/ash/webui/diagnostics_ui/backend/input_data_provider_unittest.cc
+++ b/ash/webui/diagnostics_ui/backend/input_data_provider_unittest.cc
@@ -149,9 +149,9 @@
   provider_->GetConnectedDevices(base::BindLambdaForTesting(
       [&](std::vector<mojom::KeyboardInfoPtr> keyboards,
           std::vector<mojom::TouchDeviceInfoPtr> touch_devices) {
-        EXPECT_EQ(1ul, keyboards.size());
+        ASSERT_EQ(1ul, keyboards.size());
         // The stylus device should be filtered out, hence only 2 touch devices.
-        EXPECT_EQ(2ul, touch_devices.size());
+        ASSERT_EQ(2ul, touch_devices.size());
 
         mojom::KeyboardInfoPtr keyboard = keyboards[0].Clone();
         EXPECT_EQ(0u, keyboard->id);
@@ -181,8 +181,8 @@
   provider_->GetConnectedDevices(base::BindLambdaForTesting(
       [&](std::vector<mojom::KeyboardInfoPtr> keyboards,
           std::vector<mojom::TouchDeviceInfoPtr> touch_devices) {
-        EXPECT_EQ(0ul, keyboards.size());
-        EXPECT_EQ(0ul, touch_devices.size());
+        ASSERT_EQ(0ul, keyboards.size());
+        ASSERT_EQ(0ul, touch_devices.size());
       }));
 
   ui::DeviceEvent event(ui::DeviceEvent::DeviceType::INPUT,
@@ -194,7 +194,7 @@
   provider_->GetConnectedDevices(base::BindLambdaForTesting(
       [&](std::vector<mojom::KeyboardInfoPtr> keyboards,
           std::vector<mojom::TouchDeviceInfoPtr> touch_devices) {
-        EXPECT_EQ(1ul, keyboards.size());
+        ASSERT_EQ(1ul, keyboards.size());
         mojom::KeyboardInfoPtr keyboard = keyboards[0].Clone();
         EXPECT_EQ(4u, keyboard->id);
         EXPECT_EQ(mojom::ConnectionType::kUsb, keyboard->connection_type);
@@ -223,10 +223,10 @@
   provider_->GetConnectedDevices(base::BindLambdaForTesting(
       [&](std::vector<mojom::KeyboardInfoPtr> keyboards,
           std::vector<mojom::TouchDeviceInfoPtr> touch_devices) {
-        EXPECT_EQ(1ul, keyboards.size());
+        ASSERT_EQ(1ul, keyboards.size());
         EXPECT_EQ(4u, keyboards[0]->id);
 
-        EXPECT_EQ(1ul, touch_devices.size());
+        ASSERT_EQ(1ul, touch_devices.size());
         EXPECT_EQ(1u, touch_devices[0]->id);
       }));
 
@@ -274,7 +274,7 @@
   provider_->GetConnectedDevices(base::BindLambdaForTesting(
       [&](std::vector<mojom::KeyboardInfoPtr> keyboards,
           std::vector<mojom::TouchDeviceInfoPtr> touch_devices) {
-        EXPECT_EQ(3ul, keyboards.size());
+        ASSERT_EQ(3ul, keyboards.size());
 
         mojom::KeyboardInfoPtr builtin_keyboard = keyboards[0].Clone();
         EXPECT_EQ(0u, builtin_keyboard->id);
@@ -317,7 +317,7 @@
   provider_->GetConnectedDevices(base::BindLambdaForTesting(
       [&](std::vector<mojom::KeyboardInfoPtr> keyboards,
           std::vector<mojom::TouchDeviceInfoPtr> touch_devices) {
-        EXPECT_EQ(2ul, keyboards.size());
+        ASSERT_EQ(2ul, keyboards.size());
 
         mojom::KeyboardInfoPtr link_keyboard = keyboards[0].Clone();
         EXPECT_EQ(0u, link_keyboard->id);
@@ -338,7 +338,7 @@
                                      base::FilePath("/dev/input/event4"));
   provider_->OnDeviceEvent(add_keyboard_event);
   task_environment_.RunUntilIdle();
-  EXPECT_EQ(1ul, fake_observer.keyboards_connected.size());
+  ASSERT_EQ(1ul, fake_observer.keyboards_connected.size());
   EXPECT_EQ(4u, fake_observer.keyboards_connected[0]->id);
 
   ui::DeviceEvent remove_keyboard_event(ui::DeviceEvent::DeviceType::INPUT,
@@ -346,7 +346,7 @@
                                         base::FilePath("/dev/input/event4"));
   provider_->OnDeviceEvent(remove_keyboard_event);
   task_environment_.RunUntilIdle();
-  EXPECT_EQ(1ul, fake_observer.keyboards_disconnected.size());
+  ASSERT_EQ(1ul, fake_observer.keyboards_disconnected.size());
   EXPECT_EQ(4u, fake_observer.keyboards_disconnected[0]);
 }
 
@@ -360,7 +360,7 @@
                                   base::FilePath("/dev/input/event1"));
   provider_->OnDeviceEvent(add_touch_event);
   task_environment_.RunUntilIdle();
-  EXPECT_EQ(1ul, fake_observer.touch_devices_connected.size());
+  ASSERT_EQ(1ul, fake_observer.touch_devices_connected.size());
   EXPECT_EQ(1u, fake_observer.touch_devices_connected[0]->id);
 
   ui::DeviceEvent remove_touch_event(ui::DeviceEvent::DeviceType::INPUT,
@@ -368,7 +368,7 @@
                                      base::FilePath("/dev/input/event1"));
   provider_->OnDeviceEvent(remove_touch_event);
   task_environment_.RunUntilIdle();
-  EXPECT_EQ(1ul, fake_observer.touch_devices_disconnected.size());
+  ASSERT_EQ(1ul, fake_observer.touch_devices_disconnected.size());
   EXPECT_EQ(1u, fake_observer.touch_devices_disconnected[0]);
 }
 
diff --git a/ash/webui/diagnostics_ui/resources/battery_status_card.html b/ash/webui/diagnostics_ui/resources/battery_status_card.html
index 8dad292c..1665404b 100644
--- a/ash/webui/diagnostics_ui/resources/battery_status_card.html
+++ b/ash/webui/diagnostics_ui/resources/battery_status_card.html
@@ -37,7 +37,7 @@
   <routine-section slot="routines" routines="[[routines_]]"
       routine-runtime="{{getEstimateRuntimeInMinutes_(routines_)}}"
       is-test-running="{{isTestRunning}}"
-      is-power-routine="true"
+      is-power-routine
       run-tests-button-text="[[getRunTestsButtonText_(
         batteryChargeStatus_.powerAdapterStatus
       )]]"
diff --git a/ash/webui/diagnostics_ui/resources/connectivity_card.html b/ash/webui/diagnostics_ui/resources/connectivity_card.html
index 72d84c44..7dc5d212 100644
--- a/ash/webui/diagnostics_ui/resources/connectivity_card.html
+++ b/ash/webui/diagnostics_ui/resources/connectivity_card.html
@@ -18,9 +18,9 @@
       is-test-running="{{isTestRunning}}"
       routine-runtime="{{getEstimateRuntimeInMinutes_(routines_)}}"
       is-active="[[isActive]]"
-      run-tests-automatically="true"
-      hide-routine-status="true"
-      opened="true">
+      run-tests-automatically
+      hide-routine-status
+      opened>
   </routine-section>
   <ip-config-info-drawer id="ipConfigInfoDrawer" network="[[network]]"
       slot="routines">
diff --git a/ash/webui/diagnostics_ui/resources/cpu_card.html b/ash/webui/diagnostics_ui/resources/cpu_card.html
index 01422bc..a11bd333 100644
--- a/ash/webui/diagnostics_ui/resources/cpu_card.html
+++ b/ash/webui/diagnostics_ui/resources/cpu_card.html
@@ -34,6 +34,6 @@
       banner-message="[[i18n('cpuBannerMessage')]]"
       learn-more-link-section="cpu"
       is-active="[[isActive]]"
-      hide-vertical-lines="true">
+      hide-vertical-lines>
   </routine-section>
 </diagnostics-card>
diff --git a/ash/webui/sample_system_web_app_ui/BUILD.gn b/ash/webui/sample_system_web_app_ui/BUILD.gn
index 47181125..fbbc9170 100644
--- a/ash/webui/sample_system_web_app_ui/BUILD.gn
+++ b/ash/webui/sample_system_web_app_ui/BUILD.gn
@@ -44,7 +44,12 @@
 }
 
 js_library("trusted") {
-  sources = [ "resources/page_handler.js" ]
+  sources = [
+    "resources/main.js",
+    "resources/page_handler.js",
+    "resources/timer.js",
+    "resources/worker.js",
+  ]
   deps = [ "//ash/webui/sample_system_web_app_ui/mojom:mojom_webui_js" ]
 }
 
diff --git a/ash/webui/sample_system_web_app_ui/resources/worker.js b/ash/webui/sample_system_web_app_ui/resources/worker.js
index 5f5baa5f..650f7b8 100644
--- a/ash/webui/sample_system_web_app_ui/resources/worker.js
+++ b/ash/webui/sample_system_web_app_ui/resources/worker.js
@@ -14,7 +14,7 @@
 
 let doubler = 2;
 let connectedPagePorts = new Set();
-onconnect = (event) => {
+globalThis.onconnect = (event) => {
   const port = event.ports[0];
   port.onmessage = function(e) {
     if (e.data[0] == 'doubler') {
diff --git a/base/allocator/partition_allocator/partition_bucket.cc b/base/allocator/partition_allocator/partition_bucket.cc
index d269ad3..460338ce 100644
--- a/base/allocator/partition_allocator/partition_bucket.cc
+++ b/base/allocator/partition_allocator/partition_bucket.cc
@@ -344,8 +344,9 @@
     // Note that we didn't check above, because if we cannot even commit a
     // single page, then this is likely hopeless anyway, and we will crash very
     // soon.
-    const bool ok = root->TryRecommitSystemPagesForData(slot_start, slot_size,
-                                                        PageUpdatePermissions);
+    const bool ok = root->TryRecommitSystemPagesForData(
+        &page->slot_span_metadata, slot_start, slot_size,
+        PageUpdatePermissions);
     if (!ok) {
       if (!return_null) {
         PartitionOutOfMemoryCommitFailure(root, slot_size);
@@ -522,8 +523,12 @@
   // If lazy commit is enabled, pages will be committed when provisioning slots,
   // in ProvisionMoreSlotsAndAllocOne(), not here.
   if (!root->use_lazy_commit) {
-    root->RecommitSystemPagesForData(slot_span_start, slot_span_committed_size,
+    PA_DCHECK(slot_span->GetPreviouslyCommittedSize() == 0);
+    root->RecommitSystemPagesForData(slot_span, slot_span_start,
+                                     slot_span_committed_size,
                                      PageUpdatePermissions);
+    PA_DCHECK(slot_span->GetPreviouslyCommittedSize() ==
+              slot_span_committed_size);
   }
 
   // Double check that we had enough space in the super page for the new slot
@@ -707,9 +712,23 @@
   // knowledge which pages have been committed before (it doesn't matter on
   // Windows anyway).
   if (root->use_lazy_commit) {
+    size_t previously_committed_size = slot_span->GetPreviouslyCommittedSize();
+    char* previously_committed_watermark = base + previously_committed_size;
+    // It shouldn't be possible for watermark to fall in between start and end.
+    // Obviously, watermark has to be at least as far as start.
     // TODO(lizeb): Handle commit failure.
-    root->RecommitSystemPagesForData(commit_start, commit_end - commit_start,
-                                     PageUpdatePermissions);
+    PA_DCHECK(previously_committed_watermark == commit_start ||
+              previously_committed_watermark >= commit_end);
+    root->RecommitSystemPagesForData(
+        slot_span, commit_start, commit_end - commit_start,
+        (previously_committed_watermark == commit_start)
+            ? PageUpdatePermissions
+            : PageKeepPermissionsIfPossible);
+    PA_DCHECK(
+        slot_span->GetPreviouslyCommittedSize() >=
+        bits::AlignUp(
+            (get_slots_per_span() - slot_span->num_unprovisioned_slots) * size,
+            SystemPageSize()));
   }
 
   // Add all slots that fit within so far committed pages to the free list.
@@ -884,25 +903,38 @@
       PA_DCHECK(new_slot_span->is_decommitted());
       decommitted_slot_spans_head = new_slot_span->next_slot_span;
 
+      new_slot_span->Reset();
+
       // If lazy commit is enabled, pages will be recommitted when provisioning
       // slots, in ProvisionMoreSlotsAndAllocOne(), not here.
       if (!root->use_lazy_commit) {
-        void* addr =
-            SlotSpanMetadata<thread_safe>::ToSlotSpanStartPtr(new_slot_span);
-        // If lazy commit was never used, we have a guarantee that all slot span
-        // pages have been previously committed, and then decommitted using
-        // PageKeepPermissionsIfPossible, so use the same option as an
-        // optimization. Otherwise fall back to PageUpdatePermissions (slower).
-        // (Insider knowledge: as of writing this comment, lazy commit is only
-        // used on Windows and this flag is ignored there, thus no perf impact.)
+        char* addr = reinterpret_cast<char*>(
+            SlotSpanMetadata<thread_safe>::ToSlotSpanStartPtr(new_slot_span));
+        // We have a guarantee that all slot span memory up to
+        // |GetPreviouslyCommittedSize()| has been previously committed, and
+        // if decommitted later it was done using PageKeepPermissionsIfPossible,
+        // so use the same option as an optimization.
+        size_t previously_committed_size =
+            new_slot_span->GetPreviouslyCommittedSize();
+        PA_DCHECK(previously_committed_size > 0);
         // TODO(lizeb): Handle commit failure.
-        root->RecommitSystemPagesForData(
-            addr, new_slot_span->bucket->get_bytes_per_span(),
-            root->never_used_lazy_commit ? PageKeepPermissionsIfPossible
-                                         : PageUpdatePermissions);
+        root->RecommitSystemPagesForData(new_slot_span, addr,
+                                         previously_committed_size,
+                                         PageKeepPermissionsIfPossible);
+        size_t reminder_bytes_to_commit =
+            new_slot_span->bucket->get_bytes_per_span() -
+            previously_committed_size;
+        if (reminder_bytes_to_commit > 0) {
+          // This situation can only happen if lazy commit was used before and
+          // it was turned off since.
+          root->RecommitSystemPagesForData(
+              new_slot_span, addr + previously_committed_size,
+              reminder_bytes_to_commit, PageUpdatePermissions);
+        }
+        PA_DCHECK(new_slot_span->GetPreviouslyCommittedSize() ==
+                  new_slot_span->bucket->get_bytes_per_span());
       }
 
-      new_slot_span->Reset();
       *is_already_zeroed = DecommittedMemoryIsAlwaysZeroed();
     }
     PA_DCHECK(new_slot_span);
diff --git a/base/allocator/partition_allocator/partition_page.cc b/base/allocator/partition_allocator/partition_page.cc
index 7df7e61..806e13fd 100644
--- a/base/allocator/partition_allocator/partition_page.cc
+++ b/base/allocator/partition_allocator/partition_page.cc
@@ -118,7 +118,10 @@
 template <bool thread_safe>
 SlotSpanMetadata<thread_safe>::SlotSpanMetadata(
     PartitionBucket<thread_safe>* bucket)
-    : bucket(bucket), can_store_raw_size(bucket->CanStoreRawSize()) {}
+    : bucket(bucket),
+      can_store_raw_size(bucket->CanStoreRawSize()),
+      num_previously_committed_system_pages(0),
+      unused(0) {}
 
 template <bool thread_safe>
 DeferredUnmap SlotSpanMetadata<thread_safe>::FreeSlowPath() {
diff --git a/base/allocator/partition_allocator/partition_page.h b/base/allocator/partition_allocator/partition_page.h
index 3f2af8e0a..151a710 100644
--- a/base/allocator/partition_allocator/partition_page.h
+++ b/base/allocator/partition_allocator/partition_page.h
@@ -139,8 +139,30 @@
   int8_t empty_cache_index = 0;  // -1 if not in the empty cache.
                                  // < kMaxFreeableSpans.
   static_assert(kMaxFreeableSpans < std::numeric_limits<int8_t>::max(), "");
-  const bool can_store_raw_size;
 
+  constexpr static size_t kSystemPagesInSmallRegularSpanBits = 5;
+  constexpr static size_t kMaxSystemPagesPerRegularSlotSpan =
+      kMaxPartitionPagesPerRegularSlotSpan * 4;
+  static_assert(kMaxSystemPagesPerRegularSlotSpan <
+                    (1 << kSystemPagesInSmallRegularSpanBits),
+                "");
+  uint8_t can_store_raw_size : 1;
+
+ private:
+  // For small buckets buckets (i.e. when can_store_raw_size is false), stores
+  // value 0-16, as there may be at most 4 partition pages in a slot span,
+  // each having 4 system pages. (Note, we might be able to save a bit if
+  // needed, because 0 occurs only upon slot allocation and can likley be
+  // special-cased).
+  // Otherwise, store only 0 or 1, as there can be only one slot in a span and
+  // it's easy to calculate its size in pages.
+  // Don't access this field directly, use GetPreviouslyCommittedSize() and
+  // IncrasePreviouslyCommittedSize() instead.
+  uint8_t num_previously_committed_system_pages
+      : kSystemPagesInSmallRegularSpanBits;
+  uint8_t unused : 2;
+
+ public:
   explicit SlotSpanMetadata(PartitionBucket<thread_safe>* bucket);
 
   // Public API
@@ -171,6 +193,51 @@
   ALWAYS_INLINE void SetRawSize(size_t raw_size);
   ALWAYS_INLINE size_t GetRawSize() const;
 
+  // The following functions get/set number of system pages that have been
+  // previously committed by PartitionAlloc, even though not necessarily
+  // committed now. Since those pages can only be decommitted using
+  // PageKeepPermissionsIfPossible, the same option can be used to recommit them
+  // (faster than PageUpdatePermissions).
+  //
+  // Do not call for direct map!
+  ALWAYS_INLINE size_t GetPreviouslyCommittedSize() const {
+    PA_DCHECK(!bucket->is_direct_mapped());
+    // When |can_store_raw_size| is true (ie. single-slot spans, as direct map
+    // doesn't go through this path), |num_previously_committed_system_pages|
+    // stores 0 or 1, representing whether the entire slot of size |slot_size|
+    // was committed.
+    if (can_store_raw_size) {
+      PA_DCHECK((bucket->slot_size & SystemPageOffsetMask()) == 0);
+      return num_previously_committed_system_pages * bucket->slot_size;
+    } else {
+      return num_previously_committed_system_pages << SystemPageShift();
+    }
+  }
+  ALWAYS_INLINE void IncreasePreviouslyCommittedSize(size_t size) {
+    PA_DCHECK(!bucket->is_direct_mapped());
+    PA_DCHECK(size > 0);
+    PA_DCHECK((size & SystemPageOffsetMask()) == 0);
+    // When |can_store_raw_size| is true (ie. single-slot spans, as direct map
+    // doesn't go through this path), |num_previously_committed_system_pages|
+    // stores 0 or 1, representing whether the entire slot of size |slot_size|
+    // was committed.
+    size_t num_pages = num_previously_committed_system_pages;
+    if (can_store_raw_size) {
+      PA_DCHECK(size == bucket->slot_size);
+      // Single-slot spans can only be committed from 0 to its desired size,
+      // so assert that. (This isn't true for direct map, due realloc, but
+      // these don't go through this path.)
+      PA_DCHECK(num_previously_committed_system_pages == 0);
+      num_pages = 1;
+    } else {
+      num_pages += (size >> SystemPageShift());
+    }
+    PA_DCHECK(num_pages <= kMaxSystemPagesPerRegularSlotSpan);
+    num_previously_committed_system_pages = static_cast<uint8_t>(num_pages);
+    // Ensure no trimming happened.
+    PA_DCHECK(num_pages == num_previously_committed_system_pages);
+  }
+
   ALWAYS_INLINE void SetFreelistHead(PartitionFreelistEntry* new_head);
 
   // Returns size of the region used within a slot. The used region comprises
@@ -254,7 +321,10 @@
   static SlotSpanMetadata sentinel_slot_span_;
   // For the sentinel.
   constexpr SlotSpanMetadata() noexcept
-      : bucket(nullptr), can_store_raw_size(false) {}
+      : bucket(nullptr),
+        can_store_raw_size(0),
+        num_previously_committed_system_pages(0),
+        unused(0) {}
 };
 static_assert(sizeof(SlotSpanMetadata<ThreadSafe>) <= kPageMetadataSize,
               "SlotSpanMetadata must fit into a Page Metadata slot.");
diff --git a/base/allocator/partition_allocator/partition_root.cc b/base/allocator/partition_allocator/partition_root.cc
index 64f7d9fb..20aaaa0 100644
--- a/base/allocator/partition_allocator/partition_root.cc
+++ b/base/allocator/partition_allocator/partition_root.cc
@@ -601,7 +601,6 @@
 
 template <bool thread_safe>
 void PartitionRoot<thread_safe>::ConfigureLazyCommit() {
-#if defined(OS_WIN)
   bool new_value =
       base::FeatureList::IsEnabled(features::kPartitionAllocLazyCommit);
 
@@ -611,43 +610,66 @@
     PA_DCHECK(use_lazy_commit);
     use_lazy_commit = new_value;
 
+    const bool is_quarantine_allowed = IsQuarantineAllowed();
     for (auto* super_page_extent = first_extent; super_page_extent;
          super_page_extent = super_page_extent->next) {
       for (char *super_page = SuperPagesBeginFromExtent(super_page_extent),
                 *super_page_end = SuperPagesEndFromExtent(super_page_extent);
            super_page != super_page_end; super_page += kSuperPageSize) {
         internal::IterateSlotSpans<thread_safe>(
-            super_page, IsQuarantineAllowed(),
+            super_page, is_quarantine_allowed,
             [this](SlotSpan* slot_span) -> bool {
               lock_.AssertAcquired();
-              size_t provisioned_size = slot_span->GetProvisionedSize();
-              size_t size_to_commit = slot_span->bucket->get_bytes_per_span();
               if (slot_span->is_decommitted()) {
                 return false;
               }
+              size_t size_to_commit = slot_span->bucket->get_bytes_per_span();
+              PA_DCHECK(size_to_commit % SystemPageSize() == 0);
+              size_t provisioned_size = slot_span->GetProvisionedSize();
+              size_t currently_committed_size =
+                  bits::AlignUp(provisioned_size, SystemPageSize());
+              // Decommitted slot spans are skipped.
+              PA_DCHECK(currently_committed_size > 0);
+              // Unlike |currently_committed_size|, |previously_committed_size|
+              // tracks how many bytes have ever been committed, even if not
+              // committed at the moment.
+              size_t previously_committed_size =
+                  slot_span->GetPreviouslyCommittedSize();
+              PA_DCHECK(currently_committed_size <= previously_committed_size);
               if (slot_span->is_full()) {
-                PA_DCHECK(provisioned_size == size_to_commit);
+                // Nothing to do for full slot spans, because everything must
+                // be committed now.
+                PA_DCHECK(currently_committed_size == size_to_commit);
+                PA_DCHECK(previously_committed_size == size_to_commit);
+                // provisioned_size can be less if slots don't fully cover the
+                // span, but we won't be able to squeeze another slot there.
+                PA_DCHECK(size_to_commit - provisioned_size <
+                          slot_span->bucket->slot_size);
                 return false;
               }
-              PA_DCHECK(size_to_commit % SystemPageSize() == 0);
-              size_t already_committed_size =
-                  bits::AlignUp(provisioned_size, SystemPageSize());
-              // Free & decommitted slot spans are skipped.
-              PA_DCHECK(already_committed_size > 0);
-              if (size_to_commit > already_committed_size) {
+              if (size_to_commit > currently_committed_size) {
                 char* slot_span_start = reinterpret_cast<char*>(
                     SlotSpan::ToSlotSpanStartPtr(slot_span));
-                RecommitSystemPagesForData(
-                    slot_span_start + already_committed_size,
-                    size_to_commit - already_committed_size,
-                    PageUpdatePermissions);
+                if (currently_committed_size < previously_committed_size) {
+                  RecommitSystemPagesForData(
+                      slot_span, slot_span_start + currently_committed_size,
+                      previously_committed_size - currently_committed_size,
+                      PageKeepPermissionsIfPossible);
+                }
+                if (previously_committed_size < size_to_commit) {
+                  RecommitSystemPagesForData(
+                      slot_span, slot_span_start + previously_committed_size,
+                      size_to_commit - previously_committed_size,
+                      PageUpdatePermissions);
+                }
               }
+              PA_DCHECK(slot_span->GetPreviouslyCommittedSize() ==
+                        size_to_commit);
               return false;
             });
       }
     }
   }
-#endif  // defined(OS_WIN)
 }
 
 template <bool thread_safe>
@@ -721,7 +743,7 @@
     // Grow within the actually reserved address space. Just need to make the
     // pages accessible again.
     size_t recommit_slot_size_growth = new_slot_size - current_slot_size;
-    RecommitSystemPagesForData(slot_start + current_slot_size,
+    RecommitSystemPagesForData(slot_span, slot_start + current_slot_size,
                                recommit_slot_size_growth,
                                PageUpdatePermissions);
     // The recommited system pages had been already reserved and all the
diff --git a/base/allocator/partition_allocator/partition_root.h b/base/allocator/partition_allocator/partition_root.h
index 0ab4112..2a8873b 100644
--- a/base/allocator/partition_allocator/partition_root.h
+++ b/base/allocator/partition_allocator/partition_root.h
@@ -183,16 +183,7 @@
   bool allow_cookies;
   bool allow_ref_count;
 
-  // Lazy commit should only be enabled on Windows, because commit charge is
-  // only meaningful and limited on Windows. It affects performance on other
-  // platforms and is simply not needed there due to OS supporting overcommit.
-#if defined(OS_WIN)
   bool use_lazy_commit = true;
-  static constexpr bool never_used_lazy_commit = false;
-#else
-  static constexpr bool use_lazy_commit = false;
-  static constexpr bool never_used_lazy_commit = true;
-#endif
 
 #if !defined(PA_EXTRAS_REQUIRED)
   // Teach the compiler that code can be optimized in builds that use no extras.
@@ -280,12 +271,28 @@
       size_t length,
       PageAccessibilityDisposition accessibility_disposition)
       EXCLUSIVE_LOCKS_REQUIRED(lock_);
+  // Commits or recommits pages for user data (i.e. inside of slot spans) and
+  // updates relevant stats.
+  // If committing for the first time |accessibility_disposition| must be
+  // PageUpdatePermissions, otherwise must be PageKeepPermissionsIfPossible.
   ALWAYS_INLINE void RecommitSystemPagesForData(
+      internal::SlotSpanMetadata<thread_safe>* slot_span,
       void* address,
       size_t length,
       PageAccessibilityDisposition accessibility_disposition)
       EXCLUSIVE_LOCKS_REQUIRED(lock_);
   ALWAYS_INLINE bool TryRecommitSystemPagesForData(
+      internal::SlotSpanMetadata<thread_safe>* slot_span,
+      void* address,
+      size_t length,
+      PageAccessibilityDisposition accessibility_disposition);
+
+  void UpdateNumPreviouslyCommittedSystemPagesIfNeeded(
+      internal::SlotSpanMetadata<thread_safe>* slot_span,
+      size_t length,
+      PageAccessibilityDisposition accessibility_disposition);
+  void AssertNumPreviouslyCommittedSystemPages(
+      internal::SlotSpanMetadata<thread_safe>* slot_span,
       void* address,
       size_t length,
       PageAccessibilityDisposition accessibility_disposition);
@@ -1191,24 +1198,81 @@
 }
 
 template <bool thread_safe>
-ALWAYS_INLINE void PartitionRoot<thread_safe>::RecommitSystemPagesForData(
+void PartitionRoot<thread_safe>::
+    UpdateNumPreviouslyCommittedSystemPagesIfNeeded(
+        internal::SlotSpanMetadata<thread_safe>* slot_span,
+        size_t length,
+        PageAccessibilityDisposition accessibility_disposition) {
+  if (accessibility_disposition == PageUpdatePermissions &&
+      !slot_span->bucket->is_direct_mapped()) {
+    // It is the caller's responsibility to use PageUpdatePermissions only on
+    // pages that have never been committed in the past. This requirement
+    // doesn't apply to direct map and single-slot spans.
+    slot_span->IncreasePreviouslyCommittedSize(length);
+#if DCHECK_IS_ON()
+    size_t num_uncommitted_slots =
+        use_lazy_commit ? slot_span->num_unprovisioned_slots : 0;
+    size_t num_committed_slots =
+        slot_span->bucket->get_slots_per_span() - num_uncommitted_slots;
+    PA_DCHECK(slot_span->GetPreviouslyCommittedSize() ==
+              bits::AlignUp(num_committed_slots * slot_span->bucket->slot_size,
+                            SystemPageSize()));
+#endif
+  }
+}
+
+template <bool thread_safe>
+void PartitionRoot<thread_safe>::AssertNumPreviouslyCommittedSystemPages(
+    internal::SlotSpanMetadata<thread_safe>* slot_span,
     void* address,
     size_t length,
     PageAccessibilityDisposition accessibility_disposition) {
+#if DCHECK_IS_ON()
+  if (slot_span->bucket->is_direct_mapped())
+    return;
+
+  char* base = reinterpret_cast<char*>(
+      internal::SlotSpanMetadata<thread_safe>::ToSlotSpanStartPtr(slot_span));
+  size_t previously_committed_size = slot_span->GetPreviouslyCommittedSize();
+  char* previously_committed_watermark = base + previously_committed_size;
+  if (accessibility_disposition == PageUpdatePermissions) {
+    PA_DCHECK(address == previously_committed_watermark);
+  } else {
+    PA_DCHECK(address <= previously_committed_watermark - length);
+  }
+#endif  // DCHECK_IS_ON()
+}
+
+template <bool thread_safe>
+ALWAYS_INLINE void PartitionRoot<thread_safe>::RecommitSystemPagesForData(
+    internal::SlotSpanMetadata<thread_safe>* slot_span,
+    void* address,
+    size_t length,
+    PageAccessibilityDisposition accessibility_disposition) {
+  AssertNumPreviouslyCommittedSystemPages(slot_span, address, length,
+                                          accessibility_disposition);
   RecommitSystemPages(address, length, PageReadWrite,
                       accessibility_disposition);
   IncreaseCommittedPages(length);
+  UpdateNumPreviouslyCommittedSystemPagesIfNeeded(slot_span, length,
+                                                  accessibility_disposition);
 }
 
 template <bool thread_safe>
 ALWAYS_INLINE bool PartitionRoot<thread_safe>::TryRecommitSystemPagesForData(
+    internal::SlotSpanMetadata<thread_safe>* slot_span,
     void* address,
     size_t length,
     PageAccessibilityDisposition accessibility_disposition) {
+  AssertNumPreviouslyCommittedSystemPages(slot_span, address, length,
+                                          accessibility_disposition);
   bool ok = TryRecommitSystemPages(address, length, PageReadWrite,
                                    accessibility_disposition);
-  if (ok)
+  if (ok) {
     IncreaseCommittedPages(length);
+    UpdateNumPreviouslyCommittedSystemPagesIfNeeded(slot_span, length,
+                                                    accessibility_disposition);
+  }
 
   return ok;
 }
diff --git a/base/barrier_closure.cc b/base/barrier_closure.cc
index 0ad5882..76eaaf7c 100644
--- a/base/barrier_closure.cc
+++ b/base/barrier_closure.cc
@@ -9,6 +9,7 @@
 #include "base/atomic_ref_count.h"
 #include "base/bind.h"
 #include "base/memory/ptr_util.h"
+#include "base/numerics/safe_conversions.h"
 
 namespace base {
 namespace {
@@ -16,7 +17,7 @@
 // Maintains state for a BarrierClosure.
 class BarrierInfo {
  public:
-  BarrierInfo(int num_callbacks_left, OnceClosure done_closure);
+  BarrierInfo(size_t num_callbacks_left, OnceClosure done_closure);
   void Run();
 
  private:
@@ -24,8 +25,8 @@
   OnceClosure done_closure_;
 };
 
-BarrierInfo::BarrierInfo(int num_callbacks, OnceClosure done_closure)
-    : num_callbacks_left_(num_callbacks),
+BarrierInfo::BarrierInfo(size_t num_callbacks, OnceClosure done_closure)
+    : num_callbacks_left_(checked_cast<int>(num_callbacks)),
       done_closure_(std::move(done_closure)) {}
 
 void BarrierInfo::Run() {
@@ -40,10 +41,8 @@
 
 }  // namespace
 
-RepeatingClosure BarrierClosure(int num_callbacks_left,
+RepeatingClosure BarrierClosure(size_t num_callbacks_left,
                                 OnceClosure done_closure) {
-  DCHECK_GE(num_callbacks_left, 0);
-
   if (num_callbacks_left == 0) {
     std::move(done_closure).Run();
     return BindRepeating(&ShouldNeverRun);
diff --git a/base/barrier_closure.h b/base/barrier_closure.h
index 282aa39..7ae1cf1d 100644
--- a/base/barrier_closure.h
+++ b/base/barrier_closure.h
@@ -20,7 +20,7 @@
 // the thread that calls the final Run() on the returned closures.
 //
 // |done_closure| is also cleared on the final calling thread.
-BASE_EXPORT RepeatingClosure BarrierClosure(int num_closures,
+BASE_EXPORT RepeatingClosure BarrierClosure(size_t num_closures,
                                             OnceClosure done_closure);
 
 }  // namespace base
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 0bb155a..0eb1d416 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1920,28 +1920,6 @@
   }
 }
 
-# On Windows compiling on x64, VC will issue a warning when converting
-# size_t to int because it will truncate the value. Our code should not have
-# these warnings and one should use a static_cast or a checked_cast for the
-# conversion depending on the case. However, a lot of code still needs to be
-# fixed. Apply this config to such targets to disable the warning.
-#
-# Note that this can be applied regardless of platform and architecture to
-# clean up the call sites. This will only apply the flag when necessary.
-#
-# TODO(crbug.com/879657): Fix all instances and delete this.
-config("no_shorten_64_warnings") {
-  if (current_cpu == "x64" || current_cpu == "arm64") {
-    if (is_clang) {
-      cflags = [ "-Wno-shorten-64-to-32" ]
-    } else if (is_win) {
-      # MSVC does not have an explicit warning equivalent to -Wshorten-64-to-32
-      # but 4267 warns for size_t -> int on 64-bit builds, so is the closest.
-      cflags = [ "/wd4267" ]
-    }
-  }
-}
-
 # Some code presumes that pointers to structures/objects are compatible
 # regardless of whether what they point to is already known to be valid.
 # gcc 4.9 and earlier had no way of suppressing this warning without
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index e7486e7..229dd4a 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-6.20210811.1.1
+6.20210811.3.1
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index e7486e7..229dd4a 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-6.20210811.1.1
+6.20210811.3.1
diff --git a/cc/metrics/compositor_timing_history.cc b/cc/metrics/compositor_timing_history.cc
index b765c3636..c8c2bb6 100644
--- a/cc/metrics/compositor_timing_history.cc
+++ b/cc/metrics/compositor_timing_history.cc
@@ -39,6 +39,9 @@
   // Only the renderer would get the meaningful data.
   virtual void AddDrawIntervalWithCustomPropertyAnimations(
       base::TimeDelta duration) = 0;
+
+  virtual void AddImplFrameDeadlineType(
+      CompositorTimingHistory::DeadlineMode deadline_mode) = 0;
 };
 
 namespace {
@@ -323,6 +326,12 @@
     UMA_HISTOGRAM_CUSTOM_TIMES_DURATION("Scheduling.Renderer.DrawDuration",
                                         duration);
   }
+
+  void AddImplFrameDeadlineType(
+      CompositorTimingHistory::DeadlineMode deadline_mode) override {
+    UMA_HISTOGRAM_ENUMERATION("Scheduling.Renderer.DeadlineMode",
+                              deadline_mode);
+  }
 };
 
 class BrowserUMAReporter : public CompositorTimingHistory::UMAReporter {
@@ -360,6 +369,12 @@
     UMA_HISTOGRAM_CUSTOM_TIMES_DURATION("Scheduling.Browser.DrawDuration",
                                         duration);
   }
+
+  void AddImplFrameDeadlineType(
+      CompositorTimingHistory::DeadlineMode deadline_mode) override {
+    // The browser compositor scheduler is synchronous and only has None (or
+    // Blocked as edges cases) for deadline mode.
+  }
 };
 
 class NullUMAReporter : public CompositorTimingHistory::UMAReporter {
@@ -375,6 +390,8 @@
       base::TimeDelta duration,
       TreePriority priority) override {}
   void AddDrawDuration(base::TimeDelta duration) override {}
+  void AddImplFrameDeadlineType(
+      CompositorTimingHistory::DeadlineMode deadline_mode) override {}
 };
 
 }  // namespace
@@ -747,6 +764,11 @@
   tree_priority_ = priority;
 }
 
+void CompositorTimingHistory::RecordDeadlineMode(DeadlineMode deadline_mode) {
+  if (uma_reporter_)
+    uma_reporter_->AddImplFrameDeadlineType(deadline_mode);
+}
+
 void CompositorTimingHistory::ClearHistory() {
   TRACE_EVENT0("cc,benchmark", "CompositorTimingHistory::ClearHistory");
 
@@ -760,5 +782,4 @@
   activate_duration_history_.Clear();
   draw_duration_history_.Clear();
 }
-
 }  // namespace cc
diff --git a/cc/metrics/compositor_timing_history.h b/cc/metrics/compositor_timing_history.h
index 398e3e0..8d01636 100644
--- a/cc/metrics/compositor_timing_history.h
+++ b/cc/metrics/compositor_timing_history.h
@@ -86,6 +86,10 @@
   void WillInvalidateOnImplSide();
   void SetTreePriority(TreePriority priority);
 
+  // Record the scheduler's deadline mode and send to UMA.
+  using DeadlineMode = SchedulerStateMachine::BeginImplFrameDeadlineMode;
+  void RecordDeadlineMode(DeadlineMode deadline_mode);
+
   base::TimeTicks begin_main_frame_sent_time() const {
     return begin_main_frame_sent_time_;
   }
diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc
index 37165ae..a8ba4e2 100644
--- a/cc/scheduler/scheduler.cc
+++ b/cc/scheduler/scheduler.cc
@@ -763,6 +763,7 @@
   //     order to wait for more user-input before starting the next commit.
   // * Creating a new OuputSurface will not occur during the deadline in
   //     order to allow the state machine to "settle" first.
+  compositor_timing_history_->RecordDeadlineMode(deadline_mode_);
   if (!settings_.using_synchronous_renderer_compositor) {
     compositor_timing_history_->WillFinishImplFrame(
         state_machine_.needs_redraw());
diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h
index 6b34cb30..70f8b8b 100644
--- a/cc/scheduler/scheduler_state_machine.h
+++ b/cc/scheduler/scheduler_state_machine.h
@@ -64,18 +64,25 @@
       BeginImplFrameState
       BeginImplFrameStateToProtozeroEnum(BeginImplFrameState state);
 
+  // These values are persisted to logs. Entries should not be renumbered and
+  // numeric values should never be reused.
+  // TODO(weiliangc): The histogram is used to understanding what type of
+  // deadline mode do we encounter in real world and is set to expire after
+  // 2022. The Enum can be changed after the histogram is removed.
   // The scheduler uses a deadline to wait for main thread updates before
   // submitting a compositor frame. BeginImplFrameDeadlineMode specifies when
   // the deadline should run.
   enum class BeginImplFrameDeadlineMode {
-    NONE,  // No deadline should be scheduled e.g. for synchronous compositor.
-    IMMEDIATE,  // Deadline should be scheduled to run immediately.
-    REGULAR,  // Deadline should be scheduled to run at the deadline provided by
-              // in the BeginFrameArgs.
-    LATE,  // Deadline should be scheduled run when the next frame is expected
-           // to arrive.
-    BLOCKED,  // Deadline should be blocked indefinitely until the next frame
-              // arrives.
+    NONE = 0,  // No deadline should be scheduled e.g. for synchronous
+               // compositor.
+    IMMEDIATE = 1,  // Deadline should be scheduled to run immediately.
+    REGULAR = 2,    // Deadline should be scheduled to run at the deadline
+                    // provided by in the BeginFrameArgs.
+    LATE = 3,       // Deadline should be scheduled run when the next frame is
+                    // expected to arrive.
+    BLOCKED = 4,    // Deadline should be blocked indefinitely until the next
+                    // frame arrives.
+    kMaxValue = BLOCKED,
   };
   // TODO(nuskos): Update Scheduler::ScheduleBeginImplFrameDeadline event to
   // used typed macros so we can remove this ToString function.
diff --git a/chrome/VERSION b/chrome/VERSION
index fa5cb75..abfe5aa 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=94
 MINOR=0
-BUILD=4605
+BUILD=4606
 PATCH=0
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_am.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_am.xtb
index 035d4b4c..93ef10e3 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_am.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_am.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">ለመቦደን ትሮችን ይጎትቱ</translation>
 <translation id="5846292395804797011">የ<ph name="TITLE_OF_GROUP" /> ቡድንን ከ<ph name="NUMBER_OF_TABS" /> ትሮች ጋር ይዝጉ</translation>
 <translation id="6040143037577758943">ዝጋ</translation>
+<translation id="6054741997831917303">የዚህ ንጥል ዋጋ በቅርቡ ከ<ph name="PREVIOUS_PRICE" /> ወደ <ph name="NEW_PRICE" /> ቀንሷል</translation>
 <translation id="6193448654517602979">ትሮችን ምረጥ</translation>
 <translation id="6510648526783655549">የትር ድርድርን ዝጋ</translation>
 <translation id="6562820390860419811">ትርን ወደ ግራ አንቀሳቅስ</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_az.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_az.xtb
index 1d643b8..7dc6962 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_az.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_az.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">Tabları qruplaşdırmaq üçün sürüşdürün</translation>
 <translation id="5846292395804797011"><ph name="NUMBER_OF_TABS" /> tab olan <ph name="TITLE_OF_GROUP" /> qrupunu bağlayın</translation>
 <translation id="6040143037577758943">Qapat</translation>
+<translation id="6054741997831917303">Bu element bu yaxınlarda <ph name="PREVIOUS_PRICE" /> qiymətindən <ph name="NEW_PRICE" /> qiymətinə endirilib</translation>
 <translation id="6193448654517602979">Tablar seçin</translation>
 <translation id="6510648526783655549">Tab zolağını bağlayın</translation>
 <translation id="6562820390860419811">Tabı sola daşıyın</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_gl.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_gl.xtb
index 21ae607..8b09b00f 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_gl.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_gl.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">Arrastra as pestanas para agrupalas</translation>
 <translation id="5846292395804797011">Pechar grupo <ph name="TITLE_OF_GROUP" /> con <ph name="NUMBER_OF_TABS" /> pestanas</translation>
 <translation id="6040143037577758943">Pechar</translation>
+<translation id="6054741997831917303">O prezo deste artigo baixou recentemente de <ph name="PREVIOUS_PRICE" /> a <ph name="NEW_PRICE" /></translation>
 <translation id="6193448654517602979">Selecciona pestanas</translation>
 <translation id="6510648526783655549">Pechar franxa de pestanas</translation>
 <translation id="6562820390860419811">Mover pestana cara á esquerda</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_kn.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_kn.xtb
index a7847b5a..7b663ac 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_kn.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_kn.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">ಟ್ಯಾಬ್‍‍ಗಳನ್ನು ಗುಂಪುಗೂಡಿಸಲು ಅವುಗಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ</translation>
 <translation id="5846292395804797011"><ph name="NUMBER_OF_TABS" /> ಟ್ಯಾಬ್‌ಗಳ ಜೊತೆಗೆ <ph name="TITLE_OF_GROUP" /> ಗುಂಪನ್ನು ಮುಚ್ಚಿರಿ</translation>
 <translation id="6040143037577758943">ಮುಚ್ಚಿರಿ</translation>
+<translation id="6054741997831917303">ಈ ಐಟಂನ ಬೆಲೆಯು ಇತ್ತೀಚೆಗೆ <ph name="PREVIOUS_PRICE" /> ದಿಂದ <ph name="NEW_PRICE" /> ಗೆ ಕುಸಿದಿದೆ</translation>
 <translation id="6193448654517602979">ಟ್ಯಾಬ್‌ ಆಯ್ಕೆ</translation>
 <translation id="6510648526783655549">ಟ್ಯಾಬ್‌ ಸ್ಟ್ರೈಪ್‌ ಮುಚ್ಚಿ</translation>
 <translation id="6562820390860419811">ಟ್ಯಾಬ್ ಅನ್ನು ಎಡಕ್ಕೆ ಸರಿಸಿ</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_mr.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_mr.xtb
index a0bf5cc..1030a41 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_mr.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_mr.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">त्यांचा गट बनवण्यासाठी टॅबना ड्रॅग करा</translation>
 <translation id="5846292395804797011"><ph name="NUMBER_OF_TABS" /> टॅब असलेला <ph name="TITLE_OF_GROUP" /> गट बंद करा</translation>
 <translation id="6040143037577758943">बंद करा</translation>
+<translation id="6054741997831917303">या आयटमची किंमत अलीकडे <ph name="PREVIOUS_PRICE" /> वरून <ph name="NEW_PRICE" /> इतकी कमी झाली</translation>
 <translation id="6193448654517602979">टॅब निवडा</translation>
 <translation id="6510648526783655549">टॅब स्ट्रिप बंद करा</translation>
 <translation id="6562820390860419811">टॅब डावीकडे हलवा</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ne.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ne.xtb
index 0b2052e..6e4cfec 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ne.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ne.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">ट्याबहरूलाई समूहबद्ध गर्न तिनीहरूलाई ड्र्याग गर्नुहोस्</translation>
 <translation id="5846292395804797011"><ph name="NUMBER_OF_TABS" /> वटा ट्याब भएको <ph name="TITLE_OF_GROUP" /> समूह बन्द गर्नुहोस्</translation>
 <translation id="6040143037577758943">बन्द गर्नुहोस्</translation>
+<translation id="6054741997831917303">यो वस्तुको मूल्य हालसालै घटेर <ph name="PREVIOUS_PRICE" /> बाट <ph name="NEW_PRICE" /> भएको छ</translation>
 <translation id="6193448654517602979">ट्याबहरू चयन गर्नुहोस्</translation>
 <translation id="6510648526783655549">ट्याब स्ट्रिप बन्द गर्नुहोस्</translation>
 <translation id="6562820390860419811">ट्याब सारेर बायाँतिर लैजानुहोस्</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_no.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_no.xtb
index 93bf64b..6808e1a 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_no.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_no.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">Dra faner for å gruppere dem</translation>
 <translation id="5846292395804797011">Lukk <ph name="TITLE_OF_GROUP" />-gruppen med <ph name="NUMBER_OF_TABS" /> faner</translation>
 <translation id="6040143037577758943">Lukk</translation>
+<translation id="6054741997831917303">Prisen på denne varen falt nylig fra <ph name="PREVIOUS_PRICE" /> til <ph name="NEW_PRICE" /></translation>
 <translation id="6193448654517602979">Velg faner</translation>
 <translation id="6510648526783655549">Lukk faneraden</translation>
 <translation id="6562820390860419811">Flytt fanen mot venstre</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_or.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_or.xtb
index edc85c0b..fb9b41c 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_or.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_or.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">ସେଗୁଡ଼ିକର ଗୋଷ୍ଠୀ କରିବାକୁ ଟାବ୍‌ଗୁଡ଼ିକୁ ଟାଣନ୍ତୁ</translation>
 <translation id="5846292395804797011"><ph name="NUMBER_OF_TABS" />ଟି ଟାବ୍ ଥିବା <ph name="TITLE_OF_GROUP" /> ଗ୍ରୁପକୁ ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="6040143037577758943">ବନ୍ଦ</translation>
+<translation id="6054741997831917303">ଏହି ଆଇଟମର ମୂଲ୍ୟ ବର୍ତ୍ତମାନ <ph name="PREVIOUS_PRICE" />ରୁ <ph name="NEW_PRICE" />କୁ ହ୍ରାସ ପାଇଛି</translation>
 <translation id="6193448654517602979">ଟାବ୍‌ଗୁଡ଼ିକ ବାଛନ୍ତୁ</translation>
 <translation id="6510648526783655549">ଟାବ୍ ଷ୍ଟ୍ରିପ୍ ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="6562820390860419811">ଟାବ୍‍କୁ ବାମକୁ ମୁଭ୍ କରନ୍ତୁ</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_sq.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_sq.xtb
index 71d98da..a3b818a4 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_sq.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_sq.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">Zvarriti skedat për t'i grupuar</translation>
 <translation id="5846292395804797011">Mbyll grupin "<ph name="TITLE_OF_GROUP" />" me <ph name="NUMBER_OF_TABS" /> skeda</translation>
 <translation id="6040143037577758943">Mbyll</translation>
+<translation id="6054741997831917303">Çmimi i artikullit ra së fundi nga <ph name="PREVIOUS_PRICE" /> në <ph name="NEW_PRICE" /></translation>
 <translation id="6193448654517602979">Zgjidh skedat</translation>
 <translation id="6510648526783655549">Mbyll shiritin e skedave</translation>
 <translation id="6562820390860419811">Lëviz skedën majtas</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_te.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_te.xtb
index 4a82b2ac..f5b481b5 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_te.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_te.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">గ్రూప్‌గా చేయడానికి ట్యాబ్‌లను లాగండి</translation>
 <translation id="5846292395804797011"><ph name="NUMBER_OF_TABS" /> ట్యాబ్‌లతో ఉన్న <ph name="TITLE_OF_GROUP" /> గ్రూప్‌ను మూసివేయండి</translation>
 <translation id="6040143037577758943">మూసివేయి</translation>
+<translation id="6054741997831917303">ఈ ఐటెమ్ ధర ఇటీవల <ph name="PREVIOUS_PRICE" /> నుండి <ph name="NEW_PRICE" />కు తగ్గింది</translation>
 <translation id="6193448654517602979">ట్యాబ్‌లను ఎంచుకోండి</translation>
 <translation id="6510648526783655549">ట్యాబ్‌ స్ట్రిప్‌ను మూసివేస్తుంది</translation>
 <translation id="6562820390860419811">ట్యాబ్‌ను ఎడమకు తరలించు</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_th.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_th.xtb
index ae851931..0c95b347 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_th.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_th.xtb
@@ -48,6 +48,7 @@
 <translation id="58326064309361797">ลากแท็บเพื่อจัดกลุ่ม</translation>
 <translation id="5846292395804797011">เลือกกลุ่ม <ph name="TITLE_OF_GROUP" /> ที่มีแท็บอยู่ <ph name="NUMBER_OF_TABS" /> แท็บ</translation>
 <translation id="6040143037577758943">ปิด</translation>
+<translation id="6054741997831917303">ราคาสินค้านี้เพิ่งลดลงจาก <ph name="PREVIOUS_PRICE" /> เหลือ <ph name="NEW_PRICE" /></translation>
 <translation id="6193448654517602979">เลือกแท็บ</translation>
 <translation id="6510648526783655549">ปิดแนวแท็บ</translation>
 <translation id="6562820390860419811">ย้ายแท็บไปทางซ้าย</translation>
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
index e4fa64ea..f51cd2d3 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
@@ -34,6 +34,7 @@
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
 import org.chromium.chrome.browser.feed.settings.FeedAutoplaySettingsFragment;
+import org.chromium.chrome.browser.feed.shared.FeedFeatures;
 import org.chromium.chrome.browser.feed.shared.FeedSurfaceDelegate;
 import org.chromium.chrome.browser.feed.shared.FeedSurfaceProvider;
 import org.chromium.chrome.browser.feed.shared.stream.Stream;
@@ -409,7 +410,7 @@
     public void onRefresh() {
         updateReloadButtonVisibility(/*isReloading=*/true);
         mLaunchReliabilityLogger.logManualRefresh(System.nanoTime());
-        mStream.triggerRefresh((Boolean v) -> {
+        mMediator.manualRefresh((Boolean v) -> {
             if (mSwipeRefreshLayout == null) return;
             updateReloadButtonVisibility(/*isReloading=*/false);
             mSwipeRefreshLayout.setRefreshing(false);
@@ -652,8 +653,14 @@
         // Add new headers.
         List<NtpListContentManager.FeedContent> headerList = new ArrayList<>();
         for (View header : headerViews) {
-            headerList.add(new NtpListContentManager.NativeViewContent(
-                    "Header" + header.hashCode(), header));
+            NtpListContentManager.NativeViewContent content =
+                    new NtpListContentManager.NativeViewContent(
+                            "Header" + header.hashCode(), header);
+            headerList.add(content);
+            // Feed header view in multi does not need padding added.
+            if (FeedFeatures.isWebFeedUIEnabled() && header == mSectionHeaderView) {
+                content.setShouldAddPadding(false);
+            }
         }
         mHeaderCount = headerList.size();
         if (mHeaderCount > 0) {
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
index 086cff72..56e4ae03 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
@@ -161,6 +161,9 @@
                 onSelectCallback.run();
             }
 
+            // Proactively disable the unread content. Waiting for observers is too slow.
+            headerList.get(index).set(SectionHeaderProperties.UNREAD_CONTENT_KEY, false);
+
             maybeLogLaunchFinished(DiscoverLaunchResult.SWITCHED_FEED_TABS);
             getPrefService().setInteger(Pref.LAST_SEEN_FEED_TYPE, index);
             bindStream(mTabToStreamMap.get(index));
@@ -1083,6 +1086,10 @@
         return mSignInPromo;
     }
 
+    public void manualRefresh(Callback<Boolean> callback) {
+        mCurrentStream.triggerRefresh(callback);
+    }
+
     void onOverviewShownAtLaunch(long activityCreationTimeMs, boolean isInstantStart) {
         assert mActivityCreationTimeMs == 0;
         mActivityCreationTimeMs = activityCreationTimeMs;
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/NtpListContentManager.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/NtpListContentManager.java
index 210b17e7..756e398 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/NtpListContentManager.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/NtpListContentManager.java
@@ -87,6 +87,7 @@
         // An unique ID for this NativeViewContent. This is initially 0, and assigned by
         // FeedListContentManager when needed.
         private int mViewType;
+        private boolean mShouldAddPadding = true;
 
         /** Holds an inflated native view. */
         public NativeViewContent(String key, View nativeView) {
@@ -101,6 +102,11 @@
             mResId = resId;
         }
 
+        /** Toggles adding of additional padding to the view. Defaults to true. */
+        public void setShouldAddPadding(boolean shouldAddPadding) {
+            mShouldAddPadding = shouldAddPadding;
+        }
+
         /**
          * Returns the native view if the content is supported by it. Null otherwise.
          */
@@ -121,11 +127,13 @@
                     new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
             enclosingLayout.setLayoutParams(layoutParams);
 
-            // Set the left and right paddings.
-            int horizontalPadding = context.getResources().getDimensionPixelSize(
-                    R.dimen.ntp_header_lateral_margins_v2);
-            enclosingLayout.setPadding(/* left */ horizontalPadding, /* top */ 0,
-                    /* right */ horizontalPadding, /* bottom */ 0);
+            if (mShouldAddPadding) {
+                // Set the left and right paddings.
+                int horizontalPadding = context.getResources().getDimensionPixelSize(
+                        R.dimen.ntp_header_lateral_margins_v2);
+                enclosingLayout.setPadding(/* left */ horizontalPadding, /* top */ 0,
+                        /* right */ horizontalPadding, /* bottom */ 0);
+            }
             // Do not clip children. This ensures that the negative margin use in the feed header
             // does not subsequently cause the IPH bubble to be clipped.
             enclosingLayout.setClipToPadding(false);
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStream.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStream.java
index fc4bd52..07a1036 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStream.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStream.java
@@ -636,7 +636,9 @@
     @Override
     public void triggerRefresh(Callback<Boolean> callback) {
         PostTask.postTask(UiThreadTaskTraits.DEFAULT, () -> {
-            mRenderer.onPullToRefreshStarted();
+            if (mRenderer != null) {
+                mRenderer.onPullToRefreshStarted();
+            }
             FeedStreamJni.get().manualRefresh(mNativeFeedStream, FeedStream.this, callback);
         });
     }
diff --git a/chrome/android/java/res/layout/new_tab_page_multi_feed_header.xml b/chrome/android/java/res/layout/new_tab_page_multi_feed_header.xml
index dd258a0..367603f 100644
--- a/chrome/android/java/res/layout/new_tab_page_multi_feed_header.xml
+++ b/chrome/android/java/res/layout/new_tab_page_multi_feed_header.xml
@@ -10,11 +10,18 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:minHeight="@dimen/snippets_article_header_height"
-    android:orientation="horizontal"
-    android:gravity="center_vertical"
-    android:layoutDirection="locale"
-    app:animatePaddingWhenDisabled="true">
+    android:orientation="vertical"
+    android:paddingBottom="16dp"
+    app:animatePaddingWhenDisabled="true" >
+  <LinearLayout
+      android:id="@+id/main_content"
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:minHeight="@dimen/snippets_article_header_height"
+      android:orientation="horizontal"
+      android:gravity="center_vertical"
+      android:layoutDirection="locale"
+      android:paddingHorizontal="@dimen/ntp_header_lateral_margins_v2" >
 
     <!-- Null content description for now because UX in flux. -->
     <ImageView
@@ -32,7 +39,8 @@
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_weight="1"
-        android:layout_marginVertical="5dp"
+        android:layout_marginTop="5dp"
+        android:layout_marginBottom="1dp"
         style="@style/NtpHeaderTabLayoutStyle" />
 
     <TextView
@@ -55,5 +63,8 @@
         android:contentDescription="@string/accessibility_ntp_feed_menu_button"
         app:menuMaxWidth="@dimen/feed_header_menu_max_width"
         app:tint="@null" />
+  </LinearLayout>
+
+  <include layout="@layout/horizontal_divider" />
 
 </org.chromium.chrome.browser.ntp.snippets.SectionHeaderView>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
index 73b145b..a9e726b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -529,7 +529,14 @@
         if (!isNewWindowMenuFeatureEnabled()) return false;
         if (instanceSwitcherEnabled()) {
             // Hide the menu if we already have the maximum number of windows.
-            return getInstanceCount() < MultiWindowUtils.getMaxInstances();
+            if (getInstanceCount() >= MultiWindowUtils.getMaxInstances()) return false;
+
+            // On phones, show the menu only when in split-screen, with a single instance
+            // running on the foreground.
+            return isTabletSizeScreen()
+                    || (!mMultiWindowModeStateDispatcher.isChromeRunningInAdjacentWindow()
+                            && (mMultiWindowModeStateDispatcher.isInMultiWindowMode()
+                                    || mMultiWindowModeStateDispatcher.isInMultiDisplayMode()));
         } else {
             if (mMultiWindowModeStateDispatcher.isMultiInstanceRunning()) return false;
             return (mMultiWindowModeStateDispatcher.canEnterMultiWindowMode()
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31.java
index 8fb16f64..463e030 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31.java
@@ -11,10 +11,10 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.text.TextUtils;
+import android.util.SparseBooleanArray;
 
 import androidx.annotation.VisibleForTesting;
 
-import org.chromium.base.ActivityState;
 import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.ApplicationStatus;
 import org.chromium.base.ContextUtils;
@@ -163,6 +163,7 @@
     public List<InstanceInfo> getInstanceInfo() {
         removeInvalidInstanceData();
         List<InstanceInfo> result = new ArrayList<>();
+        SparseBooleanArray visibleTasks = MultiWindowUtils.getVisibleTasks();
         int currentItemPos = -1;
         for (int i = 0; i < mMaxInstances; ++i) {
             String url = readUrl(i);
@@ -176,7 +177,7 @@
                 if (a == mActivity) {
                     type = InstanceInfo.Type.CURRENT;
                     currentItemPos = i;
-                } else if (isRunningInAdjacentWindow(a)) {
+                } else if (isRunningInAdjacentWindow(visibleTasks, a)) {
                     type = InstanceInfo.Type.ADJACENT;
                 }
             }
@@ -193,10 +194,10 @@
     }
 
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
-    protected boolean isRunningInAdjacentWindow(Activity activity) {
+    protected boolean isRunningInAdjacentWindow(
+            SparseBooleanArray visibleTasks, Activity activity) {
         assert activity != mActivity;
-        // TODO: Do more rigorous check to detect the adjacent instance.
-        return ApplicationStatus.getStateForActivity(activity) == ActivityState.RESUMED;
+        return visibleTasks.get(activity.getTaskId());
     }
 
     @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcher.java
index 0a666f0..4725e157 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcher.java
@@ -56,6 +56,11 @@
     boolean isMultiInstanceRunning();
 
     /**
+     * @return Whether a Chrome task is running foreground in the adjacent window.
+     */
+    boolean isChromeRunningInAdjacentWindow();
+
+    /**
      * See {@link MultiWindowUtils#isOpenInOtherWindowSupported(Activity)}.
      * @return Whether open in other window is supported for the activity associated with this
      *         state dispatcher.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcherImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcherImpl.java
index 3aa81eab..da22b4e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcherImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowModeStateDispatcherImpl.java
@@ -62,6 +62,11 @@
     }
 
     @Override
+    public boolean isChromeRunningInAdjacentWindow() {
+        return MultiWindowUtils.getInstance().isChromeRunningInAdjacentWindow(mActivity);
+    }
+
+    @Override
     public boolean isOpenInOtherWindowSupported() {
         return MultiWindowUtils.getInstance().isOpenInOtherWindowSupported(mActivity);
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
index 314065f..5fb4743 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
@@ -17,6 +17,7 @@
 import android.os.Bundle;
 import android.provider.Browser;
 import android.text.TextUtils;
+import android.util.SparseBooleanArray;
 import android.view.Display;
 
 import androidx.annotation.IntDef;
@@ -504,6 +505,36 @@
         return activityState == ActivityState.RESUMED || activityState == ActivityState.PAUSED;
     }
 
+    /**
+     * @returns A map taskID : boolean containing the visible tasks.
+     */
+    public static SparseBooleanArray getVisibleTasks() {
+        SparseBooleanArray visibleTasks = new SparseBooleanArray();
+        List<Activity> activities = ApplicationStatus.getRunningActivities();
+        for (Activity activity : activities) {
+            if (isActivityVisible(activity)) visibleTasks.put(activity.getTaskId(), true);
+        }
+        return visibleTasks;
+    }
+
+    public boolean isChromeRunningInAdjacentWindow(Activity currentActivity) {
+        // Collect task IDs of ChromeTabbedActivity.
+        SparseBooleanArray ctaTasks = new SparseBooleanArray();
+        List<Activity> activities = ApplicationStatus.getRunningActivities();
+        for (Activity activity : activities) {
+            if (activity instanceof ChromeTabbedActivity) ctaTasks.put(activity.getTaskId(), true);
+        }
+
+        int currentTask = currentActivity.getTaskId();
+        SparseBooleanArray visibleTasks = getVisibleTasks();
+        for (int i = 0; i < visibleTasks.size(); ++i) {
+            if (!visibleTasks.valueAt(i)) continue; // skip if not visible
+            int task = visibleTasks.keyAt(i);
+            if (ctaTasks.get(task) && task != currentTask) return true;
+        }
+        return false;
+    }
+
     @VisibleForTesting
     public Boolean getTabbedActivity2TaskRunning() {
         return mTabbedActivity2TaskRunning;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SectionHeaderView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SectionHeaderView.java
index 2cc5dd1..dbad6a09 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SectionHeaderView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SectionHeaderView.java
@@ -86,6 +86,8 @@
 
     private @Nullable SectionHeaderTabListener mTabListener;
     private boolean mAnimatePaddingWhenDisabled;
+    private @Nullable View mDivider;
+    private @Nullable LinearLayout mContent;
 
     // Cached the indicator drawables for easy swapping.
     private Drawable mEnabledIndicatorDrawable;
@@ -115,6 +117,8 @@
         mMenuView = findViewById(R.id.header_menu);
         mLeadingStatusIndicator = findViewById(R.id.status_indicator);
         mTabLayout = findViewById(R.id.tab_list_view);
+        mDivider = findViewById(R.id.divider);
+        mContent = findViewById(R.id.main_content);
 
         if (mTabLayout != null) {
             mTabListener = new SectionHeaderTabListener();
@@ -290,6 +294,10 @@
                 setTextsEnabled(true);
             }
 
+            if (mDivider != null) {
+                mDivider.setVisibility(VISIBLE);
+            }
+
             ValueAnimator animator = ValueAnimator.ofInt(getPaddingLeft(), finalHorizontalPadding);
             animator.addUpdateListener((ValueAnimator animation) -> {
                 int horizontalPadding = (Integer) animation.getAnimatedValue();
@@ -330,6 +338,9 @@
                         mTabLayout.setSelectedTabIndicator(mNoIndicatorDrawable);
                         setTextsEnabled(false);
                     }
+                    if (mDivider != null) {
+                        mDivider.setVisibility(INVISIBLE);
+                    }
                 }
             });
             animator.setDuration(ANIMATION_DURATION_MS);
@@ -345,12 +356,13 @@
      * @param hasBackground true to set background; false to clear background.
      */
     private void setMaterialCardBackground(boolean hasBackground) {
+        LinearLayout layout = mContent == null ? this : mContent;
         if (!hasBackground) {
-            setBackgroundResource(0);
+            layout.setBackgroundResource(0);
             return;
         }
-        setBackgroundResource(R.drawable.card_with_corners_background);
-        GradientDrawable gradientDrawable = (GradientDrawable) getBackground();
+        layout.setBackgroundResource(R.drawable.card_with_corners_background);
+        GradientDrawable gradientDrawable = (GradientDrawable) layout.getBackground();
         gradientDrawable.setColor(
                 ChromeColors.getSurfaceColor(getContext(), R.dimen.card_elevation));
     }
@@ -413,8 +425,14 @@
                         .setViewRectProvider(rectProvider)
                         // Set clipChildren is important to make sure the bubble does not get
                         // clipped. Set back for better performance during layout.
-                        .setOnShowCallback(() -> setClipChildren(false))
-                        .setOnDismissCallback(() -> setClipChildren(true))
+                        .setOnShowCallback(() -> {
+                            mContent.setClipChildren(false);
+                            mContent.setClipToPadding(false);
+                        })
+                        .setOnDismissCallback(() -> {
+                            mContent.setClipChildren(true);
+                            mContent.setClipToPadding(true);
+                        })
                         .setHighlightParams(params)
                         .build());
     }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/test/smoke/ChromeBundleSmokeTest.java b/chrome/android/javatests/src/org/chromium/chrome/test/smoke/ChromeBundleSmokeTest.java
index fb965065..02adacc1 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/test/smoke/ChromeBundleSmokeTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/test/smoke/ChromeBundleSmokeTest.java
@@ -20,7 +20,6 @@
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.BaseJUnit4ClassRunner;
-import org.chromium.base.test.util.DisabledTest;
 import org.chromium.chrome.test.pagecontroller.rules.ChromeUiApplicationTestRule;
 import org.chromium.chrome.test.pagecontroller.rules.ChromeUiAutomatorTestRule;
 import org.chromium.chrome.test.pagecontroller.utils.IUi2Locator;
@@ -90,7 +89,6 @@
     }
 
     @Test
-    @DisabledTest(message = "https://crbug.com/1238487")
     public void testModuleNativeResourceLoading() {
         runTestActivity(3); // Test case LOAD_NATIVE_RESOURCE.
     }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31UnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31UnitTest.java
index 9e2004f4..131ffa0 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31UnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/multiwindow/MultiInstanceManagerApi31UnitTest.java
@@ -14,6 +14,7 @@
 import android.text.TextUtils;
 import android.util.Pair;
 import android.util.SparseArray;
+import android.util.SparseBooleanArray;
 
 import androidx.test.filters.SmallTest;
 
@@ -188,7 +189,8 @@
         }
 
         @Override
-        protected boolean isRunningInAdjacentWindow(Activity activity) {
+        protected boolean isRunningInAdjacentWindow(
+                SparseBooleanArray visibleTasks, Activity activity) {
             return activity == mAdjacentInstance;
         }
 
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegateUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegateUnitTest.java
index 181ec115..f0b853f 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegateUnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegateUnitTest.java
@@ -303,7 +303,23 @@
 
         createInstance(0, "https://url0");
 
+        // On phone, we do not show 'New Window'.
+        mIsTabletScreen = false;
         Menu menu = createMenuForMultiWindow();
+        assertFalse(isMenuVisible(menu, R.id.new_window_menu_id));
+
+        // Multi-window mode, with a single instance (no adjacent instance running) makes
+        // the menu visible.
+        doReturn(false).when(mMultiWindowModeStateDispatcher).isChromeRunningInAdjacentWindow();
+        mIsMultiWindow = true;
+
+        menu = createMenuForMultiWindow();
+        assertTrue(isMenuVisible(menu, R.id.new_window_menu_id));
+
+        // On tablet, we show 'New Window' by default.
+        mIsTabletScreen = true;
+        mIsMultiWindow = false;
+        menu = createMenuForMultiWindow();
         assertTrue(isMenuVisible(menu, R.id.new_window_menu_id));
 
         for (int i = 0; i < MultiWindowUtils.getMaxInstances(); ++i) {
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 89286f3..37364a4d 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -7132,6 +7132,9 @@
           <message name="IDS_TAB_CXMENU_GROUPED_BY_DESK_MENU_ITEM_A11Y" desc="The a11y message for menu items in 'Move tabs to another window' when grouped by desk.">
             <ph name="TAB_TITLE">$1<ex>Google News</ex></ph> belongs to desk <ph name="DESK_TITLE">$2<ex>School</ex></ph>
           </message>
+          <message name="IDS_TAB_CXMENU_GROUPED_BY_DESK_DESK_HEADING_A11Y" desc="The a11y message for desk headings in 'Move tabs to another window' when grouped by desk.">
+            Desk <ph name="DESK_TITLE">$1<ex>School</ex></ph> has <ph name="NUM_BROWSERS">$2<ex>3</ex></ph> browser windows open
+          </message>
         </if>
       </if>
       <if expr="use_titlecase">
diff --git a/chrome/app/generated_resources_grd/IDS_TAB_CXMENU_GROUPED_BY_DESK_DESK_HEADING_A11Y.png.sha1 b/chrome/app/generated_resources_grd/IDS_TAB_CXMENU_GROUPED_BY_DESK_DESK_HEADING_A11Y.png.sha1
new file mode 100644
index 0000000..4ad9fbd
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TAB_CXMENU_GROUPED_BY_DESK_DESK_HEADING_A11Y.png.sha1
@@ -0,0 +1 @@
+76d3fb179074e5b48c2cf114b3e3b013ea6807df
\ No newline at end of file
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb
index 5fb21aa..5123fe13 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Vee hierdie profiel en sy data uit?</translation>
 <translation id="2408018932941436077">Stoor tans kaart</translation>
 <translation id="2408955596600435184">Voer jou PIN in</translation>
+<translation id="2410754283952462441">Kies 'n rekening</translation>
 <translation id="241082044617551207">Onbekende inprop</translation>
 <translation id="2412593942846481727">Opdatering is beskikbaar</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7556,6 +7557,7 @@
 <translation id="9078193189520575214">Pas tans veranderinge toe …</translation>
 <translation id="9078316009970372699">Deaktiveer kitsverbinding</translation>
 <translation id="9079267182985899251">Hierdie opsie sal binnekort nie meer gesteun word nie. Gebruik <ph name="GOOGLE_MEET" /> om 'n oortjie aan te bied.</translation>
+<translation id="9081543426177426948">Werwe wat jy besoek word nie in Incognito gestoor nie</translation>
 <translation id="9084064520949870008">Maak as venster oop</translation>
 <translation id="9085256200913095638">Dupliseer geselekteerde oortjie</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> is nie gekies nie. Druk Search plus spasie om te kies.</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index fbfe5b9..04d7d22 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -99,6 +99,7 @@
 <translation id="1103523840287552314">ሁልጊዜ <ph name="LANGUAGE" />ን መተርጎም</translation>
 <translation id="1108600514891325577">&amp;አቁም</translation>
 <translation id="1110155001042129815">ጠብቅ</translation>
+<translation id="1111781754511998498">ፕሮጄክተር</translation>
 <translation id="1112420131909513020">የጀርባ ትር ብሉቱዝን እየተጠቀመ ነው</translation>
 <translation id="1113892970288677790">ተመርጠው የተሰበሰቡ የኪነ ጥበብ ሥራ እና ምስሎችን ይምረጡ</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (ዩኤስቢ)</translation>
@@ -532,6 +533,7 @@
 <translation id="156793199942386351">«<ph name="CURRENTKEY" />» ቀደም ብሎ ወደ «<ph name="ACTION" />» እርምጃ ተመድቧል። ለ<ph name="RESPONSE" /> ማንኛውንም ቁልፍ ይጫኑ።</translation>
 <translation id="1567993339577891801">ጃቫስክሪፕት ኮንሶል</translation>
 <translation id="1568323446248056064">የማሳያ የመሣሪያ ቅንብሮችን ክፈት</translation>
+<translation id="1570604804919108255">የማሳወቂያዎች ድምጸ-ከል አንሳ</translation>
 <translation id="1571738973904005196">ትር ይመልከቱ፦ <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (እንግዳ)</translation>
 <translation id="1572266655485775982">Wi-Fi አንቃ</translation>
@@ -589,6 +591,7 @@
 <translation id="1621485112342885423">የእርስዎ ተሳቢዎች</translation>
 <translation id="1621729191093924223">ማይክሮፎን የሚያስፈልጋቸው ባህሪዎች አይሰሩም</translation>
 <translation id="1621831347985899379">የ<ph name="DEVICE_TYPE" /> ውሂብ ይሰረዛል</translation>
+<translation id="1621984899599015181">የማጋራት አማራጮች በድርጅትዎ የሚተዳደሩ ናቸው። አንዳንድ ንጥሎዎች ተደብቀው ሊሆኑ ይችላሉ።</translation>
 <translation id="1622054403950683339">የWi-Fi አውታረ መረብን እርሳ</translation>
 <translation id="1623132449929929218">ምስሎቹ አሁን ላይ አይገኙም። የግድግዳ ልጣፎችን ስብስቦች ለማየት እባክዎ ወደ በይነመረብ ዳግም ያገናኙ።</translation>
 <translation id="1623723619460186680">የሰማያዊ ብርሃን ቅነሳ</translation>
@@ -833,6 +836,7 @@
 <translation id="1850508293116537636">በ&amp;ሰዓት መዞሪያ አቅጣጫ አሽከርክር</translation>
 <translation id="1852141627593563189">ጎጂ ሶፍትዌርን አግኝ</translation>
 <translation id="1852799913675865625">ይህን ፋይል ለማንበብ በመሞከር ላይ ሳለ ስህተት ነበር፦ <ph name="ERROR_TEXT" />።</translation>
+<translation id="1854049213067042715">ካቆሙበት ይቀጥሉ። መተግበሪያዎች ጅምር ላይ ሁልጊዜ ወደነበሩበት እንዲመለሱ ማቀናበር ወይም በቅንብሮች ውስጥ ወደነበረበት መመለስን ማጥፋት ይችላሉ።</translation>
 <translation id="1854180393107901205">መውሰድ አቁም</translation>
 <translation id="1855079636134697549">ካሜራ በርቷል</translation>
 <translation id="1856715684130786728">አካባቢ አክል...</translation>
@@ -961,6 +965,7 @@
 <translation id="1989113344093894667">ይዘትን መቅረጽ አልተቻለም</translation>
 <translation id="1990046457226896323">የንግግር ፋይሎች ወርደዋል</translation>
 <translation id="1990512225220753005">በዚህ ገጽ ላይ አቋራጮችን አታሳይ</translation>
+<translation id="199191324030140441">አትረብሽን አጥፋ</translation>
 <translation id="1992397118740194946">ያልተዘጋጀ</translation>
 <translation id="1992924914582925289">ከመሣሪያ አስወግድ</translation>
 <translation id="1994173015038366702">የጣቢያ ዩአርኤል</translation>
@@ -1002,6 +1007,7 @@
 
 የ Family Link መተግበሪያን በእርስዎ መሣሪያ ላይ በመጫን የዚህን መለያ ቅንብሮች ማስተዳደር ይችላሉ።  በኢሜይል መመሪያዎችን ለእርስዎ ልከናል።</translation>
 <translation id="2040460856718599782">ውይ!  እርስዎን ለማረጋገጥ በሚሞከርበት ጊዜ የሆነ ስህተት ተፈጥሯል።  እባክዎ የመለያ መግቢያ ምስክርነቶችዎን ደግመው ያረጋግጡና እንደገና ይሞክሩ።</translation>
+<translation id="2040894699575719559">አካባቢ ታግዷል</translation>
 <translation id="2042279886444479655">ንቁ መገለጫዎች</translation>
 <translation id="2044014337866019681">እባክዎ ክፍለ-ጊዜውን ለመክፈት <ph name="ACCOUNT" />ን እያረጋገጡ መሆንዎን ያረጋግጡ።</translation>
 <translation id="204497730941176055">Microsoft Certificate Template Name</translation>
@@ -1364,6 +1370,7 @@
 <translation id="2406153734066939945">ይህ መገለጫ እና ውሂቡ ይሰረዝ?</translation>
 <translation id="2408018932941436077">ካርድን በማስቀመጥ ላይ</translation>
 <translation id="2408955596600435184">የእርስዎን ፒን ያስገቡ</translation>
+<translation id="2410754283952462441">አንድ መለያ ይምረጡ</translation>
 <translation id="241082044617551207">ያልታወቀ ተሰኪ</translation>
 <translation id="2412593942846481727">ዝማኔ ይገኛል</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1486,6 +1493,7 @@
 <translation id="2527167509808613699">ማንኛውም አይነት ግንኙነት</translation>
 <translation id="2530166226437958497">መላ መፈለግ</translation>
 <translation id="2532589005999780174">ባለከፍተኛ ንፅፅር ሁነታ</translation>
+<translation id="2533649878691950253">እርስዎ ይህን አብዛኛው ጊዜ ስለማይፈቅዱ ይህ ጣቢያ ትክክለኛ አካባቢዎን እንዳያውቅ ታግዷል</translation>
 <translation id="253434972992662860">&amp;ላፍታ አቁም</translation>
 <translation id="253557089021624350">የKeepalive መለያ</translation>
 <translation id="2535799430745250929">ምንም ተንቀሳቃሽ አውታረ መረብ የለም</translation>
@@ -1673,6 +1681,7 @@
 <translation id="2738771556149464852">ከኋላ ያለሆነ</translation>
 <translation id="2739191690716947896">አርም</translation>
 <translation id="2739240477418971307">የተደራሽነት ቅንብሮችዎን ይቀይራል</translation>
+<translation id="2739965161385757621">ቅንብሮቼን ገምግም</translation>
 <translation id="274029851662193272">የተደበረ</translation>
 <translation id="2740531572673183784">እሺ</translation>
 <translation id="2741713322780029189">የመልሶ ማግኛ ተርሚናል ክፈት</translation>
@@ -1797,6 +1806,7 @@
 <translation id="2864601841139725659">የእርስዎን የመገለጫ ሥዕል ያቀናብሩ</translation>
 <translation id="2865919525181940183">በአሁኑ ጊዜ በማያ ገጹ ላይ ያሉ የፕሮግራሞች ቅጽበታዊ ገጽ እይታ</translation>
 <translation id="286674810810214575">የኃይል ምንጮች በመፈተሽ ላይ...</translation>
+<translation id="2866876751734765554">የግላዊነት ግምገማ</translation>
 <translation id="2867768963760577682">እንደተሰካ ትር ክፈት</translation>
 <translation id="2868746137289129307">ይህ ቅጥያ ጊዜው ያለፈበት እና በድርጅት መመሪያ የተሰናከለ ነው። ይበልጥ አዲስ የሆነ ስሪት ሲገኝ በራስ-ሰር ሊነቃ ይችላል።</translation>
 <translation id="2870560284913253234">ጣቢያ</translation>
@@ -2326,6 +2336,7 @@
 <translation id="3446274660183028131">Windowsን ለመጫን እባክዎ Parallels ዴስክቶፕን ያስጀምሩ።</translation>
 <translation id="344630545793878684">የእርስዎን ውሂብ በበርካታ የድር ጣቢያዎች ላይ ያንብቡ</translation>
 <translation id="3446650212859500694">ይህ ፋይል ሚስጥራዊነት ይያለው ይዘት አለው</translation>
+<translation id="3446827946208017735">በጣም አሳሳቢ የግላዊነት ቅንብሮችን በአንድ ቦታ ይረዱ እና ይገምግሙ</translation>
 <translation id="3448086340637592206">የGoogle Chrome እና የChrome OS ተጨማሪ ደንቦች</translation>
 <translation id="3448492834076427715">መለያን አዘምን</translation>
 <translation id="3449393517661170867">አዲስ የትር መስኮት</translation>
@@ -3751,6 +3762,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{ምንም <ph name="VM_TYPE" /> VMs አልተገኙም}=1{1 <ph name="VM_TYPE" /> ፕሮግራም ተገኝቷል፦ <ph name="VM_NAME_LIST" />}one{{NUM_VMS} <ph name="VM_TYPE" /> VMs ፕሮግራሞች ተገኝተዋል፦ <ph name="VM_NAME_LIST" />}other{{NUM_VMS} <ph name="VM_TYPE" /> VMs ተገኝተዋል፦ <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">ምንም የበይነመረብ ግንኙነት የለም።</translation>
 <translation id="4998430619171209993">አብራ</translation>
+<translation id="4999804342505941663">አትረብሽን አብራ</translation>
 <translation id="5000922062037820727">ታግዷል (የሚመከር)</translation>
 <translation id="5005498671520578047">የይለፍ ቃል ቅዳ</translation>
 <translation id="5006218871145547804">የCrostini Android መተግበሪያ ADB</translation>
@@ -5075,6 +5087,7 @@
 <translation id="6468485451923838994">ቅርጸ-ቁምፊዎች</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> ፋይሎች</translation>
 <translation id="6469557521904094793">የተንቀሳቃሽ ስልክ አውታረ መረብን አብራ</translation>
+<translation id="6470823736074966819">ማሳወቂያዎች ላይ ድምጸ-ከል አድርግ</translation>
 <translation id="6472893788822429178">መነሻ አዝራር አሳይ</translation>
 <translation id="6474498546677193336">አንድ መተግበሪያ ይህን አቃፊ እየተጠቀመበት ስለሆነ አለማጋራት አልተቻለም። Linux በሚዘጋበት ቀጣዩ ጊዜ ላይ አቃፊው እንዳይጋራ ይደረጋል።</translation>
 <translation id="6474884162850599008">የGoogle Drive መለያን አላቅቅ</translation>
@@ -7541,6 +7554,7 @@
 <translation id="9078193189520575214">ለውጦችን በመተግበር ላይ...</translation>
 <translation id="9078316009970372699">ቅጽበታዊ እንደ ሞደም መሰካትን አሰናክል</translation>
 <translation id="9079267182985899251">በቅርቡ ይህ አማራጭ ከእንግዲህ አይደገፍም። ትርን ለማቅረብ፣ <ph name="GOOGLE_MEET" />ን ይጠቀሙ።</translation>
+<translation id="9081543426177426948">እርስዎ የጎበኟቸው ጣቢያዎች ማንነት በማያሳውቅ ውስጥ አይቀመጡም</translation>
 <translation id="9084064520949870008">እንደ መስኮት ክፈት</translation>
 <translation id="9085256200913095638">የተመረጠውን ትር አባዛ</translation>
 <translation id="9085776959277692427">ያልተመረጠ <ph name="LANGUAGE" /> ለመምረጥ ፍለጋን እና ክፍተትን ይጫኑ።</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index 4a176cb9..af600ec5 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -1365,6 +1365,7 @@
 <translation id="2406153734066939945">هل تريد حذف هذا الملف الشخصي وكل بياناته؟</translation>
 <translation id="2408018932941436077">جارٍ حفظ البطاقة</translation>
 <translation id="2408955596600435184">إدخال رقم التعريف الشخصي</translation>
+<translation id="2410754283952462441">اختيار حساب</translation>
 <translation id="241082044617551207">مكوّن إضافي غير محدّد</translation>
 <translation id="2412593942846481727">هناك تحديث جديد</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7546,6 +7547,7 @@
 <translation id="9078193189520575214">جارٍ تطبيق التغييرات...</translation>
 <translation id="9078316009970372699">إيقاف ميزة "التوصيل الفوري"</translation>
 <translation id="9079267182985899251">لن يعود هذا الخيار متوفرًا قريبًا. ولعرض علامة تبويب، استخدِم <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">المواقع الإلكترونية التي تزورها لا يتم حفظها في وضع التصفح المتخفي</translation>
 <translation id="9084064520949870008">فتح كنافذة</translation>
 <translation id="9085256200913095638">تكرار علامة التبويب المحددة</translation>
 <translation id="9085776959277692427">لم يتم اختيار <ph name="LANGUAGE" />. يُرجى الضغط على مفتاح "البحث" ومفتاح "المسافة" للاختيار.</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb
index 8a682b5..9d8ca03 100644
--- a/chrome/app/resources/generated_resources_as.xtb
+++ b/chrome/app/resources/generated_resources_as.xtb
@@ -447,6 +447,7 @@
 <translation id="1476088332184200792">আপোনাৰ ডিভাইচটোলৈ প্ৰতিলিপি কৰক</translation>
 <translation id="1476607407192946488">&amp;ভাষাৰ ছেটিং</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।</translation>
+<translation id="1477654881618305065">আপোনাৰ প্ৰতিষ্ঠানে এই সমলটো শ্বেয়াৰ কৰিবলৈ আপোনাক অনুমতি নিদিয়ে। যদি আপোনাক সহায়ৰ প্ৰয়োজন হয়, আপোনাৰ প্ৰশাসকৰ সৈতে যোগাযোগ কৰক।</translation>
 <translation id="1478340334823509079">সবিশেষ: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ইনষ্টল কৰাৰ সুবিধাটো সক্ষম কৰা হোৱা নাই</translation>
 <translation id="1480571698637441426">আপুনি প্ৰশ্ন সুধিলে বিশেষভাৱে যুগুত কৰা সঁহাৰি পাবলৈ, আপোনাৰ Assistantক নিজৰ স্ক্ৰীনখনত থকা সমলৰ এক্সেছ দিয়ক। ইয়াত প্লে’ হৈ থকা গীত অথবা ভিডিঅ’ৰ বিষয়ে তথ্যও থাকিব পাৰে।</translation>
@@ -619,6 +620,7 @@
 <translation id="1643921258693943800">Nearby Share ব্যৱহাৰ কৰিবলৈ ব্লুটুথ আৰু ৱাই-ফাই অন কৰক</translation>
 <translation id="1644574205037202324">ইতিহাস</translation>
 <translation id="1645516838734033527">আপোনাৰ <ph name="DEVICE_TYPE" /> সুৰক্ষিত কৰিবলৈ স্মার্ট লকৰ বাবে আপোনাৰ ফ’নত স্ক্ৰীণ লকৰ আৱশ্যক।</translation>
+<translation id="1646793251510634025">সন্ধান আৰু ব্ৰাউজ কৰাৰ অপ্টিমাইজেশ্বনৰ ছেটিং পৰ্যালোচনা কৰক</translation>
 <translation id="1646982517418478057">এই প্ৰমাণপত্ৰ এনক্ৰিপ্ট কৰিবলৈ কোনো পাছৱর্ড দিয়ক</translation>
 <translation id="1648528859488547844">অৱস্থান নির্ধাৰণ কৰিবলৈ ৱাই-ফাই বা ম’বাইল নেটৱর্কসমূহ ব্যৱহাৰ কৰক</translation>
 <translation id="164936512206786300">ব্লুটুথ ডিভাইচ আনপেয়াৰ কৰক</translation>
@@ -1366,6 +1368,7 @@
 <translation id="2406153734066939945">এই প্ৰ’ফাইলটো আৰু ইয়াৰ ডেটা মচিবনে?</translation>
 <translation id="2408018932941436077">কাৰ্ডখন ছেভ কৰি থকা হৈছে</translation>
 <translation id="2408955596600435184">আপোনাৰ পিন দিয়ক</translation>
+<translation id="2410754283952462441">কোনো একাউণ্ট বাছনি কৰক</translation>
 <translation id="241082044617551207">অজ্ঞাত প্লাগইন</translation>
 <translation id="2412593942846481727">আপডে’ট উপলব্ধ</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1474,6 +1477,7 @@
 <translation id="2514326558286966059">আপোনাৰ ফিংগাৰপ্ৰিণ্টৰ জৰিয়তে অধিক ক্ষিপ্ৰভাৱে আনলক কৰক</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">আৰু এটা ছুইচ আবণ্টন কৰক</translation>
+<translation id="251722524540674480">আপোনাৰ ব্যৱহাৰকাৰীৰ নামটো নিশ্চিত কৰক</translation>
 <translation id="2517472476991765520">স্কেন কৰক</translation>
 <translation id="2518024842978892609">আপোনাৰ ক্লায়েণ্টৰ প্ৰমাণপত্ৰ ব্যৱহাৰ কৰক</translation>
 <translation id="2519517390894391510">প্ৰমাণপত্ৰৰ প্ৰ’ফাইলৰ নাম</translation>
@@ -2177,6 +2181,7 @@
 <translation id="3288047731229977326">বিকাশকর্তাৰ ম’ড চলি থকা এক্সটেনশ্বনসমূহে আপোনাৰ কম্পিউটাৰৰ ক্ষতি কৰিব পাৰে। যদি আপুনি কোনো বিকাশকর্তা নহয় তেন্তে আপুনি সুৰক্ষিত হৈ থাকিবলৈ বিকাশকর্তাৰ ম’ডত থকা এক্সটেনশ্বনসমূহ অক্ষম কৰা উচিত।</translation>
 <translation id="3289668031376215426">স্বয়ং-বৰফলাকৰণ</translation>
 <translation id="3289856944988573801">আপডে‘ট আছে নেকি চাবলৈ ইথাৰনেট বা ৱাই-ফাই ব্যৱহাৰ কৰক।</translation>
+<translation id="3291436823898732747">উন্নত ব্ৰাউজিং: উদাহৰণস্বৰূপে, আপুনি টাইপ কৰিবলৈ আৰম্ভ কৰাৰ পূৰ্বে Omniboxত থকা পৰামৰ্শ</translation>
 <translation id="3293644607209440645">এই পৃষ্ঠাটো পঠিয়াওক</translation>
 <translation id="32939749466444286">Linux কণ্টেইনাৰ আৰম্ভ নহ’ল৷ অনুগ্ৰহ কৰি আকৌ চেষ্টা কৰক।</translation>
 <translation id="3294437725009624529">অতিথি</translation>
@@ -4206,6 +4211,7 @@
 <translation id="5505307013568720083">চিয়াহী শেষ হৈছে</translation>
 <translation id="5505794066310932198">কামাণ্ডাৰ ট’গল কৰক</translation>
 <translation id="5507756662695126555">প্ৰত্যাখ্যান নকৰা</translation>
+<translation id="5507795078844206688">আপুনি চোৱা পৃষ্ঠাসমূহৰ URL , উদাহৰণস্বৰূপে, https://www.google.com</translation>
 <translation id="5509693895992845810">ইয়াৰ এটা &amp;হিচাপে ছেভ কৰক...</translation>
 <translation id="5509914365760201064">প্ৰদানকাৰী: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Googleৰ পৰা প্ৰতিচ্ছবিৰ বিৱৰণ পাওক</translation>
@@ -4522,6 +4528,7 @@
 <translation id="5869522115854928033">ছেভ কৰা পাছৱৰ্ডসমূহ</translation>
 <translation id="5870086504539785141">সাধ্য সুবিধাৰ মেনু বন্ধ কৰক</translation>
 <translation id="5870155679953074650">হার্ড ফল্ট</translation>
+<translation id="5875534259258494936">স্ক্ৰীন শ্বেয়াৰ কৰাটো অন্ত পৰিছে</translation>
 <translation id="5876576639916258720">চলি আছে...</translation>
 <translation id="5876851302954717356">সোঁফালৰ নতুন টেব</translation>
 <translation id="5877064549588274448">চ্চেনেল সলনি কৰা হ'ল। সলনি কার্যসমূহ প্ৰয়োগ কৰিবলৈ আপোনাৰ ডিভাইচ ৰিষ্টার্ট কৰক।</translation>
@@ -5377,6 +5384,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" />ক ৰুট হিচাপে চলাব নোৱাৰি।</translation>
 <translation id="6812841287760418429">সালসলনিসমূহ ৰাখক</translation>
 <translation id="6813907279658683733">সম্পূৰ্ণ স্ক্ৰীন</translation>
+<translation id="6814033694018386318">আপুনি Googleৰ সৈতে কি শ্বেয়াৰ কৰে</translation>
 <translation id="6817174620439930047">কোনো ছাইটে MIDI ডিভাইচ এক্সেছ কৰিবলৈ ছিষ্টেমৰ অনন্য বার্তা ব্যৱহাৰ কৰিবলৈ খুজিলে সোধক (চুপাৰিছ কৰা হয়)</translation>
 <translation id="6818198425579322765">অনুবাদ কৰিবলগীয়া পৃষ্ঠাৰ ভাষা</translation>
 <translation id="6818802132960437751">বিল্ট-ইন ভাইৰাছ সুৰক্ষা</translation>
@@ -5871,6 +5879,7 @@
 <translation id="7374376573160927383">ইউএছবি ডিভাইচসমূহ পৰিচালনা কৰক</translation>
 <translation id="7374461526650987610">প্ৰট’কল নিয়ন্ত্ৰক</translation>
 <translation id="7375235221357833624">{0,plural, =1{এঘণ্টাৰ ভিতৰত ডিভাইচটো আপডে’ট কৰক}one{# ঘণ্টাৰ ভিতৰত ডিভাইচটো আপডে’ট কৰক}other{# ঘণ্টাৰ ভিতৰত ডিভাইচটো আপডে’ট কৰক}}</translation>
+<translation id="7376543451826039186">দ্ৰুততৰ ব্ৰাউজিং: উদাহৰণস্বৰূপে, বৰ্তমানৰ পৃষ্ঠাখনৰ ভিত্তিত নিৰ্দিষ্ট অনাগত সমল আগতীয়াকৈ ল’ড কৰা</translation>
 <translation id="7376553024552204454">গতি কৰিলে মাউছৰ কাৰ্ছৰ হাইলাইট কৰক</translation>
 <translation id="737728204345822099">আপুনি এই ছাইটটোলৈ যোৱাৰ এটা ৰেকৰ্ড আপোনাৰ সুৰক্ষা চাবিত ৰখা হ’ব পাৰে।</translation>
 <translation id="7377451353532943397">ছেন্সৰৰ এক্সেছ অৱৰোধ কৰাটো অব্যাহত ৰাখক</translation>
@@ -5928,6 +5937,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" />ৰ পৰা অহা কল</translation>
 <translation id="7431719494109538750">কোনো HID ডিভাইচ বিচাৰি পোৱা নগ’ল</translation>
 <translation id="7431991332293347422">আপোনাক Search আৰু অন্য সেৱাসমূহত ব্যক্তিগতকৰণ কৰা অভিজ্ঞতা প্ৰদান কৰিবলৈ কেনেকৈ আপোনাৰ ব্ৰাউজিংৰ ইতিহাস ব্যৱহাৰ কৰা হয় সেয়া নিয়ন্ত্ৰণ কৰক</translation>
+<translation id="7432200167665670017">আপোনাৰ প্ৰশাসকে "<ph name="EXTENSION_NAME" />" অৱৰোধ কৰিছে - এপৰ আইডি <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">আপোনাৰ <ph name="DEVICE_TYPE" /> ব্যৱহাৰ কৰি থাকিবলৈ স্মাৰ্ট কাৰ্ড ভৰাওক</translation>
 <translation id="7433957986129316853">এয়া ৰাখক</translation>
 <translation id="7434509671034404296">বিকাশকৰ্তা</translation>
@@ -5957,6 +5967,7 @@
 <translation id="7460045493116006516">আপুনি বৰ্তমান ইনষ্টল কৰি ৰখা থীম</translation>
 <translation id="7461924472993315131">পিন</translation>
 <translation id="746216226901520237">আগলৈ আপোনাৰ ফ’নটোৱে আপোনাৰ <ph name="DEVICE_TYPE" /> আনলক কৰিব। আপুনি ছেটিংসমূহ-লৈ গৈ স্মাৰ্ট লক অফ কৰিব পাৰে।</translation>
+<translation id="7464637891177137294">এইটো আপোনাৰ Google একাউণ্টত ছেভ কৰক, <ph name="ACCOUNT" /></translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{#টা খোলা টেব আছে, টেবৰ ষ্ট্রিপটো ট’গল কৰিবলৈ টিপক}one{#টা খোলা টেব আছে, টেবৰ ষ্ট্রিপটো ট’গল কৰিবলৈ টিপক}other{#টা খোলা টেব আছে, টেবৰ ষ্ট্রিপটো ট’গল কৰিবলৈ টিপক}}</translation>
 <translation id="7465635034594602553">কিবা ভুল হ’ল। অনুগ্ৰহ কৰি কেইমিনিটমান অপেক্ষা কৰক আৰু পুনৰ <ph name="APP_NAME" /> চলাওক।</translation>
 <translation id="7465778193084373987">নেটস্কেপৰ প্ৰমাণপত্ৰ প্ৰত্যাহাৰ কৰা URL</translation>
@@ -6020,6 +6031,7 @@
 <translation id="7525625923260515951">বাছনি কৰা পাঠ শুনক</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{আৰু ১ টা}one{আৰু {NUM_DOWNLOADS} টা}other{আৰু {NUM_DOWNLOADS} টা}}</translation>
 <translation id="7526989658317409655">প্লে’চহ’ল্ডাৰ</translation>
+<translation id="7527758104894292229">আপোনাৰ Google একাউণ্টত এইটো আপডে’ট কৰক, <ph name="ACCOUNT" /></translation>
 <translation id="7529411698175791732">আপোনাৰ ইণ্টাৰনেট সংযোগ পৰীক্ষা কৰক। তথাপিও যদি সমস্যাটো থাকেই, ছাইন আউট কৰি পুনৰ ছাইন ইন কৰি চাওক।</translation>
 <translation id="7529876053219658589">{0,plural, =1{অতিথিৰ ৱিণ্ড’ বন্ধ কৰক}one{অতিথিৰ ৱিণ্ড’ বন্ধ কৰক}other{অতিথিৰ ৱিণ্ড’ বন্ধ কৰক}}</translation>
 <translation id="7530016656428373557">চ্চাৰ্জ খৰচ হোৱাৰ হাৰ ৱাট এককত</translation>
@@ -6404,6 +6416,7 @@
 <translation id="7898725031477653577">সদায় অনুবাদ কৰক</translation>
 <translation id="790040513076446191">গোপনীয়তা সম্পকীয় ছেটিংসমূহ সাল সলনি কৰে</translation>
 <translation id="7901405293566323524">ফ’ন হাব</translation>
+<translation id="7901914889562552258">পৃষ্ঠাৰ মেট্ৰিক্স ব্যৱহাৰ কৰি উন্নত কৰা Chrome</translation>
 <translation id="7903345046358933331">পৃষ্ঠাটোৱে সঁহাৰি জনোৱা নাই। আপুনি পৃষ্ঠাটোৱে সঁহাৰি জনোৱালৈ অপেক্ষা কৰিব বা ইয়াক বন্ধ কৰিব পাৰে।</translation>
 <translation id="7903742244674067440">সেই কর্তৃপক্ষক চিনাক্ত কৰা প্ৰমাণপত্ৰ আপোনাৰ ফাইলত আছে</translation>
 <translation id="7903859912536385558">সুস্থিৰ (বিশ্বাসী টেষ্টটাৰ)</translation>
@@ -6869,6 +6882,7 @@
 <translation id="8392364544846746346">কোনো ছাইটে আপোনাৰ ডিভাইচত ফাইল অথবা ফ’ল্ডাৰসমূহ সম্পাদনা কৰিবলৈ বিচাৰিলে সোধক</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" />ৰ বিকল্পৰ মেনু</translation>
 <translation id="8393511274964623038">প্লাগইন বন্ধ কৰক</translation>
+<translation id="839363317075970734">ব্লুটুথ ডিভাইচৰ সবিশেষ</translation>
 <translation id="8397825320644530257">সংযুক্ত হৈ থকা ফ’নৰ সংযোগ বিচ্ছিন্ন কৰক</translation>
 <translation id="8398877366907290961">যিকোনো প্ৰকাৰে অব্যাহত ৰাখক</translation>
 <translation id="8401432541486058167">আপোনাৰ স্মাৰ্ট কাৰ্ডখনৰ সৈতে জড়িত পিনটো দিয়ক।</translation>
@@ -7118,6 +7132,7 @@
 <translation id="8681614230122836773">Chromeএ আপোনাৰ কম্পিউটাৰত ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি পাইছে</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" />সংযোগ কৰা হ’ল আৰু সাজু</translation>
 <translation id="8683081248374354009">গোটটো ৰিছেট কৰক</translation>
+<translation id="8683526617475118045">আপোনাৰ লাভ</translation>
 <translation id="8688672835843460752">উপলব্ধ</translation>
 <translation id="8690129572193755009">ছাইটে প্ৰট’কল পৰিচালনা কৰিবলৈ বিচাৰিব পাৰে</translation>
 <translation id="8695139659682234808">ছেটআপ কৰাৰ পাছত অভিভাৱকীয় নিয়ন্ত্ৰণসমূহ যোগ দিয়ক</translation>
@@ -7171,6 +7186,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />ৰ সলনি <ph name="PROTOCOL" /> লিংকসমূহ খোলক</translation>
 <translation id="8737709691285775803">শ্বিল</translation>
 <translation id="8737914367566358838">পৃষ্ঠাখন অনুবাদ কৰিবলৈ ভাষা বাছনি কৰক</translation>
+<translation id="8737916108453753541">ব্ৰাউজিঙৰ আচৰণটো বুজিবলৈ URLসমূহ Googleৰ সৈতে শ্বেয়াৰ কৰা হয়</translation>
 <translation id="8740247629089392745">আপুনি এই Chromebookটো <ph name="SUPERVISED_USER_NAME" />ক গতাই দিব পাৰে। ছেটআপ প্ৰায় সম্পূৰ্ণ হৈছে, তাৰ পাছত আপুনি অন্বেষণ কৰা আৰম্ভ কৰিব পাৰে।</translation>
 <translation id="8741944563400125534">এক্সেছ সলনি কৰাৰ সুবিধাটো ছেট আপ কৰাৰ নিৰ্দেশনাৱলী</translation>
 <translation id="8742998548129056176">এইয়া হৈছে আপোনাৰ ডিভাইচটো আৰু আপুনি এইটো কেনেদৰে ব্যৱহাৰ কৰে সেই বিষয়ে কিছুমান সাধাৰণ তথ্য (যেনে, বেটাৰীৰ স্তৰ, ছিষ্টেম আৰু এপৰ কাৰ্যকলাপ আৰু আসোঁৱাহসমূহ)। এই ডেটাসমূহ Androidক উন্নত কৰিবলৈ ব্যৱহাৰ কৰা হ'ব, লগতে কিছুমান একত্ৰিত ডেটাই Google এপ্‌সমূহ আৰু অংশীদাৰসকল, যেনে Android বিকাশকৰ্তাসকলক তেওঁলোকৰ এপ্ আৰু অইন প্ৰডাক্টসমূহ অধিক উন্নত কৰাত সহায় কৰিব।</translation>
@@ -7512,6 +7528,7 @@
 <translation id="9078193189520575214">সালসলনি প্ৰয়োগ কৰি থকা হৈছে...</translation>
 <translation id="9078316009970372699">তাৎক্ষণিক টেডাৰিং অক্ষম কৰক</translation>
 <translation id="9079267182985899251">সোনকালেই এই বিকল্পটো আৰু সমৰ্থন কৰা নহ’ব। কোনো টেব উপস্থাপন কৰিবলৈ <ph name="GOOGLE_MEET" /> ব্যৱহাৰ কৰক।</translation>
+<translation id="9081543426177426948">আপুনি চোৱা ছাইটসমূহ ইনক’গনিট’ত ছেভ কৰা নহয়</translation>
 <translation id="9084064520949870008">ৱিণ্ড’ হিচাপে খোলক</translation>
 <translation id="9085256200913095638">বাছনি কৰা ডুপ্লিকেট টেব</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> বাছনি কৰা হোৱা নাই। সন্ধান কৰিবলৈ সন্ধান কৰক আৰু স্পে’চ টিপক।</translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb
index 8b7fe87f..aad917f8 100644
--- a/chrome/app/resources/generated_resources_az.xtb
+++ b/chrome/app/resources/generated_resources_az.xtb
@@ -97,6 +97,7 @@
 <translation id="1103523840287552314">Həmişə <ph name="LANGUAGE" /> dilinə tərcümə edin</translation>
 <translation id="1108600514891325577">Dayandırın</translation>
 <translation id="1110155001042129815">Gözləyin</translation>
+<translation id="1111781754511998498">Projektor</translation>
 <translation id="1112420131909513020">Arxa fon tabı bluetooth istifadə edir</translation>
 <translation id="1113892970288677790">Kurasiya edilən rəsmlər və şəkilləri seçin</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -529,6 +530,7 @@
 <translation id="156793199942386351">'<ph name="CURRENTKEY" />' artıq '<ph name="ACTION" />' əməliyyatına təyin edilib. <ph name="RESPONSE" /> üçün istənilən düyməyə basın.</translation>
 <translation id="1567993339577891801">JavaScript Konsolu</translation>
 <translation id="1568323446248056064">Ekran cihaz ayarlarını açın</translation>
+<translation id="1570604804919108255">Bildirişləri səssiz rejimdən çıxarın</translation>
 <translation id="1571738973904005196"><ph name="TAB_ORIGIN" /> tabına baxın</translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (Qonaq)</translation>
 <translation id="1572266655485775982">Wi-Fi aktivdir</translation>
@@ -584,6 +586,7 @@
 <translation id="1621485112342885423">Səbətləriniz</translation>
 <translation id="1621729191093924223">Mikrofon tələb edən xüsusiyyətlər işləməyəcək</translation>
 <translation id="1621831347985899379"><ph name="DEVICE_TYPE" /> datası silinəcək</translation>
+<translation id="1621984899599015181">Paylaşım seçimləri təşkilatınız tərəfindən idarə olunur. Bəzi elementlər gizlədilə bilər.</translation>
 <translation id="1622054403950683339">Wi-Fi şəbəkəsini unudun</translation>
 <translation id="1623132449929929218">Şəkillər hazırda əlçatan deyil. Kolleksiyalara baxmaq üçün yenidən internetə qoşulun.</translation>
 <translation id="1623723619460186680">Mavi işığın azaldılması</translation>
@@ -821,6 +824,7 @@
 <translation id="1850508293116537636">Saat istiqamətində çevirin</translation>
 <translation id="1852141627593563189">Zərərli proqram təminatını tapın</translation>
 <translation id="1852799913675865625">Faylı oxuyan zaman xəta baş verdi: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1854049213067042715">Qaldığınız yerdən davam edin. Ayarlarda tətbiqlərin başlanğıcda avtomatik bərpa olmasını ayarlaya və ya bərpanı söndürə bilərsiniz.</translation>
 <translation id="1854180393107901205">Yayımı dayandırın</translation>
 <translation id="1855079636134697549">Kamera aktivdir</translation>
 <translation id="1856715684130786728">Məkan əlavə edin...</translation>
@@ -949,6 +953,7 @@
 <translation id="1989113344093894667">Məzmunu çəkmək olmur</translation>
 <translation id="1990046457226896323">Nitq faylları endirilib</translation>
 <translation id="1990512225220753005">Bu səhifədə qısayollar göstərməyin</translation>
+<translation id="199191324030140441">"Narahat Etməyin" Rejimini Söndürün</translation>
 <translation id="1992397118740194946">Ayarlanmayıb</translation>
 <translation id="1992924914582925289">Cihazdan silin</translation>
 <translation id="1994173015038366702">Sayt URL-i</translation>
@@ -990,6 +995,7 @@
 
 Cihazda Family Link tətbiqini quraşdırmaqla bu hesabın ayarlarını idarə edə bilərsiniz.  Təlimatları e-məktubla göndərdik.</translation>
 <translation id="2040460856718599782">Sizi doğrulayan zaman xəta oldu. Giriş kredensiallarınızı yoxlayın və yenidən cəhd edin.</translation>
+<translation id="2040894699575719559">Məkan blok edildi</translation>
 <translation id="2042279886444479655">Aktiv profillər</translation>
 <translation id="2044014337866019681">Seansı blokdan çıxarmaq üçün <ph name="ACCOUNT" /> hesabını doğruladığınıza əmin olun.</translation>
 <translation id="204497730941176055">Microsoft Sertifikat Şablon adı</translation>
@@ -1354,6 +1360,7 @@
 <translation id="2406153734066939945">Bu profil və datası silinsin?</translation>
 <translation id="2408018932941436077">Kart yadda saxlanılır</translation>
 <translation id="2408955596600435184">PİN kodunuzu daxil edin</translation>
+<translation id="2410754283952462441">Hesab seçin</translation>
 <translation id="241082044617551207">Naməlum plaqin</translation>
 <translation id="2412593942846481727">Güncəlləmə əlçatandır</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1476,6 +1483,7 @@
 <translation id="2527167509808613699">Əlaqənin hər hansı növü</translation>
 <translation id="2530166226437958497">Nasazlıqların aradan qaldırılması</translation>
 <translation id="2532589005999780174">Yüksək kontrast rejimi</translation>
+<translation id="2533649878691950253">Adətən icazə vermədiyiniz üçün bu saytın dəqiq yerinizi bilməsi bloklanıb</translation>
 <translation id="253434972992662860">Durdurun</translation>
 <translation id="253557089021624350">İstifadə edilən artırma sayı</translation>
 <translation id="2535799430745250929">Mobil şəbəkə yoxdur</translation>
@@ -1662,6 +1670,7 @@
 <translation id="2738771556149464852">Sonra yox</translation>
 <translation id="2739191690716947896">Debaq</translation>
 <translation id="2739240477418971307">Əlçatımlıq ayarlarını dəyişin</translation>
+<translation id="2739965161385757621">Ayarlarımı nəzərdən keçirin</translation>
 <translation id="274029851662193272">Kədərli</translation>
 <translation id="2740531572673183784">Ok</translation>
 <translation id="2741713322780029189">Bərpa terminalını açın</translation>
@@ -1786,6 +1795,7 @@
 <translation id="2864601841139725659">Profil şəkli ayarlayın</translation>
 <translation id="2865919525181940183">Hazırda ekranda olan proqramların ekran şəkli</translation>
 <translation id="286674810810214575">Enerji mənbələri yoxlanılır...</translation>
+<translation id="2866876751734765554">Məxfiliyin nəzərdən keçirilməsi</translation>
 <translation id="2867768963760577682">VACİB Tab Açıq</translation>
 <translation id="2868746137289129307">Bu artırma köhnədir və müəssisə siyasəti tərəfindən deaktiv edildi. Yeni versiya əlçatan olanda avtomatik aktiv edilə bilər.</translation>
 <translation id="2870560284913253234">Sayt</translation>
@@ -2315,6 +2325,7 @@
 <translation id="3446274660183028131">Windows'u quraşdırmaq üçün Parallels Desktop'u işə salın.</translation>
 <translation id="344630545793878684">Datanızı çoxsaylı vebsaytda oxuyun</translation>
 <translation id="3446650212859500694">Bu fayl həssas məzmun ehtiva edir</translation>
+<translation id="3446827946208017735">Ən kritik məxfilik ayarlarını bir yerdə anlayın və nəzərdən keçirin</translation>
 <translation id="3448086340637592206">Google Chrome və Chrome ƏS üzrə Əlavə Şərtlər</translation>
 <translation id="3448492834076427715">Hesabı yeniləyin</translation>
 <translation id="3449393517661170867">Yeni tablı pəncərə</translation>
@@ -3740,6 +3751,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{<ph name="VM_TYPE" /> VM'i tapılmadı}=1{1 <ph name="VM_TYPE" /> VM'i tapıldı: <ph name="VM_NAME_LIST" />}other{{NUM_VMS} <ph name="VM_TYPE" /> VM'i tapıldı: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">İnternet bağlantısı yoxdur.</translation>
 <translation id="4998430619171209993">Aktiv</translation>
+<translation id="4999804342505941663">"Narahat Etməyin" rejimini aktiv edin</translation>
 <translation id="5000922062037820727">Bloklanıb (tövsiyə olunur)</translation>
 <translation id="5005498671520578047">Parolu kopyalayın</translation>
 <translation id="5006218871145547804">Crostini Android tətbiqi üzrə ADB</translation>
@@ -5062,6 +5074,7 @@
 <translation id="6468485451923838994">Şriftlər</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> Fayl</translation>
 <translation id="6469557521904094793">Mobil şəbəkəni aktiv edin</translation>
+<translation id="6470823736074966819">Bildirişləri susdurun</translation>
 <translation id="6472893788822429178">Əsas səhifə düyməsini göstərin</translation>
 <translation id="6474498546677193336">Tətbiq bu qovluqdan istifadə etdiyi üçün paylaşımı silmək mümkün olmadı. Linux növbəti dəfə bağlandıqda qovluğun paylaşımı silinəcək.</translation>
 <translation id="6474884162850599008">Google Disk hesabı bağlantısını kəsin</translation>
@@ -7518,6 +7531,7 @@
 <translation id="9078193189520575214">Dəyişikliklər tətbiq olunur...</translation>
 <translation id="9078316009970372699">Cəld modemi deaktiv edin</translation>
 <translation id="9079267182985899251">Tezliklə bu seçim dəstəklənməyəcək. Tab ilə təqdimat keçirmək üçün <ph name="GOOGLE_MEET" /> istifadə edin.</translation>
+<translation id="9081543426177426948">Anonim rejimdə daxil olduğunuz saytlar yadda saxlanılmır</translation>
 <translation id="9084064520949870008">Pəncərə kimi açın</translation>
 <translation id="9085256200913095638">Seçilmiş tabın dublikatını çıxarın</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> seçilməyib. Seçmək üçün Axtarış və Boşluq seçiminə basın.</translation>
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb
index 9ddb20a..f8d82b6 100644
--- a/chrome/app/resources/generated_resources_be.xtb
+++ b/chrome/app/resources/generated_resources_be.xtb
@@ -1364,6 +1364,7 @@
 <translation id="2406153734066939945">Выдаліць профіль і ўсе яго даныя?</translation>
 <translation id="2408018932941436077">Ідзе захаванне даных карткі</translation>
 <translation id="2408955596600435184">Увядзіце PIN-код</translation>
+<translation id="2410754283952462441">Выберыце ўліковы запіс</translation>
 <translation id="241082044617551207">Невядомая ўбудова</translation>
 <translation id="2412593942846481727">Ёсць абнаўленне</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7538,6 +7539,7 @@
 <translation id="9078193189520575214">Абнаўленне...</translation>
 <translation id="9078316009970372699">Выключыць Імгненны рэжым мадэма</translation>
 <translation id="9079267182985899251">Неўзабаве гэта функцыя падтрымлівацца не будзе. Для прэзентацыі ўкладак выкарыстоўвайце <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Звесткі аб сайтах, якія вы наведваеце ў рэжыме інкогніта, не захоўваюцца</translation>
 <translation id="9084064520949870008">Адкрыць як акно</translation>
 <translation id="9085256200913095638">Дубліраваць выбраную ўкладку</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" />, не выбрана. Каб выбраць, націсніце "Пошук" і клавішу прабелу.</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index 7d3767c..f75e5b4 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -1372,6 +1372,7 @@
 <translation id="2406153734066939945">Този потребителски профил и данните му да се изтрият ли?</translation>
 <translation id="2408018932941436077">Картата се запазва</translation>
 <translation id="2408955596600435184">Въведете своя ПИН</translation>
+<translation id="2410754283952462441">Изберете профил</translation>
 <translation id="241082044617551207">Неизвестна приставка</translation>
 <translation id="2412593942846481727">Налице е актуализация</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7554,6 +7555,7 @@
 <translation id="9078193189520575214">Промените се прилагат...</translation>
 <translation id="9078316009970372699">Деактивиране на функцията за незабавен тетъринг</translation>
 <translation id="9079267182985899251">Скоро тази опция вече няма да се поддържа. За да представите раздел, използвайте <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Сайтовете, които посещавате в режим „инкогнито“, не се запазват</translation>
 <translation id="9084064520949870008">Отваряне като прозорец</translation>
 <translation id="9085256200913095638">Дублиране на избрания раздел</translation>
 <translation id="9085776959277692427">Не е избран <ph name="LANGUAGE" /> език. За избиране натиснете клавиша „търсене“ + интервал.</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index f977dfc..b763274 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -447,6 +447,7 @@
 <translation id="1476088332184200792">আপনার ডিভাইসে কপি করুন</translation>
 <translation id="1476607407192946488">&amp;ভাষা সেটিংস</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" />-এর জন্য আপনার স্মার্ট কার্ড প্রবেশ করিয়ে রাখতে হবে।</translation>
+<translation id="1477654881618305065">আপনার প্রতিষ্ঠান আপনাকে এই কন্টেন্ট শেয়ার করার অনুমতি দেয় না। আপনার সহায়তা প্রয়োজন হলে, অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।</translation>
 <translation id="1478340334823509079">বিবরণ: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ইনস্টলেশন চালু করা হয়নি</translation>
 <translation id="1480571698637441426">আপনার করা প্রশ্নের নিজের মতো উত্তর পেতে, Assistant-কে আপনার স্ক্রিনে যা আছে তার স্ক্রিনশট অ্যাক্সেস করতে দিন। এছাড়াও, যেসব গান ও ভিডিও চলছে সেই সংক্রান্ত তথ্য এখানে থাকতে পারে।</translation>
@@ -622,6 +623,7 @@
 <translation id="1643921258693943800">'নিয়ারবাই শেয়ার' ফিচার ব্যবহার করতে, ব্লুটুথ এবং ওয়াই-ফাই চালু করুন</translation>
 <translation id="1644574205037202324">ইতিহাস</translation>
 <translation id="1645516838734033527">আপনার <ph name="DEVICE_TYPE" /> সুরক্ষিত রাখতে, আপনার ফোনের Smart Lock এর স্ক্রিন লক প্রয়োজন।</translation>
+<translation id="1646793251510634025">সার্চ ও ব্রাউজিং অপ্টিমাইজ করার জন্য সেটিংস পর্যালোচনা করুন</translation>
 <translation id="1646982517418478057">এই সার্টিফিকেটটি এনক্রিপ্ট করতে একটি পাসওয়ার্ড লিখুন</translation>
 <translation id="1648528859488547844">লোকেশন নির্ধারণ করার জন্য ওয়াই-ফাই অথবা মোবাইল নেটওয়ার্ক ব্যবহার করুন</translation>
 <translation id="164936512206786300">ব্লুটুথ ডিভাইস আনপেয়ার করুন</translation>
@@ -1369,6 +1371,7 @@
 <translation id="2406153734066939945">এই প্রোফাইল এবং এর ডেটা মুছে ফেলতে চান?</translation>
 <translation id="2408018932941436077">কার্ড সেভ করা হচ্ছে</translation>
 <translation id="2408955596600435184">আপনার পিন লিখুন</translation>
+<translation id="2410754283952462441">একটি অ্যাকাউন্ট বেছে নিন</translation>
 <translation id="241082044617551207">অজানা প্লাগ-ইন</translation>
 <translation id="2412593942846481727">আপডেট উপলভ্য</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1477,6 +1480,7 @@
 <translation id="2514326558286966059">আঙুলের ছাপ দিয়ে আরও তাড়াতাড়ি আনলক করুন</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">আরও একটি সুইচ অ্যাসাইন করুন</translation>
+<translation id="251722524540674480">আপনার ইউজারনেম কনফার্ম করুন</translation>
 <translation id="2517472476991765520">স্ক্যান করুন</translation>
 <translation id="2518024842978892609">আপনার ক্লায়েন্ট শংসাপত্র ব্যবহার করুন</translation>
 <translation id="2519517390894391510">সার্টিফিকেট প্রোফাইলের নাম</translation>
@@ -2180,6 +2184,7 @@
 <translation id="3288047731229977326">ডেভেলপার মোডে চলমান এক্সটেনশনগুলি আপনার কম্পিউটারের ক্ষতি করতে পারে৷ যদি আপনি একজন ডেভেলপার না হন, তবে সুরক্ষিত থাকার জন্য আপনার এই এক্সটেনশনগুলিকে ডেভেলপার মোডে চালানো বন্ধ করা উচিৎ৷</translation>
 <translation id="3289668031376215426">অটো-ক্যাপিটালাইজেশন</translation>
 <translation id="3289856944988573801">আপডেটগুলি পরীক্ষা করার জন্য, অনুগ্রহ করে Ethernet বা ওয়াই-ফাই ব্যবহার করুন৷</translation>
+<translation id="3291436823898732747">উন্নত ব্রাউজিং: যেমন, আপনি টাইপিং শুরু করার আগেই ওমনিবক্সে আসতে থাকা সাজেশন</translation>
 <translation id="3293644607209440645">এই পৃষ্ঠা পাঠিয়ে দিন</translation>
 <translation id="32939749466444286">Linux কন্টেনারটি শুরু হয়নি। আবার চেষ্টা করুন।</translation>
 <translation id="3294437725009624529">অতিথি</translation>
@@ -4212,6 +4217,7 @@
 <translation id="5505307013568720083">কালি ফুরিয়ে গেছে</translation>
 <translation id="5505794066310932198">টগল কমান্ডার</translation>
 <translation id="5507756662695126555">অ-অস্বীকৃতি</translation>
+<translation id="5507795078844206688">আপনি যেসব পৃষ্ঠা দেখছেন তার URL, উদাহরণ https://www.google.com</translation>
 <translation id="5509693895992845810">এই &amp;রূপে সেভ করুন...</translation>
 <translation id="5509914365760201064">ইস্যুকারী: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Google থেকে ছবির বিবরণ পান</translation>
@@ -4530,6 +4536,7 @@
 <translation id="5869522115854928033">সংরক্ষিত পাসওয়ার্ড</translation>
 <translation id="5870086504539785141">ব্যবহারযোগ্যতার মেনু বন্ধ করুন</translation>
 <translation id="5870155679953074650">হার্ড ফল্ট</translation>
+<translation id="5875534259258494936">স্ক্রিন শেয়ার করা শেষ হয়ে গেছে</translation>
 <translation id="5876576639916258720">চলছে...</translation>
 <translation id="5876851302954717356">ডানদিকে নতুন ট্যাব</translation>
 <translation id="5877064549588274448">চ্যানেল পরিবর্তিত হয়েছে৷ পরিবর্তনগুলি প্রয়োগ করার জন্য আপনার ডিভাইস আবার শুরু করুন৷</translation>
@@ -5389,6 +5396,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" />-কে রুট হিসাবে চালনা করা যাবে না৷</translation>
 <translation id="6812841287760418429">পরিবর্তন রাখুন</translation>
 <translation id="6813907279658683733">সম্পূর্ণ স্ক্রিন</translation>
+<translation id="6814033694018386318">আপনি Google-এ কী শেয়ার করেন</translation>
 <translation id="6817174620439930047">যখন কোনো সাইট MIDI ডিভাইসগুলি অ্যাক্সেস করার জন্য সিস্টেমের বিশিষ্ট বার্তাগুলি ব্যবহার করতে চায় তখন জিজ্ঞাসা করুন (প্রস্তাবিত)</translation>
 <translation id="6818198425579322765">অনুবাদ করার জন্য পৃষ্ঠার ভাষা</translation>
 <translation id="6818802132960437751">অ্যান্টিভাইরাস অন্তর্ভুক্ত</translation>
@@ -5884,6 +5892,7 @@
 <translation id="7374376573160927383">USB ডিভাইসগুলি ম্যানেজ করুন</translation>
 <translation id="7374461526650987610">প্রোটোকল পরিচালনাকারী</translation>
 <translation id="7375235221357833624">{0,plural, =1{১ ঘণ্টার মধ্যে ডিভাইস আপডেট করুন}one{# ঘণ্টার মধ্যে ডিভাইস আপডেট করুন}other{# ঘণ্টার মধ্যে ডিভাইস আপডেট করুন}}</translation>
+<translation id="7376543451826039186">দ্রুত ব্রাউজ করা: যেমন, বর্তমান পৃষ্ঠার উপরে নির্ভর করে আরও নির্দিষ্ট কন্টেন্ট নিজে থেকে লোড হয়ে যাওয়া</translation>
 <translation id="7376553024552204454">মাউস কার্সারটি যখন নড়াচড়া করে তখন একে হাইলাইট করুন</translation>
 <translation id="737728204345822099">আপনার এই সাইটে যাওয়ার রেকর্ড নিরাপত্তা কীয়ে সেভ করা থাকবে।</translation>
 <translation id="7377451353532943397">সেন্সর অ্যাক্সেস ব্লক করা চালিয়ে যান</translation>
@@ -5941,6 +5950,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> থেকে কল করুন</translation>
 <translation id="7431719494109538750">কোনও HID ডিভাইস খুঁজে পাওয়া যায়নি</translation>
 <translation id="7431991332293347422">সার্চ এবং আরও অনেক কিছু নিজের মত করে সাজিয়ে নেওয়ার জন্য আপনার ব্রাউজিং ইতিহাস কীভাবে ব্যবহার হবে তা নিয়ন্ত্রণ করুন</translation>
+<translation id="7432200167665670017">আপনার অ্যাডমিন "<ph name="EXTENSION_NAME" />" ব্লক করে দিয়েছেন - অ্যাপের আইডি <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">আপনার <ph name="DEVICE_TYPE" /> ব্যবহার করা চালিয়ে যেতে স্মার্ট কার্ড প্রবেশ করান</translation>
 <translation id="7433957986129316853">এটি রাখতে চাই</translation>
 <translation id="7434509671034404296">ডেভেলপার</translation>
@@ -5970,6 +5980,7 @@
 <translation id="7460045493116006516">বর্তমানে আপনার ইনস্টল করা থিম</translation>
 <translation id="7461924472993315131">পিন</translation>
 <translation id="746216226901520237">পরের বার, আপনার ফোন <ph name="DEVICE_TYPE" /> আনলক করবে। সেটিংসে গিয়ে Smart Lock বন্ধ করতে পারবেন।</translation>
+<translation id="7464637891177137294">আপনার <ph name="ACCOUNT" />, Google অ্যাকাউন্টে এটি সেভ করুন</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{#টি খোলা ট্যাব, ট্যাব স্ট্রিপ টগল করতে প্রেস করুন}one{#টি খোলা ট্যাব, ট্যাব স্ট্রিপ টগল করতে প্রেস করুন}other{#টি খোলা ট্যাব, ট্যাব স্ট্রিপ টগল করতে প্রেস করুন}}</translation>
 <translation id="7465635034594602553">কিছু সমস্যা হয়েছে। কয়েক মিনিট অপেক্ষা করে আবার <ph name="APP_NAME" /> চালু করুন।</translation>
 <translation id="7465778193084373987">Netscape সার্টিফিকেট রদকরণ ইউআরএল</translation>
@@ -6033,6 +6044,7 @@
 <translation id="7525625923260515951">বেছে নেওয়া টেক্সট শুনুন</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{আরও ১টি}one{আরও {NUM_DOWNLOADS}টি}other{আরও {NUM_DOWNLOADS}টি}}</translation>
 <translation id="7526989658317409655">প্লেসহোল্ডার</translation>
+<translation id="7527758104894292229">আপনার <ph name="ACCOUNT" />, Google অ্যাকাউন্টে এটি আপডেট করুন</translation>
 <translation id="7529411698175791732">আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন। সমস্যাটি থেকে গেলে, সাইন আউট করে আবার প্রবেশ করার চেষ্টা করুন।</translation>
 <translation id="7529876053219658589">{0,plural, =1{'গেস্ট' উইন্ডো বন্ধ করুন}one{'গেস্ট' উইন্ডো বন্ধ করুন}other{'গেস্ট' উইন্ডো বন্ধ করুন}}</translation>
 <translation id="7530016656428373557">ওয়াটে ডিসচার্জের হার</translation>
@@ -6419,6 +6431,7 @@
 <translation id="7898725031477653577">সর্বদা অনুবাদ করুন</translation>
 <translation id="790040513076446191">গোপনীয়তা-সংক্রান্ত সেটিংস নিপূণভাবে ব্যবহার করুন</translation>
 <translation id="7901405293566323524">ফোন হাব</translation>
+<translation id="7901914889562552258">পৃষ্ঠার মেট্রিকস ব্যবহার করে উন্নত করা Chrome</translation>
 <translation id="7903345046358933331">পৃষ্ঠাটি প্রতিক্রিয়াবিহীন হয়েছে। আপনি এটি প্রতিক্রিয়াযুক্ত হওয়ার জন্য অপেক্ষা করতে পারেন বা এটি বন্ধ করতে পারেন।</translation>
 <translation id="7903742244674067440">এই সার্টিফিকেটের কর্তৃপক্ষদের শনাক্ত করে এমন ফাইলের সার্টিফিকেটগুলি আপনার কাছে রয়েছে</translation>
 <translation id="7903859912536385558">স্থিতিশীল (বিশ্বস্ত পরীক্ষক)</translation>
@@ -6885,6 +6898,7 @@
 <translation id="8392364544846746346">কোনও সাইট আপনার ডিভাইসে থাকা ফাইল বা ফোল্ডার এডিট করতে চাইলে অনুমতি নিতে বলুন</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> এর জন্য বিকল্পগুলির মেনু</translation>
 <translation id="8393511274964623038">প্লাগ-ইন বন্ধ করুন</translation>
+<translation id="839363317075970734">ব্লুটুথ ডিভাইসের বিবরণ</translation>
 <translation id="8393700583063109961">বার্তা পাঠান</translation>
 <translation id="8397825320644530257">যুক্ত থাকা ফোন ডিসকানেক্ট করুন</translation>
 <translation id="8398877366907290961">যাইহোক এগিয়ে যান</translation>
@@ -7135,6 +7149,7 @@
 <translation id="8681614230122836773">Chrome আপনার কম্পিউটারে ক্ষতিকর সফ্টওয়্যার খুঁজে পেয়েছে</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> কানেক্ট করা হয়েছে এবং এখন সেটি ব্যবহার করা যাবে</translation>
 <translation id="8683081248374354009">গ্রুপ রিসেট করুন</translation>
+<translation id="8683526617475118045">আপনি কী পাবেন</translation>
 <translation id="8688672835843460752">উপলব্ধ</translation>
 <translation id="8690129572193755009">সাইটগুলি প্রোটোকল নিয়ন্ত্রণ করতে চাইতে পারে</translation>
 <translation id="8695139659682234808">সেট আপ করা হয়ে গেলে অভিভাবকীয় নিয়ন্ত্রণ যোগ করুন</translation>
@@ -7188,6 +7203,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />-এর পরিবর্তে <ph name="PROTOCOL" /> লিঙ্কসমূহ খুলুন</translation>
 <translation id="8737709691285775803">শিল</translation>
 <translation id="8737914367566358838">এই পৃষ্ঠাটি যে ভাষাতে অনুবাদ করতে চান সেটি বেছে নিন</translation>
+<translation id="8737916108453753541">আপনি কী ব্রাউজ করেন তা বোঝার জন্য সব URL, Google-এ শেয়ার করা হয়</translation>
 <translation id="8740247629089392745">আপনি এই Chromebook <ph name="SUPERVISED_USER_NAME" />-কে ফেরত দিতে পারেন। সেটআপ প্রায় হয়ে গেছে, তারপর আপনি সব সুবিধা চেক করে দেখতে পারবেন।</translation>
 <translation id="8741944563400125534">সুইচ দিয়ে অ্যাক্সেসের সেটআপ গাইড</translation>
 <translation id="8742998548129056176">আপনার ডিভাইস এবং সেটি কীভাবে ব্যবহার করবেন (যেমন, ব্যাটারি লেভেল, সিস্টেম ও অ্যাপ অ্যাক্টিভিটি এবং সমস্যা) সেই বিষয়ে কিছু সাধারণ তথ্য এখানে দেওয়া হয়েছে। এই ডেটা Android পরিষেবাকে আরও ভাল করতে ব্যবহার করা হবে। এছাড়া, কিছু একত্রিত তথ্য Google অ্যাপ এবং Android ডেভেলপারদের মতন পার্টনারদের অ্যাপ ও প্রোডাক্টের মান আরও ভাল করতে সাহায্য করবে।</translation>
@@ -7529,6 +7545,7 @@
 <translation id="9078193189520575214">পরিবর্তনগুলি প্রয়োগ করা হচ্ছে…</translation>
 <translation id="9078316009970372699">ইনস্ট্যান্ট টিথারিং বন্ধ করুন</translation>
 <translation id="9079267182985899251">খুব শীঘ্রই এই বিকল্প আর কাজ করবে না। ট্যাব প্রেজেন্ট করতে, <ph name="GOOGLE_MEET" /> ব্যবহার করুন।</translation>
+<translation id="9081543426177426948">ছদ্মবেশী মোডে যেসব সাইট ঘুরে দেখেন, সেগুলি সেভ হয় না</translation>
 <translation id="9084064520949870008">উইন্ডো হিসাবে খুলুন</translation>
 <translation id="9085256200913095638">বেছে নেওয়া ট্যাব ডুপ্লিকেট করুন</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> বেছে নেওয়া হয়নি। বেছে নিতে Search ও Space বোতাম প্রেস করুন।</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index e23bbd7..3ce3ade39 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -1375,6 +1375,7 @@
 <translation id="2406153734066939945">Izbrisati ovaj profil i njegove podatke?</translation>
 <translation id="2408018932941436077">Pohranjivanje kartice</translation>
 <translation id="2408955596600435184">Unesite PIN</translation>
+<translation id="2410754283952462441">Odaberite račun</translation>
 <translation id="241082044617551207">Nepoznati dodatak</translation>
 <translation id="2412593942846481727">Ažuriranje je dostupno</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7556,6 +7557,7 @@
 <translation id="9078193189520575214">Primjenjivanje promjena...</translation>
 <translation id="9078316009970372699">Onemogući Trenutno povezivanje putem mobitela</translation>
 <translation id="9079267182985899251">Ova opcija uskoro više neće biti podržana. Da prikažete karticu, koristite <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Web lokacije koje posjećujete se ne pohranjuju u anonimnom načinu rada</translation>
 <translation id="9084064520949870008">Otvori u prozoru</translation>
 <translation id="9085256200913095638">Duplicirajte odabrane kartice</translation>
 <translation id="9085776959277692427">Jezik <ph name="LANGUAGE" /> nije odabran. Da odaberete, pritisnite tipku za pretraživanje i razmak.</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index 963fff8..31318c3 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -1360,6 +1360,7 @@
 <translation id="2406153734066939945">Vols suprimir aquest perfil i les dades associades?</translation>
 <translation id="2408018932941436077">S'està desant la targeta</translation>
 <translation id="2408955596600435184">Introdueix el PIN</translation>
+<translation id="2410754283952462441">Tria un compte</translation>
 <translation id="241082044617551207">Connector desconegut</translation>
 <translation id="2412593942846481727">Hi ha una actualització disponible</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7541,6 +7542,7 @@
 <translation id="9078193189520575214">S'estan aplicant els canvis...</translation>
 <translation id="9078316009970372699">Desactiva la compartició de xarxa instantània</translation>
 <translation id="9079267182985899251">Aquesta opció aviat no s'admetrà. Per presentar una pestanya, utilitza <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Els llocs web que visites no es desen en mode d'incògnit</translation>
 <translation id="9084064520949870008">Obre com a finestra</translation>
 <translation id="9085256200913095638">Duplica la pestanya seleccionada</translation>
 <translation id="9085776959277692427">No s'ha seleccionat <ph name="LANGUAGE" />. Prem les tecles Cerca+Espai per seleccionar-lo.</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 46ac9ea..17628c5 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -1362,6 +1362,7 @@
 <translation id="2406153734066939945">Smazat tento profil a jeho data?</translation>
 <translation id="2408018932941436077">Ukládání karty</translation>
 <translation id="2408955596600435184">Zadejte PIN</translation>
+<translation id="2410754283952462441">Vyberte účet</translation>
 <translation id="241082044617551207">Neznámý plugin</translation>
 <translation id="2412593942846481727">K dispozici je aktualizace</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7539,6 +7540,7 @@
 <translation id="9078193189520575214">Aplikují se změny…</translation>
 <translation id="9078316009970372699">Deaktivovat dynamický tethering</translation>
 <translation id="9079267182985899251">Tato možnost již brzy nebude podporována. K prezentaci použijte službu <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">V anonymním režimu se navštívené weby neukládají</translation>
 <translation id="9084064520949870008">Otevřít jako okno</translation>
 <translation id="9085256200913095638">Duplikovat vybranou kartu</translation>
 <translation id="9085776959277692427">Jazyk <ph name="LANGUAGE" /> není vybrán. Vyberete ho stisknutím tlačítka Hledat a mezerníku.</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index b7a730f..74ed554 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -1377,6 +1377,7 @@
 <translation id="2406153734066939945">Vil du slette denne profil og de tilhørende data?</translation>
 <translation id="2408018932941436077">Gemmer kort</translation>
 <translation id="2408955596600435184">Angiv din pinkode</translation>
+<translation id="2410754283952462441">Vælg en konto</translation>
 <translation id="241082044617551207">Ukendt plugin</translation>
 <translation id="2412593942846481727">Der er en tilgængelig opdatering</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7558,6 +7559,7 @@
 <translation id="9078193189520575214">Anvender ændringer...</translation>
 <translation id="9078316009970372699">Deaktiver Automatisk netdeling</translation>
 <translation id="9079267182985899251">Understøttelse af denne mulighed forsvinder snart. Brug <ph name="GOOGLE_MEET" />, hvis du vil vise en fane frem.</translation>
+<translation id="9081543426177426948">De websites, du besøger, gemmes ikke i inkognitotilstand</translation>
 <translation id="9084064520949870008">Åbn som vindue</translation>
 <translation id="9085256200913095638">Dupliker den valgte fane</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> er ikke valgt. Tryk på søgetasten og mellemrumstasten på samme tid for at vælge.</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index d9411eed..b70a6521 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -1352,6 +1352,7 @@
 <translation id="2406153734066939945">Dieses Profil und die zugehörigen Daten löschen?</translation>
 <translation id="2408018932941436077">Karte wird gespeichert</translation>
 <translation id="2408955596600435184">PIN eingeben</translation>
+<translation id="2410754283952462441">Konto auswählen</translation>
 <translation id="241082044617551207">Unbekanntes Plug-in</translation>
 <translation id="2412593942846481727">Update verfügbar</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7522,6 +7523,7 @@
 <translation id="9078193189520575214">Änderungen werden übernommen…</translation>
 <translation id="9078316009970372699">Instant Tethering deaktivieren</translation>
 <translation id="9079267182985899251">Diese Option wird bald nicht mehr unterstützt. Nutzen Sie <ph name="GOOGLE_MEET" />, um einen Tab einzublenden.</translation>
+<translation id="9081543426177426948">Besuchte Websites werden im Inkognitomodus nicht gespeichert</translation>
 <translation id="9084064520949870008">In Fenster öffnen</translation>
 <translation id="9085256200913095638">Ausgewählten Tab duplizieren</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> nicht ausgewählt. Drücken Sie zum Auswählen die Suchtaste + Leertaste.</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index 1a204c49..8d538d7a 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Διαγραφή αυτού του προφίλ και των δεδομένων του;</translation>
 <translation id="2408018932941436077">Γίνεται αποθήκευση της κάρτας</translation>
 <translation id="2408955596600435184">Εισαγάγετε το PIN</translation>
+<translation id="2410754283952462441">Επιλέξτε λογαριασμό</translation>
 <translation id="241082044617551207">Άγνωστη προσθήκη</translation>
 <translation id="2412593942846481727">Υπάρχει διαθέσιμη ενημέρωση</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7555,6 +7556,7 @@
 <translation id="9078193189520575214">Εφαρμογή αλλαγών…</translation>
 <translation id="9078316009970372699">Απενεργοποίηση δικτύου Άμεσης σύνδεσης</translation>
 <translation id="9079267182985899251">Η υποστήριξη για αυτήν την επιλογή θα διακοπεί σύντομα. Για να παρουσιάσετε μια καρτέλα, χρησιμοποιήστε το <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Οι ιστότοποι που επισκέπτεστε δεν αποθηκεύονται σε κατάσταση ανώνυμης περιήγησης</translation>
 <translation id="9084064520949870008">Άνοιγμα σε παράθυρο</translation>
 <translation id="9085256200913095638">Διπλότυπη επιλεγμένη καρτέλα</translation>
 <translation id="9085776959277692427">Η γλώσσα <ph name="LANGUAGE" /> δεν έχει επιλεγεί. Πατήστε το πλήκτρο αναζήτησης και το πλήκτρο διαστήματος για να την επιλέξετε.</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index 6a3d9b6..20b88c1ce 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Delete this profile and its data?</translation>
 <translation id="2408018932941436077">Saving card</translation>
 <translation id="2408955596600435184">Enter your PIN</translation>
+<translation id="2410754283952462441">Choose an account</translation>
 <translation id="241082044617551207">Unknown plug-in</translation>
 <translation id="2412593942846481727">Update available</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7556,6 +7557,7 @@
 <translation id="9078193189520575214">Applying changes…</translation>
 <translation id="9078316009970372699">Disable Instant Tethering</translation>
 <translation id="9079267182985899251">Soon this option will no longer be supported. To present a tab, use <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Sites that you visit aren’t saved in Incognito</translation>
 <translation id="9084064520949870008">Open as a Window</translation>
 <translation id="9085256200913095638">Duplicate Selected Tab</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> not selected. Press 'Search' plus 'Space' to select.</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index b11fbed..0582aff 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -825,7 +825,7 @@
 <translation id="1850508293116537636">Girar &amp;a la derecha</translation>
 <translation id="1852141627593563189">Buscar software dañino</translation>
 <translation id="1852799913675865625">Se produjo un error al intentar leer el archivo: <ph name="ERROR_TEXT" />.</translation>
-<translation id="1854049213067042715">Continúa desde donde dejaste. En Configuración, puedes habilitar las apps para que se restablezcan siempre cuando se reinicia o se apaga el sistema.</translation>
+<translation id="1854049213067042715">Continúa desde donde dejaste. En Configuración, puedes habilitar las apps para que se restablezcan siempre cuando se reinicia el sistema, o bien desactivar el restablecimiento.</translation>
 <translation id="1854180393107901205">Detener transmisión</translation>
 <translation id="1855079636134697549">La cámara está activada</translation>
 <translation id="1856715684130786728">Agregar ubicación...</translation>
@@ -954,7 +954,7 @@
 <translation id="1989113344093894667">No se puede capturar contenido</translation>
 <translation id="1990046457226896323">Se descargaron los archivos de Subtitulado instantáneo</translation>
 <translation id="1990512225220753005">No se muestran accesos directos en esta página</translation>
-<translation id="199191324030140441">Desactiva No interrumpir</translation>
+<translation id="199191324030140441">Desactivar No interrumpir</translation>
 <translation id="1992397118740194946">No está configurada</translation>
 <translation id="1992924914582925289">Quitar del dispositivo</translation>
 <translation id="1994173015038366702">URL del sitio</translation>
@@ -1358,6 +1358,7 @@
 <translation id="2406153734066939945">¿Quieres borrar este perfil y sus datos?</translation>
 <translation id="2408018932941436077">Guardando la tarjeta</translation>
 <translation id="2408955596600435184">Ingresa tu PIN</translation>
+<translation id="2410754283952462441">Elegir una cuenta</translation>
 <translation id="241082044617551207">Complemento desconocido</translation>
 <translation id="2412593942846481727">Actualización disponible</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -2323,7 +2324,7 @@
 <translation id="3446274660183028131">Inicia Parallels Desktop para instalar Windows.</translation>
 <translation id="344630545793878684">Leer los datos en un número de sitios web</translation>
 <translation id="3446650212859500694">Este archivo incluye contenido sensible</translation>
-<translation id="3446827946208017735">Comprende y revisa los parámetros de configuración de privacidad más importantes en un solo lugar.</translation>
+<translation id="3446827946208017735">Encuentra información sobre los parámetros de configuración de privacidad más importantes y revísalos en un solo lugar.</translation>
 <translation id="3448086340637592206">Condiciones Adicionales del Sistema operativo Chrome y Google Chrome</translation>
 <translation id="3448492834076427715">Actualizar cuenta</translation>
 <translation id="3449393517661170867">Nueva ventana con pestañas</translation>
@@ -7537,6 +7538,7 @@
 <translation id="9078193189520575214">Aplicando cambios…</translation>
 <translation id="9078316009970372699">Inhabilitar la Conexión instantánea mediante dispositivo móvil</translation>
 <translation id="9079267182985899251">Pronto esta opción dejará de ser compatible. Para presentar una pestaña, utiliza <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Los sitios que visitas no se guardan en el modo Incógnito</translation>
 <translation id="9084064520949870008">Abrir como ventana</translation>
 <translation id="9085256200913095638">Duplicar la pestaña seleccionada</translation>
 <translation id="9085776959277692427">No se seleccionó <ph name="LANGUAGE" />. Presiona la tecla de búsqueda+barra espaciadora para seleccionar el idioma.</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index 2a8db34..4d94fd4e 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -1362,6 +1362,7 @@
 <translation id="2406153734066939945">¿Eliminar este perfil y sus datos?</translation>
 <translation id="2408018932941436077">Guardando tarjeta</translation>
 <translation id="2408955596600435184">Introduce tu PIN</translation>
+<translation id="2410754283952462441">Elige una cuenta</translation>
 <translation id="241082044617551207">Complemento desconocido</translation>
 <translation id="2412593942846481727">Actualización disponible</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7539,6 +7540,7 @@
 <translation id="9078193189520575214">Aplicando cambios...</translation>
 <translation id="9078316009970372699">Inhabilitar conexión compartida instantánea</translation>
 <translation id="9079267182985899251">Pronto esta opción ya no estará disponible. Para presentar una pestaña, usa <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">En incógnito, los sitios que visitas no se guardan</translation>
 <translation id="9084064520949870008">Abrir como ventana</translation>
 <translation id="9085256200913095638">Duplicar pestaña seleccionada</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> no seleccionado. Pulsa Buscar y la barra espaciadora para seleccionar un idioma.</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index c134b3bc..eb2ed8e 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -1367,6 +1367,7 @@
 <translation id="2406153734066939945">Kas kustutada see profiil ja selle andmed?</translation>
 <translation id="2408018932941436077">Kaardi salvestamine</translation>
 <translation id="2408955596600435184">Sisestage PIN-kood</translation>
+<translation id="2410754283952462441">Konto valimine</translation>
 <translation id="241082044617551207">Tundmatu pistikprogramm</translation>
 <translation id="2412593942846481727">Värskendus on saadaval</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7546,6 +7547,7 @@
 <translation id="9078193189520575214">Muudatuste rakendamine …</translation>
 <translation id="9078316009970372699">Automaatse jagamise keelamine</translation>
 <translation id="9079267182985899251">Seda valikut peagi enam ei toetata. Vahelehe esitamiseks kasutage rakendust <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Külastatavaid saite inkognito režiimis ei salvestata</translation>
 <translation id="9084064520949870008">Ava aknana</translation>
 <translation id="9085256200913095638">Valitud vahelehe duplitseerimine</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> pole valitud. Valimiseks vajutage korraga otsingu- ja tühikuklahvi.</translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb
index 7c23bae..308eb4b 100644
--- a/chrome/app/resources/generated_resources_eu.xtb
+++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -1361,6 +1361,7 @@
 <translation id="2406153734066939945">Profil hau eta bertako datuak ezabatu nahi dituzu?</translation>
 <translation id="2408018932941436077">Txartela gordetzen</translation>
 <translation id="2408955596600435184">Idatzi PINa</translation>
+<translation id="2410754283952462441">Aukeratu kontu bat</translation>
 <translation id="241082044617551207">Plugin ezezaguna</translation>
 <translation id="2412593942846481727">Eguneratu egin daiteke</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -5974,7 +5975,7 @@
 <translation id="7460045493116006516">Instalatuta daukazun gaia</translation>
 <translation id="7461924472993315131">Ainguratu</translation>
 <translation id="746216226901520237">Hurrengoan, telefonoak desblokeatuko du <ph name="DEVICE_TYPE" /> gailua. Smart Lock desaktibatzeko, joan ezarpenetara.</translation>
-<translation id="7464637891177137294">Gorde <ph name="ACCOUNT" /> Google-ko kontuan</translation>
+<translation id="7464637891177137294">Gorde ezazu <ph name="ACCOUNT" /> Google-ko kontuan</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# fitxa dago irekita. Sakatu hau fitxen zinta ikusgai jartzeko edo ezkutatzeko.}other{# fitxa daude irekita. Sakatu hau fitxen zinta ikusgai jartzeko edo ezkutatzeko.}}</translation>
 <translation id="7465635034594602553">Arazoren bat izan da. Itxaron minutu batzuk eta exekutatu <ph name="APP_NAME" /> berriro.</translation>
 <translation id="7465778193084373987">Netscape ziurtagiria ezeztatzeko URLa</translation>
@@ -6038,7 +6039,7 @@
 <translation id="7525625923260515951">Entzun hautatutako testua</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{1 gehiago}other{{NUM_DOWNLOADS} gehiago}}</translation>
 <translation id="7526989658317409655">Leku-marka</translation>
-<translation id="7527758104894292229">Eguneratu pasahitza <ph name="ACCOUNT" /> Google-ko kontuan</translation>
+<translation id="7527758104894292229">Egunera ezazu <ph name="ACCOUNT" /> Google-ko kontuan</translation>
 <translation id="7529411698175791732">Egiaztatu Internetera konektatuta zaudela. Arazoak badirau, probatu saioa amaitu eta berriro hasita.</translation>
 <translation id="7529876053219658589">{0,plural, =1{Itxi gonbidatuentzako leiho guztiak}other{Itxi gonbidatuentzako leiho guztiak}}</translation>
 <translation id="7530016656428373557">Deskarga-abiadura wattetan</translation>
@@ -7536,6 +7537,7 @@
 <translation id="9078193189520575214">Aldaketak aplikatzen…</translation>
 <translation id="9078316009970372699">Desgaitu Konexioa bizkor partekatzeko eginbidea</translation>
 <translation id="9079267182985899251">Laster ez da onartuko aukera hau. Fitxa bat bistaratzeko, erabili <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Bisitatzen dituzun webguneak ez dira gordetzen ezkutuko moduan</translation>
 <translation id="9084064520949870008">Ireki leiho gisa</translation>
 <translation id="9085256200913095638">Bikoiztu hautatutako fitxa</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> ez da hautatu. Hautatzeko, sakatu Bilaketa eta, gero, zuriune-barra.</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 9044f837..d64374bb 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -1373,6 +1373,7 @@
 <translation id="2406153734066939945">این نمایه و داده‌های آن حذف شود؟</translation>
 <translation id="2408018932941436077">درحال ذخیره کارت</translation>
 <translation id="2408955596600435184">پین را وارد کنید</translation>
+<translation id="2410754283952462441">انتخاب حساب</translation>
 <translation id="241082044617551207">افزایه ناشناس</translation>
 <translation id="2412593942846481727">به‌روزرسانی دردسترس است</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7554,6 +7555,7 @@
 <translation id="9078193189520575214">درحال اعمال تغییرات…</translation>
 <translation id="9078316009970372699">غیرفعال کردن «اشتراک‌گذاری اینترنت فوری»</translation>
 <translation id="9079267182985899251">به‌زودی دیگر از این گزینه پشتیبانی نخواهد شد. برای ارائه برگه، از <ph name="GOOGLE_MEET" /> استفاده کنید.</translation>
+<translation id="9081543426177426948">سایت‌هایی که بازدید می‌کنید در «حالت ناشناس» ذخیره نمی‌شود</translation>
 <translation id="9084064520949870008">بازکردن به‌عنوان پنجره</translation>
 <translation id="9085256200913095638">تکرار برگه انتخابی</translation>
 <translation id="9085776959277692427">‏<ph name="LANGUAGE" /> انتخاب نشده است. برای انتخاب،Search (جستجو) را به‌همراه Space فشار دهید.</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index d21ac307..f87fde3 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -1375,6 +1375,7 @@
 <translation id="2406153734066939945">Poistetaanko tämä profiili ja sen data?</translation>
 <translation id="2408018932941436077">Tallennetaan korttia</translation>
 <translation id="2408955596600435184">Lisää PIN-koodi</translation>
+<translation id="2410754283952462441">Valitse tili</translation>
 <translation id="241082044617551207">Tuntematon laajennus</translation>
 <translation id="2412593942846481727">Päivitys saatavilla</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7551,6 +7552,7 @@
 <translation id="9078193189520575214">Otetaan muutoksia käyttöön…</translation>
 <translation id="9078316009970372699">Poista yhteyden pikajakaminen käytöstä</translation>
 <translation id="9079267182985899251">Tätä vaihtoehtoa ei pian enää tueta. Jos haluat jakaa välilehden, avaa <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Avaamiasi sivustoja ei tallenneta incognito-tilassa</translation>
 <translation id="9084064520949870008">Avaa ikkunassa</translation>
 <translation id="9085256200913095638">Kopioi valittu välilehti</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" />, ei valittu. Valitse painamalla Haku ja Välilyönti.</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index 6e7d0fa..67f3fa23 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -1377,6 +1377,7 @@
 <translation id="2406153734066939945">I-delete ang profile na ito at ang data nito?</translation>
 <translation id="2408018932941436077">Sine-save ang card</translation>
 <translation id="2408955596600435184">Ilagay ang iyong PIN</translation>
+<translation id="2410754283952462441">Pumili ng account</translation>
 <translation id="241082044617551207">Hindi kilalang plugin</translation>
 <translation id="2412593942846481727">May available na update</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7560,6 +7561,7 @@
 <translation id="9078193189520575214">Inilalapat ang mga pagbabago...</translation>
 <translation id="9078316009970372699">I-disable ang Instant na Pag-tether</translation>
 <translation id="9079267182985899251">Malapit nang hindi suportahan ang opsyong ito. Para mag-present ng tab, gamitin ang <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Hindi nase-save sa Incognito ang mga site na binibisita mo</translation>
 <translation id="9084064520949870008">Buksan bilang Window</translation>
 <translation id="9085256200913095638">I-duplicate ang Napiling Tab</translation>
 <translation id="9085776959277692427">Hindi napili ang <ph name="LANGUAGE" />. Pindutin ang Search at Space para piliin.</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb
index 4c0b923..97ba183d 100644
--- a/chrome/app/resources/generated_resources_fr-CA.xtb
+++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -1362,6 +1362,7 @@
 <translation id="2406153734066939945">Supprimer ce profil et les données qui y sont associées?</translation>
 <translation id="2408018932941436077">Enregistrement de la carte en cours…</translation>
 <translation id="2408955596600435184">Entrez votre NIP</translation>
+<translation id="2410754283952462441">Choisir un compte</translation>
 <translation id="241082044617551207">Plugiciel inconnu</translation>
 <translation id="2412593942846481727">Mise à jour disponible</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7542,6 +7543,7 @@
 <translation id="9078193189520575214">Application des modifications en cours…</translation>
 <translation id="9078316009970372699">Désactiver le partage de connexion instantané</translation>
 <translation id="9079267182985899251">Cette option ne sera bientôt plus prise en charge. Pour présenter un onglet, utilisez <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Les sites que vous visitez ne sont pas enregistrés en mode de navigation privée</translation>
 <translation id="9084064520949870008">Ouvrir dans une fenêtre</translation>
 <translation id="9085256200913095638">Dupliquer l'onglet sélectionné</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> non sélectionné. Appuyez simultanément sur le bouton de recherche et la barre d'espace pour sélectionner une langue.</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index 62b1fde..13a1b42 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -1362,6 +1362,7 @@
 <translation id="2406153734066939945">Voulez-vous supprimer ce profil et ses données associées ?</translation>
 <translation id="2408018932941436077">Enregistrement de la carte…</translation>
 <translation id="2408955596600435184">Saisissez votre code.</translation>
+<translation id="2410754283952462441">Sélectionner un compte</translation>
 <translation id="241082044617551207">Plug-in inconnu</translation>
 <translation id="2412593942846481727">Mise à jour disponible</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7543,6 +7544,7 @@
 <translation id="9078193189520575214">Application des modifications…</translation>
 <translation id="9078316009970372699">Désactiver le partage de connexion instantané</translation>
 <translation id="9079267182985899251">Cette option ne sera bientôt plus disponible. Pour afficher un onglet, utilisez <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Les sites que vous visitez ne sont pas enregistrés en navigation privée</translation>
 <translation id="9084064520949870008">Ouvrir dans une fenêtre</translation>
 <translation id="9085256200913095638">Dupliquer l'onglet sélectionné</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> non sélectionné. Appuyez simultanément sur le bouton de recherche et la barre d'espace pour sélectionner une langue.</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb
index c58b960c..fd408e1 100644
--- a/chrome/app/resources/generated_resources_gl.xtb
+++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -99,6 +99,7 @@
 <translation id="1103523840287552314">Traducir sempre o <ph name="LANGUAGE" /></translation>
 <translation id="1108600514891325577">&amp;Deter</translation>
 <translation id="1110155001042129815">Esperar</translation>
+<translation id="1111781754511998498">Projector</translation>
 <translation id="1112420131909513020">Hai unha pestana en segundo plano que está utilizando o Bluetooth</translation>
 <translation id="1113892970288677790">Escolle material gráfico e imaxes seleccionadas</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MODEL" /> de <ph name="PRINTER_MANUFACTURER" /> (USB)</translation>
@@ -530,6 +531,7 @@
 <translation id="156793199942386351">A tecla <ph name="CURRENTKEY" /> xa se lle asignou á acción <ph name="ACTION" />. Preme calquera tecla para <ph name="RESPONSE" />.</translation>
 <translation id="1567993339577891801">consola de JavaScript</translation>
 <translation id="1568323446248056064">Abrir a configuración de visualización do dispositivo</translation>
+<translation id="1570604804919108255">Deixar de silenciar notificacións</translation>
 <translation id="1571738973904005196">Ver pestana: <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (modo de convidado)</translation>
 <translation id="1572266655485775982">Wifi activada</translation>
@@ -587,6 +589,7 @@
 <translation id="1621485112342885423">Os teus carros</translation>
 <translation id="1621729191093924223">As funcións que requiran un micrófono non estarán dispoñibles</translation>
 <translation id="1621831347985899379">Eliminaranse os datos do dispositivo (<ph name="DEVICE_TYPE" />)</translation>
+<translation id="1621984899599015181">A túa organización xestiona as opcións para compartir o contido. É posible que algúns elementos estean ocultos.</translation>
 <translation id="1622054403950683339">Esquecer rede wifi</translation>
 <translation id="1623132449929929218">Actualmente as imaxes non están dispoñibles. Volve conectarte a Internet para ver as coleccións de fondos de pantalla.</translation>
 <translation id="1623723619460186680">Redución da luz azul</translation>
@@ -824,6 +827,7 @@
 <translation id="1850508293116537636">Xirar á &amp;dereita</translation>
 <translation id="1852141627593563189">Buscar software daniño</translation>
 <translation id="1852799913675865625">Produciuse un erro mentres se tentaba ler o ficheiro: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1854049213067042715">Continúa desde onde o deixaches. Podes establecer que as aplicacións se restauren sempre ao iniciar o sistema ou desactivar esta función en Configuración.</translation>
 <translation id="1854180393107901205">Deter emisión</translation>
 <translation id="1855079636134697549">Activouse a cámara</translation>
 <translation id="1856715684130786728">Engadir localización...</translation>
@@ -952,6 +956,7 @@
 <translation id="1989113344093894667">Non se puido realizar unha captura do contido</translation>
 <translation id="1990046457226896323">Descargáronse os ficheiros de voz</translation>
 <translation id="1990512225220753005">Non se mostran atallos nesta páxina</translation>
+<translation id="199191324030140441">Desactivar modo Non molestar</translation>
 <translation id="1992397118740194946">Sen configurar</translation>
 <translation id="1992924914582925289">Quitar do dispositivo</translation>
 <translation id="1994173015038366702">URL do sitio</translation>
@@ -993,6 +998,7 @@
 
 Instala a aplicación Family Link no teu dispositivo e poderás xestionar a configuración desta conta.  Enviámosche instrucións por correo electrónico.</translation>
 <translation id="2040460856718599782">Produciuse un erro ao tentar autenticarte. Volve comprobar as túas credenciais de inicio de sesión e téntao de novo.</translation>
+<translation id="2040894699575719559">Bloqueouse a localización</translation>
 <translation id="2042279886444479655">Perfís activos</translation>
 <translation id="2044014337866019681">Asegúrate de estar verificando a conta <ph name="ACCOUNT" /> para desbloquear a sesión.</translation>
 <translation id="204497730941176055">Nome do modelo do certificado de Microsoft</translation>
@@ -1354,6 +1360,7 @@
 <translation id="2406153734066939945">Querer borrar este perfil e os seus datos?</translation>
 <translation id="2408018932941436077">Gardando tarxeta</translation>
 <translation id="2408955596600435184">Introduce o PIN</translation>
+<translation id="2410754283952462441">Escolle unha conta</translation>
 <translation id="241082044617551207">Plugin descoñecido</translation>
 <translation id="2412593942846481727">Hai unha actualización dispoñible</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1476,6 +1483,7 @@
 <translation id="2527167509808613699">Calquera tipo de conexión</translation>
 <translation id="2530166226437958497">Solución de problemas</translation>
 <translation id="2532589005999780174">Modo de alto contraste</translation>
+<translation id="2533649878691950253">Impediuse que este sitio accedese á túa localización precisa porque non adoitas conceder este permiso</translation>
 <translation id="253434972992662860">&amp;Pausa</translation>
 <translation id="253557089021624350">Número de conexións permanente</translation>
 <translation id="2535799430745250929">Non hai ningunha rede móbil</translation>
@@ -1662,6 +1670,7 @@
 <translation id="2738771556149464852">Non despois de</translation>
 <translation id="2739191690716947896">Depuración</translation>
 <translation id="2739240477418971307">Cambiar a configuración de accesibilidade</translation>
+<translation id="2739965161385757621">Revisar configuración</translation>
 <translation id="274029851662193272">Afundida</translation>
 <translation id="2740531572673183784">Aceptar</translation>
 <translation id="2741713322780029189">Abrir terminal de recuperación</translation>
@@ -1786,6 +1795,7 @@
 <translation id="2864601841139725659">Definir a túa foto do perfil</translation>
 <translation id="2865919525181940183">Captura de pantalla dos programas que se atopan actualmente na pantalla</translation>
 <translation id="286674810810214575">Comprobando fontes de alimentación…</translation>
+<translation id="2866876751734765554">Revisión de privacidade</translation>
 <translation id="2867768963760577682">Abrir como pestana fixada</translation>
 <translation id="2868746137289129307">Esta extensión é obsoleta e está desactivada pola política da empresa. Quizais se active automaticamente cando estea dispoñible unha nova versión.</translation>
 <translation id="2870560284913253234">Sitio</translation>
@@ -2315,6 +2325,7 @@
 <translation id="3446274660183028131">Inicia Parallels Desktop para instalar Windows.</translation>
 <translation id="344630545793878684">Lectura dos teus datos nun determinado número de sitios web</translation>
 <translation id="3446650212859500694">Este ficheiro inclúe contido confidencial</translation>
+<translation id="3446827946208017735">Comprende o funcionamento das opcións de configuración de privacidade máis importantes e revísaas nun só lugar</translation>
 <translation id="3448086340637592206">Condicións adicionais de Google Chrome e Chrome OS</translation>
 <translation id="3448492834076427715">Actualizar conta</translation>
 <translation id="3449393517661170867">Nova ventá con pestanas</translation>
@@ -3742,6 +3753,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{Non se atopou ningunha máquina virtual de <ph name="VM_TYPE" />}=1{Atopouse 1 máquina virtual de <ph name="VM_TYPE" />: <ph name="VM_NAME_LIST" />}other{Atopáronse {NUM_VMS} máquinas virtuais de <ph name="VM_TYPE" />: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">Non hai conexión a Internet.</translation>
 <translation id="4998430619171209993">Si</translation>
+<translation id="4999804342505941663">Activar modo Non molestar</translation>
 <translation id="5000922062037820727">Bloqueado (recomendado)</translation>
 <translation id="5005498671520578047">Copiar contrasinal</translation>
 <translation id="5006218871145547804">ADB para aplicacións de Android en Crostini</translation>
@@ -5066,6 +5078,7 @@
 <translation id="6468485451923838994">Tipos de letra</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> ficheiros</translation>
 <translation id="6469557521904094793">Activar rede móbil</translation>
+<translation id="6470823736074966819">Silenciar notificacións</translation>
 <translation id="6472893788822429178">Mostrar botón de inicio</translation>
 <translation id="6474498546677193336">Non se puido deixar de compartir este cartafol porque había unha aplicación usándoo. O cartafol deixará de compartirse cando Linux se apague.</translation>
 <translation id="6474884162850599008">Desconectar a conta de Google Drive</translation>
@@ -7524,6 +7537,7 @@
 <translation id="9078193189520575214">Aplicando cambios…</translation>
 <translation id="9078316009970372699">Desactivar Conexión compartida instantánea</translation>
 <translation id="9079267182985899251">Esta opción deixará de estar dispoñible dentro de pouco. Para mostrar unha pestana, utiliza <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Os sitios que visitas non se gardan no modo de incógnito</translation>
 <translation id="9084064520949870008">Abrir como ventá</translation>
 <translation id="9085256200913095638">Duplicar pestana seleccionada</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> (non seleccionado). Preme Buscar e Espazo para seleccionalo.</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index c1338198..c4c35e7 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -444,6 +444,7 @@
 <translation id="1476088332184200792">તમારા ડિવાઇસ પર કૉપિ કરો</translation>
 <translation id="1476607407192946488">&amp;ભાષા સેટિંગ</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" /> માટે જરૂરી છે કે તમે તમારું સ્માર્ટ કાર્ડ દાખલ કરેલું રાખો.</translation>
+<translation id="1477654881618305065">તમારી સંસ્થા તમને આ કન્ટેન્ટ શેર કરવાની મંજૂરી આપતી નથી. જો તમને સહાયની જરૂર હોય, તો તમારા વ્યવસ્થાપકનો સંપર્ક કરો.</translation>
 <translation id="1478340334823509079">વિગતો: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ઇન્સ્ટૉલેશન ચાલુ કર્યું નથી</translation>
 <translation id="1480571698637441426">જ્યારે તમે પ્રશ્નો પૂછો, ત્યારે ખાસ તમારી જરૂરિયાતો અનુસાર પ્રતિસાદો મેળવવા માટે, તમારા Assistantને તમારી સ્ક્રીન પર શું છે તેને ઍક્સેસ કરવા દો. આમાં વગાડવામાં આવી રહેલા ગીતો અથવા ચાલી રહેલા વીડિયો વિશેની માહિતી પણ શામેલ હોઈ શકે છે.</translation>
@@ -615,6 +616,7 @@
 <translation id="1643921258693943800">'નજીકના શેર' સુવિધાનો ઉપયોગ કરવા માટે, બ્લૂટૂથ અને વાઇ-ફાઇ ચાલુ</translation>
 <translation id="1644574205037202324">ઇતિહાસ</translation>
 <translation id="1645516838734033527">તમારા <ph name="DEVICE_TYPE" />ને સુરક્ષિત રાખવા માટે, Smart Lockને તમારા ફોન પર સ્ક્રીન લૉકની જરૂર છે.</translation>
+<translation id="1646793251510634025">શોધ અને બ્રાઉઝિંગ ઑપ્ટિમાઇઝેશન માટે સેટિંગનો રિવ્યૂ કરો</translation>
 <translation id="1646982517418478057">આ પ્રમાણપત્રને એન્ક્રિપ્ટ કરવા માટે કૃપા કરીને પાસવર્ડ દાખલ કરો</translation>
 <translation id="1648528859488547844">સ્થાન નક્કી કરવા માટે વાઇ-ફાઇ અથવા મોબાઇલ નેટવર્કનો ઉપયોગ કરો</translation>
 <translation id="164936512206786300">બ્લૂટૂથ ડિવાઇસ સાથેનું જોડાણ તોડો</translation>
@@ -1351,6 +1353,7 @@
 <translation id="2406153734066939945">આ પ્રોફાઇલ અને તેનો ડેટા ડિલીટ કરીએ?</translation>
 <translation id="2408018932941436077">કાર્ડ સાચવી રહ્યાં છીએ</translation>
 <translation id="2408955596600435184">તમારો PIN દાખલ કરો</translation>
+<translation id="2410754283952462441">એકાઉન્ટ પસંદ કરો</translation>
 <translation id="241082044617551207">અજ્ઞાત પ્લગિન</translation>
 <translation id="2412593942846481727">અપડેટ ઉપલબ્ધ છે</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1459,6 +1462,7 @@
 <translation id="2514326558286966059">તમારી ફિંગરપ્રિન્ટ વડે ઝડપથી અનલૉક કરો</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">હજી એક સ્વિચની સોંપણી કરો</translation>
+<translation id="251722524540674480">તમારું વપરાશકર્તા નામ કન્ફર્મ કરો</translation>
 <translation id="2517472476991765520">સ્કૅન કરો</translation>
 <translation id="2518024842978892609">તમારા ક્લાઇન્ટ પ્રમાણપત્રોનો ઉપયોગ કરો</translation>
 <translation id="2519517390894391510">પ્રમાણપત્ર પ્રોફાઇલનું નામ</translation>
@@ -2163,6 +2167,7 @@
 <translation id="3288047731229977326">ડેવલપર મોડમાં ચાલી રહેલા એક્સટેન્શન તમારા કમ્પ્યુટરને નુકસાન પહોંચાડી શકે છે. જો તમે ડેવલપર નથી, તો તમે સુરક્ષિત રહેવા માટે ડેવલપર મોડમાં ચાલી રહેલા આ એક્સ્ટેન્શનને બંધ કરવા જોઈએ.</translation>
 <translation id="3289668031376215426">ઑટોમૅટિક રીતે કૅપિટલ કરવાની સુવિધા</translation>
 <translation id="3289856944988573801">અપડેટ તપાસવા માટે, કૃપા કરીને ઇથરનેટ અથવા વાઇ-ફાઇનો ઉપયોગ કરો.</translation>
+<translation id="3291436823898732747">બ્રાઉઝિંગમા સુધારા: ઉદાહરણ તરીકે, તમે લખવાનું શરૂ કરો તે પહેલાં ઑમ્નિબૉક્સમાં સૂચનો</translation>
 <translation id="3293644607209440645">આ પેજ મોકલો</translation>
 <translation id="32939749466444286">Linux કન્ટેનર શરૂ થયું નથી. કૃપા કરીને ફરી પ્રયાસ કરો.</translation>
 <translation id="3294437725009624529">અતિથિ</translation>
@@ -4195,6 +4200,7 @@
 <translation id="5505307013568720083">શાહી ખલાસ થઇ ગઇ છે</translation>
 <translation id="5505794066310932198">ટૉગલ કમાન્ડર</translation>
 <translation id="5507756662695126555">નૉન-રીપ્યૂડિએશન</translation>
+<translation id="5507795078844206688">તમે મુલાકાત લો છો તે પેજના URLs, દા.ત. https://www.google.com</translation>
 <translation id="5509693895992845810">આ &amp;રૂપમાં સાચવો...</translation>
 <translation id="5509914365760201064">રજૂકર્તા: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Google તરફથી છબીના વર્ણન મેળવો</translation>
@@ -4513,6 +4519,7 @@
 <translation id="5869522115854928033">સાચવેલા પાસવર્ડ્સ</translation>
 <translation id="5870086504539785141">ઍક્સેસિબિલિટી મેનૂ બંધ કરો</translation>
 <translation id="5870155679953074650">મોટી ભૂલ</translation>
+<translation id="5875534259258494936">સ્ક્રીન શેરિંગ સમાપ્ત થઈ ગયું છે</translation>
 <translation id="5876576639916258720">થઈ રહ્યું છે…</translation>
 <translation id="5876851302954717356">જમણી બાજુએ નવું ટૅબ</translation>
 <translation id="5877064549588274448">ચેનલ બદલી. ફેરફારો લાગુ કરવા માટે તમારા ઉપકરણને પુનઃપ્રારંભ કરો.</translation>
@@ -5373,6 +5380,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" /> એક મૂળ તરીકે ચાલી શકતું નથી.</translation>
 <translation id="6812841287760418429">ફેરફારો રાખો</translation>
 <translation id="6813907279658683733">સમગ્ર સ્ક્રીન</translation>
+<translation id="6814033694018386318">તમે Google સાથે આ શેર કરો છો</translation>
 <translation id="6817174620439930047">MIDI ઉપકરણોને ઍક્સેસ કરવા માટે જ્યારે સાઇટ, સિસ્ટમ વિશિષ્ટ સંદેશાનો ઉપયોગ કરવા માગે ત્યારે કહો (ભલામણ કરેલ)</translation>
 <translation id="6818198425579322765">અનુવાદ કરવા માટે પેજની ભાષા</translation>
 <translation id="6818802132960437751">બિલ્ટ-ઇન વાયરસ સુરક્ષા</translation>
@@ -5868,6 +5876,7 @@
 <translation id="7374376573160927383">USB ડિવાઇસને મેનેજ કરો</translation>
 <translation id="7374461526650987610">પ્રોટોકોલ હેન્ડલર્સ</translation>
 <translation id="7375235221357833624">{0,plural, =1{એક કલાકની અંદર ડિવાઇસ અપડેટ કરો}one{# કલાકની અંદર ડિવાઇસ અપડેટ કરો}other{# કલાકની અંદર ડિવાઇસ અપડેટ કરો}}</translation>
+<translation id="7376543451826039186">ઝડપી બ્રાઉઝિંગ: ઉદાહરણ તરીકે, વર્તમાન પેજના આધારે, આગળનું ચોક્કસ કન્ટેન્ટ સક્રિયપણે લોડ કરવું</translation>
 <translation id="7376553024552204454">માઉસ કર્સર જ્યારે ગતિમાન હોય ત્યારે તેને હાઇલાઇટ કરો</translation>
 <translation id="737728204345822099">આ સાઇટની તમારી મુલાકાતનો રેકોર્ડ તમારી સિક્યુરિટી કી પર રાખવામાં આવી શકે છે.</translation>
 <translation id="7377451353532943397">સેન્સર ઍક્સેસ બ્લૉક કરવાનું ચાલુ રાખો</translation>
@@ -5925,6 +5934,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> તરફથી કૉલ</translation>
 <translation id="7431719494109538750">કોઈ HID ડિવાઇસ મળ્યું નથી</translation>
 <translation id="7431991332293347422">શોધ અને અન્ય બાબતોને તમને મનગમતી બનાવવા માટે તમારા બ્રાઉઝિંગ ઇતિહાસનો ઉપયોગ કરવાની રીત નિયંત્રિત કરો</translation>
+<translation id="7432200167665670017">તમારા વ્યવસ્થાપકે "<ph name="EXTENSION_NAME" />"ને બ્લૉક કરેલું છે - ઍપ ID <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">તમારા <ph name="DEVICE_TYPE" />નો ઉપયોગ ચાલુ રાખવા માટે સ્માર્ટ કાર્ડ દાખલ કરો</translation>
 <translation id="7433957986129316853">આ જ રાખો</translation>
 <translation id="7434509671034404296">વિકાસકર્તા</translation>
@@ -5954,6 +5964,7 @@
 <translation id="7460045493116006516">તમે ઇન્સ્ટૉલ કરેલી વર્તમાન થીમ</translation>
 <translation id="7461924472993315131">પિન કરો</translation>
 <translation id="746216226901520237">આગલી વખતે, તમારો ફોન તમારા <ph name="DEVICE_TYPE" />ને અનલૉક કરશે. તમે સેટિંગમાં Smart Lock બંધ કરી શકો છો.</translation>
+<translation id="7464637891177137294">તેને તમારા Google એકાઉન્ટ, <ph name="ACCOUNT" />માં સાચવો</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# ખુલ્લી ટૅબ, ટૅબ સ્ટ્રિપને ટૉગલ કરો કરવા માટે દબાવો}one{# ખુલ્લી ટૅબ, ટૅબ સ્ટ્રિપને ટૉગલ કરો કરવા માટે દબાવો}other{# ખુલ્લી ટૅબ, ટૅબ સ્ટ્રિપને ટૉગલ કરો કરવા માટે દબાવો}}</translation>
 <translation id="7465635034594602553">કંઈક ખોટું થયું. કૃપા કરીને થોડી વાર રાહ જુઓ અને <ph name="APP_NAME" /> ફરીથી ચલાવો.</translation>
 <translation id="7465778193084373987">નેટસ્કેપ પ્રમાણપત્ર રિવોકેશન URL</translation>
@@ -6017,6 +6028,7 @@
 <translation id="7525625923260515951">પસંદ કરેલી ટેક્સ્ટ સાંભળો</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{અન્ય 1}one{અન્ય {NUM_DOWNLOADS}}other{અન્ય {NUM_DOWNLOADS}}}</translation>
 <translation id="7526989658317409655">પ્લેસહોલ્ડર</translation>
+<translation id="7527758104894292229">તેને તમારા Google એકાઉન્ટ, <ph name="ACCOUNT" />માં અપડેટ કરો</translation>
 <translation id="7529411698175791732">તમારું ઇન્ટરનેટ કનેક્શન તપાસો. જો સમસ્યા ચાલુ રહે, તો સાઇન આઉટ કરો અને ફરીથી સાઇન ઇન કરવાનો પ્રયાસ કરો.</translation>
 <translation id="7529876053219658589">{0,plural, =1{અતિથિ વિન્ડો બંધ કરો}one{અતિથિ વિન્ડો બંધ કરો}other{અતિથિ વિન્ડો બંધ કરો}}</translation>
 <translation id="7530016656428373557">ડિસ્ચાર્જ દર વોટ્સમાં</translation>
@@ -6403,6 +6415,7 @@
 <translation id="7898725031477653577">હંમેશાં અનુવાદ કરો</translation>
 <translation id="790040513076446191">પ્રાઇવસી સંબંધિત સેટિંગનો ચાલાકીસભર ઉપયોગ કરે છે.</translation>
 <translation id="7901405293566323524">ફોન હબ</translation>
+<translation id="7901914889562552258">પેજ મેટ્રિકનો ઉપયોગ કરીને બહેતર બનાવેલું Chrome</translation>
 <translation id="7903345046358933331">પૃષ્ઠ પ્રતિસાદવિહીન બની ગયું છે. તમે તે પ્રતિસાદ આપવા યોગ્ય બને તેની રાહ જોઈ શકો છો અથવા તેને બંધ કરી શકો છો.</translation>
 <translation id="7903742244674067440">તમારી પાસે ફાઇલ પર પ્રમાણપત્રો છે જે આ પ્રમાણપત્ર અધિકારીઓને ઓળખે છે</translation>
 <translation id="7903859912536385558">સ્થિર (વિશ્વાસપાત્ર પરીક્ષક)</translation>
@@ -6864,6 +6877,7 @@
 <translation id="8392364544846746346">કોઈ સાઇટ તમારા ડિવાઇસમાંની ફાઇલો કે ફોલ્ડરોમાં ફેરફાર કરવા માગે ત્યારે પૂછવામાં આવે</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> માટે વિકલ્પો મેનૂ</translation>
 <translation id="8393511274964623038">પ્લગિન રોકો</translation>
+<translation id="839363317075970734">બ્લૂટૂથ ડિવાઇસની વિગતો</translation>
 <translation id="8393700583063109961">સંદેશ મોકલો</translation>
 <translation id="8397825320644530257">કનેક્ટ થયેલા ફોનને ડિસકનેક્ટ કરવાના સેટિંગ</translation>
 <translation id="8398877366907290961">કોઈપણ રીતે આગળ વધારો</translation>
@@ -7114,6 +7128,7 @@
 <translation id="8681614230122836773">Chromeને તમારા કમ્પ્યુટરમાં હાનિકારક સૉફ્ટવેર મળી આવ્યું છે</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> કનેક્ટ કરેલું અને તૈયાર છે</translation>
 <translation id="8683081248374354009">ગ્રૂપને રીસેટ કરો</translation>
+<translation id="8683526617475118045">તમને થતો લાભ</translation>
 <translation id="8688672835843460752">ઉપલબ્ધ</translation>
 <translation id="8690129572193755009">સાઇટ પ્રોટોકૉલ હૅન્ડલ કરવાનું પૂછી શકે છે</translation>
 <translation id="8695139659682234808">સેટઅપ પૂર્ણ થયા પછી માતાપિતાના યોગ્ય નિયંત્રણો ઉમેરો</translation>
@@ -7167,6 +7182,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ને બદલે <ph name="PROTOCOL" /> લિંક્સ ખોલો</translation>
 <translation id="8737709691285775803">શિલ</translation>
 <translation id="8737914367566358838">આ પેજનો અનુવાદ જે ભાષામાં કરવા ઇચ્છતા હો, તે પસંદ કરો</translation>
+<translation id="8737916108453753541">બ્રાઉઝિંગની વર્તણૂકને સમજવા માટે, URLsને Google સાથે શેર કરવામાં આવે છે</translation>
 <translation id="8740247629089392745">તમે આ Chromebook <ph name="SUPERVISED_USER_NAME" />ને સોંપી શકો છો. સેટઅપ કરવાનું લગભગ પૂર્ણ થઈ ગયું છે અને હવે આ શોધખોળ કરવાનો સમય છે.</translation>
 <translation id="8741944563400125534">સ્વિચ ઍક્સેસનું સેટઅપ કરવા માટે ગાઇડ</translation>
 <translation id="8742998548129056176">તમારા ડિવાઇસ અને તમે તેનો કઈ રીતે ઉપયોગ કરો છો (જેમ કે બૅટરીનું લેવલ, સિસ્ટમ અને ઍપ પ્રવૃત્તિ, તેમજ ભૂલો) વિશેની આ સામાન્ય માહિતી છે. આ ડેટાનો ઉપયોગ Androidને બહેતર બનાવવા માટે કરવામાં આવશે અને અમુક એકીકૃત માહિતી, Google ઍપ અને ભાગીદારો, જેમ કે Android ડેવલપરને પણ તેઓની ઍપ અને પ્રોડક્ટને બહેતર બનાવવામાં સહાયરૂપ થશે.</translation>
@@ -7508,6 +7524,7 @@
 <translation id="9078193189520575214">ફેરફારો લાગુ કરી રહ્યાં છીએ...</translation>
 <translation id="9078316009970372699">ઝટપટ ઇન્ટરનેટ શેર કરવાની સુવિધા બંધ કરો</translation>
 <translation id="9079267182985899251">જલ્દી જ આ વિકલ્પને હવેથી સપોર્ટ કરવાનું બંધ કરવામાં આવશે. કોઈ ટૅબ રજૂ કરવા માટે, <ph name="GOOGLE_MEET" />નો ઉપયોગ કરો.</translation>
+<translation id="9081543426177426948">છૂપા મોડમાં તમે મુલાકાત લો છો એ સાઇટ સચવાતી નથી</translation>
 <translation id="9084064520949870008">વિંડો તરીકે ખોલો</translation>
 <translation id="9085256200913095638">પસંદ કરેલી ટૅબની ડુપ્લિકેટ બનાવો</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> પસંદ કરી નથી. પસંદ કરવા માટે 'શોધો' અને Space દબાવો.</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index 8424528..f77fedc 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -1377,6 +1377,7 @@
 <translation id="2406153734066939945">क्या आप यह प्रोफ़ाइल और इसका डेटा मिटाना चाहते हैं?</translation>
 <translation id="2408018932941436077">कार्ड को सेव किया जा रहा है</translation>
 <translation id="2408955596600435184">अपना पिन डालें</translation>
+<translation id="2410754283952462441">कोई खाता चुनें</translation>
 <translation id="241082044617551207">अज्ञात प्लग इन</translation>
 <translation id="2412593942846481727">अपडेट मौजूद है</translation>
 <translation id="2412753904894530585">केर्बेरोस</translation>
@@ -7554,6 +7555,7 @@
 <translation id="9078193189520575214">बदलाव लागू किए जा रहे हैं...</translation>
 <translation id="9078316009970372699">इंस्टैंट टेदरिंग बंद करें</translation>
 <translation id="9079267182985899251">कुछ समय बाद यह विकल्प काम करना बंद कर देगा. किसी टैब को प्रज़ेंट करने के लिए, <ph name="GOOGLE_MEET" /> का इस्तेमाल करें.</translation>
+<translation id="9081543426177426948">जिन साइटों पर आप जाते हैं उनकी जानकारी गुप्त मोड में सेव नहीं होती</translation>
 <translation id="9084064520949870008">विंडो के रूप में खोलें</translation>
 <translation id="9085256200913095638">चुना गया टैब डुप्लीकेट करें</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> नहीं चुनी गई. भाषा चुनने के लिए, Search के साथ Space दबाएं.</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index 2fbdaa0..86d44a56 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -1363,6 +1363,7 @@
 <translation id="2406153734066939945">Želite li izbrisati ovaj profil i podatke na njemu?</translation>
 <translation id="2408018932941436077">Spremanje kartice</translation>
 <translation id="2408955596600435184">Unesite PIN</translation>
+<translation id="2410754283952462441">Odabir računa</translation>
 <translation id="241082044617551207">Nepoznati dodatak</translation>
 <translation id="2412593942846481727">Dostupno je ažuriranje</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -2179,7 +2180,7 @@
 <translation id="3288047731229977326">Proširenja pokrenuta u načinu rada razvojnog programera mogu naštetiti vašem računalu. Ako niste razvojni programer, trebali biste onemogućiti proširenja koja su pokrenuta u načinu rada razvojnog programera radi svoje zaštite.</translation>
 <translation id="3289668031376215426">Automatsko veliko početno slovo</translation>
 <translation id="3289856944988573801">Da biste provjerili ima li ažuriranja, upotrijebite Ethernet ili Wi-Fi.</translation>
-<translation id="3291436823898732747">Poboljšano pregledavanje: primjerice prijedlozi u višenamjenskom okviru prije nego što počnete tipkati</translation>
+<translation id="3291436823898732747">Poboljšano pregledavanje: primjerice, prijedlozi u višenamjenskom okviru prije nego što počnete tipkati</translation>
 <translation id="3293644607209440645">Pošalji ovu stranicu</translation>
 <translation id="32939749466444286">Linuxov spremnik nije se pokrenuo. Pokušajte ponovo.</translation>
 <translation id="3294437725009624529">Gost</translation>
@@ -5889,7 +5890,7 @@
 <translation id="7374376573160927383">Upravljanje USB uređajima</translation>
 <translation id="7374461526650987610">Rukovatelji protokolima</translation>
 <translation id="7375235221357833624">{0,plural, =1{Ažurirajte uređaj u roku od sat vremena}one{Ažurirajte uređaj u roku od # sata}few{Ažurirajte uređaj u roku od # sata}other{Ažurirajte uređaj u roku od # sati}}</translation>
-<translation id="7376543451826039186">Brže pregledavanje: primjerice proaktivno učitavanje određenog dodatnog sadržaja na temelju trenutačne stranice</translation>
+<translation id="7376543451826039186">Brže pregledavanje: primjerice, proaktivno učitavanje određenog dodatnog sadržaja na temelju trenutačne stranice</translation>
 <translation id="7376553024552204454">Istakni pokazivač miša kada se kreće</translation>
 <translation id="737728204345822099">Na sigurnosnom ključu može se zadržati evidencija vašeg posjeta toj web-lokaciji.</translation>
 <translation id="7377451353532943397">Nastavi blokirati pristup senzorima</translation>
@@ -7200,7 +7201,7 @@
 <translation id="8737685506611670901">otvoriti veze za protokol <ph name="PROTOCOL" /> umjesto <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
 <translation id="8737914367566358838">Odaberite jezik na koji će se stranica prevesti</translation>
-<translation id="8737916108453753541">URL-ovi se dijele s Googleom kako bi se razumjelo ponašanje preglednika</translation>
+<translation id="8737916108453753541">URL-ovi se dijele s Googleom kako bi se razumjelo ponašanje pri pregledavanju</translation>
 <translation id="8740247629089392745">Ovaj Chromebook možete predati korisniku <ph name="SUPERVISED_USER_NAME" />. Postavljanje je skoro gotovo, a zatim ćete moći istraživati</translation>
 <translation id="8741944563400125534">Vodič za postavljanje prekidača za pristup</translation>
 <translation id="8742998548129056176">To su općeniti podaci o vašem uređaju i načinu na koji se upotrebljava (kao što su razina baterije, aktivnosti sustava i aplikacija te pogreške). Ti podaci upotrijebit će se za poboljšanje Androida, a neki skupni podaci pomoći će i Googleovim aplikacijama i partnerima, na primjer razvojnim programerima za Android, da poboljšaju svoje aplikacije i proizvode.</translation>
@@ -7543,6 +7544,7 @@
 <translation id="9078193189520575214">Primjena promjena...</translation>
 <translation id="9078316009970372699">Onemogućivanje Automatskog modemskog povezivanja</translation>
 <translation id="9079267182985899251">Ova opcija uskoro više neće biti podržana. Da biste prikazali karticu, upotrijebite <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Web-lokacije koje posjećujete ne spremaju se u anonimnom načinu</translation>
 <translation id="9084064520949870008">Otvori kao prozor</translation>
 <translation id="9085256200913095638">Dupliciraj odabranu karticu</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> nije odabran. Za odabir pritisnite Pretraži i razmaknicu.</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 8096d12..1ec1c78 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -1375,6 +1375,7 @@
 <translation id="2406153734066939945">Törli ezt a profilt és a hozzá tartozó adatokat?</translation>
 <translation id="2408018932941436077">Kártya mentése folyamatban</translation>
 <translation id="2408955596600435184">PIN-kód megadása</translation>
+<translation id="2410754283952462441">Válasszon fiókot</translation>
 <translation id="241082044617551207">Ismeretlen beépülő modul</translation>
 <translation id="2412593942846481727">Rendelkezésre áll frissítés</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7554,6 +7555,7 @@
 <translation id="9078193189520575214">Módosítások alkalmazása…</translation>
 <translation id="9078316009970372699">Azonnali internetmegosztás letiltása</translation>
 <translation id="9079267182985899251">Hamarosan megszűnik ennek a lehetőségnek a támogatása. Lap átküldéséhez használja a <ph name="GOOGLE_MEET" /> szolgáltatást.</translation>
+<translation id="9081543426177426948">A rendszer inkognitó módban nem menti a meglátogatott webhelyeket</translation>
 <translation id="9084064520949870008">Megnyitás ablakként</translation>
 <translation id="9085256200913095638">Másodpéldány készítése a kiválasztott lapról</translation>
 <translation id="9085776959277692427">A(z) <ph name="LANGUAGE" /> nincs kiválasztva. A kiválasztáshoz nyomja le a Keresés plusz szóköz billentyűkombinációt.</translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb
index 804d2d1..957e75d 100644
--- a/chrome/app/resources/generated_resources_hy.xtb
+++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -1363,6 +1363,7 @@
 <translation id="2406153734066939945">Ջնջե՞լ այս պրոֆիլը և դրա տվյալները</translation>
 <translation id="2408018932941436077">Քարտը պահվում է</translation>
 <translation id="2408955596600435184">Մուտքագրեք ձեր PIN կոդը</translation>
+<translation id="2410754283952462441">Ընտրեք հաշիվ</translation>
 <translation id="241082044617551207">Անհայտ փլագին</translation>
 <translation id="2412593942846481727">Հասանելի է նոր տարբերակը</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7542,6 +7543,7 @@
 <translation id="9078193189520575214">Փոփոխությունների կիրառում…</translation>
 <translation id="9078316009970372699">Անջատել ակնթարթային մուտքի կետը</translation>
 <translation id="9079267182985899251">Այս ընտրանքը շուտով այլևս չի աջակցվելու։ Որևէ ներդիր գլխավոր էկրանին ցուցադրելու համար օգտագործեք <ph name="GOOGLE_MEET" />-ը։</translation>
+<translation id="9081543426177426948">Ինկոգնիտո ռեժիմում այցելած կայքերի մասին տեղեկությունները չեն պահվում</translation>
 <translation id="9084064520949870008">Բացել որպես պատուհան</translation>
 <translation id="9085256200913095638">Կրկնօրինակել ընտրված ներդիրը</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> լեզուն չի ընտրվել։ Ընտրելու համար սեղմեք «Որոնում» + բացատ։</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 007cd1d1..fe526417 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -217,7 +217,7 @@
 <translation id="1223853788495130632">Administrator Anda menyarankan nilai tertentu untuk setelan ini.</translation>
 <translation id="1225177025209879837">Memproses permintaan...</translation>
 <translation id="1227507814927581609">Autentikasi gagal saat menyambung ke "<ph name="DEVICE_NAME" />".</translation>
-<translation id="1230417814058465809">Perlindungan standar aktif. Untuk keamanan yang lebih baik, gunakan perlindungan yang disempurnakan.</translation>
+<translation id="1230417814058465809">Perlindungan standar aktif. Untuk keamanan yang lebih baik, gunakan perlindungan yang ditingkatkan.</translation>
 <translation id="1231733316453485619">Aktifkan sinkronisasi?</translation>
 <translation id="1232569758102978740">Tanpa Judul</translation>
 <translation id="1233497634904001272">Sentuh kunci keamanan sekali lagi untuk menyelesaikan permintaan.</translation>
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Hapus profil ini dan datanya?</translation>
 <translation id="2408018932941436077">Menyimpan kartu</translation>
 <translation id="2408955596600435184">Masukkan PIN</translation>
+<translation id="2410754283952462441">Pilih akun</translation>
 <translation id="241082044617551207">Plugin tidak dikenal</translation>
 <translation id="2412593942846481727">Update tersedia</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -4084,7 +4085,7 @@
 <translation id="5352033265844765294">Penyetempelan Waktu</translation>
 <translation id="5353252989841766347">Ekspor Sandi dari Chrome</translation>
 <translation id="5355099869024327351">Izinkan Asisten menampilkan notifikasi</translation>
-<translation id="5355191726083956201">Perlindungan yang Disempurnakan aktif</translation>
+<translation id="5355191726083956201">Perlindungan yang Ditingkatkan aktif</translation>
 <translation id="5355926466126177564">Ekstensi "<ph name="EXTENSION_NAME" />" telah mengubah halaman apa yang ditampilkan saat Anda menelusuri dari Omnibox.</translation>
 <translation id="5356155057455921522">Update dari administrator ini akan membuat aplikasi organisasi dapat lebih cepat dibuka. Proses ini mungkin perlu waktu beberapa menit.</translation>
 <translation id="5359910752122114278">1 hasil</translation>
@@ -5110,7 +5111,7 @@
 <translation id="648927581764831596">Tidak ada yang tersedia</translation>
 <translation id="6490471652906364588">Perangkat USB-C (port sebelah kanan)</translation>
 <translation id="6491376743066338510">Otorisasi gagal</translation>
-<translation id="6494327278868541139">Tampilkan detail perlindungan yang disempurnakan</translation>
+<translation id="6494327278868541139">Tampilkan detail perlindungan yang ditingkatkan</translation>
 <translation id="6494445798847293442">Bukan Otoritas Sertifikasi</translation>
 <translation id="6494750904506170417">pop-up dan pengalihan</translation>
 <translation id="6494974875566443634">Penyesuaian</translation>
@@ -5482,7 +5483,7 @@
 <translation id="6897363604023044284">Pilih situs yang akan dihapus datanya</translation>
 <translation id="6898440773573063262">Aplikasi Kiosk sekarang dapat dikonfigurasi untuk peluncuran otomatis di perangkat ini.</translation>
 <translation id="6900284862687837908">Aplikasi Latar Belakang: <ph name="BACKGROUND_APP_URL" /></translation>
-<translation id="6900532703269623216">Perlindungan yang disempurnakan</translation>
+<translation id="6900532703269623216">Perlindungan yang ditingkatkan</translation>
 <translation id="6900651018461749106">Login lagi untuk memperbarui <ph name="USER_EMAIL" /></translation>
 <translation id="6902066522699286937">Suara untuk dipratinjau</translation>
 <translation id="6902336033320348843">Bagian tidak didukung: <ph name="ERROR_LINE" /></translation>
@@ -7556,6 +7557,7 @@
 <translation id="9078193189520575214">Menerapkan perubahan ...</translation>
 <translation id="9078316009970372699">Nonaktifkan Tethering Instan</translation>
 <translation id="9079267182985899251">Dalam waktu dekat, opsi ini tidak lagi didukung. Untuk menampilkan tab, gunakan <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Situs yang Anda buka tidak disimpan dalam mode Samaran</translation>
 <translation id="9084064520949870008">Buka sebagai Jendela</translation>
 <translation id="9085256200913095638">Duplikasi Tab Terpilih</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> tidak dipilih. Tekan tombol Penelusuran dan Spasi untuk memilih.</translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb
index d729fb52..88c61ff 100644
--- a/chrome/app/resources/generated_resources_is.xtb
+++ b/chrome/app/resources/generated_resources_is.xtb
@@ -1377,6 +1377,7 @@
 <translation id="2406153734066939945">Eyða þessum prófíl og gögnum hans?</translation>
 <translation id="2408018932941436077">Vistar kort</translation>
 <translation id="2408955596600435184">Sláðu inn PIN-númerið þitt</translation>
+<translation id="2410754283952462441">Veldu reikning</translation>
 <translation id="241082044617551207">Óþekkt viðbót</translation>
 <translation id="2412593942846481727">Uppfærsla í boði</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7556,6 +7557,7 @@
 <translation id="9078193189520575214">Gerir breytingar...</translation>
 <translation id="9078316009970372699">Slökkva á skynditjóðrun</translation>
 <translation id="9079267182985899251">Innan skamms verður þessi valkostur ekki studdur lengur. Notaðu <ph name="GOOGLE_MEET" /> til að kynna flipa.</translation>
+<translation id="9081543426177426948">Vefsvæði sem þú opnar eru ekki vistuð í huliðsstillingu</translation>
 <translation id="9084064520949870008">Opna sem glugga</translation>
 <translation id="9085256200913095638">Opna annað eintak af völdum flipa</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" />, ekki valið. Ýttu á leit og bilslána til að velja.</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index eddb99c..7e99fd9a 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -1361,6 +1361,7 @@
 <translation id="2406153734066939945">Vuoi eliminare questo profilo e i relativi dati?</translation>
 <translation id="2408018932941436077">Salvataggio della carta</translation>
 <translation id="2408955596600435184">Inserisci il codice PIN</translation>
+<translation id="2410754283952462441">Scegli un account</translation>
 <translation id="241082044617551207">Plug-in sconosciuto</translation>
 <translation id="2412593942846481727">Aggiornamento disponibile</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7540,6 +7541,7 @@
 <translation id="9078193189520575214">Applicazione delle modifiche in corso…</translation>
 <translation id="9078316009970372699">Disabilita tethering istantaneo</translation>
 <translation id="9079267182985899251">A breve questa opzione non sarà più supportata. Per presentare una scheda, utilizza <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">I siti che visiti non vengono salvati in modalità di navigazione in incognito</translation>
 <translation id="9084064520949870008">Apri in una finestra</translation>
 <translation id="9085256200913095638">Duplica scheda selezionata</translation>
 <translation id="9085776959277692427">Lingua <ph name="LANGUAGE" /> non selezionata. Premi il tasto per la ricerca e la barra spaziatrice per selezionarla.</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index e888f62..ea902899 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -1375,6 +1375,7 @@
 <translation id="2406153734066939945">למחוק את הפרופיל הזה ואת הנתונים שלו?</translation>
 <translation id="2408018932941436077">שמירת הכרטיס מתבצעת</translation>
 <translation id="2408955596600435184">יש להזין את קוד האימות</translation>
+<translation id="2410754283952462441">בחירת חשבון</translation>
 <translation id="241082044617551207">פלאגין לא ידוע</translation>
 <translation id="2412593942846481727">יש עדכון זמין</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7559,6 +7560,7 @@
 <translation id="9078193189520575214">השינויים מתבצעים…</translation>
 <translation id="9078316009970372699">השבתה של שיתוף אינטרנט מיידי בין מכשירים</translation>
 <translation id="9079267182985899251">בקרוב לא תהיה יותר תמיכה באפשרות זו. כדי להציג כרטיסייה יש להשתמש ב-<ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">אתרים שנכנסים אליהם לא נשמרים במצב אנונימי</translation>
 <translation id="9084064520949870008">פתיחה כחלון</translation>
 <translation id="9085256200913095638">שכפול הכרטיסייה שנבחרה</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> לא נבחרה. כדי לבחור, יש ללחוץ על 'חיפוש' ועל מקש הרווח.</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index 4d1cf10..acfed69 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -1360,6 +1360,7 @@
 <translation id="2406153734066939945">このプロフィールとデータを削除しますか?</translation>
 <translation id="2408018932941436077">カードを保存しています</translation>
 <translation id="2408955596600435184">PIN を入力してください</translation>
+<translation id="2410754283952462441">アカウントの選択</translation>
 <translation id="241082044617551207">不明なプラグイン</translation>
 <translation id="2412593942846481727">アップデートが利用可能</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7538,6 +7539,7 @@
 <translation id="9078193189520575214">変更を適用しています...</translation>
 <translation id="9078316009970372699">インスタント テザリングを無効にする</translation>
 <translation id="9079267182985899251">このオプションはまもなくサポートされなくなります。タブを表示するには <ph name="GOOGLE_MEET" /> を使用してください。</translation>
+<translation id="9081543426177426948">シークレット モードでは、アクセスしたサイトは保存されません</translation>
 <translation id="9084064520949870008">ウィンドウとして開く</translation>
 <translation id="9085256200913095638">選択したタブを複製</translation>
 <translation id="9085776959277692427">「<ph name="LANGUAGE" />」は選択されていません。選択するには検索+Space キーを押してください。</translation>
diff --git a/chrome/app/resources/generated_resources_ka.xtb b/chrome/app/resources/generated_resources_ka.xtb
index 96be5f1..2e29c546 100644
--- a/chrome/app/resources/generated_resources_ka.xtb
+++ b/chrome/app/resources/generated_resources_ka.xtb
@@ -1361,6 +1361,7 @@
 <translation id="2406153734066939945">გსურთ, წაშალოთ ეს პროფილი და მისი მონაცემები?</translation>
 <translation id="2408018932941436077">მიმდინარეობს ბარათის შენახვა</translation>
 <translation id="2408955596600435184">შეიყვანეთ თქვენი PIN-კოდი</translation>
+<translation id="2410754283952462441">აირჩიეთ ანგარიში</translation>
 <translation id="241082044617551207">უცნობი დანამატი</translation>
 <translation id="2412593942846481727">ხელმისაწვდომია განახლება</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7538,6 +7539,7 @@
 <translation id="9078193189520575214">მიმდინარეობს ცვლილებების მისადაგება...</translation>
 <translation id="9078316009970372699">მყისიერი ტეტერინგის გათიშვა</translation>
 <translation id="9079267182985899251">ეს ვარიანტი მალე აღარ იქნება მხარდაჭერილი. ჩანართის პრეზენტირებისთვის გამოიყენეთ <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">თქვენ მიერ მონახულებული საიტები არ ინახება ინკოგნიტო რეჟიმში</translation>
 <translation id="9084064520949870008">გახსნა ფანჯარაში</translation>
 <translation id="9085256200913095638">არჩეული ჩანართის დუბლირება</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> არ არის არჩეული. ასარჩევად დააჭირეთ Search-სა და შორისს.</translation>
diff --git a/chrome/app/resources/generated_resources_kk.xtb b/chrome/app/resources/generated_resources_kk.xtb
index a4a5392..64483c1 100644
--- a/chrome/app/resources/generated_resources_kk.xtb
+++ b/chrome/app/resources/generated_resources_kk.xtb
@@ -1358,6 +1358,7 @@
 <translation id="2406153734066939945">Бұл профиль және оның деректері жойылсын ба?</translation>
 <translation id="2408018932941436077">Карта сақталуда</translation>
 <translation id="2408955596600435184">PIN кодын енгізіңіз</translation>
+<translation id="2410754283952462441">Есептік жазба таңдау</translation>
 <translation id="241082044617551207">Белгісіз плагин</translation>
 <translation id="2412593942846481727">Жаңартылған нұсқа қолжетімді</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7534,6 +7535,7 @@
 <translation id="9078193189520575214">Өзгерістер күшіне енуде…</translation>
 <translation id="9078316009970372699">Жылдам тетерингті өшіру</translation>
 <translation id="9079267182985899251">Жақында бұл опцияға қолдау көрсетілмейтін болады. Қойындыны көрсету үшін <ph name="GOOGLE_MEET" /> пайдаланыңыз.</translation>
+<translation id="9081543426177426948">Кірген сайттарыңыз инкогнито режимінде сақталмайды</translation>
 <translation id="9084064520949870008">Терезе ретінде ашу</translation>
 <translation id="9085256200913095638">Таңдалған қойындыны көшіру</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> таңдалмады. Таңдау үшін іздеу және бос орын пернелерін бірге басыңыз.</translation>
diff --git a/chrome/app/resources/generated_resources_km.xtb b/chrome/app/resources/generated_resources_km.xtb
index ef9a69ee..dc825ba3 100644
--- a/chrome/app/resources/generated_resources_km.xtb
+++ b/chrome/app/resources/generated_resources_km.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">លុបកម្រងព័ត៌មាន​នេះ និងទិន្នន័យ​របស់វាឬ?</translation>
 <translation id="2408018932941436077">កំពុង​រក្សាទុកបណ្ណ</translation>
 <translation id="2408955596600435184">បញ្ចូល​កូដ PIN របស់​អ្នក</translation>
+<translation id="2410754283952462441">ជ្រើសរើស​គណនី</translation>
 <translation id="241082044617551207">កម្មវិធីជំនួយដែលមិនស្គាល់</translation>
 <translation id="2412593942846481727">មាន​កំណែថ្មី</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7555,6 +7556,7 @@
 <translation id="9078193189520575214">កំពុងអនុវត្តការផ្លាស់ប្ដូរ...</translation>
 <translation id="9078316009970372699">បិទ​ការភ្ជាប់​ភ្លាមៗ</translation>
 <translation id="9079267182985899251">ជម្រើសនេះនឹងមិនអាចប្រើបានទៀតទេក្នុងពេលឆាប់ៗនេះ។ ដើម្បីបង្ហាញផ្ទាំង សូមប្រើ <ph name="GOOGLE_MEET" />។</translation>
+<translation id="9081543426177426948">គេហទំព័រ​ដែលអ្នកចូលមើល​មិនត្រូវបាន​រក្សាទុក​នៅក្នុងមុខងារ​ឯកជនទេ</translation>
 <translation id="9084064520949870008">បើកជាផ្ទាំង</translation>
 <translation id="9085256200913095638">បង្កើតផ្ទាំងដែលបានជ្រើសរើសស្ទួន</translation>
 <translation id="9085776959277692427">មិនបាន​ជ្រើសរើសភាសា<ph name="LANGUAGE" />ទេ។ សូមចុច "ស្វែងរក" រួមជាមួយ "ដកឃ្លា" ដើម្បីជ្រើសរើស។</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index 33727c9..bf8e548 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -101,6 +101,7 @@
 <translation id="1103523840287552314">ಯಾವಾಗಲೂ ಅನುವಾದಿಸಿ <ph name="LANGUAGE" /></translation>
 <translation id="1108600514891325577">&amp;ನಿಲ್ಲಿಸು</translation>
 <translation id="1110155001042129815">ಕಾಯಿರಿ</translation>
+<translation id="1111781754511998498">ಪ್ರಾಜೆಕ್ಟರ್</translation>
 <translation id="1112420131909513020">ಹಿನ್ನೆಲೆ ಟ್ಯಾಬ್ ಬ್ಲೂಟೂತ್ ಅನ್ನು ಬಳಸುತ್ತಿದೆ</translation>
 <translation id="1113892970288677790">ಸಂಗ್ರಹಿಸಲಾದ ಕಲಾಕೃತಿ ಮತ್ತು ಚಿತ್ರಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -447,6 +448,7 @@
 <translation id="1476088332184200792">ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ನಕಲಿಸಿ</translation>
 <translation id="1476607407192946488">&amp;ಭಾಷೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" />, ನಿಮ್ಮ ಸ್ಮಾರ್ಟ್ ಕಾರ್ಡ್ ಅನ್ನು ಸೇರಿಸಬೇಕೆಂದು ಬಯಸುತ್ತದೆ.</translation>
+<translation id="1477654881618305065">ಈ ವಿಷಯವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ನಿಮ್ಮ ಸಂಸ್ಥೆ ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ. ನಿಮಗೆ ಸಹಾಯದ ಅಗತ್ಯವಿದ್ದರೆ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.</translation>
 <translation id="1478340334823509079">ವಿವರಗಳು: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ಇನ್‌ಸ್ಟಾಲೇಶನ್ ಸಕ್ರಿಯಗೊಳಿಸಿಲ್ಲ</translation>
 <translation id="1480571698637441426">ನೀವು ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿದಾಗ ವೈಯಕ್ತಿಕಗೊಳಿಸಿದ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಪಡೆಯಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಏನಿದೆ ಎಂಬುದರ ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ನಿಮ್ಮ Assistant ಗೆ ಅನುಮತಿಸಿ. ಇದು ಪ್ಲೇ ಆಗುತ್ತಿರುವ ಹಾಡುಗಳು ಅಥವಾ ವೀಡಿಯೊಗಳ ಮಾಹಿತಿಯನ್ನು ಸಹ ಒಳಗೊಂಡಿರಬಹುದು.</translation>
@@ -535,6 +537,7 @@
 <translation id="156793199942386351">'<ph name="CURRENTKEY" />' ಅನ್ನು ಈಗಾಗಲೇ '<ph name="ACTION" />' ಕ್ರಿಯೆಗೆ ನಿಯೋಜಿಸಲಾಗಿದೆ. <ph name="RESPONSE" /> ಗೆ ಯಾವುದೇ ಕೀ ಅನ್ನು ಒತ್ತಿರಿ.</translation>
 <translation id="1567993339577891801">JavaScript ಕನ್ಸೋಲ್</translation>
 <translation id="1568323446248056064">ಡಿಸ್‌ಪ್ಲೇ ಸಾಧನ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ</translation>
+<translation id="1570604804919108255">ಅಧಿಸೂಚನೆಗಳನ್ನು ಅನ್‌ಮ್ಯೂಟ್ ಮಾಡಿ</translation>
 <translation id="1571738973904005196"><ph name="TAB_ORIGIN" /> ಟ್ಯಾಬ್ ನೋಡಿ</translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (ಅತಿಥಿ)</translation>
 <translation id="1572266655485775982">ವೈ-ಫೈ ಸಕ್ರಿಯ</translation>
@@ -592,6 +595,7 @@
 <translation id="1621485112342885423">ನಿಮ್ಮ ಕಾರ್ಟ್‌ಗಳು</translation>
 <translation id="1621729191093924223">ಮೈಕ್ರೋಫೋನ್‌ಗೆ ಅಗತ್ಯವಿರುವ ಫೀಚರ್‌ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ</translation>
 <translation id="1621831347985899379"><ph name="DEVICE_TYPE" /> ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ</translation>
+<translation id="1621984899599015181">ಹಂಚಿಕೊಳ್ಳುವ ಆಯ್ಕೆಗಳನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿರ್ವಹಿಸುತ್ತದೆ. ಕೆಲವು ಐಟಂಗಳು ಮರೆಯಾಗಿರಬಹುದು.</translation>
 <translation id="1622054403950683339">ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್ ಮರೆಯಿರಿ</translation>
 <translation id="1623132449929929218">ಚಿತ್ರಗಳು ಪ್ರಸ್ತುತ ಲಭ್ಯವಿಲ್ಲ. ವಾಲ್‌ಪೇಪರ್ ಸಂಗ್ರಹಗಳನ್ನು ನೋಡಲು ದಯವಿಟ್ಟು ಇಂಟರ್ನೆಟ್‌ಗೆ ಮರುಸಂಪರ್ಕಿಸಿ.</translation>
 <translation id="1623723619460186680">ನೀಲಿ ಲೈಟ್ ಕಡಿಮೆಗೊಳಿಸುವಿಕೆ</translation>
@@ -623,6 +627,7 @@
 <translation id="1643921258693943800">Nearby ಶೇರ್ ಅನ್ನು ಬಳಸಲು, ಬ್ಲೂಟೂತ್ ಮತ್ತು ವೈ-ಫೈ ಆನ್ ಮಾಡಿ</translation>
 <translation id="1644574205037202324">ಇತಿಹಾಸ</translation>
 <translation id="1645516838734033527">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಸಾಧನವನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸಿಕೊಳ್ಳಲು, ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿ Smart Lock ಗೆ ಪರದೆ ಲಾಕ್‌ನ ಅಗತ್ಯವಿರುತ್ತದೆ.</translation>
+<translation id="1646793251510634025">ಹುಡುಕಾಟ ಮತ್ತು ಬ್ರೌಸಿಂಗ್ ಆಪ್ಟಿಮೈಸೇಷನ್‌ಗಾಗಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="1646982517418478057">ಈ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿ</translation>
 <translation id="1648528859488547844">ಸ್ಥಳವನ್ನು ನಿರ್ಧರಿಸಲು ವೈ-ಫೈ ಅಥವಾ ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ​​ಬಳಸಿ</translation>
 <translation id="164936512206786300">ಬ್ಲೂಟೂತ್ ಸಾಧನದ ಜೋಡಿ ರದ್ದುಗೊಳಿಸಿ</translation>
@@ -828,6 +833,7 @@
 <translation id="1850508293116537636">&amp;ಪ್ರದಕ್ಷಿಣೆಯಂತೆ ತಿರುಗಿಸಿ</translation>
 <translation id="1852141627593563189">ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಹುಡುಕಿ</translation>
 <translation id="1852799913675865625">ಫೈಲ್ ಅನ್ನು ಓದಲು ಪ್ರಯತ್ನಿಸುವಾಗ ದೋಷ ಕಂಡುಬಂದಿದೆ: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1854049213067042715">ನೀವು ಎಲ್ಲಿ ನಿಲ್ಲಿಸಿರುವಿರೋ, ಅಲ್ಲಿಂದ ಮುಂದುವರಿಸಿ. ಆರಂಭದಲ್ಲಿ ಆ್ಯಪ್‌ಗಳನ್ನು ಯಾವಾಗಲೂ ಮರುಸ್ಥಾಪಿಸಲು ನೀವು ಅವುಗಳನ್ನು ಸೆಟ್ ಮಾಡಬಹುದು ಅಥವಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಮರುಸ್ಥಾಪನೆಯನ್ನು ಆಫ್ ಮಾಡಬಹುದು.</translation>
 <translation id="1854180393107901205">ಬಿತ್ತರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ</translation>
 <translation id="1855079636134697549">ಕ್ಯಾಮರಾ ಆನ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="1856715684130786728">ಸ್ಥಳ ಸೇರಿಸಿ...</translation>
@@ -956,6 +962,7 @@
 <translation id="1989113344093894667">ವಿಷಯವನ್ನು ಕ್ಯಾಪ್ಚರ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
 <translation id="1990046457226896323">ಧ್ವನಿ ಫೈಲ್‌ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="1990512225220753005">ಈ ಪುಟದಲ್ಲಿ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ತೋರಿಸಬೇಡಿ</translation>
+<translation id="199191324030140441">ಅಡಚಣೆ ಮಾಡಬೇಡ ಆಫ್ ಮಾಡಿ</translation>
 <translation id="1992397118740194946">ಹೊಂದಿಸಿಲ್ಲ</translation>
 <translation id="1992924914582925289">ಸಾಧನದಿಂದ ತೆಗೆದುಹಾಕಿ</translation>
 <translation id="1994173015038366702">ಸೈಟ್ URL</translation>
@@ -997,6 +1004,7 @@
 
 ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ Family Link ಆ್ಯಪ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವ ಮೂಲಕ ಈ ಖಾತೆಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನೀವು ನಿರ್ವಹಿಸಬಹುದು.  ನಾವು ನಿಮಗೆ ಇಮೇಲ್ ಮೂಲಕ ಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಿದ್ದೇವೆ.</translation>
 <translation id="2040460856718599782">ಓಹ್! ನೀವು ದೃಢೀಕರಿಸುವ ಪ್ರಯತ್ನದಲ್ಲಿರುವಾಗ ಏನೋ ತಪ್ಪು ನಡೆದಿದೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸೈನ್‌-ಇನ್‌ ರುಜುವಾತುಗಳನ್ನು ಎರಡು ಬಾರಿ ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
+<translation id="2040894699575719559">ಸ್ಥಳವನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
 <translation id="2042279886444479655">ಸಕ್ರಿಯ ಪ್ರೊಫೈಲ್‌ಗಳು</translation>
 <translation id="2044014337866019681">ಸೆಶನ್ ಅನ್‌ಲಾಕ್ ಮಾಡಲು ನೀವು <ph name="ACCOUNT" /> ಅನ್ನು ದೃಢೀಕರಿಸುತ್ತಿರುವಿರಿ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.</translation>
 <translation id="204497730941176055">Microsoft ಪ್ರಮಾಣಪತ್ರ ಟೆಂಪ್ಲೇಟ್ ಹೆಸರು</translation>
@@ -1361,6 +1369,7 @@
 <translation id="2406153734066939945">ಈ ಪ್ರೊಫೈಲ್ ಮತ್ತು ಇದರ ಡೇಟಾವನ್ನು ಅಳಿಸಬೇಕೇ?</translation>
 <translation id="2408018932941436077">ಕಾರ್ಡ್ ಅನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="2408955596600435184">ನಿಮ್ಮ ಪಿನ್ ನಮೂದಿಸಿ</translation>
+<translation id="2410754283952462441">ಖಾತೆಯೊಂದನ್ನು ಆರಿಸಿ</translation>
 <translation id="241082044617551207">ಅಪರಿಚಿತ ಪ್ಲಗ್-ಇನ್</translation>
 <translation id="2412593942846481727">ಅಪ್‌ಡೇಟ್‌‌ ಲಭ್ಯವಿದೆ</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1469,6 +1478,7 @@
 <translation id="2514326558286966059">ನಿಮ್ಮ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಮೂಲಕ ವೇಗವಾಗಿ ಅನ್‌ಲಾಕ್ ಮಾಡಿ</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">ಇನ್ನೂ ಒಂದು ಸ್ವಿಚ್ ಅನ್ನು ನಿಯೋಜಿಸಿ</translation>
+<translation id="251722524540674480">ನಿಮ್ಮ ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ದೃಢೀಕರಿಸಿ</translation>
 <translation id="2517472476991765520">ಸ್ಕ್ಯಾನ್</translation>
 <translation id="2518024842978892609">ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಬಳಸಿ</translation>
 <translation id="2519517390894391510">ಪ್ರಮಾಣಪತ್ರ ಪ್ರೊಫೈಲ್ ಹೆಸರು</translation>
@@ -1482,6 +1492,7 @@
 <translation id="2527167509808613699">ಯಾವುದೇ ರೀತಿಯ ಸಂಪರ್ಕ</translation>
 <translation id="2530166226437958497">ಸಮಸ್ಯೆ ನಿವಾರಣೆ</translation>
 <translation id="2532589005999780174">ಹೆಚ್ಚಿನ ಕಾಂಟ್ರಾಸ್ಟ್ ಮೋಡ್</translation>
+<translation id="2533649878691950253">ನಿಮ್ಮ ನಿಖರವಾದ ಸ್ಥಳವನ್ನು ತಿಳಿದುಕೊಳ್ಳದಂತೆ ಈ ಸೈಟ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ, ಏಕೆಂದರೆ ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಇದನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ</translation>
 <translation id="253434972992662860">&amp;ವಿರಾಮ</translation>
 <translation id="253557089021624350">ಎಣಿಕೆಯನ್ನು ಚಾಲ್ತಿಯಲ್ಲಿರಿಸಿ</translation>
 <translation id="2535799430745250929">ಯಾವುದೇ ಸೆಲ್ಯುಲರ್ ನೆಟ್‌ವರ್ಕ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ</translation>
@@ -1668,6 +1679,7 @@
 <translation id="2738771556149464852">ನಂತರ ಅಲ್ಲ</translation>
 <translation id="2739191690716947896">ಡೀಬಗ್</translation>
 <translation id="2739240477418971307">ನಿಮ್ಮ ಪ್ರವೇಶಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ</translation>
+<translation id="2739965161385757621">ನನ್ನ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="274029851662193272">ಕುಗ್ಗಿಸಲಾಗಿದೆ</translation>
 <translation id="2740531572673183784">ಸರಿ</translation>
 <translation id="2741713322780029189">ಮರುಪ್ರಾಪ್ತಿ ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆರೆಯಿರಿ</translation>
@@ -1792,6 +1804,7 @@
 <translation id="2864601841139725659">ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಚಿತ್ರವನ್ನು ಹೊಂದಿಸಿ</translation>
 <translation id="2865919525181940183">ಪ್ರೋಗ್ರಾಂಗಳ ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಅನ್ನು ಪ್ರಸ್ತುತ ಸ್ಕ್ರೀನ್‌ ಮೇಲೆ ತೋರಿಸಲಾಗಿದೆ</translation>
 <translation id="286674810810214575">ಪವರ್ ಸೋರ್ಸ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ...</translation>
+<translation id="2866876751734765554">ಗೌಪ್ಯತೆ ಪರಿಶೀಲನೆ</translation>
 <translation id="2867768963760577682">ಪಿನ್ ಮಾಡಿದ ಟ್ಯಾಬ್ ಅಂತೆ ತೆರೆಯಿರಿ</translation>
 <translation id="2868746137289129307">ಈ ವಿಸ್ತರಣೆಯ ಅವಧಿಯು ಮುಕ್ತಾಯಗೊಂಡಿದೆ ಮತ್ತು ಎಂಟರ್‌ಪ್ರೈಸ್ ನೀತಿಯಿಂದ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಹೊಸ ಆವೃತ್ತಿಯು ಲಭ್ಯವಿರುವಾಗ ಇದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡಲಾಗುತ್ತದೆ.</translation>
 <translation id="2870560284913253234">ಸೈಟ್</translation>
@@ -2172,6 +2185,7 @@
 <translation id="3288047731229977326">ಡೆವಲಪರ್ ಮೋಡ್‌ನಲ್ಲಿ ಚಾಲನೆಯಾಗುವ ವಿಸ್ತರಣೆಗಳು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಹಾನಿಮಾಡಬಹುದು. ನೀವು ಡೆವಲಪರ್ ಆಗಿರದಿದ್ದರೇ, ಸುರಕ್ಷಿತವಾಗಿರಲು ಡೆವಲಪರ್ ಮೋಡ್‌ನಲ್ಲಿ ಈ ವಿಸ್ತರಣೆಗಳ ಚಾಲನೆಯನ್ನು ನೀವು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕು.</translation>
 <translation id="3289668031376215426">ಸ್ವಯಂ-ದೊಡ್ಡಕ್ಷರ</translation>
 <translation id="3289856944988573801">ನವೀಕರಣಗಳಿಗಾಗಿ ಪರಿಶೀಲಿಸಲು, ದಯವಿಟ್ಟು Ethernet ಅಥವಾ ವೈ-ಫೈ ಬಳಸಿ.</translation>
+<translation id="3291436823898732747">ಸುಧಾರಿತ ಬ್ರೌಸಿಂಗ್: ಉದಾಹರಣೆಗೆ, ನೀವು ಟೈಪ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲೇ ಆಮ್ನಿಬಾಕ್ಸ್‌‌ನಲ್ಲಿರುವ ಸಲಹೆಗಳು</translation>
 <translation id="3293644607209440645">ಈ ಪುಟವನ್ನು ಕಳುಹಿಸಿ</translation>
 <translation id="32939749466444286">Linux ಕಂಟೇನರ್ ಪ್ರಾರಂಭವಾಗಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="3294437725009624529">ಅತಿಥಿ</translation>
@@ -2320,6 +2334,7 @@
 <translation id="3446274660183028131">Windows ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು Parallels Desktop ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ.</translation>
 <translation id="344630545793878684">ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಹಲವಾರು ವೆಬ್‌ಸೈಟ್‌ಗಳಲ್ಲಿ ಓದಿ</translation>
 <translation id="3446650212859500694">ಈ ಫೈಲ್ ಸೂಕ್ಷ್ಮ ವಿಷಯವನ್ನು ಒಳಗೊಂಡಿದೆ.</translation>
+<translation id="3446827946208017735">ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಅತ್ಯಂತ ನಿರ್ಣಾಯಕ ಗೌಪ್ಯತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ ಮತ್ತು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="3448086340637592206">Google Chrome ಹಾಗೂ Chrome OS ಹೆಚ್ಚುವರಿ ನಿಯಮಗಳು</translation>
 <translation id="3448492834076427715">ಖಾತೆಯನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ</translation>
 <translation id="3449393517661170867">ಹೊಸ ಟ್ಯಾಬ್ ಮಾಡಿರುವ ವಿಂಡೋ</translation>
@@ -3749,6 +3764,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{ಯಾವುದೇ <ph name="VM_TYPE" /> VM ಗಳು ಕಂಡುಬಂದಿಲ್ಲ}=1{1 <ph name="VM_TYPE" /> VM ಕಂಡುಬಂದಿದೆ: <ph name="VM_NAME_LIST" />}one{{NUM_VMS} <ph name="VM_TYPE" /> VM ಗಳು ಕಂಡುಬಂದಿವೆ: <ph name="VM_NAME_LIST" />}other{{NUM_VMS} <ph name="VM_TYPE" /> VM ಗಳು ಕಂಡುಬಂದಿವೆ: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವಿಲ್ಲ.</translation>
 <translation id="4998430619171209993">ಆನ್‌</translation>
+<translation id="4999804342505941663">ಅಡಚಣೆ ಮಾಡಬೇಡ ಆನ್ ಮಾಡಿ</translation>
 <translation id="5000922062037820727">ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)</translation>
 <translation id="5005498671520578047">ಪಾಸ್‌ವರ್ಡ್ ನಕಲಿಸಿ</translation>
 <translation id="5006218871145547804">Crostini Android ಆ್ಯಪ್ ADB</translation>
@@ -4206,6 +4222,7 @@
 <translation id="5505307013568720083">ಶಾಯಿ ಖಾಲಿಯಾಗಿದೆ</translation>
 <translation id="5505794066310932198">ಕಮಾಂಡರ್ ಅನ್ನು ಟಾಗಲ್ ಮಾಡಿ</translation>
 <translation id="5507756662695126555">ನಿರಾಕರಣ-ರಹಿತ</translation>
+<translation id="5507795078844206688">ನೀವು ಭೇಟಿ ನೀಡುವ ಪುಟಗಳ URL, ಉದಾ. https://www.google.com</translation>
 <translation id="5509693895992845810">&amp;ಇದರಂತೆ ಉಳಿಸು...</translation>
 <translation id="5509914365760201064">ನೀಡುವವರು: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Google ನಿಂದ ಚಿತ್ರದ ವಿವರಣೆಗಳನ್ನು ಪಡೆಯಿರಿ</translation>
@@ -4524,6 +4541,7 @@
 <translation id="5869522115854928033">ಉಳಿಸಲಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು</translation>
 <translation id="5870086504539785141">ಪ್ರವೇಶಿಸುವಿಕೆ ಮೆನು ಮುಚ್ಚಿ</translation>
 <translation id="5870155679953074650">ಹಾರ್ಡ್ ಫಾಲ್ಟ್ಸ್</translation>
+<translation id="5875534259258494936">ಸ್ಕ್ರೀನ್‌‌ ಹಂಚಿಕೊಳ್ಳುವಿಕೆ ಮುಕ್ತಾಯಗೊಂಡಿದೆ</translation>
 <translation id="5876576639916258720">ರನ್ ಆಗುತ್ತಿದೆ...</translation>
 <translation id="5876851302954717356">ಬಲಭಾಗದಲ್ಲಿ ಹೊಸ ಟ್ಯಾಬ್ ತೆರೆಯಿರಿ</translation>
 <translation id="5877064549588274448">ಚಾನಲ್ ಬದಲಾಗಿದೆ. ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸಲು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ.</translation>
@@ -5072,6 +5090,7 @@
 <translation id="6468485451923838994">ಫಾಂಟ್‍ಗಳು</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> ಫೈಲ್‌ಗಳು</translation>
 <translation id="6469557521904094793">ಸೆಲ್ಯುಲರ್ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಆನ್ ಮಾಡಿ</translation>
+<translation id="6470823736074966819">ಅಧಿಸೂಚನೆಗಳನ್ನು ಮ್ಯೂಟ್ ಮಾಡಿ</translation>
 <translation id="6472893788822429178">ಹೋಮ್ ಬಟನ್ ತೋರಿಸು</translation>
 <translation id="6474498546677193336">ಒಂದು ಅಪ್ಲಿಕೇಶನ್, ಈ ಫೋಲ್ಡರ್ ಅನ್ನು ಬಳಸುತ್ತಿರುವ ಕಾರಣ, ಅದರ ಹಂಚಿಕೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗಲಿಲ್ಲ. ಮುಂದಿನ ಸಲ Linux ಅನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಿದಾಗ, ಈ ಫೋಲ್ಡರ್ ಹಂಚಿಕೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="6474884162850599008">Google ಡ್ರೈವ್ ಖಾತೆಗೆ ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ</translation>
@@ -5383,6 +5402,7 @@
 <translation id="6812349420832218321">ಮೂಲದಂತೆ <ph name="PRODUCT_NAME" /> ಅನ್ನು ಚಾಲನೆಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="6812841287760418429">ಬದಲಾವಣೆಗಳನ್ನು ಇರಿಸು</translation>
 <translation id="6813907279658683733">ಸಂಪೂರ್ಣ ಪರದೆ</translation>
+<translation id="6814033694018386318">ನೀವು Google ಜೊತೆಗೆ ಏನನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತೀರಿ</translation>
 <translation id="6817174620439930047">MIDI ಸಾಧನಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸೈಟ್‌ವೊಂದು ಸಿಸ್ಟಮ್‌ನ ಪ್ರತ್ಯೇಕ ಸಂದೇಶಗಳನ್ನು ಬಳಸಬೇಕೆಂದಾಗ ನನ್ನನ್ನು ಕೇಳಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)</translation>
 <translation id="6818198425579322765">ಅನುವಾದಿಸಬೇಕಾದ ಪುಟದ ಭಾಷೆ</translation>
 <translation id="6818802132960437751">ಅಂತರ್ನಿರ್ಮಿತ ವೈರಸ್‌ನಿಂದ ರಕ್ಷಣೆ</translation>
@@ -5879,6 +5899,7 @@
 <translation id="7374376573160927383">USB ಸಾಧನಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="7374461526650987610">ಪ್ರೊಟೊಕಾಲ್ ಹ್ಯಾಂಡ್‌ಲರ್‌ಗಳು</translation>
 <translation id="7375235221357833624">{0,plural, =1{ಒಂದು ಗಂಟೆಯೊಳಗೆ ಸಾಧನವನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ}one{# ಗಂಟೆಗಳೊಳಗೆ ಸಾಧನವನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ}other{# ಗಂಟೆಗಳೊಳಗೆ ಸಾಧನವನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ}}</translation>
+<translation id="7376543451826039186">ವೇಗವಾದ ಬ್ರೌಸಿಂಗ್: ಉದಾಹರಣೆಗೆ, ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಆಧರಿಸಿ ನಿರ್ದಿಷ್ಟವಾದ ಇನ್ನಷ್ಟು ವಿಷಯವನ್ನು ಪೂರ್ವಭಾವಿಯಾಗಿ ಲೋಡ್ ಮಾಡುವುದು</translation>
 <translation id="7376553024552204454">ಮೌಸ್ ಕರ್ಸರ್ ಅನ್ನು ಸರಿಸುವಾಗ ಹೈಲೈಟ್ ಮಾಡಿ</translation>
 <translation id="737728204345822099">ನೀವು ಈ ಸೈಟ್‌ಗೆ ಭೇಟಿ ನೀಡಿರುವ ಕುರಿತಾದ ದಾಖಲೆಗಳನ್ನು ನಿಮ್ಮ ಭದ್ರತೆ ಕೀಯಲ್ಲಿ ಉಳಿಸಲಾಗಿರುತ್ತದೆ.</translation>
 <translation id="7377451353532943397">ಸೆನ್ಸರ್‌ ಪ್ರವೇಶ ನಿರ್ಬಂಧಿಸುವುದನ್ನು ಮುಂದುವರಿಸಿ</translation>
@@ -5936,6 +5957,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> ನಿಂದ ಕರೆ ಮಾಡಿ</translation>
 <translation id="7431719494109538750">ಯಾವುದೇ HID ಸಾಧನಗಳು ಕಂಡುಬಂದಿಲ್ಲ</translation>
 <translation id="7431991332293347422">ಹುಡುಕಾಟ ಮತ್ತು ಇನ್ನೂ ಹೆಚ್ಚಿನವುಗಳನ್ನು ವೈಯಕ್ತೀಕರಿಸಲು ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಹೇಗೆ ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಿ</translation>
+<translation id="7432200167665670017">"<ph name="EXTENSION_NAME" />" - ಆ್ಯಪ್ ಐಡಿ <ph name="EXTENSION_ID" /> ಅನ್ನು ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನಿರ್ಬಂಧಿಸಿದ್ದಾರೆ</translation>
 <translation id="7433708794692032816">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಬಳಕೆಯನ್ನು ಮುಂದುವರಿಸಲು ಸ್ಮಾರ್ಟ್ ಕಾರ್ಡ್ ಸೇರಿಸಿ</translation>
 <translation id="7433957986129316853">ಇರಲಿ ಬಿಡಿ</translation>
 <translation id="7434509671034404296">ಡೆವಲಪರ್</translation>
@@ -5965,6 +5987,7 @@
 <translation id="7460045493116006516">ನೀವು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿರುವ ಪ್ರಸ್ತುತ ಥೀಮ್</translation>
 <translation id="7461924472993315131">ಪಿನ್</translation>
 <translation id="746216226901520237">ಮುಂದಿನ ಬಾರಿ, ನಿಮ್ಮ ಫೋನ್ ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುತ್ತದೆ. ನೀವು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ Smart Lock ಅನ್ನು ಆಫ್ ಮಾಡಬಹುದು.</translation>
+<translation id="7464637891177137294">ಇದನ್ನು ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಉಳಿಸಿ, <ph name="ACCOUNT" /></translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# ಟ್ಯಾಬ್ ತೆರೆದಿದೆ, ಟ್ಯಾಬ್ ಸ್ಟ್ರಿಪ್ ಟಾಗಲ್ ಮಾಡಲು ಒತ್ತಿರಿ}one{# ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿವೆ, ಟ್ಯಾಬ್‌ ಸ್ಟ್ರಿಪ್ ಟಾಗಲ್ ಮಾಡಲು ಒತ್ತಿರಿ}other{# ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿವೆ, ಟ್ಯಾಬ್‌ ಸ್ಟ್ರಿಪ್ ಟಾಗಲ್ ಮಾಡಲು ಒತ್ತಿರಿ}}</translation>
 <translation id="7465635034594602553">ಏನೋ ತಪ್ಪಾಗಿದೆ. ಕೆಲವು ನಿಮಿಷಗಳವರೆಗೆ ನಿರೀಕ್ಷಿಸಿ ಮತ್ತು <ph name="APP_NAME" /> ಅನ್ನು ಪುನಃ ರನ್ ಮಾಡಿ.</translation>
 <translation id="7465778193084373987">Netscape ಪ್ರಮಾಣಪತ್ರ ಹಿಂತೆಗೆದುಕೊಳ್ಳುವಿಕೆ URL</translation>
@@ -6028,6 +6051,7 @@
 <translation id="7525625923260515951">ಆಯ್ಕೆಮಾಡಿರುವ ಪಠ್ಯವನ್ನು ಕೇಳಿಸಿಕೊಳ್ಳಿ</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{ಇನ್ನೂ 1}one{ಇನ್ನೂ {NUM_DOWNLOADS}}other{ಇನ್ನೂ {NUM_DOWNLOADS}}}</translation>
 <translation id="7526989658317409655">ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್</translation>
+<translation id="7527758104894292229">ಇದನ್ನು ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿ, <ph name="ACCOUNT" /></translation>
 <translation id="7529411698175791732">ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರೀಕ್ಷಿಸಿ. ಸಮಸ್ಯೆ ಮುಂದುವರೆದರೆ, ಸೈನ್ ಔಟ್ ಮಾಡಲು ಹಾಗೂ ಮರಳಿ ಸೈನ್ ಇನ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="7529876053219658589">{0,plural, =1{ಗೆಸ್ಟ್ ವಿಂಡೋ ಮುಚ್ಚಿರಿ}one{ಗೆಸ್ಟ್ ವಿಂಡೋ ಮುಚ್ಚಿರಿ}other{ಗೆಸ್ಟ್ ವಿಂಡೋ ಮುಚ್ಚಿರಿ}}</translation>
 <translation id="7530016656428373557">ವ್ಯಾಟ್‌ಗಳಲ್ಲಿ ಡಿಸ್‌ಚಾರ್ಜ್ ದರ</translation>
@@ -6414,6 +6438,7 @@
 <translation id="7898725031477653577">ಯಾವಾಗಲೂ ಅನುವಾದಿಸು</translation>
 <translation id="790040513076446191">ಗೌಪ್ಯತೆಗೆ- ಸಂಬಂಧಿಸಿದ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಸ್ವಾಧೀನಪಡಿಸಿಕೊಳ್ಳಿ</translation>
 <translation id="7901405293566323524">ಫೋನ್ ಹಬ್</translation>
+<translation id="7901914889562552258">ಪುಟ ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಬಳಸಿ Chrome ಅನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ</translation>
 <translation id="7903345046358933331">ಪುಟವು ಸ್ಪಂದಿಸುತ್ತಿಲ್ಲ. ಅದು ಸ್ಪಂದಿಸುವ ತನಕ ನೀವು ಕಾಯಬಹುದು ಅಥವಾ ಅದನ್ನು ಮುಚ್ಚಬಹುದು.</translation>
 <translation id="7903742244674067440">ಈ ಪ್ರಮಾಣಪತ್ರದ ಪ್ರಾಧಿಕಾರಗಳ ಗುರುತಿಸುವ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ನೀವು ಫೈಲ್‌ನಲ್ಲಿ ಹೊಂದಿದ್ದೀರಿ</translation>
 <translation id="7903859912536385558">ಸ್ಥಿರ (ವಿಶ್ವಾಸಾರ್ಹ ಪರೀಕ್ಷಕ)</translation>
@@ -6877,6 +6902,7 @@
 <translation id="8392364544846746346">ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿನ ಫೈಲ್‌ಗಳು ಅಥವಾ ಫೋಲ್ಡರ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಸೈಟ್ ಬಯಸಿದಾಗ ಕೇಳಿ</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> ಅವರಿಗಾಗಿ ಆಯ್ಕೆಗಳ ಮೆನು</translation>
 <translation id="8393511274964623038">ಪ್ಲಗ್-ಇನ್ ನಿಲ್ಲಿಸಿ</translation>
+<translation id="839363317075970734">ಬ್ಲೂಟೂತ್ ಸಾಧನದ ವಿವರಗಳು</translation>
 <translation id="8393700583063109961">ಸಂದೇಶ ಕಳುಹಿಸು</translation>
 <translation id="8397825320644530257">ಕನೆಕ್ಟ್ ಆಗಿರುವ ಫೋನ್ ಅನ್ನು ಡಿಸ್‌ಕನೆಕ್ಟ್ ಮಾಡಿ</translation>
 <translation id="8398877366907290961">ಏನಾಗಲಿ ಮುಂದುವರೆಯಿರಿ</translation>
@@ -7127,6 +7153,7 @@
 <translation id="8681614230122836773">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿರುವ ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು Chrome ಪತ್ತೆಹಚ್ಚಿದೆ.</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> ಸಂಪರ್ಕ ಹೊಂದಿದೆ ಮತ್ತು ಸಿದ್ದವಾಗಿದೆ</translation>
 <translation id="8683081248374354009">ಗುಂಪನ್ನು ರೀಸೆಟ್ ಮಾಡಿ</translation>
+<translation id="8683526617475118045">ನಿಮಗೇನು ಸಿಗುತ್ತದೆ</translation>
 <translation id="8688672835843460752">ಲಭ್ಯವಿದೆ</translation>
 <translation id="8690129572193755009">ಪ್ರೊಟೊಕಾಲ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸೈಟ್‌ಗಳು ಕೇಳಬಹುದು</translation>
 <translation id="8695139659682234808">ಸೆಟಪ್‌ನ ನಂತರ ಪೋಷಕ ನಿಯಂತ್ರಣಗಳನ್ನು ಸೇರಿಸಿ</translation>
@@ -7180,6 +7207,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ಬದಲಾಗಿ <ph name="PROTOCOL" /> ಲಿಂಕ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="8737709691285775803">ಶಿಲ್</translation>
 <translation id="8737914367566358838">ಪುಟವನ್ನು ಯಾವ ಭಾಷೆಗೆ ಅನುವಾದಿಸಬೇಕೆಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
+<translation id="8737916108453753541">ಬ್ರೌಸಿಂಗ್ ವರ್ತನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು URL ಗಳನ್ನು Google ಜೊತೆಗೆ ಹಂಚಿಕೊಳ್ಳಲಾಗಿದೆ</translation>
 <translation id="8740247629089392745">ಈ Chromebook ಅನ್ನು <ph name="SUPERVISED_USER_NAME" /> ಅವರಿಗೆ ಹಸ್ತಾಂತರಿಸಬಹುದು. ಸೆಟಪ್ ಬಹುತೇಕ ಪೂರ್ಣಗೊಂಡಿದೆ, ಇದು ಎಕ್ಸ್‌ಪ್ಲೋರ್ ಮಾಡುವ ಸಮಯ.</translation>
 <translation id="8741944563400125534">ಪ್ರವೇಶ ಬದಲಾಯಿಸಿ ಸೆಟಪ್ ಗೈಡ್</translation>
 <translation id="8742998548129056176">ನಿಮ್ಮ ಸಾಧನದ ಕುರಿತು ಮತ್ತು ಅದನ್ನು ನೀವು ಹೇಗೆ ಬಳಸುತ್ತೀರಿ ಎಂಬುದರ ಕುರಿತು ಇದು ಸಾಮಾನ್ಯ ಮಾಹಿತಿಯಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, ಬ್ಯಾಟರಿಯ ಮಟ್ಟ, ಸಿಸ್ಟಂ ಹಾಗೂ ಆ್ಯಪ್ ಚಟುವಟಿಕೆ ಮತ್ತು ದೋಷಗಳು). Android ಅನ್ನು ಸುಧಾರಿಸಲು ಈ ಡೇಟಾವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಒಟ್ಟುಗೂಡಿಸಲಾದ ಕೆಲವೊಂದು ಮಾಹಿತಿಯು Google ಆ್ಯಪ್‌ಗಳಿಗೆ ಮತ್ತು Android ಡೆವಲಪರ್‌ಗಳಂತಹ ಪಾಲುದಾರರಿಗೆ, ಅವರ ಆ್ಯಪ್‌ಗಳು ಹಾಗೂ ಉತ್ಪನ್ನಗಳನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.</translation>
@@ -7521,6 +7549,7 @@
 <translation id="9078193189520575214">ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="9078316009970372699">ತತ್‌ಕ್ಷಣದ ಟೆಥರಿಂಗ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="9079267182985899251">ಶೀಘ್ರದಲ್ಲಿ ಈ ಆಯ್ಕೆಯನ್ನು ಬೆಂಬಲಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಲಾಗುತ್ತದೆ. ಟ್ಯಾಬ್ ಅನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲು, <ph name="GOOGLE_MEET" /> ಬಳಸಿ.</translation>
+<translation id="9081543426177426948">ನೀವು ಭೇಟಿ ನೀಡುವ ಸೈಟ್‌ಗಳನ್ನು ಅಜ್ಞಾತ ಮೋಡ್‌ನಲ್ಲಿ ಉಳಿಸಲಾಗುವುದಿಲ್ಲ</translation>
 <translation id="9084064520949870008">ವಿಂಡೊ ಅಂತೆ ತೆರೆಯಿರಿ</translation>
 <translation id="9085256200913095638">ಆಯ್ಕೆ ಮಾಡಿದ ಟ್ಯಾಬ್ ನಕಲಿಸಿ</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> ಅನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿಲ್ಲ. ಆಯ್ಕೆಮಾಡಲು, Search ಜೊತೆಗೆ Space ಅನ್ನು ಒತ್ತಿರಿ.</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index ca4822f..2f63abb 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">프로필과 데이터를 삭제하시겠습니까?</translation>
 <translation id="2408018932941436077">카드 저장 중</translation>
 <translation id="2408955596600435184">PIN 입력</translation>
+<translation id="2410754283952462441">계정 선택</translation>
 <translation id="241082044617551207">알 수 없는 플러그인</translation>
 <translation id="2412593942846481727">업데이트 가능</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7553,6 +7554,7 @@
 <translation id="9078193189520575214">변경사항 적용 중...</translation>
 <translation id="9078316009970372699">인스턴트 테더링 사용 중지</translation>
 <translation id="9079267182985899251">이 옵션은 곧 지원 중단됩니다. 탭을 발표하려면 <ph name="GOOGLE_MEET" />을 사용하세요.</translation>
+<translation id="9081543426177426948">시크릿 모드에서는 방문한 사이트가 저장되지 않음</translation>
 <translation id="9084064520949870008">창으로 열기</translation>
 <translation id="9085256200913095638">선택한 탭 복사</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" />가 선택되지 않았습니다. Search와 Space 키를 눌러 선택하세요.</translation>
diff --git a/chrome/app/resources/generated_resources_ky.xtb b/chrome/app/resources/generated_resources_ky.xtb
index 8138b499..7232f28 100644
--- a/chrome/app/resources/generated_resources_ky.xtb
+++ b/chrome/app/resources/generated_resources_ky.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Бул профиль жана андагы маалымат жок кылынсынбы?</translation>
 <translation id="2408018932941436077">Карта сакталууда</translation>
 <translation id="2408955596600435184">PIN кодуңузду киргизиңиз</translation>
+<translation id="2410754283952462441">Аккаунт тандоо</translation>
 <translation id="241082044617551207">Белгисиз плагин</translation>
 <translation id="2412593942846481727">Жаңы версия бар</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7555,6 +7556,7 @@
 <translation id="9078193189520575214">Өзгөртүүлөр киргизилүүдө...</translation>
 <translation id="9078316009970372699">Ыкчам байланыш түйүнүн ажыратуу</translation>
 <translation id="9079267182985899251">Бул параметр жакында колдоого алынбай калат. Өтмөктү <ph name="GOOGLE_MEET" /> аркылуу көрсөтүңүз.</translation>
+<translation id="9081543426177426948">Сиз баш баккан сайттар Жашыруун режимде сакталбайт</translation>
 <translation id="9084064520949870008">Терезе катары ачуу</translation>
 <translation id="9085256200913095638">Тандалган өтмөктүн көчүрмөсүн түзүү</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> тандалган жок. Тандоо үчүн "Издөөнү" жана боштук баскычын басыңыз.</translation>
diff --git a/chrome/app/resources/generated_resources_lo.xtb b/chrome/app/resources/generated_resources_lo.xtb
index 1f68cda..a93b07c4 100644
--- a/chrome/app/resources/generated_resources_lo.xtb
+++ b/chrome/app/resources/generated_resources_lo.xtb
@@ -1373,6 +1373,7 @@
 <translation id="2406153734066939945">ລຶບໂປຣໄຟລ໌ນີ້ ແລະ ຂໍ້ມູນຂອງມັນບໍ?</translation>
 <translation id="2408018932941436077">ກຳລັງບັນທຶກບັດ</translation>
 <translation id="2408955596600435184">​ປ້ອນ​ລະ​ຫັດ PIN ຂອງ​ທ່ານ</translation>
+<translation id="2410754283952462441">ເລືອກໜຶ່ງບັນຊີ</translation>
 <translation id="241082044617551207">ປລັກອິນທີ່ບໍ່ຮູ້ຈັກ</translation>
 <translation id="2412593942846481727">ມີການອັບເດດໃໝ່</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7551,6 +7552,7 @@
 <translation id="9078193189520575214">ກຳລັງນຳໃຊ້ການປ່ຽນແປງ...</translation>
 <translation id="9078316009970372699">ປິດການນຳໃຊ້ການປ່ອຍສັນຍານທັນທີ</translation>
 <translation id="9079267182985899251">ໃນໄວໆນີ້ລະບົບຈະບໍ່ຮອງຮັບຕົວເລືອກນີ້ອີກຕໍ່ໄປ. ເພື່ອນຳສະເໜີແຖບ, ກະລຸນາໃຊ້ <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">ເວັບໄຊທີ່ທ່ານເຂົ້າແມ່ນບໍ່ໄດ້ບັນທຶກໄວ້ໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ</translation>
 <translation id="9084064520949870008">ເປີດເປັນໜ້າ​ຕ່າງ</translation>
 <translation id="9085256200913095638">ສຳເນົາແຖບທີ່ເລືອກ</translation>
 <translation id="9085776959277692427">ບໍ່ໄດ້ເລືອກ <ph name="LANGUAGE" />. ກົດປຸ່ມຊອກຫາພ້ອມກັບປຸ່ມຍະຫວ່າງເພື່ອເລືອກ.</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index ac09eed..b9efb158 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -1379,6 +1379,7 @@
 <translation id="2406153734066939945">Ištrinti šį profilį ir jo duomenis?</translation>
 <translation id="2408018932941436077">Išsaugoma kortelė</translation>
 <translation id="2408955596600435184">Įveskite PIN kodą</translation>
+<translation id="2410754283952462441">Pasirinkite paskyrą</translation>
 <translation id="241082044617551207">Nežinomas papildinys</translation>
 <translation id="2412593942846481727">Pasiekiamas naujinys</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7563,6 +7564,7 @@
 <translation id="9078193189520575214">Taikomi pakeitimai...</translation>
 <translation id="9078316009970372699">Išjungti momentinį įrenginio kaip modemo naudojimą</translation>
 <translation id="9079267182985899251">Netrukus ši parinktis nebebus palaikoma. Jei norite rodyti skirtuką, naudokite „<ph name="GOOGLE_MEET" />“.</translation>
+<translation id="9081543426177426948">Svetainės, kuriose lankotės, nėra saugomos inkognito režimu</translation>
 <translation id="9084064520949870008">Atidaryti kaip langą</translation>
 <translation id="9085256200913095638">Kurti tikslią pasirinkto skirtuko kopiją</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> nepasirinkta. Paspauskite paieškos ir tarpo klavišus, kad pasirinktumėte.</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 3779e88..4becdfc6 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -1363,6 +1363,7 @@
 <translation id="2406153734066939945">Vai dzēst šo profilu un tā datus?</translation>
 <translation id="2408018932941436077">Karte tiek saglabāta.</translation>
 <translation id="2408955596600435184">Ievadiet PIN kodu</translation>
+<translation id="2410754283952462441">Konta izvēle</translation>
 <translation id="241082044617551207">Nezināms spraudnis</translation>
 <translation id="2412593942846481727">Ir pieejams atjauninājums</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7542,6 +7543,7 @@
 <translation id="9078193189520575214">Notiek izmaiņu lietošana…</translation>
 <translation id="9078316009970372699">Tūlītējas piesaistes atspējošana</translation>
 <translation id="9079267182985899251">Drīz šī iespēja vairs netiks atbalstīta. Lai prezentētu cilni, izmantojiet platformu <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Inkognito režīmā apmeklētās vietnes netiek saglabātas</translation>
 <translation id="9084064520949870008">Atvērt kā logu</translation>
 <translation id="9085256200913095638">Dublēt atlasīto cilni</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> nav atlasīta. Lai atlasītu, nospiediet meklēšanas taustiņu un atstarpes taustiņu.</translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb
index f40699b3..64dab33e7 100644
--- a/chrome/app/resources/generated_resources_mk.xtb
+++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -1377,6 +1377,7 @@
 <translation id="2406153734066939945">Да се избрише профилот и неговите податоци?</translation>
 <translation id="2408018932941436077">Се зачувува картичката</translation>
 <translation id="2408955596600435184">Внесете го вашиот PIN</translation>
+<translation id="2410754283952462441">Изберете сметка</translation>
 <translation id="241082044617551207">Непознат приклучок</translation>
 <translation id="2412593942846481727">Достапно е ажурирање</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7560,6 +7561,7 @@
 <translation id="9078193189520575214">Промените се применуваат…</translation>
 <translation id="9078316009970372699">Оневозможување инстант врзување</translation>
 <translation id="9079267182985899251">Наскоро опцијава веќе нема да се поддржува. Користете <ph name="GOOGLE_MEET" /> за презентација на картичка.</translation>
+<translation id="9081543426177426948">Сајтовите што ги посетувате не се зачувуваат во режимот „Инкогнито“</translation>
 <translation id="9084064520949870008">Отвори како прозорец</translation>
 <translation id="9085256200913095638">Направи дупликат од избраната картичка</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> не е избран. Притиснете „Пребарувај“ и Space за да изберете.</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 118358a..32126bd 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -1360,6 +1360,7 @@
 <translation id="2406153734066939945">ഈ പ്രൊഫൈലും ഇതിലെ ഡാറ്റയും ഇല്ലാതാക്കണോ?</translation>
 <translation id="2408018932941436077">കാർഡ് സംരക്ഷിക്കുന്നു</translation>
 <translation id="2408955596600435184">നിങ്ങളുടെ പിൻ നൽകുക</translation>
+<translation id="2410754283952462441">ഒരു അക്കൗണ്ട് തിരഞ്ഞെടുക്കൂ</translation>
 <translation id="241082044617551207">അജ്ഞാത പ്ലഗ് ഇൻ</translation>
 <translation id="2412593942846481727">അപ്‌ഡേറ്റ് ലഭ്യമാണ്</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7538,6 +7539,7 @@
 <translation id="9078193189520575214">മാറ്റങ്ങൾ ബാധകമാക്കുന്നു...</translation>
 <translation id="9078316009970372699">തൽക്ഷണ ടെതറിംഗ് പ്രവർത്തനരഹിതമാക്കുക</translation>
 <translation id="9079267182985899251">ഈ ഓപ്‌ഷന് ഉടൻ തന്നെ പിന്തുണയില്ലാതാകും. ഒരു ടാബ് ദൃശ്യമാക്കാൻ, <ph name="GOOGLE_MEET" /> ഉപയോഗിക്കുക.</translation>
+<translation id="9081543426177426948">നിങ്ങൾ സന്ദർശിച്ച സൈറ്റുകൾ അദൃശ്യ മോഡിൽ സംരക്ഷിച്ചിട്ടില്ല</translation>
 <translation id="9084064520949870008">വിന്‍ഡോ ആയി തുറക്കുക</translation>
 <translation id="9085256200913095638">തിരഞ്ഞെടുത്ത ടാബിന്റെ ഡ്യൂപ്ലിക്കേറ്റ്</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> തിരഞ്ഞെടുത്തില്ല. തിരഞ്ഞെടുക്കാൻ Search+space അമര്‍ത്തുക.</translation>
diff --git a/chrome/app/resources/generated_resources_mn.xtb b/chrome/app/resources/generated_resources_mn.xtb
index 7d3165c..9b92ba25 100644
--- a/chrome/app/resources/generated_resources_mn.xtb
+++ b/chrome/app/resources/generated_resources_mn.xtb
@@ -1372,6 +1372,7 @@
 <translation id="2406153734066939945">Энэ профайл болон үүний өгөгдлийг устгах уу?</translation>
 <translation id="2408018932941436077">Картыг хадгалж байна</translation>
 <translation id="2408955596600435184">ПИН-ээ оруулна уу</translation>
+<translation id="2410754283952462441">Бүртгэл сонгох</translation>
 <translation id="241082044617551207">Үл мэдэх нэмэлт өргөтгөл</translation>
 <translation id="2412593942846481727">Шинэчлэх боломжтой</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7546,6 +7547,7 @@
 <translation id="9078193189520575214">Өөрчлөлтийг хэрэгжүүлж байна...</translation>
 <translation id="9078316009970372699">Шуурхай модем болгохыг идэвхгүй болгох</translation>
 <translation id="9079267182985899251">Энэ сонголтыг удахгүй дэмжихээ болино. Табыг үзүүлэхийн тулд <ph name="GOOGLE_MEET" />-г ашиглана уу.</translation>
+<translation id="9081543426177426948">Таны зочилсон сайтуудыг Нууцлалын горимд хадгалдаггүй</translation>
 <translation id="9084064520949870008">Цонх хэлбэрээр нээх</translation>
 <translation id="9085256200913095638">Сонгосон табыг хуулбарлах</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" />-г сонгоогүй. Сонгохын тулд Search болон Space-г дарна уу.</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index abc3e98..f1926a2 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -101,6 +101,7 @@
 <translation id="1103523840287552314">नेहमी भाषांतर करा <ph name="LANGUAGE" /></translation>
 <translation id="1108600514891325577">&amp;थांबा</translation>
 <translation id="1110155001042129815">प्रतीक्षा करा</translation>
+<translation id="1111781754511998498">प्रोजेक्टर</translation>
 <translation id="1112420131909513020">बॅकग्राउंड टॅब ब्लूटूथ वापरत आहे</translation>
 <translation id="1113892970288677790">निवडक कलाकृती आणि इमेज निवडा</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -446,6 +447,7 @@
 <translation id="1476088332184200792">तुमच्या डिव्हाइसवर कॉपी करा</translation>
 <translation id="1476607407192946488">&amp;भाषा सेटिंग्ज</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" /> ला तुम्ही तुमचे स्मार्ट कार्ड घालून ठेवणे आवश्यक आहे.</translation>
+<translation id="1477654881618305065">तुमची संस्था हा आशय शेअर करण्याची अनुमती देत नाही. तुम्हाला मदत हवी असल्यास, तुमच्या अ‍ॅडमिनिस्ट्रेटरशी संपर्क साधा.</translation>
 <translation id="1478340334823509079">तपशील: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">इंस्टॉल करणे सुरू केलेले नाही</translation>
 <translation id="1480571698637441426">तुम्ही प्रश्न विचारता तेव्हा खास तयार केलेले प्रतिसाद मिळवण्यासाठी, Assistant ला तुमच्या स्क्रीनवर काय आहे याचा स्क्रीनशॉट अ‍ॅक्सेस करू द्या. प्ले होणाऱ्या गाण्यांबद्दलच्या किंवा व्हिडिओबद्दलच्या माहितीचादेखील यामध्ये समावेश असू शकतो.</translation>
@@ -533,6 +535,7 @@
 <translation id="156793199942386351">'<ph name="CURRENTKEY" />' ही आधीपासून '<ph name="ACTION" />' या कृतीसाठी असाइन केलेली आहे. <ph name="RESPONSE" /> साठी कोणतीही की दाबा.</translation>
 <translation id="1567993339577891801">JavaScript कन्सोल</translation>
 <translation id="1568323446248056064">डिस्प्ले डिव्हाइस सेटिंग्ज उघडा</translation>
+<translation id="1570604804919108255">सूचना अनम्यूट करा</translation>
 <translation id="1571738973904005196">टॅब पहा: <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (अतिथी)</translation>
 <translation id="1572266655485775982">वाय-फाय सक्षम</translation>
@@ -589,6 +592,7 @@
 <translation id="1621485112342885423">तुमची कार्ट</translation>
 <translation id="1621729191093924223">मायक्रोफोनची आवश्यकता असलेली वैशिष्ट्ये काम करणार नाहीत</translation>
 <translation id="1621831347985899379"><ph name="DEVICE_TYPE" /> डेटा हटवला जाईल</translation>
+<translation id="1621984899599015181">शेअर करण्याचे पर्याय हे तुमच्या संस्थेद्वारे व्यवस्थापित केले जातात. काही आयटम लपवलेले असू शकतात.</translation>
 <translation id="1622054403950683339">वाय-फाय नेटवर्क विसरा</translation>
 <translation id="1623132449929929218">इमेज सध्या उपलब्ध नाहीत. वॉलपेपर संग्रह पाहण्यासाठी कृपया इंटरनेटला पुन्हा कनेक्ट करा.</translation>
 <translation id="1623723619460186680">न‍िळा लाइट कमी करणे</translation>
@@ -620,6 +624,7 @@
 <translation id="1643921258693943800">Nearby सह शेअरिंग वापरण्यासाठी, ब्लूटूथ आणि वाय-फाय सुरू करा</translation>
 <translation id="1644574205037202324">इतिहास</translation>
 <translation id="1645516838734033527">तुमचा <ph name="DEVICE_TYPE" /> सुरक्षित ठेवण्यासाठी Smart Lockला तुमच्या फोनवर स्क्रीन लॉकची आवश्यकता आहे.</translation>
+<translation id="1646793251510634025">शोध आणि ब्राउझिंग ऑप्टिमायझेशनसाठी सेटिंग्जचे पुनरावलोकन करा</translation>
 <translation id="1646982517418478057">कृपया हे सर्टिफिकेट एंक्रिप्शन करण्यासाठी एक पासवर्ड एंटर करा</translation>
 <translation id="1648528859488547844">स्थान निर्धारित करण्‍यासाठी वाय‑फाय, ब्लूटूथ किंवा मोबाइल नेटवर्क वापरा</translation>
 <translation id="164936512206786300">ब्लूटूथ डिव्हाइसचे पेअरिंग काढा</translation>
@@ -833,6 +838,7 @@
 <translation id="1850508293116537636">&amp;घड्याळाच्या दिशेने फिरवा</translation>
 <translation id="1852141627593563189">हानिकारक सॉफ्टवेअर शोधा</translation>
 <translation id="1852799913675865625">फाइल वाचण्याचा प्रयत्न करताना एक एरर आली: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1854049213067042715">तुम्ही जेथे सोडले होते तेथून पुढे सुरू ठेवा. तुम्ही अ‍ॅप्स सुरू केल्यावर नेहमी रिस्टोअर करा वर सेट करू शकता किंवा सेटिंग्ज मध्ये रिस्टोअर करा बंद करू शकता.</translation>
 <translation id="1854180393107901205">कास्ट करणे थांबवा</translation>
 <translation id="1855079636134697549">कॅमेरा सुरू केला आहे</translation>
 <translation id="1856715684130786728">स्थान जोडा...</translation>
@@ -962,6 +968,7 @@
 <translation id="1989113344093894667">आशय कॅप्चर करू शकत नाही</translation>
 <translation id="1990046457226896323">स्पीच फाइल डाउनलोड केल्या आहेत</translation>
 <translation id="1990512225220753005">या पेजवर शॉर्टकट दाखवू नका</translation>
+<translation id="199191324030140441">व्यत्यय आणू नका बंद करा</translation>
 <translation id="1992397118740194946">सेट नाही</translation>
 <translation id="1992924914582925289">डिव्हाइसमधून काढून टाका</translation>
 <translation id="1994173015038366702">साइट URL</translation>
@@ -1003,6 +1010,7 @@
 
 तुमच्या डिव्हाइसवर Family Link अ‍ॅप इंस्टॉल करून तुम्ही या खात्याची सेटिंग्ज व्यवस्थापित करू शकता.  आम्ही तुम्हाला ईमेलवर सूचना पाठवल्या आहेत.</translation>
 <translation id="2040460856718599782">अरेरे! तुम्हाला ऑथेंटिकेट करण्याचा प्रयत्न करताना काहीतरी चूक झाली. कृपया तुमची साइन इन क्रेडेंशियल दोनदा तपासा आणि पुन्हा प्रयत्न करा.</translation>
+<translation id="2040894699575719559">स्थान ब्लॉक केले</translation>
 <translation id="2042279886444479655">ॲक्टिव्ह प्रोफाइल</translation>
 <translation id="2044014337866019681">कृपया सेशन अनलॉक करण्यासाठी तुम्ही <ph name="ACCOUNT" /> ची पडताळणी करत आहात याची खात्री करा.</translation>
 <translation id="204497730941176055">Microsoft Certificate Template Name</translation>
@@ -1367,6 +1375,7 @@
 <translation id="2406153734066939945">ही प्रोफाइल आणि तिचा डेटा हटवायचा आहे का?</translation>
 <translation id="2408018932941436077">कार्ड सेव्ह करत आहे</translation>
 <translation id="2408955596600435184">तुमचा पिन प्रविष्‍ट करा</translation>
+<translation id="2410754283952462441">एक खाते निवडा</translation>
 <translation id="241082044617551207">अज्ञात प्लग-इन</translation>
 <translation id="2412593942846481727">अपडेट उपलब्ध आहे</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1475,6 +1484,7 @@
 <translation id="2514326558286966059">तुमची फिंगरप्रिंट वापरून जलदरीत्या अनलॉक करा</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">आणखी एक स्विच असाइन करा</translation>
+<translation id="251722524540674480">तुमचे वापरकर्ता नाव कंफर्म करा</translation>
 <translation id="2517472476991765520">स्कॅन करा</translation>
 <translation id="2518024842978892609">तुमची क्लायंट प्रमाणप‍त्रे वापरा</translation>
 <translation id="2519517390894391510">सर्टिफिकेट प्रोफाइल नाव</translation>
@@ -1488,6 +1498,7 @@
 <translation id="2527167509808613699">कोणत्याही प्रकारचे कनेक्शन</translation>
 <translation id="2530166226437958497">ट्रबलशूटिंग</translation>
 <translation id="2532589005999780174">उच्च तीव्रता मोड</translation>
+<translation id="2533649878691950253">तुम्ही सहसा यास परवानगी देत नसल्याने, या साइटला तुमचे अचूक स्थान जाणून घेण्यापासून ब्लॉक केले गेले</translation>
 <translation id="253434972992662860">&amp;विराम द्या</translation>
 <translation id="253557089021624350">Keepalive गणना</translation>
 <translation id="2535799430745250929">कोणतेही सेल्युलर नेटवर्क उपलब्ध नाही</translation>
@@ -1675,6 +1686,7 @@
 <translation id="2738771556149464852">नंतर नाही</translation>
 <translation id="2739191690716947896">डीबग</translation>
 <translation id="2739240477418971307">तुमच्या ॲक्सेसिबिलिटी सेटिंग्ज बदला</translation>
+<translation id="2739965161385757621">माझ्या सेटिंग्जचे पुनरावलोकन करा</translation>
 <translation id="274029851662193272">डिप्रेस्ड</translation>
 <translation id="2740531572673183784">ठीक आहे</translation>
 <translation id="2741713322780029189">रिकव्हरी टर्मिनल उघडा</translation>
@@ -1799,6 +1811,7 @@
 <translation id="2864601841139725659">तुमचे प्रोफाइल चित्र सेट करा</translation>
 <translation id="2865919525181940183">सध्या स्क्रीनवर असलेल्या प्रोग्रामचे स्क्रीनशॉट</translation>
 <translation id="286674810810214575">पॉवर स्रोत तपासत आहे…</translation>
+<translation id="2866876751734765554">गोपनीयतेचे पुनरावलोकन करणे</translation>
 <translation id="2867768963760577682">पिन केलेला टॅब म्हणून उघडा</translation>
 <translation id="2868746137289129307">हे एक्स्टेंशन कालबाह्य आहे आणि संस्‍था धोरणानुसार बंद केले आहे. नवीनतम आवृत्ती उपलब्‍ध झाल्‍यावर ते कदाचित आपोआप सुरू होईल.</translation>
 <translation id="2870560284913253234">साइट</translation>
@@ -2179,6 +2192,7 @@
 <translation id="3288047731229977326">डेव्हलपर मोडमध्‍ये चालणारे विस्‍तार तुमच्या कॉंप्युटरास हानी पोहचवू शकतात. तुम्ही डेव्हलपर नसल्‍यास, सुरक्षित राहाण्‍यासाठी डेव्हलपर मोडमध्‍ये चालणारे हे विस्‍तार तुम्ही अक्षम करावे.</translation>
 <translation id="3289668031376215426">ऑटो-कॅपिटलायझेशन</translation>
 <translation id="3289856944988573801">अपडेट तपासण्यासाठी, कृपया इथरनेट किंवा वाय-फाय वापरा.</translation>
+<translation id="3291436823898732747">सुधारित ब्राउझिंग: उदाहरणार्थ, तुम्ही टायपिंग सुरू करण्यापूर्वी ओम्निबॉक्स मध्ये दिसणाऱ्या सूचना</translation>
 <translation id="3293644607209440645">हे पेज पाठवा</translation>
 <translation id="32939749466444286">Linux कंटेनर सुरू झाले नाही. कृपया पुन्हा प्रयत्न करा.</translation>
 <translation id="3294437725009624529">अतिथी</translation>
@@ -2327,6 +2341,7 @@
 <translation id="3446274660183028131">Windows इंस्टॉल करण्यासाठी कृपया Parallels Desktop लाँच करा.</translation>
 <translation id="344630545793878684">अनेक वेबसाइटवर तुमचा डेटा वाचा</translation>
 <translation id="3446650212859500694">या फाइलमध्ये संवेदनशील आशय आहे</translation>
+<translation id="3446827946208017735">सर्वात महत्त्वाच्या गोपनीयता सेटिंग्ज एकाच ठिकाणी समजून घ्या आणि त्यांचे पुनरावलोकन करा</translation>
 <translation id="3448086340637592206">Google Chrome आणि Chrome OS अतिरिक्त अटी</translation>
 <translation id="3448492834076427715">खाते अपडेट करा</translation>
 <translation id="3449393517661170867">नवीन टॅब असलेल्या विंडोमध्ये उघडा</translation>
@@ -3753,6 +3768,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{No <ph name="VM_TYPE" /> VMs found}=1{एक <ph name="VM_TYPE" /> VM आढळला: <ph name="VM_NAME_LIST" />}other{{NUM_VMS} <ph name="VM_TYPE" /> VM आढळले: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">इंटरनेट कनेक्‍शन नाही.</translation>
 <translation id="4998430619171209993">सुरू</translation>
+<translation id="4999804342505941663">व्यत्यय आणू नका सुरू करा</translation>
 <translation id="5000922062037820727">अवरोधित केली (शिफारस केलेले)</translation>
 <translation id="5005498671520578047">पासवर्ड कॉपी करा</translation>
 <translation id="5006218871145547804">Crostini Android अ‍ॅप ADB</translation>
@@ -4210,6 +4226,7 @@
 <translation id="5505307013568720083">शाई संपली</translation>
 <translation id="5505794066310932198">कमांडर टॉगल करा</translation>
 <translation id="5507756662695126555">अस्वीकार नसलेले</translation>
+<translation id="5507795078844206688">तुम्ही भेट देता त्या पेजची URL, उदा. https://www.google.com</translation>
 <translation id="5509693895992845810">या फॉरमॅटमध्ये सेव्ह करा...</translation>
 <translation id="5509914365760201064">जारी केले: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Google वरून इमेज वर्णन मिळवा</translation>
@@ -4527,6 +4544,7 @@
 <translation id="5869522115854928033">सेव्ह केलेले पासवर्ड</translation>
 <translation id="5870086504539785141">ॲक्सेसिबिलिटी मेनू बंद करा</translation>
 <translation id="5870155679953074650">हार्ड फॉल्‍ट</translation>
+<translation id="5875534259258494936">स्क्रीन शेअरिंग संपले आहे</translation>
 <translation id="5876576639916258720">रन होत आहे...</translation>
 <translation id="5876851302954717356">उजवीकडील नवीन टॅब</translation>
 <translation id="5877064549588274448">चॅनल बदलले. बदल लागू करण्यासाठी तुमचे डिव्हाइस रीस्टार्ट करा.</translation>
@@ -5076,6 +5094,7 @@
 <translation id="6468485451923838994">फॉंट</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> फाइल</translation>
 <translation id="6469557521904094793">मोबाइल नेटवर्क सुरू करा</translation>
+<translation id="6470823736074966819">सूचना म्यूट करा</translation>
 <translation id="6472893788822429178">होम बटण दर्शवा</translation>
 <translation id="6474498546677193336">अनशेअर करता आले नाही कारण अ‍ॅप्लिकेशन हे फोल्डर वापरत आहे. पुढे Linux बंद केल्यावर फोल्डर अनशेअर केले जाईल.</translation>
 <translation id="6474884162850599008">Google ड्राइव्ह खाते डिस्कनेक्ट करा</translation>
@@ -5387,6 +5406,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" /> मूळ म्हणून चालवणे शक्य नाही.</translation>
 <translation id="6812841287760418429">बदल ठेवा</translation>
 <translation id="6813907279658683733">संपूर्ण स्क्रीन</translation>
+<translation id="6814033694018386318">तुम्ही Google सोबत काय शेअर करता</translation>
 <translation id="6817174620439930047">MIDI डिव्हाइसमध्‍ये ॲक्सेस करण्यासाठी जेव्हा एखादी साइट सिस्टम अनन्य मेसेज वापरू इच्छिते तेव्हा विचारा (शिफारस केलेले)</translation>
 <translation id="6818198425579322765">भाषांतर करण्यासाठी पेजची भाषा</translation>
 <translation id="6818802132960437751">बिल्ट-इन व्हायरस संरक्षण</translation>
@@ -5882,6 +5902,7 @@
 <translation id="7374376573160927383">USB डिव्हाइस व्यवस्थापित करा</translation>
 <translation id="7374461526650987610">प्रोटोकॉल हँडलर</translation>
 <translation id="7375235221357833624">{0,plural, =1{डिव्हाइस एका तासाच्या आत अपडेट करा}other{डिव्हाइस # तासांच्या आत अपडेट करा}}</translation>
+<translation id="7376543451826039186">जलद ब्राउझिंग: उदाहरणार्थ, सध्याच्या पेजच्या आधारावर पुढील विशिष्ट आशय प्रोॲक्टिव्हपणे लोड करणे</translation>
 <translation id="7376553024552204454">माउस कर्सर हलताना हायलाइट करा</translation>
 <translation id="737728204345822099">तुम्ही या साइटला भेट दिल्याचे रेकॉर्ड कदाचित तुमच्या सिक्युरिटी कीमध्ये समाविष्ट केले जाईल.</translation>
 <translation id="7377451353532943397">सेन्सर ॲक्सेस ब्लॉक करणे सुरू ठेवा</translation>
@@ -5939,6 +5960,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> चा कॉल</translation>
 <translation id="7431719494109538750">HID डिव्हाइस आढळली नाहीत</translation>
 <translation id="7431991332293347422">शोध पर्सनलाइझ करण्यासाठी तुमचा ब्राउझिंग इतिहास कसा वापरला जातो ते आणि बरेच काही नियंत्रित करा</translation>
+<translation id="7432200167665670017">तुमच्या ॲडमिनने "<ph name="EXTENSION_NAME" />" ब्लॉक केले आहे - अ‍ॅप आयडी <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">तुमचे <ph name="DEVICE_TYPE" /> वापरत राहण्यासाठी स्मार्ट कार्ड घाला</translation>
 <translation id="7433957986129316853">ठेवा</translation>
 <translation id="7434509671034404296">डेव्हलपर</translation>
@@ -5968,6 +5990,7 @@
 <translation id="7460045493116006516">तुम्ही इंस्टॉल केलेली सध्याची थीम</translation>
 <translation id="7461924472993315131">पिन</translation>
 <translation id="746216226901520237">पुढील वेळेस तुमचा फोन तुमचे <ph name="DEVICE_TYPE" /> अनलॉक करेल. तुम्ही सेटिंग्जमधून Smart Lock बंद करू शकता.</translation>
+<translation id="7464637891177137294">तो तुमच्या Google खाते मध्ये सेव्ह करा, <ph name="ACCOUNT" /></translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# टॅब उघडा, टॅब स्ट्रिप टॉगल करण्यासाठी दाबा}other{# टॅब उघडा, टॅब स्ट्रिप टॉगल करण्यासाठी दाबा}}</translation>
 <translation id="7465635034594602553">काहीतरी चूक झाली. कृपया काही मिनिटे थांबा आणि <ph name="APP_NAME" /> पुन्हा रन करा.</translation>
 <translation id="7465778193084373987">Netscape सर्टिफिकेट रिव्होकीकरण URL</translation>
@@ -6031,6 +6054,7 @@
 <translation id="7525625923260515951">निवडलेला मजकूर ऐका</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{आणखी एक}other{आणखी {NUM_DOWNLOADS}}}</translation>
 <translation id="7526989658317409655">प्लेसहोल्डर</translation>
+<translation id="7527758104894292229">तो तुमच्या Google खाते मध्ये अपडेट करा, <ph name="ACCOUNT" /></translation>
 <translation id="7529411698175791732">तुमचे इंटरनेट कनेक्शन तपासा. समस्या कायम राहिल्यास, साइन आउट करून आणि पुन्हा साइन इन करून पहा.</translation>
 <translation id="7529876053219658589">{0,plural, =1{अतिथी विंडो बंद करा}other{अतिथी विंडो बंद करा}}</translation>
 <translation id="7530016656428373557">डिस्चार्ज रेट वॉट्स मध्ये</translation>
@@ -6416,6 +6440,7 @@
 <translation id="7898725031477653577">नेहमी भाषांतर करा</translation>
 <translation id="790040513076446191">गोपनीयतेशी-संबद्ध सेटिंग्ज कुशलतेने हाताळा</translation>
 <translation id="7901405293566323524">फोन हब</translation>
+<translation id="7901914889562552258">पेज मेट्रिक वापरून सुधारणा केलेले Chrome</translation>
 <translation id="7903345046358933331">पृष्ठ असंवादी झाले आहे. तुम्ही ते संवादी होईपर्यंत प्रतीक्षा करू शकता किंवा ते बंद करू शकता.</translation>
 <translation id="7903742244674067440">तुमच्याकडे फाइलवर अशी सर्टिफिकेट आहेत जी या सर्टिफिकेट अधिकार्‍यांची ओळख पटवतात</translation>
 <translation id="7903859912536385558">स्टेबल (विश्वसनीय परीक्षक)</translation>
@@ -6882,6 +6907,7 @@
 <translation id="8392364544846746346">साइटला तुमच्या डिव्हाइसवरील फाइल किंवा फोल्डरचे संपादन करायचे असते तेव्हा विचारा</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> साठी पर्याय मेनू</translation>
 <translation id="8393511274964623038">प्लगइन थांबवा</translation>
+<translation id="839363317075970734">ब्लूटूथ डिव्‍हाइसचे तपशील</translation>
 <translation id="8393700583063109961">संदेश पाठवा</translation>
 <translation id="8397825320644530257">कनेक्ट केलेला फोन डिस्‍कनेक्‍ट करा</translation>
 <translation id="8398877366907290961">तरीही पुढे चला</translation>
@@ -7132,6 +7158,7 @@
 <translation id="8681614230122836773">Chrome ला तुमच्या कॉंप्युटरवर हानिकारक सॉफ्टवेअर आढळले</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> कनेक्ट केलेला आहे आणि तयार आहे</translation>
 <translation id="8683081248374354009">गट रीसेट करा</translation>
+<translation id="8683526617475118045">तुम्हाला काय मिळते</translation>
 <translation id="8688672835843460752">उपलब्ध</translation>
 <translation id="8690129572193755009">साइट प्रोटोकॉल हाताळण्यासाठी विचारू शकतात</translation>
 <translation id="8695139659682234808">सेटअप केल्‍यानंतर पालक नियंत्रणे जोडा</translation>
@@ -7185,6 +7212,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ऐवजी <ph name="PROTOCOL" /> लिंक उघडा</translation>
 <translation id="8737709691285775803">Shill</translation>
 <translation id="8737914367566358838">पेज ज्यामध्ये भाषांतरित करायचे आहे ती भाषा निवडा</translation>
+<translation id="8737916108453753541">ब्राउझिंग वर्तन समजून घेण्यासाठी Google सोबत URL शेअर केल्या जातात</translation>
 <translation id="8740247629089392745">तुम्ही हे Chromebook <ph name="SUPERVISED_USER_NAME" /> कडे सोपवू शकता. सेट करणे जवळपास पूर्ण झाले आहे, त्यानंतर एक्सप्लोर करण्याची वेळ आहे.</translation>
 <translation id="8741944563400125534">स्विच अ‍ॅक्सेस सेटअप मार्गदर्शक</translation>
 <translation id="8742998548129056176">तुमचे डिव्हाइस आणि तुम्ही ते कसे वापरता याबद्दल ही सर्वसाधारण माहिती आहे (जसे की, बॅटरी पातळी, सिस्टम आणि ॲप ॲक्टिव्हिटी व एरर). डेटा Android मध्ये सुधारणा करण्यासाठी वापरला जाईल आणि काही एकत्रित केलेली माहिती Google ॲप्स आणि Android डेव्हलपरसारख्या भागीदारांनादेखील त्यांची ॲप्स आणि उत्पादने आणखी चांगली बनवण्यात मदत करेल.</translation>
@@ -7526,6 +7554,7 @@
 <translation id="9078193189520575214">बदल लागू करत आहे...</translation>
 <translation id="9078316009970372699">इंस्टंट टेदरिंग बंद करा</translation>
 <translation id="9079267182985899251">लवकरच पर्यायाला यापुढे सपोर्ट असणार नाही. टॅब सादर करण्यासाठी <ph name="GOOGLE_MEET" /> वापरा.</translation>
+<translation id="9081543426177426948">गुप्त मोडमध्ये तुम्ही भेट देता त्या साइट सेव्ह केल्या जात नाहीत</translation>
 <translation id="9084064520949870008">विंडो म्हणून उघडा</translation>
 <translation id="9085256200913095638">निवडलेला टॅब डुप्लिकेट करा</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> निवडलेली नाही. निवडण्यासाठी सर्च आणि स्पेस दाबा.</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index 5af92bf..ad135f8d 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Padamkan profil dan data profil ini?</translation>
 <translation id="2408018932941436077">Menyimpan kad</translation>
 <translation id="2408955596600435184">Masukkan PIN anda</translation>
+<translation id="2410754283952462441">Pilih akaun</translation>
 <translation id="241082044617551207">Pemalam tidak diketahui</translation>
 <translation id="2412593942846481727">Kemas kini tersedia</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7557,6 +7558,7 @@
 <translation id="9078193189520575214">Melaksanakan perubahan...</translation>
 <translation id="9078316009970372699">Lumpuhkan Penambatan Segera</translation>
 <translation id="9079267182985899251">Tidak lama lagi, pilihan ini tidak akan disokong lagi. Untuk memaparkan tab, gunakan <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Laman yang anda lawati tidak disimpan dalam Inkognito</translation>
 <translation id="9084064520949870008">Buka sebagai Tetingkap</translation>
 <translation id="9085256200913095638">Buat Pendua untuk Tab yang Dipilih</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> tidak dipilih. Tekan Cari dan Ruang untuk membuat pilihan.</translation>
diff --git a/chrome/app/resources/generated_resources_my.xtb b/chrome/app/resources/generated_resources_my.xtb
index 023252e..24cddf0 100644
--- a/chrome/app/resources/generated_resources_my.xtb
+++ b/chrome/app/resources/generated_resources_my.xtb
@@ -1374,6 +1374,7 @@
 <translation id="2406153734066939945">ဤပရိုဖိုင်နှင့် ၎င်း၏ဒေတာကို ဖျက်မလား။</translation>
 <translation id="2408018932941436077">ကတ်ကို သိမ်းနေသည်</translation>
 <translation id="2408955596600435184">သင့်ပင်နံပါတ်ကို ထည့်ပါ</translation>
+<translation id="2410754283952462441">အကောင့်တစ်ခု ရွေးပါ</translation>
 <translation id="241082044617551207">အမည်မသိ ပလတ်အင်</translation>
 <translation id="2412593942846481727">အပ်ဒိတ် ရနိုင်သည်</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7550,6 +7551,7 @@
 <translation id="9078193189520575214">အပြောင်းအလဲများ ထည့်သွင်းနေသည်…</translation>
 <translation id="9078316009970372699">'အလိုအလျောက် ချိတ်ဆက်မျှဝေခြင်း' ပိတ်ရန်</translation>
 <translation id="9079267182985899251">ဤရွေးချယ်စရာကို မကြာမီ ပံ့ပိုးတော့မည်မဟုတ်ပါ။ တဘ်ကို တင်ပြရန် <ph name="GOOGLE_MEET" /> အသုံးပြုပါ။</translation>
+<translation id="9081543426177426948">ရုပ်ဖျက်မုဒ်တွင် သင်ဝင်ကြည့်ထားသော ဝဘ်ဆိုက်များကို မသိမ်းပါ</translation>
 <translation id="9084064520949870008">ဝင်ဒိုး အဖြစ် ဖွင့်ရန်</translation>
 <translation id="9085256200913095638">ရွေးထားသောတဘ်ကို မိတ္တူပွားရန်</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> ကို ရွေးမထားပါ။ ရွေးရန် 'ရှာဖွေရန်' နှင့် Space ကိုနှိပ်ပါ။</translation>
diff --git a/chrome/app/resources/generated_resources_ne.xtb b/chrome/app/resources/generated_resources_ne.xtb
index f24fbe6..41303136 100644
--- a/chrome/app/resources/generated_resources_ne.xtb
+++ b/chrome/app/resources/generated_resources_ne.xtb
@@ -97,6 +97,7 @@
 <translation id="1103523840287552314">सँधै अनुवाद गर्नुहोस् <ph name="LANGUAGE" /></translation>
 <translation id="1108600514891325577">&amp;रोक्नुहोस्</translation>
 <translation id="1110155001042129815">प्रतिक्षा गर्नुहोस्</translation>
+<translation id="1111781754511998498">प्रोजेक्टर</translation>
 <translation id="1112420131909513020">पृष्ठभूमि ट्याबले ब्लुटुथ प्रयोग गर्दै छ</translation>
 <translation id="1113892970288677790">छनौट गरिएका कलाकृति तथा फोटोहरू चयन गर्नुहोस्</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -530,6 +531,7 @@
 <translation id="156793199942386351">'<ph name="CURRENTKEY" />' की '<ph name="ACTION" />' कारबाहीका लागि तोकिसकिएको छ। <ph name="RESPONSE" /> कुनै की थिच्नुहोस्।</translation>
 <translation id="1567993339577891801">JavaScript कन्सोल</translation>
 <translation id="1568323446248056064">प्रदर्शन सम्बन्धी यन्त्रको सेटिङ खोल्नुहोस्</translation>
+<translation id="1570604804919108255">सूचनाहरू अनम्युट गरियोस्</translation>
 <translation id="1571738973904005196">यो ट्याब हेर्नुहोस्: <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (अतिथि)</translation>
 <translation id="1572266655485775982">Wi-Fi सक्षम</translation>
@@ -585,6 +587,7 @@
 <translation id="1621485112342885423">तपाईंका कार्ट</translation>
 <translation id="1621729191093924223">माइक्रोफोन प्रयोग गर्ने सुविधाहरूले काम गर्ने छैनन्</translation>
 <translation id="1621831347985899379"><ph name="DEVICE_TYPE" /> मा भएको डेटा मेटाइने छ</translation>
+<translation id="1621984899599015181">तपाईंको सङ्गठनले सेयर गर्ने विकल्पहरू व्यवस्थापन गर्छ। केही वस्तुहरू लुकाइन सक्छन्।</translation>
 <translation id="1622054403950683339">Wi-Fi नेटवर्क हटाउनुहोस्</translation>
 <translation id="1623132449929929218">फोटो अहिले उपलब्ध छैनन्। वालपेपरका सङ्ग्रहहरू हेर्न कृपया इन्टरनेटमा पुनः कनेक्ट गर्नुहोस्‌।</translation>
 <translation id="1623723619460186680">निलो प्रकाश घटाउने कार्य</translation>
@@ -822,6 +825,7 @@
 <translation id="1850508293116537636">&amp;घडीको दिशामा घुमाउनुहोस्</translation>
 <translation id="1852141627593563189">हानिकारक सफ्टवेयर फेला पार्नुहोस्</translation>
 <translation id="1852799913675865625">यो फाइल पढ्न प्रयास गर्दा त्यहाँ एउटा त्रुटि भयोः <ph name="ERROR_TEXT" /> ।</translation>
+<translation id="1854049213067042715">आफूले छाडेकै ठाउँबाट जारी राख्नुहोस्। तपाईं ब्राउजर खुल्दा एपहरू सधैँ रिस्टोर हुने बनाउन सक्नुहुन्छ वा सेटिङमा गएर एपहरू रिस्टोर गर्ने सुविधा अफ गर्न सक्नुहुन्छ।</translation>
 <translation id="1854180393107901205">Cast गर्न रोक्नुहोस्</translation>
 <translation id="1855079636134697549">क्यामेरा अन गरिएको छ</translation>
 <translation id="1856715684130786728">स्थान थप्नुहोस्...</translation>
@@ -950,6 +954,7 @@
 <translation id="1989113344093894667">सामग्री क्याप्चर गर्न मिल्दैन</translation>
 <translation id="1990046457226896323">बोलीसम्बन्धी फाइलहरू डाउनलोड गरिए</translation>
 <translation id="1990512225220753005">यस पृष्ठमा सर्टकटहरू नदेखाउनुहोस्</translation>
+<translation id="199191324030140441">"बाधा नपुऱ्याउनुहोस्" मोड अफ गरियोस्</translation>
 <translation id="1992397118740194946">सेट गरिएको छैन</translation>
 <translation id="1992924914582925289">यन्त्रबाट हटाउनुहोस्</translation>
 <translation id="1994173015038366702">साइट URL</translation>
@@ -991,6 +996,7 @@
 
 तपाईं आफ्नो यन्त्रमा Family Link एप स्थापना गरेर यो खाताको सेटिङ व्यवस्थित गर्न सक्नुहुन्छ।  हामीले इमेलमार्फत तपाईंलाई निर्देशनहरू पठाएका छौँ।</translation>
 <translation id="2040460856718599782">ओहो! तपाईं प्रमाणीकरण गर्न प्रयास गर्दा केही गल्ती भयो। आफ्नो साइन इन प्रमाणहरू डबल जाँच गरी फेरि प्रयास गर्नुहोस्।</translation>
+<translation id="2040894699575719559">लोकेसनसम्बन्धी जानकारी हेर्न रोक लगाइएको छ</translation>
 <translation id="2042279886444479655">सक्रिय प्रोफाइलहरू</translation>
 <translation id="2044014337866019681">कृपया तपाईं यो सत्र अनलक गर्न <ph name="ACCOUNT" /> पुष्टि गर्दै हुनुहुन्छ भन्ने कुरा सुनिश्चित गर्नुहोस्।</translation>
 <translation id="204497730941176055">Microsoft प्रमाणपत्र ट्याम्प्लेट नाम</translation>
@@ -1352,6 +1358,7 @@
 <translation id="2406153734066939945">यो प्रोफाइल र यसका डेटा मेटाउने हो?</translation>
 <translation id="2408018932941436077">कार्ड सुरक्षित गर्दै</translation>
 <translation id="2408955596600435184">आफ्नो PIN प्रविष्टि गर्नुहोस्</translation>
+<translation id="2410754283952462441">कुनै खाता छान्नुहोस्</translation>
 <translation id="241082044617551207">अज्ञात प्लगइन</translation>
 <translation id="2412593942846481727">अद्यावधिक उपलब्ध छ</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1474,6 +1481,7 @@
 <translation id="2527167509808613699">कुनै पनि प्रकारको जडान</translation>
 <translation id="2530166226437958497">समस्या निवारण</translation>
 <translation id="2532589005999780174">उच्च कन्ट्रास्ट मोड:</translation>
+<translation id="2533649878691950253">तपाईं सामान्यतया आफ्नो सटीक लोकेसन प्रयोग गर्ने अनुमति दिनुहुन्न। त्यसैले यो साइटलाई तपाईंको सटीक लोकेसन थाहा पाउनबाट रोक लगाइएको छ</translation>
 <translation id="253434972992662860">&amp;पज गर्नुहोस्</translation>
 <translation id="253557089021624350">सक्रिय राख्ने गणना</translation>
 <translation id="2535799430745250929">कुनै पनि सेलुलर नेटवर्क छैन</translation>
@@ -1661,6 +1669,7 @@
 <translation id="2738771556149464852">पछि होइन</translation>
 <translation id="2739191690716947896">डिबग गर्नुहोस्</translation>
 <translation id="2739240477418971307">आफ्नो पहुँच क्षमता सेटिङहरू परिवर्तन गर्नुहोस्</translation>
+<translation id="2739965161385757621">म आफूले तय गरेका सेटिङको समीक्षा गर्न चाहन्छु</translation>
 <translation id="274029851662193272">दबेको</translation>
 <translation id="2740531572673183784">ठिक छ</translation>
 <translation id="2741713322780029189">रिकभरी टर्मिनल खोल्नुहोस्</translation>
@@ -1785,6 +1794,7 @@
 <translation id="2864601841139725659">आफ्नो प्रोफाइल तस्बिर सेट गर्नुहोस्</translation>
 <translation id="2865919525181940183">हाल स्क्रिनमा देखिएका कार्यक्रमहरूको स्क्रिनसट</translation>
 <translation id="286674810810214575">पावरका स्रोतहरूको जाँच गर्दै...</translation>
+<translation id="2866876751734765554">गोपनीयतासम्बन्धी सेटिङको समीक्षा गर्नुहोस्</translation>
 <translation id="2867768963760577682">पिन गरिएको ट्याबको रूपमा खोल्नुहोस्</translation>
 <translation id="2868746137289129307">यो एक्सटेन्सनको मिति सकिएको छ र उद्यम नीति द्वारा अक्षम छ। एक नयाँ संस्करण उपलब्ध भएपछि यो स्वतः सक्षम हुन सक्छ।</translation>
 <translation id="2870560284913253234">साइट</translation>
@@ -2315,6 +2325,7 @@
 <translation id="3446274660183028131">कृपया Windows इन्स्टल गर्न Parallels Desktop खोल्नुहोस्।</translation>
 <translation id="344630545793878684">विभिन्न वेबसाइटहरूमा तपाईँको डेटा पढ्नुहोस्</translation>
 <translation id="3446650212859500694">यो फाइलमा संवेदनशील सामग्री छ</translation>
+<translation id="3446827946208017735">एकै ठाउँबाट गोपनीयतासम्बन्धी सबैभन्दा महत्त्वपूर्ण सेटिङका बारेमा जानकारी प्राप्त गर्नुहोस् र ती सेटिङको समीक्षा गर्नुहोस्</translation>
 <translation id="3448086340637592206">Google Chrome र Chrome OS का अतिरिक्त सर्तहरू</translation>
 <translation id="3448492834076427715">खाता अपडेट गर्नुहोस्</translation>
 <translation id="3449393517661170867">नयाँ ट्याबमा खोलिएको विन्डो</translation>
@@ -3741,6 +3752,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{<ph name="VM_TYPE" /> को कुनै पनि VM भेटिएन}=1{<ph name="VM_TYPE" /> को एउटा VM भेटियो: <ph name="VM_NAME_LIST" />}other{<ph name="VM_TYPE" /> का {NUM_VMS} वटा VM भेटिए: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">कुनै पनि इन्टरनेट जडान छैन।</translation>
 <translation id="4998430619171209993">सक्रिय छ</translation>
+<translation id="4999804342505941663">'बाधा नपुऱ्याउनुहोस्' मोड अन गरियोस्</translation>
 <translation id="5000922062037820727">(सिफारिस गरिएको) रोकिएको</translation>
 <translation id="5005498671520578047">पासवर्ड प्रतिलिपि गर्नुहोस्</translation>
 <translation id="5006218871145547804">Crostini मा Android एपको ADB</translation>
@@ -5064,6 +5076,7 @@
 <translation id="6468485451923838994">फन्टहरू</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> वटा फाइल</translation>
 <translation id="6469557521904094793">सेलुलर नेटवर्क अन गर्नुहोस्</translation>
+<translation id="6470823736074966819">सूचनाहरू म्युट गरियोस्</translation>
 <translation id="6472893788822429178">गृह बटन देखाउनुहोस्</translation>
 <translation id="6474498546677193336">एउटा अनुप्रयोगले यो फोल्डर प्रयोग गरिरहेका कारण आदान प्रदान गर्ने कार्य रद्द गर्न सकिएन। अर्को पटक Linux बन्द हुँदा उक्त फोल्डरको आदान प्रदान रद्द गरिने छ।</translation>
 <translation id="6474884162850599008">Google ड्राइभ खाता बिच्छेद गर्नुहोस्</translation>
@@ -7523,6 +7536,7 @@
 <translation id="9078193189520575214">परिवर्तनहरू लागू गरिँदै छन्...</translation>
 <translation id="9078316009970372699">तात्कालिक टेदरिङ असक्षम पार्नुहोस्</translation>
 <translation id="9079267182985899251">यो विकल्प चाँडै नै उपलब्ध हुन छाड्ने छ। कुनै ट्याब देखाउन <ph name="GOOGLE_MEET" /> प्रयोग गर्नुहोस्।</translation>
+<translation id="9081543426177426948">इन्कोग्निटो मोडमा ब्राउज गर्दा तपाईंले खोल्ने साइटहरूको विवरण सेभ गरिँदैन</translation>
 <translation id="9084064520949870008">सन्झ्यालको रूपमा खोल्नुहोस्</translation>
 <translation id="9085256200913095638">चयन गरिएको ट्याबको प्रतिलिपि बनाउनुहोस्</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> चयन गरिएको छैन। भाषा चयन गर्न 'खोज' बटनसँगै 'स्पेस' बटन थिच्नुहोस्।</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 3de76a0..fe47303 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -1361,6 +1361,7 @@
 <translation id="2406153734066939945">Dit profiel en de bijbehorende gegevens verwijderen?</translation>
 <translation id="2408018932941436077">Kaart opslaan</translation>
 <translation id="2408955596600435184">Je pincode opgeven</translation>
+<translation id="2410754283952462441">Een account selecteren</translation>
 <translation id="241082044617551207">Onbekende plug-in</translation>
 <translation id="2412593942846481727">Update beschikbaar</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7536,6 +7537,7 @@
 <translation id="9078193189520575214">Wijzigingen toepassen...</translation>
 <translation id="9078316009970372699">Instant-tethering uitzetten</translation>
 <translation id="9079267182985899251">Deze optie wordt binnenkort niet meer ondersteund. Als je een tabblad wilt presenteren, gebruik je <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Sites die je bezoekt, worden niet opgeslagen in de incognitomodus</translation>
 <translation id="9084064520949870008">Openen als venster</translation>
 <translation id="9085256200913095638">Geselecteerd tabblad dupliceren</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> is niet geselecteerd. Druk op de knop Zoeken en de spatiebalk om te selecteren.</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 60c7d33..efef6f90 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -101,6 +101,7 @@
 <translation id="1103523840287552314">Oversett alltid <ph name="LANGUAGE" /></translation>
 <translation id="1108600514891325577">&amp;Stopp</translation>
 <translation id="1110155001042129815">Vent</translation>
+<translation id="1111781754511998498">Projector</translation>
 <translation id="1112420131909513020">En bakgrunnsfane bruker Bluetooth</translation>
 <translation id="1113892970288677790">Velg utvalgte kunstverk og bilder</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -531,6 +532,7 @@
 <translation id="156793199942386351">«<ph name="CURRENTKEY" />» er allerede tilordnet handlingen «<ph name="ACTION" />» Trykk på en tast for å <ph name="RESPONSE" />.</translation>
 <translation id="1567993339577891801">JavaScript-konsoll</translation>
 <translation id="1568323446248056064">Åpne skjerminnstillingene på enheten</translation>
+<translation id="1570604804919108255">Slutt å ignorere varsler</translation>
 <translation id="1571738973904005196">Vis fanen <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (gjest)</translation>
 <translation id="1572266655485775982">Slå på Wi-Fi</translation>
@@ -588,6 +590,7 @@
 <translation id="1621485112342885423">Handlekurvene dine</translation>
 <translation id="1621729191093924223">Funksjoner som krever mikrofon, kommer ikke til å virke</translation>
 <translation id="1621831347985899379">Dataene på <ph name="DEVICE_TYPE" /> kommer til å bli slettet</translation>
+<translation id="1621984899599015181">Alternativer for deling administreres av organisasjonen din. Noen elementer kan være skjult.</translation>
 <translation id="1622054403950683339">Glem Wi-Fi-nettverket</translation>
 <translation id="1623132449929929218">Bildene er ikke tilgjengelige nå. Koble til Internett på nytt for å se bakgrunnssamlingene.</translation>
 <translation id="1623723619460186680">Reduksjon av blått lys</translation>
@@ -831,6 +834,7 @@
 <translation id="1850508293116537636">Rotér &amp;med klokken</translation>
 <translation id="1852141627593563189">Finn skadelig programvare</translation>
 <translation id="1852799913675865625">Det oppstod en feil under forsøket på å lese filen: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1854049213067042715">Fortsett der du slapp. Du kan angi at apper alltid skal gjenopprettes ved oppstart, eller slå av gjenoppretting, i innstillingene.</translation>
 <translation id="1854180393107901205">Stopp castingen</translation>
 <translation id="1855079636134697549">Kameraet er slått på</translation>
 <translation id="1856715684130786728">Legg til plassering</translation>
@@ -959,6 +963,7 @@
 <translation id="1989113344093894667">Kan ikke ta bilde av innhold</translation>
 <translation id="1990046457226896323">Talefiler er lastet ned</translation>
 <translation id="1990512225220753005">Ikke vis snarveier på denne siden</translation>
+<translation id="199191324030140441">Slå av Ikke forstyrr</translation>
 <translation id="1992397118740194946">Ikke angitt</translation>
 <translation id="1992924914582925289">Fjern fra enheten</translation>
 <translation id="1994173015038366702">Nettadressen til nettstedet</translation>
@@ -1000,6 +1005,7 @@
 
 Du kan administrere innstillingene for denne kontoen ved å installere Family Link-appen på enheten din.  Vi har sendt deg en e-post med veiledning.</translation>
 <translation id="2040460856718599782">Beklager!  Det oppsto en feil da vi forsøkte å autentisere deg. Kontrollér påloggingslegitimasjonen, og prøv på nytt.</translation>
+<translation id="2040894699575719559">Posisjonen er blokkert</translation>
 <translation id="2042279886444479655">Aktive profiler</translation>
 <translation id="2044014337866019681">Du må verifisere <ph name="ACCOUNT" /> for å låse opp økten.</translation>
 <translation id="204497730941176055">Navn på Microsoft sertifikatmal</translation>
@@ -1364,6 +1370,7 @@
 <translation id="2406153734066939945">Vil du slette denne profilen og tilhørende data?</translation>
 <translation id="2408018932941436077">Lagrer kortet</translation>
 <translation id="2408955596600435184">Skriv inn PIN-koden din</translation>
+<translation id="2410754283952462441">Velg en konto</translation>
 <translation id="241082044617551207">Ukjent programtillegg</translation>
 <translation id="2412593942846481727">En oppdatering er tilgjengelig</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1486,6 +1493,7 @@
 <translation id="2527167509808613699">Alle typer tilkobling</translation>
 <translation id="2530166226437958497">Feilsøking</translation>
 <translation id="2532589005999780174">Høykontrastmodus</translation>
+<translation id="2533649878691950253">Dette nettstedet er blokkert fra å få vite den nøyaktige posisjonen din, siden du vanligvis ikke tillater dette</translation>
 <translation id="253434972992662860">&amp;Stans midlertidig</translation>
 <translation id="253557089021624350">Keepalive-teller</translation>
 <translation id="2535799430745250929">Det finnes ingen mobilnettverk</translation>
@@ -1673,6 +1681,7 @@
 <translation id="2738771556149464852">Ikke etter</translation>
 <translation id="2739191690716947896">Feilsøk</translation>
 <translation id="2739240477418971307">endre innstillingene for tilgjengelighet</translation>
+<translation id="2739965161385757621">Gjennomgå innstillingene mine</translation>
 <translation id="274029851662193272">Preget</translation>
 <translation id="2740531572673183784">OK</translation>
 <translation id="2741713322780029189">Åpne gjenopprettingsterminalen</translation>
@@ -1797,6 +1806,7 @@
 <translation id="2864601841139725659">Angi profilbildet ditt</translation>
 <translation id="2865919525181940183">Skjermdump av programmene som er på skjermen</translation>
 <translation id="286674810810214575">Sjekker strømkilder …</translation>
+<translation id="2866876751734765554">Personverngjennomgang</translation>
 <translation id="2867768963760577682">Åpne som festet fane</translation>
 <translation id="2868746137289129307">Denne utvidelsen er utdatert og avslått av bedriftsretningslinjene. Den kan slås på automatisk når en nyere versjon er tilgjengelig.</translation>
 <translation id="2870560284913253234">Nettsted</translation>
@@ -2326,6 +2336,7 @@
 <translation id="3446274660183028131">Start Parallels Desktop for å installere Windows.</translation>
 <translation id="344630545793878684">Lesing av dataene dine på en rekke nettsteder</translation>
 <translation id="3446650212859500694">Denne filen har sensitivt innhold</translation>
+<translation id="3446827946208017735">Forstå og gjennomgå de mest kritiske personverninnstillingene på ett sted</translation>
 <translation id="3448086340637592206">Tilleggsvilkår for Google Chrome og Chrome OS</translation>
 <translation id="3448492834076427715">Oppdater kontoen</translation>
 <translation id="3449393517661170867">Nytt vindu med faner</translation>
@@ -3751,6 +3762,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{Fant ingen <ph name="VM_TYPE" />-VM-er}=1{Fant 1 <ph name="VM_TYPE" />-VM: <ph name="VM_NAME_LIST" />}other{Fant {NUM_VMS} <ph name="VM_TYPE" />-VM-er: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">Ingen internettilkobling.</translation>
 <translation id="4998430619171209993">På</translation>
+<translation id="4999804342505941663">Slå på Ikke forstyrr</translation>
 <translation id="5000922062037820727">Blokkert (anbefales)</translation>
 <translation id="5005498671520578047">Kopiér passordet</translation>
 <translation id="5006218871145547804">Android-app-ADB for Crostini</translation>
@@ -5075,6 +5087,7 @@
 <translation id="6468485451923838994">Skrifter</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> filer</translation>
 <translation id="6469557521904094793">Slå på mobildata</translation>
+<translation id="6470823736074966819">Ignorer varsler</translation>
 <translation id="6472893788822429178">Vis startsideknapp</translation>
 <translation id="6474498546677193336">Kunne ikke avvise delingen, fordi et program bruker denne mappen. Mappedelingen blir avvist neste gang Linux avsluttes.</translation>
 <translation id="6474884162850599008">Koble fra Google Disk-kontoen.</translation>
@@ -7534,6 +7547,7 @@
 <translation id="9078193189520575214">Tar i bruk endringene …</translation>
 <translation id="9078316009970372699">Slå av umiddelbar internettdeling</translation>
 <translation id="9079267182985899251">Snart støttes ikke dette alternativet lenger. For å presentere en fane, bruk <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Nettsteder du besøker, lagres ikke i inkognitomodus</translation>
 <translation id="9084064520949870008">Åpne som vindu</translation>
 <translation id="9085256200913095638">Dupliser den valgte fanen</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> er ikke valgt. Trykk på Søk + mellomrom for å velge.</translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb
index abe4463..26a8d24 100644
--- a/chrome/app/resources/generated_resources_or.xtb
+++ b/chrome/app/resources/generated_resources_or.xtb
@@ -101,6 +101,7 @@
 <translation id="1103523840287552314">ସର୍ବଦା <ph name="LANGUAGE" /> ଅନୁବାଦ କରନ୍ତୁ</translation>
 <translation id="1108600514891325577">&amp;ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="1110155001042129815">ଅପେକ୍ଷା କରନ୍ତୁ</translation>
+<translation id="1111781754511998498">ପ୍ରୋଜେକ୍ଟର୍</translation>
 <translation id="1112420131909513020">ପୃଷ୍ଠପଟ ଟାବ୍ ବ୍ଲୁଟୁଥ୍ ବ୍ୟବହାର କରୁଛି</translation>
 <translation id="1113892970288677790">କ୍ୟୁରେଟ୍ ହୋଇଥିବା କଳାକୃତି ଏବଂ ଛବିଗୁଡ଼ିକୁ ଚୟନ କରନ୍ତୁ</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -445,6 +446,7 @@
 <translation id="1476088332184200792">ଆପଣଙ୍କର ଡିଭାଇସ୍‍କୁ କପି କରନ୍ତୁ</translation>
 <translation id="1476607407192946488">&amp;ଭାଷା ସେଟିଂ</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" /> ପାଇଁ ଆପଣ ଆପଣଙ୍କ ସ୍ମାର୍ଟ କାର୍ଡକୁ ଇନସାର୍ଟ କରି ରଖିବା ଆବଶ୍ୟକ।</translation>
+<translation id="1477654881618305065">ଆପଣଙ୍କ ସଂସ୍ଥା ଆପଣଙ୍କୁ ଏହି ବିଷୟବସ୍ତୁ ସେୟାର୍ କରିବାକୁ ଅନୁମତି ଦିଏ ନାହିଁ। ଯଦି ଆପଣ ସହାୟତା ଆବଶ୍ୟକ କରନ୍ତି, ତେବେ ଆପଣଙ୍କ ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।</translation>
 <translation id="1478340334823509079">ବିବରଣୀ: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ଇନ୍‌ଷ୍ଟଲେସନ୍ ସକ୍ଷମ ହୋଇନାହିଁ</translation>
 <translation id="1480571698637441426">ଆପଣ ପ୍ରଶ୍ନଗୁଡ଼ିକ ପଚାରିଲେ ଉପଯୋଗୀ ଉତ୍ତରଗୁଡ଼ିକ ପାଇବାକୁ, ଆପଣଙ୍କ ସ୍କ୍ରିନରେ କଣ ଅଛି ତାହା ଜାଣିବା ପାଇଁ ଆପଣଙ୍କର Assistantକୁ ଏକ ସ୍କ୍ରିନସଟ୍ ଆକ୍ସେସ୍ କରିବାକୁ ଦିଅନ୍ତୁ। ଚାଲୁଥିବା ଗୀତ କିମ୍ବା ଭିଡିଓଗୁଡ଼ିକ ବିଷୟରେ ସୂଚନା ମଧ୍ୟ ଏଥିରେ ଅନ୍ତର୍ଭୁକ୍ତ ଥାଇପାରେ।</translation>
@@ -529,6 +531,7 @@
 <translation id="156793199942386351">'<ph name="ACTION" />'କୁ ପୂର୍ବରୁ '<ph name="CURRENTKEY" />'କୁ ଆସାଇନ୍ କରାଯାଇଛି। <ph name="RESPONSE" /> ପାଇଁ ଯେ କୌଣସି କୀକୁ ଦବାନ୍ତୁ।</translation>
 <translation id="1567993339577891801">&amp;JavaScript କନ୍‌ସୋଲ୍</translation>
 <translation id="1568323446248056064">ଡିସ୍‌ପ୍ଲେ ଡିଭାଇସ୍ ସେଟିଂସ୍ ଖୋଲନ୍ତୁ</translation>
+<translation id="1570604804919108255">ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଅନମ୍ୟୁଟ୍ କରନ୍ତୁ</translation>
 <translation id="1571738973904005196">ଟାବ୍ ଦେଖନ୍ତୁ: <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (ଅତିଥି)</translation>
 <translation id="1572266655485775982">ୱାଇ-ଫାଇ ସକ୍ଷମ କରନ୍ତୁ</translation>
@@ -586,6 +589,7 @@
 <translation id="1621485112342885423">ଆପଣଙ୍କ କାର୍ଟ</translation>
 <translation id="1621729191093924223">ଏକ ମାଇକ୍ରୋଫୋନ୍ ଆବଶ୍ୟକ କରୁଥିବା ଫିଚରଗୁଡ଼ିକ କାମ କରିବ ନାହିଁ</translation>
 <translation id="1621831347985899379"><ph name="DEVICE_TYPE" />ର ଡାଟା ଡିଲିଟ୍ କରାଯିବ</translation>
+<translation id="1621984899599015181">ସେୟାରିଂ ପାଇଁ ବିକଳ୍ପଗୁଡ଼ିକ ଆପଣଙ୍କ ସଂସ୍ଥା ଦ୍ୱାରା ପରିଚାଳିତ ହୋଇଥାଏ। କିଛି ଆଇଟମ୍ ଲୁକ୍କାୟିତ ଥାଇପାରେ।</translation>
 <translation id="1622054403950683339">ୱାଇ-ଫାଇ ନେଟୱାର୍କ ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ</translation>
 <translation id="1623132449929929218">ବର୍ତ୍ତମାନ ଛବିଗୁଡ଼ିକ ଉପଲବ୍ଧ ନାହିଁ ୱାଲ୍‌ପେପର୍ ସଂଗ୍ରହଗୁଡ଼ିକୁ ଦେଖିବାକୁ ଇର୍ଣ୍ଟନେଟ୍ ସହିତ ପୁଣି ସଂଯୋଗ କରନ୍ତୁ।</translation>
 <translation id="1623723619460186680">ନୀଳ ଲାଇଟ୍ ହ୍ରାସକରଣ</translation>
@@ -617,6 +621,7 @@
 <translation id="1643921258693943800">Nearby Share ବ୍ୟବହାର କରିବାକୁ, ବ୍ଲୁଟୁଥ୍ ଓ ୱାଇ-ଫାଇ ଚାଲୁ କରନ୍ତୁ</translation>
 <translation id="1644574205037202324">ଇତିବୃତ୍ତି</translation>
 <translation id="1645516838734033527">ଆପଣଙ୍କର <ph name="DEVICE_TYPE" />କୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ, ସ୍ମାର୍ଟ ଲକ୍ ଆପଣଙ୍କ ଫୋନ୍‌ରେ ଏକ ସ୍କ୍ରିନ୍ ଲକ୍ ଆବଶ୍ୟକ କରେ।</translation>
+<translation id="1646793251510634025">ସନ୍ଧାନ ଏବଂ ବ୍ରାଉଜିଂ ଅପ୍ଟିମାଇଜେସନ୍ ପାଇଁ ସେଟିଂସର ସମୀକ୍ଷା କରନ୍ତୁ</translation>
 <translation id="1646982517418478057">ଏହି ସାର୍ଟିଫିକେଟ୍‌କୁ ଏନକ୍ରିପ୍ଟ କରିବା ପାଇଁ ଦୟାକରି ଏକ ପାସ୍‌ ୱାର୍ଡ ଲେଖନ୍ତୁ</translation>
 <translation id="1648528859488547844">ଲୋକେସନ୍ ନିର୍ଦ୍ଧାରଣ କରିବା ପାଇଁ ୱାଇ-ଫାଇ କିମ୍ୱା ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="164936512206786300">ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସ୍ ଅନପେୟାର୍ କରନ୍ତୁ</translation>
@@ -820,6 +825,7 @@
 <translation id="1850508293116537636">&amp;ଡାହାଣ ପଟକୁ ଘୂରାନ୍ତୁ</translation>
 <translation id="1852141627593563189">କ୍ଷତିକାରକ ସଫ୍ଟୱେର୍ ଖୋଜନ୍ତୁ</translation>
 <translation id="1852799913675865625">ଫାଇଲ୍‌ ପଢିବା ପାଇଁ ଚେଷ୍ଟା କରିବା ସମୟରେ ଏକ ତ୍ରୁଟି ହୋ‍ଇଛି: <ph name="ERROR_TEXT" />।</translation>
+<translation id="1854049213067042715">ଆପଣ ଯେଉଁଠାରେ ଛାଡ଼ିଥିଲେ ସେଠାରୁ ଜାରି ରଖନ୍ତୁ। ଆପଣ ଆପଗୁଡ଼ିକୁ ସର୍ବଦା ଷ୍ଟାର୍ଟଅପରେ ରିଷ୍ଟୋର୍ କରିବାକୁ ସେଟ୍ କରିପାରିବେ କିମ୍ବା ସେଟିଂସରେ ରିଷ୍ଟୋର୍ କରିବା ବନ୍ଦ କରିପାରିବେ।</translation>
 <translation id="1854180393107901205">କାଷ୍ଟ କରିବା ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="1855079636134697549">କ୍ୟାମେରାକୁ ଚାଲୁ କରାଯାଇଛି</translation>
 <translation id="1856715684130786728">ଲୋକେସନ୍ ଯୋଗ କରନ୍ତୁ...</translation>
@@ -948,6 +954,7 @@
 <translation id="1989113344093894667">ବିଷୟବସ୍ତୁକୁ କ୍ୟାପଚର୍ କରାଯାଇପାରିବ ନାହିଁ</translation>
 <translation id="1990046457226896323">ସ୍ପିଚ୍ ଫାଇଲଗୁଡ଼ିକ ଡାଉନଲୋଡ୍ କରାଯାଇଛି</translation>
 <translation id="1990512225220753005">ଏହି ପୃଷ୍ଠାରେ ସର୍ଟକଟ୍‌ଗୁଡ଼ିକ ଦେଖାନ୍ତୁ ନାହିଁ</translation>
+<translation id="199191324030140441">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ" ଫିଚରକୁ ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="1992397118740194946">ସେଟ୍ ହୋଇନାହିଁ</translation>
 <translation id="1992924914582925289">ଡିଭାଇସରୁ କାଢ଼ି ଦିଅନ୍ତୁ</translation>
 <translation id="1994173015038366702">ସାଇଟ୍ URL</translation>
@@ -989,6 +996,7 @@
 
 ଆପଣ ଆପଣଙ୍କର ଡିଭାଇସ୍‌‌ରେ Family Link ଆପ୍ ଇନ୍‌ଷ୍ଟଲ୍ କରି ଏହି ଆକାଉଣ୍ଟର ସେଟିଂସ୍ ପରିଚାଳନା କରିପାରିବେ।  ଆମେ ଏକ ଇମେଲ୍‌ରେ ଆପଣଙ୍କୁ ନିର୍ଦ୍ଦେଶାବଳୀ ପଠାଇଛୁ।</translation>
 <translation id="2040460856718599782">ଓହୋ!  ଆପଣଙ୍କୁ ପ୍ରମାଣିକୃତ କରିବା ସମୟରେ କିଛି ତ୍ରୁଟି ହୋ‍ଇଛି।  ଦୟାକରି ଦୁଇଥର ଆପଣଙ୍କର ସାଇନ୍‌-ଇନ୍‌ ବିଶ୍ୱସନୀୟତା ଯାଞ୍ଚ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
+<translation id="2040894699575719559">ଲୋକେସନକୁ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
 <translation id="2042279886444479655">ସକ୍ରିୟ ପ୍ରୋଫାଇଲ୍</translation>
 <translation id="2044014337866019681">ଦୟାକରି ସେସନକୁ ଅନଲକ୍ କରିବା ପାଇଁ ଆପଣ <ph name="ACCOUNT" />କୁ ଯାଞ୍ଚ କରୁଥିବା ନିଶ୍ଚିତ କରନ୍ତୁ।</translation>
 <translation id="204497730941176055">Microsoft ସର୍ଟିଫିକେଟ୍‍ ଟେମ୍ପଲେଟ୍‍ର ନାମ</translation>
@@ -1351,6 +1359,7 @@
 <translation id="2406153734066939945">ଏହି ପ୍ରୋଫାଇଲ୍ ଏବଂ ଏହାର ଡାଟାକୁ ଡିଲିଟ୍ କରିବେ?</translation>
 <translation id="2408018932941436077">କାର୍ଡ ସେଭ୍ କରାଯାଉଛି</translation>
 <translation id="2408955596600435184">ଆପଣଙ୍କର PIN ଲେଖନ୍ତୁ</translation>
+<translation id="2410754283952462441">ଗୋଟିଏ ଆକାଉଣ୍ଟ ବାଛନ୍ତୁ</translation>
 <translation id="241082044617551207">ଅଜଣା ପ୍ଲଗ୍-ଇନ୍</translation>
 <translation id="2412593942846481727">ଅପ୍‍‍ଡେଟ୍ ଉପଲବ୍ଧ ଅଛି</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1459,6 +1468,7 @@
 <translation id="2514326558286966059">ଆପଣଙ୍କ ଟିପଚିହ୍ନ ସହ ଶୀଘ୍ର ଅନଲକ୍ କରନ୍ତୁ</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">ଗୋଟିଏ ଅଧିକ ସ୍ୱିଚ୍ ଆସାଇନ୍ କରନ୍ତୁ</translation>
+<translation id="251722524540674480">ଆପଣଙ୍କ ଉପଯୋଗକର୍ତ୍ତାନାମ ସୁନିଶ୍ଚିତ କରନ୍ତୁ</translation>
 <translation id="2517472476991765520">ସ୍କାନ୍ କରନ୍ତୁ</translation>
 <translation id="2518024842978892609">ଆପଣଙ୍କ କ୍ଲାଏଣ୍ଟର ସାର୍ଟିଫିକେଟ୍‍ଗୁଡ଼ିକ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="2519517390894391510">ସାର୍ଟିଫିକେଟ୍ ପ୍ରୋଫାଇଲ୍ ନାମ</translation>
@@ -1472,6 +1482,7 @@
 <translation id="2527167509808613699">ଯେକୌଣସି ପ୍ରକାରର ସଂଯୋଜନା</translation>
 <translation id="2530166226437958497">ଟ୍ରବୁଲସୁଟିଂ</translation>
 <translation id="2532589005999780174">ଉଚ୍ଚ କଣ୍ଟ୍ରାଷ୍ଟ ମୋଡ୍</translation>
+<translation id="2533649878691950253">ଆପଣ ସାଧାରଣତଃ ଏହି ସାଇଟକୁ ଅନୁମତି ଦେଉନଥିବା ଯୋଗୁଁ ଏହାକୁ ଆପଣଙ୍କ ସଠିକ୍ ଲୋକେସନ୍ ଜାଣିବାରୁ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
 <translation id="253434972992662860">&amp;ବିରତି</translation>
 <translation id="253557089021624350">କିପ୍‍ଆଲାଇଭ୍ କାଉଣ୍ଟ</translation>
 <translation id="2535799430745250929">କୌଣସି ସେଲ୍ୟୁଲାର୍ ନେଟ୍‌ୱାର୍କ ନାହିଁ</translation>
@@ -1659,6 +1670,7 @@
 <translation id="2738771556149464852">ପରେ ନୁହେଁ</translation>
 <translation id="2739191690716947896">ଡିବଗ୍ କରନ୍ତୁ</translation>
 <translation id="2739240477418971307">ଆପଣଙ୍କର ଆକ୍ସେସିବିଲିଟି ସେଟିଂସ୍ ପରିବର୍ତ୍ତନ କରନ୍ତୁ</translation>
+<translation id="2739965161385757621">ମୋ ସେଟିଂସର ସମୀକ୍ଷା କରନ୍ତୁ</translation>
 <translation id="274029851662193272">ଡିପ୍ରେସ୍‌ଡ</translation>
 <translation id="2740531572673183784">ଠିକ୍ ଅଛି</translation>
 <translation id="2741713322780029189">ପୁନରୁଦ୍ଧାର ଟର୍ମିନାଲ୍ ଖୋଲନ୍ତୁ</translation>
@@ -1783,6 +1795,7 @@
 <translation id="2864601841139725659">ଆପଣଙ୍କ ପ୍ରୋଫାଇଲ୍ ଛବି ସେଟ୍ କରନ୍ତୁ</translation>
 <translation id="2865919525181940183">ବର୍ତ୍ତମାନ ସ୍କ୍ରିନ୍‍‍ରେ ଥିବା ପ୍ରୋଗ୍ରାମ୍‍ଗୁଡ଼ିକର ସ୍କ୍ରିନ୍‍ସଟ୍</translation>
 <translation id="286674810810214575">ପାୱାର ସୋର୍ସଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରାଯାଉଛି...</translation>
+<translation id="2866876751734765554">ଗୋପନୀୟତାର ସମୀକ୍ଷା</translation>
 <translation id="2867768963760577682">ପିନ୍‌ କରାଯାଇଥିବା ଟାବ୍‌ ଭାବରେ ଖୋଲନ୍ତୁ</translation>
 <translation id="2868746137289129307">ଏହି ଏକ୍ସଟେନ୍‌ସନ୍‌ ପୁରୁଣା ହୋ‍ଇଯାଇଛି ଏବଂ ଏଣ୍ଟର୍‌ପ୍ରାଇଜ୍ ନୀତି ଦ୍ଵାରା ଅକ୍ଷମ କରାଯାଇଛି। ଯେତେବେଳେ ଏକ ନୂତନ ସଂସ୍କରଣ ଉପଲବ୍ଧ ହେବ ଏହା ସ୍ୱଚାଳିତ ଭାବେ ସକ୍ଷମ ହୋ‍ଇପାରେ।</translation>
 <translation id="2870560284913253234">ସାଇଟ୍</translation>
@@ -2163,6 +2176,7 @@
 <translation id="3288047731229977326">ଡେଭଲପର୍ ମୋଡ୍‌ରେ ଚାଲୁଥିବା ଏକ୍ସଟେନ୍‌ସନ୍ ଆପଣଙ୍କର କମ୍ପ୍ୟୁଟର୍‌ର କ୍ଷତି କରିପାରେ। ଯଦି ଆପଣ ଜଣେ ଡେଭଲପର୍ ନୁହଁନ୍ତି, ତେବେ ସୁରକ୍ଷିତ ରହିବା ପାଇଁ ଆପଣଙ୍କୁ ଡେଭଲପର୍ ମୋଡ୍‌ରେ ଚାଲୁଥିବା ଏହି ଏକ୍ସଟେନ୍‌ସନ୍‌ଗୁଡ଼ିକୁ ଅକ୍ଷମ କରିବା ଉଚିତ।</translation>
 <translation id="3289668031376215426">ସ୍ଵତଃ-କ୍ୟାପିଟାଲାଇଜେସନ୍</translation>
 <translation id="3289856944988573801">ଅପ୍‍‍ଡେଟ୍‍ଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିବା ପାଇଁ, ଦୟାକରି ଇଥର୍ନେଟ କିମ୍ବା ୱାଇ-ଫାଇ ବ୍ୟବହାର କରନ୍ତୁ।</translation>
+<translation id="3291436823898732747">ଉନ୍ନତ ବ୍ରାଉଜିଂ: ଉଦାହରଣ ସ୍ୱରୂପ, ଆପଣ ଟାଇପ୍ କରିବା ଆରମ୍ଭ କରିବା ପୂର୍ବରୁ ଓମ୍ନିବକ୍ସରେ ଦିଆଯାଉଥିବା ପରାମର୍ଶଗୁଡ଼ିକ</translation>
 <translation id="3293644607209440645">ଏହି ପୃଷ୍ଠାକୁ ପଠାନ୍ତୁ</translation>
 <translation id="32939749466444286">Linux କଣ୍ଟେନର୍ ଆରମ୍ଭ ହେଲା ନାହିଁ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="3294437725009624529">ଅତିଥି</translation>
@@ -2311,6 +2325,7 @@
 <translation id="3446274660183028131">ଦୟାକରି Windows ଇନଷ୍ଟଲ୍ କରିବାକୁ Parallels Desktop ଲଞ୍ଚ କରନ୍ତୁ।</translation>
 <translation id="344630545793878684">ଅନେକଗୁଡ଼ିଏ ୱେବ୍‌ସାଇଟ୍‌ରେ ଆପଣଙ୍କର ଡାଟା ପଢ଼ନ୍ତୁ</translation>
 <translation id="3446650212859500694">ଏହ ଫାଇଲରେ ସମ୍ବେଦନଶୀଳ ବିଷୟବସ୍ତୁ ଅଛି</translation>
+<translation id="3446827946208017735">ଗୋଟିଏ ସ୍ଥାନରେ ସବୁଠାରୁ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଗୋପନୀୟତା ସେଟିଂସକୁ ବୁଝି ସମୀକ୍ଷା କରନ୍ତୁ</translation>
 <translation id="3448086340637592206">Google Chrome ଏବଂ Chrome OS ଅତିରିକ୍ତ ସର୍ତ୍ତାବଳୀ</translation>
 <translation id="3448492834076427715">ଆକାଉଣ୍ଟ ଅପ୍‌ଡେଟ୍ କରନ୍ତୁ</translation>
 <translation id="3449393517661170867">ନୂଆ ଟାବ୍ କରାଯାଇଥିବା ୱିଣ୍ଡୋ</translation>
@@ -3738,6 +3753,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{କୌଣସି <ph name="VM_TYPE" /> VM ମିଳିଲା ନାହିଁ}=1{1ଟି <ph name="VM_TYPE" /> VM ମିଳିଲା: <ph name="VM_NAME_LIST" />}other{{NUM_VMS}ଟି <ph name="VM_TYPE" /> VM ମିଳିଲା: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">କୌଣସି ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ନାହିଁ</translation>
 <translation id="4998430619171209993">ଚାଲୁ ଅଛି</translation>
+<translation id="4999804342505941663">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ" ଫିଚରକୁ ଚାଲୁ କରନ୍ତୁ</translation>
 <translation id="5000922062037820727">ବ୍ଲକ୍ କରାଯାଇଛି (ସୁପାରିଶ୍ କରାଯାଇଛି)</translation>
 <translation id="5005498671520578047">ପାସ୍‍ୱର୍ଡ କପି କରନ୍ତୁ</translation>
 <translation id="5006218871145547804">Crostini Android ଆପ୍ ADB</translation>
@@ -4195,6 +4211,7 @@
 <translation id="5505307013568720083">ସ୍ୟାହୀ ଶେଷ ହୋଇଯାଇଛି</translation>
 <translation id="5505794066310932198">ଟୋଗଲ୍ କମାଣ୍ଡର୍</translation>
 <translation id="5507756662695126555">ସ୍ୱୀକାର କରିବା</translation>
+<translation id="5507795078844206688">ଆପଣ ଭିଜିଟ୍ କରୁଥିବା ପୃଷ୍ଠାଗୁଡ଼ିକର URL, ଉ.ଦା. https://www.google.com</translation>
 <translation id="5509693895992845810">ଏହି &amp;ରୂପେ ସେଭ୍ କରନ୍ତୁ...</translation>
 <translation id="5509914365760201064">ଜାରିକର୍ତ୍ତା: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Googleରୁ ଛବିର ବର୍ଣ୍ଣନା ପ୍ରାପ୍ତ କରନ୍ତୁ</translation>
@@ -4512,6 +4529,7 @@
 <translation id="5869522115854928033">ସଞ୍ଚିତ ପାସୱାର୍ଡସମୂହ</translation>
 <translation id="5870086504539785141">ଆକ୍ସେସିବିଲିଟୀ ମେନୁ ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="5870155679953074650">ହାର୍ଡ ଫଲ୍ଟ</translation>
+<translation id="5875534259258494936">ସ୍କ୍ରିନ୍ ସେୟାରିଂ ଶେଷ ହୋଇଯାଇଛି</translation>
 <translation id="5876576639916258720">ଚାଲୁଛି...</translation>
 <translation id="5876851302954717356">ଡାହାଣ ପଟରେ ନୂଆ ଟାବ୍</translation>
 <translation id="5877064549588274448">ଚ୍ୟାନେଲ୍ ପରିବର୍ତ୍ତନ କରାଯାଇଛି। ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଲାଗୁ କରିବା ପାଇଁ ଆପଣଙ୍କର ଡିଭାଇସ୍‌କୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ।</translation>
@@ -5060,6 +5078,7 @@
 <translation id="6468485451923838994">ଫଣ୍ଟଗୁଡ଼ିକ</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" />ଟି ଫାଇଲ୍</translation>
 <translation id="6469557521904094793">ସେଲ୍ୟୁଲାର୍ ନେଟୱାର୍କ ଚାଲୁ କରନ୍ତୁ</translation>
+<translation id="6470823736074966819">ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ମ୍ୟୁଟ୍ କରନ୍ତୁ</translation>
 <translation id="6472893788822429178">ମୂଳ ବଟନ୍ ଦେଖାନ୍ତୁ</translation>
 <translation id="6474498546677193336">ଏକ ଆପ୍ଲିକେସନ୍ ଏହି ଫୋଲ୍ଡରକୁ ବ୍ୟବହାର କରୁଥିବା ଯୋଗୁଁ ଅନସେୟାର୍ କରାଯାଇପାରିଲା ନାହିଁ। ପରବର୍ତ୍ତୀ ସମୟରେ Linux ବନ୍ଦ ହେଲେ ଫୋଲ୍ଡରକୁ ଅନସେୟାର୍ କରାଯିବ।</translation>
 <translation id="6474884162850599008">Google Driveର ଆକାଉଣ୍ଟ ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ</translation>
@@ -5373,6 +5392,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" />କୁ ମୂଳ ଭାବେ ଚଲାଯାଇପାରିବ ନାହିଁ।</translation>
 <translation id="6812841287760418429">ପରିବର୍ତ୍ତନ ଜାରି ରଖନ୍ତୁ</translation>
 <translation id="6813907279658683733">ସମ୍ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ୍</translation>
+<translation id="6814033694018386318">ଆପଣ Google ସହିତ କ’ଣ ସେୟାର୍ କରନ୍ତି</translation>
 <translation id="6817174620439930047">ଗୋଟିଏ ସାଇଟ୍ MIDI ଡିଭାଇସ୍‍ଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଯେତେବେଳେ ସିଷ୍ଟମ୍‍ର ବିଶେଷ ମେସେଜ୍‍ଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବାକୁ ଚାହେଁ, ସେତେବେଳେ ପଚାରନ୍ତୁ।(ସୁପାରିଶ୍ କରାଯାଇଛି)</translation>
 <translation id="6818198425579322765">ଅନୁବାଦ କରିବା ପାଇଁ ପୃଷ୍ଠାର ଭାଷା</translation>
 <translation id="6818802132960437751">ବିଲ୍ଟ-ଇନ୍ ଭାଇରସ୍ ସୁରକ୍ଷା</translation>
@@ -5868,6 +5888,7 @@
 <translation id="7374376573160927383">USB ଡିଭାଇସଗୁଡ଼ିକୁ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="7374461526650987610">ପ୍ରୋଟୋକଲ୍ ହ୍ୟାଣ୍ଡଲରଗୁଡ଼ିକ</translation>
 <translation id="7375235221357833624">{0,plural, =1{ଏକ ଘଣ୍ଟା ଭିତରେ ଡିଭାଇସ୍ ଅପଡେଟ୍ କରନ୍ତୁ}other{# ଘଣ୍ଟା ଭିତରେ ଡିଭାଇସ୍ ଅପଡେଟ୍ କରନ୍ତୁ}}</translation>
+<translation id="7376543451826039186">ଦ୍ରୁତ ବ୍ରାଉଜିଂ: ଉଦାହରଣ ସ୍ୱରୂପ, ବର୍ତ୍ତମାନର ପୃଷ୍ଠାର ଆଧାରରେ ପରବର୍ତ୍ତୀ ନିର୍ଦ୍ଦିଷ୍ଟ ବିଷୟବସ୍ତୁ ଅଧିକ ସକ୍ରିୟ ଭାବେ ଲୋଡ୍ କରାଯାଏ</translation>
 <translation id="7376553024552204454">ମାଉସ୍ କର୍‌ସର୍ ଚାଲୁଥିବା ବେଳେ ଏହାକୁ ହାଇଲାଇଟ୍ କରନ୍ତୁ</translation>
 <translation id="737728204345822099">ଏହି ସାଇଟକୁ ଆପଣ କରିଥିବା ଭିଜିଟର ଏକ ରେକର୍ଡ ଆପଣଙ୍କ ସୁରକ୍ଷା କୀ'ରେ ରଖାଯାଇପାରେ।</translation>
 <translation id="7377451353532943397">ସମ୍ବେଦନଶୀଳ ଆକ୍ସେସ୍ ଅବରୋଧ କରିବା ଜାରି ରଖନ୍ତୁ</translation>
@@ -5925,6 +5946,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" />ରୁ କଲ୍ କରନ୍ତୁ</translation>
 <translation id="7431719494109538750">କୌଣସି HID ଡିଭାଇସ୍ ମିଳିଲା ନାହିଁ</translation>
 <translation id="7431991332293347422">Search ଏବଂ ଆହୁରି ଅନେକ କିଛିକୁ ବ୍ୟକ୍ତିଗତକୃତ କରିବା ପାଇଁ ଆପଣଙ୍କର ବ୍ରାଉଜିଂ ଇତିବୃତ୍ତି କିପରି ବ୍ୟବହାର ହେଉଛି ତାହା ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ</translation>
+<translation id="7432200167665670017">ଆପଣଙ୍କ ଆଡମିନ୍ "<ph name="EXTENSION_NAME" />"କୁ ବ୍ଲକ୍ କରିଛନ୍ତି - ଆପ୍ ID <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">ଆପଣଙ୍କ <ph name="DEVICE_TYPE" />ର ବ୍ୟବହାର ଜାରି ରଖିବା ପାଇଁ ସ୍ମାର୍ଟ କାର୍ଡକୁ ଇନସାର୍ଟ କରନ୍ତୁ</translation>
 <translation id="7433957986129316853">ଏହାକୁ ରଖନ୍ତୁ</translation>
 <translation id="7434509671034404296">ଡେଭେଲପର୍</translation>
@@ -5954,6 +5976,7 @@
 <translation id="7460045493116006516">ଆପଣ ଇନ୍‌ଷ୍ଟଲ୍ କରିଥିବା ବର୍ତ୍ତମାନର ଥିମ୍</translation>
 <translation id="7461924472993315131">ପିନ୍‍</translation>
 <translation id="746216226901520237">ପରବର୍ତ୍ତୀ ସମୟରେ, ଆପଣଙ୍କର ଫୋନ୍‌ ଆପଣଙ୍କର <ph name="DEVICE_TYPE" />କୁ ଅନ୍‌ଲକ୍‌ କରିବ। ସେଟିଂସ୍‌ରେ ଆପଣ ସ୍ମାର୍ଟ ଲକ୍‌ ବନ୍ଦ କରିପାରିବେ।</translation>
+<translation id="7464637891177137294">ଏହାକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ, <ph name="ACCOUNT" />ରେ ସେଭ୍ କରନ୍ତୁ</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{#ଟି ଖୋଲା ଟାବ୍, ଟାବ୍ ଷ୍ଟ୍ରିପ୍‍କୁ ଟୋଗଲ୍ କରିବା ପାଇଁ ଦବାନ୍ତୁ}other{# ଟି ଖୋଲା ଟାବ୍, ଟାବ୍ ଷ୍ଟ୍ରିପ୍‍କୁ ଟୋଗଲ୍ କରିବା ପାଇଁ ଦବାନ୍ତୁ}}</translation>
 <translation id="7465635034594602553">କିଛି ତ୍ରୁଟି ହୋଇଗଲା। ଦୟାକରି କିଛି ସମୟ ପାଇଁ ଅପେକ୍ଷା କରି <ph name="APP_NAME" /> ପୁଣି ଚଲାନ୍ତୁ।</translation>
 <translation id="7465778193084373987">Netscape ସାର୍ଟିଫିକେଟ୍ ପ୍ରତ୍ୟାହାର URL</translation>
@@ -6017,6 +6040,7 @@
 <translation id="7525625923260515951">ଚୟନିତ ଟେକ୍ସଟକୁ ଶୁଣନ୍ତୁ</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{1ଟି ଅଧିକ}other{{NUM_DOWNLOADS}ଟି ଅଧିକ}}</translation>
 <translation id="7526989658317409655">ପ୍ଲେସହୋଲ୍ଡର୍</translation>
+<translation id="7527758104894292229">ଏହାକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ, <ph name="ACCOUNT" />ରେ ଅପଡେଟ୍ କରନ୍ତୁ</translation>
 <translation id="7529411698175791732">ଆପଣଙ୍କର ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ଯାଞ୍ଚ କରନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରହେ, ସାଇନ୍ ଆଉଟ୍ କରି ପୁଣି ସାଇନ୍ ଇନ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="7529876053219658589">{0,plural, =1{ଅତିଥି ୱିଣ୍ଡୋ ବନ୍ଦ କରନ୍ତୁ}other{ଅତିଥି ୱିଣ୍ଡୋ ବନ୍ଦ କରନ୍ତୁ}}</translation>
 <translation id="7530016656428373557">ୱାଟ୍‌ରେ ଡିସ୍‌ଚାର୍ଜ୍ ହାର</translation>
@@ -6403,6 +6427,7 @@
 <translation id="7898725031477653577">ସର୍ବଦା ଅନୁବାଦ କରନ୍ତୁ</translation>
 <translation id="790040513076446191">ଗୋପନୀୟତା-ସମ୍ବନ୍ଧିତ ସେଟିଂସ୍ କୁଶଳ ଭାବରେ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="7901405293566323524">ଫୋନ୍ ହବ୍</translation>
+<translation id="7901914889562552258">ପୃଷ୍ଠା ମେଟ୍ରିକ୍ସ ବ୍ୟବହାର କରି Chrome ଉନ୍ନତ କରାଯାଇଛି</translation>
 <translation id="7903345046358933331">ପୃଷ୍ଠାଟି ପ୍ରତିକ୍ରିୟାରହିତ ହୋ‍ଇଛି ଆପଣ ଏହାର ପ୍ରତିକ୍ରିୟା ଦେବା ପର୍ଯ୍ୟନ୍ତ ଅପେକ୍ଷା କରିପାରିବେ କିମ୍ବା ଏହାକୁ ବନ୍ଦ କରିପାରିବେ।</translation>
 <translation id="7903742244674067440">ଫାଇଲ୍‌ରେ ଆପଣଙ୍କର ସାର୍ଟିଫିକେଟ୍‌ ଅଛି ଯାହା ଏହି ସାର୍ଟିଫିକେଟ୍‌ଗୁଡ଼ିକର ପ୍ରାଧିକରଣ ଚିହ୍ନଟ କରିଥାଏ</translation>
 <translation id="7903859912536385558">ସ୍ଥିର (ବିଶ୍ୱସ୍ତ ପରୀକ୍ଷକ)</translation>
@@ -6867,6 +6892,7 @@
 <translation id="8392364544846746346">କୌଣସି ସାଇଟ୍ କେତେବେଳେ ଆପଣଙ୍କର ଡିଭାଇସ୍‌ରେ ଫାଇଲ୍ କିମ୍ବା ଫୋଲ୍ଡର୍‌ଗୁଡ଼ିକୁ ସମ୍ପାଦନ କରିବାକୁ ଚାହିଁବ, ତାହା ପଚାରନ୍ତୁ</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> ପାଇଁ ବିକଳ୍ପଗୁଡ଼ିକ</translation>
 <translation id="8393511274964623038">ପ୍ଲଗ୍‍ଇନ୍‌ ବନ୍ଦ କରନ୍ତୁ</translation>
+<translation id="839363317075970734">ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସର ବିବରଣୀ</translation>
 <translation id="8393700583063109961">ମେସେଜ୍‌ ପଠାନ୍ତୁ</translation>
 <translation id="8397825320644530257">ସଂଯୁକ୍ତ ଥିବା ଫୋନକୁ ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ</translation>
 <translation id="8398877366907290961">ଯେକୌଣସି ପ୍ରକାରେ ଆଗେଇ ଚାଲନ୍ତୁ</translation>
@@ -7117,6 +7143,7 @@
 <translation id="8681614230122836773">Chromeକୁ ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ କ୍ଷତିକାରକ ସଫ୍ଟୱେୟାର ମିଳିଛି</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> ସଂଯୋଗ କରାଯାଇଛି ଏବଂ ପ୍ରସ୍ତୁତ ଅଛି</translation>
 <translation id="8683081248374354009">ଗୋଷ୍ଠୀ ରିସେଟ୍ କରନ୍ତୁ</translation>
+<translation id="8683526617475118045">ଆପଣ କ’ଣ ପାଇବେ</translation>
 <translation id="8688672835843460752">ଉପଲବ୍ଧ</translation>
 <translation id="8690129572193755009">ସାଇଟଗୁଡ଼ିକ ପ୍ରୋଟୋକଲ୍ ହ୍ୟାଣ୍ଡେଲ୍ କରିବାକୁ ପଚାରିପାରେ</translation>
 <translation id="8695139659682234808">ସେଟଅପ୍ କରିବା ପରେ ବାପାମାଙ୍କ ନିୟନ୍ତ୍ରଣ ଯୋଗ କରନ୍ତୁ</translation>
@@ -7170,6 +7197,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />ପରିବର୍ତ୍ତେ <ph name="PROTOCOL" /> ଲିଙ୍କ୍ ଖୋଲନ୍ତୁ</translation>
 <translation id="8737709691285775803">Shill</translation>
 <translation id="8737914367566358838">ପୃଷ୍ଠାଟିକୁ କେଉଁ ଭାଷାରେ ଅନୁବାଦ କରିବେ ତାହା ବାଛନ୍ତୁ</translation>
+<translation id="8737916108453753541">ବ୍ରାଉଜିଂ ବ୍ୟବହାରକୁ ବୁଝିବା ପାଇଁ URLଗୁଡ଼ିକୁ Google ସହ ସେୟାର୍ କରାଯାଏ</translation>
 <translation id="8740247629089392745">ଆପଣ <ph name="SUPERVISED_USER_NAME" />କୁ ଏହି Chromebook ହସ୍ତାନ୍ତର କରିପାରିବେ। ସେଟଅପ୍ ପ୍ରାୟ ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଯାଇଛି, ଏବେ ଏକ୍ସପ୍ଲୋର୍ କରିବାର ସମୟ।</translation>
 <translation id="8741944563400125534">ସ୍ଵିଚ୍ ଆକ୍ସେସ୍ ସେଟଅପ୍ ଗାଇଡ୍</translation>
 <translation id="8742998548129056176">ଏହା ଆପଣଙ୍କ ଡିଭାଇସ୍ ଏବଂ ଏହାକୁ ଆପଣ କିପରି ବ୍ୟବହାର କରନ୍ତି (ଯେପରି ବ୍ୟାଟେରୀ ସ୍ତର, ସିଷ୍ଟମ୍ ଓ ଆପ୍ କାର୍ଯ୍ୟକଳାପ ଏବଂ ତ୍ରୁଟିଗୁଡ଼ିକ) ସେ ବିଷୟରେ ସାଧାରଣ ସୂଚନା ଅଟେ। Androidକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହି ଡାଟାକୁ ବ୍ୟବହାର କରାଯିବ ଏବଂ କିଛି ଏକତ୍ରିତ ସୂଚନା Google ଆପ୍ ଓ Android ଡେଭଲପର୍ ପରି ଏହାର ପାର୍ଟନରଗୁଡ଼ିକୁ ମଧ୍ୟ ସେଗୁଡ଼ିକର ଆପ୍ ଓ ପ୍ରଡକ୍ଟଗୁଡ଼ିକ ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରିବ।</translation>
@@ -7510,6 +7538,7 @@
 <translation id="9078193189520575214">ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ଲାଗୁ କରାଯାଉଛି...</translation>
 <translation id="9078316009970372699">ଇନଷ୍ଟାଣ୍ଟ ଟିଥରିଂ ଅକ୍ଷମ କରନ୍ତୁ</translation>
 <translation id="9079267182985899251">ଶୀଘ୍ର ଏହି ବିକଳ୍ପ ଆଉ ସମର୍ଥିତ ହେବ ନାହିଁ। ଗୋଟିଏ ଟାବକୁ ପ୍ରେଜେଣ୍ଟ କରିବାକୁ, <ph name="GOOGLE_MEET" /> ବ୍ୟବହାର କରନ୍ତୁ।</translation>
+<translation id="9081543426177426948">ଆପଣ ଭିଜିଟ୍ କରିଥିବା ସାଇଟଗୁଡ଼ିକ ଇନକଗ୍ନିଟୋ ମୋଡରେ ସେଭ୍ ହୁଏ ନାହିଁ</translation>
 <translation id="9084064520949870008">ୱିଣ୍ଡୋ ଭଳି ଖୋଲନ୍ତୁ</translation>
 <translation id="9085256200913095638">ଚୟନ କରାଯାଇଥିବା ଟାବ୍‌କୁ ଡୁପ୍ଲିକେଟ୍ କରନ୍ତୁ</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> ଚୟନ କରାଯାଇନାହିଁ। ଚୟନ କରିବା ପାଇଁ Search ସହିତ Space ଦବାନ୍ତୁ।</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index ada6bf1..2f08e8f 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -447,6 +447,7 @@
 <translation id="1476088332184200792">ਆਪਣੇ ਡੀਵਾਈਸ 'ਤੇ ਕਾਪੀ ਕਰੋ</translation>
 <translation id="1476607407192946488">&amp;ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" /> ਲਈ ਤੁਹਾਨੂੰ ਆਪਣਾ ਸਮਾਰਟ ਕਾਰਡ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।</translation>
+<translation id="1477654881618305065">ਤੁਹਾਡੀ ਸੰਸਥਾ ਤੁਹਾਨੂੰ ਇਸ ਸਮੱਗਰੀ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦੀ। ਜੇ ਤੁਹਾਨੂੰ ਮਦਦ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।</translation>
 <translation id="1478340334823509079">ਵੇਰਵੇ: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ਸਥਾਪਨਾ ਚਾਲੂ ਨਹੀਂ ਕੀਤੀ ਹੋਈ ਹੈ</translation>
 <translation id="1480571698637441426">ਤੁਹਾਡੇ ਵੱਲੋਂ ਸਵਾਲ ਪੁੱਛੇ ਜਾਣ 'ਤੇ ਵਿਉਂਤਬੱਧ ਜਵਾਬ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਆਪਣੀ Assistant ਨੂੰ ਸਕ੍ਰੀਨ 'ਤੇ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਦੇ ਸਕ੍ਰੀਨਸ਼ਾਟ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦਿਓ। ਇਸ ਵਿੱਚ ਚੱਲ ਰਹੇ ਗੀਤਾਂ ਜਾਂ ਵੀਡੀਓ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀ ਹੈ।</translation>
@@ -622,6 +623,7 @@
 <translation id="1643921258693943800">ਨਜ਼ਦੀਕੀ ਸਾਂਝ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਬਲੂਟੁੱਥ ਅਤੇ ਵਾਈ-ਫਾਈ ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="1644574205037202324">ਇਤਿਹਾਸ</translation>
 <translation id="1645516838734033527">ਆਪਣੀ <ph name="DEVICE_TYPE" /> ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ, 'ਸਮਾਰਟ ਲਾਕ' ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ 'ਤੇ ਇੱਕ ਸਕ੍ਰੀਨ ਲਾਕ ਦੀ ਲੋੜ ਹੈ।</translation>
+<translation id="1646793251510634025">ਖੋਜ ਅਤੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਦੇ ਸੁਯੋਗਕਰਨ ਲਈ ਸੈਟਿੰਗਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ</translation>
 <translation id="1646982517418478057">ਕਿਰਪਾ ਕਰਕੇ ਇਸ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨੂੰ ਇਨਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ</translation>
 <translation id="1648528859488547844">ਟਿਕਾਣੇ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਵਾਈ‑ਫਾਈ ਜਾਂ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਵਰਤੋ</translation>
 <translation id="164936512206786300">ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਦਾ ਜੋੜਾਬੱਧ ਹਟਾਓ</translation>
@@ -1369,6 +1371,7 @@
 <translation id="2406153734066939945">ਕੀ ਇਸ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਇਸਦੇ ਡਾਟੇ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?</translation>
 <translation id="2408018932941436077">ਕਾਰਡ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="2408955596600435184">ਆਪਣਾ PIN ਦਾਖਲ ਕਰੋ</translation>
+<translation id="2410754283952462441">ਕੋਈ ਖਾਤਾ ਚੁਣੋ</translation>
 <translation id="241082044617551207">ਅਗਿਆਤ ਪਲੱਗਇਨ</translation>
 <translation id="2412593942846481727">ਅੱਪਡੇਟ ਉਪਲਬਧ ਹੈ</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1477,6 +1480,7 @@
 <translation id="2514326558286966059">ਆਪਣੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਵਧੇਰੇ ਤੇਜ਼ੀ ਨਾਲ ਅਣਲਾਕ ਕਰੋ</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">ਇੱਕ ਹੋਰ ਸਵਿੱਚ ਜ਼ਿੰਮੇ ਲਾਓ</translation>
+<translation id="251722524540674480">ਆਪਣੇ ਵਰਤੋਂਕਾਰ ਨਾਮ ਦੀ ਤਸਦੀਕ ਕਰੋ</translation>
 <translation id="2517472476991765520">ਸਕੈਨ ਕਰੋ</translation>
 <translation id="2518024842978892609">ਆਪਣੇ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਵਰਤੋ</translation>
 <translation id="2519517390894391510">ਪ੍ਰਮਾਣ-ਪੱਤਰ ਵਾਲੇ ਪ੍ਰੋਫਾਈਲ ਦਾ ਨਾਮ</translation>
@@ -2180,6 +2184,7 @@
 <translation id="3288047731229977326">ਵਿਕਾਸਕਾਰ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਹੀਆਂ ਐਕਸਟੈਂਸ਼ਨਾਂ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦੀਆਂ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਵਿਕਾਸਕਾਰ ਨਹੀਂ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸੁਰੱਖਿਅਤ ਰਹਿਣ ਲਈ ਵਿਕਾਸਕਾਰ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਹੀਆਂ ਇਹਨਾਂ ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।</translation>
 <translation id="3289668031376215426">ਪਹਿਲਾ ਅੱਖਰ ਆਪੇ ਵੱਡਾ ਹੋਣਾ</translation>
 <translation id="3289856944988573801">ਅੱਪਡੇਟਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਈਥਰਨੈਟ ਜਾਂ ਵਾਈ-ਫਾਈ ਵਰਤੋ।</translation>
+<translation id="3291436823898732747">ਬਿਹਤਰ ਬ੍ਰਾਊਜ਼ਿੰਗ: ਉਦਾਹਰਨ ਲਈ, ਟਾਈਪ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਓਮਨੀਬਾਕਸ ਵਿੱਚ ਸੁਝਾਅ</translation>
 <translation id="3293644607209440645">ਇਸ ਪੰਨੇ ਨੂੰ ਭੇਜੋ</translation>
 <translation id="32939749466444286">Linux ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਨਹੀਂ ਹੋਇਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="3294437725009624529">ਮਹਿਮਾਨ</translation>
@@ -4213,6 +4218,7 @@
 <translation id="5505307013568720083">ਸਿਆਹੀ ਖਤਮ ਹੋਈ</translation>
 <translation id="5505794066310932198">ਕਮਾਂਡਰ ਨੂੰ ਟੌਗਲ ਕਰੋ</translation>
 <translation id="5507756662695126555">ਗ਼ੈਰ-repudiation</translation>
+<translation id="5507795078844206688">ਉਨ੍ਹਾਂ ਪੰਨਿਆਂ ਦਾ URL ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਜਾਂਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ https://www.google.com</translation>
 <translation id="5509693895992845810">ਇਸ ਵਜੋਂ &amp;ਰੱਖਿਅਤ ਕਰੋ...</translation>
 <translation id="5509914365760201064">ਜਾਰੀਕਰਤਾ: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Google ਤੋਂ ਚਿੱਤਰ ਵਰਣਨ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
@@ -4530,6 +4536,7 @@
 <translation id="5869522115854928033">ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ</translation>
 <translation id="5870086504539785141">ਪਹੁੰਚਯੋਗਤਾ ਮੀਨੂ ਬੰਦ ਕਰੋ</translation>
 <translation id="5870155679953074650">ਹਾਰਡ ਫਾਲਟਸ</translation>
+<translation id="5875534259258494936">ਸਕ੍ਰੀਨ ਸਾਂਝਾਕਰਨ ਨੂੰ ਸਮਾਪਤ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ</translation>
 <translation id="5876576639916258720">ਚੱਲ ਰਹੀ ਹੈ...</translation>
 <translation id="5876851302954717356">ਸੱਜੇ ਪਾਸੇ ਨਵੀਂ ਟੈਬ</translation>
 <translation id="5877064549588274448">ਚੈਨਲ ਬਦਲ ਗਿਆ। ਬਦਲਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਆਪਣੀ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ।</translation>
@@ -5390,6 +5397,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" /> ਰੂਟ ਦੇ ਤੌਰ ਤੇ ਨਹੀਂ ਚਲਾਇਆ ਜਾ ਸਕਦਾ।</translation>
 <translation id="6812841287760418429">ਬਦਲਾਵ ਰੱਖੋ</translation>
 <translation id="6813907279658683733">ਪੂਰੀ ਸਕ੍ਰੀਨ</translation>
+<translation id="6814033694018386318">ਤੁਸੀਂ Google ਨਾਲ ਕੀ ਸਾਂਝਾ ਕਰਦੇ ਹੋ</translation>
 <translation id="6817174620439930047">ਪੁੱਛੋ ਜਦੋਂ ਕੋਈ ਸਾਈਟ MIDI ਡੀਵਾਈਸਾਂ 'ਤੇ ਪਹੁੰਚ ਕਰਨ ਲਈ ਸਿਸਟਮ ਦੇ ਵਿਸ਼ੇਸ਼ ਸੁਨੇਹੇ ਵਰਤਣਾ ਚਾਹੁੰਦੀ ਹੋਵੇ (ਸਿਫ਼ਾਰਿਸ਼ੀ)</translation>
 <translation id="6818198425579322765">ਅਨੁਵਾਦ ਕਰਨ ਲਈ ਪੰਨੇ ਦੀ ਭਾਸ਼ਾ</translation>
 <translation id="6818802132960437751">ਬਿਲਟ-ਇਨ ਵਾਇਰਸ ਸੁਰੱਖਿਆ</translation>
@@ -5885,6 +5893,7 @@
 <translation id="7374376573160927383">USB ਡੀਵਾਈਸਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="7374461526650987610">ਪ੍ਰੋਟੋਕੋਲ ਹੈਂਡਲਰਸ</translation>
 <translation id="7375235221357833624">{0,plural, =1{ਡੀਵਾਈਸ ਨੂੰ ਇੱਕ ਘੰਟੇ ਦੇ ਅੰਦਰ ਅੱਪਡੇਟ ਕਰੋ}one{ਡੀਵਾਈਸ ਨੂੰ # ਘੰਟੇ ਦੇ ਅੰਦਰ ਅੱਪਡੇਟ ਕਰੋ}other{ਡੀਵਾਈਸ ਨੂੰ # ਘੰਟਿਆਂ ਦੇ ਅੰਦਰ ਅੱਪਡੇਟ ਕਰੋ}}</translation>
+<translation id="7376543451826039186">ਵਧੇਰੇ ਤੇਜ਼ ਬ੍ਰਾਊਜ਼ਿੰਗ: ਉਦਾਹਰਨ ਲਈ, ਮੌਜੂਦਾ ਪੰਨੇ ਦੇ ਆਧਾਰ 'ਤੇ ਹੋਰ ਵਿਸ਼ੇਸ਼ ਸਮੱਗਰੀ ਨੂੰ ਚੁਸਤੀ ਨਾਲ ਲੋਡ ਕਰਨਾ</translation>
 <translation id="7376553024552204454">ਮਾਊਸ ਕਰਸਰ ਨੂੰ ਉਸ ਵੱਲੋਂ ਜਗ੍ਹਾ ਬਦਲੇ ਜਾਣ ਦੋਰਾਨ ਉਜਾਗਰ ਕਰੋ</translation>
 <translation id="737728204345822099">ਇਸ ਸਾਈਟ 'ਤੇ ਤੁਹਾਡੇ ਜਾਣ ਦਾ ਰਿਕਾਰਡ ਤੁਹਾਡੀ ਸੁਰੱਖਿਆ ਕੁੰਜੀ ਵਿੱਚ ਰੱਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।</translation>
 <translation id="7377451353532943397">ਸੈਂਸਰ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਬਲਾਕ ਕਰਦੇ ਰਹੋ</translation>
@@ -5942,6 +5951,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> ਵੱਲੋਂ ਕਾਲ</translation>
 <translation id="7431719494109538750">ਕੋਈ HID ਡੀਵਾਈਸ ਨਹੀਂ ਮਿਲਿਆ</translation>
 <translation id="7431991332293347422">'ਖੋਜ' ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਦੇ ਵਰਤੇ ਜਾਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ</translation>
+<translation id="7432200167665670017">ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਨੇ "<ph name="EXTENSION_NAME" />" ਨੂੰ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ - ਐਪ ਆਈਡੀ <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">ਆਪਣੇ <ph name="DEVICE_TYPE" /> ਨੂੰ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖਣ ਲਈ ਸਮਾਰਟ ਕਾਰਡ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="7433957986129316853">ਇਹੋ ਰੱਖੋ</translation>
 <translation id="7434509671034404296">ਵਿਕਾਸਕਾਰ</translation>
@@ -5971,6 +5981,7 @@
 <translation id="7460045493116006516">ਮੌਜੂਦਾ ਥੀਮ ਜੋ ਤੁਸੀਂ ਸਥਾਪਤ ਕੀਤਾ ਹੈ</translation>
 <translation id="7461924472993315131">Pin</translation>
 <translation id="746216226901520237">ਅਗਲੀ ਵਾਰ ਤੁਹਾਡਾ ਫ਼ੋਨ ਤੁਹਾਡੀ <ph name="DEVICE_TYPE" /> ਨੂੰ ਅਣਲਾਕ ਕਰੇਗਾ। ਤੁਸੀਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ 'ਸਮਾਰਟ ਲਾਕ' ਨੂੰ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ।</translation>
+<translation id="7464637891177137294">ਇਸ ਨੂੰ ਆਪਣੇ Google ਖਾਤੇ, <ph name="ACCOUNT" />, ਵਿੱਚ ਰੱਖਿਅਤ ਕਰੋ</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# ਖੁੱਲ੍ਹੀ ਟੈਬ, ਟੈਬ ਪੱਟੀ ਨੂੰ ਟੌਗਲ ਕਰਨ ਲਈ ਦਬਾਓ}one{# ਖੁੱਲ੍ਹੀ ਟੈਬ, ਟੈਬ ਪੱਟੀ ਨੂੰ ਟੌਗਲ ਕਰਨ ਲਈ ਦਬਾਓ}other{# ਖੁੱਲ੍ਹੀਆਂ ਟੈਬਾਂ, ਟੈਬ ਪੱਟੀ ਨੂੰ ਟੌਗਲ ਕਰਨ ਲਈ ਦਬਾਓ}}</translation>
 <translation id="7465635034594602553">ਕੋਈ ਗੜਬੜ ਹੋਈ। ਕਿਰਪਾ ਕਰਕੇ ਥੋੜ੍ਹੀ ਦੇਰ ਉਡੀਕ ਕਰੋ ਅਤੇ <ph name="APP_NAME" /> ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਓ।</translation>
 <translation id="7465778193084373987">Netscape ਪ੍ਰਮਾਣ-ਪੱਤਰ ਖੰਡਨ URL</translation>
@@ -6034,6 +6045,7 @@
 <translation id="7525625923260515951">ਚੁਣੀ ਗਈ ਲਿਖਤ ਸੁਣੋ</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{1 ਹੋਰ}one{{NUM_DOWNLOADS} ਹੋਰ}other{{NUM_DOWNLOADS} ਹੋਰ}}</translation>
 <translation id="7526989658317409655">ਪਲੇਸਹੋਲਡਰ</translation>
+<translation id="7527758104894292229">ਇਸ ਨੂੰ ਆਪਣੇ Google ਖਾਤੇ, <ph name="ACCOUNT" />, ਵਿੱਚ ਅੱਪਡੇਟ ਕਰੋ</translation>
 <translation id="7529411698175791732">ਆਪਣੇ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ। ਜੇਕਰ ਸਮੱਸਿਆ ਬਣੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਸਾਈਨ ਆਊਟ ਕਰਕੇ ਦੇਖੋ ਅਤੇ ਦੁਬਾਰਾ ਸਾਈਨ-ਇਨ ਕਰੋ।</translation>
 <translation id="7529876053219658589">{0,plural, =1{ਮਹਿਮਾਨ ਵਿੰਡੋ ਬੰਦ ਕਰੋ}one{ਮਹਿਮਾਨ ਵਿੰਡੋ ਬੰਦ ਕਰੋ}other{ਮਹਿਮਾਨ ਵਿੰਡੋਆਂ ਬੰਦ ਕਰੋ}}</translation>
 <translation id="7530016656428373557">ਵਾਟ ਵਿੱਚ ਡਿਸਚਾਰਜ ਦਰ</translation>
@@ -6420,6 +6432,7 @@
 <translation id="7898725031477653577">ਹਮੇਸ਼ਾਂ ਅਨੁਵਾਦ ਕਰੋ</translation>
 <translation id="790040513076446191">ਪਰਦੇਦਾਰੀ-ਸਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਸੋਧੋ</translation>
 <translation id="7901405293566323524">ਫ਼ੋਨ ਹੱਬ</translation>
+<translation id="7901914889562552258">ਪੰਨਾ ਮਾਪਕ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਇਆ ਗਿਆ</translation>
 <translation id="7903345046358933331">ਪੰਨਾ ਅਨਰਿਸਪੋਂਸਿਵ ਹੋ ਗਿਆ ਹੈ। ਤਸੀਂ ਇਸ ਦੇ ਰਿਸਪੋਂਸਿਵ ਹੋਣ ਤੱਕ ਉਡੀਕ ਸਕਦੇ ਹੋ ਜਾਂ ਇਸ ਨੂੰ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="7903742244674067440">ਤੁਹਾਡੇ ਕੋਲ ਫ਼ਾਈਲ 'ਤੇ ਅਜਿਹੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਹਨ ਜੋ ਇਹਨਾਂ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਦਾ ਇਖਤਿਆਰੀਕਰਨ ਕਰਦੇ ਹਨ</translation>
 <translation id="7903859912536385558">ਸਥਿਰ (ਭਰੋਸੇਯੋਗ ਜਾਂਚਕਰਤਾ)</translation>
@@ -6885,6 +6898,7 @@
 <translation id="8392364544846746346">ਕਿਸੇ ਸਾਈਟ ਦੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਵਿਚਲੀਆਂ ਫ਼ਾਈਲਾਂ ਜਾਂ ਫੋਲਡਰਾਂ ਦਾ ਸੰਪਾਦਨ ਕੀਤੇ ਜਾਣ ਦੀ ਇੱਛਾ ਹੋਣ 'ਤੇ ਪੁੱਛੋ</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> ਲਈ ਚੋਣਾਂ ਮੀਨੂ</translation>
 <translation id="8393511274964623038">ਪਲੱਗਇਨ ਰੋਕੋ</translation>
+<translation id="839363317075970734">ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਦੇ ਵੇਰਵੇ</translation>
 <translation id="8393700583063109961">ਸੁਨੇਹਾ ਭੇਜੋ</translation>
 <translation id="8397825320644530257">ਕਨੈਕਟ ਕੀਤੇ ਫ਼ੋਨ ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰੋ</translation>
 <translation id="8398877366907290961">ਫੇਰ ਵੀ ਜਾਰੀ ਰੱਖੋ</translation>
@@ -7135,6 +7149,7 @@
 <translation id="8681614230122836773">Chrome ਨੂੰ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਵਿੱਚ ਹਾਨੀਕਾਰਕ ਸਾਫ਼ਟਵੇਅਰ ਲੱਭਿਆ ਹੈ</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> ਕਨੈਕਟ ਅਤੇ ਤਿਆਰ ਹੈ</translation>
 <translation id="8683081248374354009">ਗਰੁੱਪ ਰੀਸੈੱਟ ਕਰੋ</translation>
+<translation id="8683526617475118045">ਤੁਹਾਨੂੰ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਮਿਲਣਗੀਆਂ</translation>
 <translation id="8688672835843460752">ਉਪਲਬਧ</translation>
 <translation id="8690129572193755009">ਸਾਈਟਾਂ ਪ੍ਰੋਟੋਕੋਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਪੁੱਛ ਸਕਦੀਆਂ ਹਨ</translation>
 <translation id="8695139659682234808">ਸੈੱਟਅੱਪ ਤੋਂ ਬਾਅਦ ਮਾਪਿਆਂ ਦੇ ਕੰਟਰੋਲ ਸ਼ਾਮਲ ਕਰੋ</translation>
@@ -7188,6 +7203,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ਦੀ ਬਜਾਏ <ph name="PROTOCOL" /> ਲਿੰਕਾਂ ਨੂੰ ਖੋਲ੍ਹੋ</translation>
 <translation id="8737709691285775803">Shill</translation>
 <translation id="8737914367566358838">ਪੰਨੇ ਦਾ ਜਿਸ ਭਾਸ਼ਾ ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਨਾ ਹੈ ਉਹ ਭਾਸ਼ਾ ਚੁਣੋ</translation>
+<translation id="8737916108453753541">ਬ੍ਰਾਊਜ਼ਿੰਗ ਸੰਬੰਧੀ ਵਿਹਾਰ ਨੂੰ ਸਮਝਣ ਲਈ URL ਨੂੰ Google ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation>
 <translation id="8740247629089392745">ਤੁਸੀਂ ਇਹ Chromebook <ph name="SUPERVISED_USER_NAME" /> ਨੂੰ ਦੇ ਸਕਦੇ ਹੋ। ਸੈੱਟਅੱਪ ਲਗਭਗ ਹੋ ਗਿਆ ਹੈ, ਉਸ ਤੋਂ ਬਾਅਦ ਪੜਚੋਲ ਕਰਨ ਦਾ ਸਮਾਂ ਹੈ।</translation>
 <translation id="8741944563400125534">ਸਵਿੱਚ ਪਹੁੰਚ ਲਈ ਸੈੱਟਅੱਪ ਗਾਈਡ</translation>
 <translation id="8742998548129056176">ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਅਤੇ ਉਸਦੀ ਵਰਤੋਂ ਬਾਰੇ ਆਮ ਜਾਣਕਾਰੀ ਹੈ (ਜਿਵੇਂ ਕਿ ਬੈਟਰੀ ਪੱਧਰ, ਸਿਸਟਮ ਅਤੇ ਐਪ ਸਰਗਰਮੀ, ਅਤੇ ਗੜਬੜੀਆਂ)। ਡਾਟਾ Android ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਵੇਗਾ, ਅਤੇ ਕੁਝ ਏਕੀਕ੍ਰਿਤ ਜਾਣਕਾਰੀ Google ਐਪਾਂ ਅਤੇ ਪਾਰਟਨਰਾਂ, ਜਿਵੇਂ ਕਿ Android ਵਿਕਾਸਕਾਰਾਂ ਦੀਆਂ ਐਪਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਵੀ ਉਹਨਾਂ ਦੀ ਮਦਦ ਕਰੇਗੀ।</translation>
@@ -7529,6 +7545,7 @@
 <translation id="9078193189520575214">ਤਬਦੀਲੀਆਂ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
 <translation id="9078316009970372699">ਤਤਕਾਲ ਟੈਦਰਿੰਗ ਨੂੰ ਬੰਦ ਕਰੋ</translation>
 <translation id="9079267182985899251">ਜਲਦ ਹੀ ਇਹ ਵਿਕਲਪ ਹੁਣ ਸਮਰਥਿਤ ਨਹੀਂ ਰਹੇਗਾ। ਟੈਬ ਨੂੰ ਪੇਸ਼ ਕਰਨ ਲਈ, <ph name="GOOGLE_MEET" /> ਦੀ ਵਰਤੋਂ ਕਰੋ।</translation>
+<translation id="9081543426177426948">ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੀਆਂ ਗਈਆਂ ਸਾਈਟਾਂ ਇਨਕੋਗਨਿਟੋ ਮੋਡ ਵਿੱਚ ਰੱਖਿਅਤ ਨਹੀਂ ਹੁੰਦੀਆਂ ਹਨ</translation>
 <translation id="9084064520949870008">Window ਦੇ ਤੌਰ ਤੇ ਖੋਲ੍ਹੋ</translation>
 <translation id="9085256200913095638">ਚੁਣੀ ਗਈ ਟੈਬ ਨੂੰ ਡੁਪਲੀਕੇਟ ਕਰੋ</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> ਨੂੰ ਨਹੀਂ ਚੁਣਿਆ ਗਿਆ। ਚੁਣਨ ਲਈ Search ਦੇ ਨਾਲ Space ਨੂੰ ਦਬਾਓ।</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index fd9e7a8..37f0367 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -1359,6 +1359,7 @@
 <translation id="2406153734066939945">Usunąć ten profil i powiązane z nim dane?</translation>
 <translation id="2408018932941436077">Zapisuję kartę</translation>
 <translation id="2408955596600435184">Wpisz kod PIN</translation>
+<translation id="2410754283952462441">Wybierz konto</translation>
 <translation id="241082044617551207">Nieznana wtyczka</translation>
 <translation id="2412593942846481727">Dostępna aktualizacja</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7536,6 +7537,7 @@
 <translation id="9078193189520575214">Wprowadzam zmiany...</translation>
 <translation id="9078316009970372699">Wyłącz błyskawiczne połączenie w tetheringu</translation>
 <translation id="9079267182985899251">Ta opcja wkrótce przestanie być dostępna. Do prezentowania kart używaj <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">W trybie incognito otwierane strony nie są zapisywane</translation>
 <translation id="9084064520949870008">Otwórz jako okno</translation>
 <translation id="9085256200913095638">Powiel wybraną kartę</translation>
 <translation id="9085776959277692427">Nie wybrano: <ph name="LANGUAGE" />. Aby wybrać język, naciśnij Wyszukaj i spację.</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index 8172164..1cd35d4 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -1377,6 +1377,7 @@
 <translation id="2406153734066939945">Excluir este perfil e os dados dele?</translation>
 <translation id="2408018932941436077">Salvando cartão</translation>
 <translation id="2408955596600435184">Informe seu PIN</translation>
+<translation id="2410754283952462441">Escolher uma conta</translation>
 <translation id="241082044617551207">Plug-in desconhecido</translation>
 <translation id="2412593942846481727">Atualização disponível</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7560,6 +7561,7 @@
 <translation id="9078193189520575214">Aplicando mudanças…</translation>
 <translation id="9078316009970372699">Desativar tethering instantâneo</translation>
 <translation id="9079267182985899251">Em breve, esta opção não estará mais disponível. Para fazer a apresentação de uma guia, use o <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Os sites que você acessa não são salvos no modo de navegação anônima</translation>
 <translation id="9084064520949870008">Abrir como janela</translation>
 <translation id="9085256200913095638">Duplicar a guia selecionada</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> não selecionado. Pressione "Pesquisar" junto à barra de espaço para selecionar.</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index d51fda52..9c390fa 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -1361,6 +1361,7 @@
 <translation id="2406153734066939945">Pretende eliminar este perfil e os respetivos dados?</translation>
 <translation id="2408018932941436077">A guardar o cartão…</translation>
 <translation id="2408955596600435184">Introduza o PIN</translation>
+<translation id="2410754283952462441">Selecione uma conta</translation>
 <translation id="241082044617551207">Plug-in desconhecido</translation>
 <translation id="2412593942846481727">Atualização disponível</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7542,6 +7543,7 @@
 <translation id="9078193189520575214">A aplicar alterações…</translation>
 <translation id="9078316009970372699">Desativar Ligação (à Internet) via telemóvel instantânea</translation>
 <translation id="9079267182985899251">Em breve, esta opção deixará de ser suportada. Para apresentar um separador, utilize <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Os sites que visita não são guardados na Navegação anónima</translation>
 <translation id="9084064520949870008">Abrir como Janela</translation>
 <translation id="9085256200913095638">Duplicar o separador selecionado</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> não selecionado. Prima Pesquisar e a tecla de espaço para selecionar.</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index 9baf2e6..08f2e154 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -1362,6 +1362,7 @@
 <translation id="2406153734066939945">Ștergi profilul și datele asociate?</translation>
 <translation id="2408018932941436077">Se salvează cardul</translation>
 <translation id="2408955596600435184">Introdu codul PIN</translation>
+<translation id="2410754283952462441">Alege un cont</translation>
 <translation id="241082044617551207">Plugin necunoscut</translation>
 <translation id="2412593942846481727">Actualizare disponibilă</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7540,6 +7541,7 @@
 <translation id="9078193189520575214">Se aplică modificările...</translation>
 <translation id="9078316009970372699">Dezactivează Tetheringul instantaneu</translation>
 <translation id="9079267182985899251">În curând, această opțiune nu va mai fi acceptată. Pentru a afișa o filă, folosește <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Site-urile pe care le accesezi nu sunt salvate în modul incognito</translation>
 <translation id="9084064520949870008">Deschideți ca fereastră</translation>
 <translation id="9085256200913095638">Fila selectată este o dublură</translation>
 <translation id="9085776959277692427">Nu s-a selectat <ph name="LANGUAGE" />. Apasă tasta de căutare + bara de spațiu pentru a selecta.</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index c64f75d..9bfbdfeb 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -1363,6 +1363,7 @@
 <translation id="2406153734066939945">Удалить профиль и все его данные?</translation>
 <translation id="2408018932941436077">Сохранение карты</translation>
 <translation id="2408955596600435184">Введите PIN-код</translation>
+<translation id="2410754283952462441">Выберите аккаунт</translation>
 <translation id="241082044617551207">Неизвестный плагин</translation>
 <translation id="2412593942846481727">Доступно обновление</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7542,6 +7543,7 @@
 <translation id="9078193189520575214">Применение изменений…</translation>
 <translation id="9078316009970372699">Отключить мгновенную точку доступа</translation>
 <translation id="9079267182985899251">Скоро эта функция перестанет поддерживаться. Чтобы начать презентацию с вкладкой на главном экране, используйте <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">В режиме инкогнито сведения о посещенных сайтах не сохраняются</translation>
 <translation id="9084064520949870008">Открыть в отдельном окне</translation>
 <translation id="9085256200913095638">Дублировать выбранную вкладку</translation>
 <translation id="9085776959277692427">Чтобы выбрать <ph name="LANGUAGE" />, нажмите клавиши Поиск + Пробел.</translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb
index 962ee994..edcce42 100644
--- a/chrome/app/resources/generated_resources_si.xtb
+++ b/chrome/app/resources/generated_resources_si.xtb
@@ -1365,6 +1365,7 @@
 <translation id="2406153734066939945">මෙම පැතිකඩ සහ එහි දත්ත මකන්නද?</translation>
 <translation id="2408018932941436077">කාඩ්පත සුරකිනු ලැබේ</translation>
 <translation id="2408955596600435184">ඔබගේ PIN එක ඇතුළු කරන්න</translation>
+<translation id="2410754283952462441">ගිණුමක් තෝරා ගන්න</translation>
 <translation id="241082044617551207">නොදන්නා ප්ලගිනය</translation>
 <translation id="2412593942846481727">යාවත්කාලීනයක් ඇත</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7539,6 +7540,7 @@
 <translation id="9078193189520575214">වෙනස් කිරීම් යොදමින්...</translation>
 <translation id="9078316009970372699">ක්‍ෂණික ටෙදරින් අබල කරන්න</translation>
 <translation id="9079267182985899251">ළඟදීම මෙම විකල්පය තවදුරටත් සහාය නොදක්වනු ඇත. ටැබයක් ඉදිරිපත් කිරීමට, <ph name="GOOGLE_MEET" /> භාවිත කරන්න.</translation>
+<translation id="9081543426177426948">ඔබ පිවිසෙන අඩවි අප්‍රසිද්ධ ප්‍රකාරයේදී සුරකිනු නොලැබේ.</translation>
 <translation id="9084064520949870008">කවුළුවක් සේ විවෘත කරන්න</translation>
 <translation id="9085256200913095638">තේරූ පටිත්ත අනුපත් කරන්න</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> තෝරා නැත. තේරීමට සෙවීම සහ ඉඩ යතුර ඔබන්න.</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index 4c4eec6e..03874a4 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -1363,6 +1363,7 @@
 <translation id="2406153734066939945">Chcete odstrániť tento profil a jeho údaje?</translation>
 <translation id="2408018932941436077">Karta sa ukladá</translation>
 <translation id="2408955596600435184">Zadajte kód PIN</translation>
+<translation id="2410754283952462441">Výber účtu</translation>
 <translation id="241082044617551207">Neznámy doplnok</translation>
 <translation id="2412593942846481727">K dispozícii je aktualizácia</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7543,6 +7544,7 @@
 <translation id="9078193189520575214">Ukladajú sa zmeny...</translation>
 <translation id="9078316009970372699">Deaktivovať dynamický tethering</translation>
 <translation id="9079267182985899251">Táto možnosť už čoskoro nebude k dispozícii. Ak chcete prezentovať kartu, použite <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Navštívené weby sa v režime inkognito neukladajú</translation>
 <translation id="9084064520949870008">Otvoriť ako okno</translation>
 <translation id="9085256200913095638">Duplikovať vybranú kartu</translation>
 <translation id="9085776959277692427">Jazyk <ph name="LANGUAGE" /> nebol vybraný. Vyberte stlačením klávesa Hľadať a medzerníka.</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index 265b25a..3330554 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -1379,6 +1379,7 @@
 <translation id="2406153734066939945">Želite izbrisati ta profil in podatke v njem?</translation>
 <translation id="2408018932941436077">Shranjevanje kartice</translation>
 <translation id="2408955596600435184">Vnos kode PIN</translation>
+<translation id="2410754283952462441">Izbira računa</translation>
 <translation id="241082044617551207">Neznani vtičnik</translation>
 <translation id="2412593942846481727">Na voljo je posodobitev</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7564,6 +7565,7 @@
 <translation id="9078193189520575214">Uveljavljanje sprememb …</translation>
 <translation id="9078316009970372699">Onemogočanje takojšnje povezave računalnika z internetom prek mobilnega telefona</translation>
 <translation id="9079267182985899251">Ta možnost kmalu ne bo več podprta. Če želite predstaviti zavihek, uporabite <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Spletna mesta, ki jih obiščete v anonimnem načinu, se ne shranijo.</translation>
 <translation id="9084064520949870008">Odpri v oknu</translation>
 <translation id="9085256200913095638">Podvoji izbrani zavihek</translation>
 <translation id="9085776959277692427">Jezik <ph name="LANGUAGE" /> ni izbran. Pritisnite tipko za iskanje in preslednico, če želite izbirati.</translation>
diff --git a/chrome/app/resources/generated_resources_sq.xtb b/chrome/app/resources/generated_resources_sq.xtb
index 7733cbc..bffe53f 100644
--- a/chrome/app/resources/generated_resources_sq.xtb
+++ b/chrome/app/resources/generated_resources_sq.xtb
@@ -99,6 +99,7 @@
 <translation id="1103523840287552314">Përkthe gjithmonë nga <ph name="LANGUAGE" /></translation>
 <translation id="1108600514891325577">&amp;Ndalo</translation>
 <translation id="1110155001042129815">Prit</translation>
+<translation id="1111781754511998498">Projektori</translation>
 <translation id="1112420131909513020">Skeda në sfond po përdor Bluetooth</translation>
 <translation id="1113892970288677790">Zgjidh veprat e artit dhe imazhet e përzgjedhura</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -528,6 +529,7 @@
 <translation id="156793199942386351">"<ph name="CURRENTKEY" />" i është caktuar tashmë veprimit "<ph name="ACTION" />". Shtyp një tast çfarëdo për të <ph name="RESPONSE" />.</translation>
 <translation id="1567993339577891801">Paneli i JavaScript</translation>
 <translation id="1568323446248056064">Hap cilësimet e ekranit të pajisjes</translation>
+<translation id="1570604804919108255">Aktivizo njoftimet</translation>
 <translation id="1571738973904005196">Shiko skedën: <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (vizitor)</translation>
 <translation id="1572266655485775982">Aktivizo Wi-Fi</translation>
@@ -585,6 +587,7 @@
 <translation id="1621485112342885423">Karrocat e tua</translation>
 <translation id="1621729191093924223">Veçoritë që kanë nevojë për një mikrofon nuk do të funksionojnë</translation>
 <translation id="1621831347985899379">Të dhënat e <ph name="DEVICE_TYPE" /> do të fshihen</translation>
+<translation id="1621984899599015181">Opsionet për shpërndarjen menaxhohen nga organizata jote. Disa artikuj mund të jenë të fshehur.</translation>
 <translation id="1622054403950683339">Harroje rrjetin Wi-Fi</translation>
 <translation id="1623132449929929218">Imazhet nuk ofrohen për momentin. Rilidhu me internetin për të parë koleksionet e imazheve të sfondit.</translation>
 <translation id="1623723619460186680">Reduktimi i dritës blu</translation>
@@ -822,6 +825,7 @@
 <translation id="1850508293116537636">Rrotullo në drejtim &amp;të akrepave të orës</translation>
 <translation id="1852141627593563189">Gjej softuer keqdashës</translation>
 <translation id="1852799913675865625">Pati një gabim gjatë leximit të skedarit: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1854049213067042715">Vazhdo nga ku e le. Mund të caktosh aplikacione për t'u rivendosur automatikisht në nisje ose ta çaktivizosh rivendosjen te "Cilësimet".</translation>
 <translation id="1854180393107901205">Ndalo transmetimin</translation>
 <translation id="1855079636134697549">Kamera është aktivizuar</translation>
 <translation id="1856715684130786728">Shto një vendndodhje...</translation>
@@ -950,6 +954,7 @@
 <translation id="1989113344093894667">Përmbajtja nuk mund të regjistrohet</translation>
 <translation id="1990046457226896323">Skedarët e ligjërimit u shkarkuan</translation>
 <translation id="1990512225220753005">Mos shfaq shkurtore në këtë faqe</translation>
+<translation id="199191324030140441">Çaktivizo modalitetin "Mos shqetëso"</translation>
 <translation id="1992397118740194946">Nuk është caktuar</translation>
 <translation id="1992924914582925289">Hiqe nga pajisja</translation>
 <translation id="1994173015038366702">URL-ja e sajtit</translation>
@@ -991,6 +996,7 @@
 
 Cilësimet e kësaj llogarie mund t'i menaxhosh duke instaluar aplikacionin Family Link në pajisjen tënde.  Të kemi dërguar udhëzime në një email.</translation>
 <translation id="2040460856718599782">Gabim! Diçka nuk shkoi mirë gjatë përpjekjes për të të vërtetuar. Kontrollo për së dyti kredencialet e identifikimit dhe provo sërish.</translation>
+<translation id="2040894699575719559">Vendndodhja u bllokua</translation>
 <translation id="2042279886444479655">Profilet aktive</translation>
 <translation id="2044014337866019681">Sigurohu që po verifikon <ph name="ACCOUNT" /> për të shkyçur sesionin.</translation>
 <translation id="204497730941176055">Microsoft Certificate Template Name</translation>
@@ -1353,6 +1359,7 @@
 <translation id="2406153734066939945">Të fshihet ky profil dhe të dhënat e tij?</translation>
 <translation id="2408018932941436077">Po ruhet karta</translation>
 <translation id="2408955596600435184">Fut kodin PIN</translation>
+<translation id="2410754283952462441">Zgjidh një llogari</translation>
 <translation id="241082044617551207">Përbërës shtesë i panjohur</translation>
 <translation id="2412593942846481727">Ka përditësim</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1475,6 +1482,7 @@
 <translation id="2527167509808613699">Çdo lloj lidhjeje</translation>
 <translation id="2530166226437958497">Zgjidhja e problemeve</translation>
 <translation id="2532589005999780174">Modaliteti i kontrastit të lartë</translation>
+<translation id="2533649878691950253">Ky sajt u bllokua nga zbulimi i vendndodhjes sate të saktë pasi ti zakonisht nuk e lejon këtë</translation>
 <translation id="253434972992662860">&amp;Ndërprit</translation>
 <translation id="253557089021624350">Numërimi i proceseve të mbajtjes aktive</translation>
 <translation id="2535799430745250929">Nuk ekziston ndonjë rrjet celular</translation>
@@ -1661,6 +1669,7 @@
 <translation id="2738771556149464852">Jo pas</translation>
 <translation id="2739191690716947896">Korrigjo</translation>
 <translation id="2739240477418971307">Ndrysho cilësimet e qasjes</translation>
+<translation id="2739965161385757621">Shqyrto cilësimet e mia</translation>
 <translation id="274029851662193272">I ulur</translation>
 <translation id="2740531572673183784">Në rregull</translation>
 <translation id="2741713322780029189">Hap terminalin e rikuperimit</translation>
@@ -1785,6 +1794,7 @@
 <translation id="2864601841139725659">Vendos fotografinë e profilit</translation>
 <translation id="2865919525181940183">Pamjet e ekranit të programeve që janë aktualisht në ekran</translation>
 <translation id="286674810810214575">Po kontrollon burimet e energjisë...</translation>
+<translation id="2866876751734765554">Shqyrtimi i privatësisë</translation>
 <translation id="2867768963760577682">Hape si skedë të gozhduar</translation>
 <translation id="2868746137289129307">Kjo shtesë është e vjetruar dhe e çaktivizuar nga politika e ndërmarrjes. Ajo mund të aktivizohet automatikisht kur ofrohet një version më i ri.</translation>
 <translation id="2870560284913253234">Sajti</translation>
@@ -2314,6 +2324,7 @@
 <translation id="3446274660183028131">Hap Parallels Desktop për të instaluar Windows.</translation>
 <translation id="344630545793878684">Lexo të dhënat e tua në një numër sajtesh uebi</translation>
 <translation id="3446650212859500694">Ky skedar ka përmbajtje delikate</translation>
+<translation id="3446827946208017735">Mëso dhe shqyrto cilësimet më të rëndësishme të privatësisë në një vend</translation>
 <translation id="3448086340637592206">Kushtet shtesë të Google Chrome dhe sistemit operativ Chrome</translation>
 <translation id="3448492834076427715">Përditëso llogarinë</translation>
 <translation id="3449393517661170867">Dritare e re me skeda</translation>
@@ -3741,6 +3752,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{Nuk u gjetën VM <ph name="VM_TYPE" />}=1{U gjet 1 VM <ph name="VM_TYPE" />: <ph name="VM_NAME_LIST" />}other{U gjetën {NUM_VMS} VM <ph name="VM_TYPE" />: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">Nuk ka lidhje me internetin.</translation>
 <translation id="4998430619171209993">Aktiv</translation>
+<translation id="4999804342505941663">Aktivizo "Mos shqetëso"</translation>
 <translation id="5000922062037820727">Bllokuar (rekomandohet)</translation>
 <translation id="5005498671520578047">Kopjo fjalëkalimin</translation>
 <translation id="5006218871145547804">ADB-ja e aplikacionit Android për Crostini</translation>
@@ -5065,6 +5077,7 @@
 <translation id="6468485451923838994">Shkrimet</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> skedarë</translation>
 <translation id="6469557521904094793">Aktivizo "Rrjetin celular"</translation>
+<translation id="6470823736074966819">Vendosi në heshtje njoftimet</translation>
 <translation id="6472893788822429178">Shfaq butonin "Faqja kryesore"</translation>
 <translation id="6474498546677193336">Ndarja nuk mund të anulohej sepse kjo dosje po përdoret nga një aplikacion. Ndarja e dosjes do të anulohet kur Linux të ndalojë punën më pas.</translation>
 <translation id="6474884162850599008">Shkëput llogarinë e "Diskut të Google"</translation>
@@ -7522,6 +7535,7 @@
 <translation id="9078193189520575214">Ndryshimet po zbatohen...</translation>
 <translation id="9078316009970372699">Çaktivizo "Ndarjen e internetit në çast"</translation>
 <translation id="9079267182985899251">Ky opsion nuk do të mbështetet së shpejti. Për të prezantuar një skedë, përdor <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Sajtet që viziton nuk ruhen në modalitetin "e fshehtë"</translation>
 <translation id="9084064520949870008">Hape si dritare</translation>
 <translation id="9085256200913095638">Dupliko skedën e zgjedhur</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> nuk është zgjedhur. Shtyp "Kërko" plus "Hapësirë" për ta zgjedhur.</translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb
index df6a053..5a9350b 100644
--- a/chrome/app/resources/generated_resources_sr-Latn.xtb
+++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -1360,6 +1360,7 @@
 <translation id="2406153734066939945">Želite li da izbrišete ovaj profil i podatke na njemu?</translation>
 <translation id="2408018932941436077">Kartica se čuva</translation>
 <translation id="2408955596600435184">Unesite PIN</translation>
+<translation id="2410754283952462441">Izaberite nalog</translation>
 <translation id="241082044617551207">Nepoznata dodatna komponenta</translation>
 <translation id="2412593942846481727">Dostupno je ažuriranje</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7541,6 +7542,7 @@
 <translation id="9078193189520575214">Promene se primenjuju...</translation>
 <translation id="9078316009970372699">Onemogući trenutno privezivanje</translation>
 <translation id="9079267182985899251">Ova opcija uskoro više neće biti podržana. Da biste prikazali karticu, koristite <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Sajtovi koje posećujete se ne čuvaju u režimu bez arhiviranja</translation>
 <translation id="9084064520949870008">Otvori kao prozor</translation>
 <translation id="9085256200913095638">Napravi duplikat izabrane kartice</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> nije izabran. Da biste izabrali, pritisnite taster za pretragu i razmak.</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index 8160694..7c4bef98 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -1360,6 +1360,7 @@
 <translation id="2406153734066939945">Желите ли да избришете овај профил и податке на њему?</translation>
 <translation id="2408018932941436077">Картица се чува</translation>
 <translation id="2408955596600435184">Унесите PIN</translation>
+<translation id="2410754283952462441">Изаберите налог</translation>
 <translation id="241082044617551207">Непозната додатна компонента</translation>
 <translation id="2412593942846481727">Доступно је ажурирање</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7541,6 +7542,7 @@
 <translation id="9078193189520575214">Промене се примењују...</translation>
 <translation id="9078316009970372699">Онемогући тренутно привезивање</translation>
 <translation id="9079267182985899251">Ова опција ускоро више неће бити подржана. Да бисте приказали картицу, користите <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Сајтови које посећујете се не чувају у режиму без архивирања</translation>
 <translation id="9084064520949870008">Отвори као прозор</translation>
 <translation id="9085256200913095638">Направи дупликат изабране картице</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> није изабран. Да бисте изабрали, притисните тастер за претрагу и размак.</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index 7c58ba6..bbf58626 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Vill du radera den här profilen och tillhörande data?</translation>
 <translation id="2408018932941436077">Kortet sparas</translation>
 <translation id="2408955596600435184">Ange din pinkod</translation>
+<translation id="2410754283952462441">Välj ett konto</translation>
 <translation id="241082044617551207">Okänt pluginprogram</translation>
 <translation id="2412593942846481727">Det finns en uppdatering</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7556,6 +7557,7 @@
 <translation id="9078193189520575214">Tillämpar ändringar …</translation>
 <translation id="9078316009970372699">Inaktivera direktinternetdelning</translation>
 <translation id="9079267182985899251">Stödet för den här funktionen tas snart bort. Använd <ph name="GOOGLE_MEET" /> om du vill presentera en flik.</translation>
+<translation id="9081543426177426948">Webbplatser du besöker sparas inte i inkognitoläget</translation>
 <translation id="9084064520949870008">Öppna som fönster</translation>
 <translation id="9085256200913095638">Duplicera den valda fliken</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> har inte markerats. Markera genom att trycka på Sök och mellanslagstangenten.</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index 4e98f33..799dff8f 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -1372,6 +1372,7 @@
 <translation id="2406153734066939945">Ungependa kufuta wasifu huu na data iliyomo?</translation>
 <translation id="2408018932941436077">Inahifadhi kadi</translation>
 <translation id="2408955596600435184">Weka PIN yako</translation>
+<translation id="2410754283952462441">Chagua akaunti</translation>
 <translation id="241082044617551207">Programu jalizi haijulikani</translation>
 <translation id="2412593942846481727">Sasisho linapatikana</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7552,6 +7553,7 @@
 <translation id="9078193189520575214">Inaweka mabadiliko...</translation>
 <translation id="9078316009970372699">Zima Mtandao wa Kusambazwa Papo Hapo</translation>
 <translation id="9079267182985899251">Hivi karibuni, chaguo hili litaacha kutumika. Ili uweze kuwasilisha kichupo, tumia <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Tovuti unazotembelea hazihifadhiwi katika hali fiche</translation>
 <translation id="9084064520949870008">Fungua kama Dirisha</translation>
 <translation id="9085256200913095638">Toa Nakala ya Kichupo KIlichoteuliwa</translation>
 <translation id="9085776959277692427">Hujachagua <ph name="LANGUAGE" />. Bonyeza vitufe vya 'Search' na 'Space' ili uchague.</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 5536db6..59b57b8e 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -180,7 +180,7 @@
 <translation id="1186771945450942097">தீங்கிழைக்கும் மென்பொருளை அகற்று</translation>
 <translation id="1187722533808055681">செயல்படாமல் இருக்கும் நினைவூட்டல்கள்</translation>
 <translation id="1188807932851744811">பதிவு பதிவேற்றப்படவில்லை.</translation>
-<translation id="11901918071949011">{NUM_FILES,plural, =1{கம்ப்யூட்டரில் சேமிக்கப்பட்ட ஒரு கோப்பை அணுகும்}other{கம்ப்யூட்டரில் சேமிக்கப்பட்ட # கோப்புகளை அணுகும்}}</translation>
+<translation id="11901918071949011">{NUM_FILES,plural, =1{கம்ப்யூட்டரில் சேமிக்கப்பட்ட ஒரு ஃபைலை அணுகும்}other{கம்ப்யூட்டரில் சேமிக்கப்பட்ட # கோப்புகளை அணுகும்}}</translation>
 <translation id="119092896208640858">உலாவல் தரவை உங்கள் Google கணக்கில் தக்கவைத்துக்கொண்டு, அதை இந்தச் சாதனத்திலிருந்து மட்டும் அழிக்க, <ph name="BEGIN_LINK" />வெளியேறவும்<ph name="END_LINK" />.</translation>
 <translation id="1192706927100816598">{0,plural, =1{# வினாடியில் தானாக வெளியேற்றப்படுவீர்கள்.
 <ph name="DOMAIN" /> டொமைனைப் பயன்படுத்த, உங்கள் ஸ்மார்ட் கார்டு செருகப்பட்ட நிலையிலேயே இருக்க வேண்டும்.}other{# வினாடிகளில் தானாக வெளியேற்றப்படுவீர்கள்.
@@ -282,7 +282,7 @@
 <translation id="129770436432446029"><ph name="EXPERIMENT_NAME" /> குறித்துக் கருத்து வழங்கலாம்</translation>
 <translation id="1301135395320604080">பின்வரும் கோப்புகளை <ph name="ORIGIN" /> தளத்தால் திருத்த முடியும்</translation>
 <translation id="1302227299132585524">Apple Events இலிருந்து JavaScriptஐ அனுமதி</translation>
-<translation id="1303101771013849280">HTML கோப்பை புக்மார்க் செய்கிறது</translation>
+<translation id="1303101771013849280">HTML ஃபைலை புக்மார்க் செய்கிறது</translation>
 <translation id="1303671224831497365">புளூடூத் சாதனங்கள் இல்லை</translation>
 <translation id="130491383855577612">Linux ஆப்ஸ் &amp; கோப்புகள் வெற்றிகரமாக மாற்றப்பட்டன</translation>
 <translation id="1306390193749326011">இந்தப் பக்கத்தில் <ph name="MODULE_NAME" /> காட்டப்படாது</translation>
@@ -430,7 +430,7 @@
 <translation id="146219525117638703">ONC நிலை</translation>
 <translation id="146220085323579959">இணையம் துண்டிக்கப்பட்டது. இணைய இணைப்பைச் சரிபார்த்து, மீண்டும் முயலவும்.</translation>
 <translation id="1462850958694534228">ஐகான் மாற்றப்பட்டுள்ளது</translation>
-<translation id="1463112138205428654"><ph name="FILE_NAME" /> கோப்பை 'மேம்பட்ட பாதுகாப்பு' அம்சம் தடுத்துள்ளது.</translation>
+<translation id="1463112138205428654"><ph name="FILE_NAME" /> ஃபைலை 'மேம்பட்ட பாதுகாப்பு' அம்சம் தடுத்துள்ளது.</translation>
 <translation id="1464044141348608623">சாதனத்தில் நான் செயலில் இருப்பது குறித்து அறிந்துகொள்ள தளங்களை அனுமதிக்காதே</translation>
 <translation id="1464258312790801189">உங்கள் கணக்குகள்</translation>
 <translation id="1464781208867302907">சாதன விருப்பத்தேர்வுகளைப் பார்க்க அமைப்புகளுக்குச் செல்லுங்கள்.</translation>
@@ -446,6 +446,7 @@
 <translation id="1476088332184200792">உங்கள் சாதனத்திற்கு நகலெடுங்கள்</translation>
 <translation id="1476607407192946488">&amp;மொழி அமைப்புகள்</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" /> டொமைனைப் பயன்படுத்த உங்கள் ஸ்மார்ட் கார்டு செருகப்பட்ட நிலையிலேயே இருக்க வேண்டும்.</translation>
+<translation id="1477654881618305065">இந்த உள்ளடக்கத்தைப் பகிர உங்கள் நிறுவனம் அனுமதிக்கவில்லை. உதவி தேவைப்பட்டால் நிர்வாகியைத் தொடர்புகொள்ளவும்.</translation>
 <translation id="1478340334823509079">விவரங்கள்: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">நிறுவுதல் இயக்கப்படவில்லை</translation>
 <translation id="1480571698637441426">கேள்விகளைக் கேட்கும்போது பொருத்தமான பதில்களை வழங்க, உங்கள் திரையில் உள்ளவற்றை அணுக Assistantடை அனுமதிக்கவும். பிளே ஆகிக் கொண்டிருக்கும் பாடல்கள், வீடியோக்கள் குறித்த தகவல்களையும் அது பயன்படுத்தக்கூடும்.</translation>
@@ -621,6 +622,7 @@
 <translation id="1643921258693943800">’அருகிலுள்ளவற்றுடன் பகிர்தல்’ அம்சத்தைப் பயன்படுத்த புளூடூத், வைஃபை ஆகியவற்றை இயக்கவும்</translation>
 <translation id="1644574205037202324">வரலாறு</translation>
 <translation id="1645516838734033527"><ph name="DEVICE_TYPE" />ஐப் பாதுகாப்பாக வைக்க, Smart Lockக்கு உங்கள் மொபைலில் திரைப் பூட்டை இயக்க வேண்டும்.</translation>
+<translation id="1646793251510634025">தேடலையும் உலாவலையும் மேம்படுத்துவதற்கான அமைப்புகளைச் சரிபார்த்தல்</translation>
 <translation id="1646982517418478057">இந்தச் சான்றிதழை என்க்ரிப்ட் செய்ய கடவுச்சொல்லை உள்ளிடவும்</translation>
 <translation id="1648528859488547844">இருப்பிடத்தைக் கண்டறிய, வைஃபை அல்லது மொபைல் நெட்வொர்க்குகளைப் பயன்படுத்து</translation>
 <translation id="164936512206786300">புளூடூத் சாதனத்தின் இணைப்பை அகற்றுதல்</translation>
@@ -985,7 +987,7 @@
 <translation id="2018615379714355980">வயர் மூலம் PCயும் வைஃபை மூலம் Chromecastடும் இணைக்கப்பட்டுள்ளன</translation>
 <translation id="2019718679933488176">புதிய தாவலில் ஆடியோவை &amp;திற</translation>
 <translation id="2020183425253392403">நெட்வொர்க் முகவரி அமைப்புகளைக் காட்டு</translation>
-<translation id="2020225359413970060">கோப்பை ஸ்கேன் செய்</translation>
+<translation id="2020225359413970060">ஃபைலை ஸ்கேன் செய்</translation>
 <translation id="2023167225947895179">பின்னானது எளிதாக யூகிக்கும்படி உள்ளது</translation>
 <translation id="202352106777823113">பதிவிறக்கம் அதிக நேரத்தை எடுத்துக்கொண்டதால், நெட்வொர்க் அதை நிறுத்திவிட்டது.</translation>
 <translation id="2025115093177348061">ஆக்மென்ட்டட் ரியாலிட்டி</translation>
@@ -1368,6 +1370,7 @@
 <translation id="2406153734066939945">இந்தச் சுயவிவரத்தையும் இதன் தரவையும் நீக்கவா?</translation>
 <translation id="2408018932941436077">கார்டு விவரங்களைச் சேமிக்கிறது</translation>
 <translation id="2408955596600435184">பின்னை உள்ளிடவும்</translation>
+<translation id="2410754283952462441">கணக்கைத் தேர்வு செய்யவும்</translation>
 <translation id="241082044617551207">அறியப்படாத செருகுநிரல்</translation>
 <translation id="2412593942846481727">புதுப்பிப்பு உள்ளது</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1476,6 +1479,7 @@
 <translation id="2514326558286966059">கைரேகை மூலம் விரைவாக அன்லாக் செய்திடுங்கள்</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">மேலும் ஒரு ஸ்விட்சை ஒதுக்கு</translation>
+<translation id="251722524540674480">பயனர்பெயரை உறுதிசெய்யுங்கள்</translation>
 <translation id="2517472476991765520">ஸ்கேன் செய்</translation>
 <translation id="2518024842978892609">க்ளையன்ட் சான்றிதழ்களைப் பயன்படுத்தவும்</translation>
 <translation id="2519517390894391510">சான்றிதழின் சுயவிவரப் பெயர்</translation>
@@ -2017,7 +2021,7 @@
 <translation id="3089064280130434511">எனது திரைகளில் சாளரங்களைத் திறந்து வைப்பதிலிருந்து தளங்களைத் தடைசெய்</translation>
 <translation id="3089137131053189723">தேடல் அழிக்கப்பட்டது</translation>
 <translation id="3090589793601454425">நகர்த்த வேண்டாம்</translation>
-<translation id="3090819949319990166">வெளிப்புற crx கோப்பை <ph name="TEMP_CRX_FILE" />க்கு நகலெடுக்க முடியாது.</translation>
+<translation id="3090819949319990166">வெளிப்புற crx ஃபைலை <ph name="TEMP_CRX_FILE" />க்கு நகலெடுக்க முடியாது.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" இணைக்கப்பட்டது</translation>
 <translation id="3093714882666365141">பேமெண்ட் ஹேண்ட்லர்களை நிறுவ தளங்களை அனுமதிக்காதே</translation>
 <translation id="3094141017404513551">இதனால் <ph name="EXISTING_USER" /> பயனரிடமிருந்து உங்கள் உலாவல் தனிப்பட்டதாக வைத்திருக்கப்படும்</translation>
@@ -2180,6 +2184,7 @@
 <translation id="3288047731229977326">டெவெலப்பர் பயன்முறையில் இயங்கிக்கொண்டிருக்கும் நீட்டிப்புகள் உங்கள் கம்ப்யூட்டருக்குத் தீங்கு விளைவிக்கலாம். நீங்கள் டெவெலப்பர் இல்லையென்றால், பாதுகாப்பு காரணமாக டெவெலப்பர் பயன்முறையில் இயங்கிக்கொண்டிருக்கும் இந்த நீட்டிப்புகளை முடக்க வேண்டும்.</translation>
 <translation id="3289668031376215426">தன்னியக்கப் பேரெழுத்தாக்கம்</translation>
 <translation id="3289856944988573801">புதுப்பிப்புகளைப் பார்க்க, ஈத்தர்நெட் அல்லது வைஃபை ஐப் பயன்படுத்தவும்.</translation>
+<translation id="3291436823898732747">மேம்படுத்தப்பட்ட உலாவல்: எடுத்துக்காட்டாக, டைப் செய்வதற்கு முன்பே ஆம்னிபாக்ஸில் பரிந்துரைகள் காட்டப்படும்</translation>
 <translation id="3293644607209440645">இந்தப் பக்கத்தை அனுப்பு</translation>
 <translation id="32939749466444286">Linux கண்டெய்னர் தொடங்கவில்லை. மீண்டும் முயலவும்.</translation>
 <translation id="3294437725009624529">கெஸ்ட்</translation>
@@ -2940,7 +2945,7 @@
 <translation id="4077919383365622693"><ph name="SITE" /> தளத்தால் சேமிக்கப்பட்ட எல்லா தரவும் குக்கீகளும் அழிக்கப்படும்.</translation>
 <translation id="4078738236287221428">கட்டாயப்படுத்து</translation>
 <translation id="4079140982534148664">'மேம்பட்ட எழுத்துப் பிழை சரிபார்க்கும்' அம்சத்தைப் பயன்படுத்து</translation>
-<translation id="4081242589061676262">கோப்பை அலைபரப்ப முடியவில்லை.</translation>
+<translation id="4081242589061676262">ஃபைலை அலைபரப்ப முடியவில்லை.</translation>
 <translation id="408223403876103285"><ph name="WEBSITE" /> உங்கள் மொபைலுக்கு அறிவிப்பை அனுப்பியுள்ளது. நீங்கள்தான் என்பதை உறுதிசெய்ய, அதிலுள்ள படிநிலைகளைப் பின்பற்றவும்.</translation>
 <translation id="4084682180776658562">புக்மார்க்</translation>
 <translation id="4084835346725913160"><ph name="TAB_NAME" />ஐ மூடு</translation>
@@ -4213,6 +4218,7 @@
 <translation id="5505307013568720083">மை தீர்ந்துவிட்டது</translation>
 <translation id="5505794066310932198">கமாண்டரை இயக்கு/முடக்கு</translation>
 <translation id="5507756662695126555">மறுக்கப்படாதவை</translation>
+<translation id="5507795078844206688">நீங்கள் பார்வையிட்ட பக்கங்களின் URL, எ.கா. https://www.google.com</translation>
 <translation id="5509693895992845810">&amp;இவ்வாறு சேமி...</translation>
 <translation id="5509914365760201064">வழங்குபவர்: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">பட விவரங்களை Googleளிலிருந்து பெறுக</translation>
@@ -4531,6 +4537,7 @@
 <translation id="5869522115854928033">சேமிக்கப்பட்ட கடவுச்சொற்கள்</translation>
 <translation id="5870086504539785141">அணுகல்தன்மை மெனுவை மூடு</translation>
 <translation id="5870155679953074650">ஹார்டு ஃபால்ட்கள்</translation>
+<translation id="5875534259258494936">திரையைப் பகிர்வது தடுக்கப்பட்டது</translation>
 <translation id="5876576639916258720">இயங்குகிறது...</translation>
 <translation id="5876851302954717356">வலதுபக்கத்தில் புதிய தாவல்</translation>
 <translation id="5877064549588274448">சேனல் மாற்றப்பட்டது. மாற்றங்களைச் செயல்படுத்த உங்கள் சாதனத்தை மீண்டும் தொடங்கவும்.</translation>
@@ -5017,7 +5024,7 @@
 <translation id="6410328738210026208">சேனல் மற்றும் பவர்வாஷை மாற்று</translation>
 <translation id="6410390304316730527">தீங்கிழைக்கும் மென்பொருளை நிறுவச் செய்வது, கடவுச்சொற்கள், ஃபோன் எண்கள், கிரெடிட் கார்டு எண்கள் போன்ற தனிப்பட்ட தகவல்களைத் வெளியிடச் செய்வது உள்ளிட்ட ஆபத்தான செயல்களைச் செய்ய வைக்கக்கூடிய தீங்கிழைப்பவர்களிடமிருந்து ’பாதுகாப்பு உலாவல்’ அம்சம் உங்களைப் பாதுகாக்கும். அதை முடக்கினால், பரிச்சயமற்ற/நம்பகமற்ற தளங்களை உலாவும்போது கவனமாக இருக்கவும்.</translation>
 <translation id="6410668567036790476">தேடல் இன்ஜினைச் சேர்</translation>
-<translation id="6412673304250309937">Chromeமில் சேமிக்கப்பட்டுள்ள பாதுகாப்பில்லாத தளங்களின் பட்டியலைப் பயன்படுத்தி URLகளைச் சரிபார்க்கும். தளம் உங்கள் கடவுச்சொல்லைத் திருட முயன்றலோ தீங்குவிளைவிக்கும் கோப்பை நீங்கள் பதிவிறக்கினாலோ Chromeமானது பக்க உள்ளடக்கத்தின் சிறிய பகுதிகள் உட்பட URLகளையும் பாதுகாப்பு உலாவலுக்கு அனுப்பக்கூடும்.</translation>
+<translation id="6412673304250309937">Chromeமில் சேமிக்கப்பட்டுள்ள பாதுகாப்பில்லாத தளங்களின் பட்டியலைப் பயன்படுத்தி URLகளைச் சரிபார்க்கும். தளம் உங்கள் கடவுச்சொல்லைத் திருட முயன்றலோ தீங்குவிளைவிக்கும் ஃபைலை நீங்கள் பதிவிறக்கினாலோ Chromeமானது பக்க உள்ளடக்கத்தின் சிறிய பகுதிகள் உட்பட URLகளையும் பாதுகாப்பு உலாவலுக்கு அனுப்பக்கூடும்.</translation>
 <translation id="641469293210305670">புதுப்பிப்புகளையும் ஆப்ஸையும் நிறுவுதல்</translation>
 <translation id="6414878884710400018">சிஸ்டம் விருப்பத்தேர்வுகளைத் திற</translation>
 <translation id="6414888972213066896">இந்தத் தளத்தைப் பார்வையிடலாமா என, நீங்கள் பெற்றோரிடம் கேட்டுள்ளீர்கள்</translation>
@@ -5085,7 +5092,7 @@
 <translation id="6475294023568239942">டிஸ்க் சேமிப்பிடத்தைக் காலியாக்கவும் அல்லது அமைப்புகளில் Linux டிஸ்க்கின் அளவை மாற்றவும்</translation>
 <translation id="6476138569087741884">முழுத்திரை அளவை மாற்றுவதற்கான நிலை</translation>
 <translation id="6477822444490674459">பணிக் கணக்கைக் கொண்ட மொபைல்களில் அறிவிப்பை ஒத்திசைப்பது ஆதரிக்கப்படவில்லை. <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
-<translation id="6478248366783946499">ஆபத்தான கோப்பை வைத்திருக்கவா?</translation>
+<translation id="6478248366783946499">ஆபத்தான ஃபைலை வைத்திருக்கவா?</translation>
 <translation id="6480327114083866287"><ph name="MANAGER" /> நிர்வகிக்கிறது</translation>
 <translation id="6483485061007832714">பதிவிறக்கிய கோப்பைத் திற</translation>
 <translation id="6483805311199035658"><ph name="FILE" /> ஐத் திறக்கிறது...</translation>
@@ -5128,7 +5135,7 @@
 <translation id="6528179044667508675">தொந்தரவு செய்யாதே</translation>
 <translation id="652948702951888897">Chrome வரலாறு</translation>
 <translation id="6530186581263215931">இந்த அமைப்புகள் உங்கள் நிர்வாகியால் அமலாக்கப்படுகின்றன</translation>
-<translation id="6531282281159901044">ஆபத்தான கோப்பை வைத்திரு</translation>
+<translation id="6531282281159901044">ஆபத்தான ஃபைலை வைத்திரு</translation>
 <translation id="6532101170117367231">Google இயக்ககத்தில் சேமி</translation>
 <translation id="6532106788206463496">மாற்றங்களைச் சேமி</translation>
 <translation id="6532206849875187177">பாதுகாப்பு மற்றும் உள்நுழைவு</translation>
@@ -5390,6 +5397,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" /> ஐ மூலமாக இயக்க முடியாது.</translation>
 <translation id="6812841287760418429">மாற்றங்களை வைத்திரு</translation>
 <translation id="6813907279658683733">திரை முழுவதும்</translation>
+<translation id="6814033694018386318">Googleளுடன் பகிரப்படுபவை</translation>
 <translation id="6817174620439930047">MIDI சாதனங்களை அணுகுவதற்காக ஒரு தளம் சாதனத்துக்குப் பிரத்தியேகமான செய்திகளைப் பயன்படுத்த விரும்பும் போது கேள் (பரிந்துரைக்கப்படுகிறது)</translation>
 <translation id="6818198425579322765">மொழியாக்கம் செய்யப்பட வேண்டிய பக்கத்தின் மொழி</translation>
 <translation id="6818802132960437751">உள்ளமைந்த வைரஸ் தடுப்பு</translation>
@@ -5613,7 +5621,7 @@
 <translation id="7044606776288350625">தரவை ஒத்திசைத்தல்</translation>
 <translation id="7047059339731138197">பின்புலத்தைத் தேர்வுசெய்யுங்கள்</translation>
 <translation id="7048457618657122233"><ph name="SHARE_TARGET" /> இல் இணைப்பைப் பகிர்</translation>
-<translation id="7049293980323620022">கோப்பை வைத்திருக்கவா?</translation>
+<translation id="7049293980323620022">ஃபைலை வைத்திருக்கவா?</translation>
 <translation id="7052237160939977163">செயல்திறன் தடமறிதல் தரவை அனுப்பு</translation>
 <translation id="7053983685419859001">தடு</translation>
 <translation id="7055152154916055070">திசைதிருப்புதல் தடுக்கப்பட்டது:</translation>
@@ -5885,6 +5893,7 @@
 <translation id="7374376573160927383">USB சாதனங்களை நிர்வகியுங்கள்</translation>
 <translation id="7374461526650987610">நெறிமுறை ஹேண்ட்லர்கள்</translation>
 <translation id="7375235221357833624">{0,plural, =1{ஒரு மணிநேரத்திற்குள் சாதனத்தைப் புதுப்பிக்கவும்}other{# மணிநேரத்திற்குள் சாதனத்தைப் புதுப்பிக்கவும்}}</translation>
+<translation id="7376543451826039186">விரைவான உலாவல்: எடுத்துக்காட்டாக, அடுத்து வரக்கூடிய குறிப்பிட்ட உள்ளடக்கம் தற்போதைய பக்கத்தின் அடிப்படையில் முன்கூட்டியே ஏற்றப்படும்</translation>
 <translation id="7376553024552204454">மவுஸ் கர்சரை நகர்த்தும் போது, அதை ஹைலைட் செய்</translation>
 <translation id="737728204345822099">நீங்கள் இந்தத் தளத்தைப் பார்வையிடுவது தொடர்பான விவரங்கள் உங்கள் பாதுகாப்பு விசையில் பதிவுசெய்யப்படக்கூடும்.</translation>
 <translation id="7377451353532943397">தொடர்ந்து சென்சார் அணுகலைத் தடு</translation>
@@ -5942,6 +5951,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> சாதனத்திலிருந்து அழை</translation>
 <translation id="7431719494109538750">HID சாதனங்கள் இல்லை</translation>
 <translation id="7431991332293347422">தேடல் மற்றும் பலவற்றைத் தனிப்பயனாக்க உங்கள் உலாவல் வரலாறு எப்படிப் பயன்படுத்தப்படுகிறது என்பதைக் கட்டுப்படுத்தலாம்</translation>
+<translation id="7432200167665670017">"<ph name="EXTENSION_NAME" />" நீட்டிப்பை உங்கள் நிர்வாகி தடுத்துள்ளார் - ஆப்ஸ் ஐடி <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816"><ph name="DEVICE_TYPE" /> சாதனத்தைத் தொடர்ந்து பயன்படுத்த ஸ்மார்ட் கார்டைச் செருகுங்கள்</translation>
 <translation id="7433957986129316853">ரத்துசெய்ய வேண்டாம்</translation>
 <translation id="7434509671034404296">டெவலப்பர்</translation>
@@ -5971,6 +5981,7 @@
 <translation id="7460045493116006516">தற்போது நிறுவியுள்ள தீம்</translation>
 <translation id="7461924472993315131">நிலையாக வை</translation>
 <translation id="746216226901520237">அடுத்த முறை, உங்கள் ஃபோன் <ph name="DEVICE_TYPE" /> சாதனத்தை அன்லாக் செய்யும். அமைப்புகளில் Smart Lockகை முடக்கலாம்.</translation>
+<translation id="7464637891177137294">இது <ph name="ACCOUNT" /> என்ற உங்கள் Google கணக்கில் சேமிக்கப்படும்</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# தாவல் பட்டையை நிலைமாற்ற தாவலைத் திறந்து, அழுத்தவும்}other{# தாவல் பட்டையை நிலைமாற்ற தாவல்களைத் திறந்து, அழுத்தவும்}}</translation>
 <translation id="7465635034594602553">ஏதோ தவறாகிவிட்டது. சில நிமிடங்கள் கழித்து <ph name="APP_NAME" /> ஆப்ஸை மீண்டும் இயக்கவும்.</translation>
 <translation id="7465778193084373987">Netscape சான்றிதழ் தளர்த்தல் URL</translation>
@@ -6034,6 +6045,7 @@
 <translation id="7525625923260515951">தேர்ந்தெடுத்த உரையை வாசிக்கும்</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{மேலும் 1}other{மேலும் {NUM_DOWNLOADS}}}</translation>
 <translation id="7526989658317409655">ஒதுக்கிடம்</translation>
+<translation id="7527758104894292229">இது <ph name="ACCOUNT" /> என்ற உங்கள் Google கணக்கில் மாற்றப்படும்</translation>
 <translation id="7529411698175791732">இணைய இணைப்பைச் சரிபார்க்கவும். சிக்கல் தொடர்ந்தால், வெளியேறி மீண்டும் உள்நுழையவும்.</translation>
 <translation id="7529876053219658589">{0,plural, =1{விருந்தினர் சாளரத்தை மூடுக}other{விருந்தினர் சாளரத்தை மூடுக}}</translation>
 <translation id="7530016656428373557">வாட்ஸ் அலகில் வெளியேற்ற வீதம்</translation>
@@ -6421,6 +6433,7 @@
 <translation id="7898725031477653577">எப்போதும் மொழிபெயர்</translation>
 <translation id="790040513076446191">தனியுரிமைத் தொடர்பான அமைப்புகளை கையாளலாம்</translation>
 <translation id="7901405293566323524">மொபைல் ஹப்</translation>
+<translation id="7901914889562552258">பக்க அளவீடுகள் மூலம் மேம்படுத்தப்பட்ட Chrome</translation>
 <translation id="7903345046358933331">பக்கம் பதிலளிக்கவில்லை. பதிலளிக்கும் வரை நீங்கள் காத்திருக்கலாம் அல்லது அதை மூடி விடலாம்.</translation>
 <translation id="7903742244674067440">இந்தச் சான்றிதழ் அங்கீகரிப்பாளர்களை அடையாளங்காணும் சான்றிதழ்கள் ஃபைலில் உள்ளன</translation>
 <translation id="7903859912536385558">நிலையானது (நம்பகமான சோதனையாளர்)</translation>
@@ -6519,7 +6532,7 @@
 நீட்டிப்பு: <ph name="EXTENSION_FILE" />
 முக்கிய கோப்பு: <ph name="KEY_FILE" />
 
-உங்கள் முக்கிய கோப்பை பாதுகாப்பான இடத்தில் வையுங்கள். உங்கள் நீட்டிப்பின் புதிய பதிப்புகளை நீங்கள் உருவாக்க வேண்டி ஏற்படும்.</translation>
+உங்கள் முக்கிய ஃபைலை பாதுகாப்பான இடத்தில் வையுங்கள். உங்கள் நீட்டிப்பின் புதிய பதிப்புகளை நீங்கள் உருவாக்க வேண்டி ஏற்படும்.</translation>
 <translation id="8002274832045662704">மேம்பட்ட பிரிண்ட்டர் உள்ளமைவு</translation>
 <translation id="8002670234429879764"><ph name="PRINTER_NAME" /> இனி கிடைக்காது</translation>
 <translation id="8004582292198964060">உலாவி</translation>
@@ -6739,7 +6752,7 @@
 <translation id="8226222018808695353">தடுக்கப்பட்டது</translation>
 <translation id="8226619461731305576">வரிசை</translation>
 <translation id="8226628635270268143">உங்களுக்குப் பிடித்த படங்களையும் ஆல்பங்களையும் தேர்வுசெய்க</translation>
-<translation id="8227119283605456246">கோப்பை இணை</translation>
+<translation id="8227119283605456246">ஃபைலை இணை</translation>
 <translation id="8230134520748321204"><ph name="ORIGIN" />க்கான கடவுச்சொல்லைச் சேமிக்கவா?</translation>
 <translation id="8230446983261649357">படங்களைக் காட்ட தளங்களை அனுமதிக்காதே</translation>
 <translation id="8234795456569844941">சுயவிவரப் பிழைச் செய்தியைப் பெறும் முன், என்ன நடந்தது என்பதை விவரிப்பதன் மூலம், இந்தச் சிக்கலைச் சரிசெய்ய, எங்கள் பொறியாளர்களுக்கு உதவவும்.</translation>
@@ -6790,7 +6803,7 @@
 <translation id="827097179112817503">முகப்பு பொத்தானைக் காட்டு</translation>
 <translation id="8271379370373330993">அடுத்த சில படிகள் பெற்றோர்களுக்கானவை. கணக்கை அமைத்த பிறகு <ph name="DEVICE_TYPE" /> சாதனத்தைப் பிள்ளையிடம் கொடுத்துவிடலாம்.</translation>
 <translation id="8272443605911821513">"கூடுதல் கருவிகள்" மெனுவில் நீட்டிப்புகள் என்பதைக் கிளிக் செய்து நீட்டிப்புகளை நிர்வகிக்கவும்.</translation>
-<translation id="8274332263553132018">கோப்பை அலைபரப்பு</translation>
+<translation id="8274332263553132018">ஃபைலை அலைபரப்பு</translation>
 <translation id="8274921654076766238">மேக்னிஃபயரில் இருக்கும்போது, கீபோர்டில் டைப் செய்வதைக் காட்டும் வகையில் நகர்த்து</translation>
 <translation id="8274924778568117936">புதுப்பிப்பு முடியும் வரை <ph name="DEVICE_TYPE" /> சாதனத்தை முடக்கவோ அல்லது மூடவோ வேண்டாம். நிறுவியதும், <ph name="DEVICE_TYPE" /> மீண்டும் தொடங்கும்.</translation>
 <translation id="8275038454117074363">இறக்குமதி செய்</translation>
@@ -6887,6 +6900,7 @@
 <translation id="8392364544846746346">எனது சாதனத்திலுள்ள கோப்புகளையோ கோப்புறைகளோ ஒரு தளம் மாற்ற விரும்பும்போது அனுமதி கேள்</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> க்கான விருப்பத்தேர்வுகள் மெனு</translation>
 <translation id="8393511274964623038">செருகுநிரலை நிறுத்து</translation>
+<translation id="839363317075970734">புளூடூத் சாதனத்தின் விவரங்கள்</translation>
 <translation id="8393700583063109961">செய்தி அனுப்பு</translation>
 <translation id="8397825320644530257">இணைக்கப்பட்டுள்ள மொபைலின் இணைப்பைத் துண்டி</translation>
 <translation id="8398877366907290961">இருப்பினும் தொடர்க</translation>
@@ -7137,6 +7151,7 @@
 <translation id="8681614230122836773">உங்கள் கம்ப்யூட்டரில் தீங்கிழைக்கும் மென்பொருள் இருப்பதை Chrome கண்டறிந்துள்ளது</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> இணைக்கப்பட்டும் தயார்நிலையிலும் உள்ளது</translation>
 <translation id="8683081248374354009">குழு ஐடியை மீட்டமை</translation>
+<translation id="8683526617475118045">கிடைக்கும் பலன்கள்</translation>
 <translation id="8688672835843460752">மீதமுள்ளது:</translation>
 <translation id="8690129572193755009">நெறிமுறைகளைக் கையாள தளங்கள் முயலும்போது அனுமதி கேட்க வேண்டும்</translation>
 <translation id="8695139659682234808">அமைவை நிறைவு செய்ததும் பெற்றோர் கட்டுப்பாடுகளைச் சேருங்கள்</translation>
@@ -7190,6 +7205,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />க்குப் பதிலாக <ph name="PROTOCOL" /> இணைப்புகளைத் திறக்கும்</translation>
 <translation id="8737709691285775803">Shill</translation>
 <translation id="8737914367566358838">பக்கத்தை மொழிபெயர்ப்பதற்கான மொழியைத் தேர்வுசெய்யலாம்</translation>
+<translation id="8737916108453753541">உலாவல் செயல்பாட்டைப் புரிந்துகொள்ள URLகள் Googleளுடன் பகிரப்படும்</translation>
 <translation id="8740247629089392745"><ph name="SUPERVISED_USER_NAME" /> பயன்படுத்துவதற்காக இந்த Chromebook சாதனத்தை அவரிடம் வழங்கலாம். கிட்டத்தட்ட அமைத்துவிட்டீர்கள். இப்போது அவர் பயன்படுத்தத் தொடங்கலாம்.</translation>
 <translation id="8741944563400125534">சுவிட்ச் அணுகலை அமைப்பதற்கான வழிகாட்டி</translation>
 <translation id="8742998548129056176">உங்கள் சாதனம் மற்றும் இதை நீங்கள் பயன்படுத்தும் விதம் (பேட்டரியின் அளவு, சிஸ்டம் மற்றும் ஆப்ஸ் செயல்பாடு மற்றும் பிழைகள் போன்றவை) குறித்த பொதுவான தகவல் இது. Androidடை மேம்படுத்த இந்தத் தரவு பயன்படுத்தப்படும். மேலும், Google ஆப்ஸுக்கும் Android டெவலப்பர்கள் போன்ற கூட்டாளர்கள் தங்களின் ஆப்ஸ் மற்றும் தயாரிப்புகளைச் சிறப்பாக அமைக்கவும் ஒருங்கிணைக்கப்பட்ட சில தகவல்களும் உதவும்.</translation>
@@ -7433,7 +7449,7 @@
 <translation id="8980345560318123814">கருத்து அறிக்கைகள்</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - சிதைந்துவிட்டது</translation>
 <translation id="8981825781894055334">காகிதம் குறைவாக உள்ளது</translation>
-<translation id="8983632908660087688"><ph name="FILENAME" /> கோப்பை <ph name="ORIGIN" /> தளத்தால் திருத்த முடியும்</translation>
+<translation id="8983632908660087688"><ph name="FILENAME" /> ஃபைலை <ph name="ORIGIN" /> தளத்தால் திருத்த முடியும்</translation>
 <translation id="8984694057134206124">அருகிலுள்ள அனைவருக்கும் <ph name="MINUTES" /> நிமிடங்களுக்கு உங்கள் சாதனம் காட்டப்படும். <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="8985264973231822211">கடைசியாக <ph name="DEVICE_LAST_ACTIVATED_TIME" /> நாளுக்கு முன் பயன்படுத்தியுள்ளார்</translation>
 <translation id="8985661493893822002">உங்கள் <ph name="DEVICE_TYPE" /> சாதனத்தில் உள்நுழைய இணையத்துடன் இணைக்கவும்.</translation>
@@ -7530,6 +7546,7 @@
 <translation id="9078193189520575214">மாற்றங்களைச் செயல்படுத்துகிறது...</translation>
 <translation id="9078316009970372699">உடனடி இணைப்பு முறையை முடக்கு</translation>
 <translation id="9079267182985899251">இந்த விருப்பம் விரைவில் ஆதரிக்கப்படாமல் போகும். தாவலின் ஸ்கிரீனைப் பகிர <ph name="GOOGLE_MEET" /> ஆப்ஸைப் பயன்படுத்தவும்.</translation>
+<translation id="9081543426177426948">மறைநிலைப் பயன்முறையில் நீங்கள் பார்க்கும் தளங்கள் சேமிக்கப்படாது</translation>
 <translation id="9084064520949870008">சாளரமாகத் திற</translation>
 <translation id="9085256200913095638">தேர்வுசெய்துள்ள தாவலை நகலெடுக்கவும்</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> தேர்ந்தெடுக்கப்படவில்லை. தேர்ந்தெடுக்க Assistant பட்டன், Space ஆகியவற்றை ஒன்றாக அழுத்தவும்.</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 4919aa0..5008e7a 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -101,6 +101,7 @@
 <translation id="1103523840287552314">ఎల్లప్పుడూ <ph name="LANGUAGE" />ను అనువదించు</translation>
 <translation id="1108600514891325577">&amp;ఆపు</translation>
 <translation id="1110155001042129815">వేచి ఉండండి</translation>
+<translation id="1111781754511998498">Projector</translation>
 <translation id="1112420131909513020">బ్యాక్‌గ్రౌండ్‌ ట్యాబ్ బ్లూటూత్‌ను ఉపయోగిస్తోంది</translation>
 <translation id="1113892970288677790">నిర్వహిత ఆర్ట్‌వర్క్, ఇమేజ్‌లను ఎంచుకోండి</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -446,6 +447,7 @@
 <translation id="1476088332184200792">మీ పరికరానికి కాపీ చేయండి</translation>
 <translation id="1476607407192946488">&amp;భాష సెట్టింగ్‌లు</translation>
 <translation id="1477446329585670721">మీ స్మార్ట్ కార్డ్‌ను ఇన్‌సర్ట్ చేసి ఉంచమని <ph name="DOMAIN" /> మిమ్మల్ని కోరుతుంది.</translation>
+<translation id="1477654881618305065">మీరు ఈ కంటెంట్‌ను షేర్ చేయడానికి మీ సంస్థ అనుమతించదు. మీకు సహాయం అవసరమైతే, మీ అడ్మినిస్ట్రేటర్‌ను సంప్రదించండి.</translation>
 <translation id="1478340334823509079">వివరాలు: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ఇన్‌స్టాలేషన్ ప్రారంభించబడలేదు</translation>
 <translation id="1480571698637441426">మీరు ప్రశ్నలు అడిగినప్పుడు అనుకూలమైన సమాధానాలను పొందడానికి, మీ స్క్రీన్‌పై ఉన్న దాని స్క్రీన్‌షాట్‌ను యాక్సెస్ చేయడానికి మీ Assistantను అనుమతించండి. ఇందులో ప్లే అవుతున్న పాటలు లేదా వీడియోల గురించి సమాచారం కూడా ఉండవచ్చు.</translation>
@@ -533,6 +535,7 @@
 <translation id="156793199942386351">'<ph name="ACTION" />' చర్యకు '<ph name="CURRENTKEY" />' ఇప్పటికే కేటాయించబడింది. <ph name="RESPONSE" /> కోసం ఏదైనా కీని నొక్కండి.</translation>
 <translation id="1567993339577891801">JavaScript కన్సోల్</translation>
 <translation id="1568323446248056064">ప్రదర్శన పరికరం సెట్టింగ్‌లను తెరవండి</translation>
+<translation id="1570604804919108255">నోటిఫికేషన్‌లను అన్‌మ్యూట్ చేయండి</translation>
 <translation id="1571738973904005196">ట్యాబ్‌ను చూడండి: <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (అతిథి)</translation>
 <translation id="1572266655485775982">Wi-Fiని ప్రారంభించు</translation>
@@ -590,6 +593,7 @@
 <translation id="1621485112342885423">మీ కార్ట్‌లు</translation>
 <translation id="1621729191093924223">మైక్రోఫోన్ అవసరం అయ్యే ఫీచర్‌లు పని చేయవు</translation>
 <translation id="1621831347985899379"><ph name="DEVICE_TYPE" /> డేటా తొలగించబడుతుంది</translation>
+<translation id="1621984899599015181">షేరింగ్‌కు సంబంధించిన ఆప్షన్‌లను మీ సంస్థ మేనేజ్ చేస్తుంది. కొన్ని ఐటెమ్‌లు దాచబడి ఉండవచ్చు.</translation>
 <translation id="1622054403950683339">Wi-Fi నెట్‌వర్క్‌ను విస్మరించు</translation>
 <translation id="1623132449929929218">చిత్రాలు ప్రస్తుతం అందుబాటులో లేవు. వాల్‌పేపర్ సేకరణలను చూడటానికి, దయచేసి ఇంటర్నెట్‌కు మళ్లీ కనెక్ట్ చేయండి.</translation>
 <translation id="1623723619460186680">నీలి రంగును తగ్గించడం</translation>
@@ -621,6 +625,7 @@
 <translation id="1643921258693943800">సమీప షేరింగ్‌ను ఉపయోగించడానికి, బ్లూటూత్, Wi-Fiను ఆన్ చేయండి</translation>
 <translation id="1644574205037202324">హిస్టరీ</translation>
 <translation id="1645516838734033527">మీ <ph name="DEVICE_TYPE" />ను సురక్షితంగా ఉంచడానికి, Smart Lockకు మీ ఫోన్‌లో ఒక స్క్రీన్ లాక్ అవసరం.</translation>
+<translation id="1646793251510634025">సెర్చ్, బ్రౌజింగ్ ఆప్టిమైజేషన్ కోసం సెట్టింగ్‌లను రివ్యూ చేయండి</translation>
 <translation id="1646982517418478057">దయచేసి ఈ ప్రమాణపత్రాన్ని గుప్తీకరించడానికి పాస్‌వర్డ్‌ను నమోదు చేయండి</translation>
 <translation id="1648528859488547844">స్థానాన్ని గుర్తించడానికి Wi‑Fi లేదా మొబైల్ నెట్‌వర్క్‌లను ఉపయోగించండి</translation>
 <translation id="164936512206786300">బ్లూటూత్ పరికరాన్ని అన్‌పెయిర్ చేయండి</translation>
@@ -833,6 +838,7 @@
 <translation id="1850508293116537636">&amp;సవ్యదిశలో తిప్పు</translation>
 <translation id="1852141627593563189">హానికరమైన సాఫ్ట్‌వేర్‌ను కనుగొనండి</translation>
 <translation id="1852799913675865625">ఫైల్‌ను చదవడానికి ప్రయత్నించడంలో ఎర్రర్ ఏర్పడింది: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1854049213067042715">మీరు ఆపిన చోటు నుండే కొనసాగించండి. మీరు సెట్టింగ్‌లలో, యాప్‌లు ఆటోమేటిక్‌గా రీస్టోర్ అవ్వడానికి వాటిని సెట్ చేయవచ్చు లేదా 'రీస్టోర్ చేయండి'ని ఆఫ్ చేయవచ్చు.</translation>
 <translation id="1854180393107901205">ప్రసారాన్ని ఆపివేయి</translation>
 <translation id="1855079636134697549">కెమెరా ఆన్ చేయబడింది</translation>
 <translation id="1856715684130786728">స్థానాన్ని జోడించు...</translation>
@@ -962,6 +968,7 @@
 <translation id="1989113344093894667">కంటెంట్‌ను క్యాప్చర్ చేయడం సాధ్యం కాదు</translation>
 <translation id="1990046457226896323">స్పీచ్ ఫైళ్లు డౌన్‌లోడ్ చేయబడ్డాయి</translation>
 <translation id="1990512225220753005">ఈ పేజీలో షార్ట్‌కట్‌లను చూపవద్దు</translation>
+<translation id="199191324030140441">'అంతరాయం కలిగించవద్దు'ను ఆఫ్ చేయండి</translation>
 <translation id="1992397118740194946">సెట్ చెయ్యలేదు</translation>
 <translation id="1992924914582925289">పరికరం నుండి తీసివేయి</translation>
 <translation id="1994173015038366702">సైట్ URL</translation>
@@ -1003,6 +1010,7 @@
 
 మీ పరికరంలో Family Link యాప్ ఇన్‌స్టాల్ చేయడం ద్వారా మీరు ఈ ఖాతా సెట్టింగ్‌లను నిర్వహించవచ్చు.  మీకు ఇమెయిల్‌లో సూచనలను పంపాము.</translation>
 <translation id="2040460856718599782">అయ్యో!  మిమ్మల్ని ప్రామాణీకరించడానికి ప్రయత్నిస్తున్నప్పుడు ఏదో తప్పు జరిగింది. దయచేసి మీ సైన్-ఇన్ ప్రమాణాలను ఒకటికి రెండుసార్లు తనిఖీ చేసుకుని మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="2040894699575719559">లొకేషన్ బ్లాక్ చేయబడింది</translation>
 <translation id="2042279886444479655">యాక్టివ్ ప్రొఫైల్‌లు</translation>
 <translation id="2044014337866019681">సెషన్‌ను అన్‌లాక్ చేయడానికి, మీరు <ph name="ACCOUNT" />ను వెరిఫై చేస్తున్నారని దయచేసి నిర్ధారించుకోండి.</translation>
 <translation id="204497730941176055">Microsoft సర్టిఫికెట్ టెంప్లేట్ పేరు</translation>
@@ -1367,6 +1375,7 @@
 <translation id="2406153734066939945">ఈ ప్రొఫైల్‌ను, దానిలోని డేటాను తొలగించాలా?</translation>
 <translation id="2408018932941436077">కార్డ్ సేవ్ అవుతోంది</translation>
 <translation id="2408955596600435184">మీ PINని నమోదు చేయండి</translation>
+<translation id="2410754283952462441">ఖాతాను ఎంచుకోండి</translation>
 <translation id="241082044617551207">తెలియని ప్లగ్ఇన్‌</translation>
 <translation id="2412593942846481727">అప్‌డేట్ అందుబాటులో ఉంది</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1475,6 +1484,7 @@
 <translation id="2514326558286966059">మీ వేలిముద్రతో మరింత వేగంగా అన్‌లాక్ చేయండి</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">మరొక స్విచ్‌ను కేటాయించండి</translation>
+<translation id="251722524540674480">మీ యూజర్‌నేమ్‌ను నిర్ధారించండి</translation>
 <translation id="2517472476991765520">స్కాన్ చేయి</translation>
 <translation id="2518024842978892609">మీ క్లయింట్ స‌ర్టిఫికెట్‌లను ఉపయోగించడానికి అనుమతి</translation>
 <translation id="2519517390894391510">సర్టిఫికెట్ ప్రొఫైల్ పేరు</translation>
@@ -1488,6 +1498,7 @@
 <translation id="2527167509808613699">ఎలాంటి కనెక్షన్ అయినా</translation>
 <translation id="2530166226437958497">పరిష్కార ప్రక్రియ</translation>
 <translation id="2532589005999780174">అధిక కాంట్రాస్ట్ మోడ్</translation>
+<translation id="2533649878691950253">మీ ఖచ్చితమైన లొకేషన్‌ను తెలుసుకోకుండా ఈ సైట్ బ్లాక్ చేయబడింది, ఎందుకంటే మీరు దీన్ని అనుమతించరు</translation>
 <translation id="253434972992662860">&amp;పాజ్ చేయి</translation>
 <translation id="253557089021624350">సక్రియ కార్యాచరణల గణన</translation>
 <translation id="2535799430745250929">సెల్యులార్ నెట్‌వర్క్ ఏదీ లేదు</translation>
@@ -1675,6 +1686,7 @@
 <translation id="2738771556149464852">తరువాత కాదు</translation>
 <translation id="2739191690716947896">డీబగ్</translation>
 <translation id="2739240477418971307">మీ యాక్సెస్‌ సెట్టింగ్‌లను మార్చడం</translation>
+<translation id="2739965161385757621">నా సెట్టింగ్‌ల రివ్యూ</translation>
 <translation id="274029851662193272">కిందికి ఉన్నట్లుగా</translation>
 <translation id="2740531572673183784">సరే</translation>
 <translation id="2741713322780029189">రికవరీ టెర్మినల్‌ను తెరువు</translation>
@@ -1799,6 +1811,7 @@
 <translation id="2864601841139725659">మీ ప్రొఫైల్ చిత్రాన్ని సెట్ చేయండి</translation>
 <translation id="2865919525181940183">ప్రస్తుతం స్క్రీన్‌పై ఉన్న ప్రోగ్రామ్‌ల స్క్రీన్‌షాట్</translation>
 <translation id="286674810810214575">పవర్ మూలాలను తనిఖీ చేస్తోంది...</translation>
+<translation id="2866876751734765554">గోప్యతా రివ్యూ</translation>
 <translation id="2867768963760577682">పిన్ చేసిన ట్యాబ్ లాగా తెరువు</translation>
 <translation id="2868746137289129307">ఈ ఎక్స్‌టెన్షన్ చాలా పాతది, బిజినెస్ విధానం కారణంగా నిలిపివేయబడింది. అయితే, కొత్త వెర్షన్ అందుబాటులో ఉన్నప్పుడు ఇది ఆటోమేటిక్‌గా ప్రారంభించబడవచ్చు.</translation>
 <translation id="2870560284913253234">సైట్</translation>
@@ -2179,6 +2192,7 @@
 <translation id="3288047731229977326">డెవలపర్ మోడ్‌లో అమలవుతున్న ఎక్స్‌టెన్ష‌న్‌లు మీ కంప్యూటర్‌కు హాని కలిగించవచ్చు. మీరు డెవలపర్ కాకపోతే, సురక్షితంగా ఉంచడానికి డెవలపర్ మోడ్‌లో అమలవుతున్న ఈ ఎక్స్‌టెన్ష‌న్‌లను నిలిపివేయాలి.</translation>
 <translation id="3289668031376215426">ఆటోమెటిక్ క్యాపిటలైజేషన్</translation>
 <translation id="3289856944988573801">అప్‌డేట్‌ల కోసం తనిఖీ చేయడానికి, దయచేసి ఈథర్‌నెట్ లేదా Wi-Fiని ఉపయోగించండి.</translation>
+<translation id="3291436823898732747">మెరుగైన బ్రౌజింగ్: ఉదాహరణకు, మీరు టైప్ చేయడం ప్రారంభించడానికి ముందు ఓమ్నిబాక్స్‌లో సూచనలను పొందడం</translation>
 <translation id="3293644607209440645">ఈ పేజీని పంపండి</translation>
 <translation id="32939749466444286">Linux కంటైనర్ ప్రారంభించబడలేదు. దయచేసి మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="3294437725009624529">అతిథి</translation>
@@ -2327,6 +2341,7 @@
 <translation id="3446274660183028131">Windowsను ఇన్‌స్టాల్ చేయడానికి, దయచేసి parallels desktopను ప్రారంభించండి.</translation>
 <translation id="344630545793878684">అనేక వెబ్‌సైట్‌ల్లోని మీ డేటాను చదవండి</translation>
 <translation id="3446650212859500694">ఈ ఫైల్‌లో గోప్యమైన కంటెంట్ ఉంది</translation>
+<translation id="3446827946208017735">అత్యంత ముఖ్యమైన గోప్యతా సెట్టింగ్‌లను ఒకే చోట అర్ధం చేసుకుని రివ్యూ చేయండి</translation>
 <translation id="3448086340637592206">Google Chrome, Chrome OS అదనపు నిబంధనలు</translation>
 <translation id="3448492834076427715">ఖాతాను అప్‌డేట్ చేయి</translation>
 <translation id="3449393517661170867">ట్యాబ్‌లు ఉన్న కొత్త విండో</translation>
@@ -3755,6 +3770,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{<ph name="VM_TYPE" /> వర్చువల్ మెషీన్‌లు ఏవీ కనుగొనబడలేదు}=1{1 <ph name="VM_TYPE" /> వర్చువల్ మెషీన్‌ కనుగొనబడింది: <ph name="VM_NAME_LIST" />}other{{NUM_VMS} <ph name="VM_TYPE" /> వర్చువల్ మెషీన్‌లు కనుగొనబడ్డాయి: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">ఇంటర్నెట్ కనెక్షన్ లేదు.</translation>
 <translation id="4998430619171209993">ఆన్‌లో ఉంది</translation>
+<translation id="4999804342505941663">'అంతరాయం కలిగించవద్దు'ను ఆన్ చేయండి</translation>
 <translation id="5000922062037820727">బ్లాక్ చేయబడింది (సిఫార్సు చేయబడింది)</translation>
 <translation id="5005498671520578047">పాస్‌వర్డ్ కాపీచేయడం</translation>
 <translation id="5006218871145547804">Crostini Android యాప్ ADB</translation>
@@ -4212,6 +4228,7 @@
 <translation id="5505307013568720083">ఇంక్ లేదు</translation>
 <translation id="5505794066310932198">టోగుల్ కమాండర్</translation>
 <translation id="5507756662695126555">అంగీకరించడం</translation>
+<translation id="5507795078844206688">మీరు వెళ్లే పేజీల URL, ఉదా. https://www.google.com</translation>
 <translation id="5509693895992845810">&amp;ఇలా సేవ్ చేయి...</translation>
 <translation id="5509914365760201064">జారీచేసినవారు: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">Google నుండి చిత్ర వివరణలను పొందండి</translation>
@@ -4529,6 +4546,7 @@
 <translation id="5869522115854928033">సేవ్  చేసిన పాస్‌వర్డ్‌లు</translation>
 <translation id="5870086504539785141">యాక్సెస్‌ మెనూను మూసివేయండి</translation>
 <translation id="5870155679953074650">క్లిష్టమైన లోపాలు</translation>
+<translation id="5875534259258494936">స్క్రీన్ షేరింగ్ ముగిసింది</translation>
 <translation id="5876576639916258720">రన్ అవుతోంది...</translation>
 <translation id="5876851302954717356">కుడివైపున కొత్త ట్యాబ్</translation>
 <translation id="5877064549588274448">ఛానెల్ మార్చబడింది. మార్పులను వర్తింపజేయడానికి మీ పరికరాన్ని పునఃప్రారంభించండి.</translation>
@@ -5077,6 +5095,7 @@
 <translation id="6468485451923838994">ఫాంట్‌లు</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> ఫైళ్లు</translation>
 <translation id="6469557521904094793">సెల్యూలార్ నెట్‌వర్క్ ఆన్ చేయడం</translation>
+<translation id="6470823736074966819">నోటిఫికేషన్‌లను మ్యూట్ చేయండి</translation>
 <translation id="6472893788822429178">హోమ్ బటన్‌ను చూపించు</translation>
 <translation id="6474498546677193336">ఒక యాప్ ఈ ఫోల్డర్‌ను ఉపయోగిస్తోంది కాబట్టి షేరింగ్‌ను తీసివేయలేకపోయాము. Linux మళ్లీ షట్ డౌన్ అయినప్పుడు ఫోల్డర్ షేరింగ్ తీసివేయబడుతుంది.</translation>
 <translation id="6474884162850599008">Google డిస్క్ ఖాతాను డిస్‌కనెక్ట్ చేయి</translation>
@@ -5388,6 +5407,7 @@
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" /> రూట్‌గా రన్ చేయలేదు.</translation>
 <translation id="6812841287760418429">మార్పులను ఉంచు</translation>
 <translation id="6813907279658683733">పూర్తి స్క్రీన్</translation>
+<translation id="6814033694018386318">మీరు Google తో ఏమి షేర్ చేస్తారు</translation>
 <translation id="6817174620439930047">MIDI పరికరాలను యాక్సెస్ చేయడానికి సిస్టమ్ విశిష్ట సందేశాలను సైట్ ఉపయోగించాలనుకున్నప్పుడు అడుగు (సిఫార్సు చేయబడింది)</translation>
 <translation id="6818198425579322765">పేజీని అనువదించాల్సిన భాష</translation>
 <translation id="6818802132960437751">అంతర్నిర్మిత వైరస్ రక్షణ</translation>
@@ -5883,6 +5903,7 @@
 <translation id="7374376573160927383">USB పరికరాలను మేనేజ్ చేయండి</translation>
 <translation id="7374461526650987610">ప్రోటోకాల్ నిర్వాహకులు</translation>
 <translation id="7375235221357833624">{0,plural, =1{ఒక గంట లోపు పరికరాన్ని అప్‌డేట్ చేయండి}other{# గంటల లోపు పరికరాన్ని అప్‌డేట్ చేయండి}}</translation>
+<translation id="7376543451826039186">వేగవంతమైన బ్రౌజింగ్: ఉదాహరణకు, ప్రస్తుత పేజీ కంటెంట్‌ను బట్టి తర్వాతి పేజీ నిర్దిష్ట కంటెంట్‌ను ముందుగానే లోడ్ చేస్తుంది</translation>
 <translation id="7376553024552204454">మౌస్ కర్సర్ జరుగుతున్నప్పుడు దానిని హైలైట్ చేయి</translation>
 <translation id="737728204345822099">ఈ సైట్‌కు మీ సందర్శన గురించిన సమాచారం మీ సెక్యూరిటీ కీలో రికార్డ్ చేయబడుతుంది.</translation>
 <translation id="7377451353532943397">సెన్సార్ యాక్సెస్‌ను బ్లాక్ చేయడం కొనసాగించు</translation>
@@ -5940,6 +5961,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> నుండి కాల్ చేయండి</translation>
 <translation id="7431719494109538750">HID పరికరాలు ఏవీ కనుగొనబడలేదు</translation>
 <translation id="7431991332293347422">శోధనలు మరియు మరిన్నింటిని వ్యక్తిగతీకరించడానికి మీ బ్రౌజింగ్ చరిత్ర ఎలా ఉపయోగించబడుతుందో నియంత్రించండి</translation>
+<translation id="7432200167665670017">"<ph name="EXTENSION_NAME" />" - యాప్ ID <ph name="EXTENSION_ID" />ను మీ అడ్మిన్ బ్లాక్ చేశారు</translation>
 <translation id="7433708794692032816">మీ <ph name="DEVICE_TYPE" />ను ఉపయోగిస్తూ ఉండటానికి స్మార్ట్ కార్డ్‌ను ఇన్‌సర్ట్ చేయండి</translation>
 <translation id="7433957986129316853">అలాగే ఉంచండి</translation>
 <translation id="7434509671034404296">డెవలపర్</translation>
@@ -5969,6 +5991,7 @@
 <translation id="7460045493116006516">మీరు ప్రస్తుతం ఇన్‌స్టాల్ చేసుకున్న థీమ్</translation>
 <translation id="7461924472993315131">పిన్ చేయి</translation>
 <translation id="746216226901520237">తదుపరిసారి మీ ఫోన్ మీ <ph name="DEVICE_TYPE" />‌ను అన్‌లాక్ చేస్తుంది. మీరు సెట్టింగ్‌లలో Smart Lockను ఆఫ్ చేయవచ్చు.</translation>
+<translation id="7464637891177137294">దీనిని మీ Google ఖాతా, <ph name="ACCOUNT" />లో సేవ్ చేయండి</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# ట్యాబ్ తెరిచి, ట్యాబ్‌ స్ట్రిప్‌ను టోగుల్ చేయడానికి నొక్కండి}other{# ట్యాబ్‌లు తెరిచి, ట్యాబ్‌ స్ట్రిప్‌ను టోగుల్ చేయడానికి నొక్కండి}}</translation>
 <translation id="7465635034594602553">ఏదో తప్పు జరిగింది. దయచేసి కొద్ది నిమిషాలు వేచి ఉండి, <ph name="APP_NAME" />ను మళ్లీ రన్ చేయండి.</translation>
 <translation id="7465778193084373987">Netscape సర్టిఫికెట్ రద్దు URL</translation>
@@ -6032,6 +6055,7 @@
 <translation id="7525625923260515951">ఎంచుకున్న టెక్స్ట్‌ను వినండి</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{మరో 1}other{మరో {NUM_DOWNLOADS}}}</translation>
 <translation id="7526989658317409655">ప్లేస్‌హోల్డర్</translation>
+<translation id="7527758104894292229">మీ Google ఖాతా <ph name="ACCOUNT" />లో దానిని అప్‌డేట్ చేయండి</translation>
 <translation id="7529411698175791732">మీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి. సమస్య కొనసాగితే, సైన్ అవుట్ చేసి, మళ్లీ సైన్ ఇన్ చేయడాన్ని ప్రయత్నించండి.</translation>
 <translation id="7529876053219658589">{0,plural, =1{గెస్ట్ విండోను మూసివేయండి}other{గెస్ట్ విండోను మూసివేయండి}}</translation>
 <translation id="7530016656428373557">వాట్‌లలో తరుగుదల రేట్</translation>
@@ -6418,6 +6442,7 @@
 <translation id="7898725031477653577">ఎల్లప్పుడూ అనువదించు</translation>
 <translation id="790040513076446191">గోప్యత సంబంధ సెట్టింగ్‌లను మ్యానిపులేట్ చేయండి</translation>
 <translation id="7901405293566323524">ఫోన్ హబ్</translation>
+<translation id="7901914889562552258">పేజీ గణాంకాలను ఉపయోగించి Chrome మెరుగుపరచబడింది</translation>
 <translation id="7903345046358933331">పేజీ ప్రతిస్పందించడం లేదు. మీరు అది ప్రతిస్పందించే వరకు వేచి ఉండవచ్చు లేదా దాన్ని మూసివేయవచ్చు.</translation>
 <translation id="7903742244674067440">మీకు ఫైల్‌లో ఈ ప్రమాణపత్రం అధికారాలను గుర్తించే ప్రమాణపత్రాలు ఉన్నాయి</translation>
 <translation id="7903859912536385558">స్థిరమైనది (విశ్వసనీయ టెస్టర్)</translation>
@@ -6881,6 +6906,7 @@
 <translation id="8392364544846746346">మీ పరికరంలోని ఫైళ్లు లేదా ఫోల్డర్‌లను సైట్ సవరించాలనుకున్నప్పుడు అనుమతిని అడుగుతుంది</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> కోసం ఎంపికల మెనూ</translation>
 <translation id="8393511274964623038">ప్లగ్ఇన్‌‌ను ఆపివేయి</translation>
+<translation id="839363317075970734">బ్లూటూత్ పరికర వివరాలు</translation>
 <translation id="8393700583063109961">సందేశాన్ని పంపండి</translation>
 <translation id="8397825320644530257">కనెక్ట్ చేసిన ఫోన్‌ను డిస్‌కనెక్ట్ చేయండి</translation>
 <translation id="8398877366907290961">ఏవైనా కొనసాగు</translation>
@@ -7131,6 +7157,7 @@
 <translation id="8681614230122836773">మీ కంప్యూటర్‌లో హానికరమైన సాప్ఠ్‌వేర్‌ను Chrome కనుగొన్నది</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> కనెక్ట్ చేయబడింది మరియు సిద్ధంగా ఉంది</translation>
 <translation id="8683081248374354009">గ్రూప్‌ను రీసెట్ చేయండి</translation>
+<translation id="8683526617475118045">మీరు ఏమి పొందుతారు</translation>
 <translation id="8688672835843460752">అందుబాటులో ఉంది</translation>
 <translation id="8690129572193755009">ప్రోటోకాల్‌లను హ్యాండిల్ చేయడానికి సైట్‌లు అడగగలవు</translation>
 <translation id="8695139659682234808">సెటప్ పూర్తి అయ్యాక తల్లిదండ్రుల నియంత్రణలను జోడించండి</translation>
@@ -7184,6 +7211,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />కి బదులుగా <ph name="PROTOCOL" /> లింక్‌లను తెరవాలనుకుంటోంది</translation>
 <translation id="8737709691285775803">షిల్</translation>
 <translation id="8737914367566358838">పేజీని అనువదించడానికి భాషను ఎంచుకోండి</translation>
+<translation id="8737916108453753541">బ్రౌజింగ్ ప్రవర్తనను అర్థం చేసుకోవడానికి URLలు Googleతో షేర్ చేయబడతాయి</translation>
 <translation id="8740247629089392745">మీరు ఈ Chromebookను <ph name="SUPERVISED_USER_NAME" />కు ఇవ్వవచ్చు. సెటప్ దాదాపు పూర్తయింది, మరిన్ని విషయాలను తెలుసుకునే సమయం ఆసన్నమైంది.</translation>
 <translation id="8741944563400125534">స్విచ్ యాక్సెస్ సెటప్ గైడ్</translation>
 <translation id="8742998548129056176">మీ పరికరం గురించి, మీరు దానిని ఉపయోగించే పద్ధతి గురించి (బ్యాటరీ స్థాయి, సిస్టమ్, యాప్‌ల కార్యకలాపం, ఎర్రర్‌ల లాంటివి) తెలియజేసే సాధారణ సమాచారం. Androidను మెరుగుపరచడం కోసం ఈ డేటా ఉపయోగించబడుతుంది. కొంత ఏకీకృత సమాచారం- Google యాప్‌లు, Android డెవలపర్‌ల వంటి భాగస్వాముల యాప్‌లను, ఉత్పత్తులను మెరుగుపరచడంలో సహాయపడుతుంది.</translation>
@@ -7524,6 +7552,7 @@
 <translation id="9078193189520575214">మార్పులు వర్తించేలా చేయడం జరుగుతోంది...</translation>
 <translation id="9078316009970372699">తక్షణ టెథెరింగ్ డిజేబుల్ చేయడం</translation>
 <translation id="9079267182985899251">త్వరలో ఈ ఆప్షన్ సపోర్ట్ చేయదు. ట్యాబ్‌ను పిన్ చేయడానికి, <ph name="GOOGLE_MEET" />ను ఉపయోగించండి.</translation>
+<translation id="9081543426177426948">మీరు సందర్శించే సైట్‌లు అజ్ఞాత మోడ్‌లో సేవ్ చేయబడవు</translation>
 <translation id="9084064520949870008">విండో లాగా తెరువు</translation>
 <translation id="9085256200913095638">ఎంపిక చేసిన ట్యాబ్‌కు నకిలీని రూపొందించు</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> ఎంచుకోబడలేదు. ఎంచుకోవడానికి 'Search + Space'ను నొక్కండి.</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 6393356..97e48d70 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -99,6 +99,7 @@
 <translation id="1103523840287552314">แปลภาษา<ph name="LANGUAGE" />ทุกครั้ง</translation>
 <translation id="1108600514891325577">&amp;หยุด</translation>
 <translation id="1110155001042129815">รอ</translation>
+<translation id="1111781754511998498">โปรเจ็กเตอร์</translation>
 <translation id="1112420131909513020">แท็บพื้นหลังกำลังใช้บลูทูธ</translation>
 <translation id="1113892970288677790">เลือกงานศิลปะและรูปภาพที่ดูแลจัดการ</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
@@ -531,6 +532,7 @@
 <translation id="156793199942386351">กำหนด "<ph name="CURRENTKEY" />" ให้กับการดำเนินการ "<ph name="ACTION" />" แล้ว กดแป้นใดก็ได้เพื่อ<ph name="RESPONSE" /></translation>
 <translation id="1567993339577891801">คอนโซล JavaScript</translation>
 <translation id="1568323446248056064">เปิดการตั้งค่าอุปกรณ์แสดงผล</translation>
+<translation id="1570604804919108255">เปิดเสียงการแจ้งเตือน</translation>
 <translation id="1571738973904005196">ดูแท็บ <ph name="TAB_ORIGIN" /></translation>
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (ผู้มาเยือน)</translation>
 <translation id="1572266655485775982">เปิดใช้ Wi-Fi</translation>
@@ -588,6 +590,7 @@
 <translation id="1621485112342885423">รถเข็นของคุณ</translation>
 <translation id="1621729191093924223">ฟีเจอร์ที่ต้องใช้ไมโครโฟนจะไม่ทำงาน</translation>
 <translation id="1621831347985899379">ระบบจะลบข้อมูลของ <ph name="DEVICE_TYPE" /></translation>
+<translation id="1621984899599015181">องค์กรของคุณเป็นผู้จัดการตัวเลือกการแชร์ บางรายการอาจถูกซ่อน</translation>
 <translation id="1622054403950683339">เลิกจำเครือข่าย Wi-Fi</translation>
 <translation id="1623132449929929218">ขณะนี้รูปภาพยังไม่พร้อมให้ใช้งาน โปรดเชื่อมต่ออินเทอร์เน็ตอีกครั้งเพื่อดูคอลเล็กชันวอลเปเปอร์</translation>
 <translation id="1623723619460186680">การลดแสงสีฟ้า</translation>
@@ -825,6 +828,7 @@
 <translation id="1850508293116537636">หมุน&amp;ตามเข็มนาฬิกา</translation>
 <translation id="1852141627593563189">ค้นหาซอฟต์แวร์อันตราย</translation>
 <translation id="1852799913675865625">เกิดข้อผิดพลาดขณะพยายามอ่านไฟล์: <ph name="ERROR_TEXT" /></translation>
+<translation id="1854049213067042715">ดำเนินการต่อจากที่ค้างอยู่ คุณสามารถตั้งให้แอปคืนค่าเสมอเมื่อเริ่มต้นระบบ หรือปิดการคืนค่าได้ใน "การตั้งค่า"</translation>
 <translation id="1854180393107901205">หยุดการแคสต์</translation>
 <translation id="1855079636134697549">กล้องเปิดอยู่</translation>
 <translation id="1856715684130786728">เพิ่มตำแหน่ง...</translation>
@@ -953,6 +957,7 @@
 <translation id="1989113344093894667">จับภาพเนื้อหาไม่ได้</translation>
 <translation id="1990046457226896323">ดาวน์โหลดไฟล์คำพูดแล้ว</translation>
 <translation id="1990512225220753005">ไม่แสดงทางลัดในหน้านี้</translation>
+<translation id="199191324030140441">ปิดโหมดห้ามรบกวน</translation>
 <translation id="1992397118740194946">ไม่ได้ตั้งค่า</translation>
 <translation id="1992924914582925289">นำออกจากอุปกรณ์</translation>
 <translation id="1994173015038366702">URL ของเว็บไซต์</translation>
@@ -994,6 +999,7 @@
 
 คุณจัดการการตั้งค่าบัญชีนี้ได้โดยการติดตั้งแอป Family Link ในอุปกรณ์ของคุณ  เราส่งอีเมลวิธีการตั้งค่าไปให้คุณแล้ว</translation>
 <translation id="2040460856718599782">อ๊ะ! เกิดข้อผิดพลาดขณะตรวจสอบสิทธิ์ของคุณ โปรดตรวจสอบข้อมูลรับรองสำหรับลงชื่อเข้าใช้อีกครั้ง แล้วลองอีกครั้ง</translation>
+<translation id="2040894699575719559">ตำแหน่งถูกบล็อก</translation>
 <translation id="2042279886444479655">โปรไฟล์ที่ใช้งานอยู่</translation>
 <translation id="2044014337866019681">โปรดยืนยันบัญชี <ph name="ACCOUNT" /> เพื่อปลดล็อกเซสชัน</translation>
 <translation id="204497730941176055">ชื่อแม่แบบใบรับรองของ Microsoft</translation>
@@ -1354,6 +1360,7 @@
 <translation id="2406153734066939945">ลบโปรไฟล์นี้และข้อมูลในโปรไฟล์ใช่ไหม</translation>
 <translation id="2408018932941436077">กำลังบันทึกบัตร</translation>
 <translation id="2408955596600435184">ป้อน PIN ของคุณ</translation>
+<translation id="2410754283952462441">เลือกบัญชี</translation>
 <translation id="241082044617551207">ปลั๊กอินที่ไม่รู้จัก</translation>
 <translation id="2412593942846481727">มีเวอร์ชันอัปเดต</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1476,6 +1483,7 @@
 <translation id="2527167509808613699">การเชื่อมต่อทุกประเภท</translation>
 <translation id="2530166226437958497">การแก้ปัญหา</translation>
 <translation id="2532589005999780174">โหมดคอนทราสต์สูง</translation>
+<translation id="2533649878691950253">เว็บไซต์ถูกบล็อกไม่ให้ทราบตำแหน่งที่แน่นอนเนื่องจากโดยปกติแล้วคุณไม่อนุญาตสิทธิ์นี้</translation>
 <translation id="253434972992662860">&amp;หยุดชั่วคราว</translation>
 <translation id="253557089021624350">จำนวนที่เชื่อมต่อแบบคงอยู่</translation>
 <translation id="2535799430745250929">ไม่มีเครือข่ายมือถือ</translation>
@@ -1663,6 +1671,7 @@
 <translation id="2738771556149464852">ไม่เกิน</translation>
 <translation id="2739191690716947896">แก้ปัญหา</translation>
 <translation id="2739240477418971307">เปลี่ยนแปลงการตั้งค่าการเข้าถึง</translation>
+<translation id="2739965161385757621">ตรวจสอบการตั้งค่าของฉัน</translation>
 <translation id="274029851662193272">ลดต่ำ</translation>
 <translation id="2740531572673183784">ตกลง</translation>
 <translation id="2741713322780029189">เปิดเทอร์มินัลการกู้คืน</translation>
@@ -1787,6 +1796,7 @@
 <translation id="2864601841139725659">ตั้งรูปโปรไฟล์</translation>
 <translation id="2865919525181940183">ภาพหน้าจอของโปรแกรมที่กำลังแสดงอยู่ในหน้าจอ</translation>
 <translation id="286674810810214575">กำลังตรวจสอบแหล่งจ่ายไฟ...</translation>
+<translation id="2866876751734765554">ตรวจสอบความเป็นส่วนตัว</translation>
 <translation id="2867768963760577682">เปิดเป็นแท็บที่ถูกตรึง</translation>
 <translation id="2868746137289129307">ส่วนขยายนี้ล้าสมัยแล้วและปิดใช้อยู่โดยนโยบายองค์กร แต่อาจเปิดใช้โดยอัตโนมัติได้เมื่อมีเวอร์ชันใหม่</translation>
 <translation id="2870560284913253234">เว็บไซต์</translation>
@@ -2316,6 +2326,7 @@
 <translation id="3446274660183028131">โปรดเปิด Parallels Desktop เพื่อติดตั้ง Windows</translation>
 <translation id="344630545793878684">อ่านข้อมูลบนเว็บไซต์จำนวนมาก</translation>
 <translation id="3446650212859500694">ไฟล์นี้มีเนื้อหาที่ละเอียดอ่อน</translation>
+<translation id="3446827946208017735">ทำความเข้าใจและตรวจสอบการตั้งค่าความเป็นส่วนตัวที่สำคัญที่สุดในที่เดียว</translation>
 <translation id="3448086340637592206">ข้อกำหนดเพิ่มเติมของ Google Chrome และ Chrome OS</translation>
 <translation id="3448492834076427715">อัปเดตบัญชี</translation>
 <translation id="3449393517661170867">หน้าต่างแท็บใหม่</translation>
@@ -3743,6 +3754,7 @@
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{ไม่พบ VM <ph name="VM_TYPE" />}=1{พบ VM <ph name="VM_TYPE" /> 1 รายการ: <ph name="VM_NAME_LIST" />}other{พบ VM <ph name="VM_TYPE" /> {NUM_VMS} รายการ: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">ไม่มีการเชื่อมต่ออินเทอร์เน็ต</translation>
 <translation id="4998430619171209993">เปิด</translation>
+<translation id="4999804342505941663">เปิดโหมดห้ามรบกวน</translation>
 <translation id="5000922062037820727">ถูกบล็อก (แนะนำ)</translation>
 <translation id="5005498671520578047">คัดลอกรหัสผ่าน</translation>
 <translation id="5006218871145547804">ADB ของแอป Android ใน Crostini</translation>
@@ -5067,6 +5079,7 @@
 <translation id="6468485451923838994">แบบอักษร</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> ไฟล์</translation>
 <translation id="6469557521904094793">เปิดเครือข่ายมือถือ</translation>
+<translation id="6470823736074966819">ปิดเสียงการแจ้งเตือน</translation>
 <translation id="6472893788822429178">แสดงปุ่มหน้าแรก</translation>
 <translation id="6474498546677193336">เลิกแชร์ไม่ได้เนื่องจากมีแอปพลิเคชันใช้โฟลเดอร์นี้อยู่ จะเลิกแชร์โฟลเดอร์เมื่อมีการปิด Linux ครั้งต่อไป</translation>
 <translation id="6474884162850599008">ยกเลิกการเชื่อมต่อบัญชี Google ไดรฟ์</translation>
@@ -5874,7 +5887,7 @@
 <translation id="7374376573160927383">จัดการอุปกรณ์ USB</translation>
 <translation id="7374461526650987610">เครื่องจัดการโปรโตคอล</translation>
 <translation id="7375235221357833624">{0,plural, =1{อัปเดตอุปกรณ์ภายใน 1 ชั่วโมง}other{อัปเดตอุปกรณ์ภายใน # ชั่วโมง}}</translation>
-<translation id="7376543451826039186">การท่องเว็บที่เร็วขึ้น เช่น โหลดเนื้อหาเฉพาะเจาะจงตามหน้าปัจจุบันโดยไม่ต้องขอ</translation>
+<translation id="7376543451826039186">การท่องเว็บที่เร็วขึ้น เช่น โหลดเนื้อหาเฉพาะเจาะจงเพิ่มเติมตามหน้าปัจจุบันโดยไม่ต้องขอ</translation>
 <translation id="7376553024552204454">ไฮไลต์เคอร์เซอร์เมาส์เมื่อขยับ</translation>
 <translation id="737728204345822099">ระบบอาจเก็บบันทึกการเข้าชมเว็บไซต์นี้ไว้ในคีย์ความปลอดภัย</translation>
 <translation id="7377451353532943397">บล็อกการเข้าถึงเซ็นเซอร์ต่อไป</translation>
@@ -7524,6 +7537,7 @@
 <translation id="9078193189520575214">กำลังนำการเปลี่ยนแปลงไปใช้...</translation>
 <translation id="9078316009970372699">ปิดใช้การเชื่อมต่อ Wi-Fi ฮอตสปอตจากมือถือโดยอัตโนมัติ</translation>
 <translation id="9079267182985899251">อีกไม่นานตัวเลือกนี้จะใช้งานไม่ได้อีกต่อไป หากต้องการนำเสนอแท็บ โปรดใช้ <ph name="GOOGLE_MEET" /></translation>
+<translation id="9081543426177426948">ระบบจะไม่บันทึกเว็บไซต์ที่คุณเข้าชมในโหมดไม่ระบุตัวตน</translation>
 <translation id="9084064520949870008">เปิดเป็นหน้าต่าง</translation>
 <translation id="9085256200913095638">ทำซ้ำแท็บที่เลือก</translation>
 <translation id="9085776959277692427">ไม่ได้เลือกภาษา<ph name="LANGUAGE" /> กดแป้นค้นหากับแป้นเว้นวรรคเพื่อเลือก</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index 4d7f79d..167e6099 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -1360,6 +1360,7 @@
 <translation id="2406153734066939945">Bu profil ve verileri silinsin mi?</translation>
 <translation id="2408018932941436077">Kart kaydediliyor</translation>
 <translation id="2408955596600435184">PIN'inizi girin</translation>
+<translation id="2410754283952462441">Bir hesap seçin</translation>
 <translation id="241082044617551207">Bilinmeyen eklenti</translation>
 <translation id="2412593942846481727">Güncelleme var</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7537,6 +7538,7 @@
 <translation id="9078193189520575214">Değişiklikler uygulanıyor...</translation>
 <translation id="9078316009970372699">Hızlı Tethering'i devre dışı bırak</translation>
 <translation id="9079267182985899251">Yakında bu seçenek artık desteklenmeyecek. Bir sekmeyi sunmak için <ph name="GOOGLE_MEET" /> ürününü kullanın.</translation>
+<translation id="9081543426177426948">Ziyaret ettiğiniz siteler Gizli modda kaydedilmez</translation>
 <translation id="9084064520949870008">Pencere Olarak Aç</translation>
 <translation id="9085256200913095638">Seçili Sekmeyi Kopyala</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> seçili değil. Seçmek için Arama'ya ve Boşluk çubuğuna basın.</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 27706f9..c6c33840 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -1379,6 +1379,7 @@
 <translation id="2406153734066939945">Видалити профіль і його дані?</translation>
 <translation id="2408018932941436077">Зберігання картки</translation>
 <translation id="2408955596600435184">Введіть PIN-код</translation>
+<translation id="2410754283952462441">Виберіть обліковий запис</translation>
 <translation id="241082044617551207">Невідомий плагін</translation>
 <translation id="2412593942846481727">Доступне оновлення</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7562,6 +7563,7 @@
 <translation id="9078193189520575214">Застосовуються зміни…</translation>
 <translation id="9078316009970372699">Вимкнути миттєву точку доступу</translation>
 <translation id="9079267182985899251">Незабаром ця опція більше не підтримуватиметься. Щоб показати вкладку, скористайтеся <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Відвідані сайти в анонімному режимі не зберігаються</translation>
 <translation id="9084064520949870008">Відкрити вікно</translation>
 <translation id="9085256200913095638">Копіювати вибрану вкладку</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> – цю мову не вибрано. Щоб вибрати її, натисніть комбінацію клавіш Search і пробіл.</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index 085af097..e9b88e1 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -443,6 +443,7 @@
 <translation id="1476088332184200792">اپنے آلہ پر کاپی کریں</translation>
 <translation id="1476607407192946488">&amp;زبان کی ترتیبات</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" /> آپ سے اپنا اسمارٹ کارڈ داخل کئے رکھنے کا تقاضا کرتا ہے۔</translation>
+<translation id="1477654881618305065">آپ کی تنظیم آپ کو اس مواد کا اشتراک کرنے کی اجازت نہیں دیتی ہے۔ اگر آپ کو مدد درکار ہے تو اپنے منتظم سے رابطہ کریں۔</translation>
 <translation id="1478340334823509079">تفصیلات: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">انسٹالیشن فعال نہیں ہے</translation>
 <translation id="1480571698637441426">جب آپ سوالات پوچھتے ہیں تو مناسب جوابات حاصل کرنے کے لیے اپنی اسکرین پر موجود چیزوں کی اسکرین شاٹ تک اپنی اسسٹنٹ کو رسائی حاصل کرنے دیں۔ اس میں ان گانوں یا ویڈیوز کے بارے میں معلومات بھی شامل ہو سکتی ہیں جو چل رہے ہیں۔</translation>
@@ -618,6 +619,7 @@
 <translation id="1643921258693943800">‏قریبی آلات کے ساتھ اشتراک کا استعمال کرنے کیلئے بلوٹوتھ اور Wi-Fi آن کریں</translation>
 <translation id="1644574205037202324">سرگزشت</translation>
 <translation id="1645516838734033527">‏آپ کا <ph name="DEVICE_TYPE" /> محفوظ رکھنے کیلئے Smart Lock کو آپ کے فون پر اسکرین لاک درکار ہے۔</translation>
+<translation id="1646793251510634025">تلاش اور براؤزنگ کی بہتری کے لیے ترتیبات کا جائزہ لیں</translation>
 <translation id="1646982517418478057">اس سرٹیفیکیٹ کی مرموز کاری کرنے کیلئے براہ کرم ایک پاس ورڈ درج کریں</translation>
 <translation id="1648528859488547844">‏مقام کا تعین کرنے کے لیے Wi‑Fi یا موبائل نیٹ ورکس کا استعمال کریں</translation>
 <translation id="164936512206786300">بلوٹوتھ آلہ کا جوڑا ختم کریں</translation>
@@ -1353,6 +1355,7 @@
 <translation id="2406153734066939945">اس پروفائل اور اس کے ڈیٹا کو حذف کریں؟</translation>
 <translation id="2408018932941436077">کارڈ محفوظ ہو رہا ہے</translation>
 <translation id="2408955596600435184">‏اپنا PIN درج کریں</translation>
+<translation id="2410754283952462441">اکاؤنٹ منتخب کریں</translation>
 <translation id="241082044617551207">نامعلوم پلگ ان</translation>
 <translation id="2412593942846481727">اپ ڈیٹ دستیاب ہے</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1461,6 +1464,7 @@
 <translation id="2514326558286966059">اپنے فنگر پرنٹ سے تیزی سے غیر مقفل کریں</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">ایک اور سوئچ تفویض کریں</translation>
+<translation id="251722524540674480">اپنے صارف نام کی توثیق کریں</translation>
 <translation id="2517472476991765520">اسکین کریں</translation>
 <translation id="2518024842978892609">اپنے کلائنٹ سرٹیفکیٹس استعمال کریں</translation>
 <translation id="2519517390894391510">سرٹیفیکیٹ پروفائل کا نام</translation>
@@ -2164,6 +2168,7 @@
 <translation id="3288047731229977326">ڈویلپر وضع میں چلنے والی ایکسٹینشنز آپ کے کمپیوٹر کو نقصان پہنچا سکتی ہیں۔ اگر آپ ایک ڈویلپر نہیں ہیں تو محفوظ رہنے کیلئے آپ کو ڈویلپر وضع میں چلنے والی ان ایکسٹینشنز کو غیر فعال کر دینا چاہیے۔</translation>
 <translation id="3289668031376215426">خود بڑے حروف میں لکھنا</translation>
 <translation id="3289856944988573801">‏اپ ڈیٹس چیک کرنے کیلئے، براہ کرم ایتھرنیٹ یا Wi-Fi کا استعمال کریں۔</translation>
+<translation id="3291436823898732747">بہتر کردہ براؤنگ: مثال کے طور پر، آپ کے ٹائپنگ شروع کرنے سے پہلے اومنی باکس میں تجاویز</translation>
 <translation id="3293644607209440645">یہ صفحہ بھیجیں</translation>
 <translation id="32939749466444286">‏Linux کنٹینر شروع نہیں ہوا۔ براہ کرم دوبارہ کوشش کریں۔</translation>
 <translation id="3294437725009624529">مہمان</translation>
@@ -4196,6 +4201,7 @@
 <translation id="5505307013568720083">سیاہی ختم ہو گئی</translation>
 <translation id="5505794066310932198">ٹوگل کمانڈر</translation>
 <translation id="5507756662695126555">عدم استرداد</translation>
+<translation id="5507795078844206688">‏آپ کے ملاحظہ کیے جانے والے صفحات کا URL، جیسے، https://www.google.com</translation>
 <translation id="5509693895992845810">محفوظ کریں بطور…</translation>
 <translation id="5509914365760201064">جاری کنندہ: <ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">‏Google سے تصویر کی تفصیلات حاصل کریں</translation>
@@ -4513,6 +4519,7 @@
 <translation id="5869522115854928033">محفوظ کردہ پاس ورڈز</translation>
 <translation id="5870086504539785141">ایکسیسبیلٹی مینو بند کریں</translation>
 <translation id="5870155679953074650">بڑی خرابیاں</translation>
+<translation id="5875534259258494936">اسکرین کا اشتراک ختم ہو گیا ہے</translation>
 <translation id="5876576639916258720">چل رہا ہے...</translation>
 <translation id="5876851302954717356">دائیں طرف نیا ٹیب</translation>
 <translation id="5877064549588274448">چینل تبدیل ہو گیا ہے۔ تبدیلیوں کو لاگو کرنے کیلئے اپنے آلہ کو دوبارہ شروع کریں۔</translation>
@@ -5372,6 +5379,7 @@
 <translation id="6812349420832218321">‏<ph name="PRODUCT_NAME" /> کو root کے بطور نہیں چلایا جا سکتا ہے۔</translation>
 <translation id="6812841287760418429">تبدیلیاں برقرار رکھیں</translation>
 <translation id="6813907279658683733">پوری اسکرین</translation>
+<translation id="6814033694018386318">‏آپ Google کے ساتھ کیا اشتراک کرتے ہیں</translation>
 <translation id="6817174620439930047">‏جب کوئی سائٹ MIDI آلات تک رسائی کیلئے سسٹم کے جامع پیغامات استعمال کرنا چاہے تو پوچھیں (تجویز کردہ)</translation>
 <translation id="6818198425579322765">ترجمہ کرنے کے لیے صفحے کی زبان</translation>
 <translation id="6818802132960437751">پہلے سے شامل وائرس سے تحفظ</translation>
@@ -5867,6 +5875,7 @@
 <translation id="7374376573160927383">‏USB آلات کا نظم کریں</translation>
 <translation id="7374461526650987610">پروٹوکول ہینڈلرز</translation>
 <translation id="7375235221357833624">{0,plural, =1{ایک گھنٹے کے اندر آلہ اپ ڈیٹ کریں}other{# گھنٹے کے اندر آلہ اپ ڈیٹ کریں}}</translation>
+<translation id="7376543451826039186">تیز تر براؤزنگ: مثال کے طور پر، موجودہ صفحہ کی بنیاد پر مزید مخصوص مواد کو فعال طور پر لوڈ کرنا</translation>
 <translation id="7376553024552204454">ماؤس کا کرسر حرکت میں ہونے پر اسے ہائی لائٹ کریں</translation>
 <translation id="737728204345822099">آپ کی سیکیورٹی کلید پر آپ کے اس سائٹ کو ملاحظہ کرنے کا ریکارڈ رکھا جا سکتا ہے۔</translation>
 <translation id="7377451353532943397">سینسر تک رسائی کو مسدود کرنا جاری رکھیں</translation>
@@ -5924,6 +5933,7 @@
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> سے کال کریں</translation>
 <translation id="7431719494109538750">‏کوئی HID آلہ نہیں ملا</translation>
 <translation id="7431991332293347422">تلاش کو ذاتی نوعیت کا بنانے کیلئے آپ کی براؤزنگ کی سرگزشت جس طریقے سے استعمال کی جاتی ہے اسے کنٹرول کریں اور مزید بہت کچھ</translation>
+<translation id="7432200167665670017">‏آپ کے منتظم نے "<ph name="EXTENSION_NAME" />" کو مسدود کر دیا ہے - ایپ ID <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">اپنے <ph name="DEVICE_TYPE" /> کا استعمال جاری رکھنے کیلئے سمارٹ کارڈ داخل کریں</translation>
 <translation id="7433957986129316853">اسے رکھیں</translation>
 <translation id="7434509671034404296">ڈویلپر</translation>
@@ -5953,6 +5963,7 @@
 <translation id="7460045493116006516">موجودہ تھیم جسے آپ نے انسٹال کیا ہے</translation>
 <translation id="7461924472993315131">پن کریں</translation>
 <translation id="746216226901520237">‏اگلی بار آپ کے فون سے آپ کا <ph name="DEVICE_TYPE" /> غیر مقفل ہوگا۔ آپ ترتیبات میں Smart Lock کو آف کر سکتے ہیں۔</translation>
+<translation id="7464637891177137294">‏اسے آپ اپنے Google اکاؤنٹ میں محفوظ کریں، <ph name="ACCOUNT" /></translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{# ٹیب کھولیں، ٹیب اسٹرپ ٹوگل کرنے کے لیے دبائیں}other{# ٹیبز کھولیں، ٹیب اسٹرپ ٹوگل کرنے کے لیے دبائیں}}</translation>
 <translation id="7465635034594602553">کچھ غلط ہوگیا۔ براہ کرم کچھ منٹس انتظار کریں اور <ph name="APP_NAME" /> کو دوبارہ چلائیں۔</translation>
 <translation id="7465778193084373987">‏Netscape سرٹیفیکیٹ کالعدم کرنے کا URL</translation>
@@ -6016,6 +6027,7 @@
 <translation id="7525625923260515951">منتخب کردہ متن سنیں</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{1 مزید}other{{NUM_DOWNLOADS} مزید}}</translation>
 <translation id="7526989658317409655">پلیس ہولڈر</translation>
+<translation id="7527758104894292229">‏اپنے Google اکاؤنٹ میں اسے اپ ڈیٹ کریں، <ph name="ACCOUNT" /></translation>
 <translation id="7529411698175791732">اپنا انٹرنیٹ کنکشن چیک کریں۔ اگر مسئلہ برقرار رہتا ہے تو سائن آؤٹ اور دوبارہ سائن ان کر کے دیکھیں۔</translation>
 <translation id="7529876053219658589">{0,plural, =1{مہمان کو بند کریں}other{مہمان کو بند کریں}}</translation>
 <translation id="7530016656428373557">واٹس میں ڈسچارج ہونے کی شرح</translation>
@@ -6403,6 +6415,7 @@
 <translation id="7898725031477653577">ہمیشہ ترجمہ کریں</translation>
 <translation id="790040513076446191">رازداری سے متعلق ترتیبات استعمال کریں</translation>
 <translation id="7901405293566323524">فون کا ہب</translation>
+<translation id="7901914889562552258">‏صفحہ کے میٹرکس کا استعمال کرنے والا بہتر کردہ Chrome</translation>
 <translation id="7903345046358933331">صفحہ جواب نہیں دے رہا ہے۔ آپ اس کے جواب دینے کا انتظار کر سکتے ہیں یا اسے بند کر سکتے ہیں۔</translation>
 <translation id="7903742244674067440">آپ کے پاس ان سرٹیفیکیٹ اتھارٹی کی شناخت کرنے والی فائل پر سرٹیفیکیٹس ہیں</translation>
 <translation id="7903859912536385558">مستحکم (معتبر ٹیسٹر)</translation>
@@ -6867,6 +6880,7 @@
 <translation id="8392364544846746346">آپ کے آلہ پر جب کوئی سائٹ فائلز یا فولڈرز میں ترمیم کرنا چاہے تو پوچھیں</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> کیلئے اختیارات مینو</translation>
 <translation id="8393511274964623038">پلگ ان روکیں</translation>
+<translation id="839363317075970734">بلوٹوتھ آلے کی تفاصیل</translation>
 <translation id="8393700583063109961">پیغام بھیجیں</translation>
 <translation id="8397825320644530257">منسلک کردہ فون کو غیر منسلک کریں</translation>
 <translation id="8398877366907290961">بہر صورت آگے بڑھیں</translation>
@@ -7117,6 +7131,7 @@
 <translation id="8681614230122836773">‏Chrome کو آپ کے کمپیوٹر پر نقصان دہ سافٹ ویئر ملا</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> منسلک اور تیار ہے</translation>
 <translation id="8683081248374354009">گروپ ری سیٹ کریں</translation>
+<translation id="8683526617475118045">آپ کو کیا ملے گا</translation>
 <translation id="8688672835843460752">دستیاب</translation>
 <translation id="8690129572193755009">سائٹس پروٹوکولز ہینڈل کرنے کے لئے پوچھ سکتی ہیں</translation>
 <translation id="8695139659682234808">سیٹ اپ کے بعد پیرنٹل کنٹرولز شامل کریں</translation>
@@ -7170,6 +7185,7 @@
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> کی بجائے <ph name="PROTOCOL" /> لنکس کھولیں</translation>
 <translation id="8737709691285775803">Shill</translation>
 <translation id="8737914367566358838">صفحے کا ترجمہ کرنے کے لیے زبان منتخب کریں</translation>
+<translation id="8737916108453753541">‏براؤزنگ سلوک کو سمجھنے کے لیے Google کے ساتھ URLs کا اشتراک کیا جاتا ہے</translation>
 <translation id="8740247629089392745">‏آپ اس Chromebook کو <ph name="SUPERVISED_USER_NAME" /> کو دے سکتے ہیں۔ سیٹ اپ تقریباً مکمل ہو گیا ہے، اب اسے دریافت کرنے کا وقت ہے۔</translation>
 <translation id="8741944563400125534">سوئچ رسائی کی سیٹ اپ گائیڈ</translation>
 <translation id="8742998548129056176">‏یہ آپ کے آلہ اور آپ کے طریقۂ استعمال (جیسے بیٹری کی سطح، سسٹم، ایپ کی سرگرمی اور خرابیوں) کے بارے میں ایک عام معلومات ہے۔ Android کو بہتر بنانے کی خاطر ڈیٹا کا استعمال کیا جائے گا، اور کچھ مجموعی معلومات سے Google ایپس اور پارٹنرز، جیسے کہ Android ڈیولپرز، کو ان کی ایپس اور پروڈکٹس کو بہتر بنانے میں بھی مدد ملے گی۔</translation>
@@ -7509,6 +7525,7 @@
 <translation id="9078193189520575214">تبدیلیاں لاگو کی جا رہی ہیں…</translation>
 <translation id="9078316009970372699">فوری ٹیدرنگ غیر فعال کریں</translation>
 <translation id="9079267182985899251">جلد ہی یہ اختیار اب تعاون یافتہ نہیں ہوگا۔ ٹیب کو پیش کرنے کیلئے <ph name="GOOGLE_MEET" /> کا استعمال کریں۔</translation>
+<translation id="9081543426177426948">جو سائٹس آپ ملاحظہ کرتے ہیں وہ پوشیدگی وضع میں محفوظ نہیں ہوتی ہیں</translation>
 <translation id="9084064520949870008">بطور ونڈو کھولیں</translation>
 <translation id="9085256200913095638">منتخب کردہ ٹیب کا ڈپلیکیٹ بنائیں</translation>
 <translation id="9085776959277692427">‏<ph name="LANGUAGE" /> کا انتخاب نہیں کیا گیا۔ منتخب کرنے کیلئے، Search اور Space دبائیں۔</translation>
diff --git a/chrome/app/resources/generated_resources_uz.xtb b/chrome/app/resources/generated_resources_uz.xtb
index 050157f3..b02f0a4 100644
--- a/chrome/app/resources/generated_resources_uz.xtb
+++ b/chrome/app/resources/generated_resources_uz.xtb
@@ -1363,6 +1363,7 @@
 <translation id="2406153734066939945">Bu profil va undagi axborotlar oʻchirilsinmi?</translation>
 <translation id="2408018932941436077">Karta saqlanmoqda</translation>
 <translation id="2408955596600435184">PIN kodni kiriting</translation>
+<translation id="2410754283952462441">Hisobni tanlang</translation>
 <translation id="241082044617551207">Noma’lum plagin</translation>
 <translation id="2412593942846481727">Yangilanish chiqdi</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7542,6 +7543,7 @@
 <translation id="9078193189520575214">Oʻzgartirishlar tatbiq qilinmoqda...</translation>
 <translation id="9078316009970372699">Tezkor modem rejimini faolsizlantirish</translation>
 <translation id="9079267182985899251">Bu variant tez orada ishlamay qoladi. Varaqni namoyish qilish uchun <ph name="GOOGLE_MEET" /> xizmatidan foydalaning.</translation>
+<translation id="9081543426177426948">Siz Inkognito rejimida ochgans saytlar saqlanmaydi</translation>
 <translation id="9084064520949870008">Alohida oynada ochish</translation>
 <translation id="9085256200913095638">Tanlangan varaqni nusxalash</translation>
 <translation id="9085776959277692427"><ph name="LANGUAGE" /> tanlanmagan. Tanlash uchun Qidiruv va Boʻshliq tugmalarini bosing.</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 8854ef8..24697dd4 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -1376,6 +1376,7 @@
 <translation id="2406153734066939945">Xóa hồ sơ này và dữ liệu của hồ sơ?</translation>
 <translation id="2408018932941436077">Đang lưu thẻ</translation>
 <translation id="2408955596600435184">Nhập mã PIN của bạn</translation>
+<translation id="2410754283952462441">Chọn một tài khoản</translation>
 <translation id="241082044617551207">Plugin không rõ</translation>
 <translation id="2412593942846481727">Đã có bản cập nhật</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7556,6 +7557,7 @@
 <translation id="9078193189520575214">Đang áp dụng các thay đổi...</translation>
 <translation id="9078316009970372699">Tắt tính năng Chia sẻ Internet tức thì</translation>
 <translation id="9079267182985899251">Chẳng bao lâu nữa, tùy chọn này sẽ không còn được hỗ trợ. Để hiển thị một thẻ, hãy dùng <ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Các trang web bạn truy cập không được lưu ở chế độ Ẩn danh</translation>
 <translation id="9084064520949870008">Mở dưới dạng cửa sổ</translation>
 <translation id="9085256200913095638">Sao chép thẻ đã chọn</translation>
 <translation id="9085776959277692427">Chưa chọn <ph name="LANGUAGE" />. Hãy nhấn phím Tìm kiếm + Phím cách để chọn.</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index 399cef9..1b85207 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -443,6 +443,7 @@
 <translation id="1476088332184200792">复制到您的设备</translation>
 <translation id="1476607407192946488">语言设置(&amp;L)</translation>
 <translation id="1477446329585670721"><ph name="DOMAIN" /> 要求您让智能卡保持插入状态。</translation>
+<translation id="1477654881618305065">贵组织不允许您分享此内容。如果需要帮助,请与您的管理员联系。</translation>
 <translation id="1478340334823509079">详细信息:<ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">未启用安装功能</translation>
 <translation id="1480571698637441426">如果想在提问后获得为您量身定制的回复,您不妨允许 Google 助理使用您的屏幕上内容的屏幕截图,其中可能也包括正在播放的歌曲或视频的相关信息。</translation>
@@ -615,6 +616,7 @@
 <translation id="1643921258693943800">若要使用“附近分享”功能,请开启蓝牙和 Wi-Fi</translation>
 <translation id="1644574205037202324">历史记录</translation>
 <translation id="1645516838734033527">为确保您的 <ph name="DEVICE_TYPE" /> 安全无虞,Smart Lock 要求在您的手机上设置屏幕锁定。</translation>
+<translation id="1646793251510634025">查看与搜索及浏览优化有关的设置</translation>
 <translation id="1646982517418478057">请输入密码,用于加密该证书</translation>
 <translation id="1648528859488547844">根据 Wi-Fi 或移动网络确定位置</translation>
 <translation id="164936512206786300">取消与蓝牙设备配对</translation>
@@ -1350,6 +1352,7 @@
 <translation id="2406153734066939945">删除这份个人资料及其数据?</translation>
 <translation id="2408018932941436077">正在保存信用卡信息</translation>
 <translation id="2408955596600435184">输入您的 PIN 码</translation>
+<translation id="2410754283952462441">选择帐号</translation>
 <translation id="241082044617551207">未知插件</translation>
 <translation id="2412593942846481727">有可用的更新</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -1458,6 +1461,7 @@
 <translation id="2514326558286966059">指纹解锁更快捷</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2515807442171220586">再分配 1 个开关</translation>
+<translation id="251722524540674480">确认您的用户名</translation>
 <translation id="2517472476991765520">扫描</translation>
 <translation id="2518024842978892609">使用您的客户端证书</translation>
 <translation id="2519517390894391510">证书名称</translation>
@@ -2161,6 +2165,7 @@
 <translation id="3288047731229977326">以开发者模式运行的扩展程序可能会损害您的计算机。如果您不是开发者,那么,为安全起见,应停用以开发者模式运行的扩展程序。</translation>
 <translation id="3289668031376215426">自动大写</translation>
 <translation id="3289856944988573801">要检查是否有更新,请使用以太网或 WLAN。</translation>
+<translation id="3291436823898732747">经过改进的浏览体验:例如,在您开始输入之前,系统会在多功能框中显示建议</translation>
 <translation id="3293644607209440645">发送此页面</translation>
 <translation id="32939749466444286">无法启动 Linux 容器。请重试。</translation>
 <translation id="3294437725009624529">访客</translation>
@@ -4192,6 +4197,7 @@
 <translation id="5505307013568720083">墨水已耗尽</translation>
 <translation id="5505794066310932198">开启/关闭 Commander</translation>
 <translation id="5507756662695126555">不可否认</translation>
+<translation id="5507795078844206688">您所访问的网页的网址,例如 https://www.google.com</translation>
 <translation id="5509693895992845810">存储为(&amp;A)...</translation>
 <translation id="5509914365760201064">颁发者:<ph name="CERTIFICATE_AUTHORITY" /></translation>
 <translation id="5510775624736435856">从 Google 获取图片说明</translation>
@@ -4509,6 +4515,7 @@
 <translation id="5869522115854928033">已保存的密码</translation>
 <translation id="5870086504539785141">关闭辅助功能菜单</translation>
 <translation id="5870155679953074650">硬故障数</translation>
+<translation id="5875534259258494936">屏幕共享已结束</translation>
 <translation id="5876576639916258720">正在运行…</translation>
 <translation id="5876851302954717356">在右侧新增标签页</translation>
 <translation id="5877064549588274448">版本已更改。请重新启动设备来应用这些变更。</translation>
@@ -5368,6 +5375,7 @@
 <translation id="6812349420832218321">不能以根用户身份运行 <ph name="PRODUCT_NAME" />。</translation>
 <translation id="6812841287760418429">保留更改</translation>
 <translation id="6813907279658683733">整个屏幕</translation>
+<translation id="6814033694018386318">您要与 Google 分享哪些信息</translation>
 <translation id="6817174620439930047">当网站想使用系统专有消息访问 MIDI 设备时询问您(推荐)</translation>
 <translation id="6818198425579322765">要翻译的网页语言</translation>
 <translation id="6818802132960437751">内置病毒防护功能</translation>
@@ -5863,6 +5871,7 @@
 <translation id="7374376573160927383">管理 USB 设备</translation>
 <translation id="7374461526650987610">协议处理程序</translation>
 <translation id="7375235221357833624">{0,plural, =1{请在 1 小时内更新此设备}other{请在 # 小时内更新此设备}}</translation>
+<translation id="7376543451826039186">更快速的浏览:例如,根据当前网页主动加载具体的额外内容</translation>
 <translation id="7376553024552204454">在移动鼠标光标时突出显示光标</translation>
 <translation id="737728204345822099">您对该网站的访问记录可能会保留在安全密钥上。</translation>
 <translation id="7377451353532943397">继续禁止使用传感器</translation>
@@ -5920,6 +5929,7 @@
 <translation id="7427798576651127129">通过<ph name="DEVICE_NAME" />拨打电话</translation>
 <translation id="7431719494109538750">找不到任何 HID 设备</translation>
 <translation id="7431991332293347422">控制 Google 如何利用您的浏览记录为您提供个性化的 Google 搜索和其他 Google 服务</translation>
+<translation id="7432200167665670017">您的管理员已禁用“<ph name="EXTENSION_NAME" />”- 应用 ID 为 <ph name="EXTENSION_ID" /></translation>
 <translation id="7433708794692032816">插入智能卡以继续使用您的 <ph name="DEVICE_TYPE" /></translation>
 <translation id="7433957986129316853">保持现状</translation>
 <translation id="7434509671034404296">开发者</translation>
@@ -5949,6 +5959,7 @@
 <translation id="7460045493116006516">您已安装的当前主题背景</translation>
 <translation id="7461924472993315131">固定</translation>
 <translation id="746216226901520237">下次,您只需使用手机就能解锁您的 <ph name="DEVICE_TYPE" /> 了。您可在“设置”中关闭 Smart Lock。</translation>
+<translation id="7464637891177137294">将密码保存在您的 Google 帐号 (<ph name="ACCOUNT" />) 中</translation>
 <translation id="7465522323587461835">{NUM_OPEN_TABS,plural, =1{共有 # 个打开的标签页,按一下此按钮即可显示/隐藏标签栏}other{共有 # 个打开的标签页,按一下此按钮即可显示/隐藏标签栏}}</translation>
 <translation id="7465635034594602553">出了点问题。请在几分钟后重新运行 <ph name="APP_NAME" />。</translation>
 <translation id="7465778193084373987">Netscape 证书吊销网址</translation>
@@ -6012,6 +6023,7 @@
 <translation id="7525625923260515951">听取所选文本</translation>
 <translation id="7526658513669652747">{NUM_DOWNLOADS,plural, =1{另外 1 项}other{另外 {NUM_DOWNLOADS} 项}}</translation>
 <translation id="7526989658317409655">占位符</translation>
+<translation id="7527758104894292229">更新您 Google 帐号 (<ph name="ACCOUNT" />) 中的密码</translation>
 <translation id="7529411698175791732">请检查您的互联网连接。如果问题仍然存在,请尝试退出帐号并重新登录。</translation>
 <translation id="7529876053219658589">{0,plural, =1{关闭访客窗口}other{关闭访客窗口}}</translation>
 <translation id="7530016656428373557">电池放电率(瓦)</translation>
@@ -6398,6 +6410,7 @@
 <translation id="7898725031477653577">一律翻译</translation>
 <translation id="790040513076446191">管理隐私相关设置</translation>
 <translation id="7901405293566323524">手机中心</translation>
+<translation id="7901914889562552258">使用网页指标改进后的 Chrome</translation>
 <translation id="7903345046358933331">该页面已停止响应。您可以等待该页面恢复响应,也可以将其关闭。</translation>
 <translation id="7903742244674067440">您有证书可标识以下证书授权中心</translation>
 <translation id="7903859912536385558">稳定版(受信任的测试人员)</translation>
@@ -6864,6 +6877,7 @@
 <translation id="8392364544846746346">在网站想要修改您设备上的文件或文件夹时要先询问您</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> 的“选项”菜单</translation>
 <translation id="8393511274964623038">停止使用插件</translation>
+<translation id="839363317075970734">蓝牙设备详情</translation>
 <translation id="8393700583063109961">发送消息</translation>
 <translation id="8397825320644530257">断开已连接的手机</translation>
 <translation id="8398877366907290961">仍然继续</translation>
@@ -7114,6 +7128,7 @@
 <translation id="8681614230122836773">Chrome 在您的计算机上发现了有害软件</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> 已连接且已准备就绪</translation>
 <translation id="8683081248374354009">重置群组</translation>
+<translation id="8683526617475118045">您会获得哪些好处</translation>
 <translation id="8688672835843460752">可用</translation>
 <translation id="8690129572193755009">网站可以请求处理协议</translation>
 <translation id="8695139659682234808">在完成设置后添加家长控制功能</translation>
@@ -7167,6 +7182,7 @@
 <translation id="8737685506611670901">打开<ph name="PROTOCOL" />链接而非“<ph name="REPLACED_HANDLER_TITLE" />”</translation>
 <translation id="8737709691285775803">Shill</translation>
 <translation id="8737914367566358838">选择要将网页翻译成哪种语言</translation>
+<translation id="8737916108453753541">系统会与 Google 分享相关网址以了解浏览行为</translation>
 <translation id="8740247629089392745">您可将这部 Chromebook 交给<ph name="SUPERVISED_USER_NAME" />。即将设置完毕,然后就能尽情探索了。</translation>
 <translation id="8741944563400125534">开关控制设置指南</translation>
 <translation id="8742998548129056176">这是关于您的设备及其使用情况(例如电池电量、系统与应用活动以及错误)的一般信息。我们会使用这些数据来改善 Android,部分汇总信息还会有助于改善 Google 应用,并会协助我们的合作伙伴(例如 Android 开发者)改善其应用和产品。</translation>
@@ -7507,6 +7523,7 @@
 <translation id="9078193189520575214">正在应用更改…</translation>
 <translation id="9078316009970372699">停用“即时网络共享”</translation>
 <translation id="9079267182985899251">即将不再支持此选项。若要演示某个标签页,请使用 <ph name="GOOGLE_MEET" />。</translation>
+<translation id="9081543426177426948">在无痕模式下,系统不会保存您访问过的网站</translation>
 <translation id="9084064520949870008">在窗口中打开</translation>
 <translation id="9085256200913095638">复制所选标签页</translation>
 <translation id="9085776959277692427">未选择“<ph name="LANGUAGE" />”。按搜索键 + 空格键即可选择。</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb
index 1c393721..8500383 100644
--- a/chrome/app/resources/generated_resources_zh-HK.xtb
+++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -1375,6 +1375,7 @@
 <translation id="2406153734066939945">要刪除此設定檔和相關資料嗎?</translation>
 <translation id="2408018932941436077">正在儲存信用卡</translation>
 <translation id="2408955596600435184">請輸入您的 PIN</translation>
+<translation id="2410754283952462441">選擇帳戶</translation>
 <translation id="241082044617551207">不明的外掛程式</translation>
 <translation id="2412593942846481727">有可用的更新</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7555,6 +7556,7 @@
 <translation id="9078193189520575214">正在套用變更…</translation>
 <translation id="9078316009970372699">停用「即時網絡共享」</translation>
 <translation id="9079267182985899251">系統即將停止支援此選項。如要分享分頁畫面,請使用 <ph name="GOOGLE_MEET" />。</translation>
+<translation id="9081543426177426948">在無痕模式下無法儲存您瀏覽的網站</translation>
 <translation id="9084064520949870008">在視窗中開啟</translation>
 <translation id="9085256200913095638">複製已選取的分頁</translation>
 <translation id="9085776959277692427">無揀「<ph name="LANGUAGE" />」。㩒搜尋鍵加空白鍵就可以揀呢種語言。</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index b7243a3..7b3e69a 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -1361,6 +1361,7 @@
 <translation id="2406153734066939945">要刪除這個設定檔和相關資料嗎?</translation>
 <translation id="2408018932941436077">正在儲存信用卡</translation>
 <translation id="2408955596600435184">請輸入你的 PIN 碼</translation>
+<translation id="2410754283952462441">選擇帳戶</translation>
 <translation id="241082044617551207">不明的外掛程式</translation>
 <translation id="2412593942846481727">有可用的更新</translation>
 <translation id="2412753904894530585">Kerberos</translation>
@@ -7539,6 +7540,7 @@
 <translation id="9078193189520575214">正在套用變更...</translation>
 <translation id="9078316009970372699">停用即時網路共用</translation>
 <translation id="9079267182985899251">系統即將停止支援這個選項。如要分享分頁畫面,請使用 <ph name="GOOGLE_MEET" />。</translation>
+<translation id="9081543426177426948">無痕模式不會儲存你造訪的網站</translation>
 <translation id="9084064520949870008">在視窗中開啟</translation>
 <translation id="9085256200913095638">複製所選分頁</translation>
 <translation id="9085776959277692427">未選取<ph name="LANGUAGE" />。按下搜尋鍵加空白鍵即可選取。</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb
index 46035e0..f94308dc 100644
--- a/chrome/app/resources/generated_resources_zu.xtb
+++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -1375,6 +1375,7 @@
 <translation id="2406153734066939945">Susa le phrofayela nedatha yayo?</translation>
 <translation id="2408018932941436077">Ilondoloza ikhadi</translation>
 <translation id="2408955596600435184">Faka iphinikhodi yakho</translation>
+<translation id="2410754283952462441">Khetha i-akhawunti</translation>
 <translation id="241082044617551207">I-plugin engaziwa</translation>
 <translation id="2412593942846481727">Isibuyekezo siyatholakala</translation>
 <translation id="2412753904894530585">I-Kerberos</translation>
@@ -7557,6 +7558,7 @@
 <translation id="9078193189520575214">Isebenzisa izinguquko...</translation>
 <translation id="9078316009970372699">Khubaza i-Tethering Esheshayo</translation>
 <translation id="9079267182985899251">Maduze nje le nketho ngeke isasekelwa. Ukuze wethule ithebhu, sebenzisa i-<ph name="GOOGLE_MEET" />.</translation>
+<translation id="9081543426177426948">Amasayithi owavakashelayo awalondolozwa ku-Incognito</translation>
 <translation id="9084064520949870008">Vula njengewindi</translation>
 <translation id="9085256200913095638">Phinda ithebhu ekhethiwe</translation>
 <translation id="9085776959277692427">Isi-<ph name="LANGUAGE" /> asikhethiwe. Cindezela okuthi Sesha nokuthi Space ukuze ukhethe.</translation>
diff --git a/chrome/browser/android/feed/v2/feed_stream.cc b/chrome/browser/android/feed/v2/feed_stream.cc
index dd64752..060dfa4 100644
--- a/chrome/browser/android/feed/v2/feed_stream.cc
+++ b/chrome/browser/android/feed/v2/feed_stream.cc
@@ -110,8 +110,9 @@
   if (!feed_stream_api_)
     return;
   feed_stream_api_->ManualRefresh(
-      *this, base::BindOnce(&base::android::RunBooleanCallbackAndroid,
-                            ScopedJavaGlobalRef<jobject>(callback_obj)));
+      GetStreamType(),
+      base::BindOnce(&base::android::RunBooleanCallbackAndroid,
+                     ScopedJavaGlobalRef<jobject>(callback_obj)));
 }
 
 void FeedStream::ProcessThereAndBackAgain(
diff --git a/chrome/browser/apps/app_service/app_platform_metrics.cc b/chrome/browser/apps/app_service/app_platform_metrics.cc
index 81374f1..78b1f279 100644
--- a/chrome/browser/apps/app_service/app_platform_metrics.cc
+++ b/chrome/browser/apps/app_service/app_platform_metrics.cc
@@ -53,6 +53,7 @@
     "Apps.RunningPercentage.";
 constexpr char kAppsActivatedCountHistogramPrefix[] = "Apps.ActivatedCount.";
 constexpr char kAppsUsageTimeHistogramPrefix[] = "Apps.UsageTime.";
+constexpr char kAppsUsageTimeHistogramPrefixV2[] = "Apps.UsageTimeV2.";
 
 constexpr char kInstallSourceUnknownHistogram[] = "Unknown";
 constexpr char kInstallSourceSystemHistogram[] = "System";
@@ -289,6 +290,51 @@
   }
 }
 
+// Returns AppTypeNameV2 used for app running metrics.
+apps::AppTypeNameV2 GetAppTypeNameV2(Profile* profile,
+                                     apps::mojom::AppType app_type,
+                                     const std::string& app_id,
+                                     aura::Window* window) {
+  switch (app_type) {
+    case apps::mojom::AppType::kUnknown:
+      return apps::AppTypeNameV2::kUnknown;
+    case apps::mojom::AppType::kArc:
+      return apps::AppTypeNameV2::kArc;
+    case apps::mojom::AppType::kBuiltIn:
+      return apps::AppTypeNameV2::kBuiltIn;
+    case apps::mojom::AppType::kCrostini:
+      return apps::AppTypeNameV2::kCrostini;
+    case apps::mojom::AppType::kExtension:
+      return IsBrowser(window) ? apps::AppTypeNameV2::kChromeAppTab
+                               : apps::AppTypeNameV2::kChromeAppWindow;
+    case apps::mojom::AppType::kWeb: {
+      apps::AppTypeName app_type_name =
+          GetAppTypeNameForWebAppWindow(profile, app_id, window);
+      if (app_type_name == apps::AppTypeName::kChromeBrowser) {
+        return apps::AppTypeNameV2::kWebTab;
+      } else if (app_type_name == apps::AppTypeName::kSystemWeb) {
+        return apps::AppTypeNameV2::kSystemWeb;
+      } else {
+        return apps::AppTypeNameV2::kWebWindow;
+      }
+    }
+    case apps::mojom::AppType::kMacOs:
+      return apps::AppTypeNameV2::kMacOs;
+    case apps::mojom::AppType::kPluginVm:
+      return apps::AppTypeNameV2::kPluginVm;
+    case apps::mojom::AppType::kStandaloneBrowser:
+      return apps::AppTypeNameV2::kStandaloneBrowser;
+    case apps::mojom::AppType::kRemote:
+      return apps::AppTypeNameV2::kRemote;
+    case apps::mojom::AppType::kBorealis:
+      return apps::AppTypeNameV2::kBorealis;
+    case apps::mojom::AppType::kSystemWeb:
+      return apps::AppTypeNameV2::kSystemWeb;
+    case apps::mojom::AppType::kStandaloneBrowserExtension:
+      return apps::AppTypeNameV2::kStandaloneBrowserExtension;
+  }
+}
+
 // Records the number of times Chrome OS apps are launched grouped by the launch
 // source.
 void RecordAppLaunchSource(apps::mojom::LaunchSource launch_source) {
@@ -378,6 +424,11 @@
 constexpr char kStandaloneBrowserExtensionHistogramName[] =
     "StandaloneBrowserExtension";
 
+constexpr char kChromeAppTabHistogramName[] = "ChromeAppTab";
+constexpr char kChromeAppWindowHistogramName[] = "ChromeAppWindow";
+constexpr char kWebAppTabHistogramName[] = "WebAppTab";
+constexpr char kWebAppWindowHistogramName[] = "WebAppWindow";
+
 std::string GetAppTypeHistogramName(apps::AppTypeName app_type_name) {
   switch (app_type_name) {
     case apps::AppTypeName::kUnknown:
@@ -411,6 +462,43 @@
   }
 }
 
+std::string GetAppTypeHistogramNameV2(apps::AppTypeNameV2 app_type_name) {
+  switch (app_type_name) {
+    case apps::AppTypeNameV2::kUnknown:
+      return std::string();
+    case apps::AppTypeNameV2::kArc:
+      return kArcHistogramName;
+    case apps::AppTypeNameV2::kBuiltIn:
+      return kBuiltInHistogramName;
+    case apps::AppTypeNameV2::kCrostini:
+      return kCrostiniHistogramName;
+    case apps::AppTypeNameV2::kChromeAppWindow:
+      return kChromeAppWindowHistogramName;
+    case apps::AppTypeNameV2::kChromeAppTab:
+      return kChromeAppTabHistogramName;
+    case apps::AppTypeNameV2::kWebWindow:
+      return kWebAppWindowHistogramName;
+    case apps::AppTypeNameV2::kWebTab:
+      return kWebAppTabHistogramName;
+    case apps::AppTypeNameV2::kMacOs:
+      return kMacOsHistogramName;
+    case apps::AppTypeNameV2::kPluginVm:
+      return kPluginVmHistogramName;
+    case apps::AppTypeNameV2::kStandaloneBrowser:
+      return kStandaloneBrowserHistogramName;
+    case apps::AppTypeNameV2::kRemote:
+      return kRemoteHistogramName;
+    case apps::AppTypeNameV2::kBorealis:
+      return kBorealisHistogramName;
+    case apps::AppTypeNameV2::kSystemWeb:
+      return kSystemWebAppHistogramName;
+    case apps::AppTypeNameV2::kChromeBrowser:
+      return kChromeBrowserHistogramName;
+    case apps::AppTypeNameV2::kStandaloneBrowserExtension:
+      return kStandaloneBrowserExtensionHistogramName;
+  }
+}
+
 const std::set<apps::AppTypeName>& GetAppTypeNameSet() {
   return ::GetAppTypeNameSet();
 }
@@ -498,6 +586,12 @@
   return kAppsUsageTimeHistogramPrefix + GetAppTypeHistogramName(app_type_name);
 }
 
+std::string AppPlatformMetrics::GetAppsUsageTimeHistogramNameForTest(
+    AppTypeNameV2 app_type_name) {
+  return kAppsUsageTimeHistogramPrefix +
+         GetAppTypeHistogramNameV2(app_type_name);
+}
+
 void AppPlatformMetrics::OnNewDay() {
   should_record_metrics_on_new_day_ = true;
   RecordAppsCount(apps::mojom::AppType::kUnknown);
@@ -620,8 +714,12 @@
         return;
       }
 
+      AppTypeNameV2 app_type_name_v2 = GetAppTypeNameV2(
+          profile_, app_type, app_id, update.Window()->GetToplevelWindow());
+
       running_start_time_[update.Window()].start_time = base::TimeTicks::Now();
       running_start_time_[update.Window()].app_type_name = app_type_name;
+      running_start_time_[update.Window()].app_type_name_v2 = app_type_name_v2;
 
       ++activated_count_[app_type_name];
       should_refresh_activated_count_pref = true;
@@ -630,6 +728,8 @@
           base::TimeTicks::Now();
       start_time_per_five_minutes_[update.Window()].app_type_name =
           app_type_name;
+      start_time_per_five_minutes_[update.Window()].app_type_name_v2 =
+          app_type_name_v2;
       start_time_per_five_minutes_[update.Window()].app_id = app_id;
     }
     return;
@@ -641,6 +741,7 @@
   }
 
   AppTypeName app_type_name = it->second.app_type_name;
+  AppTypeNameV2 app_type_name_v2 = it->second.app_type_name_v2;
   running_duration_[app_type_name] +=
       base::TimeTicks::Now() - it->second.start_time;
   running_start_time_.erase(it);
@@ -649,6 +750,7 @@
       base::TimeTicks::Now() -
       start_time_per_five_minutes_[update.Window()].start_time;
   app_type_running_time_per_five_minutes_[app_type_name] += running_time;
+  app_type_v2_running_time_per_five_minutes_[app_type_name_v2] += running_time;
   app_id_running_time_per_five_minutes_[app_id] += running_time;
   start_time_per_five_minutes_.erase(update.Window());
 
@@ -780,6 +882,8 @@
         base::TimeTicks::Now() - it.second.start_time;
     app_type_running_time_per_five_minutes_[it.second.app_type_name] +=
         running_time;
+    app_type_v2_running_time_per_five_minutes_[it.second.app_type_name_v2] +=
+        running_time;
     app_id_running_time_per_five_minutes_[it.second.app_id] += running_time;
     it.second.start_time = base::TimeTicks::Now();
   }
@@ -789,7 +893,15 @@
         kAppsUsageTimeHistogramPrefix + GetAppTypeHistogramName(it.first),
         it.second, kMinDuration, kMaxUsageDuration, kUsageTimeBuckets);
   }
+
+  for (auto it : app_type_v2_running_time_per_five_minutes_) {
+    base::UmaHistogramCustomTimes(
+        kAppsUsageTimeHistogramPrefixV2 + GetAppTypeHistogramNameV2(it.first),
+        it.second, kMinDuration, kMaxUsageDuration, kUsageTimeBuckets);
+  }
+
   app_type_running_time_per_five_minutes_.clear();
+  app_type_v2_running_time_per_five_minutes_.clear();
 
   RecordAppsUsageTimeUkm();
 }
diff --git a/chrome/browser/apps/app_service/app_platform_metrics.h b/chrome/browser/apps/app_service/app_platform_metrics.h
index dc7389f..d09d1674 100644
--- a/chrome/browser/apps/app_service/app_platform_metrics.h
+++ b/chrome/browser/apps/app_service/app_platform_metrics.h
@@ -46,6 +46,35 @@
 };
 
 // This is used for logging, so do not remove or reorder existing entries.
+// The diferences with AppTypeName are:
+// 1. If a Chrome app opened in a tab, it is logged as kChromeBrowser in
+// AppTypeName, but logged as kChromeAppTab in AppTypeNameV2.
+// 2. If a web app opened in a tab, it is logged as kChromeBrowser in
+// AppTypeName, but logged as kWebTab in AppTypeNameV2.
+enum class AppTypeNameV2 {
+  kUnknown = 0,
+  kArc = 1,
+  kBuiltIn = 2,
+  kCrostini = 3,
+  kChromeAppWindow = 4,
+  kChromeAppTab = 5,
+  kWebWindow = 6,
+  kWebTab = 7,
+  kMacOs = 8,
+  kPluginVm = 9,
+  kStandaloneBrowser = 10,
+  kRemote = 11,
+  kBorealis = 12,
+  kSystemWeb = 13,
+  kChromeBrowser = 14,
+  kStandaloneBrowserExtension = 15,
+
+  // Add any new values above this one, and update kMaxValue to the highest
+  // enumerator value.
+  kMaxValue = kStandaloneBrowserExtension,
+};
+
+// This is used for logging, so do not remove or reorder existing entries.
 enum class InstallTime {
   kInit = 0,
   kRunning = 1,
@@ -71,7 +100,13 @@
 extern const char kSystemWebAppHistogramName[];
 extern const char kChromeBrowserHistogramName[];
 
+extern const char kChromeAppTabHistogramName[];
+extern const char kChromeAppWindowHistogramName[];
+extern const char kWebAppTabHistogramName[];
+extern const char kWebAppWindowHistogramName[];
+
 std::string GetAppTypeHistogramName(apps::AppTypeName app_type_name);
+std::string GetAppTypeHistogramNameV2(apps::AppTypeNameV2 app_type_name);
 
 const std::set<apps::AppTypeName>& GetAppTypeNameSet();
 
@@ -113,10 +148,14 @@
   static std::string GetAppsActivatedCountHistogramNameForTest(
       AppTypeName app_type_name);
 
-  // UMA metrics name for apps usage time in Chrome OS.
+  // UMA metrics name for apps usage time in Chrome OS for AppTypeName.
   static std::string GetAppsUsageTimeHistogramNameForTest(
       AppTypeName app_type_name);
 
+  // UMA metrics name for apps usage time in Chrome OS for AppTypeNameV2.
+  static std::string GetAppsUsageTimeHistogramNameForTest(
+      AppTypeNameV2 app_type_name);
+
   void OnNewDay();
   void OnTenMinutes();
   void OnFiveMinutes();
@@ -131,6 +170,7 @@
   struct RunningStartTime {
     base::TimeTicks start_time;
     AppTypeName app_type_name;
+    AppTypeNameV2 app_type_name_v2;
     std::string app_id;
   };
 
@@ -191,12 +231,15 @@
   std::map<AppTypeName, base::TimeDelta> running_duration_;
   std::map<AppTypeName, int> activated_count_;
 
-  // |start_time_per_five_minutes_|, |app_type_running_time_per_five_minutes_|
-  // and |app_id_running_time_per_five_minutes_| are used for accumulating app
+  // |start_time_per_five_minutes_|, |app_type_running_time_per_five_minutes_|,
+  // |app_type_v2_running_time_per_five_minutes_|, and
+  // |app_id_running_time_per_five_minutes_| are used for accumulating app
   // running duration per 5 minutes interval.
   std::map<aura::Window*, RunningStartTime> start_time_per_five_minutes_;
   std::map<AppTypeName, base::TimeDelta>
       app_type_running_time_per_five_minutes_;
+  std::map<AppTypeNameV2, base::TimeDelta>
+      app_type_v2_running_time_per_five_minutes_;
   std::map<std::string, base::TimeDelta> app_id_running_time_per_five_minutes_;
 
   std::set<apps::mojom::AppType> initialized_app_types;
diff --git a/chrome/browser/apps/app_service/app_platform_metrics_service_unittest.cc b/chrome/browser/apps/app_service/app_platform_metrics_service_unittest.cc
index daa9346..adc3a0d 100644
--- a/chrome/browser/apps/app_service/app_platform_metrics_service_unittest.cc
+++ b/chrome/browser/apps/app_service/app_platform_metrics_service_unittest.cc
@@ -468,6 +468,13 @@
         count);
   }
 
+  void VerifyAppUsageTimeCountHistogram(base::HistogramBase::Count count,
+                                        AppTypeNameV2 app_type_name) {
+    histogram_tester_.ExpectTotalCount(
+        AppPlatformMetrics::GetAppsUsageTimeHistogramNameForTest(app_type_name),
+        count);
+  }
+
   void VerifyAppUsageTimeHistogram(base::TimeDelta time_delta,
                                    base::HistogramBase::Count count,
                                    AppTypeName app_type_name) {
@@ -944,6 +951,7 @@
 
   task_environment_.FastForwardBy(base::TimeDelta::FromMinutes(5));
   VerifyAppUsageTimeCountHistogram(/*expected_count=*/1, AppTypeName::kArc);
+  VerifyAppUsageTimeCountHistogram(/*expected_count=*/1, AppTypeNameV2::kArc);
   VerifyAppUsageTimeHistogram(base::TimeDelta::FromMinutes(5),
                               /*expected_count=*/1, AppTypeName::kArc);
 
@@ -962,10 +970,13 @@
 
   task_environment_.FastForwardBy(base::TimeDelta::FromMinutes(3));
   VerifyAppUsageTimeCountHistogram(/*expected_count=*/2, AppTypeName::kArc);
+  VerifyAppUsageTimeCountHistogram(/*expected_count=*/2, AppTypeNameV2::kArc);
   VerifyAppUsageTimeHistogram(base::TimeDelta::FromMinutes(2),
                               /*expected_count=*/1, AppTypeName::kArc);
   VerifyAppUsageTimeCountHistogram(/*expected_count=*/1,
                                    AppTypeName::kChromeBrowser);
+  VerifyAppUsageTimeCountHistogram(/*expected_count=*/1,
+                                   AppTypeNameV2::kChromeBrowser);
   VerifyAppUsageTimeHistogram(base::TimeDelta::FromMinutes(3),
                               /*expected_count=*/1,
                               AppTypeName::kChromeBrowser);
@@ -974,8 +985,11 @@
 
   task_environment_.FastForwardBy(base::TimeDelta::FromMinutes(15));
   VerifyAppUsageTimeCountHistogram(/*expected_count=*/2, AppTypeName::kArc);
+  VerifyAppUsageTimeCountHistogram(/*expected_count=*/2, AppTypeNameV2::kArc);
   VerifyAppUsageTimeCountHistogram(/*expected_count=*/4,
                                    AppTypeName::kChromeBrowser);
+  VerifyAppUsageTimeCountHistogram(/*expected_count=*/4,
+                                   AppTypeNameV2::kChromeBrowser);
   VerifyAppUsageTimeHistogram(base::TimeDelta::FromMinutes(5),
                               /*expected_count=*/3,
                               AppTypeName::kChromeBrowser);
diff --git a/chrome/browser/ash/full_restore/full_restore_app_launch_handler.cc b/chrome/browser/ash/full_restore/full_restore_app_launch_handler.cc
index 317a9f6d..31227af 100644
--- a/chrome/browser/ash/full_restore/full_restore_app_launch_handler.cc
+++ b/chrome/browser/ash/full_restore/full_restore_app_launch_handler.cc
@@ -151,18 +151,6 @@
   restore_data_ = std::move(restore_data);
   LogRestoreData();
 
-  // Set profile path before init the restore process to create
-  // FullRestoreSaveHandler to observe restore windows.
-  if (ProfileHelper::Get()->GetUserByProfile(profile_) ==
-      user_manager::UserManager::Get()->GetPrimaryUser()) {
-    ::full_restore::FullRestoreSaveHandler::GetInstance()
-        ->SetPrimaryProfilePath(profile_->GetPath());
-
-    // In Multi-Profile mode, only set for the primary user. For other users,
-    // active profile path is set when switch users.
-    ::full_restore::SetActiveProfilePath(profile_->GetPath());
-  }
-
   // FullRestoreAppLaunchHandler could be created multiple times in browser
   // tests, and used by the desk template. Only when it is created by
   // FullRestoreService, we need to init FullRestoreService.
@@ -193,7 +181,7 @@
     should_launch_browser_ = false;
   }
 
-  VLOG(1) << "Restore apps";
+  VLOG(1) << "Restore apps in " << profile_->GetPath();
   if (FullRestoreArcTaskHandler::GetForProfile(profile_)) {
     FullRestoreArcTaskHandler::GetForProfile(profile_)
         ->arc_app_launch_handler()
@@ -217,7 +205,7 @@
   if (launch_list.find(extension_misc::kChromeAppId) == launch_list.end())
     return;
 
-  VLOG(1) << "Restore browser";
+  VLOG(1) << "Restore browser for " << profile_->GetPath();
   RecordRestoredAppLaunch(apps::AppTypeName::kChromeBrowser);
 
   restore_data_->RemoveApp(extension_misc::kChromeAppId);
@@ -286,7 +274,7 @@
 
 void FullRestoreAppLaunchHandler::LogRestoreData() {
   if (!restore_data_ || restore_data_->app_id_to_launch_list().empty()) {
-    VLOG(1) << "There is no restore data.";
+    VLOG(1) << "There is no restore data from " << profile_->GetPath();
     return;
   }
 
@@ -312,7 +300,7 @@
                   ? " has normal browser "
                   : " no normal ")
           << ") ARC(" << arc_app_count << ") other apps(" << other_app_count
-          << ")";
+          << ") in " << profile_->GetPath();
 }
 
 void FullRestoreAppLaunchHandler::MaybeStartSaveTimer() {
diff --git a/chrome/browser/ash/full_restore/full_restore_service.cc b/chrome/browser/ash/full_restore/full_restore_service.cc
index cfb57f53..502c9f8 100644
--- a/chrome/browser/ash/full_restore/full_restore_service.cc
+++ b/chrome/browser/ash/full_restore/full_restore_service.cc
@@ -25,6 +25,7 @@
 #include "components/account_id/account_id.h"
 #include "components/full_restore/full_restore_info.h"
 #include "components/full_restore/full_restore_save_handler.h"
+#include "components/full_restore/full_restore_utils.h"
 #include "components/prefs/pref_service.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_service.h"
@@ -93,6 +94,20 @@
         user->GetAccountId(), CanPerformRestore(prefs));
   }
 
+  // Set profile path before init the restore process to create
+  // FullRestoreSaveHandler to observe restore windows.
+  if (ProfileHelper::Get()->GetUserByProfile(profile_) ==
+      user_manager::UserManager::Get()->GetPrimaryUser()) {
+    ::full_restore::FullRestoreSaveHandler::GetInstance()
+        ->SetPrimaryProfilePath(profile_->GetPath());
+
+    // In Multi-Profile mode, only set for the primary user. For other users,
+    // active profile path is set when switch users.
+    ::full_restore::SetActiveProfilePath(profile_->GetPath());
+
+    can_be_inited_ = true;
+  }
+
   if (!HasRestorePref(prefs) && HasSessionStartupPref(prefs)) {
     // If there is no full restore pref, but there is a session restore setting,
     // set the first run flag to maintain the previous behavior for the first
@@ -101,7 +116,8 @@
     first_run_full_restore_ = true;
     SetDefaultRestorePrefIfNecessary(prefs);
     ::full_restore::FullRestoreSaveHandler::GetInstance()->AllowSave();
-    VLOG(1) << "No restore pref! First time to run full restore.";
+    VLOG(1) << "No restore pref! First time to run full restore."
+            << profile_->GetPath();
   }
 }
 
@@ -110,7 +126,13 @@
 void FullRestoreService::Init() {
   // If it is the first time to migrate to the full restore release, we don't
   // have other restore data, so we don't need to consider restoration.
-  if (first_run_full_restore_)
+  if (first_run_full_restore_ || !can_be_inited_)
+    return;
+
+  // If the user of `profile_` is not the primary user, and hasn't been the
+  // active user yet, we don't need to consider restoration to prevent the
+  // restored windows are written to the active user's profile path.
+  if (!can_be_inited_)
     return;
 
   PrefService* prefs = profile_->GetPrefs();
@@ -151,6 +173,15 @@
   }
 }
 
+void FullRestoreService::OnTransitionedToNewActiveUser(Profile* profile) {
+  const bool already_initialized = can_be_inited_;
+  if (profile_ != profile || already_initialized)
+    return;
+
+  can_be_inited_ = true;
+  Init();
+}
+
 void FullRestoreService::LaunchBrowserWhenReady() {
   if (!g_restore_for_testing)
     return;
@@ -160,7 +191,8 @@
 
 void FullRestoreService::MaybeCloseNotification(bool allow_save) {
   close_notification_ = true;
-  VLOG(1) << "The full restore notification is closed.";
+  VLOG(1) << "The full restore notification is closed for "
+          << profile_->GetPath();
 
   if (notification_ != nullptr && !is_shut_down_) {
     NotificationDisplayService::GetForProfile(profile_)->Close(
@@ -200,6 +232,9 @@
   if (!button_index.has_value() ||
       button_index.value() ==
           static_cast<int>(RestoreNotificationButtonIndex::kRestore)) {
+    VLOG(1) << "The restore notification is clicked for "
+            << profile_->GetPath();
+
     // Restore if the user clicks the notification body.
     RecordRestoreAction(notification_->id(), RestoreAction::kRestore);
     RecordWindowCount(kRestoreHistogramSuffix);
@@ -219,6 +254,9 @@
     return;
   }
 
+  VLOG(1) << "The crash restore notification is canceled for "
+          << profile_->GetPath();
+
   // Close the crash notification if the user clicks the cancel button of the
   // crash notification.
   RecordRestoreAction(notification_->id(), RestoreAction::kCancel);
@@ -265,10 +303,12 @@
   if (id == kRestoreForCrashNotificationId) {
     title = l10n_util::GetStringFUTF16(IDS_RESTORE_CRASH_NOTIFICATION_TITLE,
                                        ui::GetChromeOSDeviceName());
-    VLOG(1) << "Show the restore notification for crash.";
+    VLOG(1) << "Show the restore notification for crash for "
+            << profile_->GetPath();
   } else {
     title = l10n_util::GetStringUTF16(IDS_RESTORE_NOTIFICATION_TITLE);
-    VLOG(1) << "Show the restore notification for the normal startup.";
+    VLOG(1) << "Show the restore notification for the normal startup for "
+            << profile_->GetPath();
   }
 
   int message_id;
diff --git a/chrome/browser/ash/full_restore/full_restore_service.h b/chrome/browser/ash/full_restore/full_restore_service.h
index 1d859a8..851b45c7 100644
--- a/chrome/browser/ash/full_restore/full_restore_service.h
+++ b/chrome/browser/ash/full_restore/full_restore_service.h
@@ -68,6 +68,8 @@
 
   void Init();
 
+  void OnTransitionedToNewActiveUser(Profile* profile);
+
   // Launches the browser, When the restore data is loaded, and the user chooses
   // to restore.
   void LaunchBrowserWhenReady();
@@ -118,6 +120,17 @@
   Profile* profile_ = nullptr;
   PrefChangeRegistrar pref_change_registrar_;
 
+  // If the user of `profile_` is not the primary user, and hasn't been the
+  // active user yet, don't init to restore. Because if the restore setting is
+  // 'Always', the app could be launched directly after restart, and the app
+  // windows could be added to the primary user's profile path. This may cause
+  // the non-primary user lost some restored windows data.
+  //
+  // If the non primary user becomes the active user, set `can_be_inited_` as
+  // true to init and restore app. Otherwise, if `can_be_inited_` is false for
+  // the non primary user, defer the init and app restoration.
+  bool can_be_inited_ = false;
+
   bool is_shut_down_ = false;
   bool close_notification_ = false;
 
diff --git a/chrome/browser/ash/input_method/suggestions_service_client.cc b/chrome/browser/ash/input_method/suggestions_service_client.cc
index cd0e507..55bd8565 100644
--- a/chrome/browser/ash/input_method/suggestions_service_client.cc
+++ b/chrome/browser/ash/input_method/suggestions_service_client.cc
@@ -4,7 +4,9 @@
 
 #include "chrome/browser/ash/input_method/suggestions_service_client.h"
 
+#include "ash/constants/ash_features.h"
 #include "base/bind.h"
+#include "base/metrics/field_trial_params.h"
 #include "base/metrics/histogram_functions.h"
 #include "chromeos/services/machine_learning/public/cpp/service_connection.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
@@ -16,13 +18,27 @@
 using ::chromeos::ime::TextSuggestion;
 using ::chromeos::ime::TextSuggestionMode;
 using ::chromeos::ime::TextSuggestionType;
+using ::chromeos::machine_learning::mojom::MultiWordExperimentGroup;
 using ::chromeos::machine_learning::mojom::NextWordCompletionCandidate;
 using ::chromeos::machine_learning::mojom::TextSuggesterQuery;
 using ::chromeos::machine_learning::mojom::TextSuggesterResultPtr;
+using ::chromeos::machine_learning::mojom::TextSuggesterSpec;
 using ::chromeos::machine_learning::mojom::TextSuggestionCandidatePtr;
 
 constexpr size_t kMaxNumberCharsSent = 100;
 
+MultiWordExperimentGroup GetExperimentGroup(const std::string& finch_trial) {
+  if (finch_trial == "gboard")
+    return MultiWordExperimentGroup::kGboard;
+  if (finch_trial == "gboard_relaxed_a")
+    return MultiWordExperimentGroup::kGboardRelaxedA;
+  if (finch_trial == "gboard_relaxed_b")
+    return MultiWordExperimentGroup::kGboardRelaxedB;
+  if (finch_trial == "gboard_relaxed_c")
+    return MultiWordExperimentGroup::kGboardRelaxedC;
+  return MultiWordExperimentGroup::kDefault;
+}
+
 chromeos::machine_learning::mojom::TextSuggestionMode ToTextSuggestionModeMojom(
     TextSuggestionMode suggestion_mode) {
   switch (suggestion_mode) {
@@ -61,8 +77,9 @@
 }  // namespace
 
 SuggestionsServiceClient::SuggestionsServiceClient() {
-  auto spec = chromeos::machine_learning::mojom::TextSuggesterSpec::New(
-      chromeos::machine_learning::mojom::MultiWordExperimentGroup::kGboard);
+  std::string field_trial = base::GetFieldTrialParamValueByFeature(
+      chromeos::features::kAssistMultiWord, "group");
+  auto spec = TextSuggesterSpec::New(GetExperimentGroup(field_trial));
 
   chromeos::machine_learning::ServiceConnection::GetInstance()
       ->GetMachineLearningService()
diff --git a/chrome/browser/ash/system_extensions/BUILD.gn b/chrome/browser/ash/system_extensions/BUILD.gn
index 07a0cbf..2151d0f 100644
--- a/chrome/browser/ash/system_extensions/BUILD.gn
+++ b/chrome/browser/ash/system_extensions/BUILD.gn
@@ -24,6 +24,8 @@
     "system_extensions_provider.h",
     "system_extensions_provider_factory.cc",
     "system_extensions_provider_factory.h",
+    "system_extensions_sandboxed_unpacker.cc",
+    "system_extensions_sandboxed_unpacker.h",
     "system_extensions_ui.cc",
     "system_extensions_ui.h",
     "system_extensions_web_ui_config_map.cc",
@@ -41,6 +43,7 @@
     "//components/keyed_service/core",
     "//components/user_manager",
     "//content/public/browser",
+    "//services/data_decoder/public/cpp",
     "//skia",
     "//ui/webui",
   ]
@@ -59,3 +62,18 @@
     "//chrome/test:test_support_ui",
   ]
 }
+
+source_set("unit_tests") {
+  testonly = true
+
+  sources = [ "system_extensions_sandboxed_unpacker_unittest.cc" ]
+  deps = [
+    ":system_extensions",
+    "//base",
+    "//base/test:test_support",
+    "//services/data_decoder/public/cpp",
+    "//services/data_decoder/public/cpp:test_support",
+    "//skia",
+    "//testing/gtest",
+  ]
+}
diff --git a/chrome/browser/ash/system_extensions/system_extension.cc b/chrome/browser/ash/system_extensions/system_extension.cc
index 0178f651..7c632fa1 100644
--- a/chrome/browser/ash/system_extensions/system_extension.cc
+++ b/chrome/browser/ash/system_extensions/system_extension.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/ash/system_extensions/system_extension.h"
 
 #include "base/strings/string_number_conversions.h"
+#include "base/strings/string_piece.h"
 
 SystemExtension::SystemExtension() = default;
 
@@ -12,9 +13,13 @@
 
 // static
 std::string SystemExtension::IdToString(const SystemExtensionId& id) {
-  std::string id_str;
-  for (uint8_t i : id) {
-    id_str += base::NumberToString(i);
-  }
-  return id_str;
+  return base::HexEncode(id);
+}
+
+absl::optional<SystemExtensionId> SystemExtension::StringToId(
+    base::StringPiece id_str) {
+  SystemExtensionId id;
+  if (base::HexStringToSpan(id_str, id))
+    return id;
+  return absl::nullopt;
 }
diff --git a/chrome/browser/ash/system_extensions/system_extension.h b/chrome/browser/ash/system_extensions/system_extension.h
index 38298523..92c750a 100644
--- a/chrome/browser/ash/system_extensions/system_extension.h
+++ b/chrome/browser/ash/system_extensions/system_extension.h
@@ -7,6 +7,8 @@
 
 #include <array>
 
+#include "base/strings/string_piece_forward.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 #include "url/gurl.h"
 #include "url/origin.h"
 
@@ -25,6 +27,7 @@
   SystemExtension& operator=(SystemExtension&&) = default;
 
   static std::string IdToString(const SystemExtensionId& system_extension_id);
+  static absl::optional<SystemExtensionId> StringToId(base::StringPiece id_str);
 
   // The following fields are specified by the System Extension itself.
 
@@ -36,9 +39,9 @@
   std::string name;
   // Display name of the System Extension to be used where
   // the number of characters is limited.
-  std::string short_name;
+  absl::optional<std::string> short_name;
   // Web App that the System Extension is allowed to communicate with.
-  GURL companion_web_app_url;
+  absl::optional<GURL> companion_web_app_url;
   // Entry point to the System Extension. For now, we just open a page
   // in the background, but we'll change to a Service Worker once
   // chrome-untrusted:// supports Service Workers.
diff --git a/chrome/browser/ash/system_extensions/system_extensions_browsertest.cc b/chrome/browser/ash/system_extensions/system_extensions_browsertest.cc
index 7e73e2c..88cb74b 100644
--- a/chrome/browser/ash/system_extensions/system_extensions_browsertest.cc
+++ b/chrome/browser/ash/system_extensions/system_extensions_browsertest.cc
@@ -30,13 +30,13 @@
 )";
 
 constexpr char kTestSystemExtensionIndexURL[] =
-    "chrome-untrusted://system-extension-echo-1234/html/index.html";
+    "chrome-untrusted://system-extension-echo-01020304/html/index.html";
 
 constexpr char kTestSystemExtensionWrongURL[] =
-    "chrome-untrusted://system-extension-echo-1234/html/wrong.html";
+    "chrome-untrusted://system-extension-echo-01020304/html/wrong.html";
 
 constexpr char kTestSystemExtensionEmptyPathURL[] =
-    "chrome-untrusted://system-extension-echo-1234/";
+    "chrome-untrusted://system-extension-echo-01020304/";
 
 // Creates fake resources in the directory where the System Extension would
 // be installed.
@@ -76,12 +76,18 @@
 IN_PROC_BROWSER_TEST_F(SystemExtensionsBrowserTest, ExtensionInstalled) {
   auto* provider = SystemExtensionsProvider::Get(browser()->profile());
   auto& install_manager = provider->install_manager();
+
+  base::RunLoop run_loop;
+  install_manager.on_command_line_install_finished().Post(
+      FROM_HERE, run_loop.QuitClosure());
+  run_loop.Run();
+
   auto extension_ids = install_manager.GetSystemExtensionIds();
   EXPECT_EQ(std::vector<SystemExtensionId>({kTestSystemExtensionId}),
             extension_ids);
   EXPECT_TRUE(install_manager.GetSystemExtensionById(kTestSystemExtensionId));
 
-  // TODO(calamity): Actually create resources instead of faking them.
+  // TODO(ortuno): Actually move resources instead of faking them.
   CreateFakeSystemExtensionResources(browser()->profile()->GetPath(),
                                      kTestSystemExtensionId);
   auto* tab = browser()->tab_strip_model()->GetActiveWebContents();
diff --git a/chrome/browser/ash/system_extensions/system_extensions_data_source.cc b/chrome/browser/ash/system_extensions/system_extensions_data_source.cc
index c8c25893..c8a45f13 100644
--- a/chrome/browser/ash/system_extensions/system_extensions_data_source.cc
+++ b/chrome/browser/ash/system_extensions/system_extensions_data_source.cc
@@ -7,9 +7,9 @@
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/memory/ref_counted_memory.h"
-#include "base/task/post_task.h"
 #include "base/task/task_traits.h"
 #include "base/task/thread_pool.h"
+#include "chrome/browser/ash/system_extensions/system_extensions_provider.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/buildflags.h"
 #include "content/public/browser/url_data_source.h"
@@ -20,8 +20,6 @@
 
 constexpr char kDefaultMime[] = "text/html";
 
-constexpr char kSystemExtensionsProfileDirectory[] = "SystemExtensions";
-
 void ReadFile(const base::FilePath& path,
               content::URLDataSource::GotDataCallback callback) {
   if (!base::PathIsReadable(path)) {
diff --git a/chrome/browser/ash/system_extensions/system_extensions_install_manager.cc b/chrome/browser/ash/system_extensions/system_extensions_install_manager.cc
index 3d7e218..f8b2434 100644
--- a/chrome/browser/ash/system_extensions/system_extensions_install_manager.cc
+++ b/chrome/browser/ash/system_extensions/system_extensions_install_manager.cc
@@ -7,6 +7,7 @@
 #include "base/files/file_path.h"
 #include "base/json/json_reader.h"
 #include "base/logging.h"
+#include "base/one_shot_event.h"
 #include "base/path_service.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_piece.h"
@@ -20,32 +21,17 @@
 #include "url/origin.h"
 
 namespace {
+
 constexpr char kEchoSystemExtensionManifest[] =
     R"({
           "name": "Sample System Web Extension",
           "short_name": "Sample SWX",
           "companion_web_app_url": "https://example.com",
           "service_worker_url": "/sw.js",
-          "id": "1234",
+          "id": "01020304",
           "type": "echo"
     })";
 
-constexpr char kSystemExtensionEchoPrefix[] = "system-extension-echo-";
-
-GURL GetBaseURL(const std::string& id, SystemExtensionType type) {
-  // The host is made of up a System Extension prefix based on the type and
-  // the System Extension Id.
-  base::StringPiece host_prefix;
-  switch (type) {
-    case SystemExtensionType::kEcho:
-      host_prefix = kSystemExtensionEchoPrefix;
-      break;
-  }
-  const std::string host = base::StrCat({host_prefix, id});
-  return GURL(base::StrCat({content::kChromeUIUntrustedScheme,
-                            url::kStandardSchemeSeparator, host}));
-}
-
 }  // namespace
 
 SystemExtensionsInstallManager::SystemExtensionsInstallManager() {
@@ -68,37 +54,32 @@
   const auto it = system_extensions_.find(id);
   if (it == system_extensions_.end())
     return nullptr;
-  return &(it->second);
+  return it->second.get();
 }
 
 void SystemExtensionsInstallManager::InstallFromCommandLineIfNecessary() {
-  base::FilePath user_data_directory;
-  base::PathService::Get(chrome::DIR_USER_DATA, &user_data_directory);
+  sandboxed_unpacker_.GetSystemExtensionFromString(
+      kEchoSystemExtensionManifest,
+      base::BindOnce(
+          &SystemExtensionsInstallManager::OnGetSystemExtensionFromDir,
+          weak_ptr_factory_.GetWeakPtr()));
+}
 
-  // For now just use a hardcoded System Extension manifest. Future CLs will
-  // change this to take a command line argument to a CRX.
-  absl::optional<base::Value> value =
-      base::JSONReader::Read(kEchoSystemExtensionManifest);
-  if (base::CompareCaseInsensitiveASCII("echo",
-                                        *value->FindStringKey("type")) != 0) {
-    LOG(ERROR) << "System Extension type is not supported.";
+void SystemExtensionsInstallManager::OnGetSystemExtensionFromDir(
+    SystemExtensionsSandboxedUnpacker::Status status,
+    std::unique_ptr<SystemExtension> system_extension) {
+  if (status != SystemExtensionsSandboxedUnpacker::Status::kOk) {
+    LOG(ERROR) << "Failed to install extension from command line: "
+               << static_cast<int32_t>(status);
+    on_command_line_install_finished_.Signal();
     return;
   }
 
-  SystemExtension system_extension;
-  std::string id = *value->FindStringKey("id");
-  system_extension.id = {1, 2, 3, 4};
-  system_extension.type = SystemExtensionType::kEcho;
-  system_extension.name = *value->FindStringKey("name");
-  system_extension.short_name = *value->FindStringKey("short_name");
-  system_extension.companion_web_app_url =
-      GURL(*value->FindStringKey("companion_web_app_url"));
-
-  system_extension.base_url = GetBaseURL(id, system_extension.type);
-  system_extension.service_worker_url = system_extension.base_url.Resolve(
-      *value->FindStringKey("service_worker_url"));
+  // TODO(ortuno): Move resources from the specified directory into the user
+  // profile.
 
   SystemExtensionsWebUIConfigMap::GetInstance().AddForSystemExtension(
-      system_extension);
+      *system_extension.get());
   system_extensions_[{1, 2, 3, 4}] = std::move(system_extension);
+  on_command_line_install_finished_.Signal();
 }
diff --git a/chrome/browser/ash/system_extensions/system_extensions_install_manager.h b/chrome/browser/ash/system_extensions/system_extensions_install_manager.h
index 4d5a778..ea7cdb1 100644
--- a/chrome/browser/ash/system_extensions/system_extensions_install_manager.h
+++ b/chrome/browser/ash/system_extensions/system_extensions_install_manager.h
@@ -7,7 +7,10 @@
 
 #include <map>
 
+#include "base/memory/weak_ptr.h"
+#include "base/one_shot_event.h"
 #include "chrome/browser/ash/system_extensions/system_extension.h"
+#include "chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker.h"
 
 class SystemExtensionsInstallManager {
  public:
@@ -18,15 +21,29 @@
       const SystemExtensionsInstallManager&) = delete;
   ~SystemExtensionsInstallManager();
 
+  const base::OneShotEvent& on_command_line_install_finished() {
+    return on_command_line_install_finished_;
+  }
+
   // TODO(ortuno): Move these to a Registrar or Database.
   std::vector<SystemExtensionId> GetSystemExtensionIds();
   const SystemExtension* GetSystemExtensionById(const SystemExtensionId& id);
 
  private:
   void InstallFromCommandLineIfNecessary();
+  void OnGetSystemExtensionFromDir(
+      SystemExtensionsSandboxedUnpacker::Status status,
+      std::unique_ptr<SystemExtension> system_extension);
+
+  base::OneShotEvent on_command_line_install_finished_;
+
+  SystemExtensionsSandboxedUnpacker sandboxed_unpacker_;
 
   // TODO(ortuno): Move this to a Registrar or Database.
-  std::map<SystemExtensionId, SystemExtension> system_extensions_;
+  std::map<SystemExtensionId, std::unique_ptr<SystemExtension>>
+      system_extensions_;
+
+  base::WeakPtrFactory<SystemExtensionsInstallManager> weak_ptr_factory_{this};
 };
 
 #endif  // CHROME_BROWSER_ASH_SYSTEM_EXTENSIONS_SYSTEM_EXTENSIONS_INSTALL_MANAGER_H_
diff --git a/chrome/browser/ash/system_extensions/system_extensions_provider.cc b/chrome/browser/ash/system_extensions/system_extensions_provider.cc
index b8f1db6..8d8c791 100644
--- a/chrome/browser/ash/system_extensions/system_extensions_provider.cc
+++ b/chrome/browser/ash/system_extensions/system_extensions_provider.cc
@@ -8,6 +8,8 @@
 #include "chrome/browser/ash/system_extensions/system_extensions_provider_factory.h"
 #include "chrome/browser/ash/system_extensions/system_extensions_web_ui_config_map.h"
 
+constexpr char kSystemExtensionsProfileDirectory[] = "SystemExtensions";
+
 // static
 SystemExtensionsProvider* SystemExtensionsProvider::Get(Profile* profile) {
   return SystemExtensionsProviderFactory::GetForProfileIfExists(profile);
diff --git a/chrome/browser/ash/system_extensions/system_extensions_provider.h b/chrome/browser/ash/system_extensions/system_extensions_provider.h
index 6d57f03..b01f39b 100644
--- a/chrome/browser/ash/system_extensions/system_extensions_provider.h
+++ b/chrome/browser/ash/system_extensions/system_extensions_provider.h
@@ -13,6 +13,10 @@
 class Profile;
 class SystemExtensionsInstallManager;
 
+// Name of the directory, under the user profile directory, where System
+// Extensions are installed.
+extern const char kSystemExtensionsProfileDirectory[];
+
 // Manages the installation, storage, and execution of System Extensions.
 class SystemExtensionsProvider : public KeyedService {
  public:
diff --git a/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker.cc b/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker.cc
new file mode 100644
index 0000000..05cde52
--- /dev/null
+++ b/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker.cc
@@ -0,0 +1,165 @@
+// 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/ash/system_extensions/system_extensions_sandboxed_unpacker.h"
+
+#include "base/callback.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/logging.h"
+#include "base/strings/strcat.h"
+#include "base/strings/string_piece.h"
+#include "base/strings/string_util.h"
+#include "base/values.h"
+#include "content/public/common/url_constants.h"
+#include "services/data_decoder/public/cpp/data_decoder.h"
+#include "url/gurl.h"
+
+namespace {
+
+const constexpr char kIdKey[] = "id";
+const constexpr char kTypeKey[] = "type";
+const constexpr char kNameKey[] = "name";
+const constexpr char kShortNameKey[] = "short_name";
+const constexpr char kCompanionWebAppUrlKey[] = "companion_web_app_url";
+const constexpr char kServiceWorkerUrlKey[] = "service_worker_url";
+
+GURL GetBaseURL(const std::string& id, SystemExtensionType type) {
+  // The host is made of up a System Extension prefix based on the type and
+  // the System Extension Id.
+
+  base::StringPiece host_prefix;
+  switch (type) {
+    case SystemExtensionType::kEcho:
+      static constexpr char kSystemExtensionEchoPrefix[] =
+          "system-extension-echo-";
+      host_prefix = kSystemExtensionEchoPrefix;
+      break;
+  }
+  const std::string host = base::StrCat({host_prefix, id});
+  return GURL(base::StrCat({content::kChromeUIUntrustedScheme,
+                            url::kStandardSchemeSeparator, host}));
+}
+
+}  // namespace
+
+SystemExtensionsSandboxedUnpacker::SystemExtensionsSandboxedUnpacker() =
+    default;
+
+SystemExtensionsSandboxedUnpacker::~SystemExtensionsSandboxedUnpacker() =
+    default;
+
+void SystemExtensionsSandboxedUnpacker::GetSystemExtensionFromString(
+    base::StringPiece system_extension_manifest_string,
+    GetSystemExtensionFromStringCallback callback) {
+  data_decoder::DataDecoder::ParseJsonIsolated(
+      std::string(system_extension_manifest_string),
+      base::BindOnce(
+          &SystemExtensionsSandboxedUnpacker::OnSystemExtensionManifestParsed,
+          weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void SystemExtensionsSandboxedUnpacker::OnSystemExtensionManifestParsed(
+    GetSystemExtensionFromStringCallback callback,
+    data_decoder::DataDecoder::ValueOrError value_or_error) {
+  if (value_or_error.error.has_value()) {
+    std::move(callback).Run(Status::kFailedJsonErrorParsingManifest, nullptr);
+    return;
+  }
+
+  base::Value& parsed_manifest = value_or_error.value.value();
+
+  auto system_extension = std::make_unique<SystemExtension>();
+
+  // Parse mandatory fields.
+
+  // Parse id.
+  std::string* id_str = parsed_manifest.FindStringKey(kIdKey);
+  if (!id_str) {
+    std::move(callback).Run(Status::kFailedIdMissing, nullptr);
+    return;
+  }
+  absl::optional<SystemExtensionId> id = SystemExtension::StringToId(*id_str);
+  if (!id.has_value()) {
+    std::move(callback).Run(Status::kFailedIdInvalid, nullptr);
+    return;
+  }
+  system_extension->id = id.value();
+
+  // Parse type.
+  std::string* type_str = parsed_manifest.FindStringKey(kTypeKey);
+  if (!type_str) {
+    std::move(callback).Run(Status::kFailedTypeMissing, nullptr);
+    return;
+  }
+  if (base::CompareCaseInsensitiveASCII("echo", *type_str) != 0) {
+    std::move(callback).Run(Status::kFailedTypeInvalid, nullptr);
+    return;
+  }
+  system_extension->type = SystemExtensionType::kEcho;
+
+  // Parse base_url.
+  const GURL base_url = GetBaseURL(*id_str, system_extension->type);
+  // If both the type and id are valid, there is no possible way for the
+  // base_url to be invalid.
+  CHECK(base_url.is_valid());
+  system_extension->base_url = base_url;
+
+  // Parse service_worker_url.
+  std::string* service_worker_path =
+      parsed_manifest.FindStringKey(kServiceWorkerUrlKey);
+  if (!service_worker_path) {
+    std::move(callback).Run(Status::kFailedServiceWorkerUrlMissing, nullptr);
+    return;
+  }
+  const GURL service_worker_url = base_url.Resolve(*service_worker_path);
+  if (!service_worker_url.is_valid() || service_worker_url == base_url) {
+    std::move(callback).Run(Status::kFailedServiceWorkerUrlInvalid, nullptr);
+    return;
+  }
+  if (!url::IsSameOriginWith(base_url, service_worker_url)) {
+    std::move(callback).Run(Status::kFailedServiceWorkerUrlDifferentOrigin,
+                            nullptr);
+    return;
+  }
+  system_extension->service_worker_url = service_worker_url;
+
+  // Parse name.
+  // TODO(ortuno): Decide a set of invalid characters and remove them/fail
+  // installation.
+  std::string* name = parsed_manifest.FindStringKey(kNameKey);
+  if (!name) {
+    std::move(callback).Run(Status::kFailedNameMissing, nullptr);
+    return;
+  }
+
+  if (name->empty()) {
+    std::move(callback).Run(Status::kFailedNameEmpty, nullptr);
+    return;
+  }
+  system_extension->name = *name;
+
+  // Parse optional fields.
+
+  // Parse short_name.
+  std::string* short_name_str = parsed_manifest.FindStringKey(kShortNameKey);
+  if (short_name_str && !short_name_str->empty()) {
+    system_extension->short_name = *short_name_str;
+  }
+
+  // Parse companion_web_app_url.
+  if (std::string* companion_web_app_url_str =
+          parsed_manifest.FindStringKey(kCompanionWebAppUrlKey)) {
+    GURL companion_web_app_url(*companion_web_app_url_str);
+    if (companion_web_app_url.is_valid() &&
+        companion_web_app_url.SchemeIs(url::kHttpsScheme)) {
+      system_extension->companion_web_app_url = companion_web_app_url;
+    } else {
+      LOG(WARNING) << "Companion Web App URL is invalid: "
+                   << companion_web_app_url;
+    }
+  }
+
+  std::move(callback).Run(Status::kOk, std::move(system_extension));
+}
diff --git a/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker.h b/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker.h
new file mode 100644
index 0000000..500d818
--- /dev/null
+++ b/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker.h
@@ -0,0 +1,53 @@
+// 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 CHROME_BROWSER_ASH_SYSTEM_EXTENSIONS_SYSTEM_EXTENSIONS_SANDBOXED_UNPACKER_H_
+#define CHROME_BROWSER_ASH_SYSTEM_EXTENSIONS_SYSTEM_EXTENSIONS_SANDBOXED_UNPACKER_H_
+
+#include "base/callback_forward.h"
+#include "base/files/file_path.h"
+#include "chrome/browser/ash/system_extensions/system_extension.h"
+#include "services/data_decoder/public/cpp/data_decoder.h"
+#include "third_party/abseil-cpp/absl/types/variant.h"
+
+class SystemExtensionsSandboxedUnpacker {
+ public:
+  SystemExtensionsSandboxedUnpacker();
+  SystemExtensionsSandboxedUnpacker(const SystemExtensionsSandboxedUnpacker&) =
+      delete;
+  SystemExtensionsSandboxedUnpacker& operator=(
+      const SystemExtensionsSandboxedUnpacker&) = delete;
+  ~SystemExtensionsSandboxedUnpacker();
+
+  enum class Status {
+    kOk,
+    kFailedJsonErrorParsingManifest,
+    kFailedIdMissing,
+    kFailedIdInvalid,
+    kFailedTypeMissing,
+    kFailedTypeInvalid,
+    kFailedServiceWorkerUrlMissing,
+    kFailedServiceWorkerUrlInvalid,
+    kFailedServiceWorkerUrlDifferentOrigin,
+    kFailedNameMissing,
+    kFailedNameEmpty,
+  };
+
+  // Attempts to create a SystemExtension object from a manifest string.
+  using GetSystemExtensionFromStringCallback =
+      base::OnceCallback<void(Status, std::unique_ptr<SystemExtension>)>;
+  void GetSystemExtensionFromString(
+      base::StringPiece system_extension_manifest_string,
+      GetSystemExtensionFromStringCallback callback);
+
+ private:
+  void OnSystemExtensionManifestParsed(
+      GetSystemExtensionFromStringCallback callback,
+      data_decoder::DataDecoder::ValueOrError value_or_error);
+
+  base::WeakPtrFactory<SystemExtensionsSandboxedUnpacker> weak_ptr_factory_{
+      this};
+};
+
+#endif  // CHROME_BROWSER_ASH_SYSTEM_EXTENSIONS_SYSTEM_EXTENSIONS_SANDBOXED_UNPACKER_H_
diff --git a/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker_unittest.cc b/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker_unittest.cc
new file mode 100644
index 0000000..1cc3e1c
--- /dev/null
+++ b/chrome/browser/ash/system_extensions/system_extensions_sandboxed_unpacker_unittest.cc
@@ -0,0 +1,425 @@
+// 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/ash/system_extensions/system_extensions_sandboxed_unpacker.h"
+
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/files/scoped_temp_dir.h"
+#include "base/test/bind.h"
+#include "base/test/task_environment.h"
+#include "services/data_decoder/public/cpp/test_support/in_process_data_decoder.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using Status = SystemExtensionsSandboxedUnpacker::Status;
+
+namespace {
+
+class SystemExtensionsSandboxedUnpackerTest : public testing::Test {
+ public:
+  std::tuple<Status, std::unique_ptr<SystemExtension>>
+  GetSystemExtensionFromStringAndWait(base::StringPiece manifest) {
+    base::RunLoop run_loop;
+    Status status;
+    std::unique_ptr<SystemExtension> system_extension;
+
+    // Create SystemExtension.
+    SystemExtensionsSandboxedUnpacker unpacker;
+    unpacker.GetSystemExtensionFromString(
+        manifest, base::BindLambdaForTesting(
+                      [&](Status returned_status,
+                          std::unique_ptr<SystemExtension> returned_extension) {
+                        status = returned_status;
+                        system_extension = std::move(returned_extension);
+                        run_loop.Quit();
+                      }));
+    run_loop.Run();
+
+    return {status, std::move(system_extension)};
+  }
+
+ private:
+  base::ScopedTempDir system_extension_dir_;
+  base::test::TaskEnvironment task_environment;
+  data_decoder::test::InProcessDataDecoder in_process_data_decoder_;
+};
+
+}  // namespace
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Success) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+  EXPECT_EQ(Status::kOk, status);
+  EXPECT_TRUE(system_extension.get());
+
+  EXPECT_EQ(SystemExtensionId({1, 2, 3, 4}), system_extension->id);
+  EXPECT_EQ(SystemExtensionType::kEcho, system_extension->type);
+  EXPECT_EQ("chrome-untrusted://system-extension-echo-01020304/",
+            system_extension->base_url.spec());
+  EXPECT_EQ("chrome-untrusted://system-extension-echo-01020304/sw.js",
+            system_extension->service_worker_url.spec());
+  EXPECT_EQ("Long Test", system_extension->name);
+  ASSERT_TRUE(system_extension->short_name.has_value());
+  EXPECT_EQ("Test", system_extension->short_name);
+  ASSERT_TRUE(system_extension->companion_web_app_url.has_value());
+  EXPECT_EQ("https://test.example/",
+            system_extension->companion_web_app_url->spec());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_EmptyManifest) {
+  static constexpr const char kSystemExtensionManifest[] = R"()";
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+  EXPECT_EQ(Status::kFailedJsonErrorParsingManifest, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_EmptyManifest2) {
+  static constexpr const char kSystemExtensionManifest[] = R"({})";
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedIdMissing, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_IdMissing) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedIdMissing, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_IdInvalidTooShort) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "0102",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedIdInvalid, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_IdInvalidTooLong) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "010203040506",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedIdInvalid, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_IdInvalidCharacters) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "0102030X",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedIdInvalid, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_TypeMissing) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedTypeMissing, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_TypeInvalid) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "foo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedTypeInvalid, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_ServiceWorkerUrlMissing) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedServiceWorkerUrlMissing, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_ServiceWorkerUrlInvalid) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "../",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedServiceWorkerUrlInvalid, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_ServiceWorkerUrlEmpty) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedServiceWorkerUrlInvalid, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest,
+       Failure_ServiceWorkerUrlInvalidDifferentOrigin) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "https://test.example",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedServiceWorkerUrlDifferentOrigin, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_NameMissing) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedNameMissing, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Failure_NameEmpty) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "",
+    "short_name": "Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kFailedNameEmpty, status);
+  EXPECT_FALSE(system_extension.get());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Success_NoShortName) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kOk, status);
+  ASSERT_TRUE(system_extension.get());
+  EXPECT_FALSE(system_extension->short_name.has_value());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Success_EmptyShortName) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "",
+    "companion_web_app_url": "https://test.example/"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kOk, status);
+  ASSERT_TRUE(system_extension.get());
+  EXPECT_FALSE(system_extension->short_name.has_value());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest, Success_NoCompanionWebAppUrl) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kOk, status);
+  ASSERT_TRUE(system_extension.get());
+  EXPECT_FALSE(system_extension->companion_web_app_url.has_value());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest,
+       Success_InvalidCompanionWebAppUrl) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "foobar"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kOk, status);
+  ASSERT_TRUE(system_extension.get());
+  EXPECT_FALSE(system_extension->companion_web_app_url.has_value());
+}
+
+TEST_F(SystemExtensionsSandboxedUnpackerTest,
+       Success_InsecureCompanionWebAppUrl) {
+  static constexpr const char kSystemExtensionManifest[] = R"({
+    "id": "01020304",
+    "type": "echo",
+    "service_worker_url": "/sw.js",
+    "name": "Long Test",
+    "short_name": "Test",
+    "companion_web_app_url": "http://test.example"
+  })";
+
+  std::unique_ptr<SystemExtension> system_extension;
+  Status status;
+  std::tie(status, system_extension) =
+      GetSystemExtensionFromStringAndWait(kSystemExtensionManifest);
+
+  EXPECT_EQ(Status::kOk, status);
+  ASSERT_TRUE(system_extension.get());
+  EXPECT_FALSE(system_extension->companion_web_app_url.has_value());
+}
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
index 6ec5115..daa33a4 100644
--- a/chrome/browser/chrome_browser_interface_binders.cc
+++ b/chrome/browser/chrome_browser_interface_binders.cc
@@ -145,6 +145,7 @@
 #include "chrome/browser/ui/webui/settings/settings_ui.h"
 #include "chrome/browser/ui/webui/tab_search/tab_search.mojom.h"
 #include "chrome/browser/ui/webui/tab_search/tab_search_ui.h"
+#include "chrome/browser/ui/webui/whats_new/whats_new_ui.h"
 #include "chrome/common/webui_url_constants.h"
 #include "components/history_clusters/core/memories_features.h"
 #include "components/search/ntp_features.h"
@@ -705,7 +706,8 @@
   }
 
   RegisterWebUIControllerInterfaceBinder<
-      promo_browser_command::mojom::CommandHandler, NewTabPageUI>(map);
+      promo_browser_command::mojom::CommandHandlerFactory, NewTabPageUI,
+      WhatsNewUI>(map);
 
   RegisterWebUIControllerInterfaceBinder<realbox::mojom::PageHandler,
                                          NewTabPageUI>(map);
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 69b31dd..af2c065 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -1354,27 +1354,6 @@
   return browser_shutdown::HasShutdownStarted();
 }
 
-content::StoragePartitionId
-ChromeContentBrowserClient::GetStoragePartitionIdForSite(
-    content::BrowserContext* browser_context,
-    const GURL& site) {
-  // The partition ID for webview guest processes is the string value of its
-  // SiteInstance URL - "chrome-guest://app_id/persist?partition".
-  if (site.SchemeIs(content::kGuestScheme))
-    return content::StoragePartitionId(
-        site.spec(), GetStoragePartitionConfigForSite(browser_context, site));
-#if BUILDFLAG(ENABLE_EXTENSIONS)
-  // The partition ID for extensions with isolated storage is treated similarly
-  // to the above.
-  else if (extensions::util::IsExtensionSiteWithIsolatedStorage(
-               site, browser_context))
-    return content::StoragePartitionId(
-        site.spec(), GetStoragePartitionConfigForSite(browser_context, site));
-#endif
-
-  return content::StoragePartitionId(browser_context);
-}
-
 content::StoragePartitionConfig
 ChromeContentBrowserClient::GetStoragePartitionConfigForSite(
     content::BrowserContext* browser_context,
@@ -1385,6 +1364,8 @@
       content::StoragePartitionConfig::CreateDefault(browser_context);
 
 #if BUILDFLAG(ENABLE_EXTENSIONS)
+  // The partition ID for webview guest processes is the string value of its
+  // SiteInstance URL - "chrome-guest://app_id/persist?partition".
   if (extensions::WebViewGuest::GetGuestPartitionConfigForSite(
           browser_context, site, &storage_partition_config)) {
     return storage_partition_config;
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
index 06a8264..21266ef 100644
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -132,9 +132,6 @@
       base::OnceClosure task) override;
   bool IsBrowserStartupComplete() override;
   void SetBrowserStartupIsCompleteForTesting() override;
-  content::StoragePartitionId GetStoragePartitionIdForSite(
-      content::BrowserContext* browser_context,
-      const GURL& site) override;
   bool IsShuttingDown() override;
   content::StoragePartitionConfig GetStoragePartitionConfigForSite(
       content::BrowserContext* browser_context,
diff --git a/chrome/browser/chromeos/locale_change_guard.cc b/chrome/browser/chromeos/locale_change_guard.cc
index 404f5e4..570f60a4 100644
--- a/chrome/browser/chromeos/locale_change_guard.cc
+++ b/chrome/browser/chromeos/locale_change_guard.cc
@@ -123,19 +123,18 @@
   }
 
   std::string to_locale = prefs->GetString(language::prefs::kApplicationLocale);
+  // Ensure that synchronization does not change the locale to a value not
+  // allowed by enterprise policy.
+  if (!chromeos::locale_util::IsAllowedUILanguage(to_locale, prefs)) {
+    prefs->SetString(
+        language::prefs::kApplicationLocale,
+        chromeos::locale_util::GetAllowedFallbackUILanguage(prefs));
+  }
+
   language::ConvertToActualUILocale(&to_locale);
-  if (to_locale != cur_locale) {
-    // This conditional branch can occur in cases like:
-    // (1) kApplicationLocale preference was modified by synchronization;
-    // (2) kApplicationLocale is managed by policy.
 
-    // Ensure that synchronization does not change the locale to a value not
-    // allowed by enterprise policy.
-    if (!chromeos::locale_util::IsAllowedUILanguage(to_locale, prefs))
-      prefs->SetString(language::prefs::kApplicationLocale, cur_locale);
-
-    if (locale_changed_during_login_)
-      ash::LocaleUpdateController::Get()->OnLocaleChanged();
+  if (to_locale != cur_locale && locale_changed_during_login_) {
+    ash::LocaleUpdateController::Get()->OnLocaleChanged();
     return;
   }
 
diff --git a/chrome/browser/data_saver/lite_video_browsertest.cc b/chrome/browser/data_saver/lite_video_browsertest.cc
index 01c6e9a0..854d32fd 100644
--- a/chrome/browser/data_saver/lite_video_browsertest.cc
+++ b/chrome/browser/data_saver/lite_video_browsertest.cc
@@ -699,4 +699,103 @@
           lite_video::LiteVideoThrottleResult::kThrottleStoppedOnRebuffer));
 }
 
+class LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest
+    : public LiteVideoStopThrottlingOnPlaybackSeekBrowserTest {
+ public:
+  LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest()
+      : prerender_helper_(base::BindRepeating(
+            &LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest::
+                GetWebContents,
+            base::Unretained(this))) {}
+  ~LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest() override =
+      default;
+  LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest(
+      const LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest&) =
+      delete;
+
+  LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest& operator=(
+      const LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest&) =
+      delete;
+
+  void SetUp() override {
+    prerender_helper_.SetUp(&http_server_);
+    LiteVideoBrowserTest::SetUp();
+  }
+
+  void SetUpOnMainThread() override {
+    host_resolver()->AddRule("*", "127.0.0.1");
+    LiteVideoStopThrottlingOnPlaybackSeekBrowserTest::SetUpOnMainThread();
+  }
+
+  content::test::PrerenderTestHelper& prerender_test_helper() {
+    return prerender_helper_;
+  }
+
+  content::WebContents* GetWebContents() {
+    return browser()->tab_strip_model()->GetActiveWebContents();
+  }
+
+ private:
+  content::test::PrerenderTestHelper prerender_helper_;
+};
+
+INSTANTIATE_TEST_SUITE_P(
+    ,
+    LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest,
+    ::testing::Bool());
+
+IN_PROC_BROWSER_TEST_P(
+    LiteVideoStopThrottlingOnPlaybackSeekPrerenderBrowserTest,
+    PrerenderingShouldNotAffectPlaybackSeekTest) {
+  ukm::TestAutoSetUkmRecorder ukm_recorder;
+  TestMSEPlayback("bear-vp9.webm", "2000", "2000", false);
+
+  // Load the media page in the prerender and the prerendering shouldn't
+  // affect the existing media playback seek test.
+  prerender_test_helper().AddPrerender(media_url());
+
+  RetryForHistogramUntilCountReached(histogram_tester(),
+                                     "Media.VideoHeight.Initial.MSE", 1);
+
+  histogram_tester().ExpectUniqueSample("LiteVideo.HintAgent.HasHint", true, 1);
+
+  // Trigger a media playback seek.
+  ASSERT_TRUE(
+      content::ExecJs(browser()->tab_strip_model()->GetActiveWebContents(),
+                      "document.querySelector('video').currentTime = 1"));
+
+  // Verify some responses were throttled and then throttling is stopped.
+  if (should_disable_lite_videos_on_seek()) {
+    RetryForHistogramUntilCountReached(
+        histogram_tester(), "LiteVideo.MediaPlayerSeek.StopThrottling", 1);
+  }
+
+  EXPECT_GE(1U, histogram_tester()
+                    .GetAllSamples("LiteVideo.URLLoader.ThrottleLatency")
+                    .size());
+  EXPECT_EQ(should_disable_lite_videos_on_seek() ? 1U : 0U,
+            histogram_tester()
+                .GetAllSamples("LiteVideo.MediaPlayerSeek.StopThrottling")
+                .size());
+  EXPECT_GE(
+      1U, histogram_tester()
+              .GetAllSamples("LiteVideo.NavigationMetrics.FrameRebufferMapSize")
+              .size());
+
+  // Close the tab to flush the UKM metrics.
+  browser()->tab_strip_model()->GetActiveWebContents()->Close();
+
+  auto entries =
+      ukm_recorder.GetEntriesByName(ukm::builders::LiteVideo::kEntryName);
+  ASSERT_EQ(1u, entries.size());
+  auto* entry = entries[0];
+  ukm_recorder.ExpectEntrySourceHasUrl(entry, media_url());
+  ukm_recorder.ExpectEntryMetric(
+      entry, ukm::builders::LiteVideo::kThrottlingStartDecisionName,
+      static_cast<int>(lite_video::LiteVideoDecision::kAllowed));
+  ukm_recorder.ExpectEntryMetric(
+      entry, ukm::builders::LiteVideo::kBlocklistReasonName,
+      static_cast<int>(lite_video::LiteVideoBlocklistReason::kUnknown));
+}
+
 }  // namespace
diff --git a/chrome/browser/download/internal/android/java/res/layout/download_manager_section_header.xml b/chrome/browser/download/internal/android/java/res/layout/download_manager_section_header.xml
index 7dd2bbe..348feba 100644
--- a/chrome/browser/download/internal/android/java/res/layout/download_manager_section_header.xml
+++ b/chrome/browser/download/internal/android/java/res/layout/download_manager_section_header.xml
@@ -8,12 +8,16 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
+    <Space
+        android:id="@+id/top_space"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/download_manager_section_title_padding_top" />
+
     <TextView
         android:id="@+id/date"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginTop="@dimen/download_manager_section_title_top_margin"
-        android:layout_marginBottom="@dimen/download_manager_section_title_bottom_margin"
+        android:layout_below="@+id/top_space"
         android:paddingStart="@dimen/list_item_default_margin"
         android:maxLines="1"
         android:textAppearance="@style/TextAppearance.TextLarge.Primary"/>
diff --git a/chrome/browser/download/internal/android/java/res/values-v17/dimens.xml b/chrome/browser/download/internal/android/java/res/values-v17/dimens.xml
index bb4fcce..144d25e 100644
--- a/chrome/browser/download/internal/android/java/res/values-v17/dimens.xml
+++ b/chrome/browser/download/internal/android/java/res/values-v17/dimens.xml
@@ -11,9 +11,7 @@
     <dimen name="download_manager_max_image_item_width_wide_screen">300dp</dimen>
     <dimen name="download_manager_prefetch_vertical_margin">12dp</dimen>
     <dimen name="download_manager_recycler_view_min_padding_wide_screen">16dp</dimen>
-    <dimen name="download_manager_section_title_top_margin">16dp</dimen>
-    <dimen name="download_manager_section_title_bottom_margin">8dp</dimen>
-    <dimen name="download_manager_vertical_margin_between_download_types">8dp</dimen>
+    <dimen name="download_manager_section_title_padding_top">16dp</dimen>
     <!-- The corner radius is calculated by subtracting the hairline border width from the
          background card corner radius. -->
     <dimen name="download_manager_thumbnail_corner_radius">7dp</dimen>
diff --git a/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/DateOrderedListView.java b/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/DateOrderedListView.java
index 112bc69..d6ee183d 100644
--- a/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/DateOrderedListView.java
+++ b/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/DateOrderedListView.java
@@ -21,7 +21,6 @@
 
 import org.chromium.chrome.browser.download.home.DownloadManagerUiConfig;
 import org.chromium.chrome.browser.download.home.list.DateOrderedListCoordinator.DateOrderedListObserver;
-import org.chromium.chrome.browser.download.home.list.ListItem.OfflineItemListItem;
 import org.chromium.chrome.browser.download.home.list.holder.ListItemViewHolder;
 import org.chromium.chrome.browser.download.internal.R;
 import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayStyle;
@@ -42,7 +41,6 @@
     private final int mInterImagePaddingPx;
     private final int mPrefetchVerticalPaddingPx;
     private final int mHorizontalPaddingPx;
-    private final int mVerticalPaddingPx;
     private final int mMaxWidthImageItemPx;
 
     private final RecyclerView mView;
@@ -63,8 +61,6 @@
                 R.dimen.download_manager_horizontal_margin);
         mPrefetchVerticalPaddingPx = context.getResources().getDimensionPixelSize(
                 R.dimen.download_manager_prefetch_vertical_margin);
-        mVerticalPaddingPx = context.getResources().getDimensionPixelSize(
-                R.dimen.download_manager_vertical_margin_between_download_types);
         mMaxWidthImageItemPx = context.getResources().getDimensionPixelSize(
                 R.dimen.download_manager_max_image_item_width_wide_screen);
 
@@ -246,11 +242,6 @@
                             == HorizontalDisplayStyle.WIDE) {
                 outRect.right += Math.max(getAvailableViewWidth() - mMaxWidthImageItemPx, 0);
             }
-
-            if (item instanceof ListItem.OfflineItemListItem
-                    && ((OfflineItemListItem) item).isLastOfDownloadTypeInSection) {
-                outRect.bottom += mVerticalPaddingPx;
-            }
         }
 
         private void computeItemDecoration(int position, Rect outRect) {
diff --git a/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/ListItem.java b/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/ListItem.java
index 93a33de..9fcbf06 100644
--- a/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/ListItem.java
+++ b/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/ListItem.java
@@ -174,7 +174,6 @@
         public OfflineItem item;
         public boolean spanFullWidth;
         public boolean isGrouped;
-        public boolean isLastOfDownloadTypeInSection;
 
         /** Creates an {@link OfflineItemListItem} wrapping {@code item}. */
         public OfflineItemListItem(OfflineItem item) {
diff --git a/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/mutator/ListItemPropertySetter.java b/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/mutator/ListItemPropertySetter.java
index b96766f5..874ad42 100644
--- a/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/mutator/ListItemPropertySetter.java
+++ b/chrome/browser/download/internal/android/java/src/org/chromium/chrome/browser/download/home/list/mutator/ListItemPropertySetter.java
@@ -15,7 +15,6 @@
  * Post processes the items in the list and sets properties for UI as appropriate. The properties
  * being set are:
  * - Image item span width.
- * - Margins between {@link OfflineItemFilter} types (image, document, etc.).
  */
 public class ListItemPropertySetter implements ListConsumer {
     private final DownloadManagerUiConfig mConfig;
@@ -41,7 +40,6 @@
     /** Sets properties for items in the given list. */
     private void setProperties(List<ListItem> sortedList) {
         setWidthForImageItems(sortedList);
-        setMarginsBetweenDifferentItemTypes(sortedList);
     }
 
     private void setWidthForImageItems(List<ListItem> listItems) {
@@ -65,25 +63,4 @@
             }
         }
     }
-
-    private void setMarginsBetweenDifferentItemTypes(List<ListItem> listItems) {
-        for (int i = 0; i < listItems.size(); i++) {
-            ListItem currentItem = listItems.get(i);
-
-            // Margins should only be added to OfflineItems
-            if (!(currentItem instanceof OfflineItemListItem)) {
-                continue;
-            }
-
-            ListItem nextItem = i >= listItems.size() - 1 ? null : listItems.get(i + 1);
-            boolean nextItemIsDifferentType = nextItem instanceof OfflineItemListItem
-                    && ((OfflineItemListItem) currentItem).item.filter
-                            != ((OfflineItemListItem) nextItem).item.filter;
-            boolean nextItemIsNotOfflineItem = !(nextItem instanceof OfflineItemListItem);
-
-            if (nextItemIsDifferentType || nextItemIsNotOfflineItem) {
-                ((OfflineItemListItem) currentItem).isLastOfDownloadTypeInSection = true;
-            }
-        }
-    }
 }
diff --git a/chrome/browser/extensions/api/management/chrome_management_api_delegate.cc b/chrome/browser/extensions/api/management/chrome_management_api_delegate.cc
index fe30edf..b172325 100644
--- a/chrome/browser/extensions/api/management/chrome_management_api_delegate.cc
+++ b/chrome/browser/extensions/api/management/chrome_management_api_delegate.cc
@@ -38,6 +38,7 @@
 #include "chrome/browser/web_applications/components/web_app_utils.h"
 #include "chrome/browser/web_applications/components/web_application_info.h"
 #include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/common/extensions/extension_metrics.h"
@@ -91,8 +92,7 @@
     extensions::ManagementAPIDelegate::InstallOrLaunchWebAppCallback;
 using InstallOrLaunchWebAppResult =
     extensions::ManagementAPIDelegate::InstallOrLaunchWebAppResult;
-using InstallableCheckResult =
-    web_app::WebAppInstallManager::InstallableCheckResult;
+using InstallableCheckResult = web_app::InstallableCheckResult;
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 void OnDidCheckForIntentToPlayStore(const std::string& intent,
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
index 32dd1d8..1dbb665 100644
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
@@ -77,16 +77,6 @@
 
 }  // namespace
 
-bool IsExtensionSiteWithIsolatedStorage(const GURL& site_url,
-                                        content::BrowserContext* context) {
-  if (!site_url.SchemeIs(extensions::kExtensionScheme))
-    return false;
-
-  // The host in an extension site URL is the extension_id.
-  DCHECK(site_url.has_host());
-  return HasIsolatedStorage(site_url.host(), context);
-}
-
 bool HasIsolatedStorage(const std::string& extension_id,
                         content::BrowserContext* context) {
   const Extension* extension =
diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensions/extension_util.h
index 35f4dcb..f9d4ea19 100644
--- a/chrome/browser/extensions/extension_util.h
+++ b/chrome/browser/extensions/extension_util.h
@@ -26,8 +26,6 @@
 class ImageSkia;
 }
 
-class GURL;
-
 class Profile;
 
 namespace extensions {
@@ -36,13 +34,6 @@
 
 namespace util {
 
-// Returns true if the site URL corresponds to an extension or app which
-// has isolated storage. This can be either because it is an app that
-// requested this in its manifest, or because it is a policy-installed app or
-// extension running on the Chrome OS sign-in profile.
-bool IsExtensionSiteWithIsolatedStorage(const GURL& site_url,
-                                        content::BrowserContext* context);
-
 // Returns true if the extension associated with |extension_id| has isolated
 // storage. This can be either because it is an app that requested this in its
 // manifest, or because it is a policy-installed app or extension running on
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java
index c9dc6a9..d7c8fcf 100644
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java
@@ -4,6 +4,8 @@
 
 package org.chromium.chrome.browser.language;
 
+import androidx.annotation.IntDef;
+
 import com.google.android.play.core.splitinstall.SplitInstallManager;
 import com.google.android.play.core.splitinstall.SplitInstallManagerFactory;
 import com.google.android.play.core.splitinstall.SplitInstallRequest;
@@ -12,7 +14,10 @@
 
 import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
+import org.chromium.base.metrics.RecordHistogram;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.util.Arrays;
 import java.util.Locale;
 import java.util.Set;
@@ -26,6 +31,22 @@
     private static LanguageSplitInstaller sLanguageSplitInstaller;
     private static final String TAG = "LanguageInstaller";
 
+    // Constants used to log UMA enum histogram, must stay in sync with
+    // LanguageSettingsSplitInstallStatus from enums.xml
+    @IntDef({LanguageSplitInstallStatus.SUCCESS, LanguageSplitInstallStatus.ALREADY_INSTALLED,
+            LanguageSplitInstallStatus.CANCELED, LanguageSplitInstallStatus.DOWNLOADED,
+            LanguageSplitInstallStatus.FAILED, LanguageSplitInstallStatus.UNEXPECTED_STATUS})
+    @Retention(RetentionPolicy.SOURCE)
+    @interface LanguageSplitInstallStatus {
+        int SUCCESS = 0;
+        int ALREADY_INSTALLED = 1;
+        int CANCELED = 2;
+        int DOWNLOADED = 3;
+        int FAILED = 4;
+        int UNEXPECTED_STATUS = 5;
+        int NUM_ENTRIES = 6;
+    }
+
     /**
      * Broadcast listener for language split downloads.
      */
@@ -41,6 +62,7 @@
     private InstallListener mInstallListener;
     private SplitInstallManager mSplitInstallManager;
     private int mInstallSessionId;
+    private boolean mIsLanguageSplitInstalled;
 
     private LanguageSplitInstaller() {
         mSplitInstallManager =
@@ -56,6 +78,14 @@
     }
 
     /**
+     * @param languageName BCP-47 language code.
+     * @return True if split for |languageName| is installed.
+     */
+    public boolean isLanguageSplitInstalled(String languageName) {
+        return getInstalledLanguages().contains(languageName);
+    }
+
+    /**
      * Start the install of a language split for |languageName| and use |listener| as a callback
      * for when the install is completed or has failed. Note: The API instantly considers the
      * request as completed if it detects the language is already installed and the Play Store
@@ -76,6 +106,7 @@
         SplitInstallRequest installRequest =
                 SplitInstallRequest.newBuilder().addLanguage(installLocale).build();
 
+        mIsLanguageSplitInstalled = isLanguageSplitInstalled(languageName);
         mSplitInstallManager.startInstall(installRequest)
                 .addOnSuccessListener(sessionId -> { mInstallSessionId = sessionId; })
                 .addOnFailureListener(exception -> {
@@ -90,6 +121,33 @@
     }
 
     /**
+     * Run cleanup and call install listener when the install has finished.
+     * @param success True if the install was successful.
+     */
+    private void installFinished(boolean success) {
+        mInstallListener.onComplete(success);
+        mSplitInstallManager.unregisterListener(mStateUpdateListener);
+        mInstallListener = null;
+        mInstallSessionId = 0;
+        mIsLanguageSplitInstalled = false;
+    }
+
+    /**
+     * @param status SplitInstallSessionStatus
+     * @return True if status is a final state for the split install. |SplitInstallSessionStatus|
+     * has values for intermediate states such as Pending and Installing which are not final states.
+     */
+    private boolean isStatusFinalState(@SplitInstallSessionStatus int status) {
+        if (status == SplitInstallSessionStatus.INSTALLED
+                || status == SplitInstallSessionStatus.FAILED
+                || status == SplitInstallSessionStatus.CANCELED
+                || status == SplitInstallSessionStatus.DOWNLOADED) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
      * Make a SplitInstallStateUpdateListener that responds once the download has been installed or
      * fails.
      */
@@ -98,16 +156,37 @@
             if (state.sessionId() != mInstallSessionId) return;
 
             int status = state.status();
-            if (status == SplitInstallSessionStatus.INSTALLED
-                    || status == SplitInstallSessionStatus.FAILED) {
-                mInstallListener.onComplete(status == SplitInstallSessionStatus.INSTALLED);
-                mSplitInstallManager.unregisterListener(mStateUpdateListener);
-                mInstallListener = null;
-                mInstallSessionId = 0;
+            if (isStatusFinalState(status)) {
+                recordLanguageSplitInstallStatus(status);
+                installFinished(status == SplitInstallSessionStatus.INSTALLED);
             }
         };
     }
 
+    private @LanguageSplitInstallStatus int getEnumCodeFromStatus(
+            @SplitInstallSessionStatus int status) {
+        switch (status) {
+            case SplitInstallSessionStatus.INSTALLED:
+                return (mIsLanguageSplitInstalled) ? LanguageSplitInstallStatus.ALREADY_INSTALLED
+                                                   : LanguageSplitInstallStatus.SUCCESS;
+            case SplitInstallSessionStatus.CANCELED:
+                return LanguageSplitInstallStatus.CANCELED;
+            case SplitInstallSessionStatus.DOWNLOADED:
+                return LanguageSplitInstallStatus.DOWNLOADED;
+            case SplitInstallSessionStatus.FAILED:
+                return LanguageSplitInstallStatus.FAILED;
+            default:
+                return LanguageSplitInstallStatus.UNEXPECTED_STATUS;
+        }
+    }
+
+    private void recordLanguageSplitInstallStatus(@SplitInstallSessionStatus int status) {
+        @LanguageSplitInstallStatus
+        int enumCode = getEnumCodeFromStatus(status);
+        RecordHistogram.recordEnumeratedHistogram("LanguageSettings.SplitInstallFinalStatus",
+                enumCode, LanguageSplitInstallStatus.NUM_ENTRIES);
+    }
+
     /**
      * @return Singleton instance of LanguageSplitInstaller
      */
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
index ab791dc..a455465 100644
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
@@ -77,7 +77,7 @@
      */
     public void startLanguageSplitDownload(String code) {
         assert mActivity != null : "mActivity must be set to start language split download";
-        assert mPreference != null : "mPreference must be set to start langauge split download";
+        assert mPreference != null : "mPreference must be set to start language split download";
         // Set language text and initial downloading summary.
         mPreference.setLanguageItem(code);
         CharSequence nativeName = mPreference.getLanguageItem().getNativeDisplayName();
@@ -109,7 +109,6 @@
         mPreference.setEnabled(true);
 
         makeAndShowRestartSnackbar();
-        // TODO (https://crbug.com/1196144): Add logging.
     }
 
     /**
@@ -121,8 +120,6 @@
                 mActivity.getResources().getString(R.string.languages_split_failed, nativeName);
         mPreference.setSummary(summary);
         mPreference.setEnabled(true);
-
-        // TODO (https://crbug.com/1196144): Add logging.
     }
 
     /**
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
index d3396a38..34581f9 100644
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
@@ -307,7 +307,12 @@
      * Set the action to restart Chrome for the App Language Snackbar.
      */
     public void setRestartAction(AppLanguagePreferenceDelegate.RestartAction action) {
-        mAppLanguageDelegate.setRestartAction(action);
+        AppLanguagePreferenceDelegate.RestartAction wrappedAction = () -> {
+            LanguagesManager.recordAction(
+                    LanguagesManager.LanguageSettingsActionType.RESTART_CHROME);
+            action.restart();
+        };
+        mAppLanguageDelegate.setRestartAction(wrappedAction);
     }
 
     /**
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguagesManager.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguagesManager.java
index 1ebc4ca..a442c8216c 100644
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguagesManager.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguagesManager.java
@@ -58,7 +58,8 @@
             LanguageSettingsActionType.ADD_TO_NEVER_TRANSLATE,
             LanguageSettingsActionType.REMOVE_FROM_ALWAYS_TRANSLATE,
             LanguageSettingsActionType.ADD_TO_ALWAYS_TRANSLATE,
-            LanguageSettingsActionType.REMOVE_SITE_FROM_NEVER_TRANSLATE})
+            LanguageSettingsActionType.REMOVE_SITE_FROM_NEVER_TRANSLATE,
+            LanguageSettingsActionType.RESTART_CHROME})
     @Retention(RetentionPolicy.SOURCE)
     @interface LanguageSettingsActionType {
         // int CLICK_ON_ADD_LANGUAGE = 1; // Removed M89
@@ -76,7 +77,8 @@
         int REMOVE_FROM_ALWAYS_TRANSLATE = 13;
         int ADD_TO_ALWAYS_TRANSLATE = 14;
         int REMOVE_SITE_FROM_NEVER_TRANSLATE = 15;
-        int NUM_ENTRIES = 16;
+        int RESTART_CHROME = 16;
+        int NUM_ENTRIES = 17;
     }
 
     // Constants used to log UMA enum histogram, must stay in sync with
diff --git a/chrome/browser/metrics/cloned_install_client_id_reset_browsertest.cc b/chrome/browser/metrics/cloned_install_client_id_reset_browsertest.cc
index 63a0632..81f6cb1 100644
--- a/chrome/browser/metrics/cloned_install_client_id_reset_browsertest.cc
+++ b/chrome/browser/metrics/cloned_install_client_id_reset_browsertest.cc
@@ -68,7 +68,8 @@
 }
 
 // Test is flaky on Mac (https://crbug.com/1175077).
-#if defined(OS_MAC)
+// And on Linux (https://crbug.com/1227760).
+#if defined(OS_MAC) || defined(OS_LINUX)
 #define MAYBE_TestClonedInstallClientIdReset \
   DISABLED_TestClonedInstallClientIdReset
 #else
diff --git a/chrome/browser/optimization_guide/prediction/prediction_manager.cc b/chrome/browser/optimization_guide/prediction/prediction_manager.cc
index dcb5906..2e11f0e3 100644
--- a/chrome/browser/optimization_guide/prediction/prediction_manager.cc
+++ b/chrome/browser/optimization_guide/prediction/prediction_manager.cc
@@ -523,10 +523,8 @@
   proto::ModelInfo base_model_info;
   base_model_info.add_supported_model_types(proto::MODEL_TYPE_DECISION_TREE);
   if (features::IsModelDownloadingEnabled()) {
-    // TODO(crbug/1204614): Remove v2.3* when server supports 2.4.
     base_model_info.add_supported_model_types(proto::MODEL_TYPE_TFLITE_2_3_0);
     base_model_info.add_supported_model_types(proto::MODEL_TYPE_TFLITE_2_3_0_1);
-    base_model_info.add_supported_model_types(proto::MODEL_TYPE_TFLITE_2_4);
   }
 
   // For now, we will fetch for all registered optimization targets.
diff --git a/chrome/browser/payments/chrome_payment_request_delegate.cc b/chrome/browser/payments/chrome_payment_request_delegate.cc
index 7595ef5e..291831d 100644
--- a/chrome/browser/payments/chrome_payment_request_delegate.cc
+++ b/chrome/browser/payments/chrome_payment_request_delegate.cc
@@ -325,6 +325,11 @@
   return shown_dialog_.get();
 }
 
+SecurePaymentConfirmationNoCreds*
+ChromePaymentRequestDelegate::GetNoMatchingCredentialsDialogForTesting() {
+  return spc_no_creds_dialog_.get();
+}
+
 content::BrowserContext* ChromePaymentRequestDelegate::GetBrowserContextOrNull()
     const {
   auto* rfh = content::RenderFrameHost::FromID(frame_routing_id_);
diff --git a/chrome/browser/payments/chrome_payment_request_delegate.h b/chrome/browser/payments/chrome_payment_request_delegate.h
index 0e80bfb8..31b14a8c 100644
--- a/chrome/browser/payments/chrome_payment_request_delegate.h
+++ b/chrome/browser/payments/chrome_payment_request_delegate.h
@@ -68,6 +68,8 @@
   bool SkipUiForBasicCard() const override;
   std::string GetTwaPackageName() const override;
   PaymentRequestDialog* GetDialogForTesting() override;
+  SecurePaymentConfirmationNoCreds* GetNoMatchingCredentialsDialogForTesting()
+      override;
   const base::WeakPtr<PaymentUIObserver> GetPaymentUIObserver() const override;
 
  protected:
diff --git a/chrome/browser/payments/secure_payment_confirmation_browsertest.cc b/chrome/browser/payments/secure_payment_confirmation_browsertest.cc
index 005ae02..12396527 100644
--- a/chrome/browser/payments/secure_payment_confirmation_browsertest.cc
+++ b/chrome/browser/payments/secure_payment_confirmation_browsertest.cc
@@ -94,43 +94,99 @@
       ASSERT_TRUE(test_controller()->ConfirmPayment());
   }
 
+  void OnErrorDisplayed() override {
+    PaymentRequestPlatformBrowserTestBase::OnErrorDisplayed();
+    if (close_dialog_on_error_)
+      ASSERT_TRUE(test_controller()->CloseDialog());
+  }
+
   bool database_write_responded_ = false;
   bool confirm_payment_ = false;
+  bool close_dialog_on_error_ = false;
 
  private:
   base::test::ScopedFeatureList feature_list_;
 };
 
-IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationTest, NoAuthenticator) {
+enum class APIVersion {
+  kApiV2,
+  kApiV3,
+};
+
+std::string GetNotSupportedError(APIVersion api_version) {
+  return api_version == APIVersion::kApiV3
+             ? "The operation either timed out or was not allowed. See: "
+               "https://www.w3.org/TR/webauthn-2/"
+               "#sctn-privacy-considerations-client."
+             : "The payment method \"secure-payment-confirmation\" is not "
+               "supported.";
+}
+
+std::string APIVersionToString(const testing::TestParamInfo<APIVersion>& info) {
+  return APIVersion::kApiV2 == info.param ? "APIV2" : "APIV3";
+}
+
+class SecurePaymentConfirmationTestWithParameter
+    : public SecurePaymentConfirmationTest,
+      public testing::WithParamInterface<APIVersion> {
+ public:
+  SecurePaymentConfirmationTestWithParameter() {
+    std::vector<base::Feature> enabled_features;
+    std::vector<base::Feature> disabled_features;
+    switch (GetParam()) {
+      case APIVersion::kApiV2:
+        disabled_features.push_back(features::kSecurePaymentConfirmationAPIV3);
+        break;
+      case APIVersion::kApiV3:
+        enabled_features.push_back(features::kSecurePaymentConfirmationAPIV3);
+        break;
+    }
+    feature_list_.InitWithFeatures(enabled_features, disabled_features);
+  }
+
+ private:
+  base::test::ScopedFeatureList feature_list_;
+};
+
+INSTANTIATE_TEST_SUITE_P(APIVersion,
+                         SecurePaymentConfirmationTestWithParameter,
+                         testing::Values(APIVersion::kApiV2,
+                                         APIVersion::kApiV3),
+                         APIVersionToString);
+
+IN_PROC_BROWSER_TEST_P(SecurePaymentConfirmationTestWithParameter,
+                       NoAuthenticator) {
   test_controller()->SetHasAuthenticator(false);
   NavigateTo("a.com", "/secure_payment_confirmation.html");
+  close_dialog_on_error_ = true;
 
   // EvalJs waits for JavaScript promise to resolve.
-  EXPECT_EQ(
-      "The payment method \"secure-payment-confirmation\" is not supported.",
-      content::EvalJs(GetActiveWebContents(),
-                      "getSecurePaymentConfirmationStatus()"));
+  EXPECT_EQ(GetNotSupportedError(GetParam()),
+            content::EvalJs(GetActiveWebContents(),
+                            "getSecurePaymentConfirmationStatus()"));
 }
 
-IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationTest, NoInstrumentInStorage) {
+IN_PROC_BROWSER_TEST_P(SecurePaymentConfirmationTestWithParameter,
+                       NoInstrumentInStorage) {
   test_controller()->SetHasAuthenticator(true);
   NavigateTo("a.com", "/secure_payment_confirmation.html");
+  close_dialog_on_error_ = true;
 
   // EvalJs waits for JavaScript promise to resolve.
-  EXPECT_EQ(
-      "The payment method \"secure-payment-confirmation\" is not supported.",
-      content::EvalJs(GetActiveWebContents(),
-                      "getSecurePaymentConfirmationStatus()"));
+  EXPECT_EQ(GetNotSupportedError(GetParam()),
+            content::EvalJs(GetActiveWebContents(),
+                            "getSecurePaymentConfirmationStatus()"));
 }
 
-IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationTest,
+IN_PROC_BROWSER_TEST_P(SecurePaymentConfirmationTestWithParameter,
                        CheckInstrumentInStorageAfterCanMakePayment) {
   test_controller()->SetHasAuthenticator(true);
   NavigateTo("a.com", "/secure_payment_confirmation.html");
+  close_dialog_on_error_ = true;
 
   // EvalJs waits for JavaScript promise to resolve.
   EXPECT_EQ(
-      "The payment method \"secure-payment-confirmation\" is not supported.",
+      GetNotSupportedError(GetParam()),
       content::EvalJs(
           GetActiveWebContents(),
           base::StringPrintf(
@@ -213,7 +269,17 @@
 // Intentionally do not enable the "SecurePaymentConfirmation" Blink runtime
 // feature or the browser-side Finch flag.
 class SecurePaymentConfirmationDisabledTest
-    : public PaymentRequestPlatformBrowserTestBase {};
+    : public PaymentRequestPlatformBrowserTestBase {
+ public:
+  SecurePaymentConfirmationDisabledTest() {
+    feature_list_.InitWithFeatures(
+        /*enabled_features=*/{},
+        /*disabled_features=*/{features::kSecurePaymentConfirmation});
+  }
+
+ private:
+  base::test::ScopedFeatureList feature_list_;
+};
 
 IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationDisabledTest,
                        PaymentMethodNotSupported) {
@@ -240,7 +306,8 @@
                          "securePaymentConfirmationHasEnrolledInstrument()"));
 }
 
-// Test that the feature can be disabled by the browser-side Finch flag.
+// Test that the feature can be disabled by the browser-side Finch flag, even if
+// the Blink runtime feature is enabled.
 class SecurePaymentConfirmationDisabledByFinchTest
     : public PaymentRequestPlatformBrowserTestBase {
  public:
@@ -479,40 +546,12 @@
   std::unique_ptr<autofill::EventWaiter<Event>> event_waiter_;
 };
 
-IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationCreationTest, UserCancel) {
-  ReplaceFidoDiscoveryFactory(/*should_succeed=*/true);
-  NavigateTo("a.com", "/secure_payment_confirmation.html");
-  RespondToFutureEnrollments(/*confirm=*/false);
-
-  EXPECT_EQ("AbortError: Request has been aborted.",
-            content::EvalJs(GetActiveWebContents(),
-                            content::JsReplace("createPaymentCredential($1)",
-                                               GetDefaultIconURL())));
-  ExpectEnrollDialogShown(SecurePaymentConfirmationEnrollDialogShown::kShown,
-                          1);
-  ExpectEnrollDialogResult(
-      SecurePaymentConfirmationEnrollDialogResult::kCanceled, 1);
-  ExpectNoEnrollSystemPromptResult();
-  ExpectNoFunnelCount();
-  ExpectJourneyLoggerEvent(/*spc_confirm_logged=*/false);
-}
-
-enum class APIVersion {
-  kApiV2,
-  kApiV3,
-};
-
-std::string APIVersionToString(const testing::TestParamInfo<APIVersion>& info) {
-  return APIVersion::kApiV2 == info.param ? "APIV2" : "APIV3";
-}
-
 class SecurePaymentConfirmationCreationTestWithParameter
     : public SecurePaymentConfirmationCreationTest,
       public testing::WithParamInterface<APIVersion> {
  public:
   SecurePaymentConfirmationCreationTestWithParameter() {
-    std::vector<base::Feature> enabled_features = {
-        features::kSecurePaymentConfirmation};
+    std::vector<base::Feature> enabled_features;
     std::vector<base::Feature> disabled_features;
     switch (GetParam()) {
       case APIVersion::kApiV2:
@@ -535,6 +574,40 @@
                                          APIVersion::kApiV3),
                          APIVersionToString);
 
+IN_PROC_BROWSER_TEST_P(SecurePaymentConfirmationCreationTestWithParameter,
+                       UserCancelsBrowserEnrollmentDialog) {
+  ReplaceFidoDiscoveryFactory(/*should_succeed=*/true);
+  NavigateTo("a.com", "/secure_payment_confirmation.html");
+
+  // Browser enrollment dialog is removed in APIV3, so the test can simulate
+  // user cancelling the browser enrollment dialog only in APIV2.
+  RespondToFutureEnrollments(/*confirm=*/false);
+  bool is_api_v3 = GetParam() == APIVersion::kApiV3;
+  std::string expected_response =
+      is_api_v3 ? "OK" : "AbortError: Request has been aborted.";
+
+  EXPECT_EQ(expected_response,
+            content::EvalJs(GetActiveWebContents(),
+                            content::JsReplace("createPaymentCredential($1)",
+                                               GetDefaultIconURL())));
+
+  ExpectEnrollDialogShown(SecurePaymentConfirmationEnrollDialogShown::kShown,
+                          is_api_v3 ? 0 : 1);
+  ExpectEnrollDialogResult(
+      SecurePaymentConfirmationEnrollDialogResult::kCanceled,
+      is_api_v3 ? 0 : 1);
+
+  if (is_api_v3) {
+    ExpectEnrollSystemPromptResult(
+        SecurePaymentConfirmationEnrollSystemPromptResult::kAccepted, 1);
+  } else {
+    ExpectNoEnrollSystemPromptResult();
+  }
+
+  ExpectNoFunnelCount();
+  ExpectJourneyLoggerEvent(/*spc_confirm_logged=*/false);
+}
+
 // Closing the page while the browser enrollment dialog is opened should not
 // crash.
 IN_PROC_BROWSER_TEST_P(SecurePaymentConfirmationCreationTestWithParameter,
diff --git a/chrome/browser/pdf/pdf_extension_test.cc b/chrome/browser/pdf/pdf_extension_test.cc
index 090f008..4ac4a6b 100644
--- a/chrome/browser/pdf/pdf_extension_test.cc
+++ b/chrome/browser/pdf/pdf_extension_test.cc
@@ -325,6 +325,23 @@
     return guest_contents;
   }
 
+  content::RenderFrameHost* GetPluginFrame(WebContents* guest_contents) const {
+    if (!IsUnseasoned())
+      return guest_contents->GetMainFrame();
+
+    content::RenderFrameHost* plugin_frame = nullptr;
+    guest_contents->ForEachRenderFrameHost(base::BindLambdaForTesting(
+        [&plugin_frame](content::RenderFrameHost* frame) {
+          // Assume exactly one child frame.
+          if (frame->GetParent()) {
+            EXPECT_FALSE(plugin_frame);
+            plugin_frame = frame;
+          }
+        }));
+
+    return plugin_frame;
+  }
+
   int CountPDFProcesses() {
     return IsUnseasoned() ? CountUnseasonedPDFProcesses()
                           : CountPepperPDFProcesses();
@@ -2568,10 +2585,10 @@
 
 #endif  // !defined(OS_MAC)
 
-using PDFExtensionHitTestTest = PDFExtensionTestWithoutUnseasonedOverride;
+using PDFExtensionHitTestTest = PDFExtensionTest;
 
 // Flaky in nearly all configurations; see https://crbug.com/856169.
-IN_PROC_BROWSER_TEST_F(PDFExtensionHitTestTest, DISABLED_MouseLeave) {
+IN_PROC_BROWSER_TEST_P(PDFExtensionHitTestTest, DISABLED_MouseLeave) {
   // Load page with embedded PDF and make sure it succeeds.
   WebContents* guest_contents = LoadPdfGetGuestContents(
       embedded_test_server()->GetURL("/pdf/pdf_embed.html"));
@@ -2617,41 +2634,40 @@
   EXPECT_EQ(1, enter_count);
 }
 
-IN_PROC_BROWSER_TEST_F(PDFExtensionHitTestTest, ContextMenuCoordinates) {
+IN_PROC_BROWSER_TEST_P(PDFExtensionHitTestTest, ContextMenuCoordinates) {
   // Load page with embedded PDF and make sure it succeeds.
   WebContents* guest_contents = LoadPdfGetGuestContents(
       embedded_test_server()->GetURL("/pdf/pdf_embed.html"));
   ASSERT_TRUE(guest_contents);
 
-  // Get coords for mouse event.
-  content::RenderWidgetHostView* guest_view =
-      guest_contents->GetRenderWidgetHostView();
-  gfx::Point local_context_menu_position(30, 80);
-  gfx::Point root_context_menu_position =
-      guest_view->TransformPointToRootCoordSpace(local_context_menu_position);
-
+  // Observe context menu IPC.
+  content::RenderFrameHost* plugin_frame = GetPluginFrame(guest_contents);
   auto context_menu_interceptor =
-      std::make_unique<content::ContextMenuInterceptor>(
-          guest_contents->GetMainFrame());
+      std::make_unique<content::ContextMenuInterceptor>(plugin_frame);
 
   ContextMenuWaiter menu_observer;
+
   // Send mouse right-click to activate context menu.
+  gfx::Point context_menu_position(80, 130);
   content::SimulateMouseClickAt(GetActiveWebContents(), kDefaultKeyModifier,
                                 blink::WebMouseEvent::Button::kRight,
-                                root_context_menu_position);
+                                context_menu_position);
 
   // We expect the context menu, invoked via the RenderFrameHost, to be using
   // root view coordinates.
   menu_observer.WaitForMenuOpenAndClose();
-  ASSERT_EQ(root_context_menu_position.x(), menu_observer.params().x);
-  ASSERT_EQ(root_context_menu_position.y(), menu_observer.params().y);
+  ASSERT_EQ(context_menu_position.x(), menu_observer.params().x);
+  ASSERT_EQ(context_menu_position.y(), menu_observer.params().y);
 
   // We expect the IPC, received from the renderer, to be using local coords.
   context_menu_interceptor->Wait();
   blink::UntrustworthyContextMenuParams params =
       context_menu_interceptor->get_params();
-  EXPECT_EQ(local_context_menu_position.x(), params.x);
-  EXPECT_EQ(local_context_menu_position.y(), params.y);
+  gfx::Point received_context_menu_position =
+      plugin_frame->GetRenderWidgetHost()
+          ->GetView()
+          ->TransformPointToRootCoordSpace({params.x, params.y});
+  EXPECT_EQ(context_menu_position, received_context_menu_position);
 
   // TODO(wjmaclean): If it ever becomes possible to filter outgoing IPCs from
   // the RenderProcessHost, we should verify the blink.mojom.PluginActionAt
@@ -3469,4 +3485,5 @@
 INSTANTIATE_FEATURE_OVERRIDE_TEST_SUITE(PDFExtensionServiceWorkerJSTest);
 INSTANTIATE_FEATURE_OVERRIDE_TEST_SUITE(PDFExtensionLinkClickTest);
 INSTANTIATE_FEATURE_OVERRIDE_TEST_SUITE(PDFExtensionInternalLinkClickTest);
+INSTANTIATE_FEATURE_OVERRIDE_TEST_SUITE(PDFExtensionHitTestTest);
 INSTANTIATE_FEATURE_OVERRIDE_TEST_SUITE(PDFExtensionPrerenderTest);
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc
index 69b90d3..ddf8fbc 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc
@@ -4518,3 +4518,67 @@
   // Check if the prefetched URL is different from the prerendered frame.
   EXPECT_NE(tab_helper->after_srp_metrics()->url_, prerender_render_frame_url);
 }
+
+class ZeroCacheTimePrefetchProxyBrowserTest : public PrefetchProxyBrowserTest {
+ public:
+  void SetUpCommandLine(base::CommandLine* cmd) override {
+    PrefetchProxyBrowserTest::SetUpCommandLine(cmd);
+  }
+
+  void SetFeatures() override {
+    scoped_feature_list_.InitAndEnableFeatureWithParameters(
+        features::kIsolatePrerenders, {
+                                          {"cacheable_duration", "0"},
+                                      });
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+};
+
+IN_PROC_BROWSER_TEST_F(
+    ZeroCacheTimePrefetchProxyBrowserTest,
+    DISABLE_ON_WIN_MAC_CHROMEOS(PrefetchAfterCacheExpiration)) {
+  SetDataSaverEnabled(true);
+  GURL starting_page = GetOriginServerURL("/simple.html");
+  ui_test_utils::NavigateToURL(browser(), starting_page);
+  WaitForUpdatedCustomProxyConfig();
+
+  PrefetchProxyTabHelper* tab_helper =
+      PrefetchProxyTabHelper::FromWebContents(GetWebContents());
+
+  GURL eligible_link =
+      GetOriginServerURL("/prefetch/prefetch_proxy/prefetch_page.html");
+
+  TestTabHelperObserver tab_helper_observer(tab_helper);
+
+  tab_helper_observer.SetExpectedSuccessfulURLs({eligible_link});
+
+  base::RunLoop prefetch_run_loop;
+  tab_helper_observer.SetOnPrefetchSuccessfulClosure(
+      prefetch_run_loop.QuitClosure());
+
+  base::HistogramTester histogram_tester;
+  GURL doc_url("https://www.google.com/search?q=test");
+  MakeNavigationPrediction(doc_url, {eligible_link});
+
+  // This run loop will quit when the prefetch response has been
+  // successfully done and processed.
+  prefetch_run_loop.Run();
+
+  // Navigate to the predicted site.
+  ui_test_utils::NavigateToURL(browser(), eligible_link);
+
+  // Navigate again to trigger UKM recording.
+  ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
+
+  // 30 = |kPrefetchIsStale|.
+  EXPECT_EQ(absl::optional<int64_t>(30),
+            GetUKMMetric(eligible_link,
+                         ukm::builders::PrefetchProxy_AfterSRPClick::kEntryName,
+                         ukm::builders::PrefetchProxy_AfterSRPClick::
+                             kSRPClickPrefetchStatusName));
+
+  histogram_tester.ExpectTotalCount(
+      "PrefetchProxy.Prefetch.Mainframe.CookiesToCopy", 0);
+}
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.cc b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.cc
index db57340..17199aa 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.cc
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.cc
@@ -258,3 +258,8 @@
   return base::CommandLine::ForCurrentProcess()->HasSwitch(
       "isolated-prerender-allow-all-domains");
 }
+
+base::TimeDelta PrefetchProxyCacheableDuration() {
+  return base::TimeDelta::FromSeconds(base::GetFieldTrialParamByFeatureAsInt(
+      features::kIsolatePrerenders, "cacheable_duration", 300));
+}
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.h b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.h
index b66a2e9..009daacd 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.h
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_params.h
@@ -109,4 +109,7 @@
 // proxy. Normally, this is restricted to Google domains.
 bool PrefetchProxyAllowAllDomains();
 
+// The maximum time a prefetched response is servable.
+base::TimeDelta PrefetchProxyCacheableDuration();
+
 #endif  // CHROME_BROWSER_PREFETCH_PREFETCH_PROXY_PREFETCH_PROXY_PARAMS_H_
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_prefetch_status.h b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_prefetch_status.h
index 26bf1ab9..2a1f7b70 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_prefetch_status.h
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_prefetch_status.h
@@ -107,6 +107,13 @@
   // used to disguise that the user had some kind of previous relationship with
   // the origin.
   kPrefetchIsPrivacyDecoy = 29,
+
+  // The prefetch was eligible, but too much time elapsed between the prefetch
+  // and the interception.
+  kPrefetchIsStale = 30,
+  kPrefetchIsStaleWithNSP = 31,
+  kPrefetchIsStaleNSPAttemptDenied = 32,
+  kPrefetchIsStaleNSPNotStarted = 33,
 };
 
 #endif  // CHROME_BROWSER_PREFETCH_PREFETCH_PROXY_PREFETCH_PROXY_PREFETCH_STATUS_H_
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.cc b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.cc
index 75d2b66..eceb62937 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.cc
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.cc
@@ -210,6 +210,10 @@
     case PrefetchProxyPrefetchStatus::kPrefetchUsedProbeSuccessNSPNotStarted:
     case PrefetchProxyPrefetchStatus::kPrefetchNotUsedProbeFailedNSPNotStarted:
     case PrefetchProxyPrefetchStatus::kPrefetchIsPrivacyDecoy:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStale:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStaleWithNSP:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStaleNSPAttemptDenied:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStaleNSPNotStarted:
       // These statuses should not be returned by the eligibility checks, and
       // thus not be passed in here.
       NOTREACHED();
@@ -357,11 +361,20 @@
 
   const GURL& url = navigation_handle->GetURL();
 
+  // TODO(https://crbug.com/1238926): At this point in the navigation it's not
+  // guaranteed that we serve the prefetch, so consider moving the cookies to
+  // the interception path for robustness.
   if (page_->prefetched_responses_.find(url) !=
       page_->prefetched_responses_.end()) {
-    // Start copying any needed cookies over to the main profile if this page
-    // was prefetched.
-    CopyIsolatedCookiesOnAfterSRPClick(url);
+    // Content older than 5 minutes should not be served.
+    auto time_it = page_->prefetch_start_times_.find(url);
+    if (time_it != page_->prefetch_start_times_.end() &&
+        base::TimeTicks::Now() <
+            time_it->second + PrefetchProxyCacheableDuration()) {
+      // Start copying any needed cookies over to the main profile if this page
+      // was prefetched.
+      CopyIsolatedCookiesOnAfterSRPClick(url);
+    }
   }
 
   // User is navigating, don't bother prefetching further.
@@ -418,6 +431,7 @@
     case PrefetchProxyPrefetchStatus::kPrefetchUsedNoProbe:
     case PrefetchProxyPrefetchStatus::kPrefetchUsedProbeSuccess:
     case PrefetchProxyPrefetchStatus::kPrefetchNotUsedProbeFailed:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStale:
       break;
     // These statuses are not applicable since the prefetch was not used after
     // the click.
@@ -453,6 +467,9 @@
     case PrefetchProxyPrefetchStatus::kPrefetchUsedNoProbeNSPNotStarted:
     case PrefetchProxyPrefetchStatus::kPrefetchUsedProbeSuccessNSPNotStarted:
     case PrefetchProxyPrefetchStatus::kPrefetchNotUsedProbeFailedNSPNotStarted:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStaleWithNSP:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStaleNSPAttemptDenied:
+    case PrefetchProxyPrefetchStatus::kPrefetchIsStaleNSPNotStarted:
       NOTREACHED();
       return status;
   }
@@ -483,6 +500,8 @@
         return PrefetchProxyPrefetchStatus::kPrefetchUsedProbeSuccessWithNSP;
       case PrefetchProxyPrefetchStatus::kPrefetchNotUsedProbeFailed:
         return PrefetchProxyPrefetchStatus::kPrefetchNotUsedProbeFailedWithNSP;
+      case PrefetchProxyPrefetchStatus::kPrefetchIsStale:
+        return PrefetchProxyPrefetchStatus::kPrefetchIsStaleWithNSP;
       default:
         break;
     }
@@ -499,6 +518,8 @@
       case PrefetchProxyPrefetchStatus::kPrefetchNotUsedProbeFailed:
         return PrefetchProxyPrefetchStatus::
             kPrefetchNotUsedProbeFailedNSPAttemptDenied;
+      case PrefetchProxyPrefetchStatus::kPrefetchIsStale:
+        return PrefetchProxyPrefetchStatus::kPrefetchIsStaleNSPAttemptDenied;
       default:
         break;
     }
@@ -514,6 +535,8 @@
       case PrefetchProxyPrefetchStatus::kPrefetchNotUsedProbeFailed:
         return PrefetchProxyPrefetchStatus::
             kPrefetchNotUsedProbeFailedNSPNotStarted;
+      case PrefetchProxyPrefetchStatus::kPrefetchIsStale:
+        return PrefetchProxyPrefetchStatus::kPrefetchIsStaleNSPNotStarted;
       default:
         break;
     }
@@ -660,9 +683,18 @@
   if (it == page_->prefetched_responses_.end())
     return nullptr;
 
+  // Content older than 5 minutes should not be served.
+  auto time_it = page_->prefetch_start_times_.find(url);
+  if (time_it == page_->prefetch_start_times_.end() ||
+      base::TimeTicks::Now() >
+          time_it->second + PrefetchProxyCacheableDuration()) {
+    OnPrefetchStatusUpdate(url, PrefetchProxyPrefetchStatus::kPrefetchIsStale);
+    return nullptr;
+  }
   std::unique_ptr<PrefetchedMainframeResponseContainer> response =
       std::move(it->second);
   page_->prefetched_responses_.erase(it);
+  page_->prefetch_start_times_.erase(time_it);
   return response;
 }
 
@@ -988,6 +1020,7 @@
       std::make_unique<PrefetchedMainframeResponseContainer>(
           isolation_info, std::move(head), std::move(body));
   page_->prefetched_responses_.emplace(url, std::move(response));
+  page_->prefetch_start_times_.emplace(url, base::TimeTicks::Now());
   page_->srp_metrics_->prefetch_successful_count_++;
 
   OnPrefetchStatusUpdate(url, PrefetchProxyPrefetchStatus::kPrefetchSuccessful);
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.h b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.h
index 3ef932fc..25b90b5 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.h
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_tab_helper.h
@@ -310,6 +310,10 @@
     std::map<GURL, std::unique_ptr<PrefetchedMainframeResponseContainer>>
         prefetched_responses_;
 
+    // A map that corresponds to |prefetched_responses_| for storing prefetch
+    // start times.
+    std::map<GURL, base::TimeTicks> prefetch_start_times_;
+
     // The number of no state prefetch requests that have been made.
     size_t number_of_no_state_prefetch_attempts_ = 0;
 
diff --git a/chrome/browser/promo_browser_command/BUILD.gn b/chrome/browser/promo_browser_command/BUILD.gn
index b2b355c09..7884715c 100644
--- a/chrome/browser/promo_browser_command/BUILD.gn
+++ b/chrome/browser/promo_browser_command/BUILD.gn
@@ -6,4 +6,5 @@
 
 mojom("mojo_bindings") {
   sources = [ "promo_browser_command.mojom" ]
+  webui_module_path = "/chrome/browser/promo_browser_command"
 }
diff --git a/chrome/browser/promo_browser_command/promo_browser_command.mojom b/chrome/browser/promo_browser_command/promo_browser_command.mojom
index 5b05ae7d9..3601b83 100644
--- a/chrome/browser/promo_browser_command/promo_browser_command.mojom
+++ b/chrome/browser/promo_browser_command/promo_browser_command.mojom
@@ -4,12 +4,13 @@
 
 module promo_browser_command.mojom;
 
-// The set of browser commands sent by the NTP promos and understood by the
-// browser. They may trigger actions in the browser such as navigating to a
-// chrome:// URL or initiating a helpful flow. The implementer of the
-// CommandHandler interface chooses which commands to handle and which ones to
-// ignore depending on the platform or the milestone. Note that the
-// implementations of these commands must be side-effect-free.
+// The set of browser commands sent by the NTP promos or the What's New
+// chrome.com content, and understood by the browser. They may trigger actions
+// in the browser such as navigating to a chrome:// URL or initiating a helpful
+// flow. The implementer of the CommandHandler interface chooses which commands
+// to handle and which ones to ignore depending on the platform or the
+// milestone. Note that the implementations of these commands must be
+// side-effect-free.
 // These values are persisted to logs. Entries should not be renumbered and
 // numeric values should never be reused.
 // Please update enums.xml upon addition of new commands.
@@ -17,6 +18,7 @@
   kUnknownCommand = 0,
   kOpenSafetyCheck = 1,
   kOpenSafeBrowsingEnhancedProtectionSettings = 2,
+  kOpenFeedbackForm = 3,
 };
 
 // Click information needed to determine user's desired window disposition using
@@ -29,10 +31,17 @@
   bool shift_key;
 };
 
+// Implemented by the New Tab Page and What's New WebUIs that provide
+// CommandHandlers to handle requests for browser commands from JS.
+interface CommandHandlerFactory {
+  // Called when first initialized.
+  CreateBrowserCommandHandler(pending_receiver<CommandHandler> handler);
+};
+
 // Browser-side handler for requests from JS.
 interface CommandHandler {
-  // Returns whether or not a promo with the given command ID can be shown.
-  CanShowPromoWithCommand(Command command_id) => (bool can_show);
+  // Returns the given command ID can be executed.
+  CanExecuteCommand(Command command_id) => (bool can_execute);
 
   // Executes the command with the given ID and click information. Returns
   // whether or not the command was executed.
diff --git a/chrome/browser/resources/new_tab_page/BUILD.gn b/chrome/browser/resources/new_tab_page/BUILD.gn
index 6705fd0..743722b 100644
--- a/chrome/browser/resources/new_tab_page/BUILD.gn
+++ b/chrome/browser/resources/new_tab_page/BUILD.gn
@@ -14,7 +14,12 @@
 js_type_check("closure_compile") {
   is_polymer3 = true
 
-  closure_flags = default_closure_args + mojom_js_args
+  closure_flags = default_closure_args + mojom_js_args + [
+                    "js_module_root=" + rebase_path(".", root_build_dir),
+                    "js_module_root=" + rebase_path(
+                            "$root_gen_dir/mojom-webui/chrome/browser/promo_browser_command",
+                            root_build_dir),
+                  ]
 
   deps = [
     ":app",
@@ -87,6 +92,7 @@
     ":window_proxy",
     "modules:module_registry",
     "realbox:realbox",
+    "//chrome/browser/promo_browser_command:mojo_bindings_webui_js",
     "//skia/public/mojom:mojom_webui_js",
     "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
     "//ui/webui/resources/cr_elements/cr_button:cr_button.m",
@@ -96,13 +102,14 @@
 }
 
 js_library("promo_browser_command_proxy") {
-  deps = [ "//chrome/browser/promo_browser_command:mojo_bindings_js_library_for_compile" ]
+  deps = [ "//chrome/browser/promo_browser_command:mojo_bindings_webui_js" ]
 }
 
 js_library("middle_slot_promo") {
   deps = [
     ":new_tab_page_proxy",
     ":window_proxy",
+    "//chrome/browser/promo_browser_command:mojo_bindings_webui_js",
     "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
   ]
 }
@@ -320,10 +327,11 @@
 generate_grd("build_promo_browser_command_mojo_grdp") {
   grd_prefix = grd_prefix
   out_grd = "$target_gen_dir/promo_browser_command_mojo_resources.grdp"
-  input_files = [ "promo_browser_command.mojom-lite.js" ]
+  input_files = [ "promo_browser_command.mojom-webui.js" ]
   input_files_base_dir =
-      rebase_path("$root_gen_dir/chrome/browser/promo_browser_command",
-                  root_build_dir)
+      rebase_path(
+          "$root_gen_dir/mojom-webui/chrome/browser/promo_browser_command",
+          root_build_dir)
 }
 
 generate_grd("build_drive_mojo_grdp") {
@@ -503,7 +511,7 @@
       "chrome://resources/mojo/url/mojom/url.mojom-webui.js",
       "new_tab_page.mojom-lite.js",
       "realbox/realbox.mojom-lite.js",
-      "promo_browser_command.mojom-lite.js",
+      "promo_browser_command.mojom-webui.js",
       "modules/drive/drive.mojom-lite.js",
       "modules/photos/photos.mojom-lite.js",
       "modules/task_module/task_module.mojom-lite.js",
diff --git a/chrome/browser/resources/new_tab_page/app.js b/chrome/browser/resources/new_tab_page/app.js
index e085490..2e9d8dc 100644
--- a/chrome/browser/resources/new_tab_page/app.js
+++ b/chrome/browser/resources/new_tab_page/app.js
@@ -22,6 +22,7 @@
 import {recordLoadDuration} from './metrics_utils.js';
 import {ModuleRegistry} from './modules/module_registry.js';
 import {NewTabPageProxy} from './new_tab_page_proxy.js';
+import {ClickInfo, Command} from './promo_browser_command.mojom-webui.js';
 import {PromoBrowserCommandProxy} from './promo_browser_command_proxy.js';
 import {$$} from './utils.js';
 import {Action as VoiceAction, recordVoiceAction} from './voice_search_overlay.js';
@@ -29,8 +30,8 @@
 
 /**
  * @typedef {{
- *   commandId: promoBrowserCommand.mojom.Command<number>,
- *   clickInfo: !promoBrowserCommand.mojom.ClickInfo
+ *   commandId: Command<number>,
+ *   clickInfo: ClickInfo
  * }}
  */
 let CommandData;
@@ -655,17 +656,16 @@
    */
   canShowPromoWithBrowserCommand_(messageData, commandSource, commandOrigin) {
     // Make sure we don't send unsupported commands to the browser.
-    /** @type {!promoBrowserCommand.mojom.Command} */
-    const commandId = Object.values(promoBrowserCommand.mojom.Command)
-                          .includes(messageData.commandId) ?
+    /** @type {!Command} */
+    const commandId = Object.values(Command).includes(messageData.commandId) ?
         messageData.commandId :
-        promoBrowserCommand.mojom.Command.kUnknownCommand;
+        Command.kUnknownCommand;
 
     PromoBrowserCommandProxy.getInstance()
-        .handler.canShowPromoWithCommand(commandId)
-        .then(({canShow}) => {
+        .handler.canExecuteCommand(commandId)
+        .then(({canExecute}) => {
           const response = {messageType: messageData.messageType};
-          response[messageData.commandId] = canShow;
+          response[messageData.commandId] = canExecute;
           commandSource.postMessage(response, commandOrigin);
         });
   }
@@ -683,14 +683,16 @@
    */
   executePromoBrowserCommand_(commandData, commandSource, commandOrigin) {
     // Make sure we don't send unsupported commands to the browser.
-    /** @type {!promoBrowserCommand.mojom.Command} */
-    const commandId = Object.values(promoBrowserCommand.mojom.Command)
-                          .includes(commandData.commandId) ?
+    /** @type {!Command} */
+    const commandId = Object.values(Command).includes(commandData.commandId) ?
         commandData.commandId :
-        promoBrowserCommand.mojom.Command.kUnknownCommand;
+        Command.kUnknownCommand;
 
     PromoBrowserCommandProxy.getInstance()
-        .handler.executeCommand(commandId, commandData.clickInfo)
+        .handler
+        .executeCommand(
+            commandId,
+            /** @type {!ClickInfo} */ (commandData.clickInfo))
         .then(({commandExecuted}) => {
           commandSource.postMessage(commandExecuted, commandOrigin);
         });
diff --git a/chrome/browser/resources/new_tab_page/middle_slot_promo.js b/chrome/browser/resources/new_tab_page/middle_slot_promo.js
index ed19d1b..67a46e9c 100644
--- a/chrome/browser/resources/new_tab_page/middle_slot_promo.js
+++ b/chrome/browser/resources/new_tab_page/middle_slot_promo.js
@@ -8,6 +8,7 @@
 import {html, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {NewTabPageProxy} from './new_tab_page_proxy.js';
+import {ClickInfo, Command} from './promo_browser_command.mojom-webui.js';
 import {PromoBrowserCommandProxy} from './promo_browser_command_proxy.js';
 import {WindowProxy} from './window_proxy.js';
 
@@ -33,17 +34,16 @@
       return null;
     }
     const el = /** @type {!HTMLAnchorElement} */ (document.createElement('a'));
-    /** @type {?promoBrowserCommand.mojom.Command} */
+    /** @type {?Command} */
     let commandId = null;
     if (!commandIdMatch) {
       el.href = target.url;
     } else {
       commandId =
-          /** @type {promoBrowserCommand.mojom.Command} */ (+commandIdMatch[1]);
+          /** @type {Command} */ (+commandIdMatch[1]);
       // Make sure we don't send unsupported commands to the browser.
-      if (!Object.values(promoBrowserCommand.mojom.Command)
-               .includes(commandId)) {
-        commandId = promoBrowserCommand.mojom.Command.kUnknownCommand;
+      if (!Object.values(Command).includes(commandId)) {
+        commandId = Command.kUnknownCommand;
       }
       commandIds.push(commandId);
     }
@@ -103,8 +103,8 @@
   const canShow =
       (await Promise.all(commandIds.map(
            commandId =>
-               promoBrowserCommandHandler.canShowPromoWithCommand(commandId))))
-          .every(({canShow}) => canShow);
+               promoBrowserCommandHandler.canExecuteCommand(commandId))))
+          .every(({canExecute}) => canExecute);
   if (hasContent && canShow) {
     browserHandler.onPromoRendered(
         WindowProxy.getInstance().now(), promo.logUrl || null);
diff --git a/chrome/browser/resources/new_tab_page/new_tab_page.js b/chrome/browser/resources/new_tab_page/new_tab_page.js
index 0bd3fea..b878882 100644
--- a/chrome/browser/resources/new_tab_page/new_tab_page.js
+++ b/chrome/browser/resources/new_tab_page/new_tab_page.js
@@ -32,11 +32,12 @@
 // <if expr="not is_official_build">
 export {photosDescriptor} from './modules/photos/module.js';
 export {PhotosProxy} from './modules/photos/photos_module_proxy.js';
+export {recipeTasksDescriptor as recipeTasksV2Descriptor} from './modules/recipes_v2/module.js';
 // </if>
 export {recipeTasksDescriptor, shoppingTasksDescriptor} from './modules/task_module/module.js';
-export {recipeTasksDescriptor as recipeTasksV2Descriptor} from './modules/recipes_v2/module.js';
 export {TaskModuleHandlerProxy} from './modules/task_module/task_module_handler_proxy.js';
 export {NewTabPageProxy} from './new_tab_page_proxy.js';
+export {Command, CommandHandlerRemote} from './promo_browser_command.mojom-webui.js';
 export {PromoBrowserCommandProxy} from './promo_browser_command_proxy.js';
 export {RealboxBrowserProxy} from './realbox/realbox_browser_proxy.js';
 export {$$, createScrollBorders, decodeString16, mojoString16} from './utils.js';
diff --git a/chrome/browser/resources/new_tab_page/promo_browser_command_proxy.js b/chrome/browser/resources/new_tab_page/promo_browser_command_proxy.js
index 7f55460..e7a5b9e 100644
--- a/chrome/browser/resources/new_tab_page/promo_browser_command_proxy.js
+++ b/chrome/browser/resources/new_tab_page/promo_browser_command_proxy.js
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import './promo_browser_command.mojom-lite.js';
+import {CommandHandlerFactory, CommandHandlerRemote} from './promo_browser_command.mojom-webui.js';
 
 /**
  * @fileoverview This file provides a class that exposes the Mojo handler
@@ -25,7 +25,10 @@
   }
 
   constructor() {
-    /** @type {!promoBrowserCommand.mojom.CommandHandlerRemote} */
-    this.handler = promoBrowserCommand.mojom.CommandHandler.getRemote();
+    /** @type {!CommandHandlerRemote} */
+    this.handler = new CommandHandlerRemote();
+    const factory = CommandHandlerFactory.getRemote();
+    factory.createBrowserCommandHandler(
+        this.handler.$.bindNewPipeAndPassReceiver());
   }
 }
diff --git a/chrome/browser/resources/read_later/side_panel/bookmark_folder.html b/chrome/browser/resources/read_later/side_panel/bookmark_folder.html
index dce90f5..7e21088d 100644
--- a/chrome/browser/resources/read_later/side_panel/bookmark_folder.html
+++ b/chrome/browser/resources/read_later/side_panel/bookmark_folder.html
@@ -1,6 +1,5 @@
 <style include="read-later-shared-style">
   :host {
-    --row-height: 40px;
     display: block;
     user-select: none;
     white-space: nowrap;
@@ -13,12 +12,11 @@
     border: none;
     box-sizing: border-box;
     color: currentColor;
-    content-visibility: auto;
     display: grid;
     grid-template-areas: 'arrow icon title';
     grid-template-columns: 20px 20px auto;
-    height: var(--row-height);
-    line-height: var(--row-height);
+    height: 40px;
+    line-height: 40px;
     padding-inline-start: calc(var(--node-depth) * 17px);
     text-align: start;
     width: 100%;
@@ -85,11 +83,6 @@
     color: currentColor;
     text-decoration: none;
   }
-
-  #children {
-    --node-depth: var(--child-depth);
-    min-height: calc(var(--child-count, 0) * var(--row-height));
-  }
 </style>
 <button class="row" on-click="onFolderClick_" tabindex="0"
     on-contextmenu="onFolderContextMenu_">
@@ -105,9 +98,9 @@
   <div class="title">[[folder.title]]</div>
 </button>
 
-<template is="dom-if" if="[[open_]]" restamp>
-  <div id="children" role="group">
-    <template is="dom-repeat" items="[[folder.children]]" initial-count="20">
+<div id="children" role="group">
+  <template is="dom-if" if="[[open_]]" restamp>
+    <template is="dom-repeat" items="[[folder.children]]">
       <template is="dom-if" if="[[!item.url]]" restamp>
         <bookmark-folder role="treeitem" folder="[[item]]"
             depth="[[childDepth_]]"
@@ -128,5 +121,5 @@
         </a>
       </template>
     </template>
-  </div>
-</template>
\ No newline at end of file
+  </template>
+</div>
\ No newline at end of file
diff --git a/chrome/browser/resources/read_later/side_panel/bookmark_folder.ts b/chrome/browser/resources/read_later/side_panel/bookmark_folder.ts
index 44c83008..e40e1482 100644
--- a/chrome/browser/resources/read_later/side_panel/bookmark_folder.ts
+++ b/chrome/browser/resources/read_later/side_panel/bookmark_folder.ts
@@ -66,12 +66,6 @@
     };
   }
 
-  static get observers() {
-    return [
-      'onChildrenLengthChanged_(folder.children.length)',
-    ];
-  }
-
   private childDepth_: number;
   depth: number;
   folder: chrome.bookmarks.BookmarkTreeNode;
@@ -106,15 +100,10 @@
     return getFaviconForPageURL(url, false);
   }
 
-  private onChildrenLengthChanged_() {
-    this.style.setProperty(
-        '--child-count', this.folder.children!.length.toString());
-  }
-
   private onDepthChanged_() {
     this.childDepth_ = this.depth + 1;
     this.style.setProperty('--node-depth', `${this.depth}`);
-    this.style.setProperty('--child-depth', `${this.childDepth_}`);
+    this.$.children.style.setProperty('--node-depth', `${this.childDepth_}`);
   }
 
   private onFolderClick_() {
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.gni b/chrome/browser/resources/settings/chromeos/os_settings.gni
index a88d87e7..91830ea9 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings.gni
+++ b/chrome/browser/resources/settings/chromeos/os_settings.gni
@@ -236,7 +236,7 @@
                              "chrome/browser/resources/settings/chromeos/personalization_page/wallpaper_browser_proxy.html|WallpaperBrowserProxy,WallpaperBrowserProxyImpl",
                              "chrome/browser/resources/settings/chromeos/parental_controls_page/parental_controls_browser_proxy.html|ParentalControlsBrowserProxy,ParentalControlsBrowserProxyImpl",
                              "chrome/browser/resources/settings/chromeos/route_origin_behavior.html|RouteOriginBehaviorImpl,RouteOriginBehavior",
-                             "chrome/browser/resources/settings/appearance_page/fonts_browser_proxy.html|FontsBrowserProxy,FontsBrowserProxyImpl",
+                             "chrome/browser/resources/settings/appearance_page/fonts_browser_proxy.html|FontsBrowserProxyImpl",
                              "chrome/browser/resources/settings/controls/settings_dropdown_menu.html|DropdownMenuOptionList",
                              "chrome/browser/resources/settings/chromeos/global_scroll_target_behavior.html|GlobalScrollTargetBehavior,setGlobalScrollTarget",
                              "chrome/browser/resources/settings/languages_page/languages_browser_proxy.html|LanguagesBrowserProxy,LanguagesBrowserProxyImpl",
diff --git a/chrome/browser/resources/whats_new/BUILD.gn b/chrome/browser/resources/whats_new/BUILD.gn
index 60567b9..8ccee5e7 100644
--- a/chrome/browser/resources/whats_new/BUILD.gn
+++ b/chrome/browser/resources/whats_new/BUILD.gn
@@ -44,7 +44,16 @@
 }
 
 copy("copy_proxy") {
-  sources = [ "//chrome/browser/resources/whats_new/whats_new_proxy.ts" ]
+  sources = [
+    "//chrome/browser/resources/whats_new/whats_new_command_proxy.ts",
+    "//chrome/browser/resources/whats_new/whats_new_proxy.ts",
+  ]
+  outputs = [ "$target_gen_dir/{{source_file_part}}" ]
+}
+
+copy("copy_mojo") {
+  deps = [ "//chrome/browser/promo_browser_command:mojo_bindings_js" ]
+  sources = [ "$root_gen_dir/mojom-webui/chrome/browser/promo_browser_command/promo_browser_command.mojom-webui.js" ]
   outputs = [ "$target_gen_dir/{{source_file_part}}" ]
 }
 
@@ -53,7 +62,9 @@
   out_dir = "$target_gen_dir/$tsc_folder"
   tsconfig_base = "tsconfig_base.json"
   in_files = [
+    "promo_browser_command.mojom-webui.js",
     "whats_new_app.ts",
+    "whats_new_command_proxy.ts",
     "whats_new_error_page.ts",
     "whats_new_proxy.ts",
   ]
@@ -62,6 +73,7 @@
     "//ui/webui/resources:library",
   ]
   extra_deps = [
+    ":copy_mojo",
     ":copy_proxy",
     ":web_components",
   ]
diff --git a/chrome/browser/resources/whats_new/tsconfig_base.json b/chrome/browser/resources/whats_new/tsconfig_base.json
index cc484e3..de13d53 100644
--- a/chrome/browser/resources/whats_new/tsconfig_base.json
+++ b/chrome/browser/resources/whats_new/tsconfig_base.json
@@ -1,6 +1,7 @@
 {
   "extends": "../../../../tools/typescript/tsconfig_base.json",
   "compilerOptions": {
+    "allowJs": true,
     "noUnusedLocals": false
   }
 }
diff --git a/chrome/browser/resources/whats_new/whats_new_app.ts b/chrome/browser/resources/whats_new/whats_new_app.ts
index 0f348f40..a0ada609 100644
--- a/chrome/browser/resources/whats_new/whats_new_app.ts
+++ b/chrome/browser/resources/whats_new/whats_new_app.ts
@@ -9,6 +9,7 @@
 import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
 import {html, microTask, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
+import {WhatsNewCommandProxy} from './whats_new_command_proxy.js';
 import {WhatsNewProxyImpl} from './whats_new_proxy.js';
 
 export class WhatsNewAppElement extends PolymerElement {
diff --git a/chrome/browser/resources/whats_new/whats_new_command_proxy.ts b/chrome/browser/resources/whats_new/whats_new_command_proxy.ts
new file mode 100644
index 0000000..0088dfa
--- /dev/null
+++ b/chrome/browser/resources/whats_new/whats_new_command_proxy.ts
@@ -0,0 +1,33 @@
+// 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 {CommandHandlerFactory, CommandHandlerRemote} from './promo_browser_command.mojom-webui.js';
+
+/**
+ * @fileoverview This file provides a class that exposes the Mojo handler
+ * interface used for sending the What's New browser commands to the browser and
+ * receiving the browser response.
+ */
+
+let instance: WhatsNewCommandProxy|null = null;
+
+export class WhatsNewCommandProxy {
+  handler: CommandHandlerRemote;
+
+  /** @return {!WhatsNewCommandProxy} */
+  static getInstance(): WhatsNewCommandProxy {
+    return instance || (instance = new WhatsNewCommandProxy());
+  }
+
+  static setInstance(newInstance: WhatsNewCommandProxy) {
+    instance = newInstance;
+  }
+
+  constructor() {
+    this.handler = new CommandHandlerRemote();
+    const factory = CommandHandlerFactory.getRemote();
+    factory.createBrowserCommandHandler(
+        this.handler.$.bindNewPipeAndPassReceiver());
+  }
+}
diff --git a/chrome/browser/safe_browsing/chrome_password_protection_service_browsertest.cc b/chrome/browser/safe_browsing/chrome_password_protection_service_browsertest.cc
index 8034c184..07cf10b 100644
--- a/chrome/browser/safe_browsing/chrome_password_protection_service_browsertest.cc
+++ b/chrome/browser/safe_browsing/chrome_password_protection_service_browsertest.cc
@@ -46,8 +46,10 @@
 #include "components/variations/service/variations_service.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/web_contents.h"
+#include "content/public/common/content_features.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/browser_test_utils.h"
+#include "content/public/test/prerender_test_util.h"
 #include "content/public/test/test_navigation_observer.h"
 #include "testing/gmock/include/gmock/gmock.h"
 
@@ -878,4 +880,159 @@
                     .size());
 }
 
+// Extends the test fixture with support for testing prerendered and
+// back/forward cached pages.
+class ChromePasswordProtectionServiceBrowserTestWithActivation
+    : public ChromePasswordProtectionServiceBrowserTest {
+ public:
+  ChromePasswordProtectionServiceBrowserTestWithActivation()
+      : prerender_helper_(base::BindRepeating(
+            &ChromePasswordProtectionServiceBrowserTestWithActivation::
+                GetWebContents,
+            base::Unretained(this))) {
+    scoped_feature_list_.InitWithFeaturesAndParameters(
+        {{features::kBackForwardCache,
+          {{"enable_same_site", "true"},
+           {"TimeToLiveInBackForwardCacheInSeconds", "3600"}}}},
+        // Allow BackForwardCache for all devices regardless of their memory.
+        {features::kBackForwardCacheMemoryControls});
+  }
+
+  void SetUp() override {
+    prerender_helper_.SetUp(embedded_test_server());
+    ChromePasswordProtectionServiceBrowserTest::SetUp();
+  }
+
+  content::WebContents* GetWebContents() {
+    return browser()->tab_strip_model()->GetActiveWebContents();
+  }
+
+ protected:
+  content::test::PrerenderTestHelper prerender_helper_;
+  base::test::ScopedFeatureList scoped_feature_list_;
+};
+
+// Tests that activation of prerendered pages is disabled when there is a
+// pending PasswordProtectionRequest which might trigger a modal warning.
+// This tests the case where the prerender starts before the
+// PasswordProtectionRequest.
+// TODO(https://crbug.com/1234857): The activation should be deferred rather
+// than disallowed, like other navigations.
+IN_PROC_BROWSER_TEST_F(ChromePasswordProtectionServiceBrowserTestWithActivation,
+                       DoNotActivatePrerenderStartedBeforeRequest) {
+  SetUpPrimaryAccountWithHostedDomain(kNoHostedDomainFound);
+  // Prepare sync account will trigger a password change.
+  ChromePasswordProtectionService* service = GetService(/*is_incognito=*/false);
+  ASSERT_TRUE(service);
+  ui_test_utils::NavigateToURL(browser(),
+                               embedded_test_server()->GetURL(kLoginPageUrl));
+
+  // Start a prerender.
+  GURL prerender_url = embedded_test_server()->GetURL("/simple.html");
+  prerender_helper_.AddPrerender(prerender_url);
+
+  // Start a request for a PASSWORD_REUSE_EVENT. This disables activation
+  // navigations because the throttle responsible for deferring while the
+  // request is pending cannot see the activation navigation.
+  service->StartRequest(
+      GetWebContents(), GURL(), GURL(), GURL(), "",
+      PasswordType::PASSWORD_TYPE_UNKNOWN,
+      std::vector<password_manager::MatchingReusedCredential>(),
+      LoginReputationClientRequest::PASSWORD_REUSE_EVENT, true);
+
+  // Navigate to the prerendered URL. It will be loaded anew without an
+  // activation.
+  content::TestNavigationManager prerender_manager(GetWebContents(),
+                                                   prerender_url);
+  ASSERT_TRUE(
+      content::ExecJs(GetWebContents()->GetMainFrame(),
+                      content::JsReplace("location = $1", prerender_url)));
+  prerender_manager.WaitForNavigationFinished();
+  EXPECT_FALSE(prerender_manager.was_prerendered_page_activation());
+  EXPECT_TRUE(prerender_manager.was_successful());
+}
+
+// Tests that activation of prerendered pages is disabled when there is a
+// pending PasswordProtectionRequest which might trigger a modal warning.
+// This tests the case where the prerender starts after the
+// PasswordProtectionRequest.
+// TODO(https://crbug.com/1234857): The activation should be deferred rather
+// than disallowed, like other navigations.
+IN_PROC_BROWSER_TEST_F(ChromePasswordProtectionServiceBrowserTestWithActivation,
+                       DoNotActivatePrerenderStartedAfterRequest) {
+  SetUpPrimaryAccountWithHostedDomain(kNoHostedDomainFound);
+  // Prepare sync account will trigger a password change.
+  ChromePasswordProtectionService* service = GetService(/*is_incognito=*/false);
+  ASSERT_TRUE(service);
+  ui_test_utils::NavigateToURL(browser(),
+                               embedded_test_server()->GetURL(kLoginPageUrl));
+
+  // Start a request for a PASSWORD_REUSE_EVENT. This disables activation
+  // navigations because the throttle responsible for deferring while the
+  // request is pending cannot see the activation navigation.
+  service->StartRequest(
+      GetWebContents(), GURL(), GURL(), GURL(), "",
+      PasswordType::PASSWORD_TYPE_UNKNOWN,
+      std::vector<password_manager::MatchingReusedCredential>(),
+      LoginReputationClientRequest::PASSWORD_REUSE_EVENT, true);
+
+  // Start a prerender.
+  GURL prerender_url = embedded_test_server()->GetURL("/simple.html");
+  prerender_helper_.AddPrerender(prerender_url);
+
+  // Navigate to the prerendered URL. It will be loaded anew without an
+  // activation.
+  content::TestNavigationManager prerender_manager(GetWebContents(),
+                                                   prerender_url);
+  ASSERT_TRUE(
+      content::ExecJs(GetWebContents()->GetMainFrame(),
+                      content::JsReplace("location = $1", prerender_url)));
+  prerender_manager.WaitForNavigationFinished();
+  EXPECT_FALSE(prerender_manager.was_prerendered_page_activation());
+  EXPECT_TRUE(prerender_manager.was_successful());
+}
+
+// Tests that activation of back/forward cached pages is disabled when there is
+// a pending PasswordProtectionRequest which might trigger a modal warning.
+// TODO(https://crbug.com/1234857): The activation should be deferred rather
+// than disallowed, like other navigations.
+IN_PROC_BROWSER_TEST_F(ChromePasswordProtectionServiceBrowserTestWithActivation,
+                       DoNotActivateBackForwardCache) {
+  SetUpPrimaryAccountWithHostedDomain(kNoHostedDomainFound);
+
+  // Prepare sync account will trigger a password change.
+  ChromePasswordProtectionService* service = GetService(/*is_incognito=*/false);
+  ASSERT_TRUE(service);
+
+  // Put a simple page in the back/forward cache.
+  GURL url_a = embedded_test_server()->GetURL("/simple.html");
+  content::RenderFrameHost* rfh_a_raw =
+      ui_test_utils::NavigateToURL(browser(), url_a);
+  content::RenderFrameHostWrapper rfh_a(rfh_a_raw);
+  content::RenderFrameHost* rfh_b_raw = ui_test_utils::NavigateToURL(
+      browser(), embedded_test_server()->GetURL(kLoginPageUrl));
+  content::RenderFrameHostWrapper rfh_b(rfh_b_raw);
+
+  // Ensure that `rfh_a` is in the back/forward cache.
+  EXPECT_FALSE(rfh_a.IsRenderFrameDeleted());
+  EXPECT_NE(rfh_a.get(), rfh_b.get());
+  EXPECT_EQ(rfh_a->GetLifecycleState(),
+            content::RenderFrameHost::LifecycleState::kInBackForwardCache);
+
+  // Start a request for a PASSWORD_REUSE_EVENT. This disables activation
+  // navigations because the throttle responsible for deferring while the
+  // request is pending cannot see the activation navigation.
+  service->StartRequest(
+      GetWebContents(), GURL(), GURL(), GURL(), "",
+      PasswordType::PASSWORD_TYPE_UNKNOWN,
+      std::vector<password_manager::MatchingReusedCredential>(),
+      LoginReputationClientRequest::PASSWORD_REUSE_EVENT, true);
+
+  // Navigate back. It will be loaded anew without an activation.
+  GetWebContents()->GetController().GoBack();
+  EXPECT_TRUE(content::WaitForLoadStop(GetWebContents()));
+  rfh_a.WaitUntilRenderFrameDeleted();
+  EXPECT_EQ(GetWebContents()->GetLastCommittedURL(), url_a);
+}
+
 }  // namespace safe_browsing
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java
index b05b9120..1c05d44 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java
@@ -135,6 +135,22 @@
     }
 
     /**
+     * Provides a deep copy of a previous {@link ShoppingPersistedTabData} for client side price
+     * drop tracking. Only fields required for price drop identification are retained.
+     */
+    private static class PriceDataSnapshot {
+        public long priceMicros;
+        public long previousPriceMicros;
+        public long lastPriceChangeTimeMs;
+
+        PriceDataSnapshot(ShoppingPersistedTabData shoppingPersistedTabData) {
+            this.priceMicros = shoppingPersistedTabData.getPriceMicros();
+            this.previousPriceMicros = shoppingPersistedTabData.getPreviousPriceMicros();
+            this.lastPriceChangeTimeMs = shoppingPersistedTabData.getLastPriceChangeTimeMs();
+        }
+    }
+
+    /**
      * Raw price drop data acquired from backend service. This is converted to formatted
      * price strings in the public API getPriceDrop().
      */
@@ -402,7 +418,9 @@
                         supplierCallback.onResult(null);
                         return;
                     }
-                    ShoppingPersistedTabData previous = PersistedTabData.from(tab, USER_DATA_KEY);
+                    PriceDataSnapshot previous = PersistedTabData.from(tab, USER_DATA_KEY) == null
+                            ? null
+                            : new PriceDataSnapshot(PersistedTabData.from(tab, USER_DATA_KEY));
                     ShoppingPersistedTabData.isShoppingPage(tab.getUrl(), (isShoppingPage) -> {
                         if (!isShoppingPage) {
                             supplierCallback.onResult(null);
@@ -427,7 +445,7 @@
                                                                     metadata.getValue());
                                                     ShoppingPersistedTabData
                                                             shoppingPersistedTabData =
-                                                                    new ShoppingPersistedTabData(
+                                                                    ShoppingPersistedTabData.from(
                                                                             tab);
                                                     shoppingPersistedTabData
                                                             .parsePriceTrackingDataProto(tab,
@@ -522,9 +540,9 @@
         mIsTabSaveEnabledSupplier.set(false);
     }
 
-    private static ShoppingPersistedTabData build(Tab tab, List<PageAnnotation> annotations,
-            ShoppingPersistedTabData previousShoppingPersistedTabData) {
-        ShoppingPersistedTabData res = new ShoppingPersistedTabData(tab);
+    private static ShoppingPersistedTabData build(
+            Tab tab, List<PageAnnotation> annotations, PriceDataSnapshot previousPricingData) {
+        ShoppingPersistedTabData res = ShoppingPersistedTabData.from(tab);
         @FoundBuyableProductAnnotation
         int foundBuyableProductAnnotation = FoundBuyableProductAnnotation.NOT_FOUND;
 
@@ -543,8 +561,7 @@
             res.setPriceDropGurl(tab.getUrl());
             foundBuyableProductAnnotation = FoundBuyableProductAnnotation.FOUND_WITH_PRICE_UPDATE;
         } else if (buyableProduct != null) {
-            res.setPriceMicros(
-                    buyableProduct.getCurrentPriceMicros(), previousShoppingPersistedTabData);
+            res.setPriceMicros(buyableProduct.getCurrentPriceMicros(), previousPricingData);
             res.setCurrencyCode(buyableProduct.getCurrencyCode());
             res.setLastUpdatedMs(System.currentTimeMillis());
             res.setMainOfferId(buyableProduct.getOfferId());
@@ -567,8 +584,8 @@
     }
 
     @VisibleForTesting
-    protected void parsePriceTrackingDataProto(Tab tab, PriceTrackingData priceTrackingData,
-            ShoppingPersistedTabData previousShoppingPersistedTabData) {
+    protected void parsePriceTrackingDataProto(
+            Tab tab, PriceTrackingData priceTrackingData, PriceDataSnapshot previousPricingData) {
         @FoundBuyableProduct
         int foundBuyableProduct = FoundBuyableProduct.NOT_FOUND;
 
@@ -584,8 +601,7 @@
             setPriceDropGurl(tab.getUrl());
             foundBuyableProduct = FoundBuyableProduct.FOUND_WITH_PRICE_UPDATE;
         } else if (hasPrice(priceTrackingData)) {
-            setPriceMicros(buyableProduct.getCurrentPrice().getAmountMicros(),
-                    previousShoppingPersistedTabData);
+            setPriceMicros(buyableProduct.getCurrentPrice().getAmountMicros(), previousPricingData);
             setCurrencyCode(buyableProduct.getCurrentPrice().getCurrencyCode());
             setLastUpdatedMs(System.currentTimeMillis());
             setMainOfferId(String.valueOf(buyableProduct.getOfferId()));
@@ -643,22 +659,20 @@
     /**
      * Set the price string
      * @param priceString a string representing the price of the shopping offer
-     * @param previousShoppingPersistedTabData {@link ShoppingPersistedTabData} from previous fetch
+     * @param previousPriceSnapshot {@link PriceDataSnapshot} from previous fetch
      */
     @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
-    public void setPriceMicros(
-            long priceMicros, ShoppingPersistedTabData previousShoppingPersistedTabData) {
+    public void setPriceMicros(long priceMicros, PriceDataSnapshot previousPriceSnapshot) {
         mPriceDropData.priceMicros = priceMicros;
         // Detect price transition
-        if (previousShoppingPersistedTabData != null && priceMicros != NO_PRICE_KNOWN
-                && previousShoppingPersistedTabData.getPriceMicros() != NO_PRICE_KNOWN
-                && priceMicros != previousShoppingPersistedTabData.getPriceMicros()) {
-            mPriceDropData.previousPriceMicros = previousShoppingPersistedTabData.getPriceMicros();
+        if (previousPriceSnapshot != null && priceMicros != NO_PRICE_KNOWN
+                && previousPriceSnapshot.priceMicros != NO_PRICE_KNOWN
+                && priceMicros != previousPriceSnapshot.priceMicros) {
+            mPriceDropData.previousPriceMicros = previousPriceSnapshot.priceMicros;
             mLastPriceChangeTimeMs = System.currentTimeMillis();
-        } else if (previousShoppingPersistedTabData != null) {
-            mPriceDropData.previousPriceMicros =
-                    previousShoppingPersistedTabData.getPreviousPriceMicros();
-            mLastPriceChangeTimeMs = previousShoppingPersistedTabData.getLastPriceChangeTimeMs();
+        } else if (previousPriceSnapshot != null) {
+            mPriceDropData.previousPriceMicros = previousPriceSnapshot.previousPriceMicros;
+            mLastPriceChangeTimeMs = previousPriceSnapshot.lastPriceChangeTimeMs;
         }
         save();
     }
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 0c0821c..d7e5a70c 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
@@ -185,6 +185,7 @@
 <translation id="218608176142494674">ማጋራት</translation>
 <translation id="2195339740518523951">የChromeን በጣም ጠንካራ ደህንነት ያግኙ</translation>
 <translation id="2200113223741723867">የአጠቃቀም ውሂብ ማጋራትን ያስተዳድሩ</translation>
+<translation id="2218567645332692482">አሰሳዎችን ወደ ኤችቲቲፒኤስ ያሳድጉ እና የማይደግፉ ጣቢያዎችን ከመጫንዎ በፊት ያስጠነቅቁዎታል</translation>
 <translation id="2227444325776770048">እንደ <ph name="USER_FULL_NAME" /> ሆነው ይቀጥሉ</translation>
 <translation id="2230777942707397948">ባዶ መስኮት</translation>
 <translation id="2239812875700136898">ከአማራጮች ለምርምር አዝራሩ ሆነው የእርስዎን ዘገባዎች ይቆጣጠሩ</translation>
@@ -1294,6 +1295,7 @@
 <translation id="8965591936373831584">በመጠበቅ ላይ</translation>
 <translation id="8970887620466824814">የሆነ ችግር ተፈጥሯል።</translation>
 <translation id="8972098258593396643">ወደ ነባሪው አቃፊ ይውረድ?</translation>
+<translation id="8987641763863173640">የቪዲዮ ቅድመ-እይታ ቅንብሮችን ያቀናብሩ</translation>
 <translation id="8988028529677883095">እንደ ደህንነት ቁልፍ ስልክን ይጠቀሙ</translation>
 <translation id="8993760627012879038">አዲስ ትር በማንነት የማያሳውቅ ሁነታ ውስጥ ክፈት</translation>
 <translation id="8996847606757455498">ሌላ አቅራቢ ይምረጡ</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 bd0c0fd1..39edd20 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">আপোনাৰ কণ্ঠস্বৰৰ দ্বাৰা ক্ষিপ্ৰভাৱে সন্ধান কৰক। এই শ্বৰ্টকাটটো সম্পাদনা কৰিবলৈ, স্পৰ্শ কৰি ধৰি ৰাখক।</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" />লৈ পঠিয়াই থকা হৈছে...</translation>
 <translation id="103269572468856066">এই ছাইট আৰু এপৰ পৰাও ডেটা মচিবনে?</translation>
+<translation id="1034259925032978114">ৱিণ্ড’খন খোলা আছে</translation>
 <translation id="1036348656032585052">অফ কৰক</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" /> যোগ কৰি থকা হৈছে...</translation>
 <translation id="1045899828449635435">এই ছাইটসমূহৰ পৰাও ডেটা মচিবনে?</translation>
@@ -185,6 +186,7 @@
 <translation id="2195339740518523951">Chromeৰ আটাইতকৈ শক্তিশালী সুৰক্ষা লাভ কৰক</translation>
 <translation id="2200113223741723867">ব্যৱহাৰৰ ডেটা শ্বেয়াৰ কৰাটো পৰিচালনা কৰক</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> হিচাপে অব্যাহত ৰাখক</translation>
+<translation id="2230777942707397948">খালী ৱিণ্ড’</translation>
 <translation id="2239812875700136898">সন্ধান কৰক বুটামটোৰ বিকল্পসমূহৰ পৰা আপোনাৰ কাহিনীসমূহ নিয়ন্ত্ৰণ কৰক</translation>
 <translation id="2259659629660284697">পাছৱর্ডসমূহ ৰপ্তানি কৰক…</translation>
 <translation id="2276696007612801991">আপোনাৰ পাছৱৰ্ডসমূহ পৰীক্ষা কৰিবলৈ আপোনাৰ Google একাউণ্টত ছাইন ইন কৰক</translation>
@@ -336,6 +338,7 @@
 <translation id="314939179385989105">Chromeৰ গৃহপৃষ্ঠা</translation>
 <translation id="3157842584138209013">অধিক বিকল্প বুটামটোলৈ গৈ আপুনি কিমান ডেটা ৰাহি কৰিলে সেয়া চাওক</translation>
 <translation id="3166827708714933426">টেব আৰু ৱিণ্ড’ৰ শ্বৰ্টকাট</translation>
+<translation id="316694332262407393">ইয়াত ইতিমধ্যে Chrome চলি আছে।</translation>
 <translation id="3169472444629675720">Discover</translation>
 <translation id="3205824638308738187">প্ৰায় সম্পূর্ণ হৈছে!</translation>
 <translation id="3207960819495026254">বুকমার্ক কৰা হৈছে</translation>
@@ -414,6 +417,7 @@
 <translation id="3587596251841506391">ৱেবত সুৰক্ষা উন্নত কৰাত সহায় কৰক</translation>
 <translation id="3602290021589620013">পূৰ্বদৰ্শন</translation>
 <translation id="3616113530831147358">অডিঅ’</translation>
+<translation id="3622349720008044802">ৱিণ্ড’ পৰিচালনা কৰক</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" />লৈ শ্বেয়াৰ কৰি থকা হৈছে</translation>
 <translation id="3632295766818638029">পাছৱর্ড দেখুওৱাক</translation>
 <translation id="363596933471559332">সঞ্চয় কৰি থোৱা বিশ্বাসযোগ্যতাৰ প্ৰমাণপত্ৰ ব্যৱহাৰ কৰি স্বয়ংক্ৰিয়ভাৱে ৱেবছাইটসমূহত ছাইন ইন কৰক। এই সুবিধাটো অফ কৰি থোৱা থাকিলে আপুনি কোনো এটা ৱেবছাইটত ছাইন ইন কৰাৰ পূর্বে প্ৰতিবাৰে আপোনাৰ পৰিচয় সত্যাপন কৰিবলৈ কোৱা হ’ব।</translation>
@@ -429,6 +433,7 @@
 <translation id="3737319253362202215">অনুবাদৰ ছেটিং</translation>
 <translation id="3738139272394829648">সন্ধান কৰিবলৈ স্পর্শ কৰক</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" />ত বুকমার্ক কৰা হৈছে</translation>
+<translation id="3740525748616366977">এই ডিভাইচটোত কণ্ঠধ্বনিৰ দ্বাৰা সন্ধান কৰাৰ সুবিধাটো উপলব্ধ নহয়</translation>
 <translation id="3749259744154402564">অসমৰ্থিত</translation>
 <translation id="3771001275138982843">আপডে’টটো ডাউনল’ড কৰিব পৰা নগ’ল</translation>
 <translation id="3771033907050503522">ইনক’গনিট’ টেব</translation>
@@ -437,6 +442,7 @@
 <translation id="3773856050682458546">প্ৰাথমিক ডেটাৰ লগতে আপুনি চোৱা ৱেবছাইট আৰু আপুনি ব্যৱহাৰ কৰা এপৰ বিষয়ে তথ্য</translation>
 <translation id="3775705724665058594">আপোনাৰ ডিভাইচসমূহলৈ পঠিয়াওক</translation>
 <translation id="3778956594442850293">গৃহ স্ক্ৰীণত যোগ কৰা হ’ল</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{১ টা টেব}one{# টা টেব}other{# টা টেব}}</translation>
 <translation id="3803784507854318295">স্বয়ংক্ৰিয়ভাৱে প্লে’ হোৱা সুবিধাটো পৰিচালনা কৰক</translation>
 <translation id="3810838688059735925">ভিডিঅ’</translation>
 <translation id="3810973564298564668">পৰিচালনা কৰক</translation>
@@ -457,6 +463,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">সক্ষম কণ্ঠধ্বনিৰে সন্ধানৰ সুবিধা নাই</translation>
 <translation id="395377504920307820">একাউণ্টৰ অবিহনে ব্যৱহাৰ কৰক</translation>
+<translation id="3958287878205277013">আপোনাৰ ডিভাইচৰ পৰা ইনক’গনিট’ত কৰা ব্ৰাউজিঙৰ ইতিহাস মচিবলৈ, আটাইবোৰ ইনক’গ্নিট’ টেব বন্ধ কৰক।</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{আপোনাৰ পৃষ্ঠাটো সাজু হ'লে Chromeএ সেইটো ল'ড কৰিব}one{আপোনাৰ পৃষ্ঠাসমূহ সাজু হ'লে Chromeএ সেইটো ল'ড কৰিব}other{আপোনাৰ পৃষ্ঠাসমূহ সাজু হ'লে Chromeএ সেইটো ল'ড কৰিব}}</translation>
 <translation id="3962957115499249330">ৱাই-ফাইত এই ডাউনল'ডটো আৰম্ভ হ'লে আপুনি এটা জাননী দেখা পাব।</translation>
 <translation id="3963007978381181125">পাছফ্ৰেজ এনক্ৰিপশ্বনত Google Payৰ পৰিশোধ পদ্ধতি আৰু ঠিকনা অন্তৰ্ভুক্ত নহয়। আপোনাৰ পাছফ্ৰেজ জনা কোনোবাইহে আপুনি এনক্ৰিপ্ট কৰি থোৱা ডেটা পঢ়িব পাৰে। পাছফ্ৰেজটো ক’লৈকো পঠিওৱা নহয় আৰু সেইটো Googleত ষ্ট'ৰ কৰা নাথাকে। আপুনি যদি নিজৰ পাছফ্ৰেজটো পাহৰে বা এই ছেটিংটো সলাব বিচাৰে, ছিংক ৰিছেট কৰিব লাগিব। <ph name="BEGIN_LINK" />অধিক জানক<ph name="END_LINK" /></translation>
@@ -542,6 +549,7 @@
 আপোনাৰ Google একাউণ্টৰ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />ত Googleৰ অন্য সেৱাত কৰা সন্ধান আৰু অন্যান্য কাৰ্যকলাপৰ দৰে ব্ৰাউজিঙৰ ইতিহাস থাকিব পাৰে।</translation>
 <translation id="4532845899244822526">ফ’ল্ডাৰ বাছনি কৰক</translation>
 <translation id="4538018662093857852">লাইট ম’ড অন কৰক</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> টা টেব}one{<ph name="TAB_COUNT_MANY" /> টা টেব, <ph name="TAB_COUNT_INCOGNITO" /> টা ইনক’গনিট’}other{<ph name="TAB_COUNT_MANY" /> টা টেব, <ph name="TAB_COUNT_INCOGNITO" /> টা ইনক’গনিট’}}</translation>
 <translation id="4550003330909367850">আপোনাৰ পাছৱর্ড ইয়াত চাবলৈ বা ইয়ালৈ প্ৰতিলিপি কৰিবলৈ এই ডিভাইচত স্ক্ৰীণ লক ছেট কৰক।</translation>
 <translation id="4554077758708533499">ইউএছবি কে’বলৰ জৰিয়তে সংযোগ কৰা হ’ল</translation>
 <translation id="4557685098773234337">দ্ৰুততাৰে ইয়ালৈ আহিবলৈ এই পৃষ্ঠাখন আপোনাৰ গৃহ স্ক্ৰীনত যোগ দিয়ক</translation>
@@ -607,6 +615,7 @@
 <translation id="4885273946141277891">অসমর্থিত সংখ্যক Chromeৰ কাৰ্যকলাপ।</translation>
 <translation id="4908869848243824489">Googleৰ Discover</translation>
 <translation id="4910889077668685004">পৰিশোধ এপ্</translation>
+<translation id="4912413785358399818">টেব স্থানান্তৰ কৰক</translation>
 <translation id="4913161338056004800">পৰিসংখ্যা ৰিছেট কৰক</translation>
 <translation id="4913169188695071480">ৰিফ্রে’শ্ব কৰাটো বন্ধ কৰক</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{#টা পৃষ্ঠা}one{#টা পৃষ্ঠা}other{#টা পৃষ্ঠা}}</translation>
@@ -632,7 +641,9 @@
 <translation id="5039804452771397117">অনুমতি দিয়ক</translation>
 <translation id="5054455334322721892">আপুনি ছাইন ইন হৈ থকাৰ সময়ত আপোনাৰ Google একাউণ্টত <ph name="BEGIN_LINK1" />অন্য প্ৰকাৰৰ কাৰ্যকলাপ<ph name="END_LINK1" /> ছেভ কৰা হ’ব পাৰে। আপুনি যিকোনো সময়তে সেইবোৰ মচিব পাৰে।</translation>
 <translation id="5061533557687621530">বতৰৰ বিষয়ে জানিবলৈ মাইকটোত টিপক আৰু "আজি বতৰ কেনে?" বুলি কওক</translation>
+<translation id="506254248375231072">কোনো টেব নাই</translation>
 <translation id="5087580092889165836">কাৰ্ড যোগ কৰক</translation>
+<translation id="5091199029769593641">অতি সোনকালে, আপুনি এটা নতুন টেব খুলিলে <ph name="SITE_NAME" />ৰ কাহিনী দেখা পাব। আপুনি ফ’ল’ কৰা ছাইটসমূহ আপোনাৰ Google একাউণ্টত ছেভ কৰা হয়। আপুনি সেইবোৰ ডিস্ক’ভাৰৰ ছেটিঙত পৰিচালনা কৰিব পাৰে।</translation>
 <translation id="5091249083535528968">বিস্তাৰিত ব্যৱহাৰৰ ডেটা</translation>
 <translation id="509429900233858213">কোনো আসোঁৱাহ হৈছে।</translation>
 <translation id="510275257476243843">১ঘণ্টা বাকী আছে</translation>
@@ -692,6 +703,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" />ৰ সৈতে</translation>
 <translation id="5456381639095306749">পৃষ্ঠাটো ডাউনল'ড কৰক</translation>
 <translation id="5458366071038729214">আপুনি নিজে ফ'ল' কৰা ছাইটসমূহ ইয়াত বিচাৰি পাব</translation>
+<translation id="5468068603361015296">আপুনি তথাপি <ph name="FILE_NAME" /> ডাউনল’ড কৰিব বিচাৰেনে?</translation>
 <translation id="548278423535722844">maps এপত খোলক</translation>
 <translation id="5483197086164197190">Chromeত নেভিগে’ট কৰা</translation>
 <translation id="5487521232677179737">ডেটা মচক</translation>
@@ -749,6 +761,7 @@
 <translation id="5810288467834065221">স্বত্বাধিকাৰ <ph name="YEAR" /> Google Inc। সর্বস্বত্ব সংৰক্ষিত।</translation>
 <translation id="5810864297166300463">ৱেবৰ সহায়ক</translation>
 <translation id="5814131985548525293">আৰম্ভ কৰিবলৈ ইয়াত টাইপ কৰক অথবা কণ্ঠধ্বনিৰ চিহ্নটোত টিপক</translation>
+<translation id="5814749351757353073">আপোনাৰ প্ৰিয় ছাইটসমূহৰ জৰিয়তে আপ টু ডেট হৈ থাকক</translation>
 <translation id="583281660410589416">অজ্ঞাত</translation>
 <translation id="5833984609253377421">লিংক শ্বেয়াৰ কৰক</translation>
 <translation id="5834764604050996579">কোনো কিউআৰ ক’ড স্কেন কৰিবলৈ, Chromeক আপোনাৰ কেমেৰা ব্যৱহাৰ কৰিবলৈ দিয়ক</translation>
@@ -823,6 +836,7 @@
 
 উদাহৰণস্বৰূপে, কিছুমান ৱেবছাইটে আপোনাক আপুনি চোৱা অন্য ৱেবছাইটসমূহৰ ওপৰত আধাৰিত নোহোৱা কিছুমান বিজ্ঞাপন প্ৰদর্শন কৰি এই অনুৰোধলৈ সঁহাৰি জনাব পাৰে। বহুতো ৱেবছাইটে তথাপিও আপোনাৰ ব্ৰাউজিং ডেটা সংগ্ৰহ আৰু ব্যৱহাৰ কৰিব - উদাহৰণস্বৰূপে সুৰক্ষা উন্নত কৰিবলৈ, সমলৰ লগতে বিজ্ঞাপন তথা চুপাৰিছ প্ৰদান কৰিবলৈ আৰু ৰিপ’র্টিং কৰা পৰিসংখ্যা সৃষ্টি কৰিবলৈ ডেটা সংগ্ৰহ আৰু ব্যৱহাৰ কৰিব।</translation>
 <translation id="624789221780392884">আপডে’ট সাজু</translation>
+<translation id="6264376385120300461">তথাপি ডাউনল’ড কৰক</translation>
 <translation id="6277522088822131679">এই পৃষ্ঠাটো প্ৰিণ্ট কৰোঁতে কিবা সমস্যা হৈছিল। অনুগ্ৰহ কৰি আকৌ চেষ্টা কৰক।</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>
@@ -880,10 +894,12 @@
 <translation id="6539092367496845964">কিবা ভুল হ’ল। পাছত পুনৰ চেষ্টা কৰক।</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{১ ঘণ্টাৰ আগত পৰীক্ষা কৰা হৈছিল}one{# ঘণ্টাৰ আগত পৰীক্ষা কৰা হৈছিল}other{# ঘণ্টাৰ আগত পৰীক্ষা কৰা হৈছিল}}</translation>
 <translation id="6545017243486555795">সকলো ডেটা মচক</translation>
+<translation id="6546511553472444032">ফাইলটো ক্ষতিকাৰক হ’ব পাৰে</translation>
 <translation id="6560414384669816528">Sogouৰ জৰিয়তে সন্ধান কৰক</translation>
 <translation id="656065428026159829">অধিক চাওক</translation>
 <translation id="6565959834589222080">উপলব্ধ হ’লে ৱাই-ফাই ব্যৱহাৰ কৰা হয়</translation>
 <translation id="6566259936974865419">Chromeএ আপোনাৰ <ph name="GIGABYTES" /> জিবি ডেটা ৰাহি কৰিছে</translation>
+<translation id="6569373978618239158">আপুনি এতিয়া এটা নতুন টেব খুলিলে <ph name="SITE_NAME" />ৰ কাহিনী দেখা পাব। আপুনি ফ’ল’ কৰা ছাইটসমূহ আপোনাৰ Google একাউণ্টত ছেভ কৰা হয়। আপুনি সেইবোৰ ডিস্ক’ভাৰৰ ছেটিঙত পৰিচালনা কৰিব পাৰে।</translation>
 <translation id="6573096386450695060">চিৰদিনৰ বাবে অনুমতি দিয়ক</translation>
 <translation id="6573431926118603307">আপুনি নিজৰ অন্য ডিভাইচসমূহৰ Chromeত খোলা টেবসমূহ ইয়াত প্ৰদর্শিত হ'ব।</translation>
 <translation id="6583199322650523874">বর্তমানৰ পৃষ্ঠাটো বুকমার্ক কৰক</translation>
@@ -948,6 +964,7 @@
 <translation id="696447261358045621">ইনক’গনিট’ ম’ডৰ পৰা বাহিৰ হওক</translation>
 <translation id="6979737339423435258">সকলো সময়তে</translation>
 <translation id="6981982820502123353">সাধ্য সুবিধাসমূহ</translation>
+<translation id="6987047470128880212">এই ডিভাইচটোত ইনক’গনিট’ উপলব্ধ নহয়</translation>
 <translation id="6989267951144302301">ডাউনল’ড কৰিব পৰা নগ’ল</translation>
 <translation id="6995899638241819463">ডেটা উলংঘনৰ ফলত পাছৱৰ্ডসমূহ ফাদিল হ’লে আপোনাক সকীয়নি দিয়ে</translation>
 <translation id="7001056293070445572">ফাইলটোৰ আকাৰ অতি বেছি ডাঙৰ (<ph name="FILE_SIZE" />)</translation>
@@ -1025,6 +1042,7 @@
 <translation id="7482656565088326534">টেবটো পূৰ্বদৰ্শন কৰক</translation>
 <translation id="7484997419527351112">Discover- অফ আছে</translation>
 <translation id="7485033510383818941">ফীডৰ সমলটো ৰিফ্ৰেশ্ব কৰিবলৈ, পৃষ্ঠাখন তললৈ টানক</translation>
+<translation id="749294055653435199">এই ডিভাইচটোত Google Lens উপলব্ধ নহয়</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> ( <ph name="TIME_SINCE_UPDATE" />ত আপডে'ট কৰা হৈছিল)</translation>
 <translation id="7494974237137038751">ডেটা ৰাহি কৰা হৈছে</translation>
 <translation id="7498271377022651285">অনুগ্ৰহ কৰি অপেক্ষা কৰক…</translation>
@@ -1126,6 +1144,7 @@
 <translation id="8037801708772278989">এইমাত্ৰ পৰীক্ষা কৰা হৈছে</translation>
 <translation id="8040831032425909005">দ্ৰুতভাৱে কাৰ্যৰ সন্ধান কৰিব পৰা ৱিজেটৰ আইকন</translation>
 <translation id="804335162455518893">SD কাৰ্ড বিচাৰি পোৱা নগ’ল</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> টা ইনক’গ্নিট’ টেব}one{<ph name="TAB_COUNT_NORMAL" /> টা ইনক’গ্নিট’ টেব}other{<ph name="TAB_COUNT_NORMAL" /> টা ইনক’গ্নিট’ টেব}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> এম.বি. উপলব্ধ</translation>
 <translation id="8058746566562539958">নতুন Chrome টেবত খোলক</translation>
 <translation id="8063895661287329888">বুকমার্ক যোগ কৰিব পৰা নগ'ল।</translation>
@@ -1223,6 +1242,7 @@
 <translation id="8621068256433641644">ফ’ন</translation>
 <translation id="8636825310635137004">আপোনাৰ অন্য ডিভাইচৰ টেবসমূহ পাবলৈ ছিংক অন কৰক।</translation>
 <translation id="8641930654639604085">প্ৰাপ্তবয়স্কসকলে চাব পৰা ছাইটসমূহ অৱৰোধ কৰিবলৈ চেষ্টা কৰে</translation>
+<translation id="864544049772947936">ৱিণ্ড’ পৰিচালনা কৰক (<ph name="INSTANCE_COUNTS" /> টা)</translation>
 <translation id="8655129584991699539">আাপুনি Chrome ছেটিংসমূহত এই ডেটা মচিব পাৰে</translation>
 <translation id="8656747343598256512">আপোনাৰ Google একাউণ্টটোৰ জৰিয়তে এইটো ছাইট আৰু Chromeত ছাইন ইন কৰক। পাছত আপুনি ছিংক অন কৰিব পাৰে।</translation>
 <translation id="8659579665266920523">Chromeৰ জৰিয়তে কেনেকৈ সন্ধান কৰিব লাগে</translation>
@@ -1311,6 +1331,7 @@
 <translation id="9219103736887031265">Images</translation>
 <translation id="926205370408745186">আপুনি Chromeত কৰা কাৰ্যকলাপ ডিজিটেল ৱেলবিইঙ-ৰ পৰা আঁতৰাওক</translation>
 <translation id="927968626442779827">Google Chromeত লাইট ম’ড ব্যৱহাৰ কৰক</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> ফ’ল’ কৰি থকা হৈছে</translation>
 <translation id="932327136139879170">গৃহ</translation>
 <translation id="938850635132480979">আসোঁৱাহ: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">পাছফ্ৰেজ দিয়ক</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 eee92e4..8f0c32b 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
@@ -185,6 +185,7 @@
 <translation id="218608176142494674">Paylaşım</translation>
 <translation id="2195339740518523951">Chrome’un ən güclü təhlükəsizlik səviyyəsini əldə edin</translation>
 <translation id="2200113223741723867">İstifadə datasının paylaşılmasını idarə edin</translation>
+<translation id="2218567645332692482">Naviqasiyaları HTTPS-ə yüksəltmək və dəstəkləməyən saytları yükləmədən əvvəl sizi xəbərdar etmək</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> kimi davam edin</translation>
 <translation id="2230777942707397948">Boş pəncərə</translation>
 <translation id="2239812875700136898">"Kəşf edin" düyməsi üçün Seçimlərdən hekayələrinizi idarə edin</translation>
@@ -1292,6 +1293,7 @@
 <translation id="8965591936373831584">gözlənilir</translation>
 <translation id="8970887620466824814">Xəta baş verdi.</translation>
 <translation id="8972098258593396643">Defolt qovluğa endirilsin?</translation>
+<translation id="8987641763863173640">Video Önizləmə Ayarlarını İdarə Edin</translation>
 <translation id="8988028529677883095">Təhlükəsizlik açarı kimi telefondan istifadə edin</translation>
 <translation id="8993760627012879038">Incognito rejimində yeni panel açın</translation>
 <translation id="8996847606757455498">Başqa provayder seçin</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 5b0ac61..4ce06a7 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">আপনার আওয়াজ ব্যবহার করে দ্রুত সার্চ করুন। এই শর্টকার্ট এডিট করতে, টাচ করে ধরে থাকুন।</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" />-এ পাঠানো হচ্ছে...</translation>
 <translation id="103269572468856066">এই সাইট ও অ্যাপের ডেটাও মুছে ফেলতে চান?</translation>
+<translation id="1034259925032978114">উইন্ডো খোলা রয়েছে</translation>
 <translation id="1036348656032585052">বন্ধ করুন</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" /> যোগ করা হচ্ছে...</translation>
 <translation id="1045899828449635435">এই সাইটগুলির ডেটাও কি মুছে ফলতে চান?</translation>
@@ -185,6 +186,7 @@
 <translation id="2195339740518523951">Chrome-এ সবচেয়ে বেশি সুরক্ষা পান</translation>
 <translation id="2200113223741723867">ব্যবহারের ডেটা শেয়ার করার সেটিংস ম্যানেজ করুন</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> হিসেবে চালিয়ে যান</translation>
+<translation id="2230777942707397948">ফাঁকা উইন্ডো</translation>
 <translation id="2239812875700136898">'Discover-এর বিকল্প' বোতামে ক্লিক করে আপনার ফিডের কন্টেন্ট নিয়ন্ত্রণ করুন</translation>
 <translation id="2259659629660284697">পাসওয়ার্ড এক্সপোর্ট করুন...</translation>
 <translation id="2276696007612801991">আপনার পাসওয়ার্ড চেক করতে Google অ্যাকাউন্টে সাইন-ইন করুন</translation>
@@ -336,6 +338,7 @@
 <translation id="314939179385989105">Chrome-এর হোমপেজ</translation>
 <translation id="3157842584138209013">আরও বিকল্প বোতাম দিয়ে দেখুন আপনি কত ডেটা সাশ্রয় করেছেন</translation>
 <translation id="3166827708714933426">ট্যাব এবং উইন্ডোর শর্টকাটগুলি</translation>
+<translation id="316694332262407393">এখানে আগে থেকেই Chrome চলছে।</translation>
 <translation id="3169472444629675720">আবিষ্কার করুন</translation>
 <translation id="3205824638308738187">প্রায় শেষ হয়ে গেছে!</translation>
 <translation id="3207960819495026254">বুকমার্ক করা হয়েছে</translation>
@@ -414,6 +417,7 @@
 <translation id="3587596251841506391">ওয়েবে নিরাপত্তা উন্নত করতে সাহায্য করে</translation>
 <translation id="3602290021589620013">প্রিভিউ</translation>
 <translation id="3616113530831147358">অডিও</translation>
+<translation id="3622349720008044802">উইন্ডো ম্যানেজ করুন</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" />-এর সাথে শেয়ার করা হচ্ছে</translation>
 <translation id="3632295766818638029">পাসওয়ার্ড উম্মোচন করুন</translation>
 <translation id="363596933471559332">সঞ্চিত ক্রেডেনশিয়াল ব্যবহার করে ওয়েবসাইটগুলিতে অটোমেটিক সাইন-ইন। যখন বৈশিষ্ট্যটি বন্ধ করা থাকে, তখন প্রতিবারই একটি ওয়েবসাইটে সাইন-ইন করার সময় আপনাকে যাচাইকরণের জন্য বলা হবে।</translation>
@@ -429,6 +433,7 @@
 <translation id="3737319253362202215">অনুবাদ সেটিংস</translation>
 <translation id="3738139272394829648">স্পর্শের মাধ্যমে সার্চ</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" /> এ বুকমার্ক করা হয়েছে</translation>
+<translation id="3740525748616366977">এই ডিভাইসে ভয়েস সার্চ উপলভ্য নেই</translation>
 <translation id="3749259744154402564">কাজ করে না</translation>
 <translation id="3771001275138982843">আপডেট ডাউনলোড করা যায়নি</translation>
 <translation id="3771033907050503522">ছদ্মবেশী ট্যাবগুলি</translation>
@@ -437,6 +442,7 @@
 <translation id="3773856050682458546">এখানে প্রাথমিক ডেটা ছাড়াও আপনি যে ওয়েবসাইটে যান ও অ্যাপগুলি ব্যবহার করেন, তার তথ্য রয়েছে</translation>
 <translation id="3775705724665058594">আপনার ডিভাইসে পাঠান</translation>
 <translation id="3778956594442850293">হোম স্ক্রিনে যোগ করা হয়েছে</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{১টি ট্যাব}one{# টি ট্যাব}other{# টি ট্যাব}}</translation>
 <translation id="3803784507854318295">অটোপ্লে ম্যানেজ করুন</translation>
 <translation id="3810838688059735925">ভিডিও</translation>
 <translation id="3810973564298564668">পরিচালনা</translation>
@@ -457,6 +463,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">কোনো সক্ষম ভয়েস সার্চ উপলব্ধ নেই</translation>
 <translation id="395377504920307820">কোনও অ্যাকাউন্টে লগ-ইন না করেই ব্যবহার করুন</translation>
+<translation id="3958287878205277013">আপনার ডিভাইস থেকে ছদ্মবেশী মোডে করা ব্রাউজিংয়ের ইতিহাস মুছে ফেলতে, সব ছদ্মবেশী ট্যাব বন্ধ করুন।</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{রেডি হলেই Chrome আপনার পৃষ্ঠা লোড করবে}one{রেডি হলেই Chrome আপনার পৃষ্ঠা লোড করবে}other{রেডি হলেই Chrome আপনার পৃষ্ঠা লোড করবে}}</translation>
 <translation id="3962957115499249330">ওয়াই-ফাই ব্যবহার করে এই ডাউনলোড শুরু হলে আপনাকে একটি বিজ্ঞপ্তি পাঠানো হবে।</translation>
 <translation id="3963007978381181125">পাসফ্রেজ এনক্রিপশনে Google Pay-এর পেমেন্ট পদ্ধতি ও ঠিকানা অন্তর্ভুক্ত থাকে না। 
@@ -544,6 +551,7 @@
 আপনার Google অ্যাকাউন্টের সার্চ এবং অন্যান্য Google পরিষেবায় বিভিন্ন অ্যাক্টিভিটির মতো অন্যান্য ধরনের ব্রাউজিং ইতিহাস <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" />-এ সেভ করা থাকতে পারে।</translation>
 <translation id="4532845899244822526">ফোল্ডার বেছে নিন</translation>
 <translation id="4538018662093857852">লাইট মোড চালু করুন</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" />টি ট্যাব}one{<ph name="TAB_COUNT_MANY" />টি ট্যাব, <ph name="TAB_COUNT_INCOGNITO" />টি ছদ্মবেশী ট্যাব}other{<ph name="TAB_COUNT_MANY" />টি ট্যাব, <ph name="TAB_COUNT_INCOGNITO" />টি ছদ্মবেশী ট্যাব}}</translation>
 <translation id="4550003330909367850">এখানে আপনার পাসওয়ার্ডটি দেখতে অথবা কপি করতে এই ডিভাইসে স্ক্রিন লক সেট করুন।</translation>
 <translation id="4554077758708533499">ইউএসবি কেবেলের সাথে কানেক্ট করা হয়েছে</translation>
 <translation id="4557685098773234337">এখানে তাড়াতাড়ি পৌঁছাতে এই পৃষ্ঠাটি আপনার হোম স্ক্রিনে যোগ করুন</translation>
@@ -609,6 +617,7 @@
 <translation id="4885273946141277891">অসমর্থিত সংখ্যার Chrome দৃষ্টান্তগুলি</translation>
 <translation id="4908869848243824489">Google-এর ডিসকভার</translation>
 <translation id="4910889077668685004">পেমেন্ট অ্যাপ্লিকেশান</translation>
+<translation id="4912413785358399818">ট্যাব সরান</translation>
 <translation id="4913161338056004800">পরিসংখ্যান রিসেট করুন</translation>
 <translation id="4913169188695071480">রিফ্রেশ করা বন্ধ করুন</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{#টি পৃষ্ঠা}one{#টি পৃষ্ঠা}other{#টি পৃষ্ঠা}}</translation>
@@ -634,7 +643,9 @@
 <translation id="5039804452771397117">অনুমতি দিন</translation>
 <translation id="5054455334322721892">আপনি সাইন-ইন করে থাকলে <ph name="BEGIN_LINK1" />অন্যান্য অ্যাক্টিভিটি<ph name="END_LINK1" /> আপনার Google অ্যাকাউন্টে সেভ হয়ে যেতে পারে। আপনি যেকোনও সময় সেগুলি মুছে দিতে পারেন।</translation>
 <translation id="5061533557687621530">আবহাওয়ার পরিস্থিতি জানতে 'মাইক' আইকনে ট্যাপ করুন ও বলুন, "আজকের আবহাওয়া কেমন?"</translation>
+<translation id="506254248375231072">কোনও ট্যাব নেই</translation>
 <translation id="5087580092889165836">কার্ড জুড়ুন</translation>
+<translation id="5091199029769593641">শীঘ্রই, আপনি নতুন কোনও ট্যাব খুললে, <ph name="SITE_NAME" /> থেকে গল্প পড়তে পারবেন। আপনি যেসব সাইট ফলো করেন, সেগুলি আপনার Google অ্যাকাউন্টে সেভ হয়ে যায়। আপনি 'ডিসকভার' সেটিংসে গিয়ে সেগুলি ম্যানেজ করতে পারেন।</translation>
 <translation id="5091249083535528968">বেশি ব্যবহারের ডেটা</translation>
 <translation id="509429900233858213">একটি ত্রুটি ঘটেছে৷</translation>
 <translation id="510275257476243843">১ ঘণ্টা বাকি আছে</translation>
@@ -694,6 +705,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" /> সহ</translation>
 <translation id="5456381639095306749">পৃষ্ঠা ডাউনলোড করুন</translation>
 <translation id="5458366071038729214">যেসব সাইট ফলো করছেন সেগুলো এখানে দেখতে পাবেন</translation>
+<translation id="5468068603361015296">আপনি কি তবুও <ph name="FILE_NAME" /> ডাউনলোড করতে চান?</translation>
 <translation id="548278423535722844">ম্যাপ অ্যাপ্লিকেশানে খুলুন</translation>
 <translation id="5483197086164197190">Chrome-এ নেভিগেট করুন</translation>
 <translation id="5487521232677179737">ডেটা সাফ করুন</translation>
@@ -751,6 +763,7 @@
 <translation id="5810288467834065221">কপিরাইট <ph name="YEAR" /> Google LLC সব স্বত্ব সংরক্ষিত আছে।</translation>
 <translation id="5810864297166300463">ওয়েব সহায়তা</translation>
 <translation id="5814131985548525293">শুরু করতে এখানে টাইপ করুন বা ভয়েস আইকনে ট্যাপ করুন</translation>
+<translation id="5814749351757353073">আপনার পছন্দসই সাইটগুলি দেখতে থাকুন</translation>
 <translation id="583281660410589416">অজানা</translation>
 <translation id="5833984609253377421">লিঙ্ক শেয়ার করুন</translation>
 <translation id="5834764604050996579">QR কোড স্ক্যান করতে Chrome-এ আপনার ক্যামেরা ব্যবহার করার অনুমতি দিন</translation>
@@ -825,6 +838,7 @@
 
 উদাহরণস্বরূপ, কিছু ওয়েবসাইট আপনার দেখা অন্য ওয়েবসাইট ভিত্তিক নয় এমন বিজ্ঞাপন দেখিয়ে এই অনুরোধে প্রতিক্রিয়া জানাতে পারে৷ অনেক ওয়েবসাইট তারপরও আপনার ব্রাউজিং ডেটা সংগ্রহ এবং ব্যবহার করবে - উদাহরণস্বরূপ, আপনার নিরাপত্তা বাড়াতে, সামগ্রী, বিজ্ঞাপন এবং প্রস্তাবনা প্রদান করতে এবং রিপোর্ট পরিসংখ্যান তৈরি করতে৷</translation>
 <translation id="624789221780392884">আপডেট প্রস্তুত</translation>
+<translation id="6264376385120300461">তবুও ডাউনলোড করুন</translation>
 <translation id="6277522088822131679">পৃষ্ঠাটি প্রিন্ট করার সময় একটি সমস্যা হয়েছিল৷ দয়া করে আবার চেষ্টা করুন৷</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>
@@ -882,10 +896,12 @@
 <translation id="6539092367496845964">কোনও সমস্যা হয়েছে। পরে আবার চেষ্টা করুন।</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{১ ঘণ্টা আগে চেক করা হয়েছে}one{# ঘণ্টা আগে চেক করা হয়েছে}other{# ঘণ্টা আগে চেক করা হয়েছে}}</translation>
 <translation id="6545017243486555795">সমস্ত ডেটা সাফ করুন</translation>
+<translation id="6546511553472444032">ফাইলটি ক্ষতিকর হতে পারে</translation>
 <translation id="6560414384669816528">Sogou দিয়ে খুঁজুন</translation>
 <translation id="656065428026159829">আরও দেখুন</translation>
 <translation id="6565959834589222080">ওয়াই-ফাই উপলভ্য হলে ব্যবহার করা হয়</translation>
 <translation id="6566259936974865419">Chrome আপনার জন্য <ph name="GIGABYTES" /> জিবি বাঁচিয়ে দিয়েছে</translation>
+<translation id="6569373978618239158">এখন আপনি নতুন কোনও ট্যাব খুললেই, <ph name="SITE_NAME" />-এর গল্প পড়তে পারবেন। আপনি যেসব সাইট ফলো করেন, সেগুলি আপনার Google অ্যাকাউন্টে সেভ হয়ে যায়। আপনি 'ডিসকভার' সেটিংসে গিয়ে সেগুলি ম্যানেজ করতে পারেন।</translation>
 <translation id="6573096386450695060">সর্বদা অনুমতি দিন</translation>
 <translation id="6573431926118603307">আপনার অন্য ডিভাইসগুলিতে Chrome এ আপনি যে ট্যাবগুলি খুলেছেন সেগুলি এখানে দেখা যাবে।</translation>
 <translation id="6583199322650523874">বর্তমান পৃষ্ঠাটি বুকমার্ক করুন</translation>
@@ -951,6 +967,7 @@
 <translation id="696447261358045621">ছদ্মবেশী মোড ছেড়ে বেরিয়ে আসুন</translation>
 <translation id="6979737339423435258">শুরু থেকে</translation>
 <translation id="6981982820502123353">ব্যবহারযোগ্যতা</translation>
+<translation id="6987047470128880212">এই ডিভাইসে ছদ্মবেশী ট্যাব উপলভ্য নেই</translation>
 <translation id="6989267951144302301">ডাউনলোড করা যায়নি</translation>
 <translation id="6995899638241819463">আপনার পাসওয়ার্ড কোনও ডেটা নিরাপত্তা লঙ্ঘনের কারণে সর্বজনীনভাবে প্রকাশ হলে তা আপনাকে জানানো হবে</translation>
 <translation id="7001056293070445572">এই ফাইলটি বড় (<ph name="FILE_SIZE" />)</translation>
@@ -1028,6 +1045,7 @@
 <translation id="7482656565088326534">প্রিভিউ ট্যাব</translation>
 <translation id="7484997419527351112">ডিসকভার - বন্ধ</translation>
 <translation id="7485033510383818941">ফিডের কন্টেন্ট রিফ্রেশ করতে, পৃষ্ঠা নিচের দিকে সোয়াইপ করুন</translation>
+<translation id="749294055653435199">এই ডিভাইসে Google Lens উপলভ্য নেই</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (আপডেট করা হয়েছে <ph name="TIME_SINCE_UPDATE" />)</translation>
 <translation id="7494974237137038751">সেভ করা ডেটা</translation>
 <translation id="7498271377022651285">দয়া করে অপেক্ষা করুন...</translation>
@@ -1129,6 +1147,7 @@
 <translation id="8037801708772278989">এখনই চেক করা হয়েছে</translation>
 <translation id="8040831032425909005">দ্রুত অ্যাকশন সার্চ উইজেট আইকন</translation>
 <translation id="804335162455518893">এসডি কার্ড পাওয়া যায়নি</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" />টি ছদ্মবেশী ট্যাব}one{<ph name="TAB_COUNT_NORMAL" />টি ছদ্মবেশী ট্যাব}other{<ph name="TAB_COUNT_NORMAL" />টি ছদ্মবেশী ট্যাব}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> এমবি উপলভ্য</translation>
 <translation id="8058746566562539958">নতুন Chrome ট্যাবে খুলুন</translation>
 <translation id="8063895661287329888">বুকমার্ক যোগ করতে ব্যর্থ হয়েছে।</translation>
@@ -1227,6 +1246,7 @@
 <translation id="8621068256433641644">ফোন</translation>
 <translation id="8636825310635137004">আপনার অন্য ডিভাইসগুলি থেকে আপনার ট্যাবগুলি পেতে, সিঙ্ক চালু করুন।</translation>
 <translation id="8641930654639604085">প্রাপ্তবয়স্কদের সাইটগুলি অবরুদ্ধ করার চেষ্টা করুন</translation>
+<translation id="864544049772947936">উইন্ডো ম্যানেজ করুন (<ph name="INSTANCE_COUNTS" />)</translation>
 <translation id="8655129584991699539">Chrome সেটিংসে গিয়ে আপনি ডেটা মুছে ফেলতে পারেন</translation>
 <translation id="8656747343598256512">আপনার Google অ্যাকাউন্ট দিয়ে এই সাইট ও Chrome-এ সাইন-ইন করুন। আপনি পরে সিঙ্ক করার সুবিধা চালু করতে পারবেন।</translation>
 <translation id="8659579665266920523">Chrome-এর সাহায্যে কীভাবে সার্চ করবেন</translation>
@@ -1315,6 +1335,7 @@
 <translation id="9219103736887031265">Images</translation>
 <translation id="926205370408745186">ডিজিটাল ওয়েলবিং থেকে আপনার Chrome অ্যাক্টিভিটি সরিয়ে দিন</translation>
 <translation id="927968626442779827">Google Chrome-এ 'লাইট' মোড ব্যবহার করুন</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> অনুসরণ করা হচ্ছে</translation>
 <translation id="932327136139879170">হোম</translation>
 <translation id="938850635132480979">ত্রুটি: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">পাসফ্রেজ প্রবেশ করান</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 3f554d0..37869f4 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
@@ -965,7 +965,7 @@
 <translation id="696447261358045621">Inkognitomodus deaktivieren</translation>
 <translation id="6979737339423435258">Gesamte Zeit</translation>
 <translation id="6981982820502123353">Bedienungshilfen</translation>
-<translation id="6987047470128880212">NFC ist auf diesem Gerät nicht verfügbar</translation>
+<translation id="6987047470128880212">Der Inkognitomodus ist auf diesem Gerät nicht verfügbar</translation>
 <translation id="6989267951144302301">Fehler beim Download</translation>
 <translation id="6995899638241819463">Warnen, wenn Passwörter durch eine Datenpanne preisgegeben werden</translation>
 <translation id="7001056293070445572">Diese Datei ist groß (<ph name="FILE_SIZE" />)</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 b4924bd..155b195d 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
@@ -185,7 +185,7 @@
 <translation id="218608176142494674">Uso compartido</translation>
 <translation id="2195339740518523951">Obtén la seguridad más sólida de Chrome</translation>
 <translation id="2200113223741723867">Administrar cómo se comparten los datos de uso</translation>
-<translation id="2218567645332692482">Cambia los accesos a páginas al protocolo HTTPS y muestra una advertencia antes de cargar sitios que no sean compatibles con ese protocolo.</translation>
+<translation id="2218567645332692482">Adopta la extensión HTTPS para la navegación y muestra una advertencia antes de cargar sitios que no sean compatibles con la comunicación segura.</translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2230777942707397948">Ventana vacía</translation>
 <translation id="2239812875700136898">Controla tus historias desde las opciones del botón Descubre</translation>
@@ -1295,7 +1295,7 @@
 <translation id="8965591936373831584">pendiente</translation>
 <translation id="8970887620466824814">Se produjo un error</translation>
 <translation id="8972098258593396643">¿Deseas descargarlo a la carpeta predeterminada?</translation>
-<translation id="8987641763863173640">Administra la configuración de vista previa de videos.</translation>
+<translation id="8987641763863173640">Administra la configuración de la vista previa de videos.</translation>
 <translation id="8988028529677883095">Usa el teléfono como llave de seguridad</translation>
 <translation id="8993760627012879038">Abrir ventana nueva en modo de navegación incógnito</translation>
 <translation id="8996847606757455498">Elegir otro proveedor</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 62bb707..d976667 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
@@ -187,7 +187,7 @@
 <translation id="2200113223741723867">Kudeatu erabilera-datuak partekatzeko aukerak</translation>
 <translation id="2218567645332692482">HTTPS ezartzen du protokolo bakar gisa, eta abisuak bidaltzen dizkizu hura onartzen ez duten webguneak kargatu aurretik</translation>
 <translation id="2227444325776770048">Jarraitu <ph name="USER_FULL_NAME" /> gisa</translation>
-<translation id="2230777942707397948">Leihoa hutsik dago</translation>
+<translation id="2230777942707397948">Leiho hutsa</translation>
 <translation id="2239812875700136898">Istorioak kontrolatzeko, sakatu "Discover-en aukerak" botoia</translation>
 <translation id="2259659629660284697">Esportatu pasahitzak…</translation>
 <translation id="2276696007612801991">Hasi saioa Google-ko kontuan pasahitzak egiaztatzeko</translation>
@@ -434,7 +434,7 @@
 <translation id="3737319253362202215">Itzulpenaren ezarpenak</translation>
 <translation id="3738139272394829648">Sakatu bilatzeko</translation>
 <translation id="3739899004075612870">Egin da laster-marka <ph name="PRODUCT_NAME" />-n</translation>
-<translation id="3740525748616366977">Ahots bidezko bilaketa ez dago erabilgarri gailu honetan</translation>
+<translation id="3740525748616366977">Ahozko bilaketa ez dago erabilgarri gailu honetan</translation>
 <translation id="3749259744154402564">Ez da onartzen</translation>
 <translation id="3771001275138982843">Ezin izan da deskargatu eguneratzea</translation>
 <translation id="3771033907050503522">Ezkutuko moduko fitxak</translation>
@@ -550,7 +550,7 @@
 Baliteke Google-ko kontuak arakatze-historiako bestelako datu batzuk (adibidez, bilaketak eta Google-ren beste zerbitzu batzuetako jarduerak) edukitzea <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> webgunean.</translation>
 <translation id="4532845899244822526">Aukeratu karpeta</translation>
 <translation id="4538018662093857852">Aktibatu oinarrizko modua</translation>
-<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> fitxa}other{<ph name="TAB_COUNT_MANY" /> fitxa, <ph name="TAB_COUNT_INCOGNITO" /> ezkutuko moduko fitxa}}</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> fitxa}other{<ph name="TAB_COUNT_MANY" /> fitxa, ezkutuko moduko <ph name="TAB_COUNT_INCOGNITO" /> fitxa}}</translation>
 <translation id="4550003330909367850">Pasahitza hemen ikusteko edo kopiatzeko, ezarri pantaila-blokeoa gailu honetan.</translation>
 <translation id="4554077758708533499">USB kable baten bidez konektatuta</translation>
 <translation id="4557685098773234337">Hona azkarrago iristeko, gehitu orri hau hasierako pantailan</translation>
@@ -644,7 +644,7 @@
 <translation id="5061533557687621530">Eguraldia nolakoa den jakiteko, sakatu mikrofonoa eta esan "Zer eguraldi egiten du gaur?"</translation>
 <translation id="506254248375231072">Fitxarik ez</translation>
 <translation id="5087580092889165836">Gehitu txartel bat</translation>
-<translation id="5091199029769593641">Laster, <ph name="SITE_NAME" /> webgunearen istorioak ikusiko dituzu fitxa berri bat irekitzean. Jarraitzaile zaituzten webguneak Google-ko kontuan gordetzen dira. Discover-en ezarpenetan kudea ditzakezu webgune horiek.</translation>
+<translation id="5091199029769593641">Laster, <ph name="SITE_NAME" /> webguneko istorioak ikusiko dituzu fitxa berri bat irekitzean. Jarraitzaile zaituzten webguneak Google-ko kontuan gordetzen dira. Discover-en ezarpenetan kudea ditzakezu webgune horiek.</translation>
 <translation id="5091249083535528968">Erabilera-datu hedatuak</translation>
 <translation id="509429900233858213">Errore bat gertatu da.</translation>
 <translation id="510275257476243843">Ordubete gelditzen da</translation>
@@ -704,7 +704,7 @@
 <translation id="5454166040603940656">Hornitzailea: <ph name="PROVIDER" /></translation>
 <translation id="5456381639095306749">Deskargatu orria</translation>
 <translation id="5458366071038729214">Jarraitzaile zaituzten webguneak aurkituko dituzu hemen</translation>
-<translation id="5468068603361015296"><ph name="FILE_NAME" /> deskargatu egin nahi duzu halere?</translation>
+<translation id="5468068603361015296"><ph name="FILE_NAME" /> deskargatu nahi duzu halere?</translation>
 <translation id="548278423535722844">Ireki mapa-aplikazio batean</translation>
 <translation id="5483197086164197190">Chrome-n nabigatzea</translation>
 <translation id="5487521232677179737">Garbitu datuak</translation>
@@ -900,7 +900,7 @@
 <translation id="656065428026159829">Ikusi gehiago</translation>
 <translation id="6565959834589222080">Wifia erabilgarri dagoenean, hura erabiltzen da</translation>
 <translation id="6566259936974865419"><ph name="GIGABYTES" /> GB aurreztu dituzu Chrome-ri esker</translation>
-<translation id="6569373978618239158">Aurrerantzean, <ph name="SITE_NAME" /> webgunearen istorioak ikusiko dituzu fitxa berri bat irekitzean. Jarraitzaile zaituzten webguneak Google-ko kontuan gordetzen dira. Discover-en ezarpenetan kudea ditzakezu webgune horiek.</translation>
+<translation id="6569373978618239158">Aurrerantzean, <ph name="SITE_NAME" /> webguneko istorioak ikusiko dituzu fitxa berri bat irekitzean. Jarraitzaile zaituzten webguneak Google-ko kontuan gordetzen dira. Discover-en ezarpenetan kudea ditzakezu webgune horiek.</translation>
 <translation id="6573096386450695060">Eman baimena beti</translation>
 <translation id="6573431926118603307">Beste gailuetan Chrome-n ireki dituzun fitxak hemen agertuko dira.</translation>
 <translation id="6583199322650523874">Egin oraingo orriaren laster-marka</translation>
@@ -1146,7 +1146,7 @@
 <translation id="8037801708772278989">Oraintxe bertan egiaztatu da</translation>
 <translation id="8040831032425909005">Ekintza bizkorretako Bilaketa-widgetaren ikonoa</translation>
 <translation id="804335162455518893">Ez da aurkitu SD txartela</translation>
-<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ezkutuko moduko fitxa}other{<ph name="TAB_COUNT_NORMAL" /> ezkutuko moduko fitxa}}</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{Ezkutuko moduko <ph name="TAB_COUNT_ONE" /> fitxa}other{Ezkutuko moduko <ph name="TAB_COUNT_NORMAL" /> fitxa}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB erabilgarri</translation>
 <translation id="8058746566562539958">Ireki Chrome-ko beste fitxa batean</translation>
 <translation id="8063895661287329888">Ezin izan da gehitu laster-marka.</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 f18fa81..fbef79e 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
@@ -185,6 +185,7 @@
 <translation id="218608176142494674">Uso compartido</translation>
 <translation id="2195339740518523951">Goza da máxima seguranza de Chrome</translation>
 <translation id="2200113223741723867">Xestionar uso compartido dos datos de uso</translation>
+<translation id="2218567645332692482">Usa HTTPS cando navegas e mostra unha advertencia antes de cargar sitios que non o admiten</translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2230777942707397948">Ventá baleira</translation>
 <translation id="2239812875700136898">Fai clic no botón Opcións de Discover e controla as túas historias</translation>
@@ -1294,6 +1295,7 @@
 <translation id="8965591936373831584">pendente</translation>
 <translation id="8970887620466824814">Produciuse un erro.</translation>
 <translation id="8972098258593396643">Queres gardar a descarga no cartafol predeterminado?</translation>
+<translation id="8987641763863173640">Xestionar configuración da vista previa dos vídeos</translation>
 <translation id="8988028529677883095">Usar o teléfono como chave de seguranza</translation>
 <translation id="8993760627012879038">Abrir unha nova pestana no modo de incógnito</translation>
 <translation id="8996847606757455498">Escoller outro provedor</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 7e3166f5..8d91542 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">તમારા અવાજ વડે ઝડપથી શોધો. આ શૉર્ટકટમાં ફેરફાર કરવા માટે, ટચ કરીને થોડીવાર દબાવી રાખો.</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" /> પર મોકલી રહ્યાં છીએ...</translation>
 <translation id="103269572468856066">આ સાઇટ અને ઍપમાંથી પણ ડેટા સાફ કરીએ?</translation>
+<translation id="1034259925032978114">વિન્ડો ખુલ્લી છે</translation>
 <translation id="1036348656032585052">બંધ કરો</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" /> ઉમેરી રહ્યાં છીએ…</translation>
 <translation id="1045899828449635435">આ સાઇટમાંથી પણ ડેટા સાફ કરીએ?</translation>
@@ -185,6 +186,7 @@
 <translation id="2195339740518523951">Chromeની સૌથી વધુ મજબૂત સુરક્ષા મેળવો</translation>
 <translation id="2200113223741723867">વપરાશના ડેટાનું શેરિંગ મેનેજ કરો</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> તરીકે ચાલુ રાખો</translation>
+<translation id="2230777942707397948">ખાલી વિન્ડો</translation>
 <translation id="2239812875700136898">Discover બટન માટે વિકલ્પોમાંથી તમારી સ્ટોરીનું નિયંત્રણ કરો</translation>
 <translation id="2259659629660284697">બધા પાસવર્ડની નિકાસ કરો…</translation>
 <translation id="2276696007612801991">તમારા પાસવર્ડ ચેક કરવા માટે તમારા Google એકાઉન્ટમાં સાઇન ઇન કરો</translation>
@@ -336,6 +338,7 @@
 <translation id="314939179385989105">Chromeનું હોમપેજ</translation>
 <translation id="3157842584138209013">વધુ વિકલ્પો બટનની મદદથી તમે કેટલો ડેટા સાચવ્યો તે જુઓ</translation>
 <translation id="3166827708714933426">ટૅબ અને વિંડો શૉર્ટકટ્સ</translation>
+<translation id="316694332262407393">અહીં Chrome પહેલાથી જ ચાલુ છે.</translation>
 <translation id="3169472444629675720">Discover</translation>
 <translation id="3205824638308738187">લગભગ સમાપ્ત થયું!</translation>
 <translation id="3207960819495026254">બુકમાર્ક કરેલ</translation>
@@ -414,6 +417,7 @@
 <translation id="3587596251841506391">વેબ પર સુરક્ષા સુધારવા સહાય કરો</translation>
 <translation id="3602290021589620013">પ્રીવ્યૂ કરો</translation>
 <translation id="3616113530831147358">ઑડિઓ</translation>
+<translation id="3622349720008044802">વિન્ડો મેનેજ કરો</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> પર શેર કરી રહ્યાં છે</translation>
 <translation id="3632295766818638029">પાસવર્ડ બતાવો</translation>
 <translation id="363596933471559332">સંગ્રહિત ઓળખપત્રોનો ઉપયોગ કરીને વેબસાઇટમાં ઑટોમૅટિક રીતે સાઇન ઇન કરો. જ્યારે સુવિધા બંધ હોય છે, ત્યારે વેબસાઇટમાં સાઇન ઇન કરતાં પહેલાં દર વખતે તમને ચકાસણી માટે કહેવામાં આવશે.</translation>
@@ -429,6 +433,7 @@
 <translation id="3737319253362202215">અનુવાદ માટેના સેટિંગ</translation>
 <translation id="3738139272394829648">શોધવા માટે ટચ કરો</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" /> માં બુકમાર્ક કર્યું</translation>
+<translation id="3740525748616366977">આ ડિવાઇસ પર વૉઇસ શોધ ઉપલબ્ધ નથી</translation>
 <translation id="3749259744154402564">અનસપોર્ટેડ</translation>
 <translation id="3771001275138982843">અપડેટ ડાઉનલોડ કરી શકાઈ નથી</translation>
 <translation id="3771033907050503522">છૂપા ટેબ્સ</translation>
@@ -437,6 +442,7 @@
 <translation id="3773856050682458546">મૂળભૂત ડેટા ઉપરાંત તમે મુલાકાત લો છો તે વેબસાઇટ અને ઉપયોગ કરો છો તે ઍપની માહિતી</translation>
 <translation id="3775705724665058594">તમારા ડિવાઇસ પર મોકલો</translation>
 <translation id="3778956594442850293">હોમ સ્ક્રીન પર ઉમેર્યું</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1 ટૅબ}one{# ટૅબ}other{# ટૅબ}}</translation>
 <translation id="3803784507854318295">ઑટોપ્લે મેનેજ કરો</translation>
 <translation id="3810838688059735925">વીડિયો</translation>
 <translation id="3810973564298564668">મેનેજ કરો</translation>
@@ -457,6 +463,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">કોઈ સક્ષમ વૉઇસ શોધ ઉપલબ્ધ નથી</translation>
 <translation id="395377504920307820">કોઈ એકાઉન્ટ વગર ઉપયોગ કરો</translation>
+<translation id="3958287878205277013">તમારા ડિવાઇસમાંથી છૂપા મોડનો બ્રાઉઝિંગ ઇતિહાસ સાફ કરવા માટે, બધી છૂપી ટૅબ બંધ કરો.</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{તૈયાર હશે ત્યારે Chrome તમારું પેજ લોડ કરશે}one{તૈયાર હશે ત્યારે Chrome તમારાં પેજ લોડ કરશે}other{તૈયાર હશે ત્યારે Chrome તમારાં પેજ લોડ કરશે}}</translation>
 <translation id="3962957115499249330">આ ડાઉનલોડ જ્યારે વાઇ-ફાઇ પર શરૂ થાય, ત્યારે તમે નોટિફિકેશન જોશો.</translation>
 <translation id="3963007978381181125">પાસફ્રેઝ એન્ક્રિપ્શનમાં Google Payની ચુકવણી પદ્ધતિઓ અને ઍડ્રેસ સામેલ હોતા નથી. માત્ર તમારા પાસફ્રેઝ ધરાવતી કોઈ વ્યક્તિ જ તમારા એન્ક્રિપ્ટ કરેલા ડેટાને વાંચી શકે છે. Googleને પાસફ્રેઝ મોકલવામાં આવતો નથી કે તેના દ્વારા સંગ્રહિત કરવામાં આવતો નથી. જો તમે તમારો પાસફ્રેઝ ભૂલી જાઓ અથવા આ સેટિંગ બદલવા માંગતા હો, તો તમારે સિંકને રીસેટ કરવું પડશે. <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" /></translation>
@@ -542,6 +549,7 @@
 તમારા Google એકાઉન્ટમાં બ્રાઉઝિંગ ઇતિહાસના બીજા સ્વરૂપો જેમ કે શોધ અને બીજા Google સેવાઓ પરની પ્રવૃત્તિઓ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> પર હોય શકે છે.</translation>
 <translation id="4532845899244822526">ફોલ્ડર પસંદ કરો</translation>
 <translation id="4538018662093857852">લાઇટ મોડ ચાલુ કરો</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ટૅબ}one{<ph name="TAB_COUNT_MANY" /> ટૅબ, <ph name="TAB_COUNT_INCOGNITO" /> છૂપી}other{<ph name="TAB_COUNT_MANY" /> ટૅબ, <ph name="TAB_COUNT_INCOGNITO" /> છૂપી}}</translation>
 <translation id="4550003330909367850">અહીં તમારો પાસવર્ડ જોવા અથવા કૉપિ કરવા માટે, આ ડિવાઇસ પર સ્ક્રીન લૉક સેટ કરો.</translation>
 <translation id="4554077758708533499">USB કેબલ સાથે કનેક્ટ કરેલો છે</translation>
 <translation id="4557685098773234337">અહીં ઝડપથી પહોંચવા માટે, તમારી હોમ સ્ક્રીનમાં આ પેજ ઉમેરો</translation>
@@ -607,6 +615,7 @@
 <translation id="4885273946141277891">અસમર્થિત સંખ્યામાં Chrome આવૃત્તિઓ.</translation>
 <translation id="4908869848243824489">Googleનું Discover</translation>
 <translation id="4910889077668685004">ચુકવણી ઍપ્લિકેશનો</translation>
+<translation id="4912413785358399818">ટૅબ ખસેડો</translation>
 <translation id="4913161338056004800">આંકડા રીસેટ કરો</translation>
 <translation id="4913169188695071480">તાજું કરવાનું રોકો</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# પેજ}one{# પેજ}other{# પેજ}}</translation>
@@ -632,7 +641,9 @@
 <translation id="5039804452771397117">મંજૂરી આપો</translation>
 <translation id="5054455334322721892">જ્યારે તમે સાઇન ઇન કર્યુ હોય, ત્યારે તમારા Google એકાઉન્ટમાં <ph name="BEGIN_LINK1" />પ્રવૃત્તિના અન્ય પ્રકારો<ph name="END_LINK1" /> સાચવવામાં આવી શકે છે. તમે તેમને કોઈપણ સમયે ડિલીટ કરી શકો છો.</translation>
 <translation id="5061533557687621530">હવામાન ચેક કરવા માટે, માઇક પર ટૅપ કરો અને “આજે હવામાન કેવું છે?" એમ કહો</translation>
+<translation id="506254248375231072">કોઈ ટૅબ નથી</translation>
 <translation id="5087580092889165836">કાર્ડ ઉમેરો</translation>
+<translation id="5091199029769593641">ટૂંક સમયમાં, જ્યારે તમે નવી ટૅબ ખોલશો ત્યારે તમને <ph name="SITE_NAME" /> પરથી સ્ટોરી દેખાશે. તમે જે સાઇટ ફૉલો કરો છો તેને તમારા Google એકાઉન્ટમાં સાચવવામાં આવે છે. તમે તેમને Discoverના સેટિંગમાં મેનેજ કરી શકો છો.</translation>
 <translation id="5091249083535528968">વપરાશનો વધારાનો ડેટા</translation>
 <translation id="509429900233858213">કોઈ ભૂલ આવી છે.</translation>
 <translation id="510275257476243843">1 કલાક બાકી</translation>
@@ -692,6 +703,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" /> સાથે</translation>
 <translation id="5456381639095306749">પૃષ્ઠ ડાઉનલોડ કરો</translation>
 <translation id="5458366071038729214">તમે જે સાઇટ ફૉલો કરશો, તે અહીં દેખાશે</translation>
+<translation id="5468068603361015296">શું તમે તેમ છતાં <ph name="FILE_NAME" /> ડાઉનલોડ કરવા માગો છો?</translation>
 <translation id="548278423535722844">નકશા અ‍ૅપ્લિકેશનમાં ખોલો</translation>
 <translation id="5483197086164197190">Chrome પર નૅવિગેટ કરો</translation>
 <translation id="5487521232677179737">ડેટા સાફ કરો</translation>
@@ -749,6 +761,7 @@
 <translation id="5810288467834065221">કૉપિરાઇટ <ph name="YEAR" /> Google LLC. સર્વાધિકાર સુરક્ષિત.</translation>
 <translation id="5810864297166300463">વેબ માટે સહાય</translation>
 <translation id="5814131985548525293">શરૂ કરવા માટે અહીં ટાઇપ કરો અથવા વૉઇસ આઇકન પર ટૅપ કરો</translation>
+<translation id="5814749351757353073">તમારી મનપસંદ સાઇટ સાથે જોડાયેલા રહો</translation>
 <translation id="583281660410589416">અજ્ઞાત</translation>
 <translation id="5833984609253377421">લિંક શેર કરો</translation>
 <translation id="5834764604050996579">કોઈ QR કોડને સ્કૅન કરવા માટે, Chromeને તમારા કૅમેરાનો ઉપયોગ કરવા દો</translation>
@@ -823,6 +836,7 @@
 
 ઉદાહરણ તરીકે, કેટલીક વેબસાઇટ, તમે મુલાકાત લીધેલી બીજા વેબસાઇટ પર આધારિત ન હોય તેવી જાહેરાતો તમને બતાવીને આ વિનંતી પર પ્રતિસાદ આપી શકે છે. ઘણી વેબસાઇટ હજી પણ તમારા બ્રાઉઝિંગ ડેટાને ભેગો કરશે અને ઉપયોગ કરશે — ઉદાહરણ તરીકે સુરક્ષાને બહેતર બનાવવા, કન્ટેન્ટ, જાહેરાતો અને ભલામણો આપવા અને રિપોર્ટિંગ આંકડા જનરેટ કરવા માટે.</translation>
 <translation id="624789221780392884">અપડેટ તૈયાર</translation>
+<translation id="6264376385120300461">તેમ છતાં ડાઉનલોડ કરો</translation>
 <translation id="6277522088822131679">પૃષ્ઠને છાપવામાં સમસ્યા હતી. કૃપા કરીને ફરીથી પ્રયાસ કરો.</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>
@@ -880,10 +894,12 @@
 <translation id="6539092367496845964">કંઈક ખોટું થયું હતું. થોડીવાર પછી ફરી પ્રયાસ કરો.</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{1 કલાક પહેલાં ચેક કર્યું}one{# કલાક પહેલાં ચેક કર્યું}other{# કલાક પહેલાં ચેક કર્યું}}</translation>
 <translation id="6545017243486555795">બધો ડેટા સાફ કરો</translation>
+<translation id="6546511553472444032">ફાઇલ હાનિકારક હોઈ શકે છે</translation>
 <translation id="6560414384669816528">Sogou થી શોધો</translation>
 <translation id="656065428026159829">વધુ જુઓ</translation>
 <translation id="6565959834589222080">ઉપલબ્ધ હોય ત્યારે વાઇ-ફાઇનો ઉપયોગ કરવામાં આવે છે</translation>
 <translation id="6566259936974865419">Chrome એ તમારો <ph name="GIGABYTES" /> GB બચાવ્યો</translation>
+<translation id="6569373978618239158">હવે જ્યારે તમે નવી ટૅબ ખોલશો ત્યારે તમને <ph name="SITE_NAME" /> પરથી સ્ટોરી દેખાશે. તમે જે સાઇટ ફૉલો કરો છો તેને તમારા Google એકાઉન્ટમાં સાચવવામાં આવે છે. તમે તેમને Discoverના સેટિંગમાં મેનેજ કરી શકો છો.</translation>
 <translation id="6573096386450695060">હંમેશાં મંજૂરી આપો</translation>
 <translation id="6573431926118603307">તમારા અન્ય ઉપકરણો પર તમે Chrome માં ખોલેલા ટૅબ્સ અહીં દેખાશે.</translation>
 <translation id="6583199322650523874">વર્તમાન પૃષ્ઠને બુકમાર્ક કરો</translation>
@@ -949,6 +965,7 @@
 <translation id="696447261358045621">છૂપો મોડ છોડો</translation>
 <translation id="6979737339423435258">હંમેશાં</translation>
 <translation id="6981982820502123353">ઍક્સેસિબિલિટી</translation>
+<translation id="6987047470128880212">છૂપી ટૅબ આ ડિવાઇસ પર ઉપલબ્ધ નથી</translation>
 <translation id="6989267951144302301">ડાઉનલોડ ન કરી શક્યા</translation>
 <translation id="6995899638241819463">જો ડેટા ઉલ્લંઘનમાં પાસવર્ડ જાહેર થાય તો તમને ચેતવણી આપવામાં આવે છે</translation>
 <translation id="7001056293070445572">જ્યારે ફાઇલ (<ph name="FILE_SIZE" />)થી મોટી હોય</translation>
@@ -1026,6 +1043,7 @@
 <translation id="7482656565088326534">પ્રીવ્યૂ ટૅબ</translation>
 <translation id="7484997419527351112">Discover - બંધ</translation>
 <translation id="7485033510383818941">ફીડનું કન્ટેન્ટ રિફ્રેશ કરવા માટે, પેજ પર નીચેની તરફ સ્વાઇપ કરો</translation>
+<translation id="749294055653435199">Google Lens આ ડિવાઇસ પર ઉપલબ્ધ નથી</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (અપડેટ કર્યું <ph name="TIME_SINCE_UPDATE" />)</translation>
 <translation id="7494974237137038751">ડેટા બચત</translation>
 <translation id="7498271377022651285">કૃપા કરીને રાહ જુઓ…</translation>
@@ -1127,6 +1145,7 @@
 <translation id="8037801708772278989">હમણાં જ ચેક કર્યું</translation>
 <translation id="8040831032425909005">ઝડપી શોધ વિજેટનું આઇકન</translation>
 <translation id="804335162455518893">SD કાર્ડ મળ્યું નથી</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> છૂપી ટૅબ}one{<ph name="TAB_COUNT_NORMAL" /> છૂપી ટૅબ}other{<ph name="TAB_COUNT_NORMAL" /> છૂપી ટૅબ}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB ઉપલબ્ધ</translation>
 <translation id="8058746566562539958">નવા Chrome ટૅબમાં ખોલો</translation>
 <translation id="8063895661287329888">બુકમાર્ક ઉમેરવામાં નિષ્ફળ થયાં.</translation>
@@ -1225,6 +1244,7 @@
 <translation id="8621068256433641644">ફોન</translation>
 <translation id="8636825310635137004">તમારા અન્ય ઉપકરણો પરથી તમારા ટૅબ્સ મેળવવા માટે, સમન્વયન ચાલુ કરો.</translation>
 <translation id="8641930654639604085">વયસ્ક સાઇટને અવરોધિત કરવાનો પ્રયાસ કરો</translation>
+<translation id="864544049772947936">વિન્ડો મેનેજ કરો (<ph name="INSTANCE_COUNTS" />)</translation>
 <translation id="8655129584991699539">Chrome સેટિંગમાં તમે ડેટા સાફ કરી શકો છો</translation>
 <translation id="8656747343598256512">તમારા Google એકાઉન્ટ વડે આ સાઇટ અને Chromeમાં સાઇન ઇન કરો. તમે પછીથી તમારી સિંક કરવાની સુવિધા ચાલુ કરી શકો છો.</translation>
 <translation id="8659579665266920523">Chrome વડે કેવી રીતે શોધવું</translation>
@@ -1313,6 +1333,7 @@
 <translation id="9219103736887031265">Images</translation>
 <translation id="926205370408745186">ડિજિટલ લાઇફસ્ટાઇલમાંથી તમારી Chromeની પ્રવૃત્તિને કેવી રીતે કાઢવી</translation>
 <translation id="927968626442779827">Google Chrome પર લાઇટ મોડનો ઉપયોગ કરો</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> ફૉલો કરી રહ્યાં છીએ</translation>
 <translation id="932327136139879170">હોમ</translation>
 <translation id="938850635132480979">ભૂલ: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">પાસફ્રેઝ દાખલ કરો</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 116829c..fdc32d1 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
@@ -550,7 +550,7 @@
 आपके Google खाते में <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> पर की जाने वाली खोजों और अन्य Google सेवाओं की गतिविधि जैसे दूसरी तरह के ब्राउज़िंग इतिहास मौजूद हो सकते हैं.</translation>
 <translation id="4532845899244822526">फ़ोल्डर चुनें</translation>
 <translation id="4538018662093857852">लाइट मोड चालू करें</translation>
-<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> टैब}one{<ph name="TAB_COUNT_MANY" /> टैब, <ph name="TAB_COUNT_INCOGNITO" /> गुप्त}other{<ph name="TAB_COUNT_MANY" /> टैब, <ph name="TAB_COUNT_INCOGNITO" /> गुप्त}}</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> टैब}one{<ph name="TAB_COUNT_MANY" /> टैब, <ph name="TAB_COUNT_INCOGNITO" /> गुप्त टैब}other{<ph name="TAB_COUNT_MANY" /> टैब, <ph name="TAB_COUNT_INCOGNITO" /> गुप्त टैब}}</translation>
 <translation id="4550003330909367850">यहां अपना पासवर्ड देखने या उसे कॉपी करने के लिए, इस डिवाइस पर स्क्रीन लॉक सेट करें.</translation>
 <translation id="4554077758708533499">यूएसबी केबल की मदद से कनेक्ट किया गया</translation>
 <translation id="4557685098773234337">इसे और जल्दी ऐक्सेस करने के लिए, इस पेज को अपनी होम स्क्रीन पर जोड़ें</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 e544cd3..c3aff8f 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
@@ -530,7 +530,7 @@
 <translation id="4409271659088619928">Mesin telusur Anda adalah <ph name="DSE" />. Lihat petunjuknya untuk menghapus histori penelusuran Anda, jika memungkinkan.</translation>
 <translation id="4411535500181276704">Mode Ringan</translation>
 <translation id="4415276339145661267">Kelola Akun Google Anda</translation>
-<translation id="4427306783828095590">Perlindungan yang disempurnakan akan memblokir phishing dan malware dengan lebih optimal</translation>
+<translation id="4427306783828095590">Perlindungan yang ditingkatkan akan memblokir phishing dan malware dengan lebih optimal</translation>
 <translation id="4450672886426705087">Hasil penelusuran dari Google.</translation>
 <translation id="4452411734226507615">Tutup tab <ph name="TAB_TITLE" /></translation>
 <translation id="4452548195519783679">Dibookmark ke <ph name="FOLDER_NAME" /></translation>
@@ -685,7 +685,7 @@
 <translation id="5319359161174645648">Google merekomendasikan Chrome</translation>
 <translation id="5324858694974489420">Setelan Orang Tua</translation>
 <translation id="5342314432463739672">Permintaan izin</translation>
-<translation id="5355191726083956201">Perlindungan yang Disempurnakan aktif</translation>
+<translation id="5355191726083956201">Perlindungan yang Ditingkatkan aktif</translation>
 <translation id="5357811892247919462">Tab diterima</translation>
 <translation id="5368958499335451666">{OPEN_TABS,plural, =1{<ph name="OPEN_TABS_ONE" /> tab terbuka, ketuk untuk beralih tab}other{<ph name="OPEN_TABS_MANY" /> tab terbuka, ketuk untuk beralih tab}}</translation>
 <translation id="5375577065097716013">Telusuri gambar dengan Google Lens <ph name="BEGIN_NEW" />Baru<ph name="END_NEW" /></translation>
@@ -820,7 +820,7 @@
 <translation id="6127379762771434464">Item dihapus</translation>
 <translation id="6137022273846704445">Bahasa <ph name="APP_NAME" /></translation>
 <translation id="6138832295072039549">Ubah setelan situs di sini</translation>
-<translation id="6140709049082532940">Perlindungan yang disempurnakan:</translation>
+<translation id="6140709049082532940">Perlindungan yang ditingkatkan:</translation>
 <translation id="6140912465461743537">Negara/Wilayah</translation>
 <translation id="6141988275892716286">Konfirmasi download</translation>
 <translation id="614940544461990577">Coba:</translation>
@@ -955,7 +955,7 @@
 <translation id="688738109438487280">Menambahkan data yang sudah ada ke <ph name="TO_ACCOUNT" />.</translation>
 <translation id="6891726759199484455">Buka kunci untuk menyalin sandi Anda</translation>
 <translation id="6896758677409633944">Salin</translation>
-<translation id="6900532703269623216">Perlindungan yang disempurnakan</translation>
+<translation id="6900532703269623216">Perlindungan yang ditingkatkan</translation>
 <translation id="6903907808598579934">Aktifkan sinkronisasi</translation>
 <translation id="6929699136511445623">Aktifkan sinkronisasi sistem Android</translation>
 <translation id="6942665639005891494">Ubah lokasi download default kapan saja menggunakan opsi menu Setelan</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 fe724a5..8312899f 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">ನಿಮ್ಮ ಧ್ವನಿಯ ಮೂಲಕ ತ್ವರಿತವಾಗಿ ಹುಡುಕಿ. ಈ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ.</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" /> ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="103269572468856066">ಈ ಸೈಟ್ &amp; ಆ್ಯಪ್ ಡೇಟಾ ತೆರವುಗೊಳಿಸಬೇಕೇ?</translation>
+<translation id="1034259925032978114">ವಿಂಡೋ ತೆರೆದಿದೆ</translation>
 <translation id="1036348656032585052">ಆಫ್ ಮಾಡು</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" /> ಅನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="1045899828449635435">ಈ ಸೈಟ್‌ನ ಡೇಟಾ ತೆರವುಗೊಳಿಸಬೇಕೇ?</translation>
@@ -184,7 +185,9 @@
 <translation id="218608176142494674">ಹಂಚಿಕೆ</translation>
 <translation id="2195339740518523951">Chrome ನ ಪ್ರಬಲ ಭದ್ರತೆಯನ್ನು ಪಡೆಯಿರಿ</translation>
 <translation id="2200113223741723867">ಬಳಕೆಯ ಡೇಟಾ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಿ</translation>
+<translation id="2218567645332692482">ನ್ಯಾವಿಗೇಶನ್‌ಗಳನ್ನು HTTPS ಗೆ ಅಪ್‌ಗ್ರೇಡ್‌ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಬೆಂಬಲಿಸದ ಸೈಟ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡುವ ಮೊದಲು ನಿಮಗೆ ಎಚ್ಚರಿಸಲಿ</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> ನಂತೆ ಮುಂದುವರಿಸಿ</translation>
+<translation id="2230777942707397948">ಖಾಲಿ ವಿಂಡೋ</translation>
 <translation id="2239812875700136898">ಡಿಸ್ಕವರ್‌ಗಾಗಿ ಆಯ್ಕೆಗಳ ಬಟನ್‌ನಿಂದ ನಿಮ್ಮ ಕಥೆಗಳನ್ನು ನಿಯಂತ್ರಿಸಿ</translation>
 <translation id="2259659629660284697">ಪಾಸ್‌ವರ್ಡ್‍ಗಳನ್ನು ಎಕ್ಸ್‌ಪೋರ್ಟ್ ಮಾಡಿ…</translation>
 <translation id="2276696007612801991">ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು, ನಿಮ್ಮ Google ಖಾತೆಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ</translation>
@@ -336,6 +339,7 @@
 <translation id="314939179385989105">Chrome ನ ಮುಖಪುಟ</translation>
 <translation id="3157842584138209013">ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳ ಬಟನ್ ಮೂಲಕ ನೀವು ಎಷ್ಟು ಡೇಟಾ ಉಳಿಸಿದ್ದಿರಾ ಎಂದು ನೋಡಿ</translation>
 <translation id="3166827708714933426">ಟ್ಯಾಬ್ ಮತ್ತು ವಿಂಡೋ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು</translation>
+<translation id="316694332262407393">Chrome ಈಗಾಗಲೇ ರನ್ ಆಗುತ್ತಿದೆ.</translation>
 <translation id="3169472444629675720">Discover</translation>
 <translation id="3205824638308738187">ಬಹುತೇಕ ಮುಗಿದಿದೆ!</translation>
 <translation id="3207960819495026254">ಬುಕ್‌ಮಾರ್ಕ್‌ ಮಾಡಲಾಗಿದೆ</translation>
@@ -414,6 +418,7 @@
 <translation id="3587596251841506391">ವೆಬ್‌ ಸುರಕ್ಷತೆ ಸುಧಾರಿಸಲು ಸಹಕರಿಸಿ</translation>
 <translation id="3602290021589620013">ಪೂರ್ವವೀಕ್ಷಣೆ</translation>
 <translation id="3616113530831147358">ಆಡಿಯೋ</translation>
+<translation id="3622349720008044802">ವಿಂಡೋಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> ಜೊತೆಗೆ ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ</translation>
 <translation id="3632295766818638029">ಪಾಸ್‌ವರ್ಡ್ ಅನ್‌ಮಾಸ್ಕ್ ಮಾಡಿ</translation>
 <translation id="363596933471559332">ಸಂಗ್ರಹಿಸಲಾದ ರುಜುವಾತುಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಮೂಲಕ ವೆಬ್‌ಸೈಟ್‌ಗಳಿಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೈನ್ ಇನ್ ಮಾಡಿ. ವೈಶಿಷ್ಟ್ಯವು ಆಫ್ ಆಗಿರುವಾಗ, ವೆಬ್‌ಸೈಟ್‌ಗೆ ಸೈನ್ ಇನ್ ಮಾಡುವ ಮೊದಲು ಪ್ರತಿ ಬಾರಿಯೂ ನಿಮಗೆ ಪರಿಶೀಲನೆ ಮಾಡಲು ಕೇಳಲಾಗುವುದು.</translation>
@@ -429,6 +434,7 @@
 <translation id="3737319253362202215">ಅನುವಾದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
 <translation id="3738139272394829648">ಹುಡುಕಲು ಸ್ಪರ್ಶಿಸಿ</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಬುಕ್‌ಮಾರ್ಕ್ ಮಾಡಲಾಗಿದೆ</translation>
+<translation id="3740525748616366977">ಈ ಸಾಧನದಲ್ಲಿ ಧ್ವನಿ ಹುಡುಕಾಟ ಲಭ್ಯವಿಲ.</translation>
 <translation id="3749259744154402564">ಬೆಂಬಲಿತವಾಗಿಲ್ಲ</translation>
 <translation id="3771001275138982843">ಅಪ್‌ಡೇಟ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</translation>
 <translation id="3771033907050503522">ಅದೃಶ್ಯ ಟ್ಯಾಬ್‌ಗಳು</translation>
@@ -437,6 +443,7 @@
 <translation id="3773856050682458546">ನೀವು ಭೇಟಿ ನೀಡುವ ವೆಬ್‌ಸೈಟ್‌ಗಳು ಮತ್ತು ನೀವು ಬಳಸುವ ಆ್ಯಪ್‌ಗಳ ಕುರಿತು ಮೂಲ ಡೇಟಾ ಹಾಗೂ ಮಾಹಿತಿ</translation>
 <translation id="3775705724665058594">ನಿಮ್ಮ ಸಾಧನಗಳಿಗೆ ಕಳುಹಿಸಿ</translation>
 <translation id="3778956594442850293">ಹೋಮ್‌ನ ಪರದೆಗೆ ಸೇರಿಸಲಾಗಿದೆ</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1 ಟ್ಯಾಬ್}one{# ಟ್ಯಾಬ್‌ಗಳು}other{# ಟ್ಯಾಬ್‌ಗಳು}}</translation>
 <translation id="3803784507854318295">ಆಟೋಪ್ಲೇ ನಿರ್ವಹಿಸಿ</translation>
 <translation id="3810838688059735925">ವೀಡಿಯೊ</translation>
 <translation id="3810973564298564668">ನಿರ್ವಹಿಸು</translation>
@@ -457,6 +464,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">ಯಾವುದೇ ಸಕ್ರಿಯಗೊಳಿಸಿದ ಧ್ವನಿ ಹುಡುಕಾಟ ಲಭ್ಯವಿಲ್ಲ</translation>
 <translation id="395377504920307820">ಖಾತೆಯಿಲ್ಲದೆ ಬಳಸಿ</translation>
+<translation id="3958287878205277013">ನಿಮ್ಮ ಸಾಧನದಿಂದ ಅಜ್ಞಾತ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ತೆರವುಗೊಳಿಸಲು, ಎಲ್ಲಾ ಅಜ್ಞಾತ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಮುಚ್ಚಿ.</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{ಸಿದ್ಧವಾದಾಗ, ನಿಮ್ಮ ಪುಟವನ್ನು Chrome ಲೋಡ್ ಮಾಡುತ್ತದೆ}one{ಸಿದ್ಧವಾದಾಗ, ನಿಮ್ಮ ಪುಟಗಳನ್ನು Chrome ಲೋಡ್ ಮಾಡುತ್ತದೆ}other{ಸಿದ್ಧವಾದಾಗ, ನಿಮ್ಮ ಪುಟಗಳನ್ನು Chrome ಲೋಡ್ ಮಾಡುತ್ತದೆ}}</translation>
 <translation id="3962957115499249330">ಈ ಡೌನ್‌ಲೋಡ್ ವೈ-ಫೈ ನಲ್ಲಿ ಪ್ರಾರಂಭವಾದಾಗ, ನೀವು ಅಧಿಸೂಚನೆಯನ್ನು ನೋಡುತ್ತೀರಿ.</translation>
 <translation id="3963007978381181125">ಪಾಸ್‌ಫ್ರೇಸ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್, Google Pay ನಿಂದ ಪಾವತಿ ವಿಧಾನಗಳು ಮತ್ತು ವಿಳಾಸಗಳನ್ನು ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ. ನಿಮ್ಮ ಎನ್‍‍ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ನಿಮ್ಮ ಪಾಸ್‌ಫ್ರೇಸ್ ಹೊಂದಿರುವ ಯಾರಾದರೂ ಮಾತ್ರ ಓದಬಹುದು. ಪಾಸ್‍‍ಫ್ರೇಸ್‍ ಅನ್ನು Google ಗೆ ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ಅದನ್ನು Google ನಿಂದ ಸಂಗ್ರಹಿಸಲಾಗುವುದಿಲ್ಲ. ನಿಮ್ಮ ಪಾಸ್‍‍ಫ್ರೇಸ್ ಅನ್ನು ನೀವು ಮರೆತರೆ ಅಥವಾ ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಬಯಸಿದರೆ, ನೀವು ಸಿಂಕ್ ಅನ್ನು ಮರುಹೊಂದಿಸುವ ಅಗತ್ಯವಿರುತ್ತದೆ.<ph name="BEGIN_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK" /></translation>
@@ -541,6 +549,7 @@
 ನಿಮ್ಮ Google ಖಾತೆಯು, ಹುಡುಕಾಟಗಳು ಮತ್ತು ಇತರ Google ಸೇವೆಗಳ ಚಟುವಟಿಕೆಗಳಂತಹ ಬೇರೆ ವಿಧಗಳ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.ನಲ್ಲಿ ಹೊಂದಿರಬಹುದು.</translation>
 <translation id="4532845899244822526">ಫೋಲ್ಡರ್‌ ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="4538018662093857852">ಲೈಟ್ ಮೋಡ್ ಅನ್ನು ಆನ್ ಮಾಡಿ</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ಟ್ಯಾಬ್}one{<ph name="TAB_COUNT_MANY" /> ಟ್ಯಾಬ್‌ಗಳು, <ph name="TAB_COUNT_INCOGNITO" /> ಅಜ್ಞಾತ}other{<ph name="TAB_COUNT_MANY" /> ಟ್ಯಾಬ್‌ಗಳು, <ph name="TAB_COUNT_INCOGNITO" /> ಅಜ್ಞಾತ}}</translation>
 <translation id="4550003330909367850">ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಇಲ್ಲಿ ವೀಕ್ಷಿಸಲು ಅಥವಾ ನಕಲಿಸಲು, ಈ ಸಾಧನದಲ್ಲಿ ಪರದೆ ಲಾಕ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಿ.</translation>
 <translation id="4554077758708533499">USB ಕೇಬಲ್ ಬಳಸಿ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="4557685098773234337">ಇಲ್ಲಿಗೆ ತ್ವರಿತವಾಗಿ ತಲುಪಲು, ಈ ಪುಟವನ್ನು ನಿಮ್ಮ ಮುಖಪುಟದ ಪರದೆಗೆ ಸೇರಿಸಿ</translation>
@@ -606,6 +615,7 @@
 <translation id="4885273946141277891">ಬೆಂಬಲಿಸದಿರುವ Chrome ನಿದರ್ಶನಗಳ ಸಂಖ್ಯೆ.</translation>
 <translation id="4908869848243824489">Google ನಿಂದ Discover</translation>
 <translation id="4910889077668685004">ಪಾವತಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು</translation>
+<translation id="4912413785358399818">ಟ್ಯಾಬ್ ಸರಿಸಿ</translation>
 <translation id="4913161338056004800">ಅಂಕಿ ಅಂಶಗಳನ್ನು ಮರುಹೊಂದಿಸಿ</translation>
 <translation id="4913169188695071480">ರಿಫ್ರೆಶ್ ಮಾಡುವಿಕೆ ನಿಲ್ಲಿಸಿ</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# ಪುಟ}one{# ಪುಟಗಳು}other{# ಪುಟಗಳು}}</translation>
@@ -631,7 +641,9 @@
 <translation id="5039804452771397117">ಅನುಮತಿಸಿ</translation>
 <translation id="5054455334322721892">ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿರುವಾಗ, ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ <ph name="BEGIN_LINK1" />ಚಟುವಟಿಕೆಯ ಇತರ ವಿಧಾನಗಳನ್ನು<ph name="END_LINK1" /> ಉಳಿಸಬಹುದು. ನೀವು ಅವುಗಳನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ಅಳಿಸಬಹುದು.</translation>
 <translation id="5061533557687621530">ಹವಾಮಾನವನ್ನು ಪರಿಶೀಲಿಸಲು, ಮೈಕ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ ಹಾಗೂ ಹೀಗೆ ಹೇಳಿ, “ಇಂದಿನ ಹವಾಮಾನ ಹೇಗಿದೆ?”</translation>
+<translation id="506254248375231072">ಯಾವುದೇ ಟ್ಯಾಬ್‌ಗಳಿಲ್ಲ</translation>
 <translation id="5087580092889165836">ಕಾರ್ಡ್ ಸೇರಿಸಿ</translation>
+<translation id="5091199029769593641">ಶೀಘ್ರವೇ, ನೀವು ಹೊಸ ಟ್ಯಾಬ್ ಅನ್ನು ತೆರೆದಾಗ, ನಿಮಗೆ <ph name="SITE_NAME" /> ನಲ್ಲಿ ಸ್ಟೋರಿಗಳನ್ನು ಕಾಣುತ್ತವೆ. ನೀವು ಅನುಸರಿಸುವ ಸೈಟ್‌ಗಳನ್ನು ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಉಳಿಸಲಾಗಿದೆ. ನೀವು ಅವುಗಳನ್ನು Discover ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದು.</translation>
 <translation id="5091249083535528968">ಬಳಕೆಯ ಡೇಟಾವನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ</translation>
 <translation id="509429900233858213">ದೋಷವೊಂದು ಕಾಣಿಸಿಕೊಂಡಿದೆ.</translation>
 <translation id="510275257476243843">1 ಗಂಟೆ ಉಳಿದಿದೆ</translation>
@@ -691,6 +703,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" /> ಜೊತೆಗೆ</translation>
 <translation id="5456381639095306749">ಪುಟ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ</translation>
 <translation id="5458366071038729214">ನೀವು ಫಾಲೋ ಮಾಡುವ ಸೈಟ್‌ಗಳನ್ನು ಇಲ್ಲಿ ಹುಡುಕಬಹುದು</translation>
+<translation id="5468068603361015296">ಹೇಗಿದ್ದರೂ <ph name="FILE_NAME" /> ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ನೀವು ಬಯಸುವಿರಾ?</translation>
 <translation id="548278423535722844">ನಕ್ಷೆಗಳ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
 <translation id="5483197086164197190">Chrome ಅನ್ನು ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ</translation>
 <translation id="5487521232677179737">ಡೇಟಾ ತೆರವುಗೊಳಿಸು</translation>
@@ -748,6 +761,7 @@
 <translation id="5810288467834065221">ಕೃತಿಸ್ವಾಮ್ಯ <ph name="YEAR" /> Google LLC. ಎಲ್ಲ ಹಕ್ಕುಗಳನ್ನು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ.</translation>
 <translation id="5810864297166300463">ವೆಬ್ ಸಹಾಯ ವಿಭಾಗ</translation>
 <translation id="5814131985548525293">ಪ್ರಾರಂಭಿಸಲು ಇಲ್ಲಿ ಟೈಪ್ ಮಾಡಿ ಅಥವಾ ಧ್ವನಿ ಐಕಾನ್ ಟ್ಯಾಪ್ ಮಾಡಿ</translation>
+<translation id="5814749351757353073">ನಿಮ್ಮ ಮೆಚ್ಚಿನ ಸೈಟ್‌ಗಳನ್ನು ಇರಿಸಿಕೊಳ್ಳಿ</translation>
 <translation id="583281660410589416">ಅಪರಿಚಿತ</translation>
 <translation id="5833984609253377421">ಲಿಂಕ್ ಹಂಚಿಕೊಳ್ಳಿ</translation>
 <translation id="5834764604050996579">QR ಕೋಡ್ ಸ್ಕ್ಯಾನ್ ಮಾಡಲು, Chrome ಗೆ ನಿಮ್ಮ ಕ್ಯಾಮರಾ ಬಳಸಲು ಅನುಮತಿಸಿ</translation>
@@ -822,6 +836,7 @@
 
 ಉದಾಹರಣೆಗೆ, ಕೆಲವು ವೆಬ್‌ಸೈಟ್‌ಗಳು, ನೀವು ಭೇಟಿ ನೀಡಿದ ಇತರ ವೆಬ್‌ಸೈಟ್‌ಗಳನ್ನು ಆಧರಿಸಿಲ್ಲದ ಜಾಹೀರಾತುಗಳನ್ನು ನಿಮಗೆ ತೋರಿಸುವ ಮೂಲಕ ಈ ವಿನಂತಿಗೆ ಸ್ಪಂದಿಸಬಹುದು. ಹೆಚ್ಚಿನ ವೆಬ್‌ಸೈಟ್‌ಗಳು ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್‌ ಡೇಟಾವನ್ನು ಈಗಲೂ ಸಂಗ್ರಹಿಸುತ್ತವೆ ಹಾಗೂ ಅವುಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ಭದ್ರತೆಯನ್ನು ಸುಧಾರಿಸಲು, ವಿಷಯ, ಜಾಹೀರಾತುಗಳು ಮತ್ತು ಶಿಫಾರಸುಗಳನ್ನು ಒದಗಿಸಲು ಮತ್ತು ವರದಿಯ ಅಂಕಿಅಂಶಗಳನ್ನು ರಚಿಸಲು.</translation>
 <translation id="624789221780392884">ಅಪ್‌ಡೇಟ್‌‌ ಸಿದ್ಧವಾಗಿದೆ</translation>
+<translation id="6264376385120300461">ಹೇಗಿದ್ದರೂ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ</translation>
 <translation id="6277522088822131679">ಪುಟವನ್ನು ಮುದ್ರಿಸುವಲ್ಲಿ ಸಮಸ್ಯೆ ಕಂಡುಬಂದಿದೆ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</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>
@@ -879,10 +894,12 @@
 <translation id="6539092367496845964">ಏನೋ ತಪ್ಪಾಗಿದೆ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{1 ಗಂಟೆಯ ಹಿಂದೆ ಪರಿಶೀಲಿಸಲಾಗಿದೆ}one{# ಗಂಟೆಗಳ ಹಿಂದೆ ಪರಿಶೀಲಿಸಲಾಗಿದೆ}other{# ಗಂಟೆಗಳ ಹಿಂದೆ ಪರಿಶೀಲಿಸಲಾಗಿದೆ}}</translation>
 <translation id="6545017243486555795">ಎಲ್ಲಾ ಡೇಟಾ ತೆರವುಗೊಳಿಸು</translation>
+<translation id="6546511553472444032">ಫೈಲ್ ಹಾನಿಕಾರಕವಾಗಿರಬಹುದು</translation>
 <translation id="6560414384669816528">Sogou ಜೊತೆಗೆ ಹುಡುಕಿ</translation>
 <translation id="656065428026159829">ಇನ್ನಷ್ಟು ನೋಡಿ</translation>
 <translation id="6565959834589222080">ಲಭ್ಯವಿರುವಾಗ ವೈ-ಫೈ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ</translation>
 <translation id="6566259936974865419">ನಿಮ್ಮ <ph name="GIGABYTES" /> GB ಅನ್ನು Chrome ಉಳಿಸಿದೆ</translation>
+<translation id="6569373978618239158">ನೀವು ಹೊಸ ಟ್ಯಾಬ್ ಅನ್ನು ತೆರೆದಾಗ, ನಿಮಗೆ <ph name="SITE_NAME" /> ನಲ್ಲಿ ಸ್ಟೋರಿಗಳು ಕಾಣಿಸುತ್ತವೆ. ನೀವು ಅನುಸರಿಸುವ ಸೈಟ್‌ಗಳನ್ನು ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಉಳಿಸಲಾಗಿದೆ. ನೀವು ಅವುಗಳನ್ನು Discover ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದು.</translation>
 <translation id="6573096386450695060">ಯಾವಾಗಲೂ ಅನುಮತಿಸಿ</translation>
 <translation id="6573431926118603307">ನಿಮ್ಮ ಇತರ ಸಾಧನಗಳಲ್ಲಿನ Chrome ನಲ್ಲಿ ನೀವು ತೆರೆದಿರುವಂತಹ ಟ್ಯಾಬ್‌ಗಳು ಇಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ.</translation>
 <translation id="6583199322650523874">ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಬುಕ್‌ಮಾರ್ಕ್ ಮಾಡಿ</translation>
@@ -948,6 +965,7 @@
 <translation id="696447261358045621">ಅಜ್ಞಾತ ಮೋಡ್‌‌ ಅನ್ನು ತೊರೆಯಿರಿ</translation>
 <translation id="6979737339423435258">ಎಲ್ಲ ಸಮಯ</translation>
 <translation id="6981982820502123353">ಪ್ರವೇಶ</translation>
+<translation id="6987047470128880212">ಈ ಸಾಧನದಲ್ಲಿ ಅಜ್ಞಾತ ಮೋಡ್ ಲಭ್ಯವಿಲ್ಲ</translation>
 <translation id="6989267951144302301">ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲಾಗಲಿಲ್ಲ</translation>
 <translation id="6995899638241819463">ಡೇಟಾ ಉಲ್ಲಂಘನೆಯಿಂದಾಗಿ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಿದರೆ ನಿಮಗೆ ಎಚ್ಚರಿಕೆ ನೀಡಲಾಗುತ್ತದೆ</translation>
 <translation id="7001056293070445572">ಈ ಫೈಲ್ ದೊಡ್ಡದಾಗಿದೆ (<ph name="FILE_SIZE" />)</translation>
@@ -1025,6 +1043,7 @@
 <translation id="7482656565088326534">ಪೂರ್ವವೀಕ್ಷಣೆ ಟ್ಯಾಬ್</translation>
 <translation id="7484997419527351112">Discover - ಆಫ್ ಆಗಿದೆ</translation>
 <translation id="7485033510383818941">ಫೀಡ್ ವಿಷಯವನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಲು, ಪುಟವನ್ನು ಪುಲ್ ಡೌನ್ ಮಾಡಿ</translation>
+<translation id="749294055653435199">ಈ ಸಾಧನದಲ್ಲಿ Google Lens ಲಭ್ಯವಿಲ್ಲ</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (<ph name="TIME_SINCE_UPDATE" /> ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ)</translation>
 <translation id="7494974237137038751">ಉಳಿತಾಯವಾದ ಡೇಟಾ</translation>
 <translation id="7498271377022651285">ದಯವಿಟ್ಟು ಕಾಯಿರಿ...</translation>
@@ -1126,6 +1145,7 @@
 <translation id="8037801708772278989">ಈಗಷ್ಟೇ ಪರಿಶೀಲಿಸಲಾಗಿದೆ</translation>
 <translation id="8040831032425909005">ತ್ವರಿತ ಕ್ರಮದ ವಿಜೆಟ್ ಹುಡುಕಾಟ ಐಕಾನ್</translation>
 <translation id="804335162455518893">SD ಕಾರ್ಡ್ ಕಂಡುಬಂದಿಲ್ಲ</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ಅಜ್ಞಾತ ಟ್ಯಾಬ್‌}one{<ph name="TAB_COUNT_NORMAL" /> ಅಜ್ಞಾತ ಟ್ಯಾಬ್‌ಗಳು}other{<ph name="TAB_COUNT_NORMAL" /> ಅಜ್ಞಾತ ಟ್ಯಾಬ್‌ಗಳು}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB  ಲಭ್ಯವಿದೆ</translation>
 <translation id="8058746566562539958">ಹೊಸ Chrome ಟ್ಯಾಬ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
 <translation id="8063895661287329888">ಬುಕ್‌ಮಾರ್ಕ್‌ ಸೇರಿಸಲು ವಿಫಲವಾಗಿದೆ.</translation>
@@ -1224,6 +1244,7 @@
 <translation id="8621068256433641644">ಫೋನ್</translation>
 <translation id="8636825310635137004">ನಿಮ್ಮ ಇತರ ಸಾಧನಗಳಿಂದ ನಿಮ್ಮ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಲು, ಸಿಂಕ್‌ ಆನ್‌ ಮಾಡಿ.</translation>
 <translation id="8641930654639604085">ವಯಸ್ಕರ ಸೈಟ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು ಪ್ರಯತ್ನಿಸಿ</translation>
+<translation id="864544049772947936">ವಿಂಡೋಗಳನ್ನು ನಿರ್ವಹಿಸಿ (<ph name="INSTANCE_COUNTS" />)</translation>
 <translation id="8655129584991699539">ನೀವು ಡೇಟಾವನ್ನು Chrome ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ತೆರವುಗೊಳಿಸಬಹುದು</translation>
 <translation id="8656747343598256512">ನಿಮ್ಮ Google ಖಾತೆ ಬಳಸಿಕೊಂಡು ಈ ಸೈಟ್ ಮತ್ತು Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ. ನೀವು ನಂತರದಲ್ಲಿ ಸಿಂಕ್ ಆನ್ ಮಾಡಬಹುದು.</translation>
 <translation id="8659579665266920523">Chrome ಮೂಲಕ ಹುಡುಕಾಟ ಮಾಡುವುದು ಹೇಗೆ</translation>
@@ -1273,6 +1294,7 @@
 <translation id="8965591936373831584">ಬಾಕಿ ಉಳಿದಿರುವುದು</translation>
 <translation id="8970887620466824814">ಏನೋ ತಪ್ಪಾಗಿದೆ.</translation>
 <translation id="8972098258593396643">ಡೀಫಾಲ್ಟ್ ಫೋಲ್ಡರ್‌ಗೆ ಡೌನ್‌ಲೋಡ್‌ ಮಾಡುವುದೇ?</translation>
+<translation id="8987641763863173640">ವೀಡಿಯೊ ಪೂರ್ವವೀಕ್ಷಣೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="8988028529677883095">ಫೋನ್ ಅನ್ನು ಸುರಕ್ಷತಾ ಕೀಯನ್ನಾಗಿ ಬಳಸಿ</translation>
 <translation id="8993760627012879038">ಅದೃಶ್ಯ ಮೋಡ್‌ನಲ್ಲಿ ಹೊಸ ವಿಂಡೋ ತೆರೆಯಿರಿ</translation>
 <translation id="8996847606757455498">ಬೇರೆ ಪೂರೈಕೆದಾರರನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
@@ -1312,6 +1334,7 @@
 <translation id="9219103736887031265">Images</translation>
 <translation id="926205370408745186">ಡಿಜಿಟಲ್ ಯೋಗಕ್ಷೇಮದಿಂದ ನಿಮ್ಮ Chrome ಚಟುವಟಿಕೆಯನ್ನು ತೆಗೆದುಹಾಕಿ</translation>
 <translation id="927968626442779827">Google Chrome ನಲ್ಲಿ ಲೈಟ್ ಮೋಡ್ ಬಳಸಿ</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> ಅನ್ನು ಫಾಲೋ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="932327136139879170">ಹೋಮ್</translation>
 <translation id="938850635132480979">ದೋಷ: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">ಪಾಸ್‌ಫ್ರೇಸ್ ಅನ್ನು ನಮೂದಿಸಿ</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 6392b9e4..99dcfa6 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">तुमचा आवाज वापरून झटपट शोधा. हा शॉर्टकट संपादित करण्यासाठी, स्‍पर्श करा आणि धरून ठेवा.</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" /> ला पाठवत आहे…</translation>
 <translation id="103269572468856066">डेटासुद्धा साफ करायचा?</translation>
+<translation id="1034259925032978114">विंडो उघडी आहे</translation>
 <translation id="1036348656032585052">बंद करा</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" /> जोडत आहे…</translation>
 <translation id="1045899828449635435">डेटासुद्धा साफ करायचा?</translation>
@@ -184,7 +185,9 @@
 <translation id="218608176142494674">शेअर करत आहे</translation>
 <translation id="2195339740518523951">Chrome ची सर्वोत्तम सुरक्षितता मिळवा</translation>
 <translation id="2200113223741723867">वापर डेटा शेअरिंग व्यवस्थापित करा</translation>
+<translation id="2218567645332692482">नेव्हिगेशन HTTPS वर अपग्रेड करा आणि त्याला सपोर्ट करत नसलेल्या साइट लोड करण्यापूर्वी तुम्हाला चेतवाणी द्या</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> म्हणून सुरू ठेवा</translation>
+<translation id="2230777942707397948">रिकामी विंडो</translation>
 <translation id="2239812875700136898">Discover साठी पर्याय बटणावरून तुमच्या स्टोरी नियंत्रित करा</translation>
 <translation id="2259659629660284697">पासवर्ड एक्सपोर्ट करा…</translation>
 <translation id="2276696007612801991">तुमचे पासवर्ड तपासण्यासाठी तुमच्या Google खात्यामध्ये साइन इन करा</translation>
@@ -336,6 +339,7 @@
 <translation id="314939179385989105">Chrome चे होम पेज</translation>
 <translation id="3157842584138209013">आणिखी पर्याय बटणावरून तुम्ही किती डेटा सेव्ह केला आहे ते पहा</translation>
 <translation id="3166827708714933426">टॅब आणि विंडो शॉर्टकट</translation>
+<translation id="316694332262407393">येथे Chrome आधीपासून रन होत आहे.</translation>
 <translation id="3169472444629675720">Discover</translation>
 <translation id="3205824638308738187">जवळजवळ पूर्ण झाले!</translation>
 <translation id="3207960819495026254">बुकमार्क केलेली</translation>
@@ -414,6 +418,7 @@
 <translation id="3587596251841506391">वेबवरील सुरक्षेमध्ये सुधारणा करण्यात मदत करा</translation>
 <translation id="3602290021589620013">पूर्वावलोकन</translation>
 <translation id="3616113530831147358">ऑडिओ</translation>
+<translation id="3622349720008044802">विंडो व्यवस्थापित करा</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> शी शेअर करत आहे</translation>
 <translation id="3632295766818638029">पासवर्ड पहा</translation>
 <translation id="363596933471559332">स्टोअर क्रेडेंशियल वापरून वेबसाइटवर आपोआप साइन इन करा. वैशिष्ट्य बंद असते तेव्हा, वेबसाइटवर साइन इन करण्यापूर्वी दरवेळी तुम्हाला पडताळणीसाठी विचारले जाईल.</translation>
@@ -429,6 +434,7 @@
 <translation id="3737319253362202215">भाषांतराची सेटिंग्ज</translation>
 <translation id="3738139272394829648">शोधण्यासाठी स्विच करा</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" /> मध्ये बुकमार्क केले</translation>
+<translation id="3740525748616366977">या डिव्हाइसवर व्हॉइस शोध उपलब्ध नाही</translation>
 <translation id="3749259744154402564">सपोर्ट नसलेली</translation>
 <translation id="3771001275138982843">अपडेट डाउनलोड करता आले नाही</translation>
 <translation id="3771033907050503522">गुप्त टॅब</translation>
@@ -437,6 +443,7 @@
 <translation id="3773856050682458546">तुम्ही भेट दिलेल्या वेबसाइट आणि तुम्ही वापरत असलेल्या अ‍ॅप्सबद्दल मूलभूत डेटा तशीच माहिती</translation>
 <translation id="3775705724665058594">तुमच्या डिव्हाइसवर पाठवा</translation>
 <translation id="3778956594442850293">होम स्क्रीनवर जोडले</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{एक टॅब}other{# टॅब}}</translation>
 <translation id="3803784507854318295">ऑटोप्ले व्यवस्थापित करा</translation>
 <translation id="3810838688059735925">व्हिडिओ</translation>
 <translation id="3810973564298564668">व्यवस्थापित करा</translation>
@@ -457,6 +464,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">सक्षम केलेला कोणताही व्हॉइस शोध उपलब्ध नाही</translation>
 <translation id="395377504920307820">खात्याशिवाय वापरा</translation>
+<translation id="3958287878205277013">तुमच्या डिव्हाइसवरून गुप्त मोडमधील ब्राउझिंग इतिहास साफ करण्यासाठी सर्व गुप्त मोड टॅब बंद करा.</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{तयार झाल्यावर, Chrome तुमचे पेज लोड करेल}other{तयार झाल्यावर, Chrome तुमची पेज लोड करेल}}</translation>
 <translation id="3962957115499249330">हा डाउनलोड वाय-फाय वर सुरू होईल तेव्हा तुम्हाला सूचना दिसेल.</translation>
 <translation id="3963007978381181125">पासफ्रेज एंक्रिप्शनमध्ये Google Pay वरील पेमेंट पद्धतींचा आणि पत्त्यांचा समावेश नसतो. फक्त तुमचा पासफ्रेज असलेली एखादी व्यक्ती तुमचा एंक्रिप्ट केलेला डेटा वाचू शकते. पासफ्रेज Google कडे पाठवला किंवा त्याद्वारे स्टोअर केला जात नाही. तुम्ही तुमचा पासफ्रेज विसरल्यास किंवा तुम्हाला हे सेटिंग बदलायचे असल्यास, तुम्हाला सिंक रीसेट करण्याची आवश्यकता असेल. <ph name="BEGIN_LINK" />अधिक जाणून घ्या<ph name="END_LINK" /></translation>
@@ -542,6 +550,7 @@
 तुमच्या Google खात्यात <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> येथील इतर Google सेवांवरील शोध आणि अ‍ॅक्टिव्हिटी यांसारखा इतर स्वरूपातील ब्राउझिंग इतिहास असू शकतो.</translation>
 <translation id="4532845899244822526">फोल्डर निवडा</translation>
 <translation id="4538018662093857852">लाइट मोड सुरू करा</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> टॅब}other{<ph name="TAB_COUNT_MANY" /> टॅब, <ph name="TAB_COUNT_INCOGNITO" /> गुप्त मोड}}</translation>
 <translation id="4550003330909367850">तुमचा पासवर्ड येथे पाहण्यासाठी किंवा कॉपी करण्यासाठी या डीव्हाइसवर स्क्रीन लॉक सेट करा.</translation>
 <translation id="4554077758708533499">USB केबल वापरून कनेक्ट केला</translation>
 <translation id="4557685098773234337">येथे झटपट येण्यासाठी, हे पेज तुमच्या होम स्क्रीनवर जोडा</translation>
@@ -607,6 +616,7 @@
 <translation id="4885273946141277891">Chrome उदाहरणांची असमर्थित संख्या.</translation>
 <translation id="4908869848243824489">Google चे Discover</translation>
 <translation id="4910889077668685004">पेमेंट ॲप्स</translation>
+<translation id="4912413785358399818">टॅब हलवा</translation>
 <translation id="4913161338056004800">आकडेवारी रीसेट करा</translation>
 <translation id="4913169188695071480">रिफ्रेश करणे थांबवा</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# पेज}other{# पेज}}</translation>
@@ -632,7 +642,9 @@
 <translation id="5039804452771397117">परवानगी द्या</translation>
 <translation id="5054455334322721892">तुम्ही साइन इन केलेले असते तेव्हा, तुमच्या Google खाते मध्ये <ph name="BEGIN_LINK1" />इतर प्रकारची ॲक्टिव्हिटी<ph name="END_LINK1" /> सेव्ह केली जाऊ शकते. तुम्ही ती कधीही हटवू शकता.</translation>
 <translation id="5061533557687621530">हवामान पाहण्यासाठी, माइकवर टॅप करा आणि “आजचे हवामान कसे आहे?” असे म्हणा</translation>
+<translation id="506254248375231072">कोणतेही टॅब नाहीत</translation>
 <translation id="5087580092889165836">कार्ड जोडा</translation>
+<translation id="5091199029769593641">लवकरच, तुम्ही नवीन टॅब उघडल्यानंतर तुम्हाला <ph name="SITE_NAME" /> वरील स्टोरी दिसतील. तुम्ही फॉलो करता त्या साइट तुमच्या Google खात्यामध्ये सेव्ह केल्या जातात. तुम्ही त्या Discover सेटिंग्जमध्ये व्यवस्थापित करू शकता.</translation>
 <translation id="5091249083535528968">वाढलेला वापर डेटा</translation>
 <translation id="509429900233858213">एक एरर आली आहे.</translation>
 <translation id="510275257476243843">1 तास शिल्लक</translation>
@@ -692,6 +704,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" /> सह</translation>
 <translation id="5456381639095306749">पेज डाउनलोड करा</translation>
 <translation id="5458366071038729214">तुम्ही फॉलो करत असलेल्या साइट तुम्हाला येथे दिसतील</translation>
+<translation id="5468068603361015296">तुम्हाला तरीही <ph name="FILE_NAME" /> डाउनलोड करायची आहे का?</translation>
 <translation id="548278423535722844">नकाशे ॲपमध्ये उघडा</translation>
 <translation id="5483197086164197190">Chrome नेव्हिगेट करा</translation>
 <translation id="5487521232677179737">डेटा साफ करा</translation>
@@ -749,6 +762,7 @@
 <translation id="5810288467834065221">कॉपीराइट <ph name="YEAR" /> Google LLC. सर्व हक्क राखीव.</translation>
 <translation id="5810864297166300463">वेब साहाय्य</translation>
 <translation id="5814131985548525293">सुरू करण्यासाठी इथे टाइप करा किंवा व्हॉइस आयकनवर टॅप करा</translation>
+<translation id="5814749351757353073">तुमच्या आवडत्या साइटचा माग ठेवा</translation>
 <translation id="583281660410589416">अज्ञात</translation>
 <translation id="5833984609253377421">लिंक शेअर करा</translation>
 <translation id="5834764604050996579">QR कोड स्कॅन करण्यासाठी, Chrome ला तुमचा कॅमेरा वापरू द्या</translation>
@@ -823,6 +837,7 @@
 
 उदाहरणार्थ, काही वेबसाइट तुम्ही भेट दिलेल्‍या इतर वेबसाइटवर आधारित नसलेल्‍या जाहिराती तुम्हाला दर्शवून या विनंतीस प्रतिसाद देऊ शकतात. अनेक वेबसाइट अद्यापही तुमचा ब्राउझिंग डेटा संकलित करून त्‍याचा वापर करतील - उदाहरणार्थ त्‍यांच्‍या वेबसाइटवर सुरक्षितता सुधारणे, आशय, जाहिराती आणि शिफारशी देऊ करणे आणि अहवाल आकडेवारी निर्माण करणे.</translation>
 <translation id="624789221780392884">अपडेट तयार</translation>
+<translation id="6264376385120300461">तरीही डाउनलोड करा</translation>
 <translation id="6277522088822131679">पृष्‍ठ प्रिंट करण्‍यात एक समस्‍या होती. कृपया पुन्‍हा प्रयत्न करा.</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>
@@ -880,10 +895,12 @@
 <translation id="6539092367496845964">काहीतरी चूक झाली. पुन्हा प्रयत्न करा.</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{एका तासापूर्वी तपासले}other{# तासांपूर्वी तपासले}}</translation>
 <translation id="6545017243486555795">सर्व डेटा साफ करा</translation>
+<translation id="6546511553472444032">फाइल हानिकारक असू शकते</translation>
 <translation id="6560414384669816528">Sogou सह शोध करा</translation>
 <translation id="656065428026159829">आणखी पाहा</translation>
 <translation id="6565959834589222080">उपलब्ध असेल तेव्हा वाय-फाय वापरला जातो</translation>
 <translation id="6566259936974865419">Chrome ने तुमच्यासाठी <ph name="GIGABYTES" /> GB सेव्ह केले आहे</translation>
+<translation id="6569373978618239158">आता, तुम्ही नवीन टॅब उघडल्यानंतर तुम्हाला <ph name="SITE_NAME" /> वरील स्टोरी दिसतील. तुम्ही फॉलो करता त्या साइट तुमच्या Google खात्यामध्ये सेव्ह केल्या जातात. तुम्ही त्या Discover सेटिंग्जमध्ये व्यवस्थापित करू शकता.</translation>
 <translation id="6573096386450695060">नेहमी अनुमती द्या</translation>
 <translation id="6573431926118603307">आपल्या अन्य डिव्हाइसेसवर तुम्ही Chrome मध्ये उघडलेले टॅब येथे दिसतील.</translation>
 <translation id="6583199322650523874">वर्तमान पृष्ठ बुकमार्क करा</translation>
@@ -949,6 +966,7 @@
 <translation id="696447261358045621">गुप्त मोडमधून बाहेर पडा</translation>
 <translation id="6979737339423435258">पूर्णवेळ</translation>
 <translation id="6981982820502123353">ॲक्सेसिबिलिटी</translation>
+<translation id="6987047470128880212">या डिव्हाइसवर गुप्त मोड उपलब्ध नाही</translation>
 <translation id="6989267951144302301">डाउनलोड करता आले नाही</translation>
 <translation id="6995899638241819463">डेटा भंगामध्ये पासवर्ड उघड झाल्यास, तुम्हाला चेतावणी द्या</translation>
 <translation id="7001056293070445572">ही फाइल मोठी आहे (<ph name="FILE_SIZE" />)</translation>
@@ -1026,6 +1044,7 @@
 <translation id="7482656565088326534">पूर्वावलोकन टॅब</translation>
 <translation id="7484997419527351112">Discover - बंद आहे</translation>
 <translation id="7485033510383818941">फीडमधील आशय रिफ्रेश करण्यासाठी पेज खाली ओढा</translation>
+<translation id="749294055653435199">या डिव्हाइसवर Google Lens उपलब्ध नाही</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (<ph name="TIME_SINCE_UPDATE" /> वाजता अपडेट केले)</translation>
 <translation id="7494974237137038751">डेटा वाचवला</translation>
 <translation id="7498271377022651285">कृपया प्रतीक्षा करा...</translation>
@@ -1127,6 +1146,7 @@
 <translation id="8037801708772278989">नुकतेच तपासले</translation>
 <translation id="8040831032425909005">झटपट कृती शोध विजेट आयकन</translation>
 <translation id="804335162455518893">SD कार्ड आढळले नाही</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> गुप्त मोड टॅब}other{<ph name="TAB_COUNT_NORMAL" /> गुप्त मोड टॅब}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB उपलब्ध</translation>
 <translation id="8058746566562539958">नवीन Chrome टॅबमध्‍ये उघडा</translation>
 <translation id="8063895661287329888">बुकमार्क जोडण्यात अयशस्वी झाले.</translation>
@@ -1225,6 +1245,7 @@
 <translation id="8621068256433641644">फोन</translation>
 <translation id="8636825310635137004">आपल्या इतर डिव्हाइसेस मधून तुमचे टॅब प्राप्त करण्यासाठी, सिंक सुरू करा</translation>
 <translation id="8641930654639604085">प्रौढ आशय असलेल्या साइटना अवरोधित करण्‍याचा प्रयत्न करा</translation>
+<translation id="864544049772947936">विंडो व्यवस्थापित करा (<ph name="INSTANCE_COUNTS" />)</translation>
 <translation id="8655129584991699539">तुम्ही Chrome सेटिंग्जमध्ये डेटा साफ करू शकता</translation>
 <translation id="8656747343598256512">तुमच्या Google खाते सह या साइट आणि Chrome वर साइन इन करा. तुम्ही सिंक करणे नंतर सुरू करू शकता.</translation>
 <translation id="8659579665266920523">Chrome सह कसे शोधावे</translation>
@@ -1274,6 +1295,7 @@
 <translation id="8965591936373831584">प्रलंबित</translation>
 <translation id="8970887620466824814">काहीतरी चूक झाली.</translation>
 <translation id="8972098258593396643">डीफॉल्ट फोल्डरमध्ये डाउनलोड करायचे?</translation>
+<translation id="8987641763863173640">व्हिडिओ पूर्वावलोकन सेटिंग्ज व्यवस्थापित करा</translation>
 <translation id="8988028529677883095">सिक्युरिटी की म्हणून फोन वापरा</translation>
 <translation id="8993760627012879038">गुप्त मोडमध्ये एक नवीन टॅब उघडा</translation>
 <translation id="8996847606757455498">दुसरा पुरवठादार निवडा</translation>
@@ -1313,6 +1335,7 @@
 <translation id="9219103736887031265">Images</translation>
 <translation id="926205370408745186">Digital wellbeing वरून तुमची Chrome ॲक्टिव्हिटी काढून टाका</translation>
 <translation id="927968626442779827">Google Chrome वर लाइट मोड वापरा</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> ला फॉलो करत आहे</translation>
 <translation id="932327136139879170">होम</translation>
 <translation id="938850635132480979">एरर: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">सांकेतिक पासफ्रेझ एंटर करा</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 05eed6a3..4cd45a0 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
@@ -339,7 +339,7 @@
 <translation id="314939179385989105">Halaman utama Chrome</translation>
 <translation id="3157842584138209013">Lihat jumlah data yang dapat dijimatkan daripada butang Lagi Pilihan</translation>
 <translation id="3166827708714933426">Pintasan tab dan tetingkap</translation>
-<translation id="316694332262407393">Chrome sudah pun berjalan di sini.</translation>
+<translation id="316694332262407393">Chrome sudah pun dijalankan di sini.</translation>
 <translation id="3169472444629675720">Temui</translation>
 <translation id="3205824638308738187">Hampir selesai!</translation>
 <translation id="3207960819495026254">Ditandai halaman</translation>
@@ -644,7 +644,7 @@
 <translation id="5061533557687621530">Untuk menyemak cuaca, ketik mikrofon dan sebut “Bagaimanakah cuaca hari ini?”</translation>
 <translation id="506254248375231072">Tiada tab</translation>
 <translation id="5087580092889165836">Tambah kad</translation>
-<translation id="5091199029769593641">Tidak lama lagi, anda akan melihat cerita daripada <ph name="SITE_NAME" /> apabila anda membuka tab baharu. Laman yang anda ikuti disimpan pada akaun Google anda. Anda boleh mengurus laman tersebut dalam tetapan Discover.</translation>
+<translation id="5091199029769593641">Tidak lama lagi, anda akan melihat cerita daripada <ph name="SITE_NAME" /> apabila anda membuka tab baharu. Laman yang anda ikuti disimpan pada Google Account anda. Anda boleh mengurus laman tersebut dalam tetapan Discover.</translation>
 <translation id="5091249083535528968">Data penggunaan lanjutan</translation>
 <translation id="509429900233858213">Ralat telah berlaku.</translation>
 <translation id="510275257476243843">1 jam lagi</translation>
@@ -900,7 +900,7 @@
 <translation id="656065428026159829">Lihat lagi</translation>
 <translation id="6565959834589222080">Wi-Fi akan digunakan apabila tersedia</translation>
 <translation id="6566259936974865419">Chrome telah menjimatkan data anda sebanyak <ph name="GIGABYTES" /> GB</translation>
-<translation id="6569373978618239158">Kini anda akan melihat cerita daripada <ph name="SITE_NAME" /> apabila anda membuka tab baharu. Laman yang anda ikuti disimpan pada akaun Google anda. Anda boleh mengurus laman tersebut dalam tetapan Discover.</translation>
+<translation id="6569373978618239158">Kini anda akan melihat cerita daripada <ph name="SITE_NAME" /> apabila anda membuka tab baharu. Laman yang anda ikuti disimpan pada Google Account anda. Anda boleh mengurus laman tersebut dalam tetapan Discover.</translation>
 <translation id="6573096386450695060">Sentiasa benarkan</translation>
 <translation id="6573431926118603307">Tab yang telah anda buka dalam Chrome pada peranti anda yang lain akan dipaparkan di sini.</translation>
 <translation id="6583199322650523874">Tandai halaman semasa</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 5513330..79346b5 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
@@ -185,6 +185,7 @@
 <translation id="218608176142494674">आदान प्रदान गर्दै</translation>
 <translation id="2195339740518523951">Chrome को सबैभन्दा बलियो सुरक्षा विकल्प चयन गर्नुहोस्</translation>
 <translation id="2200113223741723867">प्रयोगसम्बन्धी डेटा सेयर गर्ने सेटिङ व्यवस्थापन गर्नुहोस्</translation>
+<translation id="2218567645332692482">वेबपेजहरू लोड गर्न HTTPS प्रयोग गरियोस् र HTTPS प्रयोग गर्न नमिल्ने साइटहरू लोड गर्नुअघि मलाई चेतावनी दिइयोस्</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> का रूपमा जारी राख्नुहोस्</translation>
 <translation id="2230777942707397948">खाली विन्डो</translation>
 <translation id="2239812875700136898">Discover का विकल्पहरू नामक बटन प्रयोग गरी आफ्नो समाचार फिडमा देखिने सामग्री नियन्त्रण गर्नुहोस्</translation>
@@ -1293,6 +1294,7 @@
 <translation id="8965591936373831584">विचाराधीन</translation>
 <translation id="8970887620466824814">केही चिज गडबड भयो।</translation>
 <translation id="8972098258593396643">डिफल्ट फोल्डरमा डाउनलोड गर्ने हो?</translation>
+<translation id="8987641763863173640">भिडियोको प्रिभ्यू हेर्ने सुविधासम्बन्धी सेटिङ मिलाउनुहोस्</translation>
 <translation id="8988028529677883095">फोनलाई सुरक्षा साँचोका रूपमा प्रयोग गर्नुहोस्</translation>
 <translation id="8993760627012879038">इनकोग्निटो मोडमा एउटा नयाँ ट्याब खोल्नुहोस्</translation>
 <translation id="8996847606757455498">अर्को सेवा प्रदायक छनौट गर्नुहोस्</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 3f111ac..f7c97ae 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
@@ -185,6 +185,7 @@
 <translation id="218608176142494674">Deling</translation>
 <translation id="2195339740518523951">Få den sterkeste sikkerheten Chrome tilbyr</translation>
 <translation id="2200113223741723867">Administrer deling av bruksdata</translation>
+<translation id="2218567645332692482">Oppgrader navigeringer til HTTPS og bli varslet før innlasting av nettsteder som ikke støtter dette</translation>
 <translation id="2227444325776770048">Fortsett som <ph name="USER_FULL_NAME" /></translation>
 <translation id="2230777942707397948">Tomt vindu</translation>
 <translation id="2239812875700136898">Styr nyhetssakene dine via Alternativer for Discover-knappen</translation>
@@ -1294,6 +1295,7 @@
 <translation id="8965591936373831584">venter</translation>
 <translation id="8970887620466824814">Noe gikk galt.</translation>
 <translation id="8972098258593396643">Vil du laste ned til standardmappen?</translation>
+<translation id="8987641763863173640">Administrer innstillinger for videoforhåndsvisning</translation>
 <translation id="8988028529677883095">Bruk telefonen som sikkerhetsnøkkel</translation>
 <translation id="8993760627012879038">Åpne en ny fane i inkognitomodus</translation>
 <translation id="8996847606757455498">Velg en annen leverandør</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 3b71fd2a..54f7b12 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">ଆପଣଙ୍କ ଭଏସ୍ ମାଧ୍ୟମରେ ଶୀଘ୍ର ସନ୍ଧାନ କରନ୍ତୁ। ଏହି ସର୍ଟକଟକୁ ଏଡିଟ୍ କରିବା ପାଇଁ, ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" />କୁ ପଠାଉଛି...</translation>
 <translation id="103269572468856066">ସାଇଟ ଓ ଆପ ଡାଟା କାଢ଼ିବେ?</translation>
+<translation id="1034259925032978114">ୱିଣ୍ଡୋ ଖୋଲା ଅଛି</translation>
 <translation id="1036348656032585052">ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" /> ଯୋଗ କରାଯାଉଛି...</translation>
 <translation id="1045899828449635435">ଏଇ ସାଇଟ ଡାଟା ବି କାଢ଼ିବେ?</translation>
@@ -184,7 +185,9 @@
 <translation id="218608176142494674">ସେୟାରିଂ</translation>
 <translation id="2195339740518523951">Chromeର ସବୁଠାରୁ ଶକ୍ତିଶାଳୀ ସୁରକ୍ଷା ପାଆନ୍ତୁ</translation>
 <translation id="2200113223741723867">ବ୍ୟବହାର ଡାଟାର ସେୟାରିଂ ପରିଚାଳନା କରନ୍ତୁ</translation>
+<translation id="2218567645332692482">ନାଭିଗେସନଗୁଡ଼ିକୁ HTTPSରେ ଅପଗ୍ରେଡ୍ କରନ୍ତୁ ଏବଂ ଏହାକୁ ସମର୍ଥନ କରୁନଥିବା ସାଇଟଗୁଡ଼ିକୁ ଲୋଡ୍ କରିବା ପୂର୍ବରୁ ଆପଣ ଚେତାବନୀ ପାଆନ୍ତୁ</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> ଭାବେ ଜାରି ରଖନ୍ତୁ</translation>
+<translation id="2230777942707397948">ଖାଲି ୱିଣ୍ଡୋ</translation>
 <translation id="2239812875700136898">Discover ବଟନ୍ ପାଇଁ "ବିକଳ୍ପଗୁଡ଼ିକ"ରୁ ଆପଣଙ୍କ ଷ୍ଟୋରୀଗୁଡ଼ିକ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ</translation>
 <translation id="2259659629660284697">ପାସ୍‍ୱାର୍ଡଗୁଡ଼ିକୁ ଏକ୍ସପୋର୍ଟ କରନ୍ତୁ…</translation>
 <translation id="2276696007612801991">ଆପଣଙ୍କ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିବା ପାଇଁ ଆପଣଙ୍କର Google ଆକାଉଣ୍ଟରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
@@ -336,6 +339,7 @@
 <translation id="314939179385989105">Chromeର ମୂଳପୃଷ୍ଠା</translation>
 <translation id="3157842584138209013">ଅଧିକ ବିକଳ୍ପ ବଟନ୍‌ରୁ ଆପଣ କେତେ ଡାଟା ସେଭ୍ କରିଛନ୍ତି ଦେଖନ୍ତୁ</translation>
 <translation id="3166827708714933426">ଟାବ୍‌ ଏବଂ ୱିଣ୍ଡୋ ସର୍ଟକଟ୍‌</translation>
+<translation id="316694332262407393">Chrome ପୂର୍ବରୁ ଏଠାରେ ଚାଲୁଛି।</translation>
 <translation id="3169472444629675720">ଖୋଜି ପାଆନ୍ତୁ</translation>
 <translation id="3205824638308738187">ପ୍ରାୟ ହୋଇଗଲାଣି!</translation>
 <translation id="3207960819495026254">ବୁକ୍‍ମାର୍କ କରାଯାଇଛି</translation>
@@ -414,6 +418,7 @@
 <translation id="3587596251841506391">ୱେବରେ ସୁରକ୍ଷାକୁ ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରନ୍ତୁ</translation>
 <translation id="3602290021589620013">ପ୍ରିଭ୍ୟୁ</translation>
 <translation id="3616113530831147358">ଅଡିଓ</translation>
+<translation id="3622349720008044802">ୱିଣ୍ଡୋଗୁଡ଼ିକୁ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> ସହ ସେୟାର୍ କରାଯାଉଛି</translation>
 <translation id="3632295766818638029">ପାସ୍‌ୱର୍ଡ ଦେଖାନ୍ତୁ</translation>
 <translation id="363596933471559332">ଷ୍ଟୋର୍ ଥିବା କ୍ରିଡେନ୍‌ସିଆଲ୍ ବ୍ୟବହାର କରି ୱେବ୍‌ସାଇଟ୍‌ରେ ସ୍ୱଚାଳିତରୂପେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ। ଯେତେବେଳେ ଏହି ବୈଶିଷ୍ଟ୍ୟଟି ବନ୍ଦଥାଏ, ସେତେବେଳେ ଏକ ୱେବ୍‌ସାଇଟ୍‌ରେ ସାଇନ୍ ଇନ୍ କରିବା ପୂର୍ବରୁ ପ୍ରତ୍ୟେକଥର ଆପଣଙ୍କୁ ଯାଞ୍ଚ କରିବା ପାଇଁ କୁହାଯିବ।</translation>
@@ -429,6 +434,7 @@
 <translation id="3737319253362202215">ଅନୁବାଦ ସେଟିଂସ୍</translation>
 <translation id="3738139272394829648">ଟଚ୍ ଟୁ ସର୍ଚ୍ଚ</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" />ରେ ବୁକ୍‌ମାର୍କ କରାଗଲା</translation>
+<translation id="3740525748616366977">ଏହି ଡିଭାଇସରେ ଭଏସ୍ ସନ୍ଧାନ ଉପଲବ୍ଧ ନାହିଁ</translation>
 <translation id="3749259744154402564">ସମର୍ଥିତ ନୁହେଁ</translation>
 <translation id="3771001275138982843">ଅପ୍‌ଡେଟ୍ ଡାଉନ୍‌ଲୋଡ୍ କରିପାରିଲା ନାହିଁ</translation>
 <translation id="3771033907050503522">ଇନ୍‍କଗ୍ନିଟୋ ଟାବ୍‍</translation>
@@ -437,6 +443,7 @@
 <translation id="3773856050682458546">ଆପଣ ଭିଜିଟ୍ କରିଥିବା ୱେବସାଇଟ୍ ଏବଂ ବ୍ୟବହାର କରୁଥିବା ଆପଗୁଡ଼ିକ ବିଷୟରେ ବେସିକ୍ ଡାଟା ସହିତ ସୂଚନା</translation>
 <translation id="3775705724665058594">ଆପଣଙ୍କର ଡିଭାଇସ୍‌ଗୁଡ଼ିକୁ ପଠାନ୍ତୁ</translation>
 <translation id="3778956594442850293">ଏହାକୁ ମୂଳ ସ୍କ୍ରିନ୍‌ରେ ଯୋଗ କରାଯାଇଛି</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1ଟି ଟାବ୍}other{#ଟି ଟାବ୍}}</translation>
 <translation id="3803784507854318295">ଅଟୋପ୍ଲେକୁ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="3810838688059735925">ଭିଡିଓ</translation>
 <translation id="3810973564298564668">ପରିଚାଳନା</translation>
@@ -457,6 +464,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">କୌଣସି ସକ୍ଷମ ଭଏସ୍ ସନ୍ଧାନ ଉପଲବ୍ଧ ନାହିଁ</translation>
 <translation id="395377504920307820">କୌଣସି ଆକାଉଣ୍ଟ ବିନା ବ୍ୟବହାର କରନ୍ତୁ</translation>
+<translation id="3958287878205277013">ଆପଣଙ୍କ ଡିଭାଇସରୁ ଇନକଗ୍ନିଟୋ ବ୍ରାଉଜିଂ ଇତିହାସକୁ ଖାଲି କରିବା ପାଇଁ, ସମସ୍ତ ଇନକଗ୍ନିଟୋ ଟାବକୁ ବନ୍ଦ କରନ୍ତୁ।</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{ଯେତେବେଳେ ପ୍ରସ୍ତୁତ ହୋ‍ଇଯିବ, ସେତେବେଳେ Chrome ଆପଣଙ୍କର ପୃଷ୍ଠା ଲୋଡ୍‌ କରିବ}other{ଯେତେବେଳେ ପ୍ରସ୍ତୁତ ହୋ‍ଇଯିବ, ସେତେବେଳେ Chrome ଆପଣଙ୍କର ପୃଷ୍ଠା ଲୋଡ୍‌ କରିବ}}</translation>
 <translation id="3962957115499249330">ୱାଇ-ଫାଇରେ ଏହି ଡାଉନଲୋଡ୍ ଆରମ୍ଭ ହେଲେ ଆପଣ ଏକ ବିଜ୍ଞପ୍ତି ଦେଖିବେ।</translation>
 <translation id="3963007978381181125">ପାସଫ୍ରେଜ୍ ଏନକ୍ରିପ୍ସନ୍, Google Payରୁ ପେମେଣ୍ଟ ପଦ୍ଧତି ଓ ଠିକଣାଗୁଡ଼ିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରେ ନାହିଁ। ଆପଣଙ୍କ ଏନ୍‌କ୍ରିପ୍ଟ ହୋଇଥିବା ଡାଟାକୁ କେବଳ ଆପଣଙ୍କ ପାସ୍‍‍ଫ୍ରେଜ୍ ଥିବା ଜଣେ ବ୍ୟକ୍ତି ପଢ଼ିପାରିବେ। ଏହି ପାସଫ୍ରେଜ୍ Googleକୁ ପଠାଯାଏ ନାହିଁ କିମ୍ବା Google.ଦ୍ୱାରା ଷ୍ଟୋର୍ କରାଯାଏ ନାହିଁ। ଯଦି ଆପଣ ଆପଣଙ୍କର ପାସଫ୍ରେଜ୍ ଭୁଲିଯାଇଛନ୍ତି କିମ୍ବା ଏହି ସେଟିଂ ପରିବର୍ତ୍ତନ କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଆପଣଙ୍କୁ ସିଙ୍କ ରିସେଟ୍ କରିବାକୁ ହେବ। <ph name="BEGIN_LINK" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="END_LINK" /></translation>
@@ -542,6 +550,7 @@
 ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ସର୍ଚ୍ଚ ଭଳି ଅନ୍ୟାନ୍ୟ ପ୍ରକାର ବ୍ରାଉଜିଂ ଇତିବୃତ୍ତି ଏବଂ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />ରେ ଅନ୍ୟ Google ସେବାଗୁଡ଼ିକରେ କରାଯାଇଥିବା କାର୍ଯ୍ୟକଳାପ ଥାଇପାରେ।</translation>
 <translation id="4532845899244822526">ଫୋଲ୍ଡର୍ ଚୟନ କରନ୍ତୁ</translation>
 <translation id="4538018662093857852">Lite ମୋଡ୍‍କୁ ଚାଲୁ କରନ୍ତୁ</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" />ଟି ଟାବ୍}other{<ph name="TAB_COUNT_MANY" />ଟି ଟାବ୍, <ph name="TAB_COUNT_INCOGNITO" />ଟି ଇନକଗ୍ନିଟୋ}}</translation>
 <translation id="4550003330909367850">ଏଠାରେ ଆପଣଙ୍କର ପାସ୍‌ୱର୍ଡ ଦେଖିବାକୁ ଏବଂ କପି କରିବାକୁ, ଏହି ଡିଭାଇସ୍‌ରେ ସ୍କ୍ରିନ୍ ଲକ୍ ସେଟ୍ କରନ୍ତୁ।</translation>
 <translation id="4554077758708533499">USB କେବୁଲ ମାଧ୍ୟମରେ ସଂଯୋଗ କରାଯାଇଛି</translation>
 <translation id="4557685098773234337">ଏଠାକୁ ଶୀଘ୍ର ଯିବା ପାଇଁ, ଆପଣଙ୍କ ମୂଳ ସ୍କ୍ରିନରେ ଏହି ପୃଷ୍ଠାକୁ ଯୋଗ କରନ୍ତୁ</translation>
@@ -607,6 +616,7 @@
 <translation id="4885273946141277891">Chrome ଇନ୍‌ଷ୍ଟାନ୍‌ସଗୁଡ଼ିକର ଅସମର୍ଥିତ ସଂଖ୍ୟା।</translation>
 <translation id="4908869848243824489">Googleର Discover</translation>
 <translation id="4910889077668685004">ପେମେଣ୍ଟ ଆପ୍ସ</translation>
+<translation id="4912413785358399818">ଟାବ୍ ମୁଭ୍ କରନ୍ତୁ</translation>
 <translation id="4913161338056004800">ପରିସଂଖ୍ୟାନ ରିସେଟ୍ କରନ୍ତୁ</translation>
 <translation id="4913169188695071480">ରିଫ୍ରେସ୍ କରିବା ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# ପୃଷ୍ଠା}other{# ପୃଷ୍ଠା}}</translation>
@@ -632,7 +642,9 @@
 <translation id="5039804452771397117">ଅନୁମତି</translation>
 <translation id="5054455334322721892">ଆପଣ ସାଇନ୍ ଇନ୍ କରିଥିବା ବେଳେ <ph name="BEGIN_LINK1" />ଅନ୍ୟ ପ୍ରକାରର କାର୍ଯ୍ୟକଳାପ<ph name="END_LINK1" /> ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ସେଭ୍ ହୋଇପାରେ। ଆପଣ ସେଗୁଡ଼ିକୁ ଯେ କୌଣସି ସମୟରେ ଡିଲିଟ୍ କରିପାରିବେ।</translation>
 <translation id="5061533557687621530">ପାଣିପାଗ ବିଷୟରେ ଜାଣିବା ପାଇଁ ମାଇକକୁ ଟାପ୍ କରି “ଆଜି ପାଣିପାଗ କିପରି ଅଛି?” ବୋଲି କୁହନ୍ତୁ</translation>
+<translation id="506254248375231072">କୌଣସି ଟାବ୍ ନାହିଁ</translation>
 <translation id="5087580092889165836">କାର୍ଡ ଯୋଗ କରନ୍ତୁ</translation>
+<translation id="5091199029769593641">ଶୀଘ୍ର, ଆପଣ ଏକ ନୂଆ ଟାବ୍ ଖୋଲିଲେ <ph name="SITE_NAME" />ରୁ ଷ୍ଟୋରୀଗୁଡ଼ିକୁ ଦେଖିବେ। ଆପଣ ଅନୁସରଣ କରୁଥିବା ସାଇଟଗୁଡ଼ିକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ସେଭ୍ କରାଯାଏ। ଆପଣ ସେଗୁଡ଼ିକୁ ଡିସ୍କଭର ସେଟିଂସରେ ପରିଚାଳନା କରିପାରିବେ।</translation>
 <translation id="5091249083535528968">ବିସ୍ତାରିତ ବ୍ୟବହାର ଡାଟା</translation>
 <translation id="509429900233858213">ଏକ ତ୍ରୁଟି ଦେଖାଦେଲା।</translation>
 <translation id="510275257476243843">1 ଘଣ୍ଟା ବାକି ଅଛି</translation>
@@ -692,6 +704,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" />ଙ୍କ ସହିତ</translation>
 <translation id="5456381639095306749">ପୃଷ୍ଠା ଡାଉନ୍‌ଲୋଡ୍ କରନ୍ତୁ</translation>
 <translation id="5458366071038729214">ଆପଣ ଅନୁସରଣ କରୁଥିବା ସାଇଟଗୁଡ଼ିକୁ ଏଠାରେ ଦେଖିବେ</translation>
+<translation id="5468068603361015296">ଆପଣ ଯେ କୌଣସି ମତେ <ph name="FILE_NAME" />କୁ ଡାଉନଲୋଡ୍ କରିବାକୁ ଚାହାଁନ୍ତି କି?</translation>
 <translation id="548278423535722844">ମ୍ୟାପ୍ସ ଆପ୍‌ରେ ଖୋଲନ୍ତୁ</translation>
 <translation id="5483197086164197190">Chrome ନାଭିଗେଟ୍ କରନ୍ତୁ</translation>
 <translation id="5487521232677179737">ଡାଟା ଖାଲି କରନ୍ତୁ</translation>
@@ -749,6 +762,7 @@
 <translation id="5810288467834065221">କପିରାଇଟ୍ <ph name="YEAR" /> Google LLC। ସର୍ବସ୍ୱତ୍ୱ ସଂରକ୍ଷିତ।</translation>
 <translation id="5810864297166300463">ୱେବ୍ ସହାୟତା</translation>
 <translation id="5814131985548525293">ଆରମ୍ଭ କରିବା ପାଇଁ ଏଠାରେ ଟାଇପ୍ କରନ୍ତୁ କିମ୍ବା ଭଏସ୍ ଆଇକନରେ ଟାପ୍ କରନ୍ତୁ</translation>
+<translation id="5814749351757353073">ଆପଣଙ୍କ ପସନ୍ଦର ସାଇଟଗୁଡ଼ିକ ସହ ଜାରି ରଖନ୍ତୁ</translation>
 <translation id="583281660410589416">ଅଜ୍ଞାତ</translation>
 <translation id="5833984609253377421">ଲିଙ୍କ ସେୟାର୍‌ କରନ୍ତୁ</translation>
 <translation id="5834764604050996579">ଏକ QR କୋଡ୍ ସ୍କାନ୍ କରିବା ପାଇଁ, Chromeକୁ ଆପଣଙ୍କ କ୍ୟାମେରା ବ୍ୟବହାର କରିବାକୁ ଦିଅନ୍ତୁ</translation>
@@ -823,6 +837,7 @@
 
 ଉଦାହରଣସ୍ୱରୂପ, କିଛି ୱେବ୍‍ସାଇଟ୍ ଆପଣ ଯାଇଥିବା ଅନ୍ୟ ୱେବ୍‍ସାଇଟ୍‍ଗୁଡ଼ିକ ଉପରେ ଆଧାରିତ ନଥିବା ବିଜ୍ଞାପନ ଦେଖାଇବାର ମାଧ୍ୟମରେ ଏହି ଅନୁରୋଧର ପ୍ରତିକ୍ରିୟା କରିଥାଏ। ଅନେକ ୱେବ୍‍ସାଇଟ୍ ଏବେ ମଧ୍ୟ ଆପଣଙ୍କର ବ୍ରାଉଜିଂ ଡାଟା ସଂଗ୍ରହ ଏବଂ ବ୍ୟବହାର କରିବେ - ଉଦାହରଣସ୍ୱରୂପ ସୁରକ୍ଷାକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ବିଷୟବସ୍ତୁ, ସେବା, ବିଜ୍ଞାପନ ଓ ସୁପାରିଶଗୁଡ଼ିକ ପ୍ରଦାନ କରିବା ପାଇଁ ତଥା ରିପୋର୍ଟିଂ ପରିସଂଖ୍ୟାନ ତିଆରି କରିବା ପାଇଁ।</translation>
 <translation id="624789221780392884">ଅପ୍‌ଡେଟ୍ ପ୍ରସ୍ତୁତ ଅଛି</translation>
+<translation id="6264376385120300461">ଯେ କୌଣସି ମତେ ଡାଉନଲୋଡ୍ କରନ୍ତୁ</translation>
 <translation id="6277522088822131679">ପୃଷ୍ଟା ପ୍ରିଣ୍ଟ କରିବାରେ କିଛି ସମସ୍ୟା ଦେଖାଦେଇଛି। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</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>
@@ -880,10 +895,12 @@
 <translation id="6539092367496845964">କିଛି ଭୁଲ ହୋଇଗଲା। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{1 ଘଣ୍ଟା ପୂର୍ବେ ଯାଞ୍ଚ କରାଯାଇଛି}other{# ଘଣ୍ଟା ପୂର୍ବେ ଯାଞ୍ଚ କରାଯାଇଛି}}</translation>
 <translation id="6545017243486555795">ସମସ୍ତ ଡାଟା ଖାଲି କରନ୍ତୁ</translation>
+<translation id="6546511553472444032">ଫାଇଲଟି କ୍ଷତିକାରକ ହୋଇପାରେ</translation>
 <translation id="6560414384669816528">Sogouରେ ସନ୍ଧାନ କରନ୍ତୁ</translation>
 <translation id="656065428026159829">ଅଧିକ ଦେଖନ୍ତୁ</translation>
 <translation id="6565959834589222080">ୱାଇ-ଫାଇ ଉପଲବ୍ଧ ହେଲେ ଏହାକୁ ବ୍ୟବହାର କରାଯାଏ</translation>
 <translation id="6566259936974865419">Chrome ଆପଣଙ୍କର <ph name="GIGABYTES" /> GB ସେଭ୍ କରିଛି</translation>
+<translation id="6569373978618239158">ବର୍ତ୍ତମାନ, ଆପଣ ଏକ ନୂଆ ଟାବ୍ ଖୋଲିଲେ <ph name="SITE_NAME" />ରୁ ଷ୍ଟୋରୀଗୁଡ଼ିକୁ ଦେଖିବେ। ଆପଣ ଅନୁସରଣ କରୁଥିବା ସାଇଟଗୁଡ଼ିକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ସେଭ୍ କରାଯାଏ। ଆପଣ ସେଗୁଡ଼ିକୁ ଡିସ୍କଭର ସେଟିଂସରେ ପରିଚାଳନା କରିପାରିବେ।</translation>
 <translation id="6573096386450695060">ସର୍ବଦା ଅନୁମତି ଦିଅନ୍ତୁ</translation>
 <translation id="6573431926118603307">ଏଠାରେ ଆପଣଙ୍କର ଅନ୍ୟ ଡିଭାଇସ୍‌ର Chromeରେ ଯେଉଁ ଟାବ୍‌ ଖୋଲିଛନ୍ତି ତାହା ଦେଖାଯିବ।</translation>
 <translation id="6583199322650523874">ସାମ୍ପ୍ରତିକ ପୃଷ୍ଠାକୁ ବୁକ୍‍ମାର୍କ କରନ୍ତୁ</translation>
@@ -949,6 +966,7 @@
 <translation id="696447261358045621">ଇନକଗ୍ନିଟୋ ମୋଡରୁ ବାହାରିଯାଆନ୍ତୁ</translation>
 <translation id="6979737339423435258">ସବୁ ସମୟରେ</translation>
 <translation id="6981982820502123353">ଆକ୍ସେସିବିଲିଟୀ</translation>
+<translation id="6987047470128880212">ଏହି ଡିଭାଇସରେ ଇନକଗ୍ନିଟୋ ଉପଲବ୍ଧ ନାହିଁ</translation>
 <translation id="6989267951144302301">ଡାଉନଲୋଡ୍ କରିହେଲା ନାହିଁ</translation>
 <translation id="6995899638241819463">ଯଦି ଡାଟା ଚୋରି ଯୋଗୁଁ ପାସ୍‌ୱାର୍ଡଗୁଡ଼ିକ ବିପଦରେ ପଡ଼ିଯାଏ, ତେବେ ଏହା ଆପଣଙ୍କୁ ଚେତାବନୀ ଦେଇଥାଏ</translation>
 <translation id="7001056293070445572">ଏହି ଫାଇଲଟି ବଡ଼ ଅଟେ (<ph name="FILE_SIZE" />)</translation>
@@ -1026,6 +1044,7 @@
 <translation id="7482656565088326534">ପ୍ରିଭ୍ୟୁ ଟାବ୍</translation>
 <translation id="7484997419527351112">Discover - ବନ୍ଦ ଅଛି</translation>
 <translation id="7485033510383818941">ଫିଡ୍ ବିଷୟବସ୍ତୁକୁ ରିଫ୍ରେସ୍ କରିବାକୁ, ପୃଷ୍ଠାକୁ ତଳକୁ ଟାଣନ୍ତୁ</translation>
+<translation id="749294055653435199">ଏହି ଡିଭାଇସରେ Google Lens ଉପଲବ୍ଧ ନାହିଁ</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (<ph name="TIME_SINCE_UPDATE" /> ଅପ୍‌ଡେଟ୍ କରାଯାଇଛି)</translation>
 <translation id="7494974237137038751">ଡାଟା ସେଭ୍ ହୋଇଛି</translation>
 <translation id="7498271377022651285">ଦୟାକରି ଅପେକ୍ଷା କରନ୍ତୁ…</translation>
@@ -1127,6 +1146,7 @@
 <translation id="8037801708772278989">ଏବେ ଯାଞ୍ଚ କରାଯାଇଛି</translation>
 <translation id="8040831032425909005">ଦ୍ରୁତ କାର୍ଯ୍ୟ ସନ୍ଧାନ ୱିଜେଟ୍ ଆଇକନ୍</translation>
 <translation id="804335162455518893">SD କାର୍ଡ ମିଳିଲା ନାହିଁ</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" />ଟି ଇନକଗ୍ନିଟୋ ଟାବ୍}other{<ph name="TAB_COUNT_NORMAL" />ଟି ଇନକଗ୍ନିଟୋ ଟାବ୍}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB ଉପଲବ୍ଧ ଅଛି</translation>
 <translation id="8058746566562539958">ନୂଆ Chrome ଟାବ୍‍‍ରେ ଖୋଲନ୍ତୁ</translation>
 <translation id="8063895661287329888">ବୁକ୍‍ମାର୍କ ଯୋଗକରିବାରେ ବିଫଳ ହେଲା।</translation>
@@ -1225,6 +1245,7 @@
 <translation id="8621068256433641644">ଫୋନ୍</translation>
 <translation id="8636825310635137004">ଆପଣଙ୍କର ଅନ୍ୟ ଡିଭାଇସ୍‍ରୁ ନିଜର ଟାବ୍‍ଗୁଡ଼ିକୁ ପ୍ରାପ୍ତ କରିବାକୁ, ସିଙ୍କ ଚାଲୁ କରନ୍ତୁ।</translation>
 <translation id="8641930654639604085">ଅଶ୍ଳୀଳ ସାଇଟ୍‍ଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ</translation>
+<translation id="864544049772947936">ୱିଣ୍ଡୋଗୁଡ଼ିକୁ ପରିଚାଳନା କର (<ph name="INSTANCE_COUNTS" />)</translation>
 <translation id="8655129584991699539">ଆପଣା Chrome ସେଟିଂସ୍‌ରେ ଡାଟା ଖାଲି କରିପାରିବେ</translation>
 <translation id="8656747343598256512">ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ ସହିତ ଏହି ସାଇଟ୍ ଏବଂ Chromeରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ। ଆପଣ ପରେ ସିଙ୍କ୍ ଚାଲୁ କରିପାରିବେ।</translation>
 <translation id="8659579665266920523">Chrome ସହ କିପରି ସନ୍ଧାନ କରିବେ</translation>
@@ -1274,6 +1295,7 @@
 <translation id="8965591936373831584">ବାକି ଅଛି</translation>
 <translation id="8970887620466824814">କିଛି ଭୁଲ ହୋଇଗଲା।</translation>
 <translation id="8972098258593396643">ଡିଫଲ୍ଟ ଫୋଲ୍ଡର୍‍କୁ ଡାଉନ୍‍‍ଲୋଡ୍ କରିବେ କି?</translation>
+<translation id="8987641763863173640">ଭିଡିଓ ପ୍ରିଭ୍ୟୁ ସେଟିଂସକୁ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="8988028529677883095">ଫୋନକୁ ଏକ ସୁରକ୍ଷା କୀ ଭାବରେ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="8993760627012879038">ଇନ୍‌କଗ୍‌ନିଟୋ ମୋଡ୍‍‍ରେ ଏକ ନୂଆ ଟାବ୍ ଖୋଲନ୍ତୁ</translation>
 <translation id="8996847606757455498">ଅନ୍ୟ ଏକ ପ୍ରଦାନକାରୀ ବାଛନ୍ତୁ</translation>
@@ -1313,6 +1335,7 @@
 <translation id="9219103736887031265">Images</translation>
 <translation id="926205370408745186">ଡିଜିଟାଲ୍ ୱେଲ୍‍ବିଂରୁ ଆପଣଙ୍କର Chrome କାର୍ଯ୍ୟକଳାପଗୁଡ଼ିକୁ କାଢ଼ନ୍ତୁ</translation>
 <translation id="927968626442779827">Google Chromeରେ ଲାଇଟ୍ ମୋଡ୍ ବ୍ୟବହାର କରନ୍ତୁ</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" />କୁ ଅନୁସରଣ କରାଯାଉଛି</translation>
 <translation id="932327136139879170">Home</translation>
 <translation id="938850635132480979">ତ୍ରୁଟି: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">ପାସ୍‌-ଫ୍ରେଜ୍ ଲେଖନ୍ତୁ</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 2b9e9d4..d19352bb 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">ਤੁਰੰਤ ਆਪਣੀ ਅਵਾਜ਼ ਨਾਲ ਖੋਜੋ। ਇਸ ਸ਼ਾਰਟਕੱਟ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ, ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" /> ਨੂੰ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ...</translation>
 <translation id="103269572468856066">ਇਹਨਾਂ ਸਾਈਟਾਂ ਅਤੇ ਐਪਾਂ ਤੋਂ ਵੀ ਡਾਟਾ ਕਲੀਅਰ ਕਰਨਾ ਹੈ?</translation>
+<translation id="1034259925032978114">ਵਿੰਡੋ ਖੁੱਲ੍ਹੀ ਹੈ</translation>
 <translation id="1036348656032585052">ਬੰਦ ਕਰੋ</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" /> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
 <translation id="1045899828449635435">ਇਹਨਾਂ ਸਾਈਟਾਂ ਤੋਂ ਵੀ ਡਾਟਾ ਕਲੀਅਰ ਕਰਨਾ ਹੈ?</translation>
@@ -185,6 +186,7 @@
 <translation id="2195339740518523951">Chrome ਦੀ ਸਭ ਤੋਂ ਮਜਬੂਤ ਸੁਰੱਖਿਆ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="2200113223741723867">ਵਰਤੋਂ ਡਾਟੇ ਸੰਬੰਧੀ ਸਾਂਝੇਕਰਨ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> ਵਜੋਂ ਜਾਰੀ ਰੱਖੋ</translation>
+<translation id="2230777942707397948">ਖਾਲੀ ਵਿੰਡੋ</translation>
 <translation id="2239812875700136898">'ਡਿਸਕਵਰ' ਬਟਨ ਲਈ 'ਵਿਕਲਪ' ਤੋਂ ਆਪਣੀਆਂ ਕਹਾਣੀਆਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ</translation>
 <translation id="2259659629660284697">ਪਾਸਵਰਡ ਨਿਰਯਾਤ ਕਰੋ...</translation>
 <translation id="2276696007612801991">ਆਪਣੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਆਪਣੇ Google ਖਾਤੇ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
@@ -336,6 +338,7 @@
 <translation id="314939179385989105">Chrome ਦਾ ਹੋਮਪੇਜ</translation>
 <translation id="3157842584138209013">'ਹੋਰ ਵਿਕਲਪ' ਬਟਨ ਤੋਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਬਚਾਏ ਗਏ ਡੈਟੇ ਦੀ ਮਾਤਰਾ ਦੇਖੋ</translation>
 <translation id="3166827708714933426">ਟੈਬ ਅਤੇ ਵਿੰਡੋ ਸ਼ਾਰਟਕੱਟ</translation>
+<translation id="316694332262407393">Chrome ਪਹਿਲਾਂ ਹੀ ਇੱਥੇ ਚੱਲ ਰਿਹਾ ਹੈ।</translation>
 <translation id="3169472444629675720">ਖੋਜੋ</translation>
 <translation id="3205824638308738187">ਲਗਭਗ ਪੂਰੀ ਹੋਈ!</translation>
 <translation id="3207960819495026254">ਬੁੱਕਮਾਰਕ ਕੀਤੇ</translation>
@@ -414,6 +417,7 @@
 <translation id="3587596251841506391">ਵੈੱਬ 'ਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ</translation>
 <translation id="3602290021589620013">ਪ੍ਰੀਵਿਊ</translation>
 <translation id="3616113530831147358">ਆਡੀਓ</translation>
+<translation id="3622349720008044802">ਵਿੰਡੋਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="3632295766818638029">ਪਾਸਵਰਡ ਜ਼ਾਹਰ ਕਰੋ</translation>
 <translation id="363596933471559332">ਸਟੋਰ ਕੀਤੇ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ-ਆਪ ਸਾਈਟਾਂ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ। ਜਦੋਂ ਵਿਸ਼ੇਸ਼ਤਾ ਬੰਦ ਹੋਵੇ, ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਵੈੱਬਸਾਈਟ 'ਤੇ ਸਾਈਨ-ਇਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਰ ਵਾਰ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਵੇਗਾ।</translation>
@@ -429,6 +433,7 @@
 <translation id="3737319253362202215">ਅਨੁਵਾਦ ਸੈਟਿੰਗਾਂ</translation>
 <translation id="3738139272394829648">ਖੋਜਣ ਲਈ ਸਪਰਸ਼ ਕਰੋ</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" /> ਵਿੱਚ ਬੁੱਕਮਾਰਕ ਕੀਤਾ</translation>
+<translation id="3740525748616366977">ਅਵਾਜ਼ੀ ਖੋਜ ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ</translation>
 <translation id="3749259744154402564">ਅਸਮਰਥਿਤ</translation>
 <translation id="3771001275138982843">ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ</translation>
 <translation id="3771033907050503522">ਗੁਮਨਾਮ ਟੈਬਸ</translation>
@@ -437,6 +442,7 @@
 <translation id="3773856050682458546">ਮੁੱਢਲੇ ਡਾਟੇ ਤੋਂ ਇਲਾਵਾ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਵੈੱਬਸਾਈਟਾਂ ਅਤੇ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਐਪਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ</translation>
 <translation id="3775705724665058594">ਆਪਣੇ ਡੀਵਾਈਸਾਂ 'ਤੇ ਭੇਜੋ</translation>
 <translation id="3778956594442850293">ਹੋਮ ਸਕ੍ਰੀਨ 'ਤੇ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1 ਟੈਬ}one{# ਟੈਬ}other{# ਟੈਬਾਂ}}</translation>
 <translation id="3803784507854318295">ਸਵੈ-ਚਲਤ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="3810838688059735925">ਵੀਡਿਓ</translation>
 <translation id="3810973564298564668">ਵਿਵਸਥਿਤ ਕਰੋ</translation>
@@ -457,6 +463,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">ਕੋਈ ਸਮਰਥਿਤ ਅਵਾਜ਼ੀ ਖੋਜ ਉਪਲਬਧ ਨਹੀਂ</translation>
 <translation id="395377504920307820">ਕਿਸੇ ਖਾਤੇ ਦੇ ਬਿਨਾਂ ਵਰਤੋ</translation>
+<translation id="3958287878205277013">ਆਪਣੇ ਡੀਵਾਈਸ ਤੋਂ ਇਨਕੋਗਨਿਟੋ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਨੂੰ ਕਲੀਅਰ ਕਰਨ ਲਈ, ਸਾਰੀਆਂ ਇਨਕੋਗਨਿਟੋ ਟੈਬਾਂ ਬੰਦ ਕਰੋ।</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{ਤਿਆਰ ਹੋਣ 'ਤੇ Chrome ਤੁਹਾਡੇ ਪੰਨੇ ਨੂੰ ਲੋਡ ਕਰੇਗਾ}one{ਤਿਆਰ ਹੋਣ 'ਤੇ Chrome ਤੁਹਾਡੇ ਪੰਨੇ ਨੂੰ ਲੋਡ ਕਰੇਗਾ}other{ਤਿਆਰ ਹੋਣ 'ਤੇ Chrome ਤੁਹਾਡੇ ਪੰਨਿਆਂ ਨੂੰ ਲੋਡ ਕਰੇਗਾ}}</translation>
 <translation id="3962957115499249330">ਵਾਈ-ਫਾਈ 'ਤੇ ਇਸ ਡਾਊਨਲੋਡ ਦੇ ਸ਼ੁਰੂ ਹੋਣ 'ਤੇ ਤੁਹਾਨੂੰ ਸੂਚਨਾ ਦਿਸੇਗੀ।</translation>
 <translation id="3963007978381181125">ਪਾਸਫਰੇਜ਼ ਇਨਕ੍ਰਿਪਸ਼ਨ ਵਿੱਚ Google Pay ਦੀਆਂ ਭੁਗਤਾਨ ਵਿਧੀਆਂ ਅਤੇ ਪਤੇ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ। ਤੁਹਾਡੇ ਇਨਕ੍ਰਿਪਟਡ ਡਾਟੇ ਨੂੰ ਸਿਰਫ਼ ਓਹੀ ਵਿਅਕਤੀ ਪੜ੍ਹ ਸਕਦਾ ਹੈ ਜਿਸ ਕੋਲ ਤੁਹਾਡਾ ਪਾਸਫਰੇਜ਼ ਹੁੰਦਾ ਹੈ। ਪਾਸਫਰੇਜ਼ Google ਨੂੰ ਭੇਜਿਆ ਜਾਂ ਉਸ ਵੱਲੋਂ ਸਟੋਰ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਫਰੇਜ਼ ਭੁੱਲ ਜਾਂਦੇ ਹੋ ਜਾਂ ਇਸ ਸੈਟਿੰਗ ਨੂੰ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸਮਕਾਲੀਕਰਨ ਨੂੰ ਰੀਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ। <ph name="BEGIN_LINK" />ਹੋਰ ਜਾਣੋ<ph name="END_LINK" /></translation>
@@ -542,6 +549,7 @@
 ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 'ਤੇ ਹੋਰ Google ਸੇਵਾਵਾਂ ਤੋਂ ਖੋਜਾਂ ਅਤੇ ਸਰਗਰਮੀ ਵਰਗੇ ਹੋਰ ਕਿਸਮ ਦਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਵੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ।</translation>
 <translation id="4532845899244822526">ਫੋਲਡਰ ਚੁਣੋ</translation>
 <translation id="4538018662093857852">ਲਾਈਟ ਮੋਡ ਚਾਲੂ ਕਰੋ</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ਟੈਬ}one{<ph name="TAB_COUNT_MANY" /> ਟੈਬ, <ph name="TAB_COUNT_INCOGNITO" /> ਇਨਕੋਗਨਿਟੋ}other{<ph name="TAB_COUNT_MANY" /> ਟੈਬਾਂ, <ph name="TAB_COUNT_INCOGNITO" /> ਇਨਕੋਗਨਿਟੋ}}</translation>
 <translation id="4550003330909367850">ਇੱਥੇ ਆਪਣਾ ਪਾਸਵਰਡ ਦੇਖਣ ਜਾਂ ਕਾਪੀ ਕਰਨ ਲਈ, ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਸਕ੍ਰੀਨ ਲਾਕ ਸਥਾਪਤ ਕਰੋ।</translation>
 <translation id="4554077758708533499">USB ਕੇਬਲ ਨਾਲ ਕਨੈਕਟ ਹੈ</translation>
 <translation id="4557685098773234337">ਇੱਥੇ ਵਧੇਰੇ ਤੇਜ਼ੀ ਨਾਲ ਪਹੁੰਚ ਕਰਨ ਲਈ, ਇਸ ਪੰਨੇ ਨੂੰ ਆਪਣੀ ਹੋਮ ਸਕ੍ਰੀਨ ‘ਤੇ ਸ਼ਾਮਲ ਕਰੋ</translation>
@@ -607,6 +615,7 @@
 <translation id="4885273946141277891">Chrome ਦੇ ਕਈ ਅਸਮਰਥਿਤ ਵਰਜਨ</translation>
 <translation id="4908869848243824489">Google ਵੱਲੋਂ Discover</translation>
 <translation id="4910889077668685004">ਭੁਗਤਾਨ ਐਪਾਂ</translation>
+<translation id="4912413785358399818">ਟੈਬ ਲਿਜਾਓ</translation>
 <translation id="4913161338056004800">ਅੰਕੜਿਆਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ</translation>
 <translation id="4913169188695071480">ਮੁੜ-ਤਾਜ਼ਾ ਕਰਨਾ ਬੰਦ ਕਰੋ</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# ਪੰਨਾ}one{# ਪੰਨਾ}other{# ਪੰਨੇ}}</translation>
@@ -632,7 +641,9 @@
 <translation id="5039804452771397117">ਆਗਿਆ ਦਿਓ</translation>
 <translation id="5054455334322721892">ਤੁਹਾਡੇ ਸਾਈਨ-ਇਨ ਹੋਣ 'ਤੇ, ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ <ph name="BEGIN_LINK1" />ਸਰਗਰਮੀ ਦੀਆਂ ਹੋਰ ਕਿਸਮਾਂ<ph name="END_LINK1" /> ਨੂੰ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਕਿਸੇ ਵੀ ਸਮੇਂ ਮਿਟਾ ਸਕਦੇ ਹੋ।</translation>
 <translation id="5061533557687621530">ਮੌਸਮ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ, ਮਾਈਕ 'ਤੇ ਟੈਪ ਕਰੋ ਅਤੇ ਕਹੋ ਕਿ "ਅੱਜ ਮੌਸਮ ਕਿਹੋ ਜਿਹਾ ਹੈ?"</translation>
+<translation id="506254248375231072">ਕੋਈ ਟੈਬ ਨਹੀਂ</translation>
 <translation id="5087580092889165836">ਕਾਰਡ ਸ਼ਾਮਲ ਕਰੋ</translation>
+<translation id="5091199029769593641">ਜਲਦ ਹੀ, ਤੁਹਾਨੂੰ ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹਣ 'ਤੇ <ph name="SITE_NAME" /> ਦੀਆਂ ਕਹਾਣੀਆਂ ਦਿਖਾਈ ਦੇਣਗੀਆਂ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਅਨੁਸਰਣ ਕੀਤੀਆਂ ਸਾਈਟਾਂ ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਡਿਸਕਵਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="5091249083535528968">ਵਿਸਤ੍ਰਿਤ ਵਰਤੋਂ ਡਾਟਾ</translation>
 <translation id="509429900233858213">ਇੱਕ ਗੜਬੜ ਹੋਈ</translation>
 <translation id="510275257476243843">1 ਘੰਟਾ ਬਾਕੀ</translation>
@@ -692,6 +703,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" /> ਨਾਲ</translation>
 <translation id="5456381639095306749">ਪੰਨਾ ਡਾਊਨਲੋਡ ਕਰੋ</translation>
 <translation id="5458366071038729214">ਤੁਹਾਡੇ ਵੱਲੋਂ ਅਨੁਸਰਣ ਕੀਤੀਆਂ ਸਾਈਟਾਂ ਤੁਹਾਨੂੰ ਇੱਥੇ ਦਿਸਣਗੀਆਂ</translation>
+<translation id="5468068603361015296">ਕੀ ਤੁਸੀਂ ਫਿਰ ਵੀ <ph name="FILE_NAME" /> ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="548278423535722844">'ਨਕਸ਼ੇ ਐਪ' ਵਿੱਚ ਖੋਲ੍ਹੋ</translation>
 <translation id="5483197086164197190">Chrome 'ਤੇ ਜਾਓ</translation>
 <translation id="5487521232677179737">ਡਾਟਾ ਕਲੀਅਰ ਕਰੋ</translation>
@@ -749,6 +761,7 @@
 <translation id="5810288467834065221">ਕਾਪੀਰਾਈਟ <ph name="YEAR" /> Google LLC. ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ।</translation>
 <translation id="5810864297166300463">ਵੈੱਬ ਸਹਾਇਤਾ</translation>
 <translation id="5814131985548525293">ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇੱਥੇ ਟਾਈਪ ਕਰੋ ਜਾਂ ਅਵਾਜ਼ ਪ੍ਰਤੀਕ 'ਤੇ ਟੈਪ ਕਰੋ</translation>
+<translation id="5814749351757353073">ਆਪਣੀਆਂ ਮਨਪਸੰਦ ਸਾਈਟਾਂ ਦਾ ਅਨੁਸਰਣ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="583281660410589416">ਅਗਿਆਤ</translation>
 <translation id="5833984609253377421">ਲਿੰਕ ਸਾਂਝਾ ਕਰੋ</translation>
 <translation id="5834764604050996579">QR ਕੋਡ ਸਕੈਨ ਕਰਨ ਲਈ, Chrome ਨੂੰ ਤੁਹਾਡਾ ਕੈਮਰਾ ਵਰਤਣ ਦਿਓ</translation>
@@ -823,6 +836,7 @@
 
 ਉਦਾਹਰਨ ਲਈ, ਕੁਝ ਵੈੱਬਸਾਈਟਾਂ ਤੁਹਾਨੂੰ ਉਹ ਵਿਗਿਆਪਨ ਦਿਖਾ ਕੇ ਇਸ ਬੇਨਤੀ ਦਾ ਜਵਾਬ ਦੇ ਸਕਦੀਆਂ ਹਨ ਜੋ ਤੁਹਾਡੇ ਵੱਲੋਂ ਹੋਰਾਂ ਵੈੱਬਸਾਈਟਾਂ 'ਤੇ ਜਾਣ 'ਤੇ ਆਧਾਰਿਤ ਨਹੀਂ ਹਨ। ਕਈ ਵੈੱਬਸਾਈਟਾਂ ਤਦ ਵੀ ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਸੰਬੰਧੀ ਡਾਟਾ ਇਕੱਤਰ ਕਰਨਗੀਆਂ ਅਤੇ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰਨਗੀਆਂ - ਉਦਾਹਰਨ ਲਈ ਸੁਰੱਖਿਆ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਸਮੱਗਰੀ, ਵਿਗਿਆਪਨ ਅਤੇ ਸਿਫ਼ਾਰਸ਼ਾਂ ਮੁਹੱਈਆ ਕਰਵਾਉਣ ਲਈ ਅਤੇ ਰਿਪੋਰਟਿੰਗ ਅੰਕੜੇ ਸਿਰਜਣ ਲਈ।</translation>
 <translation id="624789221780392884">ਅੱਪਡੇਟ ਤਿਆਰ</translation>
+<translation id="6264376385120300461">ਫਿਰ ਵੀ ਡਾਊਨਲੋਡ ਕਰੋ</translation>
 <translation id="6277522088822131679">ਸਫ਼ਾ ਪ੍ਰਿੰਟ ਕਰਨ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਹੋਈ ਸੀ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</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>
@@ -880,10 +894,12 @@
 <translation id="6539092367496845964">ਕੋਈ ਗੜਬੜ ਹੋਈ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{1 ਘੰਟਾ ਪਹਿਲਾਂ ਜਾਂਚ ਕੀਤੀ ਗਈ}one{# ਘੰਟਾ ਪਹਿਲਾਂ ਜਾਂਚ ਕੀਤੀ ਗਈ}other{# ਘੰਟੇ ਪਹਿਲਾਂ ਜਾਂਚ ਕੀਤੀ ਗਈ}}</translation>
 <translation id="6545017243486555795">ਸਾਰਾ ਡਾਟਾ ਕਲੀਅਰ ਕਰੋ</translation>
+<translation id="6546511553472444032">ਫ਼ਾਈਲ ਹਾਨੀਕਾਰਕ ਹੋ ਸਕਦੀ ਹੈ</translation>
 <translation id="6560414384669816528">Sogou ਨਾਲ ਖੋਜੋ</translation>
 <translation id="656065428026159829">ਹੋਰ ਦੇਖੋ</translation>
 <translation id="6565959834589222080">ਉਪਲਬਧ ਹੋਣ 'ਤੇ ਵਾਈ-ਫਾਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ</translation>
 <translation id="6566259936974865419">Chrome ਨੇ ਤੁਹਾਡੀ <ph name="GIGABYTES" /> GB ਦੀ ਬਚਤ ਕੀਤੀ ਹੈ</translation>
+<translation id="6569373978618239158">ਤੁਹਾਨੂੰ ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹਣ 'ਤੇ ਹੁਣ <ph name="SITE_NAME" /> ਦੀਆਂ ਕਹਾਣੀਆਂ ਦਿਖਾਈ ਦੇਣਗੀਆਂ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਅਨੁਸਰਣ ਕੀਤੀਆਂ ਸਾਈਟਾਂ ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਡਿਸਕਵਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="6573096386450695060">ਹਮੇਸ਼ਾਂ ਰੀਡਾਇਰੈਕਟ ਕਰਨ ਦਿਓ</translation>
 <translation id="6573431926118603307">ਤੁਹਾਡੇ ਹੋਰ ਡੀਵਾਈਸਾਂ 'ਤੇ Chrome ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਖੋਲ੍ਹੀਆਂ ਗਈਆਂ ਟੈਬਾਂ ਇੱਥੇ ਦਿਖਾਈ ਦੇਣਗੀਆਂ।</translation>
 <translation id="6583199322650523874">ਮੌਜੂਦਾ ਪੰਨੇ ਨੂੰ ਬੁੱਕਮਾਰਕ ਕਰੋ</translation>
@@ -949,6 +965,7 @@
 <translation id="696447261358045621">ਇਨਕੋਗਨਿਟੋ ਮੋਡ ਛੱਡੋ</translation>
 <translation id="6979737339423435258">ਸਾਰੇ ਸਮੇਂ</translation>
 <translation id="6981982820502123353">ਪਹੁੰਚਯੋਗਤਾ</translation>
+<translation id="6987047470128880212">ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਇਨਕੋਗਨਿਟੋ ਉਪਲਬਧ ਨਹੀਂ ਹੈ</translation>
 <translation id="6989267951144302301">ਡਾਊਨਲੋਡ ਨਹੀਂ ਹੋ ਸਕਿਆ</translation>
 <translation id="6995899638241819463">ਡਾਟਾ ਉਲੰਘਣਾ ਵਜੋਂ ਪਾਸਵਰਡਾਂ ਦਾ ਖੁਲਾਸਾ ਹੋਣ 'ਤੇ ਤੁਹਾਨੂੰ ਚਿਤਾਵਨੀ ਦਿੱਤੀ ਜਾਵੇ</translation>
 <translation id="7001056293070445572">ਇਹ ਫ਼ਾਈਲ ਵੱਡੀ ਹੈ (<ph name="FILE_SIZE" />)</translation>
@@ -1026,6 +1043,7 @@
 <translation id="7482656565088326534">ਪੂਰਵ-ਝਲਕ ਟੈਬ</translation>
 <translation id="7484997419527351112">Discover - ਬੰਦ ਹੈ</translation>
 <translation id="7485033510383818941">ਫ਼ੀਡ ਸਮੱਗਰੀ ਰਿਫ੍ਰੈਸ਼ ਕਰਨ ਲਈ, ਪੰਨੇ ਨੂੰ ਹੇਠਾਂ ਵੱਲ ਖਿੱਚੋ</translation>
+<translation id="749294055653435199">Google Lens ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (ਅੱਪਡੇਟ ਕੀਤਾ <ph name="TIME_SINCE_UPDATE" />)</translation>
 <translation id="7494974237137038751">ਬਚਾਇਆ ਗਿਆ ਡਾਟਾ</translation>
 <translation id="7498271377022651285">ਕਿਰਪਾ ਕਰਕੇ ਠਹਿਰੋ…</translation>
@@ -1127,6 +1145,7 @@
 <translation id="8037801708772278989">ਹੁਣੇ ਹੀ ਜਾਂਚ ਕੀਤੀ ਗਈ</translation>
 <translation id="8040831032425909005">ਤਤਕਾਲ ਕਾਰਵਾਈ ਖੋਜ ਵਿਜੇਟ ਪ੍ਰਤੀਕ</translation>
 <translation id="804335162455518893">SD ਕਾਰਡ ਨਹੀਂ ਮਿਲਿਆ</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ਇਨਕੋਗਨਿਟੋ ਟੈਬ}one{<ph name="TAB_COUNT_NORMAL" /> ਇਨਕੋਗਨਿਟੋ ਟੈਬ}other{<ph name="TAB_COUNT_NORMAL" /> ਇਨਕੋਗਨਿਟੋ ਟੈਬਾਂ}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB ਉਪਲਬਧ ਹੈ</translation>
 <translation id="8058746566562539958">ਨਵੀਂ Chrome ਟੈਬ ਵਿੱਚ ਖੋਲ੍ਹੋ</translation>
 <translation id="8063895661287329888">ਬੁੱਕਮਾਰਕ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ।</translation>
@@ -1225,6 +1244,7 @@
 <translation id="8621068256433641644">ਫ਼ੋਨ</translation>
 <translation id="8636825310635137004">ਆਪਣੀਆਂ ਹੋਰ ਡੀਵਾਈਸਾਂ ਤੋਂ ਆਪਣੀਆਂ ਟੈਬਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ,  ਸਮਕਾਲੀਕਰਨ ਚਾਲੂ ਕਰੋ।</translation>
 <translation id="8641930654639604085">ਬਾਲਗ ਸਾਈਟਾਂ ਨੂੰ ਬਲੌਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ</translation>
+<translation id="864544049772947936">ਵਿੰਡੋਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ (<ph name="INSTANCE_COUNTS" />)</translation>
 <translation id="8655129584991699539">ਤੁਸੀਂ ਡਾਟੇ ਨੂੰ Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਕਲੀਅਰ ਕਰ ਸਕਦੇ ਹੋ</translation>
 <translation id="8656747343598256512">ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਇਸ ਸਾਈਟ ਅਤੇ Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ। ਤੁਸੀਂ ਸਮਕਾਲੀਕਰਨ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="8659579665266920523">Chrome ਨਾਲ ਖੋਜਣ ਦਾ ਤਰੀਕਾ</translation>
@@ -1313,6 +1333,7 @@
 <translation id="9219103736887031265">ਚਿੱਤਰ</translation>
 <translation id="926205370408745186">ਡਿਜੀਟਲ ਜੀਵਨਸ਼ੈਲੀ ਤੋਂ ਆਪਣੀ Chrome ਸਰਗਰਮੀ ਹਟਾਓ</translation>
 <translation id="927968626442779827">Google Chrome 'ਤੇ ਲਾਈਟ ਮੋਡ ਵਰਤੋ</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> ਦਾ ਅਨੁਸਰਣ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="932327136139879170">ਹੋਮ</translation>
 <translation id="938850635132480979">ਗੜਬੜ: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">ਪਾਸਫਰੇਜ਼ ਦਾਖਲ ਕਰੋ</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 ed2aec6..df7503e 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
@@ -185,6 +185,7 @@
 <translation id="218608176142494674">Ndarja</translation>
 <translation id="2195339740518523951">Merr sigurinë më të fortë të Chrome</translation>
 <translation id="2200113223741723867">Menaxho ndarjen e të dhënave të përdorimit</translation>
+<translation id="2218567645332692482">Përmirëso navigimet në HTTPS dhe paralajmëro përpara ngarkimit të faqeve që nuk e mbështetin</translation>
 <translation id="2227444325776770048">Vazhdo si <ph name="USER_FULL_NAME" /></translation>
 <translation id="2230777942707397948">Dritare bosh</translation>
 <translation id="2239812875700136898">Kontrollo historitë e tua nga butoni "Opsionet për Zbulo"</translation>
@@ -1294,6 +1295,7 @@
 <translation id="8965591936373831584">në pritje</translation>
 <translation id="8970887620466824814">Ndodhi një gabim.</translation>
 <translation id="8972098258593396643">Të shkarkohet në dosjen e parazgjedhur?</translation>
+<translation id="8987641763863173640">Menaxho cilësimet e pamjes paraprake të videos</translation>
 <translation id="8988028529677883095">Përdore telefonin si çelës sigurie</translation>
 <translation id="8993760627012879038">Hap një skedë të re në "Modalitetin e fshehtë"</translation>
 <translation id="8996847606757455498">Zgjidh një ofrues tjetër</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 fff393e9b..d80da9c0 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">குரல் மூலம் உடனடியாகத் தேடலாம். இந்த ஷார்ட்கட்டை மாற்ற தொட்டுப் பிடித்திருக்கவும்.</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" /> சாதனத்திற்கு அனுப்புகிறது...</translation>
 <translation id="103269572468856066">இந்தத் தளங்கள் &amp; ஆப்ஸிலிருந்தும் தரவை அழிக்க வேண்டுமா?</translation>
+<translation id="1034259925032978114">சாளரம் திறந்துள்ளது</translation>
 <translation id="1036348656032585052">முடக்கு</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" />ஐச் சேர்க்கிறது...</translation>
 <translation id="1045899828449635435">இந்தத் தளங்களில் இருந்தும் தரவை அழிக்க வேண்டுமா?</translation>
@@ -185,6 +186,7 @@
 <translation id="2195339740518523951">Chromeமின் வலிமையான பாதுகாப்பைப் பெறுங்கள்</translation>
 <translation id="2200113223741723867">உபயோகத் தரவுப் பகிர்தலை நிர்வகித்தல்</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> ஆகத் தொடர்க</translation>
+<translation id="2230777942707397948">காலியான சாளரம்</translation>
 <translation id="2239812875700136898">கண்டறிவதற்கான விருப்பங்கள் என்ற பட்டன் மூலம் உங்கள் செய்திகளைக் கட்டுப்படுத்தலாம்</translation>
 <translation id="2259659629660284697">கடவுச்சொற்களை ஏற்று…</translation>
 <translation id="2276696007612801991">கடவுச்சொற்களைச் சரிபார்க்க, உங்கள் Google கணக்கில் உள்நுழையவும்</translation>
@@ -255,7 +257,7 @@
 <translation id="2631006050119455616">சேமிக்கப்பட்டது</translation>
 <translation id="2645657967708199252">உங்கள் <ph name="CONNECTION_TYPE" /> இணைப்பு காரணமாகப் பதிவிறக்கத்தின் வேகம் குறையக்கூடும்</translation>
 <translation id="2647434099613338025">மொழியைச் சேர்</translation>
-<translation id="2650751991977523696">கோப்பை மீண்டும் பதிவிறக்கவா?</translation>
+<translation id="2650751991977523696">ஃபைலை மீண்டும் பதிவிறக்கவா?</translation>
 <translation id="2651091186440431324">{FILE_COUNT,plural, =1{# ஆடியோ கோப்பு}other{# ஆடியோ கோப்புகள்}}</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>
@@ -336,6 +338,7 @@
 <translation id="314939179385989105">Chromeமின் முகப்புப்பக்கம்</translation>
 <translation id="3157842584138209013">மேலும் விருப்பங்கள் பொத்தானைப் பயன்படுத்தி, எவ்வளவு தரவைச் சேமித்துள்ளீர்கள் என்பதைப் பார்க்கலாம்</translation>
 <translation id="3166827708714933426">தாவல் மற்றும் சாளரத்திற்கான ஷார்ட்கட்கள்</translation>
+<translation id="316694332262407393">ஏற்கெனவே இது Chromeமில் திறந்துள்ளது.</translation>
 <translation id="3169472444629675720">Discover</translation>
 <translation id="3205824638308738187">கிட்டத்தட்ட முடிந்தது!</translation>
 <translation id="3207960819495026254">புக்மார்க் செய்யப்பட்டது</translation>
@@ -414,6 +417,7 @@
 <translation id="3587596251841506391">இணையத்தில் பாதுகாப்பை மேம்படுத்த உதவுங்கள்</translation>
 <translation id="3602290021589620013">மாதிரிக்காட்சி</translation>
 <translation id="3616113530831147358">ஆடியோ</translation>
+<translation id="3622349720008044802">சாளரங்களை நிர்வகித்தல்</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> உடன் பகிர்கிறது</translation>
 <translation id="3632295766818638029">கடவுச்சொல்லைக் காட்டும்</translation>
 <translation id="363596933471559332">சேமிக்கப்பட்டுள்ள நற்சான்றிதழ்களைப் பயன்படுத்தி, இணையதளங்களில் தானாகவே உள்நுழையவும். இந்த அம்சம் முடக்கப்பட்டிருக்கும் போது, ஒவ்வொரு முறையும் இணையதளத்தில் உள்நுழைவதற்கு முன்பும் சரிபார்க்கும்படி கேட்கப்படுவீர்கள்.</translation>
@@ -429,6 +433,7 @@
 <translation id="3737319253362202215">மொழிபெயர்ப்பு அமைப்புகள்</translation>
 <translation id="3738139272394829648">தேடத் தொடவும்</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" /> இல் புத்தகக்குறியிடப்பட்டது</translation>
+<translation id="3740525748616366977">இந்தச் சாதனத்தில் குரல் தேடலைப் பயன்படுத்த முடியாது</translation>
 <translation id="3749259744154402564">ஆதரிக்கப்படவில்லை</translation>
 <translation id="3771001275138982843">புதுப்பிப்பைப் பதிவிறக்க முடியவில்லை</translation>
 <translation id="3771033907050503522">மறைநிலைத் தாவல்கள்</translation>
@@ -437,6 +442,7 @@
 <translation id="3773856050682458546">அடிப்படைத் தரவும் நீங்கள் பார்வையிடும் இணையதளங்கள், பயன்படுத்தும் ஆப்ஸ் ஆகியவற்றைப் பற்றிய தகவல்களும்</translation>
 <translation id="3775705724665058594">உங்கள் சாதனங்களுக்கு அனுப்புதல்</translation>
 <translation id="3778956594442850293">முகப்புத் திரையில் சேர்க்கப்பட்டது</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1 பக்கம்}other{# பக்கங்கள்}}</translation>
 <translation id="3803784507854318295">தானாகப் பிளேயாகும் ஊட்டத்தை நிர்வகிக்கலாம்</translation>
 <translation id="3810838688059735925">வீடியோ</translation>
 <translation id="3810973564298564668">நிர்வகி</translation>
@@ -457,6 +463,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">குரல் தேடல் இயக்கப்படவில்லை</translation>
 <translation id="395377504920307820">கணக்கு இல்லாமல் பயன்படுத்து</translation>
+<translation id="3958287878205277013">மறைநிலையில் இதுவரை இணையத்தில் பார்த்தவற்றைச் சாதனத்தில் இருந்து அழிக்க மறைநிலைப் பக்கங்கள் அனைத்தையும் மூடவும்.</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{பக்கம் தயாரானதும் Chrome அதை ஏற்றும்}other{பக்கங்கள் தயாரானதும் Chrome அவற்றை ஏற்றும்}}</translation>
 <translation id="3962957115499249330">இந்தப் பதிவிறக்கம் வைஃபையில் தொடங்கும்போது அறிவிப்பைப் பெறுவீர்கள்.</translation>
 <translation id="3963007978381181125">கடவுச்சொற்றொடர் என்க்ரிப்ஷனில் Google Payயிலுள்ள கட்டண முறைகளும் முகவரிகளும் சேர்க்கப்படாது. என்கிரிப்ட் செய்யப்பட்ட தரவை உங்கள் கடவுச்சொற்றொடரை அறிந்தவரால் மட்டுமே படிக்க முடியும். Googleளுக்குக் கடவுச்சொற்றொடர் அனுப்பப்படுவதில்லை. Google அதைச் சேமிப்பதுமில்லை. கடவுச்சொற்றொடரை மறந்துவிட்டாலோ இந்த அமைப்பை மாற்ற விரும்பினாலோ, ஒத்திசைவை மீட்டமைக்க வேண்டும். <ph name="BEGIN_LINK" />மேலும் அறிக<ph name="END_LINK" /></translation>
@@ -542,6 +549,7 @@
 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> எனும் தளத்தில் பிற Google சேவைகளிலிருந்து தேடல்கள், செயல்பாடு போன்ற உங்கள் Google கணக்கிற்கான பிற வகை உலாவல் வரலாறும் இருக்கக்கூடும்.</translation>
 <translation id="4532845899244822526">கோப்புறையைத் தேர்வுசெய்யவும்</translation>
 <translation id="4538018662093857852">லைட் பயன்முறையை இயக்கு</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> பக்கம்}other{<ph name="TAB_COUNT_MANY" /> பக்கங்கள், <ph name="TAB_COUNT_INCOGNITO" /> மறைநிலை}}</translation>
 <translation id="4550003330909367850">உங்கள் கடவுச்சொல்லை இங்கே பார்க்க அல்லது நகலெடுக்க, இந்தச் சாதனத்தில் திரைப் பூட்டை அமைக்கவும்.</translation>
 <translation id="4554077758708533499">USB கேபிள் மூலம் இணைக்கப்பட்டது</translation>
 <translation id="4557685098773234337">இந்தப் பக்கத்தை விரைவாக அணுக, இதை உங்கள் முகப்புத் திரையில் சேர்க்கவும்</translation>
@@ -607,6 +615,7 @@
 <translation id="4885273946141277891">ஆதரிக்கப்படாத Chrome நிகழ்வுகளின் எண்ணிக்கை.</translation>
 <translation id="4908869848243824489">Discover by Google</translation>
 <translation id="4910889077668685004">கட்டணம் செலுத்துவதற்கான ஆப்ஸ்</translation>
+<translation id="4912413785358399818">பக்கத்தை நகர்த்து</translation>
 <translation id="4913161338056004800">புள்ளிவிவரங்களை மீட்டமை</translation>
 <translation id="4913169188695071480">புதுப்பிக்காதே</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# பக்கம்}other{# பக்கங்கள்}}</translation>
@@ -632,7 +641,9 @@
 <translation id="5039804452771397117">அனுமதி</translation>
 <translation id="5054455334322721892">நீங்கள் உள்நுழைந்திருக்கும்போது <ph name="BEGIN_LINK1" />பிற வகையான செயல்பாடுகள்<ph name="END_LINK1" /> உங்கள் Google கணக்கில் சேமிக்கப்பட்டிருக்கலாம். அவற்றை எப்போது வேண்டுமானாலும் நீக்கலாம்.</translation>
 <translation id="5061533557687621530">வானிலையை அறிந்துகொள்ள, மைக்கைத் தட்டி “இன்றைய வானிலை என்ன?” எனக் கூறுங்கள்</translation>
+<translation id="506254248375231072">பக்கங்கள் எதுவுமில்லை</translation>
 <translation id="5087580092889165836">கார்டைச் சேர்</translation>
+<translation id="5091199029769593641">விரைவில், புதிய பக்கத்தைத் திறக்கும்போது <ph name="SITE_NAME" /> தளத்தில் உள்ள கதைகள் காட்டப்படும். நீங்கள் பின்தொடரும் தளங்கள் உங்கள் Google கணக்கில் சேமிக்கப்படும். அவற்றை Discover அமைப்புகளில் நிர்வகிக்கலாம்.</translation>
 <translation id="5091249083535528968">கூடுதல் உபயோகத் தரவு</translation>
 <translation id="509429900233858213">பிழை ஏற்பட்டது.</translation>
 <translation id="510275257476243843">1 மணிநேரம் மீதமுள்ளது</translation>
@@ -692,6 +703,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" /> உடன்</translation>
 <translation id="5456381639095306749">பக்கத்தைப் பதிவிறக்குக</translation>
 <translation id="5458366071038729214">நீங்கள் பின்தொடரும் தளங்களின் பட்டியல் இங்கே காட்டப்படும்</translation>
+<translation id="5468068603361015296"><ph name="FILE_NAME" /> ஃபைலைப் பதிவிறக்க வேண்டுமா?</translation>
 <translation id="548278423535722844">வரைபடப் பயன்பாட்டில் திற</translation>
 <translation id="5483197086164197190">Chromeமிற்குச் செல்லுதல்</translation>
 <translation id="5487521232677179737">தரவை அழி</translation>
@@ -749,6 +761,7 @@
 <translation id="5810288467834065221">பதிப்புரிமை <ph name="YEAR" /> Google LLC. அனைத்து உரிமைகளும் பாதுகாக்கப்பட்டுள்ளன.</translation>
 <translation id="5810864297166300463">இணைய உதவி</translation>
 <translation id="5814131985548525293">தேடுவதற்கு இங்கே உள்ளிடவும் அல்லது மைக் ஐகானைத் தட்டவும்</translation>
+<translation id="5814749351757353073">உங்களுக்குப் பிடித்த தளங்களைத் தவறாமல் பார்க்கலாம்</translation>
 <translation id="583281660410589416">தெரியாதது</translation>
 <translation id="5833984609253377421">இணைப்பைப் பகிர்</translation>
 <translation id="5834764604050996579">QR குறியீட்டை ஸ்கேன் செய்ய, உங்கள் கேமராவை Chrome பயன்படுத்த அனுமதிக்கவும்</translation>
@@ -823,6 +836,7 @@
 
 எடுத்துக்காட்டாக, சில இணையதளங்கள் நீங்கள் பார்வையிட்ட பிற இணையதளங்களின் அடிப்படையில் இல்லாத விளம்பரங்களைக் காட்டுவதன் மூலம் இந்தக் கோரிக்கைக்குப் பதிலளிக்கலாம். பல இணையதளங்கள் நீங்கள் உலாவிய தரவைத் தொடர்ந்து சேகரித்துப் பயன்படுத்தும் - எடுத்துக்காட்டாக பாதுகாப்பை மேம்படுத்த, உள்ளடக்கம், விளம்பரங்கள் மற்றும் பரிந்துரைகளை வழங்க, அறிக்கைப் புள்ளிவிவரங்களை உருவாக்க நீங்கள் உலாவிய தரவைப் பயன்படுத்தலாம்.</translation>
 <translation id="624789221780392884">புதுப்பிப்பு தயார்</translation>
+<translation id="6264376385120300461">பரவாயில்லை, பதிவிறக்கு</translation>
 <translation id="6277522088822131679">பக்கத்தை அச்சிடுவதில் சிக்கல் ஏற்பட்டது. மீண்டும் முயற்சிக்கவும்.</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>
@@ -855,7 +869,7 @@
 <translation id="6410404864818553978">அடிப்படை உபயோகத் தரவு</translation>
 <translation id="6410883413783534063">ஒரே நேரத்தில் வெவ்வேறு பக்கங்களைப் பார்வையிடுவதற்குத் தாவல்களைத் திறக்கவும்</translation>
 <translation id="6411219469806822692">இதற்கும் மேல் செல்ல முடியாது. பக்கத்தின் மேற்பகுதியில் இருந்து எடுக்கவும்.</translation>
-<translation id="6412673304250309937">Chromeமில் சேமிக்கப்பட்டுள்ள பாதுகாப்பில்லாத தளங்களின் பட்டியலைப் பயன்படுத்தி URLகளைச் சரிபார்க்கும். தளம் உங்கள் கடவுச்சொல்லைத் திருட முயன்றலோ தீங்குவிளைவிக்கும் கோப்பை நீங்கள் பதிவிறக்கினாலோ Chromeமானது பக்க உள்ளடக்கத்தின் சிறிய பகுதிகள் உட்பட URLகளையும் பாதுகாப்பு உலாவலுக்கு அனுப்பக்கூடும்.</translation>
+<translation id="6412673304250309937">Chromeமில் சேமிக்கப்பட்டுள்ள பாதுகாப்பில்லாத தளங்களின் பட்டியலைப் பயன்படுத்தி URLகளைச் சரிபார்க்கும். தளம் உங்கள் கடவுச்சொல்லைத் திருட முயன்றலோ தீங்குவிளைவிக்கும் ஃபைலை நீங்கள் பதிவிறக்கினாலோ Chromeமானது பக்க உள்ளடக்கத்தின் சிறிய பகுதிகள் உட்பட URLகளையும் பாதுகாப்பு உலாவலுக்கு அனுப்பக்கூடும்.</translation>
 <translation id="641643625718530986">அச்சிடு...</translation>
 <translation id="6427112570124116297">இணையத்தை மொழிபெயர்த்தல்</translation>
 <translation id="6433501201775827830">தேடல் இன்ஜினைத் தேர்வுசெய்யவும்</translation>
@@ -880,10 +894,12 @@
 <translation id="6539092367496845964">ஏதோ தவறாகிவிட்டது. பிறகு முயலவும்.</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{சரிபார்த்தது: 1 மணிநேரத்திற்கு முன்பு}other{சரிபார்த்தது: # மணிநேரத்திற்கு முன்பு}}</translation>
 <translation id="6545017243486555795">எல்லா தரவையும் அழி</translation>
+<translation id="6546511553472444032">ஃபைல் தீங்கிழைப்பதாக இருக்கக்கூடும்</translation>
 <translation id="6560414384669816528">Sogou மூலம் தேடுக</translation>
 <translation id="656065428026159829">மேலும் காட்டு</translation>
 <translation id="6565959834589222080">வைஃபை இணைப்பு கிடைக்கும்போது பயன்படுத்தப்படும்</translation>
 <translation id="6566259936974865419">Chrome உங்களின் <ph name="GIGABYTES" /> ஜி.பை. அளவைச் சேமித்தது</translation>
+<translation id="6569373978618239158">புதிய பக்கத்தைத் திறக்கும்போது <ph name="SITE_NAME" /> தளத்தில் உள்ள கதைகள் காட்டப்படும். நீங்கள் பின்தொடரும் தளங்கள் உங்கள் Google கணக்கில் சேமிக்கப்படும். அவற்றை Discover அமைப்புகளில் நிர்வகிக்கலாம்.</translation>
 <translation id="6573096386450695060">எப்போதும் அனுமதி</translation>
 <translation id="6573431926118603307">உங்கள் பிற சாதனங்களில் பயன்படுத்திய Chrome இல் திறந்த தாவல்கள் இங்கே தோன்றும்.</translation>
 <translation id="6583199322650523874">தற்போதைய பக்கத்தைப் புத்தகக்குறியிடும்</translation>
@@ -949,6 +965,7 @@
 <translation id="696447261358045621">மறைநிலைப் பயன்முறையில் இருந்து வெளியேறும்</translation>
 <translation id="6979737339423435258">இதுவரை அனைத்தும்</translation>
 <translation id="6981982820502123353">அணுகல் தன்மை</translation>
+<translation id="6987047470128880212">இந்தச் சாதனத்தில் மறைநிலைப் பயன்முறையைப் பயன்படுத்த முடியாது</translation>
 <translation id="6989267951144302301">பதிவிறக்க முடியவில்லை</translation>
 <translation id="6995899638241819463">தரவு மீறலினால் கடவுச்சொற்கள் வெளியாகியிருந்தால் அதுகுறித்து எச்சரி</translation>
 <translation id="7001056293070445572">இந்தக் கோப்பு பெரிதாக உள்ளது (<ph name="FILE_SIZE" />)</translation>
@@ -1026,6 +1043,7 @@
 <translation id="7482656565088326534">மாதிரிக்காட்சித் தாவல்</translation>
 <translation id="7484997419527351112">Discover - முடக்கத்தில்</translation>
 <translation id="7485033510383818941">ஊட்ட உள்ளடக்கத்தை ரெஃப்ரெஷ் செய்ய பக்கத்தைக் கீழே இழுங்கள்</translation>
+<translation id="749294055653435199">இந்தச் சாதனத்தில் Google Lensஸைப் பயன்படுத்த முடியாது</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (புதுப்பித்தது: <ph name="TIME_SINCE_UPDATE" />)</translation>
 <translation id="7494974237137038751">சேமித்த டேட்டா</translation>
 <translation id="7498271377022651285">காத்திருக்கவும்…</translation>
@@ -1127,6 +1145,7 @@
 <translation id="8037801708772278989">சரிபார்த்தது: சற்று முன்பு</translation>
 <translation id="8040831032425909005">விரைவான தேடல் விட்ஜெட் ஐகான்</translation>
 <translation id="804335162455518893">SD கார்டு இல்லை</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> மறைநிலைப் பக்கம்}other{<ph name="TAB_COUNT_NORMAL" /> மறைநிலைப் பக்கங்கள்}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> மெ.பை கிடைக்கிறது</translation>
 <translation id="8058746566562539958">புதிய Chrome தாவலில் திற</translation>
 <translation id="8063895661287329888">புக்மார்க்கைச் சேர்க்க முடியவில்லை.</translation>
@@ -1225,6 +1244,7 @@
 <translation id="8621068256433641644">ஃபோனில்</translation>
 <translation id="8636825310635137004">உங்கள் பிற சாதனங்களிலிருந்து தாவல்களைப் பெற, ஒத்திசைவை இயக்கவும்.</translation>
 <translation id="8641930654639604085">பெரியவர்களுக்கான தளங்களைத் தடு</translation>
+<translation id="864544049772947936">சாளரங்களை (<ph name="INSTANCE_COUNTS" />) நிர்வகி</translation>
 <translation id="8655129584991699539">Chrome அமைப்புகளில் தரவை அழிக்கலாம்</translation>
 <translation id="8656747343598256512">இந்தத் தளத்திலும் உங்கள் Google கணக்கிலும் உள்நுழைவீர்கள். ஒத்திசைவைப் பின்னர் இயக்கலாம்.</translation>
 <translation id="8659579665266920523">Chromeமைப் பயன்படுத்தி எப்படித் தேடுவது?</translation>
@@ -1313,6 +1333,7 @@
 <translation id="9219103736887031265">Images</translation>
 <translation id="926205370408745186">Chrome செயல்பாட்டை டிஜிட்டல் வெல்பீயிங்கிலிருந்து நீக்குதல்</translation>
 <translation id="927968626442779827">Google Chrome உலாவியில் லைட் பயன்முறையைப் பயன்படுத்தலாம்</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> தளத்தைப் பின்தொடர்கிறீர்கள்</translation>
 <translation id="932327136139879170">முகப்பு</translation>
 <translation id="938850635132480979">பிழை: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">கடவுச்சொற்றொடரை உள்ளிடுக</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 56fa001..bcda7c1a 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">త్వరగా మీ వాయిస్‌తో సెర్చ్ చేయండి. ఈ షార్ట్‌కట్‌ను ఎడిట్ చేయడానికి, నొక్కి, పట్టుకోండి.</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" />కు పంపుతోంది...</translation>
 <translation id="103269572468856066">ఈ సైట్‌లు,యాప్‌ల డేటా కూడా తొలగించాలా?</translation>
+<translation id="1034259925032978114">విండో తెరిచి ఉంది</translation>
 <translation id="1036348656032585052">ఆఫ్ చేయి</translation>
 <translation id="1036727731225946849"><ph name="WEBAPK_NAME" />ని జోడిస్తోంది...</translation>
 <translation id="1045899828449635435">ఈ సైట్‌ల డేటా కూడా తొలగించాలా?</translation>
@@ -184,7 +185,9 @@
 <translation id="218608176142494674">షేరింగ్</translation>
 <translation id="2195339740518523951">Chrome అత్యంత శక్తివంతమైన రక్షణను పొందండి</translation>
 <translation id="2200113223741723867">డేటా వినియోగ షేరింగ్‌ను మేనేజ్ చేయండి</translation>
+<translation id="2218567645332692482">నావిగేషన్‌లు HTTPSకు అప్‌గ్రేడ్ చేయబడతాయి, దాన్ని సపోర్ట్ చేయని సైట్‌లు లోడ్ కావడానికి ముందు మీకు హెచ్చరిక వస్తుంది</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" />గా కొనసాగించు</translation>
+<translation id="2230777942707397948">ఖాళీ విండో</translation>
 <translation id="2239812875700136898">Discover కోసం ఆప్షన్‌లు' అనే బటన్ ద్వారా మీకు కనపడే కథనాలను నియంత్రించండి</translation>
 <translation id="2259659629660284697">పాస్‌వర్డ్‌లను ఎగుమతి చేయండి…</translation>
 <translation id="2276696007612801991">మీ పాస్‌వర్డ్‌లను చెక్ చేయడానికి Google ఖాతాకు సైన్ ఇన్ చేయండి</translation>
@@ -336,6 +339,7 @@
 <translation id="314939179385989105">Chrome హోమ్ పేజీ</translation>
 <translation id="3157842584138209013">'మరిన్ని ఎంపికలు' బటన్ నుండి మీరు ఎంత డేటాను సేవ్ చేసారో చూడండి</translation>
 <translation id="3166827708714933426">ట్యాబ్ మరియు విండో షార్ట్‌కట్‌లు</translation>
+<translation id="316694332262407393">Chrome ఇప్పటికే రన్ అవుతోంది.</translation>
 <translation id="3169472444629675720">కనుగొను</translation>
 <translation id="3205824638308738187">దాదాపు పూర్తయింది!</translation>
 <translation id="3207960819495026254">బుక్‌మార్క్ చేయబడింది</translation>
@@ -414,6 +418,7 @@
 <translation id="3587596251841506391">వెబ్ భద్రతనుపెంచడంలో సాయపడుతుంది</translation>
 <translation id="3602290021589620013">ప్రివ్యూ</translation>
 <translation id="3616113530831147358">ఆడియో</translation>
+<translation id="3622349720008044802">విండోలను మేనేజ్ చేయండి</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" />తో షేర్ చేస్తోంది</translation>
 <translation id="3632295766818638029">పాస్‌వర్డ్‌ను చూపుతుంది</translation>
 <translation id="363596933471559332">నిల్వ చేసిన ఆధారాలను ఉపయోగించి ఆటోమేటిక్‌గా వెబ్‌సైట్‌లకు సైన్ ఇన్ చేయండి. ఫీచ‌ర్‌ ఆఫ్ చేయబడినప్పుడు, మీరు వెబ్‌సైట్‌కు సైన్ ఇన్ చేసే ప్రతిసారి ధృవీకరణ కోసం మిమ్మల్ని అడుగుతుంది.</translation>
@@ -429,6 +434,7 @@
 <translation id="3737319253362202215">అనువాద సెట్టింగ్‌లు</translation>
 <translation id="3738139272394829648">వెతకడానికి తాకండి</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" />లో బుక్‌మార్క్ చేయబడింది</translation>
+<translation id="3740525748616366977">ఈ పరికరంలో వాయిస్ సెర్చ్ అందుబాటులో లేదు</translation>
 <translation id="3749259744154402564">మద్దతు లేదు</translation>
 <translation id="3771001275138982843">అప్‌డేట్‌ను డౌన్‌లోడ్ చేయడం సాధ్యపడలేదు</translation>
 <translation id="3771033907050503522">అజ్ఞాత ట్యాబ్‌లు</translation>
@@ -437,6 +443,7 @@
 <translation id="3773856050682458546">మీరు సందర్శించే వెబ్‌సైట్‌లు, మీరు ఉపయోగించే యాప్‌ల గురించి ప్రాథమిక డేటా, ఇంకా సమాచారం</translation>
 <translation id="3775705724665058594">మీ పరికరాలకు పంపండి</translation>
 <translation id="3778956594442850293">హోమ్ స్క్రీన్‌కు జోడించబడింది</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1 ట్యాబ్}other{# ట్యాబ్‌లు}}</translation>
 <translation id="3803784507854318295">ఆటోప్లేని మేనేజ్ చేయండి</translation>
 <translation id="3810838688059735925">వీడియో</translation>
 <translation id="3810973564298564668">నిర్వహించు</translation>
@@ -457,6 +464,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">ప్రారంభించిన వాయిస్ శోధన అందుబాటులో లేదు</translation>
 <translation id="395377504920307820">ఖాతా లేకుండా ఉపయోగించండి</translation>
+<translation id="3958287878205277013">మీ పరికరం నుండి అజ్ఞాత మోడ్‌లో ఉన్న బ్రౌజింగ్ హిస్టరీని క్లియర్ చేయడానికి, అన్ని అజ్ఞాత ట్యాబ్‌లను మూసివేయండి.</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{కనెక్ట్ అయినప్పుడు, Chrome మీ పేజీని లోడ్ చేస్తుంది}other{కనెక్ట్ అయినప్పుడు, Chrome మీ పేజీలను లోడ్ చేస్తుంది}}</translation>
 <translation id="3962957115499249330">Wi-Fi ద్వారా డౌన్‌లోడ్ ప్రారంభమయినప్పుడు మీకు నోటిఫికేషన్ కనిపిస్తుంది.</translation>
 <translation id="3963007978381181125">Google Payకి సంబంధించిన చెల్లింపు పద్ధతులు మరియు చిరునామాలు రహస్య పదబంధం ఎన్‌క్రిప్షన్‌లో ఉండవు. మీ రహస్య పదబంధాన్ని కలిగి ఉన్నవారు మాత్రమే మీ ఎన్‌క్రిప్ట్ చేసిన డేటాను చదవగలరు. రహస్య పదబంధం Google ద్వారా ఎవరికీ పంపబడదు లేదా నిల్వ చేయబడదు. మీరు మీ రహస్య పదబంధాన్ని మర్చిపోతే లేదా ఈ సెట్టింగ్‌ను మార్చాలనుకుంటే, సమకాలీకరణను రీసెట్ చేయాల్సి ఉంటుంది. <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation>
@@ -542,6 +550,7 @@
 మీ Google ఖాతా <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />లో ఇతర Google సేవలకు సంబంధించిన శోధనలు, కార్యకలాపం వంటి ఇతర రకాల బ్రౌజింగ్ చరిత్రను కలిగి ఉండవచ్చు.</translation>
 <translation id="4532845899244822526">ఫోల్డర్‌ను ఎంచుకోండి</translation>
 <translation id="4538018662093857852">లైట్ మోడ్‌ని ఆన్ చేయండి</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ట్యాబ్}other{<ph name="TAB_COUNT_MANY" /> ట్యాబ్‌లు, <ph name="TAB_COUNT_INCOGNITO" /> అజ్ఞాత ట్యాబ్}}</translation>
 <translation id="4550003330909367850">ఇక్కడ మీ పాస్‌వర్డ్‌ను వీక్షించడానికి లేదా కాపీ చేయడానికి, ఈ డివైజ్‌లో స్క్రీన్ లాక్‌ను సెట్ చేయండి.</translation>
 <translation id="4554077758708533499">USB కేబుల్‌తో కనెక్ట్ చేయబడింది</translation>
 <translation id="4557685098773234337">ఇక్కడికి త్వరగా చేరుకోవడనికి, ఈ పేజీని మీ మొదటి స్క్రీన్‌కు జోడించండి</translation>
@@ -607,6 +616,7 @@
 <translation id="4885273946141277891">మద్దతు లేనన్ని సార్లు Chromeను ప్రారంభించడానికి ప్రయత్నించారు.</translation>
 <translation id="4908869848243824489">Google ద్వారా Discover</translation>
 <translation id="4910889077668685004">చెల్లింపు యాప్‌లు</translation>
+<translation id="4912413785358399818">ట్యాబ్‌ను తరలించండి</translation>
 <translation id="4913161338056004800">గణాంకాలను రీసెట్ చేయి</translation>
 <translation id="4913169188695071480">రీఫ్రెష్ చేయడం ఆపివేయి</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# పేజీ}other{# పేజీలు}}</translation>
@@ -632,7 +642,9 @@
 <translation id="5039804452771397117">అనుమతించు</translation>
 <translation id="5054455334322721892">మీరు సైన్ ఇన్ చేసినప్పుడు, <ph name="BEGIN_LINK1" />ఇతర రకాల యాక్టివిటీ<ph name="END_LINK1" /> మీ Google ఖాతాలో సేవ్ చేయబడవచ్చు. మీరు వాటిని ఎప్పుడైనా తొలగించవచ్చు.</translation>
 <translation id="5061533557687621530">వాతావరణం గురించి తెలుసుకోవడానికి, మైక్‌ను ట్యాప్ చేసి, “ఈ రోజు వాతావరణం ఎలా ఉంది?” అని అడగండి</translation>
+<translation id="506254248375231072">ట్యాబ్‌లు ఏవీ లేవు</translation>
 <translation id="5087580092889165836">కార్డ్‌ను జోడించు</translation>
+<translation id="5091199029769593641">త్వరలో, మీరు కొత్త ట్యాబ్‌ను తెరిచినప్పుడు మీరు <ph name="SITE_NAME" /> నుండి కథనాలను చూస్తారు. మీరు ఫాలో అయ్యే సైట్‌లు మీ Google ఖాతాలో సేవ్ చేయబడతాయి. మీరు వాటిని Discover సెట్టింగ్‌లలో మేనేజ్ చేయవచ్చు.</translation>
 <translation id="5091249083535528968">పొడిగించిన డేటా వినియోగం</translation>
 <translation id="509429900233858213">ఒక ఎర్రర్ ఏర్పడింది.</translation>
 <translation id="510275257476243843">1 గంట మిగిలి ఉంది</translation>
@@ -692,6 +704,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" />తో</translation>
 <translation id="5456381639095306749">పేజీని డౌన్‌లోడ్ చేయండి</translation>
 <translation id="5458366071038729214">మీరు ఫాలో అయ్యే సైట్‌లు ఇక్కడ కనిపిస్తాయి</translation>
+<translation id="5468068603361015296">మీరు ఏదేమైనా <ph name="FILE_NAME" />ను డౌన్‌లోడ్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="548278423535722844">మ్యాప్స్ యాప్‌లో తెరువు</translation>
 <translation id="5483197086164197190">Chrome గురించి తెలుసుకోండి</translation>
 <translation id="5487521232677179737">డేటాని తీసివేయి</translation>
@@ -749,6 +762,7 @@
 <translation id="5810288467834065221">కాపీరైట్ <ph name="YEAR" /> Google LLC. సర్వ హక్కులు ప్రత్యేకించబడ్డాయి.</translation>
 <translation id="5810864297166300463">వెబ్ సహాయం</translation>
 <translation id="5814131985548525293">ప్రారంభించడానికి ఇక్కడ టైప్ చేయండి లేదా వాయిస్ చిహ్నాన్ని ట్యాప్ చేయండి</translation>
+<translation id="5814749351757353073">మీకు ఇష్టమైన సైట్‌ల గురించి తెలుసుకోండి</translation>
 <translation id="583281660410589416">తెలియని</translation>
 <translation id="5833984609253377421">లింక్‌ను షేర్ చేయి</translation>
 <translation id="5834764604050996579">QR కోడ్‌ను స్కాన్ చేయడం కోసం, మీ కెమెరాను ఉపయోగించడానికి Chromeను అనుమతించండి</translation>
@@ -823,6 +837,7 @@
 
 ఉదాహరణకు, కొన్ని వెబ్‌సైట్‌లు ఈ అభ్యర్థనకు ప్రతిస్పందనగా మీరు సందర్శించిన ఇతర వెబ్‌సైట్‌ల ఆధారితం కాని ప్రకటనలను మీకు చూపుతాయి. అనేక వెబ్‌సైట్‌లు భద్రతను మెరుగుపరచడం, కంటెంట్, ప్రకటనలు మరియు సిఫార్సులను అందించడం మరియు నివేదన గణాంకాలను రూపొందించడం మొదలైనవాటి కోసం ఇప్పటికీ మీ బ్రౌజింగ్ డేటాను సేకరించి, ఉపయోగిస్తాయి.</translation>
 <translation id="624789221780392884">అప్‌డేట్‌ సిద్ధంగా ఉంది</translation>
+<translation id="6264376385120300461">ఏదేమైనా డౌన్‌లోడ్ చేయండి</translation>
 <translation id="6277522088822131679">పేజీని ముద్రిస్తున్నప్పుడు సమస్య ఏర్పడింది. దయచేసి మళ్లీ ప్రయత్నించండి.</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>
@@ -880,10 +895,12 @@
 <translation id="6539092367496845964">ఏదో తప్పు జరిగింది. తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{1 గంట క్రితం తనిఖీ చేసింది}other{# గంటల క్రితం తనిఖీ చేసింది}}</translation>
 <translation id="6545017243486555795">మొత్తం డేటాను తీసివేయి</translation>
+<translation id="6546511553472444032">ఫైల్ హానికరమైనది కావచ్చు</translation>
 <translation id="6560414384669816528">Sogouతో వెతకండి</translation>
 <translation id="656065428026159829">మరిన్ని చూడండి</translation>
 <translation id="6565959834589222080">అందుబాటులో ఉన్నప్పుడు Wi-Fi ఉపయోగించబడుతుంది</translation>
 <translation id="6566259936974865419">Chrome మీకు <ph name="GIGABYTES" /> GB ఆదా చేసింది</translation>
+<translation id="6569373978618239158">మీరు కొత్త ట్యాబ్‌ను తెరిచినప్పుడు మీరు ఇప్పుడు <ph name="SITE_NAME" /> నుండి కథనాలను చూస్తారు. మీరు ఫాలో అయ్యే సైట్‌లు మీ Google ఖాతాలో సేవ్ చేయబడతాయి. మీరు వాటిని Discover సెట్టింగ్‌లలో మేనేజ్ చేయవచ్చు.</translation>
 <translation id="6573096386450695060">ఎల్లప్పుడూ అనుమతించు</translation>
 <translation id="6573431926118603307">మీరు మీ ఇతర పరికరాల్లోని Chromeలో తెరిచిన ట్యాబ్‌లు ఇక్కడ చూపబడతాయి.</translation>
 <translation id="6583199322650523874">ప్రస్తుత పేజీని బుక్‌మార్క్ చేయండి</translation>
@@ -949,6 +966,7 @@
 <translation id="696447261358045621">అజ్ఞాత మోడ్ నుండి నిష్క్రమించండి</translation>
 <translation id="6979737339423435258">మొత్తం సమయం</translation>
 <translation id="6981982820502123353">యాక్సెసిబిలిటీ</translation>
+<translation id="6987047470128880212">ఈ పరికరంలో అజ్ఞాత మోడ్ అందుబాటులో లేదు</translation>
 <translation id="6989267951144302301">డౌన్‌లోడ్ సాధ్యపడలేదు</translation>
 <translation id="6995899638241819463">మీరు ఉపయోగించే పాస్‌వర్డ్‌లు, ఏదైనా డేటా ఉల్లంఘనలో బహిర్గతమైతే మిమ్మల్ని హెచ్చరిస్తుంది</translation>
 <translation id="7001056293070445572">ఫైల్ పెద్దగా ఉంది (<ph name="FILE_SIZE" />)</translation>
@@ -1026,6 +1044,7 @@
 <translation id="7482656565088326534">ప్రివ్యూ ట్యాబ్</translation>
 <translation id="7484997419527351112">Discover - ఆఫ్‌లో ఉంది</translation>
 <translation id="7485033510383818941">ఫీడ్ కంటెంట్‌ను రిఫ్రెష్ చేయడానికి, పేజీని కిందికి లాగండి</translation>
+<translation id="749294055653435199">ఈ పరికరంలో Google Lens అందుబాటులో లేదు</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (నవీకరించినది <ph name="TIME_SINCE_UPDATE" />)</translation>
 <translation id="7494974237137038751">ఆదా అయిన డేటా</translation>
 <translation id="7498271377022651285">దయచేసి వేచి ఉండండి...</translation>
@@ -1127,6 +1146,7 @@
 <translation id="8037801708772278989">ఇప్పుడే తనిఖీ చేసింది</translation>
 <translation id="8040831032425909005">త్వరిత చర్య Search విడ్జెట్ చిహ్నం</translation>
 <translation id="804335162455518893">SD కార్డ్ కనుగొనబడలేదు</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> అజ్ఞాత ట్యాబ్}other{<ph name="TAB_COUNT_NORMAL" /> అజ్ఞాత ట్యాబ్‌లు}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB అందుబాటులో ఉంది</translation>
 <translation id="8058746566562539958">కొత్త Chrome ట్యాబ్‌లో తెరువు</translation>
 <translation id="8063895661287329888">బుక్‌మార్క్‌ను జోడించడంలో విఫలమైంది.</translation>
@@ -1225,6 +1245,7 @@
 <translation id="8621068256433641644">ఫోన్</translation>
 <translation id="8636825310635137004">మీ ఇతర పరికరాల నుండి మీ ట్యాబ్‌లను పొందడానికి, సమకాలీకరణను ఆన్ చేయండి</translation>
 <translation id="8641930654639604085">వయోజన కంటెంట్ గల సైట్‌లను బ్లాక్ చేయడానికి ప్రయత్నించండి</translation>
+<translation id="864544049772947936">విండోలను మేనేజ్ చేయండి (<ph name="INSTANCE_COUNTS" />)</translation>
 <translation id="8655129584991699539">మీరు Chrome సెట్టింగ్‌లలో డేటాను తీసివేయవచ్చు</translation>
 <translation id="8656747343598256512">మీ Google ఖాతాతో, ఈ సైట్‌కు, Chromeకు సైన్ ఇన్ చేయండి. మీరు సింక్‌ను తర్వాత ఆన్ చేయవచ్చు.</translation>
 <translation id="8659579665266920523">Chromeతో సెర్చ్ చేయడం ఎలా</translation>
@@ -1274,6 +1295,7 @@
 <translation id="8965591936373831584">పెండింగ్‌లో ఉంది</translation>
 <translation id="8970887620466824814">ఏదో తప్పు జరిగింది.</translation>
 <translation id="8972098258593396643">డిఫాల్ట్ ఫోల్డర్‌కు డౌన్‌లోడ్ చేయాలా?</translation>
+<translation id="8987641763863173640">వీడియో ప్రివ్యూ సెట్టింగ్‌లను మేనేజ్ చేస్తుంది</translation>
 <translation id="8988028529677883095">ఫోన్‌ను 'సెక్యూరిటీ కీ' లాగా ఉపయోగించండి</translation>
 <translation id="8993760627012879038">కొత్త ట్యాబ్‌ను అజ్ఞాత మోడ్‌లో తెరవండి</translation>
 <translation id="8996847606757455498">మరొక ప్రొవైడర్‌ను ఎంచుకోండి</translation>
@@ -1313,6 +1335,7 @@
 <translation id="9219103736887031265">ఇమేజ్‌లు</translation>
 <translation id="926205370408745186">డిజిటల్ సంక్షేమం నుండి మీ Chrome కార్యకలాపాన్ని తీసివేస్తుంది</translation>
 <translation id="927968626442779827">Google Chromeలోని లైట్ మోడ్‌ను ఉపయోగించండి</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" />ను ఫాలో చేస్తున్నారు</translation>
 <translation id="932327136139879170">హోమ్</translation>
 <translation id="938850635132480979">ఎర్రర్: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">రహస్య పదబంధాన్ని నమోదు చేయండి</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 b3ac10e9..931a0bb 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
@@ -185,6 +185,7 @@
 <translation id="218608176142494674">การแชร์</translation>
 <translation id="2195339740518523951">ให้ Chrome รักษาความปลอดภัยอย่างเข้มงวดที่สุด</translation>
 <translation id="2200113223741723867">จัดการการแชร์ข้อมูลการใช้งาน</translation>
+<translation id="2218567645332692482">อัปเกรดการนำทางให้เป็นแบบ HTTPS และเตือนคุณก่อนโหลดเว็บไซต์ที่ไม่รองรับโปรโตคอลนี้</translation>
 <translation id="2227444325776770048">ดำเนินการต่อในชื่อ <ph name="USER_FULL_NAME" /></translation>
 <translation id="2230777942707397948">หน้าต่างว่าง</translation>
 <translation id="2239812875700136898">ควบคุมเรื่องราวของคุณจากปุ่ม "ตัวเลือกสำหรับ Discover"</translation>
@@ -1294,6 +1295,7 @@
 <translation id="8965591936373831584">รอดำเนินการ</translation>
 <translation id="8970887620466824814">มีบางอย่างผิดพลาด</translation>
 <translation id="8972098258593396643">ดาวน์โหลดลงโฟลเดอร์เริ่มต้นไหม</translation>
+<translation id="8987641763863173640">จัดการการตั้งค่าตัวอย่างวิดีโอ</translation>
 <translation id="8988028529677883095">ใช้โทรศัพท์เป็นคีย์ความปลอดภัย</translation>
 <translation id="8993760627012879038">เปิดแท็บใหม่ในโหมดไม่ระบุตัวตน</translation>
 <translation id="8996847606757455498">เลือกผู้ให้บริการอื่น</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 598a7957..5510e3b 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">فوری طور پر اپنی آواز سے تلاش کریں۔ اس شارٹ کٹ میں ترمیم کرنے کے لیے، ٹچ کریں اور دبائے رکھیں۔</translation>
 <translation id="1028699632127661925"><ph name="DEVICE_NAME" /> پر بھیجا جا رہا ہے…</translation>
 <translation id="103269572468856066">ان سائٹس اور ایپس سے ڈیٹا بھی صاف کریں؟</translation>
+<translation id="1034259925032978114">ونڈو کھلا ہوا ہے</translation>
 <translation id="1036348656032585052">آف کریں</translation>
 <translation id="1036727731225946849">شامل ہو رہا ہے <ph name="WEBAPK_NAME" />...</translation>
 <translation id="1045899828449635435">ان سائٹس سے ڈیٹا بھی صاف کریں؟</translation>
@@ -185,6 +186,7 @@
 <translation id="2195339740518523951">‏Chrome کی مضبوط ترین سیکیورٹی حاصل کریں</translation>
 <translation id="2200113223741723867">استعمال کے ڈیٹا کے اشتراک کا نظم کریں</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> کے بطور جاری رکھیں</translation>
+<translation id="2230777942707397948">خالی ونڈو</translation>
 <translation id="2239812875700136898">‏اختیارات برائے Discover بٹن سے اپنی کہانیاں کنٹرول کریں</translation>
 <translation id="2259659629660284697">پاسورڈز برآمد کریں…</translation>
 <translation id="2276696007612801991">‏اپنے پاس ورڈز چیک کرنے کے لئے اپنے Google اکاؤنٹ میں سائن ان کریں</translation>
@@ -336,6 +338,7 @@
 <translation id="314939179385989105">‏Chrome کا ہوم پیج</translation>
 <translation id="3157842584138209013">مزید اختیارات بٹن سے اپنا محفوظ کردہ ڈیٹا دیکھیں</translation>
 <translation id="3166827708714933426">ٹیب اور ونڈو شارٹ کٹس</translation>
+<translation id="316694332262407393">‏Chrome یہاں پہلے سے ہی چل رہا ہے۔</translation>
 <translation id="3169472444629675720">دریافت کریں</translation>
 <translation id="3205824638308738187">تقریباً مکمل!</translation>
 <translation id="3207960819495026254">بُک مارک بنایا ہوا</translation>
@@ -414,6 +417,7 @@
 <translation id="3587596251841506391">ویب پر سیکیورٹی کو بہتر بنانے میں مدد کریں</translation>
 <translation id="3602290021589620013">پیش منظر</translation>
 <translation id="3616113530831147358">آڈیو</translation>
+<translation id="3622349720008044802">ونڈوز کا نظم کریں</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> کے ساتھ اشتراک کیا جا رہا ہے</translation>
 <translation id="3632295766818638029">پاس ورڈ ظاہر کریں</translation>
 <translation id="363596933471559332">اسٹور کردہ اسناد کا استعمال کر کے ویب سائٹس میں خود کار طور پر سائن ان کریں۔ خصوصیت آف ہونے پر، کسی ویب سائٹ میں سائن ان کرنے سے پہلے ہر بار آپ سے توثیق کرنے کو کہا جائے گا۔</translation>
@@ -429,6 +433,7 @@
 <translation id="3737319253362202215">ترجمہ کی ترتیبات</translation>
 <translation id="3738139272394829648">تلاش کرنے کیلئے ٹچ کریں</translation>
 <translation id="3739899004075612870"><ph name="PRODUCT_NAME" /> میں بُک مارک کر دیا گیا</translation>
+<translation id="3740525748616366977">اس آلہ پر صوتی تلاش دستیاب نہیں ہے</translation>
 <translation id="3749259744154402564">غیر تعاون یافتہ</translation>
 <translation id="3771001275138982843">اپ ڈیٹ ڈاؤن لوڈ نہیں ہو سکا</translation>
 <translation id="3771033907050503522">پوشیدگی ٹیبز</translation>
@@ -437,6 +442,7 @@
 <translation id="3773856050682458546">بنیادی ڈیٹا کے ساتھ آپ کی ملاحظہ کردہ ویب سائٹس سے متعلق معلومات اور آپ کی استعمال کردہ ایپس</translation>
 <translation id="3775705724665058594">اپنے آلات پر بھیجیں</translation>
 <translation id="3778956594442850293">ہوم اسکرین میں شامل ہو گئی</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1 ٹیب}other{# ٹیبز}}</translation>
 <translation id="3803784507854318295">آٹوپلے کا نظم کریں</translation>
 <translation id="3810838688059735925">ویڈیو</translation>
 <translation id="3810973564298564668">نظم کریں</translation>
@@ -457,6 +463,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">کوئی فعال صوتی تلاش دستیاب نہیں ہے</translation>
 <translation id="395377504920307820">اکاؤنٹ کے بغیر استعمال کریں</translation>
+<translation id="3958287878205277013">اپنے آلہ سے پوشیدگی براؤزنگ کی سرگزشت کو صاف کرنے کیلئے تمام پوشیدگی ٹیبز کو بند کریں۔</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{‏آپ کا صفحہ تیار ہونے پر Chrome اسے لوڈ کرے گا}other{‏آپ کے صفحات تیار ہونے پر Chrome انہیں لوڈ کرے گا}}</translation>
 <translation id="3962957115499249330">‏Wi-Fi پر جب یہ ڈاؤن لوڈ شروع ہوگا تو آپ کو ایک اطلاع دکھائی دے گی۔</translation>
 <translation id="3963007978381181125">‏پاس فریز کی مرموز کاری میں Google Pay سے ادائيگی کے طریقے اور پتے شامل نہیں ہوتے ہیں۔ آپ کے پاس فریز کا حامل شخص ہی آپ کے مرموز کردہ ڈیٹا کو پڑھ سکتا ہے۔ پاس فریز Google کو نہیں بھیجا جاتا ہے اور نہ ہی Google اسے اسٹور کرتا ہے۔ اگر آپ اپنا پاس فریز بھول جاتے ہیں یا اس ترتیب کو تبدیل کرنا چاہتے ہیں تو آپ کو مطابقت پذیری کو دوبارہ ترتیب دینے کی ضرورت ہوگی۔ <ph name="BEGIN_LINK" />مزید جانیں<ph name="END_LINK" /></translation>
@@ -542,6 +549,7 @@
 ممکن ہے کہ ‎<ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />‎ پر آپ کے Google اکاؤنٹ میں دیگر Google سروسز کی تلاشیں اور سرگرمی جیسی براؤزنگ کی سرگزشت کی دیگر شکلیں موجود ہوں۔</translation>
 <translation id="4532845899244822526">فولڈر منتخب کریں</translation>
 <translation id="4538018662093857852">لائٹ موڈ آن کریں</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> ٹیب}other{<ph name="TAB_COUNT_MANY" /> ٹیبز، <ph name="TAB_COUNT_INCOGNITO" /> پوشیدگی}}</translation>
 <translation id="4550003330909367850">یہاں اپنے پاس ورڈ کو دیکھنے یا اسے کاپی کرنے کے لئے، اس آلے پر اسکرین لاک سیٹ کریں۔</translation>
 <translation id="4554077758708533499">‏USB کیبل کے ساتھ منسلک ہے</translation>
 <translation id="4557685098773234337">یہاں تیزی سے پہنچنے کے لئے اس صفحے کو اپنی ہوم اسکرین میں شامل کریں</translation>
@@ -607,6 +615,7 @@
 <translation id="4885273946141277891">‏Chrome وقوعات کی غیر تعاون یافتہ تعداد۔</translation>
 <translation id="4908869848243824489">‏Discover منجانب Google</translation>
 <translation id="4910889077668685004">ادائیگی ایپس</translation>
+<translation id="4912413785358399818">ٹیب کو منتقل کریں</translation>
 <translation id="4913161338056004800">اعداد و شمار دوبارہ ترتیب دیں</translation>
 <translation id="4913169188695071480">ریفریش کرنا بند کریں</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# صفحہ}other{# صفحات}}</translation>
@@ -632,7 +641,9 @@
 <translation id="5039804452771397117">اجازت دیں</translation>
 <translation id="5054455334322721892">‏سائن ان ہونے پر آپ کے Google اکاؤنٹ میں <ph name="BEGIN_LINK1" />سرگرمی کی دیگر اقسام<ph name="END_LINK1" /> محفوظ ہو سکتی ہیں۔ آپ انہیں کسی بھی وقت حذف کر سکتے ہیں۔</translation>
 <translation id="5061533557687621530">موسم چیک کرنے کے لیے، مائیک پر تھپتھپائیں اور کہیں "آج موسم کیسا ہے؟"</translation>
+<translation id="506254248375231072">کوئی ٹیب نہیں ہے</translation>
 <translation id="5087580092889165836">کارڈ شامل کریں</translation>
+<translation id="5091199029769593641">‏جلد ہی، نیا ٹیب کھولنے پر آپ کو <ph name="SITE_NAME" /> سے کہانیاں دکھائی دیں گی۔ آپ جن سائٹس کی پیروی کرتے ہیں انہیں آپ کے Google اکاؤنٹ میں محفوظ کیا جاتا ہے۔ آپ Discover کی ترتیبات میں ان کا نظم کر سکتے ہیں۔</translation>
 <translation id="5091249083535528968">توسیع کردہ استعمال کا ڈیٹا</translation>
 <translation id="509429900233858213">ایک خرابی پیش آگئی۔</translation>
 <translation id="510275257476243843">1 گھنٹہ باقی</translation>
@@ -692,6 +703,7 @@
 <translation id="5454166040603940656"><ph name="PROVIDER" /> کے ساتھ</translation>
 <translation id="5456381639095306749">صفحہ ڈاؤن لوڈ کریں</translation>
 <translation id="5458366071038729214">آپ جن سائٹس کی پیروی کرتے ہیں وہ آپ کو یہاں ملیں گی</translation>
+<translation id="5468068603361015296">کیا آپ بہر صورت <ph name="FILE_NAME" /> کو ڈاؤن لوڈ کرنا چاہتے ہیں؟</translation>
 <translation id="548278423535722844">نقشہ کی ایپ میں کھولیں</translation>
 <translation id="5483197086164197190">‏Chrome پر نیویگیٹ کریں</translation>
 <translation id="5487521232677179737">ڈیٹا صاف کریں</translation>
@@ -749,6 +761,7 @@
 <translation id="5810288467834065221">‏کاپی رائٹ<ph name="YEAR" /> Google LLC۔ جملہ حقوق محفوظ ہیں۔</translation>
 <translation id="5810864297166300463">ویب مدد</translation>
 <translation id="5814131985548525293">شروع کرنے کیلئے یہاں ٹائپ کریں یا آواز کے آئیکن پر تھپتھپائیں</translation>
+<translation id="5814749351757353073">اپنی پسندیدہ سائٹس سے باخبر رہیں</translation>
 <translation id="583281660410589416">نامعلوم</translation>
 <translation id="5833984609253377421">لنک کا اشتراک کریں</translation>
 <translation id="5834764604050996579">‏QR کوڈ اسکین کرنے کیلئے Chrome کو اپنا کیمرا استعمال کرنے دیں</translation>
@@ -823,6 +836,7 @@
 
 مثلاً، کچھ ویب سائٹس آپ کو ایسے اشتہارات دکھا کر اس درخواست کا جواب دے سکتی ہیں جو آپ کی ملاحظہ کردہ دوسری ویب سائٹس پر مبنی نہیں ہیں۔ بہت ساری ویب سائٹس اب بھی آپ کا براؤزنگ ڈیٹا اکٹھا اور استعمال کریں گی — مثلاً، سیکیورٹی کو بہتر بنانے، مواد، اشتہارات اور تجاویز فراہم کرنے اوراطلاع دہندگی کے اعداد و شمار تیار کرنے کیلئے۔</translation>
 <translation id="624789221780392884">اپ ڈیٹ تیار ہے</translation>
+<translation id="6264376385120300461">بہر حال ڈاؤن لوڈ کریں</translation>
 <translation id="6277522088822131679">صفحہ کو پرنٹ کرنے میں ایک مسئلہ تھا۔ براہ کرم دوبارہ کوشش کریں۔</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>
@@ -880,10 +894,12 @@
 <translation id="6539092367496845964">کچھ غلط ہو گیا۔ بعد میں دوبارہ کوشش کریں۔</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{1 گھنٹہ پہلے چیک کیا گیا}other{# گھنٹے پہلے چیک کیا گیا}}</translation>
 <translation id="6545017243486555795">سبھی ڈیٹا صاف کریں</translation>
+<translation id="6546511553472444032">فائل نقصان دہ ہو سکتی ہے</translation>
 <translation id="6560414384669816528">‏Sogou کے ساتھ تلاش کریں</translation>
 <translation id="656065428026159829">مزید دیکھیں</translation>
 <translation id="6565959834589222080">‏دستیاب ہونے پر Wi-Fi کا استعمال کیا جاتا ہے</translation>
 <translation id="6566259936974865419">‏Chrome نے آپ کا <ph name="GIGABYTES" /> GB بچایا ہے</translation>
+<translation id="6569373978618239158">‏نیا ٹیب کھولنے پر اب آپ کو <ph name="SITE_NAME" /> سے کہانیاں دکھائی دیں گی۔ آپ جن سائٹس کی پیروی کرتے ہیں انہیں آپ کے Google اکاؤنٹ میں محفوظ کیا جاتا ہے۔ آپ Discover کی ترتیبات میں ان کا نظم کر سکتے ہیں۔</translation>
 <translation id="6573096386450695060">ہمیشہ اجازت دیں</translation>
 <translation id="6573431926118603307">‏اپنے دیگر آلات پر Chrome میں آپ نے جو ٹیبز کھولے ہیں وہ یہاں ظاہر ہوں گے۔</translation>
 <translation id="6583199322650523874">موجودہ صفحہ کا بُک مارک بنائیں</translation>
@@ -949,6 +965,7 @@
 <translation id="696447261358045621">پوشیدگی وضع ترک کریں</translation>
 <translation id="6979737339423435258">ہر وقت</translation>
 <translation id="6981982820502123353">ایکسیسبیلٹی</translation>
+<translation id="6987047470128880212">اس آلے پر پوشیدگی دستیاب نہیں ہے</translation>
 <translation id="6989267951144302301">ڈاؤن لوڈ نہیں کیا جا سکا</translation>
 <translation id="6995899638241819463">اگر پاس ورڈز ڈیٹا کی خلاف ورزی میں افشاء ہوتے ہیں تو وارننگ حاصل کریں</translation>
 <translation id="7001056293070445572">یہ فائل بڑی ہے (<ph name="FILE_SIZE" />)</translation>
@@ -1026,6 +1043,7 @@
 <translation id="7482656565088326534">پیش منظر ٹیب</translation>
 <translation id="7484997419527351112">‏Discover - آف ہے</translation>
 <translation id="7485033510383818941">فیڈ کے مواد کو ریفریش کرنے کے لیے، صفحے کو نیچے کی طرف کھینچیں</translation>
+<translation id="749294055653435199">‏اس آلے پر Google لینز دستیاب نہیں ہے</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (اپ ڈیٹ کا وقت <ph name="TIME_SINCE_UPDATE" />)</translation>
 <translation id="7494974237137038751">بچت کردہ ڈیٹا</translation>
 <translation id="7498271377022651285">براہ کرم انتظار کریں…</translation>
@@ -1127,6 +1145,7 @@
 <translation id="8037801708772278989">ابھی چیک کیا گيا</translation>
 <translation id="8040831032425909005">فوری کارروائی کیلئے تلاش کا ویجیٹ آئیکن</translation>
 <translation id="804335162455518893">‏SD کارڈ نہیں ملا</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> پوشیدگی ٹیب}other{<ph name="TAB_COUNT_NORMAL" /> پوشیدگی ٹیبز}}</translation>
 <translation id="8051695050440594747">‏<ph name="MEGABYTES" /> MB دستیاب ہے</translation>
 <translation id="8058746566562539958">‏نئے Chrome ٹیب میں کھولیں</translation>
 <translation id="8063895661287329888">بُک مارک شامل کرنے میں ناکام۔</translation>
@@ -1225,6 +1244,7 @@
 <translation id="8621068256433641644">فون</translation>
 <translation id="8636825310635137004">اپنے دیگر آلات سے اپنے ٹیبز حاصل کرنے کیلئے، مطابقت پذیری کو آن کریں۔</translation>
 <translation id="8641930654639604085">بالغ کی سائٹس کو مسدود کرنے کی کوشش کریں</translation>
+<translation id="864544049772947936">(<ph name="INSTANCE_COUNTS" />) ونڈوز کا نظم کریں</translation>
 <translation id="8655129584991699539">‏آپ Chrome ترتیبات میں ڈیٹا صاف کر سکتے ہیں</translation>
 <translation id="8656747343598256512">‏اپنے Google اکاؤنٹ سے اس سائٹ اور Chrome میں سائن ان کریں۔ آپ بعد میں مطابقت پذیری کو آن کر سکتے ہیں۔</translation>
 <translation id="8659579665266920523">‏Chrome سے تلاش کرنے کا طریقہ</translation>
@@ -1313,6 +1333,7 @@
 <translation id="9219103736887031265">تصاویر</translation>
 <translation id="926205370408745186">‏ڈیجیٹل فلاح و بہبود سے اپنی Chrome کی سرگرمی ہٹائیں</translation>
 <translation id="927968626442779827">‏Google Chrome پر لائٹ موڈ کا استعمال کریں</translation>
+<translation id="928550791203542716"><ph name="SITE_NAME" /> کی پیروی کی جا رہی ہے</translation>
 <translation id="932327136139879170">ھوم</translation>
 <translation id="938850635132480979">خرابی: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">پاس فریز درج کریں</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 ac7c168a..2bf7831 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
@@ -4,6 +4,7 @@
 <translation id="1016498331642356377">使用语音快速搜索。若要修改此快捷方式,请轻触并按住这里。</translation>
 <translation id="1028699632127661925">正在发送到<ph name="DEVICE_NAME" />…</translation>
 <translation id="103269572468856066">一并清除来自这些网站和应用的数据?</translation>
+<translation id="1034259925032978114">窗口已打开</translation>
 <translation id="1036348656032585052">关闭</translation>
 <translation id="1036727731225946849">正在添加<ph name="WEBAPK_NAME" />…</translation>
 <translation id="1045899828449635435">一并清除来自这些网站的数据?</translation>
@@ -185,6 +186,7 @@
 <translation id="2195339740518523951">获享 Chrome 的最强安全保护</translation>
 <translation id="2200113223741723867">对使用情况数据的共享进行管理</translation>
 <translation id="2227444325776770048">以“<ph name="USER_FULL_NAME" />”的身份继续</translation>
+<translation id="2230777942707397948">空白窗口</translation>
 <translation id="2239812875700136898">通过“‘探索’功能的选项”按钮控制您的报道</translation>
 <translation id="2259659629660284697">导出密码…</translation>
 <translation id="2276696007612801991">您需要先登录 Google 帐号才能检查您的密码</translation>
@@ -336,6 +338,7 @@
 <translation id="314939179385989105">Chrome 主页</translation>
 <translation id="3157842584138209013">通过“更多选项”按钮查看您已节省多少数据流量</translation>
 <translation id="3166827708714933426">标签页和窗口快捷键</translation>
+<translation id="316694332262407393">Chrome 已在此处运行。</translation>
 <translation id="3169472444629675720">Discover</translation>
 <translation id="3205824638308738187">即将完成!</translation>
 <translation id="3207960819495026254">已加书签</translation>
@@ -414,6 +417,7 @@
 <translation id="3587596251841506391">帮助我们改善网络安全环境</translation>
 <translation id="3602290021589620013">预览</translation>
 <translation id="3616113530831147358">音频</translation>
+<translation id="3622349720008044802">管理窗口</translation>
 <translation id="3631987586758005671">正在分享给<ph name="DEVICE_NAME" /></translation>
 <translation id="3632295766818638029">显示密码</translation>
 <translation id="363596933471559332">使用存储的凭据自动登录网站。当该功能处于停用状态时,您每次都要通过验证才能登录网站。</translation>
@@ -429,6 +433,7 @@
 <translation id="3737319253362202215">翻译设置</translation>
 <translation id="3738139272394829648">轻触搜索</translation>
 <translation id="3739899004075612870">已在 <ph name="PRODUCT_NAME" /> 中添加书签</translation>
+<translation id="3740525748616366977">无法在此设备上使用语音搜索</translation>
 <translation id="3749259744154402564">不支持</translation>
 <translation id="3771001275138982843">无法下载此项更新</translation>
 <translation id="3771033907050503522">无痕模式标签页</translation>
@@ -437,6 +442,7 @@
 <translation id="3773856050682458546">基本数据加上您所访问网站、所用应用的有关信息</translation>
 <translation id="3775705724665058594">发送到您的设备</translation>
 <translation id="3778956594442850293">已添加到主屏幕</translation>
+<translation id="3791957072666773229">{TAB_COUNT,plural, =1{1 个标签页}other{# 个标签页}}</translation>
 <translation id="3803784507854318295">管理自动播放</translation>
 <translation id="3810838688059735925">视频</translation>
 <translation id="3810973564298564668">管理</translation>
@@ -457,6 +463,7 @@
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">无法启用语音搜索功能</translation>
 <translation id="395377504920307820">在不登录帐号的情况下使用</translation>
+<translation id="3958287878205277013">如需清除您设备中的无痕浏览记录,请关闭所有无痕式标签页。</translation>
 <translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{待准备就绪后,Chrome 即会加载您的网页}other{待准备就绪后,Chrome 即会加载您的网页}}</translation>
 <translation id="3962957115499249330">待系统能够通过可用的 Wi-Fi 开始执行这项下载操作时,您会收到通知。</translation>
 <translation id="3963007978381181125">密码加密不包括 Google Pay 中的付款方式和地址。只有知道您密码的人才能读取您的已加密数据。系统不会将该密码发送给 Google,Google 也不会存储该密码。如果您忘记了密码或想更改此设置,则需重置同步设置。<ph name="BEGIN_LINK" />了解详情<ph name="END_LINK" /></translation>
@@ -542,6 +549,7 @@
 不过,您的 Google 帐号在 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 上可能还有其他形式的浏览记录(例如,在其他 Google 服务中的搜索记录和活动记录)。</translation>
 <translation id="4532845899244822526">选择文件夹</translation>
 <translation id="4538018662093857852">开启精简模式</translation>
+<translation id="4547551584605870320">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> 个标签页}other{<ph name="TAB_COUNT_MANY" /> 个标签页,<ph name="TAB_COUNT_INCOGNITO" /> 个无痕式标签页}}</translation>
 <translation id="4550003330909367850">要想在此处查看或复制您的密码,请在此设备上设置屏幕锁定。</translation>
 <translation id="4554077758708533499">已使用 USB 线连接到手机</translation>
 <translation id="4557685098773234337">若要更快速地访问该网页,请将它添加到主屏幕</translation>
@@ -607,6 +615,7 @@
 <translation id="4885273946141277891">Chrome 实例数量已超出上限。</translation>
 <translation id="4908869848243824489">Google 探索</translation>
 <translation id="4910889077668685004">付款应用</translation>
+<translation id="4912413785358399818">移动标签页</translation>
 <translation id="4913161338056004800">重置统计信息</translation>
 <translation id="4913169188695071480">停止刷新</translation>
 <translation id="4921180162323349895">{FILE_COUNT,plural, =1{# 个网页}other{# 个网页}}</translation>
@@ -632,7 +641,9 @@
 <translation id="5039804452771397117">允许</translation>
 <translation id="5054455334322721892">当您登录后,系统可能会将<ph name="BEGIN_LINK1" />其他形式的活动记录<ph name="END_LINK1" />保存在您的 Google 帐号中。您可以随时删除这些记录。</translation>
 <translation id="5061533557687621530">若要查询天气,请点按麦克风图标并说“今天的天气如何?”</translation>
+<translation id="506254248375231072">没有任何标签页</translation>
 <translation id="5087580092889165836">添加新卡</translation>
+<translation id="5091199029769593641">不久之后,当打开新标签页时,您将看到来自<ph name="SITE_NAME" />的故事。您关注的网站会保存在您的 Google 帐号中。您可在“探索”设置中管理它们。</translation>
 <translation id="5091249083535528968">扩展的使用情况数据</translation>
 <translation id="509429900233858213">出现错误。</translation>
 <translation id="510275257476243843">还剩 1 小时</translation>
@@ -692,6 +703,7 @@
 <translation id="5454166040603940656">提供方:<ph name="PROVIDER" /></translation>
 <translation id="5456381639095306749">下载网页</translation>
 <translation id="5458366071038729214">您会在此处看到自己已关注的网站</translation>
+<translation id="5468068603361015296">您仍要下载 <ph name="FILE_NAME" /> 吗?</translation>
 <translation id="548278423535722844">在地图应用中打开</translation>
 <translation id="5483197086164197190">探索 Chrome</translation>
 <translation id="5487521232677179737">清除数据</translation>
@@ -749,6 +761,7 @@
 <translation id="5810288467834065221">版权所有 <ph name="YEAR" /> Google LLC. 保留所有权利。</translation>
 <translation id="5810864297166300463">网上协助</translation>
 <translation id="5814131985548525293">在此处输入内容或点按麦克风图标即可开始搜索</translation>
+<translation id="5814749351757353073">随时掌握您最喜爱的网站的最新动态</translation>
 <translation id="583281660410589416">未知</translation>
 <translation id="5833984609253377421">分享链接</translation>
 <translation id="5834764604050996579">如需扫描二维码,请允许 Chrome 使用您的摄像头</translation>
@@ -823,6 +836,7 @@
 
 例如:某些网站在收到该请求后,可能会向您展示相应的广告(这些广告并不是根据您访问过的其他网站而展示的)。许多网站仍会出于一些目的收集并使用您的浏览数据,例如,为了提高安全性,为了提供相关内容、广告和推荐内容,以及为了生成报告统计信息。</translation>
 <translation id="624789221780392884">有可用的更新</translation>
+<translation id="6264376385120300461">仍然下载</translation>
 <translation id="6277522088822131679">打印该页面时出现问题,请重试。</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>
@@ -880,10 +894,12 @@
 <translation id="6539092367496845964">出了点问题。请稍后重试。</translation>
 <translation id="6541983376925655882">{NUM_HOURS,plural, =1{1 小时前检查过}other{# 小时前检查过}}</translation>
 <translation id="6545017243486555795">清除所有数据</translation>
+<translation id="6546511553472444032">文件可能有害</translation>
 <translation id="6560414384669816528">改用搜狗搜索</translation>
 <translation id="656065428026159829">查看更多</translation>
 <translation id="6565959834589222080">当 Wi-Fi 可用时使用 Wi-Fi</translation>
 <translation id="6566259936974865419">Chrome 已为您保存的数据量:<ph name="GIGABYTES" /> GB</translation>
+<translation id="6569373978618239158">现在,当打开新标签页时,您会看到来自<ph name="SITE_NAME" />的故事。您关注的网站会保存在您的 Google 帐号中。您可在“探索”设置中管理它们。</translation>
 <translation id="6573096386450695060">一律允许</translation>
 <translation id="6573431926118603307">您在其他设备上的 Chrome 中打开的标签页将列在此处。</translation>
 <translation id="6583199322650523874">为当前网页添加书签</translation>
@@ -949,6 +965,7 @@
 <translation id="696447261358045621">退出无痕模式</translation>
 <translation id="6979737339423435258">时间不限</translation>
 <translation id="6981982820502123353">无障碍</translation>
+<translation id="6987047470128880212">无法在此设备上使用无痕模式</translation>
 <translation id="6989267951144302301">无法下载</translation>
 <translation id="6995899638241819463">当密码遭遇数据泄露时,发送警告</translation>
 <translation id="7001056293070445572">此文件很大 (<ph name="FILE_SIZE" />)</translation>
@@ -1026,6 +1043,7 @@
 <translation id="7482656565088326534">预览标签页</translation>
 <translation id="7484997419527351112">探索 - 已关闭</translation>
 <translation id="7485033510383818941">若要刷新 Feed 内容,请下拉页面</translation>
+<translation id="749294055653435199">无法在此设备上使用 Google 智能镜头</translation>
 <translation id="7493994139787901920"><ph name="VERSION" />(上次更新时间:<ph name="TIME_SINCE_UPDATE" />)</translation>
 <translation id="7494974237137038751">已节省的流量</translation>
 <translation id="7498271377022651285">请稍候…</translation>
@@ -1127,6 +1145,7 @@
 <translation id="8037801708772278989">刚刚检查过</translation>
 <translation id="8040831032425909005">供快速操作的搜索微件图标</translation>
 <translation id="804335162455518893">找不到 SD 卡</translation>
+<translation id="8048533522416101084">{TAB_COUNT,plural, =1{<ph name="TAB_COUNT_ONE" /> 个无痕式标签页}other{<ph name="TAB_COUNT_NORMAL" /> 个无痕式标签页}}</translation>
 <translation id="8051695050440594747"><ph name="MEGABYTES" /> MB 可用</translation>
 <translation id="8058746566562539958">在新的 Chrome 标签页中打开</translation>
 <translation id="8063895661287329888">无法添加书签。</translation>
@@ -1225,6 +1244,7 @@
 <translation id="8621068256433641644">手机</translation>
 <translation id="8636825310635137004">要访问您在其他设备上的标签页,请开启同步功能。</translation>
 <translation id="8641930654639604085">尽量屏蔽成人网站</translation>
+<translation id="864544049772947936">管理窗口(<ph name="INSTANCE_COUNTS" /> 个)</translation>
 <translation id="8655129584991699539">要清除数据,请前往 Chrome 的“设置”页面</translation>
 <translation id="8656747343598256512">使用您的 Google 帐号登录此网站和 Chrome。您可等到需要时再开启同步功能。</translation>
 <translation id="8659579665266920523">如何使用 Chrome 进行搜索</translation>
@@ -1313,6 +1333,7 @@
 <translation id="9219103736887031265">图片</translation>
 <translation id="926205370408745186">从“数字健康”应用中移除您的 Chrome 活动记录</translation>
 <translation id="927968626442779827">使用 Google Chrome 的精简模式</translation>
+<translation id="928550791203542716">已关注<ph name="SITE_NAME" /></translation>
 <translation id="932327136139879170">首页</translation>
 <translation id="938850635132480979">错误:<ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">请输入密码</translation>
diff --git a/chrome/browser/ui/ash/multi_user/multi_profile_support.cc b/chrome/browser/ui/ash/multi_user/multi_profile_support.cc
index ae5e4c5..ef21ca0 100644
--- a/chrome/browser/ui/ash/multi_user/multi_profile_support.cc
+++ b/chrome/browser/ui/ash/multi_user/multi_profile_support.cc
@@ -11,6 +11,7 @@
 #include "ash/public/cpp/multi_user_window_manager_observer.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_util.h"
+#include "chrome/browser/ash/full_restore/full_restore_service.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_manager.h"
@@ -226,8 +227,13 @@
 
 void MultiProfileSupport::OnTransitionUserShelfToNewAccount() {
   if (full_restore::features::IsFullRestoreEnabled()) {
-    full_restore::SetActiveProfilePath(
-        ProfileManager::GetActiveUserProfile()->GetPath());
+    Profile* profile = ProfileManager::GetActiveUserProfile();
+    full_restore::SetActiveProfilePath(profile->GetPath());
+
+    auto* full_restore_service =
+        ash::full_restore::FullRestoreService::GetForProfile(profile);
+    if (full_restore_service)
+      full_restore_service->OnTransitionedToNewActiveUser(profile);
   }
 
   ChromeShelfController* chrome_shelf_controller =
diff --git a/chrome/browser/ui/ash/shelf/browser_apps_tracker.cc b/chrome/browser/ui/ash/shelf/browser_apps_tracker.cc
index 3c92608..c4216c8 100644
--- a/chrome/browser/ui/ash/shelf/browser_apps_tracker.cc
+++ b/chrome/browser/ui/ash/shelf/browser_apps_tracker.cc
@@ -16,6 +16,7 @@
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/web_applications/web_app_tab_helper.h"
 #include "content/public/browser/navigation_controller.h"
 #include "content/public/browser/navigation_handle.h"
@@ -192,23 +193,17 @@
 void BrowserAppsTracker::OnWindowVisibilityChanged(aura::Window* window,
                                                    bool visible) {
   DCHECK(window);
-  // We only want to send window events for the browsers we track to avoid
-  // sending window events before a "browser added" event.
-  if (Browser* browser = FindTrackedBrowserByWindow(window)) {
-    OnBrowserWindowUpdated(browser);
+  if (auto* browser_view = BrowserView::GetBrowserViewForNativeWindow(window)) {
+    OnBrowserWindowUpdated(browser_view->browser());
   }
 }
 
 void BrowserAppsTracker::OnBrowserSetLastActive(Browser* browser) {
-  if (base::Contains(browser_to_tab_map_, browser)) {
-    OnBrowserWindowUpdated(browser);
-  }
+  OnBrowserWindowUpdated(browser);
 }
 
 void BrowserAppsTracker::OnBrowserNoLongerActive(Browser* browser) {
-  if (base::Contains(browser_to_tab_map_, browser)) {
-    OnBrowserWindowUpdated(browser);
-  }
+  OnBrowserWindowUpdated(browser);
 }
 
 void BrowserAppsTracker::OnAppUpdate(const apps::AppUpdate& update) {
@@ -410,6 +405,11 @@
 }
 
 void BrowserAppsTracker::OnBrowserWindowUpdated(Browser* browser) {
+  // We only want to send window events for the browsers we track to avoid
+  // sending window events before a "browser added" event.
+  if (!base::Contains(browser_to_tab_map_, browser)) {
+    return;
+  }
   auto it = chrome_instances_.find(browser);
   if (it != chrome_instances_.end()) {
     MaybeUpdateChromeInstance(*it->second);
@@ -422,16 +422,6 @@
   }
 }
 
-Browser* BrowserAppsTracker::FindTrackedBrowserByWindow(aura::Window* window) {
-  for (const auto& pair : browser_to_tab_map_) {
-    Browser* browser = pair.first;
-    if (browser->window() && browser->window()->GetNativeWindow() == window) {
-      return browser;
-    }
-  }
-  return nullptr;
-}
-
 void BrowserAppsTracker::CreateAppInstance(std::string app_id,
                                            Browser* browser,
                                            content::WebContents* contents) {
diff --git a/chrome/browser/ui/ash/shelf/browser_apps_tracker.h b/chrome/browser/ui/ash/shelf/browser_apps_tracker.h
index af52a387..a7eb90f 100644
--- a/chrome/browser/ui/ash/shelf/browser_apps_tracker.h
+++ b/chrome/browser/ui/ash/shelf/browser_apps_tracker.h
@@ -120,8 +120,6 @@
   // Called on browser window changes. Sends update events for all open tabs.
   void OnBrowserWindowUpdated(Browser* browser);
 
-  Browser* FindTrackedBrowserByWindow(aura::Window* window);
-
   // Creates an app instance for the app running in |WebContents|. Handles both
   // apps in tabs and windows.
   void CreateAppInstance(std::string app_id,
diff --git a/chrome/browser/ui/chrome_pages.h b/chrome/browser/ui/chrome_pages.h
index 475c80ec..197341f 100644
--- a/chrome/browser/ui/chrome_pages.h
+++ b/chrome/browser/ui/chrome_pages.h
@@ -77,6 +77,7 @@
   kFeedbackSourceChromeLabs,
   kFeedbackSourceBentoBar,
   kFeedbackSourceQuickAnswers,
+  kFeedbackSourceWhatsNew,
 
   // Must be last.
   kFeedbackSourceCount,
diff --git a/chrome/browser/ui/tabs/existing_window_sub_menu_model_chromeos.cc b/chrome/browser/ui/tabs/existing_window_sub_menu_model_chromeos.cc
index 8de5dcb..036556a 100644
--- a/chrome/browser/ui/tabs/existing_window_sub_menu_model_chromeos.cc
+++ b/chrome/browser/ui/tabs/existing_window_sub_menu_model_chromeos.cc
@@ -78,11 +78,14 @@
       continue;
 
     // Create a MenuItemInfo for this desk.
-    ExistingBaseSubMenuModel::MenuItemInfo desk_heading(
-        desks_helper_->GetDeskName(desk));
+    const std::u16string desk_name = desks_helper_->GetDeskName(desk);
+    ExistingBaseSubMenuModel::MenuItemInfo desk_heading(desk_name);
     desk_heading.may_have_mnemonics = false;
+    desk_heading.accessible_name = l10n_util::GetStringFUTF16(
+        IDS_TAB_CXMENU_GROUPED_BY_DESK_DESK_HEADING_A11Y, desk_name,
+        base::NumberToString16(desk_items.size()));
 
-    sorted_menu_items_with_headings.push_back(desk_heading);
+    sorted_menu_items_with_headings.push_back(std::move(desk_heading));
     sorted_menu_items_with_headings.insert(
         sorted_menu_items_with_headings.end(), desk_items.begin(),
         desk_items.end());
diff --git a/chrome/browser/ui/views/borealis/borealis_installer_view.cc b/chrome/browser/ui/views/borealis/borealis_installer_view.cc
index c776ef2..7f2792f 100644
--- a/chrome/browser/ui/views/borealis/borealis_installer_view.cc
+++ b/chrome/browser/ui/views/borealis/borealis_installer_view.cc
@@ -255,7 +255,6 @@
   switch (result) {
     using ResultEnum = borealis::BorealisInstallResult;
     case ResultEnum::kSuccess:
-      DCHECK_EQ(installing_state_, InstallingState::kInstallingDlc);
       state_ = State::kCompleted;
       break;
     case ResultEnum::kCancelled:
diff --git a/chrome/browser/ui/views/frame/browser_frame.cc b/chrome/browser/ui/views/frame/browser_frame.cc
index 3fca382..2c4624f 100644
--- a/chrome/browser/ui/views/frame/browser_frame.cc
+++ b/chrome/browser/ui/views/frame/browser_frame.cc
@@ -226,8 +226,15 @@
 
 const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const {
   Browser* browser = browser_view_->browser();
-  if (browser->app_controller() && !IsUsingGtkTheme(browser->profile()))
-    return browser->app_controller()->GetThemeProvider();
+  auto* app_controller = browser->app_controller();
+  // Ignore GTK+ for web apps with window-controls-overlay as the
+  // display_override so the web contents can blend with the overlay by using
+  // the developer-provided theme color for a better experience. Context:
+  // https://crbug.com/1219073.
+  if (app_controller && (!IsUsingGtkTheme(browser->profile()) ||
+                         app_controller->AppUsesWindowControlsOverlay())) {
+    return app_controller->GetThemeProvider();
+  }
   return &ThemeService::GetThemeProviderForProfile(browser->profile());
 }
 
@@ -359,8 +366,14 @@
   }
 
 #if defined(OS_LINUX)
-  if (const views::LinuxUI* linux_ui = views::LinuxUI::instance())
+  const views::LinuxUI* linux_ui = views::LinuxUI::instance();
+  // Ignore GTK+ for web apps with window-controls-overlay as the
+  // display_override so the web contents can blend with the overlay by using
+  // the developer-provided theme color for a better experience. Context:
+  // https://crbug.com/1219073.
+  if (linux_ui && !browser_view_->AppUsesWindowControlsOverlay()) {
     native_theme = linux_ui->GetNativeTheme(GetNativeWindow());
+  }
 #endif
 
   SetNativeTheme(native_theme);
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc
index 375153b..655edd7 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc
@@ -20,6 +20,7 @@
 #include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.h"
 #include "chrome/browser/ui/views/frame/browser_frame_view_linux.h"
 #include "chrome/browser/ui/views/frame/browser_frame_view_linux_native.h"
+#include "chrome/browser/ui/web_applications/app_browser_controller.h"
 #include "ui/views/linux_ui/linux_ui.h"
 #include "ui/views/linux_ui/nav_button_provider.h"
 #endif
@@ -35,7 +36,13 @@
   auto* linux_ui = views::LinuxUI::instance();
   auto* profile = browser_view->browser()->profile();
   auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile);
-  if (linux_ui && theme_service_factory->UsingSystemTheme()) {
+  auto* app_controller = browser_view->browser()->app_controller();
+  // Ignore GTK+ for web apps with window-controls-overlay as the
+  // display_override so the web contents can blend with the overlay by using
+  // the developer-provided theme color for a better experience. Context:
+  // https://crbug.com/1219073.
+  if (linux_ui && theme_service_factory->UsingSystemTheme() &&
+      !(app_controller && app_controller->AppUsesWindowControlsOverlay())) {
     auto nav_button_provider = linux_ui->CreateNavButtonProvider();
     if (nav_button_provider) {
       return std::make_unique<BrowserFrameViewLinuxNative>(
diff --git a/chrome/browser/ui/views/payments/secure_payment_confirmation_no_creds_dialog_view.cc b/chrome/browser/ui/views/payments/secure_payment_confirmation_no_creds_dialog_view.cc
index d55a9f5..99acf9b 100644
--- a/chrome/browser/ui/views/payments/secure_payment_confirmation_no_creds_dialog_view.cc
+++ b/chrome/browser/ui/views/payments/secure_payment_confirmation_no_creds_dialog_view.cc
@@ -54,6 +54,9 @@
   SetAcceptCallback(base::BindOnce(
       &SecurePaymentConfirmationNoCredsDialogView::OnDialogClosed,
       weak_ptr_factory_.GetWeakPtr()));
+  SetCloseCallback(base::BindOnce(
+      &SecurePaymentConfirmationNoCredsDialogView::OnDialogClosed,
+      weak_ptr_factory_.GetWeakPtr()));
 
   SetModalType(ui::MODAL_TYPE_CHILD);
 
@@ -79,7 +82,11 @@
 }
 
 void SecurePaymentConfirmationNoCredsDialogView::OnDialogClosed() {
-  std::move(response_callback_).Run();
+  auto callback = std::move(response_callback_);
+  if (!callback)
+    return;
+
+  std::move(callback).Run();
   HideDialog();
 
   if (observer_for_test_)
diff --git a/chrome/browser/ui/web_applications/test/web_app_browsertest_util.cc b/chrome/browser/ui/web_applications/test/web_app_browsertest_util.cc
index 9842d22..4ea30b4 100644
--- a/chrome/browser/ui/web_applications/test/web_app_browsertest_util.cc
+++ b/chrome/browser/ui/web_applications/test/web_app_browsertest_util.cc
@@ -37,6 +37,7 @@
 #include "chrome/browser/web_applications/web_app_icon_manager.h"
 #include "chrome/browser/web_applications/web_app_install_finalizer.h"
 #include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/browser/web_applications/web_app_tab_helper.h"
@@ -108,8 +109,7 @@
     content::WebContents* initiator_web_contents,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     ForInstallableSite for_installable_site,
-    WebAppInstallManager::WebAppInstallationAcceptanceCallback
-        acceptance_callback) {
+    WebAppInstallationAcceptanceCallback acceptance_callback) {
   web_app_info->open_as_window = true;
   std::move(acceptance_callback)
       .Run(
diff --git a/chrome/browser/ui/web_applications/web_app_dialog_utils.cc b/chrome/browser/ui/web_applications/web_app_dialog_utils.cc
index 0f2fd9a..6d6e502 100644
--- a/chrome/browser/ui/web_applications/web_app_dialog_utils.cc
+++ b/chrome/browser/ui/web_applications/web_app_dialog_utils.cc
@@ -22,6 +22,7 @@
 #include "chrome/browser/web_applications/components/web_app_utils.h"
 #include "chrome/browser/web_applications/components/web_application_info.h"
 #include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "components/webapps/browser/banners/app_banner_manager.h"
 #include "components/webapps/browser/installable/installable_metrics.h"
@@ -31,14 +32,13 @@
 
 namespace {
 
-void WebAppInstallDialogCallback(
+void OnWebAppInstallShowInstallDialog(
     webapps::WebappInstallSource install_source,
     chrome::PwaInProductHelpState iph_state,
     content::WebContents* initiator_web_contents,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     ForInstallableSite for_installable_site,
-    WebAppInstallManager::WebAppInstallationAcceptanceCallback
-        web_app_acceptance_callback) {
+    WebAppInstallationAcceptanceCallback web_app_acceptance_callback) {
   DCHECK(web_app_info);
   if (for_installable_site == ForInstallableSite::kYes) {
     web_app_info->open_as_window = true;
@@ -112,7 +112,7 @@
 
   provider->install_manager().InstallWebAppFromManifestWithFallback(
       web_contents, force_shortcut_app, install_source,
-      base::BindOnce(WebAppInstallDialogCallback, install_source,
+      base::BindOnce(OnWebAppInstallShowInstallDialog, install_source,
                      chrome::PwaInProductHelpState::kNotShown),
       base::BindOnce(OnWebAppInstalled, std::move(callback)));
 }
@@ -128,7 +128,8 @@
 
   provider->install_manager().InstallWebAppFromManifest(
       web_contents, bypass_service_worker_check, install_source,
-      base::BindOnce(WebAppInstallDialogCallback, install_source, iph_state),
+      base::BindOnce(OnWebAppInstallShowInstallDialog, install_source,
+                     iph_state),
       base::BindOnce(OnWebAppInstalled, std::move(installed_callback)));
   return true;
 }
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
index 425d901..041ca8da 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
@@ -323,6 +323,7 @@
       page_factory_receiver_(this),
       customize_themes_factory_receiver_(this),
       most_visited_page_factory_receiver_(this),
+      browser_command_factory_receiver_(this),
       profile_(Profile::FromWebUI(web_ui)),
       instant_service_(InstantServiceFactory::GetForProfile(profile_)),
       web_contents_(web_ui->GetWebContents()),
@@ -425,10 +426,11 @@
 }
 
 void NewTabPageUI::BindInterface(
-    mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
-        pending_page_handler) {
-  promo_browser_command_handler_ = std::make_unique<PromoBrowserCommandHandler>(
-      std::move(pending_page_handler), profile_);
+    mojo::PendingReceiver<promo_browser_command::mojom::CommandHandlerFactory>
+        pending_receiver) {
+  if (browser_command_factory_receiver_.is_bound())
+    browser_command_factory_receiver_.reset();
+  browser_command_factory_receiver_.Bind(std::move(pending_receiver));
 }
 
 void NewTabPageUI::BindInterface(
@@ -505,6 +507,18 @@
       profile_);
 }
 
+void NewTabPageUI::CreateBrowserCommandHandler(
+    mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
+        pending_handler) {
+  using promo_browser_command::mojom::Command;
+  std::vector<Command> supported_commands = {
+      Command::kOpenSafetyCheck,
+      Command::kOpenSafeBrowsingEnhancedProtectionSettings,
+  };
+  promo_browser_command_handler_ = std::make_unique<PromoBrowserCommandHandler>(
+      std::move(pending_handler), profile_, supported_commands);
+}
+
 void NewTabPageUI::CreatePageHandler(
     mojo::PendingRemote<most_visited::mojom::MostVisitedPage> pending_page,
     mojo::PendingReceiver<most_visited::mojom::MostVisitedPageHandler>
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h
index b501b62..bde0b3dc 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h
@@ -10,7 +10,7 @@
 #include "chrome/browser/new_tab_page/modules/drive/drive.mojom.h"
 #include "chrome/browser/new_tab_page/modules/photos/photos.mojom.h"
 #include "chrome/browser/new_tab_page/modules/task_module/task_module.mojom.h"
-#include "chrome/browser/promo_browser_command/promo_browser_command.mojom-forward.h"
+#include "chrome/browser/promo_browser_command/promo_browser_command.mojom.h"
 #include "chrome/browser/search/instant_service_observer.h"
 #if !defined(OFFICIAL_BUILD)
 #include "chrome/browser/ui/webui/new_tab_page/foo/foo.mojom.h"  // nogncheck crbug.com/1125897
@@ -61,6 +61,7 @@
       public new_tab_page::mojom::PageHandlerFactory,
       public customize_themes::mojom::CustomizeThemesHandlerFactory,
       public most_visited::mojom::MostVisitedPageHandlerFactory,
+      public promo_browser_command::mojom::CommandHandlerFactory,
       public InstantServiceObserver,
       content::WebContentsObserver {
  public:
@@ -84,10 +85,10 @@
       mojo::PendingReceiver<realbox::mojom::PageHandler> pending_page_handler);
 
   // Instantiates the implementor of the
-  // promo_browser_command::mojom::CommandHandler mojo interface passing the
-  // pending receiver that will be internally bound.
+  // promo_browser_command::mojom::CommandHandlerFactory mojo interface passing
+  // the pending receiver that will be internally bound.
   void BindInterface(
-      mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
+      mojo::PendingReceiver<promo_browser_command::mojom::CommandHandlerFactory>
           pending_receiver);
 
   // Instantiates the implementor of the
@@ -150,6 +151,11 @@
       mojo::PendingReceiver<customize_themes::mojom::CustomizeThemesHandler>
           pending_handler) override;
 
+  // promo_browser_command::mojom::CommandHandlerFactory
+  void CreateBrowserCommandHandler(
+      mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
+          pending_handler) override;
+
   // most_visited::mojom::MostVisitedPageHandlerFactory:
   void CreatePageHandler(
       mojo::PendingRemote<most_visited::mojom::MostVisitedPage> pending_page,
@@ -188,6 +194,8 @@
   mojo::Receiver<most_visited::mojom::MostVisitedPageHandlerFactory>
       most_visited_page_factory_receiver_;
   std::unique_ptr<PromoBrowserCommandHandler> promo_browser_command_handler_;
+  mojo::Receiver<promo_browser_command::mojom::CommandHandlerFactory>
+      browser_command_factory_receiver_;
   std::unique_ptr<RealboxHandler> realbox_handler_;
 #if !defined(OFFICIAL_BUILD)
   std::unique_ptr<FooHandler> foo_handler_;
diff --git a/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.cc b/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.cc
index 7df5422d..b05d2c4 100644
--- a/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.cc
+++ b/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.cc
@@ -4,10 +4,8 @@
 
 #include "chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.h"
 
-#include "base/feature_list.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/user_metrics.h"
-#include "chrome/browser/browser_features.h"
 #include "chrome/browser/command_updater_impl.h"
 #include "chrome/browser/enterprise/util/managed_browser_utils.h"
 #include "chrome/browser/new_tab_page/promos/promo_service.h"
@@ -32,46 +30,63 @@
 
 PromoBrowserCommandHandler::PromoBrowserCommandHandler(
     mojo::PendingReceiver<CommandHandler> pending_page_handler,
-    Profile* profile)
+    Profile* profile,
+    std::vector<promo_browser_command::mojom::Command> supported_commands)
     : profile_(profile),
+      supported_commands_(supported_commands),
       command_updater_(std::make_unique<CommandUpdaterImpl>(this)),
       page_handler_(this, std::move(pending_page_handler)) {
-  if (!base::FeatureList::IsEnabled(features::kPromoBrowserCommands))
+  if (supported_commands_.empty())
     return;
-  EnableCommands();
+
+  EnableSupportedCommands();
 }
 
 PromoBrowserCommandHandler::~PromoBrowserCommandHandler() = default;
 
-void PromoBrowserCommandHandler::CanShowPromoWithCommand(
+void PromoBrowserCommandHandler::CanExecuteCommand(
     promo_browser_command::mojom::Command command_id,
-    CanShowPromoWithCommandCallback callback) {
-  bool can_show = false;
+    CanExecuteCommandCallback callback) {
+  if (!base::Contains(supported_commands_, command_id)) {
+    std::move(callback).Run(false);
+    return;
+  }
+
+  bool can_execute = false;
   switch (static_cast<Command>(command_id)) {
     case Command::kUnknownCommand:
       // Nothing to do.
       break;
     case Command::kOpenSafetyCheck:
-      can_show = !chrome::enterprise_util::HasBrowserPoliciesApplied(profile_);
+      can_execute =
+          !chrome::enterprise_util::HasBrowserPoliciesApplied(profile_);
       break;
     case Command::kOpenSafeBrowsingEnhancedProtectionSettings: {
       bool managed = safe_browsing::SafeBrowsingPolicyHandler::
           IsSafeBrowsingProtectionLevelSetByPolicy(profile_->GetPrefs());
       bool already_enabled =
           safe_browsing::IsEnhancedProtectionEnabled(*(profile_->GetPrefs()));
-      can_show = !managed && !already_enabled;
+      can_execute = !managed && !already_enabled;
     } break;
+    case Command::kOpenFeedbackForm:
+      can_execute = true;
+      break;
     default:
       NOTREACHED() << "Unspecified behavior for command " << command_id;
       break;
   }
-  std::move(callback).Run(can_show);
+  std::move(callback).Run(can_execute);
 }
 
 void PromoBrowserCommandHandler::ExecuteCommand(
     Command command_id,
     ClickInfoPtr click_info,
     ExecuteCommandCallback callback) {
+  if (!base::Contains(supported_commands_, command_id)) {
+    std::move(callback).Run(false);
+    return;
+  }
+
   const auto disposition = ui::DispositionFromClick(
       click_info->middle_button, click_info->alt_key, click_info->ctrl_key,
       click_info->meta_key, click_info->shift_key);
@@ -104,21 +119,36 @@
       base::RecordAction(
           base::UserMetricsAction("NewTabPage_Promos_EnhancedProtection"));
       break;
+    case Command::kOpenFeedbackForm:
+      OpenFeedbackForm();
+      break;
     default:
       NOTREACHED() << "Unspecified behavior for command " << id;
       break;
   }
 }
 
-void PromoBrowserCommandHandler::EnableCommands() {
+void PromoBrowserCommandHandler::OpenFeedbackForm() {
+  chrome::ShowFeedbackPage(feedback_settings_.url, profile_,
+                           feedback_settings_.source,
+                           std::string() /* description_template */,
+                           std::string() /* description_placeholder_text */,
+                           feedback_settings_.category /* category_tag */,
+                           std::string() /* extra_diagnostics */);
+}
+
+void PromoBrowserCommandHandler::ConfigureFeedbackCommand(
+    FeedbackCommandSettings settings) {
+  feedback_settings_ = settings;
+}
+
+void PromoBrowserCommandHandler::EnableSupportedCommands() {
   // Explicitly enable supported commands.
   GetCommandUpdater()->UpdateCommandEnabled(
       static_cast<int>(Command::kUnknownCommand), true);
-  GetCommandUpdater()->UpdateCommandEnabled(
-      static_cast<int>(Command::kOpenSafetyCheck), true);
-  GetCommandUpdater()->UpdateCommandEnabled(
-      static_cast<int>(Command::kOpenSafeBrowsingEnhancedProtectionSettings),
-      true);
+  for (Command command : supported_commands_) {
+    GetCommandUpdater()->UpdateCommandEnabled(static_cast<int>(command), true);
+  }
 }
 
 CommandUpdater* PromoBrowserCommandHandler::GetCommandUpdater() {
diff --git a/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.h b/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.h
index 100875c..261f087b 100644
--- a/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.h
+++ b/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.h
@@ -9,15 +9,31 @@
 
 #include "chrome/browser/command_updater_delegate.h"
 #include "chrome/browser/promo_browser_command/promo_browser_command.mojom.h"
+#include "chrome/browser/ui/chrome_pages.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "ui/base/window_open_disposition.h"
+#include "url/gurl.h"
 
 class CommandUpdater;
-class GURL;
 class Profile;
 
-// Handles promo browser commands send from JS.
+// Struct containing the information needed to customize/configure the feedback
+// form. Used to populate arguments passed to chrome::ShowFeedbackPage().
+struct FeedbackCommandSettings {
+  FeedbackCommandSettings() = default;
+
+  FeedbackCommandSettings(const GURL& url,
+                          chrome::FeedbackSource source,
+                          std::string category)
+      : url(url), source(source), category(category) {}
+
+  GURL url;
+  chrome::FeedbackSource source = chrome::kFeedbackSourceCount;
+  std::string category;
+};
+
+// Handles browser commands send from JS.
 class PromoBrowserCommandHandler
     : public CommandUpdaterDelegate,
       public promo_browser_command::mojom::CommandHandler {
@@ -27,13 +43,13 @@
   PromoBrowserCommandHandler(
       mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
           pending_page_handler,
-      Profile* profile);
+      Profile* profile,
+      std::vector<promo_browser_command::mojom::Command> supported_commands);
   ~PromoBrowserCommandHandler() override;
 
   // promo_browser_command::mojom::CommandHandler:
-  void CanShowPromoWithCommand(
-      promo_browser_command::mojom::Command command_id,
-      CanShowPromoWithCommandCallback callback) override;
+  void CanExecuteCommand(promo_browser_command::mojom::Command command_id,
+                         CanExecuteCommandCallback callback) override;
   void ExecuteCommand(promo_browser_command::mojom::Command command_id,
                       promo_browser_command::mojom::ClickInfoPtr click_info,
                       ExecuteCommandCallback callback) override;
@@ -43,16 +59,21 @@
       int command_id,
       WindowOpenDisposition disposition) override;
 
+  void ConfigureFeedbackCommand(FeedbackCommandSettings settings);
+
  protected:
-  void EnableCommands();
+  void EnableSupportedCommands();
 
   virtual CommandUpdater* GetCommandUpdater();
 
  private:
   virtual void NavigateToURL(const GURL& url,
                              WindowOpenDisposition disposition);
+  virtual void OpenFeedbackForm();
 
+  FeedbackCommandSettings feedback_settings_;
   Profile* profile_;
+  std::vector<promo_browser_command::mojom::Command> supported_commands_;
   std::unique_ptr<CommandUpdater> command_updater_;
   mojo::Receiver<promo_browser_command::mojom::CommandHandler> page_handler_;
 };
diff --git a/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler_unittest.cc b/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler_unittest.cc
index 6432799..94b46535 100644
--- a/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler_unittest.cc
+++ b/chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler_unittest.cc
@@ -31,11 +31,19 @@
 
 namespace {
 
+std::vector<Command> supported_commands = {
+    Command::kUnknownCommand,  // Included for SupportedCommands test
+    Command::kOpenSafetyCheck,
+    Command::kOpenSafeBrowsingEnhancedProtectionSettings,
+    Command::kOpenFeedbackForm,
+};
+
 class TestCommandHandler : public PromoBrowserCommandHandler {
  public:
   explicit TestCommandHandler(Profile* profile)
       : PromoBrowserCommandHandler(mojo::PendingReceiver<CommandHandler>(),
-                                   profile) {}
+                                   profile,
+                                   supported_commands) {}
   ~TestCommandHandler() override = default;
 
   void NavigateToURL(const GURL&, WindowOpenDisposition) override {
@@ -43,6 +51,11 @@
     // in a unittest.
   }
 
+  void OpenFeedbackForm() override {
+    // The functionality of opening the feedback form is removed, as it cannot
+    // be executed in a unittes.
+  }
+
   CommandUpdater* GetCommandUpdater() override {
     if (command_updater_)
       return command_updater_.get();
@@ -52,7 +65,7 @@
   void SetCommandUpdater(std::unique_ptr<CommandUpdater> command_updater) {
     command_updater_ = std::move(command_updater);
     // Ensure that all commands are also updated in the new |command_updater|.
-    EnableCommands();
+    EnableSupportedCommands();
   }
 
   std::unique_ptr<CommandUpdater> command_updater_;
@@ -64,6 +77,8 @@
   ~MockCommandHandler() override = default;
 
   MOCK_METHOD2(NavigateToURL, void(const GURL&, WindowOpenDisposition));
+
+  MOCK_METHOD0(OpenFeedbackForm, void());
 };
 
 class MockCommandUpdater : public CommandUpdaterImpl {
@@ -77,10 +92,10 @@
 };
 
 // Callback used for testing
-// PromoBrowserCommandHandler::CanShowPromoWithCommand().
-void CanShowPromoWithCommandCallback(base::OnceClosure quit_closure,
-                                     bool* expected_can_show,
-                                     bool can_show) {
+// PromoBrowserCommandHandler::CanExecuteCommand().
+void CanExecuteCommandCallback(base::OnceClosure quit_closure,
+                               bool* expected_can_show,
+                               bool can_show) {
   *expected_can_show = can_show;
   std::move(quit_closure).Run();
 }
@@ -117,11 +132,11 @@
         command_handler_->GetCommandUpdater());
   }
 
-  bool CanShowPromoWithCommand(Command command_id) {
+  bool CanExecuteCommand(Command command_id) {
     base::RunLoop run_loop;
     bool can_show = false;
-    command_handler_->CanShowPromoWithCommand(
-        command_id, base::BindOnce(&CanShowPromoWithCommandCallback,
+    command_handler_->CanExecuteCommand(
+        command_id, base::BindOnce(&CanExecuteCommandCallback,
                                    run_loop.QuitClosure(), &can_show));
     run_loop.Run();
     return can_show;
@@ -186,35 +201,17 @@
       PromoBrowserCommandHandler::kPromoBrowserCommandHistogramName, 0, 1);
 }
 
-TEST_F(PromoBrowserCommandHandlerTest, DisableHandlingCommands) {
-  base::HistogramTester histogram_tester;
-
-  // Disabling features::kPromoBrowserCommands prevents the commands from being
-  // executed.
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndDisableFeature(features::kPromoBrowserCommands);
-
-  // The PromoBrowserCommandHandler instance needs to be recreated for the
-  // feature to take effect.
-  command_handler_ = std::make_unique<MockCommandHandler>(&profile_);
-
-  EXPECT_FALSE(ExecuteCommand(Command::kUnknownCommand, ClickInfo::New()));
-  histogram_tester.ExpectTotalCount(
-      PromoBrowserCommandHandler::kPromoBrowserCommandHistogramName, 0);
-}
-
-TEST_F(PromoBrowserCommandHandlerTest,
-       CanShowPromoWithCommand_OpenSafetyCheck) {
+TEST_F(PromoBrowserCommandHandlerTest, CanExecuteCommand_OpenSafetyCheck) {
   // By default, showing the Safety Check promo is allowed.
-  EXPECT_TRUE(CanShowPromoWithCommand(
-      Command::kOpenSafeBrowsingEnhancedProtectionSettings));
+  EXPECT_TRUE(
+      CanExecuteCommand(Command::kOpenSafeBrowsingEnhancedProtectionSettings));
 
   // If the browser is managed, showing the Safety Check promo is not allowed.
   TestingProfile::Builder builder;
   builder.OverridePolicyConnectorIsManagedForTesting(true);
   std::unique_ptr<TestingProfile> profile = builder.Build();
   command_handler_ = std::make_unique<MockCommandHandler>(profile.get());
-  EXPECT_FALSE(CanShowPromoWithCommand(Command::kOpenSafetyCheck));
+  EXPECT_FALSE(CanExecuteCommand(Command::kOpenSafetyCheck));
 }
 
 TEST_F(PromoBrowserCommandHandlerTest, OpenSafetyCheckCommand) {
@@ -232,8 +229,8 @@
 
 TEST_F(PromoBrowserCommandHandlerTest,
        CanShowSafeBrowsingEnhancedProtectionCommandPromo_NoPolicies) {
-  EXPECT_TRUE(CanShowPromoWithCommand(
-      Command::kOpenSafeBrowsingEnhancedProtectionSettings));
+  EXPECT_TRUE(
+      CanExecuteCommand(Command::kOpenSafeBrowsingEnhancedProtectionSettings));
 }
 
 TEST_F(
@@ -245,8 +242,8 @@
       prefs::kSafeBrowsingEnhanced, std::make_unique<base::Value>(true));
   command_handler_ = std::make_unique<MockCommandHandler>(profile.get());
 
-  EXPECT_FALSE(CanShowPromoWithCommand(
-      Command::kOpenSafeBrowsingEnhancedProtectionSettings));
+  EXPECT_FALSE(
+      CanExecuteCommand(Command::kOpenSafeBrowsingEnhancedProtectionSettings));
 }
 
 TEST_F(
@@ -260,8 +257,8 @@
       prefs::kSafeBrowsingEnhanced, std::make_unique<base::Value>(false));
   command_handler_ = std::make_unique<MockCommandHandler>(profile.get());
 
-  EXPECT_FALSE(CanShowPromoWithCommand(
-      Command::kOpenSafeBrowsingEnhancedProtectionSettings));
+  EXPECT_FALSE(
+      CanExecuteCommand(Command::kOpenSafeBrowsingEnhancedProtectionSettings));
 }
 
 TEST_F(
@@ -275,8 +272,8 @@
       prefs::kSafeBrowsingEnhanced, std::make_unique<base::Value>(false));
   command_handler_ = std::make_unique<MockCommandHandler>(profile.get());
 
-  EXPECT_FALSE(CanShowPromoWithCommand(
-      Command::kOpenSafeBrowsingEnhancedProtectionSettings));
+  EXPECT_FALSE(
+      CanExecuteCommand(Command::kOpenSafeBrowsingEnhancedProtectionSettings));
 }
 
 TEST_F(
@@ -290,8 +287,8 @@
       prefs::kSafeBrowsingEnhanced, std::make_unique<base::Value>(true));
   command_handler_ = std::make_unique<MockCommandHandler>(profile.get());
 
-  EXPECT_FALSE(CanShowPromoWithCommand(
-      Command::kOpenSafeBrowsingEnhancedProtectionSettings));
+  EXPECT_FALSE(
+      CanExecuteCommand(Command::kOpenSafeBrowsingEnhancedProtectionSettings));
 }
 
 TEST_F(PromoBrowserCommandHandlerTest,
@@ -310,3 +307,10 @@
   EXPECT_TRUE(ExecuteCommand(
       Command::kOpenSafeBrowsingEnhancedProtectionSettings, std::move(info)));
 }
+
+TEST_F(PromoBrowserCommandHandlerTest, OpenFeedbackFormCommand) {
+  // Open feedback form command calls open feedback form.
+  ClickInfoPtr info = ClickInfo::New();
+  EXPECT_CALL(*command_handler_, OpenFeedbackForm());
+  EXPECT_TRUE(ExecuteCommand(Command::kOpenFeedbackForm, std::move(info)));
+}
diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
index d471bfa..0afe8f6 100644
--- a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
+++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
@@ -56,6 +56,8 @@
 #include "chrome/browser/web_applications/extensions/bookmark_app_util.h"
 #include "chrome/browser/web_applications/web_app_icon_manager.h"
 #include "chrome/browser/web_applications/web_app_install_finalizer.h"
+#include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/common/buildflags.h"
@@ -1193,7 +1195,7 @@
 
   attempting_web_app_install_page_ordinal_ = install_info->page_ordinal;
 
-  web_app::WebAppInstallManager::OnceInstallCallback install_complete_callback =
+  web_app::OnceInstallCallback install_complete_callback =
       base::BindOnce(
           [](base::WeakPtr<AppLauncherHandler> app_launcher_handler,
              const web_app::AppId& app_id,
diff --git a/chrome/browser/ui/webui/whats_new/whats_new_ui.cc b/chrome/browser/ui/webui/whats_new/whats_new_ui.cc
index fe5726a..be3b787 100644
--- a/chrome/browser/ui/webui/whats_new/whats_new_ui.cc
+++ b/chrome/browser/ui/webui/whats_new/whats_new_ui.cc
@@ -7,8 +7,10 @@
 #include "base/feature_list.h"
 #include "base/strings/stringprintf.h"
 #include "base/version.h"
+#include "chrome/browser/browser_features.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/ui_features.h"
+#include "chrome/browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler.h"
 #include "chrome/browser/ui/webui/webui_util.h"
 #include "chrome/browser/ui/webui/whats_new/whats_new_handler.h"
 #include "chrome/browser/ui/webui/whats_new/whats_new_util.h"
@@ -56,6 +58,15 @@
   registry->RegisterIntegerPref(prefs::kLastWhatsNewVersion, 0);
 }
 
+WhatsNewUI::WhatsNewUI(content::WebUI* web_ui)
+    : ui::MojoWebUIController(web_ui, /*enable_chrome_send=*/true),
+      browser_command_factory_receiver_(this),
+      profile_(Profile::FromWebUI(web_ui)) {
+  content::WebUIDataSource* source = CreateWhatsNewUIHtmlSource(profile_);
+  content::WebUIDataSource::Add(profile_, source);
+  web_ui->AddMessageHandler(std::make_unique<WhatsNewHandler>());
+}
+
 // static
 base::RefCountedMemory* WhatsNewUI::GetFaviconResourceBytes(
     ui::ResourceScaleFactor scale_factor) {
@@ -64,11 +75,26 @@
           IDR_NTP_FAVICON, scale_factor));
 }
 
-WhatsNewUI::WhatsNewUI(content::WebUI* web_ui) : WebUIController(web_ui) {
-  content::WebUIDataSource* source =
-      CreateWhatsNewUIHtmlSource(Profile::FromWebUI(web_ui));
-  content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), source);
-  web_ui->AddMessageHandler(std::make_unique<WhatsNewHandler>());
+WEB_UI_CONTROLLER_TYPE_IMPL(WhatsNewUI)
+
+void WhatsNewUI::BindInterface(
+    mojo::PendingReceiver<promo_browser_command::mojom::CommandHandlerFactory>
+        pending_receiver) {
+  if (browser_command_factory_receiver_.is_bound())
+    browser_command_factory_receiver_.reset();
+  browser_command_factory_receiver_.Bind(std::move(pending_receiver));
+}
+
+void WhatsNewUI::CreateBrowserCommandHandler(
+    mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
+        pending_handler) {
+  std::vector<promo_browser_command::mojom::Command> supported_commands = {
+      promo_browser_command::mojom::Command::kOpenFeedbackForm};
+  command_handler_ = std::make_unique<PromoBrowserCommandHandler>(
+      std::move(pending_handler), profile_, supported_commands);
+  command_handler_->ConfigureFeedbackCommand(
+      {GURL(chrome::kChromeUIWhatsNewURL), chrome::kFeedbackSourceWhatsNew,
+       "whats-new-page"});
 }
 
 WhatsNewUI::~WhatsNewUI() = default;
diff --git a/chrome/browser/ui/webui/whats_new/whats_new_ui.h b/chrome/browser/ui/webui/whats_new/whats_new_ui.h
index 045fde50..f97d13c 100644
--- a/chrome/browser/ui/webui/whats_new/whats_new_ui.h
+++ b/chrome/browser/ui/webui/whats_new/whats_new_ui.h
@@ -6,8 +6,12 @@
 #define CHROME_BROWSER_UI_WEBUI_WHATS_NEW_WHATS_NEW_UI_H_
 
 #include "base/macros.h"
-#include "content/public/browser/web_ui_controller.h"
+#include "chrome/browser/promo_browser_command/promo_browser_command.mojom.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "ui/base/resource/scale_factor.h"
+#include "ui/webui/mojo_web_ui_controller.h"
 
 namespace base {
 class RefCountedMemory;
@@ -17,10 +21,13 @@
 class WebUI;
 }
 
+class PromoBrowserCommandHandler;
 class PrefRegistrySimple;
+class Profile;
 
 // The Web UI controller for the chrome://whats-new page.
-class WhatsNewUI : public content::WebUIController {
+class WhatsNewUI : public ui::MojoWebUIController,
+                   public promo_browser_command::mojom::CommandHandlerFactory {
  public:
   explicit WhatsNewUI(content::WebUI* web_ui);
   ~WhatsNewUI() override;
@@ -30,8 +37,25 @@
   static base::RefCountedMemory* GetFaviconResourceBytes(
       ui::ResourceScaleFactor scale_factor);
 
+  // Instantiates the implementor of the
+  // promo_browser_command::mojom::CommandHandlerFactory mojo interface.
+  void BindInterface(
+      mojo::PendingReceiver<promo_browser_command::mojom::CommandHandlerFactory>
+          pending_receiver);
+
   WhatsNewUI(const WhatsNewUI&) = delete;
   WhatsNewUI& operator=(const WhatsNewUI&) = delete;
+
+ private:
+  // promo_browser_command::mojom::CommandHandlerFactory
+  void CreateBrowserCommandHandler(
+      mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
+          pending_handler) override;
+  std::unique_ptr<PromoBrowserCommandHandler> command_handler_;
+  mojo::Receiver<promo_browser_command::mojom::CommandHandlerFactory>
+      browser_command_factory_receiver_;
+  Profile* profile_;
+  WEB_UI_CONTROLLER_TYPE_DECL();
 };
 
 #endif  // CHROME_BROWSER_UI_WEBUI_WHATS_NEW_WHATS_NEW_UI_H_
diff --git a/chrome/browser/ui/webui/whats_new/whats_new_util.cc b/chrome/browser/ui/webui/whats_new/whats_new_util.cc
index ebfc546..288e44c 100644
--- a/chrome/browser/ui/webui/whats_new/whats_new_util.cc
+++ b/chrome/browser/ui/webui/whats_new/whats_new_util.cc
@@ -10,8 +10,8 @@
 #include "components/prefs/pref_service.h"
 
 namespace whats_new {
-const char kChromeWhatsNewURL[] = "https://www.google.com/chrome/whatsnew/";
-const char kChromeWhatsNewURLShort[] = "google.com/chrome/whatsnew/";
+const char kChromeWhatsNewURL[] = "https://www.google.com/chrome/whats-new/";
+const char kChromeWhatsNewURLShort[] = "google.com/chrome/whats-new/";
 
 bool g_force_enable_for_tests = false;
 
diff --git a/chrome/browser/web_applications/BUILD.gn b/chrome/browser/web_applications/BUILD.gn
index f6e9b90..c31b3582 100644
--- a/chrome/browser/web_applications/BUILD.gn
+++ b/chrome/browser/web_applications/BUILD.gn
@@ -145,6 +145,8 @@
     "web_app_install_finalizer.h",
     "web_app_install_manager.cc",
     "web_app_install_manager.h",
+    "web_app_install_params.cc",
+    "web_app_install_params.h",
     "web_app_install_task.cc",
     "web_app_install_task.h",
     "web_app_installation_utils.cc",
diff --git a/chrome/browser/web_applications/components/external_install_options.cc b/chrome/browser/web_applications/components/external_install_options.cc
index 0da3b0f..acc260a 100644
--- a/chrome/browser/web_applications/components/external_install_options.cc
+++ b/chrome/browser/web_applications/components/external_install_options.cc
@@ -154,9 +154,9 @@
   return root;
 }
 
-WebAppInstallManager::InstallParams ConvertExternalInstallOptionsToParams(
+WebAppInstallParams ConvertExternalInstallOptionsToParams(
     const ExternalInstallOptions& install_options) {
-  WebAppInstallManager::InstallParams params;
+  WebAppInstallParams params;
 
   params.user_display_mode = install_options.user_display_mode;
 
diff --git a/chrome/browser/web_applications/components/external_install_options.h b/chrome/browser/web_applications/components/external_install_options.h
index 56033a8..9c1b63bf 100644
--- a/chrome/browser/web_applications/components/external_install_options.h
+++ b/chrome/browser/web_applications/components/external_install_options.h
@@ -13,7 +13,7 @@
 #include "chrome/browser/web_applications/components/web_app_id.h"
 #include "chrome/browser/web_applications/components/web_application_info.h"
 #include "chrome/browser/web_applications/system_web_apps/system_web_app_types.h"
-#include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "url/gurl.h"
 
@@ -187,7 +187,7 @@
   bool disable_if_touchscreen_with_stylus_not_supported = false;
 };
 
-WebAppInstallManager::InstallParams ConvertExternalInstallOptionsToParams(
+WebAppInstallParams ConvertExternalInstallOptionsToParams(
     const ExternalInstallOptions& install_options);
 
 }  // namespace web_app
diff --git a/chrome/browser/web_applications/manifest_update_manager_browsertest.cc b/chrome/browser/web_applications/manifest_update_manager_browsertest.cc
index e669f43..6473014 100644
--- a/chrome/browser/web_applications/manifest_update_manager_browsertest.cc
+++ b/chrome/browser/web_applications/manifest_update_manager_browsertest.cc
@@ -37,6 +37,7 @@
 #include "chrome/browser/web_applications/test/web_app_test_utils.h"
 #include "chrome/browser/web_applications/web_app.h"
 #include "chrome/browser/web_applications/web_app_install_finalizer.h"
+#include "chrome/browser/web_applications/web_app_install_manager.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/browser/web_applications/web_app_registry_update.h"
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 e593493..840ada7a 100644
--- a/chrome/browser/web_applications/test/web_app_test_utils.cc
+++ b/chrome/browser/web_applications/test/web_app_test_utils.cc
@@ -412,8 +412,7 @@
     content::WebContents* initiator_web_contents,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     ForInstallableSite for_installable_site,
-    WebAppInstallManager::WebAppInstallationAcceptanceCallback
-        acceptance_callback) {
+    WebAppInstallationAcceptanceCallback acceptance_callback) {
   base::ThreadTaskRunnerHandle::Get()->PostTask(
       FROM_HERE, base::BindOnce(std::move(acceptance_callback), true /*accept*/,
                                 std::move(web_app_info)));
@@ -423,8 +422,7 @@
     content::WebContents* initiator_web_contents,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     ForInstallableSite for_installable_site,
-    WebAppInstallManager::WebAppInstallationAcceptanceCallback
-        acceptance_callback) {
+    WebAppInstallationAcceptanceCallback acceptance_callback) {
   base::ThreadTaskRunnerHandle::Get()->PostTask(
       FROM_HERE, base::BindOnce(std::move(acceptance_callback),
                                 false /*accept*/, std::move(web_app_info)));
diff --git a/chrome/browser/web_applications/test/web_app_test_utils.h b/chrome/browser/web_applications/test/web_app_test_utils.h
index 6bb55a4..18e919e 100644
--- a/chrome/browser/web_applications/test/web_app_test_utils.h
+++ b/chrome/browser/web_applications/test/web_app_test_utils.h
@@ -9,7 +9,7 @@
 
 #include "chrome/browser/web_applications/components/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_app.h"
-#include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 
 struct WebApplicationInfo;
 class GURL;
@@ -30,15 +30,13 @@
     content::WebContents* initiator_web_contents,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     ForInstallableSite for_installable_site,
-    WebAppInstallManager::WebAppInstallationAcceptanceCallback
-        acceptance_callback);
+    WebAppInstallationAcceptanceCallback acceptance_callback);
 
 void TestDeclineDialogCallback(
     content::WebContents* initiator_web_contents,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     ForInstallableSite for_installable_site,
-    WebAppInstallManager::WebAppInstallationAcceptanceCallback
-        acceptance_callback);
+    WebAppInstallationAcceptanceCallback acceptance_callback);
 
 }  // namespace test
 }  // namespace web_app
diff --git a/chrome/browser/web_applications/web_app_install_manager.cc b/chrome/browser/web_applications/web_app_install_manager.cc
index 659b406..02ec1d3 100644
--- a/chrome/browser/web_applications/web_app_install_manager.cc
+++ b/chrome/browser/web_applications/web_app_install_manager.cc
@@ -28,14 +28,14 @@
 
 namespace {
 
-WebAppInstallManager::InstallParams CreateSyncInstallParams(
+WebAppInstallParams CreateSyncInstallParams(
     const absl::optional<std::string>& manifest_id,
     const GURL& start_url,
     const std::u16string& app_name,
     DisplayMode user_display_mode) {
   const bool locally_install_we_apps_on_sync = AreAppsLocallyInstalledBySync();
 
-  WebAppInstallManager::InstallParams params;
+  WebAppInstallParams params;
   params.override_manifest_id = manifest_id;
   params.user_display_mode = user_display_mode;
   params.fallback_start_url = start_url;
@@ -147,13 +147,6 @@
   tasks_.insert(std::move(task));
 }
 
-WebAppInstallManager::InstallParams::InstallParams() = default;
-
-WebAppInstallManager::InstallParams::~InstallParams() = default;
-
-WebAppInstallManager::InstallParams::InstallParams(const InstallParams&) =
-    default;
-
 void WebAppInstallManager::InstallWebAppFromInfo(
     std::unique_ptr<WebApplicationInfo> web_application_info,
     ForInstallableSite for_installable_site,
@@ -166,7 +159,7 @@
 void WebAppInstallManager::InstallWebAppFromInfo(
     std::unique_ptr<WebApplicationInfo> web_application_info,
     ForInstallableSite for_installable_site,
-    const absl::optional<InstallParams>& install_params,
+    const absl::optional<WebAppInstallParams>& install_params,
     webapps::WebappInstallSource install_source,
     OnceInstallCallback callback) {
   DCHECK(started_);
@@ -187,7 +180,7 @@
 
 void WebAppInstallManager::InstallWebAppWithParams(
     content::WebContents* web_contents,
-    const InstallParams& install_params,
+    const WebAppInstallParams& install_params,
     webapps::WebappInstallSource install_source,
     OnceInstallCallback callback) {
   DCHECK(started_);
diff --git a/chrome/browser/web_applications/web_app_install_manager.h b/chrome/browser/web_applications/web_app_install_manager.h
index d3c4440..85e2207 100644
--- a/chrome/browser/web_applications/web_app_install_manager.h
+++ b/chrome/browser/web_applications/web_app_install_manager.h
@@ -17,7 +17,7 @@
 #include "chrome/browser/web_applications/components/web_app_install_utils.h"
 #include "chrome/browser/web_applications/components/web_app_url_loader.h"
 #include "chrome/browser/web_applications/os_integration_manager.h"
-#include "chrome/browser/web_applications/system_web_apps/system_web_app_types.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "chrome/browser/web_applications/web_app_sync_install_delegate.h"
 
 class Profile;
@@ -38,39 +38,6 @@
 // TODO(loyso): Unify the API and merge similar InstallWebAppZZZZ functions.
 class WebAppInstallManager final : public SyncInstallDelegate {
  public:
-  // |app_id| may be empty on failure.
-  using OnceInstallCallback =
-      base::OnceCallback<void(const AppId& app_id, InstallResultCode code)>;
-  using OnceUninstallCallback =
-      base::OnceCallback<void(const AppId& app_id, bool uninstalled)>;
-
-  // Callback used to indicate whether a user has accepted the installation of a
-  // web app.
-  using WebAppInstallationAcceptanceCallback =
-      base::OnceCallback<void(bool user_accepted,
-                              std::unique_ptr<WebApplicationInfo>)>;
-
-  // Callback to show the WebApp installation confirmation bubble in UI.
-  // |web_app_info| is the WebApplicationInfo to be installed.
-  using WebAppInstallDialogCallback = base::OnceCallback<void(
-      content::WebContents* initiator_web_contents,
-      std::unique_ptr<WebApplicationInfo> web_app_info,
-      ForInstallableSite for_installable_site,
-      WebAppInstallationAcceptanceCallback acceptance_callback)>;
-
-  enum class InstallableCheckResult {
-    kNotInstallable,
-    kInstallable,
-    kAlreadyInstalled,
-  };
-  // Callback with the result of manifest check.
-  // |web_contents| owns the WebContents that was used to check for a manifest.
-  // |app_id| will be present iff already installed.
-  using WebAppManifestCheckCallback = base::OnceCallback<void(
-      std::unique_ptr<content::WebContents> web_contents,
-      InstallableCheckResult result,
-      absl::optional<AppId> app_id)>;
-
   explicit WebAppInstallManager(Profile* profile);
   WebAppInstallManager(const WebAppInstallManager&) = delete;
   WebAppInstallManager& operator=(const WebAppInstallManager&) = delete;
@@ -109,52 +76,10 @@
       WebAppInstallDialogCallback dialog_callback,
       OnceInstallCallback callback);
 
-  // See related ExternalInstallOptions struct and
-  // ConvertExternalInstallOptionsToParams function.
-  struct InstallParams {
-    InstallParams();
-    ~InstallParams();
-    InstallParams(const InstallParams&);
-
-    DisplayMode user_display_mode = DisplayMode::kUndefined;
-
-    // URL to be used as start_url if manifest is unavailable.
-    GURL fallback_start_url;
-
-    // // Setting this field will force the webapp to have a manifest id, which
-    // will result in a different AppId than if it isn't set. Currently here
-    // to support forwards compatibility with future sync entities..
-    absl::optional<std::string> override_manifest_id;
-
-    // App name to be used if manifest is unavailable.
-    absl::optional<std::u16string> fallback_app_name;
-
-    bool locally_installed = true;
-    // These OS shortcut fields can't be true if |locally_installed| is false.
-    bool add_to_applications_menu = true;
-    bool add_to_desktop = true;
-    bool add_to_quick_launch_bar = true;
-    bool run_on_os_login = false;
-
-    // These have no effect outside of Chrome OS.
-    bool add_to_search = true;
-    bool add_to_management = true;
-    bool is_disabled = false;
-
-    bool bypass_service_worker_check = false;
-    bool require_manifest = false;
-
-    std::vector<std::string> additional_search_terms;
-
-    absl::optional<std::string> launch_query_params;
-    absl::optional<SystemAppType> system_app_type;
-
-    bool oem_installed = false;
-  };
   // Starts a background web app installation process for a given
   // |web_contents|.
   void InstallWebAppWithParams(content::WebContents* web_contents,
-                               const InstallParams& install_params,
+                               const WebAppInstallParams& install_params,
                                webapps::WebappInstallSource install_source,
                                OnceInstallCallback callback);
 
@@ -172,7 +97,7 @@
   void InstallWebAppFromInfo(
       std::unique_ptr<WebApplicationInfo> web_application_info,
       ForInstallableSite for_installable_site,
-      const absl::optional<InstallParams>& install_params,
+      const absl::optional<WebAppInstallParams>& install_params,
       webapps::WebappInstallSource install_source,
       OnceInstallCallback callback);
 
diff --git a/chrome/browser/web_applications/web_app_install_params.cc b/chrome/browser/web_applications/web_app_install_params.cc
new file mode 100644
index 0000000..702edf8
--- /dev/null
+++ b/chrome/browser/web_applications/web_app_install_params.cc
@@ -0,0 +1,18 @@
+// 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/web_applications/web_app_install_params.h"
+
+#include "chrome/browser/web_applications/components/web_application_info.h"
+#include "content/public/browser/web_contents.h"
+
+namespace web_app {
+
+WebAppInstallParams::WebAppInstallParams() = default;
+
+WebAppInstallParams::~WebAppInstallParams() = default;
+
+WebAppInstallParams::WebAppInstallParams(const WebAppInstallParams&) = default;
+
+}  // namespace web_app
diff --git a/chrome/browser/web_applications/web_app_install_params.h b/chrome/browser/web_applications/web_app_install_params.h
new file mode 100644
index 0000000..5c6e1f7e
--- /dev/null
+++ b/chrome/browser/web_applications/web_app_install_params.h
@@ -0,0 +1,106 @@
+// 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 CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_INSTALL_PARAMS_H_
+#define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_INSTALL_PARAMS_H_
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/callback.h"
+#include "chrome/browser/web_applications/components/web_app_constants.h"
+#include "chrome/browser/web_applications/components/web_app_id.h"
+#include "chrome/browser/web_applications/components/web_app_install_utils.h"
+#include "chrome/browser/web_applications/system_web_apps/system_web_app_types.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "url/gurl.h"
+
+struct WebApplicationInfo;
+
+namespace content {
+class WebContents;
+}  // namespace content
+
+namespace web_app {
+
+// |app_id| may be empty on failure.
+using OnceInstallCallback =
+    base::OnceCallback<void(const AppId& app_id, InstallResultCode code)>;
+using OnceUninstallCallback =
+    base::OnceCallback<void(const AppId& app_id, bool uninstalled)>;
+
+// Callback used to indicate whether a user has accepted the installation of a
+// web app.
+using WebAppInstallationAcceptanceCallback =
+    base::OnceCallback<void(bool user_accepted,
+                            std::unique_ptr<WebApplicationInfo>)>;
+
+// Callback to show the WebApp installation confirmation bubble in UI.
+// |web_app_info| is the WebApplicationInfo to be installed.
+using WebAppInstallDialogCallback = base::OnceCallback<void(
+    content::WebContents* initiator_web_contents,
+    std::unique_ptr<WebApplicationInfo> web_app_info,
+    ForInstallableSite for_installable_site,
+    WebAppInstallationAcceptanceCallback acceptance_callback)>;
+
+enum class InstallableCheckResult {
+  kNotInstallable,
+  kInstallable,
+  kAlreadyInstalled,
+};
+// Callback with the result of manifest check.
+// |web_contents| owns the WebContents that was used to check for a manifest.
+// |app_id| will be present iff already installed.
+using WebAppManifestCheckCallback =
+    base::OnceCallback<void(std::unique_ptr<content::WebContents> web_contents,
+                            InstallableCheckResult result,
+                            absl::optional<AppId> app_id)>;
+
+// See related ExternalInstallOptions struct and
+// ConvertExternalInstallOptionsToParams function.
+struct WebAppInstallParams {
+  WebAppInstallParams();
+  ~WebAppInstallParams();
+  WebAppInstallParams(const WebAppInstallParams&);
+
+  DisplayMode user_display_mode = DisplayMode::kUndefined;
+
+  // URL to be used as start_url if manifest is unavailable.
+  GURL fallback_start_url;
+
+  // Setting this field will force the webapp to have a manifest id, which
+  // will result in a different AppId than if it isn't set. Currently here
+  // to support forwards compatibility with future sync entities..
+  absl::optional<std::string> override_manifest_id;
+
+  // App name to be used if manifest is unavailable.
+  absl::optional<std::u16string> fallback_app_name;
+
+  bool locally_installed = true;
+  // These OS shortcut fields can't be true if |locally_installed| is false.
+  bool add_to_applications_menu = true;
+  bool add_to_desktop = true;
+  bool add_to_quick_launch_bar = true;
+  bool run_on_os_login = false;
+
+  // These have no effect outside of Chrome OS.
+  bool add_to_search = true;
+  bool add_to_management = true;
+  bool is_disabled = false;
+
+  bool bypass_service_worker_check = false;
+  bool require_manifest = false;
+
+  std::vector<std::string> additional_search_terms;
+
+  absl::optional<std::string> launch_query_params;
+  absl::optional<SystemAppType> system_app_type;
+
+  bool oem_installed = false;
+};
+
+}  // namespace web_app
+
+#endif  // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_INSTALL_PARAMS_H_
diff --git a/chrome/browser/web_applications/web_app_install_task.cc b/chrome/browser/web_applications/web_app_install_task.cc
index 43ece3594..969c3af 100644
--- a/chrome/browser/web_applications/web_app_install_task.cc
+++ b/chrome/browser/web_applications/web_app_install_task.cc
@@ -91,7 +91,7 @@
 }
 
 void WebAppInstallTask::SetInstallParams(
-    const WebAppInstallManager::InstallParams& install_params) {
+    const WebAppInstallParams& install_params) {
   if (!install_params.locally_installed) {
     DCHECK(!install_params.add_to_applications_menu);
     DCHECK(!install_params.add_to_desktop);
@@ -136,8 +136,8 @@
     content::WebContents* contents,
     bool bypass_service_worker_check,
     webapps::WebappInstallSource install_source,
-    WebAppInstallManager::WebAppInstallDialogCallback dialog_callback,
-    WebAppInstallManager::OnceInstallCallback install_callback) {
+    WebAppInstallDialogCallback dialog_callback,
+    OnceInstallCallback install_callback) {
   DCHECK(AreWebAppsUserInstallable(profile_));
   CheckInstallPreconditions();
 
@@ -162,8 +162,8 @@
     content::WebContents* contents,
     bool force_shortcut_app,
     webapps::WebappInstallSource install_source,
-    WebAppInstallManager::WebAppInstallDialogCallback dialog_callback,
-    WebAppInstallManager::OnceInstallCallback install_callback) {
+    WebAppInstallDialogCallback dialog_callback,
+    OnceInstallCallback install_callback) {
   DCHECK(AreWebAppsUserInstallable(profile_));
   CheckInstallPreconditions();
 
@@ -183,7 +183,7 @@
     content::WebContents* contents,
     WebAppUrlLoader* url_loader,
     webapps::WebappInstallSource install_source,
-    WebAppInstallManager::OnceInstallCallback install_callback) {
+    OnceInstallCallback install_callback) {
   DCHECK(AreWebAppsUserInstallable(profile_));
   CheckInstallPreconditions();
 
@@ -203,7 +203,7 @@
 }
 
 void UpdateFinalizerClientData(
-    const absl::optional<WebAppInstallManager::InstallParams>& params,
+    const absl::optional<WebAppInstallParams>& params,
     WebAppInstallFinalizer::FinalizeOptions* options) {
   if (params) {
     if (IsChromeOsDataMandatory()) {
@@ -227,7 +227,7 @@
     std::unique_ptr<WebApplicationInfo> web_application_info,
     ForInstallableSite for_installable_site,
     webapps::WebappInstallSource install_source,
-    WebAppInstallManager::OnceInstallCallback callback) {
+    OnceInstallCallback callback) {
   CheckInstallPreconditions();
 
   PopulateProductIcons(web_application_info.get(),
@@ -254,9 +254,9 @@
 
 void WebAppInstallTask::InstallWebAppWithParams(
     content::WebContents* contents,
-    const WebAppInstallManager::InstallParams& install_params,
+    const WebAppInstallParams& install_params,
     webapps::WebappInstallSource install_source,
-    WebAppInstallManager::OnceInstallCallback install_callback) {
+    OnceInstallCallback install_callback) {
   CheckInstallPreconditions();
 
   Observe(contents);
@@ -276,7 +276,7 @@
     const AppId& app_id,
     std::unique_ptr<WebApplicationInfo> web_application_info,
     bool update_product_icons,
-    WebAppInstallManager::OnceInstallCallback callback) {
+    OnceInstallCallback callback) {
   CheckInstallPreconditions();
   Observe(web_contents);
   if (ShouldStopInstall())
@@ -494,7 +494,7 @@
 }
 
 void WebAppInstallTask::ApplyParamsToWebApplicationInfo(
-    const WebAppInstallManager::InstallParams& install_params,
+    const WebAppInstallParams& install_params,
     WebApplicationInfo& web_app_info) {
   if (install_params.user_display_mode != DisplayMode::kUndefined) {
     web_app_info.open_as_window =
@@ -667,7 +667,7 @@
     content::WebContents* web_contents,
     std::unique_ptr<WebApplicationInfo> web_application_info,
     WebAppInstallFinalizer::FinalizeOptions finalize_options,
-    WebAppInstallManager::OnceInstallCallback callback) {
+    OnceInstallCallback callback) {
   CheckInstallPreconditions();
 
   Observe(web_contents);
diff --git a/chrome/browser/web_applications/web_app_install_task.h b/chrome/browser/web_applications/web_app_install_task.h
index 3c659677..2985281e 100644
--- a/chrome/browser/web_applications/web_app_install_task.h
+++ b/chrome/browser/web_applications/web_app_install_task.h
@@ -17,7 +17,7 @@
 #include "chrome/browser/web_applications/components/web_application_info.h"
 #include "chrome/browser/web_applications/os_integration_manager.h"
 #include "chrome/browser/web_applications/web_app_install_finalizer.h"
-#include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "components/webapps/browser/installable/installable_metrics.h"
 #include "content/public/browser/web_contents_observer.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
@@ -64,8 +64,7 @@
     return expected_app_id_;
   }
 
-  void SetInstallParams(
-      const WebAppInstallManager::InstallParams& install_params);
+  void SetInstallParams(const WebAppInstallParams& install_params);
 
   using LoadWebAppAndCheckManifestCallback = base::OnceCallback<void(
       std::unique_ptr<content::WebContents> web_contents,
@@ -79,12 +78,11 @@
 
   // Checks a WebApp installability, retrieves manifest and icons and
   // then performs the actual installation.
-  void InstallWebAppFromManifest(
-      content::WebContents* web_contents,
-      bool bypass_service_worker_check,
-      webapps::WebappInstallSource install_source,
-      WebAppInstallManager::WebAppInstallDialogCallback dialog_callback,
-      WebAppInstallManager::OnceInstallCallback callback);
+  void InstallWebAppFromManifest(content::WebContents* web_contents,
+                                 bool bypass_service_worker_check,
+                                 webapps::WebappInstallSource install_source,
+                                 WebAppInstallDialogCallback dialog_callback,
+                                 OnceInstallCallback callback);
 
   // This method infers WebApp info from the blink renderer process
   // and then retrieves a manifest in a way similar to
@@ -94,8 +92,8 @@
       content::WebContents* web_contents,
       bool force_shortcut_app,
       webapps::WebappInstallSource install_source,
-      WebAppInstallManager::WebAppInstallDialogCallback dialog_callback,
-      WebAppInstallManager::OnceInstallCallback callback);
+      WebAppInstallDialogCallback dialog_callback,
+      OnceInstallCallback callback);
 
   // Load |launch_url| and do silent background install with
   // |InstallWebAppFromManifestWithFallback|. Posts |LoadUrl| task to
@@ -105,7 +103,7 @@
       content::WebContents* web_contents,
       WebAppUrlLoader* url_loader,
       webapps::WebappInstallSource install_source,
-      WebAppInstallManager::OnceInstallCallback callback);
+      OnceInstallCallback callback);
 
   // Fetches the icon URLs in |web_application_info| to populate the icon
   // bitmaps. Once fetched uses the contents of |web_application_info| as the
@@ -114,7 +112,7 @@
       content::WebContents* web_contents,
       std::unique_ptr<WebApplicationInfo> web_application_info,
       WebAppInstallFinalizer::FinalizeOptions finalize_options,
-      WebAppInstallManager::OnceInstallCallback callback);
+      OnceInstallCallback callback);
 
   // Starts a web app installation process using prefilled
   // |web_application_info| which holds all the data needed for installation.
@@ -123,24 +121,23 @@
       std::unique_ptr<WebApplicationInfo> web_application_info,
       ForInstallableSite for_installable_site,
       webapps::WebappInstallSource install_source,
-      WebAppInstallManager::OnceInstallCallback callback);
+      OnceInstallCallback callback);
 
   // Starts a background web app installation process for a given
   // |web_contents|. This method infers WebApp info from the blink renderer
   // process and then retrieves a manifest in a way similar to
   // |InstallWebAppFromManifestWithFallback|.
-  void InstallWebAppWithParams(
-      content::WebContents* web_contents,
-      const WebAppInstallManager::InstallParams& install_params,
-      webapps::WebappInstallSource install_source,
-      WebAppInstallManager::OnceInstallCallback callback);
+  void InstallWebAppWithParams(content::WebContents* web_contents,
+                               const WebAppInstallParams& install_params,
+                               webapps::WebappInstallSource install_source,
+                               OnceInstallCallback callback);
 
   void UpdateWebAppFromInfo(
       content::WebContents* web_contents,
       const AppId& app_id,
       std::unique_ptr<WebApplicationInfo> web_application_info,
       bool update_product_icons,
-      WebAppInstallManager::OnceInstallCallback callback);
+      OnceInstallCallback callback);
 
   // Obtains WebApplicationInfo about web app located at |start_url|, fallbacks
   // to title/favicon if manifest is not present.
@@ -191,7 +188,7 @@
   // Makes amendments to |web_app_info| based on the options set in
   // |install_params|.
   void ApplyParamsToWebApplicationInfo(
-      const WebAppInstallManager::InstallParams& install_params,
+      const WebAppInstallParams& install_params,
       WebApplicationInfo& web_app_info);
 
   void OnDidPerformInstallableCheck(
@@ -255,10 +252,10 @@
   // installation.
   bool only_retrieve_web_application_info_ = false;
 
-  WebAppInstallManager::WebAppInstallDialogCallback dialog_callback_;
-  WebAppInstallManager::OnceInstallCallback install_callback_;
+  WebAppInstallDialogCallback dialog_callback_;
+  OnceInstallCallback install_callback_;
   RetrieveWebApplicationInfoWithIconsCallback retrieve_info_callback_;
-  absl::optional<WebAppInstallManager::InstallParams> install_params_;
+  absl::optional<WebAppInstallParams> install_params_;
   absl::optional<AppId> expected_app_id_;
   bool background_installation_ = false;
 
diff --git a/chrome/browser/web_applications/web_app_install_task_unittest.cc b/chrome/browser/web_applications/web_app_install_task_unittest.cc
index ccfa84ba..39187edde 100644
--- a/chrome/browser/web_applications/web_app_install_task_unittest.cc
+++ b/chrome/browser/web_applications/web_app_install_task_unittest.cc
@@ -42,7 +42,7 @@
 #include "chrome/browser/web_applications/web_app.h"
 #include "chrome/browser/web_applications/web_app_icon_manager.h"
 #include "chrome/browser/web_applications/web_app_install_finalizer.h"
-#include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/browser/web_applications/web_app_sync_bridge.h"
 #include "chrome/common/chrome_features.h"
@@ -76,9 +76,9 @@
 
 namespace {
 
-WebAppInstallManager::InstallParams MakeParams(
+WebAppInstallParams MakeParams(
     DisplayMode display_mode = DisplayMode::kUndefined) {
-  WebAppInstallManager::InstallParams params;
+  WebAppInstallParams params;
   params.fallback_start_url = GURL("https://example.com/fallback");
   params.user_display_mode = display_mode;
   return params;
@@ -295,8 +295,7 @@
     return result.app_id;
   }
 
-  AppId InstallWebAppWithParams(
-      const WebAppInstallManager::InstallParams& params) {
+  AppId InstallWebAppWithParams(const WebAppInstallParams& params) {
     AppId app_id;
     base::RunLoop run_loop;
     install_task_->InstallWebAppWithParams(
diff --git a/chrome/browser/web_applications/web_app_mover.cc b/chrome/browser/web_applications/web_app_mover.cc
index 7dd1cc6a..eeb6659 100644
--- a/chrome/browser/web_applications/web_app_mover.cc
+++ b/chrome/browser/web_applications/web_app_mover.cc
@@ -242,17 +242,17 @@
 void WebAppMover::OnInstallManifestFetched(
     base::ScopedClosureRunner complete_callback_runner,
     std::unique_ptr<content::WebContents> web_contents,
-    WebAppInstallManager::InstallableCheckResult result,
+    InstallableCheckResult result,
     absl::optional<AppId> app_id) {
   switch (result) {
-    case WebAppInstallManager::InstallableCheckResult::kAlreadyInstalled:
+    case InstallableCheckResult::kAlreadyInstalled:
       LOG(WARNING) << "App already installed.";
       return;
-    case WebAppInstallManager::InstallableCheckResult::kNotInstallable:
+    case InstallableCheckResult::kNotInstallable:
       // If the app is not installable, then abort.
       RecordResults(WebAppMoverResult::kNotInstallable);
       return;
-    case WebAppInstallManager::InstallableCheckResult::kInstallable:
+    case InstallableCheckResult::kInstallable:
       break;
   }
   DCHECK(!apps_to_uninstall_.empty());
@@ -303,8 +303,7 @@
           [](content::WebContents* initiator_web_contents,
              std::unique_ptr<WebApplicationInfo> web_app_info,
              ForInstallableSite for_installable_site,
-             WebAppInstallManager::WebAppInstallationAcceptanceCallback
-                 acceptance_callback) {
+             WebAppInstallationAcceptanceCallback acceptance_callback) {
             // Note: |open_as_window| is set to false here (which it should be
             // by default), because if that is true the WebAppInstallTask will
             // try to reparent the the web contents into an app browser. This is
diff --git a/chrome/browser/web_applications/web_app_mover.h b/chrome/browser/web_applications/web_app_mover.h
index 9e43ea0..2c565859 100644
--- a/chrome/browser/web_applications/web_app_mover.h
+++ b/chrome/browser/web_applications/web_app_mover.h
@@ -14,6 +14,7 @@
 #include "base/scoped_observation.h"
 #include "chrome/browser/web_applications/components/web_app_id.h"
 #include "chrome/browser/web_applications/web_app_install_manager.h"
+#include "chrome/browser/web_applications/web_app_install_params.h"
 #include "components/keep_alive_registry/scoped_keep_alive.h"
 #include "components/sync/driver/sync_service.h"
 #include "components/sync/driver/sync_service_observer.h"
@@ -84,7 +85,7 @@
   void OnInstallManifestFetched(
       base::ScopedClosureRunner complete_callback_runner,
       std::unique_ptr<content::WebContents> web_contents,
-      WebAppInstallManager::InstallableCheckResult result,
+      InstallableCheckResult result,
       absl::optional<AppId> app_id);
 
   void OnAllUninstalled(
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 1e60993..159495e 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -6308,6 +6308,7 @@
       "//ash/public/cpp/resources:ash_public_unscaled_resources",
       "//ash/resources/vector_icons",
       "//ash/strings",
+      "//chrome/browser/ash/system_extensions:unit_tests",
       "//chrome/browser/chromeos:test_support",
       "//chrome/browser/nearby_sharing/certificates:test_support",
       "//chrome/browser/nearby_sharing/certificates:unit_tests",
diff --git a/chrome/test/android/test_support/src/org/chromium/chrome/test_support/PaymentRequestTestBridge.java b/chrome/test/android/test_support/src/org/chromium/chrome/test_support/PaymentRequestTestBridge.java
index 321627d..658a645 100644
--- a/chrome/test/android/test_support/src/org/chromium/chrome/test_support/PaymentRequestTestBridge.java
+++ b/chrome/test/android/test_support/src/org/chromium/chrome/test_support/PaymentRequestTestBridge.java
@@ -19,6 +19,7 @@
 import org.chromium.components.payments.PaymentRequestService;
 import org.chromium.components.payments.PaymentRequestService.NativeObserverForTest;
 import org.chromium.components.payments.PaymentUiServiceTestInterface;
+import org.chromium.components.payments.secure_payment_confirmation.SecurePaymentConfirmationNoMatchingCredController;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.payments.mojom.PaymentItem;
 
@@ -146,12 +147,12 @@
         @Override
         public void onPaymentUiServiceCreated(PaymentUiServiceTestInterface uiService) {
             assert uiService != null;
-            PaymentRequestTestBridge.sUiService = uiService;
+            sUiService = uiService;
         }
 
         @Override
         public void onClosed() {
-            PaymentRequestTestBridge.sUiService = null;
+            sUiService = null;
         }
 
         @Override
@@ -275,6 +276,9 @@
 
     @CalledByNative
     private static boolean closeDialogForTest() {
+        SecurePaymentConfirmationNoMatchingCredController noMatchingUi =
+                PaymentRequestService.getSecurePaymentConfirmationNoMatchingCredUiForTesting();
+        if (noMatchingUi != null) noMatchingUi.hide();
         return sUiService == null || sUiService.closeDialogForTest();
     }
 
diff --git a/chrome/test/data/webui/new_tab_page/BUILD.gn b/chrome/test/data/webui/new_tab_page/BUILD.gn
index a64ea3a..9193734 100644
--- a/chrome/test/data/webui/new_tab_page/BUILD.gn
+++ b/chrome/test/data/webui/new_tab_page/BUILD.gn
@@ -10,6 +10,12 @@
                     "browser_resolver_prefix_replacements=\"chrome://new-tab-page/=../../chrome/browser/resources/new_tab_page/\"",
                     "js_module_root=../../chrome/test/data/webui/",
                     "js_module_root=./gen/chrome/test/data/webui/",
+                    "js_module_root=" +
+                        rebase_path("//chrome/browser/resources/new_tab_page/",
+                                    root_build_dir),
+                    "js_module_root=" + rebase_path(
+                            "$root_gen_dir/mojom-webui/chrome/browser/promo_browser_command",
+                            root_build_dir),
                   ]
   deps = [
     ":metrics_utils_test",
diff --git a/chrome/test/data/webui/new_tab_page/app_test.js b/chrome/test/data/webui/new_tab_page/app_test.js
index e4946ec..facfd23 100644
--- a/chrome/test/data/webui/new_tab_page/app_test.js
+++ b/chrome/test/data/webui/new_tab_page/app_test.js
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {$$, BackgroundManager, BackgroundSelectionType, CustomizeDialogPage, ModuleRegistry, NewTabPageProxy, NtpElement, PromoBrowserCommandProxy, VoiceAction, WindowProxy} from 'chrome://new-tab-page/new_tab_page.js';
+import {$$, BackgroundManager, BackgroundSelectionType, Command, CommandHandlerRemote, CustomizeDialogPage, ModuleRegistry, NewTabPageProxy, NtpElement, PromoBrowserCommandProxy, VoiceAction, WindowProxy} from 'chrome://new-tab-page/new_tab_page.js';
 import {isMac} from 'chrome://resources/js/cr.m.js';
 import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
 import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js';
@@ -402,11 +402,11 @@
   });
 
   test('can show promo with browser command', async () => {
-    const promoBrowserCommandHandler = TestBrowserProxy.fromClass(
-        promoBrowserCommand.mojom.CommandHandlerRemote);
+    const promoBrowserCommandHandler =
+        TestBrowserProxy.fromClass(CommandHandlerRemote);
     PromoBrowserCommandProxy.getInstance().handler = promoBrowserCommandHandler;
     promoBrowserCommandHandler.setResultFor(
-        'canShowPromoWithCommand', Promise.resolve({canShow: true}));
+        'canExecuteCommand', Promise.resolve({canExecute: true}));
 
     const commandId = 123;  // Unsupported command.
     window.dispatchEvent(new MessageEvent('message', {
@@ -421,11 +421,10 @@
 
     // Make sure the command is sent to the browser.
     const expectedCommandId =
-        await promoBrowserCommandHandler.whenCalled('canShowPromoWithCommand');
+        await promoBrowserCommandHandler.whenCalled('canExecuteCommand');
     // Unsupported commands get resolved to the default command before being
     // sent to the browser.
-    assertEquals(
-        promoBrowserCommand.mojom.Command.kUnknownCommand, expectedCommandId);
+    assertEquals(Command.kUnknownCommand, expectedCommandId);
 
     // Make sure the promo frame gets notified whether the promo can be shown.
     const {data} = await eventToPromise('message', window);
@@ -434,8 +433,8 @@
   });
 
   test('executes promo browser command', async () => {
-    const promoBrowserCommandHandler = TestBrowserProxy.fromClass(
-        promoBrowserCommand.mojom.CommandHandlerRemote);
+    const promoBrowserCommandHandler =
+        TestBrowserProxy.fromClass(CommandHandlerRemote);
     PromoBrowserCommandProxy.getInstance().handler = promoBrowserCommandHandler;
     promoBrowserCommandHandler.setResultFor(
         'executeCommand', Promise.resolve({commandExecuted: true}));
@@ -460,8 +459,7 @@
         await promoBrowserCommandHandler.whenCalled('executeCommand');
     // Unsupported commands get resolved to the default command before being
     // sent to the browser.
-    assertEquals(
-        promoBrowserCommand.mojom.Command.kUnknownCommand, expectedCommandId);
+    assertEquals(Command.kUnknownCommand, expectedCommandId);
     assertEquals(clickInfo, expectedClickInfo);
 
     // Make sure the promo frame gets notified whether the command was executed.
diff --git a/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.js b/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.js
index 369edf8..83baff3 100644
--- a/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.js
+++ b/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.js
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 import 'chrome://new-tab-page/lazy_load.js';
-import {$$, NewTabPageProxy, PromoBrowserCommandProxy} from 'chrome://new-tab-page/new_tab_page.js';
+import {$$, Command, CommandHandlerRemote, NewTabPageProxy, PromoBrowserCommandProxy} from 'chrome://new-tab-page/new_tab_page.js';
 import {TestBrowserProxy} from 'chrome://test/test_browser_proxy.js';
 import {eventToPromise, flushTasks} from 'chrome://test/test_util.m.js';
 
@@ -15,7 +15,7 @@
   let newTabPageHandler;
 
   /**
-   * @implements {promoBrowserCommand.mojom.CommandHandlerRemote}
+   * @implements {CommandHandlerRemote}
    * @extends {TestBrowserProxy}
    */
   let promoBrowserCommandHandler;
@@ -27,8 +27,8 @@
     NewTabPageProxy.setInstance(
         newTabPageHandler, new newTabPage.mojom.PageCallbackRouter());
 
-    promoBrowserCommandHandler = TestBrowserProxy.fromClass(
-        promoBrowserCommand.mojom.CommandHandlerRemote);
+    promoBrowserCommandHandler =
+        TestBrowserProxy.fromClass(CommandHandlerRemote);
     const promoBrowserCommandTestProxy = PromoBrowserCommandProxy.getInstance();
     promoBrowserCommandTestProxy.handler = promoBrowserCommandHandler;
   });
@@ -74,15 +74,15 @@
     }));
 
     promoBrowserCommandHandler.setResultFor(
-        'canShowPromoWithCommand', Promise.resolve({canShow: canShowPromo}));
+        'canExecuteCommand', Promise.resolve({canExecute: canShowPromo}));
 
     const middleSlotPromo = document.createElement('ntp-middle-slot-promo');
     document.body.appendChild(middleSlotPromo);
     const loaded =
         eventToPromise('ntp-middle-slot-promo-loaded', document.body);
-    await promoBrowserCommandHandler.whenCalled('canShowPromoWithCommand');
+    await promoBrowserCommandHandler.whenCalled('canExecuteCommand');
     assertEquals(
-        2, promoBrowserCommandHandler.getCallCount('canShowPromoWithCommand'));
+        2, promoBrowserCommandHandler.getCallCount('canExecuteCommand'));
     if (canShowPromo) {
       await newTabPageHandler.whenCalled('onPromoRendered');
     } else {
@@ -151,8 +151,7 @@
           await promoBrowserCommandHandler.whenCalled('executeCommand');
       // Unsupported commands get resolved to the default command before being
       // sent to the browser.
-      assertEquals(
-          promoBrowserCommand.mojom.Command.kUnknownCommand, expectedCommand);
+      assertEquals(Command.kUnknownCommand, expectedCommand);
       assertDeepEquals(
           {
             middleButton: false,
@@ -175,8 +174,7 @@
       document.body.appendChild(middleSlotPromo);
       await flushTasks();
       assertEquals(
-          0,
-          promoBrowserCommandHandler.getCallCount('canShowPromoWithCommand'));
+          0, promoBrowserCommandHandler.getCallCount('canExecuteCommand'));
       assertEquals(0, newTabPageHandler.getCallCount('onPromoRendered'));
       assertHasContent(false, middleSlotPromo);
     });
diff --git a/chrome/test/data/webui/read_later/side_panel/bookmark_folder_test.js b/chrome/test/data/webui/read_later/side_panel/bookmark_folder_test.js
index c2e53791..403b4b6 100644
--- a/chrome/test/data/webui/read_later/side_panel/bookmark_folder_test.js
+++ b/chrome/test/data/webui/read_later/side_panel/bookmark_folder_test.js
@@ -70,7 +70,10 @@
   test('UpdatesDepthVariables', () => {
     bookmarkFolder.depth = 3;
     assertEquals('3', bookmarkFolder.style.getPropertyValue('--node-depth'));
-    assertEquals('4', bookmarkFolder.style.getPropertyValue('--child-depth'));
+    assertEquals(
+        '4',
+        bookmarkFolder.shadowRoot.querySelector('#children')
+            .style.getPropertyValue('--node-depth'));
   });
 
   test('RendersChildren', () => {
diff --git a/chrome/test/payments/payment_request_test_controller_desktop.cc b/chrome/test/payments/payment_request_test_controller_desktop.cc
index 106b618..bc545e5 100644
--- a/chrome/test/payments/payment_request_test_controller_desktop.cc
+++ b/chrome/test/payments/payment_request_test_controller_desktop.cc
@@ -192,10 +192,17 @@
     return false;
 
   PaymentRequestDialog* dialog = delegate_->GetDialogForTesting();
-  if (!dialog)
+  SecurePaymentConfirmationNoCreds* no_creds_dialog =
+      delegate_->GetNoMatchingCredentialsDialogForTesting();
+  if (!dialog && !no_creds_dialog)
     return false;
 
-  dialog->CloseDialog();
+  if (dialog)
+    dialog->CloseDialog();
+
+  if (no_creds_dialog)
+    no_creds_dialog->CloseDialog();
+
   return true;
 }
 
diff --git a/chromeos/chromeos_strings.grd b/chromeos/chromeos_strings.grd
index 4270ba51..6a40d18 100644
--- a/chromeos/chromeos_strings.grd
+++ b/chromeos/chromeos_strings.grd
@@ -1606,9 +1606,15 @@
       <message name="IDS_PERSONALIZATION_APP_CHANGE_DAILY" desc="Label for daily refresh option">
         Change Daily
       </message>
+      <message name="IDS_PERSONALIZATION_APP_ARIA_LABEL_CHANGE_DAILY" desc="Aria label for daily refresh option">
+        Change wallpaper image daily
+      </message>
       <message name="IDS_PERSONALIZATION_APP_REFRESH" desc="Label for wallpaper refresh button">
         Refresh
       </message>
+      <message name="IDS_PERSONALIZATION_APP_ARIA_LABEL_REFRESH" desc="Aria label for wallpaper refresh button">
+        Refresh the current wallpaper image
+      </message>
       <message name="IDS_PERSONALIZATION_APP_DAILY_REFRESH" desc="Label to indicate the image is set by daily refresh">
         Daily Refresh
       </message>
diff --git a/chromeos/chromeos_strings_grd/IDS_PERSONALIZATION_APP_ARIA_LABEL_CHANGE_DAILY.png.sha1 b/chromeos/chromeos_strings_grd/IDS_PERSONALIZATION_APP_ARIA_LABEL_CHANGE_DAILY.png.sha1
new file mode 100644
index 0000000..1e4b07d
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_PERSONALIZATION_APP_ARIA_LABEL_CHANGE_DAILY.png.sha1
@@ -0,0 +1 @@
+655f1c74c64dacee7fdd183219abb143032bb272
\ No newline at end of file
diff --git a/chromeos/chromeos_strings_grd/IDS_PERSONALIZATION_APP_ARIA_LABEL_REFRESH.png.sha1 b/chromeos/chromeos_strings_grd/IDS_PERSONALIZATION_APP_ARIA_LABEL_REFRESH.png.sha1
new file mode 100644
index 0000000..1e4b07d
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_PERSONALIZATION_APP_ARIA_LABEL_REFRESH.png.sha1
@@ -0,0 +1 @@
+655f1c74c64dacee7fdd183219abb143032bb272
\ No newline at end of file
diff --git a/chromeos/components/camera_app_ui/resources.h b/chromeos/components/camera_app_ui/resources.h
index c370eece..cf55115 100644
--- a/chromeos/components/camera_app_ui/resources.h
+++ b/chromeos/components/camera_app_ui/resources.h
@@ -88,6 +88,7 @@
     {"label_timer_3s", IDS_LABEL_TIMER_3S},
     {"label_video_resolution", IDS_LABEL_VIDEO_RESOLUTION},
     {"migrate_pictures_msg", IDS_MIGRATE_PICTURES_MSG},
+    {"msg_document_detected", IDS_MSG_DOCUMENT_DETECTED},
     {"name", IDS_NAME},
     {"new_control_navigation", IDS_NEW_CONTROL_NAVIGATION},
     {"new_control_toast", IDS_NEW_CONTROL_TOAST},
diff --git a/chromeos/components/camera_app_ui/resources/js/i18n_string.js b/chromeos/components/camera_app_ui/resources/js/i18n_string.js
index 8b68003..0e2c70e 100644
--- a/chromeos/components/camera_app_ui/resources/js/i18n_string.js
+++ b/chromeos/components/camera_app_ui/resources/js/i18n_string.js
@@ -79,6 +79,7 @@
   LABEL_TIMER_3S: 'label_timer_3s',
   LABEL_VIDEO_RESOLUTION: 'label_video_resolution',
   MIGRATE_PICTURES_MSG: 'migrate_pictures_msg',
+  MSG_DOCUMENT_DETECTED: 'msg_document_detected',
   NAME: 'name',
   NEW_CONTROL_NAVIGATION: 'new_control_navigation',
   NEW_CONTROL_TOAST: 'new_control_toast',
diff --git a/chromeos/components/camera_app_ui/resources/js/views/camera/document_corner_overlay.js b/chromeos/components/camera_app_ui/resources/js/views/camera/document_corner_overlay.js
index 6aa356a..8f32afd 100644
--- a/chromeos/components/camera_app_ui/resources/js/views/camera/document_corner_overlay.js
+++ b/chromeos/components/camera_app_ui/resources/js/views/camera/document_corner_overlay.js
@@ -10,11 +10,13 @@
   Vector,  // eslint-disable-line no-unused-vars
   vectorFromPoints,
 } from '../../geometry.js';
+import {I18nString} from '../../i18n_string.js';
 import {DeviceOperator} from '../../mojo/device_operator.js';
 import {
   closeEndpoint,
   MojoEndpoint,  // eslint-disable-line no-unused-vars
 } from '../../mojo/util.js';
+import * as toast from '../../toast.js';
 import * as util from '../../util.js';
 
 /**
@@ -320,6 +322,7 @@
     if (this.isIndicatorsShown_()) {
       this.updateCorners_(corners);
     } else {
+      toast.speak(I18nString.MSG_DOCUMENT_DETECTED);
       this.showIndicators_();
       this.settleCorners_(corners);
     }
diff --git a/chromeos/components/camera_app_ui/resources/strings/camera_strings.grd b/chromeos/components/camera_app_ui/resources/strings/camera_strings.grd
index b212693..abc6aad 100644
--- a/chromeos/components/camera_app_ui/resources/strings/camera_strings.grd
+++ b/chromeos/components/camera_app_ui/resources/strings/camera_strings.grd
@@ -508,6 +508,9 @@
       <message desc="Toast message for guiding user to reposition document when no document in the camera FOV." name="IDS_NO_DOCUMENT_GUIDE_MSG">
         Place all edges of the document within the frame
       </message>
+      <message desc="Message spoken by accessibility tool when document is detected in camera preview." name="IDS_MSG_DOCUMENT_DETECTED">
+        Document detected
+      </message>
     </messages>
   </release>
 </grit>
diff --git a/chromeos/components/camera_app_ui/resources/strings/camera_strings_grd/IDS_MSG_DOCUMENT_DETECTED.png.sha1 b/chromeos/components/camera_app_ui/resources/strings/camera_strings_grd/IDS_MSG_DOCUMENT_DETECTED.png.sha1
new file mode 100644
index 0000000..d3635369
--- /dev/null
+++ b/chromeos/components/camera_app_ui/resources/strings/camera_strings_grd/IDS_MSG_DOCUMENT_DETECTED.png.sha1
@@ -0,0 +1 @@
+152f4fbb4485bca3ef935d32e27feb3f085bc96c
\ No newline at end of file
diff --git a/chromeos/components/camera_app_ui/resources/strings/camera_strings_ta.xtb b/chromeos/components/camera_app_ui/resources/strings/camera_strings_ta.xtb
index 1c887b90..954878d 100644
--- a/chromeos/components/camera_app_ui/resources/strings/camera_strings_ta.xtb
+++ b/chromeos/components/camera_app_ui/resources/strings/camera_strings_ta.xtb
@@ -16,7 +16,7 @@
 <translation id="1838104802459806957">மேலே சாய்க்கவும்</translation>
 <translation id="1851169887664797861">கூடுதல் கேமரா கட்டுப்பாடுகள் உள்ளன</translation>
 <translation id="1851616744363735765">இடைநிறுத்தப்பட்டுள்ளது</translation>
-<translation id="1862930711583847113"><ph name="FILE" /> கோப்பை இடமாற்ற முடியவில்லை</translation>
+<translation id="1862930711583847113"><ph name="FILE" /> ஃபைலை இடமாற்ற முடியவில்லை</translation>
 <translation id="1899697626337024495">படத் தெளிவுத்திறன்</translation>
 <translation id="2022953316617983419">QR குறியீடு</translation>
 <translation id="2036868001356139588">டைமர் காலஅளவு</translation>
@@ -45,7 +45,7 @@
 <translation id="3259149966178251584">கேமரா தெளிவுத்திறன்</translation>
 <translation id="3448774564454087943">மிகவும் சிறியதாக உள்ளதால் வீடியோ சேமிக்கப்படவில்லை</translation>
 <translation id="3517926952904427380">படத்தை நீளவாக்கில் எடுக்க முடியவில்லை</translation>
-<translation id="3569311554794739032"><ph name="FILE" /> கோப்பை நிச்சயமாக அகற்ற விரும்புகிறீர்களா?</translation>
+<translation id="3569311554794739032"><ph name="FILE" /> ஃபைலை நிச்சயமாக அகற்ற விரும்புகிறீர்களா?</translation>
 <translation id="3810838688059735925">வீடியோ</translation>
 <translation id="3838931309141338733">பார்கோடை ஸ்கேன் செய்</translation>
 <translation id="3892148308691398805">உரையை நகலெடு</translation>
diff --git a/chromeos/components/eche_app_ui/BUILD.gn b/chromeos/components/eche_app_ui/BUILD.gn
index cda1907..ecfb13b 100644
--- a/chromeos/components/eche_app_ui/BUILD.gn
+++ b/chromeos/components/eche_app_ui/BUILD.gn
@@ -129,11 +129,7 @@
 
 js2gtest("browser_tests_js") {
   test_type = "mojo_lite_webui"
-  if (is_chromeos_ash && is_chrome_branded) {
-    sources = [ "test/eche_app_ui_chrome_branded_browsertest.js" ]
-  } else {
-    sources = [ "test/eche_app_ui_browsertest.js" ]
-  }
+  sources = [ "test/eche_app_ui_browsertest.js" ]
   defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
 }
 
diff --git a/chromeos/components/eche_app_ui/resources/browser_proxy.js b/chromeos/components/eche_app_ui/resources/browser_proxy.js
index cbaa84c..d3cc030 100644
--- a/chromeos/components/eche_app_ui/resources/browser_proxy.js
+++ b/chromeos/components/eche_app_ui/resources/browser_proxy.js
@@ -10,8 +10,10 @@
     new URLSearchParams(window.location.hash.substring(1)) :
     new URLSearchParams(window.location.search.substring(1));
 urlParams = urlParams.toString();
-const iframeUrl = mainUrl + '?' + urlParams;
-document.getElementsByTagName('iframe')[0].src = iframeUrl;
+document.getElementsByTagName('iframe')[0].src = mainUrl;
+if (urlParams) {
+    document.getElementsByTagName('iframe')[0].src = mainUrl + '?' + urlParams;
+}
 
 // Returns a remote for SignalingMessageExchanger interface which sends messages
 // to the browser.
diff --git a/chromeos/components/eche_app_ui/test/eche_app_ui_browsertest.js b/chromeos/components/eche_app_ui/test/eche_app_ui_browsertest.js
index 3bdad66..fcd6321 100644
--- a/chromeos/components/eche_app_ui/test/eche_app_ui_browsertest.js
+++ b/chromeos/components/eche_app_ui/test/eche_app_ui_browsertest.js
@@ -58,7 +58,7 @@
   const guest = queryIFrame();
 
   assertEquals(document.location.origin, HOST_ORIGIN);
-  assertEquals(guest.src, GUEST_ORIGIN + '/app.html');
+  assertEquals(guest.src, GUEST_ORIGIN + '/untrusted_index.html');
 
   testDone();
 });
diff --git a/chromeos/components/eche_app_ui/test/eche_app_ui_chrome_branded_browsertest.js b/chromeos/components/eche_app_ui/test/eche_app_ui_chrome_branded_browsertest.js
deleted file mode 100644
index 88caea65..0000000
--- a/chromeos/components/eche_app_ui/test/eche_app_ui_chrome_branded_browsertest.js
+++ /dev/null
@@ -1,54 +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.
-
-/**
- * @fileoverview Test suite for chrome://eche-app.
- */
-
-GEN('#include "ash/constants/ash_features.h"');
-GEN('#include "content/public/test/browser_test.h"');
-
-const HOST_ORIGIN = 'chrome://eche-app';
-
-var EcheAppUIBrowserTest = class extends testing.Test {
-  /** @override */
-  get browsePreload() {
-    return HOST_ORIGIN;
-  }
-
-  /** @override */
-  get runAccessibilityChecks() {
-    return false;
-  }
-
-  /** @override */
-  get featureList() {
-    return {
-      enabled: [
-        'chromeos::features::kEcheSWA',
-        'chromeos::features::kPhoneHubRecentApps'
-      ]
-    };
-  }
-};
-
-// Tests that chrome://eche-app goes somewhere instead of
-// 404ing or crashing.
-TEST_F('EcheAppUIBrowserTest', 'HasChromeSchemeURL', () => {
-  assertEquals(document.title, 'Eche');
-  assertEquals(document.location.origin, HOST_ORIGIN);
-  testDone();
-});
-
-// Tests that the implementations of echeapi.d.ts are defined.
-TEST_F('EcheAppUIBrowserTest', 'HasDefinedEcheapi', () => {
-  chai.assert.isDefined(echeapi.webrtc.registerSignalReceiver);
-  chai.assert.isDefined(echeapi.webrtc.sendSignal);
-  chai.assert.isDefined(echeapi.webrtc.tearDownSignal);
-  chai.assert.isDefined(echeapi.webrtc.closeWindow);
-  chai.assert.isDefined(echeapi.system.registerTabletModeChangedReceiver);
-  chai.assert.isDefined(echeapi.system.registerScreenBacklightState);
-  chai.assert.isDefined(echeapi.system.getLocalUid);
-  testDone();
-});
diff --git a/chromeos/components/local_search_service/BUILD.gn b/chromeos/components/local_search_service/BUILD.gn
index 31826d6..2501732 100644
--- a/chromeos/components/local_search_service/BUILD.gn
+++ b/chromeos/components/local_search_service/BUILD.gn
@@ -49,12 +49,12 @@
     "local_search_service_provider_for_testing.h",
     "oop_local_search_service_provider.cc",
     "oop_local_search_service_provider.h",
-    "service_sandbox_type.h",
   ]
 
   deps = [
     "//chromeos/components/local_search_service:local_search_service",
     "//chromeos/components/local_search_service/public/cpp:local_search_service_provider",
+    "//chromeos/components/local_search_service/public/mojom",
     "//content/public/browser:browser",
   ]
 }
diff --git a/chromeos/components/local_search_service/OWNERS b/chromeos/components/local_search_service/OWNERS
index 68429d6..6fd6825e 100644
--- a/chromeos/components/local_search_service/OWNERS
+++ b/chromeos/components/local_search_service/OWNERS
@@ -2,7 +2,3 @@
 tby@chromium.org
 thanhdng@chromium.org
 wrong@chromium.org
-
-# Service sandbox specialization must be reviewed by SECURITY_OWNERS
-per-file service_sandbox_type.h=set noparent
-per-file service_sandbox_type.h=file://ipc/SECURITY_OWNERS
diff --git a/chromeos/components/local_search_service/oop_local_search_service_provider.cc b/chromeos/components/local_search_service/oop_local_search_service_provider.cc
index 7634d6560..4254734c 100644
--- a/chromeos/components/local_search_service/oop_local_search_service_provider.cc
+++ b/chromeos/components/local_search_service/oop_local_search_service_provider.cc
@@ -3,7 +3,8 @@
 // found in the LICENSE file.
 
 #include "chromeos/components/local_search_service/oop_local_search_service_provider.h"
-#include "chromeos/components/local_search_service/service_sandbox_type.h"
+
+#include "chromeos/components/local_search_service/public/mojom/local_search_service.mojom.h"
 #include "content/public/browser/service_process_host.h"
 
 namespace chromeos {
diff --git a/chromeos/components/local_search_service/oop_local_search_service_provider.h b/chromeos/components/local_search_service/oop_local_search_service_provider.h
index 8addc4d..d19a7be 100644
--- a/chromeos/components/local_search_service/oop_local_search_service_provider.h
+++ b/chromeos/components/local_search_service/oop_local_search_service_provider.h
@@ -6,7 +6,7 @@
 #define CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_OOP_LOCAL_SEARCH_SERVICE_PROVIDER_H_
 
 #include "chromeos/components/local_search_service/public/cpp/local_search_service_provider.h"
-
+#include "chromeos/components/local_search_service/public/mojom/local_search_service.mojom-forward.h"
 namespace chromeos {
 namespace local_search_service {
 
diff --git a/chromeos/components/local_search_service/public/cpp/local_search_service_provider.h b/chromeos/components/local_search_service/public/cpp/local_search_service_provider.h
index 42f4c8b..3dd7f0d3 100644
--- a/chromeos/components/local_search_service/public/cpp/local_search_service_provider.h
+++ b/chromeos/components/local_search_service/public/cpp/local_search_service_provider.h
@@ -5,7 +5,7 @@
 #ifndef CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_PUBLIC_CPP_LOCAL_SEARCH_SERVICE_PROVIDER_H_
 #define CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_PUBLIC_CPP_LOCAL_SEARCH_SERVICE_PROVIDER_H_
 
-#include "chromeos/components/local_search_service/public/mojom/local_search_service.mojom.h"
+#include "chromeos/components/local_search_service/public/mojom/local_search_service.mojom-forward.h"
 #include "mojo/public/cpp/bindings/remote_set.h"
 
 namespace chromeos {
diff --git a/chromeos/components/local_search_service/public/mojom/BUILD.gn b/chromeos/components/local_search_service/public/mojom/BUILD.gn
index 8bc64fc..bfcafd3 100644
--- a/chromeos/components/local_search_service/public/mojom/BUILD.gn
+++ b/chromeos/components/local_search_service/public/mojom/BUILD.gn
@@ -11,7 +11,10 @@
     "types.mojom",
   ]
 
-  public_deps = [ "//mojo/public/mojom/base" ]
+  public_deps = [
+    "//mojo/public/mojom/base",
+    "//sandbox/policy/mojom",
+  ]
 
   cpp_typemaps = [
     {
diff --git a/chromeos/components/local_search_service/public/mojom/local_search_service.mojom b/chromeos/components/local_search_service/public/mojom/local_search_service.mojom
index f250ab7..54b50b0 100644
--- a/chromeos/components/local_search_service/public/mojom/local_search_service.mojom
+++ b/chromeos/components/local_search_service/public/mojom/local_search_service.mojom
@@ -6,6 +6,7 @@
 
 import "chromeos/components/local_search_service/public/mojom/index.mojom";
 import "chromeos/components/local_search_service/public/mojom/types.mojom";
+import "sandbox/policy/mojom/sandbox.mojom";
 
 enum IndexId {
   kCrosSettings = 0,
@@ -26,6 +27,7 @@
 };
 
 // The main service interface.
+[ServiceSandbox=sandbox.mojom.Sandbox.kUtility]
 interface LocalSearchService {
   // Call this function to request an Index as specified by |index_id| and
   // |backend|.
diff --git a/chromeos/components/local_search_service/service_sandbox_type.h b/chromeos/components/local_search_service/service_sandbox_type.h
deleted file mode 100644
index 7a7b3fa2..0000000
--- a/chromeos/components/local_search_service/service_sandbox_type.h
+++ /dev/null
@@ -1,28 +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 CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_SERVICE_SANDBOX_TYPE_H_
-#define CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_SERVICE_SANDBOX_TYPE_H_
-
-#include "content/public/browser/service_process_host.h"
-#include "sandbox/policy/sandbox_type.h"
-
-// This file maps service classes to sandbox types. See
-// ServiceProcessHost::Launch() for how these templates are consumed.
-
-// chromeos::local_search_service::mojom::LocalSearchService
-namespace chromeos {
-namespace local_search_service {
-namespace mojom {
-class LocalSearchService;
-}
-}  // namespace local_search_service
-}  // namespace chromeos
-template <>
-inline sandbox::policy::SandboxType content::GetServiceSandboxType<
-    chromeos::local_search_service::mojom::LocalSearchService>() {
-  return sandbox::policy::SandboxType::kUtility;
-}
-
-#endif  // CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_SERVICE_SANDBOX_TYPE_H_
diff --git a/chromeos/components/media_app_ui/test/media_app_guest_ui_browsertest.js b/chromeos/components/media_app_ui/test/media_app_guest_ui_browsertest.js
index 29d926d1..12a2e6d 100644
--- a/chromeos/components/media_app_ui/test/media_app_guest_ui_browsertest.js
+++ b/chromeos/components/media_app_ui/test/media_app_guest_ui_browsertest.js
@@ -6,6 +6,15 @@
 
 import {GUEST_TEST} from './guest_query_receiver.js';
 
+export function eventToPromise(eventType, target) {
+  return new Promise(function(resolve, reject) {
+    target.addEventListener(eventType, function f(e) {
+      target.removeEventListener(eventType, f);
+      resolve(e);
+    });
+  });
+}
+
 // Test web workers can be spawned from chrome-untrusted://media-app. Errors
 // will be logged in console from web_ui_browser_test.cc.
 GUEST_TEST('GuestCanSpawnWorkers', async () => {
@@ -50,23 +59,23 @@
   // Can load images served from chrome-untrusted://media-app/.
   const image = new Image();
   image.src = 'chrome-untrusted://media-app/does-not-exist.png';
-  await test_util.eventToPromise('error', image);
+  await eventToPromise('error', image);
 
   // Can load image data urls.
   const imageData = new Image();
   imageData.src = 'data:image/png;base64,iVBORw0KG';
-  await test_util.eventToPromise('error', imageData);
+  await eventToPromise('error', imageData);
 
   // Can load image blobs.
   const imageBlob = new Image();
   imageBlob.src = 'blob:chrome-untrusted://media-app/my-fake-blob-hash';
-  await test_util.eventToPromise('error', imageBlob);
+  await eventToPromise('error', imageBlob);
 
   // Can load video blobs.
   const videoBlob =
       /** @type {!HTMLVideoElement} */ (document.createElement('video'));
   videoBlob.src = 'blob:chrome-untrusted://media-app/my-fake-blob-hash';
-  await test_util.eventToPromise('error', videoBlob);
+  await eventToPromise('error', videoBlob);
 });
 
 GUEST_TEST('GuestStartsWithDefaultFileList', async () => {
diff --git a/chromeos/components/media_app_ui/test/media_app_ui_browsertest.cc b/chromeos/components/media_app_ui/test/media_app_ui_browsertest.cc
index 6d93244..9a5fef1 100644
--- a/chromeos/components/media_app_ui/test/media_app_ui_browsertest.cc
+++ b/chromeos/components/media_app_ui/test/media_app_ui_browsertest.cc
@@ -12,14 +12,6 @@
 
 namespace {
 
-// File with utility functions for testing, defines `test_util`.
-constexpr base::FilePath::CharType kWebUiTestUtil[] =
-    FILE_PATH_LITERAL("chrome/test/data/webui/test_util.js");
-
-// File that `kWebUiTestUtil` is dependent on, defines `cr`.
-constexpr base::FilePath::CharType kCr[] =
-    FILE_PATH_LITERAL("ui/webui/resources/js/cr.js");
-
 // File containing the test utility library, shared with integration tests.
 constexpr base::FilePath::CharType kTestLibraryPath[] = FILE_PATH_LITERAL(
     "chromeos/components/media_app_ui/test/dom_testing_helpers.js");
@@ -41,12 +33,10 @@
 }  // namespace
 
 MediaAppUiBrowserTest::MediaAppUiBrowserTest()
-    : SandboxedWebUiAppTestBase(
-          chromeos::kChromeUIMediaAppURL,
-          chromeos::kChromeUIMediaAppGuestURL,
-          {base::FilePath(kTestLibraryPath), base::FilePath(kCr),
-           base::FilePath(kWebUiTestUtil)},
-          kGuestTestCases) {
+    : SandboxedWebUiAppTestBase(chromeos::kChromeUIMediaAppURL,
+                                chromeos::kChromeUIMediaAppGuestURL,
+                                {base::FilePath(kTestLibraryPath)},
+                                kGuestTestCases) {
   ConfigureDefaultTestRequestHandler(
       base::FilePath(kTestFileLocation),
       {std::begin(kTestFiles), std::end(kTestFiles)});
diff --git a/chromeos/components/personalization_app/personalization_app_ui.cc b/chromeos/components/personalization_app/personalization_app_ui.cc
index e783409..f6f4264 100644
--- a/chromeos/components/personalization_app/personalization_app_ui.cc
+++ b/chromeos/components/personalization_app/personalization_app_ui.cc
@@ -65,7 +65,9 @@
       {"center", IDS_PERSONALIZATION_APP_CENTER},
       {"fill", IDS_PERSONALIZATION_APP_FILL},
       {"changeDaily", IDS_PERSONALIZATION_APP_CHANGE_DAILY},
+      {"ariaLabelChangeDaily", IDS_PERSONALIZATION_APP_ARIA_LABEL_CHANGE_DAILY},
       {"refresh", IDS_PERSONALIZATION_APP_REFRESH},
+      {"ariaLabelRefresh", IDS_PERSONALIZATION_APP_ARIA_LABEL_REFRESH},
       {"dailyRefresh", IDS_PERSONALIZATION_APP_DAILY_REFRESH},
       {"unknownImageAttribution",
        IDS_PERSONALIZATION_APP_UNKNOWN_IMAGE_ATTRIBUTION},
diff --git a/chromeos/components/personalization_app/resources/trusted/wallpaper_selected_element.html b/chromeos/components/personalization_app/resources/trusted/wallpaper_selected_element.html
index 8def415..32c5fa9 100644
--- a/chromeos/components/personalization_app/resources/trusted/wallpaper_selected_element.html
+++ b/chromeos/components/personalization_app/resources/trusted/wallpaper_selected_element.html
@@ -127,6 +127,7 @@
       <template is="dom-if" if="[[showCollectionOptions_]]">
         <div id="collectionOptions">
         <cr-button id="dailyRefresh" data-collection-id$="[[collectionId]]"
+            aria-label$="[[i18n('ariaLabelChangeDaily')]]"
             data-daily-refresh-collection-id$="[[dailyRefreshCollectionId_]]"
             aria-pressed="[[ariaPressed_]]"
             on-click="onClickDailyRefreshToggle_">
@@ -134,6 +135,7 @@
           <div class="text">[[i18n('changeDaily')]]</div>
         </cr-button>
         <cr-button id="refreshWallpaper"
+            aria-label$="[[i18n('ariaLabelRefresh')]]"
             on-click="onClickUpdateDailyRefreshWallpaper_"
             hidden=[[!showRefreshButton_]]>
           <iron-icon icon="personalization:refresh"></iron-icon>
diff --git a/chromeos/dbus/concierge/concierge_client.cc b/chromeos/dbus/concierge/concierge_client.cc
index 439378d..faa73f01 100644
--- a/chromeos/dbus/concierge/concierge_client.cc
+++ b/chromeos/dbus/concierge/concierge_client.cc
@@ -173,6 +173,12 @@
                std::move(callback));
   }
 
+  void MakeRtVcpu(const vm_tools::concierge::MakeRtVcpuRequest& request,
+                  DBusMethodCallback<vm_tools::concierge::MakeRtVcpuResponse>
+                      callback) override {
+    CallMethod(concierge::kMakeRtVcpuMethod, request, std::move(callback));
+  }
+
   void SetVmCpuRestriction(
       const concierge::SetVmCpuRestrictionRequest& request,
       DBusMethodCallback<concierge::SetVmCpuRestrictionResponse> callback)
diff --git a/chromeos/dbus/concierge/concierge_client.h b/chromeos/dbus/concierge/concierge_client.h
index 3254ef46..0decb38 100644
--- a/chromeos/dbus/concierge/concierge_client.h
+++ b/chromeos/dbus/concierge/concierge_client.h
@@ -200,6 +200,12 @@
           vm_tools::concierge::GetVmEnterpriseReportingInfoResponse>
           callback) = 0;
 
+  // Make real-time vCPU for the VM.
+  // |callback| is called after the method call finishes.
+  virtual void MakeRtVcpu(
+      const vm_tools::concierge::MakeRtVcpuRequest& request,
+      DBusMethodCallback<vm_tools::concierge::MakeRtVcpuResponse> callback) = 0;
+
   // Set VM's CPU restriction state.
   // |callback| is called after the method call finishes.
   virtual void SetVmCpuRestriction(
diff --git a/chromeos/dbus/concierge/fake_concierge_client.cc b/chromeos/dbus/concierge/fake_concierge_client.cc
index 1e30b65..354a127 100644
--- a/chromeos/dbus/concierge/fake_concierge_client.cc
+++ b/chromeos/dbus/concierge/fake_concierge_client.cc
@@ -275,6 +275,14 @@
                                 get_vm_enterprise_reporting_info_response_));
 }
 
+void FakeConciergeClient::MakeRtVcpu(
+    const vm_tools::concierge::MakeRtVcpuRequest& request,
+    DBusMethodCallback<vm_tools::concierge::MakeRtVcpuResponse> callback) {
+  make_rt_vcpu_call_count_++;
+  base::ThreadTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE, base::BindOnce(std::move(callback), make_rt_vcpu_response_));
+}
+
 void FakeConciergeClient::SetVmCpuRestriction(
     const vm_tools::concierge::SetVmCpuRestrictionRequest& request,
     DBusMethodCallback<vm_tools::concierge::SetVmCpuRestrictionResponse>
@@ -419,6 +427,10 @@
   get_vm_info_response_->mutable_vm_info()->set_seneschal_server_handle(1);
 
   get_vm_enterprise_reporting_info_response_.emplace();
+
+  make_rt_vcpu_response_.emplace();
+  make_rt_vcpu_response_->set_success(true);
+
   set_vm_cpu_restriction_response_.emplace();
 
   container_ssh_keys_response_.emplace();
diff --git a/chromeos/dbus/concierge/fake_concierge_client.h b/chromeos/dbus/concierge/fake_concierge_client.h
index 4db8e7e5..88aacf17 100644
--- a/chromeos/dbus/concierge/fake_concierge_client.h
+++ b/chromeos/dbus/concierge/fake_concierge_client.h
@@ -92,6 +92,9 @@
       DBusMethodCallback<
           vm_tools::concierge::GetVmEnterpriseReportingInfoResponse> callback)
       override;
+  void MakeRtVcpu(const vm_tools::concierge::MakeRtVcpuRequest& request,
+                  DBusMethodCallback<vm_tools::concierge::MakeRtVcpuResponse>
+                      callback) override;
   void SetVmCpuRestriction(
       const vm_tools::concierge::SetVmCpuRestrictionRequest& request,
       DBusMethodCallback<vm_tools::concierge::SetVmCpuRestrictionResponse>
@@ -164,6 +167,7 @@
   int get_vm_enterprise_reporting_info_call_count() const {
     return get_vm_enterprise_reporting_info_call_count_;
   }
+  int make_rt_vcpu_call_count() const { return make_rt_vcpu_call_count_; }
   int get_container_ssh_keys_call_count() const {
     return get_container_ssh_keys_call_count_;
   }
@@ -247,6 +251,11 @@
     get_vm_enterprise_reporting_info_response_ =
         get_vm_enterprise_reporting_info_response;
   }
+  void set_make_rt_vcpu_response(
+      absl::optional<vm_tools::concierge::MakeRtVcpuResponse>
+          make_rt_vcpu_response) {
+    make_rt_vcpu_response_ = make_rt_vcpu_response;
+  }
   void set_set_vm_cpu_restriction_response(
       absl::optional<vm_tools::concierge::SetVmCpuRestrictionResponse>
           set_vm_cpu_restriction_response) {
@@ -339,6 +348,7 @@
   int stop_vm_call_count_ = 0;
   int get_vm_info_call_count_ = 0;
   int get_vm_enterprise_reporting_info_call_count_ = 0;
+  int make_rt_vcpu_call_count_ = 0;
   int set_vm_cpu_restriction_call_count_ = 0;
   int get_container_ssh_keys_call_count_ = 0;
   int attach_usb_device_call_count_ = 0;
@@ -373,6 +383,8 @@
   absl::optional<vm_tools::concierge::GetVmInfoResponse> get_vm_info_response_;
   absl::optional<vm_tools::concierge::GetVmEnterpriseReportingInfoResponse>
       get_vm_enterprise_reporting_info_response_;
+  absl::optional<vm_tools::concierge::MakeRtVcpuResponse>
+      make_rt_vcpu_response_;
   absl::optional<vm_tools::concierge::SetVmCpuRestrictionResponse>
       set_vm_cpu_restriction_response_;
   absl::optional<vm_tools::concierge::ContainerSshKeysResponse>
diff --git a/chromeos/services/machine_learning/public/mojom/text_suggester.mojom b/chromeos/services/machine_learning/public/mojom/text_suggester.mojom
index 930aa778..d8c78429 100644
--- a/chromeos/services/machine_learning/public/mojom/text_suggester.mojom
+++ b/chromeos/services/machine_learning/public/mojom/text_suggester.mojom
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// Next MinVersion: 2
+// Next MinVersion: 3
 
 // Datatypes and interfaces of text suggester API.
 
@@ -102,11 +102,15 @@
 };
 
 // Experiment groups for multi word suggestions
-// Next value: 2
+// Next value: 5
 [Stable, Extensible]
 enum MultiWordExperimentGroup {
   [Default] kDefault = 0,
   kGboard = 1,
+  // Experiment groups used for the relaxed gboard settings finch experiment
+  [MinVersion=2] kGboardRelaxedA = 2,
+  [MinVersion=2] kGboardRelaxedB = 3,
+  [MinVersion=2] kGboardRelaxedC = 4
 };
 
 // Encapsulates any settings details for a TextSuggester
diff --git a/chromeos/strings/chromeos_strings_as.xtb b/chromeos/strings/chromeos_strings_as.xtb
index c58fa5d9..ee1bf5e 100644
--- a/chromeos/strings/chromeos_strings_as.xtb
+++ b/chromeos/strings/chromeos_strings_as.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">মোৰ ফাইলসমূহ</translation>
 <translation id="3199982728237701504">নথি ফীডাৰ (দুফাল থকা)</translation>
 <translation id="3226405216343213872">স্কেনাৰ বিচাৰি থকা হৈছে</translation>
+<translation id="3228433892370472777">ডিফ’ল্ট সংযোগ</translation>
 <translation id="3246869037381808805">১ দিনতকৈ পুৰণি প্ৰিণ্ট কাৰ্যসমূহ আঁতৰোৱা হ’ব</translation>
 <translation id="3268178239013324452">বিফল হৈছে - দুৱাৰ খোল খাই আছে</translation>
 <translation id="3283504360622356314">{0,plural, =1{ফাইল সম্পাদনা কৰক}one{ফাইলসমূহ সম্পাদনা কৰক}other{ফাইলসমূহ সম্পাদনা কৰক}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">চাপ</translation>
 <translation id="4917385247580444890">শক্তিশালী</translation>
 <translation id="4917889632206600977">বন্ধ হৈছে - কাগজ শেষ হৈছে</translation>
+<translation id="491836528011451486">আপোনাৰ নথিখন স্কেনাৰটোত ৰাখক আৰু পৃষ্ঠাখন <ph name="CURRENT_PAGE" /> স্কেন আৰু সলনি কৰিবলৈ আৰু পুনৰ স্কেন কৰক বাছনি কৰক।</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> ছেকেণ্ডত <ph name="RATE" /> চাৰ্জ হৈছে।</translation>
 <translation id="4932733599132424254">তাৰিখ</translation>
 <translation id="498186245079027698">স্কেনাৰটো পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক। স্কেন কৰা ফাইল ছেভ কৰিবলৈ পৰ্যাপ্ত পৰিমাণে স্থানীয় খালী ঠাই থকাটো নিশ্চিত কৰক।</translation>
@@ -298,6 +300,7 @@
 <translation id="65587193855025101">ফ্লে'টবেড</translation>
 <translation id="6564646048574748301">বিফল হৈছে - প্ৰিণ্টাৰৰ সৈতে সংযোগ কৰিব পৰা নাই</translation>
 <translation id="6574762126505704998">সম্পূৰ্ণ স্ক্ৰীনজুৰি</translation>
+<translation id="6575134580692778371">কনফিগাৰ কৰা হোৱা নাই</translation>
 <translation id="6596816719288285829">আইপি ঠিকনা</translation>
 <translation id="6603230386432466813">সংযোগ কৰোঁতে সমস্যাৰ সৃষ্টি হৈছে নেকি?</translation>
 <translation id="6618744767048954150">চলি আছে</translation>
@@ -330,6 +333,7 @@
 <translation id="7177485034254901881">এই <ph name="DEVICE_TYPE" />টো <ph name="MANAGER" />এ পৰিচালনা কৰে। প্ৰশাসকে দূৰৰ পৰাই ডিভাইচটো কনফিগাৰ কৰিব পাৰে।</translation>
 <translation id="7180611975245234373">ৰিফ্ৰেশ্ব কৰক</translation>
 <translation id="7216409898977639127">চেলুলাৰ প্ৰদানকাৰী</translation>
+<translation id="7257889006063274246">আপুনি পৃষ্ঠাখন <ph name="CURRENT_PAGE" /> আঁতৰাব বিচাৰে বুলি নিশ্চিতনে?</translation>
 <translation id="7271040990581020067">বৰ্তমান স্কেনাৰটো ব্যৱহাৰ কৰি থকা হৈছে। পাছত পুনৰ চেষ্টা কৰক।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ৱালপেপাৰৰ সংগ্ৰহ</translation>
diff --git a/chromeos/strings/chromeos_strings_bn.xtb b/chromeos/strings/chromeos_strings_bn.xtb
index 138d2e0..7375a84 100644
--- a/chromeos/strings/chromeos_strings_bn.xtb
+++ b/chromeos/strings/chromeos_strings_bn.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">আমার ফাইল</translation>
 <translation id="3199982728237701504">ডকুমেন্ট ফিডার (দুই পিঠের)</translation>
 <translation id="3226405216343213872">স্ক্যানার খোঁজা হচ্ছে</translation>
+<translation id="3228433892370472777">ডিফল্ট কানেকশন</translation>
 <translation id="3246869037381808805">১ দিনের বেশি পুরনো প্রিন্ট জব সরিয়ে দেওয়া হবে</translation>
 <translation id="3268178239013324452">প্রিন্ট করা যায়নি - প্রিন্টারের ঢাকনা ভাল করে বন্ধ করা হয়নি</translation>
 <translation id="3283504360622356314">{0,plural, =1{ফাইলটি এডিট করুন}one{ফাইলগুলি এডিট করুন}other{ফাইলগুলি এডিট করুন}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">স্ট্রেস</translation>
 <translation id="4917385247580444890">জোরালো</translation>
 <translation id="4917889632206600977">বন্ধ হয়ে গেছে - কাগজ শেষ হয়ে গেছে</translation>
+<translation id="491836528011451486">স্ক্যান করার জন্য, স্ক্যানারের উপরে ডকুমেন্ট রাখুন ও 'রিস্ক্যান' বিকল্প বেছে নিন এবং <ph name="CURRENT_PAGE" /> পৃষ্ঠা বদল করুন।</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> সেকেন্ডে <ph name="RATE" /> চার্জ হয়েছে।</translation>
 <translation id="4932733599132424254">তারিখ</translation>
 <translation id="498186245079027698">স্ক্যানার চেক করে আবার চেষ্টা করুন। স্ক্যান করা ফাইল সেভ করার জন্য পর্যাপ্ত লোকাল স্পেস আছে কিনা দেখে নিন।</translation>
@@ -330,6 +332,7 @@
 <translation id="7177485034254901881"><ph name="MANAGER" />-এর মাধ্যমে এই <ph name="DEVICE_TYPE" /> ম্যানেজ করা হয়। অ্যাডমিনিস্ট্রেটর অন্য জায়গা থেকে ডিভাইসটি কনফিগার করতে পারেন।</translation>
 <translation id="7180611975245234373">রিফ্রেশ করুন</translation>
 <translation id="7216409898977639127">মোবাইল পরিষেবা প্রদানকারী</translation>
+<translation id="7257889006063274246">আপনি কি সত্যিই <ph name="CURRENT_PAGE" /> পৃষ্ঠা সরাতে চান?</translation>
 <translation id="7271040990581020067">স্ক্যানার বর্তমানে ব্যবহার করা হচ্ছে। পরে আবার চেষ্টা করুন।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ওয়ালপেপারের সংগ্রহ</translation>
diff --git a/chromeos/strings/chromeos_strings_gu.xtb b/chromeos/strings/chromeos_strings_gu.xtb
index faf9915..8cb65a1 100644
--- a/chromeos/strings/chromeos_strings_gu.xtb
+++ b/chromeos/strings/chromeos_strings_gu.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">મારી ફાઇલો</translation>
 <translation id="3199982728237701504">દસ્તાવેજનું ફીડર (બન્ને બાજુથી)</translation>
 <translation id="3226405216343213872">સ્કૅનર શોધી રહ્યાં છીએ</translation>
+<translation id="3228433892370472777">ડિફૉલ્ટ કનેક્શન</translation>
 <translation id="3246869037381808805">1 દિવસ કરતાં જૂના પ્રિન્ટ કાર્યો કાઢી નાખવામાં આવશે</translation>
 <translation id="3268178239013324452">નિષ્ફળ રહ્યું - પ્રિન્ટરનું ઢાંકણ ખૂલ્લું છે</translation>
 <translation id="3283504360622356314">{0,plural, =1{ફાઇલમાં ફેરફાર કરો}one{ફાઇલમાં ફેરફાર કરો}other{ફાઇલમાં ફેરફાર કરો}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">તાણ</translation>
 <translation id="4917385247580444890">સશક્ત</translation>
 <translation id="4917889632206600977">બંધ - કાગળ ખલાસ થઈ ગયા</translation>
+<translation id="491836528011451486">પેજ <ph name="CURRENT_PAGE" /> સ્કૅન કરવા અને બદલવા માટે, તમારા દસ્તાવેજને સ્કૅનર પર મૂકો અને ફરી સ્કૅન કરો પસંદ કરો.</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> સેકન્ડમાં <ph name="RATE" /> ચાર્જ કરી.</translation>
 <translation id="4932733599132424254">તારીખ</translation>
 <translation id="498186245079027698">તમારું સ્કૅનર ચેક કરો અને ફરી પ્રયાસ કરો. ખાતરી કરો કે સ્કૅન કરેલી ફાઇલોને સાચવવા માટે પૂરતી સ્થાનિક સ્પેસ હોય.</translation>
@@ -330,6 +332,7 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> દ્વારા <ph name="DEVICE_TYPE" />ને મેનેજ કરવામાં આવે છે. વ્યવસ્થાપકો દ્વારા ડિવાઇસને રિમોટલી કન્ફિગર કરવામાં આવી શકે છે.</translation>
 <translation id="7180611975245234373">રિફ્રેશ કરો</translation>
 <translation id="7216409898977639127">સેલ્યુલર પ્રદાતા</translation>
+<translation id="7257889006063274246">શું તમે ખરેખર પેજ <ph name="CURRENT_PAGE" />ને કાઢી નાખવા માગો છો?</translation>
 <translation id="7271040990581020067">સ્કૅનર હાલમાં ઉપયોગમાં છે. થોડા સમય પછી ફરી પ્રયાસ કરો.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">વૉલપેપરના સંગ્રહો</translation>
diff --git a/chromeos/strings/chromeos_strings_kn.xtb b/chromeos/strings/chromeos_strings_kn.xtb
index 9f94f460e..965b83ff 100644
--- a/chromeos/strings/chromeos_strings_kn.xtb
+++ b/chromeos/strings/chromeos_strings_kn.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">ನನ್ನ ಫೈಲ್‌ಗಳು</translation>
 <translation id="3199982728237701504">ಡಾಕ್ಯುಮೆಂಟ್ ಫೀಡರ್ (ಎರಡು-ಬದಿಯದ್ದು)</translation>
 <translation id="3226405216343213872">ಸ್ಕ್ಯಾನರ್‌ಗಳಿಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ</translation>
+<translation id="3228433892370472777">ಡೀಫಾಲ್ಟ್ ಕನೆಕ್ಷನ್</translation>
 <translation id="3246869037381808805">1 ದಿನಕ್ಕಿಂತ ಹಳೆಯದಾದ ಮುದ್ರಣ ಕಾರ್ಯಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ</translation>
 <translation id="3268178239013324452">ವಿಫಲವಾಗಿದೆ - ಡೋರ್ ತೆರೆದಿದೆ</translation>
 <translation id="3283504360622356314">{0,plural, =1{ಫೈಲ್ ಎಡಿಟ್ ಮಾಡಿ}one{ಫೈಲ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಿ}other{ಫೈಲ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಿ}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">ಒತ್ತಡ</translation>
 <translation id="4917385247580444890">ಪ್ರಬಲ</translation>
 <translation id="4917889632206600977">ನಿಲ್ಲಿಸಲಾಗಿದೆ - ಪೇಪರ್ ಖಾಲಿಯಾಗಿದೆ</translation>
+<translation id="491836528011451486">ನಿಮ್ಮ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಸ್ಕ್ಯಾನರ್‌ನಲ್ಲಿ ಇರಿಸಿ ಮತ್ತು ಪುಟ <ph name="CURRENT_PAGE" /> ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಮತ್ತು ಬದಲಿಸಲು ಮರುಸ್ಕ್ಯಾನ್ ಮಾಡಿ ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ.</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> ಸೆಕೆಂಡ್‌ಗಳಲ್ಲಿ <ph name="RATE" /> ಶುಲ್ಕವನ್ನು ವಿಧಿಸಲಾಗಿದೆ.</translation>
 <translation id="4932733599132424254">ದಿನಾಂಕ</translation>
 <translation id="498186245079027698">ಸ್ಕ್ಯಾನರ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ. ಸ್ಕ್ಯಾನ್ ಮಾಡಿರುವ ಫೈಲ್‌ಗಳನ್ನು ಉಳಿಸಲು ಸಾಕಷ್ಟು ಸ್ಥಳೀಯ ಸ್ಥಳವಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.</translation>
@@ -330,6 +332,7 @@
 <translation id="7177485034254901881">ಈ <ph name="DEVICE_TYPE" /> ಸಾಧನವನ್ನು <ph name="MANAGER" /> ನಿರ್ವಹಿಸುತ್ತದೆ ನಿರ್ವಾಹಕರು ರಿಮೋಟ್ ಆಗಿ ಸಾಧನವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು.</translation>
 <translation id="7180611975245234373">ರಿಫ್ರೆಶ್ ಮಾಡಿ</translation>
 <translation id="7216409898977639127">ಸೆಲ್ಯುಲಾರ್ ಒದಗಿಸುವವರು</translation>
+<translation id="7257889006063274246">ನೀವು ಖಚಿತವಾಗಿ ಪುಟ <ph name="CURRENT_PAGE" /> ಅನ್ನು ತೆಗೆದುಹಾಕಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="7271040990581020067">ಸ್ಕ್ಯಾನರ್ ಅನ್ನು ಪ್ರಸ್ತುತವಾಗಿ ಬಳಸಲಾಗುತ್ತಿದೆ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ವಾಲ್‌ಪೇಪರ್ ಸಂಗ್ರಹಗಳು</translation>
diff --git a/chromeos/strings/chromeos_strings_mr.xtb b/chromeos/strings/chromeos_strings_mr.xtb
index 33819eb9..584210f 100644
--- a/chromeos/strings/chromeos_strings_mr.xtb
+++ b/chromeos/strings/chromeos_strings_mr.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">माझ्या फाइल</translation>
 <translation id="3199982728237701504">दस्तऐवज फीडर (दोन बाजू असलेले)</translation>
 <translation id="3226405216343213872">स्कॅनर शोधत आहे</translation>
+<translation id="3228433892370472777">डीफॉल्ट कनेक्शन</translation>
 <translation id="3246869037381808805">एक दिवसापेक्षा जुने प्रिंट जॉब काढून टाकले जातील</translation>
 <translation id="3268178239013324452">अयशस्वी झाले - दार उघडे आहे</translation>
 <translation id="3283504360622356314">{0,plural, =1{फाइल संपादित करा}other{फाइल संपादित करा}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">ताण</translation>
 <translation id="4917385247580444890">मजबूत</translation>
 <translation id="4917889632206600977">थांबले - कागद संपला आहे</translation>
+<translation id="491836528011451486">पेज <ph name="CURRENT_PAGE" /> स्कॅन करण्यासाठी आणि बदलण्यासाठी तुमचा दस्तऐवज स्कॅनरवर ठेवा व पुन्हा स्कॅन करा निवडा.</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> सेकंदांत <ph name="RATE" /> शुल्क आकारले.</translation>
 <translation id="4932733599132424254">तारीख</translation>
 <translation id="498186245079027698">स्कॅनर तपासा आणि पुन्हा प्रयत्न करा. स्कॅन केलेल्या फाइल सेव्ह करण्यासाठी पुरेशी स्थानिक जागा उपलब्ध असल्याची खात्री करा.</translation>
@@ -331,6 +333,7 @@
 <translation id="7177485034254901881">हे <ph name="DEVICE_TYPE" /> <ph name="MANAGER" /> द्वारे व्यवस्थापित केले आहे. अ‍ॅडमिनिस्ट्रेटर रिमोट पद्धतीने डिव्हाइस काँफिगर करू शकतात.</translation>
 <translation id="7180611975245234373">रिफ्रेश करा</translation>
 <translation id="7216409898977639127">सेल्युलर सेवा देणारा</translation>
+<translation id="7257889006063274246">तुम्हाला नक्की पेज <ph name="CURRENT_PAGE" /> काढून टाकायचे आहे का?</translation>
 <translation id="7271040990581020067">स्कॅनर सध्या वापरात आहे. नंतर पुन्हा प्रयत्न करा.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">वॉलपेपरचा संग्रह</translation>
diff --git a/chromeos/strings/chromeos_strings_or.xtb b/chromeos/strings/chromeos_strings_or.xtb
index c6cacb5..e473e8e 100644
--- a/chromeos/strings/chromeos_strings_or.xtb
+++ b/chromeos/strings/chromeos_strings_or.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">ମୋ ଫାଇଲ୍‌ଗୁଡ଼ିକ</translation>
 <translation id="3199982728237701504">ଡକ୍ୟୁମେଣ୍ଟ ଫିଡର୍ (ଦୁଇ-ପାର୍ଶ୍ୱ)</translation>
 <translation id="3226405216343213872">ସ୍କାନରଗୁଡ଼ିକୁ ଖୋଜାଯାଉଛି</translation>
+<translation id="3228433892370472777">ଡିଫଲ୍ଟ ସଂଯୋଗ</translation>
 <translation id="3246869037381808805">1ଦିନରୁ ଅଧିକ ପୁରୁଣା ପ୍ରିଣ୍ଟ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ</translation>
 <translation id="3268178239013324452">ବିଫଳ ହୋଇଛି - ପ୍ରିଣ୍ଟରର କଭର୍ ଖୋଲା ଅଛି</translation>
 <translation id="3283504360622356314">{0,plural, =1{ଫାଇଲକୁ ଏଡିଟ୍ କରନ୍ତୁ}other{ଫାଇଲଗୁଡ଼ିକୁ ଏଡିଟ୍ କରନ୍ତୁ}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">ଷ୍ଟ୍ରେସ୍</translation>
 <translation id="4917385247580444890">ଦୃଢ଼</translation>
 <translation id="4917889632206600977">ବନ୍ଦ ହୋଇଯାଇଛି - କାଗଜ ସରିଯାଇଛି</translation>
+<translation id="491836528011451486"><ph name="CURRENT_PAGE" /> ନମ୍ବର ପୃଷ୍ଠାକୁ ସ୍କାନ୍ କରି ବଦଳାଇବା ପାଇଁ ଆପଣଙ୍କ ଡକ୍ୟୁମେଣ୍ଟକୁ ସ୍କାନରରେ ରଖି "ପୁଣି ସ୍କାନ୍ କରନ୍ତୁ"କୁ ଚୟନ କରନ୍ତୁ।</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> ସେକେଣ୍ଡରେ <ph name="RATE" /> ଚାର୍ଜ ହୋଇଛି</translation>
 <translation id="4932733599132424254">ତାରିଖ</translation>
 <translation id="498186245079027698">ସ୍କାନର୍ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ। ସ୍କାନ୍ କରାଯାଇଥିବା ଫାଇଲଗୁଡ଼ିକୁ ସେଭ୍ କରିବାକୁ ଯଥେଷ୍ଟ ଲୋକାଲ୍ ସ୍ଥାନ ଥିବା ନିଶ୍ଚିତ କରନ୍ତୁ।</translation>
@@ -298,6 +300,7 @@
 <translation id="65587193855025101">ଫ୍ଲାଟବେଡ୍</translation>
 <translation id="6564646048574748301">ବିଫଳ ହୋଇଛି - ପ୍ରିଣ୍ଟର୍ ସହ ସଂଯୋଗ କରି ହେଉନାହିଁ</translation>
 <translation id="6574762126505704998">ସମ୍ପୂର୍ଣ୍ଣ ରୂପେ କ୍ରପ୍ କରନ୍ତୁ</translation>
+<translation id="6575134580692778371">କନଫିଗର୍ କରାଯାଇନାହିଁ</translation>
 <translation id="6596816719288285829">IP ଠିକଣା</translation>
 <translation id="6603230386432466813">ସଂଯୋଗ କରିବାରେ ସମସ୍ୟା ହେଉଛି କି?</translation>
 <translation id="6618744767048954150">ଚାଲୁଛି</translation>
@@ -330,6 +333,7 @@
 <translation id="7177485034254901881">ଏହି <ph name="DEVICE_TYPE" />, <ph name="MANAGER" /> ଦ୍ୱାରା ପରିଚାଳିତ ହେଉଛି। ଆଡମିନିଷ୍ଟ୍ରେଟରମାନେ ଡିଭାଇସଟିକୁ ରିମୋଟ୍ ଭାବେ କନଫିଗର୍ କରିପାରନ୍ତି।</translation>
 <translation id="7180611975245234373">ରିଫ୍ରେଶ୍</translation>
 <translation id="7216409898977639127">ସେଲ୍ୟୁଲାର୍ ସେବା ପ୍ରଦାତା</translation>
+<translation id="7257889006063274246">ଆପଣ <ph name="CURRENT_PAGE" /> ନମ୍ବର ପୃଷ୍ଠାକୁ କାଢ଼ିଦେବାକୁ ଚାହୁଁଥିବା ନିଶ୍ଚିତ କି?</translation>
 <translation id="7271040990581020067">ସ୍କାନରକୁ ବର୍ତ୍ତମାନ ବ୍ୟବହାର କରାଯାଉଛି। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ୱାଲପେପର୍ ସଂଗ୍ରହଗୁଡ଼ିକ</translation>
diff --git a/chromeos/strings/chromeos_strings_pa.xtb b/chromeos/strings/chromeos_strings_pa.xtb
index 9654f16a..c4f81d10 100644
--- a/chromeos/strings/chromeos_strings_pa.xtb
+++ b/chromeos/strings/chromeos_strings_pa.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">ਮੇਰੀਆਂ ਫ਼ਾਈਲਾਂ</translation>
 <translation id="3199982728237701504">ਦਸਤਾਵੇਜ਼ ਫ਼ੀਡਰ (ਦੋ ਪਾਸੜ)</translation>
 <translation id="3226405216343213872">ਸਕੈਨਰ ਲੱਭੇ ਜਾ ਰਹੇ ਹਨ</translation>
+<translation id="3228433892370472777">ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਕਨੈਕਸ਼ਨ</translation>
 <translation id="3246869037381808805">1 ਦਿਨ ਤੋਂ ਜ਼ਿਆਦਾ ਪੁਰਾਣੀਆਂ ਪ੍ਰਿੰਟ ਜੌਬਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ</translation>
 <translation id="3268178239013324452">ਅਸਫਲ ਰਹੀ - ਢੱਕਣ ਖੁੱਲ੍ਹਾ ਹੈ</translation>
 <translation id="3283504360622356314">{0,plural, =1{ਫ਼ਾਈਲ ਦਾ ਸੰਪਾਦਨ ਕਰੋ}one{ਫ਼ਾਈਲ ਦਾ ਸੰਪਾਦਨ ਕਰੋ}other{ਫ਼ਾਈਲਾਂ ਦਾ ਸੰਪਾਦਨ ਕਰੋ}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">ਤਣਾਅ</translation>
 <translation id="4917385247580444890">ਮਜ਼ਬੂਤ</translation>
 <translation id="4917889632206600977">ਬੰਦ ਹੋ ਗਿਆ - ਕਾਗਜ਼ ਖਤਮ ਹੋ ਗਏ</translation>
+<translation id="491836528011451486"><ph name="CURRENT_PAGE" /> ਨੂੰ ਬਦਲਣ ਅਤੇ ਸਕੈਨ ਕਰਨ ਲਈ, ਆਪਣੇ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸਕੈਨਰ 'ਤੇ ਰੱਖੋ ਅਤੇ 'ਮੁੜ-ਸਕੈਨ ਕਰੋ' ਚੁਣੋ।</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> ਸਕਿੰਟਾਂ ਵਿੱਚ <ph name="RATE" /> ਚਾਰਜ ਹੋਈ।</translation>
 <translation id="4932733599132424254">ਤਾਰੀਖ</translation>
 <translation id="498186245079027698">ਸਕੈਨਰ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਸਕੈਨ ਕੀਤੀਆਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਜਗ੍ਹਾ ਹੈ।</translation>
@@ -330,6 +332,7 @@
 <translation id="7177485034254901881"><ph name="MANAGER" /> ਵੱਲੋਂ ਇਸ <ph name="DEVICE_TYPE" /> ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਸ਼ਾਇਦ ਪ੍ਰਸ਼ਾਸਕ ਰਿਮੋਟਲੀ ਡੀਵਾਈਸ ਦਾ ਸੰਰੂਪਣ ਕਰ ਸਕਦੇ ਹਨ।</translation>
 <translation id="7180611975245234373">ਰਿਫ੍ਰੈਸ਼ ਕਰੋ</translation>
 <translation id="7216409898977639127">ਸੈਲਿਊਲਰ ਪ੍ਰਦਾਨਕ</translation>
+<translation id="7257889006063274246">ਕੀ ਤੁਸੀਂ ਪੱਕਾ <ph name="CURRENT_PAGE" /> ਪੰਨੇ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="7271040990581020067">ਫ਼ਿਲਹਾਲ ਸਕੈਨਰ ਵਰਤੋਂ ਵਿੱਚ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">ਵਾਲਪੇਪਰ ਸੰਗ੍ਰਹਿ</translation>
diff --git a/chromeos/strings/chromeos_strings_ta.xtb b/chromeos/strings/chromeos_strings_ta.xtb
index 770ae7615..ed0b574 100644
--- a/chromeos/strings/chromeos_strings_ta.xtb
+++ b/chromeos/strings/chromeos_strings_ta.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">எனது கோப்புகள்</translation>
 <translation id="3199982728237701504">டாக்குமெண்ட் ஃபீடர் (இரண்டு பக்கமும்)</translation>
 <translation id="3226405216343213872">ஸ்கேனர்களைத் தேடுகிறது</translation>
+<translation id="3228433892370472777">இயல்பான இணைப்பு</translation>
 <translation id="3246869037381808805">1 நாளுக்கும் முன்னதாக உள்ள பிரிண்ட்டிங் பணிகள் அகற்றப்படும்</translation>
 <translation id="3268178239013324452">பிரிண்டரின் மூடி திறந்துள்ளதால் அச்சிட முடியவில்லை</translation>
 <translation id="3283504360622356314">{0,plural, =1{கோப்பினைத் திருத்துக}other{கோப்புகளைத் திருத்துக}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">ஸ்டிரெஸ்</translation>
 <translation id="4917385247580444890">வலிமையானது</translation>
 <translation id="4917889632206600977">காகிதம் தீர்ந்துவிட்டதால் அச்சிட முடியவில்லை</translation>
+<translation id="491836528011451486">பக்கம் <ph name="CURRENT_PAGE" /> ஐ ஸ்கேன் செய்து மாற்ற ஸ்கேனரில் ஆவணத்தை வைத்துவிட்டு ‘மீண்டும் ஸ்கேன் செய்’ என்பதைத் தேர்ந்தெடுக்கவும்.</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> வினாடிகளில் <ph name="RATE" /> சார்ஜ் செய்யப்பட்டது.</translation>
 <translation id="4932733599132424254">தேதி</translation>
 <translation id="498186245079027698">ஸ்கேனரைச் சரிபார்த்துவிட்டு மீண்டும் முயலவும். ஸ்கேன் செய்த ஃபைல்களைச் சேமிக்க போதுமான இடம் இருப்பதை உறுதிப்படுத்திக்கொள்ளவும்.</translation>
@@ -331,6 +333,7 @@
 <translation id="7177485034254901881">இந்த <ph name="DEVICE_TYPE" /> சாதனத்தை <ph name="MANAGER" /> நிர்வகிக்கிறது. நிர்வாகிகள் இந்தச் சாதனத்தைத் தொலைநிலையிலிருந்து உள்ளமைக்கக்கூடும்.</translation>
 <translation id="7180611975245234373">புதுப்பி</translation>
 <translation id="7216409898977639127">செல்லுலார் வழங்குநர்</translation>
+<translation id="7257889006063274246"><ph name="CURRENT_PAGE" /> பக்கத்தை நிச்சயமாக அகற்ற விரும்புகிறீர்களா?</translation>
 <translation id="7271040990581020067">ஸ்கேனர் தற்போது உபயோகத்தில் உள்ளது. பிறகு முயலவும்.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">வால்பேப்பர் தொகுப்புகள்</translation>
diff --git a/chromeos/strings/chromeos_strings_te.xtb b/chromeos/strings/chromeos_strings_te.xtb
index 038cca1..9586015b 100644
--- a/chromeos/strings/chromeos_strings_te.xtb
+++ b/chromeos/strings/chromeos_strings_te.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">నా ఫైళ్లు</translation>
 <translation id="3199982728237701504">డాక్యుమెంట్ ఫీడర్ (రెండు వైపులా)</translation>
 <translation id="3226405216343213872">స్కానర్‌ల కోసం వెతుకుతోంది</translation>
+<translation id="3228433892370472777">ఆటోమేటిక్ కనెక్షన్</translation>
 <translation id="3246869037381808805">1 రోజుకు పైగా ఉన్న ప్రింట్ టాస్క్‌లు తీసివేయబడతాయి</translation>
 <translation id="3268178239013324452">విఫలమైంది - తలుపు తెరుచుకుని ఉంది</translation>
 <translation id="3283504360622356314">{0,plural, =1{ఫైల్‌ను ఎడిట్ చేయండి}other{ఫైల్‌లను ఎడిట్ చేయండి}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">ఒత్తిడి</translation>
 <translation id="4917385247580444890">బలమైన</translation>
 <translation id="4917889632206600977">ఆగిపోయింది - పేపర్లు లేవు</translation>
+<translation id="491836528011451486">మీ డాక్యుమెంట్‌ను స్కానర్ మీద పెట్టి, స్కాన్ చేయడానికి "మళ్లీ స్కాన్ చేయండి"ని ఎంచుకుని, ఆ తర్వాత <ph name="CURRENT_PAGE" /> పేజీని రీప్లేస్ చేయండి.</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> సెకన్లలో <ph name="RATE" /> ఛార్జ్ అయ్యింది.</translation>
 <translation id="4932733599132424254">తేదీ</translation>
 <translation id="498186245079027698">స్కానర్‌ను చెక్ చేసి, మళ్లీ ట్రై చేయండి. స్కాన్ చేయబడిన ఫైల్స్‌ను సేవ్ చేయడానికి తగినంత స్థానిక స్పేస్ ఉందని నిర్దారించుకోండి.</translation>
@@ -330,6 +332,7 @@
 <translation id="7177485034254901881"><ph name="MANAGER" />, ఈ <ph name="DEVICE_TYPE" />ను మేనేజ్ చేస్తోంది. అడ్మినిస్ట్రేటర్‌లు పరికరాన్ని రిమోట్‌గా కాన్ఫిగర్ చేయవచ్చు.</translation>
 <translation id="7180611975245234373">రిఫ్రెష్ చేయి</translation>
 <translation id="7216409898977639127">సెల్యులార్ ప్రదాత</translation>
+<translation id="7257889006063274246">మీరు ఖచ్చితంగా <ph name="CURRENT_PAGE" /> పేజీని తీసివేయాలనుకుంటున్నారా?</translation>
 <translation id="7271040990581020067">స్కానర్ ప్రస్తుతం వినియోగంలో ఉంది. తర్వాత మళ్లీ ట్రై చేయండి.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">వాల్‌పేపర్ కలెక్షన్‌లు</translation>
diff --git a/chromeos/strings/chromeos_strings_ur.xtb b/chromeos/strings/chromeos_strings_ur.xtb
index 50fdb11..313e72d8 100644
--- a/chromeos/strings/chromeos_strings_ur.xtb
+++ b/chromeos/strings/chromeos_strings_ur.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">میری فائلز</translation>
 <translation id="3199982728237701504">دستاویز فیڈر (دو طرفہ)</translation>
 <translation id="3226405216343213872">اسکینرز کی تلاش جاری ہے</translation>
+<translation id="3228433892370472777">ڈیفالٹ کنکشن</translation>
 <translation id="3246869037381808805">1 دن سے پرانی پرنٹ جابز کو ہٹا دیا جائے گا</translation>
 <translation id="3268178239013324452">ناکام ہو گیا - دروازہ کھلا ہے</translation>
 <translation id="3283504360622356314">{0,plural, =1{فائل میں ترمیم کریں}other{فائلز میں ترمیم کریں}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">اسٹریس</translation>
 <translation id="4917385247580444890">مضبوط</translation>
 <translation id="4917889632206600977">رک گیا - کاغذ ختم ہو گیا</translation>
+<translation id="491836528011451486">اپنی دستاویز کو اسکینر پر رکھیں اور <ph name="CURRENT_PAGE" /> صفحہ کو اسکین اور تبدیل کرنے کے لیے دوبارہ اسکین کریں کو منتخب کریں۔</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> سیکنڈ میں <ph name="RATE" /> چارج کیا گیا۔</translation>
 <translation id="4932733599132424254">تاریخ</translation>
 <translation id="498186245079027698">اسکینر چیک کریں اور دوبارہ کوشش کریں۔ یقینی بنائیں کہ اسکین کردہ فائلز محفوظ کرنے کے لیے کافی مقامی جگہ ہے۔</translation>
@@ -330,6 +332,7 @@
 <translation id="7177485034254901881">یہ <ph name="DEVICE_TYPE" /> <ph name="MANAGER" /> کے زیر انتظام ہے۔ منتظمین دور سے آلے کو کنفیگر کر سکتے ہیں۔</translation>
 <translation id="7180611975245234373">ریفریش کریں</translation>
 <translation id="7216409898977639127">سیلولر فراہم کنندہ</translation>
+<translation id="7257889006063274246">کیا آپ واقعی <ph name="CURRENT_PAGE" /> صفحہ کو ہٹانا چاہتے ہیں؟</translation>
 <translation id="7271040990581020067">اسکینر فی الحال زیر استعمال ہے۔ بعد میں دوبارہ کوشش کریں۔</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">وال پیپر کے مجموعے</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-CN.xtb b/chromeos/strings/chromeos_strings_zh-CN.xtb
index cf5ff79..b6233f12 100644
--- a/chromeos/strings/chromeos_strings_zh-CN.xtb
+++ b/chromeos/strings/chromeos_strings_zh-CN.xtb
@@ -102,6 +102,7 @@
 <translation id="3188257591659621405">我的文件</translation>
 <translation id="3199982728237701504">文件馈送器(双面)</translation>
 <translation id="3226405216343213872">正在搜寻扫描器</translation>
+<translation id="3228433892370472777">默认连接</translation>
 <translation id="3246869037381808805">系统会自动移除存在时长已超过 1 天的打印任务</translation>
 <translation id="3268178239013324452">失败 - 机盖未关</translation>
 <translation id="3283504360622356314">{0,plural, =1{修改文件}other{修改文件}}</translation>
@@ -200,6 +201,7 @@
 <translation id="4891842000192098784">压力</translation>
 <translation id="4917385247580444890">强</translation>
 <translation id="4917889632206600977">已停止 - 纸张已用完</translation>
+<translation id="491836528011451486">将您的文件放置在扫描仪上,然后选择“重新扫描”即可扫描并替换第 <ph name="CURRENT_PAGE" /> 页。</translation>
 <translation id="4921665434385737356"><ph name="NUM_SECONDS" /> 秒内充了 <ph name="RATE" /> 的电量。</translation>
 <translation id="4932733599132424254">日期</translation>
 <translation id="498186245079027698">请检查扫描仪,然后重试。另请确保有足够的本地空间来保存扫描版文件。</translation>
@@ -331,6 +333,7 @@
 <translation id="7177485034254901881">此 <ph name="DEVICE_TYPE" /> 由 <ph name="MANAGER" /> 管理。管理员可能会远程配置此设备。</translation>
 <translation id="7180611975245234373">刷新</translation>
 <translation id="7216409898977639127">移动网络服务提供商</translation>
+<translation id="7257889006063274246">确定要移除第 <ph name="CURRENT_PAGE" /> 页吗?</translation>
 <translation id="7271040990581020067">扫描仪正在使用中。请稍后再试。</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7287310195820267359">壁纸集</translation>
diff --git a/components/feed/core/proto/BUILD.gn b/components/feed/core/proto/BUILD.gn
index 5c847c6..28e69e2 100644
--- a/components/feed/core/proto/BUILD.gn
+++ b/components/feed/core/proto/BUILD.gn
@@ -17,6 +17,7 @@
     "v2/ui.proto",
     "v2/wire/action_diagnostic_info.proto",
     "v2/wire/action_payload.proto",
+    "v2/wire/action_surface.proto",
     "v2/wire/capability.proto",
     "v2/wire/chrome_client_info.proto",
     "v2/wire/chrome_feed_response_metadata.proto",
diff --git a/components/feed/core/proto/v2/wire/action_surface.proto b/components/feed/core/proto/v2/wire/action_surface.proto
new file mode 100644
index 0000000..7a280b12
--- /dev/null
+++ b/components/feed/core/proto/v2/wire/action_surface.proto
@@ -0,0 +1,15 @@
+// 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.
+
+syntax = "proto2";
+
+package feedwire;
+
+option optimize_for = LITE_RUNTIME;
+
+enum ActionSurface {
+  UNKNOWN_SURFACE = 0;
+  ANDROID_CHROME_NEW_TAB = 7;
+  IOS_CHROME_NEW_TAB = 8;
+}
diff --git a/components/feed/core/proto/v2/wire/feed_action.proto b/components/feed/core/proto/v2/wire/feed_action.proto
index bfb60db8..c60343c 100644
--- a/components/feed/core/proto/v2/wire/feed_action.proto
+++ b/components/feed/core/proto/v2/wire/feed_action.proto
@@ -7,6 +7,7 @@
 package feedwire;
 
 import "components/feed/core/proto/v2/wire/action_payload.proto";
+import "components/feed/core/proto/v2/wire/action_surface.proto";
 
 option optimize_for = LITE_RUNTIME;
 
@@ -17,11 +18,6 @@
       CLIENT_SESSION = 1;
       CLIENT_CACHE = 2;
     }
-    enum ActionSurface {
-      UNKNOWN_SURFACE = 0;
-      ANDROID_CHROME_NEW_TAB = 7;
-      IOS_CHROME_NEW_TAB = 8;
-    }
     optional int64 timestamp_seconds = 1;
     optional int64 sequence_number = 2;
     optional int64 duration_ms = 3;
diff --git a/components/feed/core/proto/v2/wire/feed_query.proto b/components/feed/core/proto/v2/wire/feed_query.proto
index a71601dc..4f0f021f 100644
--- a/components/feed/core/proto/v2/wire/feed_query.proto
+++ b/components/feed/core/proto/v2/wire/feed_query.proto
@@ -24,6 +24,7 @@
   }
   enum ContentOrder {
     CONTENT_ORDER_UNSPECIFIED = 0;
+    RECENT = 2;
     GROUPED = 4;
   }
   oneof token {
diff --git a/components/feed/core/proto/v2/wire/reliability_logging_enums.proto b/components/feed/core/proto/v2/wire/reliability_logging_enums.proto
index 313bb84..035465a6 100644
--- a/components/feed/core/proto/v2/wire/reliability_logging_enums.proto
+++ b/components/feed/core/proto/v2/wire/reliability_logging_enums.proto
@@ -24,7 +24,7 @@
   NO_CARDS_UNKNOWN_REASON = 29;
   FAILED_TO_RENDER = 5;
   NAVIGATED_TO_ANOTHER_TAB = 10;
-  FRAGMENT_STOPPED = 11;
+  FRAGMENT_STOPPED = 11 [deprecated = true];
   ABORTED_DUE_TO_INVALID_STATE = 6;
   NAVIGATED_AWAY_IN_APP = 35;
   FEED_HIDDEN = 36;
diff --git a/components/feed/core/proto/v2/wire/web_feeds.proto b/components/feed/core/proto/v2/wire/web_feeds.proto
index 2851f770..2f60e30 100644
--- a/components/feed/core/proto/v2/wire/web_feeds.proto
+++ b/components/feed/core/proto/v2/wire/web_feeds.proto
@@ -16,7 +16,7 @@
     STATE_UNSPECIFIED = 0;
     INACTIVE = 1;
     ACTIVE = 2;
-    SUSPENDED = 3;
+    WAITING_FOR_CONTENT = 4;
   }
   string name = 1;
   string title = 2;
diff --git a/components/feed/core/v2/api_test/feed_api_stream_unittest.cc b/components/feed/core/v2/api_test/feed_api_stream_unittest.cc
index d9af601..373b23a 100644
--- a/components/feed/core/v2/api_test/feed_api_stream_unittest.cc
+++ b/components/feed/core/v2/api_test/feed_api_stream_unittest.cc
@@ -2401,15 +2401,19 @@
   EXPECT_FALSE(on_clear_all.called());
 }
 
-TEST_F(FeedApiTest, ManualRefreshSuccess) {
+TEST_F(FeedStreamTestForAllStreamTypes, ManualRefreshInterestFeedSuccess) {
   response_translator_.InjectResponse(MakeTypicalInitialModelState());
   TestForYouSurface surface(stream_.get());
   WaitForIdleTaskQueue();
   ASSERT_EQ("loading -> 2 slices", surface.DescribeUpdates());
+  response_translator_.InjectResponse(MakeTypicalInitialModelState());
+  TestWebFeedSurface surface2(stream_.get());
+  WaitForIdleTaskQueue();
+  ASSERT_EQ("loading -> 2 slices", surface2.DescribeUpdates());
 
   response_translator_.InjectResponse(MakeTypicalRefreshModelState());
   CallbackReceiver<bool> callback;
-  stream_->ManualRefresh(surface, callback.Bind());
+  stream_->ManualRefresh(surface.GetStreamType(), callback.Bind());
   WaitForIdleTaskQueue();
   EXPECT_EQ(absl::optional<bool>(true), callback.GetResult());
   EXPECT_EQ("3 slices", surface.DescribeUpdates());
@@ -2419,6 +2423,34 @@
   EXPECT_STRINGS_EQUAL(
       stream_->GetModel(surface.GetStreamType())->DumpStateForTesting(),
       ModelStateFor(kForYouStream, store_.get()));
+  // Verify another feed is not affected.
+  EXPECT_EQ("", surface2.DescribeUpdates());
+}
+
+TEST_F(FeedStreamTestForAllStreamTypes, ManualRefreshWebFeedSuccess) {
+  response_translator_.InjectResponse(MakeTypicalInitialModelState());
+  TestWebFeedSurface surface(stream_.get());
+  WaitForIdleTaskQueue();
+  ASSERT_EQ("loading -> 2 slices", surface.DescribeUpdates());
+  response_translator_.InjectResponse(MakeTypicalInitialModelState());
+  TestForYouSurface surface2(stream_.get());
+  WaitForIdleTaskQueue();
+  ASSERT_EQ("loading -> 2 slices", surface2.DescribeUpdates());
+
+  response_translator_.InjectResponse(MakeTypicalRefreshModelState());
+  CallbackReceiver<bool> callback;
+  stream_->ManualRefresh(surface.GetStreamType(), callback.Bind());
+  WaitForIdleTaskQueue();
+  EXPECT_EQ(absl::optional<bool>(true), callback.GetResult());
+  EXPECT_EQ("3 slices", surface.DescribeUpdates());
+  EXPECT_EQ(LoadStreamStatus::kLoadedFromNetwork,
+            metrics_reporter_->load_stream_status);
+  // Verify stored state is equivalent to in-memory model.
+  EXPECT_STRINGS_EQUAL(
+      stream_->GetModel(surface.GetStreamType())->DumpStateForTesting(),
+      ModelStateFor(kWebFeedStream, store_.get()));
+  // Verify another feed is not affected.
+  EXPECT_EQ("", surface2.DescribeUpdates());
 }
 
 TEST_F(FeedApiTest, ManualRefreshFailsBecauseNetworkRequestFails) {
@@ -2437,7 +2469,7 @@
   // Since we didn't inject a network response, the network update will fail.
   // The store should not be updated.
   CallbackReceiver<bool> callback;
-  stream_->ManualRefresh(surface, callback.Bind());
+  stream_->ManualRefresh(surface.GetStreamType(), callback.Bind());
   WaitForIdleTaskQueue();
   EXPECT_EQ(absl::optional<bool>(false), callback.GetResult());
   EXPECT_EQ("cant-refresh", surface.DescribeUpdates());
@@ -2458,7 +2490,7 @@
 
   response_translator_.InjectResponse(MakeTypicalRefreshModelState());
   CallbackReceiver<bool> callback;
-  stream_->ManualRefresh(surface, callback.Bind());
+  stream_->ManualRefresh(surface.GetStreamType(), callback.Bind());
   WaitForIdleTaskQueue();
   EXPECT_EQ(absl::optional<bool>(true), callback.GetResult());
   EXPECT_EQ("3 slices", surface.DescribeUpdates());
@@ -2477,7 +2509,7 @@
 
   response_translator_.InjectResponse(MakeTypicalRefreshModelState());
   CallbackReceiver<bool> callback;
-  stream_->ManualRefresh(surface, callback.Bind());
+  stream_->ManualRefresh(surface.GetStreamType(), callback.Bind());
   WaitForIdleTaskQueue();
   EXPECT_EQ(absl::optional<bool>(true), callback.GetResult());
   EXPECT_EQ("no-cards -> 3 slices", surface.DescribeUpdates());
@@ -2496,7 +2528,7 @@
 
   response_translator_.InjectResponse(MakeTypicalRefreshModelState());
   CallbackReceiver<bool> callback;
-  stream_->ManualRefresh(surface, callback.Bind());
+  stream_->ManualRefresh(surface.GetStreamType(), callback.Bind());
   WaitForIdleTaskQueue();
   // Manual refresh should fail immediately when loading is still in progress.
   EXPECT_EQ(absl::optional<bool>(false), callback.GetResult());
diff --git a/components/feed/core/v2/feed_stream.cc b/components/feed/core/v2/feed_stream.cc
index bfcc2801..fb27155 100644
--- a/components/feed/core/v2/feed_stream.cc
+++ b/components/feed/core/v2/feed_stream.cc
@@ -275,7 +275,8 @@
 
   // When done loading the for-you feed, try to refresh the web-feed if there's
   // no unread content.
-  if (base::FeatureList::IsEnabled(kWebFeed)) {
+  if (base::FeatureList::IsEnabled(kWebFeed) &&
+      result.load_type != LoadType::kManualRefresh) {
     if (result.stream_type.IsForYou()) {
       if (!HasUnreadContent(kWebFeedStream)) {
         LoadStreamTask::Options options;
@@ -520,9 +521,9 @@
   }
 }
 
-void FeedStream::ManualRefresh(const FeedStreamSurface& surface,
+void FeedStream::ManualRefresh(const StreamType& stream_type,
                                base::OnceCallback<void(bool)> callback) {
-  Stream& stream = GetStream(surface.GetStreamType());
+  Stream& stream = GetStream(stream_type);
 
   // Bail out immediately if loading in progress.
   if (stream.model_loading_in_progress) {
@@ -536,7 +537,7 @@
   stream.refresh_complete_callbacks.push_back(std::move(callback));
   if (stream.refresh_complete_callbacks.size() == 1) {
     LoadStreamTask::Options options;
-    options.stream_type = surface.GetStreamType();
+    options.stream_type = stream_type;
     options.load_type = LoadType::kManualRefresh;
     task_queue_.AddTask(std::make_unique<LoadStreamTask>(
         options, this,
diff --git a/components/feed/core/v2/feed_stream.h b/components/feed/core/v2/feed_stream.h
index c5875662..8b74c5b 100644
--- a/components/feed/core/v2/feed_stream.h
+++ b/components/feed/core/v2/feed_stream.h
@@ -112,7 +112,7 @@
   PersistentKeyValueStoreImpl& GetPersistentKeyValueStore() override;
   void LoadMore(const FeedStreamSurface& surface,
                 base::OnceCallback<void(bool)> callback) override;
-  void ManualRefresh(const FeedStreamSurface& surface,
+  void ManualRefresh(const StreamType& stream_type,
                      base::OnceCallback<void(bool)> callback) override;
   void ExecuteOperations(
       const StreamType& stream_type,
diff --git a/components/feed/core/v2/metrics_reporter.cc b/components/feed/core/v2/metrics_reporter.cc
index 7d62370b..9b5cf3a 100644
--- a/components/feed/core/v2/metrics_reporter.cc
+++ b/components/feed/core/v2/metrics_reporter.cc
@@ -5,6 +5,7 @@
 
 #include <algorithm>
 #include <cmath>
+#include <string>
 
 #include "base/logging.h"
 #include "base/metrics/histogram_functions.h"
@@ -50,6 +51,11 @@
   }
 }
 
+void ReportCombinedEngagementTypeHistogram(FeedEngagementType engagement_type) {
+  base::UmaHistogramEnumeration(
+      "ContentSuggestions.Feed.AllFeeds.EngagementType", engagement_type);
+}
+
 void ReportContentSuggestionsOpened(const StreamType& stream_type,
                                     int index_in_stream) {
   if (stream_type.IsForYou()) {
@@ -164,6 +170,7 @@
   RecordEngagement(stream_type, /*scroll_distance_dp=*/0, /*interacted=*/true);
   ReportEngagementTypeHistogram(stream_type,
                                 FeedEngagementType::kFeedInteracted);
+  ReportCombinedEngagementTypeHistogram(FeedEngagementType::kFeedInteracted);
 }
 
 void MetricsReporter::LogContentStats(const StreamType& stream_type,
@@ -201,15 +208,18 @@
   bool has_engagement = false;
   for (const StreamType& stream_type : kStreamTypes) {
     StreamStats& data = ForStream(stream_type);
-    if (!data.engaged_simple_reported_)
+    if (!data.engaged_simple_reported)
       continue;
     has_engagement = true;
-    data.engaged_reported_ = false;
-    data.engaged_simple_reported_ = false;
-    data.scrolled_reported_ = false;
+    data.engaged_reported = false;
+    data.engaged_simple_reported = false;
+    data.scrolled_reported = false;
   }
   if (has_engagement)
     TrackTimeSpentInFeed(false);
+  combined_stats_.engaged_reported = false;
+  combined_stats_.engaged_simple_reported = false;
+  combined_stats_.scrolled_reported = false;
 }
 
 void MetricsReporter::RecordEngagement(const StreamType& stream_type,
@@ -231,18 +241,22 @@
   // Report the user as engaged-simple if they have scrolled any amount or
   // interacted with the card, and we have not already reported it for this
   // chrome run.
-  if (!data.engaged_simple_reported_ &&
-      (scroll_distance_dp > 0 || interacted)) {
+  if (!data.engaged_simple_reported && (scroll_distance_dp > 0 || interacted)) {
     ReportEngagementTypeHistogram(stream_type,
                                   FeedEngagementType::kFeedEngagedSimple);
-    data.engaged_simple_reported_ = true;
+    data.engaged_simple_reported = true;
+    if (!combined_stats_.engaged_simple_reported) {
+      ReportCombinedEngagementTypeHistogram(
+          FeedEngagementType::kFeedEngagedSimple);
+      combined_stats_.engaged_simple_reported = true;
+    }
   }
 
   // Report the user as engaged if they have scrolled more than the threshold or
   // interacted with the card, and we have not already reported it this chrome
   // run.
   const int kMinScrollThresholdDp = 160;  // 1 inch.
-  if (!data.engaged_reported_ &&
+  if (!data.engaged_reported &&
       (scroll_distance_dp > kMinScrollThresholdDp || interacted)) {
     ReportEngagementTypeHistogram(stream_type,
                                   FeedEngagementType::kFeedEngaged);
@@ -250,7 +264,11 @@
     delegate_->SubscribedWebFeedCount(base::BindOnce(
         &MetricsReporter::ReportSubscriptionCountAtEngagementTime,
         base::Unretained(this)));
-    data.engaged_reported_ = true;
+    data.engaged_reported = true;
+    if (!combined_stats_.engaged_reported) {
+      ReportCombinedEngagementTypeHistogram(FeedEngagementType::kFeedEngaged);
+      combined_stats_.engaged_reported = true;
+    }
   }
 }
 
@@ -266,10 +284,14 @@
   RecordEngagement(stream_type, distance_dp, /*interacted=*/false);
 
   StreamStats& data = ForStream(stream_type);
-  if (!data.scrolled_reported_) {
+  if (!data.scrolled_reported) {
     ReportEngagementTypeHistogram(stream_type,
                                   FeedEngagementType::kFeedScrolled);
-    data.scrolled_reported_ = true;
+    data.scrolled_reported = true;
+    if (!combined_stats_.scrolled_reported) {
+      ReportCombinedEngagementTypeHistogram(FeedEngagementType::kFeedScrolled);
+      combined_stats_.scrolled_reported = true;
+    }
   }
 }
 
diff --git a/components/feed/core/v2/metrics_reporter.h b/components/feed/core/v2/metrics_reporter.h
index 405dd3d..788de24fe4 100644
--- a/components/feed/core/v2/metrics_reporter.h
+++ b/components/feed/core/v2/metrics_reporter.h
@@ -119,9 +119,9 @@
  private:
   // State replicated for reporting per-stream-type metrics.
   struct StreamStats {
-    bool engaged_simple_reported_ = false;
-    bool engaged_reported_ = false;
-    bool scrolled_reported_ = false;
+    bool engaged_simple_reported = false;
+    bool engaged_reported = false;
+    bool scrolled_reported = false;
   };
   struct SurfaceWaiting {
     explicit operator bool() const { return !wait_start.is_null(); }
@@ -167,6 +167,7 @@
 
   StreamStats for_you_stats_;
   StreamStats web_feed_stats_;
+  StreamStats combined_stats_;
 
   // State below here is shared between all stream types.
 
diff --git a/components/feed/core/v2/metrics_reporter_unittest.cc b/components/feed/core/v2/metrics_reporter_unittest.cc
index 540adcd7..cd09da6 100644
--- a/components/feed/core/v2/metrics_reporter_unittest.cc
+++ b/components/feed/core/v2/metrics_reporter_unittest.cc
@@ -21,6 +21,10 @@
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace feed {
+// Using the "unspecified" stream type to represent the combined streams when
+// checking engagement metrics.
+constexpr StreamType kCombinedStreams = StreamType();
+
 constexpr SurfaceId kSurfaceId = SurfaceId(5);
 const base::TimeDelta kEpsilon = base::TimeDelta::FromMilliseconds(1);
 const int kSubscriptionCount = 42;
@@ -45,10 +49,18 @@
   std::map<FeedEngagementType, int> ReportedEngagementType(
       const StreamType& stream_type) {
     std::map<FeedEngagementType, int> result;
-    const char* histogram_name =
-        stream_type.IsForYou()
-            ? "ContentSuggestions.Feed.EngagementType"
-            : "ContentSuggestions.Feed.WebFeed.EngagementType";
+    const char* histogram_name;
+    switch (stream_type.GetType()) {
+      case StreamType::Type::kForYou:
+        histogram_name = "ContentSuggestions.Feed.EngagementType";
+        break;
+      case StreamType::Type::kWebFeed:
+        histogram_name = "ContentSuggestions.Feed.WebFeed.EngagementType";
+        break;
+      case StreamType::Type::kUnspecified:
+        histogram_name = "ContentSuggestions.Feed.AllFeeds.EngagementType";
+        break;
+    }
     for (const auto& bucket : histogram_.GetAllSamples(histogram_name)) {
       result[static_cast<FeedEngagementType>(bucket.min)] += bucket.count;
     }
@@ -104,6 +116,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, ScrollingCanTriggerEngaged) {
@@ -115,6 +128,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, OpeningContentIsInteracting) {
@@ -126,6 +140,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, RemovingContentIsInteracting) {
@@ -138,6 +153,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, NotInterestedInIsInteracting) {
@@ -150,6 +166,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, ManageInterestsInIsInteracting) {
@@ -162,6 +179,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, VisitsCanLastMoreThanFiveMinutes) {
@@ -178,6 +196,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, NewVisitAfterInactivity) {
@@ -194,6 +213,53 @@
       {FeedEngagementType::kFeedScrolled, 2},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
+}
+
+TEST_F(MetricsReporterTest, InteractedWithBothFeeds) {
+  reporter_->StreamScrolled(kForYouStream, 1);
+  reporter_->OpenAction(kForYouStream, 0);
+  reporter_->StreamScrolled(kWebFeedStream, 1);
+  reporter_->OpenAction(kWebFeedStream, 0);
+
+  std::map<FeedEngagementType, int> want_1({
+      {FeedEngagementType::kFeedEngaged, 1},
+      {FeedEngagementType::kFeedInteracted, 1},
+      {FeedEngagementType::kFeedEngagedSimple, 1},
+      {FeedEngagementType::kFeedScrolled, 1},
+  });
+  EXPECT_EQ(want_1, ReportedEngagementType(kWebFeedStream));
+  EXPECT_EQ(want_1, ReportedEngagementType(kForYouStream));
+
+  std::map<FeedEngagementType, int> want_1c({
+      {FeedEngagementType::kFeedEngaged, 1},
+      {FeedEngagementType::kFeedInteracted, 2},
+      {FeedEngagementType::kFeedEngagedSimple, 1},
+      {FeedEngagementType::kFeedScrolled, 1},
+  });
+  EXPECT_EQ(want_1c, ReportedEngagementType(kCombinedStreams));
+
+  task_environment_.FastForwardBy(base::TimeDelta::FromMinutes(5) + kEpsilon);
+  reporter_->OpenAction(kForYouStream, 0);
+  reporter_->StreamScrolled(kForYouStream, 1);
+
+  EXPECT_EQ(want_1, ReportedEngagementType(kWebFeedStream));
+
+  std::map<FeedEngagementType, int> want_2({
+      {FeedEngagementType::kFeedEngaged, 2},
+      {FeedEngagementType::kFeedInteracted, 2},
+      {FeedEngagementType::kFeedEngagedSimple, 2},
+      {FeedEngagementType::kFeedScrolled, 2},
+  });
+  EXPECT_EQ(want_2, ReportedEngagementType(kForYouStream));
+
+  std::map<FeedEngagementType, int> want_2c({
+      {FeedEngagementType::kFeedEngaged, 2},
+      {FeedEngagementType::kFeedInteracted, 3},
+      {FeedEngagementType::kFeedEngagedSimple, 2},
+      {FeedEngagementType::kFeedScrolled, 2},
+  });
+  EXPECT_EQ(want_2c, ReportedEngagementType(kCombinedStreams));
 }
 
 TEST_F(MetricsReporterTest, ReportsLoadStreamStatus) {
@@ -418,6 +484,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.Open"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -434,6 +501,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kWebFeedStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.Open"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -450,6 +518,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.OpenInNewTab"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -467,6 +536,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.OpenInNewIncognitoTab"));
   histogram_.ExpectUniqueSample(
@@ -485,6 +555,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.SendFeedback"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -501,6 +572,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.Download"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -517,6 +589,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.LearnMore"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -533,6 +606,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.HideStory"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -549,6 +623,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.NotInterestedIn"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -565,6 +640,7 @@
       {FeedEngagementType::kFeedEngagedSimple, 1},
   });
   EXPECT_EQ(want, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.ManageInterests"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -577,6 +653,7 @@
 
   std::map<FeedEngagementType, int> want_empty;
   EXPECT_EQ(want_empty, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want_empty, ReportedEngagementType(kCombinedStreams));
   EXPECT_EQ(1, user_actions_.GetActionCount(
                    "ContentSuggestions.Feed.CardAction.ContextMenu"));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
@@ -588,6 +665,7 @@
 
   std::map<FeedEngagementType, int> want_empty;
   EXPECT_EQ(want_empty, ReportedEngagementType(kForYouStream));
+  EXPECT_EQ(want_empty, ReportedEngagementType(kCombinedStreams));
   histogram_.ExpectUniqueSample("ContentSuggestions.Feed.UserActions",
                                 FeedUserActionType::kOpenedFeedSurface, 1);
 }
diff --git a/components/feed/core/v2/public/feed_api.h b/components/feed/core/v2/public/feed_api.h
index f16f3d19..6095a4e7 100644
--- a/components/feed/core/v2/public/feed_api.h
+++ b/components/feed/core/v2/public/feed_api.h
@@ -89,7 +89,7 @@
 
   // Refresh the feed content by fetching the fresh content from the server.
   // Calls |callback| when complete. If the fetch fails, the parameter is false.
-  virtual void ManualRefresh(const FeedStreamSurface& surface,
+  virtual void ManualRefresh(const StreamType& stream_type,
                              base::OnceCallback<void(bool)> callback) = 0;
 
   // Request to fetch and image for use in the feed. Calls |callback|
diff --git a/components/feed/core/v2/public/test/stub_feed_api.h b/components/feed/core/v2/public/test/stub_feed_api.h
index 3a9511fa..24df1d0 100644
--- a/components/feed/core/v2/public/test/stub_feed_api.h
+++ b/components/feed/core/v2/public/test/stub_feed_api.h
@@ -43,7 +43,7 @@
   void ExecuteRefreshTask(RefreshTaskId task_id) override {}
   void LoadMore(const FeedStreamSurface& surface,
                 base::OnceCallback<void(bool)> callback) override {}
-  void ManualRefresh(const FeedStreamSurface& surface,
+  void ManualRefresh(const StreamType& stream_type,
                      base::OnceCallback<void(bool)> callback) override {}
   ImageFetchId FetchImage(
       const GURL& url,
diff --git a/components/feed/core/v2/tasks/upload_actions_task.cc b/components/feed/core/v2/tasks/upload_actions_task.cc
index 9ef0447d..b30b440 100644
--- a/components/feed/core/v2/tasks/upload_actions_task.cc
+++ b/components/feed/core/v2/tasks/upload_actions_task.cc
@@ -9,6 +9,7 @@
 #include "base/metrics/histogram_functions.h"
 #include "base/time/time.h"
 #include "components/feed/core/proto/v2/store.pb.h"
+#include "components/feed/core/proto/v2/wire/action_surface.pb.h"
 #include "components/feed/core/proto/v2/wire/upload_actions_request.pb.h"
 #include "components/feed/core/proto/v2/wire/upload_actions_response.pb.h"
 #include "components/feed/core/v2/config.h"
@@ -119,7 +120,7 @@
   client_data->set_timestamp_seconds(
       (base::Time::Now() - base::Time::UnixEpoch()).InSeconds());
   client_data->set_action_surface(
-      feedwire::FeedAction::ClientData::ANDROID_CHROME_NEW_TAB);
+      feedwire::ActionSurface::ANDROID_CHROME_NEW_TAB);
   gaia_ = stream_.GetSyncSignedInGaia();
 }
 
diff --git a/components/full_restore/full_restore_read_and_save_unittest.cc b/components/full_restore/full_restore_read_and_save_unittest.cc
index 83c886f..e2227b1d 100644
--- a/components/full_restore/full_restore_read_and_save_unittest.cc
+++ b/components/full_restore/full_restore_read_and_save_unittest.cc
@@ -201,6 +201,7 @@
 
   FullRestoreSaveHandler* GetSaveHandler(bool start_save_timer = true) {
     auto* save_handler = FullRestoreSaveHandler::GetInstance();
+    save_handler->SetActiveProfilePath(GetPath());
     save_handler->AllowSave();
     return save_handler;
   }
@@ -518,6 +519,8 @@
   ASSERT_TRUE(tmp_dir1.CreateUniqueTempDir());
   ASSERT_TRUE(tmp_dir2.CreateUniqueTempDir());
 
+  save_handler->SetActiveProfilePath(tmp_dir1.GetPath());
+
   // Add app launch info for |tmp_dir1|, and verify the timer starts.
   AddAppLaunchInfo(tmp_dir1.GetPath(), kId1);
   EXPECT_TRUE(timer->IsRunning());
@@ -540,6 +543,12 @@
   task_environment().RunUntilIdle();
 
   VerifyRestoreData(tmp_dir1.GetPath(), kId1, kActivationIndex1);
+
+  // Set the active profile path to `tmp_dir2` to simulate the user is switched.
+  save_handler->SetActiveProfilePath(tmp_dir2.GetPath());
+  timer->FireNow();
+  task_environment().RunUntilIdle();
+
   VerifyRestoreData(tmp_dir2.GetPath(), kId2, kActivationIndex2);
 }
 
diff --git a/components/full_restore/full_restore_save_handler.cc b/components/full_restore/full_restore_save_handler.cc
index 5a3c2f3..16b017f6 100644
--- a/components/full_restore/full_restore_save_handler.cc
+++ b/components/full_restore/full_restore_save_handler.cc
@@ -87,8 +87,10 @@
   if (wait_timer_.IsRunning())
     wait_timer_.Stop();
 
-  for (const auto& profile_path : pending_save_profile_paths_)
-    MaybeStartSaveTimer(profile_path);
+  if (!is_shut_down_ &&
+      base::Contains(pending_save_profile_paths_, active_profile_path_)) {
+    MaybeStartSaveTimer(active_profile_path_);
+  }
 }
 
 void FullRestoreSaveHandler::SetShutDown() {
@@ -466,7 +468,6 @@
   profile_path_to_file_handler_.clear();
   profile_path_to_restore_data_.clear();
   app_id_to_app_launch_infos_.clear();
-  active_profile_path_.clear();
   primary_profile_path_.clear();
   save_running_.clear();
   pending_save_profile_paths_.clear();
@@ -508,13 +509,14 @@
 }
 
 void FullRestoreSaveHandler::Save() {
-  if (pending_save_profile_paths_.empty() || is_shut_down_)
+  if (is_shut_down_ ||
+      !base::Contains(pending_save_profile_paths_, active_profile_path_)) {
     return;
+  }
 
-  for (const auto& file_path : pending_save_profile_paths_)
-    Flush(file_path);
+  Flush(active_profile_path_);
 
-  pending_save_profile_paths_.clear();
+  pending_save_profile_paths_.erase(active_profile_path_);
 }
 
 void FullRestoreSaveHandler::OnSaveFinished(
diff --git a/components/metrics/structured/BUILD.gn b/components/metrics/structured/BUILD.gn
index 71a87fc..26f1de14 100644
--- a/components/metrics/structured/BUILD.gn
+++ b/components/metrics/structured/BUILD.gn
@@ -33,6 +33,7 @@
   deps = [
     ":storage",
     ":structured_events",
+    ":structured_metrics_validator",
     "//base",
     "//components/metrics",
     "//components/prefs",
@@ -93,6 +94,48 @@
   ]
 }
 
+action("gen_structured_metrics_validator") {
+  script = "//tools/metrics/structured/gen_validator.py"
+
+  # Re-generate the outputs if the codegen code changes:
+  inputs = [
+    "//tools/metrics/structured/codegen.py",
+    "//tools/metrics/structured/gen_validator.py",
+    "//tools/metrics/structured/model.py",
+    "//tools/metrics/structured/model_util.py",
+    "//tools/metrics/structured/templates_validator.py",
+  ]
+  sources = [ "//tools/metrics/structured/structured.xml" ]
+
+  outdir = "$target_gen_dir"
+
+  outputs = [
+    outdir + "/structured_metrics_validator.cc",
+    outdir + "/structured_metrics_validator.h",
+  ]
+
+  args = [
+    "--input",
+    rebase_path(sources[0], root_build_dir),
+    "--output",
+    rebase_path(outdir, root_build_dir),
+  ]
+}
+
+static_library("structured_metrics_validator") {
+  sources = get_target_outputs(":gen_structured_metrics_validator") + [
+              "event_validator.h",
+              "event_validator.cc",
+              "project_validator.h",
+              "project_validator.cc",
+            ]
+
+  deps = [
+    ":gen_structured_metrics_validator",
+    "//base",
+  ]
+}
+
 source_set("unit_tests") {
   testonly = true
   sources = [
diff --git a/components/metrics/structured/event_validator.cc b/components/metrics/structured/event_validator.cc
new file mode 100644
index 0000000..4282a08
--- /dev/null
+++ b/components/metrics/structured/event_validator.cc
@@ -0,0 +1,19 @@
+// 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 "components/metrics/structured/event_validator.h"
+
+#include <cstdint>
+
+namespace metrics {
+namespace structured {
+
+EventValidator::EventValidator(uint64_t event_hash) : event_hash_(event_hash) {}
+
+uint64_t EventValidator::event_hash() const {
+  return event_hash_;
+}
+
+}  // namespace structured
+}  // namespace metrics
diff --git a/components/metrics/structured/event_validator.h b/components/metrics/structured/event_validator.h
new file mode 100644
index 0000000..ef7188c2
--- /dev/null
+++ b/components/metrics/structured/event_validator.h
@@ -0,0 +1,45 @@
+// 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 COMPONENTS_METRICS_STRUCTURED_EVENT_VALIDATOR_H_
+#define COMPONENTS_METRICS_STRUCTURED_EVENT_VALIDATOR_H_
+
+#include <cstdint>
+#include <string>
+
+#include "third_party/abseil-cpp/absl/types/optional.h"
+
+namespace metrics {
+namespace structured {
+
+// Interface to be implemented by codegen for every event to validate
+// messages received by the structured metric service.
+class EventValidator {
+ public:
+  // Should not be copied or moved.
+  EventValidator(const EventValidator&) = delete;
+  EventValidator& operator=(const EventValidator& other) = delete;
+
+  virtual ~EventValidator();
+
+  // Returns the event validator if |metric_name| is a valid metric for this
+  // event. This method is virtual because a static constexpr map will be
+  // defined within each event validator implementation.
+  virtual absl::optional<uint64_t> GetMetricHash(
+      const std::string& metric_name) const;
+
+  uint64_t event_hash() const;
+
+ protected:
+  // Should not be constructed directly.
+  explicit EventValidator(uint64_t event_hash);
+
+ private:
+  uint64_t event_hash_;
+};
+
+}  // namespace structured
+}  // namespace metrics
+
+#endif  // COMPONENTS_METRICS_STRUCTURED_EVENT_VALIDATOR_H_
diff --git a/components/metrics/structured/project_validator.cc b/components/metrics/structured/project_validator.cc
new file mode 100644
index 0000000..27d9807
--- /dev/null
+++ b/components/metrics/structured/project_validator.cc
@@ -0,0 +1,20 @@
+// 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 "components/metrics/structured/project_validator.h"
+
+#include <cstdint>
+
+namespace metrics {
+namespace structured {
+
+ProjectValidator::ProjectValidator(uint64_t project_hash)
+    : project_hash_(project_hash) {}
+
+uint64_t ProjectValidator::project_hash() const {
+  return project_hash_;
+}
+
+}  // namespace structured
+}  // namespace metrics
diff --git a/components/metrics/structured/project_validator.h b/components/metrics/structured/project_validator.h
new file mode 100644
index 0000000..d94c71d
--- /dev/null
+++ b/components/metrics/structured/project_validator.h
@@ -0,0 +1,45 @@
+// 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 COMPONENTS_METRICS_STRUCTURED_PROJECT_VALIDATOR_H_
+#define COMPONENTS_METRICS_STRUCTURED_PROJECT_VALIDATOR_H_
+
+#include <cstdint>
+#include <string>
+
+#include "components/metrics/structured/event_validator.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
+
+namespace metrics {
+namespace structured {
+
+// Interface to be implemented by codegen for every project to validate
+// messages received by the structured metric service.
+class ProjectValidator {
+ public:
+  // Should not be copied or moved.
+  ProjectValidator(const ProjectValidator&) = delete;
+  ProjectValidator& operator=(const ProjectValidator& other) = delete;
+
+  virtual ~ProjectValidator();
+
+  // Returns the event validator if |event_name| is a valid event for this
+  // project.
+  virtual absl::optional<const EventValidator*> GetEventValidator(
+      const std::string& event_name);
+
+  uint64_t project_hash() const;
+
+ protected:
+  // Should not be constructed directly.
+  explicit ProjectValidator(uint64_t project_hash);
+
+ private:
+  const uint64_t project_hash_;
+};
+
+}  // namespace structured
+}  // namespace metrics
+
+#endif  // COMPONENTS_METRICS_STRUCTURED_PROJECT_VALIDATOR_H_
diff --git a/components/metrics/structured/structured_metrics_provider.cc b/components/metrics/structured/structured_metrics_provider.cc
index 8c404ee..73095892 100644
--- a/components/metrics/structured/structured_metrics_provider.cc
+++ b/components/metrics/structured/structured_metrics_provider.cc
@@ -243,7 +243,21 @@
       break;
   }
 
+  // Set the event type. Do this with a switch statement to catch when the event
+  // type is UNKNOWN or uninitialized.
+  switch (event.event_type()) {
+    case StructuredEventProto_EventType_REGULAR:
+    case StructuredEventProto_EventType_RAW_STRING:
+      event_proto->set_event_type(event.event_type());
+      break;
+    default:
+      NOTREACHED();
+      break;
+  }
+
   event_proto->set_event_name_hash(event.name_hash());
+
+  // Set each metric's name hash and value.
   for (const auto& metric : event.metrics()) {
     auto* metric_proto = event_proto->add_metrics();
     metric_proto->set_name_hash(metric.name_hash);
@@ -257,8 +271,7 @@
         metric_proto->set_value_int64(metric.int_value);
         break;
       case EventBase::MetricType::kRawString:
-        // TODO(crbug.com/1233803): Unimplemented.
-        NOTREACHED();
+        metric_proto->set_value_string(metric.string_value);
         break;
     }
   }
diff --git a/components/metrics/structured/structured_metrics_provider_unittest.cc b/components/metrics/structured/structured_metrics_provider_unittest.cc
index f1ee4cb..3b13d039 100644
--- a/components/metrics/structured/structured_metrics_provider_unittest.cc
+++ b/components/metrics/structured/structured_metrics_provider_unittest.cc
@@ -52,6 +52,8 @@
 constexpr uint64_t kEventFourHash = UINT64_C(1718797808092246258);
 // The name hash of "chrome::TestProjectFour::TestEventFive".
 constexpr uint64_t kEventFiveHash = UINT64_C(7045523601811399253);
+// The name hash of "chrome::TestProjectFour::TestEventSix".
+constexpr uint64_t kEventSixHash = UINT64_C(2873337042686447043);
 
 // The name hash of "TestMetricOne".
 constexpr uint64_t kMetricOneHash = UINT64_C(637929385654885975);
@@ -63,6 +65,8 @@
 constexpr uint64_t kMetricFourHash = UINT64_C(2917855408523247722);
 // The name hash of "TestMetricFive".
 constexpr uint64_t kMetricFiveHash = UINT64_C(8665976921794972190);
+// The name hash of "TestMetricSix".
+constexpr uint64_t kMetricSixHash = UINT64_C(3431522567539822144);
 
 // The hex-encoded first 8 bytes of SHA256("aaa...a")
 constexpr char kProjectOneId[] = "3BA3F5F43B926026";
@@ -495,6 +499,30 @@
   histogram_tester_.ExpectTotalCount("UMA.StructuredMetrics.InternalError", 0);
 }
 
+// Ensure that events containing raw string metrics are reported correctly.
+TEST_F(StructuredMetricsProviderTest, RawStringMetricsReportedCorrectly) {
+  Init();
+
+  const std::string test_string = "a raw string value";
+  events::test_project_five::TestEventSix()
+      .SetTestMetricSix(test_string)
+      .Record();
+
+  const auto data = GetIndependentMetrics();
+  ASSERT_EQ(data.events_size(), 1);
+
+  const auto& event = data.events(0);
+  EXPECT_EQ(event.event_name_hash(), kEventSixHash);
+  EXPECT_FALSE(event.has_profile_event_id());
+  EXPECT_EQ(event.event_type(), StructuredEventProto_EventType_RAW_STRING);
+
+  ASSERT_EQ(event.metrics_size(), 1);
+  const auto& metric = event.metrics(0);
+
+  EXPECT_EQ(metric.name_hash(), kMetricSixHash);
+  EXPECT_EQ(metric.value_string(), test_string);
+}
+
 TEST_F(StructuredMetricsProviderTest, DeviceKeysUsedForDeviceScopedProjects) {
   WriteTestingProfileKeys();
   WriteTestingDeviceKeys();
diff --git a/components/optimization_guide/proto/models.proto b/components/optimization_guide/proto/models.proto
index 9039103..e6a7db7 100644
--- a/components/optimization_guide/proto/models.proto
+++ b/components/optimization_guide/proto/models.proto
@@ -271,9 +271,6 @@
   // A model using only operations that are supported by TensorflowLite 2.3.0
   // with updated FULLY_CONNECTED and BATCH_MUL versions for quantized models.
   MODEL_TYPE_TFLITE_2_3_0_1 = 3;
-  // TensorflowLite version 2.4.2, and a bit more up to internal rev number
-  // 381280669.
-  MODEL_TYPE_TFLITE_2_4 = 4;
 }
 
 // A set of model features and the host that it applies to.
diff --git a/components/payments/content/android/java/src/org/chromium/components/payments/PaymentRequestService.java b/components/payments/content/android/java/src/org/chromium/components/payments/PaymentRequestService.java
index 8c647a62..3d7408c 100644
--- a/components/payments/content/android/java/src/org/chromium/components/payments/PaymentRequestService.java
+++ b/components/payments/content/android/java/src/org/chromium/components/payments/PaymentRequestService.java
@@ -854,6 +854,7 @@
                         ErrorStrings.WEB_AUTHN_OPERATION_TIMED_OUT_OR_NOT_ALLOWED,
                         PaymentErrorReason.NOT_ALLOWED_ERROR);
             });
+            if (sNativeObserverForTest != null) sNativeObserverForTest.onErrorDisplayed();
             return null;
         }
 
@@ -1837,4 +1838,11 @@
         PaymentDetailsUpdateServiceHelper.getInstance().reset();
         if (sNativeObserverForTest != null) sNativeObserverForTest.onErrorDisplayed();
     }
+
+    @VisibleForTesting
+    @Nullable
+    public static SecurePaymentConfirmationNoMatchingCredController
+    getSecurePaymentConfirmationNoMatchingCredUiForTesting() {
+        return sShowingPaymentRequest == null ? null : sShowingPaymentRequest.mNoMatchingController;
+    }
 }
diff --git a/components/payments/content/android/java/src/org/chromium/components/payments/secure_payment_confirmation/SecurePaymentConfirmationNoMatchingCredController.java b/components/payments/content/android/java/src/org/chromium/components/payments/secure_payment_confirmation/SecurePaymentConfirmationNoMatchingCredController.java
index 35c1b42d..7a6d3d3 100644
--- a/components/payments/content/android/java/src/org/chromium/components/payments/secure_payment_confirmation/SecurePaymentConfirmationNoMatchingCredController.java
+++ b/components/payments/content/android/java/src/org/chromium/components/payments/secure_payment_confirmation/SecurePaymentConfirmationNoMatchingCredController.java
@@ -34,7 +34,7 @@
         public void onSheetStateChanged(int newState, int reason) {
             switch (newState) {
                 case BottomSheetController.SheetState.HIDDEN:
-                    onContinue();
+                    hide();
                     break;
             }
         }
@@ -126,11 +126,6 @@
         mWebContents = webContents;
     }
 
-    private void onContinue() {
-        hide();
-        mResponseCallback.run();
-    }
-
     /** Hides the SPC No Matching Credential UI. */
     public void hide() {
         if (mHider == null) return;
@@ -159,22 +154,19 @@
         String origin = UrlFormatter.formatUrlForSecurityDisplay(
                 mWebContents.getVisibleUrl().getOrigin().getSpec());
 
-        mView = new SecurePaymentConfirmationNoMatchingCredView(context, origin, this::onContinue);
+        mView = new SecurePaymentConfirmationNoMatchingCredView(context, origin, this::hide);
 
         mHider = () -> {
+            if (mResponseCallback != null) {
+                mResponseCallback.run();
+                mResponseCallback = null;
+            }
             bottomSheet.removeObserver(mBottomSheetObserver);
             bottomSheet.hideContent(/*content=*/mBottomSheetContent, /*animate=*/true);
         };
 
         mResponseCallback = callback;
 
-        boolean isShowSuccess =
-                bottomSheet.requestShowContent(mBottomSheetContent, /*animate=*/true);
-
-        if (!isShowSuccess) {
-            hide();
-            mResponseCallback.run();
-            return;
-        }
+        if (!bottomSheet.requestShowContent(mBottomSheetContent, /*animate=*/true)) hide();
     }
 }
diff --git a/components/payments/content/content_payment_request_delegate.h b/components/payments/content/content_payment_request_delegate.h
index 490e3920..efa162a 100644
--- a/components/payments/content/content_payment_request_delegate.h
+++ b/components/payments/content/content_payment_request_delegate.h
@@ -25,6 +25,7 @@
 class PaymentRequestDialog;
 class PaymentRequestDisplayManager;
 class PaymentUIObserver;
+class SecurePaymentConfirmationNoCreds;
 
 // The delegate for PaymentRequest that can use content.
 class ContentPaymentRequestDelegate : public PaymentRequestDelegate {
@@ -74,6 +75,8 @@
   virtual std::string GetTwaPackageName() const = 0;
 
   virtual PaymentRequestDialog* GetDialogForTesting() = 0;
+  virtual SecurePaymentConfirmationNoCreds*
+  GetNoMatchingCredentialsDialogForTesting() = 0;
 
   virtual const base::WeakPtr<PaymentUIObserver> GetPaymentUIObserver()
       const = 0;
diff --git a/components/payments/content/payment_request.cc b/components/payments/content/payment_request.cc
index 5c722bde..33a7f43 100644
--- a/components/payments/content/payment_request.cc
+++ b/components/payments/content/payment_request.cc
@@ -647,6 +647,8 @@
             url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC),
         base::BindOnce(&PaymentRequest::OnUserCancelled,
                        weak_ptr_factory_.GetWeakPtr()));
+    if (observer_for_testing_)
+      observer_for_testing_->OnErrorDisplayed();
     return;
   }
 
diff --git a/components/payments/content/test_content_payment_request_delegate.cc b/components/payments/content/test_content_payment_request_delegate.cc
index c8eff4f1..3365efd 100644
--- a/components/payments/content/test_content_payment_request_delegate.cc
+++ b/components/payments/content/test_content_payment_request_delegate.cc
@@ -70,6 +70,11 @@
   return nullptr;
 }
 
+SecurePaymentConfirmationNoCreds*
+TestContentPaymentRequestDelegate::GetNoMatchingCredentialsDialogForTesting() {
+  return nullptr;
+}
+
 autofill::PersonalDataManager*
 TestContentPaymentRequestDelegate::GetPersonalDataManager() {
   return core_delegate_.GetPersonalDataManager();
diff --git a/components/payments/content/test_content_payment_request_delegate.h b/components/payments/content/test_content_payment_request_delegate.h
index 273fd6d..6601544 100644
--- a/components/payments/content/test_content_payment_request_delegate.h
+++ b/components/payments/content/test_content_payment_request_delegate.h
@@ -45,6 +45,8 @@
   bool SkipUiForBasicCard() const override;
   std::string GetTwaPackageName() const override;
   PaymentRequestDialog* GetDialogForTesting() override;
+  SecurePaymentConfirmationNoCreds* GetNoMatchingCredentialsDialogForTesting()
+      override;
   autofill::PersonalDataManager* GetPersonalDataManager() override;
   const std::string& GetApplicationLocale() const override;
   bool IsOffTheRecord() const override;
diff --git a/components/payments_strings.grdp b/components/payments_strings.grdp
index 0943ba7..75eea2c 100644
--- a/components/payments_strings.grdp
+++ b/components/payments_strings.grdp
@@ -674,9 +674,16 @@
   <message name="IDS_PAYMENT_CREDENTIAL_ENROLLMENT_CANCEL_BUTTON_LABEL" desc="Cancel button label on a dialog that asks for the user's permission to set up device-based sign-in (i.e., using their computer's biometric sensor or screen unlock/PIN) to verify card payments.">
     No thanks
   </message>
-  <message name="IDS_NO_MATCHING_CREDENTIAL_DESCRIPTION" desc="Description on a dialog that appears when there are no matching payment credentials to authenticate. Informs users that additional steps are needed to verify the payment." formatter_data="android_java">
-    <ph name="URL">%1$s<ex>merchant.com</ex></ph> may need to take additional steps to verify your payment
-  </message>
+  <if expr="is_android">
+    <message name="IDS_NO_MATCHING_CREDENTIAL_DESCRIPTION" desc="Description on a dialog that appears when there are no matching payment credentials to authenticate. Informs users that additional steps are needed to verify the payment." formatter_data="android_java">
+        <ph name="URL">%1$s<ex>merchant.com</ex></ph> may need to take additional steps to verify your payment
+    </message>
+  </if>
+  <if expr="not is_android">
+    <message name="IDS_NO_MATCHING_CREDENTIAL_DESCRIPTION" desc="Description on a dialog that appears when there are no matching payment credentials to authenticate. Informs users that additional steps are needed to verify the payment.">
+        <ph name="URL">$1<ex>merchant.com</ex></ph> may need to take additional steps to verify your payment
+    </message>
+  </if>
 
   <!-- Accessibility strings -->
   <if expr="is_android">
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index d5dad32..f174e84 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -26680,7 +26680,10 @@
           'none',
         ]
       },
-      'future_on': ['chrome_os', 'chrome.*'],
+      'supported_on': [
+        'chrome.*:94-',
+      ],
+      'future_on': ['chrome_os'],
       'features': {
         'dynamic_refresh': False,
         'per_profile': True,
@@ -26697,11 +26700,6 @@
           'caption': 'A Managed account must be a primary account and have no secondary accounts',
         },
         {
-          'name': 'AffiliatedDevice',
-          'value': 'affiliated_device',
-          'caption': 'Managed accounts must be on an affiliated managed device',
-        },
-        {
           'name': 'None',
           'value': 'none',
           'caption': 'No restrictions on managed accounts',
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index 797f48d7..16739e4 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -5174,11 +5174,6 @@
 <translation id="7529332889403151669">Gibt an, ob die Vollbild-Warnung angezeigt werden soll, wenn das Gerät nach dem Ruhemodus oder dunklem Bildschirm aktiviert wird.
 
       Wenn die Richtlinie nicht konfiguriert oder auf „True“ gesetzt ist, wird eine Warnung angezeigt, die Nutzer daran erinnert, den Vollbildmodus zu beenden, bevor sie ihr Passwort eingeben. Ist die Richtlinie auf „False“ gesetzt, wird keine Warnung angezeigt.</translation>
-<translation id="7529963829662387349">Wenn die Richtlinie konfiguriert ist, können Nutzer eine der von Ihnen festgelegten Eingabemethoden (Tastaturlayouts) für <ph name="PRODUCT_OS_NAME" />-Sitzungen auswählen.
-
-       Wenn sie nicht konfiguriert oder eine leere Liste festgelegt ist, können Nutzer alle unterstützten Eingabemethoden auswählen.
-
-      Hinweis: Falls die aktuelle Eingabemethode nicht unterstützt wird, wird die Eingabemethode auf das Hardware-Tastaturlayout (falls zulässig) oder den ersten gültigen Eintrag in dieser Liste eingestellt. Alle ungültigen oder nicht unterstützten Eingabemethoden in der Liste werden ignoriert.</translation>
 <translation id="7534199150025803530">Diese Richtlinie hat keine Auswirkungen auf die Android Google Drive App. Wenn Sie die Nutzung von Google Drive über Mobilfunkverbindungen verhindern möchten, sollten Sie das Installieren der Android Google Drive App nicht zulassen.</translation>
 <translation id="7540622499178214923">Lässt Wilco Diagnostics and Telemetry Controller zu</translation>
 <translation id="7540826630642174841">Wenn diese Richtlinie konfiguriert ist, werden die angegebenen Geräterichtlinien während der festgelegten Intervalle ignoriert (verwenden Sie die Standardeinstellungen dieser Richtlinien). Geräterichtlinien werden von <ph name="PRODUCT_NAME" /> wieder angewendet, wenn der Zeitraum für die Richtlinie beginnt oder endet. Der Nutzer wird benachrichtigt und gezwungen, sich abzumelden, wenn sich dieser Zeitraum ändert und die Einstellungen der Geräterichtlinien geändert werden, z. B. wenn der Nutzer mit einem nicht zulässigen Konto angemeldet ist.</translation>
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index 7952e65..6ee6333 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -106,11 +106,11 @@
       Si inhabilitas la política, no se recopilarán datos anónimos con URL.
 
       Si estableces la política, los usuarios no podrán cambiarla. Si no la estableces, se activará la recopilación de datos anónimos con URL, pero los usuarios podrán cambiar esta configuración.</translation>
-<translation id="1137096407176363892">Permite las voces de texto a voz de la red mejorada en la función de accesibilidad Seleccionar para pronunciar. Estas voces envían texto a los servidores de Google para sintetizar las voces que suenan naturales.
+<translation id="1137096407176363892">Permite las voces de texto a voz de la red mejorada en la función de accesibilidad Seleccionar para pronunciar. Estas voces envían texto a los servidores de Google para sintetizar enunciaciones que suenan naturales.
 
-          Si estableces esta política como falsa, las voces de texto a voz de la red mejorada incluidas en Seleccionar para pronunciar estarán siempre inhabilitadas.
+          Si estableces esta política como falsa, la función de voces de texto a voz de la red mejorada de Seleccionar para pronunciar estará siempre inhabilitada.
 
-          Si la estableces como verdadera o no la estableces, el usuario podrá habilitar o inhabilitar las voces de texto a voz de la red mejorada incluidas en Seleccionar para pronunciar.</translation>
+          Si la estableces como verdadera o no la estableces, el usuario podrá habilitar o inhabilitar la función de voces de texto a voz de la red mejorada en Seleccionar para pronunciar.</translation>
 <translation id="1138294736309071213">Esta política solo se encuentra activa en el modo de venta.
 
       Permite determinar el tiempo que debe transcurrir antes de que se muestre el protector de pantalla en la página de inicio de sesión para dispositivos que se encuentren en el modo de venta.
@@ -3976,7 +3976,7 @@
       Esta política solo será válida si la máquina está inscrita en <ph name="CLOUD_MANAGEMENT_ENROLLMENT_TOKEN" /> para <ph name="PRODUCT_NAME" />.
       Esta política siempre será válida para <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="6022948604095165524">Acción al iniciar</translation>
-<translation id="602318745029752898">Permitir las voces de texto a voz de la red mejorada incluidas en Seleccionar para pronunciar</translation>
+<translation id="602318745029752898">Permitir las voces de texto a voz de la red mejorada en Seleccionar para pronunciar</translation>
 <translation id="6025267044008029374">Bloquear descargas maliciosas (recomendado)</translation>
 <translation id="6026722971789064331">Controla el uso de la API de File System para escritura</translation>
 <translation id="602728333950205286">URL instantánea del proveedor de búsqueda predeterminado</translation>
@@ -5215,11 +5215,6 @@
 <translation id="7529332889403151669">Especifica si debe mostrarse la alerta de pantalla completa cuando el dispositivo salga de un modo de suspensión o pantalla oscura.
 
       Si no estableces la política o la estableces como verdadera, se mostrará una alerta para recordar a los usuarios que deben salir de la pantalla completa antes de ingresar la contraseña. Si la estableces como falsa, no se mostrarán alertas.</translation>
-<translation id="7529963829662387349">Si estableces la política, los usuarios podrán elegir uno de los métodos de entrada (diseños de teclado) para las sesiones de <ph name="PRODUCT_OS_NAME" /> que especifiques.
-
-       Si no la estableces o la estableces como una lista vacía, los usuarios podrán seleccionar todos los métodos de entrada compatibles.
-
-      Nota: Si el método de entrada actual no es compatible, este cambiará al diseño de teclado del hardware (si se permite) o a la primera entrada válida de la lista. Se ignorarán los métodos no válidos o no compatibles.</translation>
 <translation id="7534199150025803530">Esta política no tiene efecto en la app de Google Drive de Android. Si quieres evitar el uso de Google Drive con conexiones móviles, debes inhabilitar la instalación de su app.</translation>
 <translation id="7540622499178214923">Permite el controlador de telemetría y diagnósticos wilco</translation>
 <translation id="7540826630642174841">Si estableces la política, se ignorarán las políticas de dispositivo especificadas durante los intervalos determinados. En su lugar, se utilizará la configuración predeterminada de estas políticas. <ph name="PRODUCT_NAME" /> volverá a aplicar las políticas de dispositivo cuando comience o finalice el período de la política. El usuario recibe una notificación y se le obliga a salir de su cuenta de manera automática cuando cambia este período y se modifica la configuración de las políticas de dispositivo (p. ej., cuando un usuario accede con una cuenta no permitida).</translation>
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index f84c806..c836e968e 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -5237,11 +5237,6 @@
 <translation id="7529332889403151669">Especifica si se debe mostrar la alerta en pantalla completa cuando el dispositivo salga del modo de suspensión o de pantalla oscura.
 
       Si no se asigna ningún valor a esta política o se le asigna el valor "True", se mostrará una alerta para recordar a los usuarios que deben salir del modo de pantalla completa antes de escribir la contraseña. Si se le asigna el valor "False", no se mostrará ninguna alerta.</translation>
-<translation id="7529963829662387349">Si se asigna un valor a esta política, los usuarios podrán elegir uno de los métodos de introducción (diseños de teclado) para las sesiones de <ph name="PRODUCT_OS_NAME" /> que especifiques.
-
-       Si no se le asigna ningún valor o se le asigna una lista vacía, los usuarios podrán seleccionar todos los métodos de introducción admitidos.
-
-      Nota: Si no se admite el método de introducción actual, se cambiará al diseño de teclado del hardware (si se permite) o a la primera entrada válida de esta lista. Se ignorarán los métodos no válidos o no admitidos.</translation>
 <translation id="7534199150025803530">Esta política no afecta a la aplicación Google Drive para Android. Si quieres impedir el uso de esta aplicación en conexiones de datos móviles, debes inhabilitar la descarga de Google Drive para Android.</translation>
 <translation id="7540622499178214923">Permite el controlador de diagnóstico y telemetría wilco</translation>
 <translation id="7540826630642174841">Si se asigna un valor a esta política, se ignoran las políticas de dispositivos especificadas (se utilizará la configuración predeterminada de estas políticas) durante los intervalos de tiempo especificados. <ph name="PRODUCT_NAME" /> volverá a aplicar las políticas de dispositivos cuando se inicie o finalice el periodo de la política. Cuando cambien este periodo y los ajustes de la política de dispositivos (por ejemplo, cuando un usuario inicie sesión con una cuenta no permitida), el usuario recibirá una notificación y se forzará el cierre de su sesión.</translation>
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 2abe8470..7d5420d 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -5205,11 +5205,6 @@
 <translation id="7529332889403151669">Cette règle permet de déterminer si l'alerte plein écran doit être affichée lorsque l'appareil est réactivé après avoir été en mode veille ou que l'écran n'est plus sombre.
 
       Si cette règle n'est pas configurée ou qu'elle est définie sur "True", une alerte s'affiche pour rappeler aux utilisateurs de quitter le plein écran avant de saisir leur mot de passe. Si cette règle est définie sur "False", cette alerte n'est pas affichée.</translation>
-<translation id="7529963829662387349">Permet aux utilisateurs de sélectionner l'un des modes de saisie (dispositions de clavier) que vous spécifiez pour les sessions <ph name="PRODUCT_OS_NAME" />.
-
-       Si cette règle n'est pas configurée ou qu'aucun mode de saisie n'est indiqué dans la liste, les utilisateurs peuvent en choisir un parmi tous ceux compatibles.
-
-      Remarque : Si le mode de saisie actuel n'est pas compatible, la disposition du clavier matériel (si elle est autorisée) ou la première entrée valide dans cette liste est utilisée. Les modes de saisie non valides ou incompatibles sont ignorés.</translation>
 <translation id="7534199150025803530">Cette règle n'a aucun effet sur l'application Google Drive pour Android. Si vous voulez empêcher l'utilisation de Google Drive en cas de connexion au réseau mobile, vous ne devez pas autoriser l'installation de cette application.</translation>
 <translation id="7540622499178214923">Autorise le dispositif de contrôle de diagnostic et de télémétrie de Wilco</translation>
 <translation id="7540826630642174841">Si cette règle est configurée, les règles spécifiées relatives aux appareils sont ignorées (utilisation des paramètres par défaut de ces règles) pendant la période définie. <ph name="PRODUCT_NAME" /> applique de nouveau ces règles au début ou à la fin de la période spécifiée dans cette règle. En cas de modification de cette période ou des paramètres des règles relatives aux appareils (par exemple, lorsqu'un utilisateur se connecte avec un compte non autorisé), cet utilisateur est averti et contraint de se déconnecter.</translation>
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 8ef06bcf..0027d0940 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -5237,11 +5237,6 @@
 <translation id="7529332889403151669">Menentukan apakah peringatan layar penuh harus ditampilkan saat perangkat kembali dari mode tidur atau layar gelap.
 
       Jika kebijakan tidak disetel atau disetel ke Benar (True), peringatan akan ditampilkan untuk mengingatkan pengguna agar keluar dari layar penuh sebelum memasukkan sandi. Jika kebijakan disetel ke Salah (False), tidak ada peringatan yang akan ditampilkan.</translation>
-<translation id="7529963829662387349">Jika kebijakan disetel, pengguna akan dapat memilih salah satu metode input (tata letak keyboard) untuk sesi <ph name="PRODUCT_OS_NAME" /> yang Anda tentukan.
-
-       Jika tidak disetel atau disetel ke daftar kosong, pengguna dapat memilih semua metode input yang didukung.
-
-      Catatan: Jika metode input saat ini tidak didukung, metode akan beralih ke tata letak keyboard hardware (jika diizinkan) atau entri pertama yang valid dalam daftar ini. Metode yang tidak valid atau tidak didukung akan diabaikan.</translation>
 <translation id="7534199150025803530">Kebijakan ini tidak memengaruhi aplikasi Google Drive Android. Jika ingin mencegah penggunaan Google Drive melalui sambungan seluler, sebaiknya Anda tidak mengizinkan pemasangan aplikasi Google Drive Android.</translation>
 <translation id="7540622499178214923">Mengizinkan pengontrol diagnostik dan telemetri wilco</translation>
 <translation id="7540826630642174841">Jika kebijakan disetel, kebijakan perangkat yang ditentukan diabaikan (gunakan pengaturan default kebijakan ini) selama interval yang ditentukan. Kebijakan perangkat diterapkan kembali oleh <ph name="PRODUCT_NAME" /> saat periode kebijakan dimulai atau berakhir. Pengguna akan diberi tahu dan dipaksa logout saat periode ini berubah dan setelan kebijakan perangkat berubah (misalnya, saat pengguna login dengan akun yang tidak diizinkan).</translation>
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 2dde7abd..cb7b6db 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -5177,11 +5177,6 @@
 <translation id="7529332889403151669">Specifica se mostrare l'avviso di schermo intero quando il dispositivo disattiva la sospensione o lo schermo scuro.
 
       Se il criterio non viene impostato o viene impostato su True, viene mostrato un avviso per ricordare agli utenti di uscire dalla modalità a schermo intero prima di digitare la password. Se il criterio viene impostato su False, l'avviso non viene mostrato.</translation>
-<translation id="7529963829662387349">L'impostazione del criterio consente agli utenti di scegliere uno dei metodi di immissione (layout da tastiera) per le sessioni <ph name="PRODUCT_OS_NAME" /> specificate.
-
-       Se il criterio non viene configurato o se viene lasciato vuoto, gli utenti possono selezionare tutti i metodi di immissione supportati.
-
-      Nota: se il metodo di immissione corrente non è supportato, viene effettuato il passaggio al layout da tastiera hardware (se consentito) o alla prima voce valida in questo elenco. I metodi non supportati o non validi vengono ignorati.</translation>
 <translation id="7534199150025803530">Questa norma non influisce sull'app Google Drive per Android. Se vuoi impedire l'utilizzo di Google Drive tramite rete cellulare, non devi consentire l'installazione dell'app Google Drive per Android.</translation>
 <translation id="7540622499178214923">Permette di consentire l'uso del controller DTC (Diagnostics and Telemetry Controller) wilco</translation>
 <translation id="7540826630642174841">Impostare il criterio significa che i criteri relativi ai dispositivi specificati vengono ignorati (si usano le impostazioni predefinite di questi criteri) durante gli intervalli indicati. I criteri relativi ai dispositivi vengono applicati di nuovo da <ph name="PRODUCT_NAME" /> all'inizio o alla fine del periodo del criterio. L'utente viene avvisato e deve disconnettersi quando questo periodo e le impostazioni dei criteri relativi ai dispositivi cambiano (ad esempio, quando un utente accede con un account non autorizzato).</translation>
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index c19a011..e3b9d5a 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -5036,11 +5036,6 @@
 <translation id="7529332889403151669">デバイスがスリープ画面(暗い画面)から復帰する際に全画面表示の警告を表示するかどうかを指定します。
 
       このポリシーを設定しないか True に設定した場合、パスワード入力の前に全画面表示を終了するようユーザーに警告が表示されます。このポリシーを False に設定した場合、警告は表示されません。</translation>
-<translation id="7529963829662387349">このポリシーでは、<ph name="PRODUCT_OS_NAME" /> のセッションでユーザーが選択して使用できる入力方法(キーボード配列)を指定できます。
-
-       このポリシーを未設定のままにするか空白のリストを設定した場合、ユーザーはサポートされているすべての入力方法から選択できます。
-
-      注: 現在の入力方法がサポートされていない場合は、ハードウェア キーボード配列(許可されている場合)またはこのリストの最初の有効なエントリに切り替えられます。無効な入力方法やサポートされていない入力方法は無視されます。</translation>
 <translation id="7534199150025803530">このポリシーは Android Google ドライブアプリには適用されません。モバイルデータ通信時に Google ドライブを使用できないようにするには、Android Google ドライブアプリのインストールを禁止する必要があります。</translation>
 <translation id="7540622499178214923">Wilco の診断およびテレメトリー用コントローラを許可します</translation>
 <translation id="7540826630642174841">このポリシーを設定した場合は、指定した期間、指定したデバイス ポリシーが無視されます(これらのポリシーのデフォルトの設定が使用されます)。デバイス ポリシーは、ポリシー期間が開始または終了したときに <ph name="PRODUCT_NAME" /> により再適用されます。この期間やデバイス ポリシーの設定が変更された場合(許可されていないアカウントでユーザーがログインした場合など)には、ユーザーは通知を受けたうえで強制的にログアウトされます。</translation>
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index 8af2ac9b..a2f0d76 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -5227,11 +5227,6 @@
 <translation id="7529332889403151669">기기의 절전 모드 또는 어두운 화면이 종료되었을 때 전체 화면 알림을 표시할지 지정합니다.
 
       정책을 설정하지 않거나 True로 설정하면 알림이 표시되어 사용자에게 비밀번호를 입력하기 전에 전체 화면을 종료하라고 안내합니다. False로 설정하면 알림이 표시되지 않습니다.</translation>
-<translation id="7529963829662387349">정책을 설정하면 사용자가 지정한 <ph name="PRODUCT_OS_NAME" /> 세션의 입력 방법(키보드 레이아웃) 중 하나를 선택할 수 있습니다.
-
-       설정하지 않거나 빈 목록으로 설정하면 사용자가 지원되는 모든 입력 방법을 선택할 수 있습니다.
-
-      참고: 현재 입력 방법이 지원되지 않으면 하드웨어 키보드 레이아웃(허용되는 경우) 또는 이 목록에서 가장 처음 유효한 항목으로 전환됩니다. 잘못되었거나 지원되지 않는 방법은 무시됩니다.</translation>
 <translation id="7534199150025803530">이 정책은 Android Google Drive 앱에 아무런 영향도 미치지 않습니다. 모바일 연결을 통해 Google Drive를 사용하지 못하게 하려면 Android Google Drive 앱 설치를 허용하지 않아야 합니다.</translation>
 <translation id="7540622499178214923">Wilco 진단 및 텔레메트리 컨트롤러 허용</translation>
 <translation id="7540826630642174841">정책을 설정하면 정해진 기간 동안 지정된 기기 정책이 무시되고 이 정책의 기본 설정이 사용됩니다. 정책 기간이 시작되거나 종료되면 <ph name="PRODUCT_NAME" />에서 기기 정책을 다시 적용합니다. 이 기간이 변경되고 기기 정책 설정이 변경되면(예: 사용자가 허용되지 않는 계정으로 로그인한 경우) 사용자는 알림을 수신하고 강제로 로그아웃됩니다.</translation>
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 0e921c3..c9510fa 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -5142,11 +5142,6 @@
 <translation id="7529332889403151669">Geeft aan of de melding voor volledig scherm moet worden getoond als het apparaat uit de slaapstand wordt gehaald of het donkere scherm wordt uitgezet.
 
       Als je het beleid niet instelt of instelt op True, zien gebruikers een melding om ze eraan te herinneren dat ze het volledige scherm moeten verlaten voordat ze een wachtwoord opgeven. Als je het beleid instelt op False, zien gebruikers geen melding.</translation>
-<translation id="7529963829662387349">Als je het beleid instelt, kunnen gebruikers een van de invoermethoden (toetsenbordindelingen) kiezen voor de <ph name="PRODUCT_OS_NAME" />-sessies die je opgeeft.
-
-       Als je het beleid niet instelt of instelt op een lege lijst, kunnen gebruikers alle ondersteunde invoermethoden selecteren.
-
-      Opmerking: Als de huidige invoermethode niet wordt ondersteund, wordt de invoermethode overgeschakeld naar het hardwaretoetsenbord (indien toegestaan) of het eerste geldige item in deze lijst. Ongeldige of niet-ondersteunde methoden worden genegeerd.</translation>
 <translation id="7534199150025803530">Dit beleid is niet van invloed op de Google Drive-app voor Android. Als je wilt voorkomen dat Google Drive kan worden gebruikt via een mobiele verbinding, moet je de installatie van de Google Drive-app voor Android blokkeren.</translation>
 <translation id="7540622499178214923">Hiermee wordt wilco DTC toegestaan</translation>
 <translation id="7540826630642174841">Als je het beleid instelt, wordt het opgegeven apparaatbeleid genegeerd (de standaardinstellingen van dit beleid worden gebruikt) gedurende de opgegeven intervallen. Het apparaatbeleid wordt weer toegepast door <ph name="PRODUCT_NAME" /> als de beleidsperiode start of eindigt. Gebruikers krijgen een melding en worden gedwongen uitgelogd als deze periode wordt gewijzigd en de instellingen van het apparaatbeleid worden gewijzigd (bijvoorbeeld als een gebruiker inlogt met een niet-toegestaan account).</translation>
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 952ef41..8893045 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -5208,11 +5208,6 @@
 <translation id="7529332889403151669">Especifica se alertas de tela cheia serão exibidos quando o dispositivo retornar de uma tela desligada ou do modo de Suspensão.
 
       Quando a política for definida como verdadeira ou não for definida, um alerta será exibido para lembrar os usuários de saírem da tela cheia antes de digitarem a senha. Quando a política for definida como falsa, nenhum alerta será exibido.</translation>
-<translation id="7529963829662387349">Se a política for definida, o usuário poderá escolher um dos métodos de entrada (layouts de teclado) para as sessões do <ph name="PRODUCT_OS_NAME" /> que você especificar.
-
-       Se ela não for definida ou for definida como uma lista vazia, o usuário poderá selecionar todos os métodos de entrada compatíveis.
-
-      Observação: se o método de entrada atual não for compatível, ele será alternado para o layout de teclado do hardware (se permitido) ou para a primeira entrada válida da lista. Métodos de entrada não compatíveis ou inválidos são ignorados.</translation>
 <translation id="7534199150025803530">Esta política não tem nenhum efeito sobre o app Google Drive para Android. Para impedir o uso do Google Drive por conexões celulares, bloqueie a instalação do app Google Drive para Android.</translation>
 <translation id="7540622499178214923">Concede permissão ao controlador de telemetria e diagnósticos wilco</translation>
 <translation id="7540826630642174841">Se a política for definida, as políticas do dispositivo serão ignoradas durante os intervalos especificados, e os valores padrão delas serão usados. As políticas do dispositivo serão reaplicadas pelo <ph name="PRODUCT_NAME" /> quando o período da política começar ou terminar. O usuário será notificado e forçado a se desconectar quando o período e as configurações de política do dispositivo mudarem (por exemplo, quando um usuário fizer login com uma conta sem permissão).</translation>
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index 9c5af8c..8bab5f6 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -5191,11 +5191,6 @@
 <translation id="7529332889403151669">Правило позволяет указать, будет ли показываться предупреждение при выходе из спящего режима или выключении темного экрана.
 
       Если правило не настроено или для него установлено значение True, пользователи увидят предупреждение о том, что им нужно выйти из полноэкранного режима, прежде чем вводить пароль. Если задано значение False, предупреждение появляться не будет.</translation>
-<translation id="7529963829662387349">Это правило позволяет пользователям выбрать один из перечисленных вами методов ввода (раскладок клавиатуры) для сеансов в <ph name="PRODUCT_OS_NAME" />.
-
-       Если правило не настроено или указан пустой список, пользователь может выбирать любой из поддерживаемых способов ввода.
-
-      Примечание. Если текущий способ ввода не поддерживается, будет использоваться аппаратная раскладка клавиатуры (если это разрешено) или первый подходящий способ из списка. Все недопустимые или неподдерживаемые способы ввода игнорируются.</translation>
 <translation id="7534199150025803530">Это правило не влияет на приложение "Google Диск" для Android. Чтобы исключить использование Google Диска при передаче данных по мобильной сети, запретите установку приложения "Google Диск" для Android.</translation>
 <translation id="7540622499178214923">Разрешает использование Wilco DTC</translation>
 <translation id="7540826630642174841">Если правило настроено, то правила, заданные для устройства, не работают в указанные периоды времени (для них используются значения по умолчанию). <ph name="PRODUCT_NAME" /> автоматически изменяет настройки правил в начале и конце каждого периода. При смене периодов и настроек правил для устройства пользователь получает уведомление и принудительно выходит из аккаунта (например, если вход выполнен не через разрешенный аккаунт).</translation>
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 7ac8474..c2fa146 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -106,6 +106,11 @@
       การตั้งค่านโยบายเป็น "ปิดใช้" จะทำให้ไม่มีการรวบรวมข้อมูลที่ไม่ระบุตัวบุคคลซึ่งผูกกับ URL
 
       หากคุณตั้งค่านโยบายไว้ ผู้ใช้จะเปลี่ยนไม่ได้ หากไม่ได้ตั้งค่า ในตอนแรกระบบจะรวบรวมข้อมูลที่ไม่ระบุตัวบุคคลซึ่งผูกกับ URL แต่ผู้ใช้เปลี่ยนการตั้งค่าได้</translation>
+<translation id="1137096407176363892">อนุญาตเสียงของการอ่านออกเสียงข้อความของเครือข่ายที่ปรับปรุงในฟีเจอร์การช่วยเหลือพิเศษ "เลือกเพื่อให้อ่าน" เสียงเหล่านี้จะส่งข้อความให้เซิร์ฟเวอร์ของ Google เพื่อสังเคราะห์เสียงที่ฟังดูเป็นธรรมชาติ
+
+          หากตั้งค่านโยบายนี้เป็น "เท็จ" ฟีเจอร์เสียงของการอ่านออกเสียงข้อความของเครือข่ายที่ปรับปรุงใน "เลือกเพื่อให้อ่าน" จะปิดใช้เสมอ
+
+          หากตั้งค่านโยบายนี้เป็น "จริง" หรือไม่ได้ตั้งค่า ผู้ใช้สามารถเปิดหรือปิดใช้ฟีเจอร์เสียงของการอ่านออกเสียงข้อความของเครือข่ายที่ปรับปรุงใน "เลือกเพื่อให้อ่าน" ได้</translation>
 <translation id="1138294736309071213">นโยบายนี้ใช้งานได้ในโหมดปลีกเท่านั้น
 
       กำหนดระยะเวลาการไม่ใช้งานก่อนที่โปรแกรมรักษาหน้าจอจะแสดงขึ้นบนหน้าจอลงชื่อเข้าใช้สำหรับอุปกรณ์ในโหมดปลีก
@@ -1765,6 +1770,7 @@
 <translation id="3128072319047570212">การตั้งค่าคีย์เจน</translation>
 <translation id="3142410959002029864">การตั้งค่านโยบายนี้จะลบล้างโหมดการพิมพ์ 2 ด้านเริ่มต้น หากโหมดนี้ไม่พร้อมใช้งาน ระบบจะเพิกเฉยต่อนโยบายนี้</translation>
 <translation id="3144173889708944482">หากมีการเลือก <ph name="PRINTERS_BLOCKLIST" /> ไว้สำหรับ <ph name="DEVICE_PRINTERS_ACCESS_MODE_POLICY_NAME" /> การตั้งค่า <ph name="DEVICE_PRINTERS_BLOCKLIST_POLICY_NAME" /> จะระบุเครื่องพิมพ์ที่ผู้ใช้จะใช้ไม่ได้ เครื่องพิมพ์ทั้งหมดจะพร้อมให้ผู้ใช้นำมาใช้งาน ยกเว้นเครื่องที่มีรหัสตามที่ระบุไว้ในนโยบายนี้ รหัสดังกล่าวต้องตรงกับช่อง <ph name="ID_FIELD" /> หรือ <ph name="GUID_FIELD" /> ในไฟล์ที่ระบุไว้ใน <ph name="DEVICE_PRINTERS_POLICY_NAME" /></translation>
+<translation id="3146711617256415776">ไม่อนุญาตเสียงของการอ่านออกเสียงข้อความของเครือข่ายที่ปรับปรุงเมื่อใช้ "เลือกเพื่อให้อ่าน"</translation>
 <translation id="3152425128389603870">ทำให้เดสก์ท็อปแบบรวมหลายหน้าจอพร้อมใช้งานและเปิดใช้โดยค่าเริ่มต้น</translation>
 <translation id="3159375329008977062">อนุญาตให้ผู้ใช้ส่งออก/นำเข้าคอนเทนเนอร์ Crostini ผ่าน UI</translation>
 <translation id="3165808775394012744">เรารวมนโยบายเหล่านี้ไว้ที่นี่เพื่อให้นำออกได้ง่ายๆ</translation>
@@ -3908,6 +3914,7 @@
       นโยบายนี้จะมีผลเมื่อลงทะเบียนเครื่องกับ <ph name="CLOUD_MANAGEMENT_ENROLLMENT_TOKEN" /> สำหรับ <ph name="PRODUCT_NAME" /> เท่านั้น
       และจะมีผลเสมอสำหรับ <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="6022948604095165524">การดำเนินการเมื่อเริ่มต้นใช้งาน</translation>
+<translation id="602318745029752898">อนุญาตเสียงของการอ่านออกเสียงข้อความของเครือข่ายที่ปรับปรุงใน "เลือกเพื่อให้อ่าน"</translation>
 <translation id="6025267044008029374">บล็อกการดาวน์โหลดที่เป็นอันตราย (แนะนำ)</translation>
 <translation id="6026722971789064331">ควบคุมการใช้ File System API สำหรับการเขียน</translation>
 <translation id="602728333950205286">URL ค้นหาทันใจของผู้ให้บริการการค้นหาเริ่มต้น</translation>
@@ -4830,7 +4837,7 @@
 <translation id="7101550508196914704">ไม่แสดงทางลัดของแอปในแถบบุ๊กมาร์ก</translation>
 <translation id="7109384070286741861">ปิดใช้ CECPQ2</translation>
 <translation id="7122626777103192518">การตั้งค่านโยบายเป็น "จริง" จะทำให้แชร์ข้อความ/ไฟล์จากแอป Android ไปยังเว็บแอปที่รองรับได้โดยใช้ระบบการแชร์ในตัวของ Android
-      เมื่อเปิดใช้ การดำเนินการนี้จะส่งข้อมูลเมตาของเว็บแอปที่ติดตั้งไปยัง Google เพื่อสร้างและติดตั้งแอป Android แบบมี Shim
+      เมื่อเปิดใช้ การดำเนินการนี้จะส่งข้อมูลเมตาของเว็บแอปที่ติดตั้งไปยัง Google เพื่อสร้างและติดตั้งแอป Android ที่แสดงถึงเว็บแอป
       การตั้งค่านโยบายเป็น "เท็จ" จะปิดใช้ฟังก์ชันการทำงานนี้</translation>
 <translation id="7126716959063786004">เปิดใช้การหยุดกระบวนการในตัวจัดการงาน</translation>
 <translation id="7126928806195745404">การตั้งค่า JavaScript</translation>
@@ -5131,11 +5138,6 @@
 <translation id="7529332889403151669">ระบุว่าจะให้แสดงการแจ้งเตือนโหมดเต็มหน้าจอหรือไม่เมื่ออุปกรณ์ออกจากโหมดสลีปหรือหน้าจอตอนกลางคืน
 
       เมื่อไม่ได้ตั้งนโยบายหรือตั้งค่าเป็น "จริง" ระบบจะแสดงการแจ้งเตือนเพื่อช่วยเตือนให้ผู้ใช้ออกจากโหมดเต็มหน้าจอก่อนป้อนรหัสผ่าน เมื่อตั้งค่านโยบายเป็น "เท็จ" ระบบจะไม่แสดงการแจ้งเตือน</translation>
-<translation id="7529963829662387349">การตั้งค่านโยบายนี้จะอนุญาตให้ผู้ใช้เลือกวิธีการป้อนข้อมูลวิธีใดวิธีหนึ่ง (เลย์เอาต์แป้นพิมพ์) สำหรับเซสชันของ <ph name="PRODUCT_OS_NAME" /> ที่คุณระบุ
-
-       หากคุณไม่ได้ตั้งค่าหรือตั้งค่าเป็นรายการว่างเปล่า ผู้ใช้จะเลือกวิธีการป้อนข้อมูลวิธีใดก็ได้ที่รองรับ
-
-      หมายเหตุ: หากไม่รองรับวิธีการป้อนข้อมูลในปัจจุบัน ระบบจะเปลี่ยนไปใช้เลย์เอาต์ของแป้นพิมพ์ฮาร์ดแวร์ (ถ้าอนุญาตให้ใช้ได้) หรือรายการแรกที่ใช้ได้ในลิสต์นี้ ระบบจะเพิกเฉยต่อวิธีการที่ใช้ไม่ได้หรือไม่รองรับ</translation>
 <translation id="7534199150025803530">นโยบายนี้ไม่มีผลต่อแอป Google ไดรฟ์ของ Android หากต้องการป้องกันการใช้ Google ไดรฟ์ผ่านการเชื่อมต่อเครือข่ายมือถือ คุณต้องยกเลิกการอนุญาตให้ติดตั้งแอป Google ไดรฟ์ของ Android</translation>
 <translation id="7540622499178214923">อนุญาตตัวควบคุมการวินิจฉัยและการวัดและส่งข้อมูลทางไกลของ Wilco</translation>
 <translation id="7540826630642174841">การตั้งค่านโยบายจะทำให้ระบบไม่สนใจนโยบายด้านอุปกรณ์ที่ระบุ (ใช้การตั้งค่าเริ่มต้นของนโยบายเหล่านี้) ระหว่างระยะเวลาที่ระบุ <ph name="PRODUCT_NAME" /> จะใช้นโยบายด้านอุปกรณ์อีกครั้งเมื่อระยะเวลาของนโยบายเริ่มต้นหรือสิ้นสุดลง ระบบจะแจ้งเตือนและบังคับให้ผู้ใช้ออกจากระบบเมื่อมีการเปลี่ยนแปลงระยะเวลานี้และการตั้งค่าของนโยบายด้านอุปกรณ์ (ตัวอย่างเช่น เมื่อผู้ใช้ลงชื่อเข้าใช้ด้วยบัญชีที่ไม่อนุญาต)</translation>
@@ -5574,6 +5576,7 @@
 <translation id="8118665053362250806">ตั้งค่าขนาดแคชของดิสก์สื่อ</translation>
 <translation id="8124468781472887384">นโยบายการเข้าถึงการกำหนดค่าเครื่องพิมพ์สำหรับอุปกรณ์</translation>
 <translation id="8128192446158421884">URL ที่ใช้กับ AutoOpenFileTypes ได้</translation>
+<translation id="8131046602440880289">อนุญาตเสียงของการอ่านออกเสียงข้อความของเครือข่ายที่ปรับปรุงเมื่อใช้ "เลือกเพื่อให้อ่าน"</translation>
 <translation id="8133152694354699657">การตั้งค่านโยบายเป็น "จริง" หรือไม่ได้ตั้งค่าจะทำให้ฟีเจอร์แตะเพื่อค้นหาพร้อมใช้งานสำหรับผู้ใช้ โดยผู้ใช้เลือกได้ว่าจะเปิดหรือปิดฟีเจอร์นี้
 
       การตั้งค่านโยบายเป็น "เท็จ" จะปิดฟีเจอร์แตะเพื่อค้นหา</translation>
@@ -5661,7 +5664,7 @@
 <translation id="8238421250255592181">ธงบูลีนที่ระบุว่าแป้นพิมพ์บนหน้าจอจะมีฟีเจอร์การเติมคำอัตโนมัติหรือไม่</translation>
 <translation id="8244171102276095471">เปิดใช้ชุดการเข้ารหัส RC4 ใน TLS</translation>
 <translation id="8244525275280476362">การหน่วงเวลาสูงสุดในการดึงข้อมูลภายหลังการลบล้างนโยบาย</translation>
-<translation id="8245574649143980200">การไม่ตั้งค่านโยบายหรือตั้งค่าเป็น "เปิดใช้" จะอนุญาตให้ผู้ใช้ดูและใช้รายการในเมนูการค้นหาภูมิภาคของ <ph name="GOOGLE_LENS_PRODUCT_NAME" /> ในเมนูตามบริบท การตั้งค่านโยบายเป็น "ปิดใช้" จะทำให้ผู้ใช้ไม่เห็นรายการในเมนูการค้นหาภูมิภาคของ <ph name="GOOGLE_LENS_PRODUCT_NAME" /> ในเมนูตามบริบทกรณีที่รองรับการค้นหาภูมิภาคของ <ph name="GOOGLE_LENS_PRODUCT_NAME" /></translation>
+<translation id="8245574649143980200">การไม่ตั้งค่านโยบายหรือตั้งค่าเป็น "เปิดใช้" จะอนุญาตให้ผู้ใช้ดูและใช้รายการในเมนูการค้นหาภูมิภาคของ <ph name="GOOGLE_LENS_PRODUCT_NAME" /> ในเมนูตามบริบท การตั้งค่านโยบายเป็น "ปิดใช้" จะทำให้ผู้ใช้ไม่เห็นรายการในเมนูการค้นหาภูมิภาคของ <ph name="GOOGLE_LENS_PRODUCT_NAME" /> ในเมนูตามบริบทในกรณีที่รองรับการค้นหาภูมิภาคของ <ph name="GOOGLE_LENS_PRODUCT_NAME" /></translation>
 <translation id="82530263956734297">รหัสส่วนขยายที่ได้รับการยกเว้นจากรายการที่บล็อก</translation>
 <translation id="8256688113167012935">ควบคุมชื่อบัญชี <ph name="PRODUCT_OS_NAME" /> ที่แสดงในหน้าลงชื่อเข้าใช้สำหรับบัญชีภายในอุปกรณ์ที่เกี่ยวข้องกัน
 
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index bb4a68e..f2069b5a 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -5172,11 +5172,6 @@
 <translation id="7529332889403151669">Cihaz uyku modundan veya koyu ekrandan çıktığında tam ekran uyarısının gösterilip gösterilmeyeceğini belirtir.
 
       Politika ayarlanmazsa veya Doğru değerine ayarlanırsa kullanıcılara şifreyi girmeden önce tam ekrandan çıkmalarını hatırlatmak için bir uyarı gösterilir. Politika Yanlış değerine ayarlanırsa herhangi bir uyarı gösterilmez.</translation>
-<translation id="7529963829662387349">Politikanın ayarlanması, belirttiğiniz <ph name="PRODUCT_OS_NAME" /> oturumu için kullanıcıların giriş yöntemlerinden (klavye düzeni) birini seçmesine izin verir.
-
-       Ayarlanmadan bırakılırsa veya boş bir listeye ayarlanırsa kullanıcılar tüm desteklenen giriş yöntemlerini seçebilirler.
-
-      Not: Geçerli giriş yöntemi desteklenmiyorsa donanım klavye düzenine (izin veriliyorsa) veya bu listedeki ilk geçerli girişe geçiş yapar. Geçersiz veya desteklenmeyen giriş yöntemleri göz ardı edilir.</translation>
 <translation id="7534199150025803530">Bu politikanın Android Google Drive uygulaması üzerinde hiçbir etkisi yoktur. Google Drive'ın hücresel bağlantılarda kullanılmasını engellemek isterseniz, Android Google Drive uygulamasının yüklenmesine izin vermemeniz gerekir.</translation>
 <translation id="7540622499178214923">Wilco teşhis ve telemetri denetleyicisine izin verir</translation>
 <translation id="7540826630642174841">Politika ayarlanırsa belirtilen cihaz politikaları, belirtilen zaman aralıkları boyunca yok sayılır (bu politikaların varsayılan ayarları kullanılır). Politika dönemi başladığında veya sona erdiğinde cihaz politikaları, <ph name="PRODUCT_NAME" /> tarafından tekrar uygulanır. Bu politika dönemi ve cihaz politika ayarları değiştiğinde (örneğin, kullanıcı izin verilmeyen bir hesapla oturum açtığında) kullanıcı bilgilendirilir.</translation>
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 35c69370..c30e9abf 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -5231,11 +5231,6 @@
 <translation id="7529332889403151669">Визначає, чи показувати сповіщення про повноекранний режим, коли пристрій виходить із режиму сну або темного екрана.
 
       Коли це правило не налаштовано або для нього вибрано значення True, з'являтиметься сповіщення з нагадуванням вийти з повноекранного режиму, перш ніж вводити пароль. Коли для цього правила вибрано значення False, сповіщення не з'являтиметься.</translation>
-<translation id="7529963829662387349">Якщо налаштувати це правило, користувачі зможуть вибирати один з указаних вами методів введення (розкладки клавіатури) для <ph name="PRODUCT_OS_NAME" />.
-
-       Якщо це правило не налаштовано або для нього вказано порожній список, користувачі можуть вибрати будь-який підтримуваний метод введення.
-
-      Примітка: якщо поточний метод введення не підтримується, вмикається розкладка клавіатури програмного забезпечення (якщо це дозволено) або перший дійсний метод у списку. Недійсні або непідтримувані методи ігноруються.</translation>
 <translation id="7534199150025803530">Це правило не впливає на додаток Google Диск на пристрої Android. Щоб Google Диск не використовувався через мобільну мережу, забороніть встановлення додатка Google Диск на пристрої Android.</translation>
 <translation id="7540622499178214923">Дозволяє контролер діагностики й телеметрії Wilco.</translation>
 <translation id="7540826630642174841">Якщо налаштувати це правило, то протягом визначених часових періодів указані правила для пристрою ігноруються (натомість застосовуються їх значення за умовчанням). <ph name="PRODUCT_NAME" /> змінює застосування вказаних правил для пристрою щоразу, коли починається чи закінчується визначений у цьому правилі період. Користувач отримає сповіщення та буде змушений вийти з облікового запису, коли цей період і налаштування правил для пристрою зміняться (наприклад, коли виконано вхід у заборонений обліковий запис).</translation>
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index 9fc81aa..33c1249 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -5237,11 +5237,6 @@
 <translation id="7529332889403151669">Chỉ định xem cảnh báo toàn màn hình có hiển thị khi thiết bị thoát khỏi chế độ ngủ hoặc màn hình tối hay không.
 
       Khi bạn đặt thành Bật hoặc không đặt chính sách này, một cảnh báo sẽ hiển thị để nhắc người dùng thoát khỏi chế độ toàn màn hình trước khi nhập mật khẩu. Khi bạn đặt chính sách này thành Tắt, không có cảnh báo nào sẽ hiển thị.</translation>
-<translation id="7529963829662387349">Nếu bạn đặt chính sách này, thì người dùng có thể chọn một trong nhiều phương thức nhập (bố cục bàn phím) cho phiên <ph name="PRODUCT_OS_NAME" /> mà bạn chỉ định.
-
-       Nếu bạn đặt chính sách này thành một danh sách trống hoặc không đặt chính sách này, thì người dùng có thể chọn tất cả phương thức nhập được hỗ trợ.
-
-      Lưu ý: Nếu phương thức nhập hiện tại không được hỗ trợ, thì hệ thống sẽ sử dụng bố cục bàn phím phần cứng (nếu được phép) hoặc mục hợp lệ đầu tiên trong danh sách này. Hệ thống sẽ bỏ qua phương thức không hợp lệ hoặc không được hỗ trợ.</translation>
 <translation id="7534199150025803530">Chính sách này không ảnh hưởng đến ứng dụng Google Drive trên Android. Nếu muốn ngăn việc sử dụng Google Drive trên kết nối di động thì bạn phải không cho phép cài đặt ứng dụng Google Drive trên Android.</translation>
 <translation id="7540622499178214923">Cho phép bộ điều khiển đo từ xa và chẩn đoán wilco</translation>
 <translation id="7540826630642174841">Nếu đặt chính sách này, các chính sách thiết bị được chỉ định sẽ bị bỏ qua (sử dụng tùy chọn cài đặt mặc định của các chính sách này) trong khoảng thời gian đã chỉ định. Các chính sách thiết bị được <ph name="PRODUCT_NAME" /> áp dụng lại khi khoảng thời gian chính sách bắt đầu hoặc kết thúc. Người dùng sẽ nhận được thông báo và bị buộc đăng xuất khi khoảng thời gian này thay đổi và các tùy chọn chính sách thiết bị thay đổi (ví dụ: khi người dùng đăng nhập bằng tài khoản không được cho phép).</translation>
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index 401c2b4..d5bb3b9 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -93,6 +93,7 @@
 <translation id="1096105751829466145">默认搜索服务提供商</translation>
 <translation id="1099282607296956954">为所有网站启用网站隔离功能</translation>
 <translation id="1105572260329131950">使用默认图标表示安全连接</translation>
+<translation id="1110426799149444997">停用 <ph name="GOOGLE_LENS_PRODUCT_NAME" />区域搜索。</translation>
 <translation id="1117535567637097036">通过此政策设置的协议处理程序不会被用于处理 Android intent。</translation>
 <translation id="1118093128235245168">允许网站请求用户授权其访问所连接的 USB 设备</translation>
 <translation id="111910763555783249">通知设置</translation>
@@ -349,6 +350,7 @@
       如果您不设置此政策,<ph name="PRODUCT_NAME" /> 将会尝试检测某台服务器是否在内网上,确认在内网后才会响应它发出的 IWA 请求。如果检测到某台服务器是在互联网上,<ph name="PRODUCT_NAME" /> 将会忽略这台服务器发出的 IWA 请求。
 
       注意:若要指定多个服务器名称,请用英文逗号分隔。允许使用通配符 <ph name="WILDCARD_VALUE" />。</translation>
+<translation id="1488724823347505879">允许将 Android 应用中的内容分享给 Web 应用</translation>
 <translation id="1495817006535797003">如果您设置了此政策,逗号分隔列表中指定的每个来源都将在自己的进程中运行,以子网域形式指定的来源也会被隔离。例如,指定 https://example.com/ 会导致 https://foo.example.com/ 被隔离(作为 https://example.com/ 网站的一部分)。请注意,从 <ph name="PRODUCT_NAME" /> 版本 77 起,Android 会在默认情况下隔离某些敏感网站,并且此政策会扩展该模式,以隔离其他特定的来源。
 
       如果将此政策设为停用,系统会关闭所有形式的网站隔离功能,包括隔离敏感网站、IsolateOriginsAndroid 和 SitePerProcessAndroid 的现场试验,以及其他网站隔离模式。不过,用户仍可以通过命令行标记手动开启 IsolateOrigins。
@@ -721,6 +723,7 @@
       在 Chrome 85 稳定版发布前,这项企业政策将不会产生任何效力。在 Chrome 85 稳定版发布后,当这项企业政策处于启用状态时,Chrome 的默认引荐来源网址政策将会设为先前的值 no-referrer-when-downgrade。
 
       默认情况下,这项企业政策会处于停用状态。</translation>
+<translation id="1960416154405676350">启用 <ph name="GOOGLE_LENS_PRODUCT_NAME" />区域搜索。</translation>
 <translation id="1962273523772270623">允许从 Google 服务收集 WebRTC 事件日志</translation>
 <translation id="1962864958436828230">设定数据大小下限以与旨在预防数据泄露的剪贴板限制规则搭配使用</translation>
 <translation id="1964634611280150550">隐身模式已停用</translation>
@@ -1508,6 +1511,7 @@
 <translation id="288448261660192095">如果此政策已启用,在远程连接期间,系统会关闭远程访问主机的物理输入和输出设备。
 
       如果此政策已停用或未设置,本地用户和远程用户都能在访问期间与远程访问主机交互。</translation>
+<translation id="2884765974461416016">停用 Android 应用至 Web 应用分享功能。</translation>
 <translation id="2886215882246310669">控制 <ph name="PRODUCT_OS_NAME" />是否允许在设备上添加新的 Family Link 用户帐号。
       此政策只能与 <ph name="DEVICE_USER_ALLOWLIST_POLICY_NAME" /> 结合使用。除了许可名单中所指定的帐号外,该政策允许添加 Family Link 帐号。
       此政策不会影响其他登录政策的行为。具体而言,此政策不会对以下情况产生任何影响:
@@ -3689,6 +3693,7 @@
       如果您设置了此政策,用户将无法在 <ph name="PRODUCT_NAME" /> 中更改它。如果您未设置此政策,用户便可选择是否要在外部打开 PDF。</translation>
 <translation id="570062449808736508">此政策设为非空字符串时,WebView 将读取具有指定机构名称的内容提供方的网址限制条件。</translation>
 <translation id="5708969689202733975">配置所允许的“快速解锁”模式</translation>
+<translation id="5714563837055244378">启用 Android 应用至 Web 应用分享功能。</translation>
 <translation id="5715617256528927547">通过设置此政策,您可以指定群组政策对象 (GPO) 缓存期限(以小时为单位),即 GPO 在不必重新下载的情况下可被重复使用的时长上限。只要 GPO 的版本未变,系统便会重复使用已缓存的 GPO,而不是在每次提取政策时都重新下载 GPO。
 
       如果此政策设为 0,系统会关闭 GPO 缓存。这样设置会增加服务器负载,因为系统在每次提取政策时都要重新下载 GPO,即使版本未变也是如此。
@@ -4827,6 +4832,9 @@
 <translation id="710003290625031750">已展开的架构说明:</translation>
 <translation id="7101550508196914704">不在书签栏中显示应用快捷方式</translation>
 <translation id="7109384070286741861">停用 CECPQ2</translation>
+<translation id="7122626777103192518">如果此政策设为 True,系统将允许使用内置 Android 分享系统将 Android 应用中的文本/文件分享给受支持的 Web 应用。
+      启用后,该功能会将已安装的 Web 应用的元数据发送给 Google,以生成和安装 shim Android 应用。
+      如果此政策设为 False,系统将停用该功能。</translation>
 <translation id="7126716959063786004">允许在任务管理器中结束进程</translation>
 <translation id="7126928806195745404">JavaScript 设置</translation>
 <translation id="7127892035367404455">回滚到目标版本</translation>
@@ -5125,11 +5133,6 @@
 <translation id="7529332889403151669">指定当设备从睡眠状态或暗屏幕恢复时是否应显示全屏提醒。
 
       如果此政策未设置或设为 True,系统会显示一条提醒,以提醒用户在输入密码之前先退出全屏。如果此政策设为 False,系统将不会显示任何提醒。</translation>
-<translation id="7529963829662387349">通过设置此政策,您可允许用户从您为 <ph name="PRODUCT_OS_NAME" />会话指定的输入法(键盘布局)中选择其一。
-
-       如果此政策设为一个空列表或未设置,用户将可以选择所有受支持的输入法。
-
-      注意:如果当前输入法不受支持,它会切换为硬件键盘布局(如果允许)或此列表中的第一个有效条目。无效输入法或不受支持的输入法将被忽略。</translation>
 <translation id="7534199150025803530">此政策对 Android 版“Google 云端硬盘”应用没有任何影响。如果您想阻止通过移动网络连接使用 Google 云端硬盘,则应禁止安装 Android 版“Google 云端硬盘”应用。</translation>
 <translation id="7540622499178214923">允许使用 Wilco 诊断和遥测控制器</translation>
 <translation id="7540826630642174841">如果您设置了此政策,那么在指定的时间间隔内,指定的设备政策会被忽略(使用这些政策的默认设置)。当政策时段开始或结束时,<ph name="PRODUCT_NAME" /> 会重新应用设备政策。当此时段有变且设备政策设置有变时(例如,当用户使用禁用的帐号登录时),系统会通知用户并强制用户退出。</translation>
@@ -5375,6 +5378,7 @@
       此政策只能通过 <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />进行设置。</translation>
 <translation id="7816326058023670173">孩子设备和家长设备共用的密钥。</translation>
 <translation id="7818131573217430250">设置登录屏幕上高反差模式的默认状态</translation>
+<translation id="7821864705813933283">允许在上下文菜单中显示 <ph name="GOOGLE_LENS_PRODUCT_NAME" />区域搜索菜单项(若受支持)。</translation>
 <translation id="7823902813460802031">如果此政策已启用,<ph name="PRODUCT_OS_NAME" />会阻止相应设备进入开发者模式。
 
        如果此政策已停用或未设置,相应设备将可以使用开发者模式。</translation>
@@ -5653,6 +5657,7 @@
 <translation id="8238421250255592181">一个布尔值标记,用于表明屏幕键盘能否提供自动填充功能。</translation>
 <translation id="8244171102276095471">在 TLS 中启用 RC4 加密套件</translation>
 <translation id="8244525275280476362">政策失效后的最大提取延迟</translation>
+<translation id="8245574649143980200">如果此政策未设置或已启用,用户便可以在上下文菜单中查看和使用 <ph name="GOOGLE_LENS_PRODUCT_NAME" />区域搜索菜单项。如果此政策已停用,而且系统支持 <ph name="GOOGLE_LENS_PRODUCT_NAME" />区域搜索,用户将不会在上下文菜单中看到 <ph name="GOOGLE_LENS_PRODUCT_NAME" />区域搜索菜单项。</translation>
 <translation id="82530263956734297">要从屏蔽名单中排除的扩展程序 ID</translation>
 <translation id="8256688113167012935">控制 <ph name="PRODUCT_OS_NAME" />在登录屏幕上为相应的设备本地帐号显示的帐号名。
 
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index bfe0222..03cf5d7 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -5123,11 +5123,6 @@
 <translation id="7529332889403151669">指定當裝置從休眠或全黑螢幕回到一般使用狀態時,是否要顯示全螢幕警示。
 
       如果未設定這項政策或設為 True,系統將顯示警示,提醒使用者先結束全螢幕模式再輸入密碼。如果將這項政策設為 False,系統不會顯示警示。</translation>
-<translation id="7529963829662387349">你可以透過這項政策,讓使用者為 <ph name="PRODUCT_OS_NAME" />工作階段選擇你指定的其中一種輸入法 (鍵盤配置)。
-
-       如果未設定或設為空白清單,使用者可以選取任何支援的輸入法。
-
-      注意:如果系統不支援目前的輸入法,則會將輸入法切換至硬體鍵盤配置 (如果允許的話),或是這份清單中的第一個有效項目。系統會忽略無效或不支援的輸入法。</translation>
 <translation id="7534199150025803530">這項政策對 Android Google 雲端硬碟應用程式沒有影響。如要禁止透過行動網路連線使用 Google 雲端硬碟,則必須禁止安裝 Android Google 雲端硬碟應用程式。</translation>
 <translation id="7540622499178214923">允許使用 wilco 診斷與遙測控制器</translation>
 <translation id="7540826630642174841">如果設定這項政策,系統會在指定的時間間隔內忽略特定裝置政策,並使用這類政策的預設設定。<ph name="PRODUCT_NAME" /> 會在這項政策所設定的期間開始或結束時重新套用裝置政策。當此期間變更或裝置政策設定變更時 (例如,當使用者以禁止使用的帳戶登入時),系統會通知使用者並將其強制登出。</translation>
diff --git a/components/safe_browsing/content/browser/password_protection/password_protection_service.cc b/components/safe_browsing/content/browser/password_protection/password_protection_service.cc
index 92df332..e9fd5ad 100644
--- a/components/safe_browsing/content/browser/password_protection/password_protection_service.cc
+++ b/components/safe_browsing/content/browser/password_protection/password_protection_service.cc
@@ -129,6 +129,37 @@
           username, password_type, matching_reused_credentials, trigger_type,
           password_field_exists, this, GetRequestTimeoutInMS()));
   request->Start();
+
+  // PasswordProtectionService defers all navigations in the WebContents while
+  // there is a pending request triggered by a password reuse. However it does
+  // this via NavigationThrottles, which are not able to throttle navigations
+  // that activate a prerendered page or a back/forward cached page. As a
+  // temporary workaround, disable activations within this WebContents whenever
+  // this event occurs.
+  //
+  // This code only disallows for PASSWORD_REUSE_EVENT because of the following
+  // observations:
+  // 1) A |warning_request| has to start out as a |pending_request|.
+  // 2) Only trigger type PASSWORD_REUSE_EVENT requests can become
+  // |warning_request|.
+  //
+  // This holds because |warning_requests_| insertion only happens at code that
+  // moves a request from |pending_requests_| to |warning_requests_|, which only
+  // does so if is_modal_warning_showing() is true. is_modal_warning_showing()
+  // can only be set to true if ShouldShowModalWarning() is true, which is
+  // always false if trigger_type != PASSWORD_REUSE_EVENT.
+  //
+  // If we were to disallow for other trigger types, we may disable prerendering
+  // more than required.
+  //
+  // TODO(https://crbug.com/1234857): Change the throttle to a
+  // CommitDeferringCondition, so the activation navigation can be deferred like
+  // other navigations.
+  if (request->trigger_type() ==
+      safe_browsing::LoginReputationClientRequest::PASSWORD_REUSE_EVENT) {
+    web_contents->DisallowActivationNavigationsForBug1234857();
+  }
+
   pending_requests_.insert(std::move(request));
 }
 
diff --git a/components/safe_browsing/core/browser/password_protection/password_protection_service_base.cc b/components/safe_browsing/core/browser/password_protection/password_protection_service_base.cc
index ae2c871..fac0300f 100644
--- a/components/safe_browsing/core/browser/password_protection/password_protection_service_base.cc
+++ b/components/safe_browsing/core/browser/password_protection/password_protection_service_base.cc
@@ -192,7 +192,7 @@
   }
 
   // Remove request from |pending_requests_| list. If it triggers warning, add
-  // it into the !warning_reqeusts_| list.
+  // it into the |warning_requests_| list.
   for (auto it = pending_requests_.begin(); it != pending_requests_.end();
        it++) {
     if (it->get() == request) {
diff --git a/components/strings/components_strings_af.xtb b/components/strings/components_strings_af.xtb
index 4830cc310..fc19bd6 100644
--- a/components/strings/components_strings_af.xtb
+++ b/components/strings/components_strings_af.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Gebind onder</translation>
 <translation id="962484866189421427">Hierdie inhoud kan probeer om misleidende programme te installeer wat voorgee om iets anders te wees of wat data insamel wat gebruik kan word om jou na te spoor. <ph name="BEGIN_LINK" />Wys in elk geval<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Amptelike bou</translation>
+<translation id="973473557718930265">Gaan uit</translation>
 <translation id="973773823069644502">Voeg afleweringadres by</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Geen}=1{1 item}other{# items}}</translation>
 <translation id="981121421437150478">Vanlyn</translation>
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index bb54027..af05626 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -470,6 +470,7 @@
 <translation id="2596415276201385844">ደህንነቱ የተጠበቀ ግንኙነት ለመመስረት፣ የእርስዎ ሰዓት በትክክል መቀናበር ያስፈልገዋል። ይህን የሆነበት ምክንያት የድር ጣቢያዎች ራሳቸውን ለማሳወቅ የሚጠቀሙባቸው የምስክር ወረቀቶች የሚሰሩት ለተወሰኑ ክፍለ ጊዜያቶች ብቻ ስለሆነ ነው። የእርስዎ መሣሪያ ሰዓት ልክ እንዳለመሆኑ መጠን Chromium እነዚህን ምስክር ወረቀቶች ሊያረጋግጣቸው አይችልም።</translation>
 <translation id="2597378329261239068">ይህ ሰነድ በይለፍ ቃል የተጠበቀ ነው። እባክዎ የይለፍ ቃል ያስገቡ።</translation>
 <translation id="2609632851001447353">ልዩነቶች</translation>
+<translation id="2610561535971892504">ለመቅዳት ጠቅ ያድርጉ</translation>
 <translation id="2618023639789766142">C10 (የደብዳቤ ፖስታ)</translation>
 <translation id="2625385379895617796">የእርስዎ ሰዓት ገና የወደፊት ነው</translation>
 <translation id="262745152991669301">ከዩኤስቢ መሣሪያዎች ጋር ለመገናኘት መጠየቅ ይችላል</translation>
@@ -2325,6 +2326,7 @@
 <translation id="961663415146723894">ከታች ጠርዝ</translation>
 <translation id="962484866189421427">ይህ ይዘት የሆነ ሌላ ነገር እንደሆኑ የሚያስመስሉ አጭበርባሪ መተግበሪያዎችን ወይም እርስዎን ለመከታተል ጥቅም ላይ ሊውል የሚችል ውሂብን የሚሰበስቡ መተግበሪያዎችን ለመጫን ሊሞክር ይችል ይሆናል። <ph name="BEGIN_LINK" />የሆነው ሆኖ አሳይ<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ይፋ ግንባታ</translation>
+<translation id="973473557718930265">አቋርጥ</translation>
 <translation id="973773823069644502">የማድረሻ አድራሻ ያክሉ</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ምንም}=1{1 ንጥል}one{# ንጥሎች}other{# ንጥሎች}}</translation>
 <translation id="981121421437150478">ከመስመር ውጪ</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index 89d3599..f9b4ab0 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">التجليد من الأسفل</translation>
 <translation id="962484866189421427">قد يحاول هذا المحتوى تثبيت تطبيقات مضللة تظهر كبرامج أخرى أو تجمع بيانات قد تُستخدم لتتبعك. <ph name="BEGIN_LINK" />العرض على أي حال<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">البنية الرسمية</translation>
+<translation id="973473557718930265">إنهاء</translation>
 <translation id="973773823069644502">إضافة عنوان التسليم للمستخدم</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{بدون}=1{عنصر واحد}two{عنصران (#)}few{# عناصر}many{# عنصرًا}other{# عنصر}}</translation>
 <translation id="981121421437150478">بلا اتصال</translation>
diff --git a/components/strings/components_strings_as.xtb b/components/strings/components_strings_as.xtb
index 64bcd9d6d..1ec2c682 100644
--- a/components/strings/components_strings_as.xtb
+++ b/components/strings/components_strings_as.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">নিকটৱৰ্তী ডিভাইচ ব্লুটুথ ডিভাইচসমূহ বিচাৰিবলৈ অনুমতি বিচাৰিব পাৰে</translation>
 <translation id="1426410128494586442">হয়</translation>
 <translation id="1428146450423315676">ষ্টেকাৰ ৭</translation>
+<translation id="1428729058023778569">এই ছাইটটোৱে HTTPS সমৰ্থন নকৰে বাবে আপুনি এই সকীয়নিটো দেখা পাইছে। <ph name="BEGIN_LEARN_MORE_LINK" />অধিক জানক<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">প্ৰিণ্ট কৰক</translation>
 <translation id="1436185428532214179">আপোনাৰ ডিভাইচত ফাইল আৰু ফ’ল্ডাৰ সম্পাদনা কৰিবলৈ বিচাৰিব পাৰে</translation>
 <translation id="1442386063175183758">সোঁফালে গে'ট ফ'ল্ড কৰক</translation>
@@ -647,6 +648,7 @@
 <translation id="3282497668470633863">কাৰ্ডত নাম যোগ কৰক</translation>
 <translation id="3286372614333682499">প’ৰ্ট্ৰেইট</translation>
 <translation id="3287510313208355388">অনলাইন হ’লে ডাউনল’ড কৰক</translation>
+<translation id="3288238092761586174"><ph name="URL" />এ আপোনাৰ পৰিশোধ সত্যাপন কৰিবলৈ অতিৰিক্ত পদক্ষেপ ল’বলগীয়া হ’ব পাৰে</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> নীতিৰ বিষয়ে অধিক জানক</translation>
 <translation id="3295444047715739395">Chromeৰ ছেটিংসমূহত আপোনাৰ পাছৱৰ্ডসমূহ চাওক আৰু পৰিচালনা কৰক</translation>
 <translation id="3303855915957856445">সন্ধানৰ কোনো ফলাফল পোৱা নগ'ল</translation>
@@ -2320,6 +2322,7 @@
 <translation id="961663415146723894">তলৰ অংশত সংযুক্ত কৰক</translation>
 <translation id="962484866189421427">এই সমলে বিভ্ৰান্তিকৰ এপ্ ইনষ্টল কৰিবলৈ চেষ্টা কৰিব পাৰে যি আন ছদ্মৱেশ ধাৰণ কৰিব পাৰে বা আপোনাৰ কাৰ্যকলাপৰ ওপৰত চকু ৰাখিবলৈ ব্যৱহাৰ কৰা ডেটা সংগ্ৰহ কৰিব পাৰে। <ph name="BEGIN_LINK" />যিকোনো প্ৰকাৰে দেখুৱাওক<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">আনুষ্ঠানিক বিল্ড</translation>
+<translation id="973473557718930265">বাহিৰ হওক</translation>
 <translation id="973773823069644502">ডেলিভাৰীৰ ঠিকনা যোগ কৰক</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{এটাও নহয়}=1{১টা বস্তু}one{#টা বস্তু}other{#টা বস্তু}}</translation>
 <translation id="981121421437150478">অফলাইন</translation>
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb
index 55bbcaf..54412c5 100644
--- a/components/strings/components_strings_az.xtb
+++ b/components/strings/components_strings_az.xtb
@@ -474,6 +474,7 @@
 <translation id="2596415276201385844">Güvənli bağlantı yaratmaq üçün saatınız düzgün ayarlanmalıdır. Çünki saytların işlətdikləri sertifikatlar zamana bağlıdır. Saatınız düzgün işləmədiyi halda Chrome bu sertifikatları doğrulaya bilmir.</translation>
 <translation id="2597378329261239068">Bu sənəd parol ilə qorunur. Parolu yazın.</translation>
 <translation id="2609632851001447353">Variasiyalar</translation>
+<translation id="2610561535971892504">Kopyalamaq üçün klikləyin</translation>
 <translation id="2618023639789766142">C10 (Zərf)</translation>
 <translation id="2625385379895617796">Saatınız irəlidədir</translation>
 <translation id="262745152991669301">Saytlar USB cihazlarına qoşulmaq icazəsi istəyə bilər</translation>
@@ -2327,6 +2328,7 @@
 <translation id="961663415146723894">Aşağıdan uclarını qovuşdurun</translation>
 <translation id="962484866189421427">Bu kontent başqa tətbiqə oxşayan və ya Sizi izləmək məqsədilə data əldə edən aldadıcı tətbiqləri quraşdırmağa cəhd edə bilər. <ph name="BEGIN_LINK" />İstənilən halda göstərin<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Rəsmi Quruluş</translation>
+<translation id="973473557718930265">Tərk edin</translation>
 <translation id="973773823069644502">Çatdırılma Ünvanı əlavə edin</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Yoxdur}=1{1 element}other{# element}}</translation>
 <translation id="981121421437150478">Oflayn</translation>
diff --git a/components/strings/components_strings_be.xtb b/components/strings/components_strings_be.xtb
index 15a84fe..5a39f28 100644
--- a/components/strings/components_strings_be.xtb
+++ b/components/strings/components_strings_be.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Пераплёт знізу</translation>
 <translation id="962484866189421427">Праз гэта змесціва могуць усталявацца падманныя праграмы, якія спрабуюць выдаваць сябе за нешта іншае або збіраюць даныя, што могуць быць выкарыстаны для сачэння за вамі. <ph name="BEGIN_LINK" />Усё роўна паказаць<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Афіцыйная зборка</translation>
+<translation id="973473557718930265">Выйсці</translation>
 <translation id="973773823069644502">Дадаць адрас дастаўкі</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Няма}=1{1 элемент}one{# элемент}few{# элементы}many{# элементаў}other{# элемента}}</translation>
 <translation id="981121421437150478">Па-за сеткай</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb
index 8b84b8b..56a0d79 100644
--- a/components/strings/components_strings_bg.xtb
+++ b/components/strings/components_strings_bg.xtb
@@ -2331,6 +2331,7 @@
 <translation id="961663415146723894">Подвързване на долната част</translation>
 <translation id="962484866189421427">Въпросното съдържание може да се опита да инсталира измамни приложения, които се представят за нещо друго или събират данни, които може да се използват за проследяването ви. <ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Официално издание</translation>
+<translation id="973473557718930265">Изход</translation>
 <translation id="973773823069644502">Добавяне на адрес за бърза доставка</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Няма}=1{1 елемент}other{# елемента}}</translation>
 <translation id="981121421437150478">Офлайн</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index c174202..94d80fa 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">কাছাকাছি ব্লুটুথ ডিভাইস আছে কিনা তা খুঁজে দেখার জন্য জিজ্ঞাসা করতে পারে</translation>
 <translation id="1426410128494586442">হ্যাঁ</translation>
 <translation id="1428146450423315676">স্ট্যাকার ৭</translation>
+<translation id="1428729058023778569">এই সাইটে HTTPS কাজ করে না, তাই আপনি এই সতর্কতা দেখছেন। <ph name="BEGIN_LEARN_MORE_LINK" />আরও জানুন<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">প্রিন্ট</translation>
 <translation id="1436185428532214179">আপনার ডিভাইসের ফাইল ও ফোল্ডার এডিট করার অনুমতি চাইতে পারে</translation>
 <translation id="1442386063175183758">ডানদিকে গেট ফোল্ড</translation>
@@ -650,6 +651,7 @@
 <translation id="3282497668470633863">কার্ডে থাকা নাম যোগ করুন</translation>
 <translation id="3286372614333682499">পোর্ট্রেট</translation>
 <translation id="3287510313208355388">অনলাইন হয়ে ডাউনলোড করবেন</translation>
+<translation id="3288238092761586174">আপনার পেমেন্ট যাচাই করতে, <ph name="URL" />হয়ত আরও কিছু করতে পারে</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> নীতি সম্পর্কে আরও জানুন</translation>
 <translation id="3295444047715739395">Chrome সেটিংস থেকে আপনার পাসওয়ার্ড দেখুন ও ম্যানেজ করুন</translation>
 <translation id="3303855915957856445">কোনো সার্চ ফলাফল পাওয়া যায়নি</translation>
@@ -2330,6 +2332,7 @@
 <translation id="961663415146723894">নিচে বাঁধাই করুন</translation>
 <translation id="962484866189421427">এই কন্টেন্টটি প্রতারণামূলক অ্যাপ ইনস্টল করে দিতে পারে যেগুলি অন্যান্য আপের থেকে আলাদা করা যায় না অথবা যেগুলি এমন ডেটা সংগ্রহ করে যা দিয়ে আপনার উপরে নজর রাখা যাবে। <ph name="BEGIN_LINK" />তবুও এটি দেখতে চাই<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">অফিসিয়াল বিল্ড</translation>
+<translation id="973473557718930265">প্রস্থান করুন</translation>
 <translation id="973773823069644502">ডেলিভারি ঠিকানা যোগ করুন</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{কিছুই নয়}=1{১টি আইটেম}one{#টি আইটেম}other{#টি আইটেম}}</translation>
 <translation id="981121421437150478">অফলাইন</translation>
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb
index 3b5ac0c5..cbef267 100644
--- a/components/strings/components_strings_bs.xtb
+++ b/components/strings/components_strings_bs.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Povezivanje donje strane</translation>
 <translation id="962484866189421427">Sadržaj može pokušati instalirati obmanjujuće aplikacije koje se pretvaraju da predstavljaju nešto drugo ili koje prikupljaju podatke koji se mogu iskoristiti za vaše praćenje. <ph name="BEGIN_LINK" />Ipak prikaži<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Zvanična verzija</translation>
+<translation id="973473557718930265">Napusti</translation>
 <translation id="973773823069644502">Dodaj adresu za isporuku</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nijedna}=1{1 stavka}one{# stavka}few{# stavke}other{# stavki}}</translation>
 <translation id="981121421437150478">Van mreže</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index 07182842..09482c7c 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -2324,6 +2324,7 @@
 <translation id="961663415146723894">Enquadernació per la part inferior</translation>
 <translation id="962484866189421427">Pot ser que aquest contingut provi d'instal·lar aplicacions enganyoses que es facin passar per d'altres o que recullin dades que podrien utilitzar-se per fer un seguiment de la teva activitat. <ph name="BEGIN_LINK" />Mostra igualment<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Muntatge oficial</translation>
+<translation id="973473557718930265">Surt</translation>
 <translation id="973773823069644502">Afegeix una adreça d'entrega</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Cap}=1{1 element}other{# elements}}</translation>
 <translation id="981121421437150478">Sense connexió</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb
index b16e9944..5f9fa3a 100644
--- a/components/strings/components_strings_cs.xtb
+++ b/components/strings/components_strings_cs.xtb
@@ -2319,6 +2319,7 @@
 <translation id="961663415146723894">Vazba dole</translation>
 <translation id="962484866189421427">Tento obsah by se mohl pokusit instalovat klamavé aplikace, které se vydávají za něco jiného nebo shromažďují data ke sledování vaší aktivity. <ph name="BEGIN_LINK" />Přesto zobrazit<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Oficiální sestavení</translation>
+<translation id="973473557718930265">Ukončit</translation>
 <translation id="973773823069644502">Přidat adresu doručení</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Žádné}=1{1 položka}few{# položky}many{# položky}other{# položek}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index ef20ac1..543bf7f 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">Bind nederst</translation>
 <translation id="962484866189421427">Dette indhold kan forsøge at installere vildledende apps, der foregiver at være noget andet, eller som indsamler data, der kan anvendes til at overvåge dig. <ph name="BEGIN_LINK" />Vis alligevel<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Officiel version</translation>
+<translation id="973473557718930265">Afslut</translation>
 <translation id="973773823069644502">Tilføj leveringsadresse</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ingen}=1{1 element}one{# element}other{# elementer}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index 834dcf9..d656802 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -2323,6 +2323,7 @@
 <translation id="961663415146723894">Bindung unten</translation>
 <translation id="962484866189421427">Dieser Inhalt könnte betrügerische Apps installieren, die scheinbar einem anderen Zweck dienen oder Daten erfassen, um Sie auszuspionieren. <ph name="BEGIN_LINK" />Trotzdem zeigen<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Offizieller Build</translation>
+<translation id="973473557718930265">Beenden</translation>
 <translation id="973773823069644502">Lieferadresse hinzufügen</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Keine}=1{1 Eintrag}other{# Einträge}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 6b4b422..53cf79d3 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -2340,6 +2340,7 @@
 <translation id="961663415146723894">Δέσιμο στο κάτω μέρος</translation>
 <translation id="962484866189421427">Αυτό το περιεχόμενο μπορεί να επιχειρήσει να εγκαταστήσει παραπλανητικές εφαρμογές που προσποιούνται ότι είναι κάτι άλλο ή συλλέγουν δεδομένα τα οποία μπορεί να χρησιμοποιηθούν για την παρακολούθησή σας. <ph name="BEGIN_LINK" />Να εμφανίζεται ούτως ή άλλως<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Επίσημη έκδοση</translation>
+<translation id="973473557718930265">Έξοδος</translation>
 <translation id="973773823069644502">Προσθήκη διεύθυνσης παράδοσης</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Κανένα}=1{1 στοιχείο}other{# στοιχεία}}</translation>
 <translation id="981121421437150478">Εκτός σύνδεσης</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb
index 8f54874..aabc3e2e 100644
--- a/components/strings/components_strings_en-GB.xtb
+++ b/components/strings/components_strings_en-GB.xtb
@@ -2332,6 +2332,7 @@
 <translation id="961663415146723894">Bind bottom</translation>
 <translation id="962484866189421427">This content might try to install deceptive apps that pretend to be something else or collect data that may be used to track you. <ph name="BEGIN_LINK" />Show anyway<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Official Build</translation>
+<translation id="973473557718930265">Quit</translation>
 <translation id="973773823069644502">Add delivery address</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{None}=1{1 item}other{# items}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index 9748dd57..cfad4a9 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -2326,6 +2326,7 @@
 <translation id="961663415146723894">Encuadernado en la parte inferior</translation>
 <translation id="962484866189421427">Este contenido podría intentar instalar apps engañosas que se hagan pasar por otro tipo de contenido o que recopilen datos que se usen para rastrearte. <ph name="BEGIN_LINK" />Mostrar de todos modos<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Build oficial</translation>
+<translation id="973473557718930265">Salir</translation>
 <translation id="973773823069644502">Agregar dirección de entrega</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ninguno}=1{1 elemento}other{# elementos}}</translation>
 <translation id="981121421437150478">Sin conexión</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index be43225eb..2d98868 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Encuadernar por la parte inferior</translation>
 <translation id="962484866189421427">Este contenido podría intentar instalar aplicaciones engañosas que se hagan pasar por otra persona o recojan datos que podrían usarse para realizar un seguimiento de tu actividad. <ph name="BEGIN_LINK" />Mostrar de todos modos<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Build oficial</translation>
+<translation id="973473557718930265">Salir</translation>
 <translation id="973773823069644502">Añadir dirección de entrega</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ninguno}=1{1 elemento}other{# elementos}}</translation>
 <translation id="981121421437150478">Sin conexión</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index 9e5c502..41128cc 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -2332,6 +2332,7 @@
 <translation id="961663415146723894">Köide all</translation>
 <translation id="962484866189421427">Sisu võib üritada installida petturlikke rakendusi, mis esinevad millegi muuna või koguvad andmeid, mida saab kasutada teie jälgimiseks. <ph name="BEGIN_LINK" />Kuva siiski<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Ametlik järk</translation>
+<translation id="973473557718930265">Välju</translation>
 <translation id="973773823069644502">Lisage kohaletoimetamisaadress</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ühtegi}=1{1 üksus}other{# üksust}}</translation>
 <translation id="981121421437150478">Võrguühenduseta</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb
index 7720bd4..238da23 100644
--- a/components/strings/components_strings_eu.xtb
+++ b/components/strings/components_strings_eu.xtb
@@ -2319,6 +2319,7 @@
 <translation id="961663415146723894">Koadernatu behetik</translation>
 <translation id="962484866189421427">Eduki hau beste zerbaiten plantak egiten dituzten aplikazio iruzurtiak instalatzen saia daiteke edo datuak bil ditzake zure jarraipena egiteko. <ph name="BEGIN_LINK" />Erakutsi hala ere<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Konpilazio ofiziala</translation>
+<translation id="973473557718930265">Irten</translation>
 <translation id="973773823069644502">Gehitu entrega-helbidea</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Bat ere ez}=1{1 elementu}other{# elementu}}</translation>
 <translation id="981121421437150478">Konexiorik gabekoak</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index 174121e..4c4ccefb 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">به‌هم چسباندن از پایین</translation>
 <translation id="962484866189421427">این محتوا ممکن است برنامه‌های فریب‌دهنده‌ای نصب کند که وانمود می‌کنند برنامه دیگری هستند یا اینکه داده‌هایی برای ردیابی شما جمع‌آوری می‌کنند. <ph name="BEGIN_LINK" />درهرصورت نشان داده شود<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ساخت رسمی</translation>
+<translation id="973473557718930265">خروج</translation>
 <translation id="973773823069644502">افزودن نشانی ارسال</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{هیچ‌کدام}=1{۱ مورد}one{# مورد}other{# مورد}}</translation>
 <translation id="981121421437150478">آفلاین</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb
index b433492..53aaf449 100644
--- a/components/strings/components_strings_fi.xtb
+++ b/components/strings/components_strings_fi.xtb
@@ -2335,6 +2335,7 @@
 <translation id="961663415146723894">Alareuna sidottu</translation>
 <translation id="962484866189421427">Tämä sisältö voi yrittää asentaa petollisia sovelluksia, jotka esiintyvät jonakin muuna tai keräävät tietoja, joilla sinua voidaan seurata. <ph name="BEGIN_LINK" />Näytä silti<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Virallinen koontiversio</translation>
+<translation id="973473557718930265">Sulje</translation>
 <translation id="973773823069644502">Lisää jakeluosoite</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ei mitään}=1{1 kohde}other{# kohdetta}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb
index 57928e7..fd07dc2 100644
--- a/components/strings/components_strings_fil.xtb
+++ b/components/strings/components_strings_fil.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Bind bottom</translation>
 <translation id="962484866189421427">Maaaring subukan ng content na itong mag-install ng mga mapanlinlang na app na nagpapanggap na ibang bagay o nangongolekta ng data na maaaring gamitin para subaybayan ka. <ph name="BEGIN_LINK" />Ipakita pa rin<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Official Build</translation>
+<translation id="973473557718930265">Isara</translation>
 <translation id="973773823069644502">Magdagdag ng Address sa Paghahatid</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Wala}=1{1 item}one{# item}other{# na item}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_fr-CA.xtb b/components/strings/components_strings_fr-CA.xtb
index 84ffd984..51fb8c1 100644
--- a/components/strings/components_strings_fr-CA.xtb
+++ b/components/strings/components_strings_fr-CA.xtb
@@ -2324,6 +2324,7 @@
 <translation id="961663415146723894">Reliure en bas</translation>
 <translation id="962484866189421427">Ce contenu peut essayer d'installer des applications trompeuses qui prétendent être autre chose que ce qu'elles sont ou qui collectent des données pouvant être utilisées pour effectuer le suivi de votre activité. <ph name="BEGIN_LINK" />Afficher quand même<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Version officielle</translation>
+<translation id="973473557718930265">Quitter</translation>
 <translation id="973773823069644502">Ajouter une adresse de livraison</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Aucun}=1{1 élément}one{# élément}other{# éléments}}</translation>
 <translation id="981121421437150478">Hors ligne</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb
index 2d473b3..3a4aa73d 100644
--- a/components/strings/components_strings_fr.xtb
+++ b/components/strings/components_strings_fr.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">Reliure en bas</translation>
 <translation id="962484866189421427">Ce contenu peut essayer d'installer des applications trompeuses se faisant passer pour d'autres, ou de collecter des données afin de vous surveiller. <ph name="BEGIN_LINK" />Je souhaite y accéder malgré tout.<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Build officiel</translation>
+<translation id="973473557718930265">Quitter</translation>
 <translation id="973773823069644502">Ajouter une adresse d'expédition</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Aucun}=1{1 élément}one{# élément}other{# éléments}}</translation>
 <translation id="981121421437150478">Hors connexion</translation>
diff --git a/components/strings/components_strings_gl.xtb b/components/strings/components_strings_gl.xtb
index c435dd0..19810efd 100644
--- a/components/strings/components_strings_gl.xtb
+++ b/components/strings/components_strings_gl.xtb
@@ -473,6 +473,7 @@
 <translation id="2596415276201385844">Para establecer unha conexión segura, é necesario que o reloxo estea correctamente axustado. Isto débese a que os certificados utilizados polos sitios web para identificarse só son válidos durante períodos de tempo específicos. Debido a que o reloxo do dispositivo está incorrectamente axustado, Chrome non pode verificar estes certificados.</translation>
 <translation id="2597378329261239068">Este documento está protexido con contrasinal. Introduce un contrasinal.</translation>
 <translation id="2609632851001447353">Variacións</translation>
+<translation id="2610561535971892504">Fai clic para copiar a información</translation>
 <translation id="2618023639789766142">C10 (sobre)</translation>
 <translation id="2625385379895617796">O teu reloxo está adiantado</translation>
 <translation id="262745152991669301">Pode pedirche permiso para conectarse aos dispositivos USB</translation>
@@ -2331,6 +2332,7 @@
 <translation id="961663415146723894">Encadernación na parte inferior</translation>
 <translation id="962484866189421427">Este contido pode tentar instalar aplicacións enganosas que pretenden pasar por algo que non son ou recompilar datos que se poden utilizar para facer un seguimento das túas accións. <ph name="BEGIN_LINK" />Mostrar igualmente<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Compilación oficial</translation>
+<translation id="973473557718930265">Saír</translation>
 <translation id="973773823069644502">Engadir enderezo de entrega</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ningún}=1{1 elemento}other{# elementos}}</translation>
 <translation id="981121421437150478">Sen conexión</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index 955d0a4e..4b3db27 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">નજીકના બ્લૂટૂથ ડિવાઇસને શોધવાનું પૂછી શકે છે</translation>
 <translation id="1426410128494586442">હા</translation>
 <translation id="1428146450423315676">સ્ટૅકર 7</translation>
+<translation id="1428729058023778569">તમે આ ચેતવણી જોઈ રહ્યાં છો કારણ કે આ સાઇટ HTTPSને સપોર્ટ કરતી નથી. <ph name="BEGIN_LEARN_MORE_LINK" />વધુ જાણો<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">પ્રિન્ટ</translation>
 <translation id="1436185428532214179">તમારા ડિવાઇસમાંની ફાઇલોમાં અને ફોલ્ડરોમાં ફેરફાર કરવાનું પૂછી શકે છે</translation>
 <translation id="1442386063175183758">જમણો ગેટ ફોલ્ડ</translation>
@@ -649,6 +650,7 @@
 <translation id="3282497668470633863">કાર્ડ પર નામ ઉમેરો</translation>
 <translation id="3286372614333682499">પોર્ટ્રેટ</translation>
 <translation id="3287510313208355388">ઑનલાઇન હોય ત્યારે ડાઉનલોડ કરો</translation>
+<translation id="3288238092761586174">તમારી ચુકવણીની ચકાસણી કરવા માટે <ph name="URL" /> દ્વારા વધારાના પગલાં લેવા જરૂરી હોઈ શકે છે</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> પૉલિસી વિશે વધુ જાણો</translation>
 <translation id="3295444047715739395">Chrome સેટિંગમાં તમારા પાસવર્ડ જુઓ અને તેને મેનેજ કરો</translation>
 <translation id="3303855915957856445">કોઈ શોધ પરિણામો મળ્યાં નથી</translation>
@@ -2329,6 +2331,7 @@
 <translation id="961663415146723894">નીચેની બાજુએ જોડો</translation>
 <translation id="962484866189421427">આ કન્ટેન્ટ કદાચ ભ્રામક ઍપ ઇન્સ્ટૉલ કરવાનો પ્રયાસ કરે છે કે જે પોતાની ખોટી ઓળખ આપે છે અથવા તમને ટ્રૅક કરવા માટે ઉપયોગમાં લઈ શકાય તેવો ડેટા મેળવે છે. <ph name="BEGIN_LINK" />તો પણ બતાવો<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">આધિકારિક બિલ્ડ</translation>
+<translation id="973473557718930265">છોડી દો</translation>
 <translation id="973773823069644502">વિતરણ માટેનું સરનામું ઉમેરો</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{કોઈ નહીં}=1{1 આઇટમ}one{# આઇટમ}other{# આઇટમ}}</translation>
 <translation id="981121421437150478">ઑફલાઇન</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index c36ea619..78c5c02 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">नीचे की ओर बाइंड</translation>
 <translation id="962484866189421427">यह सामग्री ऐसे धोखा देने वाले ऐप्लिकेशन इंस्टॉल कर सकती है जो कुछ और होने का दावा करते हैं या ऐसा डेटा इकट्ठा करते हैं जिसका इस्तेमाल आप पर नज़र रखने के लिए किया जा सके. <ph name="BEGIN_LINK" />फिर भी दिखाएं<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">आधिकारिक बिल्ड</translation>
+<translation id="973473557718930265">छोड़ें</translation>
 <translation id="973773823069644502">डिलीवरी का पता जोड़ें</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{कुछ नहीं}=1{1 आइटम}one{# आइटम}other{# आइटम}}</translation>
 <translation id="981121421437150478">ऑफ़लाइन</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index c6185de..2bb7762 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -2335,6 +2335,7 @@
 <translation id="961663415146723894">Uvez pri dnu</translation>
 <translation id="962484866189421427">Ovaj sadržaj može pokušati instalirati obmanjujuće aplikacije koje se pretvaraju da su nešto drugo ili prikupljaju podatke na temelju kojih vas je moguće pratiti. <ph name="BEGIN_LINK" />Ipak prikaži<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Službeni sastavak</translation>
+<translation id="973473557718930265">Odustani</translation>
 <translation id="973773823069644502">Dodajte adresu za isporuku</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nijedna}=1{1 stavka}one{# stavka}few{# stavke}other{# stavki}}</translation>
 <translation id="981121421437150478">Izvanmrežno</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb
index e8f9216..f262632e 100644
--- a/components/strings/components_strings_hu.xtb
+++ b/components/strings/components_strings_hu.xtb
@@ -2332,6 +2332,7 @@
 <translation id="961663415146723894">Kötés alul</translation>
 <translation id="962484866189421427">Ez a tartalom megtévesztő alkalmazásokat telepíthet, amelyek más alkalmazásnak tettethetik magukat, illetve az Ön nyomon követésére alkalmas adatokat gyűjthetnek. <ph name="BEGIN_LINK" />Megjelenítés mindenképpen<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Hivatalos verzió</translation>
+<translation id="973473557718930265">Kilépés</translation>
 <translation id="973773823069644502">Kézbesítési cím hozzáadása</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nincs}=1{1 elem}other{# elem}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_hy.xtb b/components/strings/components_strings_hy.xtb
index c4b3aa0..2d61132 100644
--- a/components/strings/components_strings_hy.xtb
+++ b/components/strings/components_strings_hy.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Ամրակար ներքևում</translation>
 <translation id="962484866189421427">Այս բովանդակությունը կարող է փորձել կեղծ հավելվածներ տեղադրել կամ տվյալներ հավաքել՝ ձեզ հետևելու համար։ <ph name="BEGIN_LINK" />Միևնույն է ցուցադրել<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Պաշտոնական տարբերակ</translation>
+<translation id="973473557718930265">Դուրս գալ</translation>
 <translation id="973773823069644502">Ավելացրեք առաքման հասցեն</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ոչինչ չկա}=1{1 տարր}one{# տարր}other{# տարր}}</translation>
 <translation id="981121421437150478">Անցանց</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb
index fcf2bbf..d278b990 100644
--- a/components/strings/components_strings_id.xtb
+++ b/components/strings/components_strings_id.xtb
@@ -474,7 +474,7 @@
 <translation id="2618023639789766142">C10 (Amplop)</translation>
 <translation id="2625385379895617796">Setelan jam terlalu cepat</translation>
 <translation id="262745152991669301">Dapat meminta untuk terhubung ke perangkat USB</translation>
-<translation id="2629325967560697240">Untuk mendapatkan tingkat keamanan tertinggi Chrome, <ph name="BEGIN_ENHANCED_PROTECTION_LINK" />aktifkan perlindungan yang disempurnakan<ph name="END_ENHANCED_PROTECTION_LINK" /></translation>
+<translation id="2629325967560697240">Untuk mendapatkan tingkat keamanan tertinggi Chrome, <ph name="BEGIN_ENHANCED_PROTECTION_LINK" />aktifkan perlindungan yang ditingkatkan<ph name="END_ENHANCED_PROTECTION_LINK" /></translation>
 <translation id="2634124572758952069">Alamat IP server <ph name="HOST_NAME" /> tidak dapat ditemukan.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="264810637653812429">Tidak ditemukan perangkat yang kompatibel.</translation>
@@ -2319,6 +2319,7 @@
 <translation id="961663415146723894">Jilid bawah</translation>
 <translation id="962484866189421427">Konten ini mungkin mencoba menginstal aplikasi penipuan dengan berpura-pura menjadi sesuatu yang lain atau mengumpulkan data yang dapat digunakan untuk melacak Anda. <ph name="BEGIN_LINK" />Tampilkan saja<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Build Resmi</translation>
+<translation id="973473557718930265">Keluar</translation>
 <translation id="973773823069644502">Tambahkan Alamat Pengiriman</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Tidak ada}=1{1 item}other{# item}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb
index 7776e0d..58c56cc6 100644
--- a/components/strings/components_strings_is.xtb
+++ b/components/strings/components_strings_is.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Bundið neðst</translation>
 <translation id="962484866189421427">Þetta efni gæti verið að reyna að setja upp villandi forrit sem virðast vera eitthvað annað en þau eru eða safna gögnum sem má nota til að fylgjast með þér. <ph name="BEGIN_LINK" />Sýna samt<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Opinber smíði</translation>
+<translation id="973473557718930265">Hætta</translation>
 <translation id="973773823069644502">Bæta við heimilisfangi til afhendingar</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ekkert}=1{Eitt atriði}one{# atriði}other{# atriði}}</translation>
 <translation id="981121421437150478">Ónettengt</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb
index 3f69339..8f09135 100644
--- a/components/strings/components_strings_it.xtb
+++ b/components/strings/components_strings_it.xtb
@@ -2329,6 +2329,7 @@
 <translation id="961663415146723894">Rilegatura in basso</translation>
 <translation id="962484866189421427">Questi contenuti potrebbero installare app ingannevoli che si spacciano per qualcos'altro o raccolgono dati che potrebbero essere usati per monitorare la tua attività. <ph name="BEGIN_LINK" />Mostra comunque<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Build ufficiale</translation>
+<translation id="973473557718930265">Esci</translation>
 <translation id="973773823069644502">Aggiungi l'indirizzo di consegna</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nessuno}=1{1 elemento}other{# elementi}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb
index c14df5168..a4daf799 100644
--- a/components/strings/components_strings_iw.xtb
+++ b/components/strings/components_strings_iw.xtb
@@ -2336,6 +2336,7 @@
 <translation id="961663415146723894">כריכה בקצה התחתון</translation>
 <translation id="962484866189421427">ייתכן שבתוכן הזה יש קוד להתקנת אפליקציות מטעות שמתחזות למשהו אחר או שאוספות נתונים המאפשרים לעקוב אחריך. <ph name="BEGIN_LINK" />אני רוצה לראות בכל זאת<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">גרסה רשמית</translation>
+<translation id="973473557718930265">יציאה</translation>
 <translation id="973773823069644502">הוספת כתובת למסירה</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ללא}=1{פריט אחד}two{שני פריטים}many{# פריטים}other{# פריטים}}</translation>
 <translation id="981121421437150478">לא מקוון</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index b9eb44b..2557ab3 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -2325,6 +2325,7 @@
 <translation id="961663415146723894">製本(下綴じ)</translation>
 <translation id="962484866189421427">このコンテンツを表示すると、詐欺的なアプリ(他のものに成りすましたり、ユーザーの追跡などに使用可能なデータを収集したりするアプリ)のインストールが試行される可能性があります。<ph name="BEGIN_LINK" />危険性を理解したうえで表示する<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Official Build</translation>
+<translation id="973473557718930265">終了</translation>
 <translation id="973773823069644502">配達先住所を追加</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{なし}=1{1 件のアイテム}other{# 件のアイテム}}</translation>
 <translation id="981121421437150478">オフライン</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb
index a50c4cb3..878bbd1 100644
--- a/components/strings/components_strings_ka.xtb
+++ b/components/strings/components_strings_ka.xtb
@@ -2324,6 +2324,7 @@
 <translation id="961663415146723894">აკინძვა ქვემოთ</translation>
 <translation id="962484866189421427">ამ კონტენტის მეშვეობით შეიძლება დაინსტალირდეს შეცდომაში შემყვანი აპები, რომლებსაც შეუძლია თავის გასაღება სხვა აპებად ან ისეთი მონაცემების შეგროვება, რომელთა მეშვეობითაც შესაძლებელი იქნება თქვენთვის თვალის მიდევნება. <ph name="BEGIN_LINK" />მაინც ჩვენება<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ოფიციალური კონსტრუქცია</translation>
+<translation id="973473557718930265">გამოსვლა</translation>
 <translation id="973773823069644502">მიწოდების მისამართის დამატება</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{არცერთი}=1{1 ერთეული}other{# ერთეული}}</translation>
 <translation id="981121421437150478">ოფლაინი</translation>
diff --git a/components/strings/components_strings_kk.xtb b/components/strings/components_strings_kk.xtb
index 41e17810..84877af 100644
--- a/components/strings/components_strings_kk.xtb
+++ b/components/strings/components_strings_kk.xtb
@@ -2332,6 +2332,7 @@
 <translation id="961663415146723894">Төменгі жағын байлау</translation>
 <translation id="962484866189421427">Бұл мазмұн жалған қолданбалар орнатуы мүмкін, олар басқа біреудің атын жамылуы немесе сізді бақылау үшін пайдаланылатын деректерді жинауы мүмкін. <ph name="BEGIN_LINK" />Бәрібір көрсету<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Ресми жинақ</translation>
+<translation id="973473557718930265">Шығу</translation>
 <translation id="973773823069644502">Жеткізу мекенжайын енгізу</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Жоқ}=1{1 элемент}other{# элемент}}</translation>
 <translation id="981121421437150478">Желіден тыс</translation>
diff --git a/components/strings/components_strings_km.xtb b/components/strings/components_strings_km.xtb
index 4d312cb..10f1747f 100644
--- a/components/strings/components_strings_km.xtb
+++ b/components/strings/components_strings_km.xtb
@@ -2339,6 +2339,7 @@
 <translation id="961663415146723894">ភ្ជាប់​ខាងក្រោម</translation>
 <translation id="962484866189421427">ខ្លឹមសារនេះអាចព្យាយាមដំឡើងកម្មវិធីបោកប្រាស់ ដែល​ក្លែង​ធ្វើជាអ្វីម្យ៉ាង ឬ​ប្រមូល​ទិន្នន័យ​ដែល​អាច​ប្រើ​ដើម្បីតាម​ដានអ្នក។ <ph name="BEGIN_LINK" />បង្ហាញចុះមិន​អី​ទេ​<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">លេខកំណែផ្លូវការ</translation>
+<translation id="973473557718930265">ចាកចេញ</translation>
 <translation id="973773823069644502">បញ្ចូល​អាសយដ្ឋាន​ចែកចាយ</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{គ្មាន}=1{ធាតុ 1}other{ធាតុ #}}</translation>
 <translation id="981121421437150478">ក្រៅបណ្តាញ</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb
index 28e3855b6..afc82e3 100644
--- a/components/strings/components_strings_kn.xtb
+++ b/components/strings/components_strings_kn.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">ಸಮೀಪದಲ್ಲಿರುವ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳನ್ನು ಅನ್ವೇಷಿಸಲು ಕೇಳಬಹುದು</translation>
 <translation id="1426410128494586442">ಹೌದು</translation>
 <translation id="1428146450423315676">ಸ್ಟ್ಯಾಕರ್ 7</translation>
+<translation id="1428729058023778569">ಈ ಸೈಟ್ HTTPS ಅನ್ನು ಬೆಂಬಲಿಸದ ಕಾರಣ, ನೀವು ಈ ಎಚ್ಚರಿಕೆಯನ್ನು ನೋಡುತ್ತಿದ್ದೀರಿ. <ph name="BEGIN_LEARN_MORE_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">ಮುದ್ರಿಸು</translation>
 <translation id="1436185428532214179">ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿನ ಫೈಲ್‌ಗಳು ಮತ್ತು ಫೋಲ್ಡರ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಕೇಳಬಹುದು</translation>
 <translation id="1442386063175183758">ಬಲಭಾಗದ ಗೇಟ್ ಅನ್ನು ಮಡಿಸಿ</translation>
@@ -471,6 +472,7 @@
 <translation id="2596415276201385844">ಸುರಕ್ಷಿತ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲು, ನಿಮ್ಮ ಗಡಿಯಾರವನ್ನು ಸರಿಯಾಗಿ ಹೊಂದಿಸಬೇಕಾದ ಅಗತ್ಯವಿದೆ. ವೆಬ್‌ಸೈಟ್‌ಗಳು ತಮ್ಮನ್ನು ಗುರುತಿಸಲು ಬಳಸುವ ಪ್ರಮಾಣಪತ್ರಗಳು ನಿರ್ದಿಷ್ಟ ಅವಧಿಗಳಲ್ಲಿ ಮಾತ್ರ ಮಾನ್ಯವಾಗಿರುವ ಕಾರಣ ಹೀಗಾಗುತ್ತದೆ. ನಿಮ್ಮ ಸಾಧನದ ಗಡಿಯಾರವು ತಪ್ಪಾಗಿರುವ ಕಾರಣ, Chromium ಗೆ ಈ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
 <translation id="2597378329261239068">ಈ ಡಾಕ್ಯುಮೆಂಟ್‌ ಅನ್ನು ಪಾಸ್‌ವರ್ಡ್‌ನಿಂದ ರಕ್ಷಿಸಲಾಗಿದೆ. ದಯವಿಟ್ಟು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿ.</translation>
 <translation id="2609632851001447353">ಪರಿವರ್ತನೆಗಳು</translation>
+<translation id="2610561535971892504">ನಕಲಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
 <translation id="2625385379895617796">ನಿಮ್ಮ ಗಡಿಯಾರವು ಮುಂದೆ ಇದೆ</translation>
 <translation id="262745152991669301">USB ಸಾಧನಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲು ಕೇಳಬಹುದು</translation>
@@ -645,6 +647,7 @@
 <translation id="3282497668470633863">ಕಾರ್ಡ್‌ನಲ್ಲಿರುವ ಹೆಸರನ್ನು ಸೇರಿಸಿ</translation>
 <translation id="3286372614333682499">ಪೋರ್ಟ್ರೇಟ್</translation>
 <translation id="3287510313208355388">ಆನ್‌ಲೈನ್‌ನಲ್ಲಿರುವಾಗ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ</translation>
+<translation id="3288238092761586174">ನಿಮ್ಮ ಪಾವತಿಯನ್ನು ಪರಿಶೀಲಿಸಲು <ph name="URL" /> ಗೆ ಹೆಚ್ಚುವರಿ ಹಂತಗಳನ್ನು ಅನುಸರಿಸಬೇಕಾಗಬಹುದು</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> ಕಾರ್ಯನೀತಿಯ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಿ</translation>
 <translation id="3295444047715739395">Chrome ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="3303855915957856445">ಯಾವುದೇ ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬಂದಿಲ್ಲ</translation>
@@ -2319,6 +2322,7 @@
 <translation id="961663415146723894">ಕೆಳಭಾಗದಲ್ಲಿ ಬೈಂಡ್ ಮಾಡಿ</translation>
 <translation id="962484866189421427">ಈ ವಿಷಯವು ವಂಚಕ ಆ್ಯಪ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಬಹುದು. ಈ ಆ್ಯಪ್‌ಗಳು ಬೇರೆ ಯಾವುದರಂತೆಯೋ ಸೋಗು ಹಾಕುವ ಅಥವಾ ನಿಮ್ಮನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಬಳಸಬಹುದಾದ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವ ಸಾಧ್ಯತೆಯಿದೆ. <ph name="BEGIN_LINK" />ಹೇಗಿದ್ದರೂ ತೋರಿಸಿ<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ಅಧಿಕೃತವಾಗಿ ನಿರ್ಮಿಸಿ</translation>
+<translation id="973473557718930265">ತ್ಯಜಿಸು</translation>
 <translation id="973773823069644502">ವಿತರಣೆ ವಿಳಾಸವನ್ನು ಸೇರಿಸಿ</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ಯಾವುದೂ ಇಲ್ಲ}=1{1 ಐಟಂ}one{# ಐಟಂಗಳು}other{# ಐಟಂಗಳು}}</translation>
 <translation id="981121421437150478">ಆಫ್‌ಲೈನ್</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index cf9dd84..21ad388 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -2323,6 +2323,7 @@
 <translation id="961663415146723894">하단 바인드</translation>
 <translation id="962484866189421427">이 콘텐츠에서 다른 앱인 것처럼 가장하거나 사용자를 추적하는 데 사용될 수 있는 데이터를 수집하는 사기성 앱을 설치할 수도 있습니다. <ph name="BEGIN_LINK" />그래도 표시하기<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">공식 빌드</translation>
+<translation id="973473557718930265">종료</translation>
 <translation id="973773823069644502">배달 주소 추가</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{없음}=1{항목 1개}other{항목 #개}}</translation>
 <translation id="981121421437150478">오프라인</translation>
diff --git a/components/strings/components_strings_ky.xtb b/components/strings/components_strings_ky.xtb
index 32c3553..712de05 100644
--- a/components/strings/components_strings_ky.xtb
+++ b/components/strings/components_strings_ky.xtb
@@ -2332,6 +2332,7 @@
 <translation id="961663415146723894">Төмөн жагын байлоо</translation>
 <translation id="962484866189421427">Бул мазмун башка колдонмолорго окшош жасалма колдонмолорду орнотуп коюшу же сизге көз салуу үчүн дайындарды чогултуп алышы мүмкүн. <ph name="BEGIN_LINK" />Баары бир көрүнсүн<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Расмий курама</translation>
+<translation id="973473557718930265">Чыгуу</translation>
 <translation id="973773823069644502">Жеткирүү дарегин кошуу</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Бирөө жа жок}=1{1 нерсе}other{# нерсе}}</translation>
 <translation id="981121421437150478">Офлайн</translation>
diff --git a/components/strings/components_strings_lo.xtb b/components/strings/components_strings_lo.xtb
index 449283f7..1e3881b 100644
--- a/components/strings/components_strings_lo.xtb
+++ b/components/strings/components_strings_lo.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">ຫຍິບເຫຼັ້ມລຸ່ມສຸດ</translation>
 <translation id="962484866189421427">ເນື້ອຫານີ້ອາດຈະພະຍາຍາມຕິດຕັ້ງແອັບຫຼອກລວງທີ່ປອມເປັນສິ່ງອື່ນ ຫຼື ເກັບກຳຂໍ້ມູນທີ່ອາດຈະຖືກໃຊ້ເພື່ອຕິດຕາມທ່ານ. <ph name="BEGIN_LINK" />ຢືນຢັນການສະແດງ<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ສ້າງເປັນທາງການ</translation>
+<translation id="973473557718930265">ອອກ</translation>
 <translation id="973773823069644502">ເພີ່ມທີ່ຢູ່ການຈັດສົ່ງ</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ບໍ່ມີ}=1{1 ລາຍການ}other{# ລາຍການ}}</translation>
 <translation id="981121421437150478">ອອຟລາຍນ໌</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index f159502..794cca74 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -2335,6 +2335,7 @@
 <translation id="961663415146723894">Įrišimas apačioje</translation>
 <translation id="962484866189421427">Šis turinys gali bandyti įdiegti klaidinančių programų, kurios apsimeta kitomis programomis, arba rinkti duomenis, naudojamus jums stebėti. <ph name="BEGIN_LINK" />Rodyti vis tiek<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Oficialiai pagaminta</translation>
+<translation id="973473557718930265">Išeiti</translation>
 <translation id="973773823069644502">Pridėti pristatymo adresą</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nėra}=1{1 elementas}one{# elementas}few{# elementai}many{# elemento}other{# elementų}}</translation>
 <translation id="981121421437150478">Neprisijungus</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index a2142b5..fbe8220 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Iesējums apakšdaļā</translation>
 <translation id="962484866189421427">Šis saturs jūsu ierīcē var mēģināt instalēt maldinošas lietotnes, kas tiek uzdodas par cita veida saturu, vai vākt datus, kas var tikt izmantoti jūsu izsekošanai. <ph name="BEGIN_LINK" />Tāpat rādīt<ph name="END_LINK" />.</translation>
 <translation id="969892804517981540">Oficiālā Uzbūve</translation>
+<translation id="973473557718930265">Iziet</translation>
 <translation id="973773823069644502">Pievienot piegādes adresi</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nav}=1{1 vienums}zero{# vienumi}one{# vienums}other{# vienumi}}</translation>
 <translation id="981121421437150478">Bezsaistē</translation>
diff --git a/components/strings/components_strings_mk.xtb b/components/strings/components_strings_mk.xtb
index c46e04c..cd76334 100644
--- a/components/strings/components_strings_mk.xtb
+++ b/components/strings/components_strings_mk.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Врзување долу</translation>
 <translation id="962484866189421427">Содржиниве може да се обидат да инсталираат лажни апликации што се преправаат дека се нешто друго или да собираат податоци што може да ги користат за да ве следат. <ph name="BEGIN_LINK" />Сепак прикажи<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Официјална верзија</translation>
+<translation id="973473557718930265">Излези</translation>
 <translation id="973773823069644502">Додајте адреса за достава</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ниту една}=1{1 ставка}one{# ставка}other{# ставки}}</translation>
 <translation id="981121421437150478">Без мрежа</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index 1d88cdb..5c9eb1a 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -2327,6 +2327,7 @@
 <translation id="961663415146723894">താഴെ ബൈൻഡ് ചെയ്യുക</translation>
 <translation id="962484866189421427">മറ്റെന്തെങ്കിലും ആണെന്ന് അവകാശപ്പെടുന്ന അല്ലെങ്കിൽ നിങ്ങളെ ട്രാക്ക് ചെയ്യാൻ ഉപയോഗിച്ചേക്കാവുന്ന ഡാറ്റ ശേഖരിക്കുന്ന, തെറ്റിദ്ധരിപ്പിക്കുന്ന ആപ്പുകൾ ഇൻസ്‌റ്റാൾ ചെയ്യാൻ ഈ ഉള്ളടക്കം ശ്രമിച്ചേക്കാം. <ph name="BEGIN_LINK" />എന്തായാലും കാണിക്കുക<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ഔദ്യോഗിക ബില്‍ഡ്</translation>
+<translation id="973473557718930265">പുറത്തുകടക്കുക</translation>
 <translation id="973773823069644502">ഡെലിവറി നൽകേണ്ട വിലാസം ചേർക്കുക</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ഒന്നുമില്ല}=1{ഒരു ഇനം}other{# ഇനങ്ങൾ}}</translation>
 <translation id="981121421437150478">ഓഫ്‌ലൈൻ</translation>
diff --git a/components/strings/components_strings_mn.xtb b/components/strings/components_strings_mn.xtb
index b67d7aa..bec23ab0 100644
--- a/components/strings/components_strings_mn.xtb
+++ b/components/strings/components_strings_mn.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Доод булан дагуу үдэж хавтаслах</translation>
 <translation id="962484866189421427">Энэ контент ямар нэг дүр эсгэсэн эсвэл таныг хянахын тулд өгөгдөл цуглуулах зорилготой хуурамч апп суулгахыг оролдож болзошгүй. <ph name="BEGIN_LINK" />Ямартай ч харуулах<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Албан ёсоор бий болгох</translation>
+<translation id="973473557718930265">Гарах</translation>
 <translation id="973773823069644502">Хүргэлтийн хаяг нэмэх</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Байхгүй}=1{1 зүйл}other{# зүйл}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index 3c76623..8d985585 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">जवळपासचे ब्लूटूथ डिव्हाइस शोधण्याची विनंती करू शकते</translation>
 <translation id="1426410128494586442">होय</translation>
 <translation id="1428146450423315676">स्टॅकर ७</translation>
+<translation id="1428729058023778569">ही साइट HTTPS ला सपोर्ट करत नसल्यामुळे तुम्हाला ही चेतावणी दिसत आहे. <ph name="BEGIN_LEARN_MORE_LINK" />अधिक जाणून घ्या<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">प्रिंट</translation>
 <translation id="1436185428532214179">तुमच्या डिव्हाइसवरील फाइल आणि फोल्डर संपादित करण्याची विनंती करू शकते</translation>
 <translation id="1442386063175183758">राइट गेट फोल्ड</translation>
@@ -473,6 +474,7 @@
 <translation id="2596415276201385844">एक सुरक्षित कनेक्‍शन स्‍थापित करण्‍यापूर्वी, तुमचे घड्‍याळ योग्यरित्या सेट केले असणे आवश्यक आहे. कारण वेबसाइट त्यांना स्‍वत:ला ओळखण्‍यासाठी वापरतात ती प्रमाणपत्रे केवळ निर्दिष्‍ट केलेल्‍या कालावधीसाठी वैध असतात. आपल्‍या डिव्‍हाइसचे घड्‍याळ चुकीचे असल्‍यामुळे, Chrome ही प्रमाणपत्रे सत्यापित करू शकत नाही.</translation>
 <translation id="2597378329261239068">हा दस्तऐवज पासवर्ड संरक्षित आहे. कृपया पासवर्ड एंटर करा.</translation>
 <translation id="2609632851001447353">तफावत</translation>
+<translation id="2610561535971892504">कॉपी करण्यासाठी क्लिक करा</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
 <translation id="2625385379895617796">तुमचे घड्याळ पुढे आहे</translation>
 <translation id="262745152991669301">USB डिव्हाइसशी कनेक्ट करण्याची विनंती करू शकते</translation>
@@ -649,6 +651,7 @@
 <translation id="3282497668470633863">कार्डवर नाव जोडा</translation>
 <translation id="3286372614333682499">पोट्रेट</translation>
 <translation id="3287510313208355388">ऑनलाइन असताना डाउनलोड करा</translation>
+<translation id="3288238092761586174">तुमच्या पेमेंटची पडताळणी करण्यासाठी <ph name="URL" /> ने अतिरिक्त पावले उचलणे आवश्यक असू शकते</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> धोरणांबद्दल अधिक जाणून घ्या</translation>
 <translation id="3295444047715739395">Chrome सेटिंग्जमध्ये तुमचे पासवर्ड पाहा आणि व्‍यवस्‍थापित करा</translation>
 <translation id="3303855915957856445">कोणतेही शोध परिणाम आढळले नाहीत</translation>
@@ -2330,6 +2333,7 @@
 <translation id="961663415146723894">बाइंड बॉटम</translation>
 <translation id="962484866189421427">हा आशय काहीतरी दुसरे असण्याची बतावणी करणारी फसवी ॲप्स इंस्टॉल करण्याचा किंवा तुमचा माग ठेवण्यासाठी वापरला जाऊ शकणारा डेटा गोळा करण्याचा प्रयत्न करू शकतो. <ph name="BEGIN_LINK" />तरीही दाखवा<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">अधिकृत बिल्ड</translation>
+<translation id="973473557718930265">बाहेर पडा</translation>
 <translation id="973773823069644502">वितरणाचा पत्ता जोडा</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{काहीही नाही}=1{1 आयटम}other{# आयटम}}</translation>
 <translation id="981121421437150478">ऑफलाइन</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb
index 872cead..9bd3d324 100644
--- a/components/strings/components_strings_ms.xtb
+++ b/components/strings/components_strings_ms.xtb
@@ -2335,6 +2335,7 @@
 <translation id="961663415146723894">Ikatan bawah</translation>
 <translation id="962484866189421427">Kandungan ini mungkin cuba memasang apl mengelirukan yang berpura-pura menjadi sesuatu yang lain atau mengumpulkan data yang mungkin digunakan untuk menjejak anda. <ph name="BEGIN_LINK" />Tunjukkan juga <ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Binaan Rasmi</translation>
+<translation id="973473557718930265">Keluar</translation>
 <translation id="973773823069644502">Tambahkan Alamat Penghantaran</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Tiada}=1{1 item}other{# item}}</translation>
 <translation id="981121421437150478">Luar talian</translation>
diff --git a/components/strings/components_strings_my.xtb b/components/strings/components_strings_my.xtb
index dc61864..1cf7b9c 100644
--- a/components/strings/components_strings_my.xtb
+++ b/components/strings/components_strings_my.xtb
@@ -2335,6 +2335,7 @@
 <translation id="961663415146723894">အောက်ခြေတွင် တွဲချုပ်ရန်</translation>
 <translation id="962484866189421427">ဤအကြောင်းအရာသည် အယောင်ဆောင်သော သို့မဟုတ် သင့်ကိုခြေရာခံရာတွင် အသုံးပြုနိုင်သော ဒေတာများကို စုစည်းသော လိမ်လည်လှည့်ဖျားသည့် အက်ပ်များကို ထည့်သွင်းနိုင်သည်။ <ph name="BEGIN_LINK" />မည်သို့ဖြစ်စေ ပြပါ<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">တရားဝင် တည်ဆောက်မှု</translation>
+<translation id="973473557718930265">ရပ်ပစ်ရန်</translation>
 <translation id="973773823069644502">ပေးပို့ရမည့်လိပ်စာ ထည့်ရန်</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{တစ်ခုမျှမရှိပါ}=1{အကြောင်းအရာ ၁ ခု}other{အကြောင်းအရာ # ခု}}</translation>
 <translation id="981121421437150478">အော့ဖ်လိုင်း</translation>
diff --git a/components/strings/components_strings_ne.xtb b/components/strings/components_strings_ne.xtb
index d0e7b7c..87693116 100644
--- a/components/strings/components_strings_ne.xtb
+++ b/components/strings/components_strings_ne.xtb
@@ -474,6 +474,7 @@
 <translation id="2596415276201385844">सुरक्षित जडान स्थापना गर्न , तपाईँको घडी सही तवरले सेट हुन आवश्यक हुन्छ। यो यसकारणले किनकि वेवसाइटहरूले आफूलाइ पहिचान गर्न प्रयोग गर्ने वेबसाइट निश्चित समय कालका लागि मात्र वैध हुन्छन्। तपाईँको यन्त्रको घडी सही नभएका कारण  क्रोमले यी प्रमाणपत्रहरूकोप्रमाणीकरणगर्न सक्दैन।</translation>
 <translation id="2597378329261239068">यो कागजात पासवर्ड सुरक्षित छ। कृपया पासवर्ड प्रविष्टि गर्नुहोस्।</translation>
 <translation id="2609632851001447353">विचरणहरू</translation>
+<translation id="2610561535971892504">क्लिक टु कपी</translation>
 <translation id="2618023639789766142">C10 (Envelope)</translation>
 <translation id="2625385379895617796">तपाईंको घडी धेरै छिटो छ</translation>
 <translation id="262745152991669301">USB डिभाइसमा कनेक्ट गर्ने अनुमति माग्न सक्छ</translation>
@@ -2328,6 +2329,7 @@
 <translation id="961663415146723894">फेदको बाइन्ड</translation>
 <translation id="962484866189421427">यो सामग्रीले आफूलाई अर्कै रूपमा प्रस्तुत गर्ने भ्रामक अनुप्रयोगहरूको स्थापना गर्न वा तपाईंलाई ट्र्याक गर्ने कार्यमा प्रयोग गर्न सकिने डेटाको सङ्कलन गर्ने प्रयास गर्न सक्छ। <ph name="BEGIN_LINK" />जे भए पनि देखाउनुहोस्<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">आधिकारिक निर्माण</translation>
+<translation id="973473557718930265">छोड्नुहोस्</translation>
 <translation id="973773823069644502">डेलिभरी ठेगाना थप्नुहोस्</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{कुनै पनि होइन}=1{१ वस्तु}other{# वस्तुहरू}}</translation>
 <translation id="981121421437150478">अफलाइन</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb
index cfa8371a4..8b98056 100644
--- a/components/strings/components_strings_nl.xtb
+++ b/components/strings/components_strings_nl.xtb
@@ -2324,6 +2324,7 @@
 <translation id="961663415146723894">Onder inbinden</translation>
 <translation id="962484866189421427">Deze content kan mogelijk proberen misleidende apps te installeren die zich voordoen als iets anders of gegevens verzamelen die kunnen worden gebruikt om je te volgen. <ph name="BEGIN_LINK" />Toch tonen<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Officiële build</translation>
+<translation id="973473557718930265">Sluiten</translation>
 <translation id="973773823069644502">Afleveradres toevoegen</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Geen}=1{1 item}other{# items}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index e9273b2..13792bd 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -474,6 +474,7 @@
 <translation id="2596415276201385844">Klokken din må være riktig stilt for at du skal kunne opprette en sikker forbindelse. Sertifikatene som nettsteder bruker til å identifisere seg med, er nemlig bare gyldige i en viss tid. Siden enhetens klokke er feil, kan ikke Chrome kontrollere disse sertifikatene.</translation>
 <translation id="2597378329261239068">Dette dokumentet er passordbeskyttet. Skriv inn et passord.</translation>
 <translation id="2609632851001447353">Varianter</translation>
+<translation id="2610561535971892504">Klikk for å kopiere</translation>
 <translation id="2618023639789766142">C10 (konvolutt)</translation>
 <translation id="2625385379895617796">Klokken går for fort</translation>
 <translation id="262745152991669301">Kan be om å få koble til USB-enheter</translation>
@@ -2331,6 +2332,7 @@
 <translation id="961663415146723894">Innbinding bunn</translation>
 <translation id="962484866189421427">Dette innholdet kan prøve å installere villedende apper som gir seg ut for å være noe annet, eller samle inn data som kan brukes til å spore deg. <ph name="BEGIN_LINK" />Vis det likevel<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Offisiell delversjon</translation>
+<translation id="973473557718930265">Avslutt</translation>
 <translation id="973773823069644502">Legg til leveringsadresse</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ingen}=1{1 element}other{# elementer}}</translation>
 <translation id="981121421437150478">Uten nett</translation>
diff --git a/components/strings/components_strings_or.xtb b/components/strings/components_strings_or.xtb
index a96c5b9..e1a5255 100644
--- a/components/strings/components_strings_or.xtb
+++ b/components/strings/components_strings_or.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">ଆଖପାଖର ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସଗୁଡ଼ିକୁ ଖୋଜି ପାଇବାକୁ ସାଇଟ୍ ପଚାରିପାରେ</translation>
 <translation id="1426410128494586442">ହଁ</translation>
 <translation id="1428146450423315676">ଷ୍ଟାକର୍ 7</translation>
+<translation id="1428729058023778569">ଏହି ସାଇଟ୍ HTTPSକୁ ସମର୍ଥନ କରୁନଥିବା ଯୋଗୁଁ ଆପଣ ଏହି ଚେତାବନୀଟି ଦେଖୁଛନ୍ତି। <ph name="BEGIN_LEARN_MORE_LINK" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">ପ୍ରିଣ୍ଟ କରନ୍ତୁ</translation>
 <translation id="1436185428532214179">ଆପଣଙ୍କ ଡିଭାଇସରେ ଫାଇଲ୍ ଓ ଫୋଲ୍ଡରଗୁଡ଼ିକ ଏଡିଟ୍ କରିବାକୁ ସାଇଟ୍ ପଚାରିପାରେ</translation>
 <translation id="1442386063175183758">ଡାହାଣ ପଟରେ ଗେଟ୍ ଫୋଲ୍ଡ</translation>
@@ -469,6 +470,7 @@
 <translation id="2596415276201385844">ଏକ ସୁରକ୍ଷିତ ସଂଯୋଗ ସ୍ଥାପନ କରିବା ପାଇଁ, ଆପଣଙ୍କର ଘଣ୍ଟାକୁ ସଠିକ୍ ଭାବରେ ସେଟ୍ କରିବାର ଆବଶ୍ୟକତା ଅଛି। ଏହାର କାରଣ ହେଉଛି ୱେବସାଇଟଗୁଡ଼ିକ ନିଜକୁ ଚିହ୍ନଟ କରିବା ପାଇଁ ବ୍ୟବହାର କରୁଥିବା ସାର୍ଟିଫିକେଟ୍ କେବଳ ନିର୍ଦ୍ଦିଷ୍ଟ ସମୟର ଅବଧି ପାଇଁ ବୈଧ ଅଟେ। ଆପଣଙ୍କ ଡିଭାଇସର ଘଣ୍ଟା ଭୁଲ ଥିବା ଯୋଗୁଁ Chrome ଏହି ସାର୍ଟିଫିକେଟଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିପାରିବ ନାହିଁ।</translation>
 <translation id="2597378329261239068">ଏହି ଡକ୍ୟୁମେଣ୍ଟ ପାସ୍‌ୱାର୍ଡ ଦ୍ୱାରା ସୁରକ୍ଷିତ ଅଟେ।  ଦୟାକରି ଗୋଟିଏ ପାସ୍‌ୱାର୍ଡ ଲେଖନ୍ତୁ।</translation>
 <translation id="2609632851001447353">ବିବିଧତା</translation>
+<translation id="2610561535971892504">କପି କରିବାକୁ କ୍ଲିକ୍ କରନ୍ତୁ</translation>
 <translation id="2618023639789766142">C10 (ଏନଭଲପ୍)</translation>
 <translation id="2625385379895617796">ଆପଣଙ୍କର ଘଣ୍ଟା ଆଗୁଆ ଅଛି</translation>
 <translation id="262745152991669301">USB ଡିଭାଇସଗୁଡ଼ିକ ସହ ସଂଯୋଗ କରିବାକୁ ସାଇଟ୍ ପଚାରିପାରେ</translation>
@@ -643,6 +645,7 @@
 <translation id="3282497668470633863">କାର୍ଡରେ ନାମକୁ ଯୋଗ କରନ୍ତୁ</translation>
 <translation id="3286372614333682499">ପୋଟ୍ରେଟ୍‌</translation>
 <translation id="3287510313208355388">ଅନ୍‍ଲାଇନ୍ ହେଲେ ଡାଉନ୍‍‍ଲୋଡ୍ କରନ୍ତୁ</translation>
+<translation id="3288238092761586174">ଆପଣଙ୍କ ପେମେଣ୍ଟ ଯାଞ୍ଚ କରିବା ପାଇଁ <ph name="URL" />କୁ ଅତିରିକ୍ତ ଷ୍ଟେପ୍ ନେବାର ଆବଶ୍ୟକତା ହୋଇପାରେ</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> ନୀତି ସମ୍ଵନ୍ଧରେ ଅଧିକ ଜାଣନ୍ତୁ</translation>
 <translation id="3295444047715739395">Chrome ସେଟିଂସରେ ଆପଣଙ୍କ ପାସୱାର୍ଡଗୁଡ଼ିକ ଦେଖନ୍ତୁ ଏବଂ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="3303855915957856445">କୌଣସି ସନ୍ଧାନ ଫଳାଫଳଗୁଡିକ ଖୋଜି ପାଇଲା ନାହିଁ</translation>
@@ -2317,6 +2320,7 @@
 <translation id="961663415146723894">ତଳ ପଟରେ ବାଇଣ୍ଡ</translation>
 <translation id="962484866189421427">ଏହି ବିଷୟବସ୍ତୁ ପ୍ରତାରଣାତ୍ମକ ଆପ୍ସ ଇନ୍‍ଷ୍ଟଲ୍‍ କରିପାରେ ଯାହା ଅନ୍ୟ କିଛି ହେବାର ଛଳନା କରନ୍ତି କିମ୍ବା ଏପରି ଡାଟା ସଂଗ୍ରହ କରିପାରନ୍ତି ଯାହା ଆପଣଙ୍କୁ ଟ୍ରାକ୍‍ କରିବା ପାଇଁ ବ୍ୟବହାର କରାଯାଇପାରେ। <ph name="BEGIN_LINK" />ଯେକୌଣସି ଉପାୟରେ ଦେଖାନ୍ତୁ<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ଅଫିସିଆଲ୍ ବିଲ୍ଡ</translation>
+<translation id="973473557718930265">ଛାଡ଼ିଦିଅନ୍ତୁ</translation>
 <translation id="973773823069644502">ପହଞ୍ଚାଇବା ଠିକଣା ଯୋଗ କରନ୍ତୁ</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{କିଛିନାହିଁ}=1{1ଟି ଆଇଟମ୍}other{#ଟି ଆଇଟମ୍}}</translation>
 <translation id="981121421437150478">ଅଫ୍‍ଲାଇନ୍</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index 5bf6d11..1562c0c 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">ਸਾਈਟ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਪੁੱਛ ਸਕਦੀ ਹੈ</translation>
 <translation id="1426410128494586442">ਹਾਂ</translation>
 <translation id="1428146450423315676">ਸਟੈਕਰ 7</translation>
+<translation id="1428729058023778569">ਤੁਹਾਨੂੰ ਇਹ ਚਿਤਾਵਨੀ ਇਸ ਲਈ ਦਿਸ ਰਹੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਾਈਟ HTTPS ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ। <ph name="BEGIN_LEARN_MORE_LINK" />ਹੋਰ ਜਾਣੋ<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">ਪ੍ਰਿੰਟ ਕਰੋ</translation>
 <translation id="1436185428532214179">ਸਾਈਟ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਵਿਚਲੀਆਂ ਫ਼ਾਈਲਾਂ ਅਤੇ ਫੋਲਡਰਾਂ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ ਪੁੱਛ ਸਕਦੀ ਹੈ</translation>
 <translation id="1442386063175183758">ਸੱਜੇ ਪੱਲੇ ਵਾਲੀ ਤਹਿ</translation>
@@ -643,6 +644,7 @@
 <translation id="3282497668470633863">ਕਾਰਡ 'ਤੇ ਨਾਮ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="3286372614333682499">ਪੋਰਟਰੇਟ</translation>
 <translation id="3287510313208355388">ਆਨਲਾਈਨ ਹੋਣ 'ਤੇ ਡਾਊਨਲੋਡ ਕਰੋ</translation>
+<translation id="3288238092761586174"><ph name="URL" /> ਨੂੰ ਤੁਹਾਡੇ ਭੁਗਤਾਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਵਧੀਕ ਕਦਮ ਚੁੱਕਣ ਦੀ ਲੋੜ ਪੈ ਸਕਦੀ ਹੈ</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> ਨੀਤੀ ਬਾਰੇ ਹੋਰ ਜਾਣੋ</translation>
 <translation id="3295444047715739395">Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਆਪਣੇ ਪਾਸਵਰਡ ਦੇਖੋ ਅਤੇ ਉਹਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="3303855915957856445">ਕੋਈ ਖੋਜ ਨਤੀਜੇ ਨਹੀਂ ਮਿਲੇ</translation>
@@ -2317,6 +2319,7 @@
 <translation id="961663415146723894">ਹੇਠਾਂ ਜਿਲਦਬੰਦ</translation>
 <translation id="962484866189421427">ਇਹ ਸਮੱਗਰੀ ਭਰਮਪੂਰਨ ਐਪਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰ ਸਕਦੀ ਹੈ, ਜੋ ਕੁਝ ਹੋਰ ਹੋਣ ਦਾ ਦਾਅਵਾ ਕਰਦੀਆਂ ਹਨ ਜਾਂ ਅਜਿਹਾ ਡਾਟਾ ਇਕੱਠਾ ਕਰਦੀਆਂ ਹਨ ਜਿਸਦੀ ਵਰਤੋਂ ਨਾਲ ਤੁਹਾਡੇ 'ਤੇ ਨਜ਼ਰ ਰੱਖੀ ਜਾ ਸਕਦੀ ਹੈ। <ph name="BEGIN_LINK" />ਫਿਰ ਵੀ ਦਿਖਾਓ<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ਅਧਿਕਾਰਿਤ ਬਿਲਡ</translation>
+<translation id="973473557718930265">ਛੱਡੋ</translation>
 <translation id="973773823069644502">ਡਿਲੀਵਰੀ ਪਤਾ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ਕੋਈ ਨਹੀਂ}=1{1 ਆਈਟਮ}other{# ਆਈਟਮਾਂ}}</translation>
 <translation id="981121421437150478">ਆਫ਼ਲਾਈਨ</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index fbe6870..3bbd94b 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -2324,6 +2324,7 @@
 <translation id="961663415146723894">Wiązanie na dole</translation>
 <translation id="962484866189421427">Te treści mogą próbować zainstalować wprowadzające w błąd aplikacje, które udają, że są przeznaczone do czegoś innego niż w rzeczywistości, lub zbierają dane, na podstawie których można Cię śledzić. <ph name="BEGIN_LINK" />Pokaż mimo to<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Oficjalna wersja</translation>
+<translation id="973473557718930265">Zakończ</translation>
 <translation id="973773823069644502">Dodaj adres dostawy</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Brak}=1{1 element}few{# elementy}many{# elementów}other{# elementu}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index 3ef7b0f1..aa6fac19 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -2326,6 +2326,7 @@
 <translation id="961663415146723894">Encadernação na parte inferior</translation>
 <translation id="962484866189421427">Este conteúdo pode tentar instalar apps enganosos que fingem ser outra coisa ou coletam dados que podem ser usados para rastrear você. <ph name="BEGIN_LINK" />Mostrar mesmo assim<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Versão oficial</translation>
+<translation id="973473557718930265">Sair</translation>
 <translation id="973773823069644502">Adicionar endereço de entrega</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nenhum}=1{1 item}one{# item}other{# itens}}</translation>
 <translation id="981121421437150478">Off-line</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index ccb82a8..722f9cf 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Encadernar parte inferior</translation>
 <translation id="962484866189421427">Este conteúdo poderá tentar instalar aplicações fraudulentas que se fazem passar por algo diferente ou que recolhem dados que podem ser utilizados para o monitorizar. <ph name="BEGIN_LINK" />Mostrar, mesmo assim<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Compilação oficial</translation>
+<translation id="973473557718930265">Sair</translation>
 <translation id="973773823069644502">Adicionar endereço de entrega</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Nenhum}=1{1 item}other{# itens}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index 119aa3a..f8f3961 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">Legare în partea de jos</translation>
 <translation id="962484866189421427">Acest conținut poate încerca să instaleze aplicații înșelătoare care pretind a fi altceva sau colectează date care pot fi folosite pentru a te urmări. <ph name="BEGIN_LINK" />Afișează oricum<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Versiune oficială</translation>
+<translation id="973473557718930265">Ieșiți</translation>
 <translation id="973773823069644502">Adaugă o adresă de livrare</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Niciunul}=1{1 element}few{# elemente}other{# de elemente}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index 259eec93..59d7e8e 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -2323,6 +2323,7 @@
 <translation id="961663415146723894">Скрепление снизу</translation>
 <translation id="962484866189421427">Переход на эту страницу может привести к установке вредоносных приложений, маскирующихся под безопасные программы или собирающих данные, по которым вас можно отследить. <ph name="BEGIN_LINK" />Все равно продолжить<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Официальная сборка</translation>
+<translation id="973473557718930265">Выйти</translation>
 <translation id="973773823069644502">Добавить адрес доставки</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Нет}=1{1 запись}one{# запись}few{# записи}many{# записей}other{# записи}}</translation>
 <translation id="981121421437150478">Офлайн</translation>
diff --git a/components/strings/components_strings_si.xtb b/components/strings/components_strings_si.xtb
index 7b337da5..60b47b3 100644
--- a/components/strings/components_strings_si.xtb
+++ b/components/strings/components_strings_si.xtb
@@ -2330,6 +2330,7 @@
 <translation id="961663415146723894">පහළ බඳින්න</translation>
 <translation id="962484866189421427">වෙනත් දෙයක් බවට පෙන්වීමට උත්සාහ කරන හෝ ඔබට හඹා යාමට භාවිතා කළ හැකි දත්ත එකතු කරන රැවටිලිකාර යෙදුම් ස්ථාපනය කිරීමට මෙම අන්තර්ගතය මගින් උත්සාහ කිරීමට හැකිය. <ph name="BEGIN_LINK" />කෙසේ වුවත් පෙන්වන්න<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">නිල තැනුම</translation>
+<translation id="973473557718930265">ඉවත් වන්න</translation>
 <translation id="973773823069644502">බෙදා හැරීමේ ලිපිනය එක් කරන්න</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{කිසිවක් නැත}=1{අයිතම 1ක්}one{අයිතම #ක්}other{අයිතම #ක්}}</translation>
 <translation id="981121421437150478">ඕෆ්ලයින්</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 36681927..4a7bdcab 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -2320,6 +2320,7 @@
 <translation id="961663415146723894">Zviazať dolu</translation>
 <translation id="962484866189421427">Tento obsah sa môže pokúsiť nainštalovať klamlivé aplikácie vydávajúce sa za iné aplikácie alebo zhromažďovať údaje, ktoré sa dajú použiť na sledovanie vašej osoby. <ph name="BEGIN_LINK" />Napriek tomu zobraziť<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">oficiálna zostava</translation>
+<translation id="973473557718930265">Ukončiť</translation>
 <translation id="973773823069644502">Pridať adresu doručenia</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Žiadne}=1{1 položka}few{# položky}many{# položky}other{# položiek}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb
index 2ed001e..be7d7a7 100644
--- a/components/strings/components_strings_sl.xtb
+++ b/components/strings/components_strings_sl.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Vezava spodaj</translation>
 <translation id="962484866189421427">Ta vsebina lahko poskusi namestiti zavajajoče aplikacije, ki se izdajajo za kaj drugega ali zbirajo podatke, s katerimi vas je mogoče spremljati. <ph name="BEGIN_LINK" />Vseeno pokaži<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Uradna različica</translation>
+<translation id="973473557718930265">Zapri</translation>
 <translation id="973773823069644502">Dodajanje naslova za dostavo</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Brez}=1{1 element}one{# element}two{# elementa}few{# elementi}other{# elementov}}</translation>
 <translation id="981121421437150478">Brez povezave</translation>
diff --git a/components/strings/components_strings_sq.xtb b/components/strings/components_strings_sq.xtb
index 03451a7..1abf51b3 100644
--- a/components/strings/components_strings_sq.xtb
+++ b/components/strings/components_strings_sq.xtb
@@ -473,6 +473,7 @@
 <translation id="2596415276201385844">Për të krijuar një lidhje të sigurt, ora duhet të vendoset në mënyrë të saktë. Kjo është e domosdoshme për shkak se certifikatat, që faqet e internetit i përdorin për të identifikuar vetveten, janë të vlefshme vetëm për periudha specifike kohore. Meqenëse ora e pajisjes është e pasaktë, Chrome nuk mund t'i verifikojë këto certifikata.</translation>
 <translation id="2597378329261239068">Ky dokument mbrohet me fjalëkalim. Fut një fjalëkalim.</translation>
 <translation id="2609632851001447353">Variantet</translation>
+<translation id="2610561535971892504">Kliko për të kopjuar</translation>
 <translation id="2618023639789766142">C10 (Zarf)</translation>
 <translation id="2625385379895617796">Ora jote është përpara</translation>
 <translation id="262745152991669301">Mund të kërkojë të lidhet me pajisjet me USB</translation>
@@ -2328,6 +2329,7 @@
 <translation id="961663415146723894">Lidhje poshtë</translation>
 <translation id="962484866189421427">Kjo përmbajtje mund të përpiqet të instalojë aplikacione mashtruese që pretendojnë se janë diçka tjetër ose që mbledhin të dhëna që mund të përdoren për të të gjurmuar. <ph name="BEGIN_LINK" />Shfaq gjithsesi<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Ndërtimi zyrtar</translation>
+<translation id="973473557718930265">Dil</translation>
 <translation id="973773823069644502">Shto adresën e dorëzimit</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Asnjë}=1{1 artikull}other{# artikuj}}</translation>
 <translation id="981121421437150478">Jashtë linje</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb
index d0ce9599..108ed30b 100644
--- a/components/strings/components_strings_sr-Latn.xtb
+++ b/components/strings/components_strings_sr-Latn.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Povez na dnu</translation>
 <translation id="962484866189421427">Ovaj sadržaj možda pokušava da instalira obmanjujuće aplikacije koje se pretvaraju da su nešto drugo ili da prikupljaju podatke koji mogu da se koriste za praćenje. <ph name="BEGIN_LINK" />Prikaži<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Zvanična verzija</translation>
+<translation id="973473557718930265">Izađi</translation>
 <translation id="973773823069644502">Dodaj adresu za dostavu</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{None}=1{1 stavka}one{# stavka}few{# stavke}other{# stavki}}</translation>
 <translation id="981121421437150478">Oflajn</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 081f89d..cc1629f 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -2333,6 +2333,7 @@
 <translation id="961663415146723894">Повез на дну</translation>
 <translation id="962484866189421427">Овај садржај можда покушава да инсталира обмањујуће апликације које се претварају да су нешто друго или да прикупљају податке који могу да се користе за праћење. <ph name="BEGIN_LINK" />Прикажи<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Званична верзија</translation>
+<translation id="973473557718930265">Изађи</translation>
 <translation id="973773823069644502">Додај адресу за доставу</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{None}=1{1 ставка}one{# ставка}few{# ставке}other{# ставки}}</translation>
 <translation id="981121421437150478">Офлајн</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index 20558b2..5b008859 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">Bindning längst ned</translation>
 <translation id="962484866189421427">Bedrägliga appar som inte gör vad de påstås göra eller insamling av data som används för att spåra dig skulle kunna installeras via innehållet. <ph name="BEGIN_LINK" />Visa ändå<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Officiell version</translation>
+<translation id="973473557718930265">Avsluta</translation>
 <translation id="973773823069644502">Lägg till leveransadress</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ingen}=1{1 objekt}other{# objekt}}</translation>
 <translation id="981121421437150478">Offline</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb
index 63ed9be..2f7906b 100644
--- a/components/strings/components_strings_sw.xtb
+++ b/components/strings/components_strings_sw.xtb
@@ -2329,6 +2329,7 @@
 <translation id="961663415146723894">Unganisha chini</translation>
 <translation id="962484866189421427">Huenda maudhui haya yakajaribu kusakinisha programu za udanganyifu zinazojifanya kuwa kitu kingine au kukusanya data inayoweza kutumika kukufuatilia. <ph name="BEGIN_LINK" />Onyesha tu<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Muundo Rasmi</translation>
+<translation id="973473557718930265">Acha</translation>
 <translation id="973773823069644502">Chagua Mahali Bidhaa Itakapopelekwa</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Hamna}=1{Kipengee 1}other{Vipengee #}}</translation>
 <translation id="981121421437150478">Nje ya mtandao</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb
index 1ba21c9..8def5c4 100644
--- a/components/strings/components_strings_ta.xtb
+++ b/components/strings/components_strings_ta.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">அருகிலுள்ள புளூடூத் சாதனங்களைக் கண்டறிய முயலும்போது அனுமதி கேட்க வேண்டும்</translation>
 <translation id="1426410128494586442">ஆம்</translation>
 <translation id="1428146450423315676">ஸ்டேக்கர் 7</translation>
+<translation id="1428729058023778569">இந்தத் தளம் HTTPSஸை ஆதரிக்காததால் எச்சரிக்கை காட்டப்படுகிறது. <ph name="BEGIN_LEARN_MORE_LINK" />மேலும் அறிக<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">அச்சிடுக</translation>
 <translation id="1436185428532214179">எனது சாதனத்தில் உள்ள ஃபைல்களிலும் ஃபோல்டர்களிலும் மாற்றம் செய்ய முயலும்போது அனுமதி கேட்க வேண்டும்</translation>
 <translation id="1442386063175183758">ரைட் கேட் ஃபோல்டு</translation>
@@ -646,6 +647,7 @@
 <translation id="3282497668470633863">கார்டிலுள்ள பெயரைச் சேர்க்கவும்</translation>
 <translation id="3286372614333682499">போர்ட்ரெயிட்</translation>
 <translation id="3287510313208355388">ஆன்லைனில் இருக்கும் போது பதிவிறக்கு</translation>
+<translation id="3288238092761586174">உங்கள் பேமெண்ட்டை உறுதிப்படுத்த <ph name="URL" /> தளத்தில் கூடுதல் படிகளைச் செய்ய வேண்டியிருக்கலாம்</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> கொள்கை குறித்து மேலும் அறிக</translation>
 <translation id="3295444047715739395">Chrome அமைப்புகளில் உங்கள் கடவுச்சொற்களைப் பார்த்தல் &amp; நிர்வகித்தல்</translation>
 <translation id="3303855915957856445">தேடல் முடிவுகள் எதுவுமில்லை</translation>
@@ -2326,6 +2328,7 @@
 <translation id="961663415146723894">பைண்டு பாட்டம்</translation>
 <translation id="962484866189421427">இந்த உள்ளடக்கம், வேறொரு பிரபல ஆப்ஸ் போலத் தோற்றமளிக்கக்கூடிய அல்லது உங்களைக் கண்காணிக்கப் பயன்படுத்தக்கூடிய தரவைச் சேகரிக்கும் போலியான ஆப்ஸை நிறுவ முயலலாம். <ph name="BEGIN_LINK" />பரவாயில்லை, பக்கத்தைக் காட்டு<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">அதிகாரப்பூர்வ கட்டமைப்பு</translation>
+<translation id="973473557718930265">வெளியேறு</translation>
 <translation id="973773823069644502">டெலிவரி முகவரியைச் சேர்</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ஏதுமில்லை}=1{1 உருப்படி}other{# உருப்படிகள்}}</translation>
 <translation id="981121421437150478">ஆஃப்லைன்</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb
index c072cc9..6f0807b 100644
--- a/components/strings/components_strings_te.xtb
+++ b/components/strings/components_strings_te.xtb
@@ -141,6 +141,7 @@
 <translation id="1422930527989633628">సమీపంలో ఉన్న బ్లూటూత్ పరికరాలను కనుగొనడానికి సైట్ అనుమతి అడగవచ్చు</translation>
 <translation id="1426410128494586442">అవును</translation>
 <translation id="1428146450423315676">స్టాకర్ 7</translation>
+<translation id="1428729058023778569">ఈ సైట్ HTTPS‌కు సపోర్ట్ చేయనందున మీరు ఈ హెచ్చరికను చూస్తున్నారు. <ph name="BEGIN_LEARN_MORE_LINK" />మరింత తెలుసుకోండి<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">ప్రింట్</translation>
 <translation id="1436185428532214179">మీ పరికరంలో ఫైళ్లు, అలాగే ఫోల్డర్‌లను ఎడిట్ చేయడానికి సైట్ అనుమతి అడగవచ్చు</translation>
 <translation id="1442386063175183758">కుడివైపు గేట్ ఫోల్డ్</translation>
@@ -475,6 +476,7 @@
 <translation id="2596415276201385844">సురక్షిత కనెక్షన్‌ను ఏర్పాటు చేయడానికి, మీ గడియారాన్ని సరైన సమయానికి సెట్ చేయాలి. ఎందుకంటే వెబ్‌సైట్‌లు వాటిని గుర్తించడానికి ఉపయోగించే ప్రమాణపత్రాలు నిర్దిష్ట కాలవ్యవధుల్లో మాత్రమే చెల్లుబాటు అవుతాయి. మీ పరికరం గడియారం సమయం తప్పుగా ఉన్నందున, Chrome ఈ ప్రమాణపత్రాలను ధృవీకరించడానికి వీలుపడలేదు.</translation>
 <translation id="2597378329261239068">ఈ పత్రం అనుమతి పదంచే రక్షించబడింది. దయచేసి అనుమతి పదాన్ని నమోదు చేయండి.</translation>
 <translation id="2609632851001447353">వ్యత్యాసాలు</translation>
+<translation id="2610561535971892504">కాపీ చేయడానికి క్లిక్ చేయండి</translation>
 <translation id="2618023639789766142">C10 (ఎన్వలప్)</translation>
 <translation id="2625385379895617796">మీ గడియారం సమయం భవిష్యత్తులో ఉంది</translation>
 <translation id="262745152991669301">USB పరికరాలకు కనెక్ట్ చేయడానికి సైట్ అనుమతి అడగవచ్చు</translation>
@@ -651,6 +653,7 @@
 <translation id="3282497668470633863">కార్డ్‌లో పేరుని జోడించండి</translation>
 <translation id="3286372614333682499">పోర్ట్రెయిట్‌లో ఉంది</translation>
 <translation id="3287510313208355388">ఆన్‌లైన్‌లో ఉన్నప్పుడు డౌన్‌లోడ్ చేయి</translation>
+<translation id="3288238092761586174">మీ పేమెంట్‌ను వెరిఫై చేయడానికి, <ph name="URL" /> అదనపు దశలను తీసుకోవాల్సి రావచ్చు</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> విధానం గురించి మరింత తెలుసుకోండి</translation>
 <translation id="3295444047715739395">Chrome సెట్టింగ్‌లలో మీ పాస్‌వర్డ్‌లను చూడండి, మేనేజ్ చేయండి</translation>
 <translation id="3303855915957856445">ఆ సెర్చ్ కోసం ఫలితాలు ఏవీ దొరకలేదు</translation>
@@ -2332,6 +2335,7 @@
 <translation id="961663415146723894">దిగువ భాగంలో బైండ్</translation>
 <translation id="962484866189421427">ఈ కంటెంట్ వేరేవాటిలా కనిపించే మోసపూరిత యాప్‌లను ఇన్‌స్టాల్ చేయడానికి ప్రయత్నించవచ్చు లేదా మిమ్మల్ని ట్రాక్ చేయడానికి ఉపయోగించే డేటాని సేకరించవచ్చు. <ph name="BEGIN_LINK" />అయినప్పటికీ, చూపించు<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">అధికారిక బిల్డ్</translation>
+<translation id="973473557718930265">నిష్క్రమించు</translation>
 <translation id="973773823069644502">డెలివరీ చిరునామాను జోడించండి</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ఏమీ లేవు}=1{1 అంశం}other{# అంశాలు}}</translation>
 <translation id="981121421437150478">ఆఫ్‌లైన్</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index bb195c4..d1ee118 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -470,6 +470,7 @@
 <translation id="2596415276201385844">หากต้องการเริ่มการเชื่อมต่อที่ปลอดภัย นาฬิกาจะต้องตั้งค่าไว้อย่างถูกต้อง เนื่องจากใบรับรองที่เว็บไซต์ใช้เพื่อระบุตนเองจะใช้ได้เฉพาะช่วงเวลาหนึ่งเท่านั้น นาฬิกาของอุปกรณ์ไม่ถูกต้อง Chromium จึงไม่สามารถยืนยันใบรับรองเหล่านี้ได้</translation>
 <translation id="2597378329261239068">เอกสารนี้ได้รับการป้องกันด้วยรหัสผ่าน โปรดป้อนรหัสผ่าน</translation>
 <translation id="2609632851001447353">รูปแบบต่างๆ</translation>
+<translation id="2610561535971892504">คลิกเพื่อคัดลอก</translation>
 <translation id="2618023639789766142">C10 (ซองจดหมาย)</translation>
 <translation id="2625385379895617796">นาฬิกาเร็วเกินไป</translation>
 <translation id="262745152991669301">สามารถขอเชื่อมต่อกับอุปกรณ์ USB ได้</translation>
@@ -2323,6 +2324,7 @@
 <translation id="961663415146723894">เย็บเล่มด้านล่าง</translation>
 <translation id="962484866189421427">เนื้อหานี้อาจพยายามติดตั้งแอปที่หลอกลวงซึ่งปลอมเป็นเนื้อหาอย่างอื่นหรือรวบรวมข้อมูลที่อาจนำไปใช้ติดตามคุณ <ph name="BEGIN_LINK" />แสดงเนื้อหา<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">รุ่นที่เป็นทางการ</translation>
+<translation id="973473557718930265">ออก</translation>
 <translation id="973773823069644502">เพิ่มที่อยู่สำหรับนำส่งสินค้า</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{ไม่มี}=1{1 รายการ}other{# รายการ}}</translation>
 <translation id="981121421437150478">ออฟไลน์</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb
index 3b6b88a..0ae98f9 100644
--- a/components/strings/components_strings_tr.xtb
+++ b/components/strings/components_strings_tr.xtb
@@ -2327,6 +2327,7 @@
 <translation id="961663415146723894">Alttan bağlı</translation>
 <translation id="962484866189421427">Bu içerik başka bir şeyi taklit eden aldatıcı uygulamalar yükleyebilir veya sizi izlemek için kullanılabilecek veriler toplayabilir. <ph name="BEGIN_LINK" />Yine de göster<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Resmi Derleme</translation>
+<translation id="973473557718930265">Çık</translation>
 <translation id="973773823069644502">Teslimat Adresi Ekle</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Yok}=1{1 öğe}other{# öğe}}</translation>
 <translation id="981121421437150478">Çevrimdışı</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index 8b5ff52e..bcdecf6 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">Зшити внизу</translation>
 <translation id="962484866189421427">Ця сторінка може намагатися встановлювати оманливі додатки, які видають себе за інший вміст, або збирати дані для відстеження ваших дій. <ph name="BEGIN_LINK" />Усе одно показати<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Розробка</translation>
+<translation id="973473557718930265">Вийти</translation>
 <translation id="973773823069644502">Додати адресу доставки</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Немає}=1{1 запис}one{# запис}few{# записи}many{# записів}other{# запису}}</translation>
 <translation id="981121421437150478">Офлайн</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index 144f8bb1..6aa0419 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">سائٹ قریبی بلوٹوتھ آلات کو دریافت کرنے کیلئے پوچھ سکتی ہے</translation>
 <translation id="1426410128494586442">ہاں</translation>
 <translation id="1428146450423315676">اسٹیکر 7</translation>
+<translation id="1428729058023778569">‏آپ یہ وارننگ اس لیے دیکھ رہے ہیں کیونکہ یہ سائٹ HTTPS کو سپورٹ نہیں کرتی ہے۔ <ph name="BEGIN_LEARN_MORE_LINK" />مزید جانیں<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">پرنٹ کریں</translation>
 <translation id="1436185428532214179">سائٹ آپ کے آلے پر موجود فائلز یا فولڈرز میں ترمیم کرنے کیلئے پوچھ سکتی ہے</translation>
 <translation id="1442386063175183758">دایاں گیٹ فولڈ</translation>
@@ -650,6 +651,7 @@
 <translation id="3282497668470633863">کارڈ پر نام شامل کریں</translation>
 <translation id="3286372614333682499">پورٹریٹ</translation>
 <translation id="3287510313208355388">آن لائن ہونے پر ڈاؤن لوڈ کریں</translation>
+<translation id="3288238092761586174">آپ کی ادائیگی کی تصدیق کے لیے <ph name="URL" /> کو اضافی اقدامات کرنے کی ضرورت پڑ سکتی ہے</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> پالیسی کے بارے میں مزید جانیں</translation>
 <translation id="3295444047715739395">‏Chrome ترتیبات میں اپنے پاس ورڈز دیکھیں اور ان کا نظم کریں</translation>
 <translation id="3303855915957856445">تلاش کے کوئی نتائج نہیں ملے</translation>
@@ -2333,6 +2335,7 @@
 <translation id="961663415146723894">نیچے باندھیں</translation>
 <translation id="962484866189421427">ہو سکتا ہے کہ یہ مواد ایسی پُر فریب ایپس انسٹال کرنے کی کوشش کرے جو کچھ اور ہونے کا دکھاوا کریں یا آپ کی براؤزنگ سرگرمیوں پر نظر رکھنے کیلئے استعمال کیا جانے والا ڈیٹا جمع کریں۔ <ph name="BEGIN_LINK" />مزید جانیں<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">آفیشل بلڈ</translation>
+<translation id="973473557718930265">چھوڑیں</translation>
 <translation id="973773823069644502">ڈیلیوری کا پتہ شامل کریں</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{کوئی سائٹ نہیں}=1{1 آئٹم}other{# آئٹمز}}</translation>
 <translation id="981121421437150478">آف لائن</translation>
diff --git a/components/strings/components_strings_uz.xtb b/components/strings/components_strings_uz.xtb
index c66e7694..a30a76a 100644
--- a/components/strings/components_strings_uz.xtb
+++ b/components/strings/components_strings_uz.xtb
@@ -2327,6 +2327,7 @@
 <translation id="961663415146723894">Quyi chekkasini belgilash</translation>
 <translation id="962484866189421427">Bu kontent soxta ilovalarni o‘rnatishga urinishi mumkin. Shuningdek, sizni kuzatishi yoki axborot yig‘ishi mumkin. <ph name="BEGIN_LINK" />Baribir ko‘rsatilsin<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Rasmiy versiya</translation>
+<translation id="973473557718930265">Chiqish</translation>
 <translation id="973773823069644502">Yetkazib berish manzilini qo‘shing</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Yo‘q}=1{1 ta element}other{# ta element}}</translation>
 <translation id="981121421437150478">Oflayn</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index 637fc34..11381c7 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -2334,6 +2334,7 @@
 <translation id="961663415146723894">Đóng gáy dưới cùng</translation>
 <translation id="962484866189421427">Nội dung này có thể tìm cách cài đặt ứng dụng lừa đảo giả mạo nội dung khác hoặc thu thập dữ liệu có thể được dùng để theo dõi bạn. <ph name="BEGIN_LINK" />Vẫn hiển thị<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Phiên bản Chính thức</translation>
+<translation id="973473557718930265">Thoát</translation>
 <translation id="973773823069644502">Thêm địa chỉ giao hàng</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Không có}=1{1 mục}other{# mục}}</translation>
 <translation id="981121421437150478">Ngoại tuyến</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index 31b8146..68abb33 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -139,6 +139,7 @@
 <translation id="1422930527989633628">可以询问能否发现附近的蓝牙设备</translation>
 <translation id="1426410128494586442">是</translation>
 <translation id="1428146450423315676">堆叠出纸器 7</translation>
+<translation id="1428729058023778569">您之所以会看到此警告,是因为该网站不支持 HTTPS。<ph name="BEGIN_LEARN_MORE_LINK" />了解详情<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="1430915738399379752">打印</translation>
 <translation id="1436185428532214179">可以询问能否修改您设备上的文件和文件夹</translation>
 <translation id="1442386063175183758">关门折(右侧)</translation>
@@ -643,6 +644,7 @@
 <translation id="3282497668470633863">添加持卡人姓名</translation>
 <translation id="3286372614333682499">纵向</translation>
 <translation id="3287510313208355388">联网时下载</translation>
+<translation id="3288238092761586174"><ph name="URL" /> 可能需要采取额外措施来验证您的付款</translation>
 <translation id="3293642807462928945">详细了解“<ph name="POLICY_NAME" />”政策</translation>
 <translation id="3295444047715739395">请在 Chrome 设置中查看和管理您的密码</translation>
 <translation id="3303855915957856445">未找到任何搜索结果</translation>
@@ -2317,6 +2319,7 @@
 <translation id="961663415146723894">装订(底部)</translation>
 <translation id="962484866189421427">此内容可能会尝试安装欺骗性应用,而这些应用能够冒充其他内容或收集可用于对您进行跟踪的数据。<ph name="BEGIN_LINK" />仍然显示<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">正式版本</translation>
+<translation id="973473557718930265">退出</translation>
 <translation id="973773823069644502">添加速递地址</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{无}=1{1 项内容}other{# 项内容}}</translation>
 <translation id="981121421437150478">离线</translation>
diff --git a/components/strings/components_strings_zh-HK.xtb b/components/strings/components_strings_zh-HK.xtb
index a059b19..dfec01d 100644
--- a/components/strings/components_strings_zh-HK.xtb
+++ b/components/strings/components_strings_zh-HK.xtb
@@ -2323,6 +2323,7 @@
 <translation id="961663415146723894">釘裝 (底部)</translation>
 <translation id="962484866189421427">此內容可能會嘗試安裝欺詐應用程式來冒充其他內容,或收集可用來追蹤您的資料。<ph name="BEGIN_LINK" />一律顯示<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">正式版本</translation>
+<translation id="973473557718930265">離開</translation>
 <translation id="973773823069644502">新增速遞地址</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{無}=1{1 個項目}other{# 個項目}}</translation>
 <translation id="981121421437150478">離線</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 9fe91723..89745d1b 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -2324,6 +2324,7 @@
 <translation id="961663415146723894">裝訂 (底部)</translation>
 <translation id="962484866189421427">這項內容可能會試圖讓你安裝身分不實的欺騙性應用程式,或是收集可用於追蹤你的資料。<ph name="BEGIN_LINK" />仍要顯示<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">正式版本</translation>
+<translation id="973473557718930265">結束</translation>
 <translation id="973773823069644502">新增快遞地址</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{無}=1{1 個項目}other{# 個項目}}</translation>
 <translation id="981121421437150478">離線</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb
index e0e2b0c..18853921 100644
--- a/components/strings/components_strings_zu.xtb
+++ b/components/strings/components_strings_zu.xtb
@@ -2330,6 +2330,7 @@
 <translation id="961663415146723894">Ukubophezela phansi</translation>
 <translation id="962484866189421427">Lokhu okuqukethwe kungazama ukufaka izinhlelo zokusebenza ezilahlekisayo ezenza ngathi okunye noma ziqoqe idatha engasetshenziswa ukukulandela. <ph name="BEGIN_LINK" />Bonisa noma kunjalo<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Ukwakha okusemthethweni</translation>
+<translation id="973473557718930265">Yeka</translation>
 <translation id="973773823069644502">Engeza ikheli lokulethwa</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Lutho}=1{1 into}one{# izinto}other{# izinto}}</translation>
 <translation id="981121421437150478">Ayixhunyiwe ku-inthanethi</translation>
diff --git a/content/browser/devtools/protocol/page_handler.cc b/content/browser/devtools/protocol/page_handler.cc
index 37a8813..803981d 100644
--- a/content/browser/devtools/protocol/page_handler.cc
+++ b/content/browser/devtools/protocol/page_handler.cc
@@ -1414,6 +1414,9 @@
           CacheControlNoStoreHTTPOnlyCookieModified;
     case Reason::kNoResponseHead:
       return Page::BackForwardCacheNotRestoredReasonEnum::NoResponseHead;
+    case Reason::kActivationNavigationsDisallowedForBug1234857:
+      return Page::BackForwardCacheNotRestoredReasonEnum::
+          ActivationNavigationsDisallowedForBug1234857;
     case Reason::kBlocklistedFeatures:
       // Blocklisted features should be handled separately and be broken down
       // into sub reasons.
@@ -1430,6 +1433,8 @@
   switch (feature) {
     case WebSchedulerTrackedFeature::kWebSocket:
       return Page::BackForwardCacheNotRestoredReasonEnum::WebSocket;
+    case WebSchedulerTrackedFeature::kWebTransport:
+      return Page::BackForwardCacheNotRestoredReasonEnum::WebTransport;
     case WebSchedulerTrackedFeature::kWebRTC:
       return Page::BackForwardCacheNotRestoredReasonEnum::WebRTC;
     case WebSchedulerTrackedFeature::kMainResourceHasCacheControlNoCache:
@@ -1629,6 +1634,7 @@
       return Page::BackForwardCacheNotRestoredReasonTypeEnum::PageSupportNeeded;
     case Reason::kNetworkRequestDatapipeDrainedAsBytesConsumer:
     case Reason::kUnknown:
+    case Reason::kActivationNavigationsDisallowedForBug1234857:
       return Page::BackForwardCacheNotRestoredReasonTypeEnum::SupportPending;
     case Reason::kBlocklistedFeatures:
       NOTREACHED();
@@ -1674,6 +1680,7 @@
     case WebSchedulerTrackedFeature::kOutstandingNetworkRequestDirectSocket:
     case WebSchedulerTrackedFeature::kInjectedStyleSheet:
     case WebSchedulerTrackedFeature::kMediaSessionImplOnServiceCreated:
+    case WebSchedulerTrackedFeature::kWebTransport:
       return Page::BackForwardCacheNotRestoredReasonTypeEnum::PageSupportNeeded;
     case WebSchedulerTrackedFeature::kAppBanner:
     case WebSchedulerTrackedFeature::kWebSocket:
diff --git a/content/browser/download/save_package.cc b/content/browser/download/save_package.cc
index d5cc6d2..369aae1 100644
--- a/content/browser/download/save_package.cc
+++ b/content/browser/download/save_package.cc
@@ -43,7 +43,6 @@
 #include "content/browser/renderer_host/frame_tree.h"
 #include "content/browser/renderer_host/frame_tree_node.h"
 #include "content/browser/renderer_host/page_impl.h"
-#include "content/browser/renderer_host/render_frame_host_delegate.h"
 #include "content/browser/renderer_host/render_frame_host_impl.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
 #include "content/browser/renderer_host/render_view_host_delegate.h"
@@ -151,9 +150,7 @@
 }
 
 WebContents* GetWebContents(Page* page) {
-  return static_cast<RenderFrameHostImpl*>(&page->GetMainDocument())
-      ->delegate()
-      ->GetAsWebContents();
+  return WebContents::FromRenderFrameHost(&page->GetMainDocument());
 }
 
 const std::u16string& GetTitle(Page& page) {
diff --git a/content/browser/interest_group/interest_group_manager.cc b/content/browser/interest_group/interest_group_manager.cc
index abba1f7..63096251 100644
--- a/content/browser/interest_group/interest_group_manager.cc
+++ b/content/browser/interest_group/interest_group_manager.cc
@@ -237,7 +237,7 @@
 
 // Copies the `ads` list  JSON field into `interest_group_update`, returns true
 // iff the JSON is valid and the copy completed.
-WARN_UNUSED_RESULT bool TryToCopyTrustedBiddingSignalsAds(
+WARN_UNUSED_RESULT bool TryToCopyAds(
     blink::InterestGroup& interest_group_update,
     const base::Value& value) {
   const base::Value* maybe_ads = value.FindListKey("ads");
@@ -297,7 +297,7 @@
   }
   if (!TryToCopyTrustedBiddingSignalsKeys(interest_group_update, value))
     return;
-  if (!TryToCopyTrustedBiddingSignalsAds(interest_group_update, value))
+  if (!TryToCopyAds(interest_group_update, value))
     return;
   if (!interest_group_update.IsValid())
     return;
diff --git a/content/browser/loader/web_transport_browsertest.cc b/content/browser/loader/web_transport_browsertest.cc
index cbe348d..13598641 100644
--- a/content/browser/loader/web_transport_browsertest.cc
+++ b/content/browser/loader/web_transport_browsertest.cc
@@ -2,7 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
@@ -12,26 +11,15 @@
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
-#include "base/synchronization/waitable_event.h"
 #include "base/test/bind.h"
-#include "base/threading/thread.h"
-#include "base/threading/thread_restrictions.h"
-#include "build/build_config.h"
-#include "components/network_session_configurator/common/network_switches.h"
-#include "content/public/common/content_switches.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/content_browser_test.h"
 #include "content/public/test/content_browser_test_utils.h"
+#include "content/public/test/web_transport_simple_test_server.h"
 #include "content/shell/browser/shell.h"
-#include "net/base/ip_endpoint.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
-#include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h"
-#include "net/third_party/quiche/src/quic/test_tools/quic_test_backend.h"
-#include "net/tools/quic/quic_simple_server.h"
-#include "net/tools/quic/quic_transport_simple_server.h"
-#include "services/network/public/cpp/network_switches.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "url/origin.h"
 
 // This file is placed tentively in content/browser/loader.
 // TODO(yhirano): Convert tests in this file to web platform tests when they
@@ -42,85 +30,13 @@
 
 using base::ASCIIToUTF16;
 
-class WebTransportSimpleServerWithThread final {
- public:
-  explicit WebTransportSimpleServerWithThread(
-      const std::vector<url::Origin>& origins)
-      : origins_(origins) {}
-
-  ~WebTransportSimpleServerWithThread() {
-    io_thread_->task_runner()->PostTask(
-        FROM_HERE,
-        base::BindOnce([](std::unique_ptr<net::QuicSimpleServer> server) {},
-                       std::move(server_)));
-
-    base::ScopedAllowBaseSyncPrimitivesForTesting allow_wait_for_thread_join;
-    io_thread_.reset();
-  }
-
-  void Start() {
-    CHECK(!io_thread_);
-
-    io_thread_ = std::make_unique<base::Thread>("WebTransport server");
-    base::Thread::Options thread_options;
-    thread_options.message_pump_type = base::MessagePumpType::IO;
-    CHECK(io_thread_->StartWithOptions(std::move(thread_options)));
-    CHECK(io_thread_->WaitUntilThreadStarted());
-
-    base::WaitableEvent event;
-    net::IPEndPoint server_address;
-    io_thread_->task_runner()->PostTask(
-        FROM_HERE, base::BindLambdaForTesting([&]() {
-          backend_ = std::make_unique<quic::test::QuicTestBackend>();
-          backend_->set_enable_webtransport(true);
-          server_ = std::make_unique<net::QuicSimpleServer>(
-              quic::test::crypto_test_utils::ProofSourceForTesting(),
-              quic::QuicConfig(), quic::QuicCryptoServerConfig::ConfigOptions(),
-              quic::AllSupportedVersions(), backend_.get());
-          bool result = server_->CreateUDPSocketAndListen(
-              quic::QuicSocketAddress(quic::QuicSocketAddress(
-                  quic::QuicIpAddress::Any6(), /*port=*/0)));
-          CHECK(result);
-          server_address = server_->server_address();
-          event.Signal();
-        }));
-    event.Wait();
-    server_address_ = server_address;
-  }
-
-  const net::IPEndPoint& server_address() const { return server_address_; }
-
- private:
-  const std::vector<url::Origin> origins_;
-  net::IPEndPoint server_address_;
-
-  std::unique_ptr<quic::test::QuicTestBackend> backend_;
-  std::unique_ptr<net::QuicSimpleServer> server_;
-  std::unique_ptr<base::Thread> io_thread_;
-};
-
 class WebTransportBrowserTest : public ContentBrowserTest {
  public:
-  WebTransportBrowserTest() : server_({}) {
-    quic::QuicEnableVersion(quic::DefaultVersionForQuicTransport());
-    server_.Start();
-  }
+  WebTransportBrowserTest() { server_.Start(); }
 
   void SetUpCommandLine(base::CommandLine* command_line) override {
     ContentBrowserTest::SetUpCommandLine(command_line);
-    command_line->AppendSwitch(
-        switches::kEnableExperimentalWebPlatformFeatures);
-    command_line->AppendSwitchASCII(
-        switches::kOriginToForceQuicOn,
-        base::StringPrintf("localhost:%d", server_.server_address().port()));
-    command_line->AppendSwitch(switches::kEnableQuic);
-    command_line->AppendSwitchASCII(
-        switches::kQuicVersion,
-        quic::AlpnForVersion(quic::DefaultVersionForQuicTransport()));
-    // The value is calculated from net/data/ssl/certificates/quic-chain.pem.
-    command_line->AppendSwitchASCII(
-        network::switches::kIgnoreCertificateErrorsSPKIList,
-        "I+ryIVl5ksb8KijTneC3y7z1wBFn5x35O5is9g5n/KM=");
+    server_.SetUpCommandLine(command_line);
   }
 
   bool WaitForTitle(const std::u16string& expected_title,
@@ -141,7 +57,7 @@
 
  protected:
   QuicFlagSaver flags_;  // Save/restore all QUIC flag values.
-  WebTransportSimpleServerWithThread server_;
+  WebTransportSimpleTestServer server_;
 };
 
 IN_PROC_BROWSER_TEST_F(WebTransportBrowserTest, Echo) {
diff --git a/content/browser/media/android/media_player_renderer.cc b/content/browser/media/android/media_player_renderer.cc
index 704d1c4..c539bb06 100644
--- a/content/browser/media/android/media_player_renderer.cc
+++ b/content/browser/media/android/media_player_renderer.cc
@@ -45,10 +45,8 @@
       volume_(kDefaultVolume),
       renderer_extension_receiver_(this,
                                    std::move(renderer_extension_receiver)) {
-  DCHECK_EQ(static_cast<RenderFrameHostImpl*>(
-                RenderFrameHost::FromID(process_id, routing_id))
-                ->delegate()
-                ->GetAsWebContents(),
+  DCHECK_EQ(WebContents::FromRenderFrameHost(
+                RenderFrameHost::FromID(process_id, routing_id)),
             web_contents);
 
   WebContentsImpl* web_contents_impl =
diff --git a/content/browser/media/capture_handle_manager.cc b/content/browser/media/capture_handle_manager.cc
index 1366a93d..a60f0ca 100644
--- a/content/browser/media/capture_handle_manager.cc
+++ b/content/browser/media/capture_handle_manager.cc
@@ -127,12 +127,8 @@
     return nullptr;
   }
 
-  auto* const captured_delegate = captured_rfhi->delegate();
-  if (!captured_delegate) {
-    return nullptr;
-  }
-
-  auto* const captured_web_contents = captured_delegate->GetAsWebContents();
+  auto* const captured_web_contents =
+      WebContents::FromRenderFrameHost(captured_rfhi);
   if (!captured_web_contents) {
     return nullptr;
   }
diff --git a/content/browser/media/flinging_renderer.cc b/content/browser/media/flinging_renderer.cc
index f89d219a..6cd0b641 100644
--- a/content/browser/media/flinging_renderer.cc
+++ b/content/browser/media/flinging_renderer.cc
@@ -7,11 +7,11 @@
 #include <utility>
 
 #include "base/memory/ptr_util.h"
-#include "content/browser/renderer_host/render_frame_host_delegate.h"
 #include "content/browser/renderer_host/render_frame_host_impl.h"
 #include "content/public/browser/content_browser_client.h"
 #include "content/public/browser/presentation_service_delegate.h"
 #include "content/public/browser/render_frame_host.h"
+#include "content/public/browser/web_contents.h"
 #include "content/public/common/content_client.h"
 
 namespace content {
@@ -45,9 +45,7 @@
 
   ControllerPresentationServiceDelegate* presentation_delegate =
       browser_client->GetControllerPresentationServiceDelegate(
-          static_cast<RenderFrameHostImpl*>(render_frame_host)
-              ->delegate()
-              ->GetAsWebContents());
+          WebContents::FromRenderFrameHost(render_frame_host));
 
   if (!presentation_delegate)
     return nullptr;
diff --git a/content/browser/media/media_interface_proxy.cc b/content/browser/media/media_interface_proxy.cc
index d15adcc..e42114f 100644
--- a/content/browser/media/media_interface_proxy.cc
+++ b/content/browser/media/media_interface_proxy.cc
@@ -323,9 +323,7 @@
       std::make_unique<MediaPlayerRenderer>(
           render_frame_host_->GetProcess()->GetID(),
           render_frame_host_->GetRoutingID(),
-          static_cast<RenderFrameHostImpl*>(render_frame_host_)
-              ->delegate()
-              ->GetAsWebContents(),
+          WebContents::FromRenderFrameHost(render_frame_host_),
           std::move(renderer_extension_receiver),
           std::move(client_extension_remote)),
       std::move(receiver));
diff --git a/content/browser/renderer_host/back_forward_cache_can_store_document_result.cc b/content/browser/renderer_host/back_forward_cache_can_store_document_result.cc
index 10c3f504..cf0266b 100644
--- a/content/browser/renderer_host/back_forward_cache_can_store_document_result.cc
+++ b/content/browser/renderer_host/back_forward_cache_can_store_document_result.cc
@@ -251,6 +251,10 @@
     case Reason::kNoResponseHead:
       return "main RenderFrameHost doesn't have response headers set, probably "
              "due not having successfully committed a navigation.";
+    case Reason::kActivationNavigationsDisallowedForBug1234857:
+      return "Activation navigations are disallowed to avoid bypassing "
+             "PasswordProtectionService as a workaround for "
+             "https://crbug.com/1234857.";
   }
 }
 
diff --git a/content/browser/renderer_host/back_forward_cache_impl.cc b/content/browser/renderer_host/back_forward_cache_impl.cc
index 16edaf16..ce77a18 100644
--- a/content/browser/renderer_host/back_forward_cache_impl.cc
+++ b/content/browser/renderer_host/back_forward_cache_impl.cc
@@ -245,6 +245,7 @@
       WebSchedulerTrackedFeature::kWebRTC,
       WebSchedulerTrackedFeature::kWebShare,
       WebSchedulerTrackedFeature::kWebSocket,
+      WebSchedulerTrackedFeature::kWebTransport,
       WebSchedulerTrackedFeature::kWebXR,
       WebSchedulerTrackedFeature::kMediaSessionImplOnServiceCreated);
 
@@ -634,6 +635,17 @@
         BackForwardCacheMetrics::NotRestoredReason::kSchemeNotHTTPOrHTTPS);
   }
 
+  // Do not store if activation navigations are disabled by the
+  // NavigatorDelegate as a workaround for the following bug.
+  // TODO(https://crbug.com/1234857): Remove this when the bug is fixed.
+  if (rfh->frame_tree_node()
+          ->navigator()
+          .GetDelegate()
+          ->IsActivationNavigationDisallowedForBug1234857()) {
+    result.No(BackForwardCacheMetrics::NotRestoredReason::
+                  kActivationNavigationsDisallowedForBug1234857);
+  }
+
   // We should not cache pages with Cache-control: no-store. Note that
   // even though this is categorized as a "feature", we will check this within
   // CanPotentiallyStorePageLater as it's not possible to change the HTTP
diff --git a/content/browser/renderer_host/back_forward_cache_metrics.h b/content/browser/renderer_host/back_forward_cache_metrics.h
index 1a07d64..df1d7100 100644
--- a/content/browser/renderer_host/back_forward_cache_metrics.h
+++ b/content/browser/renderer_host/back_forward_cache_metrics.h
@@ -111,7 +111,8 @@
     kCacheControlNoStoreCookieModified = 54,
     kCacheControlNoStoreHTTPOnlyCookieModified = 55,
     kNoResponseHead = 56,
-    kMaxValue = kNoResponseHead,
+    kActivationNavigationsDisallowedForBug1234857 = 57,
+    kMaxValue = kActivationNavigationsDisallowedForBug1234857,
   };
 
   using NotRestoredReasons =
diff --git a/content/browser/renderer_host/navigation_controller_impl_browsertest.cc b/content/browser/renderer_host/navigation_controller_impl_browsertest.cc
index a7476c8..c854c17 100644
--- a/content/browser/renderer_host/navigation_controller_impl_browsertest.cc
+++ b/content/browser/renderer_host/navigation_controller_impl_browsertest.cc
@@ -1783,7 +1783,7 @@
   // Observes the load commit for the specified |node|.
   explicit LoadCommittedCapturer(FrameTreeNode* node)
       : WebContentsObserver(
-            node->current_frame_host()->delegate()->GetAsWebContents()),
+            WebContents::FromRenderFrameHost(node->current_frame_host())),
         frame_tree_node_id_(node->frame_tree_node_id()),
         message_loop_runner_(new MessageLoopRunner) {}
 
@@ -10206,7 +10206,7 @@
   // Observes failure for the specified |node|.
   explicit FailureWatcher(FrameTreeNode* node)
       : WebContentsObserver(
-            node->current_frame_host()->delegate()->GetAsWebContents()),
+            WebContents::FromRenderFrameHost(node->current_frame_host())),
         frame_tree_node_id_(node->frame_tree_node_id()),
         message_loop_runner_(new MessageLoopRunner) {}
 
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index b7dc5697..f6751a14 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -905,7 +905,9 @@
   }
 
   RenderFrameHostImpl* rfh_restored_from_back_forward_cache = nullptr;
-  if (entry) {
+  if (entry && !frame_tree_node->navigator()
+                    .GetDelegate()
+                    ->IsActivationNavigationDisallowedForBug1234857()) {
     BackForwardCacheImpl::Entry* restored_entry =
         frame_tree_node->navigator()
             .controller()
@@ -1609,6 +1611,9 @@
   if (!blink::features::IsPrerender2Enabled())
     return false;
 
+  if (GetDelegate()->IsActivationNavigationDisallowedForBug1234857())
+    return false;
+
   // Find an available prerendered page for this request. If it's found, this
   // request may activate it instead of loading a page via network.
   int candidate_prerender_frame_tree_node_id =
diff --git a/content/browser/renderer_host/navigator_delegate.h b/content/browser/renderer_host/navigator_delegate.h
index 0dc1586..e1f34f48 100644
--- a/content/browser/renderer_host/navigator_delegate.h
+++ b/content/browser/renderer_host/navigator_delegate.h
@@ -133,6 +133,13 @@
   virtual void RegisterExistingOriginToPreventOptInIsolation(
       const url::Origin& origin,
       NavigationRequest* navigation_request_to_exclude) = 0;
+
+  // Returns true if activation navigations are disallowed in the
+  // Navigator.
+  // TODO(https://crbug.com/1234857): Remove this. This is a temporary
+  // workaround to avoid breaking features that must be taught to deal with
+  // activation navigations.
+  virtual bool IsActivationNavigationDisallowedForBug1234857() = 0;
 };
 
 }  // namespace content
diff --git a/content/browser/renderer_host/render_frame_host_delegate.cc b/content/browser/renderer_host/render_frame_host_delegate.cc
index 89bbfd6..d261969 100644
--- a/content/browser/renderer_host/render_frame_host_delegate.cc
+++ b/content/browser/renderer_host/render_frame_host_delegate.cc
@@ -42,10 +42,6 @@
   return false;
 }
 
-WebContents* RenderFrameHostDelegate::GetAsWebContents() {
-  return nullptr;
-}
-
 void RenderFrameHostDelegate::RequestMediaAccessPermission(
     const MediaStreamRequest& request,
     MediaResponseCallback callback) {
diff --git a/content/browser/renderer_host/render_frame_host_delegate.h b/content/browser/renderer_host/render_frame_host_delegate.h
index c74781c..9b5ba7c5 100644
--- a/content/browser/renderer_host/render_frame_host_delegate.h
+++ b/content/browser/renderer_host/render_frame_host_delegate.h
@@ -100,7 +100,6 @@
 class RenderFrameHostImpl;
 class RenderWidgetHostImpl;
 class SessionStorageNamespace;
-class WebContents;
 struct AXEventNotificationDetails;
 struct AXLocationChangeNotificationDetails;
 struct ContextMenuParams;
@@ -112,6 +111,12 @@
 
 // An interface implemented by an object interested in knowing about the state
 // of the RenderFrameHost.
+//
+// Layering note: Generally, WebContentsImpl should be the only implementation
+// of this interface. In particular, WebContents::FromRenderFrameHost() assumes
+// this. This delegate interface is useful for renderer_host/ to make requests
+// to WebContentsImpl, as renderer_host/ is not permitted to know the
+// WebContents type (see //renderer_host/DEPS).
 class CONTENT_EXPORT RenderFrameHostDelegate {
  public:
   // Callback used with HandleClipboardPaste() method.  If the clipboard paste
@@ -253,10 +258,6 @@
   virtual void UpdateTargetURL(RenderFrameHostImpl* render_frame_host,
                                const GURL& url) {}
 
-  // Return this object cast to a WebContents, if it is one. If the object is
-  // not a WebContents, returns null.
-  virtual WebContents* GetAsWebContents();
-
   // Creates a MediaPlayerHost object associated to |frame_host| via its
   // associated MediaWebContentsObserver, and binds |receiver| to it.
   virtual void CreateMediaPlayerHostForRenderFrameHost(
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 2b4831b3..148554d3a 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8663,10 +8663,6 @@
   if (g_allow_injecting_javascript)
     return true;
 
-  // TODO(https://crbug.com/1237360): This is just here to prove that previous
-  // code that checked for null is not needed. Remove GetAsWebContents().
-  DCHECK(delegate_->GetAsWebContents() != nullptr);
-
   return !frame_tree_node_->current_url().is_valid() ||
          frame_tree_node_->current_url().SchemeIs(kChromeDevToolsScheme) ||
          ChildProcessSecurityPolicyImpl::GetInstance()->HasWebUIBindings(
@@ -9122,7 +9118,7 @@
     mojo::PendingReceiver<blink::mojom::SpeechSynthesis> receiver) {
   if (!speech_synthesis_impl_) {
     speech_synthesis_impl_ = std::make_unique<SpeechSynthesisImpl>(
-        GetProcess()->GetBrowserContext(), delegate_->GetAsWebContents());
+        GetProcess()->GetBrowserContext(), this);
   }
   speech_synthesis_impl_->AddReceiver(std::move(receiver));
 
diff --git a/content/browser/renderer_host/render_view_host_delegate.cc b/content/browser/renderer_host/render_view_host_delegate.cc
index 707b6b9..499d463 100644
--- a/content/browser/renderer_host/render_view_host_delegate.cc
+++ b/content/browser/renderer_host/render_view_host_delegate.cc
@@ -10,10 +10,6 @@
   return nullptr;
 }
 
-WebContents* RenderViewHostDelegate::GetAsWebContents() {
-  return nullptr;
-}
-
 bool RenderViewHostDelegate::IsNeverComposited() {
   return false;
 }
diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h
index 735d674..d2e70712 100644
--- a/content/browser/renderer_host/render_view_host_delegate.h
+++ b/content/browser/renderer_host/render_view_host_delegate.h
@@ -27,7 +27,6 @@
 
 class RenderViewHost;
 class RenderViewHostDelegateView;
-class WebContents;
 
 //
 // RenderViewHostDelegate
@@ -40,17 +39,18 @@
 //  may not be relevant to all users of RenderViewHost and we should consider
 //  exposing a more generic Send function on RenderViewHost and a response
 //  listener here to serve that need.
+//
+// Layering note: Generally, WebContentsImpl should be the only implementation
+// of this interface. In particular, WebContents::FromRenderViewHost() assumes
+// this. This delegate interface is useful for renderer_host/ to make requests
+// to WebContentsImpl, as renderer_host/ is not permitted to know the
+// WebContents type (see //renderer_host/DEPS).
 class CONTENT_EXPORT RenderViewHostDelegate {
  public:
   // Returns the current delegate associated with a feature. May return NULL if
   // there is no corresponding delegate.
   virtual RenderViewHostDelegateView* GetDelegateView();
 
-  // Return this object cast to a WebContents, if it is one. If the object is
-  // not a WebContents, returns NULL. DEPRECATED: Be sure to include brettw or
-  // jam as reviewers before you use this method. http://crbug.com/82582
-  virtual WebContents* GetAsWebContents();
-
   // The RenderView has been constructed.
   virtual void RenderViewReady(RenderViewHost* render_view_host) {}
 
diff --git a/content/browser/speech/speech_synthesis_impl.cc b/content/browser/speech/speech_synthesis_impl.cc
index 3a2c8cf..661d166 100644
--- a/content/browser/speech/speech_synthesis_impl.cc
+++ b/content/browser/speech/speech_synthesis_impl.cc
@@ -4,7 +4,9 @@
 
 #include "content/browser/speech/speech_synthesis_impl.h"
 
+#include "content/browser/renderer_host/render_frame_host_impl.h"
 #include "content/browser/speech/tts_utterance_impl.h"
+#include "content/public/browser/web_contents.h"
 
 namespace content {
 namespace {
@@ -88,8 +90,9 @@
 }  // namespace
 
 SpeechSynthesisImpl::SpeechSynthesisImpl(BrowserContext* browser_context,
-                                         WebContents* web_contents)
-    : browser_context_(browser_context), web_contents_(web_contents) {
+                                         RenderFrameHostImpl* rfh)
+    : browser_context_(browser_context),
+      web_contents_(WebContents::FromRenderFrameHost((rfh))) {
   DCHECK(browser_context_);
   DCHECK(web_contents_);
   TtsController::GetInstance()->AddVoicesChangedDelegate(this);
diff --git a/content/browser/speech/speech_synthesis_impl.h b/content/browser/speech/speech_synthesis_impl.h
index 96cdacf..98eb914 100644
--- a/content/browser/speech/speech_synthesis_impl.h
+++ b/content/browser/speech/speech_synthesis_impl.h
@@ -12,7 +12,7 @@
 
 namespace content {
 class BrowserContext;
-class WebContents;
+class RenderFrameHostImpl;
 
 // Back-end for the web speech synthesis API; dispatches speech requests to
 // content::TtsController and forwards voice lists and events back to the
@@ -21,7 +21,7 @@
                             public VoicesChangedDelegate {
  public:
   SpeechSynthesisImpl(BrowserContext* browser_context,
-                      WebContents* web_contents);
+                      RenderFrameHostImpl* rfh);
   ~SpeechSynthesisImpl() override;
 
   SpeechSynthesisImpl(const SpeechSynthesisImpl&) = delete;
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 9f906ef3..3617a2b9 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -567,7 +567,7 @@
                         rvh);
   if (!rvh)
     return nullptr;
-  return rvh->GetDelegate()->GetAsWebContents();
+  return static_cast<WebContentsImpl*>(rvh->GetDelegate());
 }
 
 WebContents* WebContents::FromRenderFrameHost(RenderFrameHost* rfh) {
@@ -576,7 +576,9 @@
                         rfh);
   if (!rfh)
     return nullptr;
-  return static_cast<RenderFrameHostImpl*>(rfh)->delegate()->GetAsWebContents();
+  RenderFrameHostDelegate* delegate =
+      static_cast<RenderFrameHostImpl*>(rfh)->delegate();
+  return static_cast<WebContentsImpl*>(delegate);
 }
 
 WebContents* WebContents::FromFrameTreeNodeId(int frame_tree_node_id) {
@@ -2214,6 +2216,18 @@
   dict.Add("root_frame_tree_node_id", frame_tree_.root()->frame_tree_node_id());
 }
 
+void WebContentsImpl::DisallowActivationNavigationsForBug1234857() {
+  disallow_activation_navigations_ = true;
+
+  // Flush any inactive frames since they will never be activated.
+  ForEachRenderFrameHost(base::BindRepeating([](RenderFrameHostImpl* rfh) {
+    // Just look at main frames since we only need to call
+    // IsInactiveAndDisallowActivation() on the main frame.
+    if (!rfh->GetParent())
+      rfh->IsInactiveAndDisallowActivation();
+  }));
+}
+
 #if defined(OS_ANDROID)
 void WebContentsImpl::SetPrimaryMainFrameImportance(
     ChildProcessImportance importance) {
@@ -2304,7 +2318,7 @@
   DCHECK(!inner_web_contents_impl->node_.outer_web_contents());
   auto* render_frame_host_impl =
       static_cast<RenderFrameHostImpl*>(render_frame_host);
-  DCHECK_EQ(this, render_frame_host_impl->delegate()->GetAsWebContents());
+  DCHECK_EQ(this, WebContents::FromRenderFrameHost(render_frame_host_impl));
   DCHECK(render_frame_host_impl->GetParent());
 
   RenderFrameHostManager* inner_render_manager =
@@ -6863,10 +6877,6 @@
     listener->FileSelectionCanceled();
 }
 
-WebContents* WebContentsImpl::GetAsWebContents() {
-  return this;
-}
-
 #if !defined(OS_ANDROID)
 double WebContentsImpl::GetPendingPageZoomLevel() {
   NavigationEntry* pending_entry = GetController().GetPendingEntry();
@@ -7358,6 +7368,10 @@
   }
 }
 
+bool WebContentsImpl::IsActivationNavigationDisallowedForBug1234857() {
+  return disallow_activation_navigations_;
+}
+
 void WebContentsImpl::DidChangeName(RenderFrameHostImpl* render_frame_host,
                                     const std::string& name) {
   OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::DidChangeName",
@@ -7603,7 +7617,7 @@
   // RenderFrameProxyHost represents an inner WebContents, the outer WebContents
   // needs to focus the inner WebContents.
   if (GetOuterWebContents() &&
-      GetOuterWebContents() == source_rfh->delegate()->GetAsWebContents() &&
+      GetOuterWebContents() == WebContents::FromRenderFrameHost(source_rfh) &&
       GetFocusedWebContents() == GetOuterWebContents()) {
     SetAsFocusedWebContentsIfNecessary();
   }
@@ -7703,6 +7717,10 @@
   }
 }
 
+WebContents* WebContentsImpl::GetAsWebContents() {
+  return this;
+}
+
 void WebContentsImpl::OnIgnoredUIEvent() {
   OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::OnIgnoredUIEvent");
   // Notify observers.
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 12cdc2a8..1d45d6c 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -567,6 +567,7 @@
   void SetIgnoreInputEvents(bool ignore_input_events) override;
   bool HasActiveEffectivelyFullscreenVideo() override;
   void WriteIntoTrace(perfetto::TracedValue context) override;
+  void DisallowActivationNavigationsForBug1234857() override;
 
   // Implementation of PageNavigator.
   WebContents* OpenURL(const OpenURLParams& params) override;
@@ -631,7 +632,6 @@
                    base::i18n::TextDirection title_direction) override;
   void UpdateTargetURL(RenderFrameHostImpl* render_frame_host,
                        const GURL& url) override;
-  WebContents* GetAsWebContents() override;
   bool IsNeverComposited() override;
   void SetCaptureHandleConfig(
       blink::mojom::CaptureHandleConfigPtr config) override;
@@ -824,9 +824,6 @@
 
   // RenderViewHostDelegate ----------------------------------------------------
   RenderViewHostDelegateView* GetDelegateView() override;
-  // RenderFrameHostDelegate has the same method, so list it there because this
-  // interface is going away.
-  // WebContents* GetAsWebContents() override;
   void RenderViewReady(RenderViewHost* render_view_host) override;
   void RenderViewTerminated(RenderViewHost* render_view_host,
                             base::TerminationStatus status,
@@ -903,6 +900,7 @@
   void RegisterExistingOriginToPreventOptInIsolation(
       const url::Origin& origin,
       NavigationRequest* navigation_request_to_exclude) override;
+  bool IsActivationNavigationDisallowedForBug1234857() override;
 
   // RenderWidgetHostDelegate --------------------------------------------------
 
@@ -950,6 +948,7 @@
   RenderWidgetHostImpl* GetRenderWidgetHostWithPageFocus() override;
   void FocusOwningWebContents(
       RenderWidgetHostImpl* render_widget_host) override;
+  WebContents* GetAsWebContents() override;
   void RendererUnresponsive(
       RenderWidgetHostImpl* render_widget_host,
       base::RepeatingClosure hang_monitor_restarter) override;
@@ -2251,6 +2250,8 @@
   // color or if the page does not set a background color.
   absl::optional<SkColor> page_base_background_color_;
 
+  bool disallow_activation_navigations_ = false;
+
   base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_{this};
   base::WeakPtrFactory<WebContentsImpl> weak_factory_{this};
 
diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn
index 8ed8180..3cdb33d 100644
--- a/content/public/browser/BUILD.gn
+++ b/content/public/browser/BUILD.gn
@@ -557,6 +557,7 @@
 
   if (use_atk) {
     sources += [ "ax_inspect_factory_auralinux.cc" ]
+    configs += [ "//build/config/linux/atspi2" ]
   }
 
   if (is_linux || is_chromeos) {
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 997125e8..757313d3 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -523,13 +523,6 @@
 }
 #endif
 
-StoragePartitionId ContentBrowserClient::GetStoragePartitionIdForSite(
-    BrowserContext* browser_context,
-    const GURL& site) {
-  DCHECK(browser_context);
-  return StoragePartitionId(browser_context);
-}
-
 StoragePartitionConfig ContentBrowserClient::GetStoragePartitionConfigForSite(
     BrowserContext* browser_context,
     const GURL& site) {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 65638e2..f97d736 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -841,12 +841,6 @@
   virtual bool ShouldUseGmsCoreGeolocationProvider();
 #endif
 
-  // Allow the embedder to specify a string version of the storage partition
-  // config with a site.
-  virtual StoragePartitionId GetStoragePartitionIdForSite(
-      BrowserContext* browser_context,
-      const GURL& site);
-
   // Allows the embedder to provide a storage partition configuration for a
   // site. A storage partition configuration includes a domain of the embedder's
   // choice, an optional name within that domain, and whether the partition is
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index 0b835f0..0ccd96c 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -1263,6 +1263,14 @@
   // Serialise this object into a trace.
   virtual void WriteIntoTrace(perfetto::TracedValue context) = 0;
 
+  // Disallows navigations that activate a prerendered page or a back/forward
+  // cached page in this WebContents. Such pages will be ignored and normal
+  // navigation will occur instead.
+  // TODO(https://crbug.com/1234857): Remove this. This is a temporary
+  // workaround to avoid breaking features that must be taught to deal with
+  // activation navigations.
+  virtual void DisallowActivationNavigationsForBug1234857() = 0;
+
  private:
   // This interface should only be implemented inside content.
   friend class WebContentsImpl;
diff --git a/content/public/test/DEPS b/content/public/test/DEPS
index 17d68a5..d918636d 100644
--- a/content/public/test/DEPS
+++ b/content/public/test/DEPS
@@ -13,6 +13,7 @@
   "+components/download/public/common",
   "+components/enterprise/common/download_item_reroute_info.h",
   "+components/leveldb_proto/public",
+  "+components/network_session_configurator/common/network_switches.h",
   "+components/services/storage/public",
   "+components/viz/client",
   "+components/viz/common",
diff --git a/content/public/test/test_frame_navigation_observer.cc b/content/public/test/test_frame_navigation_observer.cc
index dd15ea31..6f0da8c 100644
--- a/content/public/test/test_frame_navigation_observer.cc
+++ b/content/public/test/test_frame_navigation_observer.cc
@@ -24,7 +24,7 @@
 TestFrameNavigationObserver::TestFrameNavigationObserver(
     const ToRenderFrameHost& adapter)
     : WebContentsObserver(
-          ToRenderFrameHostImpl(adapter)->delegate()->GetAsWebContents()),
+          WebContents::FromRenderFrameHost(ToRenderFrameHostImpl(adapter))),
       frame_tree_node_id_(ToRenderFrameHostImpl(adapter)->GetFrameTreeNodeId()),
       navigation_started_(false),
       has_committed_(false),
diff --git a/content/public/test/test_utils.cc b/content/public/test/test_utils.cc
index 483dd61..6019a3c7 100644
--- a/content/public/test/test_utils.cc
+++ b/content/public/test/test_utils.cc
@@ -266,8 +266,7 @@
 }
 
 WebContents* CreateAndAttachInnerContents(RenderFrameHost* rfh) {
-  WebContents* outer_contents =
-      static_cast<RenderFrameHostImpl*>(rfh)->delegate()->GetAsWebContents();
+  auto* outer_contents = WebContents::FromRenderFrameHost(rfh);
   if (!outer_contents)
     return nullptr;
 
diff --git a/content/public/test/web_transport_simple_test_server.cc b/content/public/test/web_transport_simple_test_server.cc
new file mode 100644
index 0000000..6bfe24b
--- /dev/null
+++ b/content/public/test/web_transport_simple_test_server.cc
@@ -0,0 +1,83 @@
+// 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 "content/public/test/web_transport_simple_test_server.h"
+
+#include "base/command_line.h"
+#include "base/strings/stringprintf.h"
+#include "base/synchronization/waitable_event.h"
+#include "base/test/bind.h"
+#include "base/threading/thread.h"
+#include "base/threading/thread_restrictions.h"
+#include "components/network_session_configurator/common/network_switches.h"
+#include "content/public/common/content_switches.h"
+#include "net/third_party/quiche/src/quic/quic_transport/quic_transport_protocol.h"
+#include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h"
+#include "net/third_party/quiche/src/quic/test_tools/quic_test_backend.h"
+#include "net/tools/quic/quic_simple_server.h"
+#include "services/network/public/cpp/network_switches.h"
+
+namespace content {
+
+WebTransportSimpleTestServer::WebTransportSimpleTestServer() {
+  quic::QuicEnableVersion(quic::DefaultVersionForQuicTransport());
+}
+
+WebTransportSimpleTestServer::~WebTransportSimpleTestServer() {
+  server_thread_->task_runner()->PostTask(
+      FROM_HERE,
+      base::BindOnce([](std::unique_ptr<net::QuicSimpleServer> server) {},
+                     std::move(server_)));
+
+  base::ScopedAllowBaseSyncPrimitivesForTesting allow_wait_for_thread_join;
+  server_thread_.reset();
+}
+
+void WebTransportSimpleTestServer::SetUpCommandLine(
+    base::CommandLine* command_line) {
+  DCHECK(command_line);
+  command_line->AppendSwitch(switches::kEnableExperimentalWebPlatformFeatures);
+  command_line->AppendSwitchASCII(
+      switches::kOriginToForceQuicOn,
+      base::StringPrintf("localhost:%d", server_address().port()));
+  command_line->AppendSwitch(switches::kEnableQuic);
+  command_line->AppendSwitchASCII(
+      switches::kQuicVersion,
+      quic::AlpnForVersion(quic::DefaultVersionForQuicTransport()));
+  // The value is calculated from net/data/ssl/certificates/quic-chain.pem.
+  command_line->AppendSwitchASCII(
+      network::switches::kIgnoreCertificateErrorsSPKIList,
+      "I+ryIVl5ksb8KijTneC3y7z1wBFn5x35O5is9g5n/KM=");
+}
+
+void WebTransportSimpleTestServer::Start() {
+  CHECK(!server_thread_);
+
+  server_thread_ = std::make_unique<base::Thread>("WebTransport server");
+  base::Thread::Options thread_options;
+  thread_options.message_pump_type = base::MessagePumpType::IO;
+  CHECK(server_thread_->StartWithOptions(std::move(thread_options)));
+  CHECK(server_thread_->WaitUntilThreadStarted());
+
+  base::WaitableEvent event;
+  net::IPEndPoint server_address;
+  server_thread_->task_runner()->PostTask(
+      FROM_HERE, base::BindLambdaForTesting([&]() {
+        backend_ = std::make_unique<quic::test::QuicTestBackend>();
+        backend_->set_enable_webtransport(true);
+        server_ = std::make_unique<net::QuicSimpleServer>(
+            quic::test::crypto_test_utils::ProofSourceForTesting(),
+            quic::QuicConfig(), quic::QuicCryptoServerConfig::ConfigOptions(),
+            quic::AllSupportedVersions(), backend_.get());
+        bool result = server_->CreateUDPSocketAndListen(quic::QuicSocketAddress(
+            quic::QuicSocketAddress(quic::QuicIpAddress::Any6(), /*port=*/0)));
+        CHECK(result);
+        server_address = server_->server_address();
+        event.Signal();
+      }));
+  event.Wait();
+  server_address_ = server_address;
+}
+
+}  // namespace content
diff --git a/content/public/test/web_transport_simple_test_server.h b/content/public/test/web_transport_simple_test_server.h
new file mode 100644
index 0000000..5838099
--- /dev/null
+++ b/content/public/test/web_transport_simple_test_server.h
@@ -0,0 +1,53 @@
+// 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 CONTENT_PUBLIC_TEST_WEB_TRANSPORT_SIMPLE_TEST_SERVER_H_
+#define CONTENT_PUBLIC_TEST_WEB_TRANSPORT_SIMPLE_TEST_SERVER_H_
+
+#include <memory>
+
+#include "net/base/ip_endpoint.h"
+
+namespace base {
+class CommandLine;
+class Thread;
+}  // namespace base
+
+namespace net {
+class QuicSimpleServer;
+}  // namespace net
+
+namespace quic {
+namespace test {
+class QuicTestBackend;
+}  // namespace test
+}  // namespace quic
+
+namespace content {
+
+// A WebTransport over HTTP/3 test server for testing.
+class WebTransportSimpleTestServer final {
+ public:
+  WebTransportSimpleTestServer();
+  ~WebTransportSimpleTestServer();
+
+  // Adds some command line flags which are needed to enable WebTransport.
+  void SetUpCommandLine(base::CommandLine* command_line);
+
+  // Starts the server.
+  void Start();
+
+  const net::IPEndPoint& server_address() const { return server_address_; }
+
+ private:
+  net::IPEndPoint server_address_;
+
+  std::unique_ptr<quic::test::QuicTestBackend> backend_;
+  std::unique_ptr<net::QuicSimpleServer> server_;
+  std::unique_ptr<base::Thread> server_thread_;
+};
+
+}  // namespace content
+
+#endif  // CONTENT_PUBLIC_TEST_WEB_TRANSPORT_SIMPLE_TEST_SERVER_H_
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 4b437b4..2b6a418 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -281,6 +281,8 @@
     "../public/test/web_contents_receiver_set_test_binder.h",
     "../public/test/web_contents_tester.cc",
     "../public/test/web_contents_tester.h",
+    "../public/test/web_transport_simple_test_server.cc",
+    "../public/test/web_transport_simple_test_server.h",
     "../public/test/web_ui_browsertest_util.cc",
     "../public/test/web_ui_browsertest_util.h",
     "../renderer/mock_agent_scheduling_group.cc",
@@ -432,6 +434,7 @@
     "//base/third_party/dynamic_annotations",
     "//build:chromeos_buildflags",
     "//cc:test_support",
+    "//components/network_session_configurator/common:common",
     "//components/services/storage",
     "//components/variations",
     "//components/viz/client",
@@ -457,6 +460,8 @@
     "//media/capture",
     "//media/capture/mojom:image_capture",
     "//mojo/core/embedder",
+    "//net:quic_test_tools",
+    "//net:simple_quic_tools",
     "//net:test_support",
     "//ppapi/c:c",
     "//services/audio",
diff --git a/content/test/content_browser_test_utils_internal.cc b/content/test/content_browser_test_utils_internal.cc
index 878fe755..f89a8b7a 100644
--- a/content/test/content_browser_test_utils_internal.cc
+++ b/content/test/content_browser_test_utils_internal.cc
@@ -474,12 +474,10 @@
 
 UrlCommitObserver::UrlCommitObserver(FrameTreeNode* frame_tree_node,
                                      const GURL& url)
-    : content::WebContentsObserver(frame_tree_node->current_frame_host()
-                                       ->delegate()
-                                       ->GetAsWebContents()),
+    : content::WebContentsObserver(WebContents::FromRenderFrameHost(
+          frame_tree_node->current_frame_host())),
       frame_tree_node_id_(frame_tree_node->frame_tree_node_id()),
-      url_(url) {
-}
+      url_(url) {}
 
 UrlCommitObserver::~UrlCommitObserver() {}
 
@@ -747,7 +745,7 @@
 
 FrameNavigateParamsCapturer::FrameNavigateParamsCapturer(FrameTreeNode* node)
     : WebContentsObserver(
-          node->current_frame_host()->delegate()->GetAsWebContents()),
+          WebContents::FromRenderFrameHost(node->current_frame_host())),
       frame_tree_node_id_(node->frame_tree_node_id()) {}
 
 FrameNavigateParamsCapturer::~FrameNavigateParamsCapturer() = default;
diff --git a/content/test/data/gpu/pixel_webgl_webcodecs_breakoutbox_displays_frame.html b/content/test/data/gpu/pixel_webgl_webcodecs_breakoutbox_displays_frame.html
index f474a6b..58ad03d 100644
--- a/content/test/data/gpu/pixel_webgl_webcodecs_breakoutbox_displays_frame.html
+++ b/content/test/data/gpu/pixel_webgl_webcodecs_breakoutbox_displays_frame.html
@@ -15,12 +15,13 @@
 }
 </style>
 
+<script src="pixel_video_test.js"></script>
 <script src="pixel_webgl_util.js"></script>
 
 <script>
 var gl, generator, writer;
 
-function main() {
+function runTest() {
   var canvas = new OffscreenCanvas(300, 300);
   gl = initGL(canvas);
   if (!gl) {
@@ -41,9 +42,7 @@
   let frame = new VideoFrame(canvas);
   let video = document.querySelector('video');
   video.requestVideoFrameCallback(_ => {
-    chrome.gpuBenchmarking.addSwapCompletionEventListener(_ => {
-      domAutomationController.send("SUCCESS");
-    });
+    waitForSwapsToComplete();
   });
 
   generator = new MediaStreamTrackGenerator({kind: 'video'});
@@ -58,7 +57,7 @@
 }
 </script>
 </head>
-<body onload="main()">
+<body onload="runTest()">
 <video width="300" height="300" class="nomargin" autoplay muted></video>
 </body>
 </html>
diff --git a/content/test/storage_partition_test_helpers.cc b/content/test/storage_partition_test_helpers.cc
index ea61145c..16f0c403 100644
--- a/content/test/storage_partition_test_helpers.cc
+++ b/content/test/storage_partition_test_helpers.cc
@@ -54,14 +54,4 @@
   return StoragePartitionConfig::CreateDefault(browser_context);
 }
 
-StoragePartitionId
-CustomStoragePartitionForSomeSites::GetStoragePartitionIdForSite(
-    BrowserContext* browser_context,
-    const GURL& site) {
-  if (site == site_to_isolate_)
-    return StoragePartitionId(
-        site.spec(), GetStoragePartitionConfigForSite(browser_context, site));
-  return StoragePartitionId(browser_context);
-}
-
 }  // namespace content
diff --git a/content/test/storage_partition_test_helpers.h b/content/test/storage_partition_test_helpers.h
index 79050ce..cbc5c78 100644
--- a/content/test/storage_partition_test_helpers.h
+++ b/content/test/storage_partition_test_helpers.h
@@ -37,10 +37,6 @@
       BrowserContext* browser_context,
       const GURL& site) override;
 
-  StoragePartitionId GetStoragePartitionIdForSite(
-      BrowserContext* browser_context,
-      const GURL& site) override;
-
  private:
   GURL site_to_isolate_;
 };
diff --git a/content/test/test_render_frame_host.cc b/content/test/test_render_frame_host.cc
index 1cdc5c5..06ebc51 100644
--- a/content/test/test_render_frame_host.cc
+++ b/content/test/test_render_frame_host.cc
@@ -71,7 +71,7 @@
     const blink::LocalFrameToken& frame_token,
     RenderFrameHostImpl::LifecycleStateImpl lifecycle_state)
     : RenderFrameHostImpl(site_instance,
-                          std::move(render_view_host),
+                          render_view_host,
                           delegate,
                           frame_tree,
                           frame_tree_node,
@@ -80,8 +80,8 @@
                           frame_token,
                           /*renderer_initiated_creation=*/false,
                           lifecycle_state),
-      child_creation_observer_(delegate ? delegate->GetAsWebContents()
-                                        : nullptr),
+      child_creation_observer_(
+          WebContents::FromRenderViewHost(render_view_host.get())),
       simulate_history_list_was_cleared_(false),
       last_commit_was_error_page_(false) {}
 
diff --git a/docs/asan.md b/docs/asan.md
index 20e23f4..8935dba 100644
--- a/docs/asan.md
+++ b/docs/asan.md
@@ -265,6 +265,28 @@
 
 **Note**: `disable_nacl=1` is needed for now.
 
+## Running on Chrome OS
+
+For the linux-chromeos "emulator" build, run Asan following the instructions
+above, just like you would for Linux.
+
+For Chromebook hardware, add `is_asan = true` to your args.gn and build.
+`deploy_chrome` with `--mount` and `--nostrip`. ASan logs can be found in
+`/var/log/asan/`.
+
+To catch crashes in gdb:
+
+-   Edit `/etc/chrome_dev.conf` and add `ASAN_OPTIONS=abort_on_error=1`
+-   `restart ui`
+-   gdb -p 12345  # Find the pid from /var/log/chrome/chrome
+
+When you trigger the crash, you'll get a SIGABRT in gdb. `bt` will show the
+stack.
+
+See
+[Chrome OS stack traces](https://chromium.googlesource.com/chromiumos/docs/+/main/stack_traces.md)
+for more details.
+
 ## AsanCoverage
 
 AsanCoverage is a minimalistic code coverage implementation built into ASan. For
diff --git a/extensions/strings/extensions_strings_ta.xtb b/extensions/strings/extensions_strings_ta.xtb
index e31fa69..9327d819 100644
--- a/extensions/strings/extensions_strings_ta.xtb
+++ b/extensions/strings/extensions_strings_ta.xtb
@@ -16,7 +16,7 @@
 <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (நீட்டிப்பு ஐடி "<ph name="EXTENSION_ID" />") எனும் நீட்டிப்பை நிர்வாகி தடுத்துள்ளார். <ph name="ADMIN_INFO" /></translation>
 <translation id="2988488679308982380">இந்த தொகுப்பை நிறுவமுடியாது: '<ph name="ERROR_CODE" />'</translation>
 <translation id="3115238746683532089"><ph name="VENDOR_ID" /> விற்பனையாளர் அனுப்பிய <ph name="PRODUCT_ID" /> (சீரியல் எண் <ph name="SERIAL_NUMBER" />) தயாரிப்பை அறிய முடியவில்லை</translation>
-<translation id="3144135466825225871">crx கோப்பை இடமாற்றுவதில் தோல்வி. கோப்பு பயன்பாட்டில் உள்ளதா என்று பார்க்கவும்.</translation>
+<translation id="3144135466825225871">crx ஃபைலை இடமாற்றுவதில் தோல்வி. கோப்பு பயன்பாட்டில் உள்ளதா என்று பார்க்கவும்.</translation>
 <translation id="3163201441334626963"><ph name="VENDOR_ID" /> அனுப்பிய <ph name="PRODUCT_ID" /> தயாரிப்பை அறிய முடியவில்லை.</translation>
 <translation id="3302709122321372472">உள்ளடக்க ஸ்கிரிப்டுக்காக css '<ph name="RELATIVE_PATH" />' ஐ ஏற்ற முடியவில்லை. </translation>
 <translation id="3369521687965833290">நீட்டிப்பைத் திறக்க முடியவில்லை. பாதுகாப்பாக நீட்டிப்பைத் திறக்க வேண்டுமானால், உங்கள் சுயவிவர கோப்பகத்திற்கான பாதை தரப்பட வேண்டும். சுயவிவர கோப்பகமானது கோப்பக எழுத்துடன் தொடங்க வேண்டும் மற்றும் சந்திப்பு, மவுண்ட் பாயின்ட் அல்லது சிம்லிங்கைக் கொண்டிருக்கக் கூடாது. உங்கள் சுயவிவரத்தில் அவ்வாறான பாதைகள் எதுவுமில்லை.</translation>
diff --git a/infra/config/generated/commit-queue.cfg b/infra/config/generated/commit-queue.cfg
index 605c3f6..108930b 100644
--- a/infra/config/generated/commit-queue.cfg
+++ b/infra/config/generated/commit-queue.cfg
@@ -1035,7 +1035,6 @@
       }
       builders {
         name: "chromium/try/lacros-arm-generic-rel"
-        experiment_percentage: 100
         location_regexp: ".*"
         location_regexp_exclude: ".+/[+]/docs/.+"
         location_regexp_exclude: ".+/[+]/infra/config/.+"
diff --git a/infra/config/generated/cq-builders.md b/infra/config/generated/cq-builders.md
index c72799f..3f4564e 100644
--- a/infra/config/generated/cq-builders.md
+++ b/infra/config/generated/cq-builders.md
@@ -51,6 +51,8 @@
 
 * [lacros-amd64-generic-rel](https://ci.chromium.org/p/chromium/builders/try/lacros-amd64-generic-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+lacros-amd64-generic-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+lacros-amd64-generic-rel))
 
+* [lacros-arm-generic-rel](https://ci.chromium.org/p/chromium/builders/try/lacros-arm-generic-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+lacros-arm-generic-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+lacros-arm-generic-rel))
+
 * [linux-chromeos-compile-dbg](https://ci.chromium.org/p/chromium/builders/try/linux-chromeos-compile-dbg) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+linux-chromeos-compile-dbg)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+linux-chromeos-compile-dbg))
 
 * [linux-chromeos-rel](https://ci.chromium.org/p/chromium/builders/try/linux-chromeos-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+linux-chromeos-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+linux-chromeos-rel))
@@ -443,9 +445,6 @@
 * [ios-simulator-rts](https://ci.chromium.org/p/chromium/builders/try/ios-simulator-rts) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+ios-simulator-rts)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+ios-simulator-rts))
   * Experiment percentage: 1.0
 
-* [lacros-arm-generic-rel](https://ci.chromium.org/p/chromium/builders/try/lacros-arm-generic-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+lacros-arm-generic-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+lacros-arm-generic-rel))
-  * Experiment percentage: 100.0
-
 * [linux-1mbu-compile-fyi-rel](https://ci.chromium.org/p/chromium/builders/try/linux-1mbu-compile-fyi-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+linux-1mbu-compile-fyi-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+linux-1mbu-compile-fyi-rel))
   * Experiment percentage: 5.0
 
diff --git a/infra/config/generated/cq-usage/default.cfg b/infra/config/generated/cq-usage/default.cfg
index 1f88cf9e..e44b6e5 100644
--- a/infra/config/generated/cq-usage/default.cfg
+++ b/infra/config/generated/cq-usage/default.cfg
@@ -68,6 +68,9 @@
         name: "chromium/try/lacros-amd64-generic-rel"
       }
       builders {
+        name: "chromium/try/lacros-arm-generic-rel"
+      }
+      builders {
         name: "chromium/try/linux-chromeos-compile-dbg"
       }
       builders {
diff --git a/infra/config/generated/cq-usage/full.cfg b/infra/config/generated/cq-usage/full.cfg
index 33fe9a8..652960c 100644
--- a/infra/config/generated/cq-usage/full.cfg
+++ b/infra/config/generated/cq-usage/full.cfg
@@ -315,6 +315,12 @@
         location_regexp_exclude: ".+/[+]/infra/config/.+"
       }
       builders {
+        name: "chromium/try/lacros-arm-generic-rel"
+        location_regexp: ".*"
+        location_regexp_exclude: ".+/[+]/docs/.+"
+        location_regexp_exclude: ".+/[+]/infra/config/.+"
+      }
+      builders {
         name: "chromium/try/linux-blink-rel"
         location_regexp: ".+/[+]/cc/.+"
         location_regexp: ".+/[+]/third_party/blink/renderer/core/paint/.+"
diff --git a/infra/config/subprojects/chromium/try.star b/infra/config/subprojects/chromium/try.star
index 5d72581d..b102fde 100644
--- a/infra/config/subprojects/chromium/try.star
+++ b/infra/config/subprojects/chromium/try.star
@@ -809,9 +809,7 @@
     name = "lacros-arm-generic-rel",
     builderless = not settings.is_main,
     main_list_view = "try",
-    tryjob = try_.job(
-        experiment_percentage = 100,
-    ),
+    tryjob = try_.job(),
     os = os.LINUX_BIONIC_REMOVE,
 )
 
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_as.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_as.xtb
index 18c623f4..f3e0e482 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_as.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_as.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">কিছুমান এড-অনৰ কাৰণে Chrome ক্ৰেশ্ব হয়। অনুগ্ৰহ কৰি ইয়াক আনইনষ্টল কৰক:</translation>
 <translation id="2178608107313874732">এই মুহূৰ্তত Chromiumএ আপোনাৰ কেমেৰা ব্যৱহাৰ কৰিব নোৱাৰে</translation>
 <translation id="2195025571279539885">আপুনি এই ছাইটবোৰৰ <ph name="LANGUAGE_NAME" /> পৃষ্ঠাবোৰ Chromiumএ অনুবাদ কৰি দিয়াটো বিচাৰিবনে?</translation>
+<translation id="2450140762465183767">এতিয়া আপুনি বাৰ্তা, নথি আৰু অন্য এপ্‌সমূহত লিংকসমূহত টিপিলে যিকোনো সময়তে Chromium ব্যৱহাৰ কৰিব পাৰে।</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> বাছনি কৰক</translation>
 <translation id="2567507405773541360">সৰল, সুৰক্ষিত আৰু পূৰ্বতকৈ ক্ষিপ্ৰ Chromiumৰ জৰিয়তে অধিক কাম কৰক</translation>
 <translation id="2590893390871230428">আপোনাৰ Chromium ডেটা ছিংক কৰক</translation>
 <translation id="2650312721222849884">আপুনি Chromium ব্যৱহাৰ কৰা সকলো ডিভাইচৰ পৰা নিজৰ টেবসমূহ চাবলৈ ছিংক অন কৰক</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">আপুনি ছাইন আউট কৰিলে Chromiumএ আপোনাৰ Google একাউণ্টত কোনো নতুন ডেটা ছিংক নকৰিব। পূৰ্বে ছিংক কৰা ডেটাখিনি একাউণ্টটোতে থাকে।</translation>
 <translation id="9022552996538154597">Chromiumত ছাইন ইন কৰক</translation>
 <translation id="9089354809943900324">Chromiumটো অতি পুৰণি</translation>
+<translation id="9110075932708282655">ডিফ’ল্ট হিচাপে Chromium ব্যৱহাৰ কৰক</translation>
 <translation id="921174536258924340">Chromiumএ সকলো পাছৱৰ্ড পৰীক্ষা কৰিব নোৱাৰিলে। কাইলৈ পুনৰ চেষ্টা কৰক অথবা <ph name="BEGIN_LINK" />আপোনাৰ Google একাউণ্টত পাছৱর্ডসমূহ পৰীক্ষা কৰক।<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb
index 4915805..d5006bd 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">কিছু অ্যাড-অনের কারণে Chromium ক্র্যাশ করতে পারে৷ দয়া করে আনইনস্টল করুন:</translation>
 <translation id="2178608107313874732">Chromium এই মুহূর্তে আপনার ক্যামেরা ব্যবহার করতে পারছে না</translation>
 <translation id="2195025571279539885">আপনি কি এরপর থেকে এই সাইটের <ph name="LANGUAGE_NAME" /> পৃষ্ঠাগুলিকে অনুবাদ করে দেওয়ার জন্য Chromium থেকে প্রম্পট পেতে চান?</translation>
+<translation id="2450140762465183767">এখন থেকে আপনি চাইলে মেসেজ, ডকুমেন্ট এবং অন্যান্য অ্যাপে থাকা লিঙ্কে ট্যাপ করে, যেকোনও সময় তা Chromium ব্রাউজারে খুলতে পারেন।</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> বেছে নিন</translation>
 <translation id="2567507405773541360">সহজ, সুরক্ষিত ও এখনও পর্যন্ত উপলভ্য সবচেয়ে দ্রুত ভার্সনের Chromium-এর সাহায্যে আরও কাজ করুন</translation>
 <translation id="2590893390871230428">আপনার Chromium ডেটা সিঙ্ক করুন</translation>
 <translation id="2650312721222849884">সিঙ্ক চালু করে রাখুন, যাতে আপনি যেখান থেকেই Chromium ব্যবহার করুন না কেন, সেখানেই আপনি নিজের ট্যাবগুলি দেখতে পারেন</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">আপনি সাইন-আউট করলে, Chromium আপনার Google অ্যাকাউন্টে কোনও নতুন ডেটা সিঙ্ক করবে না। আগে সিঙ্ক করা ডেটা অ্যাকাউন্টে থেকে যাবে।</translation>
 <translation id="9022552996538154597">Chromium-এ সাইন-ইন করুন</translation>
 <translation id="9089354809943900324">Chromium পুরানো হয়ে গেছে</translation>
+<translation id="9110075932708282655">ডিফল্ট হিসেবে Chromium ব্যবহার করুন</translation>
 <translation id="921174536258924340">Chromium সব পাসওয়ার্ড চেক করতে পারেনি। আগামীকাল আবার চেষ্টা করুন বা <ph name="BEGIN_LINK" />আপনার Google অ্যাকাউন্টের পাসওয়ার্ড চেক করুন।<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">Chromium রচয়িতা</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_gu.xtb
index 2eba476d..f93ebd4 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_gu.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">કેટલાક એડ-ઓનને કારણે Chromium ક્રૅશ થાય છે. કૃપા કરી આને અનઇન્સ્ટૉલ કરો:</translation>
 <translation id="2178608107313874732">Chromium, અત્યારે તમારા કૅમેરાનો ઉપયોગ કરી શકતું નથી</translation>
 <translation id="2195025571279539885">શું તમે Chromiumને આ સાઇટથી આગલી વખતે <ph name="LANGUAGE_NAME" /> પેજને અનુવાદ કરવાની ઓફર કરવા માગો છો?</translation>
+<translation id="2450140762465183767">હવે તમે જ્યારે પણ સંદેશા, દસ્તાવેજો અને અન્ય ઍપમાં લિંક પર ટૅપ કરો, ત્યારે Chromiumનો ઉપયોગ કરી શકશો.</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium <ph name="END_BOLD" />પસંદ કરો</translation>
 <translation id="2567507405773541360">અગાઉ ક્યારેય ન હતું એટલા સરળ, સુરક્ષિત અને વધુ ઝડપી Chromium વડે વધુ કાર્યો પૂર્ણ કરો</translation>
 <translation id="2590893390871230428">તમારો Chromium ડેટા સિંક કરો</translation>
 <translation id="2650312721222849884">તમે જ્યાંથી Chromiumનો ઉપયોગ કરો ત્યાંથી તમારા ટૅબ જોવા માટે, સિંક કરવાનું ચાલુ કરો</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">તમે સાઇન આઉટ કરશો, ત્યારે Chromium કોઈપણ નવા ડેટાને તમારા Google એકાઉન્ટ સાથે સિંક કરશે નહીં. અગાઉ સિંક કરેલો ડેટા એકાઉન્ટમાં રહે છે.</translation>
 <translation id="9022552996538154597">Chromium માં સાઇન ઇન કરો</translation>
 <translation id="9089354809943900324">Chromium જૂનું થઈ ગયું છે</translation>
+<translation id="9110075932708282655">ડિફૉલ્ટ રીતે Chromiumનો ઉપયોગ કરો</translation>
 <translation id="921174536258924340">Chromium બધા પાસવર્ડ ચેક કરી શક્યું નથી. આવતી કાલે ફરી પ્રયાસ કરજો અથવા <ph name="BEGIN_LINK" />તમારા Google એકાઉન્ટમાં પાસવર્ડ ચેક કરો.<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">Chromium લેખકો</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb
index a1b2cc7..008d184 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb
@@ -101,7 +101,7 @@
 <translation id="894437814105052438">साइन आउट करने पर, Chromium आपके Google खाते में नए डेटा को सिंक नहीं करेगा. पहले सिंक किया गया डेटा, खाते में सेव रहेगा.</translation>
 <translation id="9022552996538154597">क्रोमियम में साइन इन करें</translation>
 <translation id="9089354809943900324">क्रोमियम पुराना हो गया है</translation>
-<translation id="9110075932708282655">डिफ़ॉल्ट रूप से, Chromium का इस्तेमाल करें</translation>
+<translation id="9110075932708282655">Chromium को अपना डिफ़ॉल्ट ब्राउज़र बनाएं</translation>
 <translation id="921174536258924340">क्रोमियम सभी पासवर्ड की जांच नहीं कर सका. कल कोशिश करें या <ph name="BEGIN_LINK" />अपने Google खाते में सेव किए गए पासवर्ड की जांच करें.<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">क्रोमियम लेखक</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb
index bafbf43..586d39e0c 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">ಕೆಲವು ಆ್ಯಡ್-ಆನ್‌ಗಳು Chromium ಕ್ರ್ಯಾಶ್ ಆಗಲು ಕಾರಣವಾಗುತ್ತವೆ. ದಯವಿಟ್ಟು ಇವುಗಳನ್ನು ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ:</translation>
 <translation id="2178608107313874732">ನಿಮ್ಮ ಕ್ಯಾಮರಾವನ್ನು Chromium ಗೆ ಇದೀಗ ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
 <translation id="2195025571279539885">ಮುಂದಿನ ಬಾರಿ ಈ ಸೈಟ್‌ನಿಂದ <ph name="LANGUAGE_NAME" /> ಪುಟಗಳನ್ನು ಅನುವಾದಿಸಲು Chromium ಗೆ ಅವಕಾಶ ಕಲ್ಪಿಸಲು ನೀವು ಬಯಸುವಿರಾ?</translation>
+<translation id="2450140762465183767">ಸಂದೇಶಗಳು, ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳು ಮತ್ತು ಇತರ ಆ್ಯಪ್‌ಗಳಲ್ಲಿನ ಲಿಂಕ್‌ಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ Chromium ಅನ್ನು ಬಳಸಬಹುದು.</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="2567507405773541360">ಎಂದಿಗಿಂತಲೂ ಸುಲಭವಾಗಿ, ಸುರಕ್ಷಿತವಾಗಿ ಮತ್ತು ವೇಗವಾಗಿ Chromium ನಿಂದ ಇನ್ನಷ್ಟು ಕಾರ್ಯಗಳನ್ನು ಮಾಡಿ</translation>
 <translation id="2590893390871230428">ನಿಮ್ಮ Chromium ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಿ</translation>
 <translation id="2650312721222849884">ನೀವು Chromium ಅನ್ನು ಎಲ್ಲಿ ಬಳಸುತ್ತೀರೋ ಅಲ್ಲಿ ನಿಮ್ಮ ಟ್ಯಾಬ್‌ಗಳನ್ನು ನೋಡಲು, ಸಿಂಕ್ ಆನ್ ಮಾಡಿ</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">ನೀವು ಸೈನ್ ಔಟ್ ಮಾಡಿದಾಗ, Chromium ನಿಮ್ಮ Google ಖಾತೆಗೆ ಯಾವುದೇ ಹೊಸ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡುವುದಿಲ್ಲ. ಈ ಹಿಂದೆ ಸಿಂಕ್ ಮಾಡಿದ ಡೇಟಾವು ಖಾತೆಯಲ್ಲಿ ಉಳಿಯುತ್ತದೆ.</translation>
 <translation id="9022552996538154597">Chromium ಗೆ ಸೈನ್ ಇನ್ ಆಗಿ</translation>
 <translation id="9089354809943900324">Chromium ನ ಅವಧಿ ಮುಗಿದಿದೆ</translation>
+<translation id="9110075932708282655">ಡಿಫಾಲ್ಟ್ ಆಗಿ Chromium ಅನ್ನು ಬಳಸಿ</translation>
 <translation id="921174536258924340">ಎಲ್ಲಾ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು Chromium ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ನಾಳೆ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ <ph name="BEGIN_LINK" />ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">Chromium ಲೇಖಕರು</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_mr.xtb
index 51cfbee..4d628f47 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_mr.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">Chromium क्रॅश होण्याचे कारण काही ॲड-ऑन आहेत. कृपया ती अनइंस्टॉल करा:</translation>
 <translation id="2178608107313874732">Chromium आत्ता तुमचा कॅमेरा वापरू शकत नाही</translation>
 <translation id="2195025571279539885">Chromium ने या साइटवरून पुढील वेळी <ph name="LANGUAGE_NAME" /> पेज भाषांतरित करण्याची ऑफर द्यावी असे तुम्हाला वाटते?</translation>
+<translation id="2450140762465183767">तुम्ही आता कधीही मेसेज, दस्तऐवज आणि इतर अ‍ॅप्समधील लिंकवर टॅप करता तेव्हा, Chromium वापरू शकता.</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> निवडा</translation>
 <translation id="2567507405773541360">सोपे, सुरक्षित आणि पूर्वीपेक्षा अधिक जलद Chromium वापरून आणखी बरेच काही करा</translation>
 <translation id="2590893390871230428">तुमचा Chromium डेटा सिंक करा</translation>
 <translation id="2650312721222849884">तुम्ही जेथून Chromium वापरत असाल तेथून तुमचे टॅब पाहण्यासाठी, सिंक सुरू करा</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">तुम्ही साइन आउट करता तेव्हा, Chromium तुमच्या Google खाते मध्ये कोणताही नवीन डेटा सिंक करणार नाही. याआधी सिंक केलेला डेटा खात्यामध्ये राहील.</translation>
 <translation id="9022552996538154597">Chromium वर साइन इन करा</translation>
 <translation id="9089354809943900324">Chromium कालबाह्य आहे</translation>
+<translation id="9110075932708282655">बाय डीफॉल्ट Chromium वापरा</translation>
 <translation id="921174536258924340">Chromium ला सर्व पासवर्ड तपासता आले नाहीत. उद्या पुन्हा प्रयत्न करा किंवा <ph name="BEGIN_LINK" />तुमच्या Google खाते मध्ये पासवर्ड तपासा.<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">Chromium लेखक</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_or.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_or.xtb
index 1843535a..07ed260 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_or.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">କିଛି ଆଡ୍-ଅନ୍, Chromium କ୍ରାସ୍ ହେବାର କାରଣ ହୋଇପାରେ। ଦୟାକରି ଅନ୍‌ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ:</translation>
 <translation id="2178608107313874732">Chromium, ଆପଣଙ୍କର କ୍ୟାମେରାକୁ ବର୍ତ୍ତମାନ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ।</translation>
 <translation id="2195025571279539885">ଆପଣ କ’ଣ ଚାହୁଁଛନ୍ତି ଯେ Chromium ପରବର୍ତ୍ତୀ ସମୟରେ ଏହି ସାଇଟ୍‌ର <ph name="LANGUAGE_NAME" /> ପୃଷ୍ଠାଗୁଡ଼ିକର ଅନୁବାଦ କରିବା ଅଫର୍‌ ଦେଉ?</translation>
+<translation id="2450140762465183767">ବର୍ତ୍ତମାନ ଆପଣ ମେସେଜ୍, ଡକ୍ୟୁମେଣ୍ଟ ଓ ଅନ୍ୟ ଆପଗୁଡ଼ିକରେ ଥିବା ଲିଙ୍କରେ ଯେ କୌଣସି ସମୟରେ ଟାପ୍ କରି Chromium ବ୍ୟବହାର କରିପାରିବେ।</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> ଚୟନ କରନ୍ତୁ</translation>
 <translation id="2567507405773541360">ସରଳ, ସୁରକ୍ଷିତ ଏବଂ ପୂର୍ବ ଅପେକ୍ଷା-ଅଧିକ-ଦ୍ରୁତ Chromium ସହ ଅଧିକ କାର୍ଯ୍ୟ କରନ୍ତୁ</translation>
 <translation id="2590893390871230428">ଆପଣଙ୍କ Chromium ଡାଟା ସିଙ୍କ୍ କରନ୍ତୁ</translation>
 <translation id="2650312721222849884">ଆପଣ Chromium ବ୍ୟବହାର କରୁଥିବା ଯେ କୌଣସି ସ୍ଥାନରୁ ଆପଣଙ୍କ ଟାବଗୁଡ଼ିକ ଦେଖିବାକୁ, ସିଙ୍କ୍ ଚାଲୁ କରନ୍ତୁ</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">ଆପଣ ସାଇନ୍ ଆଉଟ୍ କଲେ, Chromium ଯେ କୌଣସି ନୂଆ ଡାଟାକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ ସହିତ ସିଙ୍କ କରିବ ନାହିଁ। ପୂର୍ବରୁ ସିଙ୍କ କରାଯାଇଥିବା ଡାଟା ଆକାଉଣ୍ଟରେ ରହିଥାଏ।</translation>
 <translation id="9022552996538154597">Chromiumରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
 <translation id="9089354809943900324">Chromiumର ସମୟସୀମା ଶେଷ ହୋଇଛି</translation>
+<translation id="9110075932708282655">Chromiumକୁ ଡିଫଲ୍ଟ ଭାବେ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="921174536258924340">Chromium ସମସ୍ତ ପାସୱାର୍ଡକୁ ଯାଞ୍ଚ କରିପାରିଲା ନାହିଁ। ଆସନ୍ତାକାଲି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ କିମ୍ବା <ph name="BEGIN_LINK" />ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ।<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">Chromium ଲେଖକ</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_pa.xtb
index 28d15b6e..7c30fb0 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_pa.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">ਕੁਝ ਐਡ-ਆਨ ਨਾਲ Chromium ਕ੍ਰੈਸ਼ ਹੋ ਜਾਂਦਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਅਣਸਥਾਪਤ ਕਰੋ:</translation>
 <translation id="2178608107313874732">Chromium ਇਸ ਸਮੇਂ ਤੁਹਾਡੇ ਕੈਮਰੇ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="2195025571279539885">ਕੀ ਤੁਸੀਂ ਚਾਹੋਗੇ ਕਿ Chromium ਅਗਲੀ ਵਾਰ ਇਸ ਸਾਈਟ ਦੇ <ph name="LANGUAGE_NAME" /> ਪੰਨਿਆਂ ਦਾ ਅਨੁਵਾਦ ਕਰਨ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰੇ?</translation>
+<translation id="2450140762465183767">ਤੁਸੀਂ ਹੁਣ ਸੁਨੇਹੇ, ਦਸਤਾਵੇਜ਼ ਅਤੇ ਹੋਰ ਐਪਾਂ ਵਿਚਲੇ ਲਿੰਕਾਂ 'ਤੇ ਟੈਪ ਕਰਕੇ ਕਿਸੇ ਵੇਲੇ ਵੀ Chromium ਵਰਤ ਸਕਦੇ ਹੋ।</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> ਚੁਣੋ</translation>
 <translation id="2567507405773541360">ਸਧਾਰਨ, ਸੁੱਰਖਿਅਤ, ਅਤੇ ਪਹਿਲਾਂ ਨਾਲੋਂ ਵੱਧ ਤੇਜ਼, Chromium ਨਾਲ ਹੋਰ ਬਹੁਤ ਕੁਝ ਕਰੋ</translation>
 <translation id="2590893390871230428">ਆਪਣੇ Chromium ਡਾਟੇ ਦਾ ਸਮਕਾਲੀਕਰਨ ਕਰੋ</translation>
 <translation id="2650312721222849884">ਜਿਸ ਡੀਵਾਈਸ 'ਤੇ ਵੀ ਤੁਸੀਂ Chromium ਵਰਤਦੇ ਹੋ, ਉੱਥੇ ਆਪਣੀਆਂ ਟੈਬਾਂ ਦੇਖਣ ਲਈ ਸਮਕਾਲੀਕਰਨ ਚਾਲੂ ਕਰੋ</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">ਜਦੋਂ ਤੁਸੀਂ ਸਾਈਨ-ਆਊਟ ਕਰਦੇ ਹੋ, ਤਾਂ Chromium ਕਿਸੇ ਨਵੇਂ ਡਾਟੇ ਦਾ ਸਮਕਾਲੀਕਰਨ ਤੁਹਾਡੇ Google ਖਾਤੇ ਨਾਲ ਨਹੀਂ ਕਰੇਗਾ। ਪਹਿਲਾਂ ਸਮਕਾਲੀਕਿਰਤ ਕੀਤਾ ਡਾਟਾ ਖਾਤੇ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ।</translation>
 <translation id="9022552996538154597">Chromium ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
 <translation id="9089354809943900324">Chromium ਪੁਰਾਣਾ ਹੈ</translation>
+<translation id="9110075932708282655">Chromium ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ 'ਤੇ ਵਰਤੋ</translation>
 <translation id="921174536258924340">Chromium ਸਾਰੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਕੱਲ੍ਹ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ <ph name="BEGIN_LINK" />ਆਪਣੇ Google ਖਾਤੇ ਵਿੱਚ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰੋ।<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ta.xtb
index acab94f..44da71e 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ta.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">சில செருகுநிரல்களால் Chromium சிதைவுக்குட்படுகிறது. பின்வருவனவற்றை நிறுவல் நீக்கவும்:</translation>
 <translation id="2178608107313874732">Chromium தற்போது உங்கள் கேமராவைப் பயன்படுத்த முடியாது</translation>
 <translation id="2195025571279539885">அடுத்த முறை இந்தத் தளத்தின் <ph name="LANGUAGE_NAME" /> பக்கங்களை மொழிபெயர்க்கவா என்று Chromium கேட்க வேண்டுமென விரும்புகிறீர்களா?</translation>
+<translation id="2450140762465183767">இனி எப்போது வேண்டுமானாலும் மெசேஜ்கள், ஆவணங்கள் மற்றும் பிற ஆப்ஸில் உள்ள இணைப்புகளை Chromiumமில் திறக்கலாம்.</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> உலாவியைத் தேர்ந்தெடுக்கவும்</translation>
 <translation id="2567507405773541360">எளிய, பாதுகாப்பான &amp; மிகவும் விரைவான Chromium மூலம் மேலும் பலவற்றைச் செய்திடுங்கள்</translation>
 <translation id="2590893390871230428">Chromium தரவை ஒத்திசை</translation>
 <translation id="2650312721222849884">நீங்கள் Chromiumமைப் பயன்படுத்தும் சாதனங்களில் உங்கள் தாவல்களைப் பார்க்க, ஒத்திசைவை இயக்கவும்</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">வெளியேறிவிட்டால் எந்தவொரு புதிய தரவையும் உங்கள் Google கணக்குடன் Chromium ஒத்திசைக்காது. ஏற்கெனவே ஒத்திசைக்கப்பட்ட தரவு கணக்கிலேயே இருக்கும்.</translation>
 <translation id="9022552996538154597">Chromium இல் உள்நுழைக</translation>
 <translation id="9089354809943900324">Chromium காலாவதியானது</translation>
+<translation id="9110075932708282655">Chromiumமை இயல்பு உலாவியாகப் பயன்படுத்துங்கள்</translation>
 <translation id="921174536258924340">Chromium உலாவியால் கடவுச்சொற்கள் அனைத்தையும் சரிபார்க்க முடியவில்லை. நாளை முயலவும் அல்லது <ph name="BEGIN_LINK" />உங்கள் Google கணக்கில் கடவுச்சொற்களைச் சரிபார்க்கவும்.<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">Chromium அங்கீகரிப்பாளர்கள்</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb
index be5399a..8983ba0 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">కొన్ని యాడ్-ఆన్‌లు Chromium క్రాష్ అయ్యేలా చేశాయి. దయచేసి వీటిని అన్‌ఇన్‌స్టాల్ చేయండి:</translation>
 <translation id="2178608107313874732">Chromium ప్రస్తుతం మీ కెమెరాను ఉపయోగించలేదు</translation>
 <translation id="2195025571279539885">ఈ సైట్‌లోని <ph name="LANGUAGE_NAME" /> పేజీలను మీరు తర్వాతిసారి సందర్శించినప్పుడు, వీటిని అనువదించే సదుపాయాన్ని Chromium అందించాలని కోరుకుంటున్నారా?</translation>
+<translation id="2450140762465183767">మెసేజ్‌లు, డాక్యుమెంట్‌లు, ఇతర యాప్‌లలో లింక్‌లను ట్యాప్ చేయడం ద్వారా మీరు ఎప్పుడైనా Chromiumను ఉపయోగించవచ్చు.</translation>
+<translation id="2478931088402984578"><ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" />ను ఎంచుకోండి</translation>
 <translation id="2567507405773541360">సరళమైన, సురక్షితమైన, మునుపటి కంటే వేగవంతమైన Chromiumతో మరింత ప్రభావవంతంగా పనులు చేసుకోండి</translation>
 <translation id="2590893390871230428">మీ Chromium డేటాను సింక్ చేయండి</translation>
 <translation id="2650312721222849884">మీరు Chromiumను ఎక్కడ ఉపయోగించినా, అక్కడి నుండి మీ ట్యాబ్‌లను చూసేందుకు, సింక్‌ను ఆన్ చేయండి</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">మీరు సైన్ అవుట్ చేసినప్పుడు, మీ Google ఖాతాకు ఎలాంటి కొత్త డేటాను Chromium సింక్ చేయదు. ఇంతకుముందు సింక్ చేయబడిన డేటా ఖాతాలో ఉండిపోతుంది.</translation>
 <translation id="9022552996538154597">Chromiumకు సైన్ ఇన్ చేయండి</translation>
 <translation id="9089354809943900324">Chromium కాలం చెల్లినది</translation>
+<translation id="9110075932708282655">ఆటోమేటిక్‌గా Chromiumను ఉపయోగించండి</translation>
 <translation id="921174536258924340">Chromiumకు అన్ని పాస్‌వర్డ్‌లను చెక్ చేయడం సాధ్యపడలేదు. రేపు మళ్లీ ట్రై చేయండి లేదా <ph name="BEGIN_LINK" />మీ Google ఖాతాలో పాస్‌వర్డ్‌లను చెక్ చేయండి.<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">Chromium రచయితలు</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ur.xtb
index d3fcceb..fa3702d 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ur.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">‏کچھ اضافے Chromium کے کریش ہونے کا سبب بنتے ہیں۔ براہ کرم اَن انسٹال کریں:</translation>
 <translation id="2178608107313874732">‏Chromium ابھی آپ کا کیمرا استعمال نہیں کر سکتا ہے</translation>
 <translation id="2195025571279539885">‏کیا آپ چاہیں گے کہ Chromium اگلی بار اس سائٹ سے <ph name="LANGUAGE_NAME" /> صفحات کا ترجمہ کرنے کی پیشکش کرے؟</translation>
+<translation id="2450140762465183767">‏اب جب بھی آپ پیغامات، دستاویزات اور دیگر ایپس میں لنکس کو تھپتھپائیں تو آپ Chromium استعمال کر سکتے ہیں۔</translation>
+<translation id="2478931088402984578">‏<ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /> کو منتخب کریں</translation>
 <translation id="2567507405773541360">‏ایک آسان، محفوظ اور پہلے سے کہیں زیادہ تیز Chromium کے ساتھ مزید کام کریں</translation>
 <translation id="2590893390871230428">‏اپنے Chromium ڈیٹا کو مطابقت پذیر بنائیں</translation>
 <translation id="2650312721222849884">‏اپنے ٹیبز کو دیکھنے کے لئے جہاں بھی آپ Chromium استعمال کرتے ہیں، سِنک کو آن کریں</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">‏آپ کے سائن آؤٹ کرنے پر، Chromium کوئی بھی نیا ڈیٹا آپ کے Google اکاؤنٹ کے ساتھ سِنک نہیں کرے گا۔ پہلے کا سِنک کردہ ڈیٹا اکاؤنٹ میں باقی رہے گا۔</translation>
 <translation id="9022552996538154597">‏Chromium میں سائن ان کریں</translation>
 <translation id="9089354809943900324">‏Chromium پرانا ہے</translation>
+<translation id="9110075932708282655">‏بطور ڈیفالٹ Chromium کا استعمال کریں</translation>
 <translation id="921174536258924340">‏Chromium سبھی پاس ورڈز چیک نہیں کر سکا۔ آئندہ کل دوبارہ کوشش کریں یا <ph name="BEGIN_LINK" />اپنے Google اکاؤنٹ میں پاس ورڈز چیک کریں۔<ph name="END_LINK" /></translation>
 <translation id="985602178874221306">‏Chromium مصنّفین</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_zh-CN.xtb
index 79af7fef..0c8c82c 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_zh-CN.xtb
@@ -22,6 +22,8 @@
 <translation id="2168108852149185974">部分插件会导致 Chromium 崩溃,请卸载这些插件:</translation>
 <translation id="2178608107313874732">Chromium 目前无法使用您的相机</translation>
 <translation id="2195025571279539885">下次访问这个网站时,您希望 Chromium 翻译其中的<ph name="LANGUAGE_NAME" />网页吗?</translation>
+<translation id="2450140762465183767">现在,每当点按消息、文档和其他应用中的链接时,您都可以使用 Chromium 打开链接。</translation>
+<translation id="2478931088402984578">选择 <ph name="BEGIN_BOLD" />Chromium<ph name="END_BOLD" /></translation>
 <translation id="2567507405773541360">借助比以前更简单、更安全、更快速的 Chromium 提高工作效率</translation>
 <translation id="2590893390871230428">同步 Chromium 数据</translation>
 <translation id="2650312721222849884">要查看您在其他设备上用 Chromium 打开的标签页,请开启同步功能</translation>
@@ -100,6 +102,7 @@
 <translation id="894437814105052438">当您退出登录后,Chromium 不会将任何新数据同步到您的 Google 帐号。先前已同步的数据将会保留在帐号中。</translation>
 <translation id="9022552996538154597">登录 Chromium</translation>
 <translation id="9089354809943900324">Chromium版本太旧</translation>
+<translation id="9110075932708282655">默认使用 Chromium</translation>
 <translation id="921174536258924340">Chromium 无法检查所有密码。请明天再试,或者<ph name="BEGIN_LINK" />检查您的 Google 帐号中的密码<ph name="END_LINK" />。</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_as.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_as.xtb
index cb49b67..024234bb 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_as.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_as.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chromeএ সকলো পাছৱৰ্ড পৰীক্ষা কৰিব নোৱাৰিলে। কাইলৈ পুনৰ চেষ্টা কৰক।</translation>
 <translation id="2869959624320573933">Chromeত ছাইন-ইন কৰক</translation>
 <translation id="2919738076569633423">আপুনি Chrome ব্যৱহাৰ কৰি <ph name="BEGIN_LINK_TOS" />সেৱাৰ চৰ্তাৱলী<ph name="END_LINK_TOS" />ত সন্মত হৈছে।</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> বাছনি কৰক</translation>
 <translation id="3030414234702425231">আপুনি যিহেতু <ph name="SIGNOUT_MANAGED_DOMAIN" />এ পৰিচালনা কৰা এটা একাউণ্টৰ পৰা ছাইন আউট কৰি আছে আপোনাৰ Chrome ডেটা এই ডিভাইচটোৰ পৰা মচা হ’ব। আপোনাৰ ডেটা নিজৰ Google একাউণ্টত থাকিব।</translation>
 <translation id="3167189358072330585">আপোনাৰ একাউণ্টে Google Chromeত কাম নকৰে। ছাইন ইন কৰিবলৈ অনুগ্ৰহ কৰি আপোনাৰ ড'মেইনৰ প্ৰশাসকৰ সৈতে যোগাযোগ কৰক বা সচাৰচৰ ব্যৱহাৰ কৰা এটা Google Account ব্যৱহাৰ কৰক।</translation>
 <translation id="3173834708294760622">Google Chrome পৃষ্ঠা</translation>
@@ -60,6 +61,7 @@
 <translation id="5716154293141027663">আপুনি অন্য এপত লিংকসমূহত টিপিলে যিকোনো সময়তে Chrome খোলক</translation>
 <translation id="5854621639439811139">Chrome ব্যৱহাৰৰ কীটিপ। Back, Forward আৰু Search দৰে কিছুমান বুটাম এতিয়া আপোনাৰ স্ক্ৰীণত আছে।</translation>
 <translation id="5876773482963502140">আপুনি যদি Chromeক আপোনাৰ অৱস্থানৰ বিষয়ে জানিবলৈ দিয়ে, Chromeএ সেয়া আপুনি অনুমতি দিয়া সকলো ছাইটলৈ পঠিয়ায়। ছাইটসমূহৰ আপোনাক ওচৰ-পাজৰৰ দোকান অথবা বাতৰিৰ দৰে স্থানীয় তথ্য দেখুৱাবলগীয়া থাকিলে সেইসমূহে আপোনাক অৱস্থানৰ বিষয়ে সুধিব পাৰে।</translation>
+<translation id="6054613632208573261">ডিফ’ল্ট হিচাপে Chrome ব্যৱহাৰ কৰক</translation>
 <translation id="6063091872902370735">Chromeত ছাইন ইন কৰিবলৈ দিয়ক</translation>
 <translation id="6181930887571472871">Chromeলৈ সলনি কৰক</translation>
 <translation id="6238746320622508509">Chromeক আপোনাৰ ইনক’গনিট’ টেবসমূহ লক কৰিবলৈ দিয়ক।</translation>
@@ -85,6 +87,7 @@
 <translation id="7626032353295482388">Chromeলৈ স্বাগতম</translation>
 <translation id="7662994914830945754">আপুনি Chrome ব্যৱহাৰ কৰা সকলো ডিভাইচৰ পৰা নিজৰ টেবসমূহ চাবলৈ ছাইন ইন কৰক আৰু ছিংক অন কৰক</translation>
 <translation id="766361182512894255">কোনো ডেটা উলংঘনৰ ফলত আপোনাৰ পাছৱৰ্ডটো ফাদিল হৈছে। Chromeএ পাছৱৰ্ডটো এতিয়াই সলনি কৰাটো চুপাৰিছ কৰে।</translation>
+<translation id="7693590760643069321">এতিয়া আপুনি বাৰ্তা, নথি আৰু অন্য এপ্‌সমূহত থকা কোনো লিংকত টিপিলে যিকোনো সময়তে Chrome ব্যৱহাৰ কৰিব পাৰে।</translation>
 <translation id="7698568245838009292">Chromeএ কেমেৰাটো এক্সেছ কৰিবলৈ বিচাৰে</translation>
 <translation id="7855730255114109580">Google Chrome একেবাৰে শেহতীয়া অৱস্থাত আছে</translation>
 <translation id="8022947259858476807">লিংক খুলিবলৈ, ৱিজেটৰ পৰা সন্ধান কৰিবলৈ আৰু অন্য এপত পাছৱৰ্ড স্বয়ংক্ৰিয়ভাৱে পূৰ কৰিবলৈ ডিফ’ল্ট হিচাপে Chrome ব্যৱহাৰ কৰক</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb
index 8ccbaba..0a1572f 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chrome সব পাসওয়ার্ড চেক করতে পারেনি। আগামীকাল আবার চেষ্টা করে দেখুন।</translation>
 <translation id="2869959624320573933">Chrome-এ সাইন-ইন করুন</translation>
 <translation id="2919738076569633423">Chrome ব্যবহার করে আপনি <ph name="BEGIN_LINK_TOS" />পরিষেবার শর্তাবলী<ph name="END_LINK_TOS" />তে সম্মতি জানাচ্ছেন।</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> বেছে নিন</translation>
 <translation id="3030414234702425231"><ph name="SIGNOUT_MANAGED_DOMAIN" /> দ্বারা ম্যানেজ করা একটি অ্যাকাউন্ট থেকে আপনি সাইন-আউট করছেন বলে, এই ডিভাইস থেকে আপনার Chrome ডেটা মুছে যাবে। আপনার Google অ্যাকাউন্টে এই ডেটা থেকে যাবে।</translation>
 <translation id="3167189358072330585">আপনার অ্যাকাউন্ট Google Chrome-এ কাজ করে না৷ সাইন-ইন করার জন্য আপনার ডোমেন অ্যাডমিনিস্ট্রেটরের সঙ্গে যোগাযোগ করুন বা কোন সাধারণ Google অ্যাকাউন্ট ব্যবহার করুন৷</translation>
 <translation id="3173834708294760622">Google Chrome পৃষ্ঠা</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">অন্যান্য অ্যাপ থেকে লিঙ্কে ট্যাপ করে আপনি যেকোনও সময় Chrome খুলতে পারবেন</translation>
 <translation id="5854621639439811139">Chrome টিপ। কিছু বোতাম এখন আপনার স্ক্রিনে নিচের দিকে রয়েছে যেমন, ব্যাক, ফরওয়ার্ড এবং সার্চ বোতাম।</translation>
 <translation id="5876773482963502140">আপনি Chrome-কে আপনার লোকেশন জানার অনুমতি দিলে আপনি যেসব সাইটকে লোকেশন অ্যাক্সেস করার অনুমতি দেবেন, Chrome সেই সব সাইটে এই তথ্য পাঠিয়ে দেবে। কাছাকাছি দোকান অথবা সংশ্লিষ্ট এলাকার খবরের মতো স্থানীয় তথ্য আপনাকে দেখাতে হলে, কোনও সাইট আপনার লোকেশন জানতে চাইতে পারে।</translation>
+<translation id="6054613632208573261">ডিফল্ট হিসেবে Chrome ব্যবহার করুন</translation>
 <translation id="6063091872902370735">Chrome-এ সাইন-ইন করার অনুমতি দিন</translation>
 <translation id="6181930887571472871">Chrome-এ পাল্টান</translation>
 <translation id="6238746320622508509">Chrome-কে আপনার ছদ্মবেশী ট্যাব লক করার অনুমতি দিন।</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chrome এ স্বাগতম</translation>
 <translation id="7662994914830945754">একাধিক ডিভাইসে সাইন-ইন করে থাকুন ও সিঙ্ক চালু করে রাখুন, যাতে আপনি যেখান থেকেই Chrome ব্যবহার করুন না কেন, সেখানেই আপনি নিজের ট্যাবগুলি দেখতে পারেন</translation>
 <translation id="766361182512894255">আপনার পাসওয়ার্ড কোনও হ্যাক হওয়া ডেটাবেসে প্রকাশ করা হয়েছে। Chrome-এর সাজেশন অনুযায়ী এখনই আপনার পাসওয়ার্ড পরিবর্তন করা উচিত।</translation>
+<translation id="7693590760643069321">এখন থেকে আপনি চাইলে মেসেজ, ডকুমেন্ট এবং অন্যান্য অ্যাপে থাকা লিঙ্কে ট্যাপ করে তা যেকোনও সময় Chrome ব্রাউজারে খুলতে পারেন।</translation>
 <translation id="7698568245838009292">Chrome ক্যামেরা অ্যাক্সেস করতে চাইবে</translation>
 <translation id="7855730255114109580">Google Chrome আপ টু ডেট আছে</translation>
 <translation id="8022947259858476807">লিঙ্ক খুলতে, উইজেট থেকে সার্চ করতে এবং অন্যান্য অ্যাপে পাসওয়ার্ড অটোফিল করতে ডিফল্ট হিসেবে Chrome ব্যবহার করুন</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_eu.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_eu.xtb
index f4d7ae1..73b33f5 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_eu.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_eu.xtb
@@ -28,7 +28,7 @@
 <translation id="2732745070297234559">Chrome-k ezin izan ditu egiaztatu pasahitz guztiak. Saiatu berriro bihar.</translation>
 <translation id="2869959624320573933">Hasi saioa Chrome-n</translation>
 <translation id="2919738076569633423">Chrome erabiltzen baduzu, onartu egingo dituzu <ph name="BEGIN_LINK_TOS" />Zerbitzu-baldintzak<ph name="END_LINK_TOS" />.</translation>
-<translation id="2957447865124070833">Hautatu <ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /></translation>
+<translation id="2957447865124070833">Hautatu <ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" />.</translation>
 <translation id="3030414234702425231"><ph name="SIGNOUT_MANAGED_DOMAIN" /> domeinuak kudeatutako kontu baten saioa amaituko duzunez, Chrome-n dituzun datuak ezabatu egingo dira gailu honetatik. Hala ere, datu horiek Google-ko kontuan egoten jarraituko dute.</translation>
 <translation id="3167189358072330585">Kontua ez dabil Google Chrome-n. Jarri harremanetan domeinuaren administratzailearekin edo erabili ohiko Google-ko kontu bat saioa hasteko.</translation>
 <translation id="3173834708294760622">Google Chrome-ko orri bat</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb
index 8d17cdf..16f6081 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_gu.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chrome બધા પાસવર્ડ ચેક કરી શક્યું નથી. આવતી કાલે ફરી પ્રયાસ કરો.</translation>
 <translation id="2869959624320573933">Chromeમાં સાઇન ઇન કરો</translation>
 <translation id="2919738076569633423">Chromeનો ઉપયોગ કરીને, તમે તેની <ph name="BEGIN_LINK_TOS" />સેવાની શરતો<ph name="END_LINK_TOS" /> સાથે સંમત થાઓ છો.</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome <ph name="END_BOLD" />પસંદ કરો</translation>
 <translation id="3030414234702425231">કારણ કે તમે <ph name="SIGNOUT_MANAGED_DOMAIN" /> દ્વારા મેનેજ કરવામાં આવેલ એકાઉન્ટમાંથી સાઇન આઉટ કરી રહ્યાં છો, આ ડિવાઇસમાંથી તમારા Chrome ડેટા ડિલીટ થઈ જશે. તમારો ડેટા તમારા Google એકાઉન્ટમાં જળવાઈ રહેશે.</translation>
 <translation id="3167189358072330585">તમારું એકાઉન્ટ, Google Chrome પર કાર્ય કરતું નથી. કૃપા કરીને તમારા ડોમેન એડમિનનો સંપર્ક કરો અથવા સાઇન ઇન કરવા માટે નિયમિત Google એકાઉન્ટનો ઉપયોગ કરો.</translation>
 <translation id="3173834708294760622">Google Chrome પેજ</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">કોઈપણ સમયે તમે અન્ય ઍપમાં લિંક પર ટૅપ કરો ત્યારે Chrome ખૂલશે</translation>
 <translation id="5854621639439811139">Chrome ટિપ. પાછળ, ફૉર્વર્ડ અને શોધ જેવાં કેટલાક બટનો હવે તમારી સ્ક્રીનના તળિયે છે.</translation>
 <translation id="5876773482963502140">જો તમે Chromeને તમારું સ્થાન જાણવાની મંજૂરી આપો, તો Chrome તમે જે પણ સાઇટને મંજૂરી આપશો, તેને તેની માહિતી મોકલે છે. જ્યારે સાઇટ પાસે તમને બતાવવા માટે નજીકની દુકાનો અથવા સમાચાર જેવી કોઈ સ્થાનિક માહિતી હોય, ત્યારે સાઇટ તમારા સ્થાન માટે પૂછી શકે છે.</translation>
+<translation id="6054613632208573261">ડિફૉલ્ટ તરીકે Chromeનો ઉપયોગ કરો</translation>
 <translation id="6063091872902370735">Chromeમાં સાઇન-ઇનની મંજૂરી આપો</translation>
 <translation id="6181930887571472871">Chrome પર સ્વિચ કરો</translation>
 <translation id="6238746320622508509">Chromeને તમારી છૂપી ટૅબ લૉક કરવા દો.</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chrome પર આપનું સ્વાગત છે</translation>
 <translation id="7662994914830945754">તમે જ્યાંથી Chromeનો ઉપયોગ કરો ત્યાંથી તમારી ટૅબ જોવા માટે, સાઇન ઇન કરો અને સિંક કરવાનું ચાલુ કરો</translation>
 <translation id="766361182512894255">ડેટા ઉલ્લંઘનમાં તમારો પાસવર્ડ જાહેર થઈ ગયો હતો. Chrome હમણાં જ પાસવર્ડ બદલવાનો સુઝાવ આપે છે.</translation>
+<translation id="7693590760643069321">હવે તમે જ્યારે પણ સંદેશા, દસ્તાવેજો અને અન્ય ઍપમાં લિંક પર ટૅપ કરો, ત્યારે Chromeનો ઉપયોગ કરી શકશો.</translation>
 <translation id="7698568245838009292">Chromeને કૅમેરાનો ઍક્સેસ જોઈશે</translation>
 <translation id="7855730255114109580">Google Chrome અપ ટૂ ડેટ છે</translation>
 <translation id="8022947259858476807">લિંક ખોલવા, વિજેટથી શોધવા અને અન્ય ઍપમાં પાસવર્ડ ઑટોમૅટિક રીતે ભરવાની સુવિધા માટે ડિફૉલ્ટ તરીકે Chromeનો ઉપયોગ કરો</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb
index 6a597e6..0b632f63 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb
@@ -62,7 +62,7 @@
 <translation id="5716154293141027663">जब भी आप अन्य ऐप्लिकेशन में लिंक पर क्लिक करें, तो उसे Chrome में खोलें</translation>
 <translation id="5854621639439811139">Chrome के लिए सलाह. 'वापस जाएं', 'आगे जाएं' और 'खोजें' जैसे कुछ बटन अब आपकी स्क्रीन के सबसे नीचे मिलेंगे.</translation>
 <translation id="5876773482963502140">अगर आप Chrome को अपनी जगह की जानकारी इस्तेमाल करने की अनुमति देते हैं, तो वह इसे उन साइटों को भेजता है जिन्हें आप अनुमति देते हैं. जब साइटों के पास आपको दिखाने के लिए स्थानीय जानकारी होती है, तब वे आपकी जगह की जानकारी मांग सकती हैं. स्थानीय जानकारी में, आस-पास की दुकानों की जानकारी या खबरें वगैरह शामिल होती हैं.</translation>
-<translation id="6054613632208573261">डिफ़ॉल्ट रूप से, Chrome का इस्तेमाल करें</translation>
+<translation id="6054613632208573261">Chrome को अपना डिफ़ॉल्ट ब्राउज़र बनाएं</translation>
 <translation id="6063091872902370735">Chrome में साइन-इन करने की अनुमति दें</translation>
 <translation id="6181930887571472871">Chrome पर स्विच करें</translation>
 <translation id="6238746320622508509">Chrome को आपके गुप्त टैब लॉक करने दें.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_kn.xtb
index 6d3f4b2..0060e79 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_kn.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">ಎಲ್ಲಾ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು Chrome ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ನಾಳೆ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="2869959624320573933">Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ</translation>
 <translation id="2919738076569633423">Chrome ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ನೀವು <ph name="BEGIN_LINK_TOS" />ಸೇವಾ ನಿಯಮಗಳಿಗೆ<ph name="END_LINK_TOS" /> ಸಮ್ಮತಿಸುತ್ತೀರಿ.</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="3030414234702425231"><ph name="SIGNOUT_MANAGED_DOMAIN" /> ಮೂಲಕ ನಿರ್ವಹಿಸಲ್ಪಡುವ ಖಾತೆಯಿಂದ ನೀವು ಸೈನ್ ಔಟ್ ಮಾಡುತ್ತಿರುವ ಕಾರಣ, ನಿಮ್ಮ Chrome ಡೇಟಾವನ್ನು ಈ ಸಾಧನದಿಂದ ಅಳಿಸಲಾಗುತ್ತದೆ. ನಿಮ್ಮ ಡೇಟಾ ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿಯೇ ಇರುತ್ತದೆ.</translation>
 <translation id="3167189358072330585">ನಿಮ್ಮ ಖಾತೆಯು Google Chrome ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಡೊಮೇನ್ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ ಅಥವಾ ಸೈನ್ ಇನ್ ಮಾಡಲು ನಿಯಮಿತ Google ಖಾತೆಯನ್ನು ಬಳಸಿ.</translation>
 <translation id="3173834708294760622">Google Chrome ಪುಟ</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">ಇತರ ಆ್ಯಪ್‌ಗಳ ಲಿಂಕ್‌ಗಳನ್ನು ನೀವು ಟ್ಯಾಪ್ ಮಾಡಿದಾಗಲೆಲ್ಲಾ Chrome ತೆರೆಯಿರಿ</translation>
 <translation id="5854621639439811139">Chrome ಸಲಹೆ. ಹಿಂದೆ, ಮುಂದೆ ಮತ್ತು ಹುಡುಕಾಟದಂತಹ ಕೆಲವು ಬಟನ್‌ಗಳು ಈಗ ನಿಮ್ಮ ಪರದೆಯ ಕೆಳಭಾಗದಲ್ಲಿವೆ.</translation>
 <translation id="5876773482963502140">ನೀವು Chrome ಗೆ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ತಿಳಿದುಕೊಳ್ಳಲು ಅನುಮತಿಸಿದರೆ, Chrome ಅದನ್ನು ನೀವು ಅನುಮತಿಸುವ ಯಾವುದೇ ಸೈಟ್‌ಗಳಿಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಸೈಟ್‌ಗಳ ಬಳಿ, ನಿಮಗೆ ತೋರಿಸಲು ಸಮೀಪದಲ್ಲಿರುವ ಅಂಗಡಿಗಳು ಅಥವಾ ಸುದ್ದಿಗಳಂತಹ ಸ್ಥಳೀಯ ಮಾಹಿತಿ ಲಭ್ಯವಿರುವಾಗ, ಅವು ನಿಮ್ಮ ಸ್ಥಳದ ಮಾಹಿತಿಯನ್ನು ಕೇಳಬಹುದು.</translation>
+<translation id="6054613632208573261">ಡಿಫಾಲ್ಟ್ ಆಗಿ Chrome ಅನ್ನು ಬಳಸಿ</translation>
 <translation id="6063091872902370735">Chrome ಸೈನ್-ಇನ್ ಅನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="6181930887571472871">Chrome ಗೆ ಬದಲಿಸಿ</translation>
 <translation id="6238746320622508509">ನಿಮ್ಮ ಅಜ್ಞಾತ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಲಾಕ್ ಮಾಡಲು Chrome ಗೆ ಅನುಮತಿಸಿ.</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chrome ಗೆ ಸ್ವಾಗತ</translation>
 <translation id="7662994914830945754">ನೀವು Chrome ಅನ್ನು ಎಲ್ಲಿ ಬಳಸುತ್ತೀರೋ ಅಲ್ಲಿ ನಿಮ್ಮ ಟ್ಯಾಬ್‌ಗಳನ್ನು ನೋಡಲು, ಸೈನ್ ಇನ್ ಮಾಡಿ ಮತ್ತು ಸಿಂಕ್ ಅನ್ನು ಆನ್ ಮಾಡಿ</translation>
 <translation id="766361182512894255">ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಒಂದು ಡೇಟಾ ಉಲ್ಲಂಘನೆಯ ಸಂದರ್ಭದಲ್ಲಿ ಬಹಿರಂಗಗೊಂಡಿದೆ. ಈಗಲೇ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬದಲಾಯಿಸಲು Chrome ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ.</translation>
+<translation id="7693590760643069321">ಸಂದೇಶಗಳು, ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳು ಮತ್ತು ಇತರ ಆ್ಯಪ್‌ಗಳಲ್ಲಿನ ಲಿಂಕ್‌ಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ Chrome ಅನ್ನು ಬಳಸಬಹುದು.</translation>
 <translation id="7698568245838009292">ಕ್ಯಾಮರಾವನ್ನು ಪ್ರವೇಶಿಸಲು Chrome ಬಯಸುತ್ತದೆ</translation>
 <translation id="7855730255114109580">Google Chrome ಅನ್ನು ಅಪ್‌ ಟು ಡೇಟ್‌ ಆಗಿದೆ</translation>
 <translation id="8022947259858476807">ಲಿಂಕ್‌ಗಳನ್ನು ತೆರೆಯಲು, ವಿಜೆಟ್‌ಗಳಿಂದ ಹುಡುಕಲು ಮತ್ತು ಇತರ ಆ್ಯಪ್‌‌ಗಳಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಭರ್ತಿ ಮಾಡಲು ಡೀಫಾಲ್ಟ್ ಆಗಿ Chrome ಬಳಸಿ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb
index 4ff4fc8..92193e9 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chrome ला सर्व पासवर्ड तपासता आले नाहीत. उद्या पुन्हा प्रयत्न करा.</translation>
 <translation id="2869959624320573933">Chrome वर साइन इन करा</translation>
 <translation id="2919738076569633423">Chrome वापरून, तुम्ही <ph name="BEGIN_LINK_TOS" />सेवा अटी<ph name="END_LINK_TOS" /> यांना सहमती दर्शवता.</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> निवडा</translation>
 <translation id="3030414234702425231">तुम्ही <ph name="SIGNOUT_MANAGED_DOMAIN" /> द्वारे व्यवस्थापित केलेल्या खात्यातून साइन आउट केले आहे, तुमचा Chrom डेटा या डिव्हाइसवरून हटवला जाईल. तुमचा डेटा तुमच्या Google खाते मध्ये असेल</translation>
 <translation id="3167189358072330585">तुमचे खाते Google Chrome वर काम करत नाही. कृपया तुमच्या डोमेन ॲडमिनिस्ट्रेटरशी संपर्क साधा किंवा साइन इन करण्यासाठी एक नियमित Google खाते वापरा.</translation>
 <translation id="3173834708294760622">Google Chrome पेज</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">तुम्ही इतर अ‍ॅप्सवरील लिंकवर जेव्हा टॅप करता तेव्हा Chrome उघडा</translation>
 <translation id="5854621639439811139">Chrome टीप. काही बटणे आता तुमच्या स्क्रीनच्या तळाशी आहेत, जसे की मागे, पुढे आणि शोध.</translation>
 <translation id="5876773482963502140">तुम्ही Chrome तुमचे स्थान जाणून घेण्याची परवानगी दिल्यास, Chrome हे तुम्ही अनुमती दिलेल्या कोणत्याही साइटला ते पाठवते. साइटकडे तुम्हाला दाखवण्यासाठी जवळपासची दुकाने किंवा बातम्या यांसारखी स्थानिक माहिती असल्यास, त्या कदाचित तुमचे स्थान मागू शकतात.</translation>
+<translation id="6054613632208573261">बाय डीफॉल्ट Chrome वापरा</translation>
 <translation id="6063091872902370735">Chrome मध्ये साइन-इन करण्यासाठी अनुमती द्या</translation>
 <translation id="6181930887571472871">Chrome वर स्विच करा</translation>
 <translation id="6238746320622508509">Chrome ला तुमचे गुप्त टॅब लॉक करू द्या.</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chrome मध्ये स्वागत आहे</translation>
 <translation id="7662994914830945754">तुम्ही जेथून Chrome वापरत असाल तेथून तुमचे टॅब पाहण्यासाठी, साइन इन करा आणि सिंक सुरू करा</translation>
 <translation id="766361182512894255">तुमचा पासवर्ड डेटा भंगामध्ये उघड झाला होता. Chrome आता पासवर्ड बदलण्याची शिफारस करते.</translation>
+<translation id="7693590760643069321">तुम्ही आता कधीही मेसेज, दस्तऐवज आणि इतर अ‍ॅप्समधील लिंकवर टॅप करता तेव्हा, Chrome वापरू शकता.</translation>
 <translation id="7698568245838009292">Chrome ला कॅमेरा ॲक्सेस करायचा आहे</translation>
 <translation id="7855730255114109580">Google Chrome अपडेट झाले आहे</translation>
 <translation id="8022947259858476807">लिंक उघडण्यासाठी, विजेटमध्ये शोधण्यासाठी आणि इतर ॲप्समध्ये पासवर्ड ऑटोफिल करण्यासाठी बाय डीफॉल्ट Chrome वापरा</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb
index 81cf61b..a436802 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chrome ସମସ୍ତ ପାସୱାର୍ଡକୁ ଯାଞ୍ଚ କରିପାରିଲା ନାହିଁ। ଆସନ୍ତାକାଲି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="2869959624320573933">Chromeରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
 <translation id="2919738076569633423">Chrome ବ୍ୟବହାର କରି, ଆପଣ <ph name="BEGIN_LINK_TOS" />ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_LINK_TOS" />ରେ ସମ୍ମତ ହୁଅନ୍ତି।</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> ଚୟନ କରନ୍ତୁ</translation>
 <translation id="3030414234702425231">ଯେହେତୁ ଆପଣ <ph name="SIGNOUT_MANAGED_DOMAIN" />ଙ୍କ ଦ୍ଵାରା ପରିଚାଳିତ ଏକ ଆକାଉଣ୍ଟରୁ ସାଇନ୍ ଆଉଟ୍ କରୁଛନ୍ତି, ଏହି ଡିଭାଇସ୍‌ରୁ ଆପଣଙ୍କର Chrome ଡାଟା ଡିଲିଟ୍ କରାଯିବ। ଆପଣଙ୍କର ଡାଟା ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ରହିବ।</translation>
 <translation id="3167189358072330585">ଆପଣଙ୍କ ଆକାଉଣ୍ଟ Google Chromeରେ କାର୍ଯ୍ୟ କରେ ନାହିଁ। ଦୟାକରି ଆପଣଙ୍କ ଡୋମେନ୍ ବ୍ୟବସ୍ଥାପକଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ କିମ୍ବା ସାଇନ୍ ଇନ୍ କରିବା ପାଇଁ ଏକ ନିୟମିତ Google ଆକାଉଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ।</translation>
 <translation id="3173834708294760622">Google Chrome ପୃଷ୍ଠା</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">ଆପଣ ଅନ୍ୟ ଆପଗୁଡ଼ିକରେ ଥିବା ଲିଙ୍କରେ ଯେ କୌଣସି ସମୟରେ ଟାପ୍ କରି Chrome ଖୋଲନ୍ତୁ</translation>
 <translation id="5854621639439811139">Chrome କୂଚନା। ବ୍ୟାକ୍, ଫର୍‌ୱର୍ଡ, ଏବଂ ସର୍ଚ୍ଚ ଭଳି କିଛି ବଟନ୍ ବର୍ତ୍ତମାନ ଆପଣଙ୍କ ସ୍କ୍ରିନ୍‌ର ତଳଭାଗରେ ଅଛି।</translation>
 <translation id="5876773482963502140">ଯଦି ଆପଣ Chromeକୁ ଆପଣଙ୍କ ଲୋକେସନ୍ ଜାଣିବାକୁ ଅନୁମତି ଦିଅନ୍ତି ତେବେ Chrome ଏହାକୁ, ଆପଣ ଅନୁମତି ଦେଇଥିବା ଯେ କୌଣସି ସାଇଟକୁ ପଠାଏ। ଯେତେବେଳେ ସାଇଟଗୁଡ଼ିକ ପାଖରେ ଆପଣଙ୍କୁ ଦେଖାଇବା ପାଇଁ ଆଖପାଖର ଦୋକାନ କିମ୍ବା ସମାଚାର ପରି ସ୍ଥାନୀୟ ସୂଚନା ଥାଏ, ସେତେବେଳେ ସେଗୁଡ଼ିକ ଆପଣଙ୍କ ଲୋକେସନ୍ ବିଷୟରେ ପଚାରିପାରେ।</translation>
+<translation id="6054613632208573261">Chromeକୁ ଡିଫଲ୍ଟ ଭାବେ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="6063091872902370735">Chromeରେ ସାଇନ୍-ଇନ୍ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ</translation>
 <translation id="6181930887571472871">Chromeକୁ ସ୍ୱିଚ୍ କରନ୍ତୁ</translation>
 <translation id="6238746320622508509">Chromeକୁ ଆପଣଙ୍କ ଇନକଗ୍ନିଟୋ ଟାବଗୁଡ଼ିକୁ ଲକ୍ କରିବାକୁ ଦିଅନ୍ତୁ।</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chromeକୁ ସ୍ୱାଗତ୍‌</translation>
 <translation id="7662994914830945754">ଆପଣ Chrome ବ୍ୟବହାର କରୁଥିବା ଯେ କୌଣସି ସ୍ଥାନରୁ ଆପଣଙ୍କ ଟାବଗୁଡ଼ିକ ଦେଖିବାକୁ, ସାଇନ୍ ଇନ୍ କରି ସିଙ୍କ୍ ଚାଲୁ କରନ୍ତୁ</translation>
 <translation id="766361182512894255">ଏକ ଡାଟା ଉଲ୍ଲଙ୍ଘନ ଯୋଗୁଁ ଆପଣଙ୍କ ପାସୱାର୍ଡଟି ଚୋରି ହୋଇଯାଇଛି। Chrome ବର୍ତ୍ତମାନ ପାସୱାର୍ଡକୁ ବଦଳାଇବା ପାଇଁ ସୁପାରିଶ କରୁଛି।</translation>
+<translation id="7693590760643069321">ବର୍ତ୍ତମାନ ଆପଣ ମେସେଜ୍, ଡକ୍ୟୁମେଣ୍ଟ ଓ ଅନ୍ୟ ଆପଗୁଡ଼ିକରେ ଥିବା ଲିଙ୍କରେ ଯେ କୌଣସି ସମୟରେ ଟାପ୍ କରି Chrome ବ୍ୟବହାର କରିପାରିବେ।</translation>
 <translation id="7698568245838009292">Chrome କ୍ୟାମେରାକୁ ଆକ୍ସେସ୍ କରିବାକୁ ଚାହୁଁଛି</translation>
 <translation id="7855730255114109580">Google Chrome ଅପ୍-ଟୁ-ଡେଟ୍ ଅଛି</translation>
 <translation id="8022947259858476807">ଲିଙ୍କଗୁଡ଼ିକୁ ଖୋଲିବା, ୱିଜେଟଗୁଡ଼ିକରୁ ସନ୍ଧାନ କରିବା ଏବଂ ଅନ୍ୟ ଆପଗୁଡ଼ିକରେ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ସ୍ୱତଃପୂରଣ କରିବା ପାଇଁ Chromeକୁ ଡିଫଲ୍ଟ ଭାବେ ବ୍ୟବହାର କରନ୍ତୁ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb
index cae3690..b76ae6c 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chrome ਸਾਰੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਕੱਲ੍ਹ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="2869959624320573933">Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
 <translation id="2919738076569633423">Chrome ਨੂੰ ਵਰਤ ਕੇ, ਤੁਸੀਂ <ph name="BEGIN_LINK_TOS" />ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_LINK_TOS" /> ਨਾਲ ਸਹਿਮਤ ਹੁੰਦੇ ਹੋ।</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> ਚੁਣੋ</translation>
 <translation id="3030414234702425231">ਕਿਉਂਕਿ ਤੁਸੀਂ <ph name="SIGNOUT_MANAGED_DOMAIN" /> ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤੇ ਕਿਸੇ ਖਾਤੇ ਵਿੱਚੋਂ ਸਾਈਨ-ਆਊਟ ਕਰ ਰਹੇ ਹੋ, ਇਸ ਲਈ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਤੁਹਾਡੇ Chrome ਡਾਟੇ ਨੂੰ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਤੁਹਾਡਾ ਡਾਟਾ ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ ਰਹੇਗਾ।</translation>
 <translation id="3167189358072330585">ਤੁਹਾਡਾ ਖਾਤਾ Google Chrome 'ਤੇ ਕੰਮ ਨਹੀਂ ਕਰਦਾ। ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਡੋਮੇਨ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ ਜਾਂ ਸਾਈਨ-ਇਨ ਲਈ ਇੱਕ ਨਿਯਮਿਤ Google ਖਾਤੇ ਦੀ ਵਰਤੋਂ ਕਰੋ।</translation>
 <translation id="3173834708294760622">Google Chrome ਪੰਨਾ</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਹੋਰ ਐਪਾਂ ਵਿਚਲੇ ਲਿੰਕਾਂ 'ਤੇ ਟੈਪ ਕਰਦੇ ਹੋ, ਤਾਂ Chrome ਖੋਲ੍ਹੋ</translation>
 <translation id="5854621639439811139">Chrome ਨੁਕਤਾ। ਕੁਝ ਬਟਨ ਹੁਣ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਹਨ, ਜਿਵੇਂ ਕਿ ਪਿੱਛੇ, ਅੱਗੇ ਅਤੇ ਖੋਜੋ।</translation>
 <translation id="5876773482963502140">ਜੇ ਤੁਸੀਂ Chrome ਨੂੰ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਬਾਰੇ ਜਾਣਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ Chrome ਇਸਨੂੰ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਵਾਲੀ ਕਿਸੇ ਵੀ ਸਾਈਟ ਨੂੰ ਭੇਜਦਾ ਹੈ। ਸਾਈਟਾਂ ਤੁਹਾਨੂੰ ਦਿਖਾਉਣ ਲਈ ਨਜ਼ਦੀਕੀ ਦੁਕਾਨਾਂ ਜਾਂ ਖਬਰਾਂ ਵਰਗੀ ਮੌਜੂਦ ਸਥਾਨਕ ਜਾਣਕਾਰੀ ਹੋਣ 'ਤੇ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਬਾਰੇ ਪੁੱਛ ਸਕਦੀਆਂ ਹਨ।</translation>
+<translation id="6054613632208573261">Chrome ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ 'ਤੇ ਵਰਤੋ</translation>
 <translation id="6063091872902370735">Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਦਿਓ</translation>
 <translation id="6181930887571472871">Chrome 'ਤੇ ਜਾਓ</translation>
 <translation id="6238746320622508509">Chrome ਨੂੰ ਤੁਹਾਡੀਆਂ ਇਨਕੋਗਨਿਟੋ ਟੈਬਾਂ ਲਾਕ ਕਰਨ ਦਿਓ।</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chrome ਵਿੱਚ ਸੁਆਗਤ ਹੈ</translation>
 <translation id="7662994914830945754">ਜਿਸ ਡੀਵਾਈਸ 'ਤੇ ਵੀ ਤੁਸੀਂ Chrome ਵਰਤਦੇ ਹੋ, ਉੱਥੇ ਆਪਣੀਆਂ ਟੈਬਾਂ ਦੇਖਣ ਲਈ ਸਾਈਨ-ਇਨ ਕਰਕੇ ਸਮਾਲੀਕਰਨ ਕਰੋ</translation>
 <translation id="766361182512894255">ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਦਾ ਕਿਸੇ ਡਾਟਾ ਉਲੰਘਣਾ ਵਿੱਚ ਖੁਲਾਸਾ ਹੋਇਆ ਸੀ। Chrome ਹੁਣੇ ਪਾਸਵਰਡ ਬਦਲਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ।</translation>
+<translation id="7693590760643069321">ਤੁਸੀਂ ਹੁਣ ਸੁਨੇਹੇ, ਦਸਤਾਵੇਜ਼ ਅਤੇ ਹੋਰ ਐਪਾਂ ਵਿਚਲੇ ਲਿੰਕਾਂ 'ਤੇ ਟੈਪ ਕਰਕੇ ਕਿਸੇ ਵੇਲੇ ਵੀ Chrome ਵਰਤ ਸਕਦੇ ਹੋ।</translation>
 <translation id="7698568245838009292">Chrome ਦੀ ਕੈਮਰੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਇੱਛਾ ਹੈ</translation>
 <translation id="7855730255114109580">Google Chrome ਅੱਪ ਟੂ ਡੇਟ ਹੈ</translation>
 <translation id="8022947259858476807">ਲਿੰਕਾਂ ਨੂੰ ਖੋਲ੍ਹਣ, ਵਿਜੇਟਾਂ ਤੋਂ ਖੋਜ ਕਰਨ ਅਤੇ ਹੋਰ ਐਪਾਂ ਵਿੱਚ ਆਟੋਫਿਲ ਪਾਸਵਰਡਾਂ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ 'ਤੇ Chrome ਦੀ ਵਰਤੋਂ ਕਰੋ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ta.xtb
index b9d645c..c909fab 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ta.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chrome உலாவியால் கடவுச்சொற்கள் அனைத்தையும் சரிபார்க்க முடியவில்லை. நாளை முயலவும்.</translation>
 <translation id="2869959624320573933">Chromeமில் உள்நுழைக</translation>
 <translation id="2919738076569633423">Chrome உலாவியைப் பயன்படுத்துவதன் மூலம் <ph name="BEGIN_LINK_TOS" />சேவை விதிமுறைகளை<ph name="END_LINK_TOS" /> ஏற்கிறீர்கள்.</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> உலாவியைத் தேர்ந்தெடுக்கவும்</translation>
 <translation id="3030414234702425231">நீங்கள் <ph name="SIGNOUT_MANAGED_DOMAIN" /> நிர்வகிக்கும் கணக்கிலிருந்து வெளியேறுவதால், இந்தச் சாதனத்திலிருந்து உங்கள் Chrome தரவு நீக்கப்படும். ஆனால் உங்கள் Google கணக்கிலிருந்து உங்கள் தரவு நீக்கப்படாது.</translation>
 <translation id="3167189358072330585">Google Chromeமில் உங்கள் கணக்கு செயல்படாது. உங்கள் டொமைன் நிர்வாகியைத் தொடர்பு கொள்ளவும் அல்லது உள்நுழைவதற்கு வழக்கமான Google கணக்கைப் பயன்படுத்தவும்.</translation>
 <translation id="3173834708294760622">Google Chrome பக்கம்</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">எப்போதும் மற்ற ஆப்ஸில் இணைப்புகளைத் தட்டும்போது அவை Chromeமில் திறக்கும்படிச் செய்யலாம்!</translation>
 <translation id="5854621639439811139">Chrome உதவிக்குறிப்பு: 'பின்செல்’, ‘முன்செல்’, ‘தேடு’ போன்ற சில பட்டன்கள் இப்போது உங்கள் திரையின் அடிப்பகுதியில் உள்ளன.</translation>
 <translation id="5876773482963502140">உங்கள் இருப்பிடத்தை Chrome அறிந்துகொள்ள அனுமதித்தால் நீங்கள் அனுமதிக்கும் தளங்களுக்கு Chrome அதை அனுப்பும். அருகிலுள்ள கடைகள்/செய்திகள் போன்ற உள்ளூர் தகவல்களைக் காட்ட வேண்டிய சூழ்நிலைகளில் உங்கள் இருப்பிடத்தைத் தளங்கள் கேட்கக்கூடும்.</translation>
+<translation id="6054613632208573261">Chromeமை இயல்பு உலாவியாகப் பயன்படுத்துங்கள்</translation>
 <translation id="6063091872902370735">Chrome உள்நுழைவை அனுமதி</translation>
 <translation id="6181930887571472871">Chromeமிற்கு மாறுங்கள்</translation>
 <translation id="6238746320622508509">மறைநிலைத் தாவல்களைப் பூட்ட Chromeமை அனுமதிக்கவும்.</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chrome க்கு வருக</translation>
 <translation id="7662994914830945754">நீங்கள் Chromeமைப் பயன்படுத்தும் சாதனங்களில் உங்கள் தாவல்களைப் பார்க்க, உள்நுழைந்து ஒத்திசைவை இயக்கவும்</translation>
 <translation id="766361182512894255">தரவு மீறலின் காரணமாக உங்களின் கடவுச்சொல் பாதுகாப்பை இழந்துவிட்டது. கடவுச்சொல்லை இப்போதே மாற்றுமாறு Chrome பரிந்துரைக்கிறது.</translation>
+<translation id="7693590760643069321">இனி எப்போது வேண்டுமானாலும் மெசேஜ்கள், ஆவணங்கள் மற்றும் பிற ஆப்ஸில் உள்ள இணைப்புகளை Chromeமில் திறக்கலாம்.</translation>
 <translation id="7698568245838009292">Chrome 'கேமராவைப்’ பயன்படுத்த விரும்புகிறது</translation>
 <translation id="7855730255114109580">Google Chrome புதுப்பித்த நிலையில் உள்ளது</translation>
 <translation id="8022947259858476807">இணைப்புகளைத் திறப்பதற்கும், விட்ஜெட்டுகளில் தேடுவதற்கும், பிற ஆப்ஸில் கடவுச்சொற்களைத் தானாக நிரப்புவதற்கும் Chromeமை இயல்பு உலாவியாகப் பயன்படுத்தலாம்</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb
index cfab35c..12d6b113 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chromeకు అన్ని పాస్‌వర్డ్‌లను చెక్ చేయడం సాధ్యపడలేదు. రేపు మళ్లీ ట్రై చేయండి.</translation>
 <translation id="2869959624320573933">Chromeకు సైన్ ఇన్ చేయండి</translation>
 <translation id="2919738076569633423">Chromeను ఉపయోగించడం ద్వారా, మీరు <ph name="BEGIN_LINK_TOS" />సేవా నిబంధనల<ph name="END_LINK_TOS" />కు అంగీకరిస్తున్నారు.</translation>
+<translation id="2957447865124070833"><ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" />ను ఎంచుకోండి</translation>
 <translation id="3030414234702425231"><ph name="SIGNOUT_MANAGED_DOMAIN" /> నిర్వహిస్తున్న ఖాతా నుండి మీరు సైన్ అవుట్ చేస్తున్నారు కనుక మీ Chrome డేటా ఈ పరికరం నుండి తొలగించబడుతుంది. మీ డేటా మీ Google ఖాతాలో అలాగే ఉంటుంది.</translation>
 <translation id="3167189358072330585">మీ ఖాతా Google Chromeలో పని చేయదు. దయచేసి మీ డొమైన్ నిర్వాహకుడిని సంప్రదించండి లేదా సైన్ ఇన్ చేయడానికి సాధారణ Google ఖాతాను ఉపయోగించండి.</translation>
 <translation id="3173834708294760622">Google Chrome పేజీ</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">ఇతర యాప్‌లలో లింక్‌లను ట్యాప్ చేయడం ద్వారా మీరు ఎప్పుడైనా Chromeను తెరవవచ్చు</translation>
 <translation id="5854621639439811139">Chrome చిట్కా. వెనకకు, ముందుకు మరియు శోధన వంటి కొన్ని బటన్‌లు ఇప్పుడు మీ స్క్రీన్ దిగువున ఉన్నాయి.</translation>
 <translation id="5876773482963502140">మీ లొకేషన్‌ను తెలుసుకోవడానికి మీరు Chromeను అనుమతించినప్పుడు, Chrome దానిని మీరు అనుమతించే ఏ సైట్‌లకు అయినా పంపుతుంది. సమీపంలోని షాప్‌లు లేదా వార్తలు వంటి స్థానిక సమాచారం మీకు చూపించాల్సి వచ్చినప్పుడు, సైట్‌లు మీ లొకేషన్ కోసం అడగవచ్చు.</translation>
+<translation id="6054613632208573261">ఆటోమేటిక్‌గా Chromeను ఉపయోగించండి</translation>
 <translation id="6063091872902370735">Chrome సైన్-ఇన్‌ను అనుమతించండి</translation>
 <translation id="6181930887571472871">Chromeకు మారండి</translation>
 <translation id="6238746320622508509">మీ అజ్ఞాత ట్యాబ్‌లను లాక్ చేయడానికి Chromeను అనుమతించండి.</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">Chromeకు స్వాగతం</translation>
 <translation id="7662994914830945754">మీరు Chromeను ఎక్కడ ఉపయోగించినా మీ ట్యాబ్‌లను చూసేందుకు, సైన్ ఇన్ చేసి సింక్‌ను ఆన్ చేయండి</translation>
 <translation id="766361182512894255">డేటా ఉల్లంఘన జరిగిన ఒక సంఘటనలో మీ పాస్‌వర్డ్ బహిర్గతమైంది. ఇప్పుడే పాస్‌వర్డ్‌ను మార్చాల్సిందిగా Chrome సిఫార్సు చేస్తోంది.</translation>
+<translation id="7693590760643069321">మెసేజ్‌లు, డాక్యుమెంట్‌లు, ఇతర యాప్‌లలో లింక్‌లను ట్యాప్ చేయడం ద్వారా, మీరు ఎప్పుడైనా Chromeను ఉపయోగించవచ్చు.</translation>
 <translation id="7698568245838009292">కెమెరాను Chrome యాక్సెస్ చేయాలనుకుంటోంది</translation>
 <translation id="7855730255114109580">Google Chrome తాజాగా ఉంది</translation>
 <translation id="8022947259858476807">లింక్‌లను తెరవడానికి, విడ్జెట్‌ల నుండి సెర్చ్ చేయడానికి, ఇతర యాప్‌లలో పాస్‌వర్డ్‌లను ఆటోఫిల్ చేయడానికి Chromeను డిఫాల్ట్‌గా ఉపయోగించండి</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb
index 0bbb46f..936fa2c 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">‏Chrome سبھی پاس ورڈز چیک نہیں کر سکا۔ کل دوبارہ کوشش کریں۔</translation>
 <translation id="2869959624320573933">‏Chrome میں سائن ان کریں</translation>
 <translation id="2919738076569633423">‏Chrome استعمال کر کے، آپ <ph name="BEGIN_LINK_TOS" />سروس کی شرائط<ph name="END_LINK_TOS" /> سے اتفاق کرتے ہیں۔</translation>
+<translation id="2957447865124070833">‏<ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /> منتخب کریں</translation>
 <translation id="3030414234702425231">‏چونکہ آپ <ph name="SIGNOUT_MANAGED_DOMAIN" /> کے زیر انتظام ایک اکاؤنٹ سے سائن آؤٹ کر رہے ہیں، لہذا آپ کا Chrome ڈیٹا اس آلہ سے حذف ہو جائے گا۔ آپ کا ڈیٹا آپ کے Google اکاؤنٹ میں رہے گا۔</translation>
 <translation id="3167189358072330585">‏آپ کا اکاؤنٹ Google Chrome پر کام نہیں کرتا ہے۔ سائن ان کرنے کیلئے براہ کرم اپنے ڈومین کے منتظم سے رابطہ کریں یا ایک مستقل Google اکاؤنٹ استعمال کریں۔</translation>
 <translation id="3173834708294760622">‏Google Chrome صفحہ</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">‏جب بھی آپ دیگر ایپس میں لنکس پر تھپتھپائیں تو انہیں Chrome میں کھولیں</translation>
 <translation id="5854621639439811139">‏Chrome تجویز۔ واپس جائیں، فارورڈ کریں، اور تلاش کریں جیسے بعض بٹنز اب آپ کی اسکرین کے نیچے ہیں۔</translation>
 <translation id="5876773482963502140">‏اگر آپ Chrome کو اپنا مقام جاننے کی اجازت دیتے ہیں تو Chrome اسے آپ کی کسی بھی اس سائٹ کو بھیجتا ہے جسے آپ اجازت دیتے ہیں۔ سائٹس کے پاس آپ کو دکھانے کے لیے مقامی معلومات، جیسے قریبی دکانیں یا خبریں ہوں تو وہ آپ کے مقام کے بارے میں پوچھ سکتی ہیں۔</translation>
+<translation id="6054613632208573261">‏بطور ڈیفالٹ Chrome کا استعمال کریں</translation>
 <translation id="6063091872902370735">‏Chrome میں سائن ان کرنے کی اجازت دیں</translation>
 <translation id="6181930887571472871">‏Chrome پر سوئچ کریں</translation>
 <translation id="6238746320622508509">‏Chrome کو اپنے پوشیدگی ٹیبز مقفل کرنے دیں۔</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">‏Chrome میں خوش آمدید</translation>
 <translation id="7662994914830945754">‏اپنے ٹیبز کو دیکھنے کے لئے جہاں کہیں بھی آپ Chrome استعمال کرتے ہیں، سائن ان کریں اور سِنک کو آن کریں</translation>
 <translation id="766361182512894255">‏ڈیٹا کی خلاف ورزی میں آپ کا پاس ورڈ افشاء ہو گیا۔ Chrome کی تجویز ہے کہ آپ ابھی پاس ورڈ تبدیل کریں۔</translation>
+<translation id="7693590760643069321">‏اب جب بھی آپ پیغامات، دستاویزات اور دیگر ایپس میں لنکس کو تھپتھپائیں تو آپ Chrome کا استعمال کر سکتے ہیں۔</translation>
 <translation id="7698568245838009292">‏Chrome کیمرے تک رسائی حاصل کرنا چاہے گا</translation>
 <translation id="7855730255114109580">‏Google Chrome اپ ٹو ڈیٹ ہے</translation>
 <translation id="8022947259858476807">‏لنکس کھولنے، ویجیٹس سے تلاش کرنے اور دیگر ایپس میں پاس ورڈز کو آٹو فل کرنے کیلئے، Chrome کا بطور ڈیفالٹ استعمال کریں</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb
index 0d61c6a..2d4e412a 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb
@@ -28,6 +28,7 @@
 <translation id="2732745070297234559">Chrome 无法检查所有密码。请明天再试。</translation>
 <translation id="2869959624320573933">登录 Chrome</translation>
 <translation id="2919738076569633423">使用 Chrome 即表示您同意接受<ph name="BEGIN_LINK_TOS" />服务条款<ph name="END_LINK_TOS" />。</translation>
+<translation id="2957447865124070833">选择 <ph name="BEGIN_BOLD" />Chrome<ph name="END_BOLD" /></translation>
 <translation id="3030414234702425231">由于您正要退出的帐号是由 <ph name="SIGNOUT_MANAGED_DOMAIN" /> 管理,因此系统将会从这部设备中删除您的 Chrome 数据,但这些数据仍会保留在您的 Google 帐号中。</translation>
 <translation id="3167189358072330585">无法在 Google Chrome 上登录您的帐号。请与您的网域管理员联系,或使用普通的 Google 帐号登录。</translation>
 <translation id="3173834708294760622">Google Chrome 网页</translation>
@@ -61,6 +62,7 @@
 <translation id="5716154293141027663">每当您点按其他应用中的链接时,系统都会使用 Chrome 打开相应链接</translation>
 <translation id="5854621639439811139">Chrome 提示。现在屏幕底部会显示“后退”、“前进”和“搜索”等按钮。</translation>
 <translation id="5876773482963502140">如果您允许 Chrome 获取您的位置信息,Chrome 便会将该信息发送到已获您授权的所有网站。网站可能会请求使用您的位置信息以便为您显示本地信息(例如附近的商店或新闻)。</translation>
+<translation id="6054613632208573261">默认使用 Chrome</translation>
 <translation id="6063091872902370735">允许登录 Chrome</translation>
 <translation id="6181930887571472871">改用 Chrome</translation>
 <translation id="6238746320622508509">让 Chrome 锁定您的无痕式标签页。</translation>
@@ -86,6 +88,7 @@
 <translation id="7626032353295482388">欢迎使用 Chrome</translation>
 <translation id="7662994914830945754">要查看您在其他设备上用 Chrome 打开的标签页,请登录帐号并开启同步功能</translation>
 <translation id="766361182512894255">您的密码遭遇了数据泄露。Chrome 建议您立即更改此密码。</translation>
+<translation id="7693590760643069321">现在,每当点按消息、文档和其他应用中的链接时,您都可以使用 Chrome 打开链接。</translation>
 <translation id="7698568245838009292">Chrome 想要访问相机</translation>
 <translation id="7855730255114109580">Google Chrome 已是最新版本</translation>
 <translation id="8022947259858476807">默认使用 Chrome 来打开链接、在微件中执行搜索以及在其他应用中自动填充密码</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_af.xtb b/ios/chrome/app/strings/resources/ios_strings_af.xtb
index abc5f193..3457dd0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_af.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Kies vouer</translation>
 <translation id="1265739287306757398">Vind uit hoe</translation>
 <translation id="1272079795634619415">Stop</translation>
+<translation id="1275718070701477396">Gekies</translation>
 <translation id="1282311502488501110">Moenie aanmeld nie</translation>
 <translation id="1283524564873030414">Afgelope 24 uur</translation>
 <translation id="1285320974508926690">Moet nooit hierdie werf vertaal nie</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index b11d08c..1923b5f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">አቃፊ ይምረጡ</translation>
 <translation id="1265739287306757398">እንዴት እንደሆነ ይወቁ</translation>
 <translation id="1272079795634619415">አቁም</translation>
+<translation id="1275718070701477396">ተመርጧል</translation>
 <translation id="1282311502488501110">በመለያ አይግቡ</translation>
 <translation id="1283524564873030414">ባለፉት 24 ሰዓቶች</translation>
 <translation id="1285320974508926690">ይህን ጣቢያ በጭራሽ አትተርጉም</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index 743c556..66a470c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">اختيار مجلد</translation>
 <translation id="1265739287306757398">تعرَّف على الطريقة</translation>
 <translation id="1272079795634619415">إيقاف</translation>
+<translation id="1275718070701477396">محدد</translation>
 <translation id="1282311502488501110">عدم تسجيل الدخول</translation>
 <translation id="1283524564873030414">آخر 24 ساعة</translation>
 <translation id="1285320974508926690">عدم ترجمة هذا الموقع مطلقًا</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_as.xtb b/ios/chrome/app/strings/resources/ios_strings_as.xtb
index 06d96d46..eddb022 100644
--- a/ios/chrome/app/strings/resources/ios_strings_as.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_as.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ফ’ল্ডাৰ বাছনি কৰক</translation>
 <translation id="1265739287306757398">কেনেকৈ কৰিব জানক</translation>
 <translation id="1272079795634619415">বন্ধ কৰক</translation>
+<translation id="1275718070701477396">বাছনি কৰা আছে</translation>
 <translation id="1282311502488501110">ছাইন ইন নকৰিব</translation>
 <translation id="1283524564873030414">যোৱা ২৪ ঘণ্টাত</translation>
 <translation id="1285320974508926690">এই ছাইটটো কেতিয়াও অনুবাদ নকৰিব</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">প্ৰাৰম্ভিক ছিংক ছেট আপ সমাপ্ত হোৱা নাই</translation>
 <translation id="2843803966603263712">অনুবাদৰ ছেটিং ৰিছেট কৰক</translation>
+<translation id="2848086008667475748">ছেটিঙত ডিফ’ল্ট হিচাপে ছেট কৰক…</translation>
 <translation id="2858204748079866344">আপোনাৰ গোপনীয়তা সুৰক্ষিত কৰিবলৈ, Chromeএ এই ক্ষেত্ৰটোত আপোনাৰ পাছৱৰ্ড স্বয়ংক্ৰিয়ভাৱে পূৰ নকৰে৷</translation>
 <translation id="285960592395650245">পুনৰ ডাউনল’ড কৰাৰ চেষ্টা কৰক</translation>
 <translation id="2870560284913253234">ছাইট</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">সদায় দেখুৱাওক</translation>
 <translation id="418156467088430727">নতুন টেবত অফলাইন সংস্কৰণটো চাওক</translation>
 <translation id="4181841719683918333">ভাষাসমূহ</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ডিফ’ল্ট ব্ৰাউজাৰ এপ<ph name="END_BOLD" />ত টিপক</translation>
 <translation id="424315890655130736">পাছফ্ৰেজ লিখক</translation>
 <translation id="4263576668337963058">উপলব্ধ পৃষ্ঠাৰ কার্যসমূহ দেখুৱাওক</translation>
 <translation id="4267380167363222949">পৰৱৰ্তী টেব</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">কিউআৰ ক’ড স্কেন কৰক</translation>
 <translation id="4378154925671717803">ফ'ন</translation>
 <translation id="4389019817280890563">ভাষা সলনি কৰিবলৈ টিপক।</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />ছেটিং<ph name="END_BOLD" /> খোলক</translation>
 <translation id="4454246407045105932">ভাষা যোগ কৰক</translation>
 <translation id="4469418912670346607">ছেটআপ কৰাটো অব্যাহত ৰাখক</translation>
 <translation id="4474494258097106883">আপোনাৰ iPhoneৰ বাবে প্ৰস্তুত কৰা</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_az.xtb b/ios/chrome/app/strings/resources/ios_strings_az.xtb
index e84ba4e..41adcfd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_az.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_az.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Qovluq seçin</translation>
 <translation id="1265739287306757398">Məlumat əldə edin</translation>
 <translation id="1272079795634619415">Dayandırın</translation>
+<translation id="1275718070701477396">Seçilib</translation>
 <translation id="1282311502488501110">Daxil olmayın</translation>
 <translation id="1283524564873030414">Son 24 Saat</translation>
 <translation id="1285320974508926690">Bu saytı heç vaxt tərcümə etməyin</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_be.xtb b/ios/chrome/app/strings/resources/ios_strings_be.xtb
index 2da95fa0..acf64cd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_be.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_be.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Выбраць папку</translation>
 <translation id="1265739287306757398">Даведацца больш</translation>
 <translation id="1272079795634619415">Спыніць</translation>
+<translation id="1275718070701477396">Выбрана</translation>
 <translation id="1282311502488501110">Не ўваходзіць</translation>
 <translation id="1283524564873030414">За апошнія 24 гадзіны</translation>
 <translation id="1285320974508926690">Ніколі не перакладаць гэты сайт</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
index b7b3b38..2e9d04b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Избор на папка</translation>
 <translation id="1265739287306757398">Научете как</translation>
 <translation id="1272079795634619415">Стоп</translation>
+<translation id="1275718070701477396">Избрано</translation>
 <translation id="1282311502488501110">Без влизане в профила</translation>
 <translation id="1283524564873030414">Последните 24 часа</translation>
 <translation id="1285320974508926690">Този сайт да не се превежда никога</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
index 348a9883..79d39f1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ফোল্ডার বেছে নিন</translation>
 <translation id="1265739287306757398">কীভাবে করবেন জানুন</translation>
 <translation id="1272079795634619415">বন্ধ</translation>
+<translation id="1275718070701477396">নির্বাচিত</translation>
 <translation id="1282311502488501110">সাইন-ইন করতে চাই না</translation>
 <translation id="1283524564873030414">গত ২৪ ঘণ্টা</translation>
 <translation id="1285320974508926690">কখনই এই সাইটটিকে অনুবাদ করবেন না</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">প্রারম্ভিক সিঙ্ক সেট-আপ সম্পূর্ণ হয়নি</translation>
 <translation id="2843803966603263712">অনুবাদ সেটিংস রিসেট করুন</translation>
+<translation id="2848086008667475748">Settings-এ এটিকে ডিফল্ট হিসেবে সেট করুন…</translation>
 <translation id="2858204748079866344">আপনার গোপনীয়তা রক্ষার জন্য, Chrome এই ক্ষেত্রে আপনার পাসওয়ার্ডটি নিজে থেকে পূরণ করবে না।</translation>
 <translation id="285960592395650245">আবার ডাউনলোডের চেষ্টা করুন</translation>
 <translation id="2870560284913253234">সাইট</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">সর্বদা দেখান</translation>
 <translation id="418156467088430727">নতুন ট্যাবে অফলাইন ভার্সন দেখুন</translation>
 <translation id="4181841719683918333">ভাষাসমূহ</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ডিফল্ট ব্রাউজার অ্যাপ<ph name="END_BOLD" /> বিকল্পে ট্যাপ করুন</translation>
 <translation id="424315890655130736">পাসফ্রেজ লিখুন</translation>
 <translation id="4263576668337963058">পৃষ্ঠা সম্পর্কিত উপলভ্য অ্যাকশন দেখুন</translation>
 <translation id="4267380167363222949">পরের ট্যাব</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR কোড খুঁজুন</translation>
 <translation id="4378154925671717803">ফোন</translation>
 <translation id="4389019817280890563">ভাষা পরিবর্তন করতে ট্যাপ করুন।</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />সেটিংস<ph name="END_BOLD" /> খুলুন</translation>
 <translation id="4454246407045105932">ভাষা যোগ করার সেটিংস</translation>
 <translation id="4469418912670346607">সেট-আপ করা চালিয়ে যান</translation>
 <translation id="4474494258097106883">আপনার iPhone-এর জন্য তৈরি করা হয়েছে</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
index 514705f..9c1b239 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Odaberite folder</translation>
 <translation id="1265739287306757398">Saznajte kako</translation>
 <translation id="1272079795634619415">Zaustavi</translation>
+<translation id="1275718070701477396">Odabrano</translation>
 <translation id="1282311502488501110">Nemoj se prijaviti</translation>
 <translation id="1283524564873030414">Posljednja 24 sata</translation>
 <translation id="1285320974508926690">Nikada ne prevodi ovu web lokaciju</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index d6a15a36..49ea6a4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Tria la carpeta</translation>
 <translation id="1265739287306757398">Informació</translation>
 <translation id="1272079795634619415">Atura</translation>
+<translation id="1275718070701477396">Seleccionat</translation>
 <translation id="1282311502488501110">No iniciïs la sessió</translation>
 <translation id="1283524564873030414">24 darreres hores</translation>
 <translation id="1285320974508926690">No tradueixis mai aquest lloc</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index 115c1b8..d650075 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Výběr složky</translation>
 <translation id="1265739287306757398">Postup</translation>
 <translation id="1272079795634619415">Zastavit</translation>
+<translation id="1275718070701477396">Vybráno</translation>
 <translation id="1282311502488501110">Nepřihlašovat se</translation>
 <translation id="1283524564873030414">Posledních 24 hodin</translation>
 <translation id="1285320974508926690">Tento web nikdy nepřekládat</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 99354c5..441f9089 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Vælg mappe</translation>
 <translation id="1265739287306757398">Se, hvordan du gør</translation>
 <translation id="1272079795634619415">Stop</translation>
+<translation id="1275718070701477396">Valgt</translation>
 <translation id="1282311502488501110">Log ikke ind</translation>
 <translation id="1283524564873030414">De seneste 24 timer</translation>
 <translation id="1285320974508926690">Oversæt aldrig dette website</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index c91f9db..ec0138c7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Ordner wählen</translation>
 <translation id="1265739287306757398">Weitere Informationen</translation>
 <translation id="1272079795634619415">Stoppen</translation>
+<translation id="1275718070701477396">Ausgewählt</translation>
 <translation id="1282311502488501110">Nicht anmelden</translation>
 <translation id="1283524564873030414">Letzte 24 Stunden</translation>
 <translation id="1285320974508926690">Diese Website nie übersetzen</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index d06906fd..152e351 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Επιλογή φακέλου</translation>
 <translation id="1265739287306757398">Μάθετε με ποιον τρόπο</translation>
 <translation id="1272079795634619415">Διακοπή</translation>
+<translation id="1275718070701477396">Επιλεγμένο</translation>
 <translation id="1282311502488501110">Να μην γίνει σύνδεση</translation>
 <translation id="1283524564873030414">Τελευταίες 24 ώρες</translation>
 <translation id="1285320974508926690">Να μην γίνεται ποτέ μετάφραση αυτού του ιστότοπου</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
index 01513b6..68841cd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Choose folder</translation>
 <translation id="1265739287306757398">Learn How</translation>
 <translation id="1272079795634619415">Stop</translation>
+<translation id="1275718070701477396">Selected</translation>
 <translation id="1282311502488501110">Don't sign in</translation>
 <translation id="1283524564873030414">Last 24 hours</translation>
 <translation id="1285320974508926690">Never translate this site</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
index a6770c6e..5907cd89 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Seleccionar carpeta</translation>
 <translation id="1265739287306757398">Más información</translation>
 <translation id="1272079795634619415">Interrumpir</translation>
+<translation id="1275718070701477396">Seleccionado</translation>
 <translation id="1282311502488501110">No acceder</translation>
 <translation id="1283524564873030414">Últimas 24 horas</translation>
 <translation id="1285320974508926690">Nunca traducir este sitio</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index 8440791..ea332a1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Seleccionar carpeta</translation>
 <translation id="1265739287306757398">Más información</translation>
 <translation id="1272079795634619415">Detener</translation>
+<translation id="1275718070701477396">Seleccionado</translation>
 <translation id="1282311502488501110">No iniciar sesión</translation>
 <translation id="1283524564873030414">Últimas 24 horas</translation>
 <translation id="1285320974508926690">No traducir nunca este sitio</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index 0d17250..48f89ebf 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Kausta valimine</translation>
 <translation id="1265739287306757398">Lisateave</translation>
 <translation id="1272079795634619415">Peata</translation>
+<translation id="1275718070701477396">Valitud</translation>
 <translation id="1282311502488501110">Ära logi sisse</translation>
 <translation id="1283524564873030414">Viimased 24 tundi</translation>
 <translation id="1285320974508926690">Ära kunagi seda saiti tõlgi</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_eu.xtb b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
index e3a7d61..8e1bcd7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_eu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Aukeratu karpeta</translation>
 <translation id="1265739287306757398">Lortu argibideak</translation>
 <translation id="1272079795634619415">Gelditu</translation>
+<translation id="1275718070701477396">Hautatua</translation>
 <translation id="1282311502488501110">Ez hasi saioa</translation>
 <translation id="1283524564873030414">Azken 24 orduetakoak</translation>
 <translation id="1285320974508926690">Ez itzuli inoiz webgune hau</translation>
@@ -325,7 +326,7 @@
 <translation id="4172051516777682613">Erakutsi beti</translation>
 <translation id="418156467088430727">Ikusi konexio gabeko bertsioa beste fitxa batean</translation>
 <translation id="4181841719683918333">Hizkuntzak</translation>
-<translation id="4237377247299956313">Sakatu <ph name="BEGIN_BOLD" />Arakatzaile lehenetsia<ph name="END_BOLD" /></translation>
+<translation id="4237377247299956313">Sakatu <ph name="BEGIN_BOLD" />Arakatzaile lehenetsia<ph name="END_BOLD" />.</translation>
 <translation id="424315890655130736">Idatzi pasaesaldia</translation>
 <translation id="4263576668337963058">Erakutsi erabilgarri dauden orriko ekintzak</translation>
 <translation id="4267380167363222949">Hurrengo fitxa</translation>
@@ -341,7 +342,7 @@
 <translation id="4375040482473363939">QR kode bidezko bilaketa</translation>
 <translation id="4378154925671717803">Telefonoa</translation>
 <translation id="4389019817280890563">Sakatu hau hizkuntza aldatzeko.</translation>
-<translation id="4442550905108052454">Ireki <ph name="BEGIN_BOLD" />Ezarpenak<ph name="END_BOLD" /></translation>
+<translation id="4442550905108052454">Ireki <ph name="BEGIN_BOLD" />Ezarpenak<ph name="END_BOLD" />.</translation>
 <translation id="4454246407045105932">Gehitu hizkuntza bat</translation>
 <translation id="4469418912670346607">Jarraitu konfiguratzen</translation>
 <translation id="4474494258097106883">Zure iPhone-rako garatua</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index a1858f4b..f6eb10c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">انتخاب پوشه</translation>
 <translation id="1265739287306757398">با نحوه انجام کار آشنا شوید</translation>
 <translation id="1272079795634619415">توقف</translation>
+<translation id="1275718070701477396">انتخاب شد</translation>
 <translation id="1282311502488501110">وارد سیستم نشود</translation>
 <translation id="1283524564873030414">۲۴ ساعت گذشته</translation>
 <translation id="1285320974508926690">این سایت هرگز ترجمه نشود</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
index 348733c..7732758 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Valitse kansio</translation>
 <translation id="1265739287306757398">Lisätietoja</translation>
 <translation id="1272079795634619415">Pysäytä</translation>
+<translation id="1275718070701477396">Valittu</translation>
 <translation id="1282311502488501110">Älä kirjaudu sisään</translation>
 <translation id="1283524564873030414">Viimeiset 24 tuntia</translation>
 <translation id="1285320974508926690">Älä käännä tätä sivustoa</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index 8390761..ec1e001 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Pumili ng Folder</translation>
 <translation id="1265739287306757398">Alamin kung paano</translation>
 <translation id="1272079795634619415">Stop</translation>
+<translation id="1275718070701477396">Pinili</translation>
 <translation id="1282311502488501110">Huwag Mag-sign In</translation>
 <translation id="1283524564873030414">Nakalipas na 24 na Oras</translation>
 <translation id="1285320974508926690">Huwag isalin kailanman ang site na ito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
index c909675..cdfd5c47 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Sélectionner un dossier</translation>
 <translation id="1265739287306757398">Découvrir comment</translation>
 <translation id="1272079795634619415">Arrêter</translation>
+<translation id="1275718070701477396">Sélectionné</translation>
 <translation id="1282311502488501110">Ne pas se connecter</translation>
 <translation id="1283524564873030414">24 dernières heures</translation>
 <translation id="1285320974508926690">Ne jamais traduire ce site</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
index de10a60..d14055d3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Sélectionner un dossier</translation>
 <translation id="1265739287306757398">En savoir plus</translation>
 <translation id="1272079795634619415">Arrêter</translation>
+<translation id="1275718070701477396">Sélectionnée</translation>
 <translation id="1282311502488501110">Ne pas se connecter</translation>
 <translation id="1283524564873030414">Dernières 24 heures</translation>
 <translation id="1285320974508926690">Ne jamais traduire ce site</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gl.xtb b/ios/chrome/app/strings/resources/ios_strings_gl.xtb
index efad27e..da63f73 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gl.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Seleccionar cartafol</translation>
 <translation id="1265739287306757398">Máis información</translation>
 <translation id="1272079795634619415">Deter</translation>
+<translation id="1275718070701477396">Seleccionado</translation>
 <translation id="1282311502488501110">Non iniciar sesión</translation>
 <translation id="1283524564873030414">Últimas 24 horas</translation>
 <translation id="1285320974508926690">Non traducir nunca este sitio</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index 614d742..a33c3e7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ફોલ્ડર પસંદ કરો</translation>
 <translation id="1265739287306757398">જાણો કેવી રીતે</translation>
 <translation id="1272079795634619415">રોકો</translation>
+<translation id="1275718070701477396">પસંદ કરેલું</translation>
 <translation id="1282311502488501110">સાઇન ઇન કરશો નહીં</translation>
 <translation id="1283524564873030414">છેલ્લા 24 કલાક</translation>
 <translation id="1285320974508926690">આ સાઇટનું ક્યારેય ભાષાંતર કરશો નહીં</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">સિંકનું પ્રારંભિક સેટઅપ પૂર્ણ થયું નથી</translation>
 <translation id="2843803966603263712">અનુવાદ સેટિંગને રીસેટ કરો</translation>
+<translation id="2848086008667475748">સેટિંગમાં ડિફૉલ્ટ બનાવો…</translation>
 <translation id="2858204748079866344">તમારી પ્રાઇવસીની સુરક્ષા કરવા માટે, Chrome આ ફીલ્ડમાં તમારો પાસવર્ડ સ્વતઃ નહીં ભરે.</translation>
 <translation id="285960592395650245">ડાઉનલોડનો ફરી પ્રયાસ કરો</translation>
 <translation id="2870560284913253234">સાઇટ</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">હંમેશા બતાવો</translation>
 <translation id="418156467088430727">ઑફલાઇન વર્ઝન નવા ટૅબમાં જુઓ</translation>
 <translation id="4181841719683918333">ભાષાઓ</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ડિફૉલ્ટ બ્રાઉઝર ઍપ<ph name="END_BOLD" /> પર ટૅપ કરો</translation>
 <translation id="424315890655130736">પાસફ્રેઝ દાખલ કરો</translation>
 <translation id="4263576668337963058">પેજ માટે ઉપલબ્ધ ક્રિયાઓ બતાવો</translation>
 <translation id="4267380167363222949">આગલી ટૅબ</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR કોડ શોધો</translation>
 <translation id="4378154925671717803">ફોન</translation>
 <translation id="4389019817280890563">ભાષા બદલવા માટે ટૅપ કરો.</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />સેટિંગ <ph name="END_BOLD" />ખોલો</translation>
 <translation id="4454246407045105932">ભાષા ઉમેરો</translation>
 <translation id="4469418912670346607">સેટઅપ ચાલુ રાખો</translation>
 <translation id="4474494258097106883">તમારા iPhone માટે બનાવાયેલું</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 83dbca7b..22ccd5f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">फ़ोल्डर चुनें</translation>
 <translation id="1265739287306757398">तरीका जानें</translation>
 <translation id="1272079795634619415">रोकें</translation>
+<translation id="1275718070701477396">चयनित</translation>
 <translation id="1282311502488501110">साइन इन न करें</translation>
 <translation id="1283524564873030414">पिछले 24 घंटे</translation>
 <translation id="1285320974508926690">कभी भी इस साइट का अनुवाद न करें</translation>
@@ -185,7 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">शुरुआती सिंक सेटअप पूरा नहीं हुआ</translation>
 <translation id="2843803966603263712">अनुवाद सेटिंग रीसेट करें</translation>
-<translation id="2848086008667475748">सेटिंग में जाकर, इसे डिफ़ॉल्ट रूप से सेट करें…</translation>
+<translation id="2848086008667475748">सेटिंग में जाकर, इसे डिफ़ॉल्ट ब्राउज़र के रूप में सेट करें…</translation>
 <translation id="2858204748079866344">आपकी निजता को सुरक्षित रखने के लिए, Chrome इस फ़ील्ड में आपके पासवर्ड को ऑटोमैटिक नहीं भरेगा.</translation>
 <translation id="285960592395650245">फिर से डाउनलोड करके देखें</translation>
 <translation id="2870560284913253234">साइट</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index 181b21b..10994dc4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Odabir mape</translation>
 <translation id="1265739287306757398">Saznajte kako</translation>
 <translation id="1272079795634619415">Zaustavi</translation>
+<translation id="1275718070701477396">Odabrano</translation>
 <translation id="1282311502488501110">Ne prijavljuj se</translation>
 <translation id="1283524564873030414">Posljednja 24 sata</translation>
 <translation id="1285320974508926690">Nikad nemoj prevoditi ovu web-lokaciju</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index b8cbdae..d7a6efcf 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Mappa kiválasztása</translation>
 <translation id="1265739287306757398">További információ</translation>
 <translation id="1272079795634619415">Leállítás</translation>
+<translation id="1275718070701477396">Kijelölt</translation>
 <translation id="1282311502488501110">Bejelentkezés leállítása</translation>
 <translation id="1283524564873030414">Az elmúlt 24 órából</translation>
 <translation id="1285320974508926690">Ezt a webhelyet soha ne fordítsa le</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hy.xtb b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
index 35238cd5..8f4226b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hy.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Պանակի ընտրում</translation>
 <translation id="1265739287306757398">Իմանալ ինչպես</translation>
 <translation id="1272079795634619415">Դադարեցնել</translation>
+<translation id="1275718070701477396">Ընտրված</translation>
 <translation id="1282311502488501110">Մուտք չգործել</translation>
 <translation id="1283524564873030414">Վերջին 24 ժամվա</translation>
 <translation id="1285320974508926690">Երբեք չթարգմանել այս կայքը</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 7be60c0..81d47f5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Pilih Folder</translation>
 <translation id="1265739287306757398">Pelajari Caranya</translation>
 <translation id="1272079795634619415">Berhenti</translation>
+<translation id="1275718070701477396">Dipilih</translation>
 <translation id="1282311502488501110">Jangan Login</translation>
 <translation id="1283524564873030414">24 Jam Terakhir</translation>
 <translation id="1285320974508926690">Jangan pernah terjemahkan situs ini</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_is.xtb b/ios/chrome/app/strings/resources/ios_strings_is.xtb
index 3c493de..bbf1df2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_is.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_is.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Velja möppu</translation>
 <translation id="1265739287306757398">Kynntu þér hvernig</translation>
 <translation id="1272079795634619415">Stöðva</translation>
+<translation id="1275718070701477396">Valið</translation>
 <translation id="1282311502488501110">Ekki skrá inn</translation>
 <translation id="1283524564873030414">Síðastliðinn sólarhring</translation>
 <translation id="1285320974508926690">Aldrei þýða þetta vefsvæði</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index a97f254b..b81e1e6 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Scegli cartella</translation>
 <translation id="1265739287306757398">Scopri come</translation>
 <translation id="1272079795634619415">Interrompi</translation>
+<translation id="1275718070701477396">Selezionato</translation>
 <translation id="1282311502488501110">Non accedere</translation>
 <translation id="1283524564873030414">Ultime 24 ore</translation>
 <translation id="1285320974508926690">Non tradurre mai questo sito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index eb446e9a..64daca8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">בחירת תיקייה</translation>
 <translation id="1265739287306757398">איך עושים זאת?</translation>
 <translation id="1272079795634619415">הפסקה</translation>
+<translation id="1275718070701477396">נבחר</translation>
 <translation id="1282311502488501110">אני לא רוצה להיכנס</translation>
 <translation id="1283524564873030414">מ-24 השעות האחרונות</translation>
 <translation id="1285320974508926690">איני רוצה לקבל תרגום של אתר זה</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
index ccdd1ea..537719ee 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">フォルダの選択</translation>
 <translation id="1265739287306757398">詳細</translation>
 <translation id="1272079795634619415">中止</translation>
+<translation id="1275718070701477396">選択されています</translation>
 <translation id="1282311502488501110">ログインしない</translation>
 <translation id="1283524564873030414">過去 24 時間</translation>
 <translation id="1285320974508926690">このサイトは翻訳しない</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ka.xtb b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
index e540cc18..a99dc2a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ka.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">აირჩიეთ საქაღალდე</translation>
 <translation id="1265739287306757398">შეიტყვეთ როგორ</translation>
 <translation id="1272079795634619415">შეწყვეტა</translation>
+<translation id="1275718070701477396">შერჩეული</translation>
 <translation id="1282311502488501110">არ მსურს შესვლა</translation>
 <translation id="1283524564873030414">ბოლო 24 საათი</translation>
 <translation id="1285320974508926690">არასდროს გადათარგმნო ეს საიტი</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kk.xtb b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
index b60d128..b53c5e0a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Қалтаны таңдау</translation>
 <translation id="1265739287306757398">Әдісін білу</translation>
 <translation id="1272079795634619415">Тоқтату</translation>
+<translation id="1275718070701477396">Таңдалған</translation>
 <translation id="1282311502488501110">Кірмеу</translation>
 <translation id="1283524564873030414">Соңғы 24 сағат</translation>
 <translation id="1285320974508926690">Бұл сайтты ешқашан аудармау</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_km.xtb b/ios/chrome/app/strings/resources/ios_strings_km.xtb
index 7f530a247..e738b00 100644
--- a/ios/chrome/app/strings/resources/ios_strings_km.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_km.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ជ្រើសរើសថតឯកសារ</translation>
 <translation id="1265739287306757398">ស្វែងយល់​អំពី​របៀប</translation>
 <translation id="1272079795634619415">ឈប់</translation>
+<translation id="1275718070701477396">បានជ្រើសរើស</translation>
 <translation id="1282311502488501110">កុំ​ចូលគណនី</translation>
 <translation id="1283524564873030414">24 ម៉ោងមុន</translation>
 <translation id="1285320974508926690">មិនបកប្រែគេហទំព័រនេះទៀតឡើយ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index 99ec567..7ccac462 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ಫೋಲ್ಡರ್ ಆರಿಸಿ</translation>
 <translation id="1265739287306757398">ಹೇಗೆ ಎಂಬುದನ್ನು ತಿಳಿದುಕೊಳ್ಳಿ</translation>
 <translation id="1272079795634619415">ನಿಲ್ಲಿಸಿ</translation>
+<translation id="1275718070701477396">ಆಯ್ಕೆ ಮಾಡಿದ</translation>
 <translation id="1282311502488501110">ಸೈನ್ ಇನ್ ಮಾಡಬೇಡಿ</translation>
 <translation id="1283524564873030414">ಕಳೆದ 24 ಗಂಟೆಗಳು</translation>
 <translation id="1285320974508926690">ಈ ಸೈಟ್ ಅನ್ನು ಎಂದಿಗೂ ಭಾಷಾಂತರಿಸದಿರಿ</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">ಆರಂಭಿಕ ಸಿಂಕ್ ಸೆಟಪ್ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ</translation>
 <translation id="2843803966603263712">ಅನುವಾದ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸಿ</translation>
+<translation id="2848086008667475748">ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಎಂಬುದನ್ನು ಬದಲಿಸಿ…</translation>
 <translation id="2858204748079866344">ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸಲು, Chrome ಈ ಫೀಲ್ಡ್‌ನಲ್ಲಿ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಸ್ವಯಂ ಭರ್ತಿ ಮಾಡುವುದಿಲ್ಲ.</translation>
 <translation id="285960592395650245">ಡೌನ್‌ಲೋಡ್ ಮರುಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="2870560284913253234">ಸೈಟ್</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">ಯಾವಾಗಲೂ ತೋರಿಸು</translation>
 <translation id="418156467088430727">ಆಫ್‌ಲೈನ್ ಆವೃತ್ತಿಯನ್ನು ಹೊಸ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ವೀಕ್ಷಿಸಿ</translation>
 <translation id="4181841719683918333">ಭಾಷೆಗಳು</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ಡೀಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ಆ್ಯಪ್<ph name="END_BOLD" /> ಟ್ಯಾಪ್ ಮಾಡಿ</translation>
 <translation id="424315890655130736">ಪಾಸ್‌ಫ್ರೇಸ್ ನಮೂದಿಸಿ</translation>
 <translation id="4263576668337963058">ಲಭ್ಯವಿರುವ ಪುಟದ ಕ್ರಿಯೆಗಳನ್ನು ತೋರಿಸಿ</translation>
 <translation id="4267380167363222949">ಮುಂದಿನ ಟ್ಯಾಬ್</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR ಕೋಡ್ ಅನ್ನು ಹುಡುಕಿ</translation>
 <translation id="4378154925671717803">ಫೋನ್</translation>
 <translation id="4389019817280890563">ಭಾಷೆಯನ್ನು ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ.</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು<ph name="END_BOLD" /> ತೆರೆಯಿರಿ</translation>
 <translation id="4454246407045105932">ಭಾಷೆ ಸೇರಿಸಿ</translation>
 <translation id="4469418912670346607">ಸೆಟಪ್ ಮುಂದುವರಿಸಿ</translation>
 <translation id="4474494258097106883">ನಿಮ್ಮ iPhone ಗಾಗಿ ನಿರ್ಮಿಸಲಾಗಿದೆ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
index e8ab7c2..bcfb523 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">폴더 선택</translation>
 <translation id="1265739287306757398">자세히 알아보기</translation>
 <translation id="1272079795634619415">중지</translation>
+<translation id="1275718070701477396">선택됨</translation>
 <translation id="1282311502488501110">로그인 안함</translation>
 <translation id="1283524564873030414">지난 24시간</translation>
 <translation id="1285320974508926690">이 사이트 번역 안함</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
index 3c5971a..40003e3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Куржун тандоо</translation>
 <translation id="1265739287306757398">Үйрөнүп алыңыз</translation>
 <translation id="1272079795634619415">Токтотуу</translation>
+<translation id="1275718070701477396">Тандалган</translation>
 <translation id="1282311502488501110">Кирбейм</translation>
 <translation id="1283524564873030414">Акыркы 24 саат</translation>
 <translation id="1285320974508926690">Бул сайт эч качан которулбасын</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
index ce36596..66ff0c13 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ເລືອກ​ໂຟລເດີ</translation>
 <translation id="1265739287306757398">ສຶກສາວິທີການ</translation>
 <translation id="1272079795634619415">ຢຸດ</translation>
+<translation id="1275718070701477396">​ເລືອກແລ້ວ</translation>
 <translation id="1282311502488501110">ຢ່າເຂົ້າສູ່ລະບົບ</translation>
 <translation id="1283524564873030414">24 ຊົ່ວໂມງຜ່ານມາ</translation>
 <translation id="1285320974508926690">ຢ່າແປເວັບ​ໄຊ​ທ໌ນີ້</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
index c9b1161..143d590 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Pasirinkti aplanką</translation>
 <translation id="1265739287306757398">Sužinoti, kaip tai padaryti</translation>
 <translation id="1272079795634619415">Sustabdyti</translation>
+<translation id="1275718070701477396">Pasirinkta</translation>
 <translation id="1282311502488501110">Neprisijungti</translation>
 <translation id="1283524564873030414">Pastarosios 24 valandos</translation>
 <translation id="1285320974508926690">Niekada neversti šios svetainės</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index c508ef1..4463ebf4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Mapes izvēle</translation>
 <translation id="1265739287306757398">Uzzināt, kā to izdarīt</translation>
 <translation id="1272079795634619415">Apturēt</translation>
+<translation id="1275718070701477396">Atlasīta</translation>
 <translation id="1282311502488501110">Nepierakstīties</translation>
 <translation id="1283524564873030414">Pēdējās 24 stundas</translation>
 <translation id="1285320974508926690">Nekad netulkot šo vietni</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mk.xtb b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
index e0d3495..df1e7cb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Одбери Папка</translation>
 <translation id="1265739287306757398">Дознајте како</translation>
 <translation id="1272079795634619415">Запри</translation>
+<translation id="1275718070701477396">Избран</translation>
 <translation id="1282311502488501110">Не се најавувај</translation>
 <translation id="1283524564873030414">Изминатите 24 часа</translation>
 <translation id="1285320974508926690">Никогаш не преведувај ја оваа локација</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index e54109c3..e96d97c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ഫോൾഡർ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="1265739287306757398">എങ്ങനെയെന്നറിയുക</translation>
 <translation id="1272079795634619415">നിര്‍ത്തുക</translation>
+<translation id="1275718070701477396">തിരഞ്ഞെടുത്തു</translation>
 <translation id="1282311502488501110">സൈൻ ഇൻ ചെയ്യരുത്</translation>
 <translation id="1283524564873030414">അവസാന 24 മണിക്കൂർ</translation>
 <translation id="1285320974508926690">ഈ സൈറ്റ് ഒരിക്കലും വിവര്‍‌ത്തനം ചെയ്യരുത്</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mn.xtb b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
index 756b84e..2df4ff1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Хавтсыг сонгох</translation>
 <translation id="1265739287306757398">Заавар харах</translation>
 <translation id="1272079795634619415">Зогс</translation>
+<translation id="1275718070701477396">Сонгогдсон</translation>
 <translation id="1282311502488501110">Бүү нэвтэр</translation>
 <translation id="1283524564873030414">Сүүлийн 24 цаг</translation>
 <translation id="1285320974508926690">Энэ сайтыг хэзээ ч бүү хөрвүүл</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index 846fca04..429dbf2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">फोल्डर निवडा</translation>
 <translation id="1265739287306757398">कसे ते जाणून घ्या</translation>
 <translation id="1272079795634619415">थांबा</translation>
+<translation id="1275718070701477396">निवडलेले</translation>
 <translation id="1282311502488501110">साइन इन करू नका</translation>
 <translation id="1283524564873030414">मागील २४ तासांचा</translation>
 <translation id="1285320974508926690">या साइटचा कधीही भाषांतर करु नका</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">सुरुवातीचे सिंक सेट करणे पूर्ण झाले नाही</translation>
 <translation id="2843803966603263712">भाषांतर सेटिंग्‍ज रीसेट करा</translation>
+<translation id="2848086008667475748">सेटिंग्ज मध्ये डीफॉल्ट बनवा…</translation>
 <translation id="2858204748079866344">तुमच्या गोपनीयतेचे संरक्षण करण्‍यासाठी, Chrome या भागामध्ये तुमचा पासवर्ड ऑटोफिल करणार नाही.</translation>
 <translation id="285960592395650245">पुन्हा डाउनलोड करण्याचा प्रयत्न करा</translation>
 <translation id="2870560284913253234">साइट</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">नेहमी दर्शवा</translation>
 <translation id="418156467088430727">नवीन टॅबमध्‍ये ऑफलाइन आवृत्ती पहा</translation>
 <translation id="4181841719683918333">भाषा</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />डीफॉल्ट ब्राउझर अ‍ॅप<ph name="END_BOLD" /> वर टॅप करा</translation>
 <translation id="424315890655130736">सांकेतिक पासफ्रेझ एंटर करा</translation>
 <translation id="4263576668337963058">उपलब्ध असलेल्या पेज क्रिया दाखवा</translation>
 <translation id="4267380167363222949">पुढील टॅब</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR कोड शोध</translation>
 <translation id="4378154925671717803">फोन</translation>
 <translation id="4389019817280890563">भाषा बदलण्यासाठी टॅप करा.</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />सेटिंग्ज<ph name="END_BOLD" /> उघडा</translation>
 <translation id="4454246407045105932">भाषा जोडा</translation>
 <translation id="4469418912670346607">सेटअप सुरू ठेवा</translation>
 <translation id="4474494258097106883">तुमच्या iPhone साठी तयार केलेले</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index 3deb29cc..4db0f3a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Pilih Folder</translation>
 <translation id="1265739287306757398">Ketahui Caranya</translation>
 <translation id="1272079795634619415">Berhenti</translation>
+<translation id="1275718070701477396">Dipilih</translation>
 <translation id="1282311502488501110">Jangan Log Masuk</translation>
 <translation id="1283524564873030414">24 Jam Yang Lalu</translation>
 <translation id="1285320974508926690">Jangan sekali-kali menterjemahkan tapak ini</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_my.xtb b/ios/chrome/app/strings/resources/ios_strings_my.xtb
index 1cd908f..b6957ce8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_my.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_my.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ဖိုလ်ဒါကို ရွေးရန်</translation>
 <translation id="1265739287306757398">လုပ်ပုံကို လေ့လာပါ</translation>
 <translation id="1272079795634619415">ရပ်ရန်</translation>
+<translation id="1275718070701477396">ရွေးထား</translation>
 <translation id="1282311502488501110">လက်မှတ်ထိုး မဝင်ပါနှင့်</translation>
 <translation id="1283524564873030414">ပြီးခဲ့သည့် ၂၄ နာရီ</translation>
 <translation id="1285320974508926690">ဒီဆိုက်ကို ဘယ်တော့မှ ဘာသာမပြန်ပါနှင့်</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ne.xtb b/ios/chrome/app/strings/resources/ios_strings_ne.xtb
index e5b23828..056ced2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ne.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ne.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">फोल्डर रोज्नुहोस्</translation>
 <translation id="1265739287306757398">कसरी गर्ने भनी सिक्नुहोस्</translation>
 <translation id="1272079795634619415">रोक्नुहोस्</translation>
+<translation id="1275718070701477396">चयन गरिएको</translation>
 <translation id="1282311502488501110">साइन इन नगर्नुहोस्</translation>
 <translation id="1283524564873030414">पछिल्ला २४ घन्टा</translation>
 <translation id="1285320974508926690">यो साइट कहिले पनि अनुवाद नगर्नुहोस्</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index 223ebb3..e50c021 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Map kiezen</translation>
 <translation id="1265739287306757398">Meer informatie</translation>
 <translation id="1272079795634619415">Stop</translation>
+<translation id="1275718070701477396">Geselecteerd</translation>
 <translation id="1282311502488501110">Niet inloggen</translation>
 <translation id="1283524564873030414">Afgelopen 24 uur</translation>
 <translation id="1285320974508926690">Deze site nooit vertalen</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb
index c7370538..3466a6f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Valg av mappe</translation>
 <translation id="1265739287306757398">Finn ut hvordan</translation>
 <translation id="1272079795634619415">Stopp</translation>
+<translation id="1275718070701477396">Valgt</translation>
 <translation id="1282311502488501110">Ikke logg på</translation>
 <translation id="1283524564873030414">Siste døgn</translation>
 <translation id="1285320974508926690">Oversett aldri dette nettstedet</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_or.xtb b/ios/chrome/app/strings/resources/ios_strings_or.xtb
index 93b462b..6252c1d4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_or.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ଫୋଲ୍ଡର୍‌ ବାଛନ୍ତୁ</translation>
 <translation id="1265739287306757398">କିପରି ହେବ ତାହା ଜାଣନ୍ତୁ</translation>
 <translation id="1272079795634619415">ବନ୍ଦ କରନ୍ତୁ</translation>
+<translation id="1275718070701477396">ଚୟନ କରାଯାଇଛି</translation>
 <translation id="1282311502488501110">ସାଇନ୍ ଇନ୍ କରନ୍ତୁ ନାହିଁ</translation>
 <translation id="1283524564873030414">ଗତ 24 ଘଣ୍ଟା</translation>
 <translation id="1285320974508926690">ଏହି ସାଇଟ୍‍କୁ କଦାପି ଅନୁବାଦ କରନ୍ତୁ ନାହିଁ</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />:<ph name="STATE" />:<ph name="URL" /></translation>
 <translation id="2840687315230832938">ପ୍ରାରମ୍ଭିକ ସେଟ୍‌ଅପ୍ ସମାପ୍ତ ହୋଇନାହିଁ</translation>
 <translation id="2843803966603263712">ଅନୁବାଦ ସେଟିଂସ୍ ରିସେଟ୍ କରନ୍ତୁ</translation>
+<translation id="2848086008667475748">ସେଟିଂସରେ ଡିଫଲ୍ଟ ଭାବେ ସେଟ୍ କରନ୍ତୁ…</translation>
 <translation id="2858204748079866344">ଆପଣଙ୍କର ଗୋପନୀୟତାର ସୁରକ୍ଷା ପାଇଁ ଏହି ଫିଲ୍ଡରେ Chrome ଆପଣଙ୍କର ପାସ୍‌ୱର୍ଡକୁ ସ୍ୱତଃପୂରଣ କରିବ ନାହିଁ।</translation>
 <translation id="285960592395650245">ଡାଉନ୍‌ଲୋଡ୍ କରିବାକୁ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ</translation>
 <translation id="2870560284913253234">ସାଇଟ୍</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">ସର୍ବଦା ଦେଖାନ୍ତୁ</translation>
 <translation id="418156467088430727">ନୂଆ ଟାବ୍‌ରେ ଅଫ୍‌ଲାଇନ୍ ସଂସ୍କରଣ ଦେଖନ୍ତୁ</translation>
 <translation id="4181841719683918333">ଭାଷାସମୂହ</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍ ଆପ<ph name="END_BOLD" />ରେ ଟାପ୍ କରନ୍ତୁ</translation>
 <translation id="424315890655130736">ପାସଫ୍ରେଜ୍ ଲେଖନ୍ତୁ</translation>
 <translation id="4263576668337963058">ପୃଷ୍ଠାର ଉପଲବ୍ଧ ଥିବା କାର୍ଯ୍ୟଗୁଡ଼ିକ ଦେଖାନ୍ତୁ</translation>
 <translation id="4267380167363222949">ପରବର୍ତ୍ତୀ ଟାବ୍</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR କୋଡ୍‍ ସର୍ଚ୍ଚ</translation>
 <translation id="4378154925671717803">ଫୋନ୍</translation>
 <translation id="4389019817280890563">ଭାଷା ପରିବର୍ତ୍ତନ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ।</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />ସେଟିଂସ୍<ph name="END_BOLD" /> ଖୋଲନ୍ତୁ</translation>
 <translation id="4454246407045105932">ଭାଷା ଯୋଗ କରନ୍ତୁ</translation>
 <translation id="4469418912670346607">ସେଟଅପ୍ ଜାରି ରଖନ୍ତୁ</translation>
 <translation id="4474494258097106883">ଆପଣଙ୍କ iPhone ପାଇଁ ତିଆରି କରାଯାଇଛି</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
index 19c6da9..5f0fc72 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ਫੋਲਡਰ ਚੁਣੋ</translation>
 <translation id="1265739287306757398">ਤਰੀਕਾ ਜਾਣੋ</translation>
 <translation id="1272079795634619415">ਰੋਕੋ</translation>
+<translation id="1275718070701477396">ਚੁਣਿਆ ਗਿਆ</translation>
 <translation id="1282311502488501110">ਸਾਈਨ-ਇਨ ਨਾ ਕਰੋ</translation>
 <translation id="1283524564873030414">ਪਿਛਲੇ 24 ਘੰਟੇ</translation>
 <translation id="1285320974508926690">ਕਦੇ ਵੀ ਇਸ ਸਾਈਟ ਦਾ ਅਨੁਵਾਦ ਨਾ ਕਰੋ</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">ਮੁੱਢਲਾ ਸਮਕਾਲੀਕਰਨ ਸੈੱਟਅੱਪ ਪੂਰਾ ਨਹੀਂ ਹੋਇਆ</translation>
 <translation id="2843803966603263712">ਅਨੁਵਾਦ ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕਰੋ</translation>
+<translation id="2848086008667475748">ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਬਣਾਓ…</translation>
 <translation id="2858204748079866344">ਤੁਹਾਡੀ ਪਰਦੇਦਾਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ, Chrome ਇਸ ਖੇਤਰ ਵਿੱਚ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨੂੰ ਆਟੋਫਿਲ ਨਹੀਂ ਕਰੇਗਾ।</translation>
 <translation id="285960592395650245">ਡਾਊਨਲੋਡ ਦੀ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ</translation>
 <translation id="2870560284913253234">ਸਾਈਟ</translation>
@@ -322,6 +324,7 @@
 <translation id="4172051516777682613">ਹਮੇਸ਼ਾਂ ਦਿਖਾਓ</translation>
 <translation id="418156467088430727">ਨਵੀਂ ਟੈਬ ਵਿੱਚ ਆਫ਼ਲਾਈਨ ਵਰਜਨ ਦੇਖੋ</translation>
 <translation id="4181841719683918333">ਭਾਸ਼ਾਵਾਂ</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਬ੍ਰਾਊਜ਼ਰ ਐਪ<ph name="END_BOLD" /> 'ਤੇ ਟੈਪ ਕਰੋ</translation>
 <translation id="424315890655130736">ਪਾਸਫਰੇਜ਼ ਦਾਖਲ ਕਰੋ</translation>
 <translation id="4263576668337963058">ਉਪਲਬਧ ਪੰਨਾ ਕਾਰਵਾਈਆਂ ਦਿਖਾਓ</translation>
 <translation id="4267380167363222949">ਅਗਲੀ ਟੈਬ</translation>
@@ -337,6 +340,7 @@
 <translation id="4375040482473363939">QR ਕੋਡ ਖੋਜ</translation>
 <translation id="4378154925671717803">ਫ਼ੋਨ</translation>
 <translation id="4389019817280890563">ਭਾਸ਼ਾ ਬਦਲਣ ਲਈ ਟੈਪ ਕਰੋ।</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />ਸੈਟਿੰਗਾਂ<ph name="END_BOLD" /> ਖੋਲ੍ਹੋ</translation>
 <translation id="4454246407045105932">ਭਾਸ਼ਾ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="4469418912670346607">ਸੈੱਟਅੱਪ ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="4474494258097106883">ਤੁਹਾਡੇ iPhone ਲਈ ਬਣਾਇਆ ਗਿਆ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index 3533d9b2..66acbf4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Wybierz folder</translation>
 <translation id="1265739287306757398">Instrukcje</translation>
 <translation id="1272079795634619415">Zatrzymaj</translation>
+<translation id="1275718070701477396">Zaznaczone</translation>
 <translation id="1282311502488501110">Nie loguj się</translation>
 <translation id="1283524564873030414">Ostatnie 24 godziny</translation>
 <translation id="1285320974508926690">Nigdy nie tłumacz tej witryny</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
index 01a2a306..8b7eb9ef 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Escolher pasta</translation>
 <translation id="1265739287306757398">Saiba como</translation>
 <translation id="1272079795634619415">Parar</translation>
+<translation id="1275718070701477396">Selecionado</translation>
 <translation id="1282311502488501110">Não fazer login</translation>
 <translation id="1283524564873030414">Últimas 24 horas</translation>
 <translation id="1285320974508926690">Nunca traduzir este site</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
index 6bf38407..6230a53 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Escolher Pasta</translation>
 <translation id="1265739287306757398">Saiba como</translation>
 <translation id="1272079795634619415">Parar</translation>
+<translation id="1275718070701477396">Selecionado</translation>
 <translation id="1282311502488501110">Não iniciar sessão</translation>
 <translation id="1283524564873030414">Últimas 24 horas</translation>
 <translation id="1285320974508926690">Nunca traduzir este site</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index e139574..06322d32f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Alegeți dosarul</translation>
 <translation id="1265739287306757398">Află cum</translation>
 <translation id="1272079795634619415">Oprește</translation>
+<translation id="1275718070701477396">Selectat</translation>
 <translation id="1282311502488501110">Nu mă conectez</translation>
 <translation id="1283524564873030414">Ultimele 24 de ore</translation>
 <translation id="1285320974508926690">Nu traduce niciodată acest site</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
index 643b5c8..54f73b0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Выбор папки</translation>
 <translation id="1265739287306757398">Подробнее</translation>
 <translation id="1272079795634619415">Остановить</translation>
+<translation id="1275718070701477396">Выбрано</translation>
 <translation id="1282311502488501110">Отмена</translation>
 <translation id="1283524564873030414">Последние 24 часа</translation>
 <translation id="1285320974508926690">Никогда не переводить этот сайт</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_si.xtb b/ios/chrome/app/strings/resources/ios_strings_si.xtb
index 89e5932d..b5872f2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_si.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_si.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ෆෝල්ඩරය තෝරන්න</translation>
 <translation id="1265739287306757398">කෙසේදැයි දැන ගන්න</translation>
 <translation id="1272079795634619415">නවතන්න</translation>
+<translation id="1275718070701477396">තෝරාගත්</translation>
 <translation id="1282311502488501110">පුරන්න එපා</translation>
 <translation id="1283524564873030414">පසුගිය පැය 24</translation>
 <translation id="1285320974508926690">මෙම අඩවිය කිසිවිට පරිවර්තනය නොකරන්න</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index dcb04e9..49900f2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Vybrať priečinok</translation>
 <translation id="1265739287306757398">Ako na to</translation>
 <translation id="1272079795634619415">Zastaviť</translation>
+<translation id="1275718070701477396">Vybraté</translation>
 <translation id="1282311502488501110">Neprihlasovať sa</translation>
 <translation id="1283524564873030414">Posledných 24 hodín</translation>
 <translation id="1285320974508926690">Nikdy neprekladať tieto webové stránky</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
index dd77b1a7..10b629e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Izbira mape</translation>
 <translation id="1265739287306757398">Več o tem</translation>
 <translation id="1272079795634619415">Ustavi</translation>
+<translation id="1275718070701477396">Izbrano</translation>
 <translation id="1282311502488501110">Brez prijave</translation>
 <translation id="1283524564873030414">Zadnjih 24 ur</translation>
 <translation id="1285320974508926690">Nikoli ne prevedi tega spletnega mesta</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sq.xtb b/ios/chrome/app/strings/resources/ios_strings_sq.xtb
index 3849006..1bec7bac 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sq.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sq.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Zgjidh dosjen</translation>
 <translation id="1265739287306757398">Mëso se si</translation>
 <translation id="1272079795634619415">Ndalo</translation>
+<translation id="1275718070701477396">Përzgjedhur</translation>
 <translation id="1282311502488501110">Mos u identifiko</translation>
 <translation id="1283524564873030414">24 orët e fundit</translation>
 <translation id="1285320974508926690">Asnjëherë mos e përkthe këtë sajt</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
index 8feb277..a73a68d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Izbor direktorijuma</translation>
 <translation id="1265739287306757398">Saznajte kako</translation>
 <translation id="1272079795634619415">Zaustavi</translation>
+<translation id="1275718070701477396">Izabrano</translation>
 <translation id="1282311502488501110">Ne prijavljuj me</translation>
 <translation id="1283524564873030414">Poslednja 24 sata</translation>
 <translation id="1285320974508926690">Nikad ne prevodi ovaj sajt</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index da37cad..7407ee5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Избор директоријума</translation>
 <translation id="1265739287306757398">Сазнајте како</translation>
 <translation id="1272079795634619415">Заустави</translation>
+<translation id="1275718070701477396">Изабрано</translation>
 <translation id="1282311502488501110">Не пријављуј ме</translation>
 <translation id="1283524564873030414">Последња 24 сата</translation>
 <translation id="1285320974508926690">Никад не преводи овај сајт</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
index f55d4f6..1e0575e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Välj mapp</translation>
 <translation id="1265739287306757398">Läs mer</translation>
 <translation id="1272079795634619415">Stopp</translation>
+<translation id="1275718070701477396">Markerad</translation>
 <translation id="1282311502488501110">Logga inte in</translation>
 <translation id="1283524564873030414">Senaste 24 timmarna</translation>
 <translation id="1285320974508926690">Översätt aldrig den här webbplatsen</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
index 8eb9b53..91869c3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Chagua Folda</translation>
 <translation id="1265739287306757398">Pata Maelezo Zaidi</translation>
 <translation id="1272079795634619415">Simamisha</translation>
+<translation id="1275718070701477396">Imechaguliwa</translation>
 <translation id="1282311502488501110">Usiingie Katika Akaunti</translation>
 <translation id="1283524564873030414">Saa 24 Zilizopita</translation>
 <translation id="1285320974508926690">Kamwe usitafsiri tovuti hii</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
index 9ad7459..c5a4603 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">கோப்புறையைத் தேர்வுசெய்யவும்</translation>
 <translation id="1265739287306757398">எப்படி என அறிக</translation>
 <translation id="1272079795634619415">நிறுத்து</translation>
+<translation id="1275718070701477396">தேர்ந்தெடுக்கப்பட்டது</translation>
 <translation id="1282311502488501110">உள்நுழைய வேண்டாம்</translation>
 <translation id="1283524564873030414">கடந்த 24 மணிநேரம்</translation>
 <translation id="1285320974508926690">இந்த தளத்தை எப்போதும் மொழிபெயர்க்க வேண்டாம்</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">ஒத்திசைப்பதற்கான முதற்கட்ட அமைவு முடியவில்லை</translation>
 <translation id="2843803966603263712">மொழியாக்க அமைப்புகளை மீட்டமை</translation>
+<translation id="2848086008667475748">அமைப்புகளில் இயல்பு உலாவியாக அமை…</translation>
 <translation id="2858204748079866344">உங்கள் தனியுரிமையைப் பாதுகாக்க, Chrome இந்தப் புலத்தில் உங்கள் கடவுச்சொல்லைத் தானாக நிரப்பாது.</translation>
 <translation id="285960592395650245">மீண்டும் பதிவிறக்கு</translation>
 <translation id="2870560284913253234">தளம்</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">எப்போதும் காட்டு</translation>
 <translation id="418156467088430727">புதிய தாவலில் ஆஃப்லைன் பதிப்பைக் காட்டு</translation>
 <translation id="4181841719683918333">மொழிகள்</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />இயல்பு உலாவி ஆப்ஸ்<ph name="END_BOLD" /> என்பதைத் தட்டவும்</translation>
 <translation id="424315890655130736">கடவுச்சொற்றொடரை உள்ளிடுக</translation>
 <translation id="4263576668337963058">இருக்கின்ற பக்கச் செயல்பாடுகளைக் காட்டு</translation>
 <translation id="4267380167363222949">அடுத்த தாவல்</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR குறியீட்டுத் தேடல்</translation>
 <translation id="4378154925671717803">மொபைல்</translation>
 <translation id="4389019817280890563">மொழியை மாற்ற தட்டவும்.</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />அமைப்புகளைத்<ph name="END_BOLD" /> திறக்கவும்</translation>
 <translation id="4454246407045105932">மொழியைச் சேர்த்தல்</translation>
 <translation id="4469418912670346607">அமைவைத் தொடர்க</translation>
 <translation id="4474494258097106883">iPhoneனுக்காக உருவாக்கப்பட்டது</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb
index 4c75fff..1b52116 100644
--- a/ios/chrome/app/strings/resources/ios_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">ఫోల్డర్‌ను ఎంచుకోండి</translation>
 <translation id="1265739287306757398">ఎలాగో తెలుసుకోండి</translation>
 <translation id="1272079795634619415">ఆపు</translation>
+<translation id="1275718070701477396">ఎంపికైంది</translation>
 <translation id="1282311502488501110">సైన్ ఇన్ చేయవద్దు</translation>
 <translation id="1283524564873030414">గత 24 గంటలు</translation>
 <translation id="1285320974508926690">ఈ సైట్‌ను ఎప్పటికీ అనువదించవద్దు</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation>
 <translation id="2840687315230832938">ప్రారంభ సింక్ సెటప్ పూర్తి కాలేదు</translation>
 <translation id="2843803966603263712">అనువాద సెట్టింగ్‌లను రీసెట్ చేయి</translation>
+<translation id="2848086008667475748">సెట్టింగ్‌లకు వెళ్లి దానిని 'ఆటోమేటిక్ సెట్టింగ్'గా సెట్ చేయండి…</translation>
 <translation id="2858204748079866344">మీ గోప్యతను సంరక్షించడానికి, Chrome ఈ ఫీల్డ్‌లో మీ పాస్‌వర్డ్‌ను ఆటోమేటిక్‌గా పూరించదు.</translation>
 <translation id="285960592395650245">రీట్రై డౌన్‌లోడ్‌</translation>
 <translation id="2870560284913253234">సైట్</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">ఎల్లప్పుడూ చూపు</translation>
 <translation id="418156467088430727">కొత్త ట్యాబ్‌లో ఆఫ్‌లైన్ వెర్ష‌న్‌ను చూడండి</translation>
 <translation id="4181841719683918333">భాషలు</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ఆటోమేటిక్ బ్రౌజర్ యాప్<ph name="END_BOLD" />‌ను ట్యాప్ చేయండి</translation>
 <translation id="424315890655130736">రహస్య పదబంధాన్ని నమోదు చేయండి</translation>
 <translation id="4263576668337963058">పేజీ కోసం అందుబాటులో ఉన్న చర్యలను చూపించు</translation>
 <translation id="4267380167363222949">తర్వాతి ట్యాబ్</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR కోడ్ శోధన</translation>
 <translation id="4378154925671717803">ఫోన్</translation>
 <translation id="4389019817280890563">భాషను మార్చడానికి నొక్కండి.</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />సెట్టింగ్‌ల<ph name="END_BOLD" />ను తెరవండి</translation>
 <translation id="4454246407045105932">భాషను జోడించండి</translation>
 <translation id="4469418912670346607">సెటప్‌ను కొనసాగించు</translation>
 <translation id="4474494258097106883">మీ iPhone కోసం రూపొందించబడింది</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index 9cdd6a4..dd1463a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">เลือกโฟลเดอร์</translation>
 <translation id="1265739287306757398">เรียนรู้วิธี</translation>
 <translation id="1272079795634619415">หยุด</translation>
+<translation id="1275718070701477396">เลือกแล้ว</translation>
 <translation id="1282311502488501110">ไม่ต้องลงชื่อเข้าใช้</translation>
 <translation id="1283524564873030414">24 ชั่วโมงที่ผ่านมา</translation>
 <translation id="1285320974508926690">ไม่ต้องแปลเว็บไซต์นี้</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
index ac09f96..69af1a1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Klasör Seçin</translation>
 <translation id="1265739287306757398">Nasıl Yapacağınızı Öğrenin</translation>
 <translation id="1272079795634619415">Durdur</translation>
+<translation id="1275718070701477396">Seçili</translation>
 <translation id="1282311502488501110">Oturum Açma</translation>
 <translation id="1283524564873030414">Son 24 Saat</translation>
 <translation id="1285320974508926690">Bu siteyi hiçbir zaman çevirme</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
index 0b76d80..18bed1c0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Вибрати папку</translation>
 <translation id="1265739287306757398">Докладніше</translation>
 <translation id="1272079795634619415">Зупинити</translation>
+<translation id="1275718070701477396">Вибрано</translation>
 <translation id="1282311502488501110">Не входити</translation>
 <translation id="1283524564873030414">Останні 24 години</translation>
 <translation id="1285320974508926690">Ніколи не перекладати цей сайт</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
index 94cc6f5..39307220 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">فولڈر کا انتخاب کریں</translation>
 <translation id="1265739287306757398">طریقہ جانیں</translation>
 <translation id="1272079795634619415">روکیں</translation>
+<translation id="1275718070701477396">منتخب</translation>
 <translation id="1282311502488501110">سائن ان نہ کریں</translation>
 <translation id="1283524564873030414">گزشتہ 24 گھنٹے</translation>
 <translation id="1285320974508926690">اس سائٹ کا ترجمہ کبھی نہ کریں</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />، <ph name="STATE" />، <ph name="URL" /></translation>
 <translation id="2840687315230832938">مطابقت پذیری کا ابتدائی سیٹ اپ مکمل نہیں ہوا</translation>
 <translation id="2843803966603263712">‏Translate کی ترتیبات کو دوبارہ ترتیب دیں</translation>
+<translation id="2848086008667475748">ترتیبات میں ڈیفالٹ بنائیں…</translation>
 <translation id="2858204748079866344">‏آپ کی رازداری کے تحفظ کے لیے، Chrome اس فیلڈ میں آپ کا پاس ورڈ آٹو فل نہیں کرے گا۔</translation>
 <translation id="285960592395650245">ڈاؤن لوڈ کی دوبارہ کوشش کریں</translation>
 <translation id="2870560284913253234">سائٹ</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">ہمیشہ دکھائیں</translation>
 <translation id="418156467088430727">نئے ٹیب میں آف لائن ورژن دیکھیں</translation>
 <translation id="4181841719683918333">زبانیں</translation>
+<translation id="4237377247299956313"><ph name="BEGIN_BOLD" />ڈیفالٹ براؤزر ایپ<ph name="END_BOLD" /> پر تھپتھپائیں</translation>
 <translation id="424315890655130736">پاس فریز درج کریں</translation>
 <translation id="4263576668337963058">دستیاب صفحہ کی کارروائیاں دکھائیں</translation>
 <translation id="4267380167363222949">اگلا ٹیب</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">‏QR کوڈ کی تلاش</translation>
 <translation id="4378154925671717803">فون</translation>
 <translation id="4389019817280890563">زبان تبدیل کرنے کے لیے تھپتھپائیں۔</translation>
+<translation id="4442550905108052454"><ph name="BEGIN_BOLD" />ترتیبات<ph name="END_BOLD" /> کھولیں</translation>
 <translation id="4454246407045105932">زبان شامل کریں</translation>
 <translation id="4469418912670346607">سیٹ اپ جاری رکھیں</translation>
 <translation id="4474494258097106883">‏آپ کے iPhone کے لیے بنایا گیا</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uz.xtb b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
index 5167e0b..0cc810cb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uz.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Jildni tanlash</translation>
 <translation id="1265739287306757398">Batafsil axborot</translation>
 <translation id="1272079795634619415">To‘xtatish</translation>
+<translation id="1275718070701477396">Tanlandi</translation>
 <translation id="1282311502488501110">Kirilmasin</translation>
 <translation id="1283524564873030414">Oxirgi 24 soat</translation>
 <translation id="1285320974508926690">Bu sayt hech qachon tarjima qilinmasin</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index bdec9f027..f1ea5477 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Chọn thư mục</translation>
 <translation id="1265739287306757398">Tìm hiểu cách thức</translation>
 <translation id="1272079795634619415">Dừng</translation>
+<translation id="1275718070701477396">Đã chọn</translation>
 <translation id="1282311502488501110">Không đăng nhập</translation>
 <translation id="1283524564873030414">24 giờ qua</translation>
 <translation id="1285320974508926690">Không bao giờ dịch trang web này</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 774bf61..26e5dcf63 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">选择文件夹</translation>
 <translation id="1265739287306757398">了解如何操作</translation>
 <translation id="1272079795634619415">停止</translation>
+<translation id="1275718070701477396">已选中</translation>
 <translation id="1282311502488501110">不登录</translation>
 <translation id="1283524564873030414">过去 24 小时</translation>
 <translation id="1285320974508926690">一律不翻译此网站</translation>
@@ -185,6 +186,7 @@
 <translation id="2834956026595107950"><ph name="TITLE" />,<ph name="STATE" />,<ph name="URL" /></translation>
 <translation id="2840687315230832938">未完成初始同步设置</translation>
 <translation id="2843803966603263712">重置翻译设置</translation>
+<translation id="2848086008667475748">在“设置”中设为默认选项…</translation>
 <translation id="2858204748079866344">为保护您的隐私,Chrome 不会在此字段中自动填充您的密码。</translation>
 <translation id="285960592395650245">重试下载</translation>
 <translation id="2870560284913253234">网站</translation>
@@ -324,6 +326,7 @@
 <translation id="4172051516777682613">一律显示</translation>
 <translation id="418156467088430727">在新标签页中查看离线版本</translation>
 <translation id="4181841719683918333">语言</translation>
+<translation id="4237377247299956313">点按<ph name="BEGIN_BOLD" />默认浏览器应用<ph name="END_BOLD" /></translation>
 <translation id="424315890655130736">请输入密码</translation>
 <translation id="4263576668337963058">显示可用的网页操作</translation>
 <translation id="4267380167363222949">下一个标签页</translation>
@@ -339,6 +342,7 @@
 <translation id="4375040482473363939">QR 码搜索</translation>
 <translation id="4378154925671717803">电话机</translation>
 <translation id="4389019817280890563">点按此行即可更改语言。</translation>
+<translation id="4442550905108052454">打开<ph name="BEGIN_BOLD" />设置<ph name="END_BOLD" /></translation>
 <translation id="4454246407045105932">添加语言</translation>
 <translation id="4469418912670346607">继续设置</translation>
 <translation id="4474494258097106883">专为 iPhone 打造</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 0dadcf2..044c899 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">選擇資料夾</translation>
 <translation id="1265739287306757398">操作說明</translation>
 <translation id="1272079795634619415">停止</translation>
+<translation id="1275718070701477396">已選取</translation>
 <translation id="1282311502488501110">不登入</translation>
 <translation id="1283524564873030414">過去 24 小時</translation>
 <translation id="1285320974508926690">永不翻譯此網站</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 c3531954..47cdecd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">選擇資料夾</translation>
 <translation id="1265739287306757398">操作說明</translation>
 <translation id="1272079795634619415">停止</translation>
+<translation id="1275718070701477396">已選取</translation>
 <translation id="1282311502488501110">不登入</translation>
 <translation id="1283524564873030414">過去 24 小時</translation>
 <translation id="1285320974508926690">一律不翻譯此網站</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zu.xtb b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
index dcd90bf..82027df0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
@@ -40,6 +40,7 @@
 <translation id="1254117744268754948">Khetha ifolda</translation>
 <translation id="1265739287306757398">Funda ukuthi kanjani</translation>
 <translation id="1272079795634619415">Misa</translation>
+<translation id="1275718070701477396">Ikhethiwe</translation>
 <translation id="1282311502488501110">Ungangeni ngemvume</translation>
 <translation id="1283524564873030414">Amahora angu-24 okugcina</translation>
 <translation id="1285320974508926690">Ungalokothi uhumushe leli sayithi</translation>
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_as.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_as.xtb
index 44051c7..8258e86 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_as.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_as.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">ব্যৱহাৰকাৰীৰ নাম</translation>
 <translation id="8518521100965196752">পাছৱৰ্ডসমূহ ব্যৱহাৰ কৰিবলৈ আপুনি প্ৰথমে নিজৰ ডিভাইচত এটা পাছক’ড ছেট কৰিবই লাগিব।</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" />ৰ বাবে</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_bn.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_bn.xtb
index d7475da..74bed04 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_bn.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_bn.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">ইউজারনেম</translation>
 <translation id="8518521100965196752">পাসওয়ার্ড ব্যবহার করার জন্য আপনার ডিভাইসে আপনাকে একটি পাসকোড সেট করতে হবে।</translation>
 <translation id="8877181643142698531">ইউআরএল</translation>
+<translation id="9069288651897538648"><ph name="URL" />-এর জন্য</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_gu.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_gu.xtb
index f262027..fb43d7b 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_gu.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_gu.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">વપરાશકર્તાનામ</translation>
 <translation id="8518521100965196752">પાસવર્ડનો ઉપયોગ કરવા માટે, તમારે પહેલાં તમારા ડિવાઇસ પર પાસકોડ સેટ કરવો આવશ્યક છે.</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> માટે</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_kn.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_kn.xtb
index 9a8b582..4e5b210d00 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_kn.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_kn.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">ಬಳಕೆದಾರರಹೆಸರು</translation>
 <translation id="8518521100965196752">ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಬಳಸಲು, ನೀವು ಮೊದಲು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಪಾಸ್‌ಕೋಡ್ ಅನ್ನು ಹೊಂದಿಸಬೇಕು.</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> ಗಾಗಿ</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_mr.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_mr.xtb
index 8a97673..94e2589 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_mr.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_mr.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">वापरकर्ता नाव</translation>
 <translation id="8518521100965196752">पासवर्ड वापरण्यासाठी, तुम्ही आधी तुमच्या डिव्हाइसवर पासकोड सेट करणे आवश्यक आहे.</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> साठी</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_or.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_or.xtb
index bbb2a10a..1ada1d5a 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_or.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_or.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">ଉପଯୋଗକର୍ତ୍ତାନାମ</translation>
 <translation id="8518521100965196752">ପାସୱାର୍ଡଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବାକୁ, ଆପଣ ଆପଣଙ୍କ ଡିଭାଇସରେ ନିଶ୍ଚିତ ରୂପେ ପ୍ରଥମେ ଏକ ପାସକୋଡ୍ ସେଟ୍ କରିବା ଆବଶ୍ୟକ।</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> ପାଇଁ</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_pa.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_pa.xtb
index 19d3c63..7c155db 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_pa.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_pa.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">ਵਰਤੋਂਕਾਰ ਨਾਮ</translation>
 <translation id="8518521100965196752">ਪਾਸਵਰਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਆਪਣੇ ਡੀਵਾਈਸ 'ਤੇ ਪਾਸਕੋਡ ਸੈੱਟ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> ਲਈ</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ta.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ta.xtb
index 6a3dd2a..4772733 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ta.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ta.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">பயனர்பெயர்</translation>
 <translation id="8518521100965196752">கடவுச்சொற்களைப் பயன்படுத்த, முதலில் உங்கள் சாதனத்தில் கடவுக்குறியீட்டை அமைக்க வேண்டும்.</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> தளத்திற்கு</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_te.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_te.xtb
index 8887316..2b1ee57 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_te.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_te.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">యూజర్‌పేరు</translation>
 <translation id="8518521100965196752">పాస్‌వర్డ్‌లను ఉపయోగించడానికి, మీరు ముందుగా తప్పనిసరిగా మీ పరికరంలో పాస్‌కోడ్‌ను సెట్ చేయాలి.</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> కోసం</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ur.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ur.xtb
index 41b30ebe..844b372 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ur.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_ur.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">صارف کا نام</translation>
 <translation id="8518521100965196752">پاس ورڈز استعمال کرنے کے ليے، آپ کو اپنے آلے پر پہلے پاس کوڈ سیٹ کرنا ہوگا۔</translation>
 <translation id="8877181643142698531">URL</translation>
+<translation id="9069288651897538648"><ph name="URL" /> کیلئے</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_zh-CN.xtb b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_zh-CN.xtb
index a9942158..ddf22c6 100644
--- a/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_zh-CN.xtb
+++ b/ios/chrome/credential_provider_extension/strings/resources/ios_credential_provider_extension_strings_zh-CN.xtb
@@ -39,4 +39,5 @@
 <translation id="8503813439785031346">用户名</translation>
 <translation id="8518521100965196752">您必须先在设备上设置密码,才能使用密码。</translation>
 <translation id="8877181643142698531">网址</translation>
+<translation id="9069288651897538648">适用于 <ph name="URL" /></translation>
 </translationbundle>
\ No newline at end of file
diff --git a/media/base/renderer_factory_selector.cc b/media/base/renderer_factory_selector.cc
index 029b8f4..016d2da 100644
--- a/media/base/renderer_factory_selector.cc
+++ b/media/base/renderer_factory_selector.cc
@@ -8,6 +8,8 @@
 
 namespace media {
 
+// WARNING: The returned names are used as part of UMA names. Do NOT change
+// existing return names.
 std::string GetRendererName(RendererType renderer_type) {
   switch (renderer_type) {
     case RendererType::kDefault:
@@ -25,9 +27,9 @@
     case RendererType::kMediaFoundation:
       return "MediaFoundationRenderer";
     case RendererType::kFuchsia:
-      return "Fuchsia Renderer";  // RendererImpl by FuchsiaRendererFactory.
+      return "FuchsiaRenderer";  // RendererImpl by FuchsiaRendererFactory.
     case RendererType::kRemoting:
-      return "Remoting Renderer";  // media::remoting::Receiver
+      return "RemotingRenderer";  // media::remoting::Receiver
     case RendererType::kCastStreaming:
       return "CastStreamingRenderer";
     default:
@@ -43,7 +45,7 @@
 void RendererFactorySelector::AddBaseFactory(
     RendererType type,
     std::unique_ptr<RendererFactory> factory) {
-  DVLOG(1) << __func__ << ": type=" << static_cast<int>(type);
+  DVLOG(1) << __func__ << ": type=" << GetRendererName(type);
   DCHECK(!base_renderer_type_) << "At most one base factory!";
 
   AddFactory(type, std::move(factory));
@@ -68,7 +70,7 @@
     std::unique_ptr<RendererFactory> factory) {
   DCHECK(factory);
   DCHECK(!factories_.count(type));
-  DVLOG(2) << __func__ << ": type=" << static_cast<int>(type);
+  DVLOG(2) << __func__ << ": type=" << GetRendererName(type);
   factories_[type] = std::move(factory);
 }
 
@@ -90,7 +92,7 @@
   RendererType current_renderer_type = GetCurrentRendererType();
 
   DVLOG(1) << __func__ << " Selecting factory type: "
-           << static_cast<int>(current_renderer_type);
+           << GetRendererName(current_renderer_type);
   auto* current_factory = factories_[current_renderer_type].get();
   DCHECK(current_factory);
 
diff --git a/media/base/renderer_factory_selector.h b/media/base/renderer_factory_selector.h
index 23c7eeb..abe0c93 100644
--- a/media/base/renderer_factory_selector.h
+++ b/media/base/renderer_factory_selector.h
@@ -33,9 +33,8 @@
   kMaxValue = kCastStreaming,
 };
 
-// Get the name of the Renderer for `renderer_type`. Returns the string in one
-// word when we returns the actual Renderer class name; otherwise it's a
-// descriptive name.
+// Get the name of the Renderer for `renderer_type`. The returned name could be
+// the actual Renderer class name or a descriptive name.
 std::string MEDIA_EXPORT GetRendererName(RendererType renderer_type);
 
 // RendererFactorySelector owns RendererFactory instances used within WMPI.
diff --git a/media/mojo/services/media_metrics_provider.cc b/media/mojo/services/media_metrics_provider.cc
index e5d742e..bb121c2 100644
--- a/media/mojo/services/media_metrics_provider.cc
+++ b/media/mojo/services/media_metrics_provider.cc
@@ -113,10 +113,19 @@
   else
     return uma_name + "Other";
 
+  // Add Renderer name when not using the default RendererImpl.
+  if (renderer_type_ == RendererType::kMediaFoundation) {
+    return uma_name + GetRendererName(RendererType::kMediaFoundation);
+  } else if (renderer_type_ != RendererType::kDefault) {
+    return uma_name + "UnknownRenderer";
+  }
+
+  // Using default RendererImpl. Put more detailed info into the UMA name.
 #if !defined(OS_ANDROID)
   if (player_info.video_pipeline_info.decoder_type ==
-      VideoDecoderType::kDecrypting)
+      VideoDecoderType::kDecrypting) {
     return uma_name + "DVD";
+  }
 #endif
 
   if (player_info.video_pipeline_info.has_decrypting_demuxer_stream)
@@ -126,6 +135,7 @@
   // reported as HW forever, regardless of the underlying platform
   // implementation.
   uma_name += player_info.video_pipeline_info.is_platform_decoder ? "HW" : "SW";
+
   return uma_name;
 }
 
diff --git a/media/mojo/services/media_metrics_provider_unittest.cc b/media/mojo/services/media_metrics_provider_unittest.cc
index a6dc153..56c3030215 100644
--- a/media/mojo/services/media_metrics_provider_unittest.cc
+++ b/media/mojo/services/media_metrics_provider_unittest.cc
@@ -284,6 +284,22 @@
   histogram_tester.ExpectBucketCount("Media.HasEverPlayed", true, 1);
 }
 
+TEST_F(MediaMetricsProviderTest, TestPipelineUMARendererType) {
+  base::HistogramTester histogram_tester;
+  Initialize(false, false, false, kTestOrigin, mojom::MediaURLScheme::kHttps);
+  provider_->SetIsEME();
+  provider_->SetRendererType(RendererType::kMediaFoundation);
+  provider_->SetHasVideo(VideoCodec::kCodecVP9);
+  provider_->SetHasAudio(AudioCodec::kCodecVorbis);
+  provider_->SetHasPlayed();
+  provider_->SetHaveEnough();
+  provider_.reset();
+  base::RunLoop().RunUntilIdle();
+  histogram_tester.ExpectBucketCount(
+      "Media.PipelineStatus.AudioVideo.VP9.MediaFoundationRenderer",
+      PIPELINE_OK, 1);
+}
+
 // Note: Tests for various Acquire* methods are contained with the unittests for
 // their respective classes.
 
diff --git a/remoting/resources/remoting_strings_as.xtb b/remoting/resources/remoting_strings_as.xtb
index 8f51967..7874850 100644
--- a/remoting/resources/remoting_strings_as.xtb
+++ b/remoting/resources/remoting_strings_as.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">ৰিম’ট কম্পিউটাৰৰ সৈতে সংযোগ সাময়িকভাৱে অৱৰোধ কৰা হৈছে কাৰণ কোনোবাই এটা অমান্য পিন ব্যৱহাৰ কৰি ইয়াৰ সৈতে সংযোগ কৰাৰ চেষ্টা কৰি আছিল। অনুগ্ৰহ কৰি কিছু সময়ৰ পাছত আকৌ চেষ্টা কৰক।</translation>
 <translation id="6965382102122355670">ঠিক আছে</translation>
 <translation id="6985691951107243942">আপুনি নিশ্চিতভাৱে <ph name="HOSTNAME" />লৈ থকা ৰি’মট সংযোগ অক্ষম কৰিব খোজেনে? যদি আপুনি নিজৰ সিদ্ধান্ত সলনি কৰিলে সংযোগসমূহ পুনৰ সক্ষম কৰিবলৈ কম্পিউটাৰলৈ যাব লাগিব।</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" />এ আপোনাৰ কম্পিউটাৰ চাবলৈ আৰু নিয়ন্ত্ৰণ কৰিবলৈ এক্সেছ বিচাৰি অনুৰোধ কৰিছে। যদি আপুনি এই ব্যক্তিগৰাকীক চিনি নাপায় অথবা শ্বেয়াৰ কৰাৰ পূৰ্বে আপুনি যিকোনো সালসলনি কৰাৰ প্ৰয়োজন হয় তেন্তে ’’<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />’’ টিপক।  অন্যথা সংযোগৰ অনুমতি দিবলৈ ’’<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />’’ বাছনি কৰক।</translation>
 <translation id="7019153418965365059">চিনাক্ত কৰিব নোৱাৰা হ'ষ্টৰ আসোঁৱাহ: <ph name="HOST_OFFLINE_REASON" />।</translation>
 <translation id="701976023053394610">ৰিম'ট সহায়ক</translation>
 <translation id="7026930240735156896">আপোনাৰ কম্পিউটাৰটো ৰিম’ট এক্সেছৰ বাবে ছেট আপ কৰিবলৈ নিৰ্দেশনাখিনি অনুসৰণ কৰক</translation>
diff --git a/remoting/resources/remoting_strings_bn.xtb b/remoting/resources/remoting_strings_bn.xtb
index 3a961761..cc05b28 100644
--- a/remoting/resources/remoting_strings_bn.xtb
+++ b/remoting/resources/remoting_strings_bn.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">রিমোট কম্পিউটারের কানেকশন সাময়িকভাবে বন্দ করা হয়েছে কারণ কেউ ভুল PIN এর মাধ্যমে এতে কানেক্ট করার চেষ্টা করছিল৷ অনুগ্রহ করে পরে আবার চেষ্টা করুন৷</translation>
 <translation id="6965382102122355670">ঠিক আছে</translation>
 <translation id="6985691951107243942"><ph name="HOSTNAME" />এ রিমোট কানেকশন বন্ধ করার ব্যাপারে আপনি কি নিশ্চিত? আপনি যদি মন বদলান, তাহলে কানেকশনগুলি পুনঃচালু করতে আপনাকে এই কম্পিউটারে যেতে হবে৷</translation>
+<translation id="6998890551706945177">আপনার কম্পিউটার দেখার এবং নিয়ন্ত্রণের অ্যাক্সেস পাওয়ার জন্য, <ph name="CLIENT_USERNAME" /> আপনাকে অনুরোধ করেছেন। আপনি এই ব্যক্তিকে না চিনলে অথবা শেয়ার করার আগে কোনও পরিবর্তন করতে চাইলে ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' প্রেস করুন।  অন্যথায় কানেকশনের অনুমতি দিতে ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' প্রেস করুন।</translation>
 <translation id="7019153418965365059">অস্বীকৃত হোস্ট ত্রুটি: <ph name="HOST_OFFLINE_REASON" />।</translation>
 <translation id="701976023053394610">রিমোট সহায়তা</translation>
 <translation id="7026930240735156896">রিমোট অ্যাক্সেসের জন্য আপনার কম্পিউটার সেট-আপ করতে নির্দেশাবলী অনুসরণ করুন</translation>
diff --git a/remoting/resources/remoting_strings_ca.xtb b/remoting/resources/remoting_strings_ca.xtb
index d2b1b84..15a06c01 100644
--- a/remoting/resources/remoting_strings_ca.xtb
+++ b/remoting/resources/remoting_strings_ca.xtb
@@ -130,7 +130,7 @@
 <translation id="6963936880795878952">Les connexions amb l'ordinador remot s'han bloquejat temporalment perquè algú ha provat de connectar-s'hi amb un PIN no vàlid. Torna-ho a provar més tard.</translation>
 <translation id="6965382102122355670">D'acord</translation>
 <translation id="6985691951107243942">Confirmeu que voleu desactivar les connexions remotes a <ph name="HOSTNAME" />? Si canvieu de parer, haureu de visitar aquest ordinador per tornar-les a activar.</translation>
-<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> ha sol·licitat accés per veure i controlar l'ordinador. Prem <ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" /> si no coneixes aquesta persona o si has de fer algun canvi abans de fer la compartició.  Si no, selecciona <ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" /> per permetre la connexió.</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> ha sol·licitat accés per veure i controlar l'ordinador. Prem <ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" /> si no coneixes aquesta persona o si has de fer algun canvi abans de donar-li accés.  Si no, selecciona <ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" /> per permetre la connexió.</translation>
 <translation id="7019153418965365059">Error d'amfitrió no reconegut: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">Assistència remota</translation>
 <translation id="7026930240735156896">Segueix les instruccions per configurar l'accés remot a l'ordinador</translation>
diff --git a/remoting/resources/remoting_strings_gu.xtb b/remoting/resources/remoting_strings_gu.xtb
index be03c89..90b71d52 100644
--- a/remoting/resources/remoting_strings_gu.xtb
+++ b/remoting/resources/remoting_strings_gu.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">રીમોટ કમ્પ્યુટરથી કનેક્શન્સ અસ્થાયીરૂપે અવરોધિત કરવામાં આવ્યાં છે કારણ કે કોઈ વ્યક્તિએ અમાન્ય PIN વડે તેની સાથે કનેક્ટ કરવાનો પ્રયાસ કર્યો હતો. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.</translation>
 <translation id="6965382102122355670">બરાબર, સમજાઇ ગયું</translation>
 <translation id="6985691951107243942">શું તમે ખરેખર <ph name="HOSTNAME" /> પર રીમોટ કનેક્શન બંધ કરવા માગો છો? જો તમે તમારો વિચાર બદલો, તો તમને કનેક્શનને ફરીથી ચાલુ કરવા માટે તે કમ્પ્યુટરની મુલાકાત લેવાની જરૂર પડશે.</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> દ્વારા તમારા કમ્પ્યુટરને જોવા અને નિયંત્રિત કરવા માટે ઍક્સેસની વિનંતી કરવામાં આવી છે. જો તમે આ વ્યક્તિને ઓળખતા ન હો અથવા શેર કરતા પહેલાં તમારે કોઈ ફેરફાર કરવાની જરૂર હોય, તો ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' દબાવો.  અન્યથા કનેક્શનની મંજૂરી આપવા માટે, ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' પસંદ કરો.</translation>
 <translation id="7019153418965365059">ન ઓળખાયેલ હોસ્ટ ભૂલ: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">રીમોટ સહાય</translation>
 <translation id="7026930240735156896">રિમોટ ઍક્સેસ માટે તમારા કમ્પ્યુટરને સેટઅપ કરવા માટે સૂચનાઓને અનુસરો</translation>
diff --git a/remoting/resources/remoting_strings_hi.xtb b/remoting/resources/remoting_strings_hi.xtb
index 791da0c2..e25c2e3 100644
--- a/remoting/resources/remoting_strings_hi.xtb
+++ b/remoting/resources/remoting_strings_hi.xtb
@@ -130,7 +130,7 @@
 <translation id="6963936880795878952">दूर के कंप्यूटर के साथ कनेक्शन पर अस्थायी रूप से रोक लगाई गई है क्योंकि कोई गलत पिन के ज़रिए उससे कनेक्ट करने की कोशिश कर रहा था. कृपया बाद में फिर से कोशिश करें.</translation>
 <translation id="6965382102122355670">ठीक है</translation>
 <translation id="6985691951107243942">क्‍या आप वाकई <ph name="HOSTNAME" /> से दूर से किए गए कनेक्‍शन को बंद करना चाहते हैं? अगर आप अपना मन बदलते हैं तो, आपको कनेक्‍शन को फिर से चालू करने के लिए उस कंप्‍यूटर पर जाना होगा.</translation>
-<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> ने आपका कंप्यूटर देखने और कंट्रोल करने के लिए, ऐक्सेस मांगा है. अगर आपको शेयर करने से पहले कोई बदलाव करना है या आप इस व्यक्ति को नहीं जानते हैं, तो ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' दबाएं.  अन्य मामलों में, कनेक्शन की अनुमति देने के लिए, ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' को चुनें.</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> ने आपका कंप्यूटर देखने और कंट्रोल करने के लिए, ऐक्सेस मांगा है. अगर ऐक्सेस शेयर करने से पहले कोई बदलाव करना है या आप इस व्यक्ति को नहीं जानते हैं, तो ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' दबाएं.  अन्य मामलों में, कनेक्शन की अनुमति देने के लिए, ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' को चुनें.</translation>
 <translation id="7019153418965365059">अपरिचित होस्‍ट गड़बड़ी: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">दूरस्थ सहायता</translation>
 <translation id="7026930240735156896">अपना कंप्यूटर दूर से ऐक्सेस करने के लिए उसे सेटअप करने के निर्देशों को पूरा करें</translation>
diff --git a/remoting/resources/remoting_strings_kn.xtb b/remoting/resources/remoting_strings_kn.xtb
index f5b6e240..35b1cbf 100644
--- a/remoting/resources/remoting_strings_kn.xtb
+++ b/remoting/resources/remoting_strings_kn.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">ಅಮಾನ್ಯ ಪಿನ್ ಬಳಸಿಕೊಂಡು ಅದಕ್ಕೆ ಸಂಪರ್ಕಿಸಲು ಯಾರೋ ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಕಾರಣ ರಿಮೋಟ್ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಸಂಪರ್ಕಗಳನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6965382102122355670">ಸರಿ</translation>
 <translation id="6985691951107243942"><ph name="HOSTNAME" /> ಗೆ ರಿಮೋಟ್ ಸಂಪರ್ಕಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ನಿಮ್ಮ ಆಲೋಚನೆಯನ್ನು ನೀವು ಬದಲಾಯಿಸಿಕೊಂಡಲ್ಲಿ, ಸಂಪರ್ಕಗಳನ್ನು ಮತ್ತೆ ಸಕ್ರಿಯಗೊಳಿಸಲು ನೀವು ಆ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಭೇಟಿ ನೀಡುವ ಅವಶ್ಯಕತೆ ಇದೆ.</translation>
+<translation id="6998890551706945177">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ನೋಡಲು ಮತ್ತು ನಿಯಂತ್ರಿಸಲು <ph name="CLIENT_USERNAME" /> ಅವರು ಪ್ರವೇಶವನ್ನು ವಿನಂತಿಸಿದ್ದಾರೆ. ಈ ವ್ಯಕ್ತಿ ಯಾರೆಂದು ನಿಮಗೆ ತಿಳಿದಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ಹಂಚಿಕೊಳ್ಳುವ ಮೊದಲು ನೀವು ಯಾವುದೇ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಬೇಕಾದರೆ ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' ಅನ್ನು ಒತ್ತಿ.  ಇಲ್ಲವಾದರೆ, ಕನೆಕ್ಷನ್ ಅನ್ನು ಅನುಮತಿಸಲು ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ.</translation>
 <translation id="7019153418965365059">ಗುರುತಿಸಲಾಗದ ಹೋಸ್ಟ್ ದೋಷ: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">ರಿಮೋಟ್ ಸಹಾಯಕ</translation>
 <translation id="7026930240735156896">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ಗೆ ದೂರದ ಸ್ಥಳದಿಂದ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಹೊಂದಿಸುವುದಕ್ಕಾಗಿ ಸೂಚನೆಗಳನ್ನು ಅನುಸರಿಸಿ</translation>
diff --git a/remoting/resources/remoting_strings_mr.xtb b/remoting/resources/remoting_strings_mr.xtb
index 7e52929..b9af393c 100644
--- a/remoting/resources/remoting_strings_mr.xtb
+++ b/remoting/resources/remoting_strings_mr.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">रिमोट कॉंप्युटरशी कनेक्शन तात्पुरते ब्लॉक केली आहेत, कारण कोणीतरी अवैध पिन सह त्यावर कनेक्ट करण्‍याचा प्रयत्न करत होते. कृपया नंतर पुन्हा प्रयत्न करा.</translation>
 <translation id="6965382102122355670">ठीक आहे</translation>
 <translation id="6985691951107243942">तुम्हाला खात्री आहे की तुम्हाला <ph name="HOSTNAME" /> चे रिमोट कनेक्शन अक्षम करायचे आहे? तुम्ही तुमचा विचार बदलल्यास, तुम्हाला कनेक्शन पुन्हा सक्षम करण्‍यासाठी त्या कॉंप्युटरला भेट देणे आवश्यक असेल.</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> ने तुमचा कॉंप्युटर पाहण्यासाठी आणि नियंत्रित करण्यासाठी ॲक्सेसची विनंती केली आहे. तुम्ही या व्यक्तीला ओळखत नसल्यास किंवा शेअर करण्यापूर्वी कोणतेही बदल करणे आवश्यक असल्यास, ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' दाबा.  अन्यथा कनेक्शनची अनुमती देण्यासाठी ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' निवडा.</translation>
 <translation id="7019153418965365059">न ओळखलेली होस्ट एरर: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">दूरस्‍थ सहाय्य</translation>
 <translation id="7026930240735156896">रिमोट ॲक्सेससाठी तुमचा कॉंप्युटर सेट करण्यासाठी सूचना फॉलो करा</translation>
diff --git a/remoting/resources/remoting_strings_or.xtb b/remoting/resources/remoting_strings_or.xtb
index 3334779..6c1c90f 100644
--- a/remoting/resources/remoting_strings_or.xtb
+++ b/remoting/resources/remoting_strings_or.xtb
@@ -129,6 +129,7 @@
 <translation id="6963936880795878952">ରିମୋଟ୍‍ କମ୍ପ୍ୟୁଟର୍‌କୁ ସଂଯୋଗ ଅସ୍ଥାୟୀରୂପେ ଅବରୋଧ କରାଯାଇଛି କାରଣ କେହିଜଣେ ଏକ ଅବୈଧ ପିନ୍‌ରେ ଏହାକୁ ସଂଯୋଗ କରିବାକୁ ଚେଷ୍ଟା କରୁଥିଲେ। ଦୟାକରି, ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="6965382102122355670">ଓକେ ବଟନ୍</translation>
 <translation id="6985691951107243942">ଆପଣ କ"ଣ ନିଶ୍ଚିତ ଭାବରେ <ph name="HOSTNAME" />ରେ ରିମୋଟ୍ ସଂଯୋଗ ଅକ୍ଷମ କରିବାକୁ ଚାହୁଁଛନ୍ତି? ଯଦି ଆପଣ ଆପଣଙ୍କର ମନ ପରିବର୍ତ୍ତନ କରନ୍ତି, ତେବେ ସଂଯୋଗକୁ ପୁନଃସକ୍ଷମ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ସେହି କମ୍ପ୍ୟୁଟର୍‍କୁ ଯିବାକୁ ହେବ।</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରକୁ ଦେଖିବା ଏବଂ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଆକ୍ସେସର ଅନୁରୋଧ କରିଛନ୍ତି। ଯଦି ଆପଣ ଏହି ବ୍ୟକ୍ତିଙ୍କୁ ଜାଣିନାହାଁନ୍ତି କିମ୍ବା ଆପଣଙ୍କୁ ସେୟାର୍ କରିବା ପୂର୍ବରୁ କୌଣସି ପରିବର୍ତ୍ତନ କରିବାର ଆବଶ୍ୟକତା ଅଛି, ତେବେ ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />''କୁ ଦବାନ୍ତୁ।  ଅନ୍ୟଥା ସଂଯୋଗକୁ ଅନୁମତି ଦେବା ପାଇଁ ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' ଚୟନ କରନ୍ତୁ।</translation>
 <translation id="7019153418965365059">ଚିହ୍ନଟ ହୋଇନଥିବା ହୋଷ୍ଟ ତ୍ରୁଟି: <ph name="HOST_OFFLINE_REASON" />।</translation>
 <translation id="701976023053394610">ରିମୋଟ୍ ସହାୟତା</translation>
 <translation id="7026930240735156896">ରିମୋଟ୍‌ ଆକ୍ସେସ୍‌ ପାଇଁ ଆପଣଙ୍କର କମ୍ପ୍ୟୁଟର୍‌ ସେଟ୍‌ ଅପ୍‌ କରିବାକୁ ନିର୍ଦ୍ଦେଶାବଳୀ ଅନୁସରଣ କରନ୍ତୁ</translation>
diff --git a/remoting/resources/remoting_strings_pa.xtb b/remoting/resources/remoting_strings_pa.xtb
index ca99d4bb..2fdc762 100644
--- a/remoting/resources/remoting_strings_pa.xtb
+++ b/remoting/resources/remoting_strings_pa.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">ਰਿਮੋਟ ਕੰਪਿਊਟਰ 'ਤੇ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿਉਂਕਿ ਕੋਈ ਵਿਅਕਤੀ ਅਵੈਧ ਪਿੰਨ ਨਾਲ ਇਸ ਨਾਲ ਕਨੈਕਟ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਸੀ। ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="6965382102122355670">ਠੀਕ</translation>
 <translation id="6985691951107243942">ਕੀ ਤੁਸੀਂ ਪੱਕਾ <ph name="HOSTNAME" /> ਲਈ ਰਿਮੋਟ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਜੇਕਰ ਤੁਸੀਂ ਆਪਣਾ ਵਿਚਾਰ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਕਨੈਕਸ਼ਨਾਂ ਨੂੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਲਈ ਉਸ ਕੰਪਿਊਟਰ 'ਤੇ ਜਾਣਾ ਪਵੇਗਾ।</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> ਨੇ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਨੂੰ ਦੇਖਣ ਅਤੇ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਪਹੁੰਚ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਸ ਵਿਅਕਤੀ ਨੂੰ ਨਹੀਂ ਜਾਣਦੇ ਹੋ ਜਾਂ ਸਾਂਝਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਕੋਈ ਵੀ ਤਬਦੀਲੀ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' ਦਬਾਓ।  ਨਹੀਂ ਤਾਂ ਕਨੈਕਸ਼ਨ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' ਚੁਣੋ।</translation>
 <translation id="7019153418965365059">ਬਿਨਾਂ ਪਛਾਣੀ ਗਈ ਹੋਸਟ ਗੜਬੜ: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">ਰਿਮੋਟ ਸਹਾਇਤਾ</translation>
 <translation id="7026930240735156896">ਦੂਰ-ਦੁਰਾਡੇ ਤੋਂ ਪਹੁੰਚ ਵਾਸਤੇ ਆਪਣੇ ਕੰਪਿਊਟਰ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਹਿਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ</translation>
diff --git a/remoting/resources/remoting_strings_ta.xtb b/remoting/resources/remoting_strings_ta.xtb
index bcd5f5a..520850f 100644
--- a/remoting/resources/remoting_strings_ta.xtb
+++ b/remoting/resources/remoting_strings_ta.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">யாரோ ஒருவர் தவறான பின்னைப் பயன்படுத்தித் தொலைநிலையில் இயங்கக்கூடிய கம்ப்யூட்டரை இணைக்க முயன்றதால், அதற்கான இணைப்புகள் தற்காலிகமாகத் தடுக்கப்பட்டுள்ளன. பிறகு முயலவும்.</translation>
 <translation id="6965382102122355670">சரி</translation>
 <translation id="6985691951107243942"><ph name="HOSTNAME" /> க்கான தொலைநிலை இணைப்புகளை நிச்சயமாக முடக்க வேண்டுமா? மனம் மாறிவிட்டால், இணைப்புகளை மீண்டும் செயலாக்க, நீங்கள் அந்தக் கம்ப்யூட்டருக்கு மீண்டும் செல்ல வேண்டியிருக்கும்.</translation>
+<translation id="6998890551706945177">உங்கள் கம்ப்யூட்டரைப் பார்ப்பதற்கும் கட்டுப்படுத்துவதற்கும் <ph name="CLIENT_USERNAME" /> அனுமதி கேட்டுள்ளார். இவரை உங்களுக்குத் தெரியாது என்றாலோ பகிர்வதற்கு முன் ஏதேனும் மாற்றங்கள் செய்ய வேண்டும் என்றாலோ ''<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />'' பட்டனை அழுத்தவும்.  இல்லையெனில் அனுமதி வழங்க ''<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />'' பட்டனைத் தேர்ந்தெடுக்கவும்.</translation>
 <translation id="7019153418965365059">அறியப்படாத ஹோஸ்ட் பிழை: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">தொலைநிலை உதவி</translation>
 <translation id="7026930240735156896">உங்கள் கம்ப்யூட்டரை தொலைநிலையில் அமைக்க, இந்த
diff --git a/remoting/resources/remoting_strings_te.xtb b/remoting/resources/remoting_strings_te.xtb
index 890ddb7..430cfe0 100644
--- a/remoting/resources/remoting_strings_te.xtb
+++ b/remoting/resources/remoting_strings_te.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">ఒకరు చెల్లని PINతో రిమోట్ కంప్యూటర్‌కు కనెక్ట్ చేయడానికి ప్రయత్నిస్తున్నందున, దీనికి కనెక్షన్‌లు తాత్కాలికంగా బ్లాక్ చేయబడ్డాయి. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="6965382102122355670">సరే</translation>
 <translation id="6985691951107243942">మీరు <ph name="HOSTNAME" />కు రిమోట్ కనెక్షన్‌లను ఖచ్చితంగా నిలిపివేయాలనుకుంటున్నారా? మీరు మీ మనస్సు మార్చుకుంటే, కనెక్షన్‌లను పునఃప్రారంభించడానికి మీరు ఆ కంప్యూటర్‌ను సందర్శించాలి.</translation>
+<translation id="6998890551706945177">మీ కంప్యూటర్‌ను చూడటానికి, కంట్రోల్ చేయడానికి కావాల్సిన యాక్సెస్ కోసం <ph name="CLIENT_USERNAME" /> రిక్వెస్ట్ చేశారు. మీకు ఈ వ్యక్తి తెలియకపోతే లేదా షేర్ చేయడానికి ముందు ఏవైనా మార్పులు చేయాల్సి వస్తే "<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />"ను నొక్కండి.  లేకపోతే, కనెక్షన్‌ను అనుమతించడానికి."<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />"ను ఎంచుకోండి.</translation>
 <translation id="7019153418965365059">తెలియని హోస్ట్ ఎర్రర్: <ph name="HOST_OFFLINE_REASON" />.</translation>
 <translation id="701976023053394610">రిమోట్ సహాయం</translation>
 <translation id="7026930240735156896">మీ కంప్యూటర్‌ను రిమోట్ యాక్సెస్ కోసం సెటప్ చేయడానికి సూచనలను పాటించండి</translation>
diff --git a/remoting/resources/remoting_strings_ur.xtb b/remoting/resources/remoting_strings_ur.xtb
index 50ab4a2..bcb9502 100644
--- a/remoting/resources/remoting_strings_ur.xtb
+++ b/remoting/resources/remoting_strings_ur.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">‏ریموٹ کمپیوٹر کے کنکشنز عارضی طور پر مسدود کر دیے گئے ہیں کیونکہ کوئی شخص غلط PIN سے اس سے منسلک ہونے کی کوشش کر رہا تھا۔ براہ کرم بعد میں دوبارہ کوشش کریں۔</translation>
 <translation id="6965382102122355670">ٹھیک ہے</translation>
 <translation id="6985691951107243942">کیا آپ واقعی <ph name="HOSTNAME" /> سے ریموٹ کنکشنز غیر فعال کرنا چاہتے ہیں؟ اگر آپ کا ارادہ بدل جاتا ہے تو کنکشنز دوبارہ فعال کرنے کیلئے آپ کو وہ کمپیوٹر ملاحظہ کرنا ہوگا۔</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> نے آپ کے کمپیوٹر کو کنٹرول کرنے اور دیکھنے کے لیے رسائی کی درخواست کی ہے۔ اگر آپ اس فرد کو نہیں جانتے ہیں یا اشتراک کرنے سے پہلے اگر آپ کو کوئی تبدیلی کرنے کی ضرورت ہے تو "<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />" دبائیں۔  بصورت دیگر کنکشن کی اجازت کے لیے "<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />" منتخب کریں۔</translation>
 <translation id="7019153418965365059">غیر شناخت کردہ میزبان خرابی: <ph name="HOST_OFFLINE_REASON" />۔</translation>
 <translation id="701976023053394610">ریموٹ مدد</translation>
 <translation id="7026930240735156896">ریموٹ رسائی کی خاطر اپنے کمپیوٹر کو ترتیب دینے کے لیے ہدایات کی پیروی کریں</translation>
diff --git a/remoting/resources/remoting_strings_zh-CN.xtb b/remoting/resources/remoting_strings_zh-CN.xtb
index fda168dc..d2d6e8f 100644
--- a/remoting/resources/remoting_strings_zh-CN.xtb
+++ b/remoting/resources/remoting_strings_zh-CN.xtb
@@ -130,6 +130,7 @@
 <translation id="6963936880795878952">与远程计算机的连接已被暂时阻止,因为有人试图使用无效的 PIN 码连接到该计算机。请稍后重试。</translation>
 <translation id="6965382102122355670">确定</translation>
 <translation id="6985691951107243942">您确定要停用与“<ph name="HOSTNAME" />”的远程连接吗?如果您日后想要重新启用连接,需要访问该计算机。</translation>
+<translation id="6998890551706945177"><ph name="CLIENT_USERNAME" /> 已请求获权查看和控制您的计算机。如果您不认识此人或需要在共享之前做出任何更改,请按“<ph name="IDS_SHARE_CONFIRM_DIALOG_DECLINE" />”。否则,请选择“<ph name="IDS_SHARE_CONFIRM_DIALOG_CONFIRM" />”以允许连接。</translation>
 <translation id="7019153418965365059">无法识别的主机错误:<ph name="HOST_OFFLINE_REASON" />。</translation>
 <translation id="701976023053394610">远程协助</translation>
 <translation id="7026930240735156896">按照说明设置计算机以供远程访问</translation>
diff --git a/services/media_session/public/cpp/media_position_android.cc b/services/media_session/public/cpp/media_position_android.cc
index bd853f0..ecf69f5 100644
--- a/services/media_session/public/cpp/media_position_android.cc
+++ b/services/media_session/public/cpp/media_position_android.cc
@@ -13,8 +13,10 @@
 base::android::ScopedJavaLocalRef<jobject> MediaPosition::CreateJavaObject(
     JNIEnv* env) const {
   return Java_MediaPosition_create(
-      env, duration_.InMilliseconds(), position_.InMilliseconds(),
-      playback_rate_,
+      env,
+      (duration_.is_max() || duration_.is_zero()) ? -1
+                                                  : duration_.InMilliseconds(),
+      position_.InMilliseconds(), playback_rate_,
       (last_updated_time_ - base::TimeTicks::UnixEpoch()).InMilliseconds());
 }
 
diff --git a/testing/buildbot/chromium.android.fyi.json b/testing/buildbot/chromium.android.fyi.json
index 8e9e7ca..a0cf63a 100644
--- a/testing/buildbot/chromium.android.fyi.json
+++ b/testing/buildbot/chromium.android.fyi.json
@@ -5687,7 +5687,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
@@ -5948,7 +5948,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
diff --git a/testing/buildbot/chromium.android.json b/testing/buildbot/chromium.android.json
index baff61b..0bbe96bc 100644
--- a/testing/buildbot/chromium.android.json
+++ b/testing/buildbot/chromium.android.json
@@ -55857,7 +55857,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
@@ -56121,7 +56121,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
@@ -56458,7 +56458,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
@@ -56719,7 +56719,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
@@ -57055,7 +57055,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
@@ -57316,7 +57316,7 @@
             {
               "cipd_package": "chromium/testing/weblayer-x86",
               "location": "weblayer_instrumentation_test_M92",
-              "revision": "version:92.0.4515.146"
+              "revision": "version:92.0.4515.157"
             },
             {
               "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
diff --git a/testing/buildbot/variants.pyl b/testing/buildbot/variants.pyl
index 776223ba..b5c4566 100644
--- a/testing/buildbot/variants.pyl
+++ b/testing/buildbot/variants.pyl
@@ -373,7 +373,7 @@
         {
           'cipd_package': 'chromium/testing/weblayer-x86',
           'location': 'weblayer_instrumentation_test_M92',
-          'revision': 'version:92.0.4515.146',
+          'revision': 'version:92.0.4515.157',
         }
       ],
     },
@@ -445,7 +445,7 @@
         {
           'cipd_package': 'chromium/testing/weblayer-x86',
           'location': 'weblayer_instrumentation_test_M92',
-          'revision': 'version:92.0.4515.146',
+          'revision': 'version:92.0.4515.157',
         }
       ],
     },
@@ -517,7 +517,7 @@
         {
           'cipd_package': 'chromium/testing/weblayer-x86',
           'location': 'weblayer_instrumentation_test_M92',
-          'revision': 'version:92.0.4515.146',
+          'revision': 'version:92.0.4515.157',
         }
       ],
     },
diff --git a/testing/scripts/run_performance_tests.py b/testing/scripts/run_performance_tests.py
index 9e10ade..830e9ad8 100755
--- a/testing/scripts/run_performance_tests.py
+++ b/testing/scripts/run_performance_tests.py
@@ -57,6 +57,7 @@
 import time
 import tempfile
 import traceback
+import six
 
 import common
 from collections import OrderedDict
@@ -665,9 +666,18 @@
         'lines is the name of the subfolder to find results in.\n')
 
   if options.non_telemetry:
-    command_generator = GtestCommandGenerator(
-        options, additional_flags=options.passthrough_args)
     benchmark_name = options.gtest_benchmark_name
+    passthrough_args = options.passthrough_args
+    # crbug/1146949#c15
+    # In the case that pinpoint passes all arguments to swarming through http
+    # request, the passthrough_args are converted into a comma-separated string.
+    if passthrough_args and isinstance(passthrough_args, six.text_type):
+      passthrough_args = passthrough_args.split(',')
+    # With --non-telemetry, the gtest executable file path will be passed in as
+    # options.executable, which is different from running on shard map. Thus,
+    # we don't override executable as we do in running on shard map.
+    command_generator = GtestCommandGenerator(
+        options, additional_flags=passthrough_args, ignore_shard_env_vars=True)
     # Fallback to use the name of the executable if flag isn't set.
     # TODO(crbug.com/870899): remove fallback logic and raise parser error if
     # --non-telemetry is set but --gtest-benchmark-name is not set once pinpoint
@@ -825,4 +835,5 @@
       'compile_targets': main_compile_targets,
     }
     sys.exit(common.run_script(sys.argv[1:], funcs))
+
   sys.exit(main(sys.argv))
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index d81860e2..0ec04a1 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -5649,30 +5649,120 @@
             ],
             "experiments": [
                 {
-                    "name": "Adaptive_AlwaysNewTab_20210428",
+                    "name": "Segmentation_AutoNoWait_20210811",
+                    "params": {
+                        "default_segment": "new-tab",
+                        "disable_ui": "false",
+                        "ignore_segmentation_results": "false",
+                        "min_version_adaptive": "1",
+                        "segment_selection_ttl_days": "14",
+                        "show_ui_only_after_ready": "false"
+                    },
+                    "enable_features": [
+                        "AdaptiveButtonInTopToolbarCustomizationV2",
+                        "SegmentationPlatform"
+                    ],
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbar"
+                    ]
+                },
+                {
+                    "name": "Segmentation_Auto_20210811",
+                    "params": {
+                        "default_segment": "new-tab",
+                        "disable_ui": "false",
+                        "ignore_segmentation_results": "false",
+                        "min_version_adaptive": "1",
+                        "segment_selection_ttl_days": "14",
+                        "show_ui_only_after_ready": "true"
+                    },
+                    "enable_features": [
+                        "AdaptiveButtonInTopToolbarCustomizationV2",
+                        "SegmentationPlatform"
+                    ],
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbar"
+                    ]
+                },
+                {
+                    "name": "Segmentation_Default_Segment_20210811",
+                    "params": {
+                        "default_segment": "new-tab",
+                        "disable_ui": "false",
+                        "ignore_segmentation_results": "true",
+                        "min_version_adaptive": "1",
+                        "segment_selection_ttl_days": "14",
+                        "show_ui_only_after_ready": "true"
+                    },
+                    "enable_features": [
+                        "AdaptiveButtonInTopToolbarCustomizationV2",
+                        "SegmentationPlatform"
+                    ],
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbar"
+                    ]
+                },
+                {
+                    "name": "Segmentation_Control_20210811",
+                    "params": {
+                        "default_segment": "new-tab",
+                        "disable_ui": "false",
+                        "ignore_segmentation_results": "false",
+                        "segment_selection_ttl_days": "14",
+                        "show_ui_only_after_ready": "true"
+                    },
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbar",
+                        "AdaptiveButtonInTopToolbarCustomizationV2",
+                        "SegmentationPlatform"
+                    ]
+                },
+                {
+                    "name": "Adaptive_AlwaysNewTab_20210730",
                     "params": {
                         "mode": "always-new-tab"
                     },
                     "enable_features": [
                         "AdaptiveButtonInTopToolbar"
+                    ],
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbarCustomizationV2"
                     ]
                 },
                 {
-                    "name": "Adaptive_AlwaysShare_20210428",
+                    "name": "Adaptive_AlwaysShare_20210730",
                     "params": {
                         "mode": "always-share"
                     },
                     "enable_features": [
                         "AdaptiveButtonInTopToolbar"
+                    ],
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbarCustomizationV2"
                     ]
                 },
                 {
-                    "name": "Adaptive_AlwaysVoice_20210428",
+                    "name": "Adaptive_AlwaysVoice_20210730",
                     "params": {
                         "mode": "always-voice"
                     },
                     "enable_features": [
                         "AdaptiveButtonInTopToolbar"
+                    ],
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbarCustomizationV2"
+                    ]
+                },
+                {
+                    "name": "Adaptive_Control_20210730",
+                    "params": {
+                        "mode": "always-none"
+                    },
+                    "enable_features": [
+                        "AdaptiveButtonInTopToolbar"
+                    ],
+                    "disable_features": [
+                        "AdaptiveButtonInTopToolbarCustomizationV2"
                     ]
                 },
                 {
diff --git a/third_party/blink/common/scheduler/web_scheduler_tracked_feature.cc b/third_party/blink/common/scheduler/web_scheduler_tracked_feature.cc
index 4857c53..64ddc811 100644
--- a/third_party/blink/common/scheduler/web_scheduler_tracked_feature.cc
+++ b/third_party/blink/common/scheduler/web_scheduler_tracked_feature.cc
@@ -20,6 +20,8 @@
   switch (feature) {
     case WebSchedulerTrackedFeature::kWebSocket:
       return {"WebSocket", "WebSocket"};
+    case WebSchedulerTrackedFeature::kWebTransport:
+      return {"WebTransport", "WebTransport"};
     case WebSchedulerTrackedFeature::kWebRTC:
       return {"WebRTC", "WebRTC"};
     case WebSchedulerTrackedFeature::kMainResourceHasCacheControlNoCache:
diff --git a/third_party/blink/public/common/scheduler/web_scheduler_tracked_feature.h b/third_party/blink/public/common/scheduler/web_scheduler_tracked_feature.h
index 0302543..9918b05 100644
--- a/third_party/blink/public/common/scheduler/web_scheduler_tracked_feature.h
+++ b/third_party/blink/public/common/scheduler/web_scheduler_tracked_feature.h
@@ -106,9 +106,10 @@
   kIsolatedWorldScript = 54,
   kInjectedStyleSheet = 55,
   kMediaSessionImplOnServiceCreated = 56,
+  kWebTransport = 57,
 
   // NB: This enum is used in a bitmask, so kMaxValue must be less than 64.
-  kMaxValue = kMediaSessionImplOnServiceCreated,
+  kMaxValue = kWebTransport,
 };
 
 using WebSchedulerTrackedFeatures =
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
index 460c95460..c5c5726 100644
--- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
@@ -7800,8 +7800,10 @@
       CacheControlNoStoreHTTPOnlyCookieModified
       NoResponseHead
       Unknown
+      ActivationNavigationsDisallowedForBug1234857
       #Blocklisted features
       WebSocket
+      WebTransport
       WebRTC
       MainResourceHasCacheControlNoStore
       MainResourceHasCacheControlNoCache
diff --git a/third_party/blink/public/platform/web_audio_device.h b/third_party/blink/public/platform/web_audio_device.h
index 834f809..571c66f 100644
--- a/third_party/blink/public/platform/web_audio_device.h
+++ b/third_party/blink/public/platform/web_audio_device.h
@@ -44,7 +44,7 @@
     // |delay| does *not* represent the point-in-time at which the first
     // rendered sample will be played out.
     virtual void Render(const WebVector<float*>& destination_data,
-                        size_t number_of_frames,
+                        uint32_t number_of_frames,
                         double delay,            // Output delay in seconds.
                         double delay_timestamp,  // System timestamp in seconds
                                                  // when |delay| was obtained.
diff --git a/third_party/blink/public/strings/translations/blink_strings_ta.xtb b/third_party/blink/public/strings/translations/blink_strings_ta.xtb
index 7236984..239ff2d 100644
--- a/third_party/blink/public/strings/translations/blink_strings_ta.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_ta.xtb
@@ -285,7 +285,7 @@
 <translation id="8415319359811155763">பகுதி</translation>
 <translation id="8433900881053900389">கருவிப்பட்டி</translation>
 <translation id="8444882422881193423"><ph name="NUMBER_OF_FILES" /> கோப்புகள்</translation>
-<translation id="8451268428117625855">ஒரு கோப்பை தேர்ந்தெடுக்கவும்.</translation>
+<translation id="8451268428117625855">ஒரு ஃபைலை தேர்ந்தெடுக்கவும்.</translation>
 <translation id="8461852803063341183">ரேடியோ பட்டன்</translation>
 <translation id="8474886197722836894">அர்ப்பணம்</translation>
 <translation id="8531739829932800271">பிழைகள்</translation>
diff --git a/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl b/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl
index e9cc73a..22e8c1b0 100644
--- a/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl
+++ b/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl
@@ -66,9 +66,11 @@
     const CreateElementFlags flags) {
   if (!g_{{namespace|lower}}_constructors)
     Create{{namespace}}FunctionMap();
-  if ({{namespace}}ConstructorFunction function = g_{{namespace|lower}}_constructors->DeprecatedAtOrEmptyValue(local_name))
-    return function(document, flags);
-  return nullptr;
+  auto it = g_{{namespace|lower}}_constructors->find(local_name);
+  if (it == g_{{namespace|lower}}_constructors->end())
+    return nullptr;
+  {{namespace}}ConstructorFunction function = it->value;
+  return function(document, flags);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context.h b/third_party/blink/renderer/core/display_lock/display_lock_context.h
index bb61b87..85cda95 100644
--- a/third_party/blink/renderer/core/display_lock/display_lock_context.h
+++ b/third_party/blink/renderer/core/display_lock/display_lock_context.h
@@ -224,6 +224,8 @@
     for_details_element_ = for_details_element;
   }
 
+  bool HasElement() const { return element_; }
+
  private:
   // Give access to |NotifyForcedUpdateScopeStarted()| and
   // |NotifyForcedUpdateScopeEnded()|.
diff --git a/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc b/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc
index 9aa3952d..54eb5ac 100644
--- a/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc
+++ b/third_party/blink/renderer/core/display_lock/display_lock_document_state.cc
@@ -222,8 +222,17 @@
     ScopedForceActivatableDisplayLocks(DisplayLockDocumentState* state)
     : state_(state) {
   if (++state_->activatable_display_locks_forced_ == 1) {
-    for (auto context : state_->display_lock_contexts_)
-      context->DidForceActivatableDisplayLocks();
+    for (auto context : state_->display_lock_contexts_) {
+      if (context->HasElement()) {
+        context->DidForceActivatableDisplayLocks();
+      } else {
+        NOTREACHED()
+            << "The DisplayLockContext's element has been garbage collected or"
+            << " otherwise deleted, but the DisplayLockContext is still alive!"
+            << " This shouldn't happen and could cause a crash. See"
+            << " crbug.com/1230206";
+      }
+    }
   }
 }
 
diff --git a/third_party/blink/renderer/core/frame/event_handler_registry.cc b/third_party/blink/renderer/core/frame/event_handler_registry.cc
index 5672958..549ed53a 100644
--- a/third_party/blink/renderer/core/frame/event_handler_registry.cc
+++ b/third_party/blink/renderer/core/frame/event_handler_registry.cc
@@ -15,6 +15,7 @@
 #include "third_party/blink/renderer/core/layout/layout_view.h"
 #include "third_party/blink/renderer/core/page/chrome_client.h"
 #include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
+#include "third_party/blink/renderer/platform/heap/thread_state_scopes.h"
 
 namespace blink {
 
@@ -360,22 +361,28 @@
     EventHandlerClass handler_class =
         static_cast<EventHandlerClass>(handler_class_index);
     HeapVector<Member<EventTarget>> targets_to_remove;
-    const EventTargetSet* targets = &targets_[handler_class];
-    for (const auto& event_target : *targets) {
-      if (Node* node = event_target.key->ToNode()) {
-        for (Document* doc = &node->GetDocument(); doc;
-             doc = doc->LocalOwner() ? &doc->LocalOwner()->GetDocument()
-                                     : nullptr) {
-          if (doc == &document) {
-            targets_to_remove.push_back(event_target.key);
-            break;
+    {
+      // TODO(keishi): If a GC happens while iterating a EventTargetSet, the
+      // custom weak processing may remove elements from it. Remove this scope
+      // when we get rid of the custom weak processing. crbug.com/123531
+      ThreadState::GCForbiddenScope gc_forbidden(ThreadState::Current());
+      const EventTargetSet* targets = &targets_[handler_class];
+      for (const auto& event_target : *targets) {
+        if (Node* node = event_target.key->ToNode()) {
+          for (Document* doc = &node->GetDocument(); doc;
+               doc = doc->LocalOwner() ? &doc->LocalOwner()->GetDocument()
+                                       : nullptr) {
+            if (doc == &document) {
+              targets_to_remove.push_back(event_target.key);
+              break;
+            }
           }
+        } else if (event_target.key->ToLocalDOMWindow()) {
+          // DOMWindows may outlive their documents, so we shouldn't remove
+          // their handlers here.
+        } else {
+          NOTREACHED();
         }
-      } else if (event_target.key->ToLocalDOMWindow()) {
-        // DOMWindows may outlive their documents, so we shouldn't remove their
-        // handlers here.
-      } else {
-        NOTREACHED();
       }
     }
     for (wtf_size_t i = 0; i < targets_to_remove.size(); ++i)
@@ -387,6 +394,10 @@
 void EventHandlerRegistry::CheckConsistency(
     EventHandlerClass handler_class) const {
 #if DCHECK_IS_ON()
+  // TODO(keishi): If a GC happens while iterating a EventTargetSet, the
+  // custom weak processing may remove elements from it. Remove this scope
+  // when we get rid of the custom weak processing. crbug.com/123531
+  ThreadState::GCForbiddenScope gc_forbidden(ThreadState::Current());
   const EventTargetSet* targets = &targets_[handler_class];
   for (const auto& event_target : *targets) {
     if (Node* node = event_target.key->ToNode()) {
diff --git a/third_party/blink/renderer/core/frame/performance_monitor.cc b/third_party/blink/renderer/core/frame/performance_monitor.cc
index 4af369fa..1ca54956 100644
--- a/third_party/blink/renderer/core/frame/performance_monitor.cc
+++ b/third_party/blink/renderer/core/frame/performance_monitor.cc
@@ -85,12 +85,16 @@
                                    base::TimeDelta threshold,
                                    Client* client) {
   DCHECK(violation < kAfterLast);
-  ClientThresholds* client_thresholds =
-      subscriptions_.DeprecatedAtOrEmptyValue(violation);
-  if (!client_thresholds) {
+  ClientThresholds* client_thresholds = nullptr;
+
+  auto it = subscriptions_.find(violation);
+  if (it == subscriptions_.end()) {
     client_thresholds = MakeGarbageCollected<ClientThresholds>();
     subscriptions_.Set(violation, client_thresholds);
+  } else {
+    client_thresholds = it->value;
   }
+
   client_thresholds->Set(client, threshold);
   UpdateInstrumentation();
 }
@@ -301,14 +305,18 @@
   if (!thresholds_[kLongTask].is_zero()) {
     base::TimeDelta task_time = end_time - start_time;
     if (task_time > thresholds_[kLongTask]) {
-      ClientThresholds* client_thresholds =
-          subscriptions_.DeprecatedAtOrEmptyValue(kLongTask);
-      for (const auto& it : *client_thresholds) {
-        if (it.value < task_time) {
-          it.key->ReportLongTask(
-              start_time, end_time,
-              task_has_multiple_contexts_ ? nullptr : task_execution_context_,
-              task_has_multiple_contexts_);
+      auto subscriptions_it = subscriptions_.find(kLongTask);
+      if (subscriptions_it != subscriptions_.end()) {
+        ClientThresholds* client_thresholds = subscriptions_it->value;
+        DCHECK(client_thresholds);
+
+        for (const auto& it : *client_thresholds) {
+          if (it.value < task_time) {
+            it.key->ReportLongTask(
+                start_time, end_time,
+                task_has_multiple_contexts_ ? nullptr : task_execution_context_,
+                task_has_multiple_contexts_);
+          }
         }
       }
     }
@@ -335,12 +343,14 @@
     const String& text,
     base::TimeDelta time,
     std::unique_ptr<SourceLocation> location) {
-  ClientThresholds* client_thresholds =
-      subscriptions_.DeprecatedAtOrEmptyValue(violation);
-  if (!client_thresholds)
+  auto subscriptions_it = subscriptions_.find(violation);
+  if (subscriptions_it == subscriptions_.end())
     return;
+
   if (!location)
     location = SourceLocation::Capture(context);
+
+  ClientThresholds* client_thresholds = subscriptions_it->value;
   for (const auto& it : *client_thresholds) {
     if (it.value < time)
       it.key->ReportGenericViolation(violation, text, time, location.get());
diff --git a/third_party/blink/renderer/core/html/media/html_media_element.cc b/third_party/blink/renderer/core/html/media/html_media_element.cc
index 74338c0..cfcb190 100644
--- a/third_party/blink/renderer/core/html/media/html_media_element.cc
+++ b/third_party/blink/renderer/core/html/media/html_media_element.cc
@@ -481,7 +481,7 @@
   if (!url.IsLocalFile() && !url.ProtocolIs("http") && !url.ProtocolIs("https"))
     return false;
 
-  return url.GetString().Contains("m3u8");
+  return url.GetPath().EndsWith(".m3u8");
 }
 
 bool HTMLMediaElement::MediaTracksEnabledInternally() {
diff --git a/third_party/blink/renderer/core/loader/resource/multipart_image_resource_parser_test.cc b/third_party/blink/renderer/core/loader/resource/multipart_image_resource_parser_test.cc
index 153b0ce..bad2c4b 100644
--- a/third_party/blink/renderer/core/loader/resource/multipart_image_resource_parser_test.cc
+++ b/third_party/blink/renderer/core/loader/resource/multipart_image_resource_parser_test.cc
@@ -98,7 +98,7 @@
       "This is a sample response\n"
       "--bound--"
       "ignore junk after end token --bound\n\nTest2\n";
-  parser->AppendData(kData, strlen(kData));
+  parser->AppendData(kData, static_cast<wtf_size_t>(strlen(kData)));
   ASSERT_EQ(1u, client->responses_.size());
   ASSERT_EQ(1u, client->data_.size());
   EXPECT_EQ("This is a sample response", ToString(client->data_[0]));
@@ -124,7 +124,7 @@
   const char kData[] =
       "bound\nContent-type: text/plain\n\n"
       "This is a sample response\n";
-  parser->AppendData(kData, strlen(kData));
+  parser->AppendData(kData, static_cast<wtf_size_t>(strlen(kData)));
   ASSERT_EQ(1u, client->responses_.size());
   ASSERT_EQ(1u, client->data_.size());
   EXPECT_EQ("This is a sample ", ToString(client->data_[0]));
@@ -150,7 +150,7 @@
   const char kData[] =
       "Content-type: text/plain\n\n"
       "This is a sample response\n";
-  parser->AppendData(kData, strlen(kData));
+  parser->AppendData(kData, static_cast<wtf_size_t>(strlen(kData)));
   ASSERT_EQ(1u, client->responses_.size());
   ASSERT_EQ(1u, client->data_.size());
   EXPECT_EQ("This is a sample ", ToString(client->data_[0]));
@@ -180,7 +180,7 @@
       "This is a sample response\n"
       "--bound--"
       "ignore junk after end token --bound\n\nTest2\n";
-  parser->AppendData(kData, strlen(kData));
+  parser->AppendData(kData, static_cast<wtf_size_t>(strlen(kData)));
   ASSERT_EQ(1u, client->responses_.size());
   ASSERT_EQ(1u, client->data_.size());
   EXPECT_EQ("This is a sample response", ToString(client->data_[0]));
@@ -335,7 +335,7 @@
       "\n\n--boundContent-type: text/plain\n\n"
       "--boundContent-type: text/plain\n\n"
       "end--bound--";
-  parser->AppendData(kData, strlen(kData));
+  parser->AppendData(kData, static_cast<wtf_size_t>(strlen(kData)));
   ASSERT_EQ(4u, client->responses_.size());
   ASSERT_EQ(4u, client->data_.size());
   EXPECT_EQ("", ToString(client->data_[0]));
@@ -365,7 +365,7 @@
                                                          client);
 
   const char kData[] = "--bound\r\n\r\n--bound\r\n\r\nfoofoo--bound--";
-  parser->AppendData(kData, strlen(kData));
+  parser->AppendData(kData, static_cast<wtf_size_t>(strlen(kData)));
   ASSERT_EQ(2u, client->responses_.size());
   ASSERT_EQ(2u, client->data_.size());
   EXPECT_EQ("", ToString(client->data_[0]));
diff --git a/third_party/blink/renderer/core/paint/compositing/compositing_test.cc b/third_party/blink/renderer/core/paint/compositing/compositing_test.cc
index 39539b1c..46d8fd9 100644
--- a/third_party/blink/renderer/core/paint/compositing/compositing_test.cc
+++ b/third_party/blink/renderer/core/paint/compositing/compositing_test.cc
@@ -2097,6 +2097,63 @@
   EXPECT_FALSE(CcLayerByDOMElementId("target")->contents_opaque_for_text());
 }
 
+TEST_P(CompositingSimTest, ContentsOpaqueForTextWithSubpixelSizeSimpleBg) {
+  InitializeWithHTML(R"HTML(
+      <!DOCTYPE html>
+      <div id="target" style="will-change: transform; background: white;
+                              width: 100.6px; height: 10.3px">
+        TEXT
+      </div>
+  )HTML");
+  Compositor().BeginFrame();
+  auto* cc_layer = CcLayerByDOMElementId("target");
+  // In CompositeAfterPaint, we adjust visual rect of the DrawingDisplayItem
+  // with simple painting to the bounds of the painting.
+  EXPECT_EQ(gfx::Size(101, 10), cc_layer->bounds());
+  EXPECT_TRUE(cc_layer->contents_opaque());
+  EXPECT_TRUE(cc_layer->contents_opaque_for_text());
+}
+
+TEST_P(CompositingSimTest, ContentsOpaqueForTextWithSubpixelSizeComplexBg) {
+  InitializeWithHTML(R"HTML(
+      <!DOCTYPE html>
+      <div id="target" style="will-change: transform; background: white;
+                              border: 2px inset blue;
+                              width: 100.6px; height: 10.3px">
+        TEXT
+      </div>
+  )HTML");
+  Compositor().BeginFrame();
+  auto* cc_layer = CcLayerByDOMElementId("target");
+  if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) {
+    EXPECT_EQ(gfx::Size(105, 15), cc_layer->bounds());
+    EXPECT_FALSE(cc_layer->contents_opaque());
+  } else {
+    // Pre-CAP always pixel-snaps composited layer bounds, which might be
+    // incorrect in some corner cases where we don't pixel-snap painting.
+    EXPECT_EQ(gfx::Size(105, 14), cc_layer->bounds());
+    EXPECT_TRUE(cc_layer->contents_opaque());
+  }
+  EXPECT_TRUE(cc_layer->contents_opaque_for_text());
+}
+
+TEST_P(CompositingSimTest, ContentsOpaqueForTextWithPartialBackground) {
+  // This test works only with the new text opaque algorithm.
+  if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
+    return;
+
+  InitializeWithHTML(R"HTML(
+      <!DOCTYPE html>
+      <div id="target" style="will-change: transform; padding: 10px">
+        <div style="background: white">TEXT</div>
+      </div>
+  )HTML");
+  Compositor().BeginFrame();
+  auto* cc_layer = CcLayerByDOMElementId("target");
+  EXPECT_FALSE(cc_layer->contents_opaque());
+  EXPECT_TRUE(cc_layer->contents_opaque_for_text());
+}
+
 TEST_P(CompositingSimTest, FullCompositingUpdateReasons) {
   InitializeWithHTML(R"HTML(
       <!DOCTYPE html>
diff --git a/third_party/blink/renderer/core/script/build.gni b/third_party/blink/renderer/core/script/build.gni
index 78e233b..e45ee3c 100644
--- a/third_party/blink/renderer/core/script/build.gni
+++ b/third_party/blink/renderer/core/script/build.gni
@@ -23,6 +23,8 @@
   "ignore_destructive_write_count_incrementer.h",
   "import_map.cc",
   "import_map.h",
+  "import_map_error.cc",
+  "import_map_error.h",
   "js_module_script.cc",
   "js_module_script.h",
   "modulator.cc",
diff --git a/third_party/blink/renderer/core/script/import_map.cc b/third_party/blink/renderer/core/script/import_map.cc
index c63c448..235ad39 100644
--- a/third_party/blink/renderer/core/script/import_map.cc
+++ b/third_party/blink/renderer/core/script/import_map.cc
@@ -8,6 +8,7 @@
 #include <utility>
 #include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/core/script/import_map_error.h"
 #include "third_party/blink/renderer/core/script/modulator.h"
 #include "third_party/blink/renderer/core/script/parsed_specifier.h"
 #include "third_party/blink/renderer/platform/json/json_parser.h"
@@ -131,11 +132,10 @@
 // Parse |text| as an import map. Errors (e.g. json parsing error, invalid
 // keys/values, etc.) are basically ignored, except that they are reported to
 // the console |logger|.
-ImportMap* ImportMap::Parse(const Modulator& modulator,
-                            const String& input,
+ImportMap* ImportMap::Parse(const String& input,
                             const KURL& base_url,
                             ConsoleLogger& logger,
-                            ScriptValue* error_to_rethrow) {
+                            absl::optional<ImportMapError>* error_to_rethrow) {
   DCHECK(error_to_rethrow);
 
   // <spec step="1">Let parsed be the result of parsing JSON into Infra values
@@ -144,7 +144,8 @@
 
   if (!parsed) {
     *error_to_rethrow =
-        modulator.CreateSyntaxError("Failed to parse import map: invalid JSON");
+        ImportMapError(ImportMapError::Type::kSyntaxError,
+                       "Failed to parse import map: invalid JSON");
     return MakeGarbageCollected<ImportMap>();
   }
 
@@ -153,7 +154,8 @@
   std::unique_ptr<JSONObject> parsed_map = JSONObject::From(std::move(parsed));
   if (!parsed_map) {
     *error_to_rethrow =
-        modulator.CreateTypeError("Failed to parse import map: not an object");
+        ImportMapError(ImportMapError::Type::kTypeError,
+                       "Failed to parse import map: not an object");
     return MakeGarbageCollected<ImportMap>();
   }
 
@@ -167,9 +169,10 @@
     // object.</spec>
     JSONObject* imports = parsed_map->GetJSONObject("imports");
     if (!imports) {
-      *error_to_rethrow = modulator.CreateTypeError(
-          "Failed to parse import map: \"imports\" "
-          "top-level key must be a JSON object.");
+      *error_to_rethrow =
+          ImportMapError(ImportMapError::Type::kTypeError,
+                         "Failed to parse import map: \"imports\" "
+                         "top-level key must be a JSON object.");
       return MakeGarbageCollected<ImportMap>();
     }
 
@@ -189,9 +192,10 @@
     // indicating that the "scopes" top-level key must be a JSON object.</spec>
     JSONObject* scopes = parsed_map->GetJSONObject("scopes");
     if (!scopes) {
-      *error_to_rethrow = modulator.CreateTypeError(
-          "Failed to parse import map: \"scopes\" "
-          "top-level key must be a JSON object.");
+      *error_to_rethrow =
+          ImportMapError(ImportMapError::Type::kTypeError,
+                         "Failed to parse import map: \"scopes\" "
+                         "top-level key must be a JSON object.");
       return MakeGarbageCollected<ImportMap>();
     }
 
@@ -216,10 +220,11 @@
         // potentialSpecifierMap is not a map, then throw a TypeError indicating
         // that the value of the scope with prefix scopePrefix must be a JSON
         // object.</spec>
-        *error_to_rethrow = modulator.CreateTypeError(
+        *error_to_rethrow = ImportMapError(
+            ImportMapError::Type::kTypeError,
             "Failed to parse import map: the value of the scope with prefix "
             "\"" +
-            entry.first + "\" must be a JSON object.");
+                entry.first + "\" must be a JSON object.");
         return MakeGarbageCollected<ImportMap>();
       }
 
diff --git a/third_party/blink/renderer/core/script/import_map.h b/third_party/blink/renderer/core/script/import_map.h
index 31fd7d3..bfad802 100644
--- a/third_party/blink/renderer/core/script/import_map.h
+++ b/third_party/blink/renderer/core/script/import_map.h
@@ -7,6 +7,7 @@
 
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/script/import_map_error.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl_hash.h"
@@ -15,21 +16,19 @@
 namespace blink {
 
 class ConsoleLogger;
+class ImportMapError;
 class JSONObject;
-class Modulator;
 class ParsedSpecifier;
-class ScriptValue;
 
 // Import maps.
 // https://wicg.github.io/import-maps/
 // https://github.com/WICG/import-maps/blob/master/spec.md
 class CORE_EXPORT ImportMap final : public GarbageCollected<ImportMap> {
  public:
-  static ImportMap* Parse(const Modulator&,
-                          const String& text,
+  static ImportMap* Parse(const String& text,
                           const KURL& base_url,
                           ConsoleLogger& logger,
-                          ScriptValue* error_to_rethrow);
+                          absl::optional<ImportMapError>* error_to_rethrow);
 
   // <spec href="https://wicg.github.io/import-maps/#specifier-map">A specifier
   // map is an ordered map from strings to resolution results.</spec>
diff --git a/third_party/blink/renderer/core/script/import_map_error.cc b/third_party/blink/renderer/core/script/import_map_error.cc
new file mode 100644
index 0000000..3abf70e
--- /dev/null
+++ b/third_party/blink/renderer/core/script/import_map_error.cc
@@ -0,0 +1,21 @@
+// 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 "third_party/blink/renderer/core/script/import_map_error.h"
+#include "third_party/blink/renderer/core/script/pending_import_map.h"
+#include "third_party/blink/renderer/platform/bindings/v8_throw_exception.h"
+
+namespace blink {
+
+v8::Local<v8::Value> ImportMapError::ToV8(ScriptState* script_state) {
+  v8::Isolate* isolate = script_state->GetIsolate();
+  switch (type_) {
+    case ImportMapError::Type::kTypeError:
+      return V8ThrowException::CreateTypeError(isolate, message_);
+    case ImportMapError::Type::kSyntaxError:
+      return V8ThrowException::CreateSyntaxError(isolate, message_);
+  }
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/core/script/import_map_error.h b/third_party/blink/renderer/core/script/import_map_error.h
new file mode 100644
index 0000000..3866984b
--- /dev/null
+++ b/third_party/blink/renderer/core/script/import_map_error.h
@@ -0,0 +1,43 @@
+// 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 THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_IMPORT_MAP_ERROR_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_IMPORT_MAP_ERROR_H_
+
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+#include "v8/include/v8.h"
+
+namespace blink {
+
+class ScriptState;
+
+// ImportMapError carries around the data needed to instantiate a V8 error.
+// ImportMapError enables us to decouple ImportMap implementation with V8.
+class ImportMapError final {
+ public:
+  enum class Type {
+    kTypeError,
+    kSyntaxError,
+  };
+
+  ImportMapError(Type type, String message)
+      : type_(type), message_(std::move(message)) {
+    DCHECK(!message_.IsEmpty());
+  }
+
+  ImportMapError(ImportMapError&&) = default;
+  ImportMapError& operator=(ImportMapError&&) = default;
+
+  ~ImportMapError() = default;
+
+  v8::Local<v8::Value> ToV8(ScriptState* script_state);
+
+ private:
+  Type type_;
+  String message_;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_IMPORT_MAP_ERROR_H_
diff --git a/third_party/blink/renderer/core/script/modulator.h b/third_party/blink/renderer/core/script/modulator.h
index c4dd3def..2030ad3 100644
--- a/third_party/blink/renderer/core/script/modulator.h
+++ b/third_party/blink/renderer/core/script/modulator.h
@@ -15,6 +15,7 @@
 #include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_code_cache.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/script/import_map_error.h"
 #include "third_party/blink/renderer/core/script/module_import_meta.h"
 #include "third_party/blink/renderer/platform/bindings/name_client.h"
 #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
@@ -37,7 +38,6 @@
 class ModuleRecordResolver;
 class ScriptPromiseResolver;
 class ScriptState;
-class ScriptValue;
 enum class ModuleType;
 
 // A SingleModuleClient is notified when single module script node (node as in a
@@ -177,14 +177,12 @@
                                   const ReferrerScriptInfo&,
                                   ScriptPromiseResolver*) = 0;
 
-  virtual ScriptValue CreateTypeError(const String& message) const = 0;
-  virtual ScriptValue CreateSyntaxError(const String& message) const = 0;
-
   // Import maps. https://github.com/WICG/import-maps
 
   // https://wicg.github.io/import-maps/#register-an-import-map
-  virtual void RegisterImportMap(const ImportMap*,
-                                 ScriptValue error_to_rethrow) = 0;
+  virtual void RegisterImportMap(
+      const ImportMap*,
+      absl::optional<ImportMapError> error_to_rethrow) = 0;
   virtual const ImportMap* GetImportMapForTest() const = 0;
 
   // https://wicg.github.io/import-maps/#document-acquiring-import-maps
diff --git a/third_party/blink/renderer/core/script/modulator_impl_base.cc b/third_party/blink/renderer/core/script/modulator_impl_base.cc
index 315904e7..aa90e7f 100644
--- a/third_party/blink/renderer/core/script/modulator_impl_base.cc
+++ b/third_party/blink/renderer/core/script/modulator_impl_base.cc
@@ -168,35 +168,21 @@
   }
 }
 
-ScriptValue ModulatorImplBase::CreateTypeError(const String& message) const {
-  ScriptState::Scope scope(script_state_);
-  ScriptValue error(
-      script_state_->GetIsolate(),
-      V8ThrowException::CreateTypeError(script_state_->GetIsolate(), message));
-  return error;
-}
-
-ScriptValue ModulatorImplBase::CreateSyntaxError(const String& message) const {
-  ScriptState::Scope scope(script_state_);
-  ScriptValue error(script_state_->GetIsolate(),
-                    V8ThrowException::CreateSyntaxError(
-                        script_state_->GetIsolate(), message));
-  return error;
-}
-
 // <specdef href="https://wicg.github.io/import-maps/#register-an-import-map">
-void ModulatorImplBase::RegisterImportMap(const ImportMap* import_map,
-                                          ScriptValue error_to_rethrow) {
+void ModulatorImplBase::RegisterImportMap(
+    const ImportMap* import_map,
+    absl::optional<ImportMapError> error_to_rethrow) {
   DCHECK(import_map);
 
   // <spec step="7">If import map parse result’s error to rethrow is not null,
   // then:</spec>
-  if (!error_to_rethrow.IsEmpty()) {
+  if (error_to_rethrow.has_value()) {
     // <spec step="7.1">Report the exception given import map parse result’s
     // error to rethrow. ...</spec>
     if (!IsScriptingDisabled()) {
       ScriptState::Scope scope(script_state_);
-      ModuleRecord::ReportException(script_state_, error_to_rethrow.V8Value());
+      ModuleRecord::ReportException(script_state_,
+                                    error_to_rethrow->ToV8(script_state_));
     }
 
     // <spec step="7.2">Return.</spec>
diff --git a/third_party/blink/renderer/core/script/modulator_impl_base.h b/third_party/blink/renderer/core/script/modulator_impl_base.h
index a8c54af..a6f5cf7d 100644
--- a/third_party/blink/renderer/core/script/modulator_impl_base.h
+++ b/third_party/blink/renderer/core/script/modulator_impl_base.h
@@ -6,8 +6,10 @@
 #define THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_MODULATOR_IMPL_BASE_H_
 
 #include "base/single_thread_task_runner.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink-forward.h"
 #include "third_party/blink/renderer/bindings/core/v8/module_record.h"
+#include "third_party/blink/renderer/core/script/import_map_error.h"
 #include "third_party/blink/renderer/core/script/modulator.h"
 #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
 #include "third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h"
@@ -80,9 +82,8 @@
                           ScriptPromiseResolver*) override;
   const ImportMap* GetImportMapForTest() const final { return import_map_; }
 
-  ScriptValue CreateTypeError(const String& message) const override;
-  ScriptValue CreateSyntaxError(const String& message) const override;
-  void RegisterImportMap(const ImportMap*, ScriptValue error_to_rethrow) final;
+  void RegisterImportMap(const ImportMap*,
+                         absl::optional<ImportMapError> error_to_rethrow) final;
   AcquiringImportMapsState GetAcquiringImportMapsState() const final {
     return acquiring_import_maps_;
   }
diff --git a/third_party/blink/renderer/core/script/pending_import_map.cc b/third_party/blink/renderer/core/script/pending_import_map.cc
index 80ec67b..7e82197f 100644
--- a/third_party/blink/renderer/core/script/pending_import_map.cc
+++ b/third_party/blink/renderer/core/script/pending_import_map.cc
@@ -20,33 +20,28 @@
   ExecutionContext* context = element.GetExecutionContext();
   ScriptState* script_state =
       ToScriptStateForMainWorld(To<LocalDOMWindow>(context)->GetFrame());
-  Modulator* modulator = Modulator::From(script_state);
 
-  ScriptValue error_to_rethrow;
-  ImportMap* import_map = ImportMap::Parse(
-      *modulator, import_map_text, base_url, *context, &error_to_rethrow);
+  absl::optional<ImportMapError> error_to_rethrow;
+  ImportMap* import_map =
+      ImportMap::Parse(import_map_text, base_url, *context, &error_to_rethrow);
   return MakeGarbageCollected<PendingImportMap>(
-      script_state, element, import_map, error_to_rethrow, *context);
+      script_state, element, import_map, std::move(error_to_rethrow), *context);
 }
 
-PendingImportMap::PendingImportMap(ScriptState* script_state,
-                                   ScriptElementBase& element,
-                                   ImportMap* import_map,
-                                   ScriptValue error_to_rethrow,
-                                   const ExecutionContext& original_context)
+PendingImportMap::PendingImportMap(
+    ScriptState* script_state,
+    ScriptElementBase& element,
+    ImportMap* import_map,
+    absl::optional<ImportMapError> error_to_rethrow,
+    const ExecutionContext& original_context)
     : element_(&element),
       import_map_(import_map),
-      original_execution_context_(&original_context) {
-  if (!error_to_rethrow.IsEmpty()) {
-    ScriptState::Scope scope(script_state);
-    error_to_rethrow_.Set(script_state->GetIsolate(),
-                          error_to_rethrow.V8Value());
-  }
-}
+      error_to_rethrow_(std::move(error_to_rethrow)),
+      original_execution_context_(&original_context) {}
 
 // <specdef href="https://wicg.github.io/import-maps/#register-an-import-map">
 // This is parallel to PendingScript::ExecuteScriptBlock().
-void PendingImportMap::RegisterImportMap() const {
+void PendingImportMap::RegisterImportMap() {
   // <spec step="1">If element’s the script’s result is null, then fire an event
   // named error at element, and return.</spec>
   if (!import_map_) {
@@ -83,12 +78,7 @@
 
   ScriptState* script_state = modulator->GetScriptState();
   ScriptState::Scope scope(script_state);
-  ScriptValue error;
-  if (!error_to_rethrow_.IsEmpty()) {
-    error = ScriptValue(script_state->GetIsolate(),
-                        error_to_rethrow_.Get(script_state));
-  }
-  modulator->RegisterImportMap(import_map_, error);
+  modulator->RegisterImportMap(import_map_, std::move(error_to_rethrow_));
 
   // <spec step="9">If element is from an external file, then fire an event
   // named load at element.</spec>
@@ -99,7 +89,6 @@
 void PendingImportMap::Trace(Visitor* visitor) const {
   visitor->Trace(element_);
   visitor->Trace(import_map_);
-  visitor->Trace(error_to_rethrow_);
   visitor->Trace(original_execution_context_);
 }
 
diff --git a/third_party/blink/renderer/core/script/pending_import_map.h b/third_party/blink/renderer/core/script/pending_import_map.h
index 96e10c8e..79bbe8e 100644
--- a/third_party/blink/renderer/core/script/pending_import_map.h
+++ b/third_party/blink/renderer/core/script/pending_import_map.h
@@ -7,6 +7,7 @@
 
 #include "third_party/blink/renderer/bindings/core/v8/world_safe_v8_reference.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/script/import_map_error.h"
 #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
 #include "third_party/blink/renderer/platform/heap/member.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
@@ -18,7 +19,6 @@
 class ImportMap;
 class KURL;
 class ScriptElementBase;
-class ScriptValue;
 
 // PendingImportMap serves as a container for an import map after "prepare a
 // script" until it is registered. PendingImportMap is similar to PendingScript.
@@ -43,12 +43,14 @@
   PendingImportMap(ScriptState* script_state,
                    ScriptElementBase&,
                    ImportMap*,
-                   ScriptValue error_to_rethrow,
+                   absl::optional<ImportMapError> error_to_rethrow,
                    const ExecutionContext& original_context);
   PendingImportMap(const PendingImportMap&) = delete;
   PendingImportMap& operator=(const PendingImportMap&) = delete;
 
-  void RegisterImportMap() const;
+  // Registers import map to the |element_|`s context. Should be called only
+  // once. |this| is invalidated after calling.
+  void RegisterImportMap();
 
   virtual void Trace(Visitor* visitor) const;
 
@@ -59,8 +61,7 @@
   Member<ImportMap> import_map_;
 
   // https://wicg.github.io/import-maps/#import-map-parse-result-error-to-rethrow
-  // The error is TypeError if the string is non-null, or null otherwise.
-  WorldSafeV8Reference<v8::Value> error_to_rethrow_;
+  absl::optional<ImportMapError> error_to_rethrow_;
 
   // https://wicg.github.io/import-maps/#import-map-parse-result-settings-object
   // The context at the time when PrepareScript() is executed.
diff --git a/third_party/blink/renderer/core/testing/dummy_modulator.cc b/third_party/blink/renderer/core/testing/dummy_modulator.cc
index e55a1961..91e2d57 100644
--- a/third_party/blink/renderer/core/testing/dummy_modulator.cc
+++ b/third_party/blink/renderer/core/testing/dummy_modulator.cc
@@ -7,6 +7,7 @@
 #include "third_party/blink/renderer/bindings/core/v8/module_record.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_value.h"
 #include "third_party/blink/renderer/core/loader/modulescript/module_script_creation_params.h"
+#include "third_party/blink/renderer/core/script/import_map_error.h"
 #include "third_party/blink/renderer/core/script/module_record_resolver.h"
 
 namespace blink {
@@ -120,17 +121,9 @@
   NOTREACHED();
 }
 
-ScriptValue DummyModulator::CreateTypeError(const String& message) const {
-  NOTREACHED();
-  return ScriptValue();
-}
-ScriptValue DummyModulator::CreateSyntaxError(const String& message) const {
-  NOTREACHED();
-  return ScriptValue();
-}
-
-void DummyModulator::RegisterImportMap(const ImportMap*,
-                                       ScriptValue error_to_rethrow) {
+void DummyModulator::RegisterImportMap(
+    const ImportMap*,
+    absl::optional<ImportMapError> error_to_rethrow) {
   NOTREACHED();
 }
 
diff --git a/third_party/blink/renderer/core/testing/dummy_modulator.h b/third_party/blink/renderer/core/testing/dummy_modulator.h
index 0800162..325a665 100644
--- a/third_party/blink/renderer/core/testing/dummy_modulator.h
+++ b/third_party/blink/renderer/core/testing/dummy_modulator.h
@@ -9,6 +9,7 @@
 #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink-forward.h"
 #include "third_party/blink/renderer/bindings/core/v8/module_record.h"
 #include "third_party/blink/renderer/bindings/core/v8/module_request.h"
+#include "third_party/blink/renderer/core/script/import_map_error.h"
 #include "third_party/blink/renderer/core/script/modulator.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 
@@ -62,10 +63,9 @@
   void ResolveDynamically(const ModuleRequest& module_request,
                           const ReferrerScriptInfo&,
                           ScriptPromiseResolver*) override;
-  ScriptValue CreateTypeError(const String& message) const override;
-  ScriptValue CreateSyntaxError(const String& message) const override;
-  void RegisterImportMap(const ImportMap*,
-                         ScriptValue error_to_rethrow) override;
+  void RegisterImportMap(
+      const ImportMap*,
+      absl::optional<ImportMapError> error_to_rethrow) override;
   AcquiringImportMapsState GetAcquiringImportMapsState() const override;
   void SetAcquiringImportMapsState(AcquiringImportMapsState) override;
   ModuleImportMeta HostGetImportMetaProperties(
diff --git a/third_party/blink/renderer/core/testing/internals.cc b/third_party/blink/renderer/core/testing/internals.cc
index b8da0bf3..c855514e 100644
--- a/third_party/blink/renderer/core/testing/internals.cc
+++ b/third_party/blink/renderer/core/testing/internals.cc
@@ -755,6 +755,18 @@
   return needs_layout_objects;
 }
 
+unsigned Internals::layoutCountForTesting(
+    ExceptionState& exception_state) const {
+  LocalFrame* context_frame = GetFrame();
+  if (!context_frame) {
+    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidAccessError,
+                                      "No context frame is available.");
+    return 0;
+  }
+
+  return context_frame->View()->LayoutCountForTesting();
+}
+
 unsigned Internals::hitTestCount(Document* doc,
                                  ExceptionState& exception_state) const {
   if (!doc) {
diff --git a/third_party/blink/renderer/core/testing/internals.h b/third_party/blink/renderer/core/testing/internals.h
index 1bd387e..d89952b 100644
--- a/third_party/blink/renderer/core/testing/internals.h
+++ b/third_party/blink/renderer/core/testing/internals.h
@@ -154,6 +154,7 @@
 
   unsigned updateStyleAndReturnAffectedElementCount(ExceptionState&) const;
   unsigned needsLayoutCount(ExceptionState&) const;
+  unsigned layoutCountForTesting(ExceptionState&) const;
   unsigned hitTestCount(Document*, ExceptionState&) const;
   unsigned hitTestCacheHits(Document*, ExceptionState&) const;
   Element* elementFromPoint(Document*,
diff --git a/third_party/blink/renderer/core/testing/internals.idl b/third_party/blink/renderer/core/testing/internals.idl
index 0814cc67..2885edb 100644
--- a/third_party/blink/renderer/core/testing/internals.idl
+++ b/third_party/blink/renderer/core/testing/internals.idl
@@ -63,6 +63,7 @@
     [RaisesException] unsigned short compareTreeScopePosition(Node treeScope1, Node treeScope2);
     [RaisesException] unsigned long updateStyleAndReturnAffectedElementCount();
     [RaisesException] unsigned long needsLayoutCount();
+    [RaisesException] unsigned long layoutCountForTesting();
     [RaisesException] unsigned long hitTestCount(Document document);
     [RaisesException] unsigned long hitTestCacheHits(Document document);
     [RaisesException] Element? elementFromPoint(Document document, double x, double y, boolean ignoreClipping, boolean allowChildFrameContent);
diff --git a/third_party/blink/renderer/modules/eyedropper/eye_dropper.cc b/third_party/blink/renderer/modules/eyedropper/eye_dropper.cc
index 975cef97..95dac2e 100644
--- a/third_party/blink/renderer/modules/eyedropper/eye_dropper.cc
+++ b/third_party/blink/renderer/modules/eyedropper/eye_dropper.cc
@@ -38,7 +38,7 @@
   LocalDOMWindow* window = LocalDOMWindow::From(script_state);
   if (!LocalFrame::HasTransientUserActivation(window->GetFrame())) {
     exception_state.ThrowDOMException(
-        DOMExceptionCode::kInvalidAccessError,
+        DOMExceptionCode::kNotAllowedError,
         "EyeDropper::open() requires user gesture.");
     return ScriptPromise();
   }
@@ -81,16 +81,15 @@
     resolver->Resolve(result);
   } else {
     resolver->Reject(MakeGarbageCollected<DOMException>(
-        DOMExceptionCode::kOperationError, "Unable to select a color."));
+        DOMExceptionCode::kAbortError, "The user canceled the selection."));
   }
 }
 
 void EyeDropper::EndChooser() {
   eye_dropper_chooser_.reset();
   if (resolver_) {
-    resolver_->Reject(
-        MakeGarbageCollected<DOMException>(DOMExceptionCode::kNotSupportedError,
-                                           "EyeDropper API is not available."));
+    resolver_->Reject(MakeGarbageCollected<DOMException>(
+        DOMExceptionCode::kOperationError, "EyeDropper is not available."));
     resolver_ = nullptr;
   }
 }
diff --git a/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc b/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
index 4ac3966d..388a69b 100644
--- a/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
+++ b/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
@@ -663,6 +663,19 @@
   test::RunPendingTasks();
   SimulateLoadedMetadata();
   EXPECT_FALSE(IsOverflowElementVisible(*download_button));
+
+  MediaControls().MediaElement().SetSrc(
+      "https://example.com/foo.m3u8?title=foo");
+  test::RunPendingTasks();
+  SimulateLoadedMetadata();
+  EXPECT_FALSE(IsOverflowElementVisible(*download_button));
+
+  // However, it *should* be displayed for otherwise valid sources containing
+  // the text 'm3u8'.
+  MediaControls().MediaElement().SetSrc("https://example.com/foo.m3u8.mp4");
+  test::RunPendingTasks();
+  SimulateLoadedMetadata();
+  EXPECT_TRUE(IsOverflowElementVisible(*download_button));
 }
 
 TEST_F(MediaControlsImplTest,
diff --git a/third_party/blink/renderer/modules/webaudio/convolver_node.cc b/third_party/blink/renderer/modules/webaudio/convolver_node.cc
index d0f5e9a..134a9fb0 100644
--- a/third_party/blink/renderer/modules/webaudio/convolver_node.cc
+++ b/third_party/blink/renderer/modules/webaudio/convolver_node.cc
@@ -44,7 +44,7 @@
 // a good value.  But, the Reverb object is multi-threaded, so we want this as
 // high as possible without losing too much accuracy.  Very large FFTs will have
 // worse phase errors. Given these constraints 32768 is a good compromise.
-const size_t MaxFFTSize = 32768;
+const unsigned MaxFFTSize = 32768;
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/modules/webdatabase/database.cc b/third_party/blink/renderer/modules/webdatabase/database.cc
index d3ba037..6a89b1c 100644
--- a/third_party/blink/renderer/modules/webdatabase/database.cc
+++ b/third_party/blink/renderer/modules/webdatabase/database.cc
@@ -108,12 +108,17 @@
     mutex_.AssertAcquired();
     String string_id = origin + "/" + name;
     DCHECK(string_id.IsSafeToSendToAnotherThread());
-    DatabaseGuid guid =
-        origin_name_to_guid_.DeprecatedAtOrEmptyValue(string_id);
-    if (!guid) {
+
+    DatabaseGuid guid;
+    auto origin_name_to_guid_it = origin_name_to_guid_.find(string_id);
+    if (origin_name_to_guid_it == origin_name_to_guid_.end()) {
       guid = next_guid_++;
       origin_name_to_guid_.Set(string_id, guid);
+    } else {
+      guid = origin_name_to_guid_it->value;
+      DCHECK(guid);
     }
+
     count_.insert(guid);
     return guid;
   }
@@ -131,7 +136,14 @@
   // The null string is returned only if the cached version has not been set.
   String GetVersion(DatabaseGuid guid) const EXCLUSIVE_LOCKS_REQUIRED(mutex_) {
     mutex_.AssertAcquired();
-    return guid_to_version_.DeprecatedAtOrEmptyValue(guid).IsolatedCopy();
+
+    String version;
+    auto guid_to_version_it = guid_to_version_.find(guid);
+    if (guid_to_version_it != guid_to_version_.end()) {
+      version = guid_to_version_it->value;
+      DCHECK(version);
+    }
+    return version.IsolatedCopy();
   }
 
   // Updates the cached version of a database.
diff --git a/third_party/blink/renderer/modules/webdatabase/database_manager.cc b/third_party/blink/renderer/modules/webdatabase/database_manager.cc
index 2a44868e..7fe81480 100644
--- a/third_party/blink/renderer/modules/webdatabase/database_manager.cc
+++ b/third_party/blink/renderer/modules/webdatabase/database_manager.cc
@@ -63,7 +63,8 @@
   DCHECK_LE(database_context_registered_count_,
             database_context_instance_count_);
 #endif
-  return context_map_->DeprecatedAtOrEmptyValue(context);
+  auto it = context_map_->find(context);
+  return (it == context_map_->end()) ? nullptr : it->value;
 }
 
 DatabaseContext* DatabaseManager::DatabaseContextFor(
diff --git a/third_party/blink/renderer/modules/webdatabase/database_tracker.cc b/third_party/blink/renderer/modules/webdatabase/database_tracker.cc
index 5c5c49d..776f229 100644
--- a/third_party/blink/renderer/modules/webdatabase/database_tracker.cc
+++ b/third_party/blink/renderer/modules/webdatabase/database_tracker.cc
@@ -89,18 +89,26 @@
     open_database_map_ = std::make_unique<DatabaseOriginMap>();
 
   String origin_string = database->GetSecurityOrigin()->ToRawString();
-  DatabaseNameMap* name_map =
-      open_database_map_->DeprecatedAtOrEmptyValue(origin_string);
-  if (!name_map) {
+
+  DatabaseNameMap* name_map;
+  auto open_database_map_it = open_database_map_->find(origin_string);
+  if (open_database_map_it == open_database_map_->end()) {
     name_map = new DatabaseNameMap();
     open_database_map_->Set(origin_string, name_map);
+  } else {
+    name_map = open_database_map_it->value;
+    DCHECK(name_map);
   }
 
-  String name(database->StringIdentifier());
-  DatabaseSet* database_set = name_map->DeprecatedAtOrEmptyValue(name);
-  if (!database_set) {
+  String name = database->StringIdentifier();
+  DatabaseSet* database_set;
+  auto name_map_it = name_map->find(name);
+  if (name_map_it == name_map->end()) {
     database_set = new DatabaseSet();
     name_map->Set(name, database_set);
+  } else {
+    database_set = name_map_it->value;
+    DCHECK(database_set);
   }
 
   database_set->insert(database);
@@ -111,16 +119,21 @@
     MutexLocker open_database_map_lock(open_database_map_guard_);
     String origin_string = database->GetSecurityOrigin()->ToRawString();
     DCHECK(open_database_map_);
-    DatabaseNameMap* name_map =
-        open_database_map_->DeprecatedAtOrEmptyValue(origin_string);
-    if (!name_map)
+    auto open_database_map_it = open_database_map_->find(origin_string);
+    if (open_database_map_it == open_database_map_->end())
       return;
 
-    String name(database->StringIdentifier());
-    DatabaseSet* database_set = name_map->DeprecatedAtOrEmptyValue(name);
-    if (!database_set)
+    DatabaseNameMap* name_map = open_database_map_it->value;
+    DCHECK(name_map);
+
+    String name = database->StringIdentifier();
+    auto name_map_it = name_map->find(name);
+    if (name_map_it == name_map->end())
       return;
 
+    DatabaseSet* database_set = name_map_it->value;
+    DCHECK(database_set);
+
     DatabaseSet::iterator found = database_set->find(database);
     if (found == database_set->end())
       return;
@@ -177,15 +190,20 @@
   if (!open_database_map_)
     return;
 
-  DatabaseNameMap* name_map =
-      open_database_map_->DeprecatedAtOrEmptyValue(origin_string);
-  if (!name_map)
+  auto open_database_map_it = open_database_map_->find(origin_string);
+  if (open_database_map_it == open_database_map_->end())
     return;
 
-  DatabaseSet* database_set = name_map->DeprecatedAtOrEmptyValue(name);
-  if (!database_set)
+  DatabaseNameMap* name_map = open_database_map_it->value;
+  DCHECK(name_map);
+
+  auto name_map_it = name_map->find(name);
+  if (name_map_it == name_map->end())
     return;
 
+  DatabaseSet* database_set = name_map_it->value;
+  DCHECK(database_set);
+
   // We have to call closeImmediately() on the context thread.
   for (DatabaseSet::iterator it = database_set->begin();
        it != database_set->end(); ++it) {
@@ -222,15 +240,21 @@
     if (!open_database_map_)
       return;
 
-    DatabaseNameMap* name_map =
-        open_database_map_->DeprecatedAtOrEmptyValue(origin_string);
-    if (!name_map)
+    auto open_database_map_it = open_database_map_->find(origin_string);
+    if (open_database_map_it == open_database_map_->end())
       return;
 
-    DatabaseSet* database_set = name_map->DeprecatedAtOrEmptyValue(name);
-    if (!database_set)
+    DatabaseNameMap* name_map = open_database_map_it->value;
+    DCHECK(name_map);
+
+    String name = database->StringIdentifier();
+    auto name_map_it = name_map->find(name);
+    if (name_map_it == name_map->end())
       return;
 
+    DatabaseSet* database_set = name_map_it->value;
+    DCHECK(database_set);
+
     if (!database_set->Contains(database))
       return;
   }
diff --git a/third_party/blink/renderer/modules/webtransport/web_transport.cc b/third_party/blink/renderer/modules/webtransport/web_transport.cc
index 751511e..4813aa9 100644
--- a/third_party/blink/renderer/modules/webtransport/web_transport.cc
+++ b/third_party/blink/renderer/modules/webtransport/web_transport.cc
@@ -14,7 +14,6 @@
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/blink/public/common/browser_interface_broker_proxy.h"
 #include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
-#include "third_party/blink/public/mojom/webtransport/web_transport_connector.mojom-blink.h"
 #include "third_party/blink/public/platform/task_type.h"
 #include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
@@ -645,6 +644,7 @@
     : ExecutionContextLifecycleObserver(context),
       script_state_(script_state),
       url_(NullURL(), url),
+      connector_(context),
       transport_remote_(context),
       handshake_client_receiver_(this, context),
       client_receiver_(this, context),
@@ -794,6 +794,7 @@
     mojo::PendingReceiver<network::mojom::blink::WebTransportClient>
         client_receiver) {
   DVLOG(1) << "WebTransport::OnConnectionEstablished() this=" << this;
+  connector_.reset();
   handshake_client_receiver_.reset();
 
   probe::WebTransportConnectionEstablished(GetExecutionContext(),
@@ -886,6 +887,7 @@
   visitor->Trace(outgoing_datagrams_);
   visitor->Trace(script_state_);
   visitor->Trace(create_stream_resolvers_);
+  visitor->Trace(connector_);
   visitor->Trace(transport_remote_);
   visitor->Trace(handshake_client_receiver_);
   visitor->Trace(client_receiver_);
@@ -937,15 +939,19 @@
 
   auto* execution_context = GetExecutionContext();
 
+  bool had_csp_failure = false;
   if (!execution_context->GetContentSecurityPolicyForCurrentWorld()
            ->AllowConnectToSource(url_, url_, RedirectStatus::kNoRedirect)) {
-    // TODO(ricea): This error should probably be asynchronous like it is for
-    // WebSockets and fetch.
-    exception_state.ThrowSecurityError(
+    auto dom_exception = V8ThrowDOMException::CreateOrEmpty(
+        script_state_->GetIsolate(), DOMExceptionCode::kSecurityError,
         "Failed to connect to '" + url_.ElidedString() + "'",
         "Refused to connect to '" + url_.ElidedString() +
             "' because it violates the document's Content Security Policy");
-    return;
+
+    ready_resolver_->Reject(dom_exception);
+    closed_resolver_->Reject(dom_exception);
+
+    had_csp_failure = true;
   }
 
   Vector<network::mojom::blink::WebTransportCertificateFingerprintPtr>
@@ -958,24 +964,29 @@
     }
   }
 
-  // TODO(ricea): Register SchedulingPolicy so that we don't get throttled and
-  // to disable bfcache. Must be done before shipping.
+  if (auto* scheduler = execution_context->GetScheduler()) {
+    feature_handle_for_scheduler_ = scheduler->RegisterFeature(
+        SchedulingPolicy::Feature::kWebTransport,
+        SchedulingPolicy{SchedulingPolicy::DisableAggressiveThrottling(),
+                         SchedulingPolicy::DisableBackForwardCache()});
+  }
 
   // TODO(ricea): Check the SubresourceFilter and fail asynchronously if
   // disallowed. Must be done before shipping.
 
-  mojo::Remote<mojom::blink::WebTransportConnector> connector;
-  execution_context->GetBrowserInterfaceBroker().GetInterface(
-      connector.BindNewPipeAndPassReceiver(
-          execution_context->GetTaskRunner(TaskType::kNetworking)));
+  if (!had_csp_failure) {
+    execution_context->GetBrowserInterfaceBroker().GetInterface(
+        connector_.BindNewPipeAndPassReceiver(
+            execution_context->GetTaskRunner(TaskType::kNetworking)));
 
-  connector->Connect(
-      url_, std::move(fingerprints),
-      handshake_client_receiver_.BindNewPipeAndPassRemote(
-          execution_context->GetTaskRunner(TaskType::kNetworking)));
+    connector_->Connect(
+        url_, std::move(fingerprints),
+        handshake_client_receiver_.BindNewPipeAndPassRemote(
+            execution_context->GetTaskRunner(TaskType::kNetworking)));
 
-  handshake_client_receiver_.set_disconnect_handler(
-      WTF::Bind(&WebTransport::OnConnectionError, WrapWeakPersistent(this)));
+    handshake_client_receiver_.set_disconnect_handler(
+        WTF::Bind(&WebTransport::OnConnectionError, WrapWeakPersistent(this)));
+  }
 
   probe::WebTransportCreated(execution_context, inspector_transport_id_, url_);
 
@@ -1037,9 +1048,12 @@
   DVLOG(1) << "WebTransport::Dispose() this=" << this;
   probe::WebTransportClosed(GetExecutionContext(), inspector_transport_id_);
   stream_map_.clear();
+  connector_.reset();
   transport_remote_.reset();
   handshake_client_receiver_.reset();
   client_receiver_.reset();
+  // Make the page back/forward cache-able.
+  feature_handle_for_scheduler_.reset();
 }
 
 void WebTransport::OnConnectionError() {
diff --git a/third_party/blink/renderer/modules/webtransport/web_transport.h b/third_party/blink/renderer/modules/webtransport/web_transport.h
index c3b9e81..c5325ba 100644
--- a/third_party/blink/renderer/modules/webtransport/web_transport.h
+++ b/third_party/blink/renderer/modules/webtransport/web_transport.h
@@ -13,6 +13,7 @@
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "services/network/public/mojom/web_transport.mojom-blink.h"
+#include "third_party/blink/public/mojom/webtransport/web_transport_connector.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/core/v8/active_script_wrappable.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
@@ -22,6 +23,7 @@
 #include "third_party/blink/renderer/platform/heap/heap_allocator.h"
 #include "third_party/blink/renderer/platform/mojo/heap_mojo_receiver.h"
 #include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
+#include "third_party/blink/renderer/platform/scheduler/public/frame_scheduler.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl.h"
 #include "third_party/blink/renderer/platform/wtf/forward.h"
 
@@ -153,6 +155,7 @@
               WTF::UnsignedWithZeroKeyHashTraits<uint32_t>>
       stream_map_;
 
+  HeapMojoRemote<mojom::blink::WebTransportConnector> connector_;
   HeapMojoRemote<network::mojom::blink::WebTransport> transport_remote_;
   HeapMojoReceiver<network::mojom::blink::WebTransportHandshakeClient,
                    WebTransport>
@@ -178,6 +181,9 @@
       received_bidirectional_streams_underlying_source_;
 
   const uint64_t inspector_transport_id_;
+
+  FrameScheduler::SchedulingAffectingFeatureHandle
+      feature_handle_for_scheduler_;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/webtransport/web_transport_test.cc b/third_party/blink/renderer/modules/webtransport/web_transport_test.cc
index 6750001ed..ce6966de 100644
--- a/third_party/blink/renderer/modules/webtransport/web_transport_test.cc
+++ b/third_party/blink/renderer/modules/webtransport/web_transport_test.cc
@@ -375,7 +375,6 @@
 
 TEST_F(WebTransportTest, FailByCSP) {
   V8TestingScope scope;
-  auto& exception_state = scope.GetExceptionState();
   scope.GetExecutionContext()
       ->GetContentSecurityPolicyForCurrentWorld()
       ->AddPolicies(ParseContentSecurityPolicies(
@@ -383,13 +382,19 @@
           network::mojom::ContentSecurityPolicyType::kEnforce,
           network::mojom::ContentSecurityPolicySource::kHTTP,
           *(scope.GetExecutionContext()->GetSecurityOrigin())));
-  WebTransport::Create(scope.GetScriptState(), String("https://example.com/"),
-                       EmptyOptions(), exception_state);
-  EXPECT_TRUE(exception_state.HadException());
-  EXPECT_EQ(static_cast<int>(DOMExceptionCode::kSecurityError),
-            exception_state.Code());
-  EXPECT_EQ("Failed to connect to 'https://example.com/'",
-            exception_state.Message());
+  auto* web_transport = WebTransport::Create(
+      scope.GetScriptState(), String("https://example.com/"), EmptyOptions(),
+      ASSERT_NO_EXCEPTION);
+  ScriptPromiseTester ready_tester(scope.GetScriptState(),
+                                   web_transport->ready());
+  ScriptPromiseTester closed_tester(scope.GetScriptState(),
+                                    web_transport->closed());
+
+  test::RunPendingTasks();
+
+  EXPECT_FALSE(web_transport->HasPendingActivity());
+  EXPECT_TRUE(ready_tester.IsRejected());
+  EXPECT_TRUE(closed_tester.IsRejected());
 }
 
 TEST_F(WebTransportTest, PassCSP) {
@@ -397,7 +402,6 @@
   // This doesn't work without the https:// prefix, even thought it should
   // according to
   // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src.
-  auto& exception_state = scope.GetExceptionState();
   scope.GetExecutionContext()
       ->GetContentSecurityPolicyForCurrentWorld()
       ->AddPolicies(ParseContentSecurityPolicies(
@@ -405,9 +409,15 @@
           network::mojom::ContentSecurityPolicyType::kEnforce,
           network::mojom::ContentSecurityPolicySource::kHTTP,
           *(scope.GetExecutionContext()->GetSecurityOrigin())));
-  WebTransport::Create(scope.GetScriptState(), String("https://example.com/"),
-                       EmptyOptions(), exception_state);
-  EXPECT_FALSE(exception_state.HadException());
+  auto* web_transport =
+      CreateAndConnectSuccessfully(scope, "https://example.com/");
+  ScriptPromiseTester ready_tester(scope.GetScriptState(),
+                                   web_transport->ready());
+
+  EXPECT_TRUE(web_transport->HasPendingActivity());
+
+  ready_tester.WaitUntilSettled();
+  EXPECT_TRUE(ready_tester.IsFulfilled());
 }
 
 TEST_F(WebTransportTest, SendConnect) {
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index b2fcba93..50ce68c 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -132,9 +132,6 @@
     "//third_party/blink/renderer:config",
     "//third_party/blink/renderer:inside_blink",
     "//build/config/compiler:noshadowing",
-
-    # TODO(crbug.com/879657): Fix size_t to int truncations.
-    "//build/config/compiler:no_shorten_64_warnings",
   ]
 }
 
diff --git a/third_party/blink/renderer/platform/audio/audio_channel.cc b/third_party/blink/renderer/platform/audio/audio_channel.cc
index c32867e..e9089a2 100644
--- a/third_party/blink/renderer/platform/audio/audio_channel.cc
+++ b/third_party/blink/renderer/platform/audio/audio_channel.cc
@@ -35,7 +35,7 @@
 
 namespace blink {
 
-void AudioChannel::ResizeSmaller(size_t new_length) {
+void AudioChannel::ResizeSmaller(uint32_t new_length) {
   DCHECK_LE(new_length, length_);
   length_ = new_length;
 }
diff --git a/third_party/blink/renderer/platform/audio/audio_channel.h b/third_party/blink/renderer/platform/audio/audio_channel.h
index a7dbe7e..94f02729 100644
--- a/third_party/blink/renderer/platform/audio/audio_channel.h
+++ b/third_party/blink/renderer/platform/audio/audio_channel.h
@@ -46,11 +46,11 @@
   // AudioFloatArray.
 
   // Reference an external buffer.
-  AudioChannel(float* storage, size_t length)
+  AudioChannel(float* storage, uint32_t length)
       : length_(length), raw_pointer_(storage), silent_(false) {}
 
   // Manage storage for us.
-  explicit AudioChannel(size_t length)
+  explicit AudioChannel(uint32_t length)
       : length_(length), raw_pointer_(nullptr), silent_(true) {
     mem_buffer_ = std::make_unique<AudioFloatArray>(length);
   }
@@ -60,7 +60,7 @@
 
   // Redefine the memory for this channel. |storage| represents external memory
   // not managed by this object.
-  void Set(float* storage, size_t length) {
+  void Set(float* storage, uint32_t length) {
     mem_buffer_.reset();  // cleanup managed storage
     raw_pointer_ = storage;
     length_ = length;
@@ -68,11 +68,11 @@
   }
 
   // How many sample-frames do we contain?
-  size_t length() const { return length_; }
+  uint32_t length() const { return length_; }
 
   // ResizeSmaller() can only be called with a new length <= the current length.
   // The data stored in the bus will remain undisturbed.
-  void ResizeSmaller(size_t new_length);
+  void ResizeSmaller(uint32_t new_length);
 
   // Direct access to PCM sample data. Non-const accessor clears silent flag.
   float* MutableData() {
@@ -122,7 +122,7 @@
   float MaxAbsValue() const;
 
  private:
-  size_t length_;
+  uint32_t length_;
 
   float* raw_pointer_;
   std::unique_ptr<AudioFloatArray> mem_buffer_;
diff --git a/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc b/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc
index 200a350..1ab546ad 100644
--- a/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc
+++ b/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc
@@ -281,13 +281,13 @@
   // carefully handling wrapping of the read pointer.
   float* read_pointer = &buffer[read_index1];
 
-  int remainder = buffer_end - read_pointer;
+  uint32_t remainder = static_cast<uint32_t>(buffer_end - read_pointer);
   memcpy(sample1, read_pointer,
-         sizeof(*sample1) *
-             std::min(static_cast<int>(frames_to_process), remainder));
-  memcpy(sample1 + remainder, buffer,
-         sizeof(*sample1) *
-             std::max(0, static_cast<int>(frames_to_process) - remainder));
+         sizeof(*sample1) * std::min(frames_to_process, remainder));
+  if (frames_to_process > remainder) {
+    memcpy(sample1 + remainder, buffer,
+           sizeof(*sample1) * (frames_to_process - remainder));
+  }
 
   // If interpolation_factor = 0, we don't need to do any interpolation and
   // sample1 contains the desried values.  We can skip the following code.
@@ -298,13 +298,13 @@
     float* sample2 = temp_buffer_.Data();
 
     read_pointer = &buffer[read_index2];
-    remainder = buffer_end - read_pointer;
+    remainder = static_cast<uint32_t>(buffer_end - read_pointer);
     memcpy(sample2, read_pointer,
-           sizeof(*sample1) *
-               std::min(static_cast<int>(frames_to_process), remainder));
-    memcpy(sample2 + remainder, buffer,
-           sizeof(*sample1) *
-               std::max(0, static_cast<int>(frames_to_process) - remainder));
+           sizeof(*sample1) * std::min(frames_to_process, remainder));
+    if (frames_to_process > remainder) {
+      memcpy(sample2 + remainder, buffer,
+             sizeof(*sample1) * (frames_to_process - remainder));
+    }
 
     // Interpolate samples, where f = interpolation_factor
     //   dest[k] = sample1[k] + f*(sample2[k] - sample1[k]);
diff --git a/third_party/blink/renderer/platform/audio/audio_destination.cc b/third_party/blink/renderer/platform/audio/audio_destination.cc
index d32f68c..0cfcf81 100644
--- a/third_party/blink/renderer/platform/audio/audio_destination.cc
+++ b/third_party/blink/renderer/platform/audio/audio_destination.cc
@@ -52,7 +52,7 @@
 // that we would ever need. The current UMA stats indicates that this is, in
 // fact, probably too small. There are Android devices out there with a size of
 // 8000 or so.  We might need to make this larger. See: crbug.com/670747
-const size_t kFIFOSize = 96 * 128;
+const uint32_t kFIFOSize = 96 * 128;
 
 namespace {
 
@@ -101,7 +101,7 @@
   SendLogMessage(String::Format("%s({output_channels=%u})", __func__,
                                 number_of_output_channels));
   SendLogMessage(
-      String::Format("%s => (FIFO size=%zu bytes)", __func__, fifo_->length()));
+      String::Format("%s => (FIFO size=%u bytes)", __func__, fifo_->length()));
   // Create WebAudioDevice. blink::WebAudioDevice is designed to support the
   // local input (e.g. loopback from OS audio system), but Chromium's media
   // renderer does not support it currently. Thus, we use zero for the number
@@ -184,7 +184,7 @@
 }
 
 void AudioDestination::Render(const WebVector<float*>& destination_data,
-                              size_t number_of_frames,
+                              uint32_t number_of_frames,
                               double delay,
                               double delay_timestamp,
                               size_t prior_frames_skipped) {
@@ -232,7 +232,6 @@
                    delay_timestamp, "delay (s)", delay);
 }
 
-
 void AudioDestination::RequestRender(size_t frames_requested,
                                      size_t frames_to_render,
                                      double delay,
@@ -398,7 +397,7 @@
   // Record the sizes if we successfully created an output device.
   // Histogram for audioHardwareBufferSize
   base::UmaHistogramSparse("WebAudio.AudioDestination.HardwareBufferSize",
-                           HardwareBufferSize());
+                           static_cast<int>(HardwareBufferSize()));
 
   // Histogram for the actual callback size used.  Typically, this is the same
   // as audioHardwareBufferSize, but can be adjusted depending on some
diff --git a/third_party/blink/renderer/platform/audio/audio_destination.h b/third_party/blink/renderer/platform/audio/audio_destination.h
index 8a9b79d..3a9dfbb 100644
--- a/third_party/blink/renderer/platform/audio/audio_destination.h
+++ b/third_party/blink/renderer/platform/audio/audio_destination.h
@@ -96,7 +96,7 @@
   // The actual render function (WebAudioDevice::RenderCallback) isochronously
   // invoked by the media renderer. This is never called after Stop() is called.
   void Render(const WebVector<float*>& destination_data,
-              size_t number_of_frames,
+              uint32_t number_of_frames,
               double delay,
               double delay_timestamp,
               size_t prior_frames_skipped) override;
diff --git a/third_party/blink/renderer/platform/audio/audio_resampler.cc b/third_party/blink/renderer/platform/audio/audio_resampler.cc
index c14430f..0af1ab4f 100644
--- a/third_party/blink/renderer/platform/audio/audio_resampler.cc
+++ b/third_party/blink/renderer/platform/audio/audio_resampler.cc
@@ -75,7 +75,7 @@
   for (unsigned i = 0; i < number_of_channels; ++i) {
     // Figure out how many frames we need to get from the provider, and a
     // pointer to the buffer.
-    size_t frames_needed;
+    unsigned frames_needed;
     float* fill_pointer =
         kernels_[i]->GetSourcePointer(frames_to_process, &frames_needed);
     DCHECK(fill_pointer);
diff --git a/third_party/blink/renderer/platform/audio/audio_resampler_kernel.cc b/third_party/blink/renderer/platform/audio/audio_resampler_kernel.cc
index cb8cde6..7dca70ec 100644
--- a/third_party/blink/renderer/platform/audio/audio_resampler_kernel.cc
+++ b/third_party/blink/renderer/platform/audio/audio_resampler_kernel.cc
@@ -45,7 +45,7 @@
 
 float* AudioResamplerKernel::GetSourcePointer(
     uint32_t frames_to_process,
-    size_t* number_of_source_frames_needed_p) {
+    unsigned* number_of_source_frames_needed_p) {
   DCHECK_LE(frames_to_process, kMaxFramesToProcess);
 
   // Calculate the next "virtual" index.  After process() is called,
@@ -61,7 +61,7 @@
   // Determine how many input frames we'll need.
   // We need to fill the buffer up to and including endIndex (so add 1) but
   // we've already buffered m_fillIndex frames from last time.
-  size_t frames_needed = 1 + end_index - fill_index_;
+  unsigned frames_needed = 1 + end_index - fill_index_;
   if (number_of_source_frames_needed_p)
     *number_of_source_frames_needed_p = frames_needed;
 
diff --git a/third_party/blink/renderer/platform/audio/audio_resampler_kernel.h b/third_party/blink/renderer/platform/audio/audio_resampler_kernel.h
index f23ea8c..a5c3d68 100644
--- a/third_party/blink/renderer/platform/audio/audio_resampler_kernel.h
+++ b/third_party/blink/renderer/platform/audio/audio_resampler_kernel.h
@@ -52,7 +52,7 @@
   // process() is called.  framesToProcess must be less than or equal to
   // MaxFramesToProcess.
   float* GetSourcePointer(uint32_t frames_to_process,
-                          size_t* number_of_source_frames_needed);
+                          unsigned* number_of_source_frames_needed);
 
   // process() resamples framesToProcess frames from the source into
   // destination.  Each call to process() must be preceded by a call to
diff --git a/third_party/blink/renderer/platform/audio/down_sampler.cc b/third_party/blink/renderer/platform/audio/down_sampler.cc
index f1089317..41b880f 100644
--- a/third_party/blink/renderer/platform/audio/down_sampler.cc
+++ b/third_party/blink/renderer/platform/audio/down_sampler.cc
@@ -41,7 +41,7 @@
 
 // Computes ideal band-limited half-band filter coefficients.
 // In other words, filter out all frequencies higher than 0.25 * Nyquist.
-std::unique_ptr<AudioFloatArray> MakeReducedKernel(size_t size) {
+std::unique_ptr<AudioFloatArray> MakeReducedKernel(int size) {
   auto reduced_kernel = std::make_unique<AudioFloatArray>(size / 2);
 
   // Blackman window parameters.
@@ -82,7 +82,7 @@
 
 }  // namespace
 
-DownSampler::DownSampler(size_t input_block_size)
+DownSampler::DownSampler(unsigned input_block_size)
     : input_block_size_(input_block_size),
       convolver_(input_block_size / 2,  // runs at 1/2 source sample-rate
                  MakeReducedKernel(kDefaultKernelSize)),
@@ -91,10 +91,10 @@
 
 void DownSampler::Process(const float* source_p,
                           float* dest_p,
-                          size_t source_frames_to_process) {
+                          uint32_t source_frames_to_process) {
   DCHECK_EQ(source_frames_to_process, input_block_size_);
 
-  size_t dest_frames_to_process = source_frames_to_process / 2;
+  uint32_t dest_frames_to_process = source_frames_to_process / 2;
 
   DCHECK_EQ(dest_frames_to_process, temp_buffer_.size());
   DCHECK_EQ(convolver_.ConvolutionKernelSize(),
diff --git a/third_party/blink/renderer/platform/audio/down_sampler.h b/third_party/blink/renderer/platform/audio/down_sampler.h
index 232eb67e..ffcc667 100644
--- a/third_party/blink/renderer/platform/audio/down_sampler.h
+++ b/third_party/blink/renderer/platform/audio/down_sampler.h
@@ -43,14 +43,14 @@
   USING_FAST_MALLOC(DownSampler);
 
  public:
-  explicit DownSampler(size_t input_block_size);
+  explicit DownSampler(unsigned input_block_size);
   DownSampler(const DownSampler&) = delete;
   DownSampler& operator=(const DownSampler&) = delete;
 
   // The destination buffer |destP| is of size sourceFramesToProcess / 2.
   void Process(const float* source_p,
                float* dest_p,
-               size_t source_frames_to_process);
+               uint32_t source_frames_to_process);
 
   void Reset();
 
@@ -60,7 +60,7 @@
  private:
   enum { kDefaultKernelSize = 256 };
 
-  size_t input_block_size_;
+  unsigned input_block_size_;
 
   // Half-band filter. SimpleFFTConvolver is always faster than DirectConvolver.
   SimpleFFTConvolver convolver_;
diff --git a/third_party/blink/renderer/platform/audio/ffmpeg/fft_frame_ffmpeg.cc b/third_party/blink/renderer/platform/audio/ffmpeg/fft_frame_ffmpeg.cc
index 69b31df..dbe23ec 100644
--- a/third_party/blink/renderer/platform/audio/ffmpeg/fft_frame_ffmpeg.cc
+++ b/third_party/blink/renderer/platform/audio/ffmpeg/fft_frame_ffmpeg.cc
@@ -88,12 +88,12 @@
   memcpy(ImagData().Data(), frame.ImagData().Data(), nbytes);
 }
 
-int FFTFrame::MinFFTSize() {
-  return 1 << kMinFFTPow2Size;
+unsigned FFTFrame::MinFFTSize() {
+  return 1u << kMinFFTPow2Size;
 }
 
-int FFTFrame::MaxFFTSize() {
-  return 1 << kMaxFFTPow2Size;
+unsigned FFTFrame::MaxFFTSize() {
+  return 1u << kMaxFFTPow2Size;
 }
 
 void FFTFrame::Initialize(float sample_rate) {}
diff --git a/third_party/blink/renderer/platform/audio/fft_convolver.cc b/third_party/blink/renderer/platform/audio/fft_convolver.cc
index a01b3fec..abb7be87 100644
--- a/third_party/blink/renderer/platform/audio/fft_convolver.cc
+++ b/third_party/blink/renderer/platform/audio/fft_convolver.cc
@@ -31,7 +31,7 @@
 
 namespace blink {
 
-FFTConvolver::FFTConvolver(size_t fft_size)
+FFTConvolver::FFTConvolver(unsigned fft_size)
     : frame_(fft_size),
       read_write_index_(0),
       input_buffer_(fft_size),  // 2nd half of buffer is always zeroed
@@ -42,7 +42,7 @@
                            const float* source_p,
                            float* dest_p,
                            uint32_t frames_to_process) {
-  size_t half_size = FftSize() / 2;
+  unsigned half_size = FftSize() / 2;
 
   // framesToProcess must be an exact multiple of halfSize,
   // or halfSize is a multiple of framesToProcess when halfSize >
diff --git a/third_party/blink/renderer/platform/audio/fft_convolver.h b/third_party/blink/renderer/platform/audio/fft_convolver.h
index a9e92f2..daf6a3e 100644
--- a/third_party/blink/renderer/platform/audio/fft_convolver.h
+++ b/third_party/blink/renderer/platform/audio/fft_convolver.h
@@ -40,7 +40,7 @@
 
  public:
   // fftSize must be a power of two
-  FFTConvolver(size_t fft_size);
+  FFTConvolver(unsigned fft_size);
   FFTConvolver(const FFTConvolver&) = delete;
   FFTConvolver& operator=(const FFTConvolver&) = delete;
 
@@ -60,7 +60,7 @@
 
   void Reset();
 
-  size_t FftSize() const { return frame_.FftSize(); }
+  unsigned FftSize() const { return frame_.FftSize(); }
 
  private:
   FFTFrame frame_;
diff --git a/third_party/blink/renderer/platform/audio/fft_frame.cc b/third_party/blink/renderer/platform/audio/fft_frame.cc
index b53cdefb..c74cbb8 100644
--- a/third_party/blink/renderer/platform/audio/fft_frame.cc
+++ b/third_party/blink/renderer/platform/audio/fft_frame.cc
@@ -40,7 +40,7 @@
 
 namespace blink {
 
-void FFTFrame::DoPaddedFFT(const float* data, size_t data_size) {
+void FFTFrame::DoPaddedFFT(const float* data, unsigned data_size) {
   // Zero-pad the impulse response
   AudioFloatArray padded_response(FftSize());  // zero-initialized
   padded_response.CopyToRange(data, 0, data_size);
diff --git a/third_party/blink/renderer/platform/audio/fft_frame.h b/third_party/blink/renderer/platform/audio/fft_frame.h
index 5474597..c5f97df 100644
--- a/third_party/blink/renderer/platform/audio/fft_frame.h
+++ b/third_party/blink/renderer/platform/audio/fft_frame.h
@@ -67,8 +67,8 @@
   ~FFTFrame();
 
   // Returns the smallest and largest supported FFT lengths.
-  static int MinFFTSize();
-  static int MaxFFTSize();
+  static unsigned MinFFTSize();
+  static unsigned MaxFFTSize();
 
   // Perform any initialization needed.  Must be called from the main thread.
   static void Initialize(float sample_rate);
@@ -100,7 +100,7 @@
       const FFTFrame& frame2,
       double x);
   // zero-padding with dataSize <= fftSize
-  void DoPaddedFFT(const float* data, size_t data_size);
+  void DoPaddedFFT(const float* data, unsigned data_size);
   double ExtractAverageGroupDelay();
   void AddConstantGroupDelay(double sample_frame_delay);
   // multiplies ourself with frame : effectively operator*=()
diff --git a/third_party/blink/renderer/platform/audio/hrtf_elevation.cc b/third_party/blink/renderer/platform/audio/hrtf_elevation.cc
index e90ce40..9859e53c 100644
--- a/third_party/blink/renderer/platform/audio/hrtf_elevation.cc
+++ b/third_party/blink/renderer/platform/audio/hrtf_elevation.cc
@@ -157,7 +157,7 @@
 
   // Note that depending on the fftSize returned by the panner, we may be
   // truncating the impulse response we just loaded in, or we might zero-pad it.
-  const size_t fft_size = HRTFPanner::FftSizeForSampleRate(sample_rate);
+  const unsigned fft_size = HRTFPanner::FftSizeForSampleRate(sample_rate);
 
   if (2 * response->length() < fft_size) {
     // Need to resize the response buffer length so that it fis the fft size.
diff --git a/third_party/blink/renderer/platform/audio/hrtf_kernel.cc b/third_party/blink/renderer/platform/audio/hrtf_kernel.cc
index ac96cea..30a58613 100644
--- a/third_party/blink/renderer/platform/audio/hrtf_kernel.cc
+++ b/third_party/blink/renderer/platform/audio/hrtf_kernel.cc
@@ -43,7 +43,7 @@
 // from the impulseP impulse response, and this value  is returned.  The length
 // of the passed in AudioChannel must be a power of 2.
 static float ExtractAverageGroupDelay(AudioChannel* channel,
-                                      size_t analysis_fft_size) {
+                                      unsigned analysis_fft_size) {
   DCHECK(channel);
 
   float* impulse_p = channel->MutableData();
@@ -65,7 +65,7 @@
 }
 
 HRTFKernel::HRTFKernel(AudioChannel* channel,
-                       size_t fft_size,
+                       unsigned fft_size,
                        float sample_rate)
     : frame_delay_(0), sample_rate_(sample_rate) {
   DCHECK(channel);
@@ -74,12 +74,12 @@
   frame_delay_ = ExtractAverageGroupDelay(channel, fft_size / 2);
 
   float* impulse_response = channel->MutableData();
-  size_t response_length = channel->length();
+  uint32_t response_length = channel->length();
 
   // We need to truncate to fit into 1/2 the FFT size (with zero padding) in
   // order to do proper convolution.
   // Truncate if necessary to max impulse response length allowed by FFT.
-  size_t truncated_response_length = std::min(response_length, fft_size / 2);
+  unsigned truncated_response_length = std::min(response_length, fft_size / 2);
 
   // Quick fade-out (apply window) at truncation point
   unsigned number_of_fade_out_frames = static_cast<unsigned>(
diff --git a/third_party/blink/renderer/platform/audio/hrtf_kernel.h b/third_party/blink/renderer/platform/audio/hrtf_kernel.h
index 1f2490ec..27da988 100644
--- a/third_party/blink/renderer/platform/audio/hrtf_kernel.h
+++ b/third_party/blink/renderer/platform/audio/hrtf_kernel.h
@@ -56,7 +56,7 @@
  public:
   // Note: this is destructive on the passed in AudioChannel.
   // The length of channel must be a power of two.
-  HRTFKernel(AudioChannel*, size_t fft_size, float sample_rate);
+  HRTFKernel(AudioChannel*, unsigned fft_size, float sample_rate);
   HRTFKernel(std::unique_ptr<FFTFrame> fft_frame,
              float frame_delay,
              float sample_rate)
diff --git a/third_party/blink/renderer/platform/audio/hrtf_panner.cc b/third_party/blink/renderer/platform/audio/hrtf_panner.cc
index d919afc..3dd49940 100644
--- a/third_party/blink/renderer/platform/audio/hrtf_panner.cc
+++ b/third_party/blink/renderer/platform/audio/hrtf_panner.cc
@@ -69,7 +69,7 @@
 
 HRTFPanner::~HRTFPanner() = default;
 
-size_t HRTFPanner::FftSizeForSampleRate(float sample_rate) {
+unsigned HRTFPanner::FftSizeForSampleRate(float sample_rate) {
   // The HRTF impulse responses (loaded as audio resources) are 512
   // sample-frames @44.1KHz.  Currently, we truncate the impulse responses to
   // half this size, but an FFT-size of twice impulse response size is needed
@@ -87,12 +87,13 @@
 
   // This is the size used for analysis frames in the HRTF kernel.  The
   // convolvers used by the kernel are twice this size.
-  int analysis_fft_size = 1 << static_cast<unsigned>(log2(resampled_length));
+  unsigned analysis_fft_size = 1u
+                               << static_cast<unsigned>(log2(resampled_length));
 
   // Don't let the analysis size be smaller than the supported size
   analysis_fft_size = std::max(analysis_fft_size, FFTFrame::MinFFTSize());
 
-  int convolver_fft_size = 2 * analysis_fft_size;
+  unsigned convolver_fft_size = 2 * analysis_fft_size;
 
   // Make sure this size of convolver is supported.
   DCHECK_LE(convolver_fft_size, FFTFrame::MaxFFTSize());
diff --git a/third_party/blink/renderer/platform/audio/hrtf_panner.h b/third_party/blink/renderer/platform/audio/hrtf_panner.h
index 02d008b3..52ca79d2 100644
--- a/third_party/blink/renderer/platform/audio/hrtf_panner.h
+++ b/third_party/blink/renderer/platform/audio/hrtf_panner.h
@@ -56,8 +56,8 @@
 
   void Reset() override;
 
-  size_t FftSize() const { return FftSizeForSampleRate(sample_rate_); }
-  static size_t FftSizeForSampleRate(float sample_rate);
+  unsigned FftSize() const { return FftSizeForSampleRate(sample_rate_); }
+  static unsigned FftSizeForSampleRate(float sample_rate);
 
   float SampleRate() const { return sample_rate_; }
 
diff --git a/third_party/blink/renderer/platform/audio/mac/fft_frame_mac.cc b/third_party/blink/renderer/platform/audio/mac/fft_frame_mac.cc
index 57db0bf..64ab15de 100644
--- a/third_party/blink/renderer/platform/audio/mac/fft_frame_mac.cc
+++ b/third_party/blink/renderer/platform/audio/mac/fft_frame_mac.cc
@@ -166,12 +166,12 @@
   return setup[log2fft_size]->GetSetup();
 }
 
-int FFTFrame::MinFFTSize() {
-  return 1 << kMinFFTPow2Size;
+unsigned FFTFrame::MinFFTSize() {
+  return 1u << kMinFFTPow2Size;
 }
 
-int FFTFrame::MaxFFTSize() {
-  return 1 << kMaxFFTPow2Size;
+unsigned FFTFrame::MaxFFTSize() {
+  return 1u << kMaxFFTPow2Size;
 }
 
 void FFTFrame::Initialize(float sample_rate) {
diff --git a/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.cc b/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.cc
index efc61bbc..2bf98cf 100644
--- a/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.cc
+++ b/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.cc
@@ -14,7 +14,7 @@
 MediaMultiChannelResampler::MediaMultiChannelResampler(
     int channels,
     double io_sample_rate_ratio,
-    size_t request_frames,
+    uint32_t request_frames,
     ReadCB read_cb)
     : resampler_input_bus_wrapper_(media::AudioBus::CreateWrapper(channels)),
       resampler_output_bus_wrapper_(
diff --git a/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.h b/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.h
index fcf15bc..25708bf 100644
--- a/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.h
+++ b/third_party/blink/renderer/platform/audio/media_multi_channel_resampler.h
@@ -40,7 +40,7 @@
   // frames of the AudioBus to be filled by |read_cb|.
   MediaMultiChannelResampler(int channels,
                              double io_sample_rate_ratio,
-                             size_t request_frames,
+                             uint32_t request_frames,
                              ReadCB read_cb);
 
   MediaMultiChannelResampler(const MediaMultiChannelResampler&) = delete;
diff --git a/third_party/blink/renderer/platform/audio/pffft/fft_frame_pffft.cc b/third_party/blink/renderer/platform/audio/pffft/fft_frame_pffft.cc
index 3317e8a..02990f35 100644
--- a/third_party/blink/renderer/platform/audio/pffft/fft_frame_pffft.cc
+++ b/third_party/blink/renderer/platform/audio/pffft/fft_frame_pffft.cc
@@ -150,12 +150,12 @@
   memcpy(ImagData().Data(), frame.ImagData().Data(), nbytes);
 }
 
-int FFTFrame::MinFFTSize() {
-  return 1 << kMinFFTPow2Size;
+unsigned FFTFrame::MinFFTSize() {
+  return 1u << kMinFFTPow2Size;
 }
 
-int FFTFrame::MaxFFTSize() {
-  return 1 << kMaxFFTPow2Size;
+unsigned FFTFrame::MaxFFTSize() {
+  return 1u << kMaxFFTPow2Size;
 }
 
 void FFTFrame::Initialize(float sample_rate) {
diff --git a/third_party/blink/renderer/platform/audio/push_pull_fifo.cc b/third_party/blink/renderer/platform/audio/push_pull_fifo.cc
index ea8d3d6..eb029773 100644
--- a/third_party/blink/renderer/platform/audio/push_pull_fifo.cc
+++ b/third_party/blink/renderer/platform/audio/push_pull_fifo.cc
@@ -21,10 +21,10 @@
 const unsigned kMaxMessagesToLog = 100;
 }
 
-const size_t PushPullFIFO::kMaxFIFOLength = 65536;
+const uint32_t PushPullFIFO::kMaxFIFOLength = 65536;
 
 PushPullFIFO::PushPullFIFO(unsigned number_of_channels,
-                           size_t fifo_length,
+                           uint32_t fifo_length,
                            unsigned render_quantum_frames)
     : fifo_length_(fifo_length), render_quantum_frames_(render_quantum_frames) {
   CHECK_LE(fifo_length_, kMaxFIFOLength);
@@ -69,7 +69,7 @@
   SECURITY_CHECK(input_bus->length() <= fifo_length_);
   SECURITY_CHECK(index_write_ < fifo_length_);
 
-  const size_t input_bus_length = input_bus->length();
+  const uint32_t input_bus_length = input_bus->length();
   const size_t remainder = fifo_length_ - index_write_;
 
   for (unsigned i = 0; i < fifo_bus_->NumberOfChannels(); ++i) {
@@ -112,7 +112,7 @@
 
 // Pull the data out of FIFO to |output_bus|. If remaining frame in the FIFO
 // is less than the frames to pull, provides remaining frame plus the silence.
-size_t PushPullFIFO::Pull(AudioBus* output_bus, size_t frames_requested) {
+size_t PushPullFIFO::Pull(AudioBus* output_bus, uint32_t frames_requested) {
   TRACE_EVENT2("webaudio", "PushPullFIFO::Pull", "this",
                static_cast<void*>(this), "frames", frames_requested);
 
@@ -212,7 +212,7 @@
 }
 
 size_t PushPullFIFO::PullAndUpdateEarmark(AudioBus* output_bus,
-                                          size_t frames_requested) {
+                                          uint32_t frames_requested) {
   TRACE_EVENT2("webaudio", "PushPullFIFO::PullAndUpdateEarmark", "this",
                static_cast<void*>(this), "frames_requested", frames_requested);
 
diff --git a/third_party/blink/renderer/platform/audio/push_pull_fifo.h b/third_party/blink/renderer/platform/audio/push_pull_fifo.h
index c47e79e2..e4ccdd64 100644
--- a/third_party/blink/renderer/platform/audio/push_pull_fifo.h
+++ b/third_party/blink/renderer/platform/audio/push_pull_fifo.h
@@ -42,13 +42,13 @@
 
  public:
   // Maximum FIFO length. (512 render quanta)
-  static const size_t kMaxFIFOLength;
+  static const uint32_t kMaxFIFOLength;
 
   // |fifo_length| cannot exceed |kMaxFIFOLength|. Otherwise it crashes.
   // ||render_quantum_frames| is the render size used by the audio graph.  It
   // |defaults to 128, the original and default render size.
   explicit PushPullFIFO(unsigned number_of_channels,
-                        size_t fifo_length,
+                        uint32_t fifo_length,
                         unsigned render_quantum_frames = 128);
   PushPullFIFO(const PushPullFIFO&) = delete;
   PushPullFIFO& operator=(const PushPullFIFO&) = delete;
@@ -71,12 +71,12 @@
   //  - In case of underflow (FIFO empty while pull), the remaining space in the
   //    requested output bus will be filled with silence. Thus it will fulfill
   //    the request from the consumer without causing error, but with a glitch.
-  size_t Pull(AudioBus* output_bus, size_t frames_requested);
+  size_t Pull(AudioBus* output_bus, uint32_t frames_requested);
 
   // Pull and update |ear_mark_frames_| to make the dual thread rendering mode
   // (i.e. AudioWorklet) more smooth. The single thread rendering does not need
   // this treatment.
-  size_t PullAndUpdateEarmark(AudioBus* output_bus, size_t frames_requested);
+  size_t PullAndUpdateEarmark(AudioBus* output_bus, uint32_t frames_requested);
 
   void SetEarmarkFrames(size_t earmark_frames) {
     DCHECK(IsMainThread());
@@ -84,7 +84,7 @@
     earmark_frames_ = earmark_frames;
   }
 
-  size_t length() const { return fifo_length_; }
+  uint32_t length() const { return fifo_length_; }
   unsigned NumberOfChannels() const {
     lock_.AssertAcquired();
     return fifo_bus_->NumberOfChannels();
@@ -107,7 +107,7 @@
 
  private:
   // The size of the FIFO.
-  const size_t fifo_length_ = 0;
+  const uint32_t fifo_length_ = 0;
 
   // The render size used by the audio graph.
   const unsigned render_quantum_frames_;
@@ -124,7 +124,7 @@
   size_t earmark_frames_ GUARDED_BY(lock_) = 0;
 
   // The number of frames in the FIFO actually available for pulling.
-  size_t frames_available_ GUARDED_BY(lock_) = 0;
+  uint32_t frames_available_ GUARDED_BY(lock_) = 0;
   size_t index_read_ GUARDED_BY(lock_) = 0;
   size_t index_write_ GUARDED_BY(lock_) = 0;
   scoped_refptr<AudioBus> fifo_bus_ GUARDED_BY(lock_);
diff --git a/third_party/blink/renderer/platform/audio/reverb.cc b/third_party/blink/renderer/platform/audio/reverb.cc
index f819f3e3..4b71e8e 100644
--- a/third_party/blink/renderer/platform/audio/reverb.cc
+++ b/third_party/blink/renderer/platform/audio/reverb.cc
@@ -53,12 +53,12 @@
 
 static float CalculateNormalizationScale(AudioBus* response) {
   // Normalize by RMS power
-  size_t number_of_channels = response->NumberOfChannels();
-  size_t length = response->length();
+  unsigned number_of_channels = response->NumberOfChannels();
+  uint32_t length = response->length();
 
   float power = 0;
 
-  for (size_t i = 0; i < number_of_channels; ++i) {
+  for (unsigned i = 0; i < number_of_channels; ++i) {
     float channel_power = 0;
     vector_math::Vsvesq(response->Channel(i)->Data(), 1, &channel_power,
                         length);
@@ -89,8 +89,8 @@
 }
 
 Reverb::Reverb(AudioBus* impulse_response,
-               size_t render_slice_size,
-               size_t max_fft_size,
+               unsigned render_slice_size,
+               unsigned max_fft_size,
                bool use_background_threads,
                bool normalize) {
   float scale = 1;
@@ -104,8 +104,8 @@
 }
 
 void Reverb::Initialize(AudioBus* impulse_response_buffer,
-                        size_t render_slice_size,
-                        size_t max_fft_size,
+                        unsigned render_slice_size,
+                        unsigned max_fft_size,
                         bool use_background_threads,
                         float scale) {
   impulse_response_length_ = impulse_response_buffer->length();
@@ -269,7 +269,7 @@
 }
 
 void Reverb::Reset() {
-  for (size_t i = 0; i < convolvers_.size(); ++i)
+  for (wtf_size_t i = 0; i < convolvers_.size(); ++i)
     convolvers_[i]->Reset();
 }
 
diff --git a/third_party/blink/renderer/platform/audio/reverb.h b/third_party/blink/renderer/platform/audio/reverb.h
index db5fcebf..d85d08a7 100644
--- a/third_party/blink/renderer/platform/audio/reverb.h
+++ b/third_party/blink/renderer/platform/audio/reverb.h
@@ -50,8 +50,8 @@
   // not all occur at the same time (very bad when rendering on a real-time
   // thread).
   Reverb(AudioBus* impulse_response_buffer,
-         size_t render_slice_size,
-         size_t max_fft_size,
+         unsigned render_slice_size,
+         unsigned max_fft_size,
          bool use_background_threads,
          bool normalize);
   Reverb(const Reverb&) = delete;
@@ -67,8 +67,8 @@
 
  private:
   void Initialize(AudioBus* impulse_response_buffer,
-                  size_t render_slice_size,
-                  size_t max_fft_size,
+                  unsigned render_slice_size,
+                  unsigned max_fft_size,
                   bool use_background_threads,
                   float scale);
 
diff --git a/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.cc b/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.cc
index b92806e..764a0626 100644
--- a/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.cc
+++ b/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.cc
@@ -32,19 +32,19 @@
 
 namespace blink {
 
-ReverbAccumulationBuffer::ReverbAccumulationBuffer(size_t length)
+ReverbAccumulationBuffer::ReverbAccumulationBuffer(uint32_t length)
     : buffer_(length), read_index_(0), read_time_frame_(0) {}
 
 void ReverbAccumulationBuffer::ReadAndClear(float* destination,
-                                            size_t number_of_frames) {
-  size_t buffer_length = buffer_.size();
+                                            uint32_t number_of_frames) {
+  uint32_t buffer_length = buffer_.size();
 
   DCHECK_LE(read_index_, buffer_length);
   DCHECK_LE(number_of_frames, buffer_length);
 
-  size_t frames_available = buffer_length - read_index_;
-  size_t number_of_frames1 = std::min(number_of_frames, frames_available);
-  size_t number_of_frames2 = number_of_frames - number_of_frames1;
+  uint32_t frames_available = buffer_length - read_index_;
+  uint32_t number_of_frames1 = std::min(number_of_frames, frames_available);
+  uint32_t number_of_frames2 = number_of_frames - number_of_frames1;
 
   float* source = buffer_.Data();
   memcpy(destination, source + read_index_, sizeof(float) * number_of_frames1);
@@ -61,26 +61,27 @@
   read_time_frame_ += number_of_frames;
 }
 
-void ReverbAccumulationBuffer::UpdateReadIndex(int* read_index,
-                                               size_t number_of_frames) const {
+void ReverbAccumulationBuffer::UpdateReadIndex(
+    uint32_t* read_index,
+    uint32_t number_of_frames) const {
   // Update caller's readIndex
   *read_index = (*read_index + number_of_frames) % buffer_.size();
 }
 
-int ReverbAccumulationBuffer::Accumulate(float* source,
-                                         size_t number_of_frames,
-                                         int* read_index,
-                                         size_t delay_frames) {
-  size_t buffer_length = buffer_.size();
+uint32_t ReverbAccumulationBuffer::Accumulate(float* source,
+                                              uint32_t number_of_frames,
+                                              uint32_t* read_index,
+                                              size_t delay_frames) {
+  uint32_t buffer_length = buffer_.size();
 
-  size_t write_index = (*read_index + delay_frames) % buffer_length;
+  uint32_t write_index = (*read_index + delay_frames) % buffer_length;
 
   // Update caller's readIndex
   *read_index = (*read_index + number_of_frames) % buffer_length;
 
-  size_t frames_available = buffer_length - write_index;
-  size_t number_of_frames1 = std::min(number_of_frames, frames_available);
-  size_t number_of_frames2 = number_of_frames - number_of_frames1;
+  uint32_t frames_available = buffer_length - write_index;
+  uint32_t number_of_frames1 = std::min(number_of_frames, frames_available);
+  uint32_t number_of_frames2 = number_of_frames - number_of_frames1;
 
   float* destination = buffer_.Data();
 
diff --git a/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.h b/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.h
index 92ed34488..1e63969 100644
--- a/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.h
+++ b/third_party/blink/renderer/platform/audio/reverb_accumulation_buffer.h
@@ -44,12 +44,12 @@
   DISALLOW_NEW();
 
  public:
-  ReverbAccumulationBuffer(size_t length);
+  ReverbAccumulationBuffer(uint32_t length);
   ReverbAccumulationBuffer(const ReverbAccumulationBuffer&) = delete;
   ReverbAccumulationBuffer& operator=(const ReverbAccumulationBuffer&) = delete;
 
   // This will read from, then clear-out numberOfFrames
-  void ReadAndClear(float* destination, size_t number_of_frames);
+  void ReadAndClear(float* destination, uint32_t number_of_frames);
 
   // Each ReverbConvolverStage will accumulate its output at the appropriate
   // delay from the read position.  We need to pass in and update readIndex
@@ -57,22 +57,22 @@
   // than the realtime thread calling ReadAndClear() and maintaining
   // m_readIndex
   // Returns the writeIndex where the accumulation took place
-  int Accumulate(float* source,
-                 size_t number_of_frames,
-                 int* read_index,
-                 size_t delay_frames);
+  uint32_t Accumulate(float* source,
+                      uint32_t number_of_frames,
+                      uint32_t* read_index,
+                      size_t delay_frames);
 
-  size_t ReadIndex() const { return read_index_; }
-  void UpdateReadIndex(int* read_index, size_t number_of_frames) const;
+  uint32_t ReadIndex() const { return read_index_; }
+  void UpdateReadIndex(uint32_t* read_index, uint32_t number_of_frames) const;
 
-  size_t ReadTimeFrame() const { return read_time_frame_; }
+  uint32_t ReadTimeFrame() const { return read_time_frame_; }
 
   void Reset();
 
  private:
   AudioFloatArray buffer_;
-  size_t read_index_;
-  size_t read_time_frame_;  // for debugging (frame on continuous timeline)
+  uint32_t read_index_;
+  uint32_t read_time_frame_;  // for debugging (frame on continuous timeline)
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/audio/reverb_convolver.cc b/third_party/blink/renderer/platform/audio/reverb_convolver.cc
index c239129..4807fbb 100644
--- a/third_party/blink/renderer/platform/audio/reverb_convolver.cc
+++ b/third_party/blink/renderer/platform/audio/reverb_convolver.cc
@@ -55,12 +55,12 @@
 // be incorrect.
 const size_t kRealtimeFrameLimit = 8192 + 4096;  // ~278msec @ 44.1KHz
 
-const size_t kMinFFTSize = 128;
-const size_t kMaxRealtimeFFTSize = 2048;
+const unsigned kMinFFTSize = 128;
+const unsigned kMaxRealtimeFFTSize = 2048;
 
 ReverbConvolver::ReverbConvolver(AudioChannel* impulse_response,
-                                 size_t render_slice_size,
-                                 size_t max_fft_size,
+                                 unsigned render_slice_size,
+                                 unsigned max_fft_size,
                                  size_t convolver_render_phase,
                                  bool use_background_threads,
                                  float scale)
@@ -80,17 +80,17 @@
   max_realtime_fft_size_ = kMaxRealtimeFFTSize;
 
   const float* response = impulse_response->Data();
-  size_t total_response_length = impulse_response->length();
+  uint32_t total_response_length = impulse_response->length();
 
   // The total latency is zero because the direct-convolution is used in the
   // leading portion.
   size_t reverb_total_latency = 0;
 
-  size_t stage_offset = 0;
+  unsigned stage_offset = 0;
   int i = 0;
-  size_t fft_size = min_fft_size_;
+  unsigned fft_size = min_fft_size_;
   while (stage_offset < total_response_length) {
-    size_t stage_size = fft_size / 2;
+    unsigned stage_size = fft_size / 2;
 
     // For the last stage, it's possible that stageOffset is such that we're
     // straddling the end of the impulse response buffer (if we use stageSize),
@@ -100,7 +100,7 @@
 
     // This "staggers" the time when each FFT happens so they don't all happen
     // at the same time
-    int render_phase = convolver_render_phase + i * render_slice_size;
+    size_t render_phase = convolver_render_phase + i * render_slice_size;
 
     bool use_direct_convolver = !stage_offset;
 
@@ -151,21 +151,19 @@
 void ReverbConvolver::ProcessInBackground() {
   // Process all of the stages until their read indices reach the input buffer's
   // write index
-  int write_index = input_buffer_.WriteIndex();
+  size_t write_index = input_buffer_.WriteIndex();
 
   // Even though it doesn't seem like every stage needs to maintain its own
   // version of readIndex we do this in case we want to run in more than one
   // background thread.
-  int read_index;
-
-  while ((read_index = background_stages_[0]->InputReadIndex()) !=
-         write_index) {  // FIXME: do better to detect buffer overrun...
+  // FIXME: do better to detect buffer overrun...
+  while (background_stages_[0]->InputReadIndex() != write_index) {
     // The ReverbConvolverStages need to process in amounts which evenly divide
     // half the FFT size
     const int kSliceSize = kMinFFTSize / 2;
 
     // Accumulate contributions from each stage
-    for (size_t i = 0; i < background_stages_.size(); ++i)
+    for (wtf_size_t i = 0; i < background_stages_.size(); ++i)
       background_stages_[i]->ProcessInBackground(this, kSliceSize);
   }
 }
@@ -187,7 +185,7 @@
   input_buffer_.Write(source, frames_to_process);
 
   // Accumulate contributions from each stage
-  for (size_t i = 0; i < stages_.size(); ++i)
+  for (wtf_size_t i = 0; i < stages_.size(); ++i)
     stages_[i]->Process(source, frames_to_process);
 
   // Finally read from accumulation buffer
@@ -204,10 +202,10 @@
 }
 
 void ReverbConvolver::Reset() {
-  for (size_t i = 0; i < stages_.size(); ++i)
+  for (wtf_size_t i = 0; i < stages_.size(); ++i)
     stages_[i]->Reset();
 
-  for (size_t i = 0; i < background_stages_.size(); ++i)
+  for (wtf_size_t i = 0; i < background_stages_.size(); ++i)
     background_stages_[i]->Reset();
 
   accumulation_buffer_.Reset();
diff --git a/third_party/blink/renderer/platform/audio/reverb_convolver.h b/third_party/blink/renderer/platform/audio/reverb_convolver.h
index ea025b36..a805354c 100644
--- a/third_party/blink/renderer/platform/audio/reverb_convolver.h
+++ b/third_party/blink/renderer/platform/audio/reverb_convolver.h
@@ -55,8 +55,8 @@
   // FFT sizes and single-precision floats.  In these cases 2048 is a good
   // size.  If not doing multi-threaded convolution, then should not go > 8192.
   ReverbConvolver(AudioChannel* impulse_response,
-                  size_t render_slice_size,
-                  size_t max_fft_size,
+                  unsigned render_slice_size,
+                  unsigned max_fft_size,
                   size_t convolver_render_phase,
                   bool use_background_threads,
                   float scale);
@@ -88,12 +88,12 @@
 
   // First stage will be of size m_minFFTSize.  Each next stage will be twice as
   // big until we hit m_maxFFTSize.
-  size_t min_fft_size_;
-  size_t max_fft_size_;
+  unsigned min_fft_size_;
+  unsigned max_fft_size_;
 
   // But don't exceed this size in the real-time thread (if we're doing
   // background processing).
-  size_t max_realtime_fft_size_;
+  unsigned max_realtime_fft_size_;
 
   // Background thread and synchronization
   std::unique_ptr<Thread> background_thread_;
diff --git a/third_party/blink/renderer/platform/audio/reverb_convolver_stage.cc b/third_party/blink/renderer/platform/audio/reverb_convolver_stage.cc
index 9c6cf41..bfe8bcf 100644
--- a/third_party/blink/renderer/platform/audio/reverb_convolver_stage.cc
+++ b/third_party/blink/renderer/platform/audio/reverb_convolver_stage.cc
@@ -44,10 +44,10 @@
     size_t,
     size_t reverb_total_latency,
     size_t stage_offset,
-    size_t stage_length,
-    size_t fft_size,
+    unsigned stage_length,
+    unsigned fft_size,
     size_t render_phase,
-    size_t render_slice_size,
+    unsigned render_slice_size,
     ReverbAccumulationBuffer* accumulation_buffer,
     float scale,
     bool direct_mode)
@@ -102,7 +102,7 @@
   // can schedule at exactly the moment when the FFT will happen.  This is
   // coordinated with the other stages, so they don't all do their FFTs at the
   // same time...
-  int max_pre_delay_length = std::min(half_size, total_delay);
+  size_t max_pre_delay_length = std::min(half_size, total_delay);
   pre_delay_length_ = total_delay > 0 ? render_phase % max_pre_delay_length : 0;
   if (pre_delay_length_ > total_delay)
     pre_delay_length_ = 0;
diff --git a/third_party/blink/renderer/platform/audio/reverb_convolver_stage.h b/third_party/blink/renderer/platform/audio/reverb_convolver_stage.h
index a258034..60ad2ec 100644
--- a/third_party/blink/renderer/platform/audio/reverb_convolver_stage.h
+++ b/third_party/blink/renderer/platform/audio/reverb_convolver_stage.h
@@ -57,10 +57,10 @@
                        size_t response_length,
                        size_t reverb_total_latency,
                        size_t stage_offset,
-                       size_t stage_length,
-                       size_t fft_size,
+                       unsigned stage_length,
+                       unsigned fft_size,
                        size_t render_phase,
-                       size_t render_slice_size,
+                       unsigned render_slice_size,
                        ReverbAccumulationBuffer*,
                        float scale,
                        bool direct_mode = false);
@@ -77,7 +77,7 @@
   void Reset();
 
   // Useful for background processing
-  int InputReadIndex() const { return input_read_index_; }
+  size_t InputReadIndex() const { return input_read_index_; }
 
  private:
   std::unique_ptr<FFTFrame> fft_kernel_;
@@ -86,8 +86,8 @@
   AudioFloatArray pre_delay_buffer_;
 
   ReverbAccumulationBuffer* accumulation_buffer_;
-  int accumulation_read_index_;
-  int input_read_index_;
+  uint32_t accumulation_read_index_;
+  size_t input_read_index_;
 
   size_t pre_delay_length_;
   size_t post_delay_length_;
diff --git a/third_party/blink/renderer/platform/audio/reverb_input_buffer.cc b/third_party/blink/renderer/platform/audio/reverb_input_buffer.cc
index aeda171b..3fc585a 100644
--- a/third_party/blink/renderer/platform/audio/reverb_input_buffer.cc
+++ b/third_party/blink/renderer/platform/audio/reverb_input_buffer.cc
@@ -48,11 +48,10 @@
   SetWriteIndex(new_index);
 }
 
-float* ReverbInputBuffer::DirectReadFrom(int* read_index,
+float* ReverbInputBuffer::DirectReadFrom(size_t* read_index,
                                          size_t number_of_frames) {
-  size_t buffer_length = buffer_.size();
+  uint32_t buffer_length = buffer_.size();
   DCHECK(read_index);
-  DCHECK_GE(*read_index, 0);
   DCHECK_LE(*read_index + number_of_frames, buffer_length);
 
   float* source_p = buffer_.Data();
diff --git a/third_party/blink/renderer/platform/audio/reverb_input_buffer.h b/third_party/blink/renderer/platform/audio/reverb_input_buffer.h
index 810ed56..f180d96 100644
--- a/third_party/blink/renderer/platform/audio/reverb_input_buffer.h
+++ b/third_party/blink/renderer/platform/audio/reverb_input_buffer.h
@@ -63,7 +63,7 @@
   // The assumption is that the buffer's length is evenly divisible by
   // numberOfFrames.
   // FIXME: remove numberOfFrames restriction...
-  float* DirectReadFrom(int* read_index, size_t number_of_frames);
+  float* DirectReadFrom(size_t* read_index, size_t number_of_frames);
 
   void Reset();
 
diff --git a/third_party/blink/renderer/platform/audio/simple_fft_convolver.cc b/third_party/blink/renderer/platform/audio/simple_fft_convolver.cc
index 9872313..dbc32f6 100644
--- a/third_party/blink/renderer/platform/audio/simple_fft_convolver.cc
+++ b/third_party/blink/renderer/platform/audio/simple_fft_convolver.cc
@@ -8,7 +8,7 @@
 namespace blink {
 
 SimpleFFTConvolver::SimpleFFTConvolver(
-    size_t input_block_size,
+    unsigned input_block_size,
     const std::unique_ptr<AudioFloatArray>& convolution_kernel)
     : convolution_kernel_size_(convolution_kernel->size()),
       fft_kernel_(2 * input_block_size),
@@ -27,7 +27,7 @@
 void SimpleFFTConvolver::Process(const float* source_p,
                                  float* dest_p,
                                  uint32_t frames_to_process) {
-  size_t half_size = FftSize() / 2;
+  unsigned half_size = FftSize() / 2;
 
   // frames_to_process must be exactly half_size.
   DCHECK(source_p);
diff --git a/third_party/blink/renderer/platform/audio/simple_fft_convolver.h b/third_party/blink/renderer/platform/audio/simple_fft_convolver.h
index 1487a34..505a2ea 100644
--- a/third_party/blink/renderer/platform/audio/simple_fft_convolver.h
+++ b/third_party/blink/renderer/platform/audio/simple_fft_convolver.h
@@ -24,7 +24,7 @@
 
  public:
   SimpleFFTConvolver(
-      size_t input_block_size,
+      unsigned input_block_size,
       const std::unique_ptr<AudioFloatArray>& convolution_kernel);
   SimpleFFTConvolver(const SimpleFFTConvolver&) = delete;
   SimpleFFTConvolver& operator=(const SimpleFFTConvolver&) = delete;
@@ -35,12 +35,12 @@
 
   void Reset();
 
-  size_t ConvolutionKernelSize() const { return convolution_kernel_size_; }
+  uint32_t ConvolutionKernelSize() const { return convolution_kernel_size_; }
 
  private:
-  size_t FftSize() const { return frame_.FftSize(); }
+  unsigned FftSize() const { return frame_.FftSize(); }
 
-  size_t convolution_kernel_size_;
+  uint32_t convolution_kernel_size_;
   FFTFrame fft_kernel_;
   FFTFrame frame_;
 
diff --git a/third_party/blink/renderer/platform/audio/up_sampler.cc b/third_party/blink/renderer/platform/audio/up_sampler.cc
index df78152..dba347182 100644
--- a/third_party/blink/renderer/platform/audio/up_sampler.cc
+++ b/third_party/blink/renderer/platform/audio/up_sampler.cc
@@ -75,7 +75,7 @@
 
 }  // namespace
 
-UpSampler::UpSampler(size_t input_block_size)
+UpSampler::UpSampler(unsigned input_block_size)
     : input_block_size_(input_block_size),
       temp_buffer_(input_block_size),
       input_buffer_(input_block_size * 2) {
@@ -96,7 +96,7 @@
 
 void UpSampler::Process(const float* source_p,
                         float* dest_p,
-                        size_t source_frames_to_process) {
+                        uint32_t source_frames_to_process) {
   const size_t convolution_kernel_size =
       direct_convolver_ ? direct_convolver_->ConvolutionKernelSize()
                         : simple_fft_convolver_->ConvolutionKernelSize();
diff --git a/third_party/blink/renderer/platform/audio/up_sampler.h b/third_party/blink/renderer/platform/audio/up_sampler.h
index c3d2779..a8597ed 100644
--- a/third_party/blink/renderer/platform/audio/up_sampler.h
+++ b/third_party/blink/renderer/platform/audio/up_sampler.h
@@ -46,14 +46,14 @@
   USING_FAST_MALLOC(UpSampler);
 
  public:
-  explicit UpSampler(size_t input_block_size);
+  explicit UpSampler(unsigned input_block_size);
   UpSampler(const UpSampler&) = delete;
   UpSampler& operator=(const UpSampler&) = delete;
 
   // The destination buffer |destP| is of size sourceFramesToProcess * 2.
   void Process(const float* source_p,
                float* dest_p,
-               size_t source_frames_to_process);
+               uint32_t source_frames_to_process);
 
   void Reset();
 
@@ -63,7 +63,7 @@
  private:
   enum { kDefaultKernelSize = 128 };
 
-  size_t input_block_size_;
+  unsigned input_block_size_;
 
   // Computes the odd sample-frames of the output.
   std::unique_ptr<DirectConvolver> direct_convolver_;
diff --git a/third_party/blink/renderer/platform/color_data.gperf b/third_party/blink/renderer/platform/color_data.gperf
index e47326a..e9281252 100644
--- a/third_party/blink/renderer/platform/color_data.gperf
+++ b/third_party/blink/renderer/platform/color_data.gperf
@@ -2,6 +2,8 @@
 #include "third_party/blink/renderer/platform/graphics/color.h"
 #include <string.h>
 
+#pragma clang diagnostic ignored "-Wshorten-64-to-32"
+
 namespace blink {
 
 %}
diff --git a/third_party/blink/renderer/platform/exported/web_audio_bus.cc b/third_party/blink/renderer/platform/exported/web_audio_bus.cc
index d01605f..1cae0121 100644
--- a/third_party/blink/renderer/platform/exported/web_audio_bus.cc
+++ b/third_party/blink/renderer/platform/exported/web_audio_bus.cc
@@ -32,8 +32,8 @@
 void WebAudioBus::Initialize(unsigned number_of_channels,
                              size_t length,
                              double sample_rate) {
-  scoped_refptr<AudioBus> audio_bus =
-      AudioBus::Create(number_of_channels, length);
+  scoped_refptr<AudioBus> audio_bus = AudioBus::Create(
+      number_of_channels, base::checked_cast<wtf_size_t>(length));
   audio_bus->SetSampleRate(sample_rate);
 
   if (private_)
@@ -47,7 +47,7 @@
   DCHECK(private_);
   if (private_) {
     DCHECK_LE(new_length, length());
-    private_->ResizeSmaller(new_length);
+    private_->ResizeSmaller(static_cast<wtf_size_t>(new_length));
   }
 }
 
diff --git a/third_party/blink/renderer/platform/exported/web_audio_device.cc b/third_party/blink/renderer/platform/exported/web_audio_device.cc
index d6e20a8e..6e3937a 100644
--- a/third_party/blink/renderer/platform/exported/web_audio_device.cc
+++ b/third_party/blink/renderer/platform/exported/web_audio_device.cc
@@ -28,7 +28,7 @@
 
 void WebAudioDevice::RenderCallback::Render(
     const WebVector<float*>& destination_data,
-    size_t number_of_frames,
+    uint32_t number_of_frames,
     double delay,
     double delay_timestamp,
     size_t prior_frames_skipped) {}
diff --git a/third_party/blink/renderer/platform/exported/web_http_body.cc b/third_party/blink/renderer/platform/exported/web_http_body.cc
index 1bf90c9..3f10fdb 100644
--- a/third_party/blink/renderer/platform/exported/web_http_body.cc
+++ b/third_party/blink/renderer/platform/exported/web_http_body.cc
@@ -65,7 +65,8 @@
   if (index >= private_->Elements().size())
     return false;
 
-  const FormDataElement& element = private_->Elements()[index];
+  const FormDataElement& element =
+      private_->Elements()[static_cast<wtf_size_t>(index)];
 
   result.data.Reset();
   result.file_path.Reset();
@@ -109,11 +110,11 @@
   EnsureMutable();
   // FIXME: FormDataElement::m_data should be a SharedBuffer<char>.  Then we
   // could avoid this buffer copy.
-  data.ForEachSegment(
-      [this](const char* segment, size_t segment_size, size_t segment_offset) {
-        private_->AppendData(segment, segment_size);
-        return true;
-      });
+  data.ForEachSegment([this](const char* segment, size_t segment_size,
+                             size_t segment_offset) {
+    private_->AppendData(segment, base::checked_cast<wtf_size_t>(segment_size));
+    return true;
+  });
 }
 
 void WebHTTPBody::AppendFileRange(
diff --git a/third_party/blink/renderer/platform/exported/web_string.cc b/third_party/blink/renderer/platform/exported/web_string.cc
index 1d45bdb..6e2dd1ec 100644
--- a/third_party/blink/renderer/platform/exported/web_string.cc
+++ b/third_party/blink/renderer/platform/exported/web_string.cc
@@ -56,7 +56,9 @@
 WebString& WebString::operator=(WebString&&) = default;
 
 WebString::WebString(const WebUChar* data, size_t len)
-    : impl_(StringImpl::Create8BitIfPossible(data, len)) {}
+    : impl_(StringImpl::Create8BitIfPossible(
+          data,
+          base::checked_cast<wtf_size_t>(len))) {}
 
 void WebString::Reset() {
   impl_ = nullptr;
@@ -83,7 +85,8 @@
 }
 
 WebString WebString::Substring(size_t pos, size_t len) const {
-  return String(impl_->Substring(pos, len));
+  return String(impl_->Substring(base::checked_cast<wtf_size_t>(pos),
+                                 base::checked_cast<wtf_size_t>(len)));
 }
 
 WebString WebString::FromUTF8(const char* data, size_t length) {
@@ -109,7 +112,7 @@
 }
 
 WebString WebString::FromLatin1(const WebLChar* data, size_t length) {
-  return String(data, length);
+  return String(data, base::checked_cast<wtf_size_t>(length));
 }
 
 std::string WebString::Ascii() const {
@@ -147,7 +150,7 @@
 }
 
 bool WebString::Equals(const char* characters, size_t length) const {
-  return Equal(impl_.get(), characters, length);
+  return Equal(impl_.get(), characters, base::checked_cast<wtf_size_t>(length));
 }
 
 WebString::WebString(const WTF::String& s) : impl_(s.Impl()) {}
diff --git a/third_party/blink/renderer/platform/exported/web_thread_safe_data.cc b/third_party/blink/renderer/platform/exported/web_thread_safe_data.cc
index 19196e6..31ae8b1 100644
--- a/third_party/blink/renderer/platform/exported/web_thread_safe_data.cc
+++ b/third_party/blink/renderer/platform/exported/web_thread_safe_data.cc
@@ -36,7 +36,7 @@
 
 WebThreadSafeData::WebThreadSafeData(const char* data, size_t length) {
   private_ = RawData::Create();
-  private_->MutableData()->Append(data, length);
+  private_->MutableData()->Append(data, base::checked_cast<wtf_size_t>(length));
 }
 
 void WebThreadSafeData::Reset() {
diff --git a/third_party/blink/renderer/platform/exported/web_url_response.cc b/third_party/blink/renderer/platform/exported/web_url_response.cc
index d9910a3..0f145b19 100644
--- a/third_party/blink/renderer/platform/exported/web_url_response.cc
+++ b/third_party/blink/renderer/platform/exported/web_url_response.cc
@@ -282,8 +282,9 @@
         static_cast<ResourceResponse::SignedCertificateTimestamp>(iter));
   }
   Vector<String> san_list;
-  san_list.Append(web_security_details.san_list.Data(),
-                  web_security_details.san_list.size());
+  san_list.Append(
+      web_security_details.san_list.Data(),
+      base::checked_cast<wtf_size_t>(web_security_details.san_list.size()));
   Vector<AtomicString> certificate;
   for (const auto& iter : web_security_details.certificate) {
     AtomicString cert = iter;
@@ -373,7 +374,8 @@
 
 void WebURLResponse::SetUrlListViaServiceWorker(
     const WebVector<WebURL>& url_list_via_service_worker) {
-  Vector<KURL> url_list(url_list_via_service_worker.size());
+  Vector<KURL> url_list(
+      base::checked_cast<wtf_size_t>(url_list_via_service_worker.size()));
   std::transform(url_list_via_service_worker.begin(),
                  url_list_via_service_worker.end(), url_list.begin(),
                  [](const WebURL& url) { return url; });
@@ -402,7 +404,8 @@
 void WebURLResponse::SetCorsExposedHeaderNames(
     const WebVector<WebString>& header_names) {
   Vector<String> exposed_header_names;
-  exposed_header_names.Append(header_names.Data(), header_names.size());
+  exposed_header_names.Append(
+      header_names.Data(), base::checked_cast<wtf_size_t>(header_names.size()));
   resource_response_->SetCorsExposedHeaderNames(exposed_header_names);
 }
 
@@ -520,7 +523,7 @@
 }
 
 void WebURLResponse::SetDnsAliases(const WebVector<WebString>& aliases) {
-  Vector<String> dns_aliases(aliases.size());
+  Vector<String> dns_aliases(base::checked_cast<wtf_size_t>(aliases.size()));
   std::transform(aliases.begin(), aliases.end(), dns_aliases.begin(),
                  [](const WebString& h) { return WTF::String(h); });
   resource_response_->SetDnsAliases(std::move(dns_aliases));
diff --git a/third_party/blink/renderer/platform/fonts/mac/font_matcher_mac.mm b/third_party/blink/renderer/platform/fonts/mac/font_matcher_mac.mm
index 2616170..6c1c1ad 100644
--- a/third_party/blink/renderer/platform/fonts/mac/font_matcher_mac.mm
+++ b/third_party/blink/renderer/platform/fonts/mac/font_matcher_mac.mm
@@ -60,11 +60,11 @@
 }
 
 BOOL BetterChoice(NSFontTraitMask desired_traits,
-                  int desired_weight,
+                  NSInteger desired_weight,
                   NSFontTraitMask chosen_traits,
-                  int chosen_weight,
+                  NSInteger chosen_weight,
                   NSFontTraitMask candidate_traits,
-                  int candidate_weight) {
+                  NSInteger candidate_weight) {
   if (!AcceptableChoice(desired_traits, candidate_traits))
     return NO;
 
@@ -89,8 +89,9 @@
       return NO;
   }
 
-  int chosen_weight_delta_magnitude = abs(chosen_weight - desired_weight);
-  int candidate_weight_delta_magnitude = abs(candidate_weight - desired_weight);
+  NSInteger chosen_weight_delta_magnitude = abs(chosen_weight - desired_weight);
+  NSInteger candidate_weight_delta_magnitude =
+      abs(candidate_weight - desired_weight);
 
   // If both are the same distance from the desired weight, prefer the candidate
   // if it is further from medium.
@@ -190,7 +191,7 @@
     available_family = desired_family;
   }
 
-  int app_kit_font_weight = ToAppKitFontWeight(desired_weight);
+  NSInteger app_kit_font_weight = ToAppKitFontWeight(desired_weight);
   if (!available_family) {
     // Match by PostScript name.
     NSEnumerator* available_fonts =
@@ -225,13 +226,13 @@
 
   // Found a family, now figure out what weight and traits to use.
   BOOL chose_font = false;
-  int chosen_weight = 0;
+  NSInteger chosen_weight = 0;
   NSFontTraitMask chosen_traits = 0;
   NSString* chosen_full_name = 0;
 
   NSArray* fonts = [font_manager availableMembersOfFontFamily:available_family];
-  unsigned n = [fonts count];
-  unsigned i;
+  NSUInteger n = [fonts count];
+  NSUInteger i;
   for (i = 0; i < n; i++) {
     NSArray* font_info = fonts[i];
 
@@ -273,7 +274,7 @@
   NSFontTraitMask actual_traits = 0;
   if (desired_traits & NSFontItalicTrait)
     actual_traits = [font_manager traitsOfFont:font];
-  int actual_weight = [font_manager weightOfFont:font];
+  NSInteger actual_weight = [font_manager weightOfFont:font];
 
   bool synthetic_bold = app_kit_font_weight >= 7 && actual_weight < 7;
   bool synthetic_italic = (desired_traits & NSFontItalicTrait) &&
diff --git a/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc b/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
index e1710f6b..0caa0dfd 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
@@ -51,9 +51,10 @@
 }  // namespace
 
 FontFormatCheck::FontFormatCheck(sk_sp<SkData> sk_data) {
-  HbScoped<hb_blob_t> font_blob(hb_blob_create(
-      reinterpret_cast<const char*>(sk_data->bytes()), sk_data->size(),
-      HB_MEMORY_MODE_READONLY, nullptr, nullptr));
+  HbScoped<hb_blob_t> font_blob(
+      hb_blob_create(reinterpret_cast<const char*>(sk_data->bytes()),
+                     base::checked_cast<unsigned>(sk_data->size()),
+                     HB_MEMORY_MODE_READONLY, nullptr, nullptr));
   HbScoped<hb_face_t> face(hb_face_create(font_blob.get(), 0));
 
   unsigned table_count = 0;
diff --git a/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc b/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc
index a5d79f4..e267430 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc
@@ -23,9 +23,10 @@
     return output;
   sk_sp<SkData> sk_data =
       SkData::MakeFromStream(stream.get(), stream->getLength());
-  HbScoped<hb_blob_t> blob(hb_blob_create(
-      reinterpret_cast<const char*>(sk_data->bytes()), sk_data->size(),
-      HB_MEMORY_MODE_READONLY, nullptr, nullptr));
+  HbScoped<hb_blob_t> blob(
+      hb_blob_create(reinterpret_cast<const char*>(sk_data->bytes()),
+                     base::checked_cast<unsigned>(sk_data->size()),
+                     HB_MEMORY_MODE_READONLY, nullptr, nullptr));
   HbScoped<hb_face_t> face(hb_face_create(blob.get(), 0));
   unsigned axes_count = hb_ot_var_get_axis_count(face.get());
   std::unique_ptr<hb_ot_var_axis_info_t[]> axes =
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
index 2b139e50..ffce97c 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
@@ -1029,7 +1029,8 @@
       DCHECK_LE(limit_glyph_info->cluster, max_cluster);
       // Adjust |right_glyph_info| and recompute dependent variables.
       right_glyph_info = limit_glyph_info;
-      num_glyphs = right_glyph_info - left_glyph_info + 1;
+      num_glyphs =
+          base::checked_cast<unsigned>(right_glyph_info - left_glyph_info + 1);
       num_characters_ = right_glyph_info[1].cluster - start_cluster;
     }
   } else {
@@ -1058,7 +1059,8 @@
       // Adjust |right_glyph_info| and recompute dependent variables.
       right_glyph_info = limit_glyph_info;
       start_cluster = right_glyph_info->cluster;
-      num_glyphs = right_glyph_info - left_glyph_info + 1;
+      num_glyphs =
+          base::checked_cast<unsigned>(right_glyph_info - left_glyph_info + 1);
       num_characters_ = last_cluster - right_glyph_info[1].cluster;
     }
   }
@@ -1188,8 +1190,10 @@
   Vector<scoped_refptr<RunInfo>>::iterator iterator = std::lower_bound(
       runs_.begin(), runs_.end(), run->start_index_,
       HB_DIRECTION_IS_FORWARD(run->direction_) ? ltr_comparer : rtl_comparer);
-  if (iterator != runs_.end())
-    runs_.insert(iterator - runs_.begin(), std::move(run));
+  if (iterator != runs_.end()) {
+    runs_.insert(static_cast<wtf_size_t>(iterator - runs_.begin()),
+                 std::move(run));
+  }
 
   // If we didn't find an existing slot to place it, append.
   if (run)
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc
index 0691b3d..7b0b5bd 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc
@@ -99,8 +99,8 @@
   DVLOG(4) << "   CommitText cluster starts: "
            << base::make_span(current_character_indexes_);
 
-  size_t pending_utf8_original_size = pending_utf8_.size();
-  size_t pending_utf8_character_indexes_original_size =
+  wtf_size_t pending_utf8_original_size = pending_utf8_.size();
+  wtf_size_t pending_utf8_character_indexes_original_size =
       pending_utf8_character_indexes_.size();
 
   // Do the UTF-8 conversion here.
@@ -114,7 +114,7 @@
   if (current_text_.Is8Bit()) {
     const LChar* latin1 = current_text_.Characters8();
     wtf_size_t utf8_size = pending_utf8_.size();
-    for (size_t i = from; i < to;) {
+    for (unsigned i = from; i < to;) {
       pending_utf8_character_index_from_character_index[i - from] = utf8_size;
 
       LChar cp = latin1[i++];
@@ -124,7 +124,7 @@
   } else {
     const UChar* utf16 = current_text_.Characters16();
     wtf_size_t utf8_size = pending_utf8_.size();
-    for (size_t i = from; i < to;) {
+    for (unsigned i = from; i < to;) {
       pending_utf8_character_index_from_character_index[i - from] = utf8_size;
 
       UChar32 cp;
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_view.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result_view.cc
index 00d32e2f..4c9a620 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_view.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_view.cc
@@ -61,7 +61,7 @@
   bool IsRtl() const { return run_->IsRtl(); }
   bool IsHorizontal() const { return run_->IsHorizontal(); }
   unsigned NumCharacters() const { return num_characters_; }
-  unsigned NumGlyphs() const { return range_.end - range_.begin; }
+  unsigned NumGlyphs() const { return range_.size(); }
   float Width() const { return width_; }
 
   unsigned PreviousSafeToBreakOffset(unsigned offset) const;
@@ -319,7 +319,7 @@
   // Segments are in logical order, runs and parts are in visual order. Iterate
   // over segments back-to-front for RTL.
   DCHECK_GT(segment_count, 0u);
-  unsigned last_segment_index = segment_count - 1;
+  size_t last_segment_index = segment_count - 1;
 
   // Compute start index offset for the overall run. This is added to the start
   // index of each glyph to ensure consistency with ShapeResult::SubRange
@@ -333,7 +333,7 @@
     char_index_offset_ = 0;
   }
 
-  for (unsigned i = 0; i < segment_count; i++) {
+  for (size_t i = 0; i < segment_count; i++) {
     const Segment& segment = segments[IsRtl() ? last_segment_index - i : i];
     if (segment.result) {
       DCHECK_EQ(segment.result->Direction(), Direction());
diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
index f0b63e3..e2c3b26a 100644
--- a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
+++ b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
@@ -504,7 +504,7 @@
                                      FontSelectionValue& variant_weight) {
   struct FamilyWeightSuffix {
     const UChar* suffix;
-    size_t length;
+    wtf_size_t length;
     FontSelectionValue weight;
   };
   // Mapping from suffix to weight from the DirectWrite documentation.
@@ -542,7 +542,7 @@
                                       FontSelectionValue& variant_stretch) {
   struct FamilyStretchSuffix {
     const UChar* suffix;
-    size_t length;
+    wtf_size_t length;
     FontSelectionValue stretch;
   };
   // Mapping from suffix to stretch value from the DirectWrite documentation.
diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image.cc b/third_party/blink/renderer/platform/graphics/bitmap_image.cc
index 5dd994ba..3b5c582 100644
--- a/third_party/blink/renderer/platform/graphics/bitmap_image.cc
+++ b/third_party/blink/renderer/platform/graphics/bitmap_image.cc
@@ -187,7 +187,7 @@
   if (!data)
     return kSizeAvailable;
 
-  int length = data->size();
+  size_t length = data->size();
   if (!length)
     return kSizeAvailable;
 
@@ -393,9 +393,7 @@
 }
 
 bool BitmapImage::CurrentFrameIsComplete() {
-  return decoder_
-             ? decoder_->FrameIsReceivedAtIndex(PaintImage::kDefaultFrameIndex)
-             : false;
+  return decoder_ && decoder_->FrameIsReceivedAtIndex(0);
 }
 
 bool BitmapImage::CurrentFrameIsLazyDecoded() {
@@ -404,7 +402,7 @@
 }
 
 ImageOrientation BitmapImage::CurrentFrameOrientation() const {
-  return decoder_ ? decoder_->OrientationAtIndex(PaintImage::kDefaultFrameIndex)
+  return decoder_ ? decoder_->OrientationAtIndex(0)
                   : ImageOrientationEnum::kDefault;
 }
 
diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.cc b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.cc
index 1674683..d639e36f 100644
--- a/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.cc
+++ b/third_party/blink/renderer/platform/graphics/bitmap_image_metrics.cc
@@ -76,7 +76,7 @@
     DEFINE_THREAD_SAFE_STATIC_LOCAL(
         CustomCountHistogram, density_histogram,
         ("Blink.DecodedImage.JpegDensity.KiBWeighted", 1, 1000, 100));
-    int image_size_kib = (image_size_bytes + 512) / 1024;
+    int image_size_kib = static_cast<int>((image_size_bytes + 512) / 1024);
     if (image_size_kib > 0) {
       density_histogram.CountMany(
           base::saturated_cast<base::Histogram::Sample>(density_centi_bpp),
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc
index 49bdae888..4467606 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc
@@ -294,7 +294,8 @@
     WillDrawInternal(true);
     RasterInterface()->WritePixels(
         GetBackingMailboxForOverwrite(kOrderingBarrier), x, y,
-        GetBackingTextureTarget(), row_bytes, orig_info, pixels);
+        GetBackingTextureTarget(), base::checked_cast<GLuint>(row_bytes),
+        orig_info, pixels);
     return true;
   }
 
@@ -855,9 +856,9 @@
       return false;
 
     WillDraw();
-    RasterInterface()->WritePixels(resource_->GetBackBufferMailbox(), x, y,
-                                   GetBackingTextureTarget(), row_bytes,
-                                   orig_info, pixels);
+    RasterInterface()->WritePixels(
+        resource_->GetBackBufferMailbox(), x, y, GetBackingTextureTarget(),
+        base::checked_cast<GLuint>(row_bytes), orig_info, pixels);
     return true;
   }
 
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
index 7924178..50024f2 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
@@ -342,8 +342,8 @@
   // underlying GrContext is flushed.
   static constexpr int kMaxDrawsBeforeContextFlush = 50;
 
-  size_t num_inflight_resources_ = 0;
-  size_t max_inflight_resources_ = 0;
+  int num_inflight_resources_ = 0;
+  int max_inflight_resources_ = 0;
 
   RestoreMatrixClipStackCb restore_clip_stack_callback_;
 
diff --git a/third_party/blink/renderer/platform/graphics/color_space_profile_data.cc b/third_party/blink/renderer/platform/graphics/color_space_profile_data.cc
index eee9f2e..5d439bc 100644
--- a/third_party/blink/renderer/platform/graphics/color_space_profile_data.cc
+++ b/third_party/blink/renderer/platform/graphics/color_space_profile_data.cc
@@ -99,14 +99,16 @@
   DCHECK(WTF::IsMainThread());
   DCHECK(data.IsEmpty());
 
-  data.Append(bt709ColorProfile::data(), bt709ColorProfile::size());
+  data.Append(bt709ColorProfile::data(),
+              static_cast<wtf_size_t>(bt709ColorProfile::size()));
 }
 
 void Bt601ColorProfileData(Vector<char>& data) {
   DCHECK(WTF::IsMainThread());
   DCHECK(data.IsEmpty());
 
-  data.Append(bt601ColorProfile::data(), bt601ColorProfile::size());
+  data.Append(bt601ColorProfile::data(),
+              static_cast<wtf_size_t>(bt601ColorProfile::size()));
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
index 98a596e0..ccadf25 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
@@ -902,7 +902,8 @@
   auto* new_end = std::remove_if(
       synthesized_clip_cache_.begin(), synthesized_clip_cache_.end(),
       [](const auto& entry) { return !entry.in_use; });
-  synthesized_clip_cache_.Shrink(new_end - synthesized_clip_cache_.begin());
+  synthesized_clip_cache_.Shrink(
+      static_cast<wtf_size_t>(new_end - synthesized_clip_cache_.begin()));
 
   // This should be done before UpdateRenderSurfaceForEffects() for which to
   // get property tree node ids from the layers.
@@ -1278,7 +1279,7 @@
     const Vector<const EffectPaintPropertyNode*>& blink_effects) {
   // This vector is indexed by effect node id. The value is the number of
   // layers and sub-render-surfaces controlled by this effect.
-  Vector<int> effect_layer_counts(effect_tree.size());
+  Vector<int> effect_layer_counts(static_cast<wtf_size_t>(effect_tree.size()));
   // Initialize the vector to count directly controlled layers.
   for (const auto& layer : layers) {
     if (layer->DrawsContent())
@@ -1288,7 +1289,7 @@
   // In the effect tree, parent always has lower id than children, so the
   // following loop will check descendants before parents and accumulate
   // effect_layer_counts.
-  for (auto id = effect_tree.size() - 1;
+  for (int id = static_cast<int>(effect_tree.size() - 1);
        id > cc::EffectTree::kSecondaryRootNodeId; id--) {
     auto* effect = effect_tree.Node(id);
     if (effect_layer_counts[id] > 1) {
diff --git a/third_party/blink/renderer/platform/graphics/decoding_image_generator.cc b/third_party/blink/renderer/platform/graphics/decoding_image_generator.cc
index 469ff564..e5ed5a8e 100644
--- a/third_party/blink/renderer/platform/graphics/decoding_image_generator.cc
+++ b/third_party/blink/renderer/platform/graphics/decoding_image_generator.cc
@@ -197,8 +197,8 @@
 
     ScopedSegmentReaderDataLocker lock_data(data_.get());
     decoded = frame_generator_->DecodeAndScale(
-        data_.get(), all_data_received_, frame_index, decode_info, memory,
-        adjusted_row_bytes, alpha_option, client_id);
+        data_.get(), all_data_received_, static_cast<wtf_size_t>(frame_index),
+        decode_info, memory, adjusted_row_bytes, alpha_option, client_id);
   }
 
   if (decoded && needs_color_xform) {
@@ -283,8 +283,8 @@
 
   ScopedSegmentReaderDataLocker lock_data(data_.get());
   return frame_generator_->DecodeToYUV(
-      data_.get(), frame_index, pixmaps.plane(0).colorType(), plane_sizes,
-      plane_addrs, plane_row_bytes);
+      data_.get(), static_cast<wtf_size_t>(frame_index),
+      pixmaps.plane(0).colorType(), plane_sizes, plane_addrs, plane_row_bytes);
 }
 
 SkISize DecodingImageGenerator::GetSupportedDecodeSize(
diff --git a/third_party/blink/renderer/platform/graphics/deferred_image_decoder.cc b/third_party/blink/renderer/platform/graphics/deferred_image_decoder.cc
index 0171ed3..cfcb01c 100644
--- a/third_party/blink/renderer/platform/graphics/deferred_image_decoder.cc
+++ b/third_party/blink/renderer/platform/graphics/deferred_image_decoder.cc
@@ -201,7 +201,7 @@
     info = info.makeColorType(kRGBA_F16_SkColorType);
 
   WebVector<FrameMetadata> frames(frame_data_.size());
-  for (size_t i = 0; i < frame_data_.size(); ++i) {
+  for (wtf_size_t i = 0; i < frame_data_.size(); ++i) {
     frames[i].complete = frame_data_[i].is_received_;
     frames[i].duration = FrameDurationAtIndex(i);
   }
@@ -304,13 +304,13 @@
   return metadata_decoder_ ? metadata_decoder_->Size() : size_;
 }
 
-IntSize DeferredImageDecoder::FrameSizeAtIndex(size_t index) const {
+IntSize DeferredImageDecoder::FrameSizeAtIndex(wtf_size_t index) const {
   // FIXME: LocalFrame size is assumed to be uniform. This might not be true for
   // future supported codecs.
   return metadata_decoder_ ? metadata_decoder_->FrameSizeAtIndex(index) : size_;
 }
 
-size_t DeferredImageDecoder::FrameCount() {
+wtf_size_t DeferredImageDecoder::FrameCount() {
   return metadata_decoder_ ? metadata_decoder_->FrameCount()
                            : frame_data_.size();
 }
@@ -334,7 +334,7 @@
   return alpha_type;
 }
 
-bool DeferredImageDecoder::FrameIsReceivedAtIndex(size_t index) const {
+bool DeferredImageDecoder::FrameIsReceivedAtIndex(wtf_size_t index) const {
   if (metadata_decoder_)
     return metadata_decoder_->FrameIsReceivedAtIndex(index);
   if (index < frame_data_.size())
@@ -342,7 +342,8 @@
   return false;
 }
 
-base::TimeDelta DeferredImageDecoder::FrameDurationAtIndex(size_t index) const {
+base::TimeDelta DeferredImageDecoder::FrameDurationAtIndex(
+    wtf_size_t index) const {
   base::TimeDelta duration;
   if (metadata_decoder_)
     duration = metadata_decoder_->FrameDurationAtIndex(index);
@@ -359,7 +360,8 @@
   return duration;
 }
 
-ImageOrientation DeferredImageDecoder::OrientationAtIndex(size_t index) const {
+ImageOrientation DeferredImageDecoder::OrientationAtIndex(
+    wtf_size_t index) const {
   if (metadata_decoder_)
     return metadata_decoder_->Orientation();
   if (index < frame_data_.size())
@@ -367,7 +369,8 @@
   return ImageOrientationEnum::kDefault;
 }
 
-IntSize DeferredImageDecoder::DensityCorrectedSizeAtIndex(size_t index) const {
+IntSize DeferredImageDecoder::DensityCorrectedSizeAtIndex(
+    wtf_size_t index) const {
   if (metadata_decoder_)
     return metadata_decoder_->DensityCorrectedSize();
   if (index < frame_data_.size())
@@ -375,7 +378,6 @@
   return Size();
 }
 
-
 size_t DeferredImageDecoder::ByteSize() const {
   return parkable_image_ ? parkable_image_->size() : 0u;
 }
@@ -422,7 +424,7 @@
 
   ActivateLazyDecoding();
 
-  const size_t previous_size = frame_data_.size();
+  const wtf_size_t previous_size = frame_data_.size();
   frame_data_.resize(metadata_decoder_->FrameCount());
 
   // The decoder may be invalidated during a FrameCount(). Simply bail if so.
@@ -437,10 +439,11 @@
     return;
   }
 
-  for (size_t i = previous_size; i < frame_data_.size(); ++i) {
+  for (wtf_size_t i = previous_size; i < frame_data_.size(); ++i) {
     frame_data_[i].duration_ = metadata_decoder_->FrameDurationAtIndex(i);
     frame_data_[i].orientation_ = metadata_decoder_->Orientation();
-    frame_data_[i].density_corrected_size_ = metadata_decoder_->DensityCorrectedSize();
+    frame_data_[i].density_corrected_size_ =
+        metadata_decoder_->DensityCorrectedSize();
   }
 
   // Update the is_received_ state of incomplete frames.
diff --git a/third_party/blink/renderer/platform/graphics/deferred_image_decoder.h b/third_party/blink/renderer/platform/graphics/deferred_image_decoder.h
index 6928275..93e11630 100644
--- a/third_party/blink/renderer/platform/graphics/deferred_image_decoder.h
+++ b/third_party/blink/renderer/platform/graphics/deferred_image_decoder.h
@@ -75,14 +75,14 @@
   bool IsSizeAvailable();
   bool HasEmbeddedColorProfile() const;
   IntSize Size() const;
-  IntSize FrameSizeAtIndex(size_t index) const;
-  size_t FrameCount();
+  IntSize FrameSizeAtIndex(wtf_size_t index) const;
+  wtf_size_t FrameCount();
   bool ImageIsHighBitDepth() const { return image_is_high_bit_depth_; }
   int RepetitionCount() const;
-  bool FrameIsReceivedAtIndex(size_t index) const;
-  base::TimeDelta FrameDurationAtIndex(size_t index) const;
-  ImageOrientation OrientationAtIndex(size_t index) const;
-  IntSize DensityCorrectedSizeAtIndex(size_t index) const;
+  bool FrameIsReceivedAtIndex(wtf_size_t index) const;
+  base::TimeDelta FrameDurationAtIndex(wtf_size_t index) const;
+  ImageOrientation OrientationAtIndex(wtf_size_t index) const;
+  IntSize DensityCorrectedSizeAtIndex(wtf_size_t index) const;
   bool HotSpot(IntPoint&) const;
   SkAlphaType AlphaType() const;
 
@@ -138,7 +138,7 @@
   Vector<DeferredFrameData> frame_data_;
   // The number of received/complete frames in |frame_data_|. Note: This is also
   // the index of the first unreceived/incomplete frame in |frame_data_|.
-  size_t received_frame_count_ = 0;
+  wtf_size_t received_frame_count_ = 0;
   scoped_refptr<ImageFrameGenerator> frame_generator_;
 };
 
diff --git a/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc b/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
index 98cf058..27e3b27d 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
+++ b/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
@@ -319,7 +319,8 @@
                               return registered.bitmap->size() !=
                                      static_cast<gfx::Size>(size_);
                             });
-  recycled_bitmaps_.Shrink(it - recycled_bitmaps_.begin());
+  recycled_bitmaps_.Shrink(
+      static_cast<wtf_size_t>(it - recycled_bitmaps_.begin()));
 
   if (!recycled_bitmaps_.IsEmpty()) {
     RegisteredBitmap recycled = std::move(recycled_bitmaps_.back());
diff --git a/third_party/blink/renderer/platform/graphics/gpu/extensions_3d_util.cc b/third_party/blink/renderer/platform/graphics/gpu/extensions_3d_util.cc
index 388559e7..63646f3 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/extensions_3d_util.cc
+++ b/third_party/blink/renderer/platform/graphics/gpu/extensions_3d_util.cc
@@ -19,8 +19,8 @@
 void SplitStringHelper(const String& str, HashSet<String>& set) {
   Vector<String> substrings;
   str.Split(' ', substrings);
-  for (size_t i = 0; i < substrings.size(); ++i)
-    set.insert(substrings[i]);
+  for (const auto& substring : substrings)
+    set.insert(substring);
 }
 
 }  // anonymous namespace
diff --git a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
index 5c3b947..722c88e 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
+++ b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
@@ -251,7 +251,8 @@
         return (registered.bitmap->size().GetArea() * src_bytes_per_pixel !=
                 size.GetArea() * target_bytes_per_pixel);
       });
-  recycled_bitmaps_.Shrink(it - recycled_bitmaps_.begin());
+  recycled_bitmaps_.Shrink(
+      static_cast<wtf_size_t>(it - recycled_bitmaps_.begin()));
 
   if (!recycled_bitmaps_.IsEmpty()) {
     RegisteredBitmap registered = std::move(recycled_bitmaps_.back());
diff --git a/third_party/blink/renderer/platform/graphics/image.cc b/third_party/blink/renderer/platform/graphics/image.cc
index cd88a78..f2b1f5db 100644
--- a/third_party/blink/renderer/platform/graphics/image.cc
+++ b/third_party/blink/renderer/platform/graphics/image.cc
@@ -166,7 +166,7 @@
   if (!encoded_image_data_.get())
     return kSizeAvailable;
 
-  int length = encoded_image_data_->size();
+  size_t length = encoded_image_data_->size();
   if (!length)
     return kSizeAvailable;
 
diff --git a/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.cc b/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.cc
index 9920815..666adedb 100644
--- a/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.cc
+++ b/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.cc
@@ -69,7 +69,7 @@
     ImageDecoder::AlphaOption alpha_option,
     ColorBehavior decoder_color_behavior,
     ImageDecoder::HighBitDepthDecodingOption decoding_option,
-    size_t index,
+    wtf_size_t index,
     const SkImageInfo& info,
     void* pixels,
     size_t row_bytes,
@@ -91,7 +91,7 @@
 ImageDecoderWrapper::~ImageDecoderWrapper() = default;
 
 bool ImageDecoderWrapper::Decode(ImageDecoderFactory* factory,
-                                 size_t* frame_count,
+                                 wtf_size_t* frame_count,
                                  bool* has_alpha) {
   DCHECK(frame_count);
   DCHECK(has_alpha);
@@ -201,7 +201,7 @@
 }
 
 bool ImageDecoderWrapper::ShouldDecodeToExternalMemory(
-    size_t frame_count,
+    wtf_size_t frame_count,
     bool resume_decoding) const {
   // Some multi-frame images need their decode cached in the decoder to allow
   // future frames to reference previous frames.
@@ -261,7 +261,7 @@
 void ImageDecoderWrapper::PurgeAllFramesIfNecessary(
     ImageDecoder* decoder,
     bool frame_was_completely_decoded,
-    size_t frame_count) const {
+    wtf_size_t frame_count) const {
   // We only purge all frames when we have decoded the last frame for a
   // multi-frame image. This is because once the last frame is decoded, the
   // animation will loop back to the first frame which does not need the last
@@ -276,7 +276,7 @@
   if (!frame_was_completely_decoded)
     return;
 
-  const size_t last_frame_index = frame_count - 1;
+  const wtf_size_t last_frame_index = frame_count - 1;
   if (frame_index_ == last_frame_index)
     decoder->ClearCacheExceptFrame(kNotFound);
 }
diff --git a/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.h b/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.h
index dd83a7a7..0f857c8 100644
--- a/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.h
+++ b/third_party/blink/renderer/platform/graphics/image_decoder_wrapper.h
@@ -25,7 +25,7 @@
                       ImageDecoder::AlphaOption alpha_option,
                       ColorBehavior decoder_color_behavior,
                       ImageDecoder::HighBitDepthDecodingOption decoding_option,
-                      size_t index,
+                      wtf_size_t index,
                       const SkImageInfo& info,
                       void* pixels,
                       size_t row_bytes,
@@ -35,20 +35,20 @@
 
   // Returns true if the decode succeeded.
   bool Decode(ImageDecoderFactory* factory,
-              size_t* frame_count,
+              wtf_size_t* frame_count,
               bool* has_alpha);
 
   // Indicates that the decode failed due to a corrupt image.
   bool decode_failed() const { return decode_failed_; }
 
  private:
-  bool ShouldDecodeToExternalMemory(size_t frame_count,
+  bool ShouldDecodeToExternalMemory(wtf_size_t frame_count,
                                     bool has_cached_decoder) const;
   bool ShouldRemoveDecoder(bool frame_was_completely_decoded,
                            bool decoded_to_external_memory) const;
   void PurgeAllFramesIfNecessary(ImageDecoder* decoder,
                                  bool frame_was_completely_decoded,
-                                 size_t frame_count) const;
+                                 wtf_size_t frame_count) const;
   std::unique_ptr<ImageDecoder> CreateDecoderWithData(
       ImageDecoderFactory* factory) const;
 
@@ -58,7 +58,7 @@
   const ImageDecoder::AlphaOption alpha_option_;
   const ColorBehavior decoder_color_behavior_;
   const ImageDecoder::HighBitDepthDecodingOption decoding_option_;
-  const size_t frame_index_;
+  const wtf_size_t frame_index_;
   const SkImageInfo info_;
   void* pixels_;
   const size_t row_bytes_;
diff --git a/third_party/blink/renderer/platform/graphics/image_decoding_store.cc b/third_party/blink/renderer/platform/graphics/image_decoding_store.cc
index 6a8997996..17fbeba5 100644
--- a/third_party/blink/renderer/platform/graphics/image_decoding_store.cc
+++ b/third_party/blink/renderer/platform/graphics/image_decoding_store.cc
@@ -320,7 +320,7 @@
   CopyToVector(iter->value, cache_identifier_list);
 
   // For each cache identifier find the corresponding CacheEntry and remove it.
-  for (size_t i = 0; i < cache_identifier_list.size(); ++i) {
+  for (wtf_size_t i = 0; i < cache_identifier_list.size(); ++i) {
     DCHECK(cache_map->Contains(cache_identifier_list[i]));
     const auto& cache_entry = cache_map->at(cache_identifier_list[i]);
     DCHECK(!cache_entry->UseCount());
@@ -332,8 +332,8 @@
 void ImageDecodingStore::RemoveFromCacheListInternal(
     const Vector<std::unique_ptr<CacheEntry>>& deletion_list) {
   mutex_.AssertAcquired();
-  for (size_t i = 0; i < deletion_list.size(); ++i)
-    ordered_cache_list_.Remove(deletion_list[i].get());
+  for (const auto& entry : deletion_list)
+    ordered_cache_list_.Remove(entry.get());
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/graphics/image_frame_generator.cc b/third_party/blink/renderer/platform/graphics/image_frame_generator.cc
index a3014fe..63d56575 100644
--- a/third_party/blink/renderer/platform/graphics/image_frame_generator.cc
+++ b/third_party/blink/renderer/platform/graphics/image_frame_generator.cc
@@ -101,7 +101,7 @@
 bool ImageFrameGenerator::DecodeAndScale(
     SegmentReader* data,
     bool all_data_received,
-    size_t index,
+    wtf_size_t index,
     const SkImageInfo& info,
     void* pixels,
     size_t row_bytes,
@@ -127,7 +127,7 @@
     high_bit_depth_decoding_option = ImageDecoder::kHighBitDepthToHalfFloat;
   }
 
-  size_t frame_count = 0u;
+  wtf_size_t frame_count = 0u;
   bool has_alpha = true;
 
   // |decode_failed| indicates a failure due to a corrupt image.
@@ -167,7 +167,7 @@
 
 bool ImageFrameGenerator::DecodeToYUV(
     SegmentReader* data,
-    size_t index,
+    wtf_size_t index,
     SkColorType color_type,
     const SkISize component_sizes[cc::kNumYUVPlanes],
     void* planes[cc::kNumYUVPlanes],
@@ -224,19 +224,19 @@
   return false;
 }
 
-void ImageFrameGenerator::SetHasAlpha(size_t index, bool has_alpha) {
+void ImageFrameGenerator::SetHasAlpha(wtf_size_t index, bool has_alpha) {
   generator_mutex_.AssertAcquired();
 
   if (index >= has_alpha_.size()) {
-    const size_t old_size = has_alpha_.size();
+    const wtf_size_t old_size = has_alpha_.size();
     has_alpha_.resize(index + 1);
-    for (size_t i = old_size; i < has_alpha_.size(); ++i)
+    for (wtf_size_t i = old_size; i < has_alpha_.size(); ++i)
       has_alpha_[i] = true;
   }
   has_alpha_[index] = has_alpha;
 }
 
-bool ImageFrameGenerator::HasAlpha(size_t index) {
+bool ImageFrameGenerator::HasAlpha(wtf_size_t index) {
   MutexLocker lock(generator_mutex_);
 
   if (index < has_alpha_.size())
diff --git a/third_party/blink/renderer/platform/graphics/image_frame_generator.h b/third_party/blink/renderer/platform/graphics/image_frame_generator.h
index 5cb0a50..f6fb391 100644
--- a/third_party/blink/renderer/platform/graphics/image_frame_generator.h
+++ b/third_party/blink/renderer/platform/graphics/image_frame_generator.h
@@ -83,7 +83,7 @@
   // successful.
   bool DecodeAndScale(SegmentReader*,
                       bool all_data_received,
-                      size_t index,
+                      wtf_size_t index,
                       const SkImageInfo&,
                       void* pixels,
                       size_t row_bytes,
@@ -96,7 +96,7 @@
   // ImageDecoder needs something analogous to its ImageFrame cache to hold
   // partial planes, and the GPU code needs to handle them.
   bool DecodeToYUV(SegmentReader*,
-                   size_t index,
+                   wtf_size_t index,
                    SkColorType color_type,
                    const SkISize component_sizes[cc::kNumYUVPlanes],
                    void* planes[cc::kNumYUVPlanes],
@@ -112,7 +112,7 @@
     return decode_failed_;
   }
 
-  bool HasAlpha(size_t index);
+  bool HasAlpha(wtf_size_t index);
 
   // TODO(crbug.com/943519): Do not call unless the SkROBuffer has all the data.
   bool GetYUVAInfo(
@@ -148,7 +148,7 @@
     image_decoder_factory_ = std::move(factory);
   }
 
-  void SetHasAlpha(size_t index, bool has_alpha);
+  void SetHasAlpha(wtf_size_t index, bool has_alpha);
 
   const SkISize full_size_;
   // Parameters used to create internal ImageDecoder objects.
@@ -159,7 +159,7 @@
   mutable Mutex generator_mutex_;
   bool decode_failed_ GUARDED_BY(generator_mutex_) = false;
   bool yuv_decoding_failed_ GUARDED_BY(generator_mutex_) = false;
-  size_t frame_count_ GUARDED_BY(generator_mutex_) = 0u;
+  wtf_size_t frame_count_ GUARDED_BY(generator_mutex_) = 0u;
   Vector<bool> has_alpha_ GUARDED_BY(generator_mutex_);
 
   struct ClientMutex {
diff --git a/third_party/blink/renderer/platform/graphics/mailbox_texture_backing.cc b/third_party/blink/renderer/platform/graphics/mailbox_texture_backing.cc
index 3001841e..23d002f 100644
--- a/third_party/blink/renderer/platform/graphics/mailbox_texture_backing.cc
+++ b/third_party/blink/renderer/platform/graphics/mailbox_texture_backing.cc
@@ -73,8 +73,8 @@
     gpu::raster::RasterInterface* ri =
         context_provider_wrapper_->ContextProvider()->RasterInterface();
     ri->ReadbackImagePixels(mailbox_, sk_image_info_,
-                            sk_image_info_.minRowBytes(), 0, 0,
-                            writable_pixels);
+                            static_cast<GLuint>(sk_image_info_.minRowBytes()),
+                            0, 0, writable_pixels);
 
     return SkImage::MakeRasterData(sk_image_info_, std::move(image_pixels),
                                    sk_image_info_.minRowBytes());
@@ -96,7 +96,8 @@
 
     gpu::raster::RasterInterface* ri =
         context_provider_wrapper_->ContextProvider()->RasterInterface();
-    ri->ReadbackImagePixels(mailbox_, dst_info, dst_info.minRowBytes(), src_x,
+    ri->ReadbackImagePixels(mailbox_, dst_info,
+                            static_cast<GLuint>(dst_info.minRowBytes()), src_x,
                             src_y, dst_pixels);
     return true;
   } else if (sk_image_) {
diff --git a/third_party/blink/renderer/platform/graphics/paint/display_item.h b/third_party/blink/renderer/platform/graphics/paint/display_item.h
index ccc7ab3..7d36828 100644
--- a/third_party/blink/renderer/platform/graphics/paint/display_item.h
+++ b/third_party/blink/renderer/platform/graphics/paint/display_item.h
@@ -295,8 +295,7 @@
             static_cast<unsigned>(client.VisualRectOutsetForRasterEffects())),
         draws_content_(draws_content),
         is_not_tombstone_(true),
-        known_to_be_opaque_is_set_(false),
-        known_to_be_opaque_(false) {
+        opaqueness_(0) {
     DCHECK_EQ(client.VisualRectOutsetForRasterEffects(),
               GetRasterEffectOutset());
   }
@@ -335,9 +334,8 @@
   unsigned is_not_tombstone_ : 1;
 
  protected:
-  // These are for DrawingDisplayItem to save memory.
-  mutable unsigned known_to_be_opaque_is_set_ : 1;
-  mutable unsigned known_to_be_opaque_ : 1;
+  // For DrawingDisplayItem to save memory.
+  mutable unsigned opaqueness_ : 2;
 };
 
 inline bool operator==(const DisplayItem::Id& a, const DisplayItem::Id& b) {
diff --git a/third_party/blink/renderer/platform/graphics/paint/display_item_raster_invalidator.cc b/third_party/blink/renderer/platform/graphics/paint/display_item_raster_invalidator.cc
index c86275442..27207bb 100644
--- a/third_party/blink/renderer/platform/graphics/paint/display_item_raster_invalidator.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/display_item_raster_invalidator.cc
@@ -66,7 +66,8 @@
       value.reason = reason;
     }
 
-    wtf_size_t offset = matched_old_item - old_display_items_.begin();
+    wtf_size_t offset =
+        static_cast<wtf_size_t>(matched_old_item - old_display_items_.begin());
     DCHECK(!old_display_items_matched[offset]);
     old_display_items_matched[offset] = true;
 
@@ -81,7 +82,8 @@
   // Invalidate remaining unmatched (disappeared or uncacheable) old items.
   for (auto it = old_display_items_.begin(); it != old_display_items_.end();
        ++it) {
-    if (old_display_items_matched[it - old_display_items_.begin()])
+    if (old_display_items_matched[static_cast<wtf_size_t>(
+            it - old_display_items_.begin())])
       continue;
 
     const auto& old_item = *it;
diff --git a/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.cc b/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.cc
index cbe499d..bffc3a9 100644
--- a/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.cc
@@ -119,21 +119,36 @@
   return SK_ColorTRANSPARENT;
 }
 
+IntRect DrawingDisplayItem::CalculateRectKnownToBeOpaque() const {
+  IntRect rect = CalculateRectKnownToBeOpaqueForRecord(record_.get());
+  if (rect.IsEmpty()) {
+    SetOpaqueness(Opaqueness::kNone);
+  } else if (rect == VisualRect()) {
+    SetOpaqueness(Opaqueness::kFull);
+  } else {
+    DCHECK(VisualRect().Contains(rect));
+    DCHECK_EQ(GetOpaqueness(), Opaqueness::kOther);
+  }
+  return rect;
+}
+
 // This is not a PaintRecord method because it's not a general opaqueness
 // detection algorithm (which might be more complex and slower), but works well
 // and fast for most blink painted results.
-bool DrawingDisplayItem::CalculateKnownToBeOpaque(
+IntRect DrawingDisplayItem::CalculateRectKnownToBeOpaqueForRecord(
     const PaintRecord* record) const {
   if (!record)
-    return false;
+    return IntRect();
 
   // This limit keeps the algorithm fast, while allowing check of enough paint
   // operations for most blink painted results.
-  constexpr wtf_size_t kOpCountLimit = 4;
+  constexpr wtf_size_t kOpCountLimit = 8;
+  IntRect opaque_rect;
   wtf_size_t op_count = 0;
+  IntRect clip_rect = VisualRect();
   for (cc::PaintOpBuffer::Iterator it(record); it; ++it) {
     if (++op_count > kOpCountLimit)
-      return false;
+      break;
 
     const auto* op = *it;
     // Deal with the common pattern of clipped bleed avoiding images like:
@@ -141,70 +156,73 @@
     if (op->GetType() == cc::PaintOpType::Save)
       continue;
     if (op->GetType() == cc::PaintOpType::ClipRect) {
-      const auto* clip_rect_op = static_cast<const cc::ClipRectOp*>(op);
-      if (!EnclosedIntRect(clip_rect_op->rect).Contains(VisualRect()))
-        return false;
+      clip_rect.Intersect(
+          EnclosedIntRect(static_cast<const cc::ClipRectOp*>(op)->rect));
       continue;
     }
 
     if (!op->IsDrawOp())
-      return false;
+      break;
 
+    IntRect op_opaque_rect;
     if (op->GetType() == cc::PaintOpType::DrawRecord) {
-      return CalculateKnownToBeOpaque(
+      op_opaque_rect = CalculateRectKnownToBeOpaqueForRecord(
           static_cast<const cc::DrawRecordOp*>(op)->record.get());
-    }
-
-    if (!op->IsPaintOpWithFlags())
-      continue;
-
-    const auto& flags = static_cast<const cc::PaintOpWithFlags*>(op)->flags;
-    if (flags.getStyle() != cc::PaintFlags::kFill_Style || flags.getLooper() ||
-        (flags.getBlendMode() != SkBlendMode::kSrc &&
-         flags.getBlendMode() != SkBlendMode::kSrcOver) ||
-        flags.getMaskFilter() || flags.getColorFilter() ||
-        flags.getImageFilter() || flags.getAlpha() != SK_AlphaOPAQUE ||
-        (flags.getShader() && !flags.getShader()->IsOpaque()))
-      continue;
-
-    IntRect opaque_rect;
-    switch (op->GetType()) {
-      case cc::PaintOpType::DrawRect:
-        opaque_rect =
-            EnclosedIntRect(static_cast<const cc::DrawRectOp*>(op)->rect);
-        break;
-      case cc::PaintOpType::DrawIRect:
-        opaque_rect = IntRect(static_cast<const cc::DrawIRectOp*>(op)->rect);
-        break;
-      case cc::PaintOpType::DrawImage: {
-        const auto* draw_image_op = static_cast<const cc::DrawImageOp*>(op);
-        const auto& image = draw_image_op->image;
-        if (!image.IsOpaque())
-          continue;
-        opaque_rect = IntRect(draw_image_op->left, draw_image_op->top,
-                              image.width(), image.height());
-        break;
-      }
-      case cc::PaintOpType::DrawImageRect: {
-        const auto* draw_image_rect_op =
-            static_cast<const cc::DrawImageRectOp*>(op);
-        const auto& image = draw_image_rect_op->image;
-        DCHECK(SkRect::MakeWH(image.width(), image.height())
-                   .contains(draw_image_rect_op->src));
-        if (!image.IsOpaque())
-          continue;
-        opaque_rect = EnclosedIntRect(draw_image_rect_op->dst);
-        break;
-      }
-      default:
+    } else {
+      if (!op->IsPaintOpWithFlags())
         continue;
+
+      const auto& flags = static_cast<const cc::PaintOpWithFlags*>(op)->flags;
+      if (flags.getStyle() != cc::PaintFlags::kFill_Style ||
+          flags.getLooper() ||
+          (flags.getBlendMode() != SkBlendMode::kSrc &&
+           flags.getBlendMode() != SkBlendMode::kSrcOver) ||
+          flags.getMaskFilter() || flags.getColorFilter() ||
+          flags.getImageFilter() || flags.getAlpha() != SK_AlphaOPAQUE ||
+          (flags.getShader() && !flags.getShader()->IsOpaque()))
+        continue;
+
+      switch (op->GetType()) {
+        case cc::PaintOpType::DrawRect:
+          op_opaque_rect =
+              EnclosedIntRect(static_cast<const cc::DrawRectOp*>(op)->rect);
+          break;
+        case cc::PaintOpType::DrawIRect:
+          op_opaque_rect =
+              IntRect(static_cast<const cc::DrawIRectOp*>(op)->rect);
+          break;
+        case cc::PaintOpType::DrawImage: {
+          const auto* draw_image_op = static_cast<const cc::DrawImageOp*>(op);
+          const auto& image = draw_image_op->image;
+          if (!image.IsOpaque())
+            continue;
+          op_opaque_rect = IntRect(draw_image_op->left, draw_image_op->top,
+                                   image.width(), image.height());
+          break;
+        }
+        case cc::PaintOpType::DrawImageRect: {
+          const auto* draw_image_rect_op =
+              static_cast<const cc::DrawImageRectOp*>(op);
+          const auto& image = draw_image_rect_op->image;
+          DCHECK(SkRect::MakeWH(image.width(), image.height())
+                     .contains(draw_image_rect_op->src));
+          if (!image.IsOpaque())
+            continue;
+          op_opaque_rect = EnclosedIntRect(draw_image_rect_op->dst);
+          break;
+        }
+        default:
+          continue;
+      }
     }
 
-    // We should never paint outside of the visual rect.
-    if (opaque_rect.Contains(VisualRect()))
-      return true;
+    opaque_rect = MaximumCoveredRect(opaque_rect, op_opaque_rect);
+    opaque_rect.Intersect(clip_rect);
+    if (opaque_rect == VisualRect())
+      break;
   }
-  return false;
+  DCHECK(VisualRect().Contains(opaque_rect) || opaque_rect.IsEmpty());
+  return opaque_rect;
 }
 
 IntRect DrawingDisplayItem::TightenVisualRect(
diff --git a/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.h b/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.h
index 902d1e7..1a6e96a1 100644
--- a/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.h
+++ b/third_party/blink/renderer/platform/graphics/paint/drawing_display_item.h
@@ -32,22 +32,7 @@
     return record_;
   }
 
-  bool KnownToBeOpaque() const {
-    DCHECK(!IsTombstone());
-    if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
-      return false;
-    if (!known_to_be_opaque_is_set_) {
-      known_to_be_opaque_is_set_ = true;
-      known_to_be_opaque_ = CalculateKnownToBeOpaque(record_.get());
-    }
-    return known_to_be_opaque_;
-  }
-  void SetKnownToBeOpaqueForTesting() {
-    DCHECK(!IsTombstone());
-    known_to_be_opaque_is_set_ = true;
-    known_to_be_opaque_ = true;
-  }
-
+  IntRect RectKnownToBeOpaque() const;
   SkColor BackgroundColor(float& area) const;
 
   bool IsSolidColor() const;
@@ -59,7 +44,17 @@
   void PropertiesAsJSONImpl(JSONObject&) const {}
 #endif
 
-  bool CalculateKnownToBeOpaque(const PaintRecord*) const;
+  // Status of RectKnownToBeOpaque(). kOther means recalculation.
+  enum class Opaqueness { kOther, kFull, kNone };
+  Opaqueness GetOpaqueness() const {
+    return static_cast<Opaqueness>(opaqueness_);
+  }
+  void SetOpaqueness(Opaqueness opaqueness) const {
+    opaqueness_ = static_cast<unsigned>(opaqueness);
+    DCHECK_EQ(GetOpaqueness(), opaqueness);
+  }
+  IntRect CalculateRectKnownToBeOpaque() const;
+  IntRect CalculateRectKnownToBeOpaqueForRecord(const PaintRecord*) const;
 
   // Improve the visual rect using the paint record. This can improve solid
   // color analysis in cases when the painted content was snapped but the
@@ -91,6 +86,15 @@
                   /* draws_content*/ record && record->size()),
       record_(DrawsContent() ? std::move(record) : nullptr) {
   DCHECK(IsDrawing());
+  DCHECK_EQ(GetOpaqueness(), Opaqueness::kOther);
+}
+
+inline IntRect DrawingDisplayItem::RectKnownToBeOpaque() const {
+  if (GetOpaqueness() == Opaqueness::kFull)
+    return VisualRect();
+  if (GetOpaqueness() == Opaqueness::kNone)
+    return IntRect();
+  return CalculateRectKnownToBeOpaque();
 }
 
 template <>
diff --git a/third_party/blink/renderer/platform/graphics/paint/paint_chunker.cc b/third_party/blink/renderer/platform/graphics/paint/paint_chunker.cc
index 43d80b3..54b4a8c 100644
--- a/third_party/blink/renderer/platform/graphics/paint/paint_chunker.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/paint_chunker.cc
@@ -131,10 +131,8 @@
 
   if (should_compute_contents_opaque_ && item.IsDrawing()) {
     const DrawingDisplayItem& drawing = To<DrawingDisplayItem>(item);
-    if (drawing.KnownToBeOpaque()) {
-      chunk.rect_known_to_be_opaque =
-          MaximumCoveredRect(chunk.rect_known_to_be_opaque, item.VisualRect());
-    }
+    chunk.rect_known_to_be_opaque = MaximumCoveredRect(
+        chunk.rect_known_to_be_opaque, drawing.RectKnownToBeOpaque());
     if (chunk.text_known_to_be_on_opaque_background) {
       if (const auto* paint_record = drawing.GetPaintRecord().get()) {
         if (paint_record->has_draw_text_ops()) {
diff --git a/third_party/blink/renderer/platform/graphics/paint/paint_chunker_test.cc b/third_party/blink/renderer/platform/graphics/paint/paint_chunker_test.cc
index 2a8a706..349d4e820 100644
--- a/third_party/blink/renderer/platform/graphics/paint/paint_chunker_test.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/paint_chunker_test.cc
@@ -11,6 +11,7 @@
 #include "third_party/blink/renderer/platform/graphics/paint/drawing_display_item.h"
 #include "third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h"
 #include "third_party/blink/renderer/platform/graphics/paint/paint_controller_test.h"
+#include "third_party/blink/renderer/platform/graphics/paint/paint_recorder.h"
 #include "third_party/blink/renderer/platform/testing/fake_display_item_client.h"
 #include "third_party/blink/renderer/platform/testing/paint_property_test_helpers.h"
 #include "third_party/blink/renderer/platform/testing/runtime_enabled_features_test_helpers.h"
@@ -46,6 +47,15 @@
                            client.GetPaintInvalidationReason()) {}
 };
 
+sk_sp<const PaintRecord> OpaquePaintRecord(const IntRect& visual_rect) {
+  PaintRecorder recorder;
+  auto* canvas = recorder.beginRecording(visual_rect);
+  PaintFlags flags;
+  flags.setColor(SK_ColorBLACK);
+  canvas->drawRect(visual_rect, flags);
+  return recorder.finishRecordingAsPicture();
+}
+
 class TestChunkerOpaqueDisplayItem : public DrawingDisplayItem {
  public:
   explicit TestChunkerOpaqueDisplayItem(
@@ -55,10 +65,8 @@
       : DrawingDisplayItem(client,
                            type,
                            visual_rect,
-                           nullptr,
-                           client.GetPaintInvalidationReason()) {
-    SetKnownToBeOpaqueForTesting();
-  }
+                           OpaquePaintRecord(visual_rect),
+                           client.GetPaintInvalidationReason()) {}
 };
 
 class TestDisplayItemRequiringSeparateChunk : public ForeignLayerDisplayItem {
diff --git a/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.cc b/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.cc
index 4c3d5e9f..f1f76a3 100644
--- a/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.cc
@@ -191,6 +191,7 @@
     RasterInvalidationFunction function,
     const PaintChunkSubset& new_chunks,
     const PropertyTreeState& layer_state,
+    bool layer_offset_changed,
     Vector<PaintChunkInfo>& new_chunks_info) {
   ChunkToLayerMapper mapper(layer_state, layer_offset_);
   Vector<bool> old_chunks_matched;
@@ -230,7 +231,7 @@
 
     // No need to invalidate if the chunk is moved from cached subsequence and
     // its paint properties didn't change relative to the layer.
-    if (reason == PaintInvalidationReason::kNone &&
+    if (!layer_offset_changed && reason == PaintInvalidationReason::kNone &&
         new_chunk.is_moved_from_cached_subsequence &&
         !new_chunk.properties.GetPropertyTreeState().Unalias().Changed(
             PaintPropertyChangeType::kChangedOnlySimpleValues, layer_state)) {
@@ -343,6 +344,7 @@
   if (RasterInvalidationTracking::ShouldAlwaysTrack())
     EnsureTracking();
 
+  bool layer_offset_changed = layer_offset_ != layer_offset;
   bool layer_bounds_was_empty = layer_bounds_.IsEmpty();
   layer_offset_ = layer_offset;
   layer_bounds_ = layer_bounds;
@@ -369,7 +371,8 @@
     }
   } else {
     GenerateRasterInvalidations(raster_invalidation_function, new_chunks,
-                                layer_state, new_chunks_info);
+                                layer_state, layer_offset_changed,
+                                new_chunks_info);
   }
 
   old_paint_chunks_info_ = std::move(new_chunks_info);
diff --git a/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.h b/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.h
index 379c77b..bd6ccfb 100644
--- a/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.h
+++ b/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.h
@@ -110,6 +110,7 @@
   void GenerateRasterInvalidations(RasterInvalidationFunction,
                                    const PaintChunkSubset&,
                                    const PropertyTreeState& layer_state,
+                                   bool layer_offset_changed,
                                    Vector<PaintChunkInfo>& new_chunks_info);
 
   ALWAYS_INLINE const PaintChunk& GetOldChunk(wtf_size_t index) const;
diff --git a/third_party/blink/renderer/platform/graphics/paint/raster_invalidator_test.cc b/third_party/blink/renderer/platform/graphics/paint/raster_invalidator_test.cc
index 11c9c1e4cc..583c26e 100644
--- a/third_party/blink/renderer/platform/graphics/paint/raster_invalidator_test.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/raster_invalidator_test.cc
@@ -140,6 +140,31 @@
   FinishCycle(chunks);
 }
 
+TEST_P(RasterInvalidatorTest, LayerOffsetChangeWithCachedSubsequence) {
+  PaintChunkSubset chunks(TestPaintArtifact().Chunk(0).Build());
+
+  invalidator_.Generate(base::DoNothing(), chunks, kDefaultLayerOffset,
+                        kDefaultLayerBounds, DefaultPropertyTreeState());
+  FinishCycle(chunks);
+
+  invalidator_.SetTracksRasterInvalidations(true);
+  auto new_layer_offset = kDefaultLayerOffset;
+  new_layer_offset.MoveBy(FloatPoint(66, 77));
+  PaintChunkSubset new_chunks(
+      TestPaintArtifact().Chunk(0).IsMovedFromCachedSubsequence().Build());
+
+  invalidator_.Generate(base::DoNothing(), new_chunks, new_layer_offset,
+                        kDefaultLayerBounds, DefaultPropertyTreeState());
+  // Change of layer origin causes change of chunk0's transform to layer.
+  EXPECT_THAT(
+      TrackedRasterInvalidations(),
+      ElementsAre(
+          ChunkInvalidation(chunks, 0, PaintInvalidationReason::kPaintProperty),
+          ChunkInvalidation(chunks, 0, PaintInvalidationReason::kPaintProperty,
+                            -new_layer_offset, base::DoNothing())));
+  FinishCycle(chunks);
+}
+
 TEST_P(RasterInvalidatorTest, ReorderChunks) {
   PaintChunkSubset chunks(
       TestPaintArtifact().Chunk(0).Chunk(1).Chunk(2).Build());
@@ -175,12 +200,14 @@
                         kDefaultLayerBounds, DefaultPropertyTreeState());
   FinishCycle(chunks);
 
-  // Swap chunk (1,2) and (3,4).
+  // Swap chunk (1,2) (changed) and (3,4) (moved from cached subsequence).
   invalidator_.SetTracksRasterInvalidations(true);
   PaintChunkSubset new_chunks(TestPaintArtifact()
                                   .Chunk(0)
                                   .Chunk(3)
+                                  .IsMovedFromCachedSubsequence()
                                   .Chunk(4)
+                                  .IsMovedFromCachedSubsequence()
                                   .Chunk(1)
                                   .Bounds(IntRect(11, 22, 33, 44))
                                   .Chunk(2)
diff --git a/third_party/blink/renderer/platform/graphics/parkable_image.cc b/third_party/blink/renderer/platform/graphics/parkable_image.cc
index 713a522..3e443e5 100644
--- a/third_party/blink/renderer/platform/graphics/parkable_image.cc
+++ b/third_party/blink/renderer/platform/graphics/parkable_image.cc
@@ -25,9 +25,9 @@
 namespace {
 
 void RecordReadStatistics(size_t size, base::TimeDelta duration) {
-  size_t throughput_mb_s =
-      static_cast<size_t>(size / duration.InSecondsF()) / (1024 * 1024);
-  size_t size_kb = size / 1024;  // in KiB
+  int throughput_mb_s =
+      static_cast<int>(size / duration.InSecondsF() / (1024 * 1024));
+  int size_kb = static_cast<int>(size / 1024);  // in KiB
 
   // Size should be <1MiB in most cases.
   base::UmaHistogramCounts10000("Memory.ParkableImage.Read.Size", size_kb);
@@ -43,9 +43,9 @@
 }
 
 void RecordWriteStatistics(size_t size, base::TimeDelta duration) {
-  size_t throughput_mb_s =
-      static_cast<size_t>(size / duration.InSecondsF()) / (1024 * 1024);
-  size_t size_kb = size / 1024;
+  int throughput_mb_s =
+      static_cast<int>(size / duration.InSecondsF() / (1024 * 1024));
+  int size_kb = static_cast<int>(size / 1024);  // in KiB
 
   // Size should be <1MiB in most cases.
   base::UmaHistogramCounts10000("Memory.ParkableImage.Write.Size", size_kb);
@@ -222,10 +222,12 @@
   ROBuffer::Iter it(ro_buffer.get());
 
   Vector<char> vector;
-  vector.ReserveInitialCapacity(parkable_image->size());
+  vector.ReserveInitialCapacity(
+      base::checked_cast<wtf_size_t>(parkable_image->size()));
 
   do {
-    vector.Append(reinterpret_cast<const char*>(it.data()), it.size());
+    vector.Append(reinterpret_cast<const char*>(it.data()),
+                  base::checked_cast<wtf_size_t>(it.size()));
   } while (it.Next());
 
   // Release the lock while writing, so we don't block for too long.
diff --git a/third_party/blink/renderer/platform/graphics/parkable_image_manager.cc b/third_party/blink/renderer/platform/graphics/parkable_image_manager.cc
index 0db0d97..f50db27 100644
--- a/third_party/blink/renderer/platform/graphics/parkable_image_manager.cc
+++ b/third_party/blink/renderer/platform/graphics/parkable_image_manager.cc
@@ -123,12 +123,13 @@
 
   Statistics stats = ComputeStatistics();
 
+  // In KiB
   base::UmaHistogramCounts100000("Memory.ParkableImage.TotalSize.5min",
-                                 stats.total_size / 1024);  // in KiB
+                                 static_cast<int>(stats.total_size / 1024));
   base::UmaHistogramCounts100000("Memory.ParkableImage.OnDiskSize.5min",
-                                 stats.on_disk_size / 1024);  // in KiB
+                                 static_cast<int>(stats.on_disk_size / 1024));
   base::UmaHistogramCounts100000("Memory.ParkableImage.UnparkedSize.5min",
-                                 stats.unparked_size / 1024);  // in KiB
+                                 static_cast<int>(stats.unparked_size / 1024));
 
   // Metrics related to parking only should be recorded if the feature is
   // enabled.
diff --git a/third_party/blink/renderer/platform/graphics/picture_snapshot.cc b/third_party/blink/renderer/platform/graphics/picture_snapshot.cc
index 3521009..a4f5d38 100644
--- a/third_party/blink/renderer/platform/graphics/picture_snapshot.cc
+++ b/third_party/blink/renderer/platform/graphics/picture_snapshot.cc
@@ -70,7 +70,7 @@
   SkPictureRecorder recorder;
   SkCanvas* canvas =
       recorder.beginRecording(union_rect.Width(), union_rect.Height());
-  for (size_t i = 0; i < pictures.size(); ++i) {
+  for (wtf_size_t i = 0; i < pictures.size(); ++i) {
     canvas->save();
     canvas->translate(tiles[i]->layer_offset.X() - union_rect.X(),
                       tiles[i]->layer_offset.Y() - union_rect.Y());
diff --git a/third_party/blink/renderer/platform/graphics/skia/image_pixel_locker.cc b/third_party/blink/renderer/platform/graphics/skia/image_pixel_locker.cc
index 55b62f32c..c7279275 100644
--- a/third_party/blink/renderer/platform/graphics/skia/image_pixel_locker.cc
+++ b/third_party/blink/renderer/platform/graphics/skia/image_pixel_locker.cc
@@ -51,7 +51,8 @@
   if (0 == size)
     return;
 
-  pixel_storage_.resize(size);  // this will throw on failure
+  // this will throw on failure
+  pixel_storage_.resize(base::checked_cast<wtf_size_t>(size));
   pixmap.reset(info, pixel_storage_.data(), row_bytes);
 
   if (!image_->readPixels(pixmap, 0, 0))
diff --git a/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc b/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
index 7463092..3a72d981 100644
--- a/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
+++ b/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
@@ -31,6 +31,7 @@
 #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
 
 #include "base/allocator/partition_allocator/partition_alloc.h"
+#include "base/numerics/safe_conversions.h"
 #include "build/build_config.h"
 #include "third_party/blink/renderer/platform/geometry/layout_rect.h"
 #include "third_party/blink/renderer/platform/graphics/graphics_context.h"
@@ -354,7 +355,8 @@
 
 SkColor ScaleAlpha(SkColor color, float alpha) {
   const auto clamped_alpha = std::max(0.0f, std::min(1.0f, alpha));
-  const auto rounded_alpha = std::lround(SkColorGetA(color) * clamped_alpha);
+  const auto rounded_alpha =
+      base::ClampRound<U8CPU>(SkColorGetA(color) * clamped_alpha);
 
   return SkColorSetA(color, rounded_alpha);
 }
diff --git a/third_party/blink/renderer/platform/graphics/stroke_data.cc b/third_party/blink/renderer/platform/graphics/stroke_data.cc
index 67c5002c..ceeffb0d 100644
--- a/third_party/blink/renderer/platform/graphics/stroke_data.cc
+++ b/third_party/blink/renderer/platform/graphics/stroke_data.cc
@@ -37,7 +37,7 @@
 void StrokeData::SetLineDash(const DashArray& dashes, float dash_offset) {
   // FIXME: This is lifted directly off SkiaSupport, lines 49-74
   // so it is not guaranteed to work correctly.
-  size_t dash_length = dashes.size();
+  wtf_size_t dash_length = dashes.size();
   if (!dash_length) {
     // If no dash is set, revert to solid stroke
     // FIXME: do we need to set NoStroke in some cases?
@@ -46,10 +46,10 @@
     return;
   }
 
-  size_t count = !(dash_length % 2) ? dash_length : dash_length * 2;
+  wtf_size_t count = !(dash_length % 2) ? dash_length : dash_length * 2;
   auto intervals = std::make_unique<SkScalar[]>(count);
 
-  for (unsigned i = 0; i < count; i++)
+  for (wtf_size_t i = 0; i < count; i++)
     intervals[i] = dashes[i % dash_length];
 
   dash_ = SkDashPathEffect::Make(intervals.get(), count, dash_offset);
diff --git a/third_party/blink/renderer/platform/heap/impl/gc_info.cc b/third_party/blink/renderer/platform/heap/impl/gc_info.cc
index 2be470a..a527169 100644
--- a/third_party/blink/renderer/platform/heap/impl/gc_info.cc
+++ b/third_party/blink/renderer/platform/heap/impl/gc_info.cc
@@ -16,7 +16,8 @@
 
 constexpr size_t kEntrySize = sizeof(GCInfo*);
 
-PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t ComputeInitialTableLimit() {
+PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR GCInfoIndex
+ComputeInitialTableLimit() {
   // (Light) experimentation suggests that Blink doesn't need more than this
   // while handling content on popular web properties.
   constexpr size_t kInitialWantedLimit = 512;
@@ -24,7 +25,8 @@
   // Different OSes have different page sizes, so we have to choose the minimum
   // of memory wanted and OS page size.
   constexpr size_t memory_wanted = kInitialWantedLimit * kEntrySize;
-  return base::RoundUpToPageAllocationGranularity(memory_wanted) / kEntrySize;
+  return static_cast<GCInfoIndex>(
+      base::RoundUpToPageAllocationGranularity(memory_wanted) / kEntrySize);
 }
 
 PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t MaxTableSize() {
diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
index 5a4c5d9..39d34b7d 100644
--- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
@@ -233,7 +233,8 @@
   KURL url = RemoveFragmentIdentifierIfNeeded(resource_url);
   HeapVector<Member<Resource>> results;
   for (const auto& resource_map_iter : resource_maps_) {
-    if (MemoryCacheEntry* entry = resource_map_iter.value->at(url)) {
+    if (MemoryCacheEntry* entry =
+            resource_map_iter.value->DeprecatedAtOrEmptyValue(url)) {
       Resource* resource = entry->GetResource();
       DCHECK(resource);
       results.push_back(resource);
diff --git a/third_party/blink/renderer/platform/loader/fetch/source_keyed_cached_metadata_handler.cc b/third_party/blink/renderer/platform/loader/fetch/source_keyed_cached_metadata_handler.cc
index a927610c..a9949420 100644
--- a/third_party/blink/renderer/platform/loader/fetch/source_keyed_cached_metadata_handler.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/source_keyed_cached_metadata_handler.cc
@@ -49,7 +49,7 @@
       uint32_t data_type_id,
       GetCachedMetadataBehavior behavior = kCrashIfUnchecked) const override {
     scoped_refptr<CachedMetadata> cached_metadata =
-        parent_->cached_metadata_map_.at(key_);
+        parent_->cached_metadata_map_.DeprecatedAtOrEmptyValue(key_);
     if (!cached_metadata || cached_metadata->DataTypeID() != data_type_id)
       return nullptr;
     return cached_metadata;
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc
index 937e2c8..b8a8c741 100644
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc
@@ -63,6 +63,7 @@
 namespace {
 
 constexpr char kStylesheetAcceptHeader[] = "text/css,*/*;q=0.1";
+constexpr char kWebBundleAcceptHeader[] = "application/webbundle;v=b1";
 
 // TODO(yhirano): Unify these with variables in
 // content/public/common/content_constants.h.
@@ -409,6 +410,10 @@
              network::mojom::RequestDestination::kImage) {
     dest->headers.SetHeaderIfMissing(net::HttpRequestHeaders::kAccept,
                                      ImageAcceptHeader());
+  } else if (request_destination ==
+             network::mojom::RequestDestination::kWebBundle) {
+    dest->headers.SetHeader(net::HttpRequestHeaders::kAccept,
+                            kWebBundleAcceptHeader);
   } else {
     // Calling SetHeaderIfMissing() instead of SetHeader() because JS can
     // manually set an accept header on an XHR.
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/web_resource_request_sender_unittest.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/web_resource_request_sender_unittest.cc
index 031d32b..2d0c8c0 100644
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/web_resource_request_sender_unittest.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/web_resource_request_sender_unittest.cc
@@ -331,7 +331,7 @@
             MOJO_RESULT_OK);
   client->OnStartLoadingResponseBody(std::move(consumer_handle));
 
-  uint32_t size = strlen(kTestPageContents);
+  uint32_t size = static_cast<uint32_t>(strlen(kTestPageContents));
   auto result = producer_handle->WriteData(kTestPageContents, &size,
                                            MOJO_WRITE_DATA_FLAG_NONE);
   ASSERT_EQ(result, MOJO_RESULT_OK);
@@ -377,7 +377,7 @@
   ASSERT_EQ(mojo::CreateDataPipe(&options, producer_handle, consumer_handle),
             MOJO_RESULT_OK);
   client->OnStartLoadingResponseBody(std::move(consumer_handle));
-  uint32_t size = strlen(kTestPageContents);
+  uint32_t size = static_cast<uint32_t>(strlen(kTestPageContents));
   auto result = producer_handle->WriteData(kTestPageContents, &size,
                                            MOJO_WRITE_DATA_FLAG_NONE);
   ASSERT_EQ(result, MOJO_RESULT_OK);
diff --git a/third_party/blink/renderer/platform/network/http_parsers_test.cc b/third_party/blink/renderer/platform/network/http_parsers_test.cc
index a1942ac..53ddf77 100644
--- a/third_party/blink/renderer/platform/network/http_parsers_test.cc
+++ b/third_party/blink/renderer/platform/network/http_parsers_test.cc
@@ -332,8 +332,8 @@
       "set-cookie: y=3\n"
       "\n";
   wtf_size_t end = 0;
-  bool result =
-      ParseMultipartHeadersFromBody(kData, strlen(kData), &response, &end);
+  bool result = ParseMultipartHeadersFromBody(
+      kData, static_cast<wtf_size_t>(strlen(kData)), &response, &end);
 
   EXPECT_TRUE(result);
   EXPECT_EQ(strlen(kData), end);
@@ -348,8 +348,8 @@
   ResourceResponse response;
   const char kData[] = "content-type: text/html; charset=utf-8\n\n";
   wtf_size_t end = 0;
-  bool result =
-      ParseMultipartHeadersFromBody(kData, strlen(kData), &response, &end);
+  bool result = ParseMultipartHeadersFromBody(
+      kData, static_cast<wtf_size_t>(strlen(kData)), &response, &end);
 
   EXPECT_TRUE(result);
   EXPECT_EQ(strlen(kData), end);
diff --git a/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_manager.cc b/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_manager.cc
index caec9ba..368669b 100644
--- a/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_manager.cc
+++ b/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_manager.cc
@@ -251,7 +251,7 @@
         chosen_task_queue->queue.get()->CreateQueueEnabledVoter());
   }
 
-  size_t voter_index = action.voter_id() % chosen_task_queue->voters.size();
+  wtf_size_t voter_index = action.voter_id() % chosen_task_queue->voters.size();
   chosen_task_queue->voters[voter_index]->SetVoteToEnable(action.enabled());
 }
 
@@ -280,7 +280,7 @@
                                   NowTicks());
 
   TestTaskQueue* chosen_task_queue = nullptr;
-  size_t queue_index;
+  wtf_size_t queue_index;
   {
     AutoLock lock(lock_);
 
@@ -309,7 +309,7 @@
 
   AutoLock lock(lock_);
   if (!pending_tasks_.IsEmpty()) {
-    size_t task_index = action.task_id() % pending_tasks_.size();
+    wtf_size_t task_index = action.task_id() % pending_tasks_.size();
     pending_tasks_[task_index]->weak_ptr_factory_.InvalidateWeakPtrs();
 
     // If it is already running, it is a parent task and will be deleted when
@@ -386,7 +386,7 @@
 
 void ThreadManager::DeleteTask(Task* task) {
   AutoLock lock(lock_);
-  size_t i = 0;
+  wtf_size_t i = 0;
   while (i < pending_tasks_.size() && task != pending_tasks_[i].get()) {
     i++;
   }
diff --git a/third_party/blink/renderer/platform/testing/test_paint_artifact.cc b/third_party/blink/renderer/platform/testing/test_paint_artifact.cc
index c7a8124..7ad3c6f 100644
--- a/third_party/blink/renderer/platform/testing/test_paint_artifact.cc
+++ b/third_party/blink/renderer/platform/testing/test_paint_artifact.cc
@@ -159,8 +159,7 @@
 }
 
 TestPaintArtifact& TestPaintArtifact::IsMovedFromCachedSubsequence() {
-  paint_artifact_->PaintChunks().back().is_moved_from_cached_subsequence =
-      false;
+  paint_artifact_->PaintChunks().back().is_moved_from_cached_subsequence = true;
   return *this;
 }
 
diff --git a/third_party/blink/renderer/platform/text/locale_mac.mm b/third_party/blink/renderer/platform/text/locale_mac.mm
index 0e908ad..aecf6eaa 100644
--- a/third_party/blink/renderer/platform/text/locale_mac.mm
+++ b/third_party/blink/renderer/platform/text/locale_mac.mm
@@ -48,7 +48,7 @@
 static inline String LanguageFromLocale(const String& locale) {
   String normalized_locale = locale;
   normalized_locale.Replace('-', '_');
-  size_t separator_position = normalized_locale.find('_');
+  wtf_size_t separator_position = normalized_locale.find('_');
   if (separator_position == kNotFound)
     return normalized_locale;
   return normalized_locale.Left(separator_position);
@@ -154,7 +154,7 @@
   // The document for NSCalendar - firstWeekday doesn't have an explanation of
   // firstWeekday value. We can guess it by the document of NSDateComponents -
   // weekDay, so it can be 1 through 7 and 1 is Sunday.
-  return [gregorian_calendar_ firstWeekday] - 1;
+  return static_cast<unsigned>([gregorian_calendar_ firstWeekday] - 1);
 }
 
 bool LocaleMac::IsRTL() {
diff --git a/third_party/blink/renderer/platform/text/mac/hyphenation_mac.cc b/third_party/blink/renderer/platform/text/mac/hyphenation_mac.cc
index c46184d..da523090 100644
--- a/third_party/blink/renderer/platform/text/mac/hyphenation_mac.cc
+++ b/third_party/blink/renderer/platform/text/mac/hyphenation_mac.cc
@@ -26,7 +26,7 @@
     CFIndex result = CFStringGetHyphenationLocationBeforeIndex(
         text.ToString().Impl()->CreateCFString(), before_index,
         CFRangeMake(0, text.length()), 0, locale_cf_, 0);
-    return result == kCFNotFound ? 0 : result;
+    return static_cast<wtf_size_t>(result == kCFNotFound ? 0 : result);
   }
 
   // While Hyphenation::FirstHyphenLocation() works good, it computes all
diff --git a/third_party/blink/renderer/platform/wtf/BUILD.gn b/third_party/blink/renderer/platform/wtf/BUILD.gn
index e49c9a9..d30097a 100644
--- a/third_party/blink/renderer/platform/wtf/BUILD.gn
+++ b/third_party/blink/renderer/platform/wtf/BUILD.gn
@@ -208,9 +208,6 @@
 
   public_configs = [
     ":wtf_config",
-
-    # TODO(crbug.com/879657): Fix size_t to int truncations.
-    "//build/config/compiler:no_shorten_64_warnings",
     "//third_party/blink/renderer:features",
   ]
 
diff --git a/third_party/blink/renderer/platform/wtf/hash_map.h b/third_party/blink/renderer/platform/wtf/hash_map.h
index 8c6f0bf..6e28420 100644
--- a/third_party/blink/renderer/platform/wtf/hash_map.h
+++ b/third_party/blink/renderer/platform/wtf/hash_map.h
@@ -156,6 +156,7 @@
   iterator find(KeyPeekInType);
   const_iterator find(KeyPeekInType) const;
   bool Contains(KeyPeekInType) const;
+  // Returns a reference to the mapped value. Crashes if no mapped value exists.
   MappedPeekType at(KeyPeekInType) const;
   // Deprecated variant of at(). Created for refactor described in
   // https://crbug.com/1058527. Returns a reference to the mapped value or the
@@ -590,7 +591,10 @@
           typename Y>
 typename HashMap<T, U, V, W, X, Y>::MappedPeekType
 HashMap<T, U, V, W, X, Y>::at(KeyPeekInType key) const {
-  return DeprecatedAtOrEmptyValue(key);
+  const ValueType* entry = impl_.Lookup(key);
+  CHECK(entry) << "HashMap::at found no value for the given key. See "
+                  "https://crbug.com/1058527.";
+  return MappedTraits::Peek(entry->value);
 }
 
 template <typename T,
diff --git a/third_party/blink/tools/blinkpy/tool/commands/queries.py b/third_party/blink/tools/blinkpy/tool/commands/queries.py
index 6ebcee57..671bde9f 100644
--- a/third_party/blink/tools/blinkpy/tool/commands/queries.py
+++ b/third_party/blink/tools/blinkpy/tool/commands/queries.py
@@ -125,7 +125,7 @@
             port_names = [default_port.name()]
 
         if options.paths:
-            files = default_port.expectations_files()
+            files = default_port.default_expectations_files()
             web_tests_dir = default_port.web_tests_dir()
             for file in files:
                 if file.startswith(web_tests_dir):
diff --git a/third_party/blink/tools/blinkpy/tool/commands/rebaseline_unittest.py b/third_party/blink/tools/blinkpy/tool/commands/rebaseline_unittest.py
index 81527eb..dce73a624 100644
--- a/third_party/blink/tools/blinkpy/tool/commands/rebaseline_unittest.py
+++ b/third_party/blink/tools/blinkpy/tool/commands/rebaseline_unittest.py
@@ -129,7 +129,7 @@
     def _zero_out_test_expectations(self):
         for port_name in self.tool.port_factory.all_port_names():
             port = self.tool.port_factory.get(port_name)
-            for path in port.expectations_files():
+            for path in port.default_expectations_files():
                 self._write(path, '')
         self.tool.filesystem.written_files = {}
 
diff --git a/third_party/blink/tools/blinkpy/web_tests/port/android_unittest.py b/third_party/blink/tools/blinkpy/web_tests/port/android_unittest.py
index 9668158..9a5c93ae 100644
--- a/third_party/blink/tools/blinkpy/web_tests/port/android_unittest.py
+++ b/third_party/blink/tools/blinkpy/web_tests/port/android_unittest.py
@@ -117,8 +117,8 @@
                 'adb_devices': ['123456789ABCDEF9']
             }))
 
-        self.assertEquals(6, port_default.default_child_processes())
-        self.assertEquals(1, port_fixed_device.default_child_processes())
+        self.assertEqual(6, port_default.default_child_processes())
+        self.assertEqual(1, port_fixed_device.default_child_processes())
 
     def test_no_bot_expectations_searched(self):
         # We don't support bot expectations at the moment
@@ -189,8 +189,8 @@
 
     # The cmd_line() method in the Android port is used for starting a shell, not the test runner.
     def test_cmd_line(self):
-        self.assertEquals(['adb', '-s', '123456789ABCDEF0', 'shell'],
-                          self._driver.cmd_line([]))
+        self.assertEqual(['adb', '-s', '123456789ABCDEF0', 'shell'],
+                         self._driver.cmd_line([]))
 
     # Test that the Chromium Android port can interpret Android's shell output.
     def test_read_prompt(self):
diff --git a/third_party/blink/tools/blinkpy/web_tests/port/base.py b/third_party/blink/tools/blinkpy/web_tests/port/base.py
index f240fbb8..84cf1ce 100644
--- a/third_party/blink/tools/blinkpy/web_tests/port/base.py
+++ b/third_party/blink/tools/blinkpy/web_tests/port/base.py
@@ -253,6 +253,7 @@
         self._test_configuration = None
         self._results_directory = None
         self._virtual_test_suites = None
+        self._used_expectation_files = None
 
     def __str__(self):
         return 'Port{name=%s, version=%s, architecture=%s, test_configuration=%s}' % (
@@ -1677,24 +1678,29 @@
         # updated to know about the ordered dict.
         expectations = collections.OrderedDict()
 
-        if not self.get_option('ignore_default_expectations', False):
-            for path in self.expectations_files():
-                if self._filesystem.exists(path):
+        default_expectations_files = set(self.default_expectations_files())
+        ignore_default = self.get_option('ignore_default_expectations', False)
+        for path in self.used_expectations_files():
+            is_default = path in default_expectations_files
+            if ignore_default and is_default:
+                continue
+            path_exists = self._filesystem.exists(path)
+            if is_default:
+                if path_exists:
                     expectations[path] = self._filesystem.read_text_file(path)
-
-        for path in self.get_option('additional_expectations', []):
-            expanded_path = self._filesystem.expanduser(path)
-            if self._filesystem.exists(expanded_path):
-                _log.debug("reading additional_expectations from path '%s'",
-                           path)
-                expectations[path] = self._filesystem.read_text_file(
-                    expanded_path)
             else:
-                # TODO(rmhasan): Fix additional expectation paths for
-                # not_site_per_process_blink_web_tests, then change this back
-                # to raising exceptions for incorrect expectation paths.
-                _log.warning(
-                    "additional_expectations path '%s' does not exist", path)
+                if path_exists:
+                    _log.debug(
+                        "reading additional_expectations from path '%s'", path)
+                    expectations[path] = self._filesystem.read_text_file(path)
+                else:
+                    # TODO(rmhasan): Fix additional expectation paths for
+                    # not_site_per_process_blink_web_tests, then change this
+                    # back to raising exceptions for incorrect expectation
+                    # paths.
+                    _log.warning(
+                        "additional_expectations path '%s' does not exist",
+                        path)
         return expectations
 
     def all_expectations_dict(self):
@@ -1746,7 +1752,7 @@
         _log.warning("Unexpected ignore mode: '%s'.", ignore_mode)
         return {}
 
-    def expectations_files(self):
+    def default_expectations_files(self):
         """Returns a list of paths to expectations files that apply by default.
 
         There are other "test expectations" files that may be applied if
@@ -1759,10 +1765,21 @@
             self._filesystem.join(self.web_tests_dir(), 'NeverFixTests'),
             self._filesystem.join(self.web_tests_dir(),
                                   'StaleTestExpectations'),
-            self._filesystem.join(self.web_tests_dir(), 'SlowTests'),
-            self._flag_specific_expectations_path()
+            self._filesystem.join(self.web_tests_dir(), 'SlowTests')
         ])
 
+    def used_expectations_files(self):
+        """Returns a list of paths to expectation files that are used."""
+        if self._used_expectation_files is None:
+            self._used_expectation_files = self.default_expectations_files()
+            flag_specific = self._flag_specific_expectations_path()
+            if flag_specific:
+                self._used_expectation_files.append(flag_specific)
+            for path in self.get_option('additional_expectations', []):
+                expanded_path = self._filesystem.expanduser(path)
+                self._used_expectation_files.append(expanded_path)
+        return self._used_expectation_files
+
     def extra_expectations_files(self):
         """Returns a list of paths to test expectations not loaded by default.
 
diff --git a/third_party/blink/tools/blinkpy/web_tests/port/base_unittest.py b/third_party/blink/tools/blinkpy/web_tests/port/base_unittest.py
index 12e6301..b41b076 100644
--- a/third_party/blink/tools/blinkpy/web_tests/port/base_unittest.py
+++ b/third_party/blink/tools/blinkpy/web_tests/port/base_unittest.py
@@ -459,8 +459,10 @@
 
     def test_nonexistant_expectations(self):
         port = self.make_port(port_name='foo')
-        port.expectations_files = lambda: [MOCK_WEB_TESTS + 'platform/exists/TestExpectations',
-                                           MOCK_WEB_TESTS + 'platform/nonexistant/TestExpectations']
+        port.default_expectations_files = lambda: [
+            MOCK_WEB_TESTS + 'platform/exists/TestExpectations', MOCK_WEB_TESTS
+            + 'platform/nonexistant/TestExpectations'
+        ]
         port.host.filesystem.write_text_file(
             MOCK_WEB_TESTS + 'platform/exists/TestExpectations', '')
         self.assertEqual('\n'.join(port.expectations_dict().keys()),
diff --git a/third_party/blink/tools/blinkpy/web_tests/port/port_testcase.py b/third_party/blink/tools/blinkpy/web_tests/port/port_testcase.py
index 8fa80017..0a49422 100644
--- a/third_party/blink/tools/blinkpy/web_tests/port/port_testcase.py
+++ b/third_party/blink/tools/blinkpy/web_tests/port/port_testcase.py
@@ -309,9 +309,9 @@
             b'STDERR: [1:2:3:4:FATAL:example.cc(567)] Check failed.\n')
         self.assertEqual(crash_site, 'example.cc(567)')
 
-    def test_expectations_files(self):
+    def test_default_expectations_files(self):
         port = self.make_port()
-        self.assertEqual(list(port.expectations_files()), [
+        self.assertEqual(list(port.default_expectations_files()), [
             port.path_to_generic_test_expectations_file(),
             port.path_to_webdriver_expectations_file(),
             port.host.filesystem.join(port.web_tests_dir(), 'NeverFixTests'),
@@ -320,9 +320,9 @@
             port.host.filesystem.join(port.web_tests_dir(), 'SlowTests'),
         ])
 
-    def test_expectations_ordering(self):
+    def test_default_expectations_ordering(self):
         port = self.make_port()
-        for path in port.expectations_files():
+        for path in port.default_expectations_files():
             port.host.filesystem.write_text_file(path, '')
         ordered_dict = port.expectations_dict()
         self.assertEqual(port.path_to_generic_test_expectations_file(),
@@ -331,7 +331,7 @@
         options = optparse.Values(
             dict(additional_expectations=['/tmp/foo', '/tmp/bar']))
         port = self.make_port(options=options)
-        for path in port.expectations_files():
+        for path in port.default_expectations_files():
             port.host.filesystem.write_text_file(path, '')
         port.host.filesystem.write_text_file('/tmp/foo', 'foo')
         port.host.filesystem.write_text_file('/tmp/bar', 'bar')
@@ -340,6 +340,24 @@
             list(ordered_dict)[-2:], options.additional_expectations)
         self.assertEqual(list(ordered_dict.values())[-2:], ['foo', 'bar'])
 
+    def test_used_expectations_files(self):
+        options = optparse.Values({
+            'additional_expectations': ['/tmp/foo'],
+            'additional_driver_flag': ['flag-specific']
+        })
+        port = self.make_port(options=options)
+        self.assertEqual(list(port.used_expectations_files()), [
+            port.path_to_generic_test_expectations_file(),
+            port.path_to_webdriver_expectations_file(),
+            port.host.filesystem.join(port.web_tests_dir(), 'NeverFixTests'),
+            port.host.filesystem.join(port.web_tests_dir(),
+                                      'StaleTestExpectations'),
+            port.host.filesystem.join(port.web_tests_dir(), 'SlowTests'),
+            port.host.filesystem.join(port.web_tests_dir(), 'FlagExpectations',
+                                      'flag-specific'),
+            '/tmp/foo',
+        ])
+
     def test_path_to_apache_config_file(self):
         # Specific behavior may vary by port, so unit test sub-classes may override this.
         port = self.make_port()
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index ef31a336..d0d810df 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -5262,6 +5262,7 @@
 crbug.com/1207342 http/tests/devtools/unit/datagrid-items-attached-to-dom.js [ Failure Pass ]
 crbug.com/1207342 http/tests/devtools/unit/viewport-datagrid-items-attached-to-dom.js [ Failure Pass ]
 crbug.com/1207342 http/tests/devtools/unit/viewport-datagrid-items-expandable-attached-to-dom.js [ Failure Pass ]
+crbug.com/1207342 http/tests/devtools/webaudio/graphview-test.js [ Failure Pass ]
 crbug.com/1207342 http/tests/devtools/websocket/har-websocket.js [ Failure Pass ]
 crbug.com/1207342 http/tests/devtools/websocket/network-preserve-selection-on-frame-receive.js [ Failure Pass ]
 crbug.com/1207342 http/tests/devtools/console-cd-completions.js [ Failure Pass ]
@@ -7585,3 +7586,17 @@
 crbug.com/1230534 external/wpt/webrtc/simulcast/basic.https.html [ Pass Timeout ]
 crbug.com/1230534 external/wpt/webrtc/simulcast/setParameters-active.https.html [ Failure Pass Timeout ]
 crbug.com/1237909 [ Mac ] external/wpt/webrtc-svc/RTCRtpParameters-scalability.html [ Pass Timeout ]
+
+# Sheriff 2021-08-11
+crbug.com/1238845 [ Win7 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-001.html [ Failure ]
+crbug.com/1238845 [ Mac11.0 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-001.html [ Failure ]
+crbug.com/1238845 [ Win7 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-002.html [ Failure ]
+crbug.com/1238845 [ Mac11.0 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-002.html [ Failure ]
+crbug.com/1238845 [ Win7 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-003.html [ Failure ]
+crbug.com/1238845 [ Mac11.0 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-003.html [ Failure ]
+crbug.com/1238845 [ Win7 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-004.html [ Failure ]
+crbug.com/1238845 [ Mac11.0 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-004.html [ Failure ]
+crbug.com/1238845 [ Win7 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-005.html [ Failure ]
+crbug.com/1238845 [ Mac11.0 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-005.html [ Failure ]
+crbug.com/1238845 [ Win7 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-006.html [ Failure ]
+crbug.com/1238845 [ Mac11.0 ] external/wpt/css/css-highlight-api/painting/custom-highlight-painting-invalidation-006.html [ Failure ]
diff --git a/third_party/blink/web_tests/editing/deleting/delete-many-lines-of-text.html b/third_party/blink/web_tests/editing/deleting/delete-many-lines-of-text.html
new file mode 100644
index 0000000..e296808c7
--- /dev/null
+++ b/third_party/blink/web_tests/editing/deleting/delete-many-lines-of-text.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<body>
+<div contenteditable id="text"></div>
+<script>
+test(() => {
+  let textDiv = document.getElementById("text");
+  for (let i = 0; i < 2000; i++) {
+    let div = document.createElement("div");
+    div.append("This is sample text.");
+    textDiv.append(div);
+  }
+
+  let selection = document.getSelection();
+  selection.selectAllChildren(textDiv);
+
+  let layoutCount = internals.layoutCountForTesting();
+  document.execCommand('Delete');
+  let newLayoutCount = internals.layoutCountForTesting();
+
+  assert_true(textDiv.innerHTML === '<br>', 'Result should be <br>');
+  assert_less_than_equal(newLayoutCount - layoutCount, 3, 'Layout count of removing many text lines should be <= 3');
+}, 'Delete many lines of text.');
+</script>
+</body>
diff --git a/third_party/blink/web_tests/external/wpt/web-bundle/resources/check-accept-header-and-return-bundle.py b/third_party/blink/web_tests/external/wpt/web-bundle/resources/check-accept-header-and-return-bundle.py
new file mode 100644
index 0000000..c2c8ebb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/web-bundle/resources/check-accept-header-and-return-bundle.py
@@ -0,0 +1,21 @@
+import os
+
+# Returns the content of ./wbn/subresource.wbn if the request has an "Accept"
+# header including "application/webbundle;v=b1" type, otherwise returns an
+# empty body with status code 400.
+
+def main(request, response):
+    headers = [
+        (b"Content-Type", b"application/webbundle"),
+        (b"X-Content-Type-Options", b"nosniff"),
+    ]
+
+    accept_values = request.headers.get(b"accept", b"").split(b",")
+    if b"application/webbundle;v=b1" in accept_values:
+        with open(
+            os.path.join(os.path.dirname(__file__), "./wbn/subresource.wbn"),
+            "rb",
+        ) as f:
+            return (200, headers, f.read())
+    else:
+        return (400, [], "")
diff --git a/third_party/blink/web_tests/external/wpt/web-bundle/subresource-loading/subresource-loading-accept-header.https.tentative.sub.html b/third_party/blink/web_tests/external/wpt/web-bundle/subresource-loading/subresource-loading-accept-header.https.tentative.sub.html
new file mode 100644
index 0000000..e8aa5f90
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/web-bundle/subresource-loading/subresource-loading-accept-header.https.tentative.sub.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<title>Accept: request header in webbundle requests</title>
+<link
+  rel="help"
+  href="https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md"
+/>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/test-helpers.js"></script>
+<body>
+  <script>
+    promise_test(async () => {
+      const link = document.createElement("link");
+      link.rel = "webbundle";
+      link.href = "../resources/check-accept-header-and-return-bundle.py";
+      await addElementAndWaitForLoad(link);
+      link.remove();
+    }, '"Accept:" header in a request for a bundle should contain application/webbundle MIME type');
+
+  </script>
+</body>
diff --git a/third_party/blink/web_tests/flag-specific/highdpi/paint/invalidation/svg/composited-svg-expected.txt b/third_party/blink/web_tests/flag-specific/highdpi/paint/invalidation/svg/composited-svg-expected.txt
index af5ca78..80e428f9 100644
--- a/third_party/blink/web_tests/flag-specific/highdpi/paint/invalidation/svg/composited-svg-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/highdpi/paint/invalidation/svg/composited-svg-expected.txt
@@ -10,7 +10,7 @@
       "name": "LayoutSVGRect rect id='rect'",
       "position": [10, 10],
       "bounds": [100, 100],
-      "contentsOpaqueForText": true,
+      "contentsOpaque": true,
       "transform": 3
     }
   ],
diff --git a/third_party/blink/web_tests/http/tests/devtools/webaudio/graphview-test.js b/third_party/blink/web_tests/http/tests/devtools/webaudio/graphview-test.js
index 97a52b8d5..d84e5851 100644
--- a/third_party/blink/web_tests/http/tests/devtools/webaudio/graphview-test.js
+++ b/third_party/blink/web_tests/http/tests/devtools/webaudio/graphview-test.js
@@ -101,8 +101,14 @@
   }
 
   function dumpInOutBoundingMapSize() {
-    TestRunner.addResult(`Number of nodes with out-bound edges: ${graph._outboundEdgeMap.size}`);
-    TestRunner.addResult(`Number of nodes with in-bound edges: ${graph._inboundEdgeMap.size}`);
+    // TODO(crbug.com/1238850): Remove the _outboundEdgeMap branch.
+    if (graph.hasOwnProperty('_outboundEdgeMap')) {
+      TestRunner.addResult(`Number of nodes with out-bound edges: ${graph._outboundEdgeMap.size}`);
+      TestRunner.addResult(`Number of nodes with in-bound edges: ${graph._inboundEdgeMap.size}`);
+    } else {
+      TestRunner.addResult(`Number of nodes with out-bound edges: ${graph.outboundEdgeMap.size}`);
+      TestRunner.addResult(`Number of nodes with in-bound edges: ${graph.inboundEdgeMap.size}`);
+    }
   }
 
 })();
\ No newline at end of file
diff --git a/third_party/blink/web_tests/paint/invalidation/svg/composited-svg-expected.txt b/third_party/blink/web_tests/paint/invalidation/svg/composited-svg-expected.txt
index 8f4171f..cae3ba6 100644
--- a/third_party/blink/web_tests/paint/invalidation/svg/composited-svg-expected.txt
+++ b/third_party/blink/web_tests/paint/invalidation/svg/composited-svg-expected.txt
@@ -10,7 +10,7 @@
       "name": "LayoutSVGRect rect id='rect'",
       "position": [10, 10],
       "bounds": [100, 100],
-      "contentsOpaqueForText": true,
+      "contentsOpaque": true,
       "transform": 2
     }
   ],
diff --git a/third_party/eigen3/README.chromium b/third_party/eigen3/README.chromium
index 62b3b28..0bec3ca 100644
--- a/third_party/eigen3/README.chromium
+++ b/third_party/eigen3/README.chromium
@@ -1,8 +1,8 @@
 Name: Eigen
 Short Name: eigen3
 URL: http://eigen.tuxfamily.org/
-Version: 12e8d57108c50d8a63605c6eb0144c838c128337
-Date: 2021/06/20
+Version: 011e0db31d1bed8b7f73662be6d57d9f30fa457a
+Date: 2021/02/13
 License: MPL 2
 License File: LICENSE
 Security Critical: Yes
diff --git a/third_party/fp16/README.chromium b/third_party/fp16/README.chromium
index 84a940b4..065e16e7 100644
--- a/third_party/fp16/README.chromium
+++ b/third_party/fp16/README.chromium
@@ -1,8 +1,8 @@
 Name: FP16
 Short Name: fp16
 URL: https://github.com/Maratyszcza/FP16
-Version: 4dfe081cf6bcd15db339cf2680b9281b8451eeb3
-Date: 2020/05/14
+Version: febbb1c163726b5db24bed55cc9dc42529068997
+Date: 2018/11/28
 License: MIT
 License File: LICENSE
 Security Critical: Yes
diff --git a/third_party/neon_2_sse/README.chromium b/third_party/neon_2_sse/README.chromium
index 9a025aa..55b19cbe 100644
--- a/third_party/neon_2_sse/README.chromium
+++ b/third_party/neon_2_sse/README.chromium
@@ -1,8 +1,8 @@
 Name: ARM_NEON_2_x86_SSE
 Short Name: neon_2_sse
 URL: https://github.com/intel/ARM_NEON_2_x86_SSE
-Version: 1200fe90bb174a6224a525ee60148671a786a71f
-Date: 2018/04/04
+Version: 42b2bebacee25452e150095ef4480b3fa26e30f5
+Date: 2020/06/22
 License: Custom
 License File: LICENSE
 Security Critical: Yes
diff --git a/third_party/ruy/BUILD.gn b/third_party/ruy/BUILD.gn
index 403777e..53d2914 100644
--- a/third_party/ruy/BUILD.gn
+++ b/third_party/ruy/BUILD.gn
@@ -12,12 +12,12 @@
     "src/ruy/allocator.h",
     "src/ruy/apply_multiplier.cc",
     "src/ruy/apply_multiplier.h",
-    "src/ruy/asm_helpers.h",
     "src/ruy/block_map.cc",
     "src/ruy/block_map.h",
     "src/ruy/blocking_counter.cc",
     "src/ruy/blocking_counter.h",
     "src/ruy/check_macros.h",
+    "src/ruy/common.h",
     "src/ruy/context.cc",
     "src/ruy/context.h",
     "src/ruy/context_get_ctx.cc",
@@ -25,25 +25,26 @@
     "src/ruy/cpu_cache_params.h",
     "src/ruy/cpuinfo.cc",
     "src/ruy/cpuinfo.h",
+    "src/ruy/create_trmul_params.cc",
     "src/ruy/create_trmul_params.h",
     "src/ruy/ctx.cc",
     "src/ruy/ctx.h",
     "src/ruy/ctx_impl.h",
-    "src/ruy/denormal.cc",
-    "src/ruy/frontend.cc",
-    "src/ruy/frontend.h",
+    "src/ruy/dispatch.h",
     "src/ruy/have_built_path_for.h",
-    "src/ruy/have_built_path_for_avx.cc",
-    "src/ruy/have_built_path_for_avx2_fma.cc",
+    "src/ruy/have_built_path_for_avx2.cc",
     "src/ruy/have_built_path_for_avx512.cc",
+    "src/ruy/have_built_path_for_avxvnni.cc",
+    "src/ruy/have_built_path_for_sse42.cc",
     "src/ruy/kernel.h",
     "src/ruy/kernel_arm.h",
     "src/ruy/kernel_arm32.cc",
     "src/ruy/kernel_arm64.cc",
-    "src/ruy/kernel_avx.cc",
-    "src/ruy/kernel_avx2_fma.cc",
+    "src/ruy/kernel_avx2.cc",
     "src/ruy/kernel_avx512.cc",
+    "src/ruy/kernel_avxvnni.cc",
     "src/ruy/kernel_common.h",
+    "src/ruy/kernel_sse42.cc",
     "src/ruy/kernel_x86.h",
     "src/ruy/mat.h",
     "src/ruy/matrix.h",
@@ -52,20 +53,18 @@
     "src/ruy/pack.h",
     "src/ruy/pack_arm.cc",
     "src/ruy/pack_arm.h",
-    "src/ruy/pack_avx.cc",
-    "src/ruy/pack_avx2_fma.cc",
+    "src/ruy/pack_avx2.cc",
     "src/ruy/pack_avx512.cc",
+    "src/ruy/pack_avxvnni.cc",
     "src/ruy/pack_common.h",
+    "src/ruy/pack_sse42.cc",
     "src/ruy/pack_x86.h",
     "src/ruy/path.h",
-    "src/ruy/performance_advisory.h",
     "src/ruy/platform.h",
     "src/ruy/pmu.cc",
     "src/ruy/pmu.h",
     "src/ruy/prepacked_cache.cc",
     "src/ruy/prepacked_cache.h",
-    "src/ruy/prepare_packed_matrices.cc",
-    "src/ruy/prepare_packed_matrices.h",
     "src/ruy/profiler/instrumentation.cc",
     "src/ruy/profiler/instrumentation.h",
     "src/ruy/profiler/profiler.cc",
@@ -86,7 +85,6 @@
     "src/ruy/trmul_params.h",
     "src/ruy/tune.cc",
     "src/ruy/tune.h",
-    "src/ruy/validate.h",
     "src/ruy/wait.cc",
     "src/ruy/wait.h",
   ]
diff --git a/third_party/ruy/README.chromium b/third_party/ruy/README.chromium
index c917802..96f7eb1 100644
--- a/third_party/ruy/README.chromium
+++ b/third_party/ruy/README.chromium
@@ -1,8 +1,8 @@
 Name: The ruy matrix multiplication library
 Short Name: ruy
 URL: https://github.com/google/ruy
-Version: e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce
-Date: 2020/06/18
+Version: 34ea9f4993955fa1ff4eb58e504421806b7f2e8f
+Date: 2020/06/11
 License: Apache 2
 License File: LICENSE
 Security Critical: Yes
diff --git a/third_party/tflite/BUILD.gn b/third_party/tflite/BUILD.gn
index 90de1e6..df1f488a 100644
--- a/third_party/tflite/BUILD.gn
+++ b/third_party/tflite/BUILD.gn
@@ -77,7 +77,6 @@
     "src/tensorflow/lite/op_resolver.h",
     "src/tensorflow/lite/optional_debug_tools.h",
     "src/tensorflow/lite/schema/schema_generated.h",
-    "src/tensorflow/lite/schema/schema_utils.h",
     "src/tensorflow/lite/stderr_reporter.h",
     "src/tensorflow/lite/string_type.h",
     "src/tensorflow/lite/string_util.h",
@@ -133,6 +132,7 @@
     "src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_uint8.h",
     "src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_uint8_3x3_filter.h",
     "src/tensorflow/lite/kernels/internal/optimized/eigen_spatial_convolutions.h",
+    "src/tensorflow/lite/kernels/internal/optimized/eigen_tensor_reduced_instantiations_oss.h",
     "src/tensorflow/lite/kernels/internal/optimized/im2col_utils.h",
     "src/tensorflow/lite/kernels/internal/optimized/integer_ops/add.h",
     "src/tensorflow/lite/kernels/internal/optimized/integer_ops/conv.h",
@@ -394,6 +394,7 @@
     "src/tensorflow/lite/core/subgraph.cc",
     "src/tensorflow/lite/delegates/nnapi/nnapi_delegate.h",
     "src/tensorflow/lite/delegates/nnapi/nnapi_delegate_disabled.cc",
+    "src/tensorflow/lite/delegates/status.h",
     "src/tensorflow/lite/experimental/resource/lookup_interfaces.h",
     "src/tensorflow/lite/experimental/resource/lookup_util.h",
     "src/tensorflow/lite/experimental/resource/resource_base.h",
@@ -404,7 +405,6 @@
     "src/tensorflow/lite/graph_info.cc",
     "src/tensorflow/lite/interpreter.cc",
     "src/tensorflow/lite/interpreter_builder.cc",
-    "src/tensorflow/lite/interpreter_experimental.cc",
     "src/tensorflow/lite/memory_planner.h",
     "src/tensorflow/lite/minimal_logging.cc",
     "src/tensorflow/lite/minimal_logging.h",
@@ -418,11 +418,8 @@
     "src/tensorflow/lite/optional_debug_tools.cc",
     "src/tensorflow/lite/profiling/memory_info.cc",
     "src/tensorflow/lite/profiling/memory_info.h",
-    "src/tensorflow/lite/profiling/platform_profiler.cc",
-    "src/tensorflow/lite/profiling/platform_profiler.h",
     "src/tensorflow/lite/profiling/time.cc",
     "src/tensorflow/lite/profiling/time.h",
-    "src/tensorflow/lite/schema/schema_utils.cc",
     "src/tensorflow/lite/simple_memory_arena.cc",
     "src/tensorflow/lite/simple_memory_arena.h",
     "src/tensorflow/lite/stderr_reporter.cc",
@@ -451,11 +448,7 @@
   if (is_ios) {
     sources += [ "src/tensorflow/lite/minimal_logging_ios.cc" ]
   } else if (is_android) {
-    sources += [
-      "src/tensorflow/lite/minimal_logging_android.cc",
-      "src/tensorflow/lite/profiling/atrace_profiler.cc",
-      "src/tensorflow/lite/profiling/atrace_profiler.h",
-    ]
+    sources += [ "src/tensorflow/lite/minimal_logging_android.cc" ]
   } else {
     sources += [ "src/tensorflow/lite/minimal_logging_default.cc" ]
   }
diff --git a/third_party/tflite/README.chromium b/third_party/tflite/README.chromium
index d061177..9d10dec 100644
--- a/third_party/tflite/README.chromium
+++ b/third_party/tflite/README.chromium
@@ -1,8 +1,8 @@
 Name: TensorFlow Lite
 Short Name: tflite
 URL: https://github.com/tensorflow/tensorflow
-Version: e6c1b8dc8a8b00ee74e7268aac8b18d7260ab1ce
-Date: 2020/06/24
+Version: 2.3.0
+Date: 2020/07/27
 License: Apache 2.0
 License File: LICENSE
 Security Critical: Yes
diff --git a/third_party/wuffs/README.chromium b/third_party/wuffs/README.chromium
index 1bb27ab..7a995b6 100644
--- a/third_party/wuffs/README.chromium
+++ b/third_party/wuffs/README.chromium
@@ -1,8 +1,8 @@
 Name: Wuffs (Wrangling Untrusted File Formats Safely)
 Short name: Wuffs
-URL: https://github.com/google/wuffs
+URL: https://github.com/google/wuffs-mirror-release-c
 Version: 0.3.0-beta.8
-Revision: 1b9a6cb85b9f359595bd264d4c95da5d1291adc5
+Revision: 600cd96cf47788ee3a74b40a6028b035c9fd6a61
 Security critical: yes
 License: Apache 2.0
 
@@ -10,5 +10,10 @@
 Codecs (compression, images, etc.) written in a custom memory-safe programming
 language, transpiled to C.
 
+To map from a https://github.com/google/wuffs-mirror-release-c commit hash
+(e.g. 600cd96c) to a https://github.com/google/wuffs commit hash (e.g.
+1b9a6cb8), look for the "Sibling directory" line in
+https://github.com/google/wuffs-mirror-release-c/blob/600cd96c/sync.txt
+
 Local Modifications:
 None.
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 80bb978..fe913cd 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -34305,6 +34305,7 @@
   <int value="17" label="Chrome Labs"/>
   <int value="18" label="Bento Bar"/>
   <int value="19" label="Quick Answers"/>
+  <int value="20" label="What's New"/>
 </enum>
 
 <enum name="FeedControlsActions">
@@ -45072,6 +45073,7 @@
   <int value="13" label="Remove language from 'Always Translate' list"/>
   <int value="14" label="Add language to 'Always Translate' list"/>
   <int value="15" label="Remove site from 'Never translate sites' list"/>
+  <int value="16" label="Restart Chrome for split install"/>
 </enum>
 
 <enum name="LanguageSettingsAppLanguagePromptAction">
@@ -45097,6 +45099,19 @@
   <int value="11" label="View Never Translate Sites"/>
 </enum>
 
+<enum name="LanguageSettingsSplitInstallStatus">
+  <int value="0" label="Success"/>
+  <int value="1" label="Already Installed"/>
+  <int value="2" label="Canceled"/>
+  <int value="3" label="Downloaded">
+    Downloaded but not installed. Split Compat most likely not available.
+  </int>
+  <int value="4" label="Failed"/>
+  <int value="5" label="Unexpected status">
+    Not a final split install session status.
+  </int>
+</enum>
+
 <enum name="LanguageUsage.UI.Android.Availability">
   <int value="0" label="Top Available">Top Android language is available.</int>
   <int value="1" label="Only Default Available">
@@ -66246,6 +66261,10 @@
   <int value="27" label="Prefetch Not Eligible: Retry-After not elasped"/>
   <int value="28" label="Connecting to the prefetch proxy previously failed"/>
   <int value="29" label="Decoy request"/>
+  <int value="30" label="Stale prefetch"/>
+  <int value="31" label="Stale prefetch with NSP"/>
+  <int value="32" label="Stale prefetch, NSP attempt denied"/>
+  <int value="33" label="Stale prefetch, NSP not started"/>
 </enum>
 
 <enum name="PrefetchRedirect">
@@ -68108,6 +68127,7 @@
   <int value="0" label="Unknown Command"/>
   <int value="1" label="Open Safety Check"/>
   <int value="2" label="Open SafeBrowsing Enhanced Protection"/>
+  <int value="3" label="Open Chrome feedback form"/>
 </enum>
 
 <enum name="ProtectorError">
@@ -70659,6 +70679,14 @@
   <int value="3" label="Update Sync - If the credentials was updated via Sync"/>
 </enum>
 
+<enum name="RendererSchedulerDeadlineMode">
+  <int value="0" label="None. Synchronous Compositor Only."/>
+  <int value="1" label="Immediate."/>
+  <int value="2" label="Regular."/>
+  <int value="3" label="Late."/>
+  <int value="4" label="Blocked. Synchronous Compositor Only."/>
+</enum>
+
 <enum name="RendererSchedulerFrameOriginType">
   <int value="0" label="MainFrame"/>
   <int value="1" label="SameOriginFrame"/>
diff --git a/tools/metrics/histograms/metadata/apps/histograms.xml b/tools/metrics/histograms/metadata/apps/histograms.xml
index b931f2d5..3efb3ed 100644
--- a/tools/metrics/histograms/metadata/apps/histograms.xml
+++ b/tools/metrics/histograms/metadata/apps/histograms.xml
@@ -38,6 +38,26 @@
   <variant name="WebApp" summary="Web apps"/>
 </variants>
 
+<variants name="AppTypeV2">
+  <variant name="Arc" summary="Android apps"/>
+  <variant name="Borealis" summary="Borealis apps"/>
+  <variant name="BuiltIn" summary="BuiltIn apps"/>
+  <variant name="ChromeAppTab" summary="Chrome apps opened in tabs"/>
+  <variant name="ChromeAppWindow"
+      summary="Chrome apps opened in standalone windows"/>
+  <variant name="ChromeBrowser" summary="Chrome browsers"/>
+  <variant name="Crostini" summary="Crostini apps"/>
+  <variant name="MacOs" summary="MacOs apps"/>
+  <variant name="PluginVm" summary="Plugin VM app"/>
+  <variant name="RemoteApp" summary="Remote apps"/>
+  <variant name="StandaloneBrowser" summary="Standalone browsers"/>
+  <variant name="StandaloneBrowserExtension"
+      summary="Extension based apps hosted by lacros."/>
+  <variant name="SystemWebApp" summary="System web apps"/>
+  <variant name="WebAppTab" summary="Web apps opened in tabs"/>
+  <variant name="WebAppWindow" summary="Web apps opened in standalone windows"/>
+</variants>
+
 <variants name="AppUIComponent">
   <variant name=".AppGrid" summary="App - Fullscreen Launcher"/>
   <variant name=".Desktop" summary="Desktop"/>
@@ -2636,6 +2656,17 @@
   <token key="AppType" variants="AppType"/>
 </histogram>
 
+<histogram name="Apps.UsageTimeV2.{AppTypeV2}" units="ms"
+    expires_after="2021-12-31">
+  <owner>dominickn@chromium.org</owner>
+  <owner>nancylingwang@chromium.org</owner>
+  <summary>
+    Records the amount of time that {AppTypeV2} were used in the last five
+    minutes on Chrome OS. This is logged every five minutes.
+  </summary>
+  <token key="AppTypeV2" variants="AppTypeV2"/>
+</histogram>
+
 <histogram name="Apps.WindowCount.{RestoreAction}" units="unit"
     expires_after="2021-12-30">
   <owner>nancylingwang@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/content/histograms.xml b/tools/metrics/histograms/metadata/content/histograms.xml
index 61d13a5..e38e53f 100644
--- a/tools/metrics/histograms/metadata/content/histograms.xml
+++ b/tools/metrics/histograms/metadata/content/histograms.xml
@@ -1722,7 +1722,7 @@
   <owner>harringtond@chromium.org</owner>
   <owner>feed@chromium.org</owner>
   <summary>
-    Tracks each instance of user engagement with the {FeedType}, by scrolling or
+    Tracks each instance of user engagement with {FeedType}, by scrolling or
     interacting with a card (opening the URL or using the menu). Note that each
     event type reports samples very differently and buckets can't be directly
     compared. We're mostly interested in unique user counts. We track every
@@ -1736,8 +1736,9 @@
     interected than ENGAGED or ENGAGED_SIMPLE samples.
   </summary>
   <token key="FeedType">
-    <variant name="Feed" summary="For-You Feed"/>
-    <variant name="Feed.WebFeed" summary="Web Feed"/>
+    <variant name="Feed" summary="the For-You Feed"/>
+    <variant name="Feed.AllFeeds" summary="all Feeds combined"/>
+    <variant name="Feed.WebFeed" summary="the Web Feed"/>
   </token>
 </histogram>
 
diff --git a/tools/metrics/histograms/metadata/cros/histograms.xml b/tools/metrics/histograms/metadata/cros/histograms.xml
index c235351..8f76f9d 100644
--- a/tools/metrics/histograms/metadata/cros/histograms.xml
+++ b/tools/metrics/histograms/metadata/cros/histograms.xml
@@ -22,7 +22,7 @@
 <histograms>
 
 <histogram name="Cros.CrOSActionRecorderEvent" enum="CrOSActionRecorderEvent"
-    expires_after="2021-09-15">
+    expires_after="2022-01-30">
   <owner>charleszhao@chromium.org</owner>
   <owner>tby@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
index df36a72..f0d48b7e 100644
--- a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
+++ b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
@@ -8031,69 +8031,6 @@
       name="Media.Learning.MediaCapabilities.DroppedFrameRatioTask"/>
 </histogram_suffixes>
 
-<histogram_suffixes name="MediaPipelineStatusForStreams" separator=".">
-  <suffix name="AudioOnly" label="PipelineStatus for Audio-only streams."/>
-  <suffix name="AudioVideo.AV1.DDS.HW"
-      label="PipelineStatus for AV streams with AV1 hardware decoder and that
-             go through the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.AV1.DDS.SW"
-      label="PipelineStatus for AV streams with AV1 software decoder and that
-             go through the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.AV1.DVD"
-      label="PipelineStatus for AV streams with AV1 decoder and that go
-             through the DecryptingVideoDecoder (DVD)."/>
-  <suffix name="AudioVideo.AV1.HW"
-      label="PipelineStatus for AV streams with AV1 hardware decoder."/>
-  <suffix name="AudioVideo.AV1.SW"
-      label="PipelineStatus for AV streams with AV1 software decoder."/>
-  <suffix name="AudioVideo.H264.DDS.HW"
-      label="PipelineStatus for AV streams with H264 hardware decoder and
-             that go through the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.H264.DDS.SW"
-      label="PipelineStatus for AV streams with H264 software decoder and
-             that go through the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.H264.DVD"
-      label="PipelineStatus for AV streams with H264 decoder and that go
-             through the DecryptingVideoDecoder (DVD)."/>
-  <suffix name="AudioVideo.H264.HW"
-      label="PipelineStatus for hardware decoded AV streams with H264
-             decoder."/>
-  <suffix name="AudioVideo.H264.SW"
-      label="PipelineStatus for software decoded AV streams with H264
-             decoder."/>
-  <suffix name="AudioVideo.Other"
-      label="PipelineStatus for the codecs that dont have an explicit metric."/>
-  <suffix name="AudioVideo.VP8.DDS.HW"
-      label="PipelineStatus for AV streams with VP8 hardware codec and that
-             go through the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.VP8.DDS.SW"
-      label="PipelineStatus for AV streams with VP8 software codec and that
-             go through the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.VP8.DVD"
-      label="PipelineStatus for AV streams with VP8 codec and that go through
-             the DecryptingVideoDecoder (DVD)."/>
-  <suffix name="AudioVideo.VP8.HW"
-      label="PipelineStatus for AV streams with VP8 hardware decoder."/>
-  <suffix name="AudioVideo.VP8.SW"
-      label="PipelineStatus for AV streams with VP8 software decoder."/>
-  <suffix name="AudioVideo.VP9.DDS.HW"
-      label="PipelineStatus for AV streams with VP9 hardware codec and that
-             go through the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.VP9.DDS.SW"
-      label="PipelineStatus for AV streams with VP9 codec and that go through
-             the DecryptingDemuxerStream (DDS)."/>
-  <suffix name="AudioVideo.VP9.DVD"
-      label="PipelineStatus for AV streams with VP9 software codec and that
-             go through the DecryptingVideoDecoder (DVD)."/>
-  <suffix name="AudioVideo.VP9.HW"
-      label="PipelineStatus for AV streams with VP9 hardware decoder."/>
-  <suffix name="AudioVideo.VP9.SW"
-      label="PipelineStatus for AV streams with VP9 software decoder."/>
-  <suffix name="Unsupported" label="PipelineStatus for unsupported streams."/>
-  <suffix name="VideoOnly" label="PipelineStatus for Video-only streams."/>
-  <affected-histogram name="Media.PipelineStatus"/>
-</histogram_suffixes>
-
 <histogram_suffixes name="MediaRebufferingCategories" separator=".">
   <suffix name="Audio.EME" label="Metric for EME media with an audio track."/>
   <suffix name="Audio.MSE" label="Metric for MSE media with an audio track."/>
diff --git a/tools/metrics/histograms/metadata/media/histograms.xml b/tools/metrics/histograms/metadata/media/histograms.xml
index 6c48999..cc13064a 100644
--- a/tools/metrics/histograms/metadata/media/histograms.xml
+++ b/tools/metrics/histograms/metadata/media/histograms.xml
@@ -3260,14 +3260,36 @@
   </summary>
 </histogram>
 
-<histogram name="Media.PipelineStatus" enum="PipelineStatus"
-    expires_after="2021-12-26">
-  <owner>prabhur@chromium.org</owner>
+<histogram name="Media.PipelineStatus.AudioVideo.{Codec}.{Pipeline}"
+    enum="PipelineStatus" expires_after="never">
+<!-- expires-never: Media pipeline health metric. -->
+
   <owner>dalecurtis@chromium.org</owner>
+  <owner>media-dev@chromium.org</owner>
   <summary>
-    Status of the media pipeline at the end of its lifecycle suffixed by stream
-    and video decoder type.
+    Status of the media pipeline at the end of its lifecycle for audio-video
+    streams with {Codec} video codec using {Pipeline}.
   </summary>
+  <token key="Codec">
+    <variant name="AV1"/>
+    <variant name="H264"/>
+    <variant name="Other" summary="other"/>
+    <variant name="VP8"/>
+    <variant name="VP9"/>
+  </token>
+  <token key="Pipeline">
+    <variant name="DDS.HW"
+        summary="RendererImpl with hardware decoder and
+                 DecryptingDemuxerStream"/>
+    <variant name="DDS.SW"
+        summary="RendererImpl with software decoder and
+                 DecryptingDemuxerStream"/>
+    <variant name="DVD" summary="RendererImpl with DecryptingVideoDecoder"/>
+    <variant name="HW" summary="RendererImpl with hardware decoder"/>
+    <variant name="MediaFoundationRenderer"/>
+    <variant name="SW" summary="RendererImpl with software decoder"/>
+    <variant name="UnknownRenderer" summary="an unknown Renderer"/>
+  </token>
 </histogram>
 
 <histogram name="Media.PipelineStatus.Start" enum="PipelineStatus"
@@ -3281,6 +3303,23 @@
   </summary>
 </histogram>
 
+<histogram name="Media.PipelineStatus.{StreamType}" enum="PipelineStatus"
+    expires_after="never">
+<!-- expires-never: Media pipeline health metric. -->
+
+  <owner>dalecurtis@chromium.org</owner>
+  <owner>media-dev@chromium.org</owner>
+  <summary>
+    Status of the media pipeline at the end of its lifecycle for {StreamType}
+    streams.
+  </summary>
+  <token key="StreamType">
+    <variant name="AudioOnly" summary="audio-only"/>
+    <variant name="Unsupported" summary="unsupported"/>
+    <variant name="VideoOnly" summary="video-only"/>
+  </token>
+</histogram>
+
 <histogram name="Media.PlatformVideoDecoding.Decode" units="ms"
     expires_after="never">
 <!-- expires-never: used by ChromeOS test infrastructure -->
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml
index 14ad0af..04d917a 100644
--- a/tools/metrics/histograms/metadata/others/histograms.xml
+++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -8623,6 +8623,18 @@
   </summary>
 </histogram>
 
+<histogram name="LanguageSettings.SplitInstallFinalStatus"
+    enum="LanguageSettingsSplitInstallStatus" expires_after="2021-12-01">
+  <owner>perrier@chromium.org</owner>
+  <owner>chrome-language@google.com</owner>
+  <summary>
+    Records the status of a language split install when it has reached a final
+    status.
+
+    Recorded once per attempted install.
+  </summary>
+</histogram>
+
 <histogram name="LanguageUsage.AcceptLanguage" enum="LanguageName"
     expires_after="2022-01-30">
   <owner>perrier@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/platform/histograms.xml b/tools/metrics/histograms/metadata/platform/histograms.xml
index 2575fa50..3d2f3721 100644
--- a/tools/metrics/histograms/metadata/platform/histograms.xml
+++ b/tools/metrics/histograms/metadata/platform/histograms.xml
@@ -414,8 +414,8 @@
 </histogram>
 
 <histogram name="Platform.DlcService.InstallResult"
-    enum="DlcService.InstallResult" expires_after="2021-08-29">
-  <owner>andrewlassalle@chromium.org</owner>
+    enum="DlcService.InstallResult" expires_after="2022-08-29">
+  <owner>kimjae@chromium.org</owner>
   <owner>chromeos-core-services@google.com</owner>
   <summary>
     The result of an attempt to Install a DLC package. DLCs are ChromiumOS
@@ -424,8 +424,8 @@
 </histogram>
 
 <histogram name="Platform.DlcService.UninstallResult"
-    enum="DlcService.UninstallResult" expires_after="2021-08-29">
-  <owner>andrewlassalle@chromium.org</owner>
+    enum="DlcService.UninstallResult" expires_after="2022-08-29">
+  <owner>kimjae@chromium.org</owner>
   <owner>chromeos-core-services@google.com</owner>
   <summary>
     The result of an attempt to Uninstall a DLC package. DLCs are ChromiumOS
diff --git a/tools/metrics/histograms/metadata/scheduler/histograms.xml b/tools/metrics/histograms/metadata/scheduler/histograms.xml
index fee3fea..d7cc943 100644
--- a/tools/metrics/histograms/metadata/scheduler/histograms.xml
+++ b/tools/metrics/histograms/metadata/scheduler/histograms.xml
@@ -253,6 +253,17 @@
   </summary>
 </histogram>
 
+<histogram name="Scheduling.Renderer.DeadlineMode"
+    enum="RendererSchedulerDeadlineMode" expires_after="2022-01-01">
+  <owner>weiliangc@chromium.org</owner>
+  <owner>chrome-gpu-metrics@chromium.org</owner>
+  <summary>
+    The type of deadline mode the Renderer's cc::Scheduler is in when the
+    scheduler enters the BeginImplFrame deadline. This emits immediately as the
+    scheduler enters the deadline.
+  </summary>
+</histogram>
+
 <histogram name="Scheduling.Renderer.DrawInterval2" units="microseconds"
     expires_after="never">
 <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->
diff --git a/tools/metrics/histograms/metadata/stability/histograms.xml b/tools/metrics/histograms/metadata/stability/histograms.xml
index 0ec83829..94b5e1e 100644
--- a/tools/metrics/histograms/metadata/stability/histograms.xml
+++ b/tools/metrics/histograms/metadata/stability/histograms.xml
@@ -621,7 +621,7 @@
 </histogram>
 
 <histogram name="Stability.iOS.UTE.TimeBetweenUTEAndNextLaunch" units="ms"
-    expires_after="2021-08-15">
+    expires_after="2021-12-12">
   <owner>michaeldo@chromium.org</owner>
   <owner>olivierrobin@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/update_bad_message_reasons.py b/tools/metrics/histograms/update_bad_message_reasons.py
index 8179cb4..a4f97da8 100644
--- a/tools/metrics/histograms/update_bad_message_reasons.py
+++ b/tools/metrics/histograms/update_bad_message_reasons.py
@@ -48,8 +48,8 @@
   }
 
   for header_file, details in histograms.items():
-    end_marker = details.get('end_marker', default='^BAD_MESSAGE_MAX')
-    strip_k_prefix = details.get('strip_k_prefix', default=False)
+    end_marker = details.get('end_marker', '^BAD_MESSAGE_MAX')
+    strip_k_prefix = details.get('strip_k_prefix', False)
     UpdateHistogramEnum(histogram_enum_name=details['name'],
                         source_enum_path=header_file,
                         start_marker='^enum (class )?BadMessageReason {',
diff --git a/tools/metrics/structured/codegen.py b/tools/metrics/structured/codegen.py
index 15d7c8f..0c87b32 100644
--- a/tools/metrics/structured/codegen.py
+++ b/tools/metrics/structured/codegen.py
@@ -2,7 +2,6 @@
 # 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.
-
 """Objects for describing template code to be generated from structured.xml."""
 
 import hashlib
@@ -10,6 +9,8 @@
 import re
 import struct
 
+import templates_validator as validator_tmpl
+
 
 class Util:
   """Helpers for generating C++."""
@@ -76,6 +77,9 @@
     self.name = Util.sanitize_name(project.name)
     self.namespace = Util.camel_to_snake(self.name)
     self.name_hash = Util.hash_name(self.name)
+    self.validator = '{}ProjectValidator'.format(self.name)
+    self.validator_snake_name = Util.camel_to_snake(self.validator)
+    self.events = project.events
 
     # Set ID type.
     if project.id == 'uma':
@@ -105,6 +109,26 @@
           self.event_type = 'RAW_STRING'
           break
 
+  def build_event_map(self) -> str:
+    event_infos = (EventInfo(event, self) for event in self.events)
+
+    # Generate map entries.
+    validator_map_str = ',\n  '.join(
+        '{{"{}", &{}}}'.format(event_info.name, event_info.validator_snake_name)
+        for event_info in event_infos)
+    return validator_tmpl.IMPL_PROJECT_EVENT_MAP_TEMPLATE.format(
+        project=self, event_validator_map=validator_map_str)
+
+  def build_event_validators(self) -> str:
+    event_infos = (EventInfo(event, self) for event in self.events)
+    return '\n'.join(event.build_validator_init() for event in event_infos)
+
+  def build_project_init(self) -> str:
+    return 'static {} {};'.format(self.validator, self.validator_snake_name)
+
+  def build_validator_code(self) -> str:
+    return validator_tmpl.IMPL_PROJECT_VALIDATOR_TEMPLATE.format(project=self)
+
 
 class EventInfo:
   """Codegen-related info about an event."""
@@ -112,6 +136,22 @@
   def __init__(self, event, project_info):
     self.name = Util.sanitize_name(event.name)
     self.name_hash = Util.event_name_hash(project_info.name, self.name)
+    self.validator_name = '{}EventValidator'.format(self.name)
+    self.validator_snake_name = Util.camel_to_snake(self.validator_name)
+    self.metrics = event.metrics
+
+  def build_metric_hash_map(self) -> str:
+    metric_infos = (MetricInfo(metric) for metric in self.metrics)
+    return ',\n  '.join('{{\"{}\", {}::kEventNameHash}}'.format(
+        metric_info.name, self.validator_name) for metric_info in metric_infos)
+
+  def build_validator_init(self) -> str:
+    return ('static {} {};').format(self.validator_name,
+                                    self.validator_snake_name)
+
+  def build_validator_code(self) -> str:
+    return validator_tmpl.IMPL_EVENT_VALIDATOR_TEMPLATE.format(
+        event=self, metric_hash_map=self.build_metric_hash_map())
 
 
 class MetricInfo:
@@ -181,3 +221,92 @@
     return self.metric_template.format(file=file_info,
                                        event=event_info,
                                        metric=MetricInfo(metric))
+
+
+class ValidatorHeaderTemplate:
+  """Template for generating header validator code from structured.xml."""
+
+  def __init__(self, model, dirname, basename):
+    self.model = model
+    self.dirname = dirname
+    self.basename = basename
+
+  def write_file(self) -> None:
+    file_info = FileInfo(self.dirname, self.basename)
+    with open(file_info.filepath, 'w') as f:
+      f.write(self._stamp_file(file_info))
+
+  def _stamp_file(self, file_info) -> str:
+    return validator_tmpl.HEADER_FILE_TEMPLATE.format(file=file_info)
+
+
+class ValidatorImplTemplate:
+  """Template for generating implementation validator code from structured.xml.
+
+  The generated file will store a static map containing all the validators
+  mapped by event name. All validators are initialized statically.
+
+  Almost everything is generated in an anonymous namespace as the generated map
+  should not be exposed. The generated code will be in the following order:
+
+    1) EventValidator class implementation.
+    2) EventValidator static initialization.
+    3) Project map initialization mapping event name to corresponding
+    EventValidator.
+    4) Project class implementation.
+    5) Project validator static initialization.
+    6) Map initialization mapping project name to ProjectValidator.
+  """
+
+  def __init__(self, model, dirname, basename):
+    self.model = model
+    self.dirname = dirname
+    self.basename = basename
+
+  def write_file(self) -> None:
+    file_info = FileInfo(self.dirname, self.basename)
+    with open(file_info.filepath, 'w') as f:
+      f.write(self._stamp_file(file_info))
+
+  def _stamp_file(self, file_info) -> str:
+    event_code = []
+    event_validators = []
+    project_event_maps = []
+    project_code = []
+    project_validators = []
+
+    for project in self.model.projects:
+      project_info = ProjectInfo(project)
+      event_infos = (EventInfo(event, project_info) for event in project.events)
+      project_event_code = '\n'.join(event_info.build_validator_code()
+                                     for event_info in event_infos)
+
+      event_code.append(project_event_code)
+      event_validators.append(project_info.build_event_validators())
+      project_event_maps.append(project_info.build_event_map())
+      project_code.append(project_info.build_validator_code())
+      project_validators.append(project_info.build_project_init())
+
+    # Turn all lists into strings.
+    events_code_str = ''.join(event_code)
+    event_validators_str = '\n'.join(event_validators)
+    project_event_maps_str = '\n'.join(project_event_maps)
+    project_code_str = ''.join(project_code)
+    project_validators_str = '\n'.join(project_validators)
+
+    return validator_tmpl.IMPL_FILE_TEMPLATE.format(
+        file=file_info,
+        projects_code=project_code_str,
+        event_code=events_code_str,
+        event_validators=event_validators_str,
+        project_event_maps=project_event_maps_str,
+        project_validators=project_validators_str,
+        project_map=self._build_project_map())
+
+  def _build_project_map(self) -> str:
+    project_infos = (ProjectInfo(project) for project in self.model.projects)
+    project_map = ',\n  '.join(
+        '{{"{}", &{}}}'.format(project.name, project.validator_snake_name)
+        for project in project_infos)
+    return validator_tmpl.IMPL_PROJECT_MAP_TEMPLATE.format(
+        project_map=project_map)
diff --git a/tools/metrics/structured/gen_validator.py b/tools/metrics/structured/gen_validator.py
new file mode 100755
index 0000000..eeb645e
--- /dev/null
+++ b/tools/metrics/structured/gen_validator.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+# 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.
+"""A utility for generating the structured metrics validator.
+
+Takes as input a structured.xml file describing all events and produces a C++
+header and implementation file exposing validator function calls.
+"""
+
+import argparse
+import sys
+
+import codegen
+import model
+
+parser = argparse.ArgumentParser(
+    description='Generate structured metrics validator')
+parser.add_argument('--input', help='Path to structured.xml')
+parser.add_argument('--output', help='Path to generated files.')
+
+
+def main():
+  args = parser.parse_args()
+  data = model.Model(open(args.input).read())
+
+  codegen.ValidatorHeaderTemplate(
+      data, args.output, 'structured_metrics_validator.h').write_file()
+
+  codegen.ValidatorImplTemplate(data, args.output,
+                                'structured_metrics_validator.cc').write_file()
+
+  return 0
+
+
+if __name__ == '__main__':
+  sys.exit(main())
diff --git a/tools/metrics/structured/templates_validator.py b/tools/metrics/structured/templates_validator.py
new file mode 100644
index 0000000..83b420255
--- /dev/null
+++ b/tools/metrics/structured/templates_validator.py
@@ -0,0 +1,154 @@
+# -*- coding: utf-8 -*-
+# 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.
+
+HEADER_FILE_TEMPLATE = """\
+// Generated from gen_validator.py. DO NOT EDIT!
+// source: structured.xml
+
+#ifndef {file.guard_path}
+#define {file.guard_path}
+
+#include <string>
+
+#include "components/metrics/structured/project_validator.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
+
+namespace metrics {{
+namespace structured {{
+namespace validator {{
+
+absl::optional<const ProjectValidator*>
+  GetProjectValidator(const std::string& project_name);
+
+}} // namespace validator
+}}  // namespace structured
+}}  // namespace metrics
+
+#endif  // {file.guard_path}\
+"""
+
+IMPL_FILE_TEMPLATE = """\
+// Generated from gen_validator.py. DO NOT EDIT!
+// source: structured.xml
+
+#include "components/metrics/structured/structured_metrics_validator.h"
+
+#include <cstdint>
+#include <string>
+
+#include "base/containers/fixed_flat_map.h"
+#include "base/strings/string_piece.h"
+#include "components/metrics/structured/event_validator.h"
+#include "components/metrics/structured/project_validator.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
+
+namespace metrics {{
+namespace structured {{
+
+namespace {{
+
+//---------------------EventValidator Classes----------------------------------
+{event_code}
+//---------------------EventValidator Declarations------------------------------
+{event_validators}
+//---------------------EventValidator Maps--------------------------------------
+{project_event_maps}
+//---------------------ProjectValidator Classes---------------------------------
+{projects_code}
+//---------------------ProjectValidator Declarations----------------------------
+{project_validators}
+//---------------------ProjectValidator Map-------------------------------------
+{project_map}
+
+}}
+
+namespace validator {{
+
+absl::optional<const ProjectValidator*>
+  GetProjectValidator(const std::string& project_name) {{
+  const auto it = kStructuredMetricsProjectValidatorMap.find(project_name);
+   if (it == kStructuredMetricsProjectValidatorMap.end())
+      return absl::nullopt;
+   return it->second;
+}}
+
+}} // namespace validator
+}}  // namespace structured
+}}  // namespace metrics\
+"""
+
+IMPL_PROJECT_VALIDATOR_TEMPLATE = """\
+class {project.validator} final :
+    public ::metrics::structured::ProjectValidator {{
+  public:
+    {project.validator}();
+    ~{project.validator}() override;
+
+    absl::optional<const EventValidator*> GetEventValidator(
+      const std::string& event_name) override;
+
+    static constexpr uint64_t kProjectNameHash = UINT64_C({project.name_hash});
+}};
+
+{project.validator}::{project.validator}() :
+  ::metrics::structured::ProjectValidator({project.validator}::kProjectNameHash)
+  {{}}
+
+{project.validator}::~{project.validator}() = default;
+
+absl::optional<const EventValidator*> {project.validator}::GetEventValidator(
+                                        const std::string& event_name) {{
+   const auto it = k{project.validator}EventMap.find(event_name);
+   if (it == k{project.validator}EventMap.end())
+      return absl::nullopt;
+   return it->second;
+}}
+"""
+
+IMPL_PROJECT_EVENT_MAP_TEMPLATE = """\
+static constexpr auto k{project.validator}EventMap = base::MakeFixedFlatMap
+  <base::StringPiece, const EventValidator*>({{
+  {event_validator_map}
+}});
+"""
+
+IMPL_PROJECT_MAP_TEMPLATE = """\
+static constexpr auto kStructuredMetricsProjectValidatorMap =
+  base::MakeFixedFlatMap<base::StringPiece, const ProjectValidator*>({{
+    {project_map}
+}});
+"""
+
+IMPL_EVENT_VALIDATOR_TEMPLATE = """\
+class {event.validator_name} final :
+    public ::metrics::structured::EventValidator {{
+  public:
+    {event.validator_name}();
+    ~{event.validator_name}() override;
+
+    static constexpr uint64_t kEventNameHash = UINT64_C({event.name_hash});
+
+    absl::optional<uint64_t> GetMetricHash(const std::string& metric_name)
+        const override;
+}};
+
+{event.validator_name}::{event.validator_name}() :
+  ::metrics::structured::EventValidator({event.validator_name}::kEventNameHash)
+  {{}}
+
+{event.validator_name}::~{event.validator_name}() = default;
+
+absl::optional<uint64_t> {event.validator_name}::GetMetricHash(
+                                        const std::string& metric_name) const {{
+  static constexpr auto metric_hash_map = base::MakeFixedFlatMap<
+      base::StringPiece, uint64_t>({{
+    {metric_hash_map}
+   }});
+   const auto* it = metric_hash_map.find(metric_name);
+   if (it == metric_hash_map.end())
+      return absl::nullopt;
+   return it->second;
+}}
+"""
diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json
index 84b9f24..7ebba1c9 100644
--- a/tools/perf/core/perfetto_binary_roller/binary_deps.json
+++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json
@@ -10,7 +10,7 @@
         },
         "mac": {
             "hash": "0cfe0976cb4f931833b822104d2c212a1e737f65",
-            "remote_path": "perfetto_binaries/trace_processor_shell/mac/3f8fabd85f1c3c15a2a98a40fe71e3eb165fba5e/trace_processor_shell"
+            "remote_path": "perfetto_binaries/trace_processor_shell/mac/b34dc62800c061e62c78039a60b9efd9786ede89/trace_processor_shell"
         },
         "linux_arm64": {
             "hash": "5074025a2898ec41a872e70a5719e417acb0a380",
diff --git a/tools/tracing/flag_utils.py b/tools/tracing/flag_utils.py
index 8d0580e..a5d6e1d6 100644
--- a/tools/tracing/flag_utils.py
+++ b/tools/tracing/flag_utils.py
@@ -117,11 +117,10 @@
                              type='string',
                              default=_DEFAULT_CHROME_CATEGORIES)
   profile_options.add_option(
-      '-s',
-      '--symbolize',
-      help='Symbolizes recorded trace profile, if specified.',
+      '--skip_symbolize',
+      help='Skips symbolization after recording trace profile, if specified.',
       action='store_true',
-      dest='symbolize')
+      dest='skip_symbolize')
   profile_options.add_option('--compress',
                              help='Compress the resulting trace '
                              'with gzip. ',
diff --git a/tools/tracing/profile_chrome_startup b/tools/tracing/profile_chrome_startup
index 7d3a7a89..6107d782 100755
--- a/tools/tracing/profile_chrome_startup
+++ b/tools/tracing/profile_chrome_startup
@@ -71,7 +71,7 @@
           path=os.path.abspath(trace_file)))
 
   # Symbolize Trace
-  if options.symbolize:
+  if not options.skip_symbolize:
     if options.trace_format is None or options.trace_format.lower() != 'proto':
       raise Exception('Symbolization is currently only supported for protos.')
     symbolize_trace.SymbolizeTrace(trace_file=trace_file, options=options)
diff --git a/tools/tracing/symbolize_trace_unittest.py b/tools/tracing/symbolize_trace_unittest.py
index 1fda4b5..5c2c2e5 100755
--- a/tools/tracing/symbolize_trace_unittest.py
+++ b/tools/tracing/symbolize_trace_unittest.py
@@ -21,7 +21,6 @@
 path_util.AddTracingToPath()
 
 import mock
-#from unittest.mock import mock.MagicMock
 
 
 class TestOptions():
@@ -57,7 +56,14 @@
     metadata_extractor.MetadataExtractor = mock.MagicMock()
     breakpad_file_extractor.ExtractBreakpadFiles = mock.MagicMock()
 
+    with tempfile.NamedTemporaryFile(mode='w+',
+                                     delete=False) as test_trace_file:
+      test_trace_file.write('Trace data.')
+      self.trace_file = test_trace_file.name
+
   def tearDown(self):
+    os.remove(self.trace_file)
+
     # Unstash functions.
     symbolize_trace._RunSymbolizer = self.RunSymbolizer
     symbol_fetcher.GetTraceBreakpadSymbols = self.GetTraceBreakpadSymbols
@@ -66,12 +72,7 @@
 
   def testNoLocalOrOutputBreakpadDir(self):
     # Test the case with no breakpad output directory specified.
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
-
-    symbolize_trace.SymbolizeTrace(trace_file, self.options)
+    symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
 
     metadata_extractor.MetadataExtractor.assert_called_once()
     symbol_fetcher.GetTraceBreakpadSymbols.assert_called_once()
@@ -81,24 +82,19 @@
     # Check that symbolized trace file was written correctly.
     self.assertEqual(
         self.options.output_file,
-        os.path.join(os.path.dirname(trace_file),
-                     os.path.basename(trace_file) + '_symbolized_trace'))
+        os.path.join(os.path.dirname(self.trace_file),
+                     os.path.basename(self.trace_file) + '_symbolized_trace'))
     with open(self.options.output_file, 'r') as f:
       symbolized_trace_data = f.read()
       self.assertEqual(symbolized_trace_data, 'Trace data.Symbol data.')
 
     # Remove files.
-    os.remove(trace_file)
     os.remove(self.options.output_file)
 
   def testNoLocalBreakpadDirAndInvalidOutputDir(self):
     self.options.breakpad_output_dir = 'fake/directory'
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
 
-    symbolize_trace.SymbolizeTrace(trace_file, self.options)
+    symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
 
     metadata_extractor.MetadataExtractor.assert_called_once()
     symbol_fetcher.GetTraceBreakpadSymbols.assert_called_once()
@@ -108,25 +104,20 @@
     # Check that symbolized trace file was written correctly.
     self.assertEqual(
         self.options.output_file,
-        os.path.join(os.path.dirname(trace_file),
-                     os.path.basename(trace_file) + '_symbolized_trace'))
+        os.path.join(os.path.dirname(self.trace_file),
+                     os.path.basename(self.trace_file) + '_symbolized_trace'))
     with open(self.options.output_file, 'r') as f:
       symbolized_trace_data = f.read()
       self.assertEqual(symbolized_trace_data, 'Trace data.Symbol data.')
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     os.remove(self.options.output_file)
     shutil.rmtree(self.options.breakpad_output_dir)
 
   def testNoLocalBreakpadDirAndValidOutputDir(self):
     self.options.breakpad_output_dir = tempfile.mkdtemp()
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
 
-    symbolize_trace.SymbolizeTrace(trace_file, self.options)
+    symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
 
     metadata_extractor.MetadataExtractor.assert_called_once()
     symbol_fetcher.GetTraceBreakpadSymbols.assert_called_once()
@@ -136,55 +127,41 @@
     # Check that symbolized trace file was written correctly.
     self.assertEqual(
         self.options.output_file,
-        os.path.join(os.path.dirname(trace_file),
-                     os.path.basename(trace_file) + '_symbolized_trace'))
+        os.path.join(os.path.dirname(self.trace_file),
+                     os.path.basename(self.trace_file) + '_symbolized_trace'))
     with open(self.options.output_file, 'r') as f:
       symbolized_trace_data = f.read()
       self.assertEqual(symbolized_trace_data, 'Trace data.Symbol data.')
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     os.remove(self.options.output_file)
     shutil.rmtree(self.options.breakpad_output_dir)
 
   def testNoLocalBreakpadDirAndNonEmptyBreakpadOutputDir(self):
     self.options.breakpad_output_dir = tempfile.mkdtemp()
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
 
     # Check that exception is thrown for non-empty breakpad output directory.
     exception_msg = 'Breakpad output directory is not empty:'
     with tempfile.NamedTemporaryFile(dir=self.options.breakpad_output_dir):
       with self.assertRaises(Exception) as e:
-        symbolize_trace.SymbolizeTrace(trace_file, self.options)
+        symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
     self.assertIn(exception_msg, str(e.exception))
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     shutil.rmtree(self.options.breakpad_output_dir)
 
   def testInvalidLocalBreakpadDir(self):
     self.options.local_breakpad_dir = 'fake/directory'
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
 
     exception_msg = 'Local breakpad directory is not valid.'
     with self.assertRaises(Exception) as e:
-      symbolize_trace.SymbolizeTrace(trace_file, self.options)
+      symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
     self.assertIn(exception_msg, str(e.exception))
 
   def testValidLocalBreakpadDir(self):
     self.options.local_breakpad_dir = tempfile.mkdtemp()
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
 
-    symbolize_trace.SymbolizeTrace(trace_file, self.options)
+    symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
 
     metadata_extractor.MetadataExtractor.assert_not_called()
     symbol_fetcher.GetTraceBreakpadSymbols.assert_not_called()
@@ -194,25 +171,20 @@
     # Check that symbolized trace file was written correctly.
     self.assertEqual(
         self.options.output_file,
-        os.path.join(os.path.dirname(trace_file),
-                     os.path.basename(trace_file) + '_symbolized_trace'))
+        os.path.join(os.path.dirname(self.trace_file),
+                     os.path.basename(self.trace_file) + '_symbolized_trace'))
     with open(self.options.output_file, 'r') as f:
       symbolized_trace_data = f.read()
       self.assertEqual(symbolized_trace_data, 'Trace data.Symbol data.')
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     os.remove(self.options.output_file)
     shutil.rmtree(self.options.local_breakpad_dir)
 
   def testValidLocalBuildDir(self):
     self.options.local_build_dir = tempfile.mkdtemp()
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
 
-    symbolize_trace.SymbolizeTrace(trace_file, self.options)
+    symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
 
     metadata_extractor.MetadataExtractor.assert_not_called()
     symbol_fetcher.GetTraceBreakpadSymbols.assert_not_called()
@@ -222,26 +194,21 @@
     # Check that symbolized trace file was written correctly.
     self.assertEqual(
         self.options.output_file,
-        os.path.join(os.path.dirname(trace_file),
-                     os.path.basename(trace_file) + '_symbolized_trace'))
+        os.path.join(os.path.dirname(self.trace_file),
+                     os.path.basename(self.trace_file) + '_symbolized_trace'))
     with open(self.options.output_file, 'r') as f:
       symbolized_trace_data = f.read()
       self.assertEqual(symbolized_trace_data, 'Trace data.Symbol data.')
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     os.remove(self.options.output_file)
     shutil.rmtree(self.options.local_build_dir)
 
   def testValidLocalBuildAndBreakpadDir(self):
     self.options.local_build_dir = tempfile.mkdtemp()
     self.options.local_breakpad_dir = tempfile.mkdtemp()
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
 
-    symbolize_trace.SymbolizeTrace(trace_file, self.options)
+    symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
 
     metadata_extractor.MetadataExtractor.assert_not_called()
     symbol_fetcher.GetTraceBreakpadSymbols.assert_not_called()
@@ -251,28 +218,23 @@
     # Check that symbolized trace file was written correctly.
     self.assertEqual(
         self.options.output_file,
-        os.path.join(os.path.dirname(trace_file),
-                     os.path.basename(trace_file) + '_symbolized_trace'))
+        os.path.join(os.path.dirname(self.trace_file),
+                     os.path.basename(self.trace_file) + '_symbolized_trace'))
     with open(self.options.output_file, 'r') as f:
       symbolized_trace_data = f.read()
       self.assertEqual(symbolized_trace_data, 'Trace data.Symbol data.')
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     os.remove(self.options.output_file)
     shutil.rmtree(self.options.local_build_dir)
     shutil.rmtree(self.options.local_breakpad_dir)
 
   def testOutputFileGiven(self):
     self.options.local_breakpad_dir = tempfile.mkdtemp()
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
-      self.options.output_file = os.path.join(os.path.dirname(trace_file),
-                                              'output_file')
+    self.options.output_file = os.path.join(os.path.dirname(self.trace_file),
+                                            'output_file')
 
-    symbolize_trace.SymbolizeTrace(trace_file, self.options)
+    symbolize_trace.SymbolizeTrace(self.trace_file, self.options)
 
     metadata_extractor.MetadataExtractor.assert_not_called()
     symbol_fetcher.GetTraceBreakpadSymbols.assert_not_called()
@@ -280,14 +242,14 @@
     symbolize_trace._RunSymbolizer.assert_called_once()
 
     # Check that symbolized trace file was written correctly.
-    self.assertEqual(self.options.output_file,
-                     os.path.join(os.path.dirname(trace_file), 'output_file'))
+    self.assertEqual(
+        self.options.output_file,
+        os.path.join(os.path.dirname(self.trace_file), 'output_file'))
     with open(self.options.output_file, 'r') as f:
       symbolized_trace_data = f.read()
       self.assertEqual(symbolized_trace_data, 'Trace data.Symbol data.')
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     os.remove(self.options.output_file)
     shutil.rmtree(self.options.local_breakpad_dir)
 
@@ -298,11 +260,8 @@
     # Set up option arguments to run extract breakpad on local build directory.
     self.options.breakpad_output_dir = tempfile.mkdtemp()
     self.options.local_build_dir = tempfile.mkdtemp()
-    trace_file = None
-    with tempfile.NamedTemporaryFile(mode='w+',
-                                     delete=False) as test_trace_file:
-      test_trace_file.write('Trace data.')
-      trace_file = test_trace_file.name
+    trace_file_override = None
+
     dump_syms_dir = tempfile.mkdtemp()
     self.options.dump_syms_path = os.path.join(dump_syms_dir, 'dump_syms')
     with open(self.options.dump_syms_path, 'w') as _:
@@ -316,16 +275,15 @@
 
     # Test when there is no 'lib.unstripped' subdirectory.
     with self.assertRaises(Exception) as e:
-      symbolize_trace.SymbolizeTrace(trace_file, self.options)
+      symbolize_trace.SymbolizeTrace(trace_file_override, self.options)
     self.assertIn(exception_msg, str(e.exception))
 
     # Test when there is a 'lib.unstripped' subdirectory.
     os.mkdir(unstripped_dir)
     with self.assertRaises(Exception):
-      symbolize_trace.SymbolizeTrace(trace_file, self.options)
+      symbolize_trace.SymbolizeTrace(trace_file_override, self.options)
 
     # Remove files and temp directory.
-    os.remove(trace_file)
     shutil.rmtree(self.options.local_build_dir)
     shutil.rmtree(dump_syms_dir)
     shutil.rmtree(self.options.breakpad_output_dir)
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ta.xtb b/ui/chromeos/translations/ui_chromeos_strings_ta.xtb
index dafa90c..50af788 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ta.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ta.xtb
@@ -76,7 +76,7 @@
 <translation id="1661867754829461514">PIN இல்லை</translation>
 <translation id="166439687370499867">பகிர்ந்த நெட்வொர்க் உள்ளமைவுகளை மாற்றுவதற்கு அனுமதியில்லை</translation>
 <translation id="1665611772925418501">கோப்பை மாற்ற முடியவில்லை.</translation>
-<translation id="1673103856845176271">பாதுகாப்பு காரணங்களுக்காக கோப்பை அணுக முடியவில்லை.</translation>
+<translation id="1673103856845176271">பாதுகாப்பு காரணங்களுக்காக ஃபைலை அணுக முடியவில்லை.</translation>
 <translation id="169515659049020177">Shift</translation>
 <translation id="1722487484194605434"><ph name="NUMBER_OF_ITEMS" /> உள்ளடக்கங்களை ஜிப் செய்கிறது...</translation>
 <translation id="1722687688096767818">சுயவிவரத்தைச் சேர்க்கிறது...</translation>
@@ -692,7 +692,7 @@
 <translation id="7170041865419449892">வரம்புக்கு வெளியே</translation>
 <translation id="7180611975245234373">புதுப்பி</translation>
 <translation id="7189874332498648577"><ph name="NUMBER_OF_GB" /> ஜி.பை.</translation>
-<translation id="7191454237977785534">கோப்பை இவ்வாறு சேமி </translation>
+<translation id="7191454237977785534">ஃபைலை இவ்வாறு சேமி </translation>
 <translation id="7229570126336867161">EVDO தேவை</translation>
 <translation id="7238097264433196391">இயக்ககத்தின் பெயர்</translation>
 <translation id="7238643356913091553"><ph name="NETWORK_NAME" />, விவரங்கள்</translation>
@@ -754,7 +754,7 @@
 <translation id="7760449188139285140">சீனம் (உபி)</translation>
 <translation id="7765158879357617694">நகர்த்து</translation>
 <translation id="7774365994322694683">பறவை</translation>
-<translation id="7788080748068240085">"<ph name="FILE_NAME" />" கோப்பை ஆஃப்லைனில் சேமிக்க, கூடுதலாக <ph name="TOTAL_FILE_SIZE" /> இடத்தைக் காலியாக்க வேண்டும்:<ph name="MARKUP_1" />
+<translation id="7788080748068240085">"<ph name="FILE_NAME" />" ஃபைலை ஆஃப்லைனில் சேமிக்க, கூடுதலாக <ph name="TOTAL_FILE_SIZE" /> இடத்தைக் காலியாக்க வேண்டும்:<ph name="MARKUP_1" />
         <ph name="MARKUP_2" />ஆஃப்லைனில் இனி அணுகத் தேவையற்ற கோப்புகளை அகற்றவும்<ph name="MARKUP_3" />
         <ph name="MARKUP_4" />பதிவிறக்கக் கோப்புறையிலிருந்து கோப்புகளை நீக்கவும்<ph name="MARKUP_5" /></translation>
 <translation id="7794058097940213561">சாதனத்தை வடிவமை</translation>
diff --git a/ui/file_manager/file_manager/foreground/js/BUILD.gn b/ui/file_manager/file_manager/foreground/js/BUILD.gn
index 6070559..d244f1c 100644
--- a/ui/file_manager/file_manager/foreground/js/BUILD.gn
+++ b/ui/file_manager/file_manager/foreground/js/BUILD.gn
@@ -211,6 +211,7 @@
     ":mock_directory_model",
     "//chrome/test/data/webui:chai_assert",
     "//ui/file_manager/file_manager/common/js:mock_chrome",
+    "//ui/file_manager/file_manager/common/js:test_error_reporting",
     "//ui/file_manager/file_manager/common/js:volume_manager_types",
     "//ui/file_manager/file_manager/common/js:xfm",
     "//ui/file_manager/file_manager/externs:banner",
diff --git a/ui/file_manager/file_manager/foreground/js/banner_controller.js b/ui/file_manager/file_manager/foreground/js/banner_controller.js
index e02836b4..ac34c6a1 100644
--- a/ui/file_manager/file_manager/foreground/js/banner_controller.js
+++ b/ui/file_manager/file_manager/foreground/js/banner_controller.js
@@ -62,9 +62,12 @@
      */
     this.currentVolume_ = null;
 
-    xfm.storage.onChanged.addListener(this.onStorageChanged_.bind(this));
     this.directoryModel_ = directoryModel;
     this.container_ = document.querySelector('#banners');
+
+    xfm.storage.onChanged.addListener(this.onStorageChanged_.bind(this));
+    this.directoryModel_.addEventListener(
+        'directory-changed', this.onDirectoryChanged_.bind(this));
   }
 
   /**
@@ -98,7 +101,6 @@
         this.localStorageCache_[key] = storedValue;
       }
     }
-    await this.reconcile();
   }
 
   /**
@@ -234,6 +236,16 @@
   }
 
   /**
+   * Invoked when a directory has been changed, used to update the local cache
+   * and reconcile the current banners being shown.
+   * @param {Event} event The directory-changed event.
+   * @private
+   */
+  async onDirectoryChanged_(event) {
+    await this.reconcile();
+  }
+
+  /**
    * Listens for localStorage changes to ensure instance cache is in sync.
    * @param {!Object<string, !StorageChange>} changes Changes that occurred.
    * @param {string} areaName One of "sync"|"local"|"managed".
diff --git a/ui/file_manager/file_manager/foreground/js/banner_controller_unittest.m.js b/ui/file_manager/file_manager/foreground/js/banner_controller_unittest.m.js
index 9a96b04..0d4dc28 100644
--- a/ui/file_manager/file_manager/foreground/js/banner_controller_unittest.m.js
+++ b/ui/file_manager/file_manager/foreground/js/banner_controller_unittest.m.js
@@ -2,9 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {assertEquals, assertNotEquals} from 'chrome://test/chai_assert.js';
+import {assertEquals} from 'chrome://test/chai_assert.js';
 
 import {MockChromeStorageAPI} from '../../common/js/mock_chrome.js';
+import {waitUntil} from '../../common/js/test_error_reporting.js';
 import {VolumeManagerCommon} from '../../common/js/volume_manager_types.js';
 import {xfm} from '../../common/js/xfm.js';
 import {Banner} from '../../externs/banner.js';
@@ -115,40 +116,57 @@
 }
 
 /**
- * Asserts that a banner is attached and not hidden in the bannerContainer.
- * @param {!TestBanner} banner The banner to assert is visible.
+ * Helper method to use with waitUntil to assert that only one banner is
+ * visible.
+ * @param {!TestBanner} banner The banner to check banner is visible.
+ * @returns {function(): boolean}
  */
-function assertBannerVisible(banner) {
-  const visibleBanner = document.querySelector(banner.tagName);
-  assertNotEquals(visibleBanner.getAttribute('hidden'), 'true');
-  assertNotEquals(visibleBanner.getAttribute('aria-hidden'), 'true');
+function isBannerVisible(banner) {
+  return function() {
+    const visibleBanner = document.querySelector(banner.tagName);
 
-  // Verify if any other banners have been appended to the DOM, they are
-  // hidden.
-  for (const element of bannerContainer.children) {
-    if (element !== visibleBanner) {
-      assertEquals(element.getAttribute('hidden'), 'true');
-      assertEquals(element.getAttribute('aria-hidden'), 'true');
+    if (!visibleBanner) {
+      return false;
     }
-  }
+
+    if (visibleBanner.getAttribute('hidden') === 'true' ||
+        visibleBanner.getAttribute('aria-hidden') === 'true') {
+      return false;
+    }
+
+    for (const element of bannerContainer.children) {
+      if (element === visibleBanner) {
+        continue;
+      }
+      if (element.getAttribute('hidden') !== 'true' ||
+          element.getAttribute('hidden') !== 'true') {
+        return false;
+      }
+    }
+    return true;
+  };
 }
 
 /**
- * Asserts that all banners on the DOM are hidden.
+ * Helper method to use with waitUntil to assert that all banners are hidden.
+ * @returns {boolean}
  */
-function assertNoVisibleBanners() {
+function isAllBannersHidden() {
   for (const element of bannerContainer.children) {
-    assertEquals(element.getAttribute('hidden'), 'true');
-    assertEquals(element.getAttribute('aria-hidden'), 'true');
+    if (element.getAttribute('hidden') !== 'true' ||
+        element.getAttribute('hidden') !== 'true') {
+      return false;
+    }
   }
+  return true;
 }
 
 /**
  * Changes the global directory to |newVolume|.
  * @param {?VolumeManagerCommon.VolumeType} volumeType
- * @param {?string} volumeId
+ * @param {?string=} volumeId
  */
-function changeCurrentVolume(volumeType, volumeId) {
+function changeCurrentVolume(volumeType, volumeId = null) {
   directoryModel.getCurrentVolumeInfo = function() {
     // Certain directory roots return null (USB drive root).
     if (!volumeType) {
@@ -159,6 +177,8 @@
       volumeId,
     });
   };
+
+  directoryModel.dispatchEvent(new Event('directory-changed'));
 }
 
 export function setUpPage() {
@@ -179,13 +199,11 @@
   assertEquals(bannerContainer.childElementCount, 0);
 
   new MockChromeStorageAPI();
-  xfm.storage.local.clear();
   directoryModel = createFakeDirectoryModel();
   controller = new BannerController(directoryModel);
 
-  // Set the default navigated directory to DOWNLOADS.
-  changeCurrentVolume(
-      VolumeManagerCommon.VolumeType.DOWNLOADS, /* volumeId */ null);
+  // Ensure localStorage is cleared between each test.
+  xfm.storage.local.clear();
 }
 
 export function tearDown() {
@@ -219,7 +237,8 @@
   testEducationalBanners[0].setAllowedVolumeTypes([downloadsAllowedVolumeType]);
 
   await controller.initialize();
-  assertBannerVisible(testWarningBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testWarningBanners[0]));
 }
 
 /**
@@ -235,7 +254,8 @@
   testEducationalBanners[0].setAllowedVolumeTypes([downloadsAllowedVolumeType]);
 
   await controller.initialize();
-  assertBannerVisible(testEducationalBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testEducationalBanners[0]));
 }
 
 /**
@@ -252,7 +272,8 @@
   testWarningBanners[1].setAllowedVolumeTypes([downloadsAllowedVolumeType]);
 
   await controller.initialize();
-  assertBannerVisible(testWarningBanners[1]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testWarningBanners[1]));
 }
 
 /**
@@ -277,19 +298,18 @@
 
   // Verify for Downloads the first banner shows.
   await controller.initialize();
-  assertBannerVisible(testWarningBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testWarningBanners[0]));
 
   // Change volume to Drives and verify the second warning banner is showing.
   changeCurrentVolume(
       VolumeManagerCommon.VolumeType.DRIVE, /* volumeId */ null);
   await controller.reconcile();
-  assertBannerVisible(testWarningBanners[1]);
+  await waitUntil(isBannerVisible(testWarningBanners[1]));
 
   // Change volume to Android files and verify the educational banner is shown.
-  changeCurrentVolume(
-      VolumeManagerCommon.VolumeType.ANDROID_FILES, /* volumeId */ null);
-  await controller.reconcile();
-  assertBannerVisible(testEducationalBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.ANDROID_FILES);
+  await waitUntil(isBannerVisible(testEducationalBanners[0]));
 }
 
 /**
@@ -301,12 +321,12 @@
 
   // Verify for Downloads the warning banner is shown.
   await controller.initialize();
-  assertBannerVisible(testWarningBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testWarningBanners[0]));
 
   // Change current volume to a null volume type and assert no banner is shown.
-  changeCurrentVolume(/* volumeType */ null, /* volumeId */ null);
-  await controller.reconcile();
-  assertNoVisibleBanners();
+  changeCurrentVolume(/* volumeType */ null);
+  await waitUntil(isAllBannersHidden);
 }
 
 /**
@@ -327,7 +347,8 @@
 
   // The first reconciliation should increment the counter and append to DOM.
   await controller.initialize();
-  assertBannerVisible(testEducationalBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testEducationalBanners[0]));
 
   // Clearing the DOM should imitate a new Files app session.
   bannerContainer.textContent = '';
@@ -335,7 +356,7 @@
 
   // After a new Files app session has started, the previous counter has
   // exceeded it's show limit, assert the next priority banner is shown.
-  assertBannerVisible(testEducationalBanners[1]);
+  await waitUntil(isBannerVisible(testEducationalBanners[1]));
 }
 
 /**
@@ -350,20 +371,20 @@
   testEducationalBanners[0].setShowLimit(bannerShowLimit);
 
   await controller.initialize();
-  assertBannerVisible(testEducationalBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testEducationalBanners[0]));
 
   // Change directory one more times than the show limit to verify the show
   // limit doesn't increase.
   for (let i = 0; i < bannerShowLimit + 1; i++) {
     // Change directory and verify no banner shown.
-    changeCurrentVolume(VolumeManagerCommon.VolumeType.DRIVE, null);
+    changeCurrentVolume(VolumeManagerCommon.VolumeType.DRIVE);
     await controller.reconcile();
-    assertNoVisibleBanners();
+    await waitUntil(isAllBannersHidden);
 
     // Change back to DOWNLOADS and verify banner has been shown.
-    changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS, null);
-    await controller.reconcile();
-    assertBannerVisible(testEducationalBanners[0]);
+    changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+    await waitUntil(isBannerVisible(testEducationalBanners[0]));
   }
 }
 
@@ -389,30 +410,27 @@
 
   // The first reconciliation should increment the counter and append to DOM.
   await controller.initialize();
-  assertBannerVisible(testEducationalBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testEducationalBanners[0]));
 
   // Change the directory to Drive.
-  changeCurrentVolume(VolumeManagerCommon.VolumeType.DRIVE, null);
-  await controller.reconcile();
-  assertBannerVisible(testWarningBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DRIVE);
+  await waitUntil(isBannerVisible(testWarningBanners[0]));
 
   // Start a new Files app session (clearing the container emulates this).
   // Change the directory back Downloads.
   bannerContainer.textContent = '';
-  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS, null);
-  await controller.reconcile();
-  assertBannerVisible(testEducationalBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isBannerVisible(testEducationalBanners[0]));
 
   // Change back to Drive, warning banner should still be showing.
-  changeCurrentVolume(VolumeManagerCommon.VolumeType.DRIVE, null);
-  await controller.reconcile();
-  assertBannerVisible(testWarningBanners[0]);
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DRIVE);
+  await waitUntil(isBannerVisible(testWarningBanners[0]));
 
   // Emulate starting a new Files app session and change back to Downloads
   // volume. This time the educational banner should no longer be showing as it
   // has exceeded it's show limit.
   bannerContainer.textContent = '';
-  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS, null);
-  await controller.reconcile();
-  assertNoVisibleBanners();
+  changeCurrentVolume(VolumeManagerCommon.VolumeType.DOWNLOADS);
+  await waitUntil(isAllBannersHidden);
 }
diff --git a/ui/views/animation/animation_builder.cc b/ui/views/animation/animation_builder.cc
index 829201b14..6c496cb 100644
--- a/ui/views/animation/animation_builder.cc
+++ b/ui/views/animation/animation_builder.cc
@@ -27,7 +27,7 @@
   Observer() = default;
   Observer(const Observer&) = delete;
   Observer& operator=(const Observer&) = delete;
-  ~Observer() override;
+  ~Observer() override = default;
 
   void SetOnStarted(base::OnceClosure callback);
   void SetOnEnded(base::OnceClosure callback);
@@ -44,8 +44,6 @@
   void OnLayerAnimationScheduled(ui::LayerAnimationSequence* sequence) override;
 
  private:
-  void Reset();
-
   base::OnceClosure on_started_;
   base::OnceClosure on_ended_;
   base::RepeatingClosure on_will_repeat_;
@@ -53,10 +51,6 @@
   base::OnceClosure on_scheduled_;
 };
 
-AnimationBuilder::Observer::~Observer() {
-  Reset();
-}
-
 void AnimationBuilder::Observer::SetOnStarted(base::OnceClosure callback) {
   DCHECK(!on_started_);
   on_started_ = std::move(callback);
@@ -122,12 +116,6 @@
     std::move(on_scheduled_).Run();
 }
 
-void AnimationBuilder::Observer::Reset() {
-  auto& sequences = attached_sequences();
-  while (!sequences.empty())
-    (*sequences.begin())->RemoveObserver(this);
-}
-
 AnimationBuilder::AnimationBuilder() = default;
 
 AnimationBuilder::~AnimationBuilder() {
diff --git a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/FullscreenSizeTest.java b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/FullscreenSizeTest.java
index 0d997bc9..ffb7ca6 100644
--- a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/FullscreenSizeTest.java
+++ b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/FullscreenSizeTest.java
@@ -6,6 +6,7 @@
 
 import android.app.Activity;
 import android.content.res.Configuration;
+import android.os.Build.VERSION_CODES;
 import android.view.inputmethod.InputMethodManager;
 
 import androidx.test.filters.SmallTest;
@@ -18,6 +19,7 @@
 
 import org.chromium.base.test.util.Criteria;
 import org.chromium.base.test.util.CriteriaHelper;
+import org.chromium.base.test.util.DisableIf;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 import org.chromium.weblayer.shell.InstrumentationActivity;
 
@@ -35,6 +37,8 @@
 
     @Test
     @SmallTest
+    @DisableIf.Build(sdk_is_greater_than = VERSION_CODES.N, sdk_is_less_than = VERSION_CODES.P,
+        message = "https://crbug.com/1239002")
     public void testOsk() {
         // For this test to function, it *cannot* use {@link TestFullscreenCallback}, as that
         // overrides the fullscreen handling in {@link InstrumentationActivity}.