diff --git a/DEPS b/DEPS
index 6db5c18..d5a74d55 100644
--- a/DEPS
+++ b/DEPS
@@ -197,7 +197,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': '753e7983e04e845fec400fb3876116fe545f3fe5',
+  'skia_revision': '9496fe5bcec9438958073ed8959627d20eaf8532',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
@@ -209,7 +209,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': '353770e13361f893f63cd1567db48417d65c267e',
+  'angle_revision': '46107d3ece07f5cd1946b1013f69c110c0229a93',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -264,7 +264,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': '0c019226a9587299ff1f1b233aebbd06d7eda7bb',
+  'catapult_revision': '2ed6fc040fdce14fa59d3ac4be168b05bcc6b179',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -272,7 +272,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': '20cc9eb2a7f5203097f688f7b42bca9accfa6e94',
+  'devtools_frontend_revision': 'd0b25f6e314a3a91b43c98898afca90826863442',
   # 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.
@@ -320,7 +320,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'shaderc_revision': '88f9156d7f6a2a30baed1ace196faa3bc5eccc05',
+  'shaderc_revision': '46ea32f58c63aabc794ba69c219d0d920212b620',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -328,7 +328,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'quiche_revision': '2228002b0f2da9414048152533cbac310a354e3e',
+  'quiche_revision': 'a1fb8becdf2da367a2df4b259e3df298e898041d',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ios_webkit
   # and whatever else without interference from each other.
@@ -907,7 +907,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '5589652282f5255cdfb36e86ea098c781557c580',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '2f8e0fa49d955d9c8f5addaf8ff1b88def004e2e',
 
   'src/third_party/devtools-frontend/src':
     Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
@@ -1262,7 +1262,7 @@
     Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3dd5b80bc4f172dd82925bb259cb7c82348409c5',
 
   'src/third_party/openscreen/src':
-    Var('chromium_git') + '/openscreen' + '@' + '71d32ad4b83a339f42fd2c2c26758f5c9d5978f5',
+    Var('chromium_git') + '/openscreen' + '@' + '01490a48c0c69e0d30e283d881b4e53b339b2c80',
 
   'src/third_party/openxr/src': {
     'url': Var('chromium_git') + '/external/github.com/KhronosGroup/OpenXR-SDK' + '@' + '97cfe495bb7a3853266b646d1c79e169387f9c7a',
@@ -1327,7 +1327,7 @@
               'version': 'b1b61a39e3ab0935cd030f27e01740578b04b967'
           },
       ],
-      'condition': 'host_os == "linux" and (checkout_fuchsia and checkout_fuchsia_for_arm64_host)',
+      'condition': 'host_os == "linux" and checkout_fuchsia and checkout_fuchsia_for_arm64_host',
       'dep_type': 'cipd',
   },
 
@@ -1375,7 +1375,18 @@
       'dep_type': 'cipd',
   },
 
-  'src/third_party/zstd': {
+  'src/third_party/zstd-linux-arm64': {
+      'packages': [
+          {
+              'package': 'fuchsia/third_party/zstd/linux-arm64',
+              'version': '3_wH3L3VWelJ8aIDSabZ0P9oMqHrKnuVUyXVBvjaE9UC'
+          },
+      ],
+      'condition': 'host_os == "linux" and checkout_fuchsia and checkout_fuchsia_for_arm64_host',
+      'dep_type': 'cipd',
+  },
+
+  'src/third_party/zstd-linux-x64': {
       'packages': [
           {
               'package': 'fuchsia/third_party/zstd/linux-amd64',
@@ -1600,7 +1611,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@d8f42ea938ea558d8a1a5a4bd169d7cd0eebbee6',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@ae6ae76845bc23cde695a1d64023095f1267acf1',
     'condition': 'checkout_src_internal',
   },
 
@@ -1791,7 +1802,7 @@
       'packages': [
           {
               'package': 'chromium/third_party/android_deps/libs/androidx_appcompat_appcompat_resources',
-              'version': 'version:1.2.0-beta01-cr0',
+              'version': 'version:1.2.0-cr0',
           },
       ],
       'condition': 'checkout_android',
@@ -2154,7 +2165,7 @@
       'packages': [
           {
               'package': 'chromium/third_party/android_deps/libs/androidx_media_media',
-              'version': 'version:1.0.0-cr0',
+              'version': 'version:1.2.0-cr0',
           },
       ],
       'condition': 'checkout_android',
@@ -2165,7 +2176,7 @@
       'packages': [
           {
               'package': 'chromium/third_party/android_deps/libs/androidx_mediarouter_mediarouter',
-              'version': 'version:1.0.0-cr0',
+              'version': 'version:1.3.0-SNAPSHOT-cr0',
           },
       ],
       'condition': 'checkout_android',
diff --git a/WATCHLISTS b/WATCHLISTS
index fdfc949..5f8cbc8 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -2391,8 +2391,7 @@
     'chromeos_geolocation': ['alemate+watch@chromium.org'],
     'chromeos_lkgm': ['achuith+watch@chromium.org',
                       'bpastene+watch@chromium.org'],
-    'chromeos_login': ['achuith+watch@chromium.org',
-                       'alemate+watch@chromium.org',
+    'chromeos_login': ['alemate+watch@chromium.org',
                        'rsorokin+watch@chromium.org',
                        'tbarzic+watch@chromium.org'],
     'chromeos_media_app': ['cros-essential-apps-dev+watch@chromium.org'],
diff --git a/android_webview/browser/network_service/aw_url_loader_throttle.cc b/android_webview/browser/network_service/aw_url_loader_throttle.cc
index 5525e8e..69c41b8 100644
--- a/android_webview/browser/network_service/aw_url_loader_throttle.cc
+++ b/android_webview/browser/network_service/aw_url_loader_throttle.cc
@@ -7,7 +7,6 @@
 #include "android_webview/browser/aw_resource_context.h"
 #include "android_webview/common/aw_features.h"
 #include "base/feature_list.h"
-#include "base/metrics/histogram_macros.h"
 #include "base/strings/string_util.h"
 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
 #include "net/http/http_request_headers.h"
@@ -16,24 +15,6 @@
 
 namespace android_webview {
 
-namespace {
-
-// These values are logged to UMA. Entries should not be renumbered and
-// numeric values should never be reused. Please keep in sync with
-// "WebViewExtraHeadersRedirect" in src/tools/metrics/histograms/enums.xml.
-enum class ExtraHeadersRedirect {
-  kSameOrigin = 0,
-  kSameDomain = 1,
-  kCrossDomain = 2,
-  kMaxValue = kCrossDomain
-};
-
-void RecordExtraHeadersRedirectUMA(ExtraHeadersRedirect value) {
-  UMA_HISTOGRAM_ENUMERATION("Android.WebView.ExtraHeadersRedirect", value);
-}
-
-}  // namespace
-
 AwURLLoaderThrottle::AwURLLoaderThrottle(AwResourceContext* aw_resource_context)
     : aw_resource_context_(aw_resource_context) {}
 
@@ -56,8 +37,6 @@
     net::HttpRequestHeaders* modified_cors_exempt_request_headers) {
   bool same_origin_only = base::FeatureList::IsEnabled(
       features::kWebViewExtraHeadersSameOriginOnly);
-  bool same_domain_only = base::FeatureList::IsEnabled(
-      features::kWebViewExtraHeadersSameDomainOnly);
 
   if (!added_headers_.empty()) {
     bool is_same_origin =
@@ -66,16 +45,7 @@
         redirect_info->new_url, original_origin_,
         net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
 
-    if (is_same_origin) {
-      RecordExtraHeadersRedirectUMA(ExtraHeadersRedirect::kSameOrigin);
-    } else if (is_same_domain) {
-      RecordExtraHeadersRedirectUMA(ExtraHeadersRedirect::kSameDomain);
-    } else {
-      RecordExtraHeadersRedirectUMA(ExtraHeadersRedirect::kCrossDomain);
-    }
-
-    if ((same_origin_only && !is_same_origin) ||
-        (same_domain_only && !is_same_domain)) {
+    if ((same_origin_only && !is_same_origin) || !is_same_domain) {
       // The headers we added must be removed.
       to_be_removed_request_headers->insert(
           to_be_removed_request_headers->end(),
@@ -84,13 +54,6 @@
       added_headers_.clear();
     }
   }
-
-  if (!same_origin_only && !same_domain_only) {
-    // The original behaviour added more headers if the redirect target had
-    // previously been loaded with extra headers; this is weird/surprising, so
-    // it's skipped when either feature is enabled.
-    AddExtraHeadersIfNeeded(redirect_info->new_url, modified_request_headers);
-  }
 }
 
 void AwURLLoaderThrottle::AddExtraHeadersIfNeeded(
diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc
index 922a5ed..612776d 100644
--- a/android_webview/common/aw_features.cc
+++ b/android_webview/common/aw_features.cc
@@ -28,13 +28,6 @@
 const base::Feature kWebViewDisplayCutout{"WebViewDisplayCutout",
                                           base::FEATURE_DISABLED_BY_DEFAULT};
 
-// Only allow extra headers added via loadUrl() to be sent to the original
-// domain (eTLD+1); strip them from the request if a cross-domain redirect
-// occurs. kWebViewExtraHeadersSameOriginOnly is stricter; when that's enabled,
-// this feature has no effect.
-const base::Feature kWebViewExtraHeadersSameDomainOnly{
-    "WebViewExtraHeadersSameDomainOnly", base::FEATURE_ENABLED_BY_DEFAULT};
-
 // When enabled, passive mixed content (Audio/Video/Image subresources loaded
 // over HTTP on HTTPS sites) will be autoupgraded to HTTPS, and the load will be
 // blocked if the resource fails to load over HTTPS. This only affects apps that
@@ -46,7 +39,6 @@
 
 // Only allow extra headers added via loadUrl() to be sent to the original
 // origin; strip them from the request if a cross-origin redirect occurs.
-// When this is enabled, kWebViewExtraHeadersSameDomainOnly has no effect.
 const base::Feature kWebViewExtraHeadersSameOriginOnly{
     "WebViewExtraHeadersSameOriginOnly", base::FEATURE_DISABLED_BY_DEFAULT};
 
diff --git a/android_webview/common/aw_features.h b/android_webview/common/aw_features.h
index 87662d1..5be03c2 100644
--- a/android_webview/common/aw_features.h
+++ b/android_webview/common/aw_features.h
@@ -18,7 +18,6 @@
 extern const base::Feature kWebViewConnectionlessSafeBrowsing;
 extern const base::Feature kWebViewCpuAffinityRestrictToLittleCores;
 extern const base::Feature kWebViewDisplayCutout;
-extern const base::Feature kWebViewExtraHeadersSameDomainOnly;
 extern const base::Feature kWebViewExtraHeadersSameOriginOnly;
 extern const base::Feature kWebViewMeasureScreenCoverage;
 extern const base::Feature kWebViewMixedContentAutoupgrades;
diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
index fb487bf..fc274c1 100644
--- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
+++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
@@ -86,10 +86,6 @@
             Flag.baseFeature(AwFeatures.WEBVIEW_EXTRA_HEADERS_SAME_ORIGIN_ONLY,
                     "Only allow extra headers added via loadUrl() to be sent to the same origin "
                             + "as the original request."),
-            Flag.baseFeature(AwFeatures.WEBVIEW_EXTRA_HEADERS_SAME_DOMAIN_ONLY,
-                    "Only allow extra headers added via loadUrl() to be sent to the same domain "
-                            + "(eTLD+1) as the original request. Has no effect when the "
-                            + "stricter same-origin feature is enabled."),
             Flag.baseFeature(AwFeatures.WEBVIEW_MEASURE_SCREEN_COVERAGE,
                     "Measure the number of pixels occupied by one or more WebViews as a proportion "
                             + "of the total screen size. Depending on the number of WebViews and "
diff --git a/ash/strings/ash_strings_af.xtb b/ash/strings/ash_strings_af.xtb
index 1180411f..0c07dc4 100644
--- a/ash/strings/ash_strings_af.xtb
+++ b/ash/strings/ash_strings_af.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Aandbeligting</translation>
 <translation id="2727175239389218057">Antwoord</translation>
 <translation id="2727977024730340865">By 'n laekrag-laaier ingeprop. Laai van battery is dalk nie betroubaar nie.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> bestuur deur <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt+Search</translation>
 <translation id="2819276065543622893">Jy sal nou afgemeld word.</translation>
 <translation id="28232023175184696">Kan nie aan die internet koppel nie. Klik om weer te probeer.</translation>
@@ -564,6 +565,7 @@
 <translation id="6297287540776456956">Gebruik die stilus om 'n area te kies</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> is na <ph name="ROTATION" /> gedraai</translation>
 <translation id="6315170314923504164">Stem</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> is 'n bestuurde sessie wat deur <ph name="MANAGER" /> bestuur word</translation>
 <translation id="6376931439017688372">Bluetooth is aan</translation>
 <translation id="6381109794406942707">Voer jou PIN in om die toestel te ontsluit.</translation>
 <translation id="639644700271529076">HOOFLETTERSLOT is af</translation>
diff --git a/ash/strings/ash_strings_as.xtb b/ash/strings/ash_strings_as.xtb
index df1caed..68dabcd5 100644
--- a/ash/strings/ash_strings_as.xtb
+++ b/ash/strings/ash_strings_as.xtb
@@ -326,6 +326,7 @@
 <translation id="4112140312785995938">পিছলৈ যাওক</translation>
 <translation id="4114315158543974537">ফ’ন হাব অন কৰক</translation>
 <translation id="4121728057981832179">এটা ভাৰ্ছুৱেল মেচিনে আপোনাৰ মাইক্ৰ’ফ’ন ব্যৱহাৰ কৰি আছে</translation>
+<translation id="4126167871198063089">কথা ক’বলৈ বাছনি কৰক সুবিধাটোৰ পৰা বাহিৰ হওক</translation>
 <translation id="4129129681837227511">আপোনাৰ লক স্ক্রীণত জাননীসমূহ চাবলৈ ছেটিংটো সলনি কৰিবলৈ আনলক কৰক</translation>
 <translation id="4146833061457621061">সংগীত প্লে’ কৰক</translation>
 <translation id="415719264485676252">স্ক্ৰীন কেপচাৰ কৰাৰ সুবিধাটো অৱৰোধ কৰা হৈছে</translation>
@@ -385,6 +386,7 @@
 <translation id="4565377596337484307">পাছৱৰ্ড লুকুৱাওক</translation>
 <translation id="4570957409596482333">কথা ক’বলৈ বাছনি কৰক বুটাম</translation>
 <translation id="4577274620589681794">সময় শেষ হ’ল · <ph name="LABEL" /></translation>
+<translation id="4577990005084629481">পূৰ্বদৰ্শন দেখুৱাওক</translation>
 <translation id="4585337515783392668">কোনো অজ্ঞাত প্ৰাপকলৈ কাষ্ট কৰাটো বন্ধ কৰক</translation>
 <translation id="4596144739579517758">গাঢ় ৰঙৰ ম’ড অফ আছে</translation>
 <translation id="4623167406982293031">একাউণ্টটোৰ সত্যাপন কৰক</translation>
@@ -432,11 +434,13 @@
 <translation id="4961318399572185831">স্ক্রীণ কাষ্ট কৰক</translation>
 <translation id="4969092041573468113"><ph name="HOURS" /> ঘ <ph name="MINUTES" /> মি <ph name="SECONDS" /> ছে</translation>
 <translation id="4975771730019223894">এপত বেজ লগোৱা</translation>
+<translation id="5003993274120026347">পৰৱৰ্তী বাক্য</translation>
 <translation id="5019169674188023236">আপোনাৰ <ph name="DEVICE_TYPE" />ত আপোনাৰ ব্লুটুথ অথবা ৱাই-ফাই অফ কৰা হৈছে যেন লাগিছে। ফ’ন হাব ব্যৱহাৰ কৰিবলৈ অনুগ্ৰহ কৰি আপোনাৰ ইণ্টাৰনেটৰ সংযোগ পৰীক্ষা কৰক।</translation>
 <translation id="5030687792513154421">সময় সীমা উকলিল</translation>
 <translation id="5033299697334913360">পূৰ্ণ স্ক্ৰীন কেপচাৰ কৰিবলৈ যিকোনো ঠাইতে ক্লিক কৰক</translation>
 <translation id="5035236842988137213"><ph name="DEVICE_NAME" />ক এটা নতুন ডিভাইচত সংযোগ কৰা হ'ল</translation>
 <translation id="5035389544768382859">ডিছপ্লে’ৰ কনফিগাৰেশ্বন নিশ্চিত কৰক</translation>
+<translation id="504465286040788597">পূৰ্বৱৰ্তী দফা</translation>
 <translation id="5078796286268621944">ভুল পিন</translation>
 <translation id="5083553833479578423">Assistantৰ অন্যান্য সুবিধাসমূহ ব্যৱহাৰ কৰক।</translation>
 <translation id="5136175204352732067">বিভিন্ন কীব’র্ড সংযোগ কৰা হৈছে</translation>
@@ -478,6 +482,7 @@
 <translation id="554893713779400387">শ্ৰুতলিপি দিয়া বুটামটো টগ'ল কৰক</translation>
 <translation id="556042886152191864">বুটাম</translation>
 <translation id="5571066253365925590">ব্লুটুথ সক্ষম কৰা হ'ল</translation>
+<translation id="557563299383177668">পৰৱৰ্তী দফা</translation>
 <translation id="55808498489107691">আপোনাৰ স্ক্ৰীনত থকা সমলৰ কাৰণে আপোনাৰ প্ৰশাসকে স্ক্ৰীন কেপচাৰ কৰাটো অৱৰোধ কৰিছে।</translation>
 <translation id="558849140439112033">কেপচাৰ কৰিবৰ বাবে এটা অংশ বাছনি কৰিবলৈ টানি আনি এৰক</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
@@ -732,6 +737,7 @@
 <translation id="8029247720646289474">হটস্পটৰ সৈতে সংযোগ কৰিব পৰা নগ’ল</translation>
 <translation id="8029629653277878342">অধিক সুৰক্ষাৰ বাবে পিন অথবা পাছৱর্ডৰ আৱশ্যক</translation>
 <translation id="8030169304546394654">সংযোগ বিচ্ছিন্ন কৰা হ'ল</translation>
+<translation id="8036504271468642248">পূৰ্বৱৰ্তী বাক্য</translation>
 <translation id="8042893070933512245">সাধ্য সুবিধাৰ ছেটিংসমূহৰ মেনু খোলক</translation>
 <translation id="8048123526339889627">ব্লুটুথৰ ছেটিংসমূহ</translation>
 <translation id="8054466585765276473">বেটাৰিৰ বাকী থকা সময় গণনা কৰি থকা হৈছে</translation>
@@ -873,6 +879,7 @@
 <translation id="921989828232331238">আপোনাৰ অভিভাৱকে আপোনাৰ ডিভাইচটো দিনটোৰ বাবে লক কৰিছে</translation>
 <translation id="9220525904950070496">একাউণ্ট আঁতৰাওক</translation>
 <translation id="923686485342484400">ছাইন আউট কৰিবলৈ Control Shift Q দুবাৰ টিপক।</translation>
+<translation id="925832987464884575">পূৰ্বদৰ্শন লুকুৱাওক</translation>
 <translation id="938963181863597773">আপোনাৰ কেলেণ্ডাৰত কি আছে?</translation>
 <translation id="945522503751344254">মতামত পঠিয়াওক</translation>
 <translation id="98515147261107953">লেণ্ডস্কেইপ</translation>
diff --git a/ash/strings/ash_strings_bs.xtb b/ash/strings/ash_strings_bs.xtb
index 3e80e6c..5cd5225 100644
--- a/ash/strings/ash_strings_bs.xtb
+++ b/ash/strings/ash_strings_bs.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Noćno svjetlo</translation>
 <translation id="2727175239389218057">Odgovori</translation>
 <translation id="2727977024730340865">Priključeno na niskonaponski punjač. Punjenje baterije može biti nepouzdano.</translation>
+<translation id="2778650143428714839">Uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + tipka za pretraživanje</translation>
 <translation id="2819276065543622893">Sada ćete se odjaviti.</translation>
 <translation id="28232023175184696">Nije moguće povezivanje na internet. Kliknite da pokušate ponovo.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Odaberite regiju pisaljkom</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> je zarotiran u orijentaciju <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Glasovno</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je upravljana sesija kojom upravlja <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth je uključen</translation>
 <translation id="6381109794406942707">Da otključate uređaj, unesite PIN.</translation>
 <translation id="639644700271529076">Tipka CAPS LOCK je isključena</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index 1311763..627adaf 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Llum nocturna</translation>
 <translation id="2727175239389218057">Respon</translation>
 <translation id="2727977024730340865">S'ha connectat a un carregador de baix consum. És possible que la càrrega de la bateria no sigui fiable.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> gestionat per <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt+Cerca</translation>
 <translation id="2819276065543622893">Ara se us tancarà la sessió.</translation>
 <translation id="28232023175184696">No es pot connectar a Internet. Fes clic per tornar-ho a provar.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Utilitza el llapis òptic per seleccionar una part</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> s'ha canviat a <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Veu</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> és una sessió gestionada per <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">El Bluetooth està activat</translation>
 <translation id="6381109794406942707">Per desbloquejar el dispositiu, introdueix el PIN.</translation>
 <translation id="639644700271529076">Bloq Maj està desactivat</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb
index 8f352c8..dc02e99 100644
--- a/ash/strings/ash_strings_cs.xtb
+++ b/ash/strings/ash_strings_cs.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Noční režim</translation>
 <translation id="2727175239389218057">Odpovědět</translation>
 <translation id="2727977024730340865">Byla připojena nabíječka s nízkým výkonem. Nabíjení baterie nemusí probíhat spolehlivě.</translation>
+<translation id="2778650143428714839">Zařízení <ph name="DEVICE_TYPE" /> spravované doménou <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + Vyhledávání</translation>
 <translation id="2819276065543622893">Nyní budete odhlášeni.</translation>
 <translation id="28232023175184696">Nelze se připojit k internetu. Kliknutím to zkuste znovu.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Vyberte pomocí dotykového pera oblast.</translation>
 <translation id="6310121235600822547">Displej <ph name="DISPLAY_NAME" /> byl otočen o <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Hlas</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je spravovaná relace, kterou spravuje doména <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Rozhraní Bluetooth je zapnuté</translation>
 <translation id="6381109794406942707">Chcete-li zařízení odemknout, zadejte PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK je vypnutý</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb
index 541cf78..b5c2ba1 100644
--- a/ash/strings/ash_strings_da.xtb
+++ b/ash/strings/ash_strings_da.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Nattelys</translation>
 <translation id="2727175239389218057">Svar</translation>
 <translation id="2727977024730340865">Tilsluttet en oplader med lav kraft. Batteriopladningen er muligvis ikke pålidelig.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> administreres af <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt+Søg</translation>
 <translation id="2819276065543622893">Du bliver logget ud nu.</translation>
 <translation id="28232023175184696">Der kunne ikke oprettes forbindelse til internettet. Klik for at prøve igen.</translation>
@@ -564,6 +565,7 @@
 <translation id="6297287540776456956">Brug styluspennen til at vælge et område</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> er roteret til <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Stemme</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> er en session, der administreres af <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth er slået til</translation>
 <translation id="6381109794406942707">Angiv din pinkode for at låse enheden op.</translation>
 <translation id="639644700271529076">CAPS LOCK er deaktiveret</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb
index 75c3d97..32349f7 100644
--- a/ash/strings/ash_strings_el.xtb
+++ b/ash/strings/ash_strings_el.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Νυχτ. φωτισμός</translation>
 <translation id="2727175239389218057">Απάντηση</translation>
 <translation id="2727977024730340865">Σύνδεση με φορτιστή χαμηλής ισχύος. Η φόρτιση της μπαταρίας ενδέχεται να μη γίνεται με αξιόπιστο τρόπο.</translation>
+<translation id="2778650143428714839">Η διαχείριση της συσκευής <ph name="DEVICE_TYPE" /> γίνεται από τον τομέα <ph name="MANAGER" />.</translation>
 <translation id="2792498699870441125">Alt+Search</translation>
 <translation id="2819276065543622893">Θα αποσυνδεθείτε τώρα.</translation>
 <translation id="28232023175184696">Δεν είναι δυνατή η σύνδεση στο διαδίκτυο. Κάντε κλικ για να δοκιμάσετε ξανά.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Χρησιμοποιήστε τη γραφίδα για να επιλέξετε μια περιοχή</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> περιστράφηκε σε <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Φωνή</translation>
+<translation id="6338485349199627913">Το <ph name="DISPLAY_NAME" /> είναι μια διαχειριζόμενη περίοδος σύνδεσης την οποία διαχειρίζεται ο τομέας <ph name="MANAGER" />.</translation>
 <translation id="6376931439017688372">Το Bluetooth είναι ενεργοποιημένο</translation>
 <translation id="6381109794406942707">Για να ξεκλειδώσετε τη συσκευή, εισαγάγετε το PIN σας.</translation>
 <translation id="639644700271529076">Το CAPS LOCK είναι απενεργοποιημένο</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb
index 1b63345e..7296e68 100644
--- a/ash/strings/ash_strings_en-GB.xtb
+++ b/ash/strings/ash_strings_en-GB.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Night Light</translation>
 <translation id="2727175239389218057">Reply</translation>
 <translation id="2727977024730340865">Plugged in to a low-power charger. Battery charging may not be reliable.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> managed by <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt+Search</translation>
 <translation id="2819276065543622893">You will be signed out now.</translation>
 <translation id="28232023175184696">Cannot connect to the Internet. Click to try again.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Use the stylus to select a region</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> was rotated to <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Voice</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> is a managed session managed by <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth is on</translation>
 <translation id="6381109794406942707">To unlock the device, enter your PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK is off</translation>
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb
index 4d569bf..6abd4e8 100644
--- a/ash/strings/ash_strings_es-419.xtb
+++ b/ash/strings/ash_strings_es-419.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">La luz nocturna está apagada.</translation>
 <translation id="1850504506766569011">Wi-Fi desactivada</translation>
 <translation id="1864454756846565995">Dispositivo USB-C (puerto trasero)</translation>
+<translation id="1882814835921407042">Sin red móvil</translation>
 <translation id="1882897271359938046">Duplicando en <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Desbloquear con huella digital</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" /> no admite el valor de resolución <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz), por lo que se cambió a <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />). Para mantener este cambio, haz clic en Confirmar. En <ph name="TIMEOUT_SECONDS" /> se restablecerá la configuración anterior.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">Se cambió el nombre del escritorio a <ph name="DESK_NAME" /></translation>
 <translation id="2050339315714019657">Vertical</translation>
 <translation id="2067602449040652523">Brillo del teclado</translation>
+<translation id="2078034614700056995">Para cambiar al siguiente escritorio, desliza cuatro dedos hacia la derecha.</translation>
 <translation id="2083190527011054446">Buenas noches, <ph name="GIVEN_NAME" />:</translation>
 <translation id="209965399369889474">Sin conexión a la red</translation>
 <translation id="2126242104232412123">Nuevo escritorio</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">Grabar pantalla completa</translation>
 <translation id="2135456203358955318">Lupa con vista acoplada</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: Volver a intentar</translation>
+<translation id="2170530631236737939">Para salir de Recientes, desliza tres dedos hacia abajo.</translation>
 <translation id="2208323208084708176">Modo de escritorio unificado</translation>
 <translation id="2220572644011485463">PIN o contraseña</translation>
 <translation id="2222338659135520253">Se requiere el acceso a la cuenta</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">No hay redes móviles disponibles</translation>
 <translation id="3249513730522716925">La ventana <ph name="WINDOW_TITLE" /> se movió del escritorio <ph name="ACTIVE_DESK" /> al <ph name="TARGET_DESK" /></translation>
 <translation id="3255483164551725916">¿Qué puedes hacer?</translation>
+<translation id="3289674678944039601">Si está cargando mediante el adaptador</translation>
 <translation id="3290356915286466215">No segura</translation>
 <translation id="3294437725009624529">Invitado</translation>
 <translation id="3307642347673023554">Se cambió al modo laptop</translation>
@@ -293,6 +297,7 @@
 <translation id="3799080171973636491">Presionaste la combinación de teclas para activar la lupa de pantalla completa. ¿Quieres activarla?</translation>
 <translation id="380165613292957338">Hola, ¿cómo puedo ayudarte?</translation>
 <translation id="3826099427150913765">Cambiar a contraseña</translation>
+<translation id="383058930331066723">El modo de Ahorro de batería está activado</translation>
 <translation id="383629559565718788">Mostrar la configuración del teclado</translation>
 <translation id="3846214748874656680">Salir de pantalla completa</translation>
 <translation id="3846575436967432996">No hay información de red disponible.</translation>
@@ -337,6 +342,7 @@
 <translation id="4217571870635786043">Dictado</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">Captura de pantalla</translation>
+<translation id="425364040945105958">No hay ninguna tarjeta SIM</translation>
 <translation id="4261870227682513959">Mostrar la configuración de las notificaciones: Están desactivadas</translation>
 <translation id="4267383818855338811">Una máquina virtual está usando la cámara</translation>
 <translation id="4269883910223712419">El administrador de este dispositivo puede hacer lo siguiente:</translation>
@@ -469,14 +475,17 @@
 <translation id="54609108002486618">Gestionado</translation>
 <translation id="5465662442746197494">¿Necesitas ayuda?</translation>
 <translation id="5496819745535887422">El administrador está restableciendo tu dispositivo. Cuando se reinicie, se borrarán todos los datos.</translation>
+<translation id="5516420770350073386">El administrador detuvo la grabación de la pantalla debido al contenido que se muestra en ella.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166">Se está conectando <ph name="FEATURE_NAME" />.</translation>
+<translation id="5532994612895037630">Presiona en cualquier lugar para grabar la pantalla completa</translation>
 <translation id="553675580533261935">Salir de la sesión</translation>
 <translation id="5537725057119320332">Transmitir</translation>
 <translation id="554893713779400387">Activar o desactivar el dictado</translation>
 <translation id="556042886152191864">Botón</translation>
 <translation id="5571066253365925590">Bluetooth activado</translation>
 <translation id="557563299383177668">Párrafo siguiente</translation>
+<translation id="55808498489107691">El administrador bloqueó la captura de pantalla debido al contenido que se muestra en la pantalla.</translation>
 <translation id="558849140439112033">Arrastra el cursor para seleccionar un área que quieras capturar</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">Presiona Ctrl + Alt + Z para inhabilitar los comentarios por voz.</translation>
@@ -527,6 +536,7 @@
 <translation id="602001110135236999">Desplazar hacia la izquierda</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, administrada por tu administrador</translation>
 <translation id="6030495522958826102">El menú se movió a la esquina inferior izquierda de la pantalla.</translation>
+<translation id="6032620807120418574">Haz clic en cualquier parte para grabar la pantalla completa</translation>
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6043212731627905357">Este monitor no es compatible con tu dispositivo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6043994281159824495">Salir ahora</translation>
@@ -535,6 +545,7 @@
 <translation id="6059276912018042191">Pestañas recientes de Chrome</translation>
 <translation id="6062360702481658777">Saldrás de la sesión automáticamente en <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="607652042414456612">La computadora es visible para dispositivos Bluetooth cercanos y aparecerá como "<ph name="NAME" />" con la dirección <ph name="ADDRESS" />.</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">El Asistente de Google no está disponible en las sesiones de invitado.</translation>
 <translation id="6137566720514957455">Abrir el diálogo para quitar la cuenta <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="615957422585914272">Mostrar el teclado en pantalla</translation>
@@ -549,6 +560,7 @@
 <translation id="6283712521836204486">La función No interrumpir está desactivada.</translation>
 <translation id="6284232397434400372">Se cambió la resolución</translation>
 <translation id="6288235558961782912">Puedes volver a agregar a <ph name="USER_EMAIL_ADDRESS" /> más tarde con el permiso de tu padre o madre.</translation>
+<translation id="6291221004442998378">No se está cargando</translation>
 <translation id="6297287540776456956">Usa la pluma stylus para seleccionar una región</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> se giró a <ph name="ROTATION" />.</translation>
 <translation id="6315170314923504164">Voz</translation>
@@ -577,6 +589,7 @@
 <translation id="6537924328260219877">Intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, nivel de batería del teléfono: <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Transmitiendo a <ph name="RECEIVER_NAME" /></translation>
 <translation id="6559976592393364813">Pregúntale al administrador</translation>
+<translation id="6570902864550063460">Se está cargando mediante USB</translation>
 <translation id="6585808820553845416">La sesión terminará en <ph name="SESSION_TIME_REMAINING" />.</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, administrada por tu administrador</translation>
 <translation id="6614169507485700968">La pantalla de privacidad está activada</translation>
@@ -654,6 +667,7 @@
 <translation id="7377169924702866686">Bloq Mayús está activado.</translation>
 <translation id="7378203170292176219">Arrastra para seleccionar un área que quieras grabar</translation>
 <translation id="7378594059915113390">Controles de contenido multimedia</translation>
+<translation id="7378889811480108604">El modo de Ahorro de batería está desactivado</translation>
 <translation id="7392563512730092880">Puedes configurarlo más tarde en la Configuración cuando lo desees.</translation>
 <translation id="7398254312354928459">Se cambió la conexión de red</translation>
 <translation id="7405710164030118432">Para desbloquear el dispositivo, ingresa el código de acceso para padres de Family Link</translation>
@@ -703,6 +717,7 @@
 <translation id="7837740436429729974">Tiempo agotado</translation>
 <translation id="7842569679327885685">Advertencia: Función experimental</translation>
 <translation id="7846634333498149051">Teclado</translation>
+<translation id="7860671499921112077">Para ingresar a Recientes, desliza tres dedos hacia arriba.</translation>
 <translation id="7868900307798234037">Desbloqueando con huella digital</translation>
 <translation id="7872786842639831132">No</translation>
 <translation id="7886169021410746335">Ajustar la configuración de privacidad</translation>
@@ -744,6 +759,7 @@
 <translation id="8152092012181020186">Presiona Ctrl + W para cerrar.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" />: El administrador controla esta configuración.</translation>
 <translation id="8167567890448493835"><ph name="LOCALE_NAME" /> en uso</translation>
+<translation id="8170567869359129153">Red móvil. Intensidad de la señal de <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8192202700944119416">Las notificaciones están ocultas.</translation>
 <translation id="8196787716797768628">Usa gestos para cambiar rápidamente de app o interactuar con la Chromebook en el modo tablet.</translation>
 <translation id="8200772114523450471">Reanudar</translation>
@@ -753,6 +769,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, nivel de batería del teléfono: <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409">Presiona Intro para permitir el acceso de <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="8261506727792406068">Borrar</translation>
+<translation id="8284362522226889623">Para cambiar al escritorio anterior, desliza cuatro dedos hacia la izquierda.</translation>
 <translation id="828708037801473432">No</translation>
 <translation id="8297006494302853456">Débil</translation>
 <translation id="8308637677604853869">Menú anterior</translation>
@@ -809,6 +826,7 @@
 <translation id="8785070478575117577">Conectar a <ph name="NETWORK_NAME" /></translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
+<translation id="881757059229893486">Configuración de los métodos de entrada</translation>
 <translation id="8825863694328519386">Para volver, desliza el dedo desde la izquierda</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">Botón Atrás</translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index 3506dd0..87141e9 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">Luz nocturna desactivada.</translation>
 <translation id="1850504506766569011">La conexión Wi-Fi está desactivada.</translation>
 <translation id="1864454756846565995">Dispositivo USB-C (puerto trasero)</translation>
+<translation id="1882814835921407042">Sin red móvil</translation>
 <translation id="1882897271359938046">Proyectando en <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Desbloquear con huella digital</translation>
 <translation id="1888656773939766144">La pantalla <ph name="DISPLAY_NAME" /> no admite <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz). Se ha modificado la resolución a <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />). Haz clic en "Confirmar" para mantener los cambios. La configuración anterior se restaurará en <ph name="TIMEOUT_SECONDS" />.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">Se ha cambiado el nombre del escritorio a <ph name="DESK_NAME" /></translation>
 <translation id="2050339315714019657">Vertical</translation>
 <translation id="2067602449040652523">Brillo del teclado</translation>
+<translation id="2078034614700056995">Desliza cuatro dedos hacia la derecha por la pantalla para ir al escritorio siguiente</translation>
 <translation id="2083190527011054446">Buenas noches, <ph name="GIVEN_NAME" /></translation>
 <translation id="209965399369889474">Sin conexión a la red</translation>
 <translation id="2126242104232412123">Nuevo escritorio</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">Grabar pantalla completa</translation>
 <translation id="2135456203358955318">Lupa fijada</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: Reintentar</translation>
+<translation id="2170530631236737939">Desliza tres dedos hacia abajo para salir de la vista general</translation>
 <translation id="2208323208084708176">Modo de escritorio unificado</translation>
 <translation id="2220572644011485463">PIN o contraseña</translation>
 <translation id="2222338659135520253">Debes iniciar sesión</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">No hay ninguna red móvil disponible</translation>
 <translation id="3249513730522716925">La ventana <ph name="WINDOW_TITLE" /> se ha movido del escritorio <ph name="ACTIVE_DESK" /> al escritorio <ph name="TARGET_DESK" /></translation>
 <translation id="3255483164551725916">¿Qué puedes hacer?</translation>
+<translation id="3289674678944039601">Cargando mediante adaptador de CA</translation>
 <translation id="3290356915286466215">No segura</translation>
 <translation id="3294437725009624529">Invitado</translation>
 <translation id="3307642347673023554">Se ha cambiado al modo portátil</translation>
@@ -293,6 +297,7 @@
 <translation id="3799080171973636491">Has pulsado la combinación de teclas que activa la lupa de pantalla completa. ¿Quieres activarla?</translation>
 <translation id="380165613292957338">Hola, ¿cómo puedo ayudarte?</translation>
 <translation id="3826099427150913765">Cambiar a contraseña</translation>
+<translation id="383058930331066723">Modo de ahorro de batería activado</translation>
 <translation id="383629559565718788">Mostrar configuración de teclado</translation>
 <translation id="3846214748874656680">Salir de pantalla completa</translation>
 <translation id="3846575436967432996">No hay información de red disponible.</translation>
@@ -337,6 +342,7 @@
 <translation id="4217571870635786043">Dictado</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">Captura de pantalla</translation>
+<translation id="425364040945105958">Ninguna tarjeta SIM</translation>
 <translation id="4261870227682513959">Muestra la configuración de notificaciones. Las notificaciones están desactivadas.</translation>
 <translation id="4267383818855338811">Una máquina virtual está usando tu cámara</translation>
 <translation id="4269883910223712419">El administrador de este dispositivo puede hacer lo siguiente:</translation>
@@ -469,14 +475,17 @@
 <translation id="54609108002486618">Administrado</translation>
 <translation id="5465662442746197494">¿Necesitas ayuda?</translation>
 <translation id="5496819745535887422">El administrador va a instalar una versión anterior en tu dispositivo. Se eliminarán todos los datos cuando se reinicie.</translation>
+<translation id="5516420770350073386">Tu administrador ha detenido la grabación de pantalla debido al contenido que se muestra en tu pantalla.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> se está conectando.</translation>
+<translation id="5532994612895037630">Toca en cualquier sitio para grabar la pantalla completa</translation>
 <translation id="553675580533261935">Saliendo de la sesión</translation>
 <translation id="5537725057119320332">Enviar</translation>
 <translation id="554893713779400387">Activar o desactivar dictado</translation>
 <translation id="556042886152191864">Botón</translation>
 <translation id="5571066253365925590">Bluetooth habilitado</translation>
 <translation id="557563299383177668">Siguiente párrafo</translation>
+<translation id="55808498489107691">Tu administrador ha bloqueado la captura de pantalla debido al contenido que se muestra en tu pantalla.</translation>
 <translation id="558849140439112033">Arrastra para seleccionar un área para hacer la captura</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">Pulsa Ctrl + Alt + Z para inhabilitar los mensajes de voz.</translation>
@@ -527,6 +536,7 @@
 <translation id="602001110135236999">Desplazar a la izquierda</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, gestionada por el administrador</translation>
 <translation id="6030495522958826102">Se ha movido el menú a la esquina inferior izquierda de la pantalla.</translation>
+<translation id="6032620807120418574">Haz clic en cualquier parte para hacer una captura de la pantalla completa</translation>
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6043212731627905357">Este monitor no se puede utilizar con tu <ph name="DEVICE_TYPE" /> (el monitor no es compatible).</translation>
 <translation id="6043994281159824495">Salir ahora</translation>
@@ -535,6 +545,7 @@
 <translation id="6059276912018042191">Pestañas de Chrome recientes</translation>
 <translation id="6062360702481658777">Tu sesión se cerrará automáticamente en <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="607652042414456612">Tu ordenador es visible para dispositivos Bluetooth cercanos y aparecerá como "<ph name="NAME" />" con la dirección <ph name="ADDRESS" /></translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">El Asistente de Google no está disponible en las sesiones de invitado.</translation>
 <translation id="6137566720514957455">Abre el cuadro de diálogo para quitar la cuenta de <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="615957422585914272">Mostrar teclado en pantalla</translation>
@@ -549,6 +560,7 @@
 <translation id="6283712521836204486">El modo No molestar está desactivado.</translation>
 <translation id="6284232397434400372">Se ha cambiado la resolución</translation>
 <translation id="6288235558961782912">Se puede volver a añadir <ph name="USER_EMAIL_ADDRESS" /> más adelante con un permiso parental.</translation>
+<translation id="6291221004442998378">No se está cargando</translation>
 <translation id="6297287540776456956">Usa el lápiz óptico para seleccionar una parte de la pantalla</translation>
 <translation id="6310121235600822547">Se ha modificado la rotación de <ph name="DISPLAY_NAME" /> a <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Voz</translation>
@@ -577,6 +589,7 @@
 <translation id="6537924328260219877">Intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, batería del teléfono: <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Enviando contenido a <ph name="RECEIVER_NAME" /></translation>
 <translation id="6559976592393364813">Pregunta al administrador</translation>
+<translation id="6570902864550063460">Cargando mediante USB</translation>
 <translation id="6585808820553845416">La sesión finalizará dentro de <ph name="SESSION_TIME_REMAINING" />.</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, gestionada por el administrador</translation>
 <translation id="6614169507485700968">La pantalla de privacidad está activada</translation>
@@ -654,6 +667,7 @@
 <translation id="7377169924702866686">El bloqueo de mayúsculas está activado.</translation>
 <translation id="7378203170292176219">Arrastra para seleccionar un área de grabación</translation>
 <translation id="7378594059915113390">Controles multimedia</translation>
+<translation id="7378889811480108604">El modo de ahorro de batería está desactivado</translation>
 <translation id="7392563512730092880">Puedes configurarlo en cualquier momento desde Ajustes.</translation>
 <translation id="7398254312354928459">Se ha cambiado la conexión de red</translation>
 <translation id="7405710164030118432">Para desbloquear el dispositivo, introduce tu código de acceso parental de Family Link</translation>
@@ -703,6 +717,7 @@
 <translation id="7837740436429729974">Tiempo agotado</translation>
 <translation id="7842569679327885685">Advertencia: Función experimental</translation>
 <translation id="7846634333498149051">Teclado</translation>
+<translation id="7860671499921112077">Desliza tres dedos hacia arriba para acceder a la vista general</translation>
 <translation id="7868900307798234037">Desbloqueando con huella digital</translation>
 <translation id="7872786842639831132">No</translation>
 <translation id="7886169021410746335">Ajustar la configuración de privacidad</translation>
@@ -744,6 +759,7 @@
 <translation id="8152092012181020186">Pulsa Ctrl + W para cerrar.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> Este ajuste lo gestiona tu administrador.</translation>
 <translation id="8167567890448493835">Idioma: <ph name="LOCALE_NAME" /></translation>
+<translation id="8170567869359129153">Red móvil. Intensidad de la señal de <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8192202700944119416">Las notificaciones están ocultas.</translation>
 <translation id="8196787716797768628">Utiliza gestos para cambiar rápidamente de aplicación e interactuar con tu Chromebook en modo tablet.</translation>
 <translation id="8200772114523450471">Reanudar</translation>
@@ -753,6 +769,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, batería del teléfono: <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409">Pulsa Intro para desbloquearla para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="8261506727792406068">Eliminar</translation>
+<translation id="8284362522226889623">Desliza cuatro dedos hacia la izquierda por la pantalla para cambiar al escritorio anterior</translation>
 <translation id="828708037801473432">Desactivada</translation>
 <translation id="8297006494302853456">Débil</translation>
 <translation id="8308637677604853869">Menú anterior</translation>
@@ -809,6 +826,7 @@
 <translation id="8785070478575117577">Conectar a <ph name="NETWORK_NAME" /></translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
+<translation id="881757059229893486">Configuración de métodos de introducción de texto</translation>
 <translation id="8825863694328519386">Desliza el dedo desde la izquierda para volver</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">Botón Atrás</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index 1d28d303..c102a23 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Öövalgus</translation>
 <translation id="2727175239389218057">Vasta</translation>
 <translation id="2727977024730340865">Ühendatud väikese energiakuluga laadijaga. Aku laadimine võib olla ebastabiilne.</translation>
+<translation id="2778650143428714839">Seadet <ph name="DEVICE_TYPE" /> haldab <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + otsinguklahv</translation>
 <translation id="2819276065543622893">Teid logitakse nüüd välja.</translation>
 <translation id="28232023175184696">Internetiga ei õnnestu ühendust luua. Klõpsake uuesti proovimiseks.</translation>
@@ -564,6 +565,7 @@
 <translation id="6297287540776456956">Valige piirkond elektronpliiatsiga</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> vahetati valikule <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Hääl</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> on hallatud seanss, mida haldab <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth on sisse lülitatud</translation>
 <translation id="6381109794406942707">Seadme avamiseks sisestage oma PIN-kood.</translation>
 <translation id="639644700271529076">SUURTÄHELUKK on välja lülitatud</translation>
diff --git a/ash/strings/ash_strings_eu.xtb b/ash/strings/ash_strings_eu.xtb
index d77ee38..e836e02 100644
--- a/ash/strings/ash_strings_eu.xtb
+++ b/ash/strings/ash_strings_eu.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Gaueko argia</translation>
 <translation id="2727175239389218057">Erantzun</translation>
 <translation id="2727977024730340865">Potentzia txikiko kargagailu bat entxufatu duzu. Agian bateria kargatzeko prozesua ez da fidagarria izango.</translation>
+<translation id="2778650143428714839"><ph name="MANAGER" /> domeinuak kudeatzen du <ph name="DEVICE_TYPE" /></translation>
 <translation id="2792498699870441125">Alt + Bilaketa</translation>
 <translation id="2819276065543622893">Saioa amaituko zaizu.</translation>
 <translation id="28232023175184696">Ezin da konektatu Internetera. Berriro saiatzeko, sakatu hau.</translation>
@@ -564,6 +565,7 @@
 <translation id="6297287540776456956">Erabili arkatza eremu bat hautatzeko</translation>
 <translation id="6310121235600822547">Biraketa <ph name="ROTATION" /> ezarri da <ph name="DISPLAY_NAME" /> pantailan</translation>
 <translation id="6315170314923504164">Ahotsa</translation>
+<translation id="6338485349199627913"><ph name="MANAGER" /> domeinuak kudeatutako saio kudeatua da <ph name="DISPLAY_NAME" /></translation>
 <translation id="6376931439017688372">Aktibatuta dago Bluetooth-a</translation>
 <translation id="6381109794406942707">Gailua desblokeatzeko, idatzi PIN kodea.</translation>
 <translation id="639644700271529076">BLOK MAIUS desaktibatuta dago</translation>
diff --git a/ash/strings/ash_strings_fr-CA.xtb b/ash/strings/ash_strings_fr-CA.xtb
index 3b27f58..dab701b 100644
--- a/ash/strings/ash_strings_fr-CA.xtb
+++ b/ash/strings/ash_strings_fr-CA.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">Le mode Éclairage nocturne est désactivé.</translation>
 <translation id="1850504506766569011">Le Wi-Fi est désactivé.</translation>
 <translation id="1864454756846565995">Appareil USB-C (port arrière)</translation>
+<translation id="1882814835921407042">Aucun réseau cellulaire</translation>
 <translation id="1882897271359938046">Mise en miroir pour <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Déverrouillage avec empreinte digitale</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" /> n'est pas compatible avec la résolution de <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz). La résolution de <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />) sera utilisée à la place. Cliquez sur Confirmer pour valider cette modification. Les paramètres précédents seront restaurés dans <ph name="TIMEOUT_SECONDS" />.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">Le bureau a été renommé : <ph name="DESK_NAME" /></translation>
 <translation id="2050339315714019657">Portrait</translation>
 <translation id="2067602449040652523">Luminosité du clavier</translation>
+<translation id="2078034614700056995">Balayez vers la droite avec quatre doigts pour passer au bureau suivant</translation>
 <translation id="2083190527011054446">Bonne nuit <ph name="GIVEN_NAME" />,</translation>
 <translation id="209965399369889474">Aucune connexion réseau</translation>
 <translation id="2126242104232412123">Nouveau bureau</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">Enregistrer tout l'écran</translation>
 <translation id="2135456203358955318">Loupe en mode ancré</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" /> : réessayer</translation>
+<translation id="2170530631236737939">Balayez l'écran vers le bas avec trois doigts pour quitter le mode Aperçu</translation>
 <translation id="2208323208084708176">Mode Bureau unifié</translation>
 <translation id="2220572644011485463">NIP ou mot de passe</translation>
 <translation id="2222338659135520253">Connexion requise</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">Aucun réseau mobile accessible</translation>
 <translation id="3249513730522716925">La fenêtre <ph name="WINDOW_TITLE" /> a passé du bureau <ph name="ACTIVE_DESK" /> au bureau <ph name="TARGET_DESK" /></translation>
 <translation id="3255483164551725916">Que peux-tu faire?</translation>
+<translation id="3289674678944039601">Recharge par l'adaptateur</translation>
 <translation id="3290356915286466215">Non sécurisé</translation>
 <translation id="3294437725009624529">Invité</translation>
 <translation id="3307642347673023554">Mode ordinateur portable activé</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">Vous avez appuyé sur le raccourci-clavier de loupe en mode plein écran. Voulez-vous l'activer?</translation>
 <translation id="380165613292957338">Bonjour, comment puis-je vous aider?</translation>
 <translation id="3826099427150913765">Passer au mot de passe</translation>
+<translation id="383058930331066723">Le mode Économiseur de pile est activé</translation>
 <translation id="383629559565718788">Afficher les paramètres du clavier</translation>
 <translation id="3846214748874656680">Quitter le mode Plein écran</translation>
 <translation id="3846575436967432996">Aucune information concernant le réseau</translation>
@@ -336,6 +341,7 @@
 <translation id="4217571870635786043">Dictée</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">Saisie d'écran</translation>
+<translation id="425364040945105958">Aucune carte SIM</translation>
 <translation id="4261870227682513959">Afficher les paramètres de notification. Les notifications sont désactivées</translation>
 <translation id="4267383818855338811">Une machine virtuelle utilise votre caméra</translation>
 <translation id="4269883910223712419">L'administrateur de cet appareil peut :</translation>
@@ -468,14 +474,17 @@
 <translation id="54609108002486618">Géré</translation>
 <translation id="5465662442746197494">Besoin d'aide?</translation>
 <translation id="5496819745535887422">Votre administrateur est en train de restaurer votre appareil. Toutes les données seront supprimées lors du redémarrage de l'appareil.</translation>
+<translation id="5516420770350073386">L'enregistrement d'écran a été arrêté par votre administrateur en raison du contenu affiché sur votre écran.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166">La fonctionnalité <ph name="FEATURE_NAME" /> en train de se connecter.</translation>
+<translation id="5532994612895037630">Touchez n'importe où pour enregistrer la totalité de l'écran</translation>
 <translation id="553675580533261935">Fermeture de la session</translation>
 <translation id="5537725057119320332">Diffuser</translation>
 <translation id="554893713779400387">Activer/désactiver la dictée</translation>
 <translation id="556042886152191864">Bouton</translation>
 <translation id="5571066253365925590">Bluetooth activé</translation>
 <translation id="557563299383177668">Paragraphe suivant</translation>
+<translation id="55808498489107691">La capture d'écran a été bloquée par votre administrateur en raison du contenu affiché sur votre écran.</translation>
 <translation id="558849140439112033">Faites glisser le curseur pour sélectionner une région à capturer</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" /> <ph name="DATE" /></translation>
 <translation id="5600837773213129531">Appuyez sur Ctrl + Alt + Z pour désactiver la rétroaction vocale.</translation>
@@ -526,6 +535,7 @@
 <translation id="602001110135236999">Faire défiler vers la gauche</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" />, géré par votre administrateur</translation>
 <translation id="6030495522958826102">Le menu a été déplacé vers le coin inférieur gauche de l'écran.</translation>
+<translation id="6032620807120418574">Cliquez n'importe où pour capturer la totalité de l'écran</translation>
 <translation id="6040143037577758943">Fermer</translation>
 <translation id="6043212731627905357">Ce moniteur n'est pas compatible avec votre <ph name="DEVICE_TYPE" /> (le moniteur n'est pas pris en charge).</translation>
 <translation id="6043994281159824495">Se déconnecter maintenant</translation>
@@ -534,6 +544,7 @@
 <translation id="6059276912018042191">Onglets Chrome récents</translation>
 <translation id="6062360702481658777">Vous serez automatiquement déconnecté dans <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="607652042414456612">Votre ordinateur est visible pour les appareils Bluetooth situés à proximité sous le nom « <ph name="NAME" /> » et a comme adresse <ph name="ADDRESS" />.</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">L'Assistant Google n'est pas accessible dans une session d'invité.</translation>
 <translation id="6137566720514957455">Ouvrir la boîte de dialogue de retrait pour <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="615957422585914272">Afficher le clavier à l'écran</translation>
@@ -548,6 +559,7 @@
 <translation id="6283712521836204486">Le mode Ne pas déranger est désactivé.</translation>
 <translation id="6284232397434400372">Résolution modifiée</translation>
 <translation id="6288235558961782912">L'utilisateur <ph name="USER_EMAIL_ADDRESS" /> peut être ajouté de nouveau plus tard, avec l'autorisation d'un parent.</translation>
+<translation id="6291221004442998378">La pile n'est pas en train d'être rechargée</translation>
 <translation id="6297287540776456956">Utilisez un stylet pour sélectionner une zone</translation>
 <translation id="6310121235600822547">L'écran <ph name="DISPLAY_NAME" /> a été pivoté de <ph name="ROTATION" />.</translation>
 <translation id="6315170314923504164">Voix</translation>
@@ -576,6 +588,7 @@
 <translation id="6537924328260219877">Force du signal : <ph name="SIGNAL_STRENGTH" />, pile du téléphone : <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Diffusion sur <ph name="RECEIVER_NAME" /> en cours…</translation>
 <translation id="6559976592393364813">Adressez-vous à l'administrateur</translation>
+<translation id="6570902864550063460">Recharge par USB</translation>
 <translation id="6585808820553845416">Fin de la session dans <ph name="SESSION_TIME_REMAINING" />.</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> géré par votre administrateur</translation>
 <translation id="6614169507485700968">L'écran de confidentialité est activé</translation>
@@ -653,6 +666,7 @@
 <translation id="7377169924702866686">La touche de verrouillage des majuscules est activée.</translation>
 <translation id="7378203170292176219">Faites glisser le curseur pour sélectionner une région à enregistrer</translation>
 <translation id="7378594059915113390">Commandes multimédias</translation>
+<translation id="7378889811480108604">Le mode Économiseur de pile est désactivé</translation>
 <translation id="7392563512730092880">Vous pouvez toujours effectuer la configuration plus tard dans le menu Paramètres.</translation>
 <translation id="7398254312354928459">Changement de connexion réseau</translation>
 <translation id="7405710164030118432">Pour déverrouiller l'appareil, entrez votre code d'accès parental Family Link</translation>
@@ -702,6 +716,7 @@
 <translation id="7837740436429729974">Temps écoulé</translation>
 <translation id="7842569679327885685">Attention : Fonctionnalité expérimentale</translation>
 <translation id="7846634333498149051">Clavier</translation>
+<translation id="7860671499921112077">Balayez l'écran vers le haut avec trois doigts pour activer le mode Aperçu</translation>
 <translation id="7868900307798234037">Déverrouillage avec empreinte digitale</translation>
 <translation id="7872786842639831132">Désactivé</translation>
 <translation id="7886169021410746335">Ajuster les paramètres de confidentialité</translation>
@@ -743,6 +758,7 @@
 <translation id="8152092012181020186">Appuyez sur les touches Ctrl + W pour fermer.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> C'est votre administrateur qui gère ce paramètre.</translation>
 <translation id="8167567890448493835">Paramètres régionaux utilisés : <ph name="LOCALE_NAME" /></translation>
+<translation id="8170567869359129153">Réseau cellulaire. Puissance du signal : <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8192202700944119416">Les notifications sont masquées.</translation>
 <translation id="8196787716797768628">Utilisez des gestes pour passer rapidement d'une application à l'autre et interagir avec votre Chromebook en mode tablette.</translation>
 <translation id="8200772114523450471">Reprendre</translation>
@@ -752,6 +768,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" />, pile du téléphone <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409">Appuyez sur Entrée pour déverrouiller l'appareil pour <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="8261506727792406068">Supprimer</translation>
+<translation id="8284362522226889623">Balayez vers la gauche avec quatre doigts pour passer au bureau précédent</translation>
 <translation id="828708037801473432">Désactivé</translation>
 <translation id="8297006494302853456">Faible</translation>
 <translation id="8308637677604853869">Menu précédent</translation>
@@ -808,6 +825,7 @@
 <translation id="8785070478575117577">Se connecter à <ph name="NETWORK_NAME" /></translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
+<translation id="881757059229893486">Paramètres des méthodes d'entrée</translation>
 <translation id="8825863694328519386">Balayez l'écran de gauche à droite pour revenir en arrière</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">Bouton Précédent</translation>
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb
index fab8381..45697a6 100644
--- a/ash/strings/ash_strings_fr.xtb
+++ b/ash/strings/ash_strings_fr.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">Éclairage nocturne désactivé.</translation>
 <translation id="1850504506766569011">Le Wi-Fi est désactivé.</translation>
 <translation id="1864454756846565995">Appareil USB de type C (port situé sur l'arrière de l'appareil)</translation>
+<translation id="1882814835921407042">Pas de réseau mobile</translation>
 <translation id="1882897271359938046">Mise en miroir pour <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Déverrouillage avec empreinte</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" /> n'est pas compatible avec la résolution <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz). La résolution <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />) sera utilisée à la place. Cliquez sur "Confirmer" pour valider cette modification. Les paramètres précédents seront restaurés dans <ph name="TIMEOUT_SECONDS" />.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">Le nom du bureau a été remplacé par <ph name="DESK_NAME" /></translation>
 <translation id="2050339315714019657">Portrait</translation>
 <translation id="2067602449040652523">Luminosité du clavier</translation>
+<translation id="2078034614700056995">Balayez l'écran vers la droite avec quatre doigts pour passer au bureau suivant</translation>
 <translation id="2083190527011054446">Bonsoir <ph name="GIVEN_NAME" />,</translation>
 <translation id="209965399369889474">Aucune connexion réseau</translation>
 <translation id="2126242104232412123">Nouveau bureau</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">Enregistrer tout l'écran</translation>
 <translation id="2135456203358955318">Loupe ancrée</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" /> : Réessayez</translation>
+<translation id="2170530631236737939">Balayez l'écran vers le bas avec trois doigts pour quitter l'aperçu</translation>
 <translation id="2208323208084708176">Mode bureau unifié</translation>
 <translation id="2220572644011485463">Code ou mot de passe</translation>
 <translation id="2222338659135520253">Connexion requise</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">Aucun réseau mobile disponible</translation>
 <translation id="3249513730522716925">La fenêtre <ph name="WINDOW_TITLE" /> a été déplacée du Bureau <ph name="ACTIVE_DESK" /> au Bureau <ph name="TARGET_DESK" /></translation>
 <translation id="3255483164551725916">Que sais-tu faire ?</translation>
+<translation id="3289674678944039601">En charge via un adaptateur</translation>
 <translation id="3290356915286466215">Non sécurisé</translation>
 <translation id="3294437725009624529">Invité</translation>
 <translation id="3307642347673023554">Mode ordinateur portable activé</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">Vous avez appuyé sur le raccourci clavier de la loupe plein écran. Voulez-vous l'activer ?</translation>
 <translation id="380165613292957338">Bonjour, comment puis-je vous aider ?</translation>
 <translation id="3826099427150913765">Authentification par mot de passe</translation>
+<translation id="383058930331066723">Économiseur de batterie activé</translation>
 <translation id="383629559565718788">Afficher les paramètres du clavier</translation>
 <translation id="3846214748874656680">Quitter le mode plein écran</translation>
 <translation id="3846575436967432996">Aucune information disponible concernant le réseau</translation>
@@ -336,6 +341,7 @@
 <translation id="4217571870635786043">Dictée</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">Capture d'écran</translation>
+<translation id="425364040945105958">Aucune carte SIM</translation>
 <translation id="4261870227682513959">Afficher les paramètres de notification. Les notifications sont désactivées</translation>
 <translation id="4267383818855338811">Une machine virtuelle utilise votre caméra</translation>
 <translation id="4269883910223712419">L'administrateur de cet appareil peut :</translation>
@@ -468,14 +474,17 @@
 <translation id="54609108002486618">Géré</translation>
 <translation id="5465662442746197494">Besoin d'aide ?</translation>
 <translation id="5496819745535887422">Votre administrateur rétablit votre appareil. Toutes les données seront supprimées lors du redémarrage de l'appareil.</translation>
+<translation id="5516420770350073386">Votre administrateur a arrêté l'enregistrement de l'écran en raison du contenu qui y est affiché.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> est en train de se connecter.</translation>
+<translation id="5532994612895037630">Appuyez n'importe où pour enregistrer tout l'écran</translation>
 <translation id="553675580533261935">Fermeture de la session</translation>
 <translation id="5537725057119320332">Caster</translation>
 <translation id="554893713779400387">Activer ou désactiver la dictée</translation>
 <translation id="556042886152191864">Bouton</translation>
 <translation id="5571066253365925590">Bluetooth activé</translation>
 <translation id="557563299383177668">Paragraphe suivant</translation>
+<translation id="55808498489107691">Votre administrateur a bloqué la capture de l'écran en raison du contenu qui y est affiché.</translation>
 <translation id="558849140439112033">Faire glisser pour sélectionner une zone à capturer</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" /> <ph name="DATE" /></translation>
 <translation id="5600837773213129531">Appuyez sur Ctrl+Alt+Z pour désactiver les commentaires audio.</translation>
@@ -526,6 +535,7 @@
 <translation id="602001110135236999">Vers la gauche</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" />, géré par votre administrateur</translation>
 <translation id="6030495522958826102">Le menu a été déplacé dans l'angle inférieur gauche de l'écran.</translation>
+<translation id="6032620807120418574">Cliquez n'importe où pour enregistrer tout l'écran</translation>
 <translation id="6040143037577758943">Fermer</translation>
 <translation id="6043212731627905357">Ce moniteur ne fonctionne pas avec votre <ph name="DEVICE_TYPE" /> (il n'est pas compatible).</translation>
 <translation id="6043994281159824495">Se déconnecter maintenant</translation>
@@ -534,6 +544,7 @@
 <translation id="6059276912018042191">Onglets Chrome récents</translation>
 <translation id="6062360702481658777">Vous allez être déconnecté automatiquement dans <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="607652042414456612">Votre ordinateur est visible par les appareils Bluetooth situés à proximité sous le nom "<ph name="NAME" />", associé à l'adresse <ph name="ADDRESS" />.</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">L'Assistant Google n'est pas disponible dans une session Invité.</translation>
 <translation id="6137566720514957455">Ouvrir la boîte de dialogue de suppression du compte <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="615957422585914272">Afficher le clavier à l'écran</translation>
@@ -548,6 +559,7 @@
 <translation id="6283712521836204486">Le mode Ne pas déranger est désactivé.</translation>
 <translation id="6284232397434400372">Résolution modifiée</translation>
 <translation id="6288235558961782912"><ph name="USER_EMAIL_ADDRESS" /> pourra être ajouté à nouveau ultérieurement avec l'autorisation d'un des parents.</translation>
+<translation id="6291221004442998378">N'est pas en charge</translation>
 <translation id="6297287540776456956">Utilisez le stylet pour sélectionner une zone</translation>
 <translation id="6310121235600822547">L'écran "<ph name="DISPLAY_NAME" />" a effectué une rotation de <ph name="ROTATION" />.</translation>
 <translation id="6315170314923504164">Voix</translation>
@@ -576,6 +588,7 @@
 <translation id="6537924328260219877">Force du signal : <ph name="SIGNAL_STRENGTH" />, batterie du téléphone à <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Diffusion vers <ph name="RECEIVER_NAME" />…</translation>
 <translation id="6559976592393364813">Se renseigner auprès de l'administrateur</translation>
+<translation id="6570902864550063460">En charge via USB</translation>
 <translation id="6585808820553845416">Fin de la session dans <ph name="SESSION_TIME_REMAINING" /></translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" />, géré par votre administrateur</translation>
 <translation id="6614169507485700968">L'écran de confidentialité est activé</translation>
@@ -653,6 +666,7 @@
 <translation id="7377169924702866686">La touche de verrouillage des majuscules est activée</translation>
 <translation id="7378203170292176219">Faire glisser pour sélectionner une zone à enregistrer</translation>
 <translation id="7378594059915113390">Commandes multimédias</translation>
+<translation id="7378889811480108604">Économiseur de batterie désactivé</translation>
 <translation id="7392563512730092880">Sachez que vous pourrez toujours effectuer la configuration plus tard dans les paramètres.</translation>
 <translation id="7398254312354928459">La connexion réseau a été établie</translation>
 <translation id="7405710164030118432">Pour déverrouiller l'appareil, saisissez le code d'accès parental Family Link</translation>
@@ -702,6 +716,7 @@
 <translation id="7837740436429729974">Temps écoulé</translation>
 <translation id="7842569679327885685">Avertissement : Fonctionnalité expérimentale</translation>
 <translation id="7846634333498149051">Clavier</translation>
+<translation id="7860671499921112077">Balayez l'écran vers le haut avec trois doigts pour accéder à l'aperçu</translation>
 <translation id="7868900307798234037">Déverrouillage en cours avec votre empreinte digitale</translation>
 <translation id="7872786842639831132">Désactivé</translation>
 <translation id="7886169021410746335">Régler les paramètres de confidentialité</translation>
@@ -743,6 +758,7 @@
 <translation id="8152092012181020186">Appuyez sur Ctrl+W pour fermer l'élément.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> Ce paramètre est géré par votre administrateur.</translation>
 <translation id="8167567890448493835"><ph name="LOCALE_NAME" /> en cours d'utilisation</translation>
+<translation id="8170567869359129153">Réseau mobile. Force du signal : <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8192202700944119416">Les notifications sont masquées.</translation>
 <translation id="8196787716797768628">Utilisez des gestes pour passer rapidement d'une application à l'autre et interagir avec votre Chromebook en mode tablette.</translation>
 <translation id="8200772114523450471">Reprendre</translation>
@@ -752,6 +768,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" />, batterie du téléphone à <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409">Appuyez sur Entrée pour déverrouiller l'appareil pour <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="8261506727792406068">Supprimer</translation>
+<translation id="8284362522226889623">Balayez l'écran vers la gauche avec quatre doigts pour passer au bureau précédent</translation>
 <translation id="828708037801473432">Désactivé</translation>
 <translation id="8297006494302853456">Faible</translation>
 <translation id="8308637677604853869">Menu précédent</translation>
@@ -808,6 +825,7 @@
 <translation id="8785070478575117577">Se connecter à <ph name="NETWORK_NAME" /></translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Wi-Fi </translation>
+<translation id="881757059229893486">Paramètres des modes de saisie</translation>
 <translation id="8825863694328519386">Faites glisser votre doigt de gauche à droite pour revenir en arrière</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">Bouton Retour</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb
index 8f79c4f8..085cbc9 100644
--- a/ash/strings/ash_strings_hr.xtb
+++ b/ash/strings/ash_strings_hr.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Noćno svjetlo</translation>
 <translation id="2727175239389218057">Odgovori</translation>
 <translation id="2727977024730340865">Uređaj je priključen na punjač male snage. Punjenje baterije možda nije pouzdano.</translation>
+<translation id="2778650143428714839">Uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + Pretraživanje</translation>
 <translation id="2819276065543622893">Odjavit ćete se sada.</translation>
 <translation id="28232023175184696">Povezivanje s internetom nije uspjelo. Kliknite da biste pokušali ponovo.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Odaberite regiju pisaljkom</translation>
 <translation id="6310121235600822547">Zaslon <ph name="DISPLAY_NAME" /> rotiran je za <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Glasovno</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je upravljana sesija kojom upravlja <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth je uključen</translation>
 <translation id="6381109794406942707">Da biste otključali uređaj, unesite PIN.</translation>
 <translation id="639644700271529076">Tipka CAPS LOCK isključena</translation>
diff --git a/ash/strings/ash_strings_is.xtb b/ash/strings/ash_strings_is.xtb
index 259ecd7..75c7a02 100644
--- a/ash/strings/ash_strings_is.xtb
+++ b/ash/strings/ash_strings_is.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Næturljós</translation>
 <translation id="2727175239389218057">Svara</translation>
 <translation id="2727977024730340865">Tengt við afllítið hleðslutæki. Hleðsla rafhlöðunnar kann að vera brigðul.</translation>
+<translation id="2778650143428714839"><ph name="MANAGER" /> hefur umsjón með <ph name="DEVICE_TYPE" /></translation>
 <translation id="2792498699870441125">Alt+leitarhnappur</translation>
 <translation id="2819276065543622893">Þú verður skráð(ur) út núna.</translation>
 <translation id="28232023175184696">Ekki er hægt að tengjast netinu. Smelltu til að reyna aftur.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Notaðu pennann til að velja svæði</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> var snúið í <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Tal</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> er stýrð lota sem <ph name="MANAGER" /> hefur umsjón með</translation>
 <translation id="6376931439017688372">Kveikt er á Bluetooth</translation>
 <translation id="6381109794406942707">Til að opna tækið skaltu slá inn PIN-númerið þitt.</translation>
 <translation id="639644700271529076">Slökkt er á HÁSTAFALÁS</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb
index a5be230..9f346ed 100644
--- a/ash/strings/ash_strings_it.xtb
+++ b/ash/strings/ash_strings_it.xtb
@@ -614,7 +614,7 @@
 <translation id="6752912906630585008">Scrivania <ph name="REMOVED_DESK" /> rimossa e unita alla scrivania <ph name="RECEIVE_DESK" /></translation>
 <translation id="6757237461819837179">Nessun contenuto multimediale in riproduzione</translation>
 <translation id="6777216307882431711">Alimentazione dei dispositivi USB-C collegati</translation>
-<translation id="6790428901817661496">Play</translation>
+<translation id="6790428901817661496">Riproduci</translation>
 <translation id="6803622936009808957">Impossibile duplicare i display perché non sono state trovate risoluzioni supportate. È stato attivato il desktop esteso.</translation>
 <translation id="6816797338148849397">Sono disponibili informazioni relative al testo selezionato. Per accedere, utilizza il tasto Freccia su.</translation>
 <translation id="6818242057446442178">Indietro per parola</translation>
diff --git a/ash/strings/ash_strings_ka.xtb b/ash/strings/ash_strings_ka.xtb
index 6af3752..06d3400 100644
--- a/ash/strings/ash_strings_ka.xtb
+++ b/ash/strings/ash_strings_ka.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">ღამის განათება</translation>
 <translation id="2727175239389218057">პასუხი</translation>
 <translation id="2727977024730340865">შეერთებულია დაბალი სიმძლავრის დამტენთან. ბატარეის დატენვა შეიძლება არ იყოს სანდო.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> იმართება <ph name="MANAGER" />-ის მიერ</translation>
 <translation id="2792498699870441125">Alt+ძიება</translation>
 <translation id="2819276065543622893">თქვენ ახლა გამოხვალთ.</translation>
 <translation id="28232023175184696">ინტერნეტთან დაკავშირება ვერ მოხერხდა. დააწკაპუნეთ ხელახლა საცდელად.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">რეგიონის ასარჩევად, გამოიყენეთ სტილუსი</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> შეტრიალებულია <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">ხმა</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> არის მართული სესია, რომელსაც მართავს <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth ჩართულია</translation>
 <translation id="6381109794406942707">მოწყობილობის განსაბლოკად შეიყვანეთ PIN-კოდი.</translation>
 <translation id="639644700271529076">CAPS LOCK გამორთულია</translation>
diff --git a/ash/strings/ash_strings_kk.xtb b/ash/strings/ash_strings_kk.xtb
index 7f667f4..3d1d7f9f 100644
--- a/ash/strings/ash_strings_kk.xtb
+++ b/ash/strings/ash_strings_kk.xtb
@@ -327,7 +327,7 @@
 <translation id="4112140312785995938">Артқа</translation>
 <translation id="4114315158543974537">Телефон хабын қосу</translation>
 <translation id="4121728057981832179">Виртуалды құрылғы микрофоныңызды пайдалануда</translation>
-<translation id="4126167871198063089">Select-to-speak функциясынан шығу</translation>
+<translation id="4126167871198063089">Select-to-Speak функциясынан шығу</translation>
 <translation id="4129129681837227511">Құлып экранында хабарландыруларды көру және параметрді өзгерту үшін құлыпты ашыңыз.</translation>
 <translation id="4146833061457621061">Музыка ойнату</translation>
 <translation id="415719264485676252">Экранды суретке түсіруге тыйым салынған</translation>
diff --git a/ash/strings/ash_strings_lt.xtb b/ash/strings/ash_strings_lt.xtb
index ca051ea..d7d82ac 100644
--- a/ash/strings/ash_strings_lt.xtb
+++ b/ash/strings/ash_strings_lt.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Nakties šviesa</translation>
 <translation id="2727175239389218057">Atsakyti</translation>
 <translation id="2727977024730340865">Prijungtas mažos galios įkroviklis. Akumuliatoriaus įkrovimas gali būti nepatikimas.</translation>
+<translation id="2778650143428714839">„<ph name="DEVICE_TYPE" />“ tvarko <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">„Alt“ + paieškos klavišas</translation>
 <translation id="2819276065543622893">Būsite atjungti.</translation>
 <translation id="28232023175184696">Nepavyko prisijungti prie interneto. Spustelėkite, jei norite bandyti dar kartą.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Naudodami rašiklį pasirinkite sritį</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> pakeista į <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Balsas</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> yra valdomas seansas, kurį valdo <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">„Bluetooth“ įjungtas</translation>
 <translation id="6381109794406942707">Jei norite atrakinti įrenginį, įveskite PIN kodą.</translation>
 <translation id="639644700271529076">DIDŽIŲJŲ RAIDŽIŲ RAŠYMAS išjungtas</translation>
diff --git a/ash/strings/ash_strings_mk.xtb b/ash/strings/ash_strings_mk.xtb
index 79c70885..4171a655 100644
--- a/ash/strings/ash_strings_mk.xtb
+++ b/ash/strings/ash_strings_mk.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Ноќно светло</translation>
 <translation id="2727175239389218057">Одговори</translation>
 <translation id="2727977024730340865">Приклучен на полнач со мало напојување. Полнењето на батеријата може да не е веродостојно.</translation>
+<translation id="2778650143428714839"><ph name="MANAGER" /> управува со <ph name="DEVICE_TYPE" /></translation>
 <translation id="2792498699870441125">Alt+Search</translation>
 <translation id="2819276065543622893">Сега ќе бидете одјавени.</translation>
 <translation id="28232023175184696">Не може да се поврзе на интернет. Кликнете за повторен обид.</translation>
@@ -564,6 +565,7 @@
 <translation id="6297287540776456956">Употребете го пенкалото за да изберете регион</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> беше ротирано до <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Глас</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> е управувана сесија со којашто управува <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth е вклучен</translation>
 <translation id="6381109794406942707">За да го отклучите уредот, внесете го вашиот PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK е исклучено</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb
index 8552dae8..dc141ee 100644
--- a/ash/strings/ash_strings_ml.xtb
+++ b/ash/strings/ash_strings_ml.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">നൈറ്റ് ലൈറ്റ്</translation>
 <translation id="2727175239389218057">മറുപടി നൽകുക</translation>
 <translation id="2727977024730340865">കുറഞ്ഞ തോതിൽ വൈദ്യുതി പ്രവഹിക്കുന്ന ചാർജ്ജറിലേക്ക് പ്ലഗ് ചെയ്‌തിരിക്കുന്നു. ബാറ്ററി ചാർജുചെയ്യൽ വിശ്വസനീയമാകണമെന്നില്ല.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്</translation>
 <translation id="2792498699870441125">Alt+തിരയൽ</translation>
 <translation id="2819276065543622893">നിങ്ങൾ ഇപ്പോൾ സൈൻ ഔട്ട് ചെയ്യും.</translation>
 <translation id="28232023175184696">ഇന്റർനെറ്റിലേക്ക് കണക്റ്റ് ചെയ്യാനാകുന്നില്ല. വീണ്ടും ശ്രമിക്കാൻ ക്ലിക്ക് ചെയ്യുക.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">ആവശ്യമുള്ള ഏരിയ തിരഞ്ഞെടുക്കാൻ സ്റ്റൈലസ് ഉപയോഗിക്കുക</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> എന്നതിനെ <ph name="ROTATION" /> എന്നതിലേയ്‌ക്ക് തിരിച്ചു</translation>
 <translation id="6315170314923504164">വോയ്സ്</translation>
+<translation id="6338485349199627913"><ph name="MANAGER" /> മാനേജ് ചെയ്യുന്ന ഒരു മാനേജ് ചെയ്യപ്പെടുന്ന സെഷനാണ് <ph name="DISPLAY_NAME" /></translation>
 <translation id="6376931439017688372">Bluetooth ഓണാണ്</translation>
 <translation id="6381109794406942707">ഉപകരണം അൺലോക്ക് ചെയ്യാൻ, നിങ്ങളുടെ പിൻ നൽകുക.</translation>
 <translation id="639644700271529076">CAPS LOCK ഓഫാണ്</translation>
diff --git a/ash/strings/ash_strings_ne.xtb b/ash/strings/ash_strings_ne.xtb
index 2459a3b..fae187a 100644
--- a/ash/strings/ash_strings_ne.xtb
+++ b/ash/strings/ash_strings_ne.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">रात्रि प्रकाश निष्क्रिय छ।</translation>
 <translation id="1850504506766569011">Wi-Fi बन्द गरिएको छ।</translation>
 <translation id="1864454756846565995">USB-C यन्त्र (पछाडिको पोर्ट)</translation>
+<translation id="1882814835921407042">मोबाइल नेटवर्कमा कनेक्ट भएको छैन</translation>
 <translation id="1882897271359938046"><ph name="DISPLAY_NAME" /> मा प्रतिबिम्बित गर्दै</translation>
 <translation id="1885785240814121742">फिंगरप्रिन्टमार्फत अनलक गर्नुहोस्</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" /> मा <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> हर्ज) रिजोल्युसन प्रयोग गर्न मिल्दैन। रिजोल्युसन परिवर्तन गरी <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />) बनाइयो। यो परिवर्तन सुरक्षित गर्न पुष्टि गर्नुहोस् नामक बटनमा क्लिक गर्नुहोस्। अबको <ph name="TIMEOUT_SECONDS" /> मा यी सेटिङ परिवर्तन गरी पहिलेको जस्तै बनाइने छ।</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">डेस्कको नाम बदलेर <ph name="DESK_NAME" /> बनाइयो</translation>
 <translation id="2050339315714019657">पोर्ट्रेट</translation>
 <translation id="2067602449040652523">किबोर्डको चमक</translation>
+<translation id="2078034614700056995">अर्को डेस्कमा जान टचप्याडमा चारवटा औँलाले दायाँतिर स्वाइप गर्नुहोस्</translation>
 <translation id="2083190527011054446">नमस्ते <ph name="GIVEN_NAME" />,</translation>
 <translation id="209965399369889474">नेटवर्कमा जोडिएको छैन</translation>
 <translation id="2126242104232412123">नयाँ डेस्क</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">फुल स्क्रिनको भिडियो रेकर्ड गर्नुहोस्</translation>
 <translation id="2135456203358955318">डक गरिएको म्याग्निफायर</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: फेरि प्रयास गर्नुहोस्</translation>
+<translation id="2170530631236737939">हालैका स्क्रिन देखाइने मोड बन्द गर्न तीनवटा औँलाले तलतिर स्वाइप गर्नुहोस्</translation>
 <translation id="2208323208084708176">एकीकृत डेस्कटप मोड</translation>
 <translation id="2220572644011485463">PIN वा पासवर्ड</translation>
 <translation id="2222338659135520253">साइन इन गर्न आवश्यक छ</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">मोबाइल नेटवर्क उपलब्ध छैन</translation>
 <translation id="3249513730522716925">विन्डो सारेर <ph name="WINDOW_TITLE" /> डेस्क <ph name="ACTIVE_DESK" /> बाट <ph name="TARGET_DESK" /> डेस्कमा पुर्‍याइयो</translation>
 <translation id="3255483164551725916">तपाईं के गर्न सक्नुहुन्छ?</translation>
+<translation id="3289674678944039601">एड्याप्टरमार्फत चार्ज गरिँदै छ</translation>
 <translation id="3290356915286466215">असुरक्षित</translation>
 <translation id="3294437725009624529">पाहुना</translation>
 <translation id="3307642347673023554">ल्यापटप मोड प्रयोग गर्न थालियो</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">तपाईंले फुल स्क्रिन म्याग्निफायरको किबोर्ड सर्टकट थिच्नुभयो। तपाईं यसलाई सक्रिय गर्न चाहनुहुन्छ?</translation>
 <translation id="380165613292957338">नमस्ते, म कसरी मद्दत गर्न सक्छु?</translation>
 <translation id="3826099427150913765">पासवर्ड प्रयोग गर्न थाल्नुहोस्</translation>
+<translation id="383058930331066723">ब्याट्री सेभर मोड अन छ</translation>
 <translation id="383629559565718788">किबोर्डका सेटिङहरू देखाउनुहोस्</translation>
 <translation id="3846214748874656680">पूर्ण स्क्रिनबाट निस्कनुहोस्</translation>
 <translation id="3846575436967432996">सञ्जाल जानकारी उपलब्ध छैन</translation>
@@ -322,6 +327,7 @@
 <translation id="4112140312785995938">पछाडि जानुहोस्</translation>
 <translation id="4114315158543974537">फोन हब अन गर्नुहोस्</translation>
 <translation id="4121728057981832179">कुनै भर्चुअल मेसिनले तपाईंको माइक्रोफोन प्रयोग गरिरहेको छ</translation>
+<translation id="4126167871198063089">चयन गरेर बोल्ने मोडबाट बाहिरिनुहोस्</translation>
 <translation id="4129129681837227511">आफ्नो लक स्क्रिनमा सूचनाहरू हेर्नका लागि सेटिङहरू परिवर्तन गर्न अनलक गर्नुहोस्</translation>
 <translation id="4146833061457621061">सङ्गीत प्ले गर्नुहोस्</translation>
 <translation id="415719264485676252">स्क्रिनसट खिच्ने सुविधा ब्लक गरिएको छ</translation>
@@ -335,6 +341,7 @@
 <translation id="4217571870635786043">श्रुतिलेखन</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">स्क्रिसट</translation>
+<translation id="425364040945105958">SIM कार्ड छैन</translation>
 <translation id="4261870227682513959">सूचनासम्बन्धी सेटिङहरू देखाउनुहोस्। सूचनाहरू निष्क्रिय छन्</translation>
 <translation id="4267383818855338811">कुनै भर्चुअल मेसिनले तपाईंको क्यामेरा प्रयोग गरिरहेको छ</translation>
 <translation id="4269883910223712419">यो यन्त्रको प्रशासक निम्न कुराहरू गर्न सक्नुहु्न्छ:</translation>
@@ -380,6 +387,7 @@
 <translation id="4565377596337484307">पासवर्ड लुकाउनुहोस्</translation>
 <translation id="4570957409596482333">चयन गरेर बोल्ने सेवासम्बन्धी बटन</translation>
 <translation id="4577274620589681794">समय सकियो · <ph name="LABEL" /></translation>
+<translation id="4577990005084629481">प्रिभ्यूहरू देखाउनुहोस्</translation>
 <translation id="4585337515783392668">कुनै अज्ञात प्रापकमा casting गर्न छाड्नुहोस्</translation>
 <translation id="4596144739579517758">अँध्यारो थिम अफ छ</translation>
 <translation id="4623167406982293031">खाता पुष्टि गर्नुहोस्</translation>
@@ -427,11 +435,13 @@
 <translation id="4961318399572185831">स्क्रिन cast गर्नुहोस्</translation>
 <translation id="4969092041573468113"><ph name="HOURS" />घन्टा <ph name="MINUTES" />मिनेट <ph name="SECONDS" />सेकेन्ड</translation>
 <translation id="4975771730019223894">एपमा ब्याज देखाउने सुविधा</translation>
+<translation id="5003993274120026347">अर्को वाक्य</translation>
 <translation id="5019169674188023236">तपाईंको <ph name="DEVICE_TYPE" /> को ब्लुटुथ वा Wi-Fi अफ गरिएको छ जस्तो देखिन्छ। फोन हब प्रयोग गर्न कृपया आफ्नो यन्त्रको ब्लुटुथ वा Wi-Fi कनेक्सन जाँच्नुहोस्।</translation>
 <translation id="5030687792513154421">समय सकियो</translation>
 <translation id="5033299697334913360">फुल स्क्रिनको फोटो खिच्न कुनै ठाउँमा क्लिक गर्नुहोस्</translation>
 <translation id="5035236842988137213"><ph name="DEVICE_NAME" /> कुनै नयाँ फोनसँग जोडियो</translation>
 <translation id="5035389544768382859">डिस्प्ले कन्फिगुरेसन पुष्टि गर्नुहोस्</translation>
+<translation id="504465286040788597">अघिल्लो अनुच्छेद</translation>
 <translation id="5078796286268621944">गलत PIN</translation>
 <translation id="5083553833479578423">सहायकका थप सुविधाहरू अनलक गर्नुहोस्।</translation>
 <translation id="5136175204352732067">भिन्न किबोर्ड जडान गरियो</translation>
@@ -464,13 +474,17 @@
 <translation id="54609108002486618">व्यवस्थापन गरिएको</translation>
 <translation id="5465662442746197494">मद्दत आवश्यक छ?</translation>
 <translation id="5496819745535887422">तपाईंको प्रशासकले तपाईंको यन्त्रलाई पहिलेको स्थितिमा फर्काउँदै हुनुहुन्छ। यन्त्र पुनः सुरु हुँदा सबै डेटा मेटाइने छ।</translation>
+<translation id="5516420770350073386">तपाईंको स्क्रिनमा गोप्य सामग्री भएका कारण तपाईंका एड्मिनले स्क्रिन रेकर्ड गर्ने कार्य बन्द गर्नुभएको छ।</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> कनेक्ट हुँदै छ।</translation>
+<translation id="5532994612895037630">स्क्रिनको सबै भाग रेकर्ड गर्न कुनै पनि ठाउँमा ट्याप गर्नुहोस्</translation>
 <translation id="553675580533261935">सत्रबाट बाहिर जाँदै</translation>
 <translation id="5537725057119320332">कास्ट गर्नु</translation>
 <translation id="554893713779400387">श्रुतिलेखन सुविधा टगल गर्नुहोस्</translation>
 <translation id="556042886152191864">बटन</translation>
 <translation id="5571066253365925590">ब्लुटूथ सक्षम भयो</translation>
+<translation id="557563299383177668">अर्को अनुच्छेद</translation>
+<translation id="55808498489107691">तपाईंको स्क्रिनमा गोप्य सामग्री भएका कारण तपाईंका एड्मिनले स्क्रिन क्याप्चर गर्ने कार्य ब्लक गर्नुभएको छ।</translation>
 <translation id="558849140439112033">फोटो खिच्ने कुनै क्षेत्र चयन गर्न ड्र्याग गर्नुहोस्</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">बोली प्रतिक्रिया असक्षम पार्न Ctrl + Alt + Z थिच्नुहोस्।</translation>
@@ -521,6 +535,7 @@
 <translation id="602001110135236999">बायाँतिर स्क्रोल गर्नुहोस्</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />, तपाईंका प्रशासकले व्यवस्थित गर्नुभएको छ</translation>
 <translation id="6030495522958826102">मेनु सारेर स्क्रिनको फेदको बायाँ कुनामा लगियो।</translation>
+<translation id="6032620807120418574">स्क्रिनको सबै भाग रेकर्ड गर्न कुनै पनि ठाउँमा क्लिक गर्नुहोस्</translation>
 <translation id="6040143037577758943">बन्द गर्नुहोस्</translation>
 <translation id="6043212731627905357">तपाईंको मनिटरले <ph name="DEVICE_TYPE" /> सँग राम्ररी काम गरिरहेको छैन (यस मनिटरलाई समर्थन छैन)।</translation>
 <translation id="6043994281159824495">अहिले साइन आउट गर्नुहोस्</translation>
@@ -529,6 +544,7 @@
 <translation id="6059276912018042191">Chrome का हालसालै खोलिएका ट्याबहरू</translation>
 <translation id="6062360702481658777">तपाइँ <ph name="LOGOUT_TIME_LEFT" /> मा स्वचालित रूपमा साइन आउट हुनुहुनेछ।</translation>
 <translation id="607652042414456612">तपाइँको कम्प्युटर नजिकको ब्लुतुथ यन्त्रहरूको लागि दृश्य-योग्य छ र "<ph name="NAME" />" को रूपमा ठेगाना <ph name="ADDRESS" /> सँग देखा पर्नेछ</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />। <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">Google सहायक अतिथिको सत्रमा उपलब्ध हुँदैन।</translation>
 <translation id="6137566720514957455"><ph name="USER_EMAIL_ADDRESS" /> को खाता हटाउने कार्यसम्बन्धी डायलग खोल्नुहोस्</translation>
 <translation id="615957422585914272">अन-स्क्रिन कुञ्जीपाटी देखाउनुहोस्</translation>
@@ -543,6 +559,7 @@
 <translation id="6283712521836204486">बाधा नपुर्‍याउनुहोस् नामक मोड निष्क्रिय छ।</translation>
 <translation id="6284232397434400372">रिजोल्युसन परिवर्तन गरियो</translation>
 <translation id="6288235558961782912">अभिभावकको अनुमति लिएर <ph name="USER_EMAIL_ADDRESS" /> पछि पुनः थप्न सकिन्छ।</translation>
+<translation id="6291221004442998378">चार्ज भइरहेको छैन</translation>
 <translation id="6297287540776456956">कुनै क्षेत्रलाई चयन गर्न स्टाइलसको प्रयोग गर्नुहोस्</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> लाई <ph name="ROTATION" /> मा घुमाइएको थियो</translation>
 <translation id="6315170314923504164">भ्वाइस</translation>
@@ -571,6 +588,7 @@
 <translation id="6537924328260219877">सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />, <ph name="BATTERY_STATUS" /> फोनको ब्याट्री</translation>
 <translation id="6542521951477560771"><ph name="RECEIVER_NAME" /> मा Cast गर्दै</translation>
 <translation id="6559976592393364813">प्रशासकलाई सोध्नुहोस्</translation>
+<translation id="6570902864550063460">USB मार्फत चार्ज गरिँदै छ</translation>
 <translation id="6585808820553845416">सत्र <ph name="SESSION_TIME_REMAINING" /> मा समाप्त हुन्छ।</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />, तपाईंका प्रशासकले व्यवस्थित गर्नुभएको छ</translation>
 <translation id="6614169507485700968">गोपनीयताको स्क्रिन सक्रिय छ</translation>
@@ -648,6 +666,7 @@
 <translation id="7377169924702866686">क्याप्स लक सक्रिय छ।</translation>
 <translation id="7378203170292176219">रेकर्ड गर्ने कुनै क्षेत्र चयन गर्न ड्र्याग गर्नुहोस्</translation>
 <translation id="7378594059915113390">मिडियासम्बन्धी नियन्त्रणहरू</translation>
+<translation id="7378889811480108604">ब्याट्री सेभर मोड अफ छ</translation>
 <translation id="7392563512730092880">तपाईं पछि जुनसुकै बेला सेटिङमा गई सेट अप गर्न सक्नुहुन्छ।</translation>
 <translation id="7398254312354928459">नेटवर्क जडान बदल्ने कार्य गरियो</translation>
 <translation id="7405710164030118432">यन्त्र अनलक गर्न आफ्नो Family Link को अभिभावकको पहुँचसम्बन्धी कोड प्रविष्टि गर्नुहोस्‌</translation>
@@ -697,6 +716,7 @@
 <translation id="7837740436429729974">समय सकियो</translation>
 <translation id="7842569679327885685">चेतावनी: परीक्षणको क्रममा रहेको सुविधा</translation>
 <translation id="7846634333498149051">किबोर्ड</translation>
+<translation id="7860671499921112077">हालैका स्क्रिन देखाइने मोड खोल्न तीनवटा औँलाले माथितिर स्वाइप गर्नुहोस्</translation>
 <translation id="7868900307798234037">फिंगरप्रिन्टमार्फत अनलक गर्दै</translation>
 <translation id="7872786842639831132">अफ छ</translation>
 <translation id="7886169021410746335">गोपनीयतासम्बन्धी सेटिङहरूको समायोजन गर्नुहोस्</translation>
@@ -721,6 +741,7 @@
 <translation id="8029247720646289474">हटस्पटमा कनेक्ट गर्न सकिएन</translation>
 <translation id="8029629653277878342">थप सुरक्षाका लागि PIN वा पासवर्ड चाहिन्छ</translation>
 <translation id="8030169304546394654">जडान विच्छेद भयो</translation>
+<translation id="8036504271468642248">अघिल्लो वाक्य</translation>
 <translation id="8042893070933512245">पहुँचसम्बन्धी सेटिङको मेनु खोल्नुहोस्</translation>
 <translation id="8048123526339889627">ब्लुटुथका सेटिङहरू</translation>
 <translation id="8054466585765276473">ब्याटरि समय हिसाब गर्दै।</translation>
@@ -737,6 +758,7 @@
 <translation id="8152092012181020186">बन्द गर्न Ctrl + W थिच्नुहोस्।</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> तपाईंका प्रशासक यो सेटिङ मिलाउनुहुन्छ।</translation>
 <translation id="8167567890448493835"><ph name="LOCALE_NAME" /> प्रयोग गर्दै</translation>
+<translation id="8170567869359129153">मोबाइल नेटवर्क। सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" /> छ</translation>
 <translation id="8192202700944119416">सूचनाहरू लुकाइन्छन्।</translation>
 <translation id="8196787716797768628">एउटा अनुप्रयोगबाट तुरुन्तै अर्को अनुप्रयोगमा जान र आफ्नो Chromebook ट्याब्लेट मोडमा प्रयोग गर्न इसाराहरूको प्रयोग गर्नुहोस्।</translation>
 <translation id="8200772114523450471">रिजुमी</translation>
@@ -746,6 +768,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />, फोनको ब्याट्री <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409"><ph name="USER_EMAIL_ADDRESS" /> का लागि अनलक गर्न Enter थिच्नुहोस्</translation>
 <translation id="8261506727792406068">मेट्नुहोस्</translation>
+<translation id="8284362522226889623">अघिल्लो डेस्कमा जान टचप्याडमा चारवटा औँलाले बायाँतिर स्वाइप गर्नुहोस्</translation>
 <translation id="828708037801473432">अफ</translation>
 <translation id="8297006494302853456">कमजोर</translation>
 <translation id="8308637677604853869">अघिल्लो मेनु</translation>
@@ -802,6 +825,7 @@
 <translation id="8785070478575117577"><ph name="NETWORK_NAME" /> मा जोड्नुहोस्</translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />। <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
+<translation id="881757059229893486">इनपुट विधिसम्बन्धी सेटिङ</translation>
 <translation id="8825863694328519386">पछि फर्कन दायाँबाट स्वाइप गर्नुहोस्</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">पछाडि नामक बटन</translation>
@@ -859,6 +883,7 @@
 <translation id="921989828232331238">तपाईंका अभिभावकले आजका लागि तपाईंको यन्त्र लक गर्नुभयो</translation>
 <translation id="9220525904950070496">खाता हटाउनुहोस्</translation>
 <translation id="923686485342484400">साइन आउट गर्न दुई पटक Control Q थिच्नुहोस्।</translation>
+<translation id="925832987464884575">प्रिभ्यूहरू लुकाउनुहोस्</translation>
 <translation id="938963181863597773">मेरो क्यालेन्डरमा के छ?</translation>
 <translation id="945522503751344254">पृष्ठपोषण पठाउनुहोस्</translation>
 <translation id="98515147261107953">ल्यान्डस्केप</translation>
diff --git a/ash/strings/ash_strings_nl.xtb b/ash/strings/ash_strings_nl.xtb
index 7affb9b..86c069b8 100644
--- a/ash/strings/ash_strings_nl.xtb
+++ b/ash/strings/ash_strings_nl.xtb
@@ -128,7 +128,7 @@
 <translation id="2132302418721800944">Opname van volledig scherm maken</translation>
 <translation id="2135456203358955318">Vastgezet vergrootglas</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: Opnieuw proberen</translation>
-<translation id="2170530631236737939">Swipe met 3 vingers omlaag om het overzicht af te sluiten</translation>
+<translation id="2170530631236737939">Swipe met 3 vingers omlaag om het overzicht te sluiten</translation>
 <translation id="2208323208084708176">Samengestelde desktopmodus</translation>
 <translation id="2220572644011485463">Pincode of wachtwoord</translation>
 <translation id="2222338659135520253">Inloggen vereist</translation>
@@ -387,7 +387,7 @@
 <translation id="4565377596337484307">Wachtwoord verbergen</translation>
 <translation id="4570957409596482333">Knop 'Selecteer om uitgesproken te worden'</translation>
 <translation id="4577274620589681794">De tijd is om · <ph name="LABEL" /></translation>
-<translation id="4577990005084629481">Voorbeelden weergeven</translation>
+<translation id="4577990005084629481">Voorbeelden bekijken</translation>
 <translation id="4585337515783392668">Casten naar een onbekende ontvanger stopzetten</translation>
 <translation id="4596144739579517758">Het donkere thema is uitgeschakeld</translation>
 <translation id="4623167406982293031">Account verifiëren</translation>
@@ -477,7 +477,7 @@
 <translation id="5516420770350073386">Je beheerder heeft de schermopname gestopt vanwege de content op je scherm.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> maakt verbinding.</translation>
-<translation id="5532994612895037630">Tik ergens om het volledige scherm op te nemen</translation>
+<translation id="5532994612895037630">Tik ergens om het hele scherm op te nemen</translation>
 <translation id="553675580533261935">Sessie sluiten</translation>
 <translation id="5537725057119320332">Cast</translation>
 <translation id="554893713779400387">Dicteren in-/uitschakelen</translation>
@@ -544,7 +544,7 @@
 <translation id="6059276912018042191">Recente Chrome-tabbladen</translation>
 <translation id="6062360702481658777">Je wordt automatisch uitgelogd over <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="607652042414456612">Je computer is vindbaar voor Bluetooth-apparaten in de buurt en wordt weergegeven als '<ph name="NAME" />' met adres <ph name="ADDRESS" /></translation>
-<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" />.</translation>
 <translation id="612734058257491180">De Google Assistent is niet beschikbaar in een gastsessie.</translation>
 <translation id="6137566720514957455">Dialoogvenster 'Account verwijderen' openen voor <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="615957422585914272">Schermtoetsenbord weergeven</translation>
@@ -758,7 +758,7 @@
 <translation id="8152092012181020186">Druk op Ctrl + W om te sluiten.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> Deze instelling wordt beheerd door je beheerder.</translation>
 <translation id="8167567890448493835"><ph name="LOCALE_NAME" /> in gebruik</translation>
-<translation id="8170567869359129153">Mobiel netwerk. Signaalsterkte van <ph name="SIGNAL_STRENGTH" /></translation>
+<translation id="8170567869359129153">Mobiel netwerk. Signaalsterkte van <ph name="SIGNAL_STRENGTH" />.</translation>
 <translation id="8192202700944119416">Meldingen zijn verborgen.</translation>
 <translation id="8196787716797768628">Met gebaren kun je snel schakelen tussen apps en je Chromebook gebruiken in de tabletmodus.</translation>
 <translation id="8200772114523450471">Doorgaan</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb
index 29ab23f..74e7ebe 100644
--- a/ash/strings/ash_strings_no.xtb
+++ b/ash/strings/ash_strings_no.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Nattlys</translation>
 <translation id="2727175239389218057">Svar</translation>
 <translation id="2727977024730340865">Tilkoblet laveffektslader. Batteriladingen kan være upålitelig.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> administreres av <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + Søk</translation>
 <translation id="2819276065543622893">Du blir nå logget av.</translation>
 <translation id="28232023175184696">Kan ikke koble til internett. Klikk for å prøve på nytt.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Bruk pekepennen til å velge et område</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> ble rotert til <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Tale</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> er en administrert økt som administreres av <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth er på</translation>
 <translation id="6381109794406942707">For å låse opp enheten, skriv inn PIN-koden.</translation>
 <translation id="639644700271529076">CAPS LOCK er av</translation>
diff --git a/ash/strings/ash_strings_pa.xtb b/ash/strings/ash_strings_pa.xtb
index be2d2bb..c90f34f 100644
--- a/ash/strings/ash_strings_pa.xtb
+++ b/ash/strings/ash_strings_pa.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">ਰਾਤ ਦੀ ਰੋਸ਼ਨੀ ਬੰਦ ਹੈ।</translation>
 <translation id="1850504506766569011">ਵਾਈ-ਫਾਈ ਬੰਦ ਹੈ।</translation>
 <translation id="1864454756846565995">USB-C ਡੀਵਾਈਸ (ਪਿਛਲਾ ਪੋਰਟ)</translation>
+<translation id="1882814835921407042">ਕੋਈ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਨਹੀਂ ਹੈ</translation>
 <translation id="1882897271359938046"><ph name="DISPLAY_NAME" /> ਲਈ ਪ੍ਰਤਿਬਿੰਬੀਕਰਨ</translation>
 <translation id="1885785240814121742">ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰੋ</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz) ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ। ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਨੂੰ <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />) 'ਤੇ ਬਦਲ ਦਿੱਤਾ ਗਿਆ ਸੀ। ਤਬਦੀਲੀਆਂ ਨੂੰ ਰੱਖਣ ਲਈ ਤਸਦੀਕ ਕਰੋ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। ਪਿਛਲੀਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ <ph name="TIMEOUT_SECONDS" /> ਵਿੱਚ ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਜਾਵੇਗਾ।</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">ਡੈਸਕ ਦਾ ਨਾਮ ਬਦਲ ਕੇ <ph name="DESK_NAME" /> ਕਰ ਦਿੱਤਾ ਗਿਆ</translation>
 <translation id="2050339315714019657">ਪੋਰਟਰੇਟ</translation>
 <translation id="2067602449040652523">ਕੀ-ਬੋਰਡ ਚਮਕ</translation>
+<translation id="2078034614700056995">ਅਗਲੇ ਡੈਸਕ 'ਤੇ ਜਾਣ ਲਈ ਚਾਰ ਉਂਗਲਾਂ ਨਾਲ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ</translation>
 <translation id="2083190527011054446">ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ <ph name="GIVEN_NAME" />,</translation>
 <translation id="209965399369889474">ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ</translation>
 <translation id="2126242104232412123">ਨਵਾਂ ਡੈਸਕ</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">ਪੂਰੀ ਸਕ੍ਰੀਨ ਨੂੰ ਰਿਕਾਰਡ ਕਰੋ</translation>
 <translation id="2135456203358955318">ਡੌਕ ਕੀਤਾ ਵਿਸਤਾਰਕ</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ</translation>
+<translation id="2170530631236737939">ਰੂਪ-ਰੇਖਾ ਤੋਂ ਬਾਹਰ ਜਾਣ ਲਈ ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ</translation>
 <translation id="2208323208084708176">ਯੂਨੀਫਾਈਡ ਡੈਸਕਟਾਪ ਮੋਡ</translation>
 <translation id="2220572644011485463">ਪਿੰਨ ਜਾਂ ਪਾਸਵਰਡ</translation>
 <translation id="2222338659135520253">ਸਾਈਨ-ਇਨ ਲੋੜੀਂਦਾ ਹੈ</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">ਕੋਈ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ ਹੈ</translation>
 <translation id="3249513730522716925">ਵਿੰਡੋ <ph name="WINDOW_TITLE" /> ਨੂੰ ਡੈਸਕ <ph name="ACTIVE_DESK" /> ਤੋਂ ਡੈਸਕ <ph name="TARGET_DESK" /> 'ਤੇ ਲਿਜਾਇਆ ਗਿਆ</translation>
 <translation id="3255483164551725916">ਤੁਸੀਂ ਕੀ ਕਰ ਸਕਦੇ ਹੋ?</translation>
+<translation id="3289674678944039601">ਅਡਾਪਟਰ ਨਾਲ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ</translation>
 <translation id="3290356915286466215">ਅਸੁਰੱਖਿਅਤ</translation>
 <translation id="3294437725009624529">ਮਹਿਮਾਨ</translation>
 <translation id="3307642347673023554">ਲੈਪਟਾਪ ਮੋਡ 'ਤੇ ਸਵਿੱਚ ਕੀਤਾ ਗਿਆ</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">ਤੁਸੀਂ ਪੂਰੀ-ਸਕ੍ਰੀਨ ਵੱਡਦਰਸ਼ੀ ਲਈ ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ ਦਬਾਇਆ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="380165613292957338">ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ, ਮੈਂ ਤੁਹਾਡੀ ਮਦਦ ਕਿਵੇਂ ਕਰਾਂ?</translation>
 <translation id="3826099427150913765">ਪਾਸਵਰਡ 'ਤੇ ਬਦਲੀ ਕਰੋ</translation>
+<translation id="383058930331066723">ਬੈਟਰੀ ਸੇਵਰ ਮੋਡ ਚਾਲੂ ਹੈ</translation>
 <translation id="383629559565718788">ਕੀ-ਬੋਰਡ ਸੈਟਿੰਗਾਂ ਦਿਖਾਓ</translation>
 <translation id="3846214748874656680">ਫੁਲਸਕ੍ਰੀਨ ਤੋਂ ਬਾਹਰ ਜਾਓ</translation>
 <translation id="3846575436967432996">ਕੋਈ ਵੀ ਨੈੱਟਵਰਕ ਜਾਣਕਾਰੀ ਉਪਲਬਧ ਨਹੀਂ</translation>
@@ -336,6 +341,7 @@
 <translation id="4217571870635786043">ਬੋਲ ਅਨੁਸਾਰ ਲਿਖਤ</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">ਸਕ੍ਰੀਨਸ਼ਾਟ</translation>
+<translation id="425364040945105958">ਸਿਮ ਨਹੀਂ ਹੈ</translation>
 <translation id="4261870227682513959">ਸੂਚਨਾ ਸੈਟਿੰਗਾਂ ਦਿਖਾਓ। ਸੂਚਨਾਵਾਂ ਬੰਦ ਹਨ</translation>
 <translation id="4267383818855338811">ਆਭਾਸੀ ਮਸ਼ੀਨ ਤੁਹਾਡੇ ਕੈਮਰੇ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀ ਹੈ</translation>
 <translation id="4269883910223712419">ਇਸ ਡੀਵਾਈਸ ਦੇ ਪ੍ਰਸ਼ਾਸਕ ਕੋਲ ਇਹ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਹੈ:</translation>
@@ -468,14 +474,17 @@
 <translation id="54609108002486618">ਪ੍ਰਬੰਧਿਤ</translation>
 <translation id="5465662442746197494">ਕੀ ਸਹਾਇਤਾ ਦੀ ਲੋੜ ਹੈ?</translation>
 <translation id="5496819745535887422">ਤੁਹਾਡਾ ਪ੍ਰਸ਼ਾਸਕ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਪਿਛਲੇ ਵਰਜਨ 'ਤੇ ਵਾਪਸ ਲਿਆ ਰਿਹਾ ਹੈ। ਡੀਵਾਈਸ ਦੇ ਮੁੜ-ਸ਼ੁਰੂ ਕੀਤੇ ਜਾਣ 'ਤੇ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।</translation>
+<translation id="5516420770350073386">ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ 'ਤੇ ਸਮੱਗਰੀ ਹੋਣ ਕਾਰਨ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਨੇ ਸਕ੍ਰੀਨ ਰਿਕਾਰਡਿੰਗ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਗਿਆ।</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> ਨੂੰ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।</translation>
+<translation id="5532994612895037630">ਪੂਰੀ ਸਕ੍ਰੀਨ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਲਈ ਕਿਤੇ ਵੀ ਟੈਪ ਕਰੋ</translation>
 <translation id="553675580533261935">ਸੈਸ਼ਨ ਤੋਂ ਬਾਹਰ ਜਾਇਆ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="5537725057119320332">ਕਾਸਟ ਕਰੋ</translation>
 <translation id="554893713779400387">ਬੋਲ ਅਨੁਸਾਰ ਲਿਖਤ ਨੂੰ ਟੌਗਲ ਕਰੋ</translation>
 <translation id="556042886152191864">ਬਟਨ</translation>
 <translation id="5571066253365925590">ਬਲੂਟੁੱਥ ਸਮਰਥਿਤ</translation>
 <translation id="557563299383177668">ਅਗਲਾ ਪੈਰਾ</translation>
+<translation id="55808498489107691">ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ 'ਤੇ ਸਮੱਗਰੀ ਦੇ ਕਾਰਨ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਸਕ੍ਰੀਨ ਕੈਪਚਰ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="558849140439112033">ਕੈਪਚਰ ਕਰਨ ਲਈ ਕਿਸੇ ਖੇਤਰ ਨੂੰ ਚੁਣਨ ਵਾਸਤੇ ਘਸੀਟੋ</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">ਬੋਲੀ ਪ੍ਰਤੀਕਰਮ ਬੰਦ ਕਰਨ ਲਈ Ctrl + Alt + Z ਦਬਾਓ।</translation>
@@ -526,6 +535,7 @@
 <translation id="602001110135236999">ਖੱਬੇ ਪਾਸੇ ਸਕ੍ਰੋਲ ਕਰੋ</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />, ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation>
 <translation id="6030495522958826102">ਮੀਨੂ ਨੂੰ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਲੇ ਖੱਬੇ ਕੋਨੇ ਵਿੱਚ ਲਿਜਾਇਆ ਗਿਆ।</translation>
+<translation id="6032620807120418574">ਪੂਰੀ ਸਕ੍ਰੀਨ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਲਈ ਕਿਤੇ ਵੀ ਕਲਿੱਕ ਕਰੋ</translation>
 <translation id="6040143037577758943">ਬੰਦ ਕਰੋ</translation>
 <translation id="6043212731627905357">ਇਹ ਮਾਨੀਟਰ ਤੁਹਾਡੇ <ph name="DEVICE_TYPE" /> ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ (ਮਾਨੀਟਰ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ)।</translation>
 <translation id="6043994281159824495">ਹੁਣ ਸਾਈਨ-ਆਊਟ ਕਰੋ</translation>
@@ -534,6 +544,7 @@
 <translation id="6059276912018042191">ਹਾਲੀਆ Chrome ਟੈਬਾਂ</translation>
 <translation id="6062360702481658777">ਤੁਹਾਨੂੰ <ph name="LOGOUT_TIME_LEFT" /> ਆਟੋਮੈਟਿਕਲੀ ਸਾਈਨ ਆਉਟ ਕੀਤਾ ਜਾਏਗਾ।</translation>
 <translation id="607652042414456612">ਨੇੜਲੇ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਨੂੰ ਖੋਜ ਸਕਦੇ ਹਨ ਅਤੇ ਇਹ ਪਤੇ <ph name="ADDRESS" /> ਨਾਲ "<ph name="NAME" />" ਦੇ ਤੌਰ 'ਤੇ ਦਿਖਾਈ ਦੇਵੇਗਾ।</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />। <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">'Google ਅਸਿਸਟੈਂਟ' ਮਹਿਮਾਨ ਸੈਸ਼ਨ ਵਿੱਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।</translation>
 <translation id="6137566720514957455"><ph name="USER_EMAIL_ADDRESS" /> ਲਈ 'ਹਟਾਓ' ਵਿੰਡੋ ਖੋਲ੍ਹੋ</translation>
 <translation id="615957422585914272">ਔਨ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡ ਦਿਖਾਓ</translation>
@@ -548,6 +559,7 @@
 <translation id="6283712521836204486">'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ' ਬੰਦ ਹੈ।</translation>
 <translation id="6284232397434400372">ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਬਦਲ ਗਿਆ</translation>
 <translation id="6288235558961782912"><ph name="USER_EMAIL_ADDRESS" /> ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਮਾਂ-ਪਿਓ ਦੀ ਇਜਾਜ਼ਤ ਨਾਲ ਮੁੜ-ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।</translation>
+<translation id="6291221004442998378">ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਿਹਾ</translation>
 <translation id="6297287540776456956">ਇੱਕ ਖੇਤਰ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਸਟਾਈਲਸ ਦੀ ਵਰਤੋਂ ਕਰੋ</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> ਨੂੰ <ph name="ROTATION" /> ਤੱਕ ਰੋਟੇਟ ਕੀਤਾ ਦਿਆ ਸੀ</translation>
 <translation id="6315170314923504164">ਅਵਾਜ਼</translation>
@@ -576,6 +588,7 @@
 <translation id="6537924328260219877">ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />, ਫ਼ੋਨ ਦੀ ਬੈਟਰੀ <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771"><ph name="RECEIVER_NAME" /> 'ਤੇ ਕਾਸਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="6559976592393364813">ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਪੁੱਛੋ</translation>
+<translation id="6570902864550063460">USB ਰਾਹੀਂ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ</translation>
 <translation id="6585808820553845416">ਸੈਸ਼ਨ <ph name="SESSION_TIME_REMAINING" /> ਵਿੱਚ ਖ਼ਤਮ ਹੋਵੇਗਾ।</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />, ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation>
 <translation id="6614169507485700968">ਪਰਦੇਦਾਰੀ ਸਕ੍ਰੀਨ ਚਾਲੂ ਹੈ</translation>
@@ -653,6 +666,7 @@
 <translation id="7377169924702866686">Caps Lock ਚਾਲੂ ਹੈ।</translation>
 <translation id="7378203170292176219">ਰਿਕਾਰਡ ਕਰਨ ਲਈ ਕਿਸੇ ਖੇਤਰ ਨੂੰ ਚੁਣਨ ਵਾਸਤੇ ਘਸੀਟੋ</translation>
 <translation id="7378594059915113390">ਮੀਡੀਆ ਕੰਟਰੋਲ</translation>
+<translation id="7378889811480108604">ਬੈਟਰੀ ਸੇਵਰ ਮੋਡ ਬੰਦ ਹੈ</translation>
 <translation id="7392563512730092880">ਤੁਸੀਂ ਸੈਟਿੰਗਾਂ ਤੋਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਬਾਅਦ ਵਿੱਚ ਸੈੱਟਅੱਪ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="7398254312354928459">ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਸਵਿੱਚ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="7405710164030118432">ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ, ਆਪਣਾ Family Link ਮਾਂ-ਪਿਓ ਪਹੁੰਚ ਕੋਡ ਦਾਖਲ ਕਰੋ</translation>
@@ -702,6 +716,7 @@
 <translation id="7837740436429729974">ਸਮਾਂ ਸਮਾਪਤ ਹੋਇਆ</translation>
 <translation id="7842569679327885685">ਚਿਤਾਵਨੀ: ਪ੍ਰਯੋਗਮਈ ਵਿਸ਼ੇਸ਼ਤਾ</translation>
 <translation id="7846634333498149051">ਕੀ-ਬੋਰਡ</translation>
+<translation id="7860671499921112077">ਰੂਪ-ਰੇਖਾ ਦੇ ਅੰਦਰ ਜਾਣ ਲਈ ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ</translation>
 <translation id="7868900307798234037">ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰਨਾ</translation>
 <translation id="7872786842639831132">ਬੰਦ ਹੈ</translation>
 <translation id="7886169021410746335">ਪਰਦੇਦਾਰੀ ਸੈਟਿੰਗਾਂ ਵਿਵਸਥਿਤ ਕਰੋ</translation>
@@ -743,6 +758,7 @@
 <translation id="8152092012181020186">ਬੰਦ ਕਰਨ ਲਈ Ctrl + W ਦਬਾਓ।</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> ਤੁਹਾਡਾ ਪ੍ਰਸ਼ਾਸਕ ਇਸ ਸੈਟਿੰਗ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ।</translation>
 <translation id="8167567890448493835"><ph name="LOCALE_NAME" /> ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ</translation>
+<translation id="8170567869359129153">ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ। <ph name="SIGNAL_STRENGTH" /> ਦੀ ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ</translation>
 <translation id="8192202700944119416">ਸੂਚਨਾਵਾਂ ਲੁਕੀਆਂ ਹੋਈਆਂ ਹਨ।</translation>
 <translation id="8196787716797768628">ਐਪਾਂ ਵਿਚਾਲੇ ਤੁਰੰਤ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ ਅਤੇ ਟੈਬਲੈੱਟ ਮੋਡ ਵਿੱਚ ਆਪਣੀ Chromebook ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰਨ ਲਈ ਇਸ਼ਾਰਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ।</translation>
 <translation id="8200772114523450471">ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ</translation>
@@ -752,6 +768,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />, ਫ਼ੋਨ ਦੀ ਬੈਟਰੀ <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409"><ph name="USER_EMAIL_ADDRESS" /> ਵਾਸਤੇ ਅਣਲਾਕ ਕਰਨ ਲਈ ਐਂਟਰ ਦਬਾਓ</translation>
 <translation id="8261506727792406068">ਮਿਟਾਓ</translation>
+<translation id="8284362522226889623">ਪਿਛਲੇ ਡੈਸਕ 'ਤੇ ਜਾਣ ਲਈ ਚਾਰ ਉਂਗਲਾਂ ਨਾਲ ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ</translation>
 <translation id="828708037801473432">ਬੰਦ</translation>
 <translation id="8297006494302853456">ਕਮਜ਼ੋਰ</translation>
 <translation id="8308637677604853869">ਪਿਛਲਾ ਮੀਨੂ</translation>
@@ -808,6 +825,7 @@
 <translation id="8785070478575117577"><ph name="NETWORK_NAME" /> ਨਾਲ ਕਨੈਕਟ ਕਰੋ</translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />। <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">ਵਾਈ-ਫਾਈ</translation>
+<translation id="881757059229893486">ਇਨਪੁੱਟ ਵਿਧੀਆਂ ਦੀਆਂ ਸੈਟਿੰਗਾਂ</translation>
 <translation id="8825863694328519386">ਪਿੱਛੇ ਜਾਣ ਲਈ ਖੱਬੇ ਪਾਸੇ ਤੋਂ ਸਵਾਈਪ ਕਰੋ</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">'ਪਿੱਛੇ' ਬਟਨ</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb
index c2b0533..d60bcd5 100644
--- a/ash/strings/ash_strings_pl.xtb
+++ b/ash/strings/ash_strings_pl.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Podświetlenie</translation>
 <translation id="2727175239389218057">Odpowiedz</translation>
 <translation id="2727977024730340865">Podłączono ładowarkę o małej mocy. Ładowanie baterii może być nieprawidłowe.</translation>
+<translation id="2778650143428714839">Urządzenie <ph name="DEVICE_TYPE" /> zarządzane przez <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt+Szukaj</translation>
 <translation id="2819276065543622893">Zostaniesz teraz wylogowany.</translation>
 <translation id="28232023175184696">Nie udało się połączyć z internetem. Kliknij, by spróbować jeszcze raz.</translation>
@@ -237,7 +238,7 @@
 <translation id="3236488194889173876">Brak dostępnych sieci komórkowych</translation>
 <translation id="3249513730522716925">Okno <ph name="WINDOW_TITLE" /> zostało przeniesione z biurka <ph name="ACTIVE_DESK" /> na biurko <ph name="TARGET_DESK" /></translation>
 <translation id="3255483164551725916">Co potrafisz?</translation>
-<translation id="3289674678944039601">Ładowanie z zasilacza</translation>
+<translation id="3289674678944039601">Ładowanie z zasilacza.</translation>
 <translation id="3290356915286466215">Niezabezpieczona</translation>
 <translation id="3294437725009624529">Gość</translation>
 <translation id="3307642347673023554">Przełączono na tryb laptopa</translation>
@@ -296,7 +297,7 @@
 <translation id="3799080171973636491">Naciśnięto skrót klawiszowy lupy pełnoekranowej. Czy chcesz ją włączyć?</translation>
 <translation id="380165613292957338">Cześć, w czym mogę pomóc?</translation>
 <translation id="3826099427150913765">Zmień na hasło</translation>
-<translation id="383058930331066723">Włączony jest tryb oszczędzania baterii</translation>
+<translation id="383058930331066723">Włączone jest oszczędzanie baterii.</translation>
 <translation id="383629559565718788">Pokaż ustawienia klawiatury</translation>
 <translation id="3846214748874656680">Zamknij pełny ekran</translation>
 <translation id="3846575436967432996">Brak informacji o sieciach</translation>
@@ -477,7 +478,7 @@
 <translation id="5516420770350073386">Nagrywanie ekranu zostało zatrzymane przez administratora z powodu wyświetlenia pewnych treści.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166">Funkcja <ph name="FEATURE_NAME" /> nawiązuje połączenie.</translation>
-<translation id="5532994612895037630">Aby zrobić zrzut całego ekranu, kliknij w dowolnym miejscu</translation>
+<translation id="5532994612895037630">Aby nagrać cały ekran, kliknij w dowolnym miejscu</translation>
 <translation id="553675580533261935">Zamykanie sesji</translation>
 <translation id="5537725057119320332">Przesyłaj</translation>
 <translation id="554893713779400387">Włącz lub wyłącz dyktowanie</translation>
@@ -535,7 +536,7 @@
 <translation id="602001110135236999">Przewiń w lewo</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, siła sygnału: <ph name="SIGNAL_STRENGTH" />, zarządzana przez administratora</translation>
 <translation id="6030495522958826102">Menu zostało przeniesione w lewy dolny róg ekranu.</translation>
-<translation id="6032620807120418574">Aby zrobić zrzut całego ekranu, kliknij w dowolnym miejscu</translation>
+<translation id="6032620807120418574">Aby nagrać cały ekran, kliknij w dowolnym miejscu</translation>
 <translation id="6040143037577758943">Zamknij</translation>
 <translation id="6043212731627905357">Ten monitor nie działa z Twoim urządzeniem <ph name="DEVICE_TYPE" /> (nie jest obsługiwany).</translation>
 <translation id="6043994281159824495">Wyloguj się teraz</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Zaznacz obszar rysikiem</translation>
 <translation id="6310121235600822547">Wyświetlacz <ph name="DISPLAY_NAME" /> został obrócony na <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Głos</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> jest sesją zarządzaną, którą zarządza <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth jest włączony</translation>
 <translation id="6381109794406942707">Aby odblokować urządzenie, wpisz kod PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK jest wyłączony</translation>
@@ -666,7 +668,7 @@
 <translation id="7377169924702866686">Caps Lock jest włączony.</translation>
 <translation id="7378203170292176219">Przeciągnij, by wybrać obszar, który chcesz nagrać</translation>
 <translation id="7378594059915113390">Sterowanie multimediami</translation>
-<translation id="7378889811480108604">Oszczędzanie baterii jest wyłączone</translation>
+<translation id="7378889811480108604">Oszczędzanie baterii jest wyłączone.</translation>
 <translation id="7392563512730092880">W każdej chwili możesz skonfigurować sterowanie telefonem w Ustawieniach.</translation>
 <translation id="7398254312354928459">Przełączono połączenie sieciowe</translation>
 <translation id="7405710164030118432">Aby odblokować urządzenie, wpisz kod dostępu Family Link rodzica</translation>
@@ -716,7 +718,7 @@
 <translation id="7837740436429729974">Czas minął</translation>
 <translation id="7842569679327885685">Ostrzeżenie: funkcja eksperymentalna</translation>
 <translation id="7846634333498149051">Klawiatura</translation>
-<translation id="7860671499921112077">Przesuń 3 palcami w górę, by otworzyć Przegląd</translation>
+<translation id="7860671499921112077">Aby otworzyć Przegląd, przesuń 3 palcami w górę</translation>
 <translation id="7868900307798234037">Odblokowano odciskiem palca</translation>
 <translation id="7872786842639831132">Wyłączono</translation>
 <translation id="7886169021410746335">Dostosowywać ustawienia prywatności</translation>
@@ -758,7 +760,7 @@
 <translation id="8152092012181020186">Aby zamknąć, naciśnij CTRL + W.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> – tym ustawieniem zarządza Twój administrator.</translation>
 <translation id="8167567890448493835">W użyciu jest: <ph name="LOCALE_NAME" /></translation>
-<translation id="8170567869359129153">Sieć komórkowa. Siła sygnału <ph name="SIGNAL_STRENGTH" /></translation>
+<translation id="8170567869359129153">Sieć komórkowa. Siła sygnału: <ph name="SIGNAL_STRENGTH" />.</translation>
 <translation id="8192202700944119416">Powiadomienia są ukryte.</translation>
 <translation id="8196787716797768628">Używając gestów, możesz szybko przełączać się między aplikacjami i korzystać z Chromebooka w trybie tabletu.</translation>
 <translation id="8200772114523450471">Wznów</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb
index 3be4463..06e46a8 100644
--- a/ash/strings/ash_strings_pt-PT.xtb
+++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Luz noturna</translation>
 <translation id="2727175239389218057">Responder</translation>
 <translation id="2727977024730340865">Ligado a um carregador de baixo consumo. O carregamento da bateria pode não ser fiável.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" /> gerido por <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + Pesquisar</translation>
 <translation id="2819276065543622893">A sessão será terminada agora.</translation>
 <translation id="28232023175184696">Não é possível estabelecer ligação à Internet. Clique para tentar novamente.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Utilizar a canela stylus para selecionar uma área</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> foi rodado para <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Voz</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> é uma sessão gerida por <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth ativado</translation>
 <translation id="6381109794406942707">Para desbloquear este dispositivo, introduza o seu PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK está desativado</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb
index 80e9d8d2..7e4e10a 100644
--- a/ash/strings/ash_strings_ru.xtb
+++ b/ash/strings/ash_strings_ru.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">Ночная подсветка отключена</translation>
 <translation id="1850504506766569011">Wi-Fi отключен</translation>
 <translation id="1864454756846565995">Устройство USB-C (порт сзади)</translation>
+<translation id="1882814835921407042">Не подключено к мобильной сети</translation>
 <translation id="1882897271359938046">Дублирование экрана в <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Используйте разблокировку по отпечатку пальца</translation>
 <translation id="1888656773939766144">Экран "<ph name="DISPLAY_NAME" />" не поддерживает разрешение <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Гц). Установлено разрешение <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" /> Гц). Чтобы сохранить изменения, нажмите "Подтвердить". Предыдущие настройки восстановятся через <ph name="TIMEOUT_SECONDS" />.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">Название рабочего стола изменилось на "<ph name="DESK_NAME" />"</translation>
 <translation id="2050339315714019657">Книжная</translation>
 <translation id="2067602449040652523">Яркость клавиатуры</translation>
+<translation id="2078034614700056995">Чтобы перейти на следующий рабочий стол, проведите четырьмя пальцами вправо.</translation>
 <translation id="2083190527011054446">Доброй ночи, <ph name="GIVEN_NAME" />!</translation>
 <translation id="209965399369889474">Нет подключения к сети</translation>
 <translation id="2126242104232412123">Добавить рабочий стол</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">Запись видео со всего экрана</translation>
 <translation id="2135456203358955318">Закрепленная лупа</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />. Повторить</translation>
+<translation id="2170530631236737939">Чтобы выйти из режима обзора, проведите тремя пальцами вниз.</translation>
 <translation id="2208323208084708176">Единый рабочий стол</translation>
 <translation id="2220572644011485463">PIN-код или пароль</translation>
 <translation id="2222338659135520253">Требуется выполнить вход.</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">Нет доступных мобильных сетей</translation>
 <translation id="3249513730522716925">Окно "<ph name="WINDOW_TITLE" />" перемещено с рабочего стола "<ph name="ACTIVE_DESK" />" на рабочий стол "<ph name="TARGET_DESK" />".</translation>
 <translation id="3255483164551725916">Что ты умеешь?</translation>
+<translation id="3289674678944039601">Зарядка с помощью адаптера питания</translation>
 <translation id="3290356915286466215">Не защищена</translation>
 <translation id="3294437725009624529">Гость</translation>
 <translation id="3307642347673023554">Вы перешли в режим ноутбука.</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">Вы нажали сочетание клавиш для включения полноэкранной лупы. Выполнить это действие?</translation>
 <translation id="380165613292957338">Привет! Чем могу помочь?</translation>
 <translation id="3826099427150913765">Войти с помощью пароля</translation>
+<translation id="383058930331066723">Включен режим энергосбережения</translation>
 <translation id="383629559565718788">Показать настройки клавиатуры</translation>
 <translation id="3846214748874656680">Обычный режим</translation>
 <translation id="3846575436967432996">Информация о сетях недоступна</translation>
@@ -336,6 +341,7 @@
 <translation id="4217571870635786043">Голосовой ввод</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">Скриншот</translation>
+<translation id="425364040945105958">Нет SIM-карты</translation>
 <translation id="4261870227682513959">Показать настройки уведомлений. Уведомления отключены.</translation>
 <translation id="4267383818855338811">Виртуальная машина использует вашу камеру</translation>
 <translation id="4269883910223712419">Администратор этого устройства имеет возможность:</translation>
@@ -468,14 +474,17 @@
 <translation id="54609108002486618">Автоматическое управление</translation>
 <translation id="5465662442746197494">Справка</translation>
 <translation id="5496819745535887422">Администратор возвращает ваше устройство к прежней версии системы. После перезагрузки все данные с устройства будут удалены.</translation>
+<translation id="5516420770350073386">Администратор остановил запись видео с экрана из-за отображаемого контента.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166">Функция "<ph name="FEATURE_NAME" />" выполняет подключение.</translation>
+<translation id="5532994612895037630">Нажмите в любом месте, чтобы включить запись видео со всего экрана.</translation>
 <translation id="553675580533261935">Завершение сеанса</translation>
 <translation id="5537725057119320332">Cast</translation>
 <translation id="554893713779400387">Включение голосового ввода</translation>
 <translation id="556042886152191864">Кнопка</translation>
 <translation id="5571066253365925590">Bluetooth включен</translation>
 <translation id="557563299383177668">Следующий абзац</translation>
+<translation id="55808498489107691">Администратор заблокировал демонстрацию экрана из-за отображаемого контента.</translation>
 <translation id="558849140439112033">Перетащите, чтобы выделить область для снимка</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">Чтобы отключить озвучивание текста на экране, нажмите CTRL + ALT + Z.</translation>
@@ -526,6 +535,7 @@
 <translation id="602001110135236999">Влево</translation>
 <translation id="6025324406281560198">Статус защиты – "<ph name="SECURITY_STATUS" />", статус подключения – "<ph name="CONNECTION_STATUS" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" />, под управлением администратора</translation>
 <translation id="6030495522958826102">Меню перемещено в левый нижний угол экрана.</translation>
+<translation id="6032620807120418574">Нажмите в любом месте, чтобы включить запись видео со всего экрана.</translation>
 <translation id="6040143037577758943">Закрыть</translation>
 <translation id="6043212731627905357">Монитор не совместим с устройством <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6043994281159824495">Выйти</translation>
@@ -534,6 +544,7 @@
 <translation id="6059276912018042191">Недавние вкладки в Chrome</translation>
 <translation id="6062360702481658777">Выход из системы будет выполнен автоматически через <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="607652042414456612">Расположенные поблизости устройства Bluetooth видят ваш компьютер под именем <ph name="NAME" /> с адресом <ph name="ADDRESS" />.</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" />.</translation>
 <translation id="612734058257491180">В рамках гостевого сеанса Google Ассистент недоступен.</translation>
 <translation id="6137566720514957455">Открыть диалоговое окно удаления аккаунта <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="615957422585914272">Показывать экранную клавиатуру</translation>
@@ -548,6 +559,7 @@
 <translation id="6283712521836204486">Режим "Не беспокоить" отключен</translation>
 <translation id="6284232397434400372">Разрешение изменено</translation>
 <translation id="6288235558961782912">Аккаунт <ph name="USER_EMAIL_ADDRESS" /> можно будет добавить снова с разрешения одного из родителей.</translation>
+<translation id="6291221004442998378">Не заряжается</translation>
 <translation id="6297287540776456956">Чтобы выбрать регион, используйте стилус</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" />: положение изменено на <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Микрофон</translation>
@@ -576,6 +588,7 @@
 <translation id="6537924328260219877">Уровень сигнала – <ph name="SIGNAL_STRENGTH" />, заряд батареи – <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Трансляция на устройство "<ph name="RECEIVER_NAME" />"</translation>
 <translation id="6559976592393364813">Обратитесь к администратору</translation>
+<translation id="6570902864550063460">Зарядка через USB</translation>
 <translation id="6585808820553845416">Сеанс закончится через <ph name="SESSION_TIME_REMAINING" />.</translation>
 <translation id="661203523074512333">Статус защиты – "<ph name="SECURITY_STATUS" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" />, под управлением администратора</translation>
 <translation id="6614169507485700968">Экран конфиденциальности включен</translation>
@@ -653,6 +666,7 @@
 <translation id="7377169924702866686">Включен режим Caps Lock.</translation>
 <translation id="7378203170292176219">Выделите область для записи с помощью перетаскивания</translation>
 <translation id="7378594059915113390">Элементы управления медиафайлами</translation>
+<translation id="7378889811480108604">Режим энергосбережения отключен</translation>
 <translation id="7392563512730092880">Вы можете задать параметры функции позже в настройках.</translation>
 <translation id="7398254312354928459">Установлено соединение с другой сетью</translation>
 <translation id="7405710164030118432">Чтобы разблокировать устройство, введите родительский код доступа Family Link.</translation>
@@ -702,6 +716,7 @@
 <translation id="7837740436429729974">Время истекло</translation>
 <translation id="7842569679327885685">Внимание! Экспериментальная функция</translation>
 <translation id="7846634333498149051">Клавиатура</translation>
+<translation id="7860671499921112077">Чтобы перейти в режим обзора, проведите тремя пальцами вверх.</translation>
 <translation id="7868900307798234037">Экран разблокирован с помощью отпечатка пальца</translation>
 <translation id="7872786842639831132">Отключено</translation>
 <translation id="7886169021410746335">Изменять настройки конфиденциальности.</translation>
@@ -743,6 +758,7 @@
 <translation id="8152092012181020186">Нажмите Ctrl + W, чтобы закрыть вкладку.</translation>
 <translation id="8155007568264258537">Функцией "<ph name="FEATURE_NAME" />" управляет администратор.</translation>
 <translation id="8167567890448493835">Используемый язык: <ph name="LOCALE_NAME" /></translation>
+<translation id="8170567869359129153">Мобильная сеть. Уровень сигнала – <ph name="SIGNAL_STRENGTH" />.</translation>
 <translation id="8192202700944119416">Уведомления скрыты</translation>
 <translation id="8196787716797768628">Используйте жесты, чтобы быстро переключаться между приложениями и работать с устройством Chromebook в режиме планшета.</translation>
 <translation id="8200772114523450471">Возобновить</translation>
@@ -752,6 +768,7 @@
 <translation id="8247060538831475781">Статус подключения – "<ph name="CONNECTION_STATUS" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" />, заряд батареи – <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409">Чтобы разблокировать устройство для пользователя <ph name="USER_EMAIL_ADDRESS" />, нажмите Ввод</translation>
 <translation id="8261506727792406068">Удалить</translation>
+<translation id="8284362522226889623">Чтобы перейти на предыдущий рабочий стол, проведите четырьмя пальцами влево.</translation>
 <translation id="828708037801473432">Отключено</translation>
 <translation id="8297006494302853456">Слабый</translation>
 <translation id="8308637677604853869">Предыдущее меню</translation>
@@ -808,6 +825,7 @@
 <translation id="8785070478575117577">Подключиться к сети "<ph name="NETWORK_NAME" />"</translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" />.</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
+<translation id="881757059229893486">Настройки способов ввода</translation>
 <translation id="8825863694328519386">Чтобы вернуться, проведите по экрану от левого края</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">Назад</translation>
diff --git a/ash/strings/ash_strings_sl.xtb b/ash/strings/ash_strings_sl.xtb
index 363b86b..92f22f6c 100644
--- a/ash/strings/ash_strings_sl.xtb
+++ b/ash/strings/ash_strings_sl.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Nočna svetloba</translation>
 <translation id="2727175239389218057">Odgovori</translation>
 <translation id="2727977024730340865">Priključen je nizkoenergijski polnilnik. Polnjenje akumulatorja morda ne bo zanesljivo.</translation>
+<translation id="2778650143428714839">Napravo <ph name="DEVICE_TYPE" /> upravlja domena <ph name="MANAGER" />.</translation>
 <translation id="2792498699870441125">Alt + iskanje</translation>
 <translation id="2819276065543622893">Zdaj boste odjavljeni.</translation>
 <translation id="28232023175184696">Internetne povezave ni mogoče vzpostaviti. Kliknite, da poskusite znova.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">S pisalom izberite območje</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> – zasuk na <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Glasovne nastavitve</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je upravljana seja, ki jo upravlja domena <ph name="MANAGER" />.</translation>
 <translation id="6376931439017688372">Bluetooth je vklopljen</translation>
 <translation id="6381109794406942707">Če želite odkleniti napravo, vnesite kodo PIN.</translation>
 <translation id="639644700271529076">Tipka CAPS LOCK je izklopljena</translation>
diff --git a/ash/strings/ash_strings_sr-Latn.xtb b/ash/strings/ash_strings_sr-Latn.xtb
index 1a70543f..fff35e1 100644
--- a/ash/strings/ash_strings_sr-Latn.xtb
+++ b/ash/strings/ash_strings_sr-Latn.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Noćno svetlo</translation>
 <translation id="2727175239389218057">Odgovori</translation>
 <translation id="2727977024730340865">Uređaj je uključen u punjač male snage. Punjenje baterije možda neće biti pouzdano.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" />-om upravlja <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + taster za pretragu</translation>
 <translation id="2819276065543622893">Bićete odmah odjavljeni.</translation>
 <translation id="28232023175184696">Povezivanje na internet nije uspelo. Kliknite da biste probali ponovo.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Koristite pisaljku da biste izabrali oblast</translation>
 <translation id="6310121235600822547">Ekran <ph name="DISPLAY_NAME" /> je promenjen u <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Glas</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je sesija kojom upravlja <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth je uključen</translation>
 <translation id="6381109794406942707">Da biste otključali uređaj, unesite PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK je isključen</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index d153983b..944e0174 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Ноћно светло</translation>
 <translation id="2727175239389218057">Одговори</translation>
 <translation id="2727977024730340865">Уређај је укључен у пуњач мале снаге. Пуњење батерије можда неће бити поуздано.</translation>
+<translation id="2778650143428714839"><ph name="DEVICE_TYPE" />-ом управља <ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">Alt + тастер за претрагу</translation>
 <translation id="2819276065543622893">Бићете одмах одјављени.</translation>
 <translation id="28232023175184696">Повезивање на интернет није успело. Кликните да бисте пробали поново.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Користите писаљку да бисте изабрали област</translation>
 <translation id="6310121235600822547">Екран <ph name="DISPLAY_NAME" /> је промењен у <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Глас</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> је сесија којом управља <ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">Bluetooth је укључен</translation>
 <translation id="6381109794406942707">Да бисте откључали уређај, унесите PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK је искључен</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb
index eac77e6..eacb8d4d 100644
--- a/ash/strings/ash_strings_ta.xtb
+++ b/ash/strings/ash_strings_ta.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">நைட் லைட் ஆஃப் செய்யப்பட்டுள்ளது.</translation>
 <translation id="1850504506766569011">வைஃபை முடக்கத்தில் உள்ளது.</translation>
 <translation id="1864454756846565995">USB-C சாதனம் (பின்பக்கப் போர்ட்)</translation>
+<translation id="1882814835921407042">மொபைலில் நெட்வொர்க் இல்லை</translation>
 <translation id="1882897271359938046"><ph name="DISPLAY_NAME" /> ஐப் பிரதிபலிக்கிறது</translation>
 <translation id="1885785240814121742">கைரேகை மூலம் திறக்கலாம்</translation>
 <translation id="1888656773939766144"><ph name="SPECIFIED_RESOLUTION" /> தெளிவுத்திறனை (<ph name="SPECIFIED_REFRESH_RATE" /> Hz) <ph name="DISPLAY_NAME" /> ஆதரிக்கவில்லை. தெளிவுத்திறன் <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />) என்பதற்கு மாற்றப்பட்டது. மாற்றங்களை வைத்திருக்க ‘உறுதிசெய்’ என்பதைக் கிளிக் செய்யவும். இன்னும் <ph name="TIMEOUT_SECONDS" /> இல் முந்தைய அமைப்புகள் மீட்டெடுக்கப்படும்.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">டெஸ்க் பெயர் <ph name="DESK_NAME" /> என மாற்றப்பட்டது</translation>
 <translation id="2050339315714019657">செங்குத்து நிலை</translation>
 <translation id="2067602449040652523">விசைப்பலகை ஒளிர்வு</translation>
+<translation id="2078034614700056995">அடுத்த டெஸ்க்கிற்கு மாற நான்கு விரல்களால் வலதுபுறமாக ஸ்வைப் செய்யவும்</translation>
 <translation id="2083190527011054446">இரவு வணக்கம் <ph name="GIVEN_NAME" />,</translation>
 <translation id="209965399369889474">நெட்வொர்க்குடன் இணைக்கப்படவில்லை</translation>
 <translation id="2126242104232412123">புதிய டெஸ்க்</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">முழுத்திரையையும் ரெக்கார்டு செய்யும்</translation>
 <translation id="2135456203358955318">டாக் செய்யப்பட்ட பெரிதாக்கி</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: மீண்டும் முயலுங்கள்</translation>
+<translation id="2170530631236737939">மேலோட்டப் பயன்முறையில் இருந்து வெளியேற, கீழ்நோக்கி மூன்று விரல்களால் ஸ்வைப் செய்யவும்</translation>
 <translation id="2208323208084708176">ஒன்றிணைந்த டெஸ்க்டாப் பயன்முறை</translation>
 <translation id="2220572644011485463">பின் அல்லது கடவுச்சொல்</translation>
 <translation id="2222338659135520253">உள்நுழைய வேண்டும்</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">மொபைல் நெட்வொர்க் இல்லை</translation>
 <translation id="3249513730522716925"><ph name="WINDOW_TITLE" /> என்ற சாளரமானது டெஸ்க்<ph name="ACTIVE_DESK" />ல் இருந்து டெஸ்க் <ph name="TARGET_DESK" />க்கு நகர்த்தப்பட்டது</translation>
 <translation id="3255483164551725916">உன்னால் என்னவெல்லாம் செய்ய முடியும்?</translation>
+<translation id="3289674678944039601">அடாப்டர் மூலம் சார்ஜாகிறது</translation>
 <translation id="3290356915286466215">பாதுகாப்பற்ற வைஃபை நெட்வொர்க்</translation>
 <translation id="3294437725009624529">கெஸ்ட்</translation>
 <translation id="3307642347673023554">லேப்டாப் பயன்முறைக்கு மாற்றப்பட்டது</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">முழுத்திரைப் பெரிதாக்கியின் கீபோர்ட் ஷார்ட்கட்டை அழுத்தியுள்ளீர்கள். அதை இயக்க விரும்புகிறீர்களா?</translation>
 <translation id="380165613292957338">வணக்கம், நான் எவ்வாறு உதவலாம்?</translation>
 <translation id="3826099427150913765">கடவுச்சொல்லிற்கு மாற்று</translation>
+<translation id="383058930331066723">பேட்டரி சேமிப்பான் பயன்முறை இயக்கத்தில் உள்ளது</translation>
 <translation id="383629559565718788">கீபோர்ட் அமைப்புகளைக் காண்பிக்கும்</translation>
 <translation id="3846214748874656680">முழுத்திரை வேண்டாம்</translation>
 <translation id="3846575436967432996">நெட்வொர்க் தகவல் எதுவும் இல்லை</translation>
@@ -335,6 +340,7 @@
 <translation id="4217571870635786043">சொல்வதை எழுதுவது</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">ஸ்கிரீன்ஷாட்</translation>
+<translation id="425364040945105958">சிம் இல்லை</translation>
 <translation id="4261870227682513959">அறிவிப்பு அமைப்புகளைக் காண்பிக்கும். அறிவிப்புகள் முடக்கப்பட்டுள்ளன</translation>
 <translation id="4267383818855338811">ஒரு விர்ச்சுவல் மெஷின் உங்கள் கேமராவைப் பயன்படுத்துகிறது</translation>
 <translation id="4269883910223712419">இந்தச் சாதனத்தின் நிர்வாகி இவற்றைச் செய்ய முடியும்:</translation>
@@ -464,13 +470,16 @@
 <translation id="54609108002486618">நிர்வகிக்கப்பட்டது</translation>
 <translation id="5465662442746197494">உதவி தேவையா?</translation>
 <translation id="5496819745535887422">உங்கள் நிர்வாகி உங்கள் சாதனத்தை மீட்டமைக்கிறார். சாதனம் மீண்டும் தொடங்கும்போது அனைத்துத் தரவும் நீக்கப்படும்.</translation>
+<translation id="5516420770350073386">திரையில் தோன்றும் உள்ளடக்கம் காரணமாக ஸ்கிரீன் ரெக்கார்டிங்கை உங்கள் நிர்வாகி நிறுத்தினார்.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> இணைக்கப்படுகிறது.</translation>
+<translation id="5532994612895037630">முழுத்திரையையும் ரெக்கார்டு செய்ய எங்கேனும் தட்டவும்</translation>
 <translation id="553675580533261935">அமர்விலிருந்து வெளியேறுதல்</translation>
 <translation id="5537725057119320332">அலைபரப்பு</translation>
 <translation id="554893713779400387">சொல்வதை எழுதுவதை நிலைமாற்று</translation>
 <translation id="556042886152191864">பொத்தான்</translation>
 <translation id="5571066253365925590">புளூடூத் இயக்கப்பட்டது</translation>
+<translation id="55808498489107691">திரையில் தோன்றும் உள்ளடக்கம் காரணமாக ஸ்கிரீன்ஷாட் எடுப்பதை உங்கள் நிர்வாகி தடைசெய்துள்ளார்.</translation>
 <translation id="558849140439112033">படமெடுப்பதற்கான பகுதியைத் தேர்ந்தெடுக்க இழுக்கவும்</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">பேச்சுவடிவக் கருத்தை முடக்க, Ctrl + Alt + Zஐ அழுத்தவும்.</translation>
@@ -521,6 +530,7 @@
 <translation id="602001110135236999">இடப்புறம் செல்</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />, உங்கள் நிர்வாகி நிர்வகிக்கிறார்</translation>
 <translation id="6030495522958826102">திரையின் கீழ் இடது மூலைக்கு மெனு நகர்த்தப்பட்டது.</translation>
+<translation id="6032620807120418574">முழுத்திரையையும் ரெக்கார்டு செய்ய எங்கேனும் கிளிக் செய்யவும்</translation>
 <translation id="6040143037577758943">மூடு</translation>
 <translation id="6043212731627905357">இந்த மானிட்டர் உங்கள் <ph name="DEVICE_TYPE" /> உடன் செயல்படவில்லை (இந்த மானிட்டர் ஆதரிக்கப்படவில்லை).</translation>
 <translation id="6043994281159824495">இப்போது வெளியேறு</translation>
@@ -529,6 +539,7 @@
 <translation id="6059276912018042191">சமீபத்திய Chrome தாவல்கள்</translation>
 <translation id="6062360702481658777"><ph name="LOGOUT_TIME_LEFT" /> இல் தானாகவே வெளியேற்றப்படுவீர்கள்.</translation>
 <translation id="607652042414456612">உங்கள் கம்ப்யூட்டர் அருகிலுள்ள Bluetooth சாதனங்களால் கண்டறியப்படும், மேலும் <ph name="ADDRESS" /> என்ற முகவரியுடன் "<ph name="NAME" />" என்ற பெயரில் தோன்றும்</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">கெஸ்ட் அமர்வில் Google அசிஸ்டண்ட்டைப் பயன்படுத்த இயலாது.</translation>
 <translation id="6137566720514957455"><ph name="USER_EMAIL_ADDRESS" /> என்ற கணக்கை அகற்றுவதற்கான உரையாடலைத் திறக்கும்</translation>
 <translation id="615957422585914272">ஸ்கிரீன் கீபோர்டைக் காட்டு</translation>
@@ -543,6 +554,7 @@
 <translation id="6283712521836204486">'தொந்தரவு செய்ய வேண்டாம்' ஆஃப் செய்யப்பட்டுள்ளது.</translation>
 <translation id="6284232397434400372">தெளிவு மாற்றப்பட்டது</translation>
 <translation id="6288235558961782912">பெற்றோரின் அனுமதியுடன் <ph name="USER_EMAIL_ADDRESS" /> பயனரைப் பின்னர் மறுபடியும் சேர்க்கலாம்.</translation>
+<translation id="6291221004442998378">சார்ஜ் ஏறவில்லை</translation>
 <translation id="6297287540776456956">பகுதியைத் தேர்ந்தெடுக்க, ஸ்டைஸைப் பயன்படுத்தவும்</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> <ph name="ROTATION" /> ஆகச் சுழற்றப்பட்டது</translation>
 <translation id="6315170314923504164">குரல்</translation>
@@ -571,6 +583,7 @@
 <translation id="6537924328260219877">சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />, மொபைல் பேட்டரி: <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771"><ph name="RECEIVER_NAME" />க்கு அலைபரப்புகிறது</translation>
 <translation id="6559976592393364813">நிர்வாகியைக் கேட்கவும்</translation>
+<translation id="6570902864550063460">USB மூலம் சார்ஜாகிறது</translation>
 <translation id="6585808820553845416"><ph name="SESSION_TIME_REMAINING" /> இல் அமர்வு முடிந்துவிடும்.</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />, உங்கள் நிர்வாகி நிர்வகிக்கிறார்</translation>
 <translation id="6614169507485700968">தனிப்பட்ட திரை இயக்கப்பட்டுள்ளது</translation>
@@ -648,6 +661,7 @@
 <translation id="7377169924702866686">Caps Lock இயக்கத்தில் உள்ளது.</translation>
 <translation id="7378203170292176219">ரெக்கார்டு செய்வதற்கான பகுதியைத் தேர்ந்தெடுக்க இழுக்கவும்</translation>
 <translation id="7378594059915113390">மீடியா கட்டுப்பாடுகள்</translation>
+<translation id="7378889811480108604">பேட்டரி சேமிப்பான் பயன்முறை முடக்கத்தில் உள்ளது</translation>
 <translation id="7392563512730092880">அமைப்புகளுக்குச் சென்று பிறகு எப்போது வேண்டுமானாலும் அமைத்துக்கொள்ளலாம்.</translation>
 <translation id="7398254312354928459">நெட்வொர்க் இணைப்பு மாற்றப்பட்டது</translation>
 <translation id="7405710164030118432">இந்தச் சாதனத்தைத் திறக்க உங்கள் Family Linkகின் முதல்நிலை அணுகல் குறியீட்டை உள்ளிடவும்</translation>
@@ -697,6 +711,7 @@
 <translation id="7837740436429729974">நேரம் முடிந்தது</translation>
 <translation id="7842569679327885685">எச்சரிக்கை: பரிசோதனை அம்சம்</translation>
 <translation id="7846634333498149051">விசைப்பலகை</translation>
+<translation id="7860671499921112077">மேலோட்டப் பயன்முறைக்குச் செல்ல, மேல்நோக்கி மூன்று விரல்களால் ஸ்வைப் செய்யவும்</translation>
 <translation id="7868900307798234037">கைரேகை மூலம் திறக்கிறது</translation>
 <translation id="7872786842639831132">முடக்கு</translation>
 <translation id="7886169021410746335">தனியுரிமை அமைப்புகளை மாற்றலாம்</translation>
@@ -737,6 +752,7 @@
 <translation id="8152092012181020186">மூடுவதற்கு Ctrl + W விசைகளை அழுத்தவும்.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> உங்கள் நிர்வாகி இந்த அமைப்பை நிர்வகிக்கிறார்.</translation>
 <translation id="8167567890448493835"><ph name="LOCALE_NAME" />ஐப் பயன்படுத்துகிறது</translation>
+<translation id="8170567869359129153">மொபைல் நெட்வொர்க். சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8192202700944119416">அறிவிப்புகள் மறைக்கப்பட்டுள்ளன.</translation>
 <translation id="8196787716797768628">ஆப்ஸுக்கு இடையே விரைவாக மாறுவதற்கும் டேப்லெட் பயன்முறையில் உங்கள் Chromebookகை அணுகுவதற்கும் சைகைகளைப் பயன்படுத்தலாம்.</translation>
 <translation id="8200772114523450471">மீண்டும் தொடங்கு</translation>
@@ -746,6 +762,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />, மொபைல் பேட்டரி: <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409"><ph name="USER_EMAIL_ADDRESS" />ஐ அன்லாக் செய்ய Enterரை அழுத்தவும்</translation>
 <translation id="8261506727792406068">நீக்கு</translation>
+<translation id="8284362522226889623">முந்தைய டெஸ்க்கிற்கு மாற நான்கு விரல்களால் இடதுபுறமாக ஸ்வைப் செய்யவும்</translation>
 <translation id="828708037801473432">முடக்கப்பட்டுள்ளது</translation>
 <translation id="8297006494302853456">வலுவாக இல்லை</translation>
 <translation id="8308637677604853869">முந்தைய மெனு</translation>
@@ -802,6 +819,7 @@
 <translation id="8785070478575117577"><ph name="NETWORK_NAME" /> உடன் இணைக்கும்</translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">வைஃபை</translation>
+<translation id="881757059229893486">உள்ளீட்டு முறைகளுக்கான அமைப்புகள்</translation>
 <translation id="8825863694328519386">முந்தையதற்குச் செல்ல இடது பக்கத்திலிருந்து ஸ்வைப் செய்யவும்</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">முந்தையது பொத்தான்</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb
index 5f3f4f8..2b147aac 100644
--- a/ash/strings/ash_strings_te.xtb
+++ b/ash/strings/ash_strings_te.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">రాత్రి కాంతి</translation>
 <translation id="2727175239389218057">రిప్లయి ఇవ్వండి</translation>
 <translation id="2727977024730340865">తక్కువ-పవర్ గల ఛార్జర్‌కు ప్లగిన్ చేయబడింది. బ్యాటరీ ఛార్జింగ్ విశ్వసనీయంగా ఉండకపోవచ్చు.</translation>
+<translation id="2778650143428714839"><ph name="MANAGER" />, <ph name="DEVICE_TYPE" />ను మేనేజ్ చేస్తోంది</translation>
 <translation id="2792498699870441125">Alt+Search</translation>
 <translation id="2819276065543622893">మీరు ఇప్పుడు సైన్ అవుట్ చేయబడతారు.</translation>
 <translation id="28232023175184696">నెట్‌వర్క్‌కు కనెక్ట్ చేయడం సాధ్యపడదు. మళ్లీ ట్రై చేయడానికి క్లిక్ చేయండి.</translation>
@@ -564,6 +565,7 @@
 <translation id="6297287540776456956">ప్రాంతాన్ని ఎంచుకోవడానికి స్టైలస్‌ను ఉపయోగించండి</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> <ph name="ROTATION" />కి తిప్పబడింది</translation>
 <translation id="6315170314923504164">వాయిస్</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> అనేది ఒక మేనేజ్ చేయబడిన సెషన్, దీనిని <ph name="MANAGER" /> మేనేజ్ చేస్తోంది</translation>
 <translation id="6376931439017688372">బ్లూటూత్ ఆన్ చేయబడింది</translation>
 <translation id="6381109794406942707">పరికరాన్ని అన్‌లాక్ చేయడానికి, మీ పిన్‌ను ఎంటర్ చేయండి.</translation>
 <translation id="639644700271529076">CAPS LOCK ఆపివేయబడింది</translation>
diff --git a/ash/strings/ash_strings_tr.xtb b/ash/strings/ash_strings_tr.xtb
index ed7f4829..a44f135 100644
--- a/ash/strings/ash_strings_tr.xtb
+++ b/ash/strings/ash_strings_tr.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">Gece Işığı kapalı.</translation>
 <translation id="1850504506766569011">Kablosuz kapalı.</translation>
 <translation id="1864454756846565995">USB-C cihaz (arka bağlantı noktası)</translation>
+<translation id="1882814835921407042">Mobil ağ yok</translation>
 <translation id="1882897271359938046">Şuraya yansıtılıyor: <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Parmak iziyle kilit açın</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz) çözünürlüğü desteklemiyor. Çözünürlük, <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />) olarak değiştirildi. Değişiklikleri korumak için Onayla'yı tıklayın. Önceki ayarlar <ph name="TIMEOUT_SECONDS" /> saniye içinde geri yüklenecek.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">Masa adı <ph name="DESK_NAME" /> olarak değiştirildi</translation>
 <translation id="2050339315714019657">Dikey</translation>
 <translation id="2067602449040652523">Klavye parlaklığı</translation>
+<translation id="2078034614700056995">Sonraki masaya geçmek için dört parmakla sağa kaydırın</translation>
 <translation id="2083190527011054446">İyi geceler <ph name="GIVEN_NAME" />,</translation>
 <translation id="209965399369889474">Ağa bağlı değilsiniz</translation>
 <translation id="2126242104232412123">Yeni masa</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">Tam ekran kaydet</translation>
 <translation id="2135456203358955318">Yerleştirilmiş büyüteç</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: Yeniden dene</translation>
+<translation id="2170530631236737939">Genel Bakış'tan çıkmak için üç parmakla aşağı kaydırın</translation>
 <translation id="2208323208084708176">Birleştirilmiş masaüstü modu</translation>
 <translation id="2220572644011485463">PIN veya şifre</translation>
 <translation id="2222338659135520253">Oturum açılması gerekiyor</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">Kullanılabilir mobil ağ yok</translation>
 <translation id="3249513730522716925"><ph name="WINDOW_TITLE" /> penceresi, Masa <ph name="ACTIVE_DESK" /> üzerinden Masa <ph name="TARGET_DESK" /> üzerine taşındı</translation>
 <translation id="3255483164551725916">Neler yapabilirsin?</translation>
+<translation id="3289674678944039601">Adaptör ile şarj oluyor</translation>
 <translation id="3290356915286466215">Güvenli değil</translation>
 <translation id="3294437725009624529">Misafir</translation>
 <translation id="3307642347673023554">Dizüstü bilgisayar moduna geçildi</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">Tam ekran büyüteç klavye kısayoluna bastınız. Bu özelliği açmak istiyor musunuz?</translation>
 <translation id="380165613292957338">Merhaba, nasıl yardımcı olabilirim?</translation>
 <translation id="3826099427150913765">Şifreye geç</translation>
+<translation id="383058930331066723">Pil tasarrufu modu açık</translation>
 <translation id="383629559565718788">Klavye ayarlarını göster</translation>
 <translation id="3846214748874656680">Tam ekran modundan çık</translation>
 <translation id="3846575436967432996">Hiçbir ağ bilgisi yok</translation>
@@ -336,6 +341,7 @@
 <translation id="4217571870635786043">Dikte</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">Ekran görüntüsü</translation>
+<translation id="425364040945105958">SIM kart yok</translation>
 <translation id="4261870227682513959">Bildirim ayarlarını göster. Bildirimler kapalı</translation>
 <translation id="4267383818855338811">Bir sanal makine kameranızı kullanıyor</translation>
 <translation id="4269883910223712419">Bu cihazın yöneticisi şunları yapabilir:</translation>
@@ -468,14 +474,17 @@
 <translation id="54609108002486618">Yönetilen</translation>
 <translation id="5465662442746197494">Yardıma mı ihtiyacınız var?</translation>
 <translation id="5496819745535887422">Yöneticiniz cihazınızı ilk haline döndürüyor. Cihaz yeniden başlatıldığında tüm veriler silinecektir.</translation>
+<translation id="5516420770350073386">Ekran kaydı, ekranınızdaki içerik nedeniyle yöneticiniz tarafından durduruldu.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> bağlanıyor.</translation>
+<translation id="5532994612895037630">Tam ekran görüntüsü kaydetmek için herhangi bir yere dokunun</translation>
 <translation id="553675580533261935">Oturum kapatılıyor</translation>
 <translation id="5537725057119320332">Yayınla</translation>
 <translation id="554893713779400387">Dikte özelliğini aç/kapat</translation>
 <translation id="556042886152191864">Düğme</translation>
 <translation id="5571066253365925590">Bluetooth etkin</translation>
 <translation id="557563299383177668">Sonraki paragraf</translation>
+<translation id="55808498489107691">Ekran görüntüsü alma, ekranınızdaki içerik nedeniyle yöneticiniz tarafından engellendi.</translation>
 <translation id="558849140439112033">Ekran görüntüsü alınacak alanı seçmek için sürükleyin</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">Sesli geri bildirimi devre dışı bırakmak için Ctrl + Alt + Z tuşlarına basın.</translation>
@@ -526,6 +535,7 @@
 <translation id="602001110135236999">Sola kaydır</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, <ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Yöneticiniz tarafından yönetiliyor</translation>
 <translation id="6030495522958826102">Menü, ekranın sol alt köşesine taşındı.</translation>
+<translation id="6032620807120418574">Tam ekran kaydetmek için herhangi bir yeri tıklayın</translation>
 <translation id="6040143037577758943">Kapat</translation>
 <translation id="6043212731627905357">Bu monitör <ph name="DEVICE_TYPE" /> cihazınızla uyuşmuyor (monitör desteklenmiyor).</translation>
 <translation id="6043994281159824495">Şimdi çıkış yap</translation>
@@ -535,6 +545,7 @@
 <translation id="6062360702481658777"><ph name="LOGOUT_TIME_LEFT" /> içinde otomatik olarak çıkış yapacaksınız.</translation>
 <translation id="607652042414456612">Bilgisayarınız yakındaki Bluetooth cihazlar tarafından keşfedilebilir durumdadır. Ayrıca,
 <ph name="ADDRESS" /> adresine sahip "<ph name="NAME" />" olarak görünecek</translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">Google Asistan, misafir oturumunda kullanılamaz.</translation>
 <translation id="6137566720514957455"><ph name="USER_EMAIL_ADDRESS" /> için kaldırma iletişim kutusunu aç</translation>
 <translation id="615957422585914272">Dokunmatik klavyeyi göster</translation>
@@ -549,6 +560,7 @@
 <translation id="6283712521836204486">Rahatsız Etmeyin modu kapalı.</translation>
 <translation id="6284232397434400372">Çözünürlük değiştirildi</translation>
 <translation id="6288235558961782912"><ph name="USER_EMAIL_ADDRESS" />, bir ebeveynin izniyle daha sonra yeniden eklenebilir.</translation>
+<translation id="6291221004442998378">Şarj olmuyor</translation>
 <translation id="6297287540776456956">Alan seçmek için ekran kalemini kullanın</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> dönme ayarı <ph name="ROTATION" /> olarak değiştirildi</translation>
 <translation id="6315170314923504164">Ses</translation>
@@ -577,6 +589,7 @@
 <translation id="6537924328260219877"><ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, <ph name="BATTERY_STATUS" /> Telefon Pili</translation>
 <translation id="6542521951477560771"><ph name="RECEIVER_NAME" /> alıcısına gönderiliyor</translation>
 <translation id="6559976592393364813">Yöneticiye sorun</translation>
+<translation id="6570902864550063460">USB ile şarj oluyor</translation>
 <translation id="6585808820553845416">Oturumun süresi <ph name="SESSION_TIME_REMAINING" /> içinde bitiyor.</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, <ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Yöneticiniz tarafından yönetiliyor</translation>
 <translation id="6614169507485700968">Gizlilik ekranı açık</translation>
@@ -654,6 +667,7 @@
 <translation id="7377169924702866686">Caps Lock açık.</translation>
 <translation id="7378203170292176219">Kaydedilecek alanı seçmek için sürükleyin</translation>
 <translation id="7378594059915113390">Medya Denetimleri</translation>
+<translation id="7378889811480108604">Pil tasarrufu modu kapalı</translation>
 <translation id="7392563512730092880">Phone Hub'ı daha sonra istediğiniz zaman Ayarlar'da kurabilirsiniz.</translation>
 <translation id="7398254312354928459">Ağ bağlantısı değiştirildi</translation>
 <translation id="7405710164030118432">Bu cihazın kilidini açmak için Family Link ebeveyn erişim kodunuzu girin</translation>
@@ -703,6 +717,7 @@
 <translation id="7837740436429729974">Süre doldu</translation>
 <translation id="7842569679327885685">Uyarı: Deneysel özellik</translation>
 <translation id="7846634333498149051">Klavye</translation>
+<translation id="7860671499921112077">Genel Bakış'a girmek için üç parmakla yukarı kaydırın</translation>
 <translation id="7868900307798234037">Parmak iziyle kilit açılıyor</translation>
 <translation id="7872786842639831132">Kapalı</translation>
 <translation id="7886169021410746335">Gizlilik ayarlarını yapma</translation>
@@ -744,6 +759,7 @@
 <translation id="8152092012181020186">Kapatmak için Ctrl + W tuşlarına basın.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> Bu ayar, yöneticiniz tarafından yönetilir.</translation>
 <translation id="8167567890448493835"><ph name="LOCALE_NAME" /> kullanılıyor</translation>
+<translation id="8170567869359129153">Mobil ağ. <ph name="SIGNAL_STRENGTH" /> seviyesinde sinyal gücü</translation>
 <translation id="8192202700944119416">Bildirimler gizlendi.</translation>
 <translation id="8196787716797768628">Uygulamalar arasında hızlı geçiş yapmak ve tablet modunda Chromebook'unuzla etkileşim kurmak için hareketleri kullanın.</translation>
 <translation id="8200772114523450471">Sürdür</translation>
@@ -753,6 +769,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, <ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, <ph name="BATTERY_STATUS" /> Telefon Pili</translation>
 <translation id="826107067893790409">Enter tuşuna basarak <ph name="USER_EMAIL_ADDRESS" /> için kilidi açın</translation>
 <translation id="8261506727792406068">Sil</translation>
+<translation id="8284362522226889623">Önceki masaya geçmek için dört parmakla sola kaydırın</translation>
 <translation id="828708037801473432">Kapalı</translation>
 <translation id="8297006494302853456">Zayıf</translation>
 <translation id="8308637677604853869">Önceki menü</translation>
@@ -809,6 +826,7 @@
 <translation id="8785070478575117577"><ph name="NETWORK_NAME" /> ağına bağlan</translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Kablosuz</translation>
+<translation id="881757059229893486">Giriş Yöntemi Ayarları</translation>
 <translation id="8825863694328519386">Geri gitmek için soldan kaydırın</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">Geri düğmesi</translation>
diff --git a/ash/strings/ash_strings_uz.xtb b/ash/strings/ash_strings_uz.xtb
index 035b64f5..dfc561c2 100644
--- a/ash/strings/ash_strings_uz.xtb
+++ b/ash/strings/ash_strings_uz.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Tungi rejim</translation>
 <translation id="2727175239389218057">Javob berish</translation>
 <translation id="2727977024730340865">Kam quvvatli zaryadlash vositasi ulanildi. Quvvatlantirishda muammolar bo‘lishi mumkin.</translation>
+<translation id="2778650143428714839">Bu <ph name="DEVICE_TYPE" /> qurilmasi <ph name="MANAGER" /> domeni tomonidan boshqariladi</translation>
 <translation id="2792498699870441125">Alt + Search</translation>
 <translation id="2819276065543622893">Seans yakunlandi.</translation>
 <translation id="28232023175184696">Internetga ulana olmadi. Qayta urinish uchun bosing.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Ekran qismini belgilash uchun stilusdan foydalaning</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" />: joylashuv <ph name="ROTATION" /> ga o‘zgartirildi</translation>
 <translation id="6315170314923504164">Ovoz</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> seansi <ph name="MANAGER" /> domenida boshqariladi</translation>
 <translation id="6376931439017688372">Bluetooth yoniq</translation>
 <translation id="6381109794406942707">Qurilmani qulfdan chiqarish uchun PIN kodingizni kiriting.</translation>
 <translation id="639644700271529076">CAPS LOCK o‘chiq</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb
index 2f29b171..c9f6620 100644
--- a/ash/strings/ash_strings_vi.xtb
+++ b/ash/strings/ash_strings_vi.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">Chế độ Ánh sáng đêm đang tắt.</translation>
 <translation id="1850504506766569011">Wi-Fi đang tắt.</translation>
 <translation id="1864454756846565995">Thiết bị USB-C (cổng phía sau)</translation>
+<translation id="1882814835921407042">Không có mạng di động</translation>
 <translation id="1882897271359938046">Đang phản chiếu tới <ph name="DISPLAY_NAME" /></translation>
 <translation id="1885785240814121742">Mở khóa bằng vân tay</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" /> không hỗ trợ <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz). Độ phân giải đã được đổi thành <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />). Hãy nhấp vào xác nhận để lưu các thay đổi. Các tùy chọn cài đặt trước sẽ được khôi phục sau <ph name="TIMEOUT_SECONDS" /> nữa.</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">Đã đổi tên không gian làm việc thành <ph name="DESK_NAME" /></translation>
 <translation id="2050339315714019657">Khổ dọc</translation>
 <translation id="2067602449040652523">Độ sáng bàn phím</translation>
+<translation id="2078034614700056995">Hãy vuốt sang phải bằng 4 ngón tay để chuyển sang không gian làm việc tiếp theo</translation>
 <translation id="2083190527011054446">Xin chào <ph name="GIVEN_NAME" />!</translation>
 <translation id="209965399369889474">Chưa kết nối với mạng</translation>
 <translation id="2126242104232412123">Không gian làm việc mới</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">Ghi toàn màn hình</translation>
 <translation id="2135456203358955318">Phóng to ở vị trí cố định</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />: Thử lại</translation>
+<translation id="2170530631236737939">Vuốt xuống bằng 3 ngón tay để thoát khỏi chế độ Tổng quan</translation>
 <translation id="2208323208084708176">Chế độ màn hình đồng nhất</translation>
 <translation id="2220572644011485463">Mã PIN hoặc mật khẩu</translation>
 <translation id="2222338659135520253">Cần đăng nhập</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">Không có mạng di động nào</translation>
 <translation id="3249513730522716925">Đã di chuyển cửa sổ <ph name="WINDOW_TITLE" /> từ Không gian làm việc <ph name="ACTIVE_DESK" /> sang Không gian làm việc <ph name="TARGET_DESK" /></translation>
 <translation id="3255483164551725916">Bạn có thể làm gì?</translation>
+<translation id="3289674678944039601">Đang sạc qua bộ sạc</translation>
 <translation id="3290356915286466215">Không bảo mật</translation>
 <translation id="3294437725009624529">Khách</translation>
 <translation id="3307642347673023554">Đã chuyển sang chế độ máy tính xách tay</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">Bạn đã nhấn phím tắt của tính năng phóng to toàn màn hình. Bạn có muốn bật tính năng này không?</translation>
 <translation id="380165613292957338">Xin chào, tôi có thể trợ giúp gì?</translation>
 <translation id="3826099427150913765">Chuyển sang mật khẩu</translation>
+<translation id="383058930331066723">Chế độ trình tiết kiệm pin đang bật</translation>
 <translation id="383629559565718788">Hiển thị các tùy chọn cài đặt bàn phím</translation>
 <translation id="3846214748874656680">Thoát chế độ toàn màn hình</translation>
 <translation id="3846575436967432996">Không có thông tin mạng</translation>
@@ -336,6 +341,7 @@
 <translation id="4217571870635786043">Nhập bằng giọng nói</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">Ảnh chụp màn hình</translation>
+<translation id="425364040945105958">Không có SIM</translation>
 <translation id="4261870227682513959">Hiển thị các tùy chọn cài đặt thông báo. Thông báo hiện đang tắt</translation>
 <translation id="4267383818855338811">Một máy ảo đang sử dụng máy ảnh của bạn</translation>
 <translation id="4269883910223712419">Quản trị viên của thiết bị này có thể:</translation>
@@ -468,14 +474,17 @@
 <translation id="54609108002486618">Được quản lý</translation>
 <translation id="5465662442746197494">Bạn cần trợ giúp?</translation>
 <translation id="5496819745535887422">Quản trị viên đang hạ cấp hệ điều hành của thiết bị của bạn. Tất cả dữ liệu sẽ bị xóa khi thiết bị khởi động lại.</translation>
+<translation id="5516420770350073386">Quản trị viên của bạn đã dừng tính năng ghi màn hình do có nội dung không được phép ghi hình.</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> đang kết nối.</translation>
+<translation id="5532994612895037630">Nhấn vào vị trí bất kỳ để ghi toàn màn hình</translation>
 <translation id="553675580533261935">Thoát phiên</translation>
 <translation id="5537725057119320332">Truyền</translation>
 <translation id="554893713779400387">Bật/tắt tính năng nhập bằng giọng nói</translation>
 <translation id="556042886152191864">Nút</translation>
 <translation id="5571066253365925590">Đã bật bluetooth</translation>
 <translation id="557563299383177668">Đoạn tiếp theo</translation>
+<translation id="55808498489107691">Quản trị viên của bạn đã chặn tính năng chụp màn hình do có nội dung không được phép chụp hình.</translation>
 <translation id="558849140439112033">Kéo để chọn một vùng sẽ chụp</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
 <translation id="5600837773213129531">Nhấn Ctrl + Alt + Z để tắt phản hồi bằng giọng nói.</translation>
@@ -526,6 +535,7 @@
 <translation id="602001110135236999">Cuộn sang trái</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />, Do quản trị viên của bạn quản lý</translation>
 <translation id="6030495522958826102">Đã di chuyển trình đơn vào góc dưới cùng bên trái màn hình.</translation>
+<translation id="6032620807120418574">Nhấp vào vị trí bất kỳ để chụp toàn màn hình</translation>
 <translation id="6040143037577758943">Đóng</translation>
 <translation id="6043212731627905357">Màn hình này không tương thích với <ph name="DEVICE_TYPE" /> của bạn (màn hình không được hỗ trợ).</translation>
 <translation id="6043994281159824495">Đăng xuất bây giờ</translation>
@@ -534,6 +544,7 @@
 <translation id="6059276912018042191">Các thẻ Chrome mở gần đây</translation>
 <translation id="6062360702481658777">Bạn sẽ tự động được đăng xuất sau <ph name="LOGOUT_TIME_LEFT" />.</translation>
 <translation id="607652042414456612">Máy tính của bạn có thể phát hiện thiết bị Bluetooth gần đó và hiện thị dưới tên "<ph name="NAME" />" với địa chỉ là <ph name="ADDRESS" /></translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />. <ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">Bạn không thể dùng Trợ lý Google trong phiên khách.</translation>
 <translation id="6137566720514957455">Mở hộp thoại xóa tài khoản cho <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="615957422585914272">Hiển thị bàn phím ảo</translation>
@@ -548,6 +559,7 @@
 <translation id="6283712521836204486">Chế độ Không làm phiền đang tắt.</translation>
 <translation id="6284232397434400372">Đã thay đổi độ phân giải</translation>
 <translation id="6288235558961782912">Bạn có thể thêm <ph name="USER_EMAIL_ADDRESS" /> lại sau nếu cha mẹ cho phép.</translation>
+<translation id="6291221004442998378">Hiện không sạc</translation>
 <translation id="6297287540776456956">Sử dụng bút cảm ứng để chọn một vùng</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> đã được xoay vòng sang <ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Thoại</translation>
@@ -576,6 +588,7 @@
 <translation id="6537924328260219877">Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />, Pin điện thoại <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Đang truyền tới <ph name="RECEIVER_NAME" /></translation>
 <translation id="6559976592393364813">Hỏi quản trị viên</translation>
+<translation id="6570902864550063460">Đang sạc qua USB</translation>
 <translation id="6585808820553845416">Phiên sẽ kết thúc sau <ph name="SESSION_TIME_REMAINING" />.</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />, Do quản trị viên của bạn quản lý</translation>
 <translation id="6614169507485700968">Màn hình bảo vệ quyền riêng tư đang bật</translation>
@@ -653,6 +666,7 @@
 <translation id="7377169924702866686">Caps Lock đang bật.</translation>
 <translation id="7378203170292176219">Kéo để chọn một vùng sẽ quay</translation>
 <translation id="7378594059915113390">Các chức năng điều khiển nội dung đa phương tiện</translation>
+<translation id="7378889811480108604">Chế độ trình tiết kiệm pin đang tắt</translation>
 <translation id="7392563512730092880">Bạn luôn có thể thiết lập sau trong phần Cài đặt.</translation>
 <translation id="7398254312354928459">Đã chuyển kết nối mạng</translation>
 <translation id="7405710164030118432">Để mở khóa thiết bị này, hãy nhập mã truy cập Family Link dành cho cha mẹ của bạn</translation>
@@ -702,6 +716,7 @@
 <translation id="7837740436429729974">Hết giờ</translation>
 <translation id="7842569679327885685">Cảnh báo: Tính năng thử nghiệm</translation>
 <translation id="7846634333498149051">Bàn phím</translation>
+<translation id="7860671499921112077">Vuốt lên bằng 3 ngón tay để chuyển sang chế độ Tổng quan</translation>
 <translation id="7868900307798234037">Mở khóa bằng vân tay</translation>
 <translation id="7872786842639831132">Tắt</translation>
 <translation id="7886169021410746335">Điều chỉnh các tùy chọn cài đặt quyền riêng tư</translation>
@@ -743,6 +758,7 @@
 <translation id="8152092012181020186">Nhấn tổ hợp phím Ctrl + W để đóng.</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> Quản trị viên của bạn quản lý tùy chọn cài đặt này.</translation>
 <translation id="8167567890448493835">Đang dùng <ph name="LOCALE_NAME" /></translation>
+<translation id="8170567869359129153">Mạng di động. Cường độ tín hiệu: <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8192202700944119416">Đã ẩn thông báo.</translation>
 <translation id="8196787716797768628">Dùng cử chỉ để chuyển đổi nhanh giữa các ứng dụng và tương tác với Chromebook ở chế độ máy tính bảng.</translation>
 <translation id="8200772114523450471">Tiếp tục</translation>
@@ -752,6 +768,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />, Pin điện thoại <ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409">Nhấn Enter để mở khóa cho <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="8261506727792406068">Xóa</translation>
+<translation id="8284362522226889623">Hãy vuốt sang trái bằng 4 ngón tay để chuyển sang không gian làm việc trước</translation>
 <translation id="828708037801473432">Đang tắt</translation>
 <translation id="8297006494302853456">Yếu</translation>
 <translation id="8308637677604853869">Menu trước</translation>
@@ -808,6 +825,7 @@
 <translation id="8785070478575117577">Kết nối với <ph name="NETWORK_NAME" /></translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />. <ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
+<translation id="881757059229893486">Tùy chọn cài đặt phương thức nhập</translation>
 <translation id="8825863694328519386">Vuốt từ trái sang để quay lại</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8841375032071747811">Nút quay lại</translation>
diff --git a/ash/strings/ash_strings_zh-TW.xtb b/ash/strings/ash_strings_zh-TW.xtb
index be561d7..ea79981df 100644
--- a/ash/strings/ash_strings_zh-TW.xtb
+++ b/ash/strings/ash_strings_zh-TW.xtb
@@ -98,6 +98,7 @@
 <translation id="1838895407229022812">夜燈模式已關閉。</translation>
 <translation id="1850504506766569011">Wi-Fi 已關閉。</translation>
 <translation id="1864454756846565995">USB-C 裝置 (背面連接埠)</translation>
+<translation id="1882814835921407042">沒有行動網路</translation>
 <translation id="1882897271359938046">正在建立 <ph name="DISPLAY_NAME" /> 鏡像</translation>
 <translation id="1885785240814121742">使用指紋解鎖</translation>
 <translation id="1888656773939766144"><ph name="DISPLAY_NAME" /> 不支援 <ph name="SPECIFIED_RESOLUTION" /> (<ph name="SPECIFIED_REFRESH_RATE" /> Hz)。解析度已變更為 <ph name="FALLBACK_RESOLUTION" /> (<ph name="FALLBACK_REFRESH_RATE" />)。請按一下 [確認] 以保留變更。系統會在 <ph name="TIMEOUT_SECONDS" />後還原先前的設定。</translation>
@@ -119,6 +120,7 @@
 <translation id="2049240716062114887">已將桌面名稱變更為「<ph name="DESK_NAME" />」</translation>
 <translation id="2050339315714019657">直向</translation>
 <translation id="2067602449040652523">鍵盤亮度</translation>
+<translation id="2078034614700056995">以四指向右滑動即可切換至下一個桌面</translation>
 <translation id="2083190527011054446">晚安,<ph name="GIVEN_NAME" />:</translation>
 <translation id="209965399369889474">未連上網路</translation>
 <translation id="2126242104232412123">新增虛擬桌面</translation>
@@ -126,6 +128,7 @@
 <translation id="2132302418721800944">錄製全螢幕畫面</translation>
 <translation id="2135456203358955318">停駐放大鏡</translation>
 <translation id="2158971754079422508"><ph name="DESC_TEXT" />:重試</translation>
+<translation id="2170530631236737939">以三指向下滑動即可結束「總覽」</translation>
 <translation id="2208323208084708176">整合桌面模式</translation>
 <translation id="2220572644011485463">PIN 或密碼</translation>
 <translation id="2222338659135520253">必須登入</translation>
@@ -234,6 +237,7 @@
 <translation id="3236488194889173876">沒有可用的行動網路</translation>
 <translation id="3249513730522716925">「<ph name="WINDOW_TITLE" />」視窗已從桌面 <ph name="ACTIVE_DESK" /> 移動到桌面 <ph name="TARGET_DESK" /></translation>
 <translation id="3255483164551725916">你會做些什麼?</translation>
+<translation id="3289674678944039601">正在透過變壓器充電</translation>
 <translation id="3290356915286466215">不安全</translation>
 <translation id="3294437725009624529">訪客</translation>
 <translation id="3307642347673023554">已切換為筆記型電腦模式</translation>
@@ -292,6 +296,7 @@
 <translation id="3799080171973636491">你按下了全螢幕放大鏡的鍵盤快速鍵。確定要啟用這項功能嗎?</translation>
 <translation id="380165613292957338">你好,需要什麼協助嗎?</translation>
 <translation id="3826099427150913765">切換為密碼</translation>
+<translation id="383058930331066723">節約耗電量模式已開啟</translation>
 <translation id="383629559565718788">顯示鍵盤設定</translation>
 <translation id="3846214748874656680">結束全螢幕</translation>
 <translation id="3846575436967432996">沒有可用的網路資訊</translation>
@@ -336,6 +341,7 @@
 <translation id="4217571870635786043">語音輸入</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4250229828105606438">螢幕截圖</translation>
+<translation id="425364040945105958">沒有 SIM 卡</translation>
 <translation id="4261870227682513959">顯示通知設定。已關閉所有通知</translation>
 <translation id="4267383818855338811">有虛擬機器正在使用攝影機</translation>
 <translation id="4269883910223712419">這部裝置的管理員擁有下列權限:</translation>
@@ -468,14 +474,17 @@
 <translation id="54609108002486618">受管理</translation>
 <translation id="5465662442746197494">需要協助嗎?</translation>
 <translation id="5496819745535887422">你的管理員正在復原你的裝置。重新啟動後,裝置上的資料將全數刪除。</translation>
+<translation id="5516420770350073386">系統管理員因為螢幕上的內容,已停止錄製螢幕畫面。</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5523434445161341166">「<ph name="FEATURE_NAME" />」正在連線。</translation>
+<translation id="5532994612895037630">輕觸任一處即可錄製全螢幕畫面</translation>
 <translation id="553675580533261935">結束工作階段</translation>
 <translation id="5537725057119320332">投放</translation>
 <translation id="554893713779400387">切換語音輸入</translation>
 <translation id="556042886152191864">按鈕</translation>
 <translation id="5571066253365925590">藍牙已啟用</translation>
 <translation id="557563299383177668">下一段</translation>
+<translation id="55808498489107691">系統管理員因為螢幕上的內容,已禁止擷取螢幕畫面。</translation>
 <translation id="558849140439112033">拖曳選取要擷圖的區域</translation>
 <translation id="5597451508971090205"><ph name="DATE" /><ph name="SHORT_WEEKDAY" /></translation>
 <translation id="5600837773213129531">按下 Ctrl + Alt + Z 鍵即可停用互動朗讀功能。</translation>
@@ -526,6 +535,7 @@
 <translation id="602001110135236999">向左捲動</translation>
 <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />,<ph name="CONNECTION_STATUS" />,訊號強度 <ph name="SIGNAL_STRENGTH" />,由系統管理員管理</translation>
 <translation id="6030495522958826102">已將選單移至畫面左下角。</translation>
+<translation id="6032620807120418574">點擊任一處即可錄製全螢幕畫面</translation>
 <translation id="6040143037577758943">關閉</translation>
 <translation id="6043212731627905357">這個顯示器與你的 <ph name="DEVICE_TYPE" /> 不相容 (這是不支援的顯示器)。</translation>
 <translation id="6043994281159824495">立即登出</translation>
@@ -534,6 +544,7 @@
 <translation id="6059276912018042191">最近開啟的 Chrome 分頁</translation>
 <translation id="6062360702481658777">你將於 <ph name="LOGOUT_TIME_LEFT" />後自動登出。</translation>
 <translation id="607652042414456612">你的電腦已開放附近的藍牙裝置搜尋,顯示名稱為「<ph name="NAME" />」,位址則是 <ph name="ADDRESS" /></translation>
+<translation id="6119360623251949462"><ph name="CHARGING_STATE" />。<ph name="BATTERY_SAVER_STATE" /></translation>
 <translation id="612734058257491180">Google 助理不支援訪客工作階段。</translation>
 <translation id="6137566720514957455">開啟移除 <ph name="USER_EMAIL_ADDRESS" /> 的對話方塊</translation>
 <translation id="615957422585914272">顯示螢幕小鍵盤</translation>
@@ -548,6 +559,7 @@
 <translation id="6283712521836204486">零打擾模式已關閉。</translation>
 <translation id="6284232397434400372">解析度已變更</translation>
 <translation id="6288235558961782912">取得家長同意後即可再次新增 <ph name="USER_EMAIL_ADDRESS" />。</translation>
+<translation id="6291221004442998378">非充電中</translation>
 <translation id="6297287540776456956">使用觸控筆選取擷取範圍</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> 已旋轉到<ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">語音</translation>
@@ -576,6 +588,7 @@
 <translation id="6537924328260219877">訊號強度 <ph name="SIGNAL_STRENGTH" />,手機電量:<ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">正在投放至<ph name="RECEIVER_NAME" /></translation>
 <translation id="6559976592393364813">詢問系統管理員</translation>
+<translation id="6570902864550063460">正在透過 USB 充電</translation>
 <translation id="6585808820553845416">這個工作階段將在 <ph name="SESSION_TIME_REMAINING" />後結束。</translation>
 <translation id="661203523074512333"><ph name="SECURITY_STATUS" />,訊號強度 <ph name="SIGNAL_STRENGTH" />,由系統管理員管理</translation>
 <translation id="6614169507485700968">已啟用隱私保護畫面</translation>
@@ -653,6 +666,7 @@
 <translation id="7377169924702866686">大寫鍵已啟用。</translation>
 <translation id="7378203170292176219">拖曳選取要錄影的區域</translation>
 <translation id="7378594059915113390">媒體控制項</translation>
+<translation id="7378889811480108604">節約耗電量模式已關閉</translation>
 <translation id="7392563512730092880">你稍後可以隨時前往「設定」頁面進行設定。</translation>
 <translation id="7398254312354928459">已切換網路連線</translation>
 <translation id="7405710164030118432">如要將這部裝置解鎖,請輸入你的 Family Link 家長存取碼</translation>
@@ -702,6 +716,7 @@
 <translation id="7837740436429729974">時間到</translation>
 <translation id="7842569679327885685">警告:實驗功能</translation>
 <translation id="7846634333498149051">鍵盤</translation>
+<translation id="7860671499921112077">以三指向上滑動即可進入「總覽」</translation>
 <translation id="7868900307798234037">指紋辨識成功,正在解鎖</translation>
 <translation id="7872786842639831132">關閉</translation>
 <translation id="7886169021410746335">調整隱私權設定</translation>
@@ -743,6 +758,7 @@
 <translation id="8152092012181020186">按下 Ctrl + W 即可關閉。</translation>
 <translation id="8155007568264258537"><ph name="FEATURE_NAME" /> 這項設定是由系統管理員管理。</translation>
 <translation id="8167567890448493835">使用<ph name="LOCALE_NAME" /></translation>
+<translation id="8170567869359129153">行動網路。訊號強度 <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8192202700944119416">已隱藏通知。</translation>
 <translation id="8196787716797768628">在平板電腦模式中使用手勢快速切換應用程式,並與 Chromebook 互動。</translation>
 <translation id="8200772114523450471">繼續</translation>
@@ -752,6 +768,7 @@
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />,訊號強度 <ph name="SIGNAL_STRENGTH" />,手機電量:<ph name="BATTERY_STATUS" /></translation>
 <translation id="826107067893790409">按下 Enter 鍵即可解除鎖定 <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="8261506727792406068">刪除</translation>
+<translation id="8284362522226889623">以四指向左滑動即可切換至上一個桌面</translation>
 <translation id="828708037801473432">關閉</translation>
 <translation id="8297006494302853456">弱</translation>
 <translation id="8308637677604853869">前一個選單</translation>
@@ -808,6 +825,7 @@
 <translation id="8785070478575117577">連線至「<ph name="NETWORK_NAME" />」</translation>
 <translation id="8788027118671217603"><ph name="STATE_TEXT" />。<ph name="ENTERPRISE_TEXT" /></translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
+<translation id="881757059229893486">輸入法設定</translation>
 <translation id="8825863694328519386">從螢幕左側向右滑動即可返回</translation>
 <translation id="8828714802988429505">90 度</translation>
 <translation id="8841375032071747811">返回按鈕</translation>
diff --git a/ash/strings/ash_strings_zu.xtb b/ash/strings/ash_strings_zu.xtb
index 523a1c9c..849bda9a 100644
--- a/ash/strings/ash_strings_zu.xtb
+++ b/ash/strings/ash_strings_zu.xtb
@@ -185,6 +185,7 @@
 <translation id="2718395828230677721">Ukukhanya</translation>
 <translation id="2727175239389218057">Phendula</translation>
 <translation id="2727977024730340865">Ixhunye kushaja yamandla aphansi. Ukushaja ibhethri kungenzeka kungathembeki.</translation>
+<translation id="2778650143428714839">I-<ph name="DEVICE_TYPE" /> iphethwe yi-<ph name="MANAGER" /></translation>
 <translation id="2792498699870441125">I-Alt+Search</translation>
 <translation id="2819276065543622893">Uzokhishwa ngemvume manje.</translation>
 <translation id="28232023175184696">Ayikwazi ukuxhuma ku-inthanethi. Chofoza ukuze uzame futhi.</translation>
@@ -563,6 +564,7 @@
 <translation id="6297287540776456956">Sebenzisa i-stylus ukuze ukhethe indawo</translation>
 <translation id="6310121235600822547">I-<ph name="DISPLAY_NAME" /> iphendukiselwe ku-<ph name="ROTATION" /></translation>
 <translation id="6315170314923504164">Izwi</translation>
+<translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> iseshini ephethwe ngu-<ph name="MANAGER" /></translation>
 <translation id="6376931439017688372">I-Bluetooth ivuliwe</translation>
 <translation id="6381109794406942707">Ukuze uvule idivayisi, faka iphinikhodi.</translation>
 <translation id="639644700271529076">I-CAPS LOCK ivaliwe</translation>
diff --git a/ash/system/phonehub/phone_hub_metrics.cc b/ash/system/phonehub/phone_hub_metrics.cc
index 1b4513c..20b7c01 100644
--- a/ash/system/phonehub/phone_hub_metrics.cc
+++ b/ash/system/phonehub/phone_hub_metrics.cc
@@ -15,19 +15,19 @@
 std::string GetInterstitialScreenEventHistogramName(Screen screen) {
   switch (screen) {
     case Screen::kPhoneDisconnected:
-      return "Ash.PhoneHub.InterstitialScreenEvent.PhoneDisconnected";
+      return "PhoneHub.InterstitialScreenEvent.PhoneDisconnected";
     case Screen::kBluetoothOrWifiDisabled:
-      return "Ash.PhoneHub.InterstitialScreenEvent.BluetoothOrWifiDisabled";
+      return "PhoneHub.InterstitialScreenEvent.BluetoothOrWifiDisabled";
     case Screen::kPhoneConnecting:
-      return "Ash.PhoneHub.InterstitialScreenEvent.PhoneConnecting";
+      return "PhoneHub.InterstitialScreenEvent.PhoneConnecting";
     case Screen::kOnboardingExistingMultideviceUser:
-      return "Ash.PhoneHub.InterstitialScreenEvent.Onboarding."
+      return "PhoneHub.InterstitialScreenEvent.Onboarding."
              "ExistingMultideviceUser";
     case Screen::kOnboardingNewMultideviceUser:
-      return "Ash.PhoneHub.InterstitialScreenEvent.Onboarding."
+      return "PhoneHub.InterstitialScreenEvent.Onboarding."
              "NewMultideviceUser";
     case Screen::kOnboardingDismissPrompt:
-      return "Ash.PhoneHub.InterstitialScreenEvent.OnboardingDismissPrompt";
+      return "PhoneHub.InterstitialScreenEvent.OnboardingDismissPrompt";
     default:
       DCHECK(false) << "Invalid interstitial screen";
       return "";
@@ -42,33 +42,32 @@
 }
 
 void LogScreenOnBubbleOpen(Screen screen) {
-  base::UmaHistogramEnumeration("Ash.PhoneHub.ScreenOnBubbleOpen", screen);
+  base::UmaHistogramEnumeration("PhoneHub.ScreenOnBubbleOpen", screen);
 }
 
 void LogScreenOnBubbleClose(Screen screen) {
-  base::UmaHistogramEnumeration("Ash.PhoneHub.ScreenOnBubbleClose", screen);
+  base::UmaHistogramEnumeration("PhoneHub.ScreenOnBubbleClose", screen);
 }
 
 void LogScreenOnSettingsButtonClicked(Screen screen) {
-  base::UmaHistogramEnumeration("Ash.PhoneHub.Screen.OnSettingsButtonClicked",
+  base::UmaHistogramEnumeration("PhoneHub.Screen.OnSettingsButtonClicked",
                                 screen);
 }
 
 void LogNotificationOptInEvent(InterstitialScreenEvent event) {
-  base::UmaHistogramEnumeration("Ash.PhoneHub.NotificationOptIn", event);
+  base::UmaHistogramEnumeration("PhoneHub.NotificationOptIn", event);
 }
 
 void LogTabContinuationChipClicked(int tab_index) {
-  base::UmaHistogramCounts100("Ash.PhoneHub.TabContinuationChipClicked",
-                              tab_index);
+  base::UmaHistogramCounts100("PhoneHub.TabContinuationChipClicked", tab_index);
 }
 
 void LogQuickActionClick(QuickAction action) {
-  base::UmaHistogramEnumeration("Ash.PhoneHub.QuickActionClicked", action);
+  base::UmaHistogramEnumeration("PhoneHub.QuickActionClicked", action);
 }
 
 void LogNotificationCount(int count) {
-  base::UmaHistogramCounts100("Ash.PhoneHub.NotificationCount", count);
+  base::UmaHistogramCounts100("PhoneHub.NotificationCount", count);
 }
 
 }  // namespace phone_hub_metrics
diff --git a/ash/system/phonehub/phone_hub_notification_controller.cc b/ash/system/phonehub/phone_hub_notification_controller.cc
index df40be5..00c5ad0 100644
--- a/ash/system/phonehub/phone_hub_notification_controller.cc
+++ b/ash/system/phonehub/phone_hub_notification_controller.cc
@@ -15,6 +15,7 @@
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/memory/weak_ptr.h"
+#include "base/stl_util.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/timer/timer.h"
@@ -221,12 +222,15 @@
     chromeos::phonehub::PhoneHubManager* phone_hub_manager) {
   chromeos::phonehub::NotificationManager* notification_manager =
       phone_hub_manager->GetNotificationManager();
+  chromeos::phonehub::FeatureStatusProvider* feature_status_provider =
+      phone_hub_manager->GetFeatureStatusProvider();
   chromeos::phonehub::TetherController* tether_controller =
       phone_hub_manager->GetTetherController();
   phone_model_ = phone_hub_manager->GetPhoneModel();
 
   if (manager_ == notification_manager &&
-      tether_controller_ == tether_controller) {
+      tether_controller_ == tether_controller &&
+      feature_status_provider_ == feature_status_provider) {
     return;
   }
 
@@ -236,6 +240,12 @@
   manager_ = notification_manager;
   manager_->AddObserver(this);
 
+  if (feature_status_provider_)
+    feature_status_provider_->RemoveObserver(this);
+
+  feature_status_provider_ = feature_status_provider;
+  feature_status_provider_->AddObserver(this);
+
   if (tether_controller_)
     tether_controller_->RemoveObserver(this);
 
@@ -249,6 +259,21 @@
   return phone_model_->phone_name().value_or(base::string16());
 }
 
+void PhoneHubNotificationController::OnFeatureStatusChanged() {
+  DCHECK(feature_status_provider_);
+
+  auto status = feature_status_provider_->GetStatus();
+  bool is_feature_enabled =
+      status == chromeos::phonehub::FeatureStatus::kEnabledButDisconnected ||
+      status == chromeos::phonehub::FeatureStatus::kEnabledAndConnecting ||
+      status == chromeos::phonehub::FeatureStatus::kEnabledAndConnected;
+
+  // Reset the set of shown notifications when PhoneHub is no longer available
+  // (e.g. when the screen is locked).
+  if (!is_feature_enabled)
+    shown_notification_ids_.clear();
+}
+
 void PhoneHubNotificationController::OnNotificationsAdded(
     const base::flat_set<int64_t>& notification_ids) {
   for (int64_t id : notification_ids) {
@@ -353,6 +378,7 @@
 
   auto cros_notification = CreateNotification(notification, cros_id, delegate);
   cros_notification->set_custom_view_type(kNotificationCustomViewType);
+  shown_notification_ids_.insert(phone_hub_id);
 
   auto* message_center = message_center::MessageCenter::Get();
   if (notification_already_exists)
@@ -403,7 +429,12 @@
       optional_fields.priority = message_center::LOW_PRIORITY;
       break;
     case chromeos::phonehub::Notification::Importance::kHigh:
-      optional_fields.priority = message_center::MAX_PRIORITY;
+      // If the notification has already been shown in the past (even across
+      // disconnects), then downgrade the priority so it's not a pop-up.
+      if (base::Contains(shown_notification_ids_, notification->id()))
+        optional_fields.priority = message_center::LOW_PRIORITY;
+      else
+        optional_fields.priority = message_center::MAX_PRIORITY;
       break;
   }
 
diff --git a/ash/system/phonehub/phone_hub_notification_controller.h b/ash/system/phonehub/phone_hub_notification_controller.h
index d2320e0..e7bf8f5 100644
--- a/ash/system/phonehub/phone_hub_notification_controller.h
+++ b/ash/system/phonehub/phone_hub_notification_controller.h
@@ -8,6 +8,7 @@
 #include <map>
 
 #include "ash/ash_export.h"
+#include "chromeos/components/phonehub/feature_status_provider.h"
 #include "chromeos/components/phonehub/notification_manager.h"
 #include "chromeos/components/phonehub/tether_controller.h"
 
@@ -29,7 +30,8 @@
 // This controller creates and manages a message_center::Notification for each
 // PhoneHub corresponding notification.
 class ASH_EXPORT PhoneHubNotificationController
-    : public chromeos::phonehub::NotificationManager::Observer,
+    : public chromeos::phonehub::FeatureStatusProvider::Observer,
+      public chromeos::phonehub::NotificationManager::Observer,
       public chromeos::phonehub::TetherController::Observer {
  public:
   PhoneHubNotificationController();
@@ -53,6 +55,9 @@
 
   class NotificationDelegate;
 
+  // chromeos::phonehub::FeatureStatusProvider::Observer:
+  void OnFeatureStatusChanged() override;
+
   // chromeos::phonehub::NotificationManager::Observer:
   void OnNotificationsAdded(
       const base::flat_set<int64_t>& notification_ids) override;
@@ -91,11 +96,17 @@
       const message_center::Notification& notification);
 
   chromeos::phonehub::NotificationManager* manager_ = nullptr;
+  chromeos::phonehub::FeatureStatusProvider* feature_status_provider_ = nullptr;
   chromeos::phonehub::TetherController* tether_controller_ = nullptr;
   chromeos::phonehub::PhoneModel* phone_model_ = nullptr;
   std::unordered_map<int64_t, std::unique_ptr<NotificationDelegate>>
       notification_map_;
 
+  // A set of notification ids that have been previously shown, even across
+  // disconnects. This is needed to prevent pop-ups from reappearing due to a
+  // flaky connection. See crbug.com/1150621.
+  std::unordered_set<uint64_t> shown_notification_ids_;
+
   base::WeakPtrFactory<PhoneHubNotificationController> weak_ptr_factory_{this};
 };
 
diff --git a/ash/system/phonehub/phone_hub_notification_controller_unittest.cc b/ash/system/phonehub/phone_hub_notification_controller_unittest.cc
index 24f0dde3..e09511e 100644
--- a/ash/system/phonehub/phone_hub_notification_controller_unittest.cc
+++ b/ash/system/phonehub/phone_hub_notification_controller_unittest.cc
@@ -11,6 +11,7 @@
 #include "base/containers/flat_set.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/scoped_feature_list.h"
+#include "chromeos/components/phonehub/fake_feature_status_provider.h"
 #include "chromeos/components/phonehub/fake_notification_manager.h"
 #include "chromeos/components/phonehub/fake_phone_hub_manager.h"
 #include "chromeos/components/phonehub/mutable_phone_model.h"
@@ -66,6 +67,11 @@
     feature_list_.InitAndEnableFeature(chromeos::features::kPhoneHub);
     AshTestBase::SetUp();
 
+    feature_status_provider_ =
+        phone_hub_manager_.fake_feature_status_provider();
+    feature_status_provider_->SetStatus(
+        chromeos::phonehub::FeatureStatus::kEnabledAndConnected);
+
     message_center_ = message_center::MessageCenter::Get();
 
     controller_ = Shell::Get()
@@ -79,11 +85,16 @@
     fake_notifications_.insert(CreateNotification(kPhoneHubNotificationId2));
   }
 
+  message_center::Notification* FindNotification(const std::string& cros_id) {
+    return message_center_->FindVisibleNotificationById(cros_id);
+  }
+
  protected:
   base::test::ScopedFeatureList feature_list_;
   message_center::MessageCenter* message_center_;
   chromeos::phonehub::FakePhoneHubManager phone_hub_manager_;
   chromeos::phonehub::FakeNotificationManager* notification_manager_;
+  chromeos::phonehub::FakeFeatureStatusProvider* feature_status_provider_;
   PhoneHubNotificationController* controller_;
   base::flat_set<chromeos::phonehub::Notification> fake_notifications_;
 };
@@ -93,15 +104,11 @@
   notification_manager_->SetNotificationsInternal(fake_notifications_);
   EXPECT_EQ(3u, message_center_->NotificationCount());
 
-  ASSERT_TRUE(
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId0));
-  ASSERT_TRUE(
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId1));
-  ASSERT_TRUE(
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId2));
+  ASSERT_TRUE(FindNotification(kCrOSNotificationId0));
+  ASSERT_TRUE(FindNotification(kCrOSNotificationId1));
+  ASSERT_TRUE(FindNotification(kCrOSNotificationId2));
 
-  auto* sample_notification =
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId1);
+  auto* sample_notification = FindNotification(kCrOSNotificationId1);
   EXPECT_EQ(base::UTF8ToUTF16(kTitle), sample_notification->title());
   EXPECT_EQ(base::UTF8ToUTF16(kTextContent), sample_notification->message());
 }
@@ -111,8 +118,7 @@
   notification_manager_->SetNotificationsInternal(fake_notifications_);
   EXPECT_EQ(3u, message_center_->NotificationCount());
 
-  auto* notification =
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId1);
+  auto* notification = FindNotification(kCrOSNotificationId1);
   EXPECT_EQ(base::UTF8ToUTF16(kTitle), notification->title());
   EXPECT_EQ(base::UTF8ToUTF16(kTextContent), notification->message());
 
@@ -129,8 +135,7 @@
 
   notification_manager_->SetNotification(updated_notification);
 
-  notification =
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId1);
+  notification = FindNotification(kCrOSNotificationId1);
   EXPECT_EQ(base::UTF8ToUTF16(kNewTitle), notification->title());
   EXPECT_EQ(base::UTF8ToUTF16(kNewTextContent), notification->message());
 }
@@ -142,8 +147,7 @@
 
   notification_manager_->RemoveNotification(kPhoneHubNotificationId0);
   EXPECT_EQ(2u, message_center_->NotificationCount());
-  EXPECT_FALSE(
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId0));
+  EXPECT_FALSE(FindNotification(kCrOSNotificationId0));
 
   notification_manager_->RemoveNotificationsInternal(base::flat_set<int64_t>(
       {kPhoneHubNotificationId1, kPhoneHubNotificationId2}));
@@ -188,8 +192,7 @@
 
 TEST_F(PhoneHubNotificationControllerTest, ClickSettings) {
   notification_manager_->SetNotificationsInternal(fake_notifications_);
-  EXPECT_TRUE(
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId0));
+  EXPECT_TRUE(FindNotification(kCrOSNotificationId0));
   EXPECT_EQ(0, GetSystemTrayClient()->show_connected_devices_settings_count());
 
   message_center_->ClickOnSettingsButton(kCrOSNotificationId0);
@@ -223,8 +226,7 @@
 
   notification_manager_->SetNotification(fake_notification);
 
-  auto* cros_notification =
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId0);
+  auto* cros_notification = FindNotification(kCrOSNotificationId0);
   ASSERT_TRUE(cros_notification);
   EXPECT_EQ(timestamp, cros_notification->timestamp());
   EXPECT_EQ(message_center::MAX_PRIORITY, cros_notification->priority());
@@ -240,8 +242,7 @@
 
 TEST_F(PhoneHubNotificationControllerTest, NotificationHasCustomViewType) {
   notification_manager_->SetNotificationsInternal(fake_notifications_);
-  auto* notification =
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId0);
+  auto* notification = FindNotification(kCrOSNotificationId0);
 
   // Notification should have a correct customize type.
   EXPECT_EQ(kNotificationCustomViewType, notification->custom_view_type());
@@ -249,8 +250,7 @@
 
 TEST_F(PhoneHubNotificationControllerTest, NotificationHasPhoneName) {
   notification_manager_->SetNotificationsInternal(fake_notifications_);
-  auto* notification =
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId0);
+  auto* notification = FindNotification(kCrOSNotificationId0);
 
   const base::string16 expected_phone_name = base::UTF8ToUTF16("Phone name");
   phone_hub_manager_.mutable_phone_model()->SetPhoneName(expected_phone_name);
@@ -270,8 +270,7 @@
 
 TEST_F(PhoneHubNotificationControllerTest, ReplyBrieflyDisabled) {
   notification_manager_->SetNotificationsInternal(fake_notifications_);
-  auto* notification =
-      message_center_->FindVisibleNotificationById(kCrOSNotificationId0);
+  auto* notification = FindNotification(kCrOSNotificationId0);
 
   auto notification_view =
       PhoneHubNotificationController::CreateCustomNotificationView(
@@ -292,4 +291,49 @@
   EXPECT_TRUE(reply_button->GetEnabled());
 }
 
+TEST_F(PhoneHubNotificationControllerTest, DoNotReshowPopupNotification) {
+  chromeos::phonehub::Notification fake_notification(
+      kPhoneHubNotificationId0,
+      chromeos::phonehub::Notification::AppMetadata(base::UTF8ToUTF16(kAppName),
+                                                    kPackageName,
+                                                    /*icon=*/gfx::Image()),
+      base::Time::Now(), chromeos::phonehub::Notification::Importance::kHigh,
+      /*inline_reply_id=*/0, base::UTF8ToUTF16(kTitle),
+      base::UTF8ToUTF16(kTextContent));
+
+  // Adding the notification for the first time shows a pop-up (MAX_PRIORITY).
+  notification_manager_->SetNotification(fake_notification);
+  auto* cros_notification = FindNotification(kCrOSNotificationId0);
+  ASSERT_TRUE(cros_notification);
+  EXPECT_EQ(message_center::MAX_PRIORITY, cros_notification->priority());
+
+  feature_status_provider_->SetStatus(
+      chromeos::phonehub::FeatureStatus::kEnabledAndConnecting);
+  feature_status_provider_->SetStatus(
+      chromeos::phonehub::FeatureStatus::kEnabledAndConnected);
+
+  // Removing and readding the notification (e.g. across disconnects) should
+  // downgrade the priority so it doesn't pop-up again.
+  notification_manager_->RemoveNotification(kPhoneHubNotificationId0);
+  ASSERT_FALSE(FindNotification(kCrOSNotificationId0));
+  notification_manager_->SetNotification(fake_notification);
+  cros_notification = FindNotification(kCrOSNotificationId0);
+  ASSERT_TRUE(cros_notification);
+  EXPECT_EQ(message_center::LOW_PRIORITY, cros_notification->priority());
+
+  // Disconnect due to screen lock.
+  feature_status_provider_->SetStatus(
+      chromeos::phonehub::FeatureStatus::kLockOrSuspended);
+  notification_manager_->RemoveNotification(kPhoneHubNotificationId0);
+  ASSERT_FALSE(FindNotification(kCrOSNotificationId0));
+
+  // Reconnect and notification should be reshown as a pop-up.
+  feature_status_provider_->SetStatus(
+      chromeos::phonehub::FeatureStatus::kEnabledAndConnected);
+  notification_manager_->SetNotification(fake_notification);
+  cros_notification = FindNotification(kCrOSNotificationId0);
+  ASSERT_TRUE(cros_notification);
+  EXPECT_EQ(message_center::MAX_PRIORITY, cros_notification->priority());
+}
+
 }  // namespace ash
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 894f13d..066b973 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -3864,6 +3864,7 @@
     ]
 
     sources = [
+      "test/android/javatests/src/org/chromium/base/test/BaseActivityTestRule.java",
       "test/android/javatests/src/org/chromium/base/test/BaseChromiumAndroidJUnitRunner.java",
       "test/android/javatests/src/org/chromium/base/test/BaseChromiumRunnerCommon.java",
       "test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java",
diff --git a/base/android/bundle_utils.cc b/base/android/bundle_utils.cc
index 7558b17..c2f6a84 100644
--- a/base/android/bundle_utils.cc
+++ b/base/android/bundle_utils.cc
@@ -51,15 +51,17 @@
 }  // namespace
 
 // static
-std::string BundleUtils::ResolveLibraryPath(const std::string& library_name) {
+std::string BundleUtils::ResolveLibraryPath(const std::string& library_name,
+                                            const std::string& split_name) {
   JNIEnv* env = AttachCurrentThread();
   ScopedJavaLocalRef<jstring> java_path = Java_BundleUtils_getNativeLibraryPath(
-      env, base::android::ConvertUTF8ToJavaString(env, library_name));
+      env, ConvertUTF8ToJavaString(env, library_name),
+      ConvertUTF8ToJavaString(env, split_name));
   // TODO(https://crbug.com/1019853): Remove this tolerance.
   if (!java_path) {
     return std::string();
   }
-  return base::android::ConvertJavaStringToUTF8(env, java_path);
+  return ConvertJavaStringToUTF8(env, java_path);
 }
 
 // static
@@ -70,9 +72,10 @@
 
 // static
 void* BundleUtils::DlOpenModuleLibraryPartition(const std::string& library_name,
-                                                const std::string& partition) {
+                                                const std::string& partition,
+                                                const std::string& split_name) {
   // TODO(https://crbug.com/1019853): Remove this tolerance.
-  std::string library_path = ResolveLibraryPath(library_name);
+  std::string library_path = ResolveLibraryPath(library_name, split_name);
   if (library_path.empty()) {
     return nullptr;
   }
diff --git a/base/android/bundle_utils.h b/base/android/bundle_utils.h
index 3ad8a12..2efb54b 100644
--- a/base/android/bundle_utils.h
+++ b/base/android/bundle_utils.h
@@ -21,7 +21,8 @@
   // Helper function asking Java to resolve a library path. This is required for
   // resolving a module library made available via SplitCompat, rather than in
   // its eventual fully-installed state.
-  static std::string ResolveLibraryPath(const std::string& library_name);
+  static std::string ResolveLibraryPath(const std::string& library_name,
+                                        const std::string& split_name);
 
   // dlopen wrapper that works for partitioned native libraries in dynamic
   // feature modules. This routine looks up the partition's address space in a
@@ -33,7 +34,8 @@
   // time, and the code is linked into multiple libraries (eg. Chrome vs
   // Monochrome), they may not be.
   static void* DlOpenModuleLibraryPartition(const std::string& library_name,
-                                            const std::string& partition);
+                                            const std::string& partition,
+                                            const std::string& split_name);
 };
 
 }  // namespace android
diff --git a/base/android/java/src/org/chromium/base/BundleUtils.java b/base/android/java/src/org/chromium/base/BundleUtils.java
index 611b6c4..dd2ae192 100644
--- a/base/android/java/src/org/chromium/base/BundleUtils.java
+++ b/base/android/java/src/org/chromium/base/BundleUtils.java
@@ -5,9 +5,12 @@
 package org.chromium.base;
 
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.os.Build;
 
+import androidx.annotation.Nullable;
+
 import dalvik.system.BaseDexClassLoader;
 
 import org.chromium.base.annotations.CalledByNative;
@@ -98,12 +101,53 @@
 
     /* Returns absolute path to a native library in a feature module. */
     @CalledByNative
-    public static String getNativeLibraryPath(String libraryName) {
+    @Nullable
+    public static String getNativeLibraryPath(String libraryName, String splitName) {
         try (StrictModeContext ignored = StrictModeContext.allowDiskReads()) {
             // Due to b/171269960 isolated split class loaders have an empty library path, so check
-            // the base module class loader which loaded BundleUtils.
-            return ((BaseDexClassLoader) BundleUtils.class.getClassLoader())
-                    .findLibrary(libraryName);
+            // the base module class loader first which loaded BundleUtils. If the library is not
+            // found there, attempt to construct the correct library path from the split.
+            String path = ((BaseDexClassLoader) BundleUtils.class.getClassLoader())
+                                  .findLibrary(libraryName);
+            if (path != null) {
+                return path;
+            }
+            return getSplitApkLibraryPath(libraryName, splitName);
+        }
+    }
+
+    // TODO(crbug.com/1150459): Remove this once //clank callers have been converted to the new
+    // version.
+    @Nullable
+    public static String getNativeLibraryPath(String libraryName) {
+        return getNativeLibraryPath(libraryName, "");
+    }
+
+    @Nullable
+    private static String getSplitApkLibraryPath(String libraryName, String splitName) {
+        // If isolated splits aren't supported, the library should have already been found.
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+            return null;
+        }
+
+        ApplicationInfo info = ContextUtils.getApplicationContext().getApplicationInfo();
+        String[] splitNames = ApiHelperForO.getSplitNames(info);
+        if (splitNames == null) {
+            return null;
+        }
+
+        int idx = Arrays.binarySearch(splitNames, splitName);
+        if (idx < 0) {
+            return null;
+        }
+
+        try {
+            String primaryCpuAbi = (String) info.getClass().getField("primaryCpuAbi").get(info);
+            // This matches the logic LoadedApk.java uses to construct library paths.
+            return info.splitSourceDirs[idx] + "!/lib/" + primaryCpuAbi + "/"
+                    + System.mapLibraryName(libraryName);
+        } catch (ReflectiveOperationException e) {
+            throw new RuntimeException(e);
         }
     }
 }
diff --git a/base/test/android/javatests/src/org/chromium/base/test/BaseActivityTestRule.java b/base/test/android/javatests/src/org/chromium/base/test/BaseActivityTestRule.java
new file mode 100644
index 0000000..af570fb
--- /dev/null
+++ b/base/test/android/javatests/src/org/chromium/base/test/BaseActivityTestRule.java
@@ -0,0 +1,94 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.base.test;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.support.test.runner.lifecycle.Stage;
+import android.text.TextUtils;
+
+import androidx.annotation.NonNull;
+
+import org.junit.Assert;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.base.Log;
+import org.chromium.base.test.util.ApplicationTestUtils;
+
+/**
+ * A replacement for ActivityTestRule, designed for use in Chromium. This implementation supports
+ * launching the target activity through a launcher or redirect from another Activity.
+ *
+ * @param <T> The type of Activity this Rule will use.
+ */
+public class BaseActivityTestRule<T extends Activity> implements TestRule {
+    private static final String TAG = "BaseActivityTestRule";
+
+    private final Class<T> mActivityClass;
+    private boolean mFinishActivity = true;
+    private T mActivity;
+
+    /**
+     * @param activityClass The Class of the Activity the TestRule will use.
+     */
+    public BaseActivityTestRule(Class<T> activityClass) {
+        mActivityClass = activityClass;
+    }
+
+    @Override
+    public Statement apply(final Statement base, final Description desc) {
+        return new Statement() {
+            @Override
+            public void evaluate() throws Throwable {
+                base.evaluate();
+                if (mFinishActivity && mActivity != null) {
+                    ApplicationTestUtils.finishActivity(mActivity);
+                }
+            }
+        };
+    }
+
+    /**
+     * @param finishActivity Whether to finish the Activity between tests. This is only meaningful
+     *     in the context of {@link Batch} tests. Non-batched tests will always finish Activities
+     *     between tests.
+     */
+    public void setFinishActivity(boolean finishActivity) {
+        mFinishActivity = finishActivity;
+    }
+
+    /**
+     * @return The activity under test.
+     */
+    public T getActivity() {
+        return mActivity;
+    }
+
+    /**
+     * Set the Activity to be used by this TestRule.
+     */
+    public void setActivity(T activity) {
+        mActivity = activity;
+    }
+
+    /**
+     * Launches the Activity under test using the provided intent.
+     */
+    public void launchActivity(@NonNull Intent startIntent) {
+        String packageName = ContextUtils.getApplicationContext().getPackageName();
+        Assert.assertTrue(TextUtils.equals(startIntent.getPackage(), packageName)
+                || TextUtils.equals(startIntent.getComponent().getPackageName(), packageName));
+
+        startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+        Log.d(TAG, String.format("Launching activity %s", mActivityClass.getName()));
+
+        mActivity = ApplicationTestUtils.waitForActivityWithClass(mActivityClass, Stage.CREATED,
+                () -> ContextUtils.getApplicationContext().startActivity(startIntent));
+    }
+}
diff --git a/base/test/android/javatests/src/org/chromium/base/test/util/ApplicationTestUtils.java b/base/test/android/javatests/src/org/chromium/base/test/util/ApplicationTestUtils.java
index 799c803..bd174282 100644
--- a/base/test/android/javatests/src/org/chromium/base/test/util/ApplicationTestUtils.java
+++ b/base/test/android/javatests/src/org/chromium/base/test/util/ApplicationTestUtils.java
@@ -26,9 +26,16 @@
 
     /** Waits until the given activity transitions to the given state. */
     public static void waitForActivityState(Activity activity, Stage stage) {
-        CriteriaHelper.pollUiThread(() -> {
-            return sMonitor.getLifecycleStageOf(activity) == stage;
-        }, ScalableTimeout.scaleTimeout(10000), CriteriaHelper.DEFAULT_POLLING_INTERVAL);
+        waitForActivityState(null, activity, stage);
+    }
+
+    /** Waits until the given activity transitions to the given state. */
+    public static void waitForActivityState(String failureReason, Activity activity, Stage stage) {
+        CriteriaHelper.pollUiThread(
+                ()
+                        -> { return sMonitor.getLifecycleStageOf(activity) == stage; },
+                failureReason, ScalableTimeout.scaleTimeout(10000),
+                CriteriaHelper.DEFAULT_POLLING_INTERVAL);
     }
 
     /** Finishes the given activity and waits for its onDestroy() to be called. */
@@ -38,7 +45,9 @@
                 activity.finish();
             }
         });
-        waitForActivityState(activity, Stage.DESTROYED);
+        waitForActivityState(
+                "Failed to finish the Activity. Did you start a second Activity and not finish it?",
+                activity, Stage.DESTROYED);
     }
 
     /**
@@ -48,11 +57,25 @@
      * @return The newly created Activity.
      */
     public static <T extends Activity> T recreateActivity(T activity) {
-        final Class<?> activityClass = activity.getClass();
+        return waitForActivityWithClass(
+                activity.getClass(), Stage.RESUMED, () -> activity.recreate());
+    }
+
+    /**
+     * Waits for an activity of the specified class to reach the specified Activity {@link Stage},
+     * triggered by running the provided trigger.
+     *
+     * @param activityClass The class type to wait for.
+     * @param state The Activity {@link Stage} to wait for an activity of the right class type to
+     * reach.
+     * @param trigger The Runnable that will trigger the state change to wait for.
+     */
+    public static <T extends Activity> T waitForActivityWithClass(
+            Class<? extends Activity> activityClass, Stage stage, Runnable trigger) {
         final CallbackHelper activityCallback = new CallbackHelper();
         final AtomicReference<T> activityRef = new AtomicReference<>();
-        ActivityLifecycleCallback stateListener = (Activity newActivity, Stage stage) -> {
-            if (stage == Stage.RESUMED) {
+        ActivityLifecycleCallback stateListener = (Activity newActivity, Stage newStage) -> {
+            if (newStage == stage) {
                 if (!activityClass.isAssignableFrom(newActivity.getClass())) return;
 
                 activityRef.set((T) newActivity);
@@ -62,8 +85,8 @@
         sMonitor.addLifecycleCallback(stateListener);
 
         try {
-            ThreadUtils.runOnUiThreadBlocking(() -> activity.recreate());
-            activityCallback.waitForCallback("Activity did not start as expected", 0);
+            ThreadUtils.runOnUiThreadBlocking(() -> trigger.run());
+            activityCallback.waitForCallback("No Activity reached target state.", 0);
             T createdActivity = activityRef.get();
             Assert.assertNotNull("Activity reference is null.", createdActivity);
             return createdActivity;
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
index 984b087..38fd8380 100644
--- a/base/threading/thread_restrictions.h
+++ b/base/threading/thread_restrictions.h
@@ -173,6 +173,9 @@
 namespace dbus {
 class Bus;
 }
+namespace device {
+class UsbContext;
+}
 namespace disk_cache {
 class BackendImpl;
 class InFlightIO;
@@ -454,6 +457,7 @@
   friend class content::BrowserMainLoop;
   friend class content::BrowserProcessSubThread;
   friend class content::ServiceWorkerContextClient;
+  friend class device::UsbContext;
   friend class functions::ExecScriptScopedAllowBaseSyncPrimitives;
   friend class history_report::HistoryReportJniBridge;
   friend class internal::TaskTracker;
diff --git a/build/android/gyp/proguard.py b/build/android/gyp/proguard.py
index 4d0c6a0..467f2cf 100755
--- a/build/android/gyp/proguard.py
+++ b/build/android/gyp/proguard.py
@@ -407,16 +407,6 @@
         'ink_sdk/com/google/protobuf/MessageLite',
         'com/google/protobuf/GeneratedMessageLite$GeneratedExtension',
 
-        # Definition and usage in currently unused lens sdk in doubledown.
-        ('com/google/android/apps/gsa/search/shared/service/proto/'
-         'PublicStopClientEvent'),
-
-        # Referenced from GeneratedExtensionRegistryLite.
-        # Exists only for Chrome Modern (not Monochrome nor Trichrome).
-        # TODO(agrieve): Figure out why. Perhaps related to Feed V2.
-        ('com/google/wireless/android/play/playlog/proto/ClientAnalytics$'
-         'ClientInfo'),
-
         # TODO(agrieve): Exclude these only when use_jacoco_coverage=true.
         'Ljava/lang/instrument/ClassFileTransformer',
         'Ljava/lang/instrument/IllegalClassFormatException',
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
index 70d3db6..effb1b9 100644
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1105,6 +1105,7 @@
                                "android_manifest",
                                "custom_package",
                                "strip_drawables",
+                               "visibility",
                              ])
       deps = _deps
       deps += [ ":$_build_config_target_name" ]
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index a3546ed2..0d5d9c66 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-0.20201119.1.1
+0.20201119.2.1
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index a3546ed2..0d5d9c66 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-0.20201119.1.1
+0.20201119.2.1
diff --git a/cc/metrics/dropped_frame_counter.cc b/cc/metrics/dropped_frame_counter.cc
index f941a57..99daca0f 100644
--- a/cc/metrics/dropped_frame_counter.cc
+++ b/cc/metrics/dropped_frame_counter.cc
@@ -116,6 +116,12 @@
 
 void DroppedFrameCounter::NotifyFrameResult(const viz::BeginFrameArgs& args,
                                             bool is_dropped) {
+  // Entirely disregard the frames with interval larger than the window --
+  // these are violating the assumptions in the below code and should
+  // only occur with external frame control, where dropped frame stats
+  // are not relevant.
+  if (args.interval >= kSlidingWindowInterval)
+    return;
   sliding_window_.push({args, is_dropped});
   if (is_dropped)
     dropped_frame_count_in_window_++;
@@ -125,15 +131,14 @@
 
   DCHECK_GE(dropped_frame_count_in_window_, 0u);
   DCHECK_GE(sliding_window_.size(), dropped_frame_count_in_window_);
-  DCHECK_GT(kSlidingWindowInterval, args.interval);
-  // args.interval being lower than the window interval guarantees that queue
-  // would not be empty at any point in the loop below.
 
   double percent_dropped_frame =
       (dropped_frame_count_in_window_ * 100.0) / sliding_window_.size();
   sliding_window_max_percent_dropped_ =
       fmax(sliding_window_max_percent_dropped_, percent_dropped_frame);
 
+  // args.interval being lower than the window interval guarantees that queue
+  // would not be empty at any point in the loop below (see check at top).
   while (ComputeCurrentWindowSize() >= kSlidingWindowInterval) {
     if (sliding_window_.front().second)  // If frame is dropped.
       dropped_frame_count_in_window_--;
diff --git a/cc/metrics/dropped_frame_counter_unittest.cc b/cc/metrics/dropped_frame_counter_unittest.cc
index 7915531..4b19bce 100644
--- a/cc/metrics/dropped_frame_counter_unittest.cc
+++ b/cc/metrics/dropped_frame_counter_unittest.cc
@@ -278,6 +278,8 @@
     return dropped_frame_counter_.sliding_window_max_percent_dropped();
   }
 
+  void SetInterval(base::TimeDelta interval) { interval_ = interval; }
+
  private:
   DroppedFrameCounter dropped_frame_counter_;
   TotalFrameCounter total_frame_counter_;
@@ -285,7 +287,7 @@
   uint64_t source_id_ = 1;
   const base::TickClock* tick_clock_ = base::DefaultTickClock::GetInstance();
   base::TimeTicks frame_time_ = tick_clock_->NowTicks();
-  const base::TimeDelta interval_ =
+  base::TimeDelta interval_ =
       base::TimeDelta::FromMicroseconds(16667);  // 16.667 ms
 
   viz::BeginFrameArgs SimulateBeginFrameArgs() {
@@ -343,5 +345,10 @@
   EXPECT_EQ(MaxPercentDroppedFrame(), 40.0);
 }
 
+TEST_F(DroppedFrameCounterTest, NoCrashForIntervalLargerThanWindow) {
+  SetInterval(base::TimeDelta::FromMilliseconds(1000));
+  SimulateFrameSequence({false, false}, 1);
+}
+
 }  // namespace
 }  // namespace cc
diff --git a/cc/paint/image_transfer_cache_entry.cc b/cc/paint/image_transfer_cache_entry.cc
index 37077c2..527866a4 100644
--- a/cc/paint/image_transfer_cache_entry.cc
+++ b/cc/paint/image_transfer_cache_entry.cc
@@ -17,10 +17,10 @@
 #include "third_party/skia/include/core/SkColorSpace.h"
 #include "third_party/skia/include/core/SkImage.h"
 #include "third_party/skia/include/core/SkPixmap.h"
-#include "third_party/skia/include/core/SkYUVAIndex.h"
+#include "third_party/skia/include/core/SkYUVAInfo.h"
 #include "third_party/skia/include/gpu/GrBackendSurface.h"
 #include "third_party/skia/include/gpu/GrDirectContext.h"
-#include "third_party/skia/include/gpu/GrTypes.h"
+#include "third_party/skia/include/gpu/GrYUVABackendTextures.h"
 
 namespace cc {
 namespace {
@@ -48,17 +48,18 @@
 sk_sp<SkImage> MakeYUVImageFromUploadedPlanes(
     GrDirectContext* context,
     const std::vector<sk_sp<SkImage>>& plane_images,
-    YUVDecodeFormat plane_images_format,
+    SkYUVAInfo::PlaneConfig plane_config,
+    SkYUVAInfo::Subsampling subsampling,
     SkYUVColorSpace yuv_color_space,
     sk_sp<SkColorSpace> image_color_space) {
   // 1) Extract the textures.
-  DCHECK_NE(YUVDecodeFormat::kUnknown, plane_images_format);
-  DCHECK_EQ(NumberOfPlanesForYUVDecodeFormat(plane_images_format),
+  DCHECK_NE(SkYUVAInfo::PlaneConfig::kUnknown, plane_config);
+  DCHECK_NE(SkYUVAInfo::Subsampling::kUnknown, subsampling);
+  DCHECK_EQ(static_cast<size_t>(SkYUVAInfo::NumPlanes(plane_config)),
             plane_images.size());
   DCHECK_LE(plane_images.size(),
-            base::checked_cast<size_t>(SkYUVASizeInfo::kMaxCount));
-  std::array<GrBackendTexture, SkYUVASizeInfo::kMaxCount>
-      plane_backend_textures;
+            base::checked_cast<size_t>(SkYUVAInfo::kMaxPlanes));
+  std::array<GrBackendTexture, SkYUVAInfo::kMaxPlanes> plane_backend_textures;
   for (size_t plane = 0u; plane < plane_images.size(); plane++) {
     plane_backend_textures[plane] = plane_images[plane]->getBackendTexture(
         true /* flushPendingGrContextIO */);
@@ -69,31 +70,14 @@
   }
 
   // 2) Create the YUV image.
-  SkYUVAIndex plane_indices[SkYUVAIndex::kIndexCount];
-  if (plane_images_format == YUVDecodeFormat::kYUV3) {
-    plane_indices[SkYUVAIndex::kY_Index] = {0, SkColorChannel::kR};
-    plane_indices[SkYUVAIndex::kU_Index] = {1, SkColorChannel::kR};
-    plane_indices[SkYUVAIndex::kV_Index] = {2, SkColorChannel::kR};
-  } else if (plane_images_format == YUVDecodeFormat::kYVU3) {
-    plane_indices[SkYUVAIndex::kY_Index] = {0, SkColorChannel::kR};
-    plane_indices[SkYUVAIndex::kU_Index] = {2, SkColorChannel::kR};
-    plane_indices[SkYUVAIndex::kV_Index] = {1, SkColorChannel::kR};
-  } else if (plane_images_format == YUVDecodeFormat::kYUV2) {
-    plane_indices[SkYUVAIndex::kY_Index] = {0, SkColorChannel::kR};
-    plane_indices[SkYUVAIndex::kU_Index] = {1, SkColorChannel::kR};
-    plane_indices[SkYUVAIndex::kV_Index] = {1, SkColorChannel::kG};
-  } else {
-    // TODO(crbug.com/910276): handle and test non-opaque images.
-    NOTREACHED();
-    DLOG(ERROR) << "Unsupported planar format";
-    return nullptr;
-  }
-  plane_indices[SkYUVAIndex::kA_Index] = {-1, SkColorChannel::kR};
+  SkYUVAInfo yuva_info(plane_images[0]->dimensions(), plane_config, subsampling,
+                       yuv_color_space);
+  GrYUVABackendTextures yuva_backend_textures(
+      yuva_info, plane_backend_textures.data(), kTopLeft_GrSurfaceOrigin);
   Context* ctx = new Context{plane_images};
   sk_sp<SkImage> image = SkImage::MakeFromYUVATextures(
-      context, yuv_color_space, plane_backend_textures.data(), plane_indices,
-      plane_images[0]->dimensions(), kTopLeft_GrSurfaceOrigin,
-      std::move(image_color_space), ReleaseContext, ctx);
+      context, yuva_backend_textures, std::move(image_color_space),
+      ReleaseContext, ctx);
   if (!image) {
     DLOG(ERROR) << "Could not create YUV image";
     return nullptr;
@@ -190,20 +174,28 @@
 }
 
 ClientImageTransferCacheEntry::ClientImageTransferCacheEntry(
-    const SkPixmap* y_pixmap,
-    const SkPixmap* u_pixmap,
-    const SkPixmap* v_pixmap,
+    const SkPixmap yuva_pixmaps[],
+    SkYUVAInfo::PlaneConfig plane_config,
+    SkYUVAInfo::Subsampling subsampling,
     const SkColorSpace* decoded_color_space,
     SkYUVColorSpace yuv_color_space,
     bool needs_mips)
     : needs_mips_(needs_mips),
-      num_planes_(3),
+      plane_config_(plane_config),
       id_(GetNextId()),
       pixmap_(nullptr),
       target_color_space_(nullptr),
-      yuv_pixmaps_({y_pixmap, u_pixmap, v_pixmap, nullptr}),
       decoded_color_space_(decoded_color_space),
+      subsampling_(subsampling),
       yuv_color_space_(yuv_color_space) {
+  yuv_pixmaps_.emplace(std::array<const SkPixmap*, SkYUVAInfo::kMaxPlanes>());
+  size_t num_yuva_pixmaps =
+      static_cast<size_t>(SkYUVAInfo::NumPlanes(plane_config));
+  DCHECK_GT(num_yuva_pixmaps, 0U);
+  DCHECK_LE(num_yuva_pixmaps, yuv_pixmaps_->size());
+  for (size_t i = 0; i < num_yuva_pixmaps; ++i) {
+    yuv_pixmaps_->at(i) = &yuva_pixmaps[i];
+  }
   DCHECK(IsYuv());
   size_t decoded_color_space_size =
       decoded_color_space ? decoded_color_space->writeToMemory(nullptr) : 0u;
@@ -215,23 +207,23 @@
   // Compute and cache the size of the data.
   base::CheckedNumeric<uint32_t> safe_size;
   safe_size += PaintOpWriter::HeaderBytes();
-  safe_size += sizeof(uint32_t);  // is_yuv
-  safe_size += sizeof(uint32_t);  // num_planes
+  safe_size += sizeof(uint32_t);  // plane_config
+  safe_size += sizeof(uint32_t);  // subsampling
   safe_size += sizeof(uint32_t);  // has mips
   safe_size += sizeof(uint32_t);  // yuv_color_space
   safe_size += sizeof(uint32_t);  // yuv_color_type
   safe_size += decoded_color_space_size + align;
-  safe_size += num_planes_ * sizeof(uint64_t);  // plane widths
-  safe_size += num_planes_ * sizeof(uint64_t);  // plane heights
-  safe_size += num_planes_ * sizeof(uint64_t);  // plane strides
+  safe_size += num_yuva_pixmaps * sizeof(uint64_t);  // plane widths
+  safe_size += num_yuva_pixmaps * sizeof(uint64_t);  // plane heights
+  safe_size += num_yuva_pixmaps * sizeof(uint64_t);  // plane strides
   safe_size +=
-      num_planes_ * (sizeof(uint64_t) + align);  // pixels size + alignment
+      num_yuva_pixmaps * (sizeof(uint64_t) + align);  // pixels size + alignment
   // Include 4 bytes of padding before each plane data chunk so we can always
   // align our data pointer to a 4-byte boundary.
-  safe_size += 4 * num_planes_;
-  safe_size += y_pixmap->computeByteSize();
-  safe_size += u_pixmap->computeByteSize();
-  safe_size += v_pixmap->computeByteSize();
+  safe_size += 4 * num_yuva_pixmaps;
+  for (size_t i = 0; i < num_yuva_pixmaps; ++i) {
+    safe_size += yuv_pixmaps_->at(i)->computeByteSize();
+  }
   size_ = safe_size.ValueOrDie();
 }
 
@@ -250,9 +242,11 @@
 
 void ClientImageTransferCacheEntry::ValidateYUVDataBeforeSerializing() const {
   DCHECK(!pixmap_);
-  DCHECK_LE(yuv_pixmaps_->size(),
-            static_cast<uint32_t>(SkYUVASizeInfo::kMaxCount));
-  for (uint32_t i = 0; i < num_planes_; ++i) {
+  DCHECK_NE(subsampling_, SkYUVAInfo::Subsampling::kUnknown);
+  DCHECK_LE(yuv_pixmaps_->size(), static_cast<size_t>(SkYUVAInfo::kMaxPlanes));
+  size_t num_planes = static_cast<size_t>(SkYUVAInfo::NumPlanes(plane_config_));
+  DCHECK_LE(num_planes, yuv_pixmaps_->size());
+  for (size_t i = 0; i < num_planes; ++i) {
     DCHECK(yuv_pixmaps_->at(i));
     const SkPixmap* plane = yuv_pixmaps_->at(i);
     DCHECK_GT(plane->width(), 0);
@@ -268,16 +262,17 @@
   PaintOp::SerializeOptions options(nullptr, nullptr, nullptr, nullptr, nullptr,
                                     nullptr, false, false, 0, SkMatrix::I());
   PaintOpWriter writer(data.data(), data.size(), options);
-  writer.Write(static_cast<uint32_t>(IsYuv() ? 1 : 0));
+  writer.Write(plane_config_);
 
-  if (IsYuv()) {
+  if (plane_config_ != SkYUVAInfo::PlaneConfig::kUnknown) {
     ValidateYUVDataBeforeSerializing();
-    writer.Write(num_planes_);
+    writer.Write(subsampling_);
+    int num_planes = SkYUVAInfo::NumPlanes(plane_config_);
     writer.Write(static_cast<uint32_t>(needs_mips_ ? 1 : 0));
     writer.Write(yuv_color_space_);
     writer.Write(decoded_color_space_);
     writer.Write(yuv_pixmaps_->at(0)->colorType());
-    for (uint32_t i = 0; i < num_planes_; ++i) {
+    for (int i = 0; i < num_planes; ++i) {
       DCHECK(yuv_pixmaps_->at(i));
       const SkPixmap* plane = yuv_pixmaps_->at(i);
       writer.Write(plane->width());
@@ -334,7 +329,8 @@
 bool ServiceImageTransferCacheEntry::BuildFromHardwareDecodedImage(
     GrDirectContext* context,
     std::vector<sk_sp<SkImage>> plane_images,
-    YUVDecodeFormat plane_images_format,
+    SkYUVAInfo::PlaneConfig plane_config,
+    SkYUVAInfo::Subsampling subsampling,
     SkYUVColorSpace yuv_color_space,
     size_t buffer_byte_size,
     bool needs_mips) {
@@ -362,14 +358,15 @@
     }
   }
   plane_images_ = std::move(plane_images);
-  plane_images_format_ = plane_images_format;
+  plane_config_ = plane_config;
+  subsampling_ = subsampling;
   yuv_color_space_ = yuv_color_space;
 
   // 2) Create a SkImage backed by |plane_images|.
   // TODO(andrescj): support embedded color profiles for hardware decodes and
   // pass the color space to MakeYUVImageFromUploadedPlanes.
-  image_ = MakeYUVImageFromUploadedPlanes(context_, plane_images_,
-                                          plane_images_format_, yuv_color_space,
+  image_ = MakeYUVImageFromUploadedPlanes(context_, plane_images_, plane_config,
+                                          subsampling, yuv_color_space,
                                           SkColorSpace::MakeSRGB());
   if (!image_)
     return false;
@@ -395,17 +392,12 @@
   PaintOp::DeserializeOptions options(nullptr, nullptr, nullptr,
                                       &scratch_buffer, false, nullptr);
   PaintOpReader reader(data.data(), data.size(), options);
-  uint32_t image_is_yuv = 0;
-  reader.Read(&image_is_yuv);
-  if (!!image_is_yuv) {
-    uint32_t num_planes = 0;
-    reader.Read(&num_planes);
-    // TODO(crbug.com/910276): Allow for four planes if YUVA.
-    // TODO(crbug.com/986575): consider serializing a YUVDecodeFormat.
-    if (num_planes != 3u)
-      return false;
-    plane_images_format_ =
-        num_planes == 3u ? YUVDecodeFormat::kYUV3 : YUVDecodeFormat::kYUVA4;
+  plane_config_ = SkYUVAInfo::PlaneConfig::kUnknown;
+  reader.Read(&plane_config_);
+  if (plane_config_ != SkYUVAInfo::PlaneConfig::kUnknown) {
+    SkYUVAInfo::Subsampling subsampling;
+    reader.Read(&subsampling);
+    subsampling_ = subsampling;
     uint32_t needs_mips;
     reader.Read(&needs_mips);
     has_mips_ = needs_mips;
@@ -419,8 +411,9 @@
 
     // Match GrTexture::onGpuMemorySize so that memory traces agree.
     auto gr_mips = has_mips_ ? GrMipMapped::kYes : GrMipMapped::kNo;
+    int num_planes = SkYUVAInfo::NumPlanes(plane_config_);
     // Read in each plane and reconstruct pixmaps.
-    for (uint32_t i = 0; i < num_planes; i++) {
+    for (int i = 0; i < num_planes; i++) {
       uint32_t plane_width = 0;
       reader.Read(&plane_width);
       uint32_t plane_height = 0;
@@ -484,8 +477,8 @@
     }
     DCHECK(yuv_color_space_.has_value());
     image_ = MakeYUVImageFromUploadedPlanes(
-        context_, plane_images_, plane_images_format_, yuv_color_space_.value(),
-        decoded_color_space);
+        context_, plane_images_, plane_config_, subsampling_.value(),
+        yuv_color_space_.value(), decoded_color_space);
     return !!image_;
   }
 
@@ -608,8 +601,8 @@
   if (is_yuv()) {
     DCHECK(image_);
     DCHECK(yuv_color_space_.has_value());
-    DCHECK_NE(YUVDecodeFormat::kUnknown, plane_images_format_);
-    DCHECK_EQ(NumberOfPlanesForYUVDecodeFormat(plane_images_format_),
+    DCHECK_NE(SkYUVAInfo::PlaneConfig::kUnknown, plane_config_);
+    DCHECK_EQ(static_cast<size_t>(SkYUVAInfo::NumPlanes(plane_config_)),
               plane_images_.size());
 
     // We first do all the work with local variables. Then, if everything
@@ -628,7 +621,8 @@
           mipped_planes.back(), GrMipMapped::kYes));
     }
     sk_sp<SkImage> mipped_image = MakeYUVImageFromUploadedPlanes(
-        context_, mipped_planes, plane_images_format_, yuv_color_space_.value(),
+        context_, mipped_planes, plane_config_, subsampling_.value(),
+        yuv_color_space_.value(),
         image_->refColorSpace() /* image_color_space */);
     if (!mipped_image)
       return;
diff --git a/cc/paint/image_transfer_cache_entry.h b/cc/paint/image_transfer_cache_entry.h
index ee4ad20..4dd8f49d 100644
--- a/cc/paint/image_transfer_cache_entry.h
+++ b/cc/paint/image_transfer_cache_entry.h
@@ -16,7 +16,7 @@
 #include "cc/paint/transfer_cache_entry.h"
 #include "third_party/skia/include/core/SkImageInfo.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
-#include "third_party/skia/include/core/SkYUVASizeInfo.h"
+#include "third_party/skia/include/core/SkYUVAInfo.h"
 
 class GrDirectContext;
 class SkColorSpace;
@@ -49,9 +49,9 @@
                                          const SkColorSpace* target_color_space,
                                          bool needs_mips);
   explicit ClientImageTransferCacheEntry(
-      const SkPixmap* y_pixmap,
-      const SkPixmap* u_pixmap,
-      const SkPixmap* v_pixmap,
+      const SkPixmap yuva_pixmaps[],
+      SkYUVAInfo::PlaneConfig plane_config,
+      SkYUVAInfo::Subsampling subsampling,
       const SkColorSpace* decoded_color_space,
       SkYUVColorSpace yuv_color_space,
       bool needs_mips);
@@ -68,7 +68,7 @@
 
  private:
   const bool needs_mips_ = false;
-  const uint32_t num_planes_ = 1;
+  SkYUVAInfo::PlaneConfig plane_config_ = SkYUVAInfo::PlaneConfig::kUnknown;
   uint32_t id_;
   uint32_t size_ = 0;
   static base::AtomicSequenceNumber s_next_id_;
@@ -80,9 +80,10 @@
                             // at raster.
 
   // YUVA-only members.
-  base::Optional<std::array<const SkPixmap*, SkYUVASizeInfo::kMaxCount>>
+  base::Optional<std::array<const SkPixmap*, SkYUVAInfo::kMaxPlanes>>
       yuv_pixmaps_;
   const SkColorSpace* const decoded_color_space_;
+  SkYUVAInfo::Subsampling subsampling_ = SkYUVAInfo::Subsampling::kUnknown;
   SkYUVColorSpace yuv_color_space_;
 
   // DCHECKs that the appropriate data members are set or not set and have
@@ -115,7 +116,8 @@
   // Returns true if the entry can be built, false otherwise.
   bool BuildFromHardwareDecodedImage(GrDirectContext* context,
                                      std::vector<sk_sp<SkImage>> plane_images,
-                                     YUVDecodeFormat plane_images_format,
+                                     SkYUVAInfo::PlaneConfig plane_config,
+                                     SkYUVAInfo::Subsampling subsampling,
                                      SkYUVColorSpace yuv_color_space,
                                      size_t buffer_byte_size,
                                      bool needs_mips);
@@ -141,7 +143,9 @@
     return plane_sizes_;
   }
   bool is_yuv() const { return !plane_images_.empty(); }
-  size_t num_planes() const { return is_yuv() ? plane_images_.size() : 1u; }
+  size_t num_planes() const {
+    return is_yuv() ? SkYUVAInfo::NumPlanes(plane_config_) : 1u;
+  }
 
  private:
   sk_sp<SkImage> MakeSkImage(const SkPixmap& pixmap,
@@ -151,9 +155,10 @@
 
   GrDirectContext* context_ = nullptr;
   std::vector<sk_sp<SkImage>> plane_images_;
-  YUVDecodeFormat plane_images_format_ = YUVDecodeFormat::kUnknown;
+  SkYUVAInfo::PlaneConfig plane_config_ = SkYUVAInfo::PlaneConfig::kUnknown;
   std::vector<size_t> plane_sizes_;
   sk_sp<SkImage> image_;
+  base::Optional<SkYUVAInfo::Subsampling> subsampling_;
   base::Optional<SkYUVColorSpace> yuv_color_space_;
   bool has_mips_ = false;
   size_t size_ = 0;
diff --git a/cc/paint/image_transfer_cache_entry_unittest.cc b/cc/paint/image_transfer_cache_entry_unittest.cc
index 1ff291d3..e57ab84 100644
--- a/cc/paint/image_transfer_cache_entry_unittest.cc
+++ b/cc/paint/image_transfer_cache_entry_unittest.cc
@@ -21,6 +21,7 @@
 #include "third_party/skia/include/core/SkImageInfo.h"
 #include "third_party/skia/include/core/SkPixmap.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
+#include "third_party/skia/include/core/SkYUVAPixmaps.h"
 #include "third_party/skia/include/gpu/GrBackendSurface.h"
 #include "third_party/skia/include/gpu/GrDirectContext.h"
 #include "third_party/skia/include/gpu/GrTypes.h"
@@ -78,7 +79,7 @@
 }
 
 class ImageTransferCacheEntryTest
-    : public testing::TestWithParam<YUVDecodeFormat> {
+    : public testing::TestWithParam<SkYUVAInfo::PlaneConfig> {
  public:
   void SetUp() override {
     // Initialize a GL GrContext for Skia.
@@ -109,8 +110,8 @@
       std::unique_ptr<bool[]>* release_flags) {
     std::vector<sk_sp<SkImage>> plane_images;
     *release_flags = nullptr;
-    if (GetParam() == YUVDecodeFormat::kYUV3 ||
-        GetParam() == YUVDecodeFormat::kYVU3) {
+    if (GetParam() == SkYUVAInfo::PlaneConfig::kY_U_V ||
+        GetParam() == SkYUVAInfo::PlaneConfig::kY_V_U) {
       *release_flags =
           std::unique_ptr<bool[]>(new bool[3]{false, false, false});
       plane_images = {
@@ -120,7 +121,7 @@
                            release_flags->get() + 1),
           CreateSolidPlane(gr_context(), 32, 32, GL_R8_EXT, SkColors::kWhite,
                            release_flags->get() + 2)};
-    } else if (GetParam() == YUVDecodeFormat::kYUV2) {
+    } else if (GetParam() == SkYUVAInfo::PlaneConfig::kY_UV) {
       *release_flags = std::unique_ptr<bool[]>(new bool[2]{false, false});
       plane_images = {
           CreateSolidPlane(gr_context(), 64, 64, GL_R8_EXT, SkColors::kWhite,
@@ -204,40 +205,30 @@
   // width to test that alignment works correctly.
   const int image_width = 12;
   const int image_height = 10;
-  const size_t y_stride = 16;
-  const size_t uv_stride = 8;
+  const size_t yuv_strides[] = {16, 8, 8};
 
-  const size_t y_bytes = y_stride * image_height;
-  const size_t uv_bytes = uv_stride * image_height / 2;
-  const size_t planes_size = y_bytes + 2 * uv_bytes;
-  std::unique_ptr<char[]> planes_data(new char[planes_size]);
-
-  void* planes[3];
-  planes[0] = reinterpret_cast<void*>(planes_data.get());
-  planes[1] = reinterpret_cast<char*>(planes[0]) + y_bytes;
-  planes[2] = reinterpret_cast<char*>(planes[1]) + uv_bytes;
-
-  auto info = SkImageInfo::Make(image_width, image_height, kGray_8_SkColorType,
-                                kUnknown_SkAlphaType);
-  SkPixmap y_pixmap(info, planes[0], y_stride);
-  SkPixmap u_pixmap(info.makeWH(image_width / 2, image_height / 2), planes[1],
-                    uv_stride);
-  SkPixmap v_pixmap(info.makeWH(image_width / 2, image_height / 2), planes[2],
-                    uv_stride);
+  SkYUVAInfo yuva_info({image_width, image_height},
+                       SkYUVAInfo::PlaneConfig::kY_U_V,
+                       SkYUVAInfo::Subsampling::k420, kJpegYUVColorSpace);
+  SkYUVAPixmapInfo yuva_pixmap_info(
+      yuva_info, SkYUVAPixmapInfo::DataType::kUnorm8, yuv_strides);
+  SkYUVAPixmaps yuva_pixmaps = SkYUVAPixmaps::Allocate(yuva_pixmap_info);
 
   // rgb (255, 121, 255) -> yuv (255, 255, 255)
   const SkIRect bottom_color_rect =
       SkIRect::MakeXYWH(0, image_height / 2, image_width, image_height / 2);
-  ASSERT_TRUE(y_pixmap.erase(SkColors::kWhite));
-  ASSERT_TRUE(u_pixmap.erase(SkColors::kWhite));
-  ASSERT_TRUE(v_pixmap.erase(SkColors::kWhite));
+  ASSERT_TRUE(yuva_pixmaps.plane(0).erase(SkColors::kWhite));
+  ASSERT_TRUE(yuva_pixmaps.plane(1).erase(SkColors::kWhite));
+  ASSERT_TRUE(yuva_pixmaps.plane(2).erase(SkColors::kWhite));
+
   // rgb (178, 0, 225) -> yuv (0, 255, 255)
   const SkIRect top_color_rect = SkIRect::MakeWH(image_width, image_height / 2);
-  ASSERT_TRUE(y_pixmap.erase(SkColors::kBlack, &top_color_rect));
+  ASSERT_TRUE(yuva_pixmaps.plane(0).erase(SkColors::kBlack, &top_color_rect));
 
   auto client_entry(std::make_unique<ClientImageTransferCacheEntry>(
-      &y_pixmap, &u_pixmap, &v_pixmap, nullptr, kJpegYUVColorSpace,
-      true /* needs_mips */));
+      yuva_pixmaps.planes().data(), yuva_info.planeConfig(),
+      yuva_info.subsampling(), nullptr /* decoded color space*/,
+      yuva_info.yuvColorSpace(), true /* needs_mips */));
   uint32_t size = client_entry->SerializedSize();
   std::vector<uint8_t> data(size);
   ASSERT_TRUE(client_entry->Serialize(
@@ -263,7 +254,8 @@
   std::unique_ptr<bool[]> release_flags;
   std::vector<sk_sp<SkImage>> plane_images = CreateTestYUVImage(&release_flags);
   const size_t plane_images_size = plane_images.size();
-  ASSERT_EQ(NumberOfPlanesForYUVDecodeFormat(GetParam()), plane_images_size);
+  ASSERT_EQ(static_cast<size_t>(SkYUVAInfo::NumPlanes(GetParam())),
+            plane_images_size);
 
   // Create a service-side image cache entry backed by these planes and do not
   // request generating mipmap chains. The |buffer_byte_size| is only used for
@@ -271,8 +263,8 @@
   auto entry(std::make_unique<ServiceImageTransferCacheEntry>());
   EXPECT_TRUE(entry->BuildFromHardwareDecodedImage(
       gr_context(), std::move(plane_images),
-      GetParam() /* plane_images_format */, kJpegYUVColorSpace,
-      0u /* buffer_byte_size */, false /* needs_mips */));
+      GetParam() /* plane_images_format */, SkYUVAInfo::Subsampling::k420,
+      kJpegYUVColorSpace, 0u /* buffer_byte_size */, false /* needs_mips */));
 
   // We didn't request generating mipmap chains, so the textures we created
   // above should stay alive until after the cache entry is deleted.
@@ -289,7 +281,8 @@
   std::unique_ptr<bool[]> release_flags;
   std::vector<sk_sp<SkImage>> plane_images = CreateTestYUVImage(&release_flags);
   const size_t plane_images_size = plane_images.size();
-  ASSERT_EQ(NumberOfPlanesForYUVDecodeFormat(GetParam()), plane_images_size);
+  ASSERT_EQ(static_cast<size_t>(SkYUVAInfo::NumPlanes(GetParam())),
+            plane_images_size);
 
   // Create a service-side image cache entry backed by these planes and request
   // generating mipmap chains at creation time. The |buffer_byte_size| is only
@@ -297,8 +290,8 @@
   auto entry(std::make_unique<ServiceImageTransferCacheEntry>());
   EXPECT_TRUE(entry->BuildFromHardwareDecodedImage(
       gr_context(), std::move(plane_images),
-      GetParam() /* plane_images_format */, kJpegYUVColorSpace,
-      0u /* buffer_byte_size */, true /* needs_mips */));
+      GetParam() /* plane_images_format */, SkYUVAInfo::Subsampling::k420,
+      kJpegYUVColorSpace, 0u /* buffer_byte_size */, true /* needs_mips */));
 
   // We requested generating mipmap chains at creation time, so the textures we
   // created above should be released by now.
@@ -320,7 +313,8 @@
   std::unique_ptr<bool[]> release_flags;
   std::vector<sk_sp<SkImage>> plane_images = CreateTestYUVImage(&release_flags);
   const size_t plane_images_size = plane_images.size();
-  ASSERT_EQ(NumberOfPlanesForYUVDecodeFormat(GetParam()), plane_images_size);
+  ASSERT_EQ(static_cast<size_t>(SkYUVAInfo::NumPlanes(GetParam())),
+            plane_images_size);
 
   // Create a service-side image cache entry backed by these planes and do not
   // request generating mipmap chains at creation time. The |buffer_byte_size|
@@ -328,8 +322,8 @@
   auto entry(std::make_unique<ServiceImageTransferCacheEntry>());
   EXPECT_TRUE(entry->BuildFromHardwareDecodedImage(
       gr_context(), std::move(plane_images),
-      GetParam() /* plane_images_format */, kJpegYUVColorSpace,
-      0u /* buffer_byte_size */, false /* needs_mips */));
+      GetParam() /* plane_images_format */, SkYUVAInfo::Subsampling::k420,
+      kJpegYUVColorSpace, 0u /* buffer_byte_size */, false /* needs_mips */));
 
   // We didn't request generating mip chains, so the textures we created above
   // should stay alive for now.
@@ -356,14 +350,14 @@
 }
 
 std::string TestParamToString(
-    const testing::TestParamInfo<YUVDecodeFormat>& param_info) {
+    const testing::TestParamInfo<SkYUVAInfo::PlaneConfig>& param_info) {
   switch (param_info.param) {
-    case YUVDecodeFormat::kYUV3:
-      return "YUV3";
-    case YUVDecodeFormat::kYVU3:
-      return "YVU3";
-    case YUVDecodeFormat::kYUV2:
-      return "YUV2";
+    case SkYUVAInfo::PlaneConfig::kY_U_V:
+      return "Y_U_V";
+    case SkYUVAInfo::PlaneConfig::kY_V_U:
+      return "Y_V_U";
+    case SkYUVAInfo::PlaneConfig::kY_UV:
+      return "Y_UV";
     default:
       NOTREACHED();
       return "";
@@ -372,9 +366,9 @@
 
 INSTANTIATE_TEST_SUITE_P(All,
                          ImageTransferCacheEntryTest,
-                         ::testing::Values(YUVDecodeFormat::kYUV3,
-                                           YUVDecodeFormat::kYVU3,
-                                           YUVDecodeFormat::kYUV2),
+                         ::testing::Values(SkYUVAInfo::PlaneConfig::kY_U_V,
+                                           SkYUVAInfo::PlaneConfig::kY_V_U,
+                                           SkYUVAInfo::PlaneConfig::kY_UV),
                          TestParamToString);
 
 TEST(ImageTransferCacheEntryTestNoYUV, CPUImageWithMips) {
diff --git a/cc/paint/paint_op_reader.cc b/cc/paint/paint_op_reader.cc
index 59c594dc..fc9cff4 100644
--- a/cc/paint/paint_op_reader.cc
+++ b/cc/paint/paint_op_reader.cc
@@ -670,6 +670,33 @@
   *yuv_color_space = static_cast<SkYUVColorSpace>(raw_yuv_color_space);
 }
 
+void PaintOpReader::Read(SkYUVAInfo::PlaneConfig* plane_config) {
+  uint32_t raw_plane_config =
+      static_cast<uint32_t>(SkYUVAInfo::PlaneConfig::kUnknown);
+  ReadSimple(&raw_plane_config);
+
+  if (raw_plane_config >
+      static_cast<uint32_t>(SkYUVAInfo::PlaneConfig::kLast)) {
+    SetInvalid();
+    return;
+  }
+
+  *plane_config = static_cast<SkYUVAInfo::PlaneConfig>(raw_plane_config);
+}
+
+void PaintOpReader::Read(SkYUVAInfo::Subsampling* subsampling) {
+  uint32_t raw_subsampling =
+      static_cast<uint32_t>(SkYUVAInfo::Subsampling::kUnknown);
+  ReadSimple(&raw_subsampling);
+
+  if (raw_subsampling > static_cast<uint32_t>(SkYUVAInfo::Subsampling::kLast)) {
+    SetInvalid();
+    return;
+  }
+
+  *subsampling = static_cast<SkYUVAInfo::Subsampling>(raw_subsampling);
+}
+
 void PaintOpReader::Read(gpu::Mailbox* mailbox) {
   ReadData(sizeof(gpu::Mailbox::Name), (*mailbox).name);
 }
diff --git a/cc/paint/paint_op_reader.h b/cc/paint/paint_op_reader.h
index c9ab084..73ab3ad 100644
--- a/cc/paint/paint_op_reader.h
+++ b/cc/paint/paint_op_reader.h
@@ -75,6 +75,8 @@
   void Read(SkImageInfo* info);
   void Read(sk_sp<SkColorSpace>* color_space);
   void Read(SkYUVColorSpace* yuv_color_space);
+  void Read(SkYUVAInfo::PlaneConfig* plane_config);
+  void Read(SkYUVAInfo::Subsampling* subsampling);
   void Read(gpu::Mailbox* mailbox);
 
 #if !defined(OS_ANDROID)
diff --git a/cc/paint/paint_op_writer.cc b/cc/paint/paint_op_writer.cc
index e6b9d93..8393b764 100644
--- a/cc/paint/paint_op_writer.cc
+++ b/cc/paint/paint_op_writer.cc
@@ -542,6 +542,14 @@
   WriteSimple(static_cast<uint32_t>(yuv_color_space));
 }
 
+void PaintOpWriter::Write(SkYUVAInfo::PlaneConfig plane_config) {
+  WriteSimple(static_cast<uint32_t>(plane_config));
+}
+
+void PaintOpWriter::Write(SkYUVAInfo::Subsampling subsampling) {
+  WriteSimple(static_cast<uint32_t>(subsampling));
+}
+
 void PaintOpWriter::WriteData(size_t bytes, const void* input) {
   EnsureBytes(bytes);
   if (!valid_)
diff --git a/cc/paint/paint_op_writer.h b/cc/paint/paint_op_writer.h
index d00eeea..4060e10 100644
--- a/cc/paint/paint_op_writer.h
+++ b/cc/paint/paint_op_writer.h
@@ -13,6 +13,7 @@
 #include "cc/paint/paint_filter.h"
 #include "cc/paint/paint_op_buffer_serializer.h"
 #include "third_party/skia/include/core/SkImageInfo.h"
+#include "third_party/skia/include/core/SkYUVAInfo.h"
 
 struct SkRect;
 struct SkIRect;
@@ -69,6 +70,8 @@
   void Write(const sk_sp<SkTextBlob>& blob);
   void Write(SkColorType color_type);
   void Write(SkYUVColorSpace yuv_color_space);
+  void Write(SkYUVAInfo::PlaneConfig plane_config);
+  void Write(SkYUVAInfo::Subsampling subsampling);
   void Write(const gpu::Mailbox& mailbox);
 
   void Write(SkClipOp op) { Write(static_cast<uint8_t>(op)); }
diff --git a/cc/tiles/gpu_image_decode_cache.cc b/cc/tiles/gpu_image_decode_cache.cc
index c062e17d..cb6ff2c3 100644
--- a/cc/tiles/gpu_image_decode_cache.cc
+++ b/cc/tiles/gpu_image_decode_cache.cc
@@ -2172,16 +2172,16 @@
 
     // Non-hardware-accelerated path.
     if (image_data->yuva_pixmap_info.has_value()) {
-      SkPixmap y_pixmap;
-      SkPixmap u_pixmap;
-      SkPixmap v_pixmap;
-      if (!image_data->decode.y_image()->peekPixels(&y_pixmap) ||
-          !image_data->decode.u_image()->peekPixels(&u_pixmap) ||
-          !image_data->decode.v_image()->peekPixels(&v_pixmap)) {
+      SkPixmap yuv_pixmaps[3];
+      if (!image_data->decode.y_image()->peekPixels(&yuv_pixmaps[0]) ||
+          !image_data->decode.u_image()->peekPixels(&yuv_pixmaps[1]) ||
+          !image_data->decode.v_image()->peekPixels(&yuv_pixmaps[2])) {
         return;
       }
       ClientImageTransferCacheEntry image_entry(
-          &y_pixmap, &u_pixmap, &v_pixmap, decoded_target_colorspace.get(),
+          yuv_pixmaps, image_data->yuva_pixmap_info->yuvaInfo().planeConfig(),
+          image_data->yuva_pixmap_info->yuvaInfo().subsampling(),
+          decoded_target_colorspace.get(),
           image_data->yuva_pixmap_info->yuvaInfo().yuvColorSpace(),
           image_data->needs_mips);
       InsertTransferCacheEntry(image_entry, image_data);
diff --git a/chrome/android/expectations/monochrome_public_bundle.proguard_flags.expected b/chrome/android/expectations/monochrome_public_bundle.proguard_flags.expected
index a69dccfd..b0a89ac5 100644
--- a/chrome/android/expectations/monochrome_public_bundle.proguard_flags.expected
+++ b/chrome/android/expectations/monochrome_public_bundle.proguard_flags.expected
@@ -522,6 +522,24 @@
     public static final android.os.Parcelable$Creator *;
 }
 
+# File: obj/third_party/android_deps/androidx_mediarouter_mediarouter_java/proguard.txt
+# Copyright 2019 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Prevent MediaRouteActionProvider from being removed or renamed.
+-keep class androidx.mediarouter.app.MediaRouteActionProvider { public <init>(...); }
+
 # File: obj/third_party/android_deps/androidx_recyclerview_recyclerview_java/proguard.txt
 # Copyright (C) 2015 The Android Open Source Project
 #
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AssistantOnboardingCoordinatorTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AssistantOnboardingCoordinatorTest.java
index 80b4009..2717c72 100644
--- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AssistantOnboardingCoordinatorTest.java
+++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AssistantOnboardingCoordinatorTest.java
@@ -23,10 +23,9 @@
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.verify;
 
-import static org.chromium.chrome.browser.autofill_assistant.AutofillAssistantUiTestUtil.waitUntil;
 import static org.chromium.chrome.browser.autofill_assistant.AutofillAssistantUiTestUtil.waitUntilViewMatchesCondition;
 
-import android.app.Activity;
+import android.support.test.runner.lifecycle.Stage;
 import android.text.Spanned;
 import android.text.style.ClickableSpan;
 import android.view.View;
@@ -43,10 +42,10 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 
-import org.chromium.base.ActivityState;
-import org.chromium.base.ApplicationStatus;
 import org.chromium.base.Callback;
+import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.chrome.autofill_assistant.R;
 import org.chromium.chrome.browser.app.ChromeActivity;
 import org.chromium.chrome.browser.autofill_assistant.overlay.AssistantOverlayCoordinator;
@@ -57,7 +56,6 @@
 import org.chromium.chrome.browser.flags.ChromeSwitches;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
-import org.chromium.chrome.test.util.ChromeTabUtils;
 import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
 import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
@@ -295,8 +293,11 @@
                                     spannedMessage.getSpanEnd(spans[0]))
                             .toString());
         });
-        spans[0].onClick(termsMessage);
-        waitUntil(() -> getOpenedUrlSpec().equals(expectedTermsUrl));
+        CustomTabActivity activity = ApplicationTestUtils.waitForActivityWithClass(
+                CustomTabActivity.class, Stage.RESUMED, () -> spans[0].onClick(termsMessage));
+        CriteriaHelper.pollUiThread(
+                () -> activity.getActivityTab().getUrlString().equals(expectedTermsUrl));
+        activity.finish();
     }
 
     @Test
@@ -356,12 +357,13 @@
                             .toString()
                             .replaceAll("\\s+", " "));
         });
-        spans[0].onClick(termsMessage);
-        waitUntil(()
-                          -> getOpenedUrlSpec().equals(
-                                  mActivity.getResources()
-                                          .getText(R.string.autofill_assistant_google_terms_url)
-                                          .toString()));
+        CustomTabActivity activity = ApplicationTestUtils.waitForActivityWithClass(
+                CustomTabActivity.class, Stage.RESUMED, () -> spans[0].onClick(termsMessage));
+        String url = mActivity.getResources()
+                             .getText(R.string.autofill_assistant_google_terms_url)
+                             .toString();
+        CriteriaHelper.pollUiThread(() -> activity.getActivityTab().getUrlString().equals(url));
+        activity.finish();
     }
 
     /** Trigger onboarding and wait until it is fully displayed. */
@@ -370,21 +372,4 @@
         TestThreadUtils.runOnUiThreadBlocking(() -> coordinator.show(callback));
         waitUntilViewMatchesCondition(withId(R.id.button_init_ok), isCompletelyDisplayed());
     }
-
-    // Get the newly opened Activity (through CustomTabActivity.showInfoPage) that happens on
-    // terms click. Return the URL of the current tab on that activity.
-    private String getOpenedUrlSpec() {
-        for (Activity runningActivity : ApplicationStatus.getRunningActivities()) {
-            if (runningActivity instanceof CustomTabActivity
-                    && ApplicationStatus.getStateForActivity(runningActivity)
-                            == ActivityState.RESUMED) {
-                return ChromeTabUtils
-                        .getUrlOnUiThread(((CustomTabActivity) runningActivity)
-                                                  .getTabModelSelector()
-                                                  .getCurrentTab())
-                        .getSpec();
-            }
-        }
-        return "";
-    }
 }
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java
index e507266..0ff907b 100644
--- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java
+++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/InstantStartTest.java
@@ -65,6 +65,7 @@
 import org.chromium.base.test.util.DisableIf;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.Restriction;
+import org.chromium.base.test.util.ScalableTimeout;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.browser.compositor.layouts.Layout;
 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -172,7 +173,7 @@
         Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.addCategory(Intent.CATEGORY_LAUNCHER);
         mActivityTestRule.prepareUrlIntent(intent, null);
-        mActivityTestRule.startActivityCompletely(intent);
+        mActivityTestRule.launchActivity(intent);
     }
 
     public static Bitmap createThumbnailBitmapAndWriteToFile(int tabId) {
@@ -271,7 +272,8 @@
         TestThreadUtils.runOnUiThreadBlocking(
                 () -> mActivityTestRule.getActivity().startDelayedNativeInitializationForTests());
         CriteriaHelper.pollUiThread(
-                mActivityTestRule.getActivity().getTabModelSelector()::isTabStateInitialized);
+                mActivityTestRule.getActivity().getTabModelSelector()::isTabStateInitialized,
+                ScalableTimeout.scaleTimeout(10000L), CriteriaHelper.DEFAULT_POLLING_INTERVAL);
         Assert.assertTrue(LibraryLoader.getInstance().isInitialized());
     }
 
@@ -568,6 +570,7 @@
             RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForAdapterPosition(i);
             if (viewHolder != null) {
                 ImageView thumbnail = viewHolder.itemView.findViewById(R.id.tab_thumbnail);
+                if (!(thumbnail.getDrawable() instanceof BitmapDrawable)) return false;
                 BitmapDrawable drawable = (BitmapDrawable) thumbnail.getDrawable();
                 Bitmap bitmap = drawable.getBitmap();
                 if (bitmap == null) return false;
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java
index 19a30c7..260b84d6 100644
--- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java
+++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java
@@ -91,7 +91,7 @@
         Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.addCategory(Intent.CATEGORY_LAUNCHER);
         mActivityTestRule.prepareUrlIntent(intent, null);
-        mActivityTestRule.startActivityCompletely(intent);
+        mActivityTestRule.launchActivity(intent);
     }
 
     @Before
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java
index b112939..8df0af2 100644
--- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java
+++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceTest.java
@@ -812,7 +812,7 @@
     @CommandLineFlags.Add({BASE_PARAMS + "/single/exclude_mv_tiles/true"
             + "/show_last_active_tab_only/true/show_stack_tab_switcher/true"})
     public void
-    testShow_SingleAsHomepageV2_FromResumeShowStart() throws ExecutionException {
+    testShow_SingleAsHomepageV2_FromResumeShowStart() throws Exception {
         // clang-format on
         if (!mImmediateReturn) return;
 
@@ -832,7 +832,7 @@
         pressHome();
 
         // Simulates pressing Chrome's icon and launching Chrome from warm start.
-        startMainActivityFromLauncher();
+        mActivityTestRule.resumeMainActivityFromLauncher();
 
         CriteriaHelper.pollUiThread(
                 () -> cta.getLayoutManager() != null && cta.getLayoutManager().overviewVisible());
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es-419.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es-419.xtb
index 948f40b1..317d50f3 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es-419.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es-419.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">Seguir explorando</translation>
 <translation id="4450893287417543264">No volver a mostrar</translation>
 <translation id="4648718555153979859">Tus pestañas se agrupan aquí</translation>
+<translation id="4922064041913095674">Consulta qué artículo de las pestañas abiertas tiene mejor precio.</translation>
+<translation id="492284538114688557">Se detectó un descuento</translation>
 <translation id="5007392906805964215">Revisar</translation>
 <translation id="5073204694187207510">Oculta la cuadrícula de pantalla completa</translation>
 <translation id="5082793167783849073">Forma un grupo para comparar las páginas rápidamente. Para comenzar, mantén presionado un vínculo.</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es.xtb
index fcd2d7b..a32dccb 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_es.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">Continuar navegando</translation>
 <translation id="4450893287417543264">No volver a mostrar</translation>
 <translation id="4648718555153979859">Tus pestañas se agrupan aquí</translation>
+<translation id="4922064041913095674">Averigua qué artículo de las pestañas abiertas tiene mejor precio</translation>
+<translation id="492284538114688557">Bajada de precio detectada</translation>
 <translation id="5007392906805964215">Ver</translation>
 <translation id="5073204694187207510">Ocultar la cuadrícula en pantalla completa</translation>
 <translation id="5082793167783849073">Crea un grupo para comparar páginas rápidamente. Para comenzar, mantén pulsado un enlace.</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr-CA.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr-CA.xtb
index a21e756..bf21269 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr-CA.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr-CA.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">Continuer la navigation</translation>
 <translation id="4450893287417543264">Ne plus afficher</translation>
 <translation id="4648718555153979859">Vos onglets sont regroupés ici</translation>
+<translation id="4922064041913095674">Voir quel article dans vos onglets ouverts est offert à meilleur prix</translation>
+<translation id="492284538114688557">Une baisse de prix a été détectée</translation>
 <translation id="5007392906805964215">Examiner</translation>
 <translation id="5073204694187207510">Masquer la grille plein écran</translation>
 <translation id="5082793167783849073">Comparez rapidement des pages en créant un groupe. Pour commencer, maintenez le doigt sur un lien.</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr.xtb
index 71734896..3aac7ed2f 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_fr.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">Poursuivre la navigation</translation>
 <translation id="4450893287417543264">Ne plus afficher</translation>
 <translation id="4648718555153979859">Vos onglets sont regroupés ici</translation>
+<translation id="4922064041913095674">Affichez l'article le moins cher parmi ceux présentés dans les onglets ouverts</translation>
+<translation id="492284538114688557">Prix en baisse</translation>
 <translation id="5007392906805964215">Afficher</translation>
 <translation id="5073204694187207510">Masquer la grille en plein écran</translation>
 <translation id="5082793167783849073">Comparez rapidement des pages en créant un groupe. Commencez par appuyer de manière prolongée sur un lien.</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 70a7de97..cbcb5b5 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
@@ -22,7 +22,7 @@
 <translation id="4450893287417543264">पुन्हा दाखवू नका</translation>
 <translation id="4648718555153979859">तुमचे टॅब येथे एकत्रित केले आहेत</translation>
 <translation id="4922064041913095674">तुमच्या खुल्या टॅबमधील कोणत्या आयटमची अधिक चांगली किंमत आहे ते पहा</translation>
-<translation id="492284538114688557">किमतीतील घट आढळला</translation>
+<translation id="492284538114688557">किमतीतील घट आढळली</translation>
 <translation id="5007392906805964215">पुनरावलोकन करा</translation>
 <translation id="5073204694187207510">फुलस्क्रीन ग्रिड लपवा</translation>
 <translation id="5082793167783849073">गट बनवून त्वरित पेजशी तुलना करा. सुरू करण्यासाठी, लिंकला स्पर्श करा आणि धरून ठेवा.</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 f5133aa8..6318f98 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
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">ब्राउजिङ जारी राख्नुहोस्</translation>
 <translation id="4450893287417543264">फेरि नदेखाउनुहोस्</translation>
 <translation id="4648718555153979859">तपाईंका ट्याबहरू यहाँ एकै ठाउँमा समूहबद्ध गरिएको छन्</translation>
+<translation id="4922064041913095674">तपाईंले खोल्नुभएका ट्याबहरूमा भएको कुन चाहिँ वस्तुको मूल्य घटेको छ भन्ने कुरा हेर्नुहोस्</translation>
+<translation id="492284538114688557">मूल्य घटेको कुरा पत्ता लाग्यो</translation>
 <translation id="5007392906805964215">समीक्षा गर्नुहोस्</translation>
 <translation id="5073204694187207510">फुल स्क्रिन ग्रिड लुकाउनुहोस्</translation>
 <translation id="5082793167783849073">कुनै समूह बनाएर द्रुत रूपमा पृष्ठहरूको तुलना गर्नुहोस्। सुरु गर्न कुनै लिंकमा टच एण्ड होल्ड गर्नुहोस्।</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_pa.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_pa.xtb
index fe0e839..c39b27cf 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_pa.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_pa.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">ਬ੍ਰਾਊਜ਼ਿੰਗ ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="4450893287417543264">ਦੁਬਾਰਾ ਨਾ ਦਿਖਾਓ</translation>
 <translation id="4648718555153979859">ਤੁਹਾਡੀਆਂ ਟੈਬਾਂ ਇੱਥੇ ਇਕੱਠੇ ਗਰੁੱਪਬੱਧ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ</translation>
+<translation id="4922064041913095674">ਦੇਖੋ ਕਿ ਤੁਹਾਡੇ ਖੁੱਲ੍ਹੇ ਟੈਬਾਂ ਵਿੱਚ ਕਿਹੜੀ ਆਈਟਮ ਦੀ ਕੀਮਤ ਬਿਹਤਰ ਹੈ</translation>
+<translation id="492284538114688557">ਕੀਮਤ ਘਟਣ ਦਾ ਪਤਾ ਲੱਗਿਆ</translation>
 <translation id="5007392906805964215">ਸਮੀਖਿਆ ਕਰੋ</translation>
 <translation id="5073204694187207510">ਪੂਰੀ-ਸਕ੍ਰੀਨ ਗ੍ਰਿਡ ਨੂੰ ਲੁਕਾਓ</translation>
 <translation id="5082793167783849073">ਗਰੁੱਪ ਬਣਾ ਕੇ ਪੰਨਿਆਂ ਦੀ ਤੁਲਨਾ ਜਲਦੀ ਕਰੋ। ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਕਿਸੇ ਲਿੰਕ ਨੂੰ ਸਪੱਰਸ਼ ਕਰਕੇ ਰੱਖੋ।</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ru.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ru.xtb
index 9533401f..d2fd54b0 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ru.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ru.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">Продолжить просмотр</translation>
 <translation id="4450893287417543264">Больше не показывать</translation>
 <translation id="4648718555153979859">Вкладки сгруппированы здесь</translation>
+<translation id="4922064041913095674">Узнайте, какой из товаров на открытых вкладках стал дешевле.</translation>
+<translation id="492284538114688557">Замечено снижение цены</translation>
 <translation id="5007392906805964215">Посмотреть</translation>
 <translation id="5073204694187207510">Скрыть полноэкранную сетку с вкладками</translation>
 <translation id="5082793167783849073">Сравнивайте страницы быстрее, объединяя их в группы. Чтобы начать, нажмите на ссылку и удерживайте ее.</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ta.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ta.xtb
index 30e2992..15fa04f 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ta.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_ta.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">உலாவலைத் தொடர்க</translation>
 <translation id="4450893287417543264">மீண்டும் காட்டாதே</translation>
 <translation id="4648718555153979859">உங்கள் தாவல்கள் இங்கு குழுவாக்கப்பட்டுள்ளன</translation>
+<translation id="4922064041913095674">திறந்திருக்கும் தாவல்களில் எந்தப் பொருள் நல்ல விலையில் கிடைக்கிறது எனப் பார்க்கலாம்</translation>
+<translation id="492284538114688557">விலைச் சரிவு கண்டறியப்பட்டது</translation>
 <translation id="5007392906805964215">சரிபார்</translation>
 <translation id="5073204694187207510">முழுத்திரை கட்டத்தை மூடு</translation>
 <translation id="5082793167783849073">ஒரு குழுவை உருவாக்கிப் பக்கங்களை விரைவாக ஒப்பிடலாம். தொடங்க, ஓர் இணைப்பைத் தொட்டுப் பிடிக்கவும்.</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_tr.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_tr.xtb
index 7bb38d0c..03c2e371 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_tr.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_tr.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">Göz atmaya devam edin</translation>
 <translation id="4450893287417543264">Bir daha gösterme</translation>
 <translation id="4648718555153979859">Sekmeleriniz burada gruplandırılır</translation>
+<translation id="4922064041913095674">Açık sekmelerinizdeki hangi öğenin fiyatının daha iyi olduğunu görün</translation>
+<translation id="492284538114688557">Fiyat düşüşü belirlendi</translation>
 <translation id="5007392906805964215">İncele</translation>
 <translation id="5073204694187207510">Tam ekran ızgarayı gizler</translation>
 <translation id="5082793167783849073">Grup oluşturarak sayfaları hızlıca karşılaştırın. Başlamak için bir bağlantıya dokunup basılı tutun.</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_vi.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_vi.xtb
index 3feaf19e..3c65a72 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_vi.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_vi.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">Tiếp tục duyệt web</translation>
 <translation id="4450893287417543264">Không hiển thị lại</translation>
 <translation id="4648718555153979859">Các thẻ của bạn được nhóm với nhau tại đây</translation>
+<translation id="4922064041913095674">Xem mặt hàng có giá thấp hơn trong các thẻ mà bạn đang mở</translation>
+<translation id="492284538114688557">Đã phát hiện có mặt hàng giảm giá</translation>
 <translation id="5007392906805964215">Xem</translation>
 <translation id="5073204694187207510">Ẩn lưới toàn màn hình</translation>
 <translation id="5082793167783849073">Tạo một nhóm để so sánh nhanh các trang. Để bắt đầu, hãy chạm và giữ một đường liên kết.</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_zh-TW.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_zh-TW.xtb
index 598eddb..9237e8d 100644
--- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_zh-TW.xtb
+++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_zh-TW.xtb
@@ -21,6 +21,8 @@
 <translation id="4212246570487010370">繼續瀏覽</translation>
 <translation id="4450893287417543264">不要再顯示</translation>
 <translation id="4648718555153979859">你的分頁都集中顯示在這裡</translation>
+<translation id="4922064041913095674">查看已開啟分頁中已降價的商品</translation>
+<translation id="492284538114688557">有商品降價了</translation>
 <translation id="5007392906805964215">查看</translation>
 <translation id="5073204694187207510">隱藏全螢幕格狀檢視</translation>
 <translation id="5082793167783849073">建立群組以快速比較多個頁面。如要開始建立,請輕觸並按住連結。</translation>
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedProcessScopeDependencyProvider.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedProcessScopeDependencyProvider.java
index 405f8b81..2f20130 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedProcessScopeDependencyProvider.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedProcessScopeDependencyProvider.java
@@ -35,7 +35,7 @@
         mImageFetchClient = new FeedImageFetchClient();
         if (BundleUtils.isIsolatedSplitInstalled(mContext, FEED_SPLIT_NAME)) {
             mLibraryResolver = (libName) -> {
-                return BundleUtils.getNativeLibraryPath(libName);
+                return BundleUtils.getNativeLibraryPath(libName, FEED_SPLIT_NAME);
             };
         }
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/status/StatusCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/status/StatusCoordinator.java
index 25c8a0e3..ba421287 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/status/StatusCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/status/StatusCoordinator.java
@@ -214,8 +214,12 @@
     public void onClick(View view) {
         if (mUrlHasFocus) return;
 
+        // If isInOverviewAndShowingOmnibox is true, getTab isn't correct for PageInfo; if it's not
+        // null, it reflects a web page that the user isn't currently looking at.
+        // TODO(https://crbug.com/1150289): Add a particular page icon for start surface.
         if (!mLocationBarDataProvider.hasTab()
-                || mLocationBarDataProvider.getTab().getWebContents() == null) {
+                || mLocationBarDataProvider.getTab().getWebContents() == null
+                || mLocationBarDataProvider.isInOverviewAndShowingOmnibox()) {
             return;
         }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
index 2d53db6..55cc509 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -130,10 +130,10 @@
 
     @Override
     public boolean hasTab() {
-        // TODO(dtrainor, tedchoc): Remove the isInitialized() check when we no longer wait for
-        // TAB_CLOSED events to remove this tab.  Otherwise there is a chance we use this tab after
-        // {@link ChromeTab#destroy()} is called.
-        return mTab != null && mTab.isInitialized();
+        // TODO(https://crbug.com/1147131): Remove the isInitialized() and isDestroyed checks when
+        // we no longer wait for TAB_CLOSED events to remove this tab.  Otherwise there is a chance
+        // we use this tab after {@link Tab#destroy()} is called.
+        return mTab != null && mTab.isInitialized() && !mTab.isDestroyed();
     }
 
     @Override
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/CopylessPasteTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/CopylessPasteTest.java
index 279eb8d3..d2e0260 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/CopylessPasteTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/CopylessPasteTest.java
@@ -15,7 +15,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.CommandLineFlags;
@@ -72,7 +71,6 @@
     @After
     public void tearDown() throws Exception {
         AppIndexingUtil.setCallbackForTesting(null);
-        ApplicationTestUtils.finishActivity(mActivityTestRule.getActivity());
     }
 
     private static class CopylessHelper extends CallbackHelper {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/MainActivityWithURLTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/MainActivityWithURLTest.java
index cee2800..723653c 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/MainActivityWithURLTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/MainActivityWithURLTest.java
@@ -8,13 +8,11 @@
 
 import androidx.test.filters.SmallTest;
 
-import org.junit.After;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Feature;
@@ -36,11 +34,6 @@
     @Rule
     public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
 
-    @After
-    public void tearDown() throws Exception {
-        ApplicationTestUtils.finishActivity(mActivityTestRule.getActivity());
-    }
-
     /**
      * Verify launch the activity with URL.
      */
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkPersonalizedSigninPromoDismissTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkPersonalizedSigninPromoDismissTest.java
index 7f88227..556cc41 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkPersonalizedSigninPromoDismissTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkPersonalizedSigninPromoDismissTest.java
@@ -11,8 +11,11 @@
 import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
 import static androidx.test.espresso.matcher.ViewMatchers.withId;
 
+import static org.hamcrest.CoreMatchers.allOf;
 import static org.junit.Assert.assertEquals;
 
+import static org.chromium.chrome.test.util.ViewUtils.onViewWaiting;
+
 import android.support.test.InstrumentationRegistry;
 
 import androidx.test.filters.MediumTest;
@@ -88,7 +91,7 @@
     @MediumTest
     public void testPromoNotShownAfterBeingDismissed() {
         mBookmarkTestRule.showBookmarkManager(mActivityTestRule.getActivity());
-        onView(withId(R.id.signin_promo_view_container)).check(matches(isDisplayed()));
+        onViewWaiting(allOf(withId(R.id.signin_promo_view_container), isDisplayed()));
         onView(withId(R.id.signin_promo_close_button)).perform(click());
         onView(withId(R.id.signin_promo_view_container)).check(doesNotExist());
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
index 0f80f837..1a061de 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
@@ -204,8 +204,9 @@
     }
 
     @After
-    public void tearDown() {
+    public void tearDown() throws Exception {
         if (mTestServer != null) mTestServer.stopAndDestroyServer();
+        if (mBookmarkActivity != null) ApplicationTestUtils.finishActivity(mBookmarkActivity);
     }
 
     @AfterClass
@@ -283,7 +284,7 @@
         // Click the star button again to launch the edit activity.
         MenuUtils.invokeCustomMenuActionSync(InstrumentationRegistry.getInstrumentation(),
                 mActivityTestRule.getActivity(), R.id.bookmark_this_page_id);
-        waitForEditActivity();
+        waitForEditActivity().finish();
     }
 
     @Test
@@ -314,8 +315,9 @@
             currentSnackbar.getController().onAction(null);
         });
 
-        waitForEditActivity();
+        BookmarkEditActivity activity = waitForEditActivity();
         SnackbarManager.setDurationForTesting(0);
+        activity.finish();
     }
 
     @Test
@@ -1701,12 +1703,13 @@
         RecyclerViewTestUtils.waitForStableRecyclerView(mItemsContainer);
     }
 
-    private void waitForEditActivity() {
+    private BookmarkEditActivity waitForEditActivity() {
         CriteriaHelper.pollUiThread(() -> {
             Criteria.checkThat(ApplicationStatus.getLastTrackedFocusedActivity(),
                     IsInstanceOf.instanceOf(BookmarkEditActivity.class));
         });
         InstrumentationRegistry.getInstrumentation().waitForIdleSync();
+        return (BookmarkEditActivity) ApplicationStatus.getLastTrackedFocusedActivity();
     }
 
     private ChromeTabbedActivity waitForTabbedActivity() {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java
index 6fc157e..c6d9b533 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java
@@ -17,6 +17,7 @@
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.RuleChain;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
@@ -44,14 +45,18 @@
 @RunWith(ChromeJUnit4ClassRunner.class)
 @CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
 public class ClearBrowsingDataFragmentBasicTest {
-    @Rule
     public final ChromeTabbedActivityTestRule mActivityTestRule =
             new ChromeTabbedActivityTestRule();
-    @Rule
     public final SettingsActivityTestRule<ClearBrowsingDataFragmentBasic>
             mSettingsActivityTestRule =
                     new SettingsActivityTestRule<>(ClearBrowsingDataFragmentBasic.class);
 
+    // SettingsActivity has to be finished before the outer CTA can be finished or trying to finish
+    // CTA won't work.
+    @Rule
+    public final RuleChain mRuleChain =
+            RuleChain.outerRule(mActivityTestRule).around(mSettingsActivityTestRule);
+
     @Rule
     public final AccountManagerTestRule mAccountManagerTestRule = new AccountManagerTestRule();
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
index 8101eec..96b2323a 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
@@ -707,7 +707,7 @@
         IntentFilter filter = new IntentFilter(Intent.ACTION_VIEW);
         filter.addDataScheme(Uri.parse(mTestServer.getURL("/")).getScheme());
         final ActivityMonitor monitor =
-                InstrumentationRegistry.getInstrumentation().addMonitor(filter, null, false);
+                InstrumentationRegistry.getInstrumentation().addMonitor(filter, null, true);
         openAppMenuAndAssertMenuShown();
         PostTask.runOrPostTask(UiThreadTaskTraits.DEFAULT, () -> {
             MenuItem item =
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java
index ff48c21..e832ecf 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java
@@ -4,29 +4,20 @@
 
 package org.chromium.chrome.browser.customtabs;
 
-import android.app.Activity;
 import android.content.Intent;
-import android.support.test.InstrumentationRegistry;
 
-import org.hamcrest.Matchers;
+import androidx.annotation.NonNull;
+
 import org.junit.Assert;
 
-import org.chromium.base.ApplicationStatus;
 import org.chromium.base.FeatureList;
-import org.chromium.base.test.util.CallbackHelper;
-import org.chromium.base.test.util.Criteria;
-import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.ScalableTimeout;
-import org.chromium.chrome.browser.DeferredStartupHandler;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.tab.EmptyTabObserver;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabTestUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 
 import java.util.Collections;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
 
 /**
  * Custom ActivityTestRule for all instrumentation tests that require a {@link CustomTabActivity}.
@@ -54,29 +45,13 @@
     }
 
     @Override
-    public void startActivityCompletely(Intent intent) {
+    public void launchActivity(@NonNull Intent intent) {
         if (!FeatureList.hasTestFeatures()) {
             FeatureList.setTestFeatures(
                     Collections.singletonMap(ChromeFeatureList.SHARE_BY_DEFAULT_IN_CCT, true));
         }
         putCustomTabIdInIntent(intent);
-        int currentIntentId = getCustomTabIdFromIntent(intent);
-
-        Activity activity = InstrumentationRegistry.getInstrumentation().startActivitySync(intent);
-        Assert.assertNotNull("Main activity did not start", activity);
-        CriteriaHelper.pollUiThread(() -> {
-            for (Activity runningActivity : ApplicationStatus.getRunningActivities()) {
-                if (runningActivity instanceof CustomTabActivity) {
-                    CustomTabActivity customTabActivity = (CustomTabActivity) runningActivity;
-                    final int customTabIdInActivity =
-                            getCustomTabIdFromIntent(customTabActivity.getIntent());
-                    if (currentIntentId != customTabIdInActivity) continue;
-                    setActivity(customTabActivity);
-                    return true;
-                }
-            }
-            return false;
-        });
+        super.launchActivity(intent);
     }
 
     /**
@@ -84,33 +59,8 @@
      * initialized.
      */
     public void startCustomTabActivityWithIntent(Intent intent) {
-        DeferredStartupHandler.setExpectingActivityStartupForTesting();
         startActivityCompletely(intent);
-        waitForActivityNativeInitializationComplete();
-        CriteriaHelper.pollUiThread(() -> {
-            Criteria.checkThat(getActivity().getActivityTab(), Matchers.notNullValue());
-        });
         final Tab tab = getActivity().getActivityTab();
-        final CallbackHelper pageLoadFinishedHelper = new CallbackHelper();
-        tab.addObserver(new EmptyTabObserver() {
-            @Override
-            public void onLoadStopped(Tab tab, boolean toDifferentDocument) {
-                pageLoadFinishedHelper.notifyCalled();
-            }
-        });
-        try {
-            if (tab.isLoading()) {
-                pageLoadFinishedHelper.waitForCallback(
-                        0, 1, LONG_TIMEOUT_MS, TimeUnit.MILLISECONDS);
-            }
-        } catch (TimeoutException e) {
-            Assert.fail();
-        }
-        Assert.assertTrue("Deferred startup never completed",
-                DeferredStartupHandler.waitForDeferredStartupCompleteForTesting(
-                        STARTUP_TIMEOUT_MS));
-        Assert.assertNotNull(tab);
-        Assert.assertNotNull(tab.getView());
         Assert.assertTrue(TabTestUtils.isCustomTab(tab));
     }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabFromChromeExternalNavigationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabFromChromeExternalNavigationTest.java
index 576b546..1216b15 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabFromChromeExternalNavigationTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabFromChromeExternalNavigationTest.java
@@ -111,8 +111,7 @@
     @Test
     @Feature("CustomTabFromChrome")
     @LargeTest
-    public void
-    testIntentWithRedirectToApp() {
+    public void testIntentWithRedirectToApp() {
         final String redirectUrl = "https://maps.google.com/maps?q=1600+amphitheatre+parkway";
         final String initialUrl =
                 mServerRule.getServer().getURL("/chrome/test/data/android/redirect/js_redirect.html"
@@ -123,7 +122,7 @@
                         + Base64.encodeToString(
                                 ApiCompatibilityUtils.getBytesUtf8(redirectUrl), Base64.URL_SAFE));
 
-        mActivityRule.startActivityCompletely(getCustomTabFromChromeIntent(initialUrl, true));
+        mActivityRule.launchActivity(getCustomTabFromChromeIntent(initialUrl, true));
         mActivityRule.waitForActivityNativeInitializationComplete();
 
         final AtomicReference<InterceptNavigationDelegateImpl> navigationDelegate =
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/display_cutout/DisplayCutoutTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/display_cutout/DisplayCutoutTest.java
index 0899713..af9727f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/display_cutout/DisplayCutoutTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/display_cutout/DisplayCutoutTest.java
@@ -9,12 +9,10 @@
 
 import androidx.test.filters.LargeTest;
 
-import org.junit.After;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
@@ -37,11 +35,6 @@
     public DisplayCutoutTestRule mTestRule =
             new DisplayCutoutTestRule<ChromeActivity>(ChromeActivity.class);
 
-    @After
-    public void tearDown() throws Exception {
-        ApplicationTestUtils.finishActivity(mTestRule.getActivity());
-    }
-
     /**
      * Test that no safe area is applied when we have viewport fit auto
      */
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java
index c505f0f..7ad24349 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java
@@ -13,6 +13,7 @@
 import android.net.Uri;
 import android.os.SystemClock;
 import android.support.test.InstrumentationRegistry;
+import android.support.test.runner.lifecycle.Stage;
 import android.text.TextUtils;
 import android.util.Base64;
 
@@ -28,10 +29,13 @@
 import org.junit.runner.RunWith;
 
 import org.chromium.base.ApiCompatibilityUtils;
+import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Criteria;
 import org.chromium.base.test.util.CriteriaHelper;
+import org.chromium.base.test.util.ScalableTimeout;
+import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
 import org.chromium.chrome.browser.tab.EmptyTabObserver;
@@ -424,20 +428,26 @@
 
     @Test
     @SmallTest
-    public void testRedirectionFromIntent() {
+    public void testRedirectionFromIntent() throws Exception {
         // Test cold-start.
         Intent intent = new Intent(Intent.ACTION_VIEW,
                 Uri.parse(mTestServer.getURL(NAVIGATION_FROM_JAVA_REDIRECTION_PAGE)));
         Context targetContext = InstrumentationRegistry.getTargetContext();
         intent.setClassName(targetContext, ChromeLauncherActivity.class.getName());
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        InstrumentationRegistry.getInstrumentation().startActivitySync(intent);
 
-        CriteriaHelper.pollUiThread(
-                () -> Criteria.checkThat(mActivityMonitor.getHits(), Matchers.is(1)));
+        ChromeTabbedActivity activity =
+                ApplicationTestUtils.waitForActivityWithClass(ChromeTabbedActivity.class,
+                        Stage.CREATED, () -> targetContext.startActivity(intent));
+        mActivityTestRule.setActivity(activity);
+
+        CriteriaHelper.pollUiThread(() -> {
+            Criteria.checkThat(mActivityMonitor.getHits(), Matchers.is(1));
+        }, ScalableTimeout.scaleTimeout(10000L), CriteriaHelper.DEFAULT_POLLING_INTERVAL);
+        ApplicationTestUtils.waitForActivityState(activity, Stage.STOPPED);
 
         // Test warm start.
-        mActivityTestRule.startMainActivityOnBlankPage();
+        mActivityTestRule.resumeMainActivityFromLauncher();
         targetContext.startActivity(intent);
 
         CriteriaHelper.pollUiThread(
@@ -489,7 +499,6 @@
         String originalUrl = mTestServer.getURL(NAVIGATION_TO_FILE_SCHEME_FROM_INTENT_URI);
         loadUrlAndWaitForIntentUrl(originalUrl, true, false, false, null, false, "null_scheme");
     }
-
     @Test
     @LargeTest
     public void testIntentURIWithEmptySchemeDoesNothing() throws TimeoutException {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/HomepagePolicyIntegrationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/HomepagePolicyIntegrationTest.java
index 7934a16..3579486 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/HomepagePolicyIntegrationTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/HomepagePolicyIntegrationTest.java
@@ -16,6 +16,7 @@
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.RuleChain;
 import org.junit.runner.RunWith;
 
 import org.chromium.base.ActivityState;
@@ -64,12 +65,16 @@
 
     private EmbeddedTestServer mTestServer;
 
-    @Rule
     public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
-    @Rule
     public SettingsActivityTestRule<HomepageSettings> mSettingsActivityTestRule =
             new SettingsActivityTestRule<>(HomepageSettings.class);
 
+    // SettingsActivity has to be finished before the outer CTA can be finished or trying to finish
+    // CTA won't work.
+    @Rule
+    public final RuleChain mRuleChain =
+            RuleChain.outerRule(mActivityTestRule).around(mSettingsActivityTestRule);
+
     @Rule
     public HomepageTestRule mHomepageTestRule = new HomepageTestRule();
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java
index 703521dd..a273db8 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/homepage/settings/HomepageSettingsFragmentTest.java
@@ -14,6 +14,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.UserActionTester;
@@ -104,9 +105,8 @@
         Assert.assertNotNull("Custom URI radio button is null.", mCustomUriRadioButton);
     }
 
-    private void finishSettingsActivity() {
-        mTestRule.getActivity().finish();
-        mTestRule.waitTillActivityIsDestroyed();
+    private void finishSettingsActivity() throws Exception {
+        ApplicationTestUtils.finishActivity(mTestRule.getActivity());
     }
 
     @Test
@@ -394,7 +394,7 @@
     @Test
     @SmallTest
     @Feature({"Homepage"})
-    public void testCheckRadioButtons() {
+    public void testCheckRadioButtons() throws Exception {
         mHomepageTestRule.useCustomizedHomepageForTest(TEST_URL_FOO);
         launchSettingsActivity();
         LocationChangedCounter counter = new LocationChangedCounter();
@@ -446,7 +446,7 @@
     @Test
     @SmallTest
     @Feature({"Homepage"})
-    public void testChangeCustomized() {
+    public void testChangeCustomized() throws Exception {
         mHomepageTestRule.useChromeNTPForTest();
         launchSettingsActivity();
         LocationChangedCounter actionCounter = new LocationChangedCounter();
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/StartupLoadingMetricsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/StartupLoadingMetricsTest.java
index 5c0af74..98254843 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/StartupLoadingMetricsTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/StartupLoadingMetricsTest.java
@@ -218,7 +218,7 @@
             // mSlowPage will hang for 2 seconds before sending a response. It should be enough to
             // put Chrome in background before the page is committed.
             mTabbedActivityTestRule.prepareUrlIntent(intent, mSlowPage);
-            mTabbedActivityTestRule.startActivityCompletely(intent);
+            mTabbedActivityTestRule.launchActivity(intent);
 
             // Put Chrome in background before the page is committed.
             ChromeApplicationTestUtils.fireHomeScreenIntent(
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerTest.java
index cdbf6b55..8c2cbab 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerTest.java
@@ -250,6 +250,7 @@
 
         // Offline indicator should not be shown.
         checkOfflineIndicatorVisibility(downloadActivity, false);
+        downloadActivity.finish();
     }
 
     @Test
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchConsentUiTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchConsentUiTest.java
index 4485b232..012b466 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchConsentUiTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchConsentUiTest.java
@@ -13,6 +13,8 @@
 
 import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.ASSISTANT_VOICE_SEARCH_ENABLED;
 
+import android.support.test.runner.lifecycle.Stage;
+
 import androidx.test.filters.MediumTest;
 
 import org.junit.After;
@@ -26,6 +28,7 @@
 import org.mockito.junit.MockitoRule;
 
 import org.chromium.base.Callback;
+import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Criteria;
 import org.chromium.base.test.util.CriteriaHelper;
@@ -33,6 +36,7 @@
 import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
+import org.chromium.chrome.browser.settings.SettingsActivity;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
@@ -130,16 +134,19 @@
     public void testDialogInteractivity_LearnMoreButton() {
         showConsentUi();
 
-        TestThreadUtils.runOnUiThreadBlocking(() -> {
-            ClickUtils.clickButton(mAssistantVoiceSearchConsentUi.getContentView().findViewById(
-                    R.id.avs_consent_ui_learn_more));
-            mBottomSheetTestSupport.endAllAnimations();
-        });
+        SettingsActivity activity = ApplicationTestUtils.waitForActivityWithClass(
+                SettingsActivity.class, Stage.RESUMED, () -> {
+                    ClickUtils.clickButton(
+                            mAssistantVoiceSearchConsentUi.getContentView().findViewById(
+                                    R.id.avs_consent_ui_learn_more));
+                    mBottomSheetTestSupport.endAllAnimations();
+                });
 
         onView(withText(mActivityTestRule.getActivity().getResources().getString(
                        R.string.avs_setting_category_title)))
                 .check(matches(isDisplayed()));
         Mockito.verify(mCallback, Mockito.times(0)).onResult(/* meaningless value */ true);
+        activity.finish();
     }
 
     @Test
@@ -156,4 +163,4 @@
         });
         Mockito.verify(mCallback, Mockito.timeout(1000)).onResult(false);
     }
-}
\ No newline at end of file
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/page_info/PageInfoViewTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/page_info/PageInfoViewTest.java
index a7fd8a3..bc91ea83 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/page_info/PageInfoViewTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/page_info/PageInfoViewTest.java
@@ -105,7 +105,7 @@
 
     private void loadUrlAndOpenPageInfo(String url) {
         mActivityTestRule.loadUrl(url);
-        onView(withId(R.id.location_bar_status_icon)).perform(click());
+        onViewWaiting(allOf(withId(R.id.location_bar_status_icon), isDisplayed())).perform(click());
     }
 
     private View getPageInfoView() {
@@ -184,8 +184,6 @@
         // Choose a fixed, "random" port to create stable screenshots.
         mTestServerRule.setServerPort(424242);
         mTestServerRule.setServerUsesHttps(true);
-
-        mActivityTestRule.startMainActivityOnBlankPage();
     }
 
     @After
@@ -209,6 +207,7 @@
     @Feature({"RenderTest"})
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowOnInsecureHttpWebsite() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         mTestServerRule.setServerUsesHttps(false);
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         mRenderTestRule.render(getPageInfoView(), "PageInfo_HttpWebsite");
@@ -222,6 +221,7 @@
     @Feature({"RenderTest"})
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowOnSecureWebsite() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         mRenderTestRule.render(getPageInfoView(), "PageInfo_SecureWebsite");
     }
@@ -235,6 +235,7 @@
     @DisabledTest(message = "https://crbug.com/1133770")
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowOnExpiredCertificateWebsite() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         mTestServerRule.setCertificateType(ServerCertificate.CERT_EXPIRED);
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         mRenderTestRule.render(getPageInfoView(), "PageInfo_ExpiredCertWebsite");
@@ -248,6 +249,7 @@
     @Feature({"RenderTest"})
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testChromePage() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         loadUrlAndOpenPageInfo("chrome://version/");
         mRenderTestRule.render(getPageInfoView(), "PageInfo_InternalSite");
     }
@@ -261,6 +263,7 @@
     @Feature({"RenderTest"})
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowWithPermissions() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         mIsSystemLocationSettingEnabled = false;
         addSomePermissions(mTestServerRule.getServer().getURL("/"));
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
@@ -275,6 +278,7 @@
     @Feature({"RenderTest"})
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowWithCookieBlocking() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         setThirdPartyCookieBlocking(CookieControlsMode.BLOCK_THIRD_PARTY);
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         mRenderTestRule.render(getPageInfoView(), "PageInfo_CookieBlocking");
@@ -288,6 +292,7 @@
     @Feature({"RenderTest"})
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowWithPermissionsAndCookieBlocking() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         addSomePermissions(mTestServerRule.getServer().getURL("/"));
         setThirdPartyCookieBlocking(CookieControlsMode.BLOCK_THIRD_PARTY);
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
@@ -302,6 +307,7 @@
     @Feature({"RenderTest"})
     @Features.DisableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowWithDefaultSettingPermissions() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         addDefaultSettingPermissions(mTestServerRule.getServer().getURL("/"));
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         mRenderTestRule.render(getPageInfoView(), "PageInfo_DefaultSettingPermissions");
@@ -315,6 +321,7 @@
     @Feature({"RenderTest"})
     @Features.EnableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowOnSecureWebsiteV2() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         mRenderTestRule.render(getPageInfoView(), "PageInfo_SecureWebsiteV2");
     }
@@ -343,6 +350,7 @@
     @Feature({"RenderTest"})
     @Features.EnableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowConnectionInfoSubpage() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         onView(withId(R.id.page_info_connection_row)).perform(click());
         mRenderTestRule.render(getPageInfoView(), "PageInfo_ConnectionInfoSubpage");
@@ -356,6 +364,7 @@
     @Feature({"RenderTest"})
     @Features.EnableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowPermissionsSubpage() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         addSomePermissions(mTestServerRule.getServer().getURL("/"));
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         onView(withId(R.id.page_info_permissions_row)).perform(click());
@@ -370,6 +379,7 @@
     @Feature({"RenderTest"})
     @Features.EnableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testShowCookiesSubpage() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         setThirdPartyCookieBlocking(CookieControlsMode.BLOCK_THIRD_PARTY);
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         onView(withId(R.id.page_info_cookies_row)).perform(click());
@@ -384,6 +394,7 @@
     @MediumTest
     @Features.EnableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testNoPermissionsSubpage() throws IOException {
+        mActivityTestRule.startMainActivityOnBlankPage();
         loadUrlAndOpenPageInfo(mTestServerRule.getServer().getURL(sSimpleHtml));
         View dialog = (View) getPageInfoView().getParent();
         onView(withId(R.id.page_info_permissions_row))
@@ -398,6 +409,7 @@
     @Features.EnableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     @FlakyTest(message = "https://crbug.com/1147236")
     public void testClearCookiesOnSubpage() throws Exception {
+        mActivityTestRule.startMainActivityOnBlankPage();
         mActivityTestRule.loadUrl(mTestServerRule.getServer().getURL(sSiteDataHtml));
         // Create cookies.
         expectHasCookies(false);
@@ -423,6 +435,7 @@
     @MediumTest
     @Features.EnableFeatures(PageInfoFeatureList.PAGE_INFO_V2)
     public void testResetPermissionsOnSubpage() throws Exception {
+        mActivityTestRule.startMainActivityOnBlankPage();
         mActivityTestRule.loadUrl(mTestServerRule.getServer().getURL(sSiteDataHtml));
         String url = mTestServerRule.getServer().getURL("/");
         // Create permissions.
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestRule.java
index 3b5375ab2..2c90ae80 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestRule.java
@@ -1245,6 +1245,7 @@
         @Override
         public void create(PaymentAppFactoryDelegate delegate) {
             Runnable createApp = () -> {
+                if (delegate.getParams().hasClosed()) return;
                 boolean canMakePayment =
                         delegate.getParams().getMethodData().containsKey(mAppMethodName);
                 delegate.onCanMakePaymentCalculated(canMakePayment);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/settings/MainSettingsFragmentTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/settings/MainSettingsFragmentTest.java
index aa1888d..947221f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/settings/MainSettingsFragmentTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/settings/MainSettingsFragmentTest.java
@@ -15,6 +15,7 @@
 import static org.mockito.Mockito.verify;
 
 import android.app.Activity;
+import android.support.test.InstrumentationRegistry;
 import android.text.TextUtils;
 import android.view.View;
 
@@ -101,7 +102,7 @@
     private final SyncTestRule mSyncTestRule = new SyncTestRule();
 
     private final SettingsActivityTestRule<MainSettings> mSettingsActivityTestRule =
-            new SettingsActivityTestRule<>(MainSettings.class, true);
+            new SettingsActivityTestRule<>(MainSettings.class);
 
     // SettingsActivity needs to be initialized and destroyed with the mock
     // signin environment setup in SyncTestRule
@@ -133,6 +134,7 @@
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
+        InstrumentationRegistry.getInstrumentation().setInTouchMode(true);
         PasswordCheckFactory.setPasswordCheckForTesting(mPasswordCheck);
         SigninActivityLauncherImpl.setLauncherForTest(mMockSigninActivityLauncherImpl);
         DeveloperSettings.setIsEnabledForTests(true);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetRenderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetRenderTest.java
index 919086ea..3f427946 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetRenderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetRenderTest.java
@@ -22,7 +22,6 @@
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.test.filters.MediumTest;
 
-import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
@@ -34,7 +33,6 @@
 import org.chromium.base.Callback;
 import org.chromium.base.test.params.ParameterAnnotations;
 import org.chromium.base.test.params.ParameterizedRunner;
-import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.CriteriaHelper;
@@ -120,11 +118,6 @@
         mActivityTestRule.startMainActivityOnBlankPage();
     }
 
-    @After
-    public void tearDown() throws Exception {
-        ApplicationTestUtils.finishActivity(mActivityTestRule.getActivity());
-    }
-
     @AfterClass
     public static void tearDownAfterActivityDestroyed() {
         ChromeNightModeTestUtils.tearDownNightModeAfterChromeActivityDestroyed();
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivityTest.java
index 16095c4..5383798 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivityTest.java
@@ -100,7 +100,7 @@
     @Test
     @SmallTest
     public void testLaunchActivity() {
-        startManageSpaceActivity();
+        startManageSpaceActivity().finish();
     }
 
     @Test
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AccountManagementFragmentTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AccountManagementFragmentTest.java
index b42cd0d..d0a1c47 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AccountManagementFragmentTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AccountManagementFragmentTest.java
@@ -18,6 +18,7 @@
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.RuleChain;
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.util.CommandLineFlags;
@@ -40,14 +41,18 @@
 @RunWith(ChromeJUnit4ClassRunner.class)
 @CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
 public class AccountManagementFragmentTest {
-    @Rule
     public final SettingsActivityTestRule<AccountManagementFragment> mSettingsActivityTestRule =
             new SettingsActivityTestRule<>(AccountManagementFragment.class);
 
-    @Rule
     public final ChromeTabbedActivityTestRule mActivityTestRule =
             new ChromeTabbedActivityTestRule();
 
+    // SettingsActivity has to be finished before the outer CTA can be finished or trying to finish
+    // CTA won't work.
+    @Rule
+    public final RuleChain mRuleChain =
+            RuleChain.outerRule(mActivityTestRule).around(mSettingsActivityTestRule);
+
     @Rule
     public final AccountManagerTestRule mAccountManagerTestRule = new AccountManagerTestRule();
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/GoogleServicesSettingsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/GoogleServicesSettingsTest.java
index dc9d76a..9b38421 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/GoogleServicesSettingsTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/GoogleServicesSettingsTest.java
@@ -16,6 +16,7 @@
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.RuleChain;
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.util.CommandLineFlags;
@@ -51,13 +52,17 @@
     @Rule
     public final AccountManagerTestRule mAccountManagerTestRule = new AccountManagerTestRule();
 
-    @Rule
     public final ChromeTabbedActivityTestRule mActivityTestRule =
             new ChromeTabbedActivityTestRule();
 
-    @Rule
     public final SettingsActivityTestRule<GoogleServicesSettings> mSettingsActivityTestRule =
-            new SettingsActivityTestRule<>(GoogleServicesSettings.class, true);
+            new SettingsActivityTestRule<>(GoogleServicesSettings.class);
+
+    // SettingsActivity has to be finished before the outer CTA can be finished or trying to finish
+    // CTA won't work.
+    @Rule
+    public final RuleChain mRuleChain =
+            RuleChain.outerRule(mActivityTestRule).around(mSettingsActivityTestRule);
 
     @Before
     public void setUp() {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/ManageSyncSettingsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/ManageSyncSettingsTest.java
index 9c90fe6..2acd095 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/ManageSyncSettingsTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/ManageSyncSettingsTest.java
@@ -90,7 +90,7 @@
     private final SyncTestRule mSyncTestRule = new SyncTestRule();
 
     private final SettingsActivityTestRule<ManageSyncSettings> mSettingsActivityTestRule =
-            new SettingsActivityTestRule<>(ManageSyncSettings.class, true);
+            new SettingsActivityTestRule<>(ManageSyncSettings.class);
 
     // SettingsActivity needs to be initialized and destroyed with the mock
     // signin environment setup in SyncTestRule
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java
index 76da0b0..559a75f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java
@@ -62,7 +62,7 @@
 
     @Rule
     public final SettingsActivityTestRule<ManageSyncSettings> mSettingsActivityTestRule =
-            new SettingsActivityTestRule<>(ManageSyncSettings.class, true);
+            new SettingsActivityTestRule<>(ManageSyncSettings.class);
 
     @Rule
     public final ChromeRenderTestRule mRenderTestRule =
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorageFactoryTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorageFactoryTest.java
index 2611d9a5..c715a63 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorageFactoryTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorageFactoryTest.java
@@ -64,9 +64,11 @@
         LevelDBPersistedTabDataStorage.setSkipNativeAssertionsForTesting(true);
     }
 
+    @UiThreadTest
     @SmallTest
     @Test
     public void testFactoryMethod() {
+        Profile realProfile = Profile.getLastUsedRegularProfile();
         LevelDBPersistedTabDataStorageFactory factory = new LevelDBPersistedTabDataStorageFactory();
         Profile.setLastUsedProfileForTesting(mProfile1);
         LevelDBPersistedTabDataStorage profile1Storage = factory.create();
@@ -76,6 +78,8 @@
         LevelDBPersistedTabDataStorage profile1StorageAgain = factory.create();
         Assert.assertEquals(profile1Storage, profile1StorageAgain);
         Assert.assertNotEquals(profile1Storage, profile2Storage);
+        // Restore the original profile so the Activity can shut down correctly.
+        Profile.setLastUsedProfileForTesting(realProfile);
     }
 
     @UiThreadTest
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java
index 12907e88..cf1a94e0 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tasks/ReturnToChromeTest.java
@@ -597,7 +597,7 @@
         intent.addCategory(Intent.CATEGORY_LAUNCHER);
         mActivityTestRule.prepareUrlIntent(intent, url);
         Assert.assertFalse(mInflated.get());
-        mActivityTestRule.startActivityCompletely(intent);
+        mActivityTestRule.launchActivity(intent);
         if (mUseInstantStart) {
             CriteriaHelper.pollUiThread(mInflated::get);
         } else {
diff --git a/chrome/app/os_settings_strings.grdp b/chrome/app/os_settings_strings.grdp
index e5f2f7c..658217f 100644
--- a/chrome/app/os_settings_strings.grdp
+++ b/chrome/app/os_settings_strings.grdp
@@ -2760,6 +2760,9 @@
   </message>
 
   <!-- Reset Page (OS settings)-->
+  <message name="IDS_SETTINGS_RESET_TITLE" desc="Title of a section of settings. This section describes settings for resetting the device.">
+    Reset settings
+  </message>
   <message name="IDS_SETTINGS_FACTORY_RESET" desc="Name of the factory reset option on the Chrome settings page">
     Powerwash
   </message>
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_RESET_TITLE.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_RESET_TITLE.png.sha1
new file mode 100644
index 0000000..ade69f2
--- /dev/null
+++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_RESET_TITLE.png.sha1
@@ -0,0 +1 @@
+ca815262169c8fe4a3c91960dc464675d7efc57f
\ 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 4b428388..b3baab9 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">Jy het sertifikate op lêer wat nie in enige van die ander kategorieë pas nie</translation>
 <translation id="1476088332184200792">Kopieer na jou toestel toe</translation>
 <translation id="1476607407192946488">Taalinstellings …</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> vereis dat jy jou slimkaart ingesteek hou.</translation>
 <translation id="1478340334823509079">Besonderhede: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installering is nie geaktiveer nie</translation>
 <translation id="1481537595330271162">Kon nie skyfgrootte verander nie</translation>
@@ -2033,6 +2034,7 @@
 <translation id="3320630259304269485">Veiligblaai (beskerming teen gevaarlike werwe) en ander sekuriteitinstellings</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Hierdie data het sensitiewe of gevaarlike inhoud. Verwyder hierdie inhoud en probeer weer.}=1{Hierdie lêer het sensitiewe of gevaarlike inhoud. Verwyder hierdie inhoud en probeer weer.}other{Hierdie lêers het sensitiewe of gevaarlike inhoud. Verwyder hierdie inhoud en probeer weer.}}</translation>
 <translation id="3323521181261657960">Bonus! Jy het meer skermtyd gekry</translation>
+<translation id="3325804108816646710">Soek tans beskikbare profiele …</translation>
 <translation id="3325910708063135066">Kamera en mikrofoon is in Mac-stelselvoorkeure afgeskakel</translation>
 <translation id="3327050066667856415">Chromebooks is ontwerp vir sekuriteit. Jou toestel word outomaties teen wanware beskerm – geen ekstra sagteware is nodig nie.</translation>
 <translation id="3328489342742826322">As jy van 'n rugsteun af terugstel, sal bestaande Linux-programme en data in jou Linux-lêersvouer uitgevee word.</translation>
@@ -2100,6 +2102,7 @@
 <translation id="3412265149091626468">Spring na keuse</translation>
 <translation id="3413122095806433232">CA-uitreikers: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Grootte:</translation>
+<translation id="3414966631182382431">Jou <ph name="BEGIN_LINK" />blaaier word bestuur<ph name="END_LINK" /> deur <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Wys altyd volle URL'e</translation>
 <translation id="3417835166382867856">Soek oortjies</translation>
 <translation id="3417836307470882032">Militêre tyd</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">Kon nie aanlyn komponent met demonstrasiemodus-hulpbronne laai nie.</translation>
 <translation id="4652935475563630866">Die verandering in kamera-instelling vereis dat Parallels-werkskerm herbegin moet word. Parallels-werkskerm sal herbegin.</translation>
 <translation id="4653405415038586100">Kon nie Linux opstel nie</translation>
+<translation id="4657914796247705218">TrackPoint-spoed</translation>
 <translation id="465878909996028221">Slegs http-, https- en lêerprotokolle word gesteun om blaaiers te herlei.</translation>
 <translation id="4659077111144409915">Primêre rekening</translation>
 <translation id="4659126640776004816">Hierdie kenmerk word aangeskakel wanneer jy by jou Google-rekening aanmeld.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">'n Herbegin word vereis voordat jou toestel met Powerwash teruggestel kan word. <ph name="LINK_BEGIN" />Kom meer te wete<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Hallo daar! Ek is jou teks-na-spraak-stem.</translation>
 <translation id="5472627187093107397">Stoor wagwoorde vir hierdie werf</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN moet minstens 1 karakter wees}other{PIN moet minstens # karakters wees}}</translation>
 <translation id="5473333559083690127">Voer nuwe PIN weer in</translation>
 <translation id="5481273127572794904">Mag nie outomaties veelvuldige lêers aflaai nie</translation>
 <translation id="5481941284378890518">Voeg nabygeleë drukkers by</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Ongelooflike gesig</translation>
 <translation id="6091761513005122595">Deling is suksesvol gemonteer.</translation>
 <translation id="6093888419484831006">Kanselleer tans opdatering …</translation>
+<translation id="6095541101974653012">Jy is afgemeld.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Maak groot oop</translation>
 <translation id="6096326118418049043">X.500-naam</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Ontkoppel Google Drive-rekening</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> wil die inhoud van jou skerm deel. Kies wat jy wil deel.</translation>
 <translation id="6478248366783946499">Hou gevaarlike lêer?</translation>
+<translation id="6480327114083866287">Bestuur deur <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Maak aflaai oop</translation>
 <translation id="6483805311199035658">Maak tans <ph name="FILE" /> oop …</translation>
 <translation id="6488384360522318064">Kies 'n taal</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Sluit skerm</translation>
 <translation id="6721678857435001674">Sien die maak en model van jou sekuriteitsleutel</translation>
 <translation id="6721972322305477112">Lêer</translation>
+<translation id="672208878794563299">Hierdie werf sal volgende keer weer vra.</translation>
 <translation id="672213144943476270">Ontsluit asseblief jou profiel voordat jy as 'n gas blaai.</translation>
 <translation id="6723661294526996303">Voer boekmerke en instellings in …</translation>
 <translation id="6723839937902243910">Intensiteit</translation>
@@ -6293,6 +6301,7 @@
 <translation id="8317671367883557781">Voeg netwerkverbinding by</translation>
 <translation id="8319414634934645341">Uitgebreide sleutelgebruik</translation>
 <translation id="8320459152843401447">Jou hele skerm</translation>
+<translation id="8321837372750396788">Hierdie <ph name="DEVICE_TYPE" /> sal bestuur word deur <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Hierdie bladsy word geblokkeer om by jou mikrofoon in te gaan.</translation>
 <translation id="8323167517179506834">Tik URL</translation>
 <translation id="8324784016256120271">Werwe kan webkoekies gebruik om jou blaai-aktiwiteit op verskillende werwe te sien, byvoorbeeld, om advertensies te personaliseer</translation>
@@ -6600,6 +6609,7 @@
 <translation id="8698269656364382265">Swiep van die linkerkant af om na die vorige skerm toe terug te keer.</translation>
 <translation id="869884720829132584">Programmekieslys</translation>
 <translation id="869891660844655955">Vervaldatum</translation>
+<translation id="8702825062053163569">Jou <ph name="DEVICE_TYPE" /> is gesluit.</translation>
 <translation id="8703346390800944767">Slaan advertensie oor</translation>
 <translation id="8705331520020532516">Reeksnommer</translation>
 <translation id="8705580154597116082">Wi-Fi beskikbaar via foon</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index de2e1d7..9dd991e 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -105,7 +105,7 @@
 <translation id="1116639326869298217">تعذُّر إثبات هويتك</translation>
 <translation id="1116694919640316211">لمحة</translation>
 <translation id="1116779635164066733">تم فرض هذا الإعداد بواسطة الإضافة "<ph name="NAME" />".</translation>
-<translation id="1116811861615819198">لم يستجِب الجهاز الذي تحاول المشاركة معه لطلبك بالمشاركة.</translation>
+<translation id="1116811861615819198">لم يستجِب الجهاز الذي تحاول المشاركة معه لطلبك.</translation>
 <translation id="1118738876271697201">تعذَّر على النظام تحديد طراز الجهاز أو رقمه التسلسلي.</translation>
 <translation id="1119447706177454957">خطأ داخلي</translation>
 <translation id="1122068467107743258">العمل</translation>
@@ -177,12 +177,12 @@
 <translation id="1188807932851744811">لم يتم تحميل السجل.</translation>
 <translation id="11901918071949011">{NUM_FILES,plural, =1{الوصول إلى ملف مخزّن على جهاز الكمبيوتر}zero{ الوصول إلى # من الملفات المخزّنة على جهاز الكمبيوتر}two{الوصول إلى ملفين (#) مخزّنين على جهاز الكمبيوتر}few{ الوصول إلى # ملفات مخزّنة على جهاز الكمبيوتر}many{الوصول إلى # ملفًا مخزنًا على جهاز الكمبيوتر}other{الوصول إلى # من الملفات المخزّنة على جهاز الكمبيوتر}}</translation>
 <translation id="119092896208640858">‏لمحو بيانات التصفُّح من هذا الجهاز فقط والاحتفاظ بها في حسابك على Google، يُرجى <ph name="BEGIN_LINK" />تسجيل الخروج<ph name="END_LINK" />.</translation>
-<translation id="1192706927100816598">{0,plural, =1{سيتم تسجيل الخروج تلقائيًا بعد ثانية واحدة.
-يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}zero{سيتم تسجيل الخروج تلقائيًا بعد # ثانية.
-يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}two{سيتم تسجيل الخروج تلقائيًا بعد ثانيتَين.
-يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}few{سيتم تسجيل الخروج تلقائيًا بعد # ثوانٍ.
-يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}many{سيتم تسجيل الخروج تلقائيًا بعد # ثانية.
-يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}other{سيتم تسجيل الخروج تلقائيًا بعد # ثانية.
+<translation id="1192706927100816598">{0,plural, =1{سيتم تسجيل خروجك تلقائيًا بعد ثانية واحدة.
+يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}zero{سيتم تسجيل خروجك تلقائيًا بعد # ثانية.
+يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}two{سيتم تسجيل خروجك تلقائيًا بعد ثانيتَين.
+يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}few{سيتم تسجيل خروجك تلقائيًا بعد # ثوانٍ.
+يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}many{سيتم تسجيل خروجك تلقائيًا بعد # ثانية.
+يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}other{سيتم تسجيل خروجك تلقائيًا بعد # ثانية.
 يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.}}</translation>
 <translation id="1193273168751563528">دخول إلى الجلسة المُدارة</translation>
 <translation id="1193927020065025187">قد يحاول هذا الموقع الإلكتروني خداعك للسماح بإشعارات غير مرغوب فيها.</translation>
@@ -267,7 +267,7 @@
 <translation id="1285484354230578868">‏تخزين البيانات في حساب Google Drive</translation>
 <translation id="1288037062697528143">سيتم تشغيل الإضاءة الليلية تلقائيًا عند غروب الشمس.</translation>
 <translation id="1288300545283011870">خصائص الكلام</translation>
-<translation id="1292849930724124745">يجب إدخال البطاقة الذكية لتبقى مسجِّلاً الدخول</translation>
+<translation id="1292849930724124745">أدخِل بطاقة ذكية لتظل مسجلاً الدخول</translation>
 <translation id="1293264513303784526">‏جهاز USB-C (المنفذ الأيسر)</translation>
 <translation id="1293556467332435079">ملفات</translation>
 <translation id="1294807885394205587">قد تستغرق هذه العملية بضع دقائق. جار تشغيل مدير الحاويات.</translation>
@@ -1470,7 +1470,7 @@
 <translation id="265390580714150011">قيمة الحقل</translation>
 <translation id="2654166010170466751">السماح للمواقع الإلكترونية بتثبيت معالجات الدفع</translation>
 <translation id="2654553774144920065">طلب طباعة</translation>
-<translation id="2657807507504044638">‏ما من ملفات تعريفية متوفِّرة لشريحة eSIM. يمكنك تنزيل ملف تعريفي جديد <ph name="BEGIN_LINK" />هنا<ph name="END_LINK" />.</translation>
+<translation id="2657807507504044638">‏ما مِن ملفات شخصية متوفِّرة لشريحة eSIM. يمكنك تنزيل ملف شخصي جديد <ph name="BEGIN_LINK" />هنا<ph name="END_LINK" />.</translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />تختلف الميزات حسب الجهاز</translation>
 <translation id="2659971421398561408">‏تغيير حجم قرص نظام التشغيل Crostini</translation>
 <translation id="2660779039299703961">حدث</translation>
@@ -1613,7 +1613,7 @@
 <translation id="2805646850212350655">‏نظام ترميز الملفات لـ Microsoft</translation>
 <translation id="2805756323405976993">التطبيقات</translation>
 <translation id="2805770823691782631">تفاصيل إضافية</translation>
-<translation id="2806372837663997957">رفض الجهاز الذي تحاول المشاركة معه طلبك بالمشاركة.</translation>
+<translation id="2806372837663997957">رفض الجهاز الذي تحاول تنفيذ المشاركة معه طلبك.</translation>
 <translation id="2807517655263062534">هنا تظهر الملفات التي تم تنزيلها</translation>
 <translation id="2809586584051668049">و<ph name="NUMBER_ADDITIONAL_DISABLED" /> من الإضافات الأخرى</translation>
 <translation id="2810390687497823527">في حال عدم التعرُّف على إحدى الإضافات أو في حال كان متصفّحك لا يعمل كما هو متوقع، يمكنك إيقاف الإضافات أو تخصيصها هنا.</translation>
@@ -2977,7 +2977,7 @@
 <translation id="4434045419905280838">النوافذ المنبثقة وإعادة التوجيه</translation>
 <translation id="443454694385851356">قديم (غير آمن)</translation>
 <translation id="443475966875174318">تحديث التطبيقات غير المتوافقة أو إزالتها</translation>
-<translation id="4436063104263971834">‏ما من ملفات تعريفية متوفِّرة لشريحة SIM. يمكنك إنشاء ملف تعريفي جديد <ph name="BEGIN_LINK" />هنا<ph name="END_LINK" />.</translation>
+<translation id="4436063104263971834">‏ما مِن ملفات شخصية متوفِّرة لشريحة SIM. يمكنك إنشاء ملف شخصي جديد <ph name="BEGIN_LINK" />هنا<ph name="END_LINK" />.</translation>
 <translation id="4438043733494739848">شفاف</translation>
 <translation id="4439427728133035643">اتصال الشبكة <ph name="NETWORK_INDEX" /> من <ph name="NETWORK_COUNT" />، الشبكة <ph name="NETWORK_NAME" />، قوة الإشارة <ph name="SIGNAL_STRENGTH" />%، الاتصال</translation>
 <translation id="4441124369922430666">هل ترغب في تشغيل هذا التطبيق تلقائيًا عند تشغيل الجهاز؟</translation>
@@ -3233,7 +3233,7 @@
 <translation id="4726710629007580002">ظهرت تحذيرات عن محاولة تثبيت هذه الإضافة:</translation>
 <translation id="4727847987444062305">جلسة الضيف المُدارة</translation>
 <translation id="4728558894243024398">النظام الأساسي</translation>
-<translation id="4728570203948182358">لقد أوقف <ph name="BEGIN_LINK" />المشرف<ph name="END_LINK" /> ميزة "التحقُّق من البرامج الضارّة".</translation>
+<translation id="4728570203948182358">لقد أوقف <ph name="BEGIN_LINK" />مشرفك<ph name="END_LINK" /> عملية التحقُّق من البرامج الضارّة.</translation>
 <translation id="4730492586225682674">أحدث ملاحظة باستخدام قلم الشاشة في وضع قفل الشاشة</translation>
 <translation id="4733793249294335256">الموقع</translation>
 <translation id="473546211690256853">تتم إدارة هذا الحساب من خلال <ph name="DOMAIN" /></translation>
@@ -4546,7 +4546,7 @@
 <translation id="6280215091796946657">تسجيل الدخول باستخدام حساب مختلف</translation>
 <translation id="6280912520669706465">ARC</translation>
 <translation id="6282180787514676874">{COUNT,plural, =1{تم تجاوز الحد المسموح به والبالغ ورقة واحدة.}zero{تم تجاوز الحد المسموح به والبالغ {COUNT} ورقة.}two{تم تجاوز الحد المسموح به والبالغ ورقتان ({COUNT}).}few{تم تجاوز الحد المسموح به والبالغ {COUNT} أوراق.}many{تم تجاوز الحد المسموح به والبالغ {COUNT} ورقة.}other{تم تجاوز الحد المسموح به والبالغ {COUNT} ورقة.}}</translation>
-<translation id="6283438600881103103">سيتم تسجيل الخروج تلقائيًا الآن.
+<translation id="6283438600881103103">سيتم تسجيل خروجك تلقائيًا الآن.
 يتطلَّب <ph name="DOMAIN" /> منك الإبقاء على بطاقتك الذكية مُدخَلة.</translation>
 <translation id="628352644014831790">4 ثوانٍ</translation>
 <translation id="6285120108426285413">لا يتم تنزيل <ph name="FILE_NAME" /> بشكل شائع وربما يكون ضارًا.</translation>
@@ -5504,7 +5504,7 @@
 <translation id="7427348830195639090">صفحة الخلفية: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7427798576651127129">الاتصال من <ph name="DEVICE_NAME" /></translation>
 <translation id="7431719494109538750">‏لم يتم العثور على أجهزة HID</translation>
-<translation id="7433708794692032816">يجب إدخال البطاقة الذكية للاستمرار في استخدام الجهاز <ph name="DEVICE_TYPE" /></translation>
+<translation id="7433708794692032816">أدخِل بطاقة ذكية للاستمرار في استخدام الجهاز <ph name="DEVICE_TYPE" /></translation>
 <translation id="7433957986129316853">تجاهل</translation>
 <translation id="7434509671034404296">المطوِّر</translation>
 <translation id="7434635829372401939">مزامنة إعداداتك</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb
index edb25b6e..a0eca75 100644
--- a/chrome/app/resources/generated_resources_as.xtb
+++ b/chrome/app/resources/generated_resources_as.xtb
@@ -105,6 +105,7 @@
 <translation id="1116639326869298217">আপোনাৰ পৰিচয় সত্যাপন কৰিব পৰা নগ'ল</translation>
 <translation id="1116694919640316211">ইয়াৰ বিষয়ে</translation>
 <translation id="1116779635164066733">এই ছেটিংটো "<ph name="NAME" />" এক্সটেনশ্বনৰ জৰিয়তে বলৱৎ কৰা হৈছে।</translation>
+<translation id="1116811861615819198">আপুনি যিটো ডিভাইচৰ সৈতে শ্বেয়াৰ কৰি আছে সেইটোৱে সঁহাৰি জনোৱা নাছিল</translation>
 <translation id="1118738876271697201">ছিষ্টেমটোৱে ডিভাইচৰ ম'ডেল আৰু ক্ৰমিক নম্বৰ নিৰ্ধাৰণ কৰিব নোৱাৰিলে।</translation>
 <translation id="1119447706177454957">আভ্যন্তৰীণ আসোঁৱাহ</translation>
 <translation id="1122068467107743258">কৰ্মস্থান</translation>
@@ -133,6 +134,7 @@
 <translation id="114036956334641753">অডিঅ' আৰু কেপশ্বনসমূহ</translation>
 <translation id="1140746652461896221">আপুনি চোৱা যিকোনো পৃষ্ঠাত এই সমল অৱৰোধ কৰক</translation>
 <translation id="1143142264369994168">প্ৰমাণপত্ৰ স্বাক্ষৰ কৰোঁতা</translation>
+<translation id="1143816224540441191">{NUM_MINS,plural, =1{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • ১ মিনিটৰ পূৰ্বে পৰীক্ষা কৰিছে}one{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_MINS} মিনিটৰ পূৰ্বে পৰীক্ষা কৰিছে}other{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_MINS} মিনিটৰ পূৰ্বে পৰীক্ষা কৰিছে}}</translation>
 <translation id="1145292499998999162">প্লাগইন অৱৰোধ কৰা হ'ল</translation>
 <translation id="1145593918056169051">প্ৰিণ্টাৰটো বন্ধ হৈছে</translation>
 <translation id="114721135501989771">Chromeত Googleৰ সেৱা পাওক</translation>
@@ -175,6 +177,10 @@
 <translation id="1188807932851744811">লগ আপল’ড কৰা হোৱা নাই।</translation>
 <translation id="11901918071949011">{NUM_FILES,plural, =1{আপোনাৰ কম্পিউটাৰত ষ্ট’ৰ কৰি এটা কোনো ফাইল এক্সেছ কৰক}one{আপোনাৰ কম্পিউটাৰত ষ্ট’ৰ কৰি ৰখা #টা ফাইল এক্সেছ কৰক}other{আপোনাৰ কম্পিউটাৰত ষ্ট’ৰ কৰি ৰখা #টা ফাইল এক্সেছ কৰক}}</translation>
 <translation id="119092896208640858">আপোনাৰ Google একাউণ্টত ব্ৰাউজিং ডেটা ৰাখি কেৱল এই ডিভাইচৰ পৰা সেই ডেটা মচিবলৈ <ph name="BEGIN_LINK" />ছাইন আউট কৰক<ph name="END_LINK" />।</translation>
+<translation id="1192706927100816598">{0,plural, =1{আপোনাক স্বয়ংক্ৰিয়ভাৱে # ছেকেণ্ডত ছাইন আউট কৰা হ’ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}one{আপোনাক স্বয়ংক্ৰিয়ভাৱে # ছেকেণ্ডত ছাইন আউট কৰা হ’ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}other{আপোনাক স্বয়ংক্ৰিয়ভাৱে # ছেকেণ্ডত ছাইন আউট কৰা হ’ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}}</translation>
 <translation id="1193273168751563528">পৰিচালিত ছেশ্বন উল্লেখ কৰক</translation>
 <translation id="1193927020065025187">এই ছাইটটোৱে আপোনাক বিনা অনুমতিত দেখুওৱা জাননীৰ অনুমতি দিবলৈ জালত পেলাব পাৰে</translation>
 <translation id="1195447618553298278">অজ্ঞাত আসোঁৱাহ।</translation>
@@ -258,8 +264,10 @@
 <translation id="1285484354230578868">আপোনাৰ Google Drive একাউণ্টত ডেটা ষ্ট’ৰ কৰক</translation>
 <translation id="1288037062697528143">সন্ধিয়া হ'লে নিশাৰ লাইট স্বয়ংক্ৰিয়ভাৱে অন হ'ব</translation>
 <translation id="1288300545283011870">কথনৰ বৈশিষ্ট্য</translation>
+<translation id="1292849930724124745">ছাইন ইন হৈ থাকিবলৈ স্মাৰ্ট কাৰ্ড ভৰাওক</translation>
 <translation id="1293264513303784526">USB-C ডিভাইচ (বাওঁফালৰ পর্ট)</translation>
 <translation id="1293556467332435079">Files</translation>
+<translation id="1294807885394205587">এই প্ৰক্ৰিয়াৰ বাবে কেইমিনিটমান সময় লাগিব পাৰে। কণ্টেইনাৰ মেনেজাৰটো আৰম্ভ কৰি থকা হৈছে।</translation>
 <translation id="1296911687402551044">বাছনি কৰা টেবটো পিন কৰক</translation>
 <translation id="1297175357211070620">গন্তব্যস্থান</translation>
 <translation id="1300415640239881824"><ph name="DOMAIN" />এ সুৰক্ষিত সমলৰ প্লে’বেক বৃদ্ধি কৰাৰ যোগ্যতা নির্ধাৰণ কৰিবলৈ Googleএ আপোনাৰ ডিভাইচৰ পৰিচয় সত্যাপন কৰাটো বিচাৰে।</translation>
@@ -926,6 +934,7 @@
 <translation id="2046702855113914483">ৰামেন</translation>
 <translation id="204706822916043810">ভাৰ্ছুৱেল মেচিনটো পৰীক্ষা কৰি থকা হৈছে</translation>
 <translation id="2048182445208425546">আপোনাৰ নেটৱৰ্কৰ ট্ৰেফিক এক্সেছ কৰক</translation>
+<translation id="2048554637254265991">কণ্টেইনাৰ মেনেজাৰটো আৰম্ভ কৰোঁতে আসোঁৱাহ হৈছে। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।</translation>
 <translation id="2048653237708779538">কোনো কার্য নাই</translation>
 <translation id="204914487372604757">শ্বৰ্টকাট সৃষ্টি কৰক</translation>
 <translation id="2050339315714019657">প’ৰ্ট্ৰেইট</translation>
@@ -1126,6 +1135,7 @@
 <translation id="2276503375879033601">অধিক এপ্‌ যোগ কৰক</translation>
 <translation id="2277255602909579701">সকলো কুকি আৰু ছাইট ডেটা</translation>
 <translation id="2278562042389100163">ব্ৰাউজাৰ ৱিণ্ড’ খোলক</translation>
+<translation id="2278668501808246459">কণ্টেইনাৰ মেনেজাৰটো আৰম্ভ কৰি থকা হৈছে</translation>
 <translation id="2280486287150724112">সোঁ মাৰ্জিন</translation>
 <translation id="2282146716419988068">GPU প্ৰক্ৰিয়া</translation>
 <translation id="2282155092769082568">স্বয়ংক্ৰিয় কনফিগাৰেশ্বন URL:</translation>
@@ -1138,6 +1148,7 @@
 <translation id="2292848386125228270">সাধাৰণ ব্যৱহাৰকাৰী হিচাপে <ph name="PRODUCT_NAME" />ৰ ব্যৱহাৰ আৰম্ভ কৰক। যদি আপুনি বিকাশৰ ৰুট হিচাপে চালব লগা হয় তেন্তে --no-sandbox ফ্লেগৰ জৰিয়তে পুনৰ চলাওক।</translation>
 <translation id="2294358108254308676">আপুনি <ph name="PRODUCT_NAME" /> ইনষ্টল কৰিব বিচাৰে নেকি?</translation>
 <translation id="2295864384543949385"><ph name="NUM_RESULTS" /> টা ফলাফল</translation>
+<translation id="2296099049346876573">{NUM_HOURS,plural, =1{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • ১ ঘণ্টাৰ পূৰ্বে পৰীক্ষা কৰিছে}one{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_HOURS} ঘণ্টাৰ পূৰ্বে পৰীক্ষা কৰিছে}other{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_HOURS} ঘণ্টাৰ পূৰ্বে পৰীক্ষা কৰিছে}}</translation>
 <translation id="2297705863329999812">প্ৰিণ্টাৰ সন্ধান কৰক</translation>
 <translation id="2299734369537008228">শ্লাইডাৰ: <ph name="MIN_LABEL" />ৰ পৰা <ph name="MAX_LABEL" />লৈ</translation>
 <translation id="2299941608784654630">debugdৰ দ্বাৰা সংগ্ৰহ কৰা সকলো লগ ফাইল এটা পৃথক আৰ্কাইভ হিচাপে অন্তৰ্ভুক্ত কৰক।</translation>
@@ -1301,6 +1312,7 @@
 <translation id="248003956660572823">পাছৱৰ্ডসমূহ ছেভ কৰা নহ’ল</translation>
 <translation id="2480868415629598489">আপুনি প্ৰতিলিপি আৰু পে’ষ্ট কৰা ডেটা সংশোধন কৰক</translation>
 <translation id="2482878487686419369">জাননী</translation>
+<translation id="2482895651873876648">টেবটো <ph name="GROUP_NAME" /> গোটলৈ নিয়া হ'ল - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="2484959914739448251">আপুনি ছিংক কৰি ৰখা সকলো ডিভাইচ আৰু আপোনাৰ Google একাউণ্টৰ পৰা ব্ৰাউজ কৰা ডেটা মচিবলৈ <ph name="BEGIN_LINK" />আপোনাৰ পাছফ্ৰেজ দিয়ক<ph name="END_LINK" />।</translation>
 <translation id="2485005079599453134">এই ডিভাইচটোত পাছৱৰ্ড ছেভ কৰা হৈছে</translation>
 <translation id="2485394160472549611">আপোনাৰ বাবে শীৰ্ষ বাছনিসমূহ</translation>
@@ -1424,6 +1436,7 @@
 <translation id="262373406453641243">Colemak</translation>
 <translation id="2624142942574147739">এই পৃষ্ঠাটোৱে আপোনাৰ কেমেৰা আৰু মাইক্ৰ’ফ’ন এক্সেছ কৰি আছে।</translation>
 <translation id="2626799779920242286">অনুগ্ৰহ কৰি পাছত পুনৰ চেষ্টা কৰক।</translation>
+<translation id="2627424346328942291">শ্বেয়াৰ কৰিব নোৱাৰি</translation>
 <translation id="2628770867680720336">ADB ডিবাগিং সক্ষম কৰিবলৈ এই Chromebookটো এবাৰ ফেক্টৰী ৰিছেট কৰা আৱশ্যক। <ph name="BEGIN_LINK_LEARN_MORE" />অধিক জানক<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="2629227353894235473">Android এপ্‌সমূহ বিকাশ কৰক</translation>
 <translation id="2630681426381349926">আৰম্ভ কৰিবলৈ ৱাই-ফাইৰ সৈতে সংযোগ কৰক</translation>
@@ -1451,6 +1464,7 @@
 <translation id="265390580714150011">ক্ষেত্ৰৰ মান</translation>
 <translation id="2654166010170466751">পৰিশোধ হেণ্ডেলাৰ ইনষ্টল কৰিবলৈ ছাইটবোৰক অনুমতি দিয়ক</translation>
 <translation id="2654553774144920065">প্ৰিণ্টৰ অনুৰোধ</translation>
+<translation id="2657807507504044638">কোনো ই-ছিমৰ প্ৰ'ফাইল উপলব্ধ নহয়। <ph name="BEGIN_LINK" />ইয়াত<ph name="END_LINK" /> এটা নতুন প্ৰ'ফাইল ডাউনল'ড কৰক</translation>
 <translation id="2659381484350128933">ডিভাইচ অনুসৰি <ph name="FOOTNOTE_POINTER" /> সুবিধাসমূহ বিভিন্ন হয়</translation>
 <translation id="2659971421398561408">Crostini ডিস্কৰ আকাৰ সলনি কৰা</translation>
 <translation id="2660779039299703961">অনুষ্ঠান</translation>
@@ -1537,6 +1551,7 @@
 <translation id="2747266560080989517">এই ফাইলটোত সংবেদনশীল অথবা বিপজ্জনক সমল আছে। এইটোৰ গৰাকীক সমাধান কৰিবলৈ কওক।</translation>
 <translation id="2748061034695037846"><ph name="DOMAIN" /> পজ কৰা হৈছে</translation>
 <translation id="2749756011735116528"><ph name="PRODUCT_NAME" />ত ছাইন ইন কৰক</translation>
+<translation id="2749836841884031656">ছিম</translation>
 <translation id="2749881179542288782">বানান আৰু ব্যাকৰণত থকা ভুলবোৰ চাওক</translation>
 <translation id="2751131328353405138">Linux কণ্টেইনাৰৰ sshfs মাউণ্ট কৰি থকা হৈছে</translation>
 <translation id="2751739896257479635">EAPৰ ২য় স্তৰৰ বিশ্বাসযোগ্যতাৰ প্ৰমাণীকৰণ</translation>
@@ -1591,6 +1606,7 @@
 <translation id="2805646850212350655">Microsoft Encrypting File System</translation>
 <translation id="2805756323405976993">এপ্</translation>
 <translation id="2805770823691782631">অতিৰিক্ত সবিশেষ</translation>
+<translation id="2806372837663997957">আপুনি যিটো ডিভাইচৰ সৈতে শ্বেয়াৰ কৰিবলৈ চেষ্টা কৰি আছে সেইটোৱে গ্ৰহণ নকৰিলে</translation>
 <translation id="2807517655263062534">আপুনি ডাউনল’ড কৰা ফাইলসমূহ ইয়াত প্ৰদর্শিত হ’ব</translation>
 <translation id="2809586584051668049">আৰু <ph name="NUMBER_ADDITIONAL_DISABLED" />টা</translation>
 <translation id="2810390687497823527">আপুনি যদি কোনো এক্সটেনশ্বন চিনাক্ত কৰিব পৰা নাই অথবা আপোনাৰ ব্ৰাউজাৰটোৱে আশা কৰা ধৰণে কাম কৰা নাই, আপুনি ইয়াত এক্সটেনশ্বনসমূহ অফ অথবা কাষ্টমাইজ কৰিব পাৰে।</translation>
@@ -1627,6 +1643,7 @@
 <translation id="2849936225196189499">জটিল</translation>
 <translation id="2850541429955027218">থীম যোগ কৰক</translation>
 <translation id="2851634818064021665">এই ছাইটটো চাবলৈ আপোনাক অনুমতিৰ প্ৰয়োজন</translation>
+<translation id="2851728849045278002">কিবা ভুল হ’ল। অধিক সবিশেষৰ বাবে ক্লিক কৰক।</translation>
 <translation id="2854896010770911740">তৃতীয় পক্ষৰ কুকিসমূহ আঁতৰাওক</translation>
 <translation id="2858138569776157458">শীৰ্ষ ছাইট</translation>
 <translation id="2861301611394761800">ছিষ্টেম আপডে’ট সম্পূৰ্ণ হ’ল। অনুগ্ৰহ কৰি ছিষ্টেমটো ৰিষ্টাৰ্ট কৰক।</translation>
@@ -1687,6 +1704,8 @@
 <translation id="2916073183900451334">কোনো ৱেব পৃষ্ঠাত হাইলাইট কৰি থোৱা লিংকৰ টেবত টিপি বা থকা ক্ষেত্ৰসমূহৰ পৰা</translation>
 <translation id="2916745397441987255">সন্ধানৰ এক্সটেনশ্বন</translation>
 <translation id="2921081876747860777">আপোনাৰ স্থানীয় ডেটা সুৰক্ষিত কৰিবলৈ অনুগ্ৰহ কৰি এটা পাছৱৰ্ড সৃষ্টি কৰক।</translation>
+<translation id="2923006468155067296">এতিয়া আপোনাৰ <ph name="DEVICE_TYPE" />টো লক কৰা হ'ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।</translation>
 <translation id="2923234477033317484">এই একাউণ্টটো আঁতৰাওক</translation>
 <translation id="2926085873880284723">ডিফ’ল্ট শ্বৰ্টকাটসমূহ পুনঃস্থাপন কৰক</translation>
 <translation id="2927017729816812676">কেশ্বৰ ষ্ট'ৰেজ</translation>
@@ -2429,6 +2448,7 @@
 <translation id="379082410132524484">আপোনাৰ কার্ডৰ ম্যাদ উকলিছে</translation>
 <translation id="3792890930871100565">প্ৰিণ্টাৰৰ সংযোগ বিচ্ছিন্ন কৰক</translation>
 <translation id="3793395331556663376">বহুতো ফাইল ছিষ্টেম খোলা আছে।</translation>
+<translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • ১ দিনৰ পূৰ্বে পৰীক্ষা কৰিছে}one{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_DAYS} দিনৰ পূৰ্বে পৰীক্ষা কৰিছে}other{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_DAYS} দিনৰ পূৰ্বে পৰীক্ষা কৰিছে}}</translation>
 <translation id="379509625511193653">অফ আছে</translation>
 <translation id="3796648294839530037">প্ৰিয় নেটৱর্ক:</translation>
 <translation id="3797739167230984533">আপোনাৰ প্ৰতিষ্ঠানৰ দ্বাৰা আপোনাৰ <ph name="BEGIN_LINK" /><ph name="DEVICE_TYPE" /> পৰিচালিত<ph name="END_LINK" /></translation>
@@ -2950,6 +2970,7 @@
 <translation id="4434045419905280838">পপ-আপ আৰু পুনৰ নির্দেশ</translation>
 <translation id="443454694385851356">লিগেচী (অসুৰক্ষিত)</translation>
 <translation id="443475966875174318">অমিল এপ্লিকেশ্বনসমূহ আপডে’ট কৰক বা আঁতৰাওক</translation>
+<translation id="4436063104263971834">কোনো ছিমৰ প্ৰ'ফাইল উপলব্ধ নহয়। <ph name="BEGIN_LINK" />ইয়াত<ph name="END_LINK" /> এটা নতুন প্ৰ’ফাইল ছেট আপ কৰক।</translation>
 <translation id="4438043733494739848">স্বচ্ছ</translation>
 <translation id="4439427728133035643"><ph name="NETWORK_COUNT" />টা নেটৱৰ্কৰ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, ছিগনেলৰ ক্ষমতা <ph name="SIGNAL_STRENGTH" />%, সংযোগ কৰক</translation>
 <translation id="4441124369922430666">আপুনি মেচিনটো অন হ’লে স্বয়ংক্ৰিয়ভাৱে এই এপৰ কার্যকলাপ আৰম্ভ হোৱাটো বিচাৰেনে?</translation>
@@ -3204,6 +3225,7 @@
 <translation id="4726710629007580002">এই এক্সটেনশ্বনটো ইনষ্টল কৰিবলৈ চেষ্টা কৰি থাকোঁতে কিবা সতৰ্কবাণী আহিছিল:</translation>
 <translation id="4727847987444062305">পৰিচালিত অতিথিৰ ছেশ্বন</translation>
 <translation id="4728558894243024398">প্লেটফ’ৰ্ম</translation>
+<translation id="4728570203948182358"><ph name="BEGIN_LINK" />আপোনাৰ প্ৰশাসকে<ph name="END_LINK" /> ক্ষতিকাৰক ছফ্টৱেৰ আছেনে নাই পৰীক্ষা কৰা সুবিধাটো অফ কৰিছে</translation>
 <translation id="4730492586225682674">লক স্ক্ৰীনত ষ্টাইলাছৰ শেহতীয়া টোকা</translation>
 <translation id="4733793249294335256">অৱস্থান</translation>
 <translation id="473546211690256853">এই একাউণ্টটো <ph name="DOMAIN" />য়ে পৰিচালনা কৰে</translation>
@@ -3250,6 +3272,7 @@
 <translation id="4804818685124855865">সংযোগ বিচ্ছিন্ন কৰক</translation>
 <translation id="4804827417948292437">এভ‘কাড‘</translation>
 <translation id="4807098396393229769">কার্ডত থকা নাম</translation>
+<translation id="4808024018088054533">Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • এইমাত্ৰ পৰীক্ষা কৰিছে</translation>
 <translation id="4808667324955055115">পপ-আপ অৱৰোধ কৰা হৈছে:</translation>
 <translation id="4809079943450490359">আপোনাৰ ডিভাইচ প্ৰশাসকৰ নিৰ্দেশাৱলী:</translation>
 <translation id="480990236307250886">গৃহ পৃষ্ঠাটো খোলক</translation>
@@ -3550,6 +3573,7 @@
 <translation id="5160634252433617617">কায়িক কীব’ৰ্ড</translation>
 <translation id="5160857336552977725">আপোনাৰ <ph name="DEVICE_TYPE" />ত ছাইন ইন কৰক</translation>
 <translation id="5162905305237671850"><ph name="DEVICE_TYPE" /> অৱৰোধ কৰা হৈছে</translation>
+<translation id="5163910114647549394">টেবটোক টেবষ্ট্ৰিপৰ শেষ অংশলৈ নিয়া হ'ল</translation>
 <translation id="5166596762332123936"><ph name="PLUGIN_NAME" />ৰ ম্যাদ উকলাৰ বাবে অৱৰোধ কৰা হৈছে</translation>
 <translation id="5170568018924773124">ফ’ল্ডাৰত দেখুৱাওক</translation>
 <translation id="5171045022955879922">সন্ধান কৰক বা URL টাইপ কৰক</translation>
@@ -3657,6 +3681,7 @@
 <translation id="5297082477358294722">পাছৱৰ্ড ছেভ কৰা হ'ল। আপোনাৰ <ph name="SAVED_PASSWORDS_STORE" />ত ছেভ হৈ থকা পাছৱৰ্ড চাওক আৰু পৰিচালনা কৰক।</translation>
 <translation id="5298219193514155779">থীম সৃষ্টি কৰোঁতা</translation>
 <translation id="5299109548848736476">ট্ৰেক নকৰিব</translation>
+<translation id="5299558715747014286">আপোনাৰ টেবৰ গোটসমূহ চাওক আৰু পৰিচালনা কৰক</translation>
 <translation id="5300287940468717207">ছাইটৰ অনুমতি ৰিছেট কৰিবনে?</translation>
 <translation id="5300589172476337783">দেখুৱাওক</translation>
 <translation id="5300719150368506519">আপুনি চোৱা পৃষ্ঠাসমূহৰ URLসমূহ Googleলৈ পঠিয়াওক</translation>
@@ -3771,6 +3796,7 @@
 <translation id="5436492226391861498">প্ৰ’ক্সি টানেলৰ বাবে অপেক্ষা কৰি থকা হৈছে...</translation>
 <translation id="5436510242972373446"><ph name="SITE_NAME" />ৰ সন্ধান কৰক:</translation>
 <translation id="543806387003274181">অনুগ্ৰহ কৰি আপোনাৰ ফাইলসমূহ ছেভ কৰক আৰু এটা নতুন একাউণ্ট এতিয়াই সৃষ্টি কৰক।</translation>
+<translation id="5439680044267106777">বাদ দিয়ক আৰু নতুন প্ৰ'ফাইল ছেট আপ কৰক</translation>
 <translation id="544083962418256601">শ্বৰ্টকাট সৃষ্টি কৰক...</translation>
 <translation id="5442228125690314719">ডিস্কৰ প্ৰতিচ্ছবি সৃষ্টি কৰাত আসোঁৱাহ হৈছে। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।</translation>
 <translation id="5442550868130618860">স্বয়ংক্ৰিয় আপডে’ট অন কৰক</translation>
@@ -4105,9 +4131,11 @@
 <translation id="5826395379250998812">আপোনাৰ <ph name="DEVICE_TYPE" /> নিজৰ ফ’নৰ সৈতে সংযোগ কৰক। <ph name="LINK_BEGIN" />অধিক জানক<ph name="LINK_END" /></translation>
 <translation id="5826993284769733527">অৰ্দ্ধ-স্বচ্ছ</translation>
 <translation id="5827266244928330802">Safari</translation>
+<translation id="5828545842856466741">প্ৰ’ফাইল যোগ কৰক...</translation>
 <translation id="5828633471261496623">প্ৰিণ্ট কৰি থকা হৈছে...</translation>
 <translation id="5830720307094128296">&amp;ইয়াৰ এটা ধৰণত পৃষ্ঠাটো ছেভ কৰক...</translation>
 <translation id="5832805196449965646">অন্য লোক যোগ কৰক</translation>
+<translation id="5832813618714645810">প্ৰ’ফাইল</translation>
 <translation id="583281660410589416">অজ্ঞাত</translation>
 <translation id="5833397272224757657">ব্যক্তিগতকৰণ কৰিবলৈ আপুনি চোৱা ছাইটৰ সমল, ব্ৰাউজাৰৰ কার্যকলাপ আৰু ভাব-বিনিময়সমূহ ব্যৱহাৰ কৰে</translation>
 <translation id="5833726373896279253">এই ছেটিংসমূহ কেৱল গৰাকীয়েহে সংশোধন কৰিব পাৰে:</translation>
@@ -4213,6 +4241,7 @@
 <translation id="5944869793365969636">কিউআৰ ক’ড স্কেন কৰক</translation>
 <translation id="5946591249682680882">ৰিপ’ৰ্টৰ আইডি <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
 <translation id="5949544233750246342">ফাইল পার্ছ কৰিব পৰা নগ’ল</translation>
+<translation id="5950819593680344519">Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • কালি পৰীক্ষা কৰিছে</translation>
 <translation id="5951624318208955736">মনিটৰ</translation>
 <translation id="5955282598396714173">আপোনাৰ পাছৱৰ্ডটোৰ ম্যাদ উকলিছে। এইটো সলনি কৰিবলৈ অনুগ্ৰহ কৰি ছাইন আউট কৰি আকৌ ছাইন ইন কৰক।</translation>
 <translation id="5955304353782037793">এপ্</translation>
@@ -4381,6 +4410,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />, কোনো নেটৱৰ্ক নাই</translation>
 <translation id="6141988275892716286">ডাউনল’ড নিশ্চিত কৰক</translation>
 <translation id="6143186082490678276">সহায় লওক</translation>
+<translation id="6143366292569327983">অনুবাদ কৰিবলৈ পৃষ্ঠাখন কি ভাষাত আছে সেয়া বাছনি কৰক</translation>
 <translation id="6144938890088808325">Chromebooks উন্নত কৰাত আমাক সহায় কৰক</translation>
 <translation id="6147020289383635445">প্ৰিণ্টাৰ পূর্বদর্শন কৰিব পৰা নগ'ল।</translation>
 <translation id="6148576794665275391">এতিয়া খোলক</translation>
@@ -4504,6 +4534,8 @@
 <translation id="6280215091796946657">বেলেগ এটা একাউণ্টৰ দ্বাৰা ছাইন ইন কৰক</translation>
 <translation id="6280912520669706465">এআৰচি</translation>
 <translation id="6282180787514676874">{COUNT,plural, =1{১ খন কাগজৰ সীমা অতিক্ৰম কৰিছে}one{{COUNT} খন কাগজৰ সীমা অতিক্ৰম কৰিছে}other{{COUNT} খন কাগজৰ সীমা অতিক্ৰম কৰিছে}}</translation>
+<translation id="6283438600881103103">এতিয়া আপোনাক স্বয়ংক্ৰিয়ভাৱে ছাইন আউট কৰা হ’ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।</translation>
 <translation id="628352644014831790">৪ছেকেণ্ড</translation>
 <translation id="6285120108426285413">সাধাৰণতে <ph name="FILE_NAME" /> ডাউনল'ড কৰা নহয় আৰু ই ক্ষতিকাৰক হ'ব পাৰে।</translation>
 <translation id="6285120908535925801">{NUM_PRINTER,plural, =1{আপোনাৰ নেটৱর্কত দেখুওৱা নতুন প্ৰিণ্টাৰ}one{আপোনাৰ নেটৱর্কত দেখুওৱা নতুন প্ৰিণ্টাৰসমূহ}other{আপোনাৰ নেটৱর্কত দেখুওৱা নতুন প্ৰিণ্টাৰসমূহ}}</translation>
@@ -4656,6 +4688,7 @@
 <translation id="6466988389784393586">সকলো বুকমাৰ্ক &amp;খোলক</translation>
 <translation id="6467304607960172345">সম্পূর্ণ স্ক্ৰীণৰ ভিডিঅ’সমূহ অপ্টিমাইজ কৰক</translation>
 <translation id="6468485451923838994">ফ’ণ্ট</translation>
+<translation id="6468773105221177474"><ph name="FILE_COUNT" /> টা ফাইল</translation>
 <translation id="6469557521904094793">চেলুলাৰ নেটৱৰ্ক অন কৰক</translation>
 <translation id="6472207088655375767">OTP</translation>
 <translation id="6472893788822429178">গৃহপৃষ্ঠালৈ যোৱা বুটামটো দেখুৱাওক</translation>
@@ -4822,6 +4855,7 @@
 <translation id="6684827949542560880">শেহতীয়া আপডে'টটো ডাউনল’ড কৰি থকা হৈছে</translation>
 <translation id="668599234725812620">Google Play খোলক</translation>
 <translation id="6686490380836145850">টেবটো সোঁফাললৈ বন্ধ কৰক</translation>
+<translation id="6686665106869989887">টেবটো সোঁফালে নিয়া হ'ল</translation>
 <translation id="6686817083349815241">আপোনাৰ পাছৱৰ্ড ছেভ কৰক</translation>
 <translation id="6688285987813868112">এই প্ৰতিচ্ছবিখনৰ বাবে QR ক’ড সৃষ্টি কৰক</translation>
 <translation id="6690659332373509948">ফাইল পার্ছ কৰিব পৰা নগ’ল: <ph name="FILE_NAME" /></translation>
@@ -4944,6 +4978,7 @@
 <translation id="6828860976882136098">সকলো ব্যৱহাৰকাৰীৰ কাৰণে স্বয়ংক্ৰিয় আপডে’ট ছেট আপ কৰিব পৰা নগ’ল (প্ৰিফ্লাইট কার্যকৰী কৰোঁতে হোৱা আসোঁৱাহ: <ph name="ERROR_NUMBER" />)</translation>
 <translation id="682971198310367122">Googleৰ গোপনীয়তা নীতি</translation>
 <translation id="6831043979455480757">অনুবাদ কৰক</translation>
+<translation id="6833479554815567477"><ph name="GROUP_NAME" /> গোটৰ পৰা টেবটো আঁতৰোৱা হ'ল - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">স্মার্ট আৰু সুৰক্ষিত ব্ৰাউজাৰ ব্যৱহাৰ কৰক</translation>
 <translation id="6835762382653651563">অনুগ্ৰহ কৰি আপোনাৰ <ph name="DEVICE_TYPE" /> আপডে’ট কৰিবলৈ ইন্টাৰনেটৰ সৈতে সংযোগ কৰক।</translation>
 <translation id="6838034009068684089">কোনো ছাইটে ৱিণ্ড’ খুলিবলৈ আৰু আপোনাৰ স্ক্ৰীনসমূহত থ’বলৈ বিচাৰিলে সোধক (চুপাৰিছ কৰা হয়)</translation>
@@ -5083,9 +5118,11 @@
 <translation id="698524779381350301">নিম্নোক্ত ছাইটসমূহত স্বয়ংক্ৰিয়ভাৱে এক্সেছ কৰাৰ অনুমতি দিয়ক</translation>
 <translation id="6985607387932385770">প্ৰিণ্টাৰ</translation>
 <translation id="6988094684494323731">Linux কণ্টেইনাৰটো আৰম্ভ কৰি থকা হৈছে</translation>
+<translation id="6988403677482707277">টেবটোক টেবষ্ট্ৰিপৰ আৰম্ভণিৰ অংশলৈ নিয়া হ'ল</translation>
 <translation id="6990778048354947307">গাঢ় থীম</translation>
 <translation id="6991665348624301627">কোনো গন্তব্যস্থান বাছনি কৰক</translation>
 <translation id="6992554835374084304">উন্নত বানান পৰীক্ষক অন কৰক</translation>
+<translation id="6993000214273684335">নামবিহীন গোটৰ পৰা টেবটো আঁতৰোৱা হৈছে - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="6994069045767983299">ওলোটা কৰা ৰংসমূহ</translation>
 <translation id="6995899638241819463">ডেটা উলংঘনৰ ফলত পাছৱৰ্ডসমূহ ফাদিল হ’লে আপোনাক সকীয়নি দিয়ে</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - কাৰ্যকলাপৰ লগ</translation>
@@ -5166,6 +5203,7 @@
 <translation id="7076878155205969899">ধ্বনি মিউট কৰক</translation>
 <translation id="7077829361966535409">ছাইন ইন কৰা পৃষ্ঠায়ে বৰ্তমানৰ প্ৰক্সি ছেটিং ব্যৱহাৰ কৰি ল’ড হ’ব নোৱাৰিলে। অনুগ্ৰহ কৰি <ph name="GAIA_RELOAD_LINK_START" />পুনৰ ছাইন ইন কৰিবলৈ চেষ্টা কৰক<ph name="GAIA_RELOAD_LINK_END" /> বা অন্য <ph name="PROXY_SETTINGS_LINK_START" />প্ৰক্সি ছেটিংসমূহ<ph name="PROXY_SETTINGS_LINK_END" /> ব্যৱহাৰ কৰক।</translation>
 <translation id="7078120482318506217">সকলো নেটৱৰ্ক</translation>
+<translation id="7078386829626602215">কোনো ডিভাইচ চিনাক্ত কৰা হোৱা নাই <ph name="BEGIN_LINK" />অধিক জানক<ph name="END_LINK" /></translation>
 <translation id="708060913198414444">অডিঅ' ঠিকনা প্ৰতি&amp;লিপি কৰক</translation>
 <translation id="7081952801286122383">আপুনি ইনকগনিট’ হৈ আছে</translation>
 <translation id="708278670402572152">স্কেনিং সক্ষম কৰিবলৈ সংযোগ বিচ্ছিন্ন কৰক</translation>
@@ -5187,6 +5225,7 @@
 <translation id="7102832101143475489">অনুৰোধটোৰ সময় উকলিল</translation>
 <translation id="710640343305609397">নেটৱৰ্ক ছেটিংসমূহ খোলক</translation>
 <translation id="7108668606237948702">দিয়ক</translation>
+<translation id="7108933416628942903">এতিয়াই লক কৰক</translation>
 <translation id="7109543803214225826">শ্বৰ্টকাট আঁতৰোৱা হ’ল</translation>
 <translation id="7110644433780444336">{NUM_TABS,plural, =1{গোটত টেব যোগ দিয়ক}one{গোটত টেবসমূহ যোগ দিয়ক}other{গোটত টেবসমূহ যোগ দিয়ক}}</translation>
 <translation id="7113502843173351041">আপোনাৰ ইমেইল ঠিকনা জানক</translation>
@@ -5232,6 +5271,7 @@
 <translation id="7168109975831002660">ফ’ণ্টৰ সর্বনিম্ন আকাৰ</translation>
 <translation id="7170041865419449892">সীমাৰ বাহিৰত</translation>
 <translation id="7170236477717446850">প্ৰ’ফাইলৰ চিত্ৰ</translation>
+<translation id="7171000599584840888">প্ৰ’ফাইল যোগ কৰক...</translation>
 <translation id="7171259390164035663">পঞ্জীয়ন নকৰিব</translation>
 <translation id="7171559745792467651">আপোনাৰ অন্য ডিভাইচৰ পৰা এপ্ ইনষ্টল কৰক</translation>
 <translation id="7172470549472604877">{NUM_TABS,plural, =1{নতুন গোটত টেব যোগ দিয়ক}one{নতুন গোটত টেবসমূহ যোগ দিয়ক}other{নতুন গোটত টেবসমূহ যোগ দিয়ক}}</translation>
@@ -5448,6 +5488,7 @@
 <translation id="7427348830195639090">নেপথ্যৰ পৃষ্ঠা: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" />ৰ পৰা অহা কল</translation>
 <translation id="7431719494109538750">কোনো HID ডিভাইচ বিচাৰি পোৱা নগ’ল</translation>
+<translation id="7433708794692032816">আপোনাৰ <ph name="DEVICE_TYPE" /> ব্যৱহাৰ কৰি থাকিবলৈ স্মাৰ্ট কাৰ্ড ভৰাওক</translation>
 <translation id="7433957986129316853">এয়া ৰাখক</translation>
 <translation id="7434509671034404296">বিকাশকৰ্তা</translation>
 <translation id="7434635829372401939">আপোনাৰ ছেটিংসমূহ ছিংক কৰক</translation>
@@ -5744,6 +5785,7 @@
 <translation id="7773726648746946405">ছেশ্বনৰ সঞ্চয়াগাৰ</translation>
 <translation id="7774365994322694683">চৰাই</translation>
 <translation id="7774792847912242537">অতিং বেছিসংখ্যক অনুৰোধ।</translation>
+<translation id="7775694664330414886">নামবিহীন গোটলৈ টেবটো নিয়া হৈছে - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="7776156998370251340">আপুনি এই ছাইটটোৰ বাবে সকলো টেব বন্ধ নকৰা পর্যন্ত <ph name="ORIGIN" />এ <ph name="FOLDERNAME" />ত ফাইলসমূহ চাব পাৰিব</translation>
 <translation id="7776701556330691704">কোনো কণ্ঠধ্বনি পোৱা নগ'ল</translation>
 <translation id="7780252971640011240">সংযোগ কৰোঁতে সমস্যাৰ সৃষ্টি হৈছে। অনুগ্ৰহ কৰি সহায়ৰ বাবে আপোনাৰ বাহকৰ সৈতে যোগাযোগ কৰক।</translation>
@@ -5855,6 +5897,7 @@
 <translation id="7881483672146086348">একাউণ্টটো চাওক</translation>
 <translation id="7882358943899516840">প্ৰদানকাৰীৰ ধৰণ</translation>
 <translation id="7885253890047913815">শেহতীয়া গন্তব্যস্থানবোৰ</translation>
+<translation id="7886605625338676841">ই-ছিম</translation>
 <translation id="7887334752153342268">নকল</translation>
 <translation id="7887864092952184874">ব্লুটুথ মাউচ যোৰা লগোৱা হৈছে</translation>
 <translation id="7890147169288018054">আপোনাৰ আইপি অথবা MAC ঠিকনাৰ দৰে নেটৱৰ্কৰ তথ্য চাওক</translation>
@@ -5987,6 +6030,7 @@
 <translation id="8030852056903932865">অনুমোদন জনাওক</translation>
 <translation id="8032244173881942855">টেব কাষ্ট কৰিব পৰা নগ’ল।</translation>
 <translation id="8033827949643255796">বাছনি কৰা হৈছে</translation>
+<translation id="8033958968890501070">সময় উকলিছে</translation>
 <translation id="8037117027592400564">সংশ্লেষিত কথন ব্যৱহাৰ কৰি কোৱা সকলো পাঠ পঢ়ক</translation>
 <translation id="8037357227543935929">সোধক (ডিফ'ল্ট)</translation>
 <translation id="803771048473350947">ফাইল</translation>
@@ -6059,6 +6103,7 @@
 <translation id="810728361871746125">ডিছপ্লে’ৰ ৰিজ’লিউশ্বন</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{তৃতীয় পক্ষৰ কুকিসমূহ নাই}=1{১টা তৃতীয় পক্ষৰ কুকি অৱৰোধ কৰা হৈছে}one{#টা তৃতীয় পক্ষৰ কুকীসমূহ অৱৰোধ কৰা হৈছে}other{#টা তৃতীয় পক্ষৰ কুকীসমূহ অৱৰোধ কৰা হৈছে}}</translation>
 <translation id="810875025413331850">কোনো নিকটৱৰ্তী ডিভাইচ বিচাৰি পোৱা নগ’ল।</translation>
+<translation id="8109109153262930486">ডিফ’ল্ট অৱতাৰ</translation>
 <translation id="8110489095782891123">সম্পৰ্ক সূচী ডাউনল’ড কৰি থকা হৈছে...</translation>
 <translation id="8113476325385351118">এই ছাইটটোক MIDI ডিভাইচসমূহৰ সম্পূৰ্ণ নিয়ন্ত্ৰণ পোৱাৰ পৰা অৱৰোধ কৰাটো অব্যাহত ৰাখক</translation>
 <translation id="8114199541033039755">টেবলেট ম’ডত বুটামৰ জৰিয়তে গৃহপৃষ্ঠালৈ নেভিগে’ট কৰক, উভতি যাওক আৰু এপ্‌সমূহ সলনি কৰক। ChromeVox অথবা স্বয়ংক্ৰিয় ক্লিক সক্ষম কৰিলে অন হয়।</translation>
@@ -6618,6 +6663,10 @@
 <translation id="8774934320277480003">শীৰ্ষ মাৰ্জিন</translation>
 <translation id="8775144690796719618">অমান্য URL</translation>
 <translation id="8775163630211761057">আপোনাৰ <ph name="DEVICE_TYPE" />লৈ আপোনাৰ Android ফ’নৰ সৰ্বশ্ৰেষ্ঠ সুবিধা প্ৰদান কৰক</translation>
+<translation id="8775653927968399786">{0,plural, =1{আপোনাৰ <ph name="DEVICE_TYPE" /> # ছেকেণ্ডত স্বয়ংক্ৰিয়ভাৱে অৱৰোধ কৰা হ'ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}one{আপোনাৰ <ph name="DEVICE_TYPE" /> # ছেকেণ্ডত স্বয়ংক্ৰিয়ভাৱে অৱৰোধ কৰা হ'ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}other{আপোনাৰ <ph name="DEVICE_TYPE" /> # ছেকেণ্ডত স্বয়ংক্ৰিয়ভাৱে অৱৰোধ কৰা হ'ব।
+<ph name="DOMAIN" />ৰ বাবে আপুনি নিজৰ স্মাৰ্ট কাৰ্ডখন ভৰাই ৰখাৰ আৱশ্যক।}}</translation>
 <translation id="8777628254805677039">ৰুট পাছৱৰ্ড</translation>
 <translation id="8780123805589053431">Googleৰ পৰা প্ৰতিচ্ছবিৰ বিৱৰণ পাওক</translation>
 <translation id="8780443667474968681">কণ্ঠস্বৰৰ দ্বাৰা সন্ধান অফ কৰা হৈছে।</translation>
@@ -6886,6 +6935,8 @@
 <translation id="9066773882585798925">ডাঙৰকৈ পঢ়া পাঠ শুনক</translation>
 <translation id="9066782832737749352">পাঠৰ পৰা কথন</translation>
 <translation id="9068849894565669697">ৰং বাছনি কৰক</translation>
+<translation id="9068878141610261315">অসমৰ্থিত ফাইলৰ প্ৰকাৰ</translation>
+<translation id="9070342919388027491">টেবটো বাওঁফালে নিয়া হ'ল</translation>
 <translation id="9072851933240542161">{COUNT,plural, =1{১ টা ঠিকনা}one{# টা ঠিকনা}other{# টা ঠিকনা}}</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">ব্লুটুথ</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index c950d162..b0fbb9c 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -435,6 +435,7 @@
 <translation id="1475502736924165259">U arhivi imate certifikate koji ne odgovaraju nijednoj od ostalih kategorija</translation>
 <translation id="1476088332184200792">Kopirajte na svoj uređaj</translation>
 <translation id="1476607407192946488">&amp;Postavke jezika</translation>
+<translation id="1477446329585670721">Domena <ph name="DOMAIN" /> zahtijeva da pametna kartica ostane umetnuta.</translation>
 <translation id="1478340334823509079">Detalji: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalacija nije omogućena</translation>
 <translation id="1481537595330271162">Greška pri promjeni veličine diska</translation>
@@ -2035,6 +2036,7 @@
 <translation id="3320630259304269485">Sigurno pregledanje (zaštita od opasnih web lokacija) i druge sigurnosne postavke</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{U ovim podacima postoji osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}=1{U ovom fajlu postoji osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}one{U ovim fajlovima postoji osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}few{U ovim fajlovima postoji osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}other{U ovim fajlovima postoji osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}}</translation>
 <translation id="3323521181261657960">Bonus! Vrijeme korištenja uređaja ti je produženo</translation>
+<translation id="3325804108816646710">Traženje dostupnih profila...</translation>
 <translation id="3325910708063135066">Kamera i mikrofon su isključeni u Postavkama Mac sistema</translation>
 <translation id="3327050066667856415">Chromebook uređaji su dizajnirani da budu sigurni. Vaš uređaj je automatski zaštićen od zlonamjernog softvera i nije potreban dodatni softver.</translation>
 <translation id="3328489342742826322">Vraćanje iz sigurnosne kopije će izbrisati postojeće Linux aplikacije i podatke u vašem folderu s Linux fajlovima.</translation>
@@ -2102,6 +2104,7 @@
 <translation id="3412265149091626468">Pređi na Odabir</translation>
 <translation id="3413122095806433232">Izdavači CA potvrda: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Veličina:</translation>
+<translation id="3414966631182382431">Vašim <ph name="BEGIN_LINK" />preglednikom upravlja<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Uvijek prikaži pune URL-ove</translation>
 <translation id="3417835166382867856">Pretraživanje kartica</translation>
 <translation id="3417836307470882032">24-satni format vremena</translation>
@@ -3177,6 +3180,7 @@
 <translation id="4651484272688821107">Nije moguće učitati online komponentu pomoću resursa u načinu rada za demonstraciju.</translation>
 <translation id="4652935475563630866">Da promijenite postavku kamere, potrebno je ponovo pokrenuti Parallels Desktop. Ponovo pokrenite Parallels Desktop da nastavite.</translation>
 <translation id="4653405415038586100">Greška prilikom konfiguriranja Linuxa</translation>
+<translation id="4657914796247705218">Brzina TrackPointa</translation>
 <translation id="465878909996028221">Za preusmjeravanja preglednika su podržani samo protokoli http, https i protokoli za fajlove.</translation>
 <translation id="4659077111144409915">Primarni račun</translation>
 <translation id="4659126640776004816">Kada se prijavite na Google račun, ova funkcija se uključuje.</translation>
@@ -3836,6 +3840,7 @@
 <translation id="5470735824776589490">Prije vraćanja na zadane vrijednosti pomoću Powerwasha potrebno je ponovo pokrenuti uređaj. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Zdravo! Ja sam vaš glas za pretvaranje teksta u govor.</translation>
 <translation id="5472627187093107397">Sačuvaj lozinke za ovu web lokaciju</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN mora sadržavati najmanje jedan znak.}one{PIN mora sadržavati najmanje # znak.}few{PIN mora sadržavati najmanje # znaka.}other{PIN mora sadržavati najmanje # znakova.}}</translation>
 <translation id="5473333559083690127">Ponovo unesite novi PIN</translation>
 <translation id="5481273127572794904">Nije dozvoljeno automatsko preuzimanje više fajlova</translation>
 <translation id="5481941284378890518">Dodaj štampače u blizini</translation>
@@ -4376,6 +4381,7 @@
 <translation id="6087960857463881712">Oduševljeno lice</translation>
 <translation id="6091761513005122595">Dijeljenje je uspješno aktivirano.</translation>
 <translation id="6093888419484831006">Otkazivanje ažuriranja...</translation>
+<translation id="6095541101974653012">Odjavili ste se.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Otvori u najvećem prozoru</translation>
 <translation id="6096326118418049043">X.500 naziv</translation>
@@ -4708,6 +4714,7 @@
 <translation id="6474884162850599008">Prekini vezu s računom za Google Disk</translation>
 <translation id="6475697075626596525">Aplikacija <ph name="APP_NAME" /> želi dijeliti sadržaje vašeg ekrana. Odaberite šta želite dijeliti.</translation>
 <translation id="6478248366783946499">Zadržati opasan fajl?</translation>
+<translation id="6480327114083866287">Računom upravlja <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Otvorite preuzimanje</translation>
 <translation id="6483805311199035658">Otvara se <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Odaberite jezik</translation>
@@ -4896,6 +4903,7 @@
 <translation id="671928215901716392">Zaključaj zaslon</translation>
 <translation id="6721678857435001674">Vidjeti proizvođača i model vašeg sigurnosnog ključa</translation>
 <translation id="6721972322305477112">&amp;Fajl</translation>
+<translation id="672208878794563299">Ova web lokacija će sljedeći put ponovo pitati.</translation>
 <translation id="672213144943476270">Otključajte profil prije nego što počnete pretraživati kao gost.</translation>
 <translation id="6723661294526996303">Uvoz oznaka i postavki...</translation>
 <translation id="6723839937902243910">Napajanje</translation>
@@ -6296,6 +6304,7 @@
 <translation id="8317671367883557781">Dodaj mrežnu vezu</translation>
 <translation id="8319414634934645341">Produžena upotreba ključa</translation>
 <translation id="8320459152843401447">Vaš cijeli ekran</translation>
+<translation id="8321837372750396788">Uređajem <ph name="DEVICE_TYPE" /> će upravljati <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Stranici je zabranjen pristup vašem mikrofonu.</translation>
 <translation id="8323167517179506834">Upišite URL</translation>
 <translation id="8324784016256120271">Web lokacije mogu koristiti kolačiće da vide vašu aktivnost pregledanja na različitim web lokacijama, naprimjer, radi personaliziranja oglasa</translation>
@@ -6603,6 +6612,7 @@
 <translation id="8698269656364382265">Da se vratite na prethodni ekran, prevucite prstom slijeva nadesno.</translation>
 <translation id="869884720829132584">Meni aplikacija</translation>
 <translation id="869891660844655955">Datum isteka</translation>
+<translation id="8702825062053163569">Uređaj <ph name="DEVICE_TYPE" /> je zaključan.</translation>
 <translation id="8703346390800944767">Preskoči oglas</translation>
 <translation id="8705331520020532516">Serijski broj</translation>
 <translation id="8705580154597116082">WiFi je dostupan putem telefona</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index 39b8750..9621125 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">Tens certificats arxivats que no s'ajusten a cap de les altres categories</translation>
 <translation id="1476088332184200792">Copia-ho al dispositiu</translation>
 <translation id="1476607407192946488">&amp;Configuració d'idioma</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> requereix que mantinguis la targeta intel·ligent inserida.</translation>
 <translation id="1478340334823509079">Detalls: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">La instal·lació no està activada</translation>
 <translation id="1481537595330271162">S'ha produït un error en canviar la mida del disc</translation>
@@ -2032,6 +2033,7 @@
 <translation id="3320630259304269485">Configuració de la navegació segura (protecció contra llocs web perillosos) i altres opcions de configuració de seguretat</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Aquestes dades inclouen contingut sensible o perillós. Suprimeix aquest contingut i torna-ho a provar.}=1{Aquest fitxer inclou contingut sensible o perillós. Suprimeix aquest contingut i torna-ho a provar.}other{Aquests fitxers inclouen contingut sensible o perillós. Suprimeix aquest contingut i torna-ho a provar.}}</translation>
 <translation id="3323521181261657960">Has obtingut més temps de connexió!</translation>
+<translation id="3325804108816646710">S'estan cercant perfils disponibles...</translation>
 <translation id="3325910708063135066">La càmera i el micròfon estan desactivats a les preferències del sistema de Mac</translation>
 <translation id="3327050066667856415">Els Chromebook estan dissenyats perquè siguin segurs. El teu dispositiu està protegit del programari maliciós automàticament i no necessita programari addicional.</translation>
 <translation id="3328489342742826322">La restauració des d'una còpia de seguretat suprimirà les aplicacions i les dades de Linux existents a la teva carpeta de fitxers de Linux.</translation>
@@ -2099,6 +2101,7 @@
 <translation id="3412265149091626468">Ves directament a la selecció</translation>
 <translation id="3413122095806433232">Emissors de CA: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Mida:</translation>
+<translation id="3414966631182382431">El <ph name="BEGIN_LINK" />navegador està gestionat<ph name="END_LINK" /> per <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Mostra sempre els URL complets</translation>
 <translation id="3417835166382867856">Cerca pestanyes</translation>
 <translation id="3417836307470882032">Hora militar</translation>
@@ -3173,6 +3176,7 @@
 <translation id="4651484272688821107">No s'ha pogut carregar el component en línia amb recursos del mode de demostració.</translation>
 <translation id="4652935475563630866">El canvi a l'opció de configuració de la càmera requereix reiniciar Parallels Desktop. Fes-ho per continuar.</translation>
 <translation id="4653405415038586100">S'ha produït un error en configurar Linux</translation>
+<translation id="4657914796247705218">Velocitat del TrackPoint</translation>
 <translation id="465878909996028221">Les redireccions del navegador només admeten els protocols http, https i de fitxers.</translation>
 <translation id="4659077111144409915">Compte principal</translation>
 <translation id="4659126640776004816">En iniciar la sessió al Compte de Google, aquesta funció està sempre activada.</translation>
@@ -3833,6 +3837,7 @@
 <translation id="5470735824776589490">Cal reiniciar el dispositiu per poder restablir-lo amb Powerwash. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Hola! Soc la teva veu per a la conversió de text a parla.</translation>
 <translation id="5472627187093107397">Desa les contrasenyes d'aquest lloc web</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{El PIN ha de tenir almenys 1 caràcter}other{El PIN ha de tenir almenys # caràcters}}</translation>
 <translation id="5473333559083690127">Torna a introduir el PIN nou</translation>
 <translation id="5481273127572794904">Sense permís per baixar automàticament diversos fitxers</translation>
 <translation id="5481941284378890518">Afegeix impressores properes</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Cara de fascinació</translation>
 <translation id="6091761513005122595">L'ús compartit s'ha activat correctament.</translation>
 <translation id="6093888419484831006">S’està cancel·lant l’actualització...</translation>
+<translation id="6095541101974653012">Se t'ha tancat la sessió.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Obre-la maximitzada</translation>
 <translation id="6096326118418049043">Nom X.500</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Desconnecta el compte de Google Drive</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> vol compartir el contingut de la teva pantalla. Tria què vols compartir.</translation>
 <translation id="6478248366783946499">Vols desar el fitxer perillós?</translation>
+<translation id="6480327114083866287">Gestionat per <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Obre la baixada</translation>
 <translation id="6483805311199035658">S'està obrint <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Selecciona l'idioma</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Pantalla de bloqueig</translation>
 <translation id="6721678857435001674">Veure la marca i el model de la teva clau de seguretat</translation>
 <translation id="6721972322305477112">&amp;Fitxer</translation>
+<translation id="672208878794563299">Aquest lloc web t'ho tornarà a preguntar el pròxim cop.</translation>
 <translation id="672213144943476270">Desbloquegeu el perfil per poder navegar com a convidat.</translation>
 <translation id="6723661294526996303">Importa les adreces d'interès i la configuració...</translation>
 <translation id="6723839937902243910">Bateria</translation>
@@ -6294,6 +6302,7 @@
 <translation id="8317671367883557781">Afegeix una connexió a la xarxa</translation>
 <translation id="8319414634934645341">Ús ampliat de claus</translation>
 <translation id="8320459152843401447">La pantalla completa</translation>
+<translation id="8321837372750396788">Aquest dispositiu <ph name="DEVICE_TYPE" /> estarà gestionat per <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Aquesta pàgina no té permís per accedir al micròfon.</translation>
 <translation id="8323167517179506834">Escriviu l'URL</translation>
 <translation id="8324784016256120271">Els llocs web poden fer servir galetes per veure la teva activitat de navegació en diferents llocs web, per exemple, per personalitzar els anuncis</translation>
@@ -6601,6 +6610,7 @@
 <translation id="8698269656364382265">Per tornar a la pantalla anterior, llisca des de l'esquerra.</translation>
 <translation id="869884720829132584">Menú d'aplicacions</translation>
 <translation id="869891660844655955">Data de caducitat</translation>
+<translation id="8702825062053163569">El dispositiu <ph name="DEVICE_TYPE" /> s'ha bloquejat</translation>
 <translation id="8703346390800944767">Omet l'anunci</translation>
 <translation id="8705331520020532516">Número de sèrie</translation>
 <translation id="8705580154597116082">Wi-Fi disponible mitjançant el telèfon</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index d40c586d..0add77fa 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -105,7 +105,7 @@
 <translation id="1116639326869298217">Vaši identitu se nepodařilo ověřit</translation>
 <translation id="1116694919640316211">Informace</translation>
 <translation id="1116779635164066733">Toto nastavení je vynucováno rozšířením <ph name="NAME" />.</translation>
-<translation id="1116811861615819198">Cílové zařízení neopovědělo</translation>
+<translation id="1116811861615819198">Cílové zařízení neodpovědělo</translation>
 <translation id="1118738876271697201">Systému se nepodařilo určit model nebo sériové číslo zařízení</translation>
 <translation id="1119447706177454957">Interní chyba</translation>
 <translation id="1122068467107743258">Práce</translation>
@@ -435,6 +435,7 @@
 <translation id="1475502736924165259">Máte založené certifikáty, které se nehodí do žádné z ostatních kategorií</translation>
 <translation id="1476088332184200792">Kopírovat do zařízení</translation>
 <translation id="1476607407192946488">&amp;Jazyková nastavení</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> vyžaduje, abyste čipovou kartu ponechali vloženou.</translation>
 <translation id="1478340334823509079">Podrobnosti: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalace není povolena</translation>
 <translation id="1481537595330271162">Při změně velikosti disku došlo k chybě</translation>
@@ -2034,6 +2035,7 @@
 <translation id="3320630259304269485">Bezpečné prohlížení (ochrana před nebezpečnými weby) a další nastavení zabezpečení</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Obsah těchto dat je citlivý nebo nebezpečný. Odstraňte tento obsah a zkuste to znovu.}=1{Obsah tohoto souboru je citlivý nebo nebezpečný. Odstraňte tento obsah a zkuste to znovu.}few{Obsah těchto souborů je citlivý nebo nebezpečný. Odstraňte tento obsah a zkuste to znovu.}many{Obsah těchto souborů je citlivý nebo nebezpečný. Odstraňte tento obsah a zkuste to znovu.}other{Obsah těchto souborů je citlivý nebo nebezpečný. Odstraňte tento obsah a zkuste to znovu.}}</translation>
 <translation id="3323521181261657960">Bonus! Získáváš víc času na zařízení</translation>
+<translation id="3325804108816646710">Vyhledávání dostupných profilů…</translation>
 <translation id="3325910708063135066">Kamera a mikrofon jsou vypnuté v předvolbách systému Macu</translation>
 <translation id="3327050066667856415">Chromebooky kladou velký důraz na zabezpečení. Zařízení je automaticky chráněno před malwarem – nepotřebujete žádný další software.</translation>
 <translation id="3328489342742826322">Obnovením ze zálohy smažete existující aplikace pro Linux a data ve své složce souborů systému Linux.</translation>
@@ -2101,6 +2103,7 @@
 <translation id="3412265149091626468">Přejít na výběr</translation>
 <translation id="3413122095806433232">Vydavatelé CA: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Velikost:</translation>
+<translation id="3414966631182382431">Váš <ph name="BEGIN_LINK" />prohlížeč je spravován<ph name="END_LINK" /> doménou <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Vždy zobrazovat úplné adresy URL</translation>
 <translation id="3417835166382867856">Hledat karty</translation>
 <translation id="3417836307470882032">Armádní čas</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">Online komponentu se zdroji pro ukázkový režim se nepodařilo načíst.</translation>
 <translation id="4652935475563630866">Změna nastavení kamery vyžaduje restart nástroje Parallels Desktop. Pokračujte restartováním nástroje Parallels Desktop.</translation>
 <translation id="4653405415038586100">Chyba konfigurace Linuxu</translation>
+<translation id="4657914796247705218">Rychlost TrackPointu</translation>
 <translation id="465878909996028221">U přesměrování prohlížeče jsou podporovány pouze protokoly http, https a file.</translation>
 <translation id="4659077111144409915">Primární účet</translation>
 <translation id="4659126640776004816">Když se přihlásíte k účtu Google, tato funkce se zapne.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">Než bude možné zařízení resetovat pomocí funkce Powerwash, je třeba ho restartovat. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Zdravím vás. Jsem váš hlas převodu textu na řeč.</translation>
 <translation id="5472627187093107397">Ukládat hesla pro tento web</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN musí obsahovat nejméně 1 znak}few{PIN musí obsahovat nejméně # znaky}many{PIN musí obsahovat nejméně # znaku}other{PIN musí obsahovat nejméně # znaků}}</translation>
 <translation id="5473333559083690127">Znovu zadejte nový PIN</translation>
 <translation id="5481273127572794904">Zákaz stahovat automaticky několik souborů</translation>
 <translation id="5481941284378890518">Přidat tiskárny v okolí</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Paráda</translation>
 <translation id="6091761513005122595">Sdílená složka byla úspěšně připojena.</translation>
 <translation id="6093888419484831006">Rušení aktualizace...</translation>
+<translation id="6095541101974653012">Byli jste odhlášeni.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Otevřít maximalizované</translation>
 <translation id="6096326118418049043">Název X.500</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Odpojit účet Disku Google</translation>
 <translation id="6475697075626596525">Aplikace <ph name="APP_NAME" /> chce sdílet obsah vaší obrazovky. Vyberte, co chcete sdílet.</translation>
 <translation id="6478248366783946499">Ponechat nebezpečný soubor?</translation>
+<translation id="6480327114083866287">Spravováno doménou <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Otevřít stažený soubor</translation>
 <translation id="6483805311199035658">Otevírání souboru <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Vyberte jazyk</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Zamknout obrazovku</translation>
 <translation id="6721678857435001674">Zobrazení modelu a značky vašeho bezpečnostního klíče</translation>
 <translation id="6721972322305477112">&amp;Soubor</translation>
+<translation id="672208878794563299">Tento web se příště zeptá znovu.</translation>
 <translation id="672213144943476270">Před zahájením procházení v režimu hosta prosím odemkněte svůj profil.</translation>
 <translation id="6723661294526996303">Importovat záložky a nastavení...</translation>
 <translation id="6723839937902243910">Napájení</translation>
@@ -6293,6 +6301,7 @@
 <translation id="8317671367883557781">Přidat připojení k síti</translation>
 <translation id="8319414634934645341">Rozšířené použití klíče</translation>
 <translation id="8320459152843401447">Celá vaše obrazovka</translation>
+<translation id="8321837372750396788">Toto zařízení <ph name="DEVICE_TYPE" /> bude spravováno doménou <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Přístup této stránky k vašemu mikrofonu je zablokován.</translation>
 <translation id="8323167517179506834">Zadejte adresu URL.</translation>
 <translation id="8324784016256120271">Weby mohou pomocí souborů cookie sledovat vaši aktivitu prohlížení na různých webech, například k personalizaci reklam</translation>
@@ -6600,6 +6609,7 @@
 <translation id="8698269656364382265">Na předchozí obrazovku se vrátíte přejetím prstem z levé strany obrazovky.</translation>
 <translation id="869884720829132584">Nabídka Aplikace</translation>
 <translation id="869891660844655955">Datum vypršení platnosti</translation>
+<translation id="8702825062053163569">Zařízení <ph name="DEVICE_TYPE" /> bylo uzamknuto.</translation>
 <translation id="8703346390800944767">Přeskočit reklamu</translation>
 <translation id="8705331520020532516">Sériové číslo</translation>
 <translation id="8705580154597116082">Je k dispozici síť Wi-Fi prostřednictvím telefonu</translation>
@@ -6952,7 +6962,7 @@
 <translation id="9066782832737749352">Převod textu na řeč</translation>
 <translation id="9068849894565669697">Výběr barvy</translation>
 <translation id="9068878141610261315">Nepodporovaný typ souboru</translation>
-<translation id="9070342919388027491">Byla vybrána karta vlevo</translation>
+<translation id="9070342919388027491">Karta se přesunula vlevo</translation>
 <translation id="9072851933240542161">{COUNT,plural, =1{1 adresy}few{# adres}many{# adresy}other{# adres}}</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 2ea3d47..f863d1f 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -434,6 +434,7 @@
 <translation id="1475502736924165259">Du har lagrede certifikater, som ikke passer i nogen af de andre kategorier</translation>
 <translation id="1476088332184200792">Kopiér til din enhed</translation>
 <translation id="1476607407192946488">&amp;Sprogindstillinger</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> kræver, at chipkortet er indsat.</translation>
 <translation id="1478340334823509079">Detaljer: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installationen er ikke aktiveret</translation>
 <translation id="1481537595330271162">Størrelsen på disken kunne ikke justeres</translation>
@@ -2034,6 +2035,7 @@
 <translation id="3320630259304269485">Beskyttet browsing (beskyttelse mod farlige websites) og andre sikkerhedsindstillinger</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Disse data har følsomt eller farligt indhold. Fjern indholdet, og prøv igen.}=1{Denne fil har følsomt eller farligt indhold. Fjern indholdet, og prøv igen.}one{Denne fil har følsomt eller farligt indhold. Fjern indholdet, og prøv igen.}other{Disse filer har følsomt eller farligt indhold. Fjern indholdet, og prøv igen.}}</translation>
 <translation id="3323521181261657960">Ekstra tid! Du har fået mere skærmtid</translation>
+<translation id="3325804108816646710">Søger efter tilgængelige profiler…</translation>
 <translation id="3325910708063135066">Kameraet og mikrofonen er deaktiveret i Systemindstillinger for Mac</translation>
 <translation id="3327050066667856415">Chromebooks er udviklet med fokus på sikkerhed. Din enhed er automatisk beskyttet mod malware, uden at du skal hente ekstra software.</translation>
 <translation id="3328489342742826322">Når du gendanner fra en sikkerhedskopi, slettes dine eksisterende Linux-apps og -data fra din mappe med Linux-filer.</translation>
@@ -2101,6 +2103,7 @@
 <translation id="3412265149091626468">Hop til valg</translation>
 <translation id="3413122095806433232">CA-udstedere: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Størrelse:</translation>
+<translation id="3414966631182382431">Din <ph name="BEGIN_LINK" />browser administreres<ph name="END_LINK" /> af <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Vis altid komplette webadresser</translation>
 <translation id="3417835166382867856">Søg i faner</translation>
 <translation id="3417836307470882032">24-timers format</translation>
@@ -3176,6 +3179,7 @@
 <translation id="4651484272688821107">Onlinekomponenten med ressourcer til demotilstand kunne ikke indlæses.</translation>
 <translation id="4652935475563630866">Ændringen af kameraindstillingen kræver, at Parallels Desktop genstartes. Genstart Parallels Desktop for at fortsætte.</translation>
 <translation id="4653405415038586100">Der opstod en fejl under konfigurationen af Linux</translation>
+<translation id="4657914796247705218">TrackPoint-hastighed</translation>
 <translation id="465878909996028221">Det er kun http, https og filprotokoller, der kan omdirigeres til en alternativ browser.</translation>
 <translation id="4659077111144409915">Primær konto</translation>
 <translation id="4659126640776004816">Når du logger ind på din Google-konto, er denne funktion aktiveret.</translation>
@@ -3835,6 +3839,7 @@
 <translation id="5470735824776589490">Enheden skal genstartes, før den kan nulstilles med Powerwash. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Hej! Jeg er din stemme til oplæsning.</translation>
 <translation id="5472627187093107397">Gem adgangskoder for dette website</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{Pinkoden skal være på mindst ét tegn}one{Pinkoden skal være på mindst # tegn}other{Pinkoden skal være på mindst # tegn}}</translation>
 <translation id="5473333559083690127">Angiv ny pinkode igen</translation>
 <translation id="5481273127572794904">Har ikke tilladelse til at downloade flere filer automatisk</translation>
 <translation id="5481941284378890518">Tilføj printere i nærheden</translation>
@@ -4375,6 +4380,7 @@
 <translation id="6087960857463881712">Fantastisk-smiley</translation>
 <translation id="6091761513005122595">Delingen blev anvendt.</translation>
 <translation id="6093888419484831006">Annullerer opdatering...</translation>
+<translation id="6095541101974653012">Du er blevet logget ud.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Åbn maksimeret</translation>
 <translation id="6096326118418049043">X.500-navn</translation>
@@ -4708,6 +4714,7 @@
 <translation id="6474884162850599008">Fjern tilknytningen af din Google Drev-konto</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> vil gerne dele indholdet af din skærm. Vælg det, du gerne vil dele.</translation>
 <translation id="6478248366783946499">Vil du beholde den farlige fil?</translation>
+<translation id="6480327114083866287">Administreres af <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Åbn download</translation>
 <translation id="6483805311199035658">Åbner <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Vælg sprog</translation>
@@ -4896,6 +4903,7 @@
 <translation id="671928215901716392">Lås skærmen</translation>
 <translation id="6721678857435001674">Se din sikkerhedsnøgles fabrikat og model</translation>
 <translation id="6721972322305477112">&amp;Fil</translation>
+<translation id="672208878794563299">Websitet spørger igen næste gang.</translation>
 <translation id="672213144943476270">Lås din profil op, før du kan bruge internettet som gæst.</translation>
 <translation id="6723661294526996303">Importer bogmærker og indstillinger</translation>
 <translation id="6723839937902243910">Strøm</translation>
@@ -6295,6 +6303,7 @@
 <translation id="8317671367883557781">Tilføj netværksforbindelse</translation>
 <translation id="8319414634934645341">Udvidet brug af nøgle</translation>
 <translation id="8320459152843401447">Hele din skærm</translation>
+<translation id="8321837372750396788">Denne <ph name="DEVICE_TYPE" /> vil blive administreret af <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Denne side er blokeret fra at få adgang til din mikrofon.</translation>
 <translation id="8323167517179506834">Angiv webadresse</translation>
 <translation id="8324784016256120271">Websites kan anvende cookies til at se din browseraktivitet på forskellige websites for f.eks. at tilpasse annoncer</translation>
@@ -6602,6 +6611,7 @@
 <translation id="8698269656364382265">Stryg fra venstre side for at vende tilbage til den forrige skærm.</translation>
 <translation id="869884720829132584">Programmenu</translation>
 <translation id="869891660844655955">Udløbsdato</translation>
+<translation id="8702825062053163569">Din <ph name="DEVICE_TYPE" /> er blevet låst.</translation>
 <translation id="8703346390800944767">Spring annonce over</translation>
 <translation id="8705331520020532516">Serienummer</translation>
 <translation id="8705580154597116082">Wi-Fi er tilgængelig via telefon</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 5f7d415..225750b 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -266,6 +266,7 @@
 <translation id="1292849930724124745">Smartcard einstecken, um angemeldet zu bleiben</translation>
 <translation id="1293264513303784526">USB-C-Gerät (Port links)</translation>
 <translation id="1293556467332435079">Dateien</translation>
+<translation id="1294807885394205587">Der Vorgang kann einige Minuten dauern. Container-Manager wird gestartet.</translation>
 <translation id="1296911687402551044">Ausgewählten Tab anpinnen</translation>
 <translation id="1297175357211070620">Ziel</translation>
 <translation id="1300415640239881824"><ph name="DOMAIN" /> setzt eine Identitätsprüfung durch Google voraus, um festzustellen, ob Ihr Gerät zur erweiterten Wiedergabe von geschützten Inhalten berechtigt ist.</translation>
@@ -932,6 +933,7 @@
 <translation id="2046702855113914483">Ramen</translation>
 <translation id="204706822916043810">Die virtuelle Maschine wird geprüft</translation>
 <translation id="2048182445208425546">Auf Ihren Netzwerkverkehr zugreifen</translation>
+<translation id="2048554637254265991">Fehler beim Starten des Container-Managers. Bitte versuchen Sie es noch einmal.</translation>
 <translation id="2048653237708779538">Aktion nicht verfügbar</translation>
 <translation id="204914487372604757">Verknüpfung erstellen</translation>
 <translation id="2050339315714019657">Hochformat</translation>
@@ -1132,6 +1134,7 @@
 <translation id="2276503375879033601">Weitere Apps hinzufügen</translation>
 <translation id="2277255602909579701">Alle Cookies und Websitedaten</translation>
 <translation id="2278562042389100163">Browserfenster öffnen</translation>
+<translation id="2278668501808246459">Container-Manager wird gestartet</translation>
 <translation id="2280486287150724112">Rechter Rand</translation>
 <translation id="2282146716419988068">GPU-Verarbeitung</translation>
 <translation id="2282155092769082568">URL für Autokonfiguration:</translation>
@@ -4411,6 +4414,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />, nicht verbunden</translation>
 <translation id="6141988275892716286">Download bestätigen</translation>
 <translation id="6143186082490678276">Hilfe</translation>
+<translation id="6143366292569327983">Wählen Sie die Ausgangssprache aus</translation>
 <translation id="6144938890088808325">Bei der Verbesserung von Chromebooks helfen</translation>
 <translation id="6147020289383635445">Druckvorschau fehlgeschlagen</translation>
 <translation id="6148576794665275391">Jetzt öffnen</translation>
@@ -6110,6 +6114,7 @@
 <translation id="810728361871746125">Displayauflösung</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Keine Drittanbieter-Cookies}=1{1 Cookie von Drittanbietern blockiert}other{# Cookies von Drittanbietern blockiert}}</translation>
 <translation id="810875025413331850">Keine Geräte in der Nähe gefunden.</translation>
+<translation id="8109109153262930486">Standardavatar</translation>
 <translation id="8110489095782891123">Kontaktliste wird heruntergeladen...</translation>
 <translation id="8113476325385351118">Dieser Website weiterhin keine vollständige Kontrolle über MIDI-Geräte gewähren</translation>
 <translation id="8114199541033039755">Mit den Schaltflächen im Tablet-Modus zum Launcher, zurück und zwischen Apps wechseln. Wird aktiviert, wenn ChromeVox oder "Automatische Klicks" eingeschaltet ist.</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index 52f75421..949adbd 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">Έχετε καταχωρίσει πιστοποιητικά που δεν αντιστοιχούν σε καμία από τις άλλες κατηγορίες</translation>
 <translation id="1476088332184200792">Αντιγραφή στη συσκευή σας</translation>
 <translation id="1476607407192946488">Ρυθμίσεις &amp;γλώσσας</translation>
+<translation id="1477446329585670721">Ο τομέας <ph name="DOMAIN" /> απαιτεί να μην αφαιρέσετε την έξυπνη κάρτα.</translation>
 <translation id="1478340334823509079">Λεπτομέρειες: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Η εγκατάσταση δεν έχει ενεργοποιηθεί</translation>
 <translation id="1481537595330271162">Σφάλμα κατά την αλλαγή μεγέθους του δίσκου</translation>
@@ -2033,6 +2034,7 @@
 <translation id="3320630259304269485">Ασφαλής περιήγηση (προστασία από επικίνδυνους ιστοτόπους) και άλλες ρυθμίσεις ασφαλείας</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Αυτά τα δεδομένα έχουν ευαίσθητο ή επικίνδυνο περιεχόμενο. Καταργήστε αυτό το περιεχόμενο και προσπαθήστε ξανά.}=1{Αυτό το αρχείο έχει ευαίσθητο ή επικίνδυνο περιεχόμενο. Καταργήστε αυτό το περιεχόμενο και προσπαθήστε ξανά.}other{Αυτά τα αρχεία έχουν ευαίσθητο ή επικίνδυνο περιεχόμενο. Καταργήστε αυτό το περιεχόμενο και προσπαθήστε ξανά.}}</translation>
 <translation id="3323521181261657960">Μπόνους! Έχεις περισσότερο χρόνο χρήσης στη διάθεσή σου.</translation>
+<translation id="3325804108816646710">Αναζήτηση για διαθέσιμα προφίλ…</translation>
 <translation id="3325910708063135066">Η κάμερα και το μικρόφωνο έχουν απενεργοποιηθεί στις προτιμήσεις συστήματος Mac.</translation>
 <translation id="3327050066667856415">Τα Chromebook έχουν σχεδιαστεί με γνώμονα την ασφάλεια. Η συσκευή σας προστατεύεται αυτόματα από κακόβουλα προγράμματα. Δεν απαιτείται επιπλέον λογισμικό.</translation>
 <translation id="3328489342742826322">Η επαναφορά από αντίγραφο ασφαλείας θα διαγράψει τις υπάρχουσες εφαρμογές και τα δεδομένα Linux στον φάκελο αρχείων σας Linux.</translation>
@@ -2100,6 +2102,7 @@
 <translation id="3412265149091626468">Μετάβαση στην Επιλογή</translation>
 <translation id="3413122095806433232">Εκδότες CA: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Μέγεθος:</translation>
+<translation id="3414966631182382431">Η διαχείριση του <ph name="BEGIN_LINK" />προγράμματος περιήγησής σας γίνεται<ph name="END_LINK" /> από τον τομέα <ph name="MANAGER" />.</translation>
 <translation id="3416468988018290825">Να εμφανίζονται πάντα ολόκληρα URL</translation>
 <translation id="3417835166382867856">Αναζήτηση στις καρτέλες</translation>
 <translation id="3417836307470882032">Στρατιωτική ώρα</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">Δεν ήταν δυνατή η φόρτωση του ηλεκτρονικού στοιχείου με τους πόρους της λειτουργίας επίδειξης.</translation>
 <translation id="4652935475563630866">Η αλλαγή της ρύθμισης για την κάμερα απαιτεί την επανεκκίνηση του Parallels Desktop. Κάντε επανεκκίνηση του Parallels Desktop για να συνεχίσετε.</translation>
 <translation id="4653405415038586100">Σφάλμα κατά τη διαμόρφωση των Linux</translation>
+<translation id="4657914796247705218">Ταχύτητα TrackPoint</translation>
 <translation id="465878909996028221">Για τις ανακατευθύνσεις προγράμματος περιήγησης υποστηρίζονται μόνο http, https και πρωτόκολλα αρχείων.</translation>
 <translation id="4659077111144409915">Κύριος λογαριασμός</translation>
 <translation id="4659126640776004816">Αυτή η λειτουργία ενεργοποιείται όταν συνδέεστε στον Λογαριασμό σας Google.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">Απαιτείται επανεκκίνηση προκειμένου να είναι δυνατή η επαναφορά της συσκευής σας με Powerwash. <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Γεια σας! Είμαι η φωνή της λειτουργίας μετατροπής κειμένου σε ομιλία.</translation>
 <translation id="5472627187093107397">Αποθήκευση κωδικών πρόσβασης για αυτόν τον ιστότοπο</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{Το PIN πρέπει να αποτελείται τουλάχιστον από έναν χαρακτήρα.}other{Το PIN πρέπει να αποτελείται τουλάχιστον από # χαρακτήρες.}}</translation>
 <translation id="5473333559083690127">Εισαγάγετε ξανά το νέο PIN</translation>
 <translation id="5481273127572794904">Δεν επιτρέπεται να πραγματοποιούν αυτόματη λήψη πολλών αρχείων</translation>
 <translation id="5481941284378890518">Προσθήκη εκτυπωτών σε κοντινή απόσταση</translation>
@@ -4375,6 +4380,7 @@
 <translation id="6087960857463881712">Καταπληκτικό πρόσωπο</translation>
 <translation id="6091761513005122595">Το σύστημα κοινοποίησης προσαρτήθηκε επιτυχώς.</translation>
 <translation id="6093888419484831006">Ακύρωση ενημέρωσης...</translation>
+<translation id="6095541101974653012">Αποσυνδεθήκατε.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Άνοιγμα μεγιστοποιημένης εφαρμογής</translation>
 <translation id="6096326118418049043">Όνομα X.500</translation>
@@ -4707,6 +4713,7 @@
 <translation id="6474884162850599008">Αποσύνδεση του λογαριασμού Google Drive</translation>
 <translation id="6475697075626596525">Η εφαρμογή <ph name="APP_NAME" /> θέλει να μοιραστεί το περιεχόμενο της οθόνης σας. Επιλέξτε το περιεχόμενο που θα θέλατε να μοιραστείτε.</translation>
 <translation id="6478248366783946499">Διατήρηση επικίνδυνου αρχείου;</translation>
+<translation id="6480327114083866287">Διαχείριση από τον τομέα <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Άνοιγμα λήψης</translation>
 <translation id="6483805311199035658">Άνοιγμα του αρχείου <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Επιλογή γλώσσας</translation>
@@ -4895,6 +4902,7 @@
 <translation id="671928215901716392">Κλείδωμα οθόνης</translation>
 <translation id="6721678857435001674">Προβολή της κατασκευής και του μοντέλου του Κλειδιού ασφαλείας</translation>
 <translation id="6721972322305477112">&amp;Αρχείο</translation>
+<translation id="672208878794563299">Αυτός ο ιστότοπος θα εμφανίσει μήνυμα προτροπής την επόμενη φορά.</translation>
 <translation id="672213144943476270">Ξεκλειδώστε το προφίλ σας προτού ξεκινήσετε την περιήγηση ως επισκέπτης.</translation>
 <translation id="6723661294526996303">Εισαγωγή σελιδοδεικτών και ρυθμίσεων...</translation>
 <translation id="6723839937902243910">Ενεργοποίηση</translation>
@@ -6295,6 +6303,7 @@
 <translation id="8317671367883557781">Προσθήκη σύνδεσης δικτύου</translation>
 <translation id="8319414634934645341">Εκτεταμένη χρήση κλειδιού</translation>
 <translation id="8320459152843401447">Ολόκληρη η οθόνη σας</translation>
+<translation id="8321837372750396788">Η διαχείριση της συσκευής <ph name="DEVICE_TYPE" /> θα γίνεται από τον τομέα <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Αυτή η σελίδα δεν έχει πρόσβαση στο μικρόφωνό σας.</translation>
 <translation id="8323167517179506834">Πληκτρολογήστε μια διεύθυνση URL</translation>
 <translation id="8324784016256120271">Οι ιστότοποι μπορούν να χρησιμοποιούν cookie για να βλέπουν τη δραστηριότητα περιήγησης μεταξύ διαφορετικών ιστοτόπων, για παράδειγμα, για την εξατομίκευση των διαφημίσεων.</translation>
@@ -6602,6 +6611,7 @@
 <translation id="8698269656364382265">Για να επιστρέψετε στην προηγούμενη οθόνη, σύρετε από την αριστερή πλευρά.</translation>
 <translation id="869884720829132584">Μενού εφαρμογών</translation>
 <translation id="869891660844655955">Ημερομηνία λήξης</translation>
+<translation id="8702825062053163569">Η συσκευή σας <ph name="DEVICE_TYPE" /> κλειδώθηκε.</translation>
 <translation id="8703346390800944767">Παράβλεψη διαφήμισης</translation>
 <translation id="8705331520020532516">Σειριακός αριθμός</translation>
 <translation id="8705580154597116082">Διαθέσιμο Wi-Fi μέσω τηλεφώνου</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index 3400648..19c1d614 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -128,7 +128,7 @@
 <translation id="1136712381129578788">The security key is locked because the wrong PIN was entered too many times. To unlock it, remove and reinsert it.</translation>
 <translation id="1137589305610962734">temporary data</translation>
 <translation id="1137673463384776352">Open link in <ph name="APP" /></translation>
-<translation id="1138686548582345331">{MUTED_NOTIFICATIONS_COUNT,plural, =1{New notification}other{# New notifications}}</translation>
+<translation id="1138686548582345331">{MUTED_NOTIFICATIONS_COUNT,plural, =1{New Notification}other{# New Notifications}}</translation>
 <translation id="1139343347646843679">There was an error while configuring Linux. Please contact your administrator.</translation>
 <translation id="1140351953533677694">Access your Bluetooth and Serial devices</translation>
 <translation id="114036956334641753">Audio and captions</translation>
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">You have certificates on file that do not fit into any of the other categories</translation>
 <translation id="1476088332184200792">Copy to Your Device</translation>
 <translation id="1476607407192946488">&amp;Language Settings</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> requires you to keep your smart card inserted.</translation>
 <translation id="1478340334823509079">Details: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installation is not enabled</translation>
 <translation id="1481537595330271162">Error resizing disk</translation>
@@ -2033,6 +2034,7 @@
 <translation id="3320630259304269485">Safe Browsing (protection from dangerous sites) and other security settings</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{This data has sensitive or dangerous content. Remove this content and try again.}=1{This file has sensitive or dangerous content. Remove this content and try again.}other{These files have sensitive or dangerous content. Remove this content and try again.}}</translation>
 <translation id="3323521181261657960">Bonus! You got more screen time</translation>
+<translation id="3325804108816646710">Looking for available profiles…</translation>
 <translation id="3325910708063135066">Camera and microphone are turned off in Mac System Preferences</translation>
 <translation id="3327050066667856415">Chromebooks are designed for security. Your device is protected from malware automatically – no extra software required.</translation>
 <translation id="3328489342742826322">Restoring from a backup will delete existing Linux applications and data in your Linux files folder.</translation>
@@ -2100,6 +2102,7 @@
 <translation id="3412265149091626468">Jump to Selection</translation>
 <translation id="3413122095806433232">CA Issuers: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Size:</translation>
+<translation id="3414966631182382431">Your <ph name="BEGIN_LINK" />browser is managed<ph name="END_LINK" /> by <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Always show full URLs</translation>
 <translation id="3417835166382867856">Search tabs</translation>
 <translation id="3417836307470882032">Military time</translation>
@@ -2860,7 +2863,7 @@
 <translation id="4285498937028063278">Unpin</translation>
 <translation id="428565720843367874">Anti-virus software failed unexpectedly while scanning this file.</translation>
 <translation id="4287099557599763816">Screen reader</translation>
-<translation id="4287502603002637393">{MUTED_NOTIFICATIONS_COUNT,plural, =1{Show}other{Show all}}</translation>
+<translation id="4287502603002637393">{MUTED_NOTIFICATIONS_COUNT,plural, =1{Show}other{Show All}}</translation>
 <translation id="4289372044984810120">Manage your accounts here. <ph name="LINK_BEGIN" />Learn more<ph name="LINK_END" /></translation>
 <translation id="4289540628985791613">Overview</translation>
 <translation id="4295072614469448764">App is available in your terminal. There may also be an icon in your Launcher.</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">Could not load online component with demo mode resources.</translation>
 <translation id="4652935475563630866">The change in camera setting requires Parallels Desktop to relaunch. Relaunch Parallels Desktop to proceed.</translation>
 <translation id="4653405415038586100">Error configuring Linux</translation>
+<translation id="4657914796247705218">TrackPoint speed</translation>
 <translation id="465878909996028221">Only http, https and file protocols are supported for browser redirects.</translation>
 <translation id="4659077111144409915">Primary account</translation>
 <translation id="4659126640776004816">When you sign in to your Google account, this feature is turned on.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">A restart is required before your device can be reset with Powerwash. <ph name="LINK_BEGIN" />Learn more<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Hi there! I'm your text-to-speech voice.</translation>
 <translation id="5472627187093107397">Save passwords for this site</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN must be at least one character}other{PIN must be at least # characters}}</translation>
 <translation id="5473333559083690127">Re-enter new PIN</translation>
 <translation id="5481273127572794904">Not allowed to automatically download multiple files</translation>
 <translation id="5481941284378890518">Add Nearby Printers</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Awesome face</translation>
 <translation id="6091761513005122595">Share mounted successfully.</translation>
 <translation id="6093888419484831006">Cancelling update...</translation>
+<translation id="6095541101974653012">You were logged out.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Open maximised</translation>
 <translation id="6096326118418049043">X.500 Name</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Disconnect Google Drive account</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> wants to share the contents of your screen. Choose what you'd like to share.</translation>
 <translation id="6478248366783946499">Keep dangerous file?</translation>
+<translation id="6480327114083866287">Managed by <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Open download</translation>
 <translation id="6483805311199035658">Opening <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Select language</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Lock screen</translation>
 <translation id="6721678857435001674">See the make and model of your Security Key</translation>
 <translation id="6721972322305477112">&amp;File</translation>
+<translation id="672208878794563299">This site will ask again next time.</translation>
 <translation id="672213144943476270">Please unlock your profile before browsing as a guest.</translation>
 <translation id="6723661294526996303">Import bookmarks and settings...</translation>
 <translation id="6723839937902243910">Power</translation>
@@ -6294,6 +6302,7 @@
 <translation id="8317671367883557781">Add network connection</translation>
 <translation id="8319414634934645341">Extended Key Usage</translation>
 <translation id="8320459152843401447">Your Entire Screen</translation>
+<translation id="8321837372750396788">This <ph name="DEVICE_TYPE" /> will be managed by <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">This page has been blocked from accessing your microphone.</translation>
 <translation id="8323167517179506834">Type URL</translation>
 <translation id="8324784016256120271">Sites can use cookies to see your browsing activity across different sites, for example, to personalise ads</translation>
@@ -6601,6 +6610,7 @@
 <translation id="8698269656364382265">To return to the previous screen, swipe from the left side.</translation>
 <translation id="869884720829132584">Applications menu</translation>
 <translation id="869891660844655955">Expiry date</translation>
+<translation id="8702825062053163569">Your <ph name="DEVICE_TYPE" /> was locked.</translation>
 <translation id="8703346390800944767">Skip ad</translation>
 <translation id="8705331520020532516">Serial Number</translation>
 <translation id="8705580154597116082">Wi-Fi available via phone</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index 1bfda82..3ae18f7 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">Presiona ESCAPE para omitir (solo compilaciones no oficiales).</translation>
 <translation id="1093457606523402488">Redes visibles:</translation>
 <translation id="1094607894174825014">Se solicitó una operación de lectura o escritura con un intervalo no válido en: "<ph name="DEVICE_NAME" />".</translation>
+<translation id="1095761715416917775">Asegúrate de que siempre puedas acceder a tus datos sincronizados</translation>
 <translation id="109647177154844434">Si desinstalas Parallels Desktop, se borrará la imagen de Windows. Esto incluye sus aplicaciones, opciones de configuración y datos. ¿Confirmas que deseas continuar?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 vínculo}other{# vínculos}}</translation>
 <translation id="1097658378307015415">Antes de acceder, ingresa como Invitado para activar la red <ph name="NETWORK_ID" />.</translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">Editar el motor de búsqueda</translation>
 <translation id="1129850422003387628">Administrar apps</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" />: Parte del grupo <ph name="GROUP_NAME" /></translation>
+<translation id="1130712065489627903">Ahora puedes recibir notificaciones del teléfono en tu dispositivo <ph name="DEVICE_TYPE" />. Cuando descartes notificaciones en tu dispositivo <ph name="DEVICE_TYPE" />, también se descartarán en el teléfono. Asegúrate de que esté cerca, desbloqueado y tenga el Bluetooth y la conexión Wi-Fi activados.</translation>
 <translation id="1134009406053225289">Abrir en una ventana de incógnito</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> de <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Se ingresó el PIN de forma incorrecta demasiadas veces; por lo tanto, se bloqueó la llave de seguridad. Para desbloquearla, quítala y vuelve a insertarla.</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366">Siempre permitir que <ph name="HOST" /> acceda a los sensores</translation>
 <translation id="1153356358378277386">Dispositivos sincronizados</translation>
 <translation id="1153636665119721804">Programa de Protección Avanzada de Google</translation>
+<translation id="1155816283571436363">Se está estableciendo conexión con tu teléfono</translation>
 <translation id="1161575384898972166">Accede a <ph name="TOKEN_NAME" /> para exportar el certificado de cliente.</translation>
 <translation id="1163931534039071049">&amp;Ver fuente de marco</translation>
 <translation id="1164891049599601209">Se ingresó en un sitio engañoso</translation>
@@ -374,6 +377,15 @@
 <translation id="1420834118113404499">Licencias de medios</translation>
 <translation id="1420920093772172268"><ph name="TURN_ON_BLUETOOTH_LINK" /> para habilitar la sincronización</translation>
 <translation id="1422159345171879700">Cargar secuencias de comandos inseguras</translation>
+<translation id="1423716227250567100">Si realizas esta acción, sucederá lo siguiente:
+          <ph name="LINE_BREAKS" />
+           • Se restablecerá la configuración y los accesos directos de Chrome.
+           <ph name="LINE_BREAK" />
+           • Se inhabilitarán las extensiones.
+           <ph name="LINE_BREAK" />
+           • Se borrarán las cookies y otros datos temporales de los sitios.
+            <ph name="LINE_BREAKS" />
+           Esta acción no afectará los favoritos, el historial ni las contraseñas guardadas.</translation>
 <translation id="1426410128494586442">Sí</translation>
 <translation id="142655739075382478">Se bloqueó <ph name="APP_NAME" /></translation>
 <translation id="1426870617281699524">Haz clic en Reintentar y acepta el mensaje en la computadora</translation>
@@ -798,6 +810,7 @@
 <translation id="1887597546629269384">Di "Ok Google" nuevamente</translation>
 <translation id="1887850431809612466">Revisión de hardware</translation>
 <translation id="1890674179660343635">&lt;span&gt;ID: &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">Hay muy poco espacio disponible en el disco, por lo que debes liberar espacio.</translation>
 <translation id="189210018541388520">Abrir pantalla completa</translation>
 <translation id="1892341345406963517">Hola, <ph name="PARENT_NAME" /></translation>
 <translation id="189358972401248634">Otros idiomas</translation>
@@ -1016,6 +1029,7 @@
 <translation id="2157474325782140681">Para obtener más funciones, usa una estación de conexión Dell diseñada para funcionar con esta Chromebook.</translation>
 <translation id="215753907730220065">Salir de pantalla completa</translation>
 <translation id="2157875535253991059">Esta página está en modo de pantalla completa.</translation>
+<translation id="2160589599612868242">Recibe las notificaciones del teléfono en tu dispositivo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="216169395504480358">Agregar Wi-Fi</translation>
 <translation id="2162155940152307086">La sincronización volverá a comenzar cuando salgas de la configuración</translation>
 <translation id="2162838847352058695">No permitir que los sitios descarguen múltiples archivos de forma automática</translation>
@@ -1024,6 +1038,7 @@
 <translation id="2165421703844373933">Di "Ok Google" para acceder al Asistente. Para ahorrar batería, elige "Activado (recomendado)". El Asistente responderá únicamente cuando el dispositivo esté conectado a una fuente de energía o se esté cargando.</translation>
 <translation id="2166369534954157698">El veloz murciélago hindú comía feliz cardillo y kiwi</translation>
 <translation id="2169062631698640254">Acceder de todos modos</translation>
+<translation id="2170054054876170358">Asegúrate de que esté cerca, desbloqueado y tenga el Bluetooth y la conexión Wi-Fi activados.</translation>
 <translation id="2172784515318616985">Continuar</translation>
 <translation id="2173302385160625112">Comprueba tu conexión a Internet</translation>
 <translation id="2173801458090845390">Agregar la ID de la solicitud a este dispositivo</translation>
@@ -1223,12 +1238,14 @@
 <translation id="2395616325548404795">Tu dispositivo <ph name="DEVICE_TYPE" /> se inscribió correctamente para la administración empresarial, pero se produjo un error al intentar enviar la información de la ubicación y del recurso. Ingresa los datos manualmente en la Consola del administrador del dispositivo.</translation>
 <translation id="2396387085693598316">El administrador bloqueó "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="2396783860772170191">Ingresa un PIN de 4 dígitos (0000-9999)</translation>
+<translation id="2399699884460174994">Se activaron las Notificaciones</translation>
 <translation id="2399939490305346086">Datos de acceso de la llave de seguridad</translation>
 <translation id="2400664245143453337">Se requiere una actualización inmediata</translation>
 <translation id="2408018932941436077">Guardando la tarjeta</translation>
 <translation id="2408955596600435184">Ingresa tu PIN</translation>
 <translation id="241082044617551207">Complemento desconocido</translation>
 <translation id="2412593942846481727">Actualización disponible</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">Teclas de función del teclado</translation>
 <translation id="241727068219398187">Los datos se encriptaron con tu contraseña de Google a partir del
           <ph name="TIME" />. No se incluyen formas de pago ni direcciones de Google Pay.</translation>
@@ -1354,6 +1371,7 @@
 <translation id="2538084450874617176">¿Quién está usando este dispositivo <ph name="DEVICE_TYPE" />?</translation>
 <translation id="2538361623464451692">Se inhabilitó la sincronización</translation>
 <translation id="2540449034743108469">Presiona "Comenzar" para escuchar las actividades de la extensión</translation>
+<translation id="2540651571961486573">Se produjo un error. Código de error: <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">¿Quieres optimizar la transmisión en pantalla completa?</translation>
 <translation id="2541706104884128042">Se estableció una nueva hora de dormir</translation>
 <translation id="2542050502251273923">Establece el nivel de depuración del administrador de conexiones de red y otros servicios mediante ff_debug.</translation>
@@ -1401,6 +1419,7 @@
 <translation id="2607101320794533334">Información sobre la clave pública del sujeto</translation>
 <translation id="2607968157341167679">No hay álbumes. Crea un álbum en <ph name="LINK_BEGIN" />Google Fotos<ph name="LINK_END" />.</translation>
 <translation id="2609896558069604090">Crear accesos directos...</translation>
+<translation id="2609980095400624569">No se pudo establecer la conexión</translation>
 <translation id="2610157865375787051">Suspender</translation>
 <translation id="2610260699262139870">T&amp;amaño real</translation>
 <translation id="2610780100389066815">Firma de lista de confianza de Microsoft</translation>
@@ -1586,7 +1605,7 @@
 <translation id="2805646850212350655">Sistema de encriptación de archivos de Microsoft</translation>
 <translation id="2805756323405976993">Aplicaciones</translation>
 <translation id="2805770823691782631">Detalles adicionales</translation>
-<translation id="2806372837663997957">El dispositivo con el que quieres compartir contenido no aceptó la invitación.</translation>
+<translation id="2806372837663997957">El dispositivo con el que quieres compartir contenido no lo aceptó.</translation>
 <translation id="2807517655263062534">Los archivos que descargas aparecen aquí</translation>
 <translation id="2809586584051668049">y <ph name="NUMBER_ADDITIONAL_DISABLED" /> más</translation>
 <translation id="2810390687497823527">Si no reconoces una extensión o si navegador no funciona correctamente, puedes desactivar o personalizar extensiones aquí.</translation>
@@ -1654,6 +1673,7 @@
 <translation id="2885729872133513017">Hubo un problema cuando se intentó decodificar la respuesta del servidor.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">Abrir el vínculo con...</translation>
+<translation id="2889481634493693121">Activa las notificaciones en el teléfono</translation>
 <translation id="2889925978073739256">Seguir bloqueando los complementos no incluidos en la zona de pruebas</translation>
 <translation id="2893168226686371498">Navegador predeterminado</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 texto}other{# textos}}</translation>
@@ -1748,6 +1768,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3001144475369593262">Cuentas de niños</translation>
 <translation id="3003144360685731741">Redes preferidas</translation>
+<translation id="3003189754374775221">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />%, conectar</translation>
 <translation id="3003623123441819449">Caché CSS</translation>
 <translation id="3003828226041301643">No se puede unir el dispositivo al dominio. Asegúrate de que tu cuenta tenga privilegios para agregarlos.</translation>
 <translation id="3003967365858406397">Tu número <ph name="PHONE_NAME" /> creará una conexión de Wi-Fi privada.</translation>
@@ -1799,6 +1820,7 @@
 <translation id="3058498974290601450">Puedes activar la sincronización en la configuración en cualquier momento</translation>
 <translation id="3060379269883947824">Habilitar Seleccionar para pronunciar</translation>
 <translation id="3060952009917586498">Cambia el idioma del dispositivo. El idioma actual es <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">No se pudo establecer conexión con tu teléfono. Asegúrate de que esté cerca, desbloqueado y tenga el Bluetooth y la conexión Wi-Fi activados.</translation>
 <translation id="3065041951436100775">La pestaña terminó los comentarios.</translation>
 <translation id="306535478112428611">No puede editar archivos ni carpetas del dispositivo</translation>
 <translation id="3065522099314259755">Latencia de repetición del teclado</translation>
@@ -1855,6 +1877,7 @@
 <translation id="3129215702932019810">Error al iniciar la aplicación</translation>
 <translation id="3130528281680948470">El dispositivo se restablecerá y todas las cuentas de usuario y los datos locales se eliminarán. Esta acción no se puede deshacer.</translation>
 <translation id="313205617302240621">¿Olvidaste la contraseña?</translation>
+<translation id="3132277757485842847">No se pudo mantener la conexión con tu teléfono. Asegúrate de que esté cerca, desbloqueado y tenga el Bluetooth y la conexión Wi-Fi activados.</translation>
 <translation id="3132996321662585180">Actualizar todos los días</translation>
 <translation id="313963229645891001">Descargando, <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Avatar amarillo predeterminado</translation>
@@ -2899,6 +2922,7 @@
 <translation id="4378551569595875038">Conectando…</translation>
 <translation id="4378556263712303865">Solicitud del dispositivo</translation>
 <translation id="4379281552162875326">¿Deseas desinstalar "<ph name="APP_NAME" />"?</translation>
+<translation id="4380245540200674032">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />%, administrada por tu administrador, detalles</translation>
 <translation id="4380648069038809855">Accediste a la pantalla completa</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" /> y 1 cuenta más}other{<ph name="EMAIL" /> y <ph name="EXTRA_ACCOUNTS" /> cuentas más}}</translation>
 <translation id="4384312707950789900">Agregar a redes preferidas</translation>
@@ -3322,6 +3346,7 @@
 <translation id="4880827082731008257">Buscar historial</translation>
 <translation id="4881695831933465202">Abrir</translation>
 <translation id="4882312758060467256">Tiene acceso a este sitio</translation>
+<translation id="4882670371033027418">Configura tu huella digital para desbloquear tu dispositivo <ph name="DEVICE_TYPE" /> más rápido</translation>
 <translation id="4882831918239250449">Controlar cómo se usa tu historial de navegación para personalizar la Búsqueda, los anuncios y mucho más</translation>
 <translation id="4882919381756638075">Por lo general, los sitios utilizan el micrófono para habilitar funciones de comunicación, como videochat.</translation>
 <translation id="4883436287898674711">Todos los sitios de <ph name="WEBSITE_1" /></translation>
@@ -3346,6 +3371,7 @@
 <translation id="4902546322522096650">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />%, conectar</translation>
 <translation id="49027928311173603">La política descargada del servidor no es válida: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4906490889887219338">Configura o administra archivos compartidos de red. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />%, nivel de la batería del teléfono: <ph name="BATTERY_STATUS" />%, detalles</translation>
 <translation id="4907161631261076876">Este archivo no se descarga con frecuencia y podría ser peligroso.</translation>
 <translation id="4907306957610201395">Categoría de permiso</translation>
 <translation id="4908811072292128752">Abre una pestaña nueva para navegar en dos sitios al mismo tiempo</translation>
@@ -3792,6 +3818,7 @@
 <translation id="5457991019809708398">Activado (con uso de roaming)</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">Notas con la pantalla bloqueada</translation>
+<translation id="5461050611724244538">Se perdió la conexión con tu teléfono</translation>
 <translation id="5463231940765244860">Ingresar</translation>
 <translation id="5463275305984126951">Índice de <ph name="LOCATION" /></translation>
 <translation id="5463856536939868464">El menú contiene favoritos ocultos.</translation>
@@ -4285,6 +4312,7 @@
 <translation id="6031600495088157824">Opciones de entrada de la barra de herramientas</translation>
 <translation id="6032715498678347852">Haz clic en una extensión para otorgarle acceso a este sitio.</translation>
 <translation id="6032912588568283682">Sistema de archivos</translation>
+<translation id="603539183851330738">Botón para deshacer la autocorrección. Revertir a <ph name="TYPED_WORD" />.  Presiona Intro para activar o Esc para descartar.</translation>
 <translation id="6035517790085323771">Quién puede compartir contenido con tu dispositivo</translation>
 <translation id="6038929619733116134">Bloquear si el sitio muestra anuncios intrusivos o engañosos</translation>
 <translation id="6039651071822577588">Diccionario de propiedades de la red con formato no válido</translation>
@@ -4424,6 +4452,7 @@
 <translation id="6185132558746749656">Ubicación del dispositivo</translation>
 <translation id="6186394437969115158">Por lo general los sitios muestran anuncios para poder proporcionar contenido o servicios de forma gratuita. No obstante, algunos sitios son conocidos por mostrar anuncios intrusivos o engañosos.</translation>
 <translation id="6195693561221576702">Este dispositivo no puede configurarse en el modo de demostración sin conexión.</translation>
+<translation id="6195724942939841102">No restaurar</translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6196854373336333322">La extensión "<ph name="EXTENSION_NAME" />" tomó el control de la configuración de proxy, lo que significa que puede modificar, dañar o espiar cualquier actividad que lleves a cabo en línea. Si no sabes con certeza por qué se produjo este cambio, probablemente no lo desees.</translation>
 <translation id="6198102561359457428">Salir y volver a acceder</translation>
@@ -4463,6 +4492,7 @@
 <translation id="6238767809035845642">Texto compartido desde otro dispositivo</translation>
 <translation id="6238923052227198598">Mantener la nota más reciente en la pantalla bloqueada</translation>
 <translation id="6239558157302047471">Volver a cargar &amp;marco</translation>
+<translation id="6240821072888636753">Preguntar siempre</translation>
 <translation id="6241530762627360640">Acceder a la información sobre los dispositivos Bluetooth sincronizados con el sistema y detectar dispositivos Bluetooth cercanos.</translation>
 <translation id="6241844896329831164">No se necesita acceso</translation>
 <translation id="6242574558232861452">Se está comprobando la descarga conforme a las políticas de seguridad de tu organización.</translation>
@@ -4495,6 +4525,7 @@
 <translation id="6268252012308737255">Abrir con <ph name="APP" /></translation>
 <translation id="6270391203985052864">Los sitios podrán preguntarte si quieres recibir notificaciones</translation>
 <translation id="6270770586500173387">Enviar <ph name="BEGIN_LINK2" />métricas<ph name="END_LINK2" /> e <ph name="BEGIN_LINK1" />información de apps y el sistema<ph name="END_LINK1" /></translation>
+<translation id="6271348838875430303">se deshizo la corrección</translation>
 <translation id="6272643420381259437">Se produjo un error (<ph name="ERROR" />) al descargar el complemento</translation>
 <translation id="6273677812470008672">Calidad</translation>
 <translation id="6276210637549544171">El proxy <ph name="PROXY_SERVER" /> requiere un nombre de usuario y una contraseña.</translation>
@@ -4716,6 +4747,7 @@
 <translation id="6532527800157340614">No es posible completar el acceso porque no se pudo recuperar tu token de acceso. Comprueba la conexión de red y vuelve a intentarlo.</translation>
 <translation id="6532663472409656417">Inscripto en una empresa</translation>
 <translation id="6535331821390304775">Siempre permitir que <ph name="ORIGIN" /> abra este tipo de vínculos en la app asociada</translation>
+<translation id="653659894138286600">Escanear imágenes y documentos</translation>
 <translation id="6537613839935722475">El nombre puede incluir letras, números y guiones (-).</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">La configuración de uso de datos actual es Datos</translation>
@@ -4976,6 +5008,7 @@
 <translation id="6853388645642883916">Actualizador suspendido</translation>
 <translation id="68541483639528434">Cerrar las demás pestañas</translation>
 <translation id="6855892664589459354">Copia de seguridad y restablecimiento de Crostini</translation>
+<translation id="6856459657722366306">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />%, detalles</translation>
 <translation id="6856623341093082836">Configurar y ajustar la precisión de tu pantalla táctil</translation>
 <translation id="6857699260879628349">Obtener información sobre la configuración</translation>
 <translation id="6860097299815761905">Configuración de proxy...</translation>
@@ -5117,6 +5150,7 @@
 <translation id="7005496624875927304">Permisos adicionales</translation>
 <translation id="7005812687360380971">Falla</translation>
 <translation id="7005848115657603926">Rango de páginas no válido, utiliza <ph name="EXAMPLE_PAGE_RANGE" /></translation>
+<translation id="700651317925502808">¿Deseas restablecer la configuración?</translation>
 <translation id="7006634003215061422">Margen inferior</translation>
 <translation id="7007648447224463482">Abrir todo en una ventana nueva</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" /> está utilizando la cámara</translation>
@@ -5145,6 +5179,7 @@
 <translation id="7044124535091449260">Más información sobre el acceso a sitios</translation>
 <translation id="7044606776288350625">Sincronización de datos</translation>
 <translation id="7047059339731138197">Elige un fondo de pantalla</translation>
+<translation id="7048024426273850086">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />%, nivel de la batería del teléfono: <ph name="BATTERY_STATUS" />%, conectar</translation>
 <translation id="7049293980323620022">¿Deseas conservar el archivo?</translation>
 <translation id="7051943809462976355">Buscando mouse…</translation>
 <translation id="7052237160939977163">Enviar datos de seguimiento de rendimiento</translation>
@@ -5286,6 +5321,7 @@
 <translation id="7213903639823314449">Motor de búsqueda que se usa en la barra de direcciones</translation>
 <translation id="7216409898977639127">Proveedor de red celular</translation>
 <translation id="7216595297012131718">Ordena los idiomas según tus preferencias</translation>
+<translation id="7219473482981809164">Encontramos múltiples perfiles disponibles para descargar. Antes de continuar, selecciona los que quieras descargar.</translation>
 <translation id="7220019174139618249">No se pueden exportar las contraseñas a "<ph name="FOLDER" />"</translation>
 <translation id="722055596168483966">Personalizar los servicios de Google</translation>
 <translation id="722099540765702221">Fuente de carga</translation>
@@ -5568,6 +5604,7 @@
 <translation id="7556033326131260574">Smart Lock no pudo verificar la cuenta. Escribe la contraseña para acceder.</translation>
 <translation id="7556242789364317684">Lamentablemente, <ph name="SHORT_PRODUCT_NAME" /> no puede recuperar la configuración. Para solucionar el error, <ph name="SHORT_PRODUCT_NAME" /> debe restablecer el dispositivo con Powerwash.</translation>
 <translation id="7557194624273628371">Redirección de puertos para Linux</translation>
+<translation id="7559269329306630685">Los datos de las huellas digitales se guardan en un lugar seguro de tu dispositivo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7559719679815339381">Espera. La aplicación de kiosco se está actualizando. No desconectes el dispositivo USB.</translation>
 <translation id="7561196759112975576">Siempre</translation>
 <translation id="756445078718366910">Abrir la ventana del navegador</translation>
@@ -6017,6 +6054,7 @@
 <translation id="8045923671629973368">Ingresa el ID de aplicación o la URL de la tienda web</translation>
 <translation id="8047242494569930800">Mover a la Cuenta de Google</translation>
 <translation id="804786196054284061">Acuerdo de licencia de usuario final</translation>
+<translation id="8048977114738515028">Crea un acceso directo de escritorio en tu dispositivo para acceder directamente a este perfil.</translation>
 <translation id="8049705080247101012">Google marcó <ph name="EXTENSION_NAME" /> como extensión maliciosa y se canceló la instalación</translation>
 <translation id="8049948037269924837">Desplazamiento invertido del panel táctil</translation>
 <translation id="8050038245906040378">Firma de código comercial de Microsoft</translation>
@@ -6448,6 +6486,7 @@
 <translation id="8569682776816196752">No se encontró ningún destino.</translation>
 <translation id="8571213806525832805">Últimas cuatro semanas</translation>
 <translation id="8571687764447439720">Agregar un ticket de Kerberos</translation>
+<translation id="8571814292654854151">Nombre de tu perfil</translation>
 <translation id="8574990355410201600">Permitir siempre el sonido en <ph name="HOST" /></translation>
 <translation id="8575286410928791436">Mantén presionada la tecla <ph name="KEY_EQUIVALENT" /> para salir</translation>
 <translation id="8576249514688522074">No se inicializó</translation>
@@ -6602,6 +6641,7 @@
 <translation id="8737914367566358838">Elige el idioma al que quieras traducir la página</translation>
 <translation id="8740247629089392745">Puedes pasarle esta Chromebook a <ph name="SUPERVISED_USER_NAME" />. La configuración está casi lista. Luego, podrán comenzar a explorar.</translation>
 <translation id="8742998548129056176">Aquí se muestra información general sobre tu dispositivo y cómo lo usas (como el nivel de batería, la actividad de las apps y el sistema, y errores). Los datos se usarán para mejorar Android, y la información agregada también permitirá que las apps y los socios de Google, como los desarrolladores de Android, mejoren sus apps y productos.</translation>
+<translation id="8743164338060742337">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" />%, administrada por tu administrador, conectar</translation>
 <translation id="8743390665131937741">Nivel de zoom en pantalla completa:</translation>
 <translation id="8743864605301774756">Se actualizó hace 1 h</translation>
 <translation id="8746654918629346731">Ya solicitaste "<ph name="EXTENSION_NAME" />"</translation>
@@ -6701,6 +6741,7 @@
 <translation id="8830796635868321089">La búsqueda de actualizaciones no pudo usar la configuración del servidor proxy actual. Ajusta tu <ph name="PROXY_SETTINGS_LINK_START" />configuración de proxy<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="8831140208248705279">Tu <ph name="DEVICE_TYPE" /> y tu teléfono Android trabajan mejor juntos. Conéctalos para poder enviar mensajes de texto desde la computadora, compartir la conexión de Internet y desbloquear tu <ph name="DEVICE_TYPE" /> con el teléfono.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717"><ph name="USER_EMAIL" /> controla la configuración de la red.</translation>
+<translation id="8835786707922974220">Asegúrate de que siempre puedas acceder a tus contraseñas guardadas</translation>
 <translation id="8838601485495657486">Opaco</translation>
 <translation id="8838770651474809439">Hamburguesa</translation>
 <translation id="883911313571074303">Escribir en la imagen</translation>
@@ -6716,6 +6757,7 @@
 <translation id="885246833287407341">Argumentos de la función de la API</translation>
 <translation id="8853586775156634952">Esta tarjeta solo se guardará en este dispositivo</translation>
 <translation id="8855977033756560989">Este dispositivo Chromebook Enterprise incluye la actualización de Chrome Enterprise. Para aprovechar las capacidades empresariales, inscribe este dispositivo con una cuenta de administrador de Google.</translation>
+<translation id="8856028055086294840">Restaurar apps y páginas</translation>
 <translation id="885701979325669005">Almacenamiento</translation>
 <translation id="8859057652521303089">Selecciona tu idioma:</translation>
 <translation id="8859174528519900719">Submarco: <ph name="SUBFRAME_SITE" /></translation>
@@ -7079,6 +7121,7 @@
 <translation id="971774202801778802">URL del marcador</translation>
 <translation id="973473557718930265">Salir</translation>
 <translation id="975893173032473675">Idioma de destino de la traducción</translation>
+<translation id="976499800099896273">Se muestra el diálogo para deshacer la autocorrección de la palabra <ph name="TYPED_WORD" /> corregida a <ph name="CORRECTED_WORD" />.  Presiona la flecha hacia arriba para acceder o Esc para ignorar.</translation>
 <translation id="978146274692397928">El ancho de la puntuación inicial está completo</translation>
 <translation id="97905529126098460">Cuando se complete la cancelación, se cerrará esta ventana.</translation>
 <translation id="980731642137034229">Botón del menú de Acción</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index 62137d03..f6ca39e0 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">Pulsa Esc para omitir este paso (solo para compilaciones no oficiales).</translation>
 <translation id="1093457606523402488">Redes visibles:</translation>
 <translation id="1094607894174825014">La operación de lectura o escritura se ha solicitado con una variación no válida de "<ph name="DEVICE_NAME" />".</translation>
+<translation id="1095761715416917775">Asegúrate de que siempre puedas acceder a tus datos sincronizados</translation>
 <translation id="109647177154844434">Si desinstalas Parallels Desktop, se eliminará tu imagen de Windows, lo que incluye sus aplicaciones, ajustes y datos. ¿Seguro que quieres continuar?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 enlace}other{# enlaces}}</translation>
 <translation id="1097658378307015415">Antes de iniciar sesión, entra como invitado para activar la red <ph name="NETWORK_ID" />.</translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">Editar motor de búsqueda</translation>
 <translation id="1129850422003387628">Gestionar aplicaciones</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" />: parte del grupo <ph name="GROUP_NAME" /></translation>
+<translation id="1130712065489627903">Ya puedes recibir notificaciones de tu teléfono en tu <ph name="DEVICE_TYPE" />. Cuando cierres una notificación en tu <ph name="DEVICE_TYPE" />, también se cerrará en tu teléfono. Comprueba que tengas el teléfono cerca, que esté desbloqueado y que las conexiones Bluetooth y Wi‑Fi estén activadas.</translation>
 <translation id="1134009406053225289">Abrir en una ventana de incógnito</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> de <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">La llave de seguridad está bloqueada porque se ha introducido el PIN de forma incorrecta demasiadas veces. Para desbloquearla, quítala y vuelve a introducirla.</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366">Permitir siempre que <ph name="HOST" /> acceda a los sensores</translation>
 <translation id="1153356358378277386">Dispositivos vinculados</translation>
 <translation id="1153636665119721804">Programa de Protección Avanzada de Google</translation>
+<translation id="1155816283571436363">Conectando con tu teléfono</translation>
 <translation id="1161575384898972166">Inicia sesión en <ph name="TOKEN_NAME" /> para exportar el certificado de cliente.</translation>
 <translation id="1163931534039071049">&amp;Ver fuente del marco</translation>
 <translation id="1164891049599601209">Introducida en un sitio web engañoso</translation>
@@ -263,7 +266,7 @@
 <translation id="1292849930724124745">Introduce la tarjeta inteligente para mantener la sesión iniciada</translation>
 <translation id="1293264513303784526">Dispositivo USB-C (puerto izquierdo)</translation>
 <translation id="1293556467332435079">Archivos</translation>
-<translation id="1294807885394205587">Este proceso puede tardar unos minutos. Iniciando el administrador de contenedores.</translation>
+<translation id="1294807885394205587">Este proceso puede tardar unos minutos. Iniciando el gestor de contenedores.</translation>
 <translation id="1296911687402551044">Fijar pestaña seleccionada</translation>
 <translation id="1297175357211070620">Destino</translation>
 <translation id="1300415640239881824"><ph name="DOMAIN" /> quiere que Google verifique la identidad de tu dispositivo para determinar si puede utilizar la reproducción mejorada con contenido protegido.</translation>
@@ -374,6 +377,15 @@
 <translation id="1420834118113404499">Licencias de contenido multimedia</translation>
 <translation id="1420920093772172268"><ph name="TURN_ON_BLUETOOTH_LINK" /> para permitir la vinculación</translation>
 <translation id="1422159345171879700">Cargar secuencias de comandos no seguras</translation>
+<translation id="1423716227250567100">Al realizar esta acción:
+          <ph name="LINE_BREAKS" />
+           • Se restablecerán los ajustes y las combinaciones de teclas de Chrome.
+           <ph name="LINE_BREAK" />
+           • Se inhabilitarán las extensiones.
+           <ph name="LINE_BREAK" />
+           • Se eliminarán las cookies y otros datos temporales de sitios.
+            <ph name="LINE_BREAKS" />
+           Los marcadores, el historial y las contraseñas guardadas no se verán afectados.</translation>
 <translation id="1426410128494586442">Sí</translation>
 <translation id="142655739075382478">Se ha bloqueado <ph name="APP_NAME" /></translation>
 <translation id="1426870617281699524">Haz clic en Reintentar y acepta el mensaje que aparece en tu ordenador</translation>
@@ -801,6 +813,7 @@
 <translation id="1887597546629269384">Di "Ok Google" otra vez</translation>
 <translation id="1887850431809612466">Revisión de hardware</translation>
 <translation id="1890674179660343635">&lt;span&gt;ID: &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">Queda muy poco espacio en el disco. Libera espacio en el disco.</translation>
 <translation id="189210018541388520">Abrir en pantalla completa</translation>
 <translation id="1892341345406963517">Hola, <ph name="PARENT_NAME" />:</translation>
 <translation id="189358972401248634">Otros idiomas</translation>
@@ -923,7 +936,7 @@
 <translation id="2046702855113914483">Fideos</translation>
 <translation id="204706822916043810">Comprobando la máquina virtual</translation>
 <translation id="2048182445208425546">Acceder a tu tráfico de red</translation>
-<translation id="2048554637254265991">Se ha producido un problema al iniciar el administrador de contenedores. Inténtalo de nuevo.</translation>
+<translation id="2048554637254265991">Se ha producido un problema al iniciar el gestor de contenedores. Inténtalo de nuevo.</translation>
 <translation id="2048653237708779538">Acción no disponible</translation>
 <translation id="204914487372604757">Crear acceso directo</translation>
 <translation id="2050339315714019657">Vertical</translation>
@@ -1019,6 +1032,7 @@
 <translation id="2157474325782140681">Si quieres obtener funciones adicionales, usa una base Dell que se haya diseñado para funcionar con este Chromebook.</translation>
 <translation id="215753907730220065">Desactivar pantalla completa</translation>
 <translation id="2157875535253991059">Esta página se muestra ahora en pantalla completa.</translation>
+<translation id="2160589599612868242">Recibe notificaciones de tu teléfono en tu <ph name="DEVICE_TYPE" /></translation>
 <translation id="216169395504480358">Añadir Wi-Fi...</translation>
 <translation id="2162155940152307086">La sincronización empezará cuando salgas de la configuración</translation>
 <translation id="2162838847352058695">Impedir que los sitios web descarguen varios archivos automáticamente</translation>
@@ -1027,6 +1041,7 @@
 <translation id="2165421703844373933">Accede al Asistente cuando digas "Ok Google". Para ahorrar batería, elige “Activado (recomendado)”. El Asistente responderá únicamente cuando tu dispositivo esté conectado o cargando.</translation>
 <translation id="2166369534954157698">Benjamín pidió una bebida de kiwi y fresa. Noé, sin vergüenza, la más exquisita champaña del menú.</translation>
 <translation id="2169062631698640254">Iniciar sesión de todas formas</translation>
+<translation id="2170054054876170358">Comprueba que tengas el teléfono cerca, que esté desbloqueado y que las conexiones Bluetooth y Wi‑Fi estén activadas.</translation>
 <translation id="2172784515318616985">Continuar</translation>
 <translation id="2173302385160625112">Comprueba tu conexión a Internet</translation>
 <translation id="2173801458090845390">Añadir solicitud de ID para este dispositivo</translation>
@@ -1122,7 +1137,7 @@
 <translation id="2276503375879033601">Añadir más aplicaciones</translation>
 <translation id="2277255602909579701">Todas las cookies y los datos de sitios web</translation>
 <translation id="2278562042389100163">Abrir ventana del navegador</translation>
-<translation id="2278668501808246459">Iniciando el administrador de contenedores</translation>
+<translation id="2278668501808246459">Iniciando el gestor de contenedores</translation>
 <translation id="2280486287150724112">Margen derecho</translation>
 <translation id="2282146716419988068">Proceso de GPU</translation>
 <translation id="2282155092769082568">URL de configuración automática:</translation>
@@ -1226,12 +1241,14 @@
 <translation id="2395616325548404795">El dispositivo <ph name="DEVICE_TYPE" /> se ha registrado correctamente para ser administrado por la empresa, pero no ha podido enviar la información de la ubicación ni del recurso. Introduce manualmente esta información en la consola de administración de este dispositivo.</translation>
 <translation id="2396387085693598316">Tu administrador ha bloqueado "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="2396783860772170191">Introduce el PIN de 4 dígitos (0000-9999)</translation>
+<translation id="2399699884460174994">Notificaciones activadas</translation>
 <translation id="2399939490305346086">Datos de inicio de sesión de la llave de seguridad</translation>
 <translation id="2400664245143453337">Es necesario actualizar de inmediato</translation>
 <translation id="2408018932941436077">Guardando tarjeta</translation>
 <translation id="2408955596600435184">Introduce tu PIN</translation>
 <translation id="241082044617551207">Complemento desconocido</translation>
 <translation id="2412593942846481727">Actualización disponible</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">Teclas de funciones del teclado</translation>
 <translation id="241727068219398187">Se han cifrado los datos con tu contraseña de Google desde el
           <ph name="TIME" />. El cifrado no incluye los métodos de pago ni las direcciones de Google Pay.</translation>
@@ -1357,6 +1374,7 @@
 <translation id="2538084450874617176">¿Quién está utilizando este <ph name="DEVICE_TYPE" />?</translation>
 <translation id="2538361623464451692">Sincronización inhabilitada</translation>
 <translation id="2540449034743108469">Pulsa Iniciar para detectar las actividades de extensión</translation>
+<translation id="2540651571961486573">Se ha producido un error. Código de error: <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">¿Quieres optimizar el envío de pantalla completa?</translation>
 <translation id="2541706104884128042">Se ha definido una nueva hora de dormir</translation>
 <translation id="2542050502251273923">Establece el nivel de depuración del administrador de conexión de red y de otros servicios con ff_debug.</translation>
@@ -1404,6 +1422,7 @@
 <translation id="2607101320794533334">Información de clave pública de la entidad receptora</translation>
 <translation id="2607968157341167679">No hay álbumes. Crea un álbum en <ph name="LINK_BEGIN" />Google Fotos<ph name="LINK_END" />.</translation>
 <translation id="2609896558069604090">Crear accesos directos...</translation>
+<translation id="2609980095400624569">No se ha podido establecer conexión</translation>
 <translation id="2610157865375787051">Suspensión</translation>
 <translation id="2610260699262139870">Tamaño &amp;real</translation>
 <translation id="2610780100389066815">Firma de listas de confianza de Microsoft</translation>
@@ -1657,6 +1676,7 @@
 <translation id="2885729872133513017">No se ha podido decodificar la respuesta del servidor.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">Abrir enlace con...</translation>
+<translation id="2889481634493693121">Activa las notificaciones en tu teléfono</translation>
 <translation id="2889925978073739256">Seguir bloqueando complementos no incluidos en la zona de pruebas</translation>
 <translation id="2893168226686371498">Navegador predeterminado</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 texto}other{# textos}}</translation>
@@ -1751,6 +1771,7 @@
 <translation id="3000461861112256445">Audio en mono</translation>
 <translation id="3001144475369593262">Cuentas infantiles</translation>
 <translation id="3003144360685731741">Redes preferidas</translation>
+<translation id="3003189754374775221">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" /> %, conectar</translation>
 <translation id="3003623123441819449">Caché de CSS</translation>
 <translation id="3003828226041301643">No se puede vincular el dispositivo con el dominio. Consulta en tu cuenta si tienes los privilegios necesarios para añadir dispositivos.</translation>
 <translation id="3003967365858406397">Tu <ph name="PHONE_NAME" /> creará una conexión Wi-Fi privada.</translation>
@@ -1802,6 +1823,7 @@
 <translation id="3058498974290601450">Puedes activar la sincronización en cualquier momento desde la configuración</translation>
 <translation id="3060379269883947824">Habilitar Enunciar Selección</translation>
 <translation id="3060952009917586498">Cambiar el idioma del dispositivo. El idioma actual es el <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">No se ha podido establecer conexión con tu teléfono. Comprueba que tengas el teléfono cerca, que esté desbloqueado y que las conexiones Bluetooth y Wi‑Fi estén activadas.</translation>
 <translation id="3065041951436100775">Comentarios sobre una pestaña que se ha cerrado.</translation>
 <translation id="306535478112428611">No puede editar archivos y carpetas en tu dispositivo</translation>
 <translation id="3065522099314259755">Latencia de repetición del teclado</translation>
@@ -1858,6 +1880,7 @@
 <translation id="3129215702932019810">No se ha podido ejecutar la aplicación</translation>
 <translation id="3130528281680948470">Tu dispositivo se restablecerá y se eliminarán todas las cuentas de usuario y todos los datos locales. Esta acción no se puede deshacer.</translation>
 <translation id="313205617302240621">¿Has olvidado tu contraseña?</translation>
+<translation id="3132277757485842847">No se ha podido mantener la conexión con tu teléfono. Comprueba que tengas el teléfono cerca, que esté desbloqueado y que las conexiones Bluetooth y Wi‑Fi estén activadas.</translation>
 <translation id="3132996321662585180">Actualizar todos los días</translation>
 <translation id="313963229645891001">Descargando (<ph name="STATUS" />)</translation>
 <translation id="3139925690611372679">Avatar amarillo predeterminado</translation>
@@ -2901,6 +2924,7 @@
 <translation id="4378551569595875038">Conectando...</translation>
 <translation id="4378556263712303865">Solicitud de dispositivo</translation>
 <translation id="4379281552162875326">¿Quieres desinstalar <ph name="APP_NAME" />?</translation>
+<translation id="4380245540200674032">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" /> %, gestionada por el administrador, detalles</translation>
 <translation id="4380648069038809855">Has iniciado el modo de pantalla completa</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" /> y 1 cuenta más}other{<ph name="EMAIL" /> y <ph name="EXTRA_ACCOUNTS" /> cuentas más}}</translation>
 <translation id="4384312707950789900">Añadir a las redes preferidas</translation>
@@ -3324,6 +3348,7 @@
 <translation id="4880827082731008257">Buscar en el historial</translation>
 <translation id="4881695831933465202">Abrir</translation>
 <translation id="4882312758060467256">Tiene acceso a este sitio web</translation>
+<translation id="4882670371033027418">Configura tu huella digital para desbloquear más rápido tu <ph name="DEVICE_TYPE" /></translation>
 <translation id="4882831918239250449">Controlar cómo se utiliza el historial de navegación para personalizar la Búsqueda, los anuncios y mucho más</translation>
 <translation id="4882919381756638075">Los sitios web suelen acceder al micrófono para utilizarlo en funciones relacionadas con la comunicación, como el chat de vídeo.</translation>
 <translation id="4883436287898674711">Todos los sitios de <ph name="WEBSITE_1" /></translation>
@@ -3348,6 +3373,7 @@
 <translation id="4902546322522096650">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" /> %, conectar</translation>
 <translation id="49027928311173603">La política que has descargado del servidor no es válida (<ph name="VALIDATION_ERROR" />).</translation>
 <translation id="4906490889887219338">Configurar o gestionar sistemas de archivos compartidos de red. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" /> %, batería del teléfono: <ph name="BATTERY_STATUS" /> %, detalles</translation>
 <translation id="4907161631261076876">Este archivo no se descarga habitualmente y puede ser peligroso.</translation>
 <translation id="4907306957610201395">Categoría de permisos</translation>
 <translation id="4908811072292128752">Abre una pestaña nueva para navegar por dos sitios web a la vez</translation>
@@ -3794,6 +3820,7 @@
 <translation id="5457991019809708398">Activado, sin itinerancia</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">Notas en la pantalla de bloqueo</translation>
+<translation id="5461050611724244538">Se ha perdido la conexión con el teléfono</translation>
 <translation id="5463231940765244860">Introducir</translation>
 <translation id="5463275305984126951">Índice de <ph name="LOCATION" /></translation>
 <translation id="5463856536939868464">Menú con marcadores ocultos</translation>
@@ -4287,6 +4314,7 @@
 <translation id="6031600495088157824">Opciones de entrada en la barra de herramientas</translation>
 <translation id="6032715498678347852">Para permitir que una extensión acceda a este sitio web, haz clic en ella.</translation>
 <translation id="6032912588568283682">Sistema de archivos</translation>
+<translation id="603539183851330738">Botón para deshacer la autocorrección. Volver a <ph name="TYPED_WORD" />.  Pulsa Intro para activar el botón y tecla Escape para salir.</translation>
 <translation id="6035517790085323771">Quién puede compartir archivos con tu dispositivo</translation>
 <translation id="6038929619733116134">Bloquear si el sitio web muestra anuncios invasivos o engañosos</translation>
 <translation id="6039651071822577588">El formato del diccionario de propiedades de la red es incorrecto.</translation>
@@ -4389,7 +4417,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />, ninguna red</translation>
 <translation id="6141988275892716286">Confirmar descarga</translation>
 <translation id="6143186082490678276">Obtener ayuda</translation>
-<translation id="6143366292569327983">Elige el idioma de página del que quieras traducir.</translation>
+<translation id="6143366292569327983">Elige el idioma del que quieras traducir.</translation>
 <translation id="6144938890088808325">Ayúdanos a mejorar los Chromebooks</translation>
 <translation id="6147020289383635445">Error al obtener la vista previa de impresión</translation>
 <translation id="6148576794665275391">Abrir ahora</translation>
@@ -4426,6 +4454,7 @@
 <translation id="6185132558746749656">Ubicación del dispositivo</translation>
 <translation id="6186394437969115158">Los sitios web suelen mostrar anuncios para poder ofrecer contenido o servicios de manera gratuita. Sin embargo, algunos sitios web se caracterizan por mostrar anuncios invasivos o engañosos.</translation>
 <translation id="6195693561221576702">Este dispositivo no se puede configurar en el modo de demostración sin conexión.</translation>
+<translation id="6195724942939841102">No restaurar</translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6196854373336333322">La extensión <ph name="EXTENSION_NAME" /> ahora controla la configuración del proxy, lo que significa que puede cambiar, deshacer o espiar cualquier acción que hagas online. Si no estás seguro de los motivos por los que se ha producido este cambio, probablemente no haya sido intencionado.</translation>
 <translation id="6198102561359457428">Cerrar y volver a iniciar sesión...</translation>
@@ -4465,6 +4494,7 @@
 <translation id="6238767809035845642">Texto compartido desde otro dispositivo</translation>
 <translation id="6238923052227198598">Mantener la última nota en la pantalla de bloqueo</translation>
 <translation id="6239558157302047471">Volver a cargar &amp;marco</translation>
+<translation id="6240821072888636753">Preguntar siempre</translation>
 <translation id="6241530762627360640">Acceder a información sobre dispositivos Bluetooth vinculados a tu sistema y descubrir dispositivos Bluetooth cercanos.</translation>
 <translation id="6241844896329831164">No se necesita acceso</translation>
 <translation id="6242574558232861452">Comprobando las políticas de seguridad de tu organización.</translation>
@@ -4497,6 +4527,7 @@
 <translation id="6268252012308737255">Abrir con <ph name="APP" /></translation>
 <translation id="6270391203985052864">Los sitios web pueden preguntarte si quieres que te envíen notificaciones</translation>
 <translation id="6270770586500173387">Enviar <ph name="BEGIN_LINK2" />métricas<ph name="END_LINK2" /> e <ph name="BEGIN_LINK1" />información de aplicaciones y del sistema<ph name="END_LINK1" /></translation>
+<translation id="6271348838875430303">corrección deshecha</translation>
 <translation id="6272643420381259437">Se ha producido un error (<ph name="ERROR" />) al descargar el complemento</translation>
 <translation id="6273677812470008672">Calidad</translation>
 <translation id="6276210637549544171">El proxy <ph name="PROXY_SERVER" /> requiere un nombre de usuario y una contraseña.</translation>
@@ -4718,6 +4749,7 @@
 <translation id="6532527800157340614">Se ha producido un error al iniciar sesión porque no se ha podido recuperar tu token de acceso. Revisa tu conexión de red y vuelve a intentarlo.</translation>
 <translation id="6532663472409656417">Registrado en la empresa</translation>
 <translation id="6535331821390304775">Permitir siempre que <ph name="ORIGIN" /> abra este tipo de enlaces en la aplicación asociada</translation>
+<translation id="653659894138286600">Escanear documentos e imágenes</translation>
 <translation id="6537613839935722475">El nombre puede contener letras, números y guiones (-).</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">La configuración actual de uso de datos es Datos</translation>
@@ -4978,6 +5010,7 @@
 <translation id="6853388645642883916">Herramienta de actualización no disponible</translation>
 <translation id="68541483639528434">Cerrar las demás pestañas</translation>
 <translation id="6855892664589459354">Copia de seguridad y restauración de Crostini</translation>
+<translation id="6856459657722366306">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" /> %, detalles</translation>
 <translation id="6856623341093082836">Configurar y ajustar la precisión de la pantalla táctil</translation>
 <translation id="6857699260879628349">Obtener información de configuración</translation>
 <translation id="6860097299815761905">Configuración de proxy...</translation>
@@ -5119,6 +5152,7 @@
 <translation id="7005496624875927304">Permisos adicionales</translation>
 <translation id="7005812687360380971">Error</translation>
 <translation id="7005848115657603926">Intervalo de páginas no válido, utilizar <ph name="EXAMPLE_PAGE_RANGE" /></translation>
+<translation id="700651317925502808">¿Restablecer configuración?</translation>
 <translation id="7006634003215061422">Margen inferior</translation>
 <translation id="7007648447224463482">Abrir todo en una ventana nueva</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" /> está usando tu cámara</translation>
@@ -5147,6 +5181,7 @@
 <translation id="7044124535091449260">Más información sobre el acceso del sitio web</translation>
 <translation id="7044606776288350625">Sincronización de datos</translation>
 <translation id="7047059339731138197">Selecciona un fondo de pantalla</translation>
+<translation id="7048024426273850086">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" /> %, batería del teléfono: <ph name="BATTERY_STATUS" /> %, conectar</translation>
 <translation id="7049293980323620022">¿Quieres conservar el archivo?</translation>
 <translation id="7051943809462976355">Buscando el ratón...</translation>
 <translation id="7052237160939977163">Enviar datos de seguimiento de rendimiento</translation>
@@ -5288,6 +5323,7 @@
 <translation id="7213903639823314449">Buscador utilizado en la barra de direcciones</translation>
 <translation id="7216409898977639127">Proveedor de servicios móviles</translation>
 <translation id="7216595297012131718">Ordena los idiomas según tus preferencias</translation>
+<translation id="7219473482981809164">Hemos encontrado varios perfiles disponibles para descargar. Antes de continuar, selecciona los que quieras descargar.</translation>
 <translation id="7220019174139618249">No se pueden exportar contraseñas a la carpeta "<ph name="FOLDER" />"</translation>
 <translation id="722055596168483966">Personalizar los servicios de Google</translation>
 <translation id="722099540765702221">Fuente de carga</translation>
@@ -5570,6 +5606,7 @@
 <translation id="7556033326131260574">Smart Lock no ha podido verificar tu cuenta. Introduce la contraseña para acceder.</translation>
 <translation id="7556242789364317684">Lamentablemente, <ph name="SHORT_PRODUCT_NAME" /> no puede recuperar tu configuración. Para solucionar el error, <ph name="SHORT_PRODUCT_NAME" /> debe restablecer tu dispositivo con Powerwash.</translation>
 <translation id="7557194624273628371">Redirección de puertos de Linux</translation>
+<translation id="7559269329306630685">Los datos de tu huella digital se almacenan de forma segura y nunca se envían fuera de tu <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7559719679815339381">Por favor, espera... La aplicación de kiosco se está actualizando. No extraigas el dispositivo USB.</translation>
 <translation id="7561196759112975576">Siempre</translation>
 <translation id="756445078718366910">Abrir ventana del navegador</translation>
@@ -6019,6 +6056,7 @@
 <translation id="8045923671629973368">Introducir el ID de la aplicación o la URL de Chrome Web Store</translation>
 <translation id="8047242494569930800">Mover a cuenta de Google</translation>
 <translation id="804786196054284061">Contrato de licencia de usuario final</translation>
+<translation id="8048977114738515028">Crea un acceso directo del escritorio en tu dispositivo para acceder directamente a este perfil</translation>
 <translation id="8049705080247101012">Google ha marcado "<ph name="EXTENSION_NAME" />" como extensión maliciosa, por lo que ha evitado que se instale</translation>
 <translation id="8049948037269924837">Desplazamiento inverso del panel táctil</translation>
 <translation id="8050038245906040378">Firma de código comercial de Microsoft</translation>
@@ -6450,6 +6488,7 @@
 <translation id="8569682776816196752">No se ha encontrado ningún destino.</translation>
 <translation id="8571213806525832805">Últimas cuatro semanas</translation>
 <translation id="8571687764447439720">Añadir ticket de Kerberos</translation>
+<translation id="8571814292654854151">Nombre de tu perfil</translation>
 <translation id="8574990355410201600">Permitir siempre el sonido en <ph name="HOST" /></translation>
 <translation id="8575286410928791436">Mantén pulsado <ph name="KEY_EQUIVALENT" /> para salir</translation>
 <translation id="8576249514688522074">No inicializado</translation>
@@ -6604,6 +6643,7 @@
 <translation id="8737914367566358838">Elige el idioma al que quieres traducir la página</translation>
 <translation id="8740247629089392745">Puedes darle este Chromebook a <ph name="SUPERVISED_USER_NAME" />. La configuración ya casi está lista, así que ha llegado la hora de explorar.</translation>
 <translation id="8742998548129056176">Esta página muestra información general sobre el dispositivo y su uso (como el nivel de batería, la actividad del sistema y en las aplicaciones, y los errores). Sirve para mejorar Android, y parte de los datos recogidos también mejoran las aplicaciones y ayudan a los partners de Google, como los desarrolladores de Android, a mejorar sus productos y aplicaciones.</translation>
+<translation id="8743164338060742337">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, intensidad de la señal: <ph name="SIGNAL_STRENGTH" /> %, gestionada por el administrador, conectar</translation>
 <translation id="8743390665131937741">Nivel de zoom de pantalla completa:</translation>
 <translation id="8743864605301774756">Actualizada hace 1 hora</translation>
 <translation id="8746654918629346731">Ya has solicitado "<ph name="EXTENSION_NAME" />"</translation>
@@ -6703,6 +6743,7 @@
 <translation id="8830796635868321089">La búsqueda de actualizaciones no ha podido utilizar la configuración de proxy actual. Ajusta la <ph name="PROXY_SETTINGS_LINK_START" />configuración de proxy<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="8831140208248705279">Tu <ph name="DEVICE_TYPE" /> y tu teléfono Android funcionan mejor juntos. Conéctalos para enviar mensajes desde el ordenador, compartir la conexión a Internet y desbloquear tu <ph name="DEVICE_TYPE" /> con el teléfono.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717"><ph name="USER_EMAIL" /> controla la configuración de red.</translation>
+<translation id="8835786707922974220">Asegúrate de que siempre puedas acceder a tus contraseñas guardadas</translation>
 <translation id="8838601485495657486">Opaco</translation>
 <translation id="8838770651474809439">Hamburguesa</translation>
 <translation id="883911313571074303">Anotar imagen</translation>
@@ -6718,6 +6759,7 @@
 <translation id="885246833287407341">Argumentos de función de API</translation>
 <translation id="8853586775156634952">Esta tarjeta solo se guardará en este dispositivo</translation>
 <translation id="8855977033756560989">Este dispositivo Chromebook Enterprise incluye Chrome Enterprise Upgrade. Para aprovechar las funciones empresariales, registra este dispositivo con una cuenta de administrador de Google.</translation>
+<translation id="8856028055086294840">Restaurar aplicaciones y páginas</translation>
 <translation id="885701979325669005">Almacenamiento</translation>
 <translation id="8859057652521303089">Selecciona tu idioma:</translation>
 <translation id="8859174528519900719">Submarco: <ph name="SUBFRAME_SITE" /></translation>
@@ -7081,6 +7123,7 @@
 <translation id="971774202801778802">Añadir URL a marcadores</translation>
 <translation id="973473557718930265">Salir</translation>
 <translation id="975893173032473675">Idioma al que se va a traducir</translation>
+<translation id="976499800099896273">Aparece el cuadro de diálogo para deshacer la autocorrección. Se ha corregido <ph name="TYPED_WORD" /> como <ph name="CORRECTED_WORD" />.  Pulsa la flecha hacia arriba para ir a la palabra autocorregida y la tecla Escape para ignorarla.</translation>
 <translation id="978146274692397928">La puntuación inicial de los caracteres es de ancho completo.</translation>
 <translation id="97905529126098460">Esta ventana se cerrará cuando la cancelación se haya completado.</translation>
 <translation id="980731642137034229">Botón del menú de acciones</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index d733683..a07a586a 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">Teil on sertifikaate, mis ei sobi ühtegi muusse kategooriasse</translation>
 <translation id="1476088332184200792">Kopeeri seadmesse</translation>
 <translation id="1476607407192946488">&amp;Keeleseaded</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> nõuab, et teie kiipkaart oleks pidevalt sisestatud.</translation>
 <translation id="1478340334823509079">Üksikasjad: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installimine ei ole lubatud</translation>
 <translation id="1481537595330271162">Viga ketta suuruse muutmisel</translation>
@@ -2033,6 +2034,7 @@
 <translation id="3320630259304269485">Google'i ohutu sirvimine (kaitse ohtlike saitide eest) ja muud turvaseaded</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Need andmed sisaldavad tundlikku või ohtlikku sisu. Eemaldage see sisu ja proovige uuesti.}=1{See fail sisaldab tundlikku või ohtlikku sisu. Eemaldage see sisu ja proovige uuesti.}other{Need failid sisaldavad tundlikku või ohtlikku sisu. Eemaldage see sisu ja proovige uuesti.}}</translation>
 <translation id="3323521181261657960">Boonus! Said ekraaniaega juurde</translation>
+<translation id="3325804108816646710">Olemasolevate profiilide otsimine …</translation>
 <translation id="3325910708063135066">Kaamera ja mikrofon on Maci süsteemieelistustes välja lülitatud</translation>
 <translation id="3327050066667856415">Chromebookid on valmistatud turvalisust silmas pidades. Teie seade on pahavara eest automaatselt kaitstud – lisatarkvara pole vaja.</translation>
 <translation id="3328489342742826322">Varukoopiast taastamisel kustutatakse olemasolevad Linuxi rakendused ja andmed teie Linuxi failide kaustast.</translation>
@@ -2100,6 +2102,7 @@
 <translation id="3412265149091626468">Hüppa valikusse</translation>
 <translation id="3413122095806433232">CA väljastajad: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Suurus:</translation>
+<translation id="3414966631182382431">Teie <ph name="BEGIN_LINK" />brauserit haldab<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Kuva alati täielikud URL-id</translation>
 <translation id="3417835166382867856">Otsige vahelehtedelt</translation>
 <translation id="3417836307470882032">24-tunnine kell</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">Demorežiimi ressurssidega veebipõhist komponenti ei saanud laadida.</translation>
 <translation id="4652935475563630866">Kaamera seade muudatuse jõustumiseks tuleb Parallels Desktop uuesti käivitada. Jätkamiseks käivitage Parallels Desktop uuesti.</translation>
 <translation id="4653405415038586100">Viga Linuxi seadistamisel</translation>
+<translation id="4657914796247705218">Näpuhiire kiirus</translation>
 <translation id="465878909996028221">Brauseri ümbersuunamiste puhul toetatakse ainult HTTP-d, HTTPS-i ja failiprotokolle.</translation>
 <translation id="4659077111144409915">Peamine konto</translation>
 <translation id="4659126640776004816">Kui logite oma Google'i kontole sisse, lülitatakse see funktsioon sisse.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">Seade tuleb taaskäivitada, enne kui saate selle Powerwashiga lähtestada. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Tere! Mina olen teie kõnesünteesi hääl.</translation>
 <translation id="5472627187093107397">Salvesta selle saidi paroolid</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN-kood peab koosnema vähemalt ühest tähemärgist}other{PIN-kood peab koosnema vähemalt # tähemärgist}}</translation>
 <translation id="5473333559083690127">Sisestage uus PIN-kood uuesti</translation>
 <translation id="5481273127572794904">Pole lubatud automaatselt mitut faili alla laadida</translation>
 <translation id="5481941284378890518">Läheduses olevate printerite lubamine</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Lahe nägu</translation>
 <translation id="6091761513005122595">Jagatava üksuse ühendamine õnnestus.</translation>
 <translation id="6093888419484831006">Värskenduse tühistamine ...</translation>
+<translation id="6095541101974653012">Teid logiti välja.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Ava maksimeeritult</translation>
 <translation id="6096326118418049043">X.500 nimi</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Google Drive'i konto ühenduse katkestamine</translation>
 <translation id="6475697075626596525">Rakendus <ph name="APP_NAME" /> soovib jagada teie ekraani sisu. Valige, mida soovite jagada.</translation>
 <translation id="6478248366783946499">Kas soovite ohtliku faili säilitada?</translation>
+<translation id="6480327114083866287">Haldab <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Allalaadimise avamine</translation>
 <translation id="6483805311199035658">Avatakse <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Keele valimine</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Lukusta ekraan</translation>
 <translation id="6721678857435001674">Vaadata teie turvavõtme tootjat ja mudelit</translation>
 <translation id="6721972322305477112">&amp;Fail</translation>
+<translation id="672208878794563299">See sait küsib järgmine kord uuesti.</translation>
 <translation id="672213144943476270">Enne külalisena sirvimist avage oma profiil.</translation>
 <translation id="6723661294526996303">Impordi järjehoidjad ja seaded ...</translation>
 <translation id="6723839937902243910">Toide</translation>
@@ -6294,6 +6302,7 @@
 <translation id="8317671367883557781">Lisa võrguühendus</translation>
 <translation id="8319414634934645341">Laiendatud võtmekasutus</translation>
 <translation id="8320459152843401447">Kogu teie ekraan</translation>
+<translation id="8321837372750396788">Seda seadet <ph name="DEVICE_TYPE" /> haldab <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Sellel lehel on juurdepääs teie mikrofonile blokeeritud.</translation>
 <translation id="8323167517179506834">Sisestage URL</translation>
 <translation id="8324784016256120271">Saidid saavad küpsisefailide abil eri saitidel teie sirvimistegevust jälgida, näiteks reklaamide isikupärastamiseks</translation>
@@ -6601,6 +6610,7 @@
 <translation id="8698269656364382265">Eelmisele ekraanikuvale naasmiseks pühkige vasakust servast.</translation>
 <translation id="869884720829132584">Rakenduste menüü</translation>
 <translation id="869891660844655955">Aegumiskuupäev</translation>
+<translation id="8702825062053163569">Teie seade <ph name="DEVICE_TYPE" /> lukustati.</translation>
 <translation id="8703346390800944767">Jäta reklaam vahele</translation>
 <translation id="8705331520020532516">Seerianumber</translation>
 <translation id="8705580154597116082">WiFi on telefoni kaudu saadaval</translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb
index 487c9b29..7951d3b3 100644
--- a/chrome/app/resources/generated_resources_eu.xtb
+++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -263,7 +263,7 @@
 <translation id="1285484354230578868">Gorde datuak Google Drive-ko kontuan</translation>
 <translation id="1288037062697528143">Gaueko argia iluntzean aktibatuko da automatikoki</translation>
 <translation id="1288300545283011870">Hizketaren propietateak</translation>
-<translation id="1292849930724124745">Sartu txartel adimenduna saioa hasita jarraitzeko</translation>
+<translation id="1292849930724124745">Sartu txartel adimenduna saioa hasita izaten jarraitzeko</translation>
 <translation id="1293264513303784526">USB-C gailua (ezkerraldeko ataka)</translation>
 <translation id="1293556467332435079">Fitxategiak</translation>
 <translation id="1294807885394205587">Agian minutu batzuk beharko dira prozesua osatzeko. Edukiontzi-kudeatzailea abiarazten.</translation>
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">Beste kategorietarako egokiak ez diren ziurtagiriak dituzu erregistratuta</translation>
 <translation id="1476088332184200792">Kopiatu zure gailuan</translation>
 <translation id="1476607407192946488">&amp;Hizkuntza-ezarpenak</translation>
+<translation id="1477446329585670721">Txartel adimenduna sartuta edukitzea eskatzen du <ph name="DOMAIN" /> domeinuak.</translation>
 <translation id="1478340334823509079">Xehetasunak: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalazioa ez dago gaituta</translation>
 <translation id="1481537595330271162">Errore bat gertatu da diskoaren tamaina aldatzean</translation>
@@ -1314,7 +1315,7 @@
 <translation id="248003956660572823">Pasahitzak ez daude gordeta</translation>
 <translation id="2480868415629598489">Aldatu kopiatzen eta itsasten dituzun datuak</translation>
 <translation id="2482878487686419369">Jakinarazpenak</translation>
-<translation id="2482895651873876648"><ph name="GROUP_NAME" /> taldera mugitu da fitxa (<ph name="GROUP_CONTENTS" />)</translation>
+<translation id="2482895651873876648"><ph name="GROUP_NAME" /> taldera eraman da fitxa (<ph name="GROUP_CONTENTS" />)</translation>
 <translation id="2484959914739448251">Sinkronizatutako gailu guztietako eta zure Google-ko kontuko arakatze-datuak garbitzeko, <ph name="BEGIN_LINK" />idatzi pasaesaldia<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Gorde da pasahitza gailuan</translation>
 <translation id="2485394160472549611">Zuretzat aukeratutakoak</translation>
@@ -1774,7 +1775,7 @@
 <translation id="3003189754374775221"><ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" /> sarea. <ph name="NETWORK_NAME" /> (<ph name="NETWORK_PROVIDER_NAME" />). Seinalearen indarra % <ph name="SIGNAL_STRENGTH" />. Konektatu.</translation>
 <translation id="3003623123441819449">CSS cachea</translation>
 <translation id="3003828226041301643">Ezin da gehitu gailua domeinuan. Gailuak gehitzeko pribilegioak dituzula ziurtatzeko, egiaztatu kontua.</translation>
-<translation id="3003967365858406397"><ph name="PHONE_NAME" /> telefonoak wifi bidezko konexio pribatu bat egingo du.</translation>
+<translation id="3003967365858406397"><ph name="PHONE_NAME" /> telefonoak wifi-konexio pribatu bat egingo du.</translation>
 <translation id="3004391367407090544">Itzuli geroago</translation>
 <translation id="3006881078666935414">Ez dago erabilerari buruzko daturik</translation>
 <translation id="3007771295016901659">Bikoiztu fitxa</translation>
@@ -2033,6 +2034,7 @@
 <translation id="3320630259304269485">Arakatze segurua (webgune kaltegarrien aurreko babesa) eta bestelako segurtasun-ezarpenak</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Datuek kontuzko edukia edo eduki arriskutsua daukate. Kendu edukia eta saiatu berriro.}=1{Fitxategiak kontuzko edukia edo eduki arriskutsua dauka. Kendu edukia eta saiatu berriro.}other{Fitxategiek kontuzko edukia edo eduki arriskutsua daukate. Kendu edukia eta saiatu berriro.}}</translation>
 <translation id="3323521181261657960">Erabilera-denbora gehiago eman dizute!</translation>
+<translation id="3325804108816646710">Eskuragarri dauden profilak bilatzen…</translation>
 <translation id="3325910708063135066">Kamera eta mikrofonoa erabiltzeko baimenak desaktibatuta daude Mac sistemaren hobespenetan</translation>
 <translation id="3327050066667856415">Chromebook-ak seguruak izateko daude diseinatuta. Gailuak berez dakar malwareen kontrako babesa. Ez da software gehigarririk behar.</translation>
 <translation id="3328489342742826322">Babeskopia bat erabiltzen baduzu leheneratzeko, ezabatu egingo dira lehendik zeuden Linux-erako aplikazioak eta Linux-eko fitxategien karpetako datuak.</translation>
@@ -2100,6 +2102,7 @@
 <translation id="3412265149091626468">Egin salto hautapenera</translation>
 <translation id="3413122095806433232">Autoritate ziurtagiri-emaileen jaulkitzaileak: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Tamaina:</translation>
+<translation id="3414966631182382431"><ph name="MANAGER" /> domeinuak <ph name="BEGIN_LINK" />kudeatzen du arakatzailea<ph name="END_LINK" /></translation>
 <translation id="3416468988018290825">Erakutsi beti URL osoak</translation>
 <translation id="3417835166382867856">Bilatu fitxak</translation>
 <translation id="3417836307470882032">24 orduko formatua</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">Ezin izan da kargatu sareko osagaia demo moduko baliabideekin.</translation>
 <translation id="4652935475563630866">Kameraren ezarpenean egindako aldaketa gauzatzeko, berrabiarazi egin behar da Parallels Desktop. Aurrera egiteko, berrabiarazi Parallels Desktop.</translation>
 <translation id="4653405415038586100">Errore bat gertatu da Linux konfiguratzean</translation>
+<translation id="4657914796247705218">TrackPoint-aren abiadura</translation>
 <translation id="465878909996028221">HTTP, HTTPS eta fitxategi-protokoloak soilik onartzen dira arakatzaileen birbideratzeak gauzatzeko.</translation>
 <translation id="4659077111144409915">Kontu nagusia</translation>
 <translation id="4659126640776004816">Google-ko kontuan saioa hastean, aktibatu egiten da eginbide hau.</translation>
@@ -3378,7 +3382,7 @@
 <translation id="4907161631261076876">Fitxategia ez da deskargatu ohi eta baliteke arriskutsua izatea.</translation>
 <translation id="4907306957610201395">Baimen-kategoria</translation>
 <translation id="4908811072292128752">Bi webgune aldi berean arakatzeko, ireki beste fitxa bat</translation>
-<translation id="4909038193460299775">Kontu hau <ph name="DOMAIN" /> domeinuak kudeatzen duenez, kendu egingo dira gailutik laster-markak, historia, pasahitzak eta bestelako ezarpenak. Hala ere, Google-ko kontuan jarraituko dute lehendik dituzun datuek, eta <ph name="BEGIN_LINK" />Google Panela<ph name="END_LINK" /> erabil dezakezu haiek kudeatzeko.</translation>
+<translation id="4909038193460299775">Kontu hau <ph name="DOMAIN" /> domeinuak kudeatzen duenez, kendu egingo dira gailutik laster-markak, historia, pasahitzak eta bestelako ezarpenak. Hala ere, Google-ko kontuan jarraituko dute lehendik dituzun datuek, eta <ph name="BEGIN_LINK" />Google-ren Panela<ph name="END_LINK" /> erabil dezakezu haiek kudeatzeko.</translation>
 <translation id="4912643508233590958">Jarduerarik gabeko egoeratik ateratzea</translation>
 <translation id="4915961947098019832">Irudiak erakuts ditzakete</translation>
 <translation id="4916542008280060967"><ph name="FILE_NAME" /> editatzeko baimena eman nahi diozu webguneari?</translation>
@@ -3579,7 +3583,7 @@
 <translation id="5160634252433617617">Teklatu fisikoa</translation>
 <translation id="5160857336552977725">Hasi saioa <ph name="DEVICE_TYPE" /> gailuan</translation>
 <translation id="5162905305237671850">Blokeatu egin da <ph name="DEVICE_TYPE" /></translation>
-<translation id="5163910114647549394">Fitxen zintaren amaierara mugitu da fitxa</translation>
+<translation id="5163910114647549394">Fitxen zintaren amaierara eraman da fitxa</translation>
 <translation id="5166596762332123936"><ph name="PLUGIN_NAME" /> blokeatu egin da zaharkituta dagoelako</translation>
 <translation id="5170568018924773124">Erakutsi karpetan</translation>
 <translation id="5171045022955879922">Bilatu edo idatzi URLa</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">Berrabiarazi egin behar da gailuan fabrikako ezarpenak berrezarri ahal izateko. <ph name="LINK_BEGIN" />Lortu informazio gehiago<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Kaixo! Testua ahots bihurtzeko eginbidearen ahotsa naiz.</translation>
 <translation id="5472627187093107397">Gorde webgune honetako pasahitzak</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN kodeak karaktere bat izan behar du gutxienez}other{PIN kodeak # karaktere izan behar ditu gutxienez}}</translation>
 <translation id="5473333559083690127">Idatzi berriro PIN kodea</translation>
 <translation id="5481273127572794904">Ezin dituzte hainbat fitxategi deskargatu automatikoki</translation>
 <translation id="5481941284378890518">Gehitu inguruko inprimagailuak</translation>
@@ -4137,7 +4142,7 @@
 <translation id="5826395379250998812">Konektatu <ph name="DEVICE_TYPE" /> telefonoarekin. <ph name="LINK_BEGIN" />Lortu informazio gehiago<ph name="LINK_END" /></translation>
 <translation id="5826993284769733527">Erdi-gardena</translation>
 <translation id="5827266244928330802">Safari</translation>
-<translation id="5828545842856466741">Gehitu profila…</translation>
+<translation id="5828545842856466741">Gehitu profil bat…</translation>
 <translation id="5828633471261496623">Inprimatzen…</translation>
 <translation id="5830720307094128296">Gorde orria &amp;honela…</translation>
 <translation id="5832805196449965646">Gehitu pertsona bat</translation>
@@ -4373,6 +4378,7 @@
 <translation id="6087960857463881712">Aurpegi zoragarria</translation>
 <translation id="6091761513005122595">Muntatu da fitxategiak partekatzeko biltegia.</translation>
 <translation id="6093888419484831006">Eguneratzea bertan behera uzten…</translation>
+<translation id="6095541101974653012">Saioa amaitu duzu.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Ireki maximizatuta</translation>
 <translation id="6096326118418049043">X.500 izena</translation>
@@ -4705,6 +4711,7 @@
 <translation id="6474884162850599008">Deskonektatu Google Drive-ko kontua</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> aplikazioak pantailan duzun edukia partekatu nahi du. Aukeratu zer partekatu nahi duzun.</translation>
 <translation id="6478248366783946499">Fitxategi arriskutsua gorde nahi duzu?</translation>
+<translation id="6480327114083866287">Kudeatzailea: <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Ireki deskarga</translation>
 <translation id="6483805311199035658"><ph name="FILE" /> irekitzen…</translation>
 <translation id="6488384360522318064">Hautatu hizkuntza</translation>
@@ -4864,12 +4871,12 @@
 <translation id="6684827949542560880">Azken eguneratzea deskargatzen</translation>
 <translation id="668599234725812620">Ireki Google Play</translation>
 <translation id="6686490380836145850">Itxi eskuineko fitxak</translation>
-<translation id="6686665106869989887">Eskuinera mugitu da fitxa</translation>
+<translation id="6686665106869989887">Eskuinera eraman da fitxa</translation>
 <translation id="6686817083349815241">Gorde zure pasahitza</translation>
 <translation id="6688285987813868112">Sortu irudiaren QR kodea</translation>
 <translation id="6690659332373509948">Ezin izan da <ph name="FILE_NAME" /> fitxategia analizatu</translation>
 <translation id="6690751852586194791">Aukeratu gailuan gehitu nahi duzun gainbegiratutako erabiltzailea.</translation>
-<translation id="6691331417640343772">Kudeatu sinkronizatutako datuak Google Panela atalean</translation>
+<translation id="6691331417640343772">Kudeatu sinkronizatutako datuak Google-ren Panela atalean</translation>
 <translation id="6691541770654083180">Lurra</translation>
 <translation id="6691936601825168937">&amp;Aurrera</translation>
 <translation id="6693745645188488741">{COUNT,plural, =1{1 orri}other{{COUNT} orri}}</translation>
@@ -4893,6 +4900,7 @@
 <translation id="671928215901716392">Pantaila blokeatua</translation>
 <translation id="6721678857435001674">Ikusi segurtasun-giltzaren marka eta modeloa</translation>
 <translation id="6721972322305477112">&amp;Fitxategia</translation>
+<translation id="672208878794563299">Hurrengoan ere eskatuko dizu baimena webguneak.</translation>
 <translation id="672213144943476270">Desblokea ezazu profila gonbidatu gisa arakatu ahal izateko.</translation>
 <translation id="6723661294526996303">Inportatu laster-markak eta ezarpenak…</translation>
 <translation id="6723839937902243910">Bateria</translation>
@@ -5128,7 +5136,7 @@
 <translation id="698524779381350301">Eman automatikoki webgune hauetan sartzeko baimena</translation>
 <translation id="6985607387932385770">Inprimagailuak</translation>
 <translation id="6988094684494323731">Linux-en edukiontzia abiarazten</translation>
-<translation id="6988403677482707277">Fitxen zintaren hasierara mugitu da fitxa</translation>
+<translation id="6988403677482707277">Fitxen zintaren hasierara eraman da fitxa</translation>
 <translation id="6990778048354947307">Gai iluna</translation>
 <translation id="6991665348624301627">Hautatu helmuga</translation>
 <translation id="6992554835374084304">Aktibatu ortografia-zuzentzaile hobetua</translation>
@@ -5282,7 +5290,7 @@
 <translation id="7168109975831002660">Letra-tamaina minimoa</translation>
 <translation id="7170041865419449892">Barrutitik kanpo</translation>
 <translation id="7170236477717446850">Profileko argazkia</translation>
-<translation id="7171000599584840888">Gehitu profila…</translation>
+<translation id="7171000599584840888">Gehitu profil bat…</translation>
 <translation id="7171259390164035663">Ez erregistratu</translation>
 <translation id="7171559745792467651">Instalatu beste gailuetako aplikazioak</translation>
 <translation id="7172470549472604877">{NUM_TABS,plural, =1{Gehitu fitxa talde berrian}other{Gehitu fitxak talde berrian}}</translation>
@@ -5798,7 +5806,7 @@
 <translation id="7773726648746946405">Saioaren biltegiratzea</translation>
 <translation id="7774365994322694683">Txoria</translation>
 <translation id="7774792847912242537">Eskaera gehiegi daude.</translation>
-<translation id="7775694664330414886">Talde izengabe batera mugitu da fitxa (<ph name="GROUP_CONTENTS" />)</translation>
+<translation id="7775694664330414886">Talde izengabe batera eraman da fitxa (<ph name="GROUP_CONTENTS" />)</translation>
 <translation id="7776156998370251340"><ph name="ORIGIN" /> webguneak <ph name="FOLDERNAME" /> karpetako fitxategiak ikusteko baimena izango du webguneko fitxa guztiak ixten dituzun arte</translation>
 <translation id="7776701556330691704">Ez da aurkitu ahotsik</translation>
 <translation id="7780252971640011240">Arazoak ditugu konektatzeko. Jarri operadorearekin harremanetan laguntza lortzeko.</translation>
@@ -5910,7 +5918,7 @@
 <translation id="7881483672146086348">Ikusi kontua</translation>
 <translation id="7882358943899516840">Hornitzaile mota</translation>
 <translation id="7885253890047913815">Azken inprimagailuak</translation>
-<translation id="7886605625338676841">eSIM txartela</translation>
+<translation id="7886605625338676841">eSIM sareak</translation>
 <translation id="7887334752153342268">Bikoiztu</translation>
 <translation id="7887864092952184874">Bluetooth sagua parekatuta dago</translation>
 <translation id="7890147169288018054">Ikusi sarearen informazioa, hala nola IP helbidea edo MAC helbidea</translation>
@@ -6051,7 +6059,7 @@
 <translation id="8042142357103597104">Testuaren opakutasuna</translation>
 <translation id="8044262338717486897"><ph name="LINUX_APP_NAME" /> aplikazioak ez du erantzuten.</translation>
 <translation id="8044899503464538266">Motela</translation>
-<translation id="8045253504249021590">Sinkronizazioa gelditu egin da Google Panela atalean.</translation>
+<translation id="8045253504249021590">Sinkronizazioa gelditu egin da Google-ren Panela atalean.</translation>
 <translation id="8045923671629973368">Idatzi aplikazioaren IDa edo sareko dendaren URLa</translation>
 <translation id="8047242494569930800">Eraman Google-ko kontura</translation>
 <translation id="804786196054284061">Azken erabiltzailearen lizentzia-kontratua</translation>
@@ -6292,6 +6300,7 @@
 <translation id="8317671367883557781">Gehitu sareko konexioa</translation>
 <translation id="8319414634934645341">Teklen erabilera hedatua</translation>
 <translation id="8320459152843401447">Pantaila osoa</translation>
+<translation id="8321837372750396788"><ph name="MANAGER" /> domeinuak kudeatuko du <ph name="DEVICE_TYPE" /> gailua.</translation>
 <translation id="8322814362483282060">Orriari zure kamera atzitzeko aukera blokeatu zaio.</translation>
 <translation id="8323167517179506834">Idatzi URLa</translation>
 <translation id="8324784016256120271">Webguneek cookieak erabil ditzakete beste webguneetan egiten dituzun arakatze-jarduerak ikusteko, hala nola iragarkiak pertsonalizatzeko.</translation>
@@ -6599,6 +6608,7 @@
 <translation id="8698269656364382265">Aurreko pantailara itzultzeko, pasatu hatza ezkerraldeko albotik erdialdera.</translation>
 <translation id="869884720829132584">Aplikazioen menua</translation>
 <translation id="869891660844655955">Iraungitze-data</translation>
+<translation id="8702825062053163569"><ph name="DEVICE_TYPE" /> blokeatu egin da.</translation>
 <translation id="8703346390800944767">Saltatu iragarkia</translation>
 <translation id="8705331520020532516">Serie-zenbakia</translation>
 <translation id="8705580154597116082">Telefonoaren bidez erabil dezakezu Wi-Fi konexioa</translation>
@@ -6809,7 +6819,7 @@
 <translation id="8909298138148012791">Desinstalatu da <ph name="APP_NAME" /></translation>
 <translation id="8909833622202089127">Webgunea zure kokapenaren jarraipena egiten ari da</translation>
 <translation id="8910146161325739742">Partekatu pantaila</translation>
-<translation id="8910222113987937043">Aurrerantzean, ez dira sinkronizatuko Google-ko kontuarekin laster-marketan, historian, pasahitzetan eta bestelako ezarpenetan egindako aldaketak. Hala ere, Google-ko kontuan biltegiratuko dira lehendik dauden datuak, eta <ph name="BEGIN_LINK" />Google panelaren<ph name="END_LINK" /> bidez kudea daitezke.</translation>
+<translation id="8910222113987937043">Aurrerantzean, ez dira sinkronizatuko Google-ko kontuarekin laster-marketan, historian, pasahitzetan eta bestelako ezarpenetan egindako aldaketak. Hala ere, Google-ko kontuan biltegiratuko dira lehendik dauden datuak, eta <ph name="BEGIN_LINK" />Google-ren Panela<ph name="END_LINK" /> atalaren bidez kudea daitezke.</translation>
 <translation id="8912362522468806198">Google-ko kontua</translation>
 <translation id="8912793549644936705">Zabaldu</translation>
 <translation id="8912810933860534797">Gaitu bilaketa automatikoa</translation>
@@ -6949,7 +6959,7 @@
 <translation id="9066782832737749352">Testua ahots bihurtzeko eginbidea</translation>
 <translation id="9068849894565669697">Hautatu kolorea</translation>
 <translation id="9068878141610261315">Fitxategi mota hau ez da onartzen</translation>
-<translation id="9070342919388027491">Ezkerrera mugitu da fitxa</translation>
+<translation id="9070342919388027491">Ezkerrera eraman da fitxa</translation>
 <translation id="9072851933240542161">{COUNT,plural, =1{1 helbide}other{# helbide}}</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">Bluetooth-a</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 9f21048..a182a45 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -810,7 +810,7 @@
 <translation id="1885106732301550621">Levytila</translation>
 <translation id="1886996562706621347">Anna sivustojen ehdottaa protokollien oletuskäsittelypalveluiden määrittämistä (suositus)</translation>
 <translation id="1887442540531652736">Sisäänkirjautumisvirhe</translation>
-<translation id="1887597546629269384">Sano taas Hei Google</translation>
+<translation id="1887597546629269384">Sano taas OK Google</translation>
 <translation id="1887850431809612466">Laitteistoversio</translation>
 <translation id="1890674179660343635">&lt;span&gt;Tunnus:&lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
 <translation id="1891362123137972260">Levytila on erittäin vähissä. Vapauta levytilaa.</translation>
@@ -2898,7 +2898,7 @@
 <translation id="4349828822184870497">Hyödyllinen</translation>
 <translation id="4350019051035968019">Tätä laitetta ei voi rekisteröidä verkkotunnukselle, johon tilisi kuuluu, koska laite on merkitty eri verkkotunnuksen hallinnoitavaksi.</translation>
 <translation id="4350230709416545141"><ph name="HOST" /> ei saa koskaan käyttää sijaintitietojasi</translation>
-<translation id="4350782034419308508">Hei Google</translation>
+<translation id="4350782034419308508">OK Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> haluaa etsiä lähellä olevia Bluetooth-laitteita. Seuraavat laitteet löydettiin:</translation>
 <translation id="4354073718307267720">Kysy aina, kun sivusto pyytää lupaa luoda 3D-kartan ympäristöstäsi tai seurata kameran asentoa</translation>
 <translation id="4354344420232759511">Käyttämäsi sivustot tulevat näkyviin tähän</translation>
@@ -3055,7 +3055,7 @@
 <translation id="4531924570968473143">Kenet haluat lisätä tälle laitteelle (<ph name="DEVICE_TYPE" />)?</translation>
 <translation id="4532625150642446981"><ph name="USB_DEVICE_NAME" /> on käytössä. Käytössä olevan laitteen siirtäminen voi johtaa virheisiin. Haluatko varmasti jatkaa?</translation>
 <translation id="4532646538815530781">Tämä sivusto käyttää liiketunnistimia.</translation>
-<translation id="4533846798469727141">Sano nyt Hei Google</translation>
+<translation id="4533846798469727141">Sano nyt OK Google</translation>
 <translation id="4533985347672295764">Prosessoriaika</translation>
 <translation id="4534661889221639075">Yritä uudelleen.</translation>
 <translation id="4535127706710932914">Oletusprofiili</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb
index fa0d89c..d71c8c4c 100644
--- a/chrome/app/resources/generated_resources_fr-CA.xtb
+++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">Appuyez sur ÉCHAP pour ne pas faire la mise à jour (versions non officielles uniquement).</translation>
 <translation id="1093457606523402488">Réseaux visibles :</translation>
 <translation id="1094607894174825014">Une opération de lecture ou d'écriture a été demandée avec un décalage non valide sur « <ph name="DEVICE_NAME" /> ».</translation>
+<translation id="1095761715416917775">Assurez-vous de toujours pouvoir accéder à vos données</translation>
 <translation id="109647177154844434">La désinstallation de Parallels Desktop supprimera votre image Windows. Cela comprend ses applications, ses paramètres et ses données. Souhaitez-vous vraiment continuer?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 lien}one{# lien}many{# links}other{# liens}}</translation>
 <translation id="1097658378307015415">Avant de vous connecter, veuillez démarrer une session d'invité afin d'activer le réseau <ph name="NETWORK_ID" /></translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">Modifier le moteur de recherche</translation>
 <translation id="1129850422003387628">Gérer les applications</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> : fait partie du groupe <ph name="GROUP_NAME" /></translation>
+<translation id="1130712065489627903">Vous pouvez maintenant recevoir les notifications de votre téléphone sur votre <ph name="DEVICE_TYPE" />. Si vous les fermez sur votre <ph name="DEVICE_TYPE" />, elles le seront également sur votre téléphone. Assurez-vous que votre téléphone est à proximité, qu'il est déverrouillé et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="1134009406053225289">Ouvrir dans une fenêtre de navigation privée</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> sur <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">La clé de sécurité est verrouillée, car un NIP incorrect a été entré trop de fois. Pour la déverrouiller, retirez-la et insérez-la de nouveau.</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366">Toujours autoriser le site <ph name="HOST" /> à accéder aux capteurs</translation>
 <translation id="1153356358378277386">Appareils associés</translation>
 <translation id="1153636665119721804">Programme de protection avancée de Google</translation>
+<translation id="1155816283571436363">Connexion à votre téléphone en cours…</translation>
 <translation id="1161575384898972166">Veuillez vous connecter à <ph name="TOKEN_NAME" /> pour exporter le certificat de client.</translation>
 <translation id="1163931534039071049">&amp;Afficher le code source du cadre</translation>
 <translation id="1164891049599601209">Entré sur un site trompeur</translation>
@@ -265,6 +268,7 @@
 <translation id="1292849930724124745">Insérez votre carte à puce pour rester connecté</translation>
 <translation id="1293264513303784526">Appareil USB-C (port de gauche)</translation>
 <translation id="1293556467332435079">Fichiers</translation>
+<translation id="1294807885394205587">Ce processus peut prendre quelques minutes. Démarrage du gestionnaire de conteneur en cours…</translation>
 <translation id="1296911687402551044">Épingler l'onglet sélectionné</translation>
 <translation id="1297175357211070620">Destination</translation>
 <translation id="1300415640239881824"><ph name="DOMAIN" /> souhaite que l'identité de votre appareil soit vérifiée par Google, afin de déterminer son admissibilité pour la lecture améliorée de contenu protégé.</translation>
@@ -375,6 +379,15 @@
 <translation id="1420834118113404499">Licences multimédia</translation>
 <translation id="1420920093772172268"><ph name="TURN_ON_BLUETOOTH_LINK" /> pour autoriser l'association</translation>
 <translation id="1422159345171879700">Charger des scripts non sécurisés</translation>
+<translation id="1423716227250567100">Cette action va :
+<ph name="LINE_BREAKS" />
+• Réinitialiser les paramètres et les raccourcis de Chrome
+<ph name="LINE_BREAK" />
+• Désactiver les extensions
+<ph name="LINE_BREAK" />
+• Supprimer les témoins et d'autres données temporaires relatives aux sites
+<ph name="LINE_BREAKS" />
+Les signets, l'historique et les mots de passe enregistrés ne seront pas touchés.</translation>
 <translation id="1426410128494586442">Oui</translation>
 <translation id="142655739075382478"><ph name="APP_NAME" /> est bloquée</translation>
 <translation id="1426870617281699524">Cliquez sur Réessayer et acceptez l'invite sur votre ordinateur</translation>
@@ -802,6 +815,7 @@
 <translation id="1887597546629269384">Dites « Hey Google » de nouveau</translation>
 <translation id="1887850431809612466">Révision du matériel</translation>
 <translation id="1890674179660343635">&lt;span&gt;Identifiant : &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">L'espace de stockage du disque est presque plein. Veuillez libérer de l'espace.</translation>
 <translation id="189210018541388520">Ouvrir en mode plein écran.</translation>
 <translation id="1892341345406963517">Bonjour <ph name="PARENT_NAME" /></translation>
 <translation id="189358972401248634">Autres langues</translation>
@@ -924,6 +938,7 @@
 <translation id="2046702855113914483">Nouille ramen</translation>
 <translation id="204706822916043810">Vérification de la machine virtuelle en cours…</translation>
 <translation id="2048182445208425546">Accéder à votre trafic réseau</translation>
+<translation id="2048554637254265991">Une erreur s'est produite lors du démarrage du gestionnaire de conteneur. Veuillez réessayer.</translation>
 <translation id="2048653237708779538">Action non disponible</translation>
 <translation id="204914487372604757">Créer un raccourci</translation>
 <translation id="2050339315714019657">Portrait</translation>
@@ -1019,6 +1034,7 @@
 <translation id="2157474325782140681">Pour obtenir des fonctionnalités supplémentaires, servez-vous d'une station d'accueil Dell conçue pour être utilisée avec ce Chromebook.</translation>
 <translation id="215753907730220065">Quitter le mode plein écran</translation>
 <translation id="2157875535253991059">Cette page est maintenant en mode plein écran.</translation>
+<translation id="2160589599612868242">Recevez les notifications de votre téléphone sur votre <ph name="DEVICE_TYPE" /></translation>
 <translation id="216169395504480358">Ajouter un réseau Wi-Fi…</translation>
 <translation id="2162155940152307086">La synchronisation commencera dès que vous quitterez les paramètres de synchronisation</translation>
 <translation id="2162838847352058695">Empêcher les sites de télécharger automatiquement plusieurs fichiers</translation>
@@ -1027,6 +1043,7 @@
 <translation id="2165421703844373933">Accédez à l'Assistant Google lorsque vous dites « Ok Google ». Pour économiser la pile, sélectionnez « Activé (recommandé) ». Votre Assistant répondra seulement votre lorsque votre appareil sera branché ou en recharge.</translation>
 <translation id="2166369534954157698">Voici à quoi ressemblera votre texte.</translation>
 <translation id="2169062631698640254">Se connecter quand même</translation>
+<translation id="2170054054876170358">Assurez-vous que votre téléphone est à proximité, qu'il est déverrouillé et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="2172784515318616985">Continuer</translation>
 <translation id="2173302385160625112">Vérifiez votre connexion Internet</translation>
 <translation id="2173801458090845390">Ajouter un identifiant de réquisition à cet appareil</translation>
@@ -1122,6 +1139,7 @@
 <translation id="2276503375879033601">Ajouter d'autres applications</translation>
 <translation id="2277255602909579701">Tous les témoins et toutes les données du site</translation>
 <translation id="2278562042389100163">Ouvrir une fenêtre de navigateur</translation>
+<translation id="2278668501808246459">Démarrage du gestionnaire de conteneur en cours…</translation>
 <translation id="2280486287150724112">Marge de droite</translation>
 <translation id="2282146716419988068">Processus de GPU</translation>
 <translation id="2282155092769082568">URL d'autoconfiguration :</translation>
@@ -1225,12 +1243,14 @@
 <translation id="2395616325548404795">Votre <ph name="DEVICE_TYPE" /> est bien enregistré pour la gestion d'entreprise, mais l'envoi de ses données de ressource et d'emplacement a échoué. Veuillez entrer manuellement ces données à partir de la console d'administrateur de cet appareil.</translation>
 <translation id="2396387085693598316">Votre administrateur a bloqué « <ph name="EXTENSION_NAME" /> »</translation>
 <translation id="2396783860772170191">Entrez votre NIP de quatre chiffres (0000 à 9999)</translation>
+<translation id="2399699884460174994">Notifications activées</translation>
 <translation id="2399939490305346086">Données de connexion de la clé de sécurité</translation>
 <translation id="2400664245143453337">Une mise à jour immédiate est requise</translation>
 <translation id="2408018932941436077">Enregistrement de la carte en cours…</translation>
 <translation id="2408955596600435184">Entrez votre NIP</translation>
 <translation id="241082044617551207">Plugiciel inconnu</translation>
 <translation id="2412593942846481727">Mise à jour disponible</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">Touches de fonction du clavier</translation>
 <translation id="241727068219398187">Des données ont été chiffrées à l'aide de votre mot de passe Google à compter du
           <ph name="TIME" />. Cette méthode ne couvre pas les modes de paiement ni les adresses de Google Pay.</translation>
@@ -1356,6 +1376,7 @@
 <translation id="2538084450874617176">Qui utilise cet appareil <ph name="DEVICE_TYPE" />?</translation>
 <translation id="2538361623464451692">Synchronisation désactivée</translation>
 <translation id="2540449034743108469">Appuyez sur « Démarrer » pour écouter les activités des extensions</translation>
+<translation id="2540651571961486573">Une erreur s'est produite. Code d'erreur : <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">Optimiser la diffusion en plein écran?</translation>
 <translation id="2541706104884128042">Une nouvelle heure du coucher a été définie</translation>
 <translation id="2542050502251273923">Définit le niveau de débogage du gestionnaire de connexion réseau et d'autres services à l'aide de la commande ff_debug.</translation>
@@ -1404,6 +1425,7 @@
 <translation id="2607101320794533334">Information sur la clé publique du destinataire</translation>
 <translation id="2607968157341167679">Aucun album. Créez un album dans <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" />.</translation>
 <translation id="2609896558069604090">Créer des raccourcis...</translation>
+<translation id="2609980095400624569">Impossible d'établir la connexion</translation>
 <translation id="2610157865375787051">Veille</translation>
 <translation id="2610260699262139870">Taille ré&amp;elle</translation>
 <translation id="2610780100389066815">Signature de liste d'approbation Microsoft</translation>
@@ -1657,6 +1679,7 @@
 <translation id="2885729872133513017">Un problème est survenu lors du décodage de la réponse du serveur.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">Ouvrir le lien avec...</translation>
+<translation id="2889481634493693121">Activer les notifications sur votre téléphone</translation>
 <translation id="2889925978073739256">Continuer à bloquer l'exécution des plugiciels en dehors du carré de sable</translation>
 <translation id="2893168226686371498">Navigateur par défaut</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 élément de texte}one{# élément de texte}many{# texts}other{# éléments de texte}}</translation>
@@ -1751,6 +1774,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3001144475369593262">Comptes pour enfants</translation>
 <translation id="3003144360685731741">Réseaux préférés</translation>
+<translation id="3003189754374775221">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, connexion</translation>
 <translation id="3003623123441819449">Cache CSS</translation>
 <translation id="3003828226041301643">Impossible d'associer l'appareil au domaine. Vérifiez votre compte pour vous assurer que vous avez les privilèges pour ajouter des appareils.</translation>
 <translation id="3003967365858406397">Votre <ph name="PHONE_NAME" /> créera une connexion Wi-Fi privée.</translation>
@@ -1802,6 +1826,7 @@
 <translation id="3058498974290601450">Vous pouvez activer la synchronisation à tout moment dans les paramètres</translation>
 <translation id="3060379269883947824">Activer la fonction Sélectionner pour énoncer</translation>
 <translation id="3060952009917586498">Modifier la langue de l'appareil. La langue actuelle est : <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">Nous n'avons pas pu établir une connexion avec votre téléphone. Assurez-vous que votre téléphone est à proximité, qu'il est déverrouillé et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="3065041951436100775">Commentaires onglet supprimé.</translation>
 <translation id="306535478112428611">Non autorisés à modifier les fichiers et les dossiers qui se trouvent sur votre appareil</translation>
 <translation id="3065522099314259755">Latence de répétition du clavier</translation>
@@ -1858,6 +1883,7 @@
 <translation id="3129215702932019810">Une erreur s'est produite lors du lancement de l'application</translation>
 <translation id="3130528281680948470">Votre appareil sera réinitialisé, et la totalité des comptes d'utilisateur et des données locales sera supprimée. Cette opération est définitive.</translation>
 <translation id="313205617302240621">Mot de passe oublié?</translation>
+<translation id="3132277757485842847">Nous n'avons pas pu maintenir une connexion avec votre téléphone. Assurez-vous que votre téléphone est à proximité, qu'il est déverrouillé et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="3132996321662585180">Actualiser quotidiennement</translation>
 <translation id="313963229645891001">Téléchargement en cours : <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Avatar jaune par défaut</translation>
@@ -2902,6 +2928,7 @@
 <translation id="4378551569595875038">Connexion...</translation>
 <translation id="4378556263712303865">Réquisition d'appareil</translation>
 <translation id="4379281552162875326">Désinstaller « <ph name="APP_NAME" /> »?</translation>
+<translation id="4380245540200674032">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, géré par votre administrateur, renseignements</translation>
 <translation id="4380648069038809855">Mode plein écran activé</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" />, + 1 autre compte}one{<ph name="EMAIL" />, + <ph name="EXTRA_ACCOUNTS" /> autre compte}many{<ph name="EMAIL" />, +<ph name="EXTRA_ACCOUNTS" /> more accounts}other{<ph name="EMAIL" />, + <ph name="EXTRA_ACCOUNTS" /> autres comptes}}</translation>
 <translation id="4384312707950789900">Ajouter aux réseaux préférés</translation>
@@ -3325,6 +3352,7 @@
 <translation id="4880827082731008257">Rechercher dans l'historique</translation>
 <translation id="4881695831933465202">Ouvrir</translation>
 <translation id="4882312758060467256">A accès à ce site</translation>
+<translation id="4882670371033027418">Configurez votre empreinte digitale pour déverrouiller votre <ph name="DEVICE_TYPE" /> plus rapidement</translation>
 <translation id="4882831918239250449">Gérez la façon dont votre historique de navigation est utilisé pour personnaliser la recherche, les annonces et plus encore</translation>
 <translation id="4882919381756638075">Les sites utilisent généralement votre micro pour proposer des fonctionnalités de communication, comme le clavardage vidéo</translation>
 <translation id="4883436287898674711">Tous les sites <ph name="WEBSITE_1" /></translation>
@@ -3349,6 +3377,7 @@
 <translation id="4902546322522096650">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, connexion</translation>
 <translation id="49027928311173603">La règle téléchargée du serveur n'est pas valide : <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4906490889887219338">Configurez ou gérez les partages de fichiers sur le réseau. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, pile du téléphone : <ph name="BATTERY_STATUS" /> %, renseignements</translation>
 <translation id="4907161631261076876">Ce fichier n'est pas souvent téléchargé et peut être dangereux.</translation>
 <translation id="4907306957610201395">Catégorie d'autorisation</translation>
 <translation id="4908811072292128752">Ouvrez un nouvel onglet pour naviguer sur deux sites en même temps</translation>
@@ -3795,6 +3824,7 @@
 <translation id="5457991019809708398">Activé, pas en itinérance</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">Notes sur l'écran de verrouillage</translation>
+<translation id="5461050611724244538">La connexion avec votre téléphone a été perdue</translation>
 <translation id="5463231940765244860">Entrer</translation>
 <translation id="5463275305984126951">Index de <ph name="LOCATION" /></translation>
 <translation id="5463856536939868464">Menu contenant des favoris masqués</translation>
@@ -4287,6 +4317,7 @@
 <translation id="6031600495088157824">Options d'entrée dans la barre d'outils</translation>
 <translation id="6032715498678347852">Pour autoriser une extension à accéder à ce site, cliquez dessus.</translation>
 <translation id="6032912588568283682">Système de fichiers</translation>
+<translation id="603539183851330738">Bouton d'annulation de la correction automatique. Revenir à <ph name="TYPED_WORD" />.  Appuyez sur Entrée pour activer cette action, ou sur Échap pour l'ignorer.</translation>
 <translation id="6035517790085323771">Qui peut partager du contenu avec votre appareil</translation>
 <translation id="6038929619733116134">Bloquer si le site diffuse des annonces intrusives ou trompeuses</translation>
 <translation id="6039651071822577588">Dictionnaire des propriétés du réseau non valide</translation>
@@ -4389,6 +4420,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />; aucun réseau</translation>
 <translation id="6141988275892716286">Confirmer le téléchargement</translation>
 <translation id="6143186082490678276">Obtenir de l'aide</translation>
+<translation id="6143366292569327983">Choisissez la langue de la page à traduire</translation>
 <translation id="6144938890088808325">Aidez-nous à améliorer les Chromebook</translation>
 <translation id="6147020289383635445">Échec de création de l'aperçu avant impression.</translation>
 <translation id="6148576794665275391">Ouvrir maintenant</translation>
@@ -4425,6 +4457,7 @@
 <translation id="6185132558746749656">Position de l'appareil</translation>
 <translation id="6186394437969115158">Les sites affichent généralement des annonces afin de proposer des contenus ou des services gratuits. Toutefois, certains sites sont connus pour afficher des annonces intrusives ou trompeuses.</translation>
 <translation id="6195693561221576702">Cet appareil ne peut pas être configuré en mode démo hors ligne.</translation>
+<translation id="6195724942939841102">Ne pas restaurer</translation>
 <translation id="6196640612572343990">Bloquer les témoins de tiers</translation>
 <translation id="6196854373336333322">L'extension « <ph name="EXTENSION_NAME" /> » a pris le contrôle de vos paramètres de mandataire, ce qui signifie qu'elle peut modifier ou espionner tout ce que vous faites en ligne. Si vous ne savez pas pourquoi ce changement s'est produit, vous ne voulez probablement pas l'accepter.</translation>
 <translation id="6198102561359457428">Déconnectez-vous, puis connectez-vous de nouveau...</translation>
@@ -4464,6 +4497,7 @@
 <translation id="6238767809035845642">Texte partagé à partir d'un autre appareil</translation>
 <translation id="6238923052227198598">Afficher la dernière note sur l'écran de verrouillage</translation>
 <translation id="6239558157302047471">Actualiser le &amp;cadre</translation>
+<translation id="6240821072888636753">Toujours demander</translation>
 <translation id="6241530762627360640">Accéder aux détails des appareils Bluetooth associés à votre système et détecter les appareils Bluetooth à proximité.</translation>
 <translation id="6241844896329831164">Aucun accès nécessaire</translation>
 <translation id="6242574558232861452">Vérification de la conformité du fichier aux politiques de sécurité de votre organisation en cours…</translation>
@@ -4496,6 +4530,7 @@
 <translation id="6268252012308737255">Ouvrir avec <ph name="APP" /></translation>
 <translation id="6270391203985052864">Les sites peuvent vous demander l'autorisation d'envoyer des notifications</translation>
 <translation id="6270770586500173387">Envoyer <ph name="BEGIN_LINK1" />des données relatives au système et aux applications<ph name="END_LINK1" /> et des <ph name="BEGIN_LINK2" />statistiques<ph name="END_LINK2" /></translation>
+<translation id="6271348838875430303">Correction annulée</translation>
 <translation id="6272643420381259437">Une erreur (<ph name="ERROR" />) s'est produite pendant le téléchargement du plugiciel</translation>
 <translation id="6273677812470008672">Qualité</translation>
 <translation id="6276210637549544171">Le serveur mandataire <ph name="PROXY_SERVER" /> requiert un nom d'utilisateur et un mot de passe.</translation>
@@ -4640,6 +4675,7 @@
 <translation id="6444070574980481588">Régler la date et l'heure</translation>
 <translation id="6444909401984215022"><ph name="WINDOW_TITLE" /> : recherche d'appareils Bluetooth</translation>
 <translation id="6445450263907939268">Si vous ne souhaitiez pas effectuer ces modifications, vous pouvez restaurer vos paramètres précédents.</translation>
+<translation id="6446213738085045933">Créer un raccourci sur le bureau</translation>
 <translation id="6447842834002726250">Témoins</translation>
 <translation id="6450876761651513209">Modifier vos paramètres de confidentialité</translation>
 <translation id="6451591602925140504">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> et 1 autre onglet}one{<ph name="PAGE_TITLE" /> et # autre onglet}many{<ph name="PAGE_TITLE" /> and # other tabs}other{<ph name="PAGE_TITLE" /> et # autres onglets}}</translation>
@@ -4716,6 +4752,7 @@
 <translation id="6532527800157340614">Échec de la connexion dû à l'impossibilité de récupérer votre jeton d'accès. Veuillez vérifier votre connexion réseau et réessayer.</translation>
 <translation id="6532663472409656417">Inscrit à une entreprise</translation>
 <translation id="6535331821390304775">Toujours autoriser <ph name="ORIGIN" /> à ouvrir les liens de ce type dans l'application connexe</translation>
+<translation id="653659894138286600">Numérisez des documents et des images</translation>
 <translation id="6537613839935722475">Le nom peut comprendre des lettres, des chiffres et des traits d'union (=)</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">Le paramètre actuel d'utilisation de données est Données</translation>
@@ -4976,6 +5013,7 @@
 <translation id="6853388645642883916">L'outil de mise à jour est en veille</translation>
 <translation id="68541483639528434">Fermer les autres onglets</translation>
 <translation id="6855892664589459354">Sauvegarder et restaurer le contenu Crostini</translation>
+<translation id="6856459657722366306">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, renseignements</translation>
 <translation id="6856623341093082836">Configurer et ajuster la précision de votre écran tactile</translation>
 <translation id="6857699260879628349">Obtenir l'information de configuration</translation>
 <translation id="6860097299815761905">Paramètres de mandataire...</translation>
@@ -5117,6 +5155,7 @@
 <translation id="7005496624875927304">Autorisations supplémentaires</translation>
 <translation id="7005812687360380971">Échec</translation>
 <translation id="7005848115657603926">Numéros de pages non valides, utilisez le format <ph name="EXAMPLE_PAGE_RANGE" />.</translation>
+<translation id="700651317925502808">Réinitialiser les paramètres?</translation>
 <translation id="7006634003215061422">Marge inférieure</translation>
 <translation id="7007648447224463482">Tout ouvrir dans une nouvelle fenêtre</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" /> utilise votre caméra</translation>
@@ -5145,6 +5184,7 @@
 <translation id="7044124535091449260">En savoir plus sur l'accès aux sites</translation>
 <translation id="7044606776288350625">Synchroniser les données</translation>
 <translation id="7047059339731138197">Choisir un fond d'écran</translation>
+<translation id="7048024426273850086">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, pile du téléphone : <ph name="BATTERY_STATUS" /> %, connexion</translation>
 <translation id="7049293980323620022">Conserver le fichier?</translation>
 <translation id="7051943809462976355">Recherche de la souris en cours…</translation>
 <translation id="7052237160939977163">Envoyer des données de suivi des performances</translation>
@@ -5286,6 +5326,7 @@
 <translation id="7213903639823314449">Moteur de recherche utilisé dans la barre d'adresse</translation>
 <translation id="7216409898977639127">Fournisseur cellulaire</translation>
 <translation id="7216595297012131718">Classer les langues en fonction de vos préférences</translation>
+<translation id="7219473482981809164">Plusieurs profils peuvent être téléchargés. Sélectionnez ceux que vous voulez télécharger avant de continuer.</translation>
 <translation id="7220019174139618249">Impossible d'exporter les mots de passe vers « <ph name="FOLDER" /> »</translation>
 <translation id="722055596168483966">Personnaliser les services Google</translation>
 <translation id="722099540765702221">Source pour la recharge</translation>
@@ -5568,6 +5609,7 @@
 <translation id="7556033326131260574">Le système de verrouillage intelligent Smart Lock n'a pas pu vérifier votre compte. Tapez votre mot de passe pour y accéder.</translation>
 <translation id="7556242789364317684">Malheureusement, <ph name="SHORT_PRODUCT_NAME" /> ne peut pas récupérer vos paramètres. Pour corriger cette erreur, vous devez réinitialiser votre appareil avec la fonctionnalité « Powerwash » de <ph name="SHORT_PRODUCT_NAME" />.</translation>
 <translation id="7557194624273628371">Redirection de port Linux</translation>
+<translation id="7559269329306630685">Les données liées à votre empreinte digitale sont stockées de façon sécurisée et ne quittent jamais votre <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7559719679815339381">Veuillez patienter....L'application de kiosque est en cours de mise à jour. Ne retirez pas la clé USB.</translation>
 <translation id="7561196759112975576">Toujours</translation>
 <translation id="756445078718366910">Ouvrir une fenêtre du navigateur</translation>
@@ -6016,6 +6058,7 @@
 <translation id="8045923671629973368">Entrer l'identifiant de l'application ou l'URL de la boutique en ligne</translation>
 <translation id="8047242494569930800">Déplacer vers le compte Google</translation>
 <translation id="804786196054284061">Contrat de licence pour utilisateur final</translation>
+<translation id="8048977114738515028">Créez un raccourci sur le bureau de votre appareil pour accéder directement à ce profil</translation>
 <translation id="8049705080247101012">Google a signalé que l'extension « <ph name="EXTENSION_NAME" /> » est malveillante et son installation a donc été bloquée</translation>
 <translation id="8049948037269924837">Défilement inversé du pavé tactile</translation>
 <translation id="8050038245906040378">Signature du code commercial Microsoft</translation>
@@ -6076,6 +6119,7 @@
 <translation id="810728361871746125">Résolution de l'écran</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Aucun témoin tiers}=1{1 témoin tiers est bloqué}one{# témoin tiers est bloqué}many{# third-party cookies are blocked}other{# témoins tiers sont bloqués}}</translation>
 <translation id="810875025413331850">Aucun appareil à proximité n'a été détecté.</translation>
+<translation id="8109109153262930486">Avatar par défaut</translation>
 <translation id="8110489095782891123">Téléchargement de la liste de contacts en cours…</translation>
 <translation id="8113476325385351118">Continuer à empêcher ce site d'obtenir le plein contrôle de vos appareils MIDI</translation>
 <translation id="8114199541033039755">Naviguer vers l'écran d'accueil ou vers l'arrière et basculer entre les applications grâce aux boutons en mode tablette. Cette fonctionnalité est active lorsque l'option ChromeVox ou Clics automatiques est activée.</translation>
@@ -6446,6 +6490,7 @@
 <translation id="8569682776816196752">Aucune destination trouvée</translation>
 <translation id="8571213806525832805">Quatre dernières semaines</translation>
 <translation id="8571687764447439720">Ajouter un ticket Kerberos</translation>
+<translation id="8571814292654854151">Nommez votre profil</translation>
 <translation id="8574990355410201600">Toujours autoriser le son sur <ph name="HOST" /></translation>
 <translation id="8575286410928791436">Maintenez la touche <ph name="KEY_EQUIVALENT" /> enfoncée pour quitter.</translation>
 <translation id="8576249514688522074">Non initialisé</translation>
@@ -6600,6 +6645,7 @@
 <translation id="8737914367566358838">Choisissez la langue dans laquelle traduire la page</translation>
 <translation id="8740247629089392745">Vous pouvez remettre ce Chromebook à <ph name="SUPERVISED_USER_NAME" />. La configuration est presque terminée. Après cela, c'est l'heure d'explorer.</translation>
 <translation id="8742998548129056176">Il s'agit de données générales concernant votre appareil et l'usage que vous en faites (comme le niveau de la pile, l'activité système, l'activité des applications et les erreurs). Ces données seront utilisées pour améliorer Android, et certaines données collectées contribueront aussi à améliorer les applications Google et aideront nos partenaires, comme les concepteurs Android, à améliorer leurs applications et leurs produits.</translation>
+<translation id="8743164338060742337">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, force du signal de <ph name="NETWORK_PROVIDER_NAME" /> : <ph name="SIGNAL_STRENGTH" /> %, géré par votre administrateur, connexion</translation>
 <translation id="8743390665131937741">Niveau de zoom en mode plein écran :</translation>
 <translation id="8743864605301774756">Mise à jour il y a 1 heure</translation>
 <translation id="8746654918629346731">Vous avez déjà demandé « <ph name="EXTENSION_NAME" /> »</translation>
@@ -6701,6 +6747,7 @@
 <translation id="8830796635868321089">La vérification de mise à jour a échoué avec les paramètres de mandataire actuels. Veuillez modifier vos <ph name="PROXY_SETTINGS_LINK_START" />paramètres de mandataire<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="8831140208248705279">Votre <ph name="DEVICE_TYPE" /> et votre téléphone Android fonctionnent mieux ensemble. Connectez-les pour pouvoir envoyer des messages texte à partir de votre ordinateur, partager votre connexion Internet et déverrouiller votre <ph name="DEVICE_TYPE" /> à l'aide de votre téléphone. <ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">La configuration du réseau est contrôlée par <ph name="USER_EMAIL" />.</translation>
+<translation id="8835786707922974220">Assurez-vous de toujours pouvoir accéder à vos mots de passe enregistrés</translation>
 <translation id="8838601485495657486">Opaque</translation>
 <translation id="8838770651474809439">Hamburger</translation>
 <translation id="883911313571074303">Annoter l'image</translation>
@@ -6716,6 +6763,7 @@
 <translation id="885246833287407341">Arguments de fonction de l'API</translation>
 <translation id="8853586775156634952">Cette carte sera uniquement enregistrée sur cet appareil</translation>
 <translation id="8855977033756560989">Cet appareil Chromebook Enterprise est fourni avec la mise à niveau de Chrome Enterprise. Pour profiter des fonctionnalités d'entreprise, inscrivez votre appareil avec un compte administrateur Google.</translation>
+<translation id="8856028055086294840">Restaurer les applications et les pages</translation>
 <translation id="885701979325669005">Stockage</translation>
 <translation id="8859057652521303089">Sélectionnez votre langue :</translation>
 <translation id="8859174528519900719">Sous-cadre : <ph name="SUBFRAME_SITE" /></translation>
@@ -7079,6 +7127,7 @@
 <translation id="971774202801778802">URL du favori</translation>
 <translation id="973473557718930265">Quitter</translation>
 <translation id="975893173032473675">Langue cible</translation>
+<translation id="976499800099896273">Boîte de dialogue d'annulation de la correction automatique affichée pour la correction de <ph name="TYPED_WORD" /> en <ph name="CORRECTED_WORD" />.  Appuyez sur la flèche vers le haut pour y accéder, ou sur Échap pour l'ignorer.</translation>
 <translation id="978146274692397928">La largeur de ponctuation initiale est « Complète »</translation>
 <translation id="97905529126098460">Cette fenêtre sera automatiquement fermée une fois l'annulation terminée.</translation>
 <translation id="980731642137034229">Bouton du menu Action</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index ef76397..3b6a9fa 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">Appuyez sur ECHAP pour ignorer (versions non officielles uniquement).</translation>
 <translation id="1093457606523402488">Réseaux visibles :</translation>
 <translation id="1094607894174825014">L'opération de lecture ou d'écriture a été demandée avec un décalage incorrect sur l'appareil <ph name="DEVICE_NAME" />.</translation>
+<translation id="1095761715416917775">Veiller à toujours avoir accès à vos données synchronisées</translation>
 <translation id="109647177154844434">Si vous désinstallez Parallels Desktop, cela supprimera aussi l'image Windows, y compris ses applications, ses paramètres et ses données. Voulez-vous vraiment continuer ?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 lien}one{# lien}many{# links}other{# liens}}</translation>
 <translation id="1097658378307015415">Avant de vous connecter, veuillez vous connecter en tant qu'invité afin d'activer le réseau <ph name="NETWORK_ID" />.</translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">Modifier le moteur de recherche</translation>
 <translation id="1129850422003387628">Gérer les applications</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – Fait partie du groupe <ph name="GROUP_NAME" /></translation>
+<translation id="1130712065489627903">Vous pouvez maintenant recevoir sur votre <ph name="DEVICE_TYPE" /> les notifications transmises sur votre téléphone. Sachez que si vous les fermez sur votre <ph name="DEVICE_TYPE" />, elles le seront également sur votre téléphone. Vérifiez que celui-ci est déverrouillé et à proximité, et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="1134009406053225289">Ouvrir dans une fenêtre de navigation privée</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />-<ph name="EMOJI_INDEX" /> sur <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">La clé de sécurité est verrouillée, car vous avez saisi un code erroné trop de fois. Pour la déverrouiller, retirez-la et réinsérez-la.</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366">Toujours autoriser <ph name="HOST" /> à accéder aux capteurs</translation>
 <translation id="1153356358378277386">Appareils associés</translation>
 <translation id="1153636665119721804">Programme Protection Avancée de Google</translation>
+<translation id="1155816283571436363">Connexion à votre téléphone</translation>
 <translation id="1161575384898972166">Connectez-vous à <ph name="TOKEN_NAME" /> pour exporter le certificat client.</translation>
 <translation id="1163931534039071049">&amp;Afficher le code source du cadre</translation>
 <translation id="1164891049599601209">Saisi sur un site trompeur</translation>
@@ -376,6 +379,15 @@
 <translation id="1420834118113404499">Licences multimédias</translation>
 <translation id="1420920093772172268"><ph name="TURN_ON_BLUETOOTH_LINK" /> pour autoriser l'association</translation>
 <translation id="1422159345171879700">Charger les scripts à risque</translation>
+<translation id="1423716227250567100">Les conséquences seront les suivantes :
+          <ph name="LINE_BREAKS" />
+           • Les paramètres et les raccourcis Chrome seront réinitialisés.
+           <ph name="LINE_BREAK" />
+           • Les extensions seront désactivées.
+           <ph name="LINE_BREAK" />
+           • Les cookies et les autres données de sites temporaires seront supprimés.
+            <ph name="LINE_BREAKS" />
+           En revanche, la réinitialisation n'aura aucune incidence sur les favoris, l'historique et les mots de passe enregistrés.</translation>
 <translation id="1426410128494586442">Oui</translation>
 <translation id="142655739075382478"><ph name="APP_NAME" /> est bloqué</translation>
 <translation id="1426870617281699524">Cliquez sur "Réessayer" et acceptez l'invite sur votre ordinateur</translation>
@@ -803,6 +815,7 @@
 <translation id="1887597546629269384">Dites à nouveau "Ok Google"</translation>
 <translation id="1887850431809612466">Version du matériel</translation>
 <translation id="1890674179660343635">&lt;span&gt;Identifiant&lt;/span&gt; : <ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">Veuillez libérer de l'espace sur le disque, car il est presque saturé.</translation>
 <translation id="189210018541388520">Ouvrir en mode plein écran</translation>
 <translation id="1892341345406963517">Bonjour <ph name="PARENT_NAME" /></translation>
 <translation id="189358972401248634">Autres langues</translation>
@@ -1021,6 +1034,7 @@
 <translation id="2157474325782140681">Pour bénéficier de fonctionnalités supplémentaires, utilisez une station d'accueil Dell compatible avec ce Chromebook.</translation>
 <translation id="215753907730220065">Quitter le mode plein écran</translation>
 <translation id="2157875535253991059">Cette page est maintenant en mode plein écran</translation>
+<translation id="2160589599612868242">Recevez sur votre <ph name="DEVICE_TYPE" /> les notifications transmises sur votre téléphone</translation>
 <translation id="216169395504480358">Ajouter un réseau Wi-Fi…</translation>
 <translation id="2162155940152307086">La synchronisation commencera une fois que vous aurez quitté les paramètres de synchronisation</translation>
 <translation id="2162838847352058695">Empêcher les sites de télécharger automatiquement plusieurs fichiers</translation>
@@ -1029,6 +1043,7 @@
 <translation id="2165421703844373933">Accédez à l'Assistant en disant "Ok Google". Pour économiser la batterie, sélectionnez “Activé (recommandé)”. L'Assistant ne répondra que lorsque votre appareil sera branché ou en charge.</translation>
 <translation id="2166369534954157698">Voici à quoi ressemblera votre texte.</translation>
 <translation id="2169062631698640254">Se connecter quand même</translation>
+<translation id="2170054054876170358">Vérifiez que votre téléphone est déverrouillé et à proximité, et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="2172784515318616985">Continuer</translation>
 <translation id="2173302385160625112">Vérifiez votre connexion Internet</translation>
 <translation id="2173801458090845390">Ajoutez un ID de réquisition sur cet appareil</translation>
@@ -1228,12 +1243,14 @@
 <translation id="2395616325548404795">Votre <ph name="DEVICE_TYPE" /> a bien été enregistré pour bénéficier de la gestion d'entreprise, mais l'envoi d'informations concernant ses éléments et sa position a échoué. Veuillez saisir ces informations manuellement depuis la console d'administration de cet appareil.</translation>
 <translation id="2396387085693598316">Votre administrateur a bloqué <ph name="EXTENSION_NAME" /></translation>
 <translation id="2396783860772170191">Saisissez un code à quatre chiffres (entre 0000 et 9999)</translation>
+<translation id="2399699884460174994">Notifications activées</translation>
 <translation id="2399939490305346086">Données de connexion sur la clé de sécurité</translation>
 <translation id="2400664245143453337">Mise à jour immédiate requise</translation>
 <translation id="2408018932941436077">Enregistrement de la carte…</translation>
 <translation id="2408955596600435184">Saisissez votre code.</translation>
 <translation id="241082044617551207">Plug-in inconnu</translation>
 <translation id="2412593942846481727">Mise à jour disponible</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">Touches de fonction du clavier</translation>
 <translation id="241727068219398187">Les données ont été chiffrées avec votre mot de passe Google à la date suivante :
           <ph name="TIME" />. Ceci ne s'applique pas aux modes de paiement et adresses Google Pay.</translation>
@@ -1359,6 +1376,7 @@
 <translation id="2538084450874617176">Qui utilise cet appareil <ph name="DEVICE_TYPE" /> ?</translation>
 <translation id="2538361623464451692">Synchronisation désactivée</translation>
 <translation id="2540449034743108469">Appuyez sur "Démarrer" pour entendre les activités des extensions</translation>
+<translation id="2540651571961486573">Un problème est survenu. Code d'erreur : <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">Optimiser la diffusion en plein écran ?</translation>
 <translation id="2541706104884128042">Nouvelle heure de coucher définie</translation>
 <translation id="2542050502251273923">Définit le niveau de débogage du gestionnaire de connexion réseau et d'autres services à l'aide de ff_debug.</translation>
@@ -1406,6 +1424,7 @@
 <translation id="2607101320794533334">Infos sur la clé publique de l'objet</translation>
 <translation id="2607968157341167679">Aucun album. Créez-en un dans <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" />.</translation>
 <translation id="2609896558069604090">Créer des raccourcis…</translation>
+<translation id="2609980095400624569">Impossible d'établir la connexion</translation>
 <translation id="2610157865375787051">Veille</translation>
 <translation id="2610260699262139870">Taille ré&amp;elle</translation>
 <translation id="2610780100389066815">Signature de liste d'approbation Microsoft</translation>
@@ -1659,6 +1678,7 @@
 <translation id="2885729872133513017">Un problème est survenu lors du décodage de la réponse du serveur.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">Ouvrir le lien avec...</translation>
+<translation id="2889481634493693121">Activer les notifications sur votre téléphone</translation>
 <translation id="2889925978073739256">Continuer à bloquer l'exécution hors bac à sable des plug-ins</translation>
 <translation id="2893168226686371498">Navigateur par défaut</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 SMS}one{# SMS}many{# texts}other{# SMS}}</translation>
@@ -1753,6 +1773,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3001144475369593262">Comptes enfants</translation>
 <translation id="3003144360685731741">Réseaux préférés</translation>
+<translation id="3003189754374775221">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, connexion</translation>
 <translation id="3003623123441819449">Cache CSS</translation>
 <translation id="3003828226041301643">Impossible d'associer l'appareil au domaine. Vérifiez dans votre compte si vous disposez bien des droits nécessaires pour ajouter des appareils.</translation>
 <translation id="3003967365858406397">Une connexion Wi-Fi privée sera créée sur votre <ph name="PHONE_NAME" />.</translation>
@@ -1804,6 +1825,7 @@
 <translation id="3058498974290601450">Vous pouvez activer la synchronisation à tout moment dans les paramètres</translation>
 <translation id="3060379269883947824">Activer "Sélectionner pour prononcer"</translation>
 <translation id="3060952009917586498">Modifier la langue de l'appareil. La langue actuelle est : <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">Nous n'avons pas pu établir la connexion avec votre téléphone. Vérifiez qu'il est déverrouillé et à proximité, et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="3065041951436100775">Commentaires relatifs à l'arrêt de l'onglet</translation>
 <translation id="306535478112428611">Non autorisé à modifier des fichiers et des dossiers sur votre appareil</translation>
 <translation id="3065522099314259755">Latence de répétition du clavier</translation>
@@ -1860,6 +1882,7 @@
 <translation id="3129215702932019810">Erreur lors du lancement de l'application</translation>
 <translation id="3130528281680948470">Votre appareil va être réinitialisé. Les données locales et les comptes utilisateur qu'il contient vont être supprimés. Cette opération est irréversible.</translation>
 <translation id="313205617302240621">Mot de passe oublié ?</translation>
+<translation id="3132277757485842847">Nous n'avons pas pu maintenir la connexion avec votre téléphone. Vérifiez qu'il est déverrouillé et à proximité, et que le Bluetooth et le Wi-Fi sont activés.</translation>
 <translation id="3132996321662585180">Actualiser quotidiennement</translation>
 <translation id="313963229645891001">Téléchargement en cours : <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Avatar jaune par défaut</translation>
@@ -2904,6 +2927,7 @@
 <translation id="4378551569595875038">Connexion</translation>
 <translation id="4378556263712303865">Réquisition de l'appareil</translation>
 <translation id="4379281552162875326">Désinstaller <ph name="APP_NAME" /> ?</translation>
+<translation id="4380245540200674032">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, géré par votre administrateur, détails</translation>
 <translation id="4380648069038809855">Mode plein écran activé</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" /> et 1 autre compte}one{<ph name="EMAIL" /> et <ph name="EXTRA_ACCOUNTS" /> autre compte}many{<ph name="EMAIL" />, +<ph name="EXTRA_ACCOUNTS" /> more accounts}other{<ph name="EMAIL" /> et <ph name="EXTRA_ACCOUNTS" /> autres comptes}}</translation>
 <translation id="4384312707950789900">Ajouter aux réseaux préférés</translation>
@@ -3327,6 +3351,7 @@
 <translation id="4880827082731008257">Rechercher dans l'historique</translation>
 <translation id="4881695831933465202">Ouvrir</translation>
 <translation id="4882312758060467256">A accès à ce site</translation>
+<translation id="4882670371033027418">Configurer votre empreinte digitale pour déverrouiller votre <ph name="DEVICE_TYPE" /> plus vite</translation>
 <translation id="4882831918239250449">Contrôler la manière dont votre historique de navigation est utilisé pour personnaliser la recherche, les annonces, etc.</translation>
 <translation id="4882919381756638075">Les sites utilisent généralement votre micro pour proposer des fonctionnalités de communication, comme le chat vidéo</translation>
 <translation id="4883436287898674711">Tous les sites <ph name="WEBSITE_1" /></translation>
@@ -3351,6 +3376,7 @@
 <translation id="4902546322522096650">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, connexion</translation>
 <translation id="49027928311173603">La règle téléchargée depuis le serveur n'est pas valide : <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4906490889887219338">Configurer ou gérer des partages de fichiers en réseau. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, batterie du téléphone à <ph name="BATTERY_STATUS" /> %, détails</translation>
 <translation id="4907161631261076876">Ce fichier n'étant pas souvent téléchargé, il peut présenter un danger.</translation>
 <translation id="4907306957610201395">Catégorie d'autorisation</translation>
 <translation id="4908811072292128752">Ouvrez un nouvel onglet pour naviguer sur deux sites Web en même temps</translation>
@@ -3797,6 +3823,7 @@
 <translation id="5457991019809708398">Activé, sans itinérance</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">Prise de notes sur l'écran de verrouillage</translation>
+<translation id="5461050611724244538">Connexion perdue avec votre téléphone</translation>
 <translation id="5463231940765244860">Saisir</translation>
 <translation id="5463275305984126951">Index de <ph name="LOCATION" /></translation>
 <translation id="5463856536939868464">Menu contenant des favoris masqués</translation>
@@ -4291,6 +4318,7 @@
 <translation id="6031600495088157824">Options de saisie dans la barre d'outils</translation>
 <translation id="6032715498678347852">Pour autoriser l'accès à ce site pour une extension, cliquez sur celle-ci.</translation>
 <translation id="6032912588568283682">Système de fichiers</translation>
+<translation id="603539183851330738">Ce bouton permet d'annuler la correction automatique et de rétablir le mot "<ph name="TYPED_WORD" />". Appuyez sur Entrée pour activer ou sur Échap pour ignorer.</translation>
 <translation id="6035517790085323771">Qui peut partager des fichiers avec votre appareil</translation>
 <translation id="6038929619733116134">Bloquer si le site affiche des annonces intrusives ou trompeuses</translation>
 <translation id="6039651071822577588">Dictionnaire des propriétés du réseau non conforme.</translation>
@@ -4430,6 +4458,7 @@
 <translation id="6185132558746749656">Position de l'appareil</translation>
 <translation id="6186394437969115158">Les sites affichent généralement des annonces afin de proposer des contenus ou des services gratuits. Toutefois, certains sites sont connus pour afficher des annonces intrusives ou trompeuses.</translation>
 <translation id="6195693561221576702">Impossible de configurer cet appareil en mode de démonstration hors connexion.</translation>
+<translation id="6195724942939841102">Ne pas restaurer</translation>
 <translation id="6196640612572343990">Bloquer les cookies tiers</translation>
 <translation id="6196854373336333322">L'extension <ph name="EXTENSION_NAME" /> a pris le contrôle de vos paramètres de proxy, ce qui signifie que toutes vos activités en ligne peuvent être modifiées, interrompues ou espionnées. Si vous ne savez pas pourquoi cette modification s'est produite, c'est qu'elle est probablement indésirable.</translation>
 <translation id="6198102561359457428">Se déconnecter, puis se connecter de nouveau…</translation>
@@ -4469,6 +4498,7 @@
 <translation id="6238767809035845642">Texte partagé depuis un autre appareil</translation>
 <translation id="6238923052227198598">Conserver la dernière note sur l'écran de verrouillage</translation>
 <translation id="6239558157302047471">Actualiser le &amp;cadre</translation>
+<translation id="6240821072888636753">Toujours demander</translation>
 <translation id="6241530762627360640">Accéder aux informations relatives aux appareils Bluetooth associés à votre système et détecter les appareils Bluetooth à proximité</translation>
 <translation id="6241844896329831164">Aucun accès nécessaire</translation>
 <translation id="6242574558232861452">Vérification de la conformité du fichier avec les règles de sécurité de votre organisation…</translation>
@@ -4501,6 +4531,7 @@
 <translation id="6268252012308737255">Ouvrir avec <ph name="APP" /></translation>
 <translation id="6270391203985052864">Les sites peuvent vous demander l'autorisation d'envoyer des notifications</translation>
 <translation id="6270770586500173387">Envoyer des <ph name="BEGIN_LINK1" />informations sur le système et l'application<ph name="END_LINK1" />, ainsi que des <ph name="BEGIN_LINK2" />statistiques<ph name="END_LINK2" /></translation>
+<translation id="6271348838875430303">correction annulée</translation>
 <translation id="6272643420381259437">Une erreur (<ph name="ERROR" />) s'est produite lors du téléchargement du plug-in.</translation>
 <translation id="6273677812470008672">Qualité</translation>
 <translation id="6276210637549544171">Le proxy <ph name="PROXY_SERVER" /> requiert un nom d'utilisateur et un mot de passe.</translation>
@@ -4722,6 +4753,7 @@
 <translation id="6532527800157340614">Échec de la connexion dû à l'impossibilité de récupérer votre jeton d'accès. Veuillez vérifier votre connexion réseau, puis réessayer.</translation>
 <translation id="6532663472409656417">Entreprise inscrite</translation>
 <translation id="6535331821390304775">Toujours autoriser <ph name="ORIGIN" /> à ouvrir les liens de ce type dans l'application associée</translation>
+<translation id="653659894138286600">Scanner les documents et les images</translation>
 <translation id="6537613839935722475">Le nom peut contenir des lettres, des chiffres et des traits d'union (-)</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">Le paramètre de consommation des données est actuellement défini sur "Données mobiles"</translation>
@@ -4982,6 +5014,7 @@
 <translation id="6853388645642883916">Processus de mise à jour en veille</translation>
 <translation id="68541483639528434">Fermer les autres onglets</translation>
 <translation id="6855892664589459354">Sauvegarde et restauration de Crostini</translation>
+<translation id="6856459657722366306">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, détails</translation>
 <translation id="6856623341093082836">Configurer votre écran tactile et régler sa précision</translation>
 <translation id="6857699260879628349">Accéder aux informations de configuration</translation>
 <translation id="6860097299815761905">Paramètres du proxy...</translation>
@@ -5123,6 +5156,7 @@
 <translation id="7005496624875927304">Autorisations supplémentaires</translation>
 <translation id="7005812687360380971">Échec</translation>
 <translation id="7005848115657603926">Plage de pages non valide, veuillez utiliser <ph name="EXAMPLE_PAGE_RANGE" />.</translation>
+<translation id="700651317925502808">Réinitialiser les paramètres ?</translation>
 <translation id="7006634003215061422">Marge inférieure</translation>
 <translation id="7007648447224463482">Tout ouvrir dans une nouvelle fenêtre</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" /> utilise votre caméra</translation>
@@ -5151,6 +5185,7 @@
 <translation id="7044124535091449260">En savoir plus sur l'accès aux sites</translation>
 <translation id="7044606776288350625">Synchroniser les données</translation>
 <translation id="7047059339731138197">Choisissez un arrière-plan</translation>
+<translation id="7048024426273850086">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, batterie du téléphone à <ph name="BATTERY_STATUS" /> %, connexion</translation>
 <translation id="7049293980323620022">Conserver le fichier ?</translation>
 <translation id="7051943809462976355">Recherche de la souris en cours…</translation>
 <translation id="7052237160939977163">Envoyer des informations relatives au suivi des performances</translation>
@@ -5292,6 +5327,7 @@
 <translation id="7213903639823314449">Moteur de recherche utilisé dans la barre d'adresse</translation>
 <translation id="7216409898977639127">Opérateur de téléphonie mobile</translation>
 <translation id="7216595297012131718">Classer les langues selon vos préférences</translation>
+<translation id="7219473482981809164">Plusieurs profils sont disponibles. Sélectionnez ceux que vous voulez télécharger avant de continuer.</translation>
 <translation id="7220019174139618249">Impossible d'exporter les mots de passe vers "<ph name="FOLDER" />"</translation>
 <translation id="722055596168483966">Personnaliser les services Google</translation>
 <translation id="722099540765702221">Source de charge</translation>
@@ -5574,6 +5610,7 @@
 <translation id="7556033326131260574">Smart Lock n'a pas pu valider votre compte. Veuillez saisir votre mot de passe pour accéder à l'appareil.</translation>
 <translation id="7556242789364317684">Malheureusement, il est impossible de récupérer vos paramètres <ph name="SHORT_PRODUCT_NAME" />. Pour corriger cette erreur, votre appareil doit être réinitialisé avec la fonctionnalité <ph name="SHORT_PRODUCT_NAME" /> Powerwash.</translation>
 <translation id="7557194624273628371">Transfert de port Linux</translation>
+<translation id="7559269329306630685">Les données liées à votre empreinte digitale sont stockées de façon sécurisée et ne quittent jamais votre <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7559719679815339381">Veuillez patienter… L'application kiosque est en cours de mise à jour. Ne débranchez pas la clé USB.</translation>
 <translation id="7561196759112975576">Toujours</translation>
 <translation id="756445078718366910">Ouvrir une fenêtre du navigateur</translation>
@@ -6023,6 +6060,7 @@
 <translation id="8045923671629973368">Saisissez l'ID de l'application ou l'URL du Chrome Web Store</translation>
 <translation id="8047242494569930800">Transférer vers le compte Google</translation>
 <translation id="804786196054284061">Contrat de licence utilisateur final</translation>
+<translation id="8048977114738515028">Créez un raccourci sur le bureau pour accéder directement à ce profil depuis votre appareil</translation>
 <translation id="8049705080247101012">Google a signalé l'extension <ph name="EXTENSION_NAME" /> comme malveillante et a bloqué son installation</translation>
 <translation id="8049948037269924837">Défilement inversé avec le pavé tactile</translation>
 <translation id="8050038245906040378">Signature du code commercial Microsoft</translation>
@@ -6454,6 +6492,7 @@
 <translation id="8569682776816196752">Aucun emplacement de destination trouvé.</translation>
 <translation id="8571213806525832805">4 dernières semaines</translation>
 <translation id="8571687764447439720">Ajouter un ticket Kerberos</translation>
+<translation id="8571814292654854151">Attribuez un nom à votre profil</translation>
 <translation id="8574990355410201600">Toujours activer le son sur <ph name="HOST" /></translation>
 <translation id="8575286410928791436">Maintenez la touche <ph name="KEY_EQUIVALENT" /> enfoncée pour quitter</translation>
 <translation id="8576249514688522074">Non initialisé</translation>
@@ -6608,6 +6647,7 @@
 <translation id="8737914367566358838">Sélectionner la langue dans laquelle la page doit être traduite</translation>
 <translation id="8740247629089392745">Vous pouvez remettre ce Chromebook à <ph name="SUPERVISED_USER_NAME" />. La configuration est presque terminée. Ensuite, place à l'exploration !</translation>
 <translation id="8742998548129056176">Ces informations d'ordre général concernent votre appareil et l'utilisation que vous en faites (comme le niveau de la batterie, les erreurs, ainsi que l'activité du système et des applications). Elles serviront à améliorer Android, et certaines données globales aideront également nos développeurs d'applications et nos partenaires tels que les développeurs Android, à perfectionner leurs applications et leurs produits.</translation>
+<translation id="8743164338060742337">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, force du signal : <ph name="SIGNAL_STRENGTH" /> %, géré par votre administrateur, connexion</translation>
 <translation id="8743390665131937741">Niveau de zoom plein écran :</translation>
 <translation id="8743864605301774756">Mise à jour il y a 1 heure</translation>
 <translation id="8746654918629346731">Vous avez déjà fait une demande pour "<ph name="EXTENSION_NAME" />"</translation>
@@ -6709,6 +6749,7 @@
 <translation id="8830796635868321089">Échec de la vérification de mise à jour avec les paramètres de proxy actuels. Veuillez modifier vos <ph name="PROXY_SETTINGS_LINK_START" />paramètres de proxy<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="8831140208248705279">Votre <ph name="DEVICE_TYPE" /> et votre téléphone Android fonctionnent mieux ensemble. Connectez-les pour envoyer des SMS depuis votre ordinateur, partager votre connexion Internet et déverrouiller votre <ph name="DEVICE_TYPE" /> avec votre téléphone.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">La configuration réseau est contrôlée par <ph name="USER_EMAIL" />.</translation>
+<translation id="8835786707922974220">Veiller à toujours avoir accès à vos mots de passe enregistrés</translation>
 <translation id="8838601485495657486">Opaque</translation>
 <translation id="8838770651474809439">Hamburger</translation>
 <translation id="883911313571074303">Annoter l'image</translation>
@@ -6724,6 +6765,7 @@
 <translation id="885246833287407341">Arguments de fonction API</translation>
 <translation id="8853586775156634952">Cette carte sera enregistrée sur cet appareil uniquement</translation>
 <translation id="8855977033756560989">Cet appareil Chromebook Enterprise est fourni avec Chrome Enterprise Upgrade. Pour profiter des fonctionnalités d'entreprise, enregistrez votre appareil avec un compte administrateur Google.</translation>
+<translation id="8856028055086294840">Restaurer les applications et les pages</translation>
 <translation id="885701979325669005">Données stockées</translation>
 <translation id="8859057652521303089">Sélectionnez votre langue :</translation>
 <translation id="8859174528519900719">Sous-cadre : <ph name="SUBFRAME_SITE" /></translation>
@@ -7087,6 +7129,7 @@
 <translation id="971774202801778802">URL du favori</translation>
 <translation id="973473557718930265">Quitter</translation>
 <translation id="975893173032473675">Langue cible</translation>
+<translation id="976499800099896273">Le mot "<ph name="TYPED_WORD" />" a été remplacé automatiquement par "<ph name="CORRECTED_WORD" />". Dans la boîte de dialogue qui s'affiche, appuyez sur la flèche vers le haut pour accepter cette correction ou sur la touche Échap pour l'ignorer.</translation>
 <translation id="978146274692397928">La largeur de ponctuation initiale est Complète</translation>
 <translation id="97905529126098460">Cette fenêtre se fermera une fois l'installation annulée.</translation>
 <translation id="980731642137034229">Bouton du menu d'actions</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index 6acb742..82d6bd1 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -264,6 +264,7 @@
 <translation id="1292849930724124745">સાઇન ઇન થયેલા રહેવા માટે સ્માર્ટ કાર્ડ દાખલ કરો</translation>
 <translation id="1293264513303784526">USB-C ઉપકરણ (ડાબું પોર્ટ)</translation>
 <translation id="1293556467332435079">Files</translation>
+<translation id="1294807885394205587">આ પ્રક્રિયામાં થોડો સમય લાગી શકે છે. કન્ટેનર મેનેજર શરૂ કરી રહ્યાં છીએ.</translation>
 <translation id="1296911687402551044">પસંદ કરેલી ટૅબને પિન કરો</translation>
 <translation id="1297175357211070620">લક્ષ્યસ્થાન</translation>
 <translation id="1300415640239881824"><ph name="DOMAIN" /> ઇચ્છે છે કે સુરક્ષિત કન્ટેન્ટના વિસ્તૃત પ્લેબૅક માટે પાત્રતા નિર્ધારિત કરવા માટે Google દ્વારા તમારા ઉપકરણની ઓળખ ચકાસવામાં આવે.</translation>
@@ -919,6 +920,7 @@
 <translation id="2046702855113914483">રામેન - જાપાનના એક પ્રકારના નૂડલ</translation>
 <translation id="204706822916043810">વર્ચ્યુઅલ મશીન ચેક કરી રહ્યાં છીએ</translation>
 <translation id="2048182445208425546">તમારા નેટવર્ક ટ્રાફિકની ઍક્સેસ</translation>
+<translation id="2048554637254265991">કન્ટેનર મેનેજર શરૂ થવામાં ભૂલ આવી. કૃપા કરીને ફરી પ્રયાસ કરો.</translation>
 <translation id="2048653237708779538">ક્રિયા ઉપલબ્ધ નથી</translation>
 <translation id="204914487372604757">શૉર્ટકટ બનાવો </translation>
 <translation id="2050339315714019657">પોર્ટ્રેટ</translation>
@@ -1117,6 +1119,7 @@
 <translation id="2276503375879033601">વધુ એપ્લિકેશંસ ઉમેરો</translation>
 <translation id="2277255602909579701">તમામ કુકીઝ અને સાઇટ ડેટા</translation>
 <translation id="2278562042389100163">બ્રાઉઝર વિંડો ખોલો</translation>
+<translation id="2278668501808246459">કન્ટેનર મેનેજર શરૂ કરી રહ્યાં છીએ</translation>
 <translation id="2280486287150724112">જમણો હાસિયો</translation>
 <translation id="2282146716419988068">GPU પ્રક્રિયા</translation>
 <translation id="2282155092769082568">સ્વતઃગોઠવણી URL:</translation>
@@ -4386,6 +4389,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />, નેટવર્ક નથી</translation>
 <translation id="6141988275892716286">ડાઉનલોડની પુષ્ટિ કરો</translation>
 <translation id="6143186082490678276">સહાય મેળવો</translation>
+<translation id="6143366292569327983">પેજની જે ભાષામાંથી અનુવાદ કરાવવા ઇચ્છતા હો, તે પસંદ કરો</translation>
 <translation id="6144938890088808325">Chromebooks બહેતર બનાવવામાં અમારી સહાય કરો</translation>
 <translation id="6147020289383635445">પ્રિન્ટ પ્રીવ્યૂ નિષ્ફળ ગયું.</translation>
 <translation id="6148576794665275391">હમણાં ખોલો</translation>
@@ -6069,6 +6073,7 @@
 <translation id="810728361871746125">ડિસ્પ્લેનું રિઝોલ્યુશન</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{ત્રીજા પક્ષની કોઈ કુકી નથી}=1{ત્રીજા પક્ષની 1 કુકી બ્લૉક કરવામાં આવી છે}one{ત્રીજા પક્ષની # કુકી બ્લૉક કરવામાં આવી છે}other{ત્રીજા પક્ષની # કુકી બ્લૉક કરવામાં આવી છે}}</translation>
 <translation id="810875025413331850">નજીકમાં કોઈ ડિવાઇસ ન મળ્યું.</translation>
+<translation id="8109109153262930486">ડિફૉલ્ટ અવતાર</translation>
 <translation id="8110489095782891123">સંપર્ક સૂચિ ડાઉનલોડ કરી રહ્યાં છીએ...</translation>
 <translation id="8113476325385351118">આ સાઇટને MIDI ડિવાઇસનું સંપૂર્ણ નિયંત્રણ રાખવાથી બ્લૉક કરવાનું ચાલુ રાખો</translation>
 <translation id="8114199541033039755">હોમ અથવા પાછળ જવા નૅવિગેટ કરો તેમજ ટૅબ્લેટ મોડમાં ઍપને બટનથી સ્વિચ કરો. જ્યારે ChromeVox અથવા ઑટોમૅટિક ક્લિક ચાલુ કરવામાં આવે છે, ત્યારે તે ચાલુ થઈ જાય છે.</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index a5350ac..6f36b5e5 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -435,6 +435,7 @@
 <translation id="1475502736924165259">U arhivi imate certifikate koji ne odgovaraju nijednoj od ostalih kategorija</translation>
 <translation id="1476088332184200792">Kopiraj na svoj uređaj</translation>
 <translation id="1476607407192946488">&amp;Postavke jezika</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> zahtijeva da vaša pametna kartica ostane umetnuta.</translation>
 <translation id="1478340334823509079">Pojedinosti: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalacija nije omogućena</translation>
 <translation id="1481537595330271162">Pogreška prilikom promjene veličine diska</translation>
@@ -1468,7 +1469,7 @@
 <translation id="265390580714150011">Vrijednost polja</translation>
 <translation id="2654166010170466751">Dopusti web-lokacijama instalaciju rukovatelja plaćanjem</translation>
 <translation id="2654553774144920065">Zahtjev za ispis</translation>
-<translation id="2657807507504044638">Nema eSIM profila. Novi profil preuzmite <ph name="BEGIN_LINK" />ovdje<ph name="END_LINK" /></translation>
+<translation id="2657807507504044638">Nema dostupnih eSIM profila. Novi profil preuzmite <ph name="BEGIN_LINK" />ovdje<ph name="END_LINK" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Značajke se razlikuju ovisno o uređaju</translation>
 <translation id="2659971421398561408">Promjena veličine diska za Crostini</translation>
 <translation id="2660779039299703961">Događaj</translation>
@@ -2035,6 +2036,7 @@
 <translation id="3320630259304269485">Sigurno pregledavanje (zaštita od opasnih web-lokacija) i druge sigurnosne postavke</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Ovi podaci imaju osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}=1{Ova datoteka ima osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}one{Ove datoteke imaju osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}few{Ove datoteke imaju osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}other{Ove datoteke imaju osjetljiv ili opasan sadržaj. Uklonite taj sadržaj i pokušajte ponovo.}}</translation>
 <translation id="3323521181261657960">Bonus! Vrijeme upotrebe ti je produženo</translation>
+<translation id="3325804108816646710">Tražimo dostupne profile...</translation>
 <translation id="3325910708063135066">Kamera i mikrofon isključeni su u Postavkama sustava na Macu</translation>
 <translation id="3327050066667856415">Chromebookovi su osmišljeni za sigurnost. Vaš uređaj automatski je zaštićen od zlonamjernih softvera – nije potreban dodatni softver.</translation>
 <translation id="3328489342742826322">Vraćanjem iz sigurnosne kopije izbrisat će se postojeće Linux aplikacije i podaci u mapama za Linux datoteke.</translation>
@@ -2102,6 +2104,7 @@
 <translation id="3412265149091626468">Skoči na odabir</translation>
 <translation id="3413122095806433232">CA izdavači: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Veličina:</translation>
+<translation id="3414966631182382431">Vašim <ph name="BEGIN_LINK" />preglednikom upravlja<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Uvijek prikaži cijele URL-ove</translation>
 <translation id="3417835166382867856">Pretraži kartice</translation>
 <translation id="3417836307470882032">24-satni brojčanik</translation>
@@ -3177,6 +3180,7 @@
 <translation id="4651484272688821107">Nije uspjelo učitavanje online komponente s resursima demo načina.</translation>
 <translation id="4652935475563630866">Za promjenu postavke fotoaparata potrebno je ponovno pokrenuti Parallels Desktop. Ponovo pokrenite Parallels Desktop da biste nastavili.</translation>
 <translation id="4653405415038586100">Pogreška prilikom konfiguriranja Linuxa</translation>
+<translation id="4657914796247705218">Brzina TrackPointa</translation>
 <translation id="465878909996028221">Za preusmjeravanja preglednika podržani su samo protokoli http i https te datotečni protokoli.</translation>
 <translation id="4659077111144409915">Primarni račun</translation>
 <translation id="4659126640776004816">Kad se prijavite na Google račun, ova je značajka uključena.</translation>
@@ -3836,6 +3840,7 @@
 <translation id="5470735824776589490">Da biste mogli izvršiti Powerwash, trebate ponovo pokrenuti uređaj. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Bok! Ja sam vaš glas alata za pretvaranje teksta u govor.</translation>
 <translation id="5472627187093107397">Spremanje zaporki za ovu web-lokaciju</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN mora imati najmanje jedan znak}one{PIN mora imati najmanje # znak}few{PIN mora imati najmanje # znaka}other{PIN mora imati najmanje # znakova}}</translation>
 <translation id="5473333559083690127">Ponovo unesite novi PIN</translation>
 <translation id="5481273127572794904">Nije dopušteno automatsko preuzimanje više datoteka</translation>
 <translation id="5481941284378890518">Dodaj pisače u blizini</translation>
@@ -4376,6 +4381,7 @@
 <translation id="6087960857463881712">Oduševljeno lice</translation>
 <translation id="6091761513005122595">Dijeljenje je učitano.</translation>
 <translation id="6093888419484831006">Otkazivanje ažuriranja...</translation>
+<translation id="6095541101974653012">Odjavljeni ste.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Otvori maksimalno</translation>
 <translation id="6096326118418049043">X.500 naziv</translation>
@@ -4544,7 +4550,7 @@
 <translation id="6280215091796946657">Prijavite se drugim računom</translation>
 <translation id="6280912520669706465">ARC</translation>
 <translation id="6282180787514676874">{COUNT,plural, =1{Premašuje ograničenje od jednog lista papira}one{Premašuje ograničenje od {COUNT} lista papira}few{Premašuje ograničenje od {COUNT} lista papira}other{Premašuje ograničenje od {COUNT} listova papira}}</translation>
-<translation id="6283438600881103103">Sad ćete se automatski odjaviti.
+<translation id="6283438600881103103">Bit ćete automatski odjavljeni.
 <ph name="DOMAIN" /> zahtijeva da vaša pametna kartica ostane umetnuta.</translation>
 <translation id="628352644014831790">Četiri sekunde</translation>
 <translation id="6285120108426285413">Datoteka <ph name="FILE_NAME" /> obično se ne preuzima i mogla bi biti opasna.</translation>
@@ -4708,6 +4714,7 @@
 <translation id="6474884162850599008">Prekini vezu računa Google diska</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> želi dijeliti sadržaj vašeg zaslona. Odaberite što želite dijeliti.</translation>
 <translation id="6478248366783946499">Želite li zadržati opasnu datoteku?</translation>
+<translation id="6480327114083866287">Upravlja <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Otvorite preuzimanje</translation>
 <translation id="6483805311199035658">Otvaranje datoteke <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Odaberite jezik</translation>
@@ -4896,6 +4903,7 @@
 <translation id="671928215901716392">Zaključaj zaslon</translation>
 <translation id="6721678857435001674">Pogledajte izradu i model sigurnosnog ključa</translation>
 <translation id="6721972322305477112">&amp;File (Datoteka)</translation>
+<translation id="672208878794563299">Web-lokacija će sljedeći put ponovo postaviti pitanje.</translation>
 <translation id="672213144943476270">Otključajte profil da biste mogli pregledavati kao gost.</translation>
 <translation id="6723661294526996303">Uvoz oznaka i postavki...</translation>
 <translation id="6723839937902243910">Napajanje</translation>
@@ -6296,6 +6304,7 @@
 <translation id="8317671367883557781">Dodaj mrežnu vezu</translation>
 <translation id="8319414634934645341">Produžena upotreba ključa</translation>
 <translation id="8320459152843401447">Cijeli zaslon</translation>
+<translation id="8321837372750396788">Uređajem <ph name="DEVICE_TYPE" /> upravljat će <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Stranici je zabranjen pristup vašem mikrofonu.</translation>
 <translation id="8323167517179506834">Upišite URL</translation>
 <translation id="8324784016256120271">Web-lokacije mogu upotrebljavati kolačiće za uvid u vašu aktivnost pregledavanja na različitim web-lokacijama, primjerice radi prilagođavanja oglasa</translation>
@@ -6603,6 +6612,7 @@
 <translation id="8698269656364382265">Da biste se vratili na prethodni zaslon, prijeđite prstom slijeva nadesno.</translation>
 <translation id="869884720829132584">Izbornik aplikacija</translation>
 <translation id="869891660844655955">Datum isteka</translation>
+<translation id="8702825062053163569">Uređaj <ph name="DEVICE_TYPE" /> je zaključan.</translation>
 <translation id="8703346390800944767">Preskočite oglas</translation>
 <translation id="8705331520020532516">Serijski broj</translation>
 <translation id="8705580154597116082">Wi-Fi je dostupan putem telefona</translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb
index 193aeb0..4ca8194 100644
--- a/chrome/app/resources/generated_resources_hy.xtb
+++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -177,9 +177,9 @@
 <translation id="1188807932851744811">Մատյանը վերբեռնված չէ:</translation>
 <translation id="11901918071949011">{NUM_FILES,plural, =1{Օգտագործել ձեր համակարգչում պահված ֆայլը}one{Օգտագործել ձեր համակարգչում պահված # ֆայլ}other{Օգտագործել ձեր համակարգչում պահված # ֆայլ}}</translation>
 <translation id="119092896208640858">Այցելությունների պատմությունը այս սարքից ջնջելու, սակայն Google հաշվում պահպանելու համար <ph name="BEGIN_LINK" />դուրս գրվեք հաշվից<ph name="END_LINK" />:</translation>
-<translation id="1192706927100816598">{0,plural, =1{Դուք # վայրկյանից ավտոմատ դուրս կգրվեք համակարգից։
-Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։}one{Դուք # վայրկյանից ավտոմատ դուրս կգրվեք համակարգից։
-Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։}other{Դուք # վայրկյանից ավտոմատ դուրս կգրվեք համակարգից։
+<translation id="1192706927100816598">{0,plural, =1{Դուք # վայրկյանից ավտոմատ դուրս կգաք համակարգից։
+Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։}one{Դուք # վայրկյանից ավտոմատ դուրս կգաք համակարգից։
+Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։}other{Դուք # վայրկյանից ավտոմատ դուրս կգաք համակարգից։
 Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։}}</translation>
 <translation id="1193273168751563528">Մուտք գործեք կառավարվող աշխատաշրջան</translation>
 <translation id="1193927020065025187">Այս կայքը կարող է խաբեությամբ համոզել ձեզ, որ թույլատրեք ձանձրացնող ծանուցումների ուղարկումը</translation>
@@ -265,7 +265,7 @@
 <translation id="1285484354230578868">Պահեստավորել տվյալները ձեր Google Drive հաշվում</translation>
 <translation id="1288037062697528143">Մութն ընկնելուն պես գիշերային ռեժիմը ավտոմատ կմիանա</translation>
 <translation id="1288300545283011870">Ձայնի կարգավորումներ</translation>
-<translation id="1292849930724124745">Մի հանեք խելացի քարտը</translation>
+<translation id="1292849930724124745">Տեղադրեք խելացի քարտը, որպեսզի դուրս չգաք աշխատաշրջանից</translation>
 <translation id="1293264513303784526">USB-C սարք (ձախ միացք)</translation>
 <translation id="1293556467332435079">Ֆայլեր</translation>
 <translation id="1294807885394205587">Սա կարող է մի քանի րոպե տևել։ Կոնտեյներների կառավարիչը գործարկվում է։</translation>
@@ -4546,7 +4546,7 @@
 <translation id="6280215091796946657">Մուտք գործել այլ հաշվով</translation>
 <translation id="6280912520669706465">ARC</translation>
 <translation id="6282180787514676874">{COUNT,plural, =1{Գերազանցում է 1 թերթի սահմանաչափը}one{Գերազանցում է {COUNT} թերթի սահմանաչափը}other{Գերազանցում է {COUNT} թերթի սահմանաչափը}}</translation>
-<translation id="6283438600881103103">Դուք ավտոմատ դուրս կգրվեք համակարգից։
+<translation id="6283438600881103103">Դուք ավտոմատ դուրս կգաք համակարգից։
 Համաձայն <ph name="DOMAIN" /> տիրույթի կանոնների՝ խելացի քարտը պետք է տեղադրված լինի։</translation>
 <translation id="628352644014831790">4 վայրկյան</translation>
 <translation id="6285120108426285413"><ph name="FILE_NAME" /> ֆայլը խորհուրդ չի տրվում ներբեռնել, այն կարող է վտանգավոր լինել:</translation>
@@ -5504,7 +5504,7 @@
 <translation id="7427348830195639090">Հետնաշերտի էջ՝ <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7427798576651127129">Զանգել <ph name="DEVICE_NAME" />-ից</translation>
 <translation id="7431719494109538750">HID սարքեր չեն գտնվել</translation>
-<translation id="7433708794692032816">Մի հանեք խելացի քարտը, որպեսզի շարունակեք օգտվել <ph name="DEVICE_TYPE" /> սարքից</translation>
+<translation id="7433708794692032816">Տեղադրեք խելացի քարտը, որպեսզի շարունակեք օգտվել <ph name="DEVICE_TYPE" /> սարքից</translation>
 <translation id="7433957986129316853">Պահպանել</translation>
 <translation id="7434509671034404296">Մշակողների համար</translation>
 <translation id="7434635829372401939">Կարգավորումների համաժամացում</translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb
index 961e65b..9e757d43 100644
--- a/chrome/app/resources/generated_resources_is.xtb
+++ b/chrome/app/resources/generated_resources_is.xtb
@@ -434,6 +434,7 @@
 <translation id="1475502736924165259">Þú ert með skráð vottorð sem passa ekki í aðra flokka</translation>
 <translation id="1476088332184200792">Afrita í tæki</translation>
 <translation id="1476607407192946488">Tungumá&amp;lastillingar</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> krefst þess að snjallkortið sé haft í.</translation>
 <translation id="1478340334823509079">Upplýsingar: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Uppsetning er ekki leyfð</translation>
 <translation id="1481537595330271162">Villa við að breyta diskstærð</translation>
@@ -2034,6 +2035,7 @@
 <translation id="3320630259304269485">Örugg vefskoðun (vörn gegn hættulegum vefsvæðum) og aðrar öryggisstillingar</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Þessi gögn innihalda viðkvæmt eða hættulegt efni. Fjarlægðu þetta efni og reyndu aftur.}=1{Þessi skrá inniheldur viðkvæmt eða hættulegt efni. Fjarlægðu þetta efni og reyndu aftur.}one{Þessar skrár innihalda viðkvæmt eða hættulegt efni. Fjarlægðu þetta efni og reyndu aftur.}other{Þessar skrár innihalda viðkvæmt eða hættulegt efni. Fjarlægðu þetta efni og reyndu aftur.}}</translation>
 <translation id="3323521181261657960">Bónus! Þú fékkst meiri skjátíma</translation>
+<translation id="3325804108816646710">Leitar að tiltækum prófílum...</translation>
 <translation id="3325910708063135066">Slökkt er á myndavél og hljóðnema í kerfisstillingum Mac</translation>
 <translation id="3327050066667856415">Chromebook er hannað fyrir öryggi. Tækið þitt er sjálfkrafa varið fyrir spilliforritum og enginn viðbótarhugbúnaður er nauðsynlegur.</translation>
 <translation id="3328489342742826322">Við endurheimt úr öryggisafriti er öllum fyrirliggjandi Linux-forritum og gögnum í Linux-skráarmöppu eytt.</translation>
@@ -2101,6 +2103,7 @@
 <translation id="3412265149091626468">Fara í val</translation>
 <translation id="3413122095806433232">CA-útgefendur: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Stærð:</translation>
+<translation id="3414966631182382431"><ph name="MANAGER" /> <ph name="BEGIN_LINK" />hefur umsjón með vafranum<ph name="END_LINK" /> þínum</translation>
 <translation id="3416468988018290825">Sýna alltaf vefslóðir í fullri lengd</translation>
 <translation id="3417835166382867856">Leita í flipum</translation>
 <translation id="3417836307470882032">24 klukkustunda tímasetningar</translation>
@@ -3176,6 +3179,7 @@
 <translation id="4651484272688821107">Ekki var hægt að hlaða nettengdum íhluta með tilföngum prufustillingar.</translation>
 <translation id="4652935475563630866">Breytingin á myndavélarstillingu krefst þess að Parallels Desktop sé endurræst. Endurræstu Parallels Desktop til að halda áfram.</translation>
 <translation id="4653405415038586100">Villa við að stilla Linux</translation>
+<translation id="4657914796247705218">TrackPoint-hraði</translation>
 <translation id="465878909996028221">Einungis http, https and samskiptareglur skráa eru studdar fyrir framsendingu vafra.</translation>
 <translation id="4659077111144409915">Aðalreikningur</translation>
 <translation id="4659126640776004816">Kveikt er á þessum eiginleika þegar þú skráir þig inn á Google reikninginn þinn.</translation>
@@ -3835,6 +3839,7 @@
 <translation id="5470735824776589490">Endurræsa þarf tækið áður er hægt er að endurstilla það með djúphreinsun. <ph name="LINK_BEGIN" />Frekari upplýsingar<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Hæ! Ég er talgervilsröddin þín.</translation>
 <translation id="5472627187093107397">Vista aðgangsorð fyrir þetta vefsvæði</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN-númer verður að vera minnst einn stafur}one{PIN-númer verður að vera að minnst # stafur}other{PIN-númer verður að vera að minnst # stafir}}</translation>
 <translation id="5473333559083690127">Sláðu nýtt PIN-númer inn aftur</translation>
 <translation id="5481273127572794904">Mega ekki sækja margar skrár sjálfkrafa</translation>
 <translation id="5481941284378890518">Bæta nálægum prenturum við</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Geðveikt hresst andlit</translation>
 <translation id="6091761513005122595">Deilt efni var tengt.</translation>
 <translation id="6093888419484831006">Hættir við uppfærslu...</translation>
+<translation id="6095541101974653012">Þú varst skráð(ur) út.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Opna stækkað</translation>
 <translation id="6096326118418049043">X.500 heiti</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Aftengja Google Drive reikning</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> vill deila því sem er á skjánum þínum. Veldu hverju þú vilt deila.</translation>
 <translation id="6478248366783946499">Viltu halda hættulegri skrá?</translation>
+<translation id="6480327114083866287">Stýrt af <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Opna niðurhal</translation>
 <translation id="6483805311199035658">Opnar <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Velja tungumál</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Læsa skjánum</translation>
 <translation id="6721678857435001674">Sjá gerð og útgáfu öryggislykilsins þíns</translation>
 <translation id="6721972322305477112">Skrá</translation>
+<translation id="672208878794563299">Þetta vefsvæði mun spyrja aftur næst.</translation>
 <translation id="672213144943476270">Opnaðu prófílinn þinn áður en þú vafrar sem gestur.</translation>
 <translation id="6723661294526996303">Flytja inn bókamerki og stillingar...</translation>
 <translation id="6723839937902243910">Orka</translation>
@@ -6293,6 +6301,7 @@
 <translation id="8317671367883557781">Bæta við nettengingu</translation>
 <translation id="8319414634934645341">Útvíkkuð lyklanotkun</translation>
 <translation id="8320459152843401447">Allur skjárinn hjá þér</translation>
+<translation id="8321837372750396788"><ph name="MANAGER" /> mun hafa umsjón með þessu <ph name="DEVICE_TYPE" /> tæki.</translation>
 <translation id="8322814362483282060">Þessari síðu var bannað að fá aðgang að hljóðnemanum þínum.</translation>
 <translation id="8323167517179506834">Sláðu inn vefslóð</translation>
 <translation id="8324784016256120271">Vefsvæði geta notað fótspor til að sjá vafranotkun þína á vefsvæðum, til dæmis til að sérsníða auglýsingar</translation>
@@ -6600,6 +6609,7 @@
 <translation id="8698269656364382265">Strjúktu til hliðar frá vinstri til að fara aftur á síðasta skjá.</translation>
 <translation id="869884720829132584">Forritavalmynd</translation>
 <translation id="869891660844655955">Lokadagsetning</translation>
+<translation id="8702825062053163569"><ph name="DEVICE_TYPE" /> var læst.</translation>
 <translation id="8703346390800944767">Sleppa auglýsingu</translation>
 <translation id="8705331520020532516">Raðnúmer</translation>
 <translation id="8705580154597116082">Wi-Fi aðgengilegt gegnum síma</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index cffb0b8..85ec8e8 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -266,7 +266,7 @@
 <translation id="1292849930724124745">Inserisci la smart card per mantenere l'accesso</translation>
 <translation id="1293264513303784526">Dispositivo USB-C (porta a sinistra)</translation>
 <translation id="1293556467332435079">File</translation>
-<translation id="1294807885394205587">Questa procedura potrebbe richiedere alcuni minuti. Avvio del gestore di contenitori.</translation>
+<translation id="1294807885394205587">Questa procedura potrebbe richiedere alcuni minuti. Avvio del gestore di container.</translation>
 <translation id="1296911687402551044">Blocca scheda selezionata</translation>
 <translation id="1297175357211070620">Destinazione</translation>
 <translation id="1300415640239881824"><ph name="DOMAIN" /> richiede che Google controlli l'identità del tuo dispositivo per determinarne l'idoneità alla riproduzione avanzata di contenuti protetti.</translation>
@@ -936,7 +936,7 @@
 <translation id="2046702855113914483">Ramen</translation>
 <translation id="204706822916043810">Controllo della macchina virtuale</translation>
 <translation id="2048182445208425546">Accesso al traffico di rete</translation>
-<translation id="2048554637254265991">Errore durante l'avvio del gestore di contenitori. Riprova.</translation>
+<translation id="2048554637254265991">Errore durante l'avvio del gestore di container. Riprova.</translation>
 <translation id="2048653237708779538">Azione non disponibile</translation>
 <translation id="204914487372604757">Crea scorciatoia</translation>
 <translation id="2050339315714019657">Verticale</translation>
@@ -1137,7 +1137,7 @@
 <translation id="2276503375879033601">Aggiungi altre applicazioni</translation>
 <translation id="2277255602909579701">Tutti i cookie e i dati dei siti</translation>
 <translation id="2278562042389100163">Apri finestra browser</translation>
-<translation id="2278668501808246459">Avvio del gestore di contenitori</translation>
+<translation id="2278668501808246459">Avvio del gestore di container</translation>
 <translation id="2280486287150724112">Margine destro</translation>
 <translation id="2282146716419988068">Processo GPU</translation>
 <translation id="2282155092769082568">URL di configurazione automatica:</translation>
@@ -4948,7 +4948,7 @@
 <translation id="6787839852456839824">Scorciatoie da tastiera</translation>
 <translation id="6788210894632713004">Estensione non pacchettizzata</translation>
 <translation id="6789592661892473991">Divisione in orizzontale</translation>
-<translation id="6790428901817661496">Play</translation>
+<translation id="6790428901817661496">Riproduci</translation>
 <translation id="6790497603648687708">L'estensione <ph name="EXTENSION_NAME" /> è stata aggiunta da remoto</translation>
 <translation id="6790820461102226165">Aggiungi persona...</translation>
 <translation id="6792072150955115067"><ph name="APP_NAME" /> vuole condividere i contenuti del tuo schermo con <ph name="TARGET_NAME" />. Scegli i contenuti che desideri condividere.</translation>
diff --git a/chrome/app/resources/generated_resources_ka.xtb b/chrome/app/resources/generated_resources_ka.xtb
index 19326a01..20df12f 100644
--- a/chrome/app/resources/generated_resources_ka.xtb
+++ b/chrome/app/resources/generated_resources_ka.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">თქვენ შენახული გაქვთ სერტიფიკატები, რომლებიც არცერთ სხვა კატეგორიას არ ერგება</translation>
 <translation id="1476088332184200792">თქვენს მოწყობილობაზე კოპირება</translation>
 <translation id="1476607407192946488">&amp;ენის პარამეტრები</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> მოითხოვს, რომ თქვენი სმარტ-ბარათი ჩასმული იყოს.</translation>
 <translation id="1478340334823509079">დეტალები: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ინსტალაცია არ არის ჩართული</translation>
 <translation id="1481537595330271162">შეცდომა დისკის ზომის შეცვლისას</translation>
@@ -2032,6 +2033,7 @@
 <translation id="3320630259304269485">Safe Browsing (სახიფათო საიტებისგან დაცვა) და უსაფრთხოებასთან დაკავშირებული სხვა პარამეტრები</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{ეს მონაცემები შეიცავს სენსიტიურ ან სახიფათო კონტენტს. ამოშალეთ აღნიშნული კონტენტი და სცადეთ ხელახლა.}=1{ეს ფაილი შეიცავს სენსიტიურ ან სახიფათო კონტენტს. ამოშალეთ აღნიშნული კონტენტი და სცადეთ ხელახლა.}other{ეს ფაილები შეიცავს სენსიტიურ ან სახიფათო კონტენტს. ამოშალეთ აღნიშნული კონტენტი და სცადეთ ხელახლა.}}</translation>
 <translation id="3323521181261657960">გილოცავთ! ეკრანთან მეტ დროს გაატარებთ</translation>
+<translation id="3325804108816646710">იძებნება ხელმისაწვდომი პროფილები...</translation>
 <translation id="3325910708063135066">კამერა და მიკროფონი გამორთულია Mac-ის სისტემის პარამეტრებში</translation>
 <translation id="3327050066667856415">Chromebook-ები უსაფრთხოების მოთხოვნების გათვალისწინებით არის შექმნილი. თქვენი მოწყობილობა ავტომატურად არის დაცული მავნე პროგრამებისგან. ამიტომაც დამატებითი პროგრამული უზრუნველყოფა საჭირო არ არის.</translation>
 <translation id="3328489342742826322">სარეზერვო ასლიდან აღდგენის შემთხვევაში თქვენი Linux ფაილებიანი საქაღალდეებიდან წაიშლება არსებული Linux აპლიკაციები და მონაცემები.</translation>
@@ -2099,6 +2101,7 @@
 <translation id="3412265149091626468">მონიშნულ ობიექტზე გადახტომა</translation>
 <translation id="3413122095806433232">CA გამცემები: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">ზომა:</translation>
+<translation id="3414966631182382431">თქვენს <ph name="BEGIN_LINK" />ბრაუზერს მართავს<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">URL-ების ყოველთვის სრულად გამოჩენა</translation>
 <translation id="3417835166382867856">ჩანართებში ძიება</translation>
 <translation id="3417836307470882032">დროის 24-საათიანი ფორმატი</translation>
@@ -3174,6 +3177,7 @@
 <translation id="4651484272688821107">დემო-რეჟიმის რესურსებიანი ონლაინ-კომპონენტის ჩატვირთვა ვერ მოხერხდა.</translation>
 <translation id="4652935475563630866">კამერის პარამეტრის ეს ცვლილება მოითხოვს Parallels Desktop-ის ხელახლა გაშვებას. გასაგრძელებლად ხელახლა გაუშვით Parallels Desktop.</translation>
 <translation id="4653405415038586100">შეცდომა Linux-ის კონფიგურაციისას</translation>
+<translation id="4657914796247705218">TrackPoint-ის სიჩქარე</translation>
 <translation id="465878909996028221">ბრაუზერის გადამისამართებისთვის მხარდაჭერილია მხოლოდ http, https და ფაილების პროტოკოლები.</translation>
 <translation id="4659077111144409915">ძირითადი ანგარიში</translation>
 <translation id="4659126640776004816">თქვენს Google ანგარიშში შესვლისას ეს ფუნქცია ჩართული იქნება.</translation>
@@ -3833,6 +3837,7 @@
 <translation id="5470735824776589490">გადატვირთვა საჭიროა, სანამ განხორციელდება თქვენი მოწყობილობის გადატვირთვა Powerwash-ით. <ph name="LINK_BEGIN" />შეიტყვეთ მეტი<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">გამარჯობა! ეს არის ჩემი ხმა ტექსტის გახმოვანებისთვის.</translation>
 <translation id="5472627187093107397">პაროლების შენახვა ამ საიტისთვის</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN-კოდი უნდა შეიცავდეს მინიმუმ 1 სიმბოლოს}other{PIN-კოდი უნდა შეიცავდეს მინიმუმ # სიმბოლოს}}</translation>
 <translation id="5473333559083690127">ხელახლა შეიყვანეთ ახალი PIN-კოდი</translation>
 <translation id="5481273127572794904">რამდენიმე ფაილის ავტომატურად ჩამოტვირთვა დაუშვებელია</translation>
 <translation id="5481941284378890518">ახლომახლო პრინტერების დამატება</translation>
@@ -4372,6 +4377,7 @@
 <translation id="6087960857463881712">არაჩვეულებრივი სახე</translation>
 <translation id="6091761513005122595">გაზიარება მიერთებულია წარმატებით.</translation>
 <translation id="6093888419484831006">განახლების გაუქმება…</translation>
+<translation id="6095541101974653012">თქვენ გახვედით სისტემიდან.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">გახსენით მაქსიმალური</translation>
 <translation id="6096326118418049043">X.500 სახელი</translation>
@@ -4704,6 +4710,7 @@
 <translation id="6474884162850599008">Google Drive ანგარიშთან კავშირის გაწყვეტა</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" />-ს სურს, გააზიაროს თქვენი ეკრანის შიგთავსი. აირჩიეთ, რისი გაზიარება გსურთ.</translation>
 <translation id="6478248366783946499">გსურთ სახიფათო ფაილის შენარჩუნება?</translation>
+<translation id="6480327114083866287">მართავს <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">ჩამოტვირთვის გახსნა</translation>
 <translation id="6483805311199035658">იხსნება <ph name="FILE" />…</translation>
 <translation id="6488384360522318064">აირჩიეთ ენა</translation>
@@ -4892,6 +4899,7 @@
 <translation id="671928215901716392">ჩაკეტილი ეკრანი</translation>
 <translation id="6721678857435001674">თქვენი უსაფრთხოების გასაღების ბრენდისა და მოდელის ნახვა</translation>
 <translation id="6721972322305477112">&amp;ფაილი</translation>
+<translation id="672208878794563299">ეს საიტი შემდეგში ხელახლა გკითხავთ.</translation>
 <translation id="672213144943476270">სტუმრის სტატუსით დათვალიერებამდე, გთხოვთ, განბლოკოთ თქვენი პროფილი.</translation>
 <translation id="6723661294526996303">სანიშნეების და პარამეტრების იმპორტი…</translation>
 <translation id="6723839937902243910">ენერგია</translation>
@@ -6290,6 +6298,7 @@
 <translation id="8317671367883557781">ქსელის კავშირის დამატება</translation>
 <translation id="8319414634934645341">გაფართოებული კოდის გამოყენება</translation>
 <translation id="8320459152843401447">მთლიანი ეკრანი</translation>
+<translation id="8321837372750396788">ამ <ph name="DEVICE_TYPE" />-ის მმართველი იქნება <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">წვდომა თქვენს მიკროფონზე ამ გვერდიდან დაიბლოკა.</translation>
 <translation id="8323167517179506834">აკრიფეთ URL</translation>
 <translation id="8324784016256120271">საიტები გამოიყენებს ქუქი-ჩანაწერებს სხვადასხვა საიტის თქვენ მიერ დათვალიერების აქტივობის სანახავად, მაგალითად, რეკლამის პერსონალიზების მიზნით</translation>
@@ -6597,6 +6606,7 @@
 <translation id="8698269656364382265">წინა ეკრანზე დასაბრუნებლად გადაფურცლეთ მარცხენა მხრიდან.</translation>
 <translation id="869884720829132584">პროგრამის მენიუ</translation>
 <translation id="869891660844655955">ვადის გასვლის თარიღი</translation>
+<translation id="8702825062053163569">თქვენი <ph name="DEVICE_TYPE" /> ჩაიკეტა.</translation>
 <translation id="8703346390800944767">რეკლამის გამოტოვება</translation>
 <translation id="8705331520020532516">სერიული ნომერი</translation>
 <translation id="8705580154597116082">ტელეფონი Wi-Fi კავშირს უზრუნველყოფს</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index bb01886..f67356b 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -436,6 +436,7 @@
 <translation id="1475502736924165259">Turite pateiktų sertifikatų, kurie neatitinka jokių kitų kategorijų</translation>
 <translation id="1476088332184200792">Kopijuoti į įrenginį</translation>
 <translation id="1476607407192946488">&amp;Kalbos nustatymai</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> reikia, kad paliktumėte įdėtą išmaniąją kortelę.</translation>
 <translation id="1478340334823509079">Išsami informacija: „<ph name="FILE_NAME" />“</translation>
 <translation id="1478607704480248626">Diegimas neįgalintas</translation>
 <translation id="1481537595330271162">Keičiant disko dydį įvyko klaida</translation>
@@ -2036,6 +2037,7 @@
 <translation id="3320630259304269485">Saugus naršymas (apsauga nuo pavojingų svetainių) ir kiti saugos nustatymai</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Šiuose duomenyse yra neskelbtino arba pavojingo turinio. Pašalinkite šį turinį ir bandykite dar kartą.}=1{Šiame faile yra neskelbtino arba pavojingo turinio. Pašalinkite šį turinį ir bandykite dar kartą.}one{Šiuose failuose yra neskelbtino arba pavojingo turinio. Pašalinkite šį turinį ir bandykite dar kartą.}few{Šiuose failuose yra neskelbtino arba pavojingo turinio. Pašalinkite šį turinį ir bandykite dar kartą.}many{Šiuose failuose yra neskelbtino arba pavojingo turinio. Pašalinkite šį turinį ir bandykite dar kartą.}other{Šiuose failuose yra neskelbtino arba pavojingo turinio. Pašalinkite šį turinį ir bandykite dar kartą.}}</translation>
 <translation id="3323521181261657960">Premija! Galite ilgiau naudoti įrenginį</translation>
+<translation id="3325804108816646710">Ieškoma pasiekiamų profilių...</translation>
 <translation id="3325910708063135066">Fotoaparatas ir mikrofonas išjungti „Mac“ sistemos nuostatose</translation>
 <translation id="3327050066667856415">„Chromebook“ įrenginiuose pasirūpinta sauga. Jūsų įrenginys yra automatiškai apsaugotas nuo kenkėjiškų programų, todėl nereikia jokios papildomos programinės įrangos.</translation>
 <translation id="3328489342742826322">Atkūrus atsargines failų kopijas bus ištrintos „Linux“ failų aplanke esančios „Linux“ programos ir duomenys.</translation>
@@ -2103,6 +2105,7 @@
 <translation id="3412265149091626468">Nukreipti į pasirinkimą</translation>
 <translation id="3413122095806433232">CA išdavėjai: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Dydis:</translation>
+<translation id="3414966631182382431">Jūsų <ph name="BEGIN_LINK" />naršyklę tvarko<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Visada rodyti visus URL</translation>
 <translation id="3417835166382867856">Ieškoti skirtukų</translation>
 <translation id="3417836307470882032">24 val. sistema</translation>
@@ -3178,6 +3181,7 @@
 <translation id="4651484272688821107">Nepavyko įkelti prisijungus pasiekiamo komponento naudojant demonstracinio režimo šaltinius.</translation>
 <translation id="4652935475563630866">Buvo pakeistas fotoaparato nustatymas, todėl reikia iš naujo paleisti „Parallels Desktop“. Norėdami tęsti, paleiskite „Parallels Desktop“ iš naujo.</translation>
 <translation id="4653405415038586100">Konfigūruojant „Linux“ įvyko klaida</translation>
+<translation id="4657914796247705218">„TrackPoint“ sparta</translation>
 <translation id="465878909996028221">Į kitą naršyklę galima peradresuoti tik „http“, „https“ ir failų protokolus.</translation>
 <translation id="4659077111144409915">Pagrindinė paskyra</translation>
 <translation id="4659126640776004816">Prisijungus prie „Google“ paskyros, ši funkcija yra įjungta.</translation>
@@ -3837,6 +3841,7 @@
 <translation id="5470735824776589490">Kad įrenginį būtų galima nustatyti iš naujo naudojant „Powerwash“, reikia paleisti iš naujo. <ph name="LINK_BEGIN" />Sužinokite daugiau<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Sveiki, tai – jūsų teksto į kalbą balsas.</translation>
 <translation id="5472627187093107397">Išsaugoti šios svetainės slaptažodžius</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN kodą turi sudaryti bent vienas simbolis}one{PIN kodą turi sudaryti bent # simbolis}few{PIN kodą turi sudaryti bent # simboliai}many{PIN kodą turi sudaryti bent # simbolio}other{PIN kodą turi sudaryti bent # simbolių}}</translation>
 <translation id="5473333559083690127">Iš naujo įveskite naują PIN kodą</translation>
 <translation id="5481273127572794904">Neleidžiama automatiškai atsisiųsti kelių failų</translation>
 <translation id="5481941284378890518">Pridėti netoliese esančius spausdintuvus</translation>
@@ -4378,6 +4383,7 @@
 <translation id="6087960857463881712">Nuostabus veidas</translation>
 <translation id="6091761513005122595">Bendrinamas objektas įdėtas sėkmingai.</translation>
 <translation id="6093888419484831006">Naujinys atšaukiamas...</translation>
+<translation id="6095541101974653012">Buvote atjungti.</translation>
 <translation id="6095984072944024315">–</translation>
 <translation id="6096047740730590436">Atidaryti padidintą</translation>
 <translation id="6096326118418049043">X.500 vardas</translation>
@@ -4710,6 +4716,7 @@
 <translation id="6474884162850599008">Atjungti „Google“ disko paskyrą</translation>
 <translation id="6475697075626596525">Programa „<ph name="APP_NAME" />“ nori bendrinti ekrano turinį. Pasirinkite, ką norite bendrinti.</translation>
 <translation id="6478248366783946499">Palikti pavojingą failą?</translation>
+<translation id="6480327114083866287">Tvarko <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Atidarykite atsisiųstą failą</translation>
 <translation id="6483805311199035658">Atidaroma <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Pasirinkti kalbą</translation>
@@ -4898,6 +4905,7 @@
 <translation id="671928215901716392">Užrakinti ekraną</translation>
 <translation id="6721678857435001674">Peržiūrėti jūsų saugos rakto tipą ir modelį</translation>
 <translation id="6721972322305477112">&amp;Failas</translation>
+<translation id="672208878794563299">Ši svetainė kitą kartą vėl prašys leidimo.</translation>
 <translation id="672213144943476270">Prieš naršydami kaip svečias atrakinkite savo profilį.</translation>
 <translation id="6723661294526996303">Importuoti žymes ir nustatymus...</translation>
 <translation id="6723839937902243910">Maitinimas</translation>
@@ -6298,6 +6306,7 @@
 <translation id="8317671367883557781">Pridėti tinklo ryšį</translation>
 <translation id="8319414634934645341">Išplėstinis rakto naudojimas</translation>
 <translation id="8320459152843401447">Visas ekranas</translation>
+<translation id="8321837372750396788">Šį „<ph name="DEVICE_TYPE" />“ įrenginį tvarkys <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Šis puslapis užblokuotas, kad nepasiektų jūsų mikrofono.</translation>
 <translation id="8323167517179506834">Įveskite URL</translation>
 <translation id="8324784016256120271">Svetainės gali naudoti slapukus, siekdamos sužinoti apie naršymo veiklą skirtingose svetainėse, pavyzdžiui, kad galėtų suasmeninti skelbimus</translation>
@@ -6605,6 +6614,7 @@
 <translation id="8698269656364382265">Norėdami grįžti į ankstesnį ekraną, perbraukite iš kairės.</translation>
 <translation id="869884720829132584">Programų meniu</translation>
 <translation id="869891660844655955">Galiojimo data</translation>
+<translation id="8702825062053163569">Jūsų „<ph name="DEVICE_TYPE" />“ buvo užrakintas.</translation>
 <translation id="8703346390800944767">Praleisti skelbimą</translation>
 <translation id="8705331520020532516">Serijos numeris</translation>
 <translation id="8705580154597116082">„Wi-Fi“ ryšys pasiekiamas per telefoną</translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb
index 957eadd..1194ed10 100644
--- a/chrome/app/resources/generated_resources_mk.xtb
+++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -434,6 +434,7 @@
 <translation id="1475502736924165259">Имате сертификати што не припаѓаат во ниедна друга категорија</translation>
 <translation id="1476088332184200792">Копирај на уредот</translation>
 <translation id="1476607407192946488">&amp;Поставки за јазик</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> бара паметната картичка да ви остане вметната.</translation>
 <translation id="1478340334823509079">Детали: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Не е овозможена инсталација</translation>
 <translation id="1481537595330271162">Грешка при менувањето големина на дискот</translation>
@@ -2034,6 +2035,7 @@
 <translation id="3320630259304269485">Безбедно прелистување (заштита од опасни сајтови) и други безбедносни поставки</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Податоциве содржат чувствителни или опасни содржини. Отстранете ги тие содржини и обидете се повторно.}=1{Датотекава содржи чувствителни или опасни содржини. Отстранете ги тие содржини и обидете се повторно.}one{Датотекиве содржат чувствителни или опасни содржини. Отстранете ги тие содржини и обидете се повторно.}other{Датотекиве содржат чувствителни или опасни содржини. Отстранете ги тие содржини и обидете се повторно.}}</translation>
 <translation id="3323521181261657960">Бонус! Доби уште време за користење на уредот</translation>
+<translation id="3325804108816646710">Се бараат достапни профили…</translation>
 <translation id="3325910708063135066">Камерата и микрофонот се исклучени во поставките за системот Mac</translation>
 <translation id="3327050066667856415">Уредите Chromebook се дизајнирани за безбедност. Вашиот уред е заштитен од злонамерен софтвер, нема потреба од дополнителен софтвер.</translation>
 <translation id="3328489342742826322">Враќањето од бекап ќе ги избрише сите постојни апликации на Linux и податоците во папката со датотеки на Linux.</translation>
@@ -2101,6 +2103,7 @@
 <translation id="3412265149091626468">Скокни до Избор</translation>
 <translation id="3413122095806433232">Издавачи на ЦА: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Големина:</translation>
+<translation id="3414966631182382431"><ph name="MANAGER" /> <ph name="BEGIN_LINK" />управува со прелистувачот<ph name="END_LINK" /></translation>
 <translation id="3416468988018290825">Секогаш прикажувај ги целосните URL-адреси</translation>
 <translation id="3417835166382867856">Пребарајте ги картичките</translation>
 <translation id="3417836307470882032">24-часовно време</translation>
@@ -3176,6 +3179,7 @@
 <translation id="4651484272688821107">Не може да се вчита онлајн компонентата со ресурси во демо-режим.</translation>
 <translation id="4652935475563630866">Промената во поставката за камерата бара рестартирање на Parallels Desktop. Рестартирајте ја Parallels Desktop за да продолжите.</translation>
 <translation id="4653405415038586100">Грешка при конфигурирање на Linux</translation>
+<translation id="4657914796247705218">Брзина на TrackPoint</translation>
 <translation id="465878909996028221">Само http, https и протоколите за датотеки се поддржани за пренасочувања на прелистувачот.</translation>
 <translation id="4659077111144409915">Примарна сметка</translation>
 <translation id="4659126640776004816">Функцијава е вклучена кога ќе се најавите на сметката на Google.</translation>
@@ -3835,6 +3839,7 @@
 <translation id="5470735824776589490">Треба да го рестартирате уредот за да може да го ресетирате со Powerwash. <ph name="LINK_BEGIN" />Дознајте повеќе<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Здраво! Јас сум вашиот глас за функцијата „Од текст до говор“.</translation>
 <translation id="5472627187093107397">Зачувувај лозинки за сајтов</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN-кодот мора да содржи најмалку еден знак}one{PIN-кодот мора да содржи најмалку # знак}other{PIN-кодот мора да содржи најмалку # знака}}</translation>
 <translation id="5473333559083690127">Внесете го новиот PIN повторно</translation>
 <translation id="5481273127572794904">Не им е дозволено автоматски да преземаат повеќе датотеки</translation>
 <translation id="5481941284378890518">Додај печатачи во близина</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Прекрасно лице</translation>
 <translation id="6091761513005122595">Споделувањето е успешно монтирано.</translation>
 <translation id="6093888419484831006">Се откажува ажурирањето...</translation>
+<translation id="6095541101974653012">Одјавени сте.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Отвори максимизирано</translation>
 <translation id="6096326118418049043">X.500 Име</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Исклучете ја сметката на Дискот на Google</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> сака да ги сподели содржините на екранот. Одберете што би сакале да споделите.</translation>
 <translation id="6478248366783946499">Да се задржи опасната датотека?</translation>
+<translation id="6480327114083866287">Управува: <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Отворање преземена датотека</translation>
 <translation id="6483805311199035658">Се отвора <ph name="FILE" />…</translation>
 <translation id="6488384360522318064">Изберете јазик</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Заклучување на екранот</translation>
 <translation id="6721678857435001674">да ја види марката и моделот на вашиот безбедносен клуч</translation>
 <translation id="6721972322305477112">&amp;Датотека</translation>
+<translation id="672208878794563299">Сајтов повторно ќе побара дозвола следниот пат.</translation>
 <translation id="672213144943476270">Отклучете го профилот пред да прелистувате како гостин.</translation>
 <translation id="6723661294526996303">Увези обележувачи и поставки...</translation>
 <translation id="6723839937902243910">Енергија</translation>
@@ -6296,6 +6304,7 @@
 <translation id="8317671367883557781">Додај мрежна врска</translation>
 <translation id="8319414634934645341">Користење продолжен клуч</translation>
 <translation id="8320459152843401447">Целиот екран</translation>
+<translation id="8321837372750396788"><ph name="MANAGER" /> ќе управува со овој <ph name="DEVICE_TYPE" />.</translation>
 <translation id="8322814362483282060">Страницата е блокирана да не пристапува кон вашиот микрофон.</translation>
 <translation id="8323167517179506834">Впиши URL</translation>
 <translation id="8324784016256120271">Сајтовите може да користат колачиња за да ја следат вашата активност од прелистувањето на различни сајтови, на пример, за персонализирање реклами</translation>
@@ -6603,6 +6612,7 @@
 <translation id="8698269656364382265">За да се вратите на претходниот екран, повлечете од левата страна.</translation>
 <translation id="869884720829132584">Мени со апликации</translation>
 <translation id="869891660844655955">Рок на важност</translation>
+<translation id="8702825062053163569">Вашиот <ph name="DEVICE_TYPE" /> е заклучен.</translation>
 <translation id="8703346390800944767">Прескокни ја рекламата</translation>
 <translation id="8705331520020532516">Сериски број</translation>
 <translation id="8705580154597116082">Wi-Fi е достапно преку телефон</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 7825c81d..3312584 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">മറ്റ് വിഭാഗങ്ങളിലൊന്നും യോജിക്കാത്ത സര്‍‌ട്ടിഫിക്കറ്റുകള്‍‌ നിങ്ങളുടെ ഫയലിലുണ്ട്</translation>
 <translation id="1476088332184200792">നിങ്ങളുടെ ഉപകരണത്തിലേക്ക് പകർത്തുക</translation>
 <translation id="1476607407192946488">&amp;ഭാഷ ക്രമീകരണം</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" />-ൽ തുടരുന്നതിന് നിങ്ങളുടെ സ്‌മാർട്ട് കാർഡ് ഇൻസേർട്ട് ചെയ്ത നിലയിൽ തുടരേണ്ടതുണ്ട്.</translation>
 <translation id="1478340334823509079">വിശദാംശങ്ങൾ: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ഇൻസ്റ്റലേഷൻ പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല</translation>
 <translation id="1481537595330271162">ഡിസ്‌ക്കിന്റെ വലുപ്പം‌ മാറ്റുന്നതിൽ പിശക്</translation>
@@ -2030,6 +2031,7 @@
 <translation id="3320630259304269485">സുരക്ഷിത ബ്രൗസിംഗും (അപകടകരമായ സൈറ്റുകളിൽ നിന്നുള്ള പരിരക്ഷ) മറ്റ് സുരക്ഷാ ക്രമീകരണവും</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{ഈ ഡാറ്റയിൽ സൂക്ഷ്‌മമായി കൈകാര്യം ചെയ്യേണ്ടതോ അപകടകരമായതോ ആയ ഉള്ളടക്കം അടങ്ങിയിരിക്കുന്നു. ഈ ഉള്ളടക്കം നീക്കം ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക.}=1{ഈ ഫയലിൽ സൂക്ഷ്‌മമായി കൈകാര്യം ചെയ്യേണ്ടതോ അപകടകരമായതോ ആയ ഉള്ളടക്കം അടങ്ങിയിരിക്കുന്നു. ഈ ഉള്ളടക്കം നീക്കം ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക.}other{ഈ ഫയലുകളിൽ സൂക്ഷ്‌മമായി കൈകാര്യം ചെയ്യേണ്ടതോ അപകടകരമായതോ ആയ ഉള്ളടക്കം അടങ്ങിയിരിക്കുന്നു. ഈ ഉള്ളടക്കം നീക്കം ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക.}}</translation>
 <translation id="3323521181261657960">ബോണസ്! നിങ്ങൾക്ക് കൂടുതൽ സ്‌ക്രീൻ സമയം ലഭിച്ചിരിക്കുന്നു</translation>
+<translation id="3325804108816646710">ലഭ്യമായ പ്രൊഫൈലുകൾ തിരയുന്നു...</translation>
 <translation id="3325910708063135066">Mac സിസ്‌റ്റം മുൻഗണനകളിൽ ക്യാമറയും മൈക്രോഫോണും ഓഫാക്കി</translation>
 <translation id="3327050066667856415">Chromebooks സുരക്ഷയ്‌ക്കായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം മാൽവെയറിൽ നിന്ന് സ്വയമേവ പരിരക്ഷിക്കപ്പെട്ടിരിക്കുന്നു – അധിക സോഫ്‌റ്റ്‌വെയർ ആവശ്യമില്ല.</translation>
 <translation id="3328489342742826322">ബാക്കപ്പിൽ നിന്ന് പുനഃസ്ഥാപിക്കുന്നത്, നിങ്ങളുടെ നിലവിലുള്ള Linux ആപ്പുകളെയും നിങ്ങളുടെ Linux ഫയലുകളുടെ ഫോൾഡറിലെ ഡാറ്റയും ഇല്ലാതാക്കും.</translation>
@@ -2097,6 +2099,7 @@
 <translation id="3412265149091626468">തിരഞ്ഞെടുക്കുന്നതിലേക്ക് പോകുക</translation>
 <translation id="3413122095806433232">CA നല്‍‌കുന്നയാളുകള്‍‌: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">വലുപ്പം:</translation>
+<translation id="3414966631182382431">നിങ്ങളുടെ <ph name="BEGIN_LINK" />ബ്രൗസർ മാനേജ് ചെയ്യുന്നത്<ph name="END_LINK" /><ph name="MANAGER" /> ആണ്</translation>
 <translation id="3416468988018290825">എപ്പോഴും പൂർണ്ണ URL-കൾ കാണിക്കുക</translation>
 <translation id="3417835166382867856">ടാബുകൾ തിരയുക</translation>
 <translation id="3417836307470882032">24 മണിക്കൂര്‍ ക്ലോക്ക്</translation>
@@ -3171,6 +3174,7 @@
 <translation id="4651484272688821107">ഡെമോ മോഡ് ഉറവിടങ്ങൾ ഉപയോഗിച്ച് ഓൺലൈൻ ഘടകം ലോഡ് ചെയ്യാനായില്ല.</translation>
 <translation id="4652935475563630866">ക്യാമറാ ക്രമീകരണത്തിൽ മാറ്റം വരുത്തിയത് കാരണം Parallels Desktop വീണ്ടും ആരംഭിക്കേണ്ടതുണ്ട്. തുടരാൻ, Parallels Desktop വീണ്ടും ആരംഭിക്കുക.</translation>
 <translation id="4653405415038586100">Linux കോൺഫിഗർ ചെയ്യുന്നതിൽ പിശക്</translation>
+<translation id="4657914796247705218">TrackPoint വേഗത</translation>
 <translation id="465878909996028221">http, https എന്നിവയും ഫയൽ പ്രോട്ടോകോളുകളും മാത്രമേ ബ്രൗസർ റീഡയറക്റ്റുകളിൽ പിന്തുണയ്ക്കൂ.</translation>
 <translation id="4659077111144409915">പ്രാഥമിക അക്കൗണ്ട്</translation>
 <translation id="4659126640776004816">നിങ്ങളുടെ Google അക്കൗണ്ടിൽ സൈൻ ഇൻ ചെയ്യുമ്പോൾ ഈ ഫീച്ചർ ഓണാകും.</translation>
@@ -3830,6 +3834,7 @@
 <translation id="5470735824776589490">പവർവാഷ് ഉപയോഗിച്ച് നിങ്ങളുടെ ഉപകരണം റീസെറ്റ് ചെയ്യുന്നതിന് മുമ്പ് റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്. <ph name="LINK_BEGIN" />കൂടുതലറിയുക<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">അവിടെയുണ്ടോ! ഞാനാണ് നിങ്ങളുടെ ടെക്‌സ്റ്റ് ടു സ്‌പീച്ച് വോയ്‌സ്.</translation>
 <translation id="5472627187093107397">ഈ സൈറ്റിനുള്ള പാസ്‌വേഡുകൾ സംരക്ഷിക്കുക</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{പിന്നിൽ ഒരു പ്രതീകമെങ്കിലും ഉണ്ടാകണം}other{പിന്നിൽ # പ്രതീകങ്ങളെങ്കിലും ഉണ്ടാകണം}}</translation>
 <translation id="5473333559083690127">പുതിയ പിൻ വീണ്ടും നൽകുക</translation>
 <translation id="5481273127572794904">ഒന്നിലധികം ഫയലുകൾ സ്വയമേവ ഡൗൺലോഡ് ചെയ്യാൻ അനുവാദമില്ല</translation>
 <translation id="5481941284378890518">സമീപത്തുള്ള പ്രിന്ററുകൾ ചേർക്കുക</translation>
@@ -4371,6 +4376,7 @@
 <translation id="6087960857463881712">മനോഹരമായ മുഖം</translation>
 <translation id="6091761513005122595">പങ്കിടൽ വിജയകരമായി മൗണ്ട് ചെയ്തു.</translation>
 <translation id="6093888419484831006">അപ്‌ഡേറ്റ് റദ്ദാക്കുന്നു...</translation>
+<translation id="6095541101974653012">നിങ്ങൾ ലോഗൗട്ട് ചെയ്‌തിരിക്കുന്നു.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">വലുതാക്കി തുറക്കുക</translation>
 <translation id="6096326118418049043">X.500 നാമം</translation>
@@ -4704,6 +4710,7 @@
 <translation id="6474884162850599008">Google ഡ്രൈവ് അക്കൗണ്ട് വിച്ഛേദിക്കുക</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> നിങ്ങളുടെ സ്‌‌ക്രീനിലെ ഉള്ളടക്കം പങ്കിടാൻ താൽപ്പര്യപ്പെടുന്നു. പങ്കിടാൻ താൽപ്പര്യപ്പെടുന്നത് തിരഞ്ഞെടുക്കുക.</translation>
 <translation id="6478248366783946499">അപകടകരമായ ഫയൽ സൂക്ഷിക്കണോ?</translation>
+<translation id="6480327114083866287"><ph name="MANAGER" /> മാനേജ് ചെയ്യുന്നത്</translation>
 <translation id="6483485061007832714">ഡൗൺലോഡ് തുറക്കുക</translation>
 <translation id="6483805311199035658"><ph name="FILE" /> തുറക്കുന്നു...</translation>
 <translation id="6488384360522318064">ഭാഷ തിരഞ്ഞെടുക്കുക</translation>
@@ -4892,6 +4899,7 @@
 <translation id="671928215901716392">സ്‌ക്രീൻ ലോക്കുചെയ്യുക</translation>
 <translation id="6721678857435001674">നിങ്ങളുടെ സുരക്ഷാ കീയുടെ നിർമ്മാണവും മോഡലും കാണുക</translation>
 <translation id="6721972322305477112">&amp;ഫയല്‍</translation>
+<translation id="672208878794563299">ഈ സൈറ്റ് അടുത്ത തവണ വീണ്ടും ആവശ്യപ്പെടും.</translation>
 <translation id="672213144943476270">ഒരു അതിഥിയായി ബ്രൗസിംഗ് ആരംഭിക്കുന്നതിന് മുമ്പ് നിങ്ങളുടെ പ്രൊഫൈൽ അൺലോക്ക് ചെയ്യുക.</translation>
 <translation id="6723661294526996303">ബുക്ക്മാർക്കുകളും ക്രമീകരണവും ഇംപോർട്ട് ചെയ്യുക...</translation>
 <translation id="6723839937902243910">പവർ</translation>
@@ -6292,6 +6300,7 @@
 <translation id="8317671367883557781">നെറ്റ്‌വർക്ക് കണക്ഷൻ ചേർക്കുക</translation>
 <translation id="8319414634934645341">വിപുലീകരിച്ച കീ ഉപയോഗം</translation>
 <translation id="8320459152843401447">നിങ്ങളുടെ മുഴുവൻ സ്‌ക്രീനും</translation>
+<translation id="8321837372750396788">ഈ <ph name="DEVICE_TYPE" /> മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്.</translation>
 <translation id="8322814362483282060">നിങ്ങളുടെ മൈക്രോഫോൺ ആക്‌സസ്സുചെയ്യുന്നതിൽ നിന്ന് ഈ പേജിനെ തടഞ്ഞിരിക്കുന്നു.</translation>
 <translation id="8323167517179506834">URL ടൈപ്പുചെയ്യുക</translation>
 <translation id="8324784016256120271">വ്യത്യസ്‌ത സൈറ്റുകളിലുടനീളമുള്ള നിങ്ങളുടെ ബ്രൗസിംഗ് ആക്റ്റിവിറ്റി കാണാൻ സൈറ്റുകൾക്ക് കുക്കികൾ ഉപയോഗിക്കാനാവും, ഉദാഹരണത്തിന്, പരസ്യങ്ങൾ വ്യക്തിപരമാക്കാൻ</translation>
@@ -6599,6 +6608,7 @@
 <translation id="8698269656364382265">മുമ്പത്തെ സ്ക്രീനിലേക്ക് മടങ്ങാൻ ഇടതുവശത്ത് നിന്ന് സ്വൈപ്പ് ചെയ്യുക.</translation>
 <translation id="869884720829132584">അപ്ലിക്കേഷനുക‌ള്‍‌ മെനു</translation>
 <translation id="869891660844655955">കാലഹരണപ്പെടല്‍‌ തീയതി</translation>
+<translation id="8702825062053163569">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> ലോക്ക് ചെയ്തിരിക്കുന്നു.</translation>
 <translation id="8703346390800944767">പരസ്യം ഒഴിവാക്കുക</translation>
 <translation id="8705331520020532516">സീരിയല്‍‌ നമ്പര്‍‌</translation>
 <translation id="8705580154597116082">ഫോൺ വഴി ലഭ്യമായ വൈഫൈ</translation>
diff --git a/chrome/app/resources/generated_resources_mn.xtb b/chrome/app/resources/generated_resources_mn.xtb
index a27b6dc6..d2ea050 100644
--- a/chrome/app/resources/generated_resources_mn.xtb
+++ b/chrome/app/resources/generated_resources_mn.xtb
@@ -885,7 +885,7 @@
 <translation id="1984417487208496350">Хамгаалалт байхгүй (зөвлөдөггүй)</translation>
 <translation id="1987317783729300807">Хаяг</translation>
 <translation id="1989112275319619282">Хөтлөх</translation>
-<translation id="1990512225220753005">Энэ хуудсан дээр товчлолыг бүү үзүүл</translation>
+<translation id="1990512225220753005">Энэ хуудсан дээр товчлолыг бүү харуул</translation>
 <translation id="1992397118740194946">Суугдаагүй</translation>
 <translation id="1992924914582925289">Төхөөрөмжөөс хасах</translation>
 <translation id="1994173015038366702">Сайтын URL</translation>
@@ -1608,7 +1608,7 @@
 <translation id="2809586584051668049">ба <ph name="NUMBER_ADDITIONAL_DISABLED" /> дэлгэрэнгүй</translation>
 <translation id="2810390687497823527">Хэрэв та өргөтгөлийг танихгүй эсвэл таны хөтөч сайн ажиллахгүй байвал та өргөтгөлийг эндээс унтраах эсвэл өөрчлөх боломжтой.</translation>
 <translation id="2812049959647166806">Thunderbolt-г дэмждэггүй</translation>
-<translation id="2812989263793994277">Зургийг бүү үзүүл</translation>
+<translation id="2812989263793994277">Зургийг бүү харуул</translation>
 <translation id="2813094189969465044">Эцэг эхийн хяналт</translation>
 <translation id="281390819046738856">Хүсэлтийг гүйцэтгэх боломжгүй байна.</translation>
 <translation id="2814489978934728345">Энэ хуудсыг ачааллахаа зогсоо</translation>
@@ -3017,7 +3017,7 @@
 <translation id="4488502501195719518">Бүх өгөгдлийг устгах уу?</translation>
 <translation id="449232563137139956">Сайтууд ихэвчлэн онлайн дэлгүүрийн эсвэл мэдээний нийтлэлийн зураг зэрэг зурагт тайлбар өгөхийн тулд зураг харуулдаг</translation>
 <translation id="4493468155686877504">Санал болгосон (<ph name="INSTALL_SIZE" />)</translation>
-<translation id="4495419450179050807">Энэ хуудсан дээр бүү үзүүл</translation>
+<translation id="4495419450179050807">Энэ хуудсан дээр бүү харуул</translation>
 <translation id="4496054781541092778"><ph name="PERMISSION" />-г автоматаар блоклосон</translation>
 <translation id="4500114933761911433"><ph name="PLUGIN_NAME" /> гэмтсэн байна</translation>
 <translation id="450099669180426158">Анхаарлын тэмдэгийн дүрс</translation>
@@ -3457,7 +3457,7 @@
 <translation id="5019392775062123007">Ойролцоох төхөөрөмжүүдэд <ph name="DEVICE_NAME" /> нэрээр харагдана</translation>
 <translation id="5021750053540820849">Хараахан шинэчлэгдээгүй</translation>
 <translation id="5026806129670917316">Wi-Fi асаах</translation>
-<translation id="5026874946691314267">Үүнийг дахин бүү үзүүл</translation>
+<translation id="5026874946691314267">Үүнийг дахиж бүү харуул</translation>
 <translation id="5027550639139316293">И-мэйлийн гэрчилгээ</translation>
 <translation id="5027562294707732951">Өргөтгөл нэмэх</translation>
 <translation id="5029568752722684782">Хуулбарыг арилгах</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index 2f81944..cf2e9ea 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -266,6 +266,7 @@
 <translation id="1292849930724124745">साइन इन केलेले राहण्यासाठी स्मार्ट कार्ड घाला</translation>
 <translation id="1293264513303784526">USB-C डिव्‍हाइस (डावे पोर्ट)</translation>
 <translation id="1293556467332435079">Files</translation>
+<translation id="1294807885394205587">या प्रक्रियेला काही मिनिटे लागू शकतात. कंटेनर व्यवस्थापक सुरू करत आहे.</translation>
 <translation id="1296911687402551044">निवडलेला टॅब पिन करा</translation>
 <translation id="1297175357211070620">गंतव्य</translation>
 <translation id="1300415640239881824">संरक्षित आशयाची अधिक चांगल्या प्लेबॅकसाठी पात्रता निर्धारित करण्यासाठी <ph name="DOMAIN" /> ला तुमच्या डिव्हाइसची Google कडून ओळख पडताळणी करून हवी आहे.</translation>
@@ -934,6 +935,7 @@
 <translation id="2046702855113914483">रामेन</translation>
 <translation id="204706822916043810">व्हर्च्युअल मशीन तपासत आहे</translation>
 <translation id="2048182445208425546">तुमच्या नेटवर्क रहदारी ॲक्सेस करा</translation>
+<translation id="2048554637254265991">कंटेनर व्यवस्थापक सुरू करताना एरर आली. कृपया पुन्हा प्रयत्न करा.</translation>
 <translation id="2048653237708779538">कृती उपलब्ध नाही</translation>
 <translation id="204914487372604757">शॉर्टकट तयार करा </translation>
 <translation id="2050339315714019657">पोर्ट्रेट</translation>
@@ -1134,6 +1136,7 @@
 <translation id="2276503375879033601">अधिक ॲप्लिकेशन जोडा</translation>
 <translation id="2277255602909579701">सर्व कुकीज आणि साइट डेटा</translation>
 <translation id="2278562042389100163">ब्राउझर विंडो उघडा</translation>
+<translation id="2278668501808246459">कंटेनर व्यवस्थापक सुरू करत आहे</translation>
 <translation id="2280486287150724112">उजवा समास</translation>
 <translation id="2282146716419988068">GPU प्रक्रिया</translation>
 <translation id="2282155092769082568">स्वयंकॉन्फिगरेशन URL:</translation>
@@ -1237,7 +1240,7 @@
 <translation id="2395616325548404795">एंटरप्राइझ व्यवस्‍थापनासाठी आपल्या <ph name="DEVICE_TYPE" /> ची यशस्वीरित्या नोंदणी केली आहे परंतु त्याची मालमत्ता आणि स्थान माहिती पाठविण्यात अयशस्वी झाले. कृपया या डिव्हाइससाठी आपल्या Admin console मधून ही माहिती व्यक्तीचलितरित्या प्रविष्‍ट करा.</translation>
 <translation id="2396387085693598316">तुमच्या अ‍ॅडमिनने "<ph name="EXTENSION_NAME" />" ब्लॉक केले आहे</translation>
 <translation id="2396783860772170191">चार अंकी पिन एंटर करा (००००-९९९९)</translation>
-<translation id="2399699884460174994">सूचना केल्या आहेत</translation>
+<translation id="2399699884460174994">सूचना सुरू केल्या आहेत</translation>
 <translation id="2399939490305346086">सिक्युरिटी की साइन इन डेटा</translation>
 <translation id="2400664245143453337">त्वरित अपडेट आवश्यक आहे</translation>
 <translation id="2408018932941436077">कार्ड सेव्ह करत आहे</translation>
@@ -4310,7 +4313,7 @@
 <translation id="6031600495088157824">टूलबारमध्ये इनपुट पर्याय</translation>
 <translation id="6032715498678347852">या साइटला एक्स्टेंशन अ‍ॅक्सेस देण्यासाठी, त्यावर क्लिक करा.</translation>
 <translation id="6032912588568283682">फाइल सिस्‍टिम</translation>
-<translation id="603539183851330738">पहिल्यासारखे करा ऑटोकरेक्ट बटण. <ph name="TYPED_WORD" /> वर परत जा.  अ‍ॅक्टिव्हेट करण्यासाठी एंटर आणि डिसमिस करण्यासाठी escape दाबा.</translation>
+<translation id="603539183851330738">पहिल्यासारखे करा ऑटोकरेक्ट बटण. <ph name="TYPED_WORD" /> वर परत जा.  अ‍ॅक्टिव्हेट करण्यासाठी एंटर आणि डिसमिस करण्यासाठी एस्केप दाबा.</translation>
 <translation id="6035517790085323771">तुमच्या डिव्हाइससह कोण शेअर करू शकते</translation>
 <translation id="6038929619733116134">साइट अनाहूत किंवा दिशाभूल करणाऱ्या जाहिराती दाखवत असल्यास ब्लॉक करा</translation>
 <translation id="6039651071822577588">नेटवर्क प्रॉपर्टी शब्दकोश विकृत झाला आहे</translation>
@@ -4413,6 +4416,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />, कोणतेही नेटवर्क नाही</translation>
 <translation id="6141988275892716286">डाउनलोड करण्याचे निश्चित करा</translation>
 <translation id="6143186082490678276">मदत मिळवा</translation>
+<translation id="6143366292569327983">ज्यातून भाषांतर करायचे आहे ती पेज भाषा निवडा</translation>
 <translation id="6144938890088808325">Chromebooks सुधारण्यात आम्हाला मदत करा</translation>
 <translation id="6147020289383635445">प्रिंट पूर्वावलोकन अयशस्वी.</translation>
 <translation id="6148576794665275391">आता उघडा</translation>
@@ -6110,6 +6114,7 @@
 <translation id="810728361871746125">डिस्प्ले रिझोल्युशन</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{कोणत्याही तृतीय पक्ष कुकी नाहीत}=1{१ तृतीय पक्ष कुकी ब्लॉक केली आहे}other{# तृतीय पक्ष कुकी ब्लॉक केल्या आहेत}}</translation>
 <translation id="810875025413331850">कोणतीही जवळपासची डिव्हाइस आढळली नाहीत.</translation>
+<translation id="8109109153262930486">डीफॉल्ट अवतार</translation>
 <translation id="8110489095782891123">संपर्क सूची डाउनलोड करत आहे...</translation>
 <translation id="8113476325385351118">या साइटला MIDI डिव्हाइसचे पूर्ण नियंत्रण असण्यापासून ब्लॉक करणे पुढे सुरू ठेवा</translation>
 <translation id="8114199541033039755">टॅबलेट मोडमध्ये बटणांनी होम, परत जा वर नेव्हिगेट करा आणि अ‍ॅप्स स्विच करा. ChromeVox किंवा ऑटोमॅटिक क्लिक सुरू केले असताना सुरू केले जाते.</translation>
diff --git a/chrome/app/resources/generated_resources_ne.xtb b/chrome/app/resources/generated_resources_ne.xtb
index 701972b0..fc2c0faf 100644
--- a/chrome/app/resources/generated_resources_ne.xtb
+++ b/chrome/app/resources/generated_resources_ne.xtb
@@ -84,6 +84,7 @@
 <translation id="1091767800771861448">(गैर-आधिकारिक बिल्डहरू मात्र) छोड्न ESCAPE थिच्नुहोस्।</translation>
 <translation id="1093457606523402488">दर्शनीय नेटवर्कहरू:</translation>
 <translation id="1094607894174825014">पढ्ने वा लेख्ने कार्य अमान्य अफसेटसहित "<ph name="DEVICE_NAME" />" मा अनुरोध गरिएको थियो</translation>
+<translation id="1095761715416917775">तपाईं आफूले सिंक गरेको डेटा जुनसुकै बेला प्रयोग गर्न सक्नुहुन्छ भन्ने कुरा सुनिश्चित गर्नुहोस्</translation>
 <translation id="109647177154844434">Parallels Desktop अनइन्स्टल गर्नुले तपाईंको Windows इमेज मेटाउने छ। यसमा Windows का एप, सेटिङ र डेटा समावेश हुन्छन्। तपाईंले Parallels Desktop अनइन्स्टल गर्न खोज्नुभएकै हो?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{एउटा लिंक}other{# वटा लिंक}}</translation>
 <translation id="1097658378307015415">साइन इन गर्नुअघि, कृपया सञ्जाल <ph name="NETWORK_ID" /> सक्रिय गर्नको लागि पाहुनाको रूपमा प्रवेश गर्नुहोस्</translation>
@@ -102,6 +103,7 @@
 <translation id="1116639326869298217">तपाईंको पहिचान पुष्टि गर्न सकिएन</translation>
 <translation id="1116694919640316211">बारेमा</translation>
 <translation id="1116779635164066733">"<ph name="NAME" />" विस्तारले यो सेटिङ लागू गर्छ।</translation>
+<translation id="1116811861615819198">तपाईंले जुन यन्त्रसँग यो फाइल सेयर गर्न चाहनुहुन्छ उक्त यन्त्रबाट कुनै प्रतिक्रिया प्राप्त भएन</translation>
 <translation id="1118738876271697201">प्रणालीले यन्त्रको मोडल वा क्रम सङ्ख्या निर्धारण गर्न सकेन।</translation>
 <translation id="1119447706177454957">आन्तरिक त्रुटि</translation>
 <translation id="1122068467107743258">कार्य प्रोफाइल</translation>
@@ -118,6 +120,7 @@
 <translation id="1128591060186966949">खोज इन्जिनलाई सम्पादन गर्नुहोस्</translation>
 <translation id="1129850422003387628">एपहरू व्यवस्थापन गर्नुहोस्</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - समूहको अंश <ph name="GROUP_NAME" /></translation>
+<translation id="1130712065489627903">तपाईं अब आफ्नो फोनका सूचनाहरू <ph name="DEVICE_TYPE" /> मा प्राप्त गर्न सक्नुहुन्छ। तपाईंले <ph name="DEVICE_TYPE" /> मा देखाइने सूचनाहरू हटाउनुभयो भने ती सूचना तपाईंको फोनबाट पनि हट्ने छन्। तपाईंको फोन नजिकै छ, अनलक गरिएको छ र त्यसको ब्लुटुथ र Wi-Fi अन छ भन्ने कुरा सुनिश्चित गर्नुहोस्।</translation>
 <translation id="1134009406053225289">इन्कोग्निटो विन्डोमा खोल्नुहोस्</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_COUNT" /> मध्ये <ph name="EMOJI_INDEX" />।</translation>
 <translation id="1136712381129578788">अत्यन्तै धेरै पटक गलत PIN प्रविष्टि गरिएका कारण सुरक्षा साँचो लक गरिएको छ। यसलाई अनलक गर्न उक्त PIN हटाई पुनः प्रविष्टि गर्नुहोस्।</translation>
@@ -129,6 +132,7 @@
 <translation id="114036956334641753">अडियो तथा क्याप्सनहरू</translation>
 <translation id="1140746652461896221">तपाईं जाने जुनसुकै पृष्ठका सामग्रीलाई रोक लगाउने</translation>
 <translation id="1143142264369994168">प्रमाणपत्र साइनर</translation>
+<translation id="1143816224540441191">{NUM_MINS,plural, =1{Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • १ मिनेटअघि जाँच गरिएको}other{Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • {NUM_MINS} मिनेटअघि जाँच गरिएको}}</translation>
 <translation id="1145292499998999162">प्लगइन रोकियो</translation>
 <translation id="1145593918056169051">प्रिन्टरले काम गरेको छैन</translation>
 <translation id="114721135501989771">Chrome मा Google स्मार्ट प्राप्त गर्नुहोस्‌</translation>
@@ -141,6 +145,7 @@
 <translation id="1151917987301063366"><ph name="HOST" /> लाई सेन्सरहरूमाथि पहुँच राख्न सधै अनुमति दिनुहोस्‌</translation>
 <translation id="1153356358378277386">जोडा बनाइएका यन्त्रहरू</translation>
 <translation id="1153636665119721804">Google को सुरक्षासम्बन्धी उन्नत सुविधा कार्यक्रम</translation>
+<translation id="1155816283571436363">तपाईंको फोनसँग कनेक्ट गरिँदै छ</translation>
 <translation id="1161575384898972166">ग्राहक प्रमाणपत्र निर्यात गर्नको लागि कृपया <ph name="TOKEN_NAME" /> मा साइन इन गर्नुहोस्।</translation>
 <translation id="1163931534039071049">&amp;फ्रेम स्रोत हेर्नुहोस्</translation>
 <translation id="1164891049599601209">भ्रामक साइटमा प्रविष्टि गरिएको</translation>
@@ -170,6 +175,9 @@
 <translation id="1188807932851744811">लग अपलोड गरिएन।</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{तपाईं # सेकेन्डमा स्वतः साइन आउट हुनु हुने छ।
+<ph name="DOMAIN" /> मा तपाईंले आफ्नो स्मार्ट कार्ड इन्सर्ट गरिराख्नु पर्ने हुन्छ।}}</translation>
 <translation id="1193273168751563528">व्यवस्थित सत्रमा प्रवेश गर्नुहोस्</translation>
 <translation id="1193927020065025187">यो साइटले तपाईंलाई झुक्याएर हस्तक्षेपकारी सूचना देखाउने अनुमति प्राप्त गर्न खोजिरहेको हुन सक्छ</translation>
 <translation id="1195447618553298278">अज्ञात त्रुटि:</translation>
@@ -253,6 +261,7 @@
 <translation id="1285484354230578868">तपाईंको गूगल ड्राइभ खातामा डाटा भण्डार गर्नुहोस्</translation>
 <translation id="1288037062697528143">रात्रि प्रकाश सूर्यास्तको बेला स्वतः सक्रिय हुने छ</translation>
 <translation id="1288300545283011870">बोलीका गुणहरू</translation>
+<translation id="1292849930724124745">साइन इन रहिरहन स्मार्ट कार्ड इन्सर्ट गर्नुहोस्</translation>
 <translation id="1293264513303784526">USB-C यन्त्र (बायाँ पोर्ट)</translation>
 <translation id="1293556467332435079">फाइलहरू</translation>
 <translation id="1294807885394205587">यो प्रक्रिया पूरा हुन केही बेर लाग्न सक्छ। कन्टेनर म्यानेजर सुरु गरिँदै छ।</translation>
@@ -366,6 +375,15 @@
 <translation id="1420834118113404499">मिडियाका इजाजतपत्रहरू</translation>
 <translation id="1420920093772172268">जोडा बनाउने प्रक्रियालाई अनुमति दिन <ph name="TURN_ON_BLUETOOTH_LINK" /></translation>
 <translation id="1422159345171879700">असुरक्षित स्क्रिप्टहरू लोड गर्नुहोस्</translation>
+<translation id="1423716227250567100">तपाईंले यसो गर्नुभयो भने:
+          <ph name="LINE_BREAKS" />
+           • Chrome का सेटिङ तथा Chrome सर्टकटहरू रिसेट हुने छन्
+           <ph name="LINE_BREAK" />
+           • एक्स्टेन्सनहरू अफ हुने छन्
+           <ph name="LINE_BREAK" />
+           • कुकी तथा साइटका अन्य अस्थायी डेटा मेटिने छन्
+            <ph name="LINE_BREAKS" />
+           बुकमार्क, इतिहास तथा सुरक्षित गरिएका पासवर्डहरूमा केही पनि असर पर्ने छैन।</translation>
 <translation id="1426410128494586442">हो</translation>
 <translation id="142655739075382478"><ph name="APP_NAME" /> माथि रोक लगाइएको छ</translation>
 <translation id="1426870617281699524">फेरि प्रयास गर्नुहोस् नामक बटनमा क्लिक गर्नुहोस् र आफ्नो कम्प्युटरमा प्रम्प्टलाई स्वीकार गर्नुहोस्</translation>
@@ -791,6 +809,7 @@
 <translation id="1887597546629269384">फेरि "Hey Google" भन्नुहोस्</translation>
 <translation id="1887850431809612466">हार्डवेयरको पुनरावृत्ति</translation>
 <translation id="1890674179660343635">&lt;span&gt;ID: &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">डिस्कमा खाली ठाउँ अत्यन्त कम छ। कृपया डिस्कमा ठाउँ खाली गर्नुहोस्।</translation>
 <translation id="189210018541388520">पूर्ण स्क्रिनमा खोल्नुहोस्</translation>
 <translation id="1892341345406963517">नमस्ते <ph name="PARENT_NAME" /></translation>
 <translation id="189358972401248634">अन्य भाषाहरू</translation>
@@ -1009,6 +1028,7 @@
 <translation id="2157474325782140681">अतिरिक्त सुविधाहरू प्राप्त गर्न यो Chromebook का लागि उपयुक्त हुने गरी डिजाइन गरिएको Dell डकिङ स्टेसन प्रयोग गर्नुहोस्।</translation>
 <translation id="215753907730220065">पूरा स्क्रिन मोडबाट निस्कनुहोस्</translation>
 <translation id="2157875535253991059">यो पृष्ठ अभ फुल स्क्रिन छ।</translation>
+<translation id="2160589599612868242">आफ्नो फोनका सूचनाहरू <ph name="DEVICE_TYPE" /> मा प्राप्त गर्नुहोस्</translation>
 <translation id="216169395504480358">Wi-Fi थप्नुहोस्...</translation>
 <translation id="2162155940152307086">तपाईंले सिंकसम्बन्धी सेटिङहरूको पृष्ठ छोडेपछि सिंक सुरु हुने छ</translation>
 <translation id="2162838847352058695">साइटहरूलाई एकभन्दा बढी फाइल स्वतः डाउनलोड गर्न नदिनुहोस्</translation>
@@ -1017,6 +1037,7 @@
 <translation id="2165421703844373933">"Ok Google" भनेर आफ्नो सहायकमाथि पहुँच राख्नुहोस्। ब्याट्रीको खपत कम गर्न “सक्रिय (सिफारिस गरिएको)” छनौट गर्नुहोस्। तपाईंको सहायकले तपाईंको यन्त्र बिजुलीको प्लगमा जोडिएको वा चार्ज भइरहेको बेलामा मात्र जवाफ दिने छ।</translation>
 <translation id="2166369534954157698">अ आ इ ई उ ऊ ए ऐ ओ औ अं अ: क ख ग घ ङ</translation>
 <translation id="2169062631698640254">कुनैपनि अवस्थामा साइन इन गर्नुहोस्</translation>
+<translation id="2170054054876170358">तपाईंको फोन नजिकै छ, अनलक गरिएको छ र त्यसको ब्लुटुथ र Wi-Fi अन छ भन्ने कुरा सुनिश्चित गर्नुहोस्।</translation>
 <translation id="2172784515318616985">जारी राख्नुहोस्</translation>
 <translation id="2173302385160625112">आफ्नो इन्टरनेट जडानको जाँच गर्नुहोस्</translation>
 <translation id="2173801458090845390">यो यन्त्रमा माग ID थप्नुहोस्‌</translation>
@@ -1125,6 +1146,7 @@
 <translation id="2292848386125228270">कृपया एउटा सामान्य प्रयोगकर्ताको रूपमा <ph name="PRODUCT_NAME" /> सुरु गर्नुहोस्। तपाईंले सफ्टवेयरका विकासका लागि रूटको रूपमा सञ्चालन गर्ने आवश्यकता भएमा --no-sandbox फ्ल्याग मार्फत पुनःसञ्चालन गर्नुहोस्।</translation>
 <translation id="2294358108254308676">के तपाइँ <ph name="PRODUCT_NAME" /> स्थापना गर्न चाहनुहुन्छ?</translation>
 <translation id="2295864384543949385"><ph name="NUM_RESULTS" /> परिणामहरू</translation>
+<translation id="2296099049346876573">{NUM_HOURS,plural, =1{Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • १ घन्टाअघि जाँच गरिएको}other{Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • {NUM_HOURS} घन्टाअघि जाँच गरिएको}}</translation>
 <translation id="2297705863329999812">प्रिन्टरहरू खोज्नुहोस्</translation>
 <translation id="2299734369537008228">स्लाइडर: <ph name="MIN_LABEL" /> देखि <ph name="MAX_LABEL" /> सम्म</translation>
 <translation id="2299941608784654630">debugd ले सङ्कलन गरेका सबै लग फाइलहरूलाई बेग्लै अभिलेखका रूपमा समावेश गरियोस्।</translation>
@@ -1215,12 +1237,14 @@
 <translation id="2395616325548404795">तपाईँको <ph name="DEVICE_TYPE" /> लाई सफलतापूर्वक इन्टरप्राइज व्यवस्थापनमा दर्ता गरिएको छ तर यसको सम्पत्ति र स्थान जानकारी पठाउन सकिएन। कृपया यस यन्त्रको तपाईँको प्रशासकीय कन्सोलबाट यो जानकारी म्यानुअल तरिकाले प्रविष्टि गर्नुहोस्।</translation>
 <translation id="2396387085693598316">तपाईंका प्रशासकले "<ph name="EXTENSION_NAME" />" माथि रोक लगाउनुभएको छ</translation>
 <translation id="2396783860772170191">चार अङ्कको पिन (००००-९९९९) प्रविष्टि गर्नुहोस्</translation>
+<translation id="2399699884460174994">सूचनाहरू अन गरिए</translation>
 <translation id="2399939490305346086">सुरक्षा साँचोको साइन इनसम्बन्धी डेटा</translation>
 <translation id="2400664245143453337">तत्काल अद्यावधिक गर्न आवश्यक छ</translation>
 <translation id="2408018932941436077">कार्ड सुरक्षित गर्दै</translation>
 <translation id="2408955596600435184">आफ्नो PIN प्रविष्टि गर्नुहोस्</translation>
 <translation id="241082044617551207">अज्ञात प्लगइन</translation>
 <translation id="2412593942846481727">अद्यावधिक उपलब्ध छ</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">किबोर्डका फङ्सन कुञ्जीहरू</translation>
 <translation id="241727068219398187">Google को तपाईंको पासवर्डमार्फत <ph name="TIME" /> सम्मका डेटा
           इन्क्रिप्ट गरियो। यसअन्तर्गत Google Pay का भुक्तानी विधि र ठेगानाहरू समावेश हुँदैनन्।</translation>
@@ -1286,6 +1310,7 @@
 <translation id="248003956660572823">पासवर्डहरू सुरक्षित गर्न सकिएन</translation>
 <translation id="2480868415629598489">तपाईंले प्रतिलिपि गरी टाँस्नुभएको डेटालाई परिमार्जन गर्नुहोस्</translation>
 <translation id="2482878487686419369">सूचनाहरू</translation>
+<translation id="2482895651873876648">यो ट्याब <ph name="GROUP_NAME" /> समूहमा सारियो - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="2484959914739448251">तपाईंका सिंक गरिएका सबै यन्त्र र Google खाताबाट ब्राउजिङ डेटा खाली गर्न <ph name="BEGIN_LINK" />आफ्नो पासफ्रेज प्रविष्टि गर्नुहोस्<ph name="END_LINK" />।</translation>
 <translation id="2485005079599453134">यो यन्त्रमा पासवर्ड सुरक्षित गरियो</translation>
 <translation id="2485394160472549611">तपाईंका लागि छनौट गरिएका उत्कृष्ट विकल्पहरू</translation>
@@ -1345,6 +1370,7 @@
 <translation id="2538084450874617176">यो <ph name="DEVICE_TYPE" /> कसले चलाउँदै हुनुहुन्छ?</translation>
 <translation id="2538361623464451692">सिंक असक्षम पारियो</translation>
 <translation id="2540449034743108469">विस्तारसम्बन्धी गतिविधि सुन्न सुरु गर्न "सुरु गर्नुहोस्" मा थिच्नुहोस्</translation>
+<translation id="2540651571961486573">केही चिज गडबड भयो। त्रुटिसम्बन्धी कोड: <ph name="ERROR_CODE" />।</translation>
 <translation id="2541002089857695151">पूर्ण स्क्रिनमा cast गर्ने सुविधा अप्टिमाइज गर्ने हो?</translation>
 <translation id="2541706104884128042">सुत्ने समयको सीमा अद्यावधिक गरियो</translation>
 <translation id="2542050502251273923">यसले ff_debug प्रयोग गरी नेटवर्क कनेक्सन म्यानेजर तथा अन्य सेवाहरूको डिबग प्रक्रियाको स्तर निर्धारण गर्छ।</translation>
@@ -1392,6 +1418,7 @@
 <translation id="2607101320794533334">विषय सार्वजनिक कुञ्जी जानकारी</translation>
 <translation id="2607968157341167679">कुनै पनि एल्बम छैन। <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" /> मा एउटा एल्बम बनाउनुहोस्।</translation>
 <translation id="2609896558069604090">सर्टकटहरू सिर्जना गर्नुहोस्...</translation>
+<translation id="2609980095400624569">कनेक्ट गर्न सकिएन</translation>
 <translation id="2610157865375787051">शयन अवस्थामा लानुहोस्</translation>
 <translation id="2610260699262139870">वा&amp;स्तविक परिमाण</translation>
 <translation id="2610780100389066815">Microsoft विश्वास सूची साइनिङ</translation>
@@ -1407,6 +1434,7 @@
 <translation id="262373406453641243">Colemak</translation>
 <translation id="2624142942574147739">यो पृष्ठले तपाईंको क्यामेरा र माइक्रोफोनको पहुँच गरिरहेको छ।</translation>
 <translation id="2626799779920242286">कृपया पछि पुन: प्रयास गर्नुहोस्।</translation>
+<translation id="2627424346328942291">सेयर गर्न सकिएन</translation>
 <translation id="2628770867680720336">ADB डिबग प्रक्रिया सक्षम पार्न यो Chromebook को सेटिङ रिसेट गरी फ्याक्ट्री संस्करणमा लैजानु पर्ने हुन्छ। <ph name="BEGIN_LINK_LEARN_MORE" />थप जान्नुहोस्<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="2629227353894235473">Android एपहरू बनाउनुहोस्</translation>
 <translation id="2630681426381349926">सुरु गर्नको लागि Wi-Fi मा जडान गर्नुहोस्</translation>
@@ -1434,6 +1462,7 @@
 <translation id="265390580714150011">फाँट मान</translation>
 <translation id="2654166010170466751">साइटहरूलाई भुक्तानी ह्यान्ड्लर स्थापना गर्न अनुमति दिनुहोस्‌</translation>
 <translation id="2654553774144920065">छपाइका लागि अनुरोध</translation>
+<translation id="2657807507504044638">कुनै eSIM प्रोफाइल उपलब्ध छैन। <ph name="BEGIN_LINK" />यहाँ<ph name="END_LINK" /> नयाँ प्रोफाइल डाउनलोड गर्नुहोस्</translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />यन्त्रअनुसार सुविधाहरू फरक हुन्छन्</translation>
 <translation id="2659971421398561408">Crostini का लागि छुट्याइएको डिस्कको आकार बदल्ने</translation>
 <translation id="2660779039299703961">घटना</translation>
@@ -1520,6 +1549,7 @@
 <translation id="2747266560080989517">यो फाइलमा संवेदनशील वा खतरनाक सामग्री छ। यसका मालिकलाई उक्त समस्या समाधान गर्न लगाउनुहोस्।</translation>
 <translation id="2748061034695037846"><ph name="DOMAIN" /> पज गरिएको छ</translation>
 <translation id="2749756011735116528"><ph name="PRODUCT_NAME" /> मा साइन इन गर्नुहोस्</translation>
+<translation id="2749836841884031656">SIM</translation>
 <translation id="2749881179542288782">व्याकरणसँगै हिज्जे पनि जाँच्नुहोस्</translation>
 <translation id="2751131328353405138">Linux कन्टेनरको sshfs माउन्ट हुँदै छ</translation>
 <translation id="2751739896257479635">EAP चरण २ प्रमाणीकरण</translation>
@@ -1574,6 +1604,7 @@
 <translation id="2805646850212350655">Microsoft गुप्तिकरण फाइल प्रणाली</translation>
 <translation id="2805756323405976993">एप्स</translation>
 <translation id="2805770823691782631">अतिरिक्त विवरणहरू</translation>
+<translation id="2806372837663997957">तपाईं जुन यन्त्रमा फाइल सेयर गर्न खोजिरहनुभएको छ उक्त यन्त्रले फाइल सेयर गर्ने अनुमति स्वीकार गरेन</translation>
 <translation id="2807517655263062534">तपाईंले डाउनलोड गरेका फाइलहरू यहाँ देखिन्छन्</translation>
 <translation id="2809586584051668049">र <ph name="NUMBER_ADDITIONAL_DISABLED" /> थप</translation>
 <translation id="2810390687497823527">तपाईंले कुनै एक्स्टेन्सन चिन्न सक्नुभएन भने वा तपाईंको ब्राउजरले अपेक्षा गरिएअनुसार काम गर्दै छैन भने तपाईं यहाँबाट एक्स्टेन्सनहरू निष्क्रिय पार्न वा तिनलाई आफूले रोजेअनुसार पार्न सक्नुहुन्छ।</translation>
@@ -1610,6 +1641,7 @@
 <translation id="2849936225196189499">नाजुक</translation>
 <translation id="2850541429955027218">विषयवस्तु थप्नुहोस्</translation>
 <translation id="2851634818064021665">यो साइटमा जान तपाईंलाई अनुमतिको आवश्यकता पर्छ</translation>
+<translation id="2851728849045278002">केही चिज गडबड भयो। थप विवरण प्राप्त गर्न क्लिक गर्नुहोस्।</translation>
 <translation id="2854896010770911740">तेस्रो पक्षीय कुकीहरू हटाउनुहोस्</translation>
 <translation id="2858138569776157458">शीर्ष साइटहरू</translation>
 <translation id="2861301611394761800">सिस्टम अपडेट पूरा भयो। कृपया सिस्टमलाई फेरि सुरु गर्नुहोस्।</translation>
@@ -1640,6 +1672,7 @@
 <translation id="2885729872133513017">सर्भरको जवाफ डिकोडिङ गर्ने क्रममा कुनै समस्या भयो।</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">कृपया लिङ्क खोल्नुहोस्...</translation>
+<translation id="2889481634493693121">आफ्नो फोनमा सूचनाहरू अन गर्नुहोस्</translation>
 <translation id="2889925978073739256">स्यान्डबक्स हटाइएका प्लगइनहरू रोक्न जारी राख्नुहोस्</translation>
 <translation id="2893168226686371498">पूर्वनिर्धारित ब्राउजर</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{एउटा पाठ}other{# वटा पाठ}}</translation>
@@ -1670,6 +1703,8 @@
 <translation id="2916073183900451334">वेबपृष्ठमा ट्याब थिच्नाले लिङ्कहरू हाइलाइट गर्छ, र फारम क्षेत्रमा पनि</translation>
 <translation id="2916745397441987255">विस्तारहरू खोज्नुहोस्</translation>
 <translation id="2921081876747860777">आफ्नो स्थानीय डेटाको सुरक्षा गर्न पासवर्ड सिर्जना गर्नुहोस्।</translation>
+<translation id="2923006468155067296">तपाईंको <ph name="DEVICE_TYPE" /> अब लक हुने छ।
+<ph name="DOMAIN" /> मा तपाईंले आफ्नो स्मार्ट कार्ड इन्सर्ट गरिराख्नु पर्ने हुन्छ।</translation>
 <translation id="2923234477033317484">यो खाता हटाउनुहोस्</translation>
 <translation id="2926085873880284723">पूर्वनिर्धारित सर्टकटहरू पुनर्स्थापना गर्नुहोस्</translation>
 <translation id="2927017729816812676">केस भण्डारण</translation>
@@ -1733,6 +1768,7 @@
 <translation id="3000461861112256445">मोनो अडियो</translation>
 <translation id="3001144475369593262">बाल खाताहरू</translation>
 <translation id="3003144360685731741">रुचाइएका नेटवर्कहरू</translation>
+<translation id="3003189754374775221"><ph name="NETWORK_COUNT" /> मध्ये <ph name="NETWORK_INDEX" /> औँ नेटवर्क, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, कनेक्ट गर्नुहोस्</translation>
 <translation id="3003623123441819449">CSS क्यास</translation>
 <translation id="3003828226041301643">यन्त्रलाई उक्त डोमेनसँग जोड्न सकिँदैन। तपाईंसँग यन्त्रहरू थप्न सक्ने विशेषाधिकारहरू छ वा छैन भनेर आफ्नो खाताको जाँच गर्नुहोस्‌।</translation>
 <translation id="3003967365858406397">तपाईंको <ph name="PHONE_NAME" /> ले कुनै निजी Wi-Fi जडान सिर्जना गर्दछ।</translation>
@@ -1784,6 +1820,7 @@
 <translation id="3058498974290601450">तपाईं सेटिङहरूमा गई जुनसुकै बेला सिंक सक्रिय गर्न सक्नुहुन्छ</translation>
 <translation id="3060379269883947824">चयन गरेर बोल्ने नामक सेवालाई सक्षम पार्नुहोस्‌</translation>
 <translation id="3060952009917586498">यन्त्रको भाषा परिवर्तन गर्नुहोस्। यन्त्रमा हाल भाषा <ph name="LANGUAGE" /> प्रयोग भइरहेको छ।</translation>
+<translation id="3060987956645097882">हामीले तपाईंको फोनसँग कनेक्ट गर्न सकेनौँ। तपाईंको फोन नजिकै छ, अनलक गरिएको छ र त्यसको ब्लुटुथ र Wi-Fi अन छ भन्ने कुरा सुनिश्चित गर्नुहोस्।</translation>
 <translation id="3065041951436100775">ट्याबले प्रतिक्रिया बन्द गर्‍यो</translation>
 <translation id="306535478112428611">तपाईंको यन्त्रमा फाइल तथा फोल्डरहरू सम्पादन गर्न अनुमति नदिइएका साइटहरू</translation>
 <translation id="3065522099314259755">किबोर्ड रिपिट हुने विलम्बता</translation>
@@ -1840,6 +1877,7 @@
 <translation id="3129215702932019810">एप खोल्ने क्रममा त्रुटि भयो</translation>
 <translation id="3130528281680948470">तपाईंको उपकरण रिसेट हुनेछ र सबै प्रयोगकर्ता खाता र स्थानीय डेटा हटाइने छ। यो पूर्ववत गर्न सकिँदैन।</translation>
 <translation id="313205617302240621">पासवर्ड बिर्सनुभयो?</translation>
+<translation id="3132277757485842847">हामीले तपाईंको फोनसँगको कनेक्सन कायम राख्न सकेनौँ। तपाईंको फोन नजिकै छ, अनलक गरिएको छ र त्यसको ब्लुटुथ र Wi-Fi अन छ भन्ने कुरा सुनिश्चित गर्नुहोस्।</translation>
 <translation id="3132996321662585180">दैनिक रूपमा पुनः ताजा गर्नुहोस्</translation>
 <translation id="313963229645891001">डाउनलोड गर्दै: <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">पूर्वनिर्धारित पहेँलो अवतार</translation>
@@ -2409,6 +2447,7 @@
 <translation id="379082410132524484">तपाईंको कार्डको म्याद सकियो</translation>
 <translation id="3792890930871100565">प्रिन्टरहरूको जडान विच्छेद गर्नुहोस्</translation>
 <translation id="3793395331556663376">फाइलसम्बन्धी अत्यधिक प्रणालीहरू खोलिए।</translation>
+<translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • १ दिनअघि जाँच गरिएको}other{Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • {NUM_DAYS} दिनअघि जाँच गरिएको}}</translation>
 <translation id="379509625511193653">निष्क्रिय छ</translation>
 <translation id="3796648294839530037">मन पर्ने नेटवर्क:</translation>
 <translation id="3797739167230984533">तपाईंको सङ्गठनले तपाईंको <ph name="BEGIN_LINK" /><ph name="DEVICE_TYPE" /> को व्यवस्थापन गर्छ<ph name="END_LINK" /></translation>
@@ -2882,6 +2921,7 @@
 <translation id="4378551569595875038">जडान गर्दै...</translation>
 <translation id="4378556263712303865">यन्त्रसम्बन्धी माग</translation>
 <translation id="4379281552162875326">"<ph name="APP_NAME" />" को स्थापना रद्द गर्ने हो?</translation>
+<translation id="4380245540200674032"><ph name="NETWORK_COUNT" /> मध्ये <ph name="NETWORK_INDEX" /> औँ नेटवर्क, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, तपाईंका एड्मिनले व्यवस्थापन गर्नुभएको, विवरणहरू</translation>
 <translation id="4380648069038809855">फुल स्क्रिन मोडमा प्रविष्टि गरियो</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" />, +१ थप खाता}other{<ph name="EMAIL" />, +<ph name="EXTRA_ACCOUNTS" /> थप खाताहरू}}</translation>
 <translation id="4384312707950789900">रुचाइएकोमा थप्नुहोस्</translation>
@@ -2931,6 +2971,7 @@
 <translation id="4434045419905280838">पपअप तथा रिडिरेक्टहरू</translation>
 <translation id="443454694385851356">लिगेसी (असुरक्षित)</translation>
 <translation id="443475966875174318">नमिल्दा एपहरू अपडेट गर्नुहोस् वा हटाउनुहोस्</translation>
+<translation id="4436063104263971834">कुनै SIM प्रोफाइल उपलब्ध छैन। <ph name="BEGIN_LINK" />यहाँ<ph name="END_LINK" /> नयाँ प्रोफाइल सेटअप गर्नुहोस्।</translation>
 <translation id="4438043733494739848">पारदर्शी</translation>
 <translation id="4439427728133035643"><ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" /> मध्ये नेटवर्क <ph name="NETWORK_INDEX" />सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, जोड्नुहोस्</translation>
 <translation id="4441124369922430666">के तपाईं मेसिन खुला हुँदा यो एप्लिकेसन स्वत: सुरु गर्न चाहनुहुन्छ?</translation>
@@ -3186,6 +3227,7 @@
 <translation id="4726710629007580002">यो विस्तार स्थापना गर्न प्रयास गर्दा चेतावनी थिएः</translation>
 <translation id="4727847987444062305">व्यवस्थापन गरिएको अतिथिको सत्र</translation>
 <translation id="4728558894243024398">प्लेटफर्म</translation>
+<translation id="4728570203948182358"><ph name="BEGIN_LINK" />तपाईंका एड्मिन<ph name="END_LINK" />ले हानिकारक सफ्टवेयर छन् कि छैनन् भनी जाँच्ने सुविधा अफ गर्नुभएको छ</translation>
 <translation id="4730492586225682674">स्टाइलस प्रयोग गरी लक स्क्रिनबाट लिइएको नवीनतम टिपोट</translation>
 <translation id="4733793249294335256">स्थान</translation>
 <translation id="473546211690256853">यो खातालाई <ph name="DOMAIN" /> ले व्यवस्थित गरेको छ</translation>
@@ -3232,6 +3274,7 @@
 <translation id="4804818685124855865">जडान विच्छेद</translation>
 <translation id="4804827417948292437">अभोकाडो</translation>
 <translation id="4807098396393229769">कार्डमा रहेको नाम</translation>
+<translation id="4808024018088054533">Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • भर्खरै जाँच गरिएको</translation>
 <translation id="4808667324955055115">रोक लगाइएका पपअपहरू:</translation>
 <translation id="4809079943450490359">तपाईंको यन्त्रको एड्मिनबाट प्राप्त भएका निर्देशनहरू:</translation>
 <translation id="480990236307250886">गृह पृष्ठ खोल्नुहोस्</translation>
@@ -3302,6 +3345,7 @@
 <translation id="4880827082731008257">खोज इतिहास</translation>
 <translation id="4881695831933465202">खोल्नुहोस्</translation>
 <translation id="4882312758060467256">यो साइटमाथि पहुँच राख्न सक्छ</translation>
+<translation id="4882670371033027418"><ph name="DEVICE_TYPE" /> अझ छिटो अनलक गर्न आफ्नो फिंगरप्रिन्ट सेटअप गर्नुहोस्</translation>
 <translation id="4882831918239250449">खोज, विज्ञापन र थप कुराहरू वैयक्तीकृत गर्ने प्रयोजनका लागि तपाईंको ब्राउजिङ इतिहासको प्रयोग गरिने तरिका नियन्त्रण गर्नुहोस्</translation>
 <translation id="4882919381756638075">साइटहरूले भिडियो च्याट जस्ता सञ्चार सुविधाहरू प्रदान गर्न सामान्यतया तपाईंको माइक्रोफोन प्रयोग गर्छन्</translation>
 <translation id="4883436287898674711">सबै <ph name="WEBSITE_1" /> साइटहरू</translation>
@@ -3326,6 +3370,7 @@
 <translation id="4902546322522096650"><ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" /> मध्ये नेटवर्क <ph name="NETWORK_INDEX" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, जोड्नुहोस्</translation>
 <translation id="49027928311173603">सर्भरबाट डाउनलोड गरिएको नीति अवैध छ: <ph name="VALIDATION_ERROR" /></translation>
 <translation id="4906490889887219338">नेटवर्कको फाइल आदान प्रदान गर्ने कार्य सेटअप वा व्यवस्थापन गर्नुहोस्। <ph name="LINK_BEGIN" />थप जान्नुहोस्<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301"><ph name="NETWORK_COUNT" /> मध्ये <ph name="NETWORK_INDEX" /> औँ नेटवर्क, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, फोनको ब्याट्रीको स्तर <ph name="BATTERY_STATUS" />%, विवरणहरू</translation>
 <translation id="4907161631261076876">यो फाइल सामान्यत: डाउनलोड गरिँदैन र यो खतरनाक हुन सक्छ।</translation>
 <translation id="4907306957610201395">अनुमतिको कोटी</translation>
 <translation id="4908811072292128752">दुई साइटहरूलाई एकैपटक ब्राउज गर्न एउटा नयाँ ट्याब खोल्नुहोस्</translation>
@@ -3530,6 +3575,7 @@
 <translation id="5160634252433617617">भौतिक किबोर्ड</translation>
 <translation id="5160857336552977725">तपाईँको <ph name="DEVICE_TYPE" /> मा साइन इन गर्नुहोस्</translation>
 <translation id="5162905305237671850"><ph name="DEVICE_TYPE" /> माथि रोक लगाइएको छ</translation>
+<translation id="5163910114647549394">यो ट्याब ट्याबस्ट्रिपको अन्त्यमा सारियो</translation>
 <translation id="5166596762332123936"><ph name="PLUGIN_NAME" /> को म्याद सकिएको हुनाले यसमाथि रोक लगाइयो</translation>
 <translation id="5170568018924773124">फोल्डरमा देखाउनुहोस्</translation>
 <translation id="5171045022955879922">युआरएल खोल्नुहोस् वा टाइप गर्नुहोस्</translation>
@@ -3637,6 +3683,7 @@
 <translation id="5297082477358294722">पासवर्ड सुरक्षित गरियो। सुरक्षित गरिएका पासवर्डहरू हेर्न र व्यवस्थापन गर्न आफ्नो <ph name="SAVED_PASSWORDS_STORE" />.मा जानुहोस्।</translation>
 <translation id="5298219193514155779">द्वार प्रकरण सिर्जना गरिएको</translation>
 <translation id="5299109548848736476">ट्रयाक नगर्नुहोस्</translation>
+<translation id="5299558715747014286">आफ्ना ट्याब समूहहरू हेर्नुहोस् र व्यवस्थापन गर्नुहोस्</translation>
 <translation id="5300287940468717207">साइटका अनुमतिहरू रिसेट गर्ने हो?</translation>
 <translation id="5300589172476337783">देखाउनुहोस्</translation>
 <translation id="5300719150368506519">Google मा तपाईं जाने पृष्ठका URL हरू पठाउनुहोस्</translation>
@@ -3751,6 +3798,7 @@
 <translation id="5436492226391861498">प्रोक्सी टनलको लागि प्रतिक्षा गर्दै...</translation>
 <translation id="5436510242972373446">खोज <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">कृपया अहिले नै आफ्ना फाइलहरू सुरक्षित गरी नयाँ खाता सिर्जना गर्नुहोस्।</translation>
+<translation id="5439680044267106777">यो चरण स्किप गर्नुहोस् र नयाँ प्रोफाइल सेटअप गर्नुहोस्</translation>
 <translation id="544083962418256601">सर्टकटहरू सिर्जना गर्नुहोस्...</translation>
 <translation id="5442228125690314719">डिस्कको छवि सिर्जना गर्ने क्रममा त्रुटि भयो। कृपया फेरि प्रयास गर्नुहोस्।</translation>
 <translation id="5442550868130618860">स्वतः अद्यावधिक सक्रिय गर्नुहोस्</translation>
@@ -3769,6 +3817,7 @@
 <translation id="5457991019809708398">सक्रिय, रोमिङमा छैन</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">लक स्क्रिनसम्बन्धी टिपोटहरू</translation>
+<translation id="5461050611724244538">तपाईंको फोनसँगको कनेक्सन टुट्यो</translation>
 <translation id="5463231940765244860">प्रविष्टि गर्नुहोस्</translation>
 <translation id="5463275305984126951"><ph name="LOCATION" /> को सूचकाङ्क</translation>
 <translation id="5463856536939868464">लुकेका बुकमार्क समावेश गरिएका मेनु</translation>
@@ -4084,9 +4133,11 @@
 <translation id="5826395379250998812">आफ्नो <ph name="DEVICE_TYPE" /> आफ्नो फोनमा जोड्नुहोस्। <ph name="LINK_BEGIN" />थप जान्नुहोस्<ph name="LINK_END" /></translation>
 <translation id="5826993284769733527">अर्धपारदर्शी</translation>
 <translation id="5827266244928330802">सफारी</translation>
+<translation id="5828545842856466741">प्रोफाइल हाल्नुहोस्...</translation>
 <translation id="5828633471261496623">प्रिन्ट गर्दै...</translation>
 <translation id="5830720307094128296">पृष्ठलाई यसको &amp;रूपमा बचत गर्नुहोस्...</translation>
 <translation id="5832805196449965646">व्यक्ति थप्नुहोस्</translation>
+<translation id="5832813618714645810">प्रोफाइलहरू</translation>
 <translation id="583281660410589416">अज्ञात</translation>
 <translation id="5833397272224757657">यसले वैयक्तीकरण गर्ने प्रयोजनका लागि तपाईं जाने साइटका सामग्रीका साथै ब्राउजरसम्बन्धी क्रियाकलाप तथा अन्तर्क्रियाहरूको प्रयोग गर्छ</translation>
 <translation id="5833726373896279253">यी सेटिङहरूलाई केवल मालिकले मात्र संशोधन गर्न सक्छ:</translation>
@@ -4192,6 +4243,7 @@
 <translation id="5944869793365969636">QR कोड स्क्यान गर्नुहोस्</translation>
 <translation id="5946591249682680882">रिपोर्ट आईडी <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
 <translation id="5949544233750246342">फाइल पार्स गर्न सकिएन</translation>
+<translation id="5950819593680344519">Chrome ले तपाईंको कम्प्युटरमा कुनै हानिकारक सफ्टवेयर भेट्टाएन • हिजो जाँच गरिएको</translation>
 <translation id="5951624318208955736">मनिटर</translation>
 <translation id="5955282598396714173">तपाईंको पासवर्डको म्याद समाप्त भएको छ। यसलाई परिवर्तन गर्न कृपया साइन आउट गर्नुहोस्, त्यसपछि फेरि साइन इन गर्नुहोस्।</translation>
 <translation id="5955304353782037793">एप</translation>
@@ -4257,6 +4309,7 @@
 <translation id="6031600495088157824">टुलबारमा इनपुटका विकल्पहरू देखाइयोस्</translation>
 <translation id="6032715498678347852">एक्स्टेन्सनलाई यो साइटमाथिको पहुँच दिन यसमा क्लिक गर्नुहोस्।</translation>
 <translation id="6032912588568283682">फाइल प्रणाली</translation>
+<translation id="603539183851330738">अटोकरेक्ट अन्डू गर्नुहोस् नामक बटन। अन्डू गरी <ph name="TYPED_WORD" /> बनाउनुहोस्।  अन्डू गर्न enter थिच्नुहोस्, खारेज गर्न escape थिच्नुहोस्।</translation>
 <translation id="6035517790085323771">कुन कुन यन्त्रले तपाईंको यन्त्रसँग सेयर गर्न सक्छन्</translation>
 <translation id="6038929619733116134">साइटले हस्तक्षेपकारी वा भ्रामक विज्ञापनहरू देखाएमा त्यसलाई रोक लगाउनुहोस्</translation>
 <translation id="6039651071822577588">सञ्जाल सम्पत्ति शब्दकोष बिग्रेको</translation>
@@ -4396,6 +4449,7 @@
 <translation id="6185132558746749656">यन्त्र स्थान</translation>
 <translation id="6186394437969115158">सामग्री वा सेवाहरू निःशुल्क रूपमा प्रदान गर्न सकियोस् भन्नाका खातिर साइटहरूले सामान्यतया विज्ञापनहरू देखाउँछन्। तर केही साइटहरूले हस्तक्षेपकारी वा भ्रामक विज्ञापनहरू देखाउन सक्छन्।</translation>
 <translation id="6195693561221576702">यो यन्त्र अफलाइन डेमो मोडको प्रयोग गरी सेटअप गर्न सकिँदैन।</translation>
+<translation id="6195724942939841102">रिस्टोर नगरियोस्</translation>
 <translation id="6196640612572343990">तेस्रो पक्षीय कुकीहरूमाथि रोक लगाउनुहोस्</translation>
 <translation id="6196854373336333322">विस्तार "<ph name="EXTENSION_NAME" />" ले तपाईंका प्रोक्सी सेटिङहरूको नियन्त्रण गरेको छ, मतलब तपाईंले अनलाइन गरेको जुनसुकै कुरालाई यसले परिवर्तन गर्न, बिगार्न वा चियो गर्न सक्छ। यो किन परिवर्तन भयो भन्नेमा सुनिश्चित हुनुहुन्न भने सायद तपाईं यसलाई चाहनुहुन्न।</translation>
 <translation id="6198102561359457428">साइन आउट गर्नुहोस् र त्यसपछि पुन: साइन इन गर्नुहोस्...</translation>
@@ -4435,6 +4489,7 @@
 <translation id="6238767809035845642">अर्को यन्त्रबाट आदान प्रदान गरिएको पाठ सन्देश</translation>
 <translation id="6238923052227198598">लक स्क्रिनसम्बन्धी पछिल्लो टिपोट राख्नुहोस्</translation>
 <translation id="6239558157302047471">&amp;frame पुन: लोड गर्नुहोस्</translation>
+<translation id="6240821072888636753">हरेक पटक सोधियोस्</translation>
 <translation id="6241530762627360640">तपाईंको सिस्टमसँग पेयर गरिएको ब्लूटुथ यन्त्रहरूको जानकारी पहुँच गर्नुहोस् र नजिकैको ब्लूटुथ यन्त्रहरू खोज्नुहोस्।</translation>
 <translation id="6241844896329831164">पहुँच चाहिँदैन</translation>
 <translation id="6242574558232861452">तपाईंको सङ्गठनका सुरक्षासम्बन्धी नीति अनुकूल छ कि छैन भनी जाँच गरिँदै छ।</translation>
@@ -4467,6 +4522,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> मार्फत खोल्नुहोस्</translation>
 <translation id="6270391203985052864">साइटहरूले सूचनाहरू पठाउनका निम्ति अनुमति माग्न सक्छन्।</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />प्रणाली तथा एप सम्बन्धी जानकारी<ph name="END_LINK1" /> र <ph name="BEGIN_LINK2" />मेट्रिक्स<ph name="END_LINK2" /> पठाउनुहोस्</translation>
+<translation id="6271348838875430303">भूलसुधार अन्डू गरियो</translation>
 <translation id="6272643420381259437">प्लगइन डाउनलोड गर्दा त्रुटि (<ph name="ERROR" />) भयो</translation>
 <translation id="6273677812470008672">गुण</translation>
 <translation id="6276210637549544171">प्रोक्सी <ph name="PROXY_SERVER" /> मा कनेक्ट गर्न युजरनेम र पासवर्ड प्रयोग गर्नु पर्ने हुन्छ।</translation>
@@ -4480,6 +4536,8 @@
 <translation id="6280215091796946657">फरक खाता मार्फत साइन इन गर्नुहोस्</translation>
 <translation id="6280912520669706465">ARC</translation>
 <translation id="6282180787514676874">{COUNT,plural, =1{कागजको एकभन्दा बढी पाना प्रिन्ट गर्न मिल्दैन}other{कागजका {COUNT} वटाभन्दा बढी पाना प्रिन्ट गर्न मिल्दैन}}</translation>
+<translation id="6283438600881103103">तपाईं अब स्वतः साइन आउट हुनु हुने छ।
+<ph name="DOMAIN" /> मा तपाईंले आफ्नो स्मार्ट कार्ड इन्सर्ट गरिराख्नु पर्ने हुन्छ।</translation>
 <translation id="628352644014831790">४ सेकेन्ड</translation>
 <translation id="6285120108426285413"><ph name="FILE_NAME" /> लाई सामान्यत: डाउनलोड गरिँदैन र यो खतरनाक हुन सक्छ।</translation>
 <translation id="6285120908535925801">{NUM_PRINTER,plural, =1{तपाईँको नेटवर्कमा नयाँ प्रिन्टर}other{ तपाईँको नेटवर्कमा नयाँ प्रिन्टरहरू}}</translation>
@@ -4609,6 +4667,7 @@
 <translation id="6444070574980481588">मिति र समय सेट गर्नुहोस्</translation>
 <translation id="6444909401984215022"><ph name="WINDOW_TITLE" /> - वरपर रहेका ब्लुटुथ चल्ने यन्त्रहरू सक्रिय रूपमा खोजिदै छ</translation>
 <translation id="6445450263907939268">यदि तप</translation>
+<translation id="6446213738085045933">डेस्कटप सर्टकट बनाउनुहोस्</translation>
 <translation id="6447842834002726250">कुकीहरू</translation>
 <translation id="6450876761651513209">आफ्नो गोपनीयता सम्बन्धित सेटिङहरू परिवर्तन गर्नुहोस्</translation>
 <translation id="6451591602925140504">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> र अन्य १ ट्याब}other{<ph name="PAGE_TITLE" /> र अन्य # ट्याबहरू}}</translation>
@@ -4632,6 +4691,7 @@
 <translation id="6466988389784393586">सबै बुकमार्कहरू &amp;खोल्नुहोस्</translation>
 <translation id="6467304607960172345">पूर्ण स्क्रिनका भिडियोहरूलाई अप्टिमाइज गर्नुहोस्</translation>
 <translation id="6468485451923838994">फन्टहरू</translation>
+<translation id="6468773105221177474"><ph name="FILE_COUNT" /> वटा फाइल</translation>
 <translation id="6469557521904094793">सेलुलर नेटवर्क अन गर्नुहोस्</translation>
 <translation id="6472207088655375767">OTP</translation>
 <translation id="6472893788822429178">गृह बटन देखाउनुहोस्</translation>
@@ -4684,6 +4744,7 @@
 <translation id="6532527800157340614">तपाईंको पहुँच टोकन प्राप्त गर्न नसकिएकाले साइन इन गर्न सकिएन। कृपया आफ्नो इन्टरनेटको जाँच गरी फेरि प्रयास गर्नुहोस्।</translation>
 <translation id="6532663472409656417">इन्टरप्राइजमा दर्ता गरिएको</translation>
 <translation id="6535331821390304775"><ph name="ORIGIN" /> लाई यस किसिमका लिंकहरू सधैँ सम्बद्ध अनुप्रयोगमा खोल्न दिइयोस्</translation>
+<translation id="653659894138286600">डकुमेन्ट तथा फोटोहरू स्क्यान गर्नुहोस्</translation>
 <translation id="6537613839935722475">यन्त्रको नाम राख्दा अक्षर, अङ्क र हाइफन चिन्ह (-) प्रयोग गर्न मिल्छ</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">हाल डेटा प्रयोगसम्बन्धी सेटिङअन्तर्गत 'मोबाइल डेटा' नामक विकल्प चयन गरिएको छ</translation>
@@ -4798,6 +4859,7 @@
 <translation id="6684827949542560880">नवीनतम अपडेट डाउनलोड गर्दै</translation>
 <translation id="668599234725812620">Google Play खोल्नुहोस्</translation>
 <translation id="6686490380836145850">दायाँ तिरका ट्याबहरू बन्द गर्नुहोस्</translation>
+<translation id="6686665106869989887">यो ट्याब दायाँतिर सारियो</translation>
 <translation id="6686817083349815241">तपाईंको पासवर्ड वचत गर्नुहोस्</translation>
 <translation id="6688285987813868112">यो छविको लागि QR कोड सिर्जना गर्नुहोस्</translation>
 <translation id="6690659332373509948">फाइललाई पदच्छेद गर्न सकिएन: <ph name="FILE_NAME" /></translation>
@@ -4921,6 +4983,7 @@
 <translation id="6828860976882136098">सबै प्रयोगकर्ताहरूका लागि स्वचालित अद्यावधिकहरूलाई सेटअप गर्न सकिएन (प्रिफ्लाइट कार्यान्वयन सम्बन्धी त्रुटि: <ph name="ERROR_NUMBER" />)</translation>
 <translation id="682971198310367122">Google को गोपनीयता नीति</translation>
 <translation id="6831043979455480757">अनुवाद गर्नुहोस्</translation>
+<translation id="6833479554815567477">यो ट्याब <ph name="GROUP_NAME" /> समूहबाट हटाइयो - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">कुनै स्मार्ट तथा सुरक्षित ब्राउजरमा बदल्नुहोस्</translation>
 <translation id="6835762382653651563">कृपया तपाईँको <ph name="DEVICE_TYPE" /> अद्यावधिक गर्न इन्टरनेटमा जडान गर्नुहोस्।</translation>
 <translation id="6838034009068684089">कुनै साइटले मेरा स्क्रिनहरूमा विन्डो राख्न र त्यहाँ भएका विन्डो खोल्न खोज्दा त्यसो गर्न दिने कि नदिने भनी सोधियोस् (सिफारिस गरिएको)</translation>
@@ -4942,6 +5005,7 @@
 <translation id="6853388645642883916">अद्यतनकर्ता सुतिरहेको</translation>
 <translation id="68541483639528434">अन्य ट्याबहरू बन्द गर्नुहोस्</translation>
 <translation id="6855892664589459354">Crostini को ब्याकअप तथा पुनर्स्थापना</translation>
+<translation id="6856459657722366306"><ph name="NETWORK_COUNT" /> मध्ये <ph name="NETWORK_INDEX" /> औँ नेटवर्क, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, विवरणहरू</translation>
 <translation id="6856623341093082836">आफ्नो टचस्क्रिनको सटीकता सेटअप र समायोजन गर्नुहोस्</translation>
 <translation id="6857699260879628349">कन्फिगुरेसनसम्बन्धी जानकारी प्राप्त गर्नुहोस्</translation>
 <translation id="6860097299815761905">प्रोक्सी सेटिङहरू...</translation>
@@ -5059,9 +5123,11 @@
 <translation id="698524779381350301">निम्न साइटहरूमा स्वतः पहुँच गर्ने अनुमति दिनुहोस्</translation>
 <translation id="6985607387932385770">प्रिन्टरहरू</translation>
 <translation id="6988094684494323731">Linux कन्टेनर सुरु गर्दै</translation>
+<translation id="6988403677482707277">यो ट्याब ट्याबस्ट्रिपको सुरुवातमा सारियो</translation>
 <translation id="6990778048354947307">डार्क थीम</translation>
 <translation id="6991665348624301627">गन्तव्य चयन गर्नुहोस्</translation>
 <translation id="6992554835374084304">हिज्जे जाँचसम्बन्धी परिष्कृत सुविधा सक्रिय गर्नुहोस्</translation>
+<translation id="6993000214273684335">यो ट्याब नामविहीन समूहबाट हटाइयो - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="6994069045767983299">हाइ कन्ट्रास्ट मोड</translation>
 <translation id="6995899638241819463">डेटा चोरीको घटनामा पासवर्डको खुलासा हुँदा तपाईंलाई चेतावनी दिइन्छ</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - क्रियाकलापको लग</translation>
@@ -5081,6 +5147,7 @@
 <translation id="7005496624875927304">अतिरिक्त अनुमतिहरू</translation>
 <translation id="7005812687360380971">विफलता</translation>
 <translation id="7005848115657603926">अवैध पृष्ठ दायरा, <ph name="EXAMPLE_PAGE_RANGE" /> प्रयोग गर्नुहोस्</translation>
+<translation id="700651317925502808">सेटिङ रिसेट गर्ने हो?</translation>
 <translation id="7006634003215061422">तलको मार्जिन</translation>
 <translation id="7007648447224463482">सबै url हरूलाई नयाँ विन्डोमा खोल्नुहोस्</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" /> ले तपाईंको क्यामेरा प्रयोग गरिरहेको छ</translation>
@@ -5109,6 +5176,7 @@
 <translation id="7044124535091449260">साइटको पाहुँचबारे थप जान्नुहोस्‌</translation>
 <translation id="7044606776288350625">डेटा सिंक गर्नुहोस्</translation>
 <translation id="7047059339731138197">पृष्ठभूमि छनौट गर्नुहोस्</translation>
+<translation id="7048024426273850086"><ph name="NETWORK_COUNT" /> मध्ये <ph name="NETWORK_INDEX" /> औँ नेटवर्क, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, फोनको ब्याट्रीको स्तर <ph name="BATTERY_STATUS" />%, कनेक्ट गर्नुहोस्</translation>
 <translation id="7049293980323620022">फाइल राख्ने हो?</translation>
 <translation id="7051943809462976355">माउस खोज्दै...</translation>
 <translation id="7052237160939977163">प्रदर्शन ट्रेस लगत पठाउनुहोस्</translation>
@@ -5140,6 +5208,7 @@
 <translation id="7076878155205969899">आवाज म्युट गर्नुहोस्</translation>
 <translation id="7077829361966535409">साइन पृष्ठ हालको प्रोक्सी सेटिङहरू प्रयोग गरेर लोड हुन असफल भयो। कृपया <ph name="GAIA_RELOAD_LINK_START" />पुन: साइन इन गर्ने प्रयास गर्नुहोस्<ph name="GAIA_RELOAD_LINK_END" />, वा फरक <ph name="PROXY_SETTINGS_LINK_START" />प्रोक्सी सेटिङहरू<ph name="PROXY_SETTINGS_LINK_END" /> प्रयोग गर्नुहोस</translation>
 <translation id="7078120482318506217">सबै नेटवर्कहरू</translation>
+<translation id="7078386829626602215">कुनै यन्त्र भेट्टिएन। <ph name="BEGIN_LINK" />थप जान्नुहोस्<ph name="END_LINK" /></translation>
 <translation id="708060913198414444">अडियो ठेगानाको प्रतिलिपि बनाउनुहोस्</translation>
 <translation id="7081952801286122383">तपाईं इन्कोग्निटो मोडमा हुनुहुन्छ</translation>
 <translation id="708278670402572152">स्क्यान गर्ने कार्यलाई सक्षम पार्न जडान विच्छेद गर्नुहोस्</translation>
@@ -5162,6 +5231,7 @@
 <translation id="710640343305609397">नेटवर्कका सेटिङहरू खोल्नुहोस्</translation>
 <translation id="7108338896283013870">लुकाउनुहोस्</translation>
 <translation id="7108668606237948702">प्रविष्टि गर्नुहोस्</translation>
+<translation id="7108933416628942903">अब लक गर्नुहोस्</translation>
 <translation id="7109543803214225826">सर्टकट हटाइयो</translation>
 <translation id="7110644433780444336">{NUM_TABS,plural, =1{समूहमा ट्याब थप्नुहोस्}other{समूहमा ट्याबहरू थप्नुहोस्}}</translation>
 <translation id="7113502843173351041">आफ्नो इमेल ठेगाना थाहा पाउनुहोस्</translation>
@@ -5207,6 +5277,7 @@
 <translation id="7168109975831002660">न्यूनतम फन्ट साइज</translation>
 <translation id="7170041865419449892">सीमाभन्दा बाहिर</translation>
 <translation id="7170236477717446850">प्रोफाइल तस्बिर</translation>
+<translation id="7171000599584840888">प्रोफाइल हाल्नुहोस्...</translation>
 <translation id="7171259390164035663">दर्ता नगर्नुहोस्</translation>
 <translation id="7171559745792467651">आफ्ना अन्य यन्त्रहरूबाट एपहरू स्थापना गर्नुहोस्</translation>
 <translation id="7172470549472604877">{NUM_TABS,plural, =1{नयाँ समूहमा ट्याब थप्नुहोस्}other{नयाँ समूहमा ट्याबहरू थप्नुहोस्}}</translation>
@@ -5247,6 +5318,7 @@
 <translation id="7213903639823314449">ठेगाना पट्टीमा प्रयोग गरिने सर्च इन्जिन</translation>
 <translation id="7216409898977639127">सेलुलर प्रदायक</translation>
 <translation id="7216595297012131718">आफ्नो प्राथमिकताका आधारमा भाषाहरूको क्रम मिलाउनुहोस्</translation>
+<translation id="7219473482981809164">हामीले डाउनलोड गर्न मिल्ने एकभन्दा बढी प्रोफाइलहरू भेट्टाएका छौँ। अगाडि बढ्नुअघि आफूले डाउनलोड गर्न चाहेका प्रोफाइलहरू चयन गर्नुहोस्।</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" मा पासवर्डहरू निर्यात गर्न सकिँदैन</translation>
 <translation id="722055596168483966">Google का सेवाहरूलाई निजीकृत गर्नुहोस्</translation>
 <translation id="722099540765702221">उर्जाको स्रोत</translation>
@@ -5422,6 +5494,7 @@
 <translation id="7427348830195639090">पृष्ठभूमि पाना: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7427798576651127129"><ph name="DEVICE_NAME" /> बाट आएको कल</translation>
 <translation id="7431719494109538750">कुनै पनि HID यन्त्र फेला परेन</translation>
+<translation id="7433708794692032816">आफ्नो <ph name="DEVICE_TYPE" /> प्रयोग गरिरहन स्मार्ट कार्ड इन्सर्ट गर्नुहोस्</translation>
 <translation id="7433957986129316853">यसलाई लागु गर्नुहोस्</translation>
 <translation id="7434509671034404296">विकासकर्ता</translation>
 <translation id="7434635829372401939">आफ्ना सेटिङ सिंक गर्नुहोस्</translation>
@@ -5528,6 +5601,7 @@
 <translation id="7556033326131260574">Smart Lock ले तपाईँको खाता प्रमाणीकरण गर्न सकेन। प्रविष्ट गर्न आफ्नो पासवर्ड टाइप गर्नुहोस्।</translation>
 <translation id="7556242789364317684">दुर्भाग्यवश, <ph name="SHORT_PRODUCT_NAME" /> ले तपाईंका सेटिङहरू पुन: प्राप्त गर्न सकेन। त्रुटि सच्याउनका लागि, <ph name="SHORT_PRODUCT_NAME" /> ले तपाईंको यन्त्रलाई पावरवाश मार्फत रिसेट गर्नुपर्छ।</translation>
 <translation id="7557194624273628371">Linux मा पोर्ट फर्वार्ड गर्ने सुविधा</translation>
+<translation id="7559269329306630685">तपाईंको फिंगरप्रिन्टसम्बन्धी डेटा सुरक्षित रूपमा भण्डारण गरिन्छ र यो डेटा तपाईंको <ph name="DEVICE_TYPE" /> बाट अन्यत्र पठाइँदैन।</translation>
 <translation id="7559719679815339381">कृपया प्रतीक्षा गर्नुहोस्....Kiosk एप अद्यावधिक हुने प्रक्रियामा छ। USB स्टिक नहटाउनुहोस्।</translation>
 <translation id="7561196759112975576">सधैं</translation>
 <translation id="756445078718366910">खुल्ला ब्राउजर सन्झ्याल</translation>
@@ -5719,6 +5793,7 @@
 <translation id="7773726648746946405">सत्र भण्डारण</translation>
 <translation id="7774365994322694683">चरो</translation>
 <translation id="7774792847912242537">अत्यन्त धेरै पटक अनुरोध गरियो।</translation>
+<translation id="7775694664330414886">यो ट्याब नामविहीन समूहमा सारियो - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="7776156998370251340">तपाईंले यो साइटका सबै ट्याबहरू बन्द नगरुन्जेल <ph name="ORIGIN" /> ले <ph name="FOLDERNAME" /> मा रहेका फाइलहरू हेर्न सक्ने छ</translation>
 <translation id="7776701556330691704">कुनै पनि आवाज फेला परेन</translation>
 <translation id="7780252971640011240">जडान गर्ने क्रममा समस्या भयो। सहायताका लागि कृपया आफ्नो सेवा प्रदायकमा सम्पर्क गर्नुहोस्।</translation>
@@ -5830,6 +5905,7 @@
 <translation id="7881483672146086348">खाता हेर्नुहोस्</translation>
 <translation id="7882358943899516840">प्रदायकको प्रकार</translation>
 <translation id="7885253890047913815">हालैका गन्तव्यहरू</translation>
+<translation id="7886605625338676841">eSIM</translation>
 <translation id="7887334752153342268">नक्कल बनाउनुहोस्</translation>
 <translation id="7887864092952184874">ब्लुटुथ माउस जोडा मिलाइएको</translation>
 <translation id="7890147169288018054">आफ्नो IP वा MAC ठेगाना जस्ता नेटवर्कसम्बन्धी जानकारी हेर्नुहोस्</translation>
@@ -5974,6 +6050,7 @@
 <translation id="8045923671629973368">एपको ID वा वेबस्टोरको URL प्रविष्टि गर्नुहोस्</translation>
 <translation id="8047242494569930800">पासवर्ड सारेर Google खातामा लैजानुहोस्</translation>
 <translation id="804786196054284061">प्रयोगकर्ताको इजाजतपत्रसम्बन्धी सम्झौता</translation>
+<translation id="8048977114738515028">सीधै यो प्रोफाइल प्रयोग गरी Chrome चलाउन आफ्नो यन्त्रमा यसको डेस्कटप सर्टकट बनाउनुहोस्</translation>
 <translation id="8049705080247101012">Google ले "<ph name="EXTENSION_NAME" />" लाई खराब भएको भनी फ्ल्याग गरेको हुनाले यसको स्थापना कार्य रोकिएको छ</translation>
 <translation id="8049948037269924837">टचप्याड विपरीत दिशामा स्क्रोल गर्ने कार्य</translation>
 <translation id="8050038245906040378">Microsoft वाणिज्य कोड सङ्केत</translation>
@@ -6405,6 +6482,7 @@
 <translation id="8569682776816196752">कुनैपनि गन्तव्यहरू फेला परेनन्</translation>
 <translation id="8571213806525832805">पछिल्ला ४ हप्ता</translation>
 <translation id="8571687764447439720">Kerberos को टिकट थप्नुहोस्</translation>
+<translation id="8571814292654854151">आफ्नो प्रोफाइ‌लको नाम राख्नुहोस्</translation>
 <translation id="8574990355410201600">आवाजलाई जुनसुकै बेला <ph name="HOST" /> मा अनुमति दिनुहोस्</translation>
 <translation id="8575286410928791436">बाहिरिन <ph name="KEY_EQUIVALENT" /> थिचिरहनुहोस्।</translation>
 <translation id="8576249514688522074">सुरु गरिएको छैन</translation>
@@ -6559,6 +6637,7 @@
 <translation id="8737914367566358838">यो पृष्ठ जुन भाषामा अनुवाद गर्न चाहनुहुन्छ सो भाषा छान्नुहोस्</translation>
 <translation id="8740247629089392745">तपाईं यो Chromebook <ph name="SUPERVISED_USER_NAME" /> लाई दिन सक्नुहुन्छ। सेटअप गर्ने काम लगभग सकियो, अब उनी यो यन्त्र चलाउन थाल्न सक्छन्।</translation>
 <translation id="8742998548129056176">यो जानकारी तपाईंको यन्त्र र तपाईंले यसलाई प्रयोग गर्ने तरिकासम्बन्धी सामान्य जानकारी हो (जस्तै ब्याट्रीको स्तर, प्रणाली तथा एपका गतिविधि र त्रुटिहरू)। यो डेटा Android मा सुधार ल्याउने प्रयोजनका लागि प्रयोग गरिने छ र केही समग्र जानकारीले Google का एप तथा Android का विकासकर्ताहरू जस्ता साझेदारहरूलाई तिनका एप र उत्पादनहरू अझ राम्रा बनाउन पनि मद्दत गर्ने छन्।</translation>
+<translation id="8743164338060742337"><ph name="NETWORK_COUNT" /> मध्ये <ph name="NETWORK_INDEX" /> औँ नेटवर्क, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />%, तपाईंका एड्मिनले व्यवस्थापन गर्नुभएको, कनेक्ट गर्नुहोस्</translation>
 <translation id="8743390665131937741">पूर्ण स्क्रिनको जुमको स्तर:</translation>
 <translation id="8743864605301774756">१ घन्टाअघि अद्यावधिक गरिएको</translation>
 <translation id="8746654918629346731">तपाईंले "<ph name="EXTENSION_NAME" />" का लागि अनुरोध गरिसक्नुभएको छ</translation>
@@ -6593,6 +6672,9 @@
 <translation id="8774934320277480003">शीर्ष सीमान्त</translation>
 <translation id="8775144690796719618">अमान्य URL</translation>
 <translation id="8775163630211761057">आफ्नो Android फोनका उत्कृष्ट एप, सामग्री तथा कनेक्टिभिटी सुविधाहरू <ph name="DEVICE_TYPE" /> मा प्रयोग गर्नुहोस्</translation>
+<translation id="8775653927968399786">{0,plural, =1{तपाईंको <ph name="DEVICE_TYPE" /> # सेकेन्डमा स्वतः लक हुने छ।
+<ph name="DOMAIN" /> मा तपाईंले आफ्नो स्मार्ट कार्ड इन्सर्ट गरिराख्नु पर्ने हुन्छ।}other{तपाईंको <ph name="DEVICE_TYPE" /> # सेकेन्डमा स्वतः लक हुने छ।
+<ph name="DOMAIN" /> मा तपाईंले आफ्नो स्मार्ट कार्ड इन्सर्ट गरिराख्नु पर्ने हुन्छ।}}</translation>
 <translation id="8777628254805677039">मूल पासवर्ड</translation>
 <translation id="8780123805589053431">Google बाट छविका विवरणहरू प्राप्त गर्नुहोस्</translation>
 <translation id="8780443667474968681">आवाजमार्फत खोजी गर्ने सुविधा निष्क्रिय पारिएको छ।</translation>
@@ -6655,6 +6737,7 @@
 <translation id="8830796635868321089">अद्यावधिक जाँच वर्तमान प्रोक्सी सेटिङ प्रयोग असफल भयो । आफ्नो समायोजन गर्नुहोस् <ph name="PROXY_SETTINGS_LINK_START" /> प्रोक्सी सेटिङ <ph name="PROXY_SETTINGS_LINK_END" /> गर्नुहोस् ।</translation>
 <translation id="8831140208248705279">तपाईंको <ph name="DEVICE_TYPE" /> र Android फोन दुवै सँगसँगै प्रयोग गर्दा अझ धेरै सुविधाहरू उपयोग गर्न सकिन्छ। आफ्नो कम्प्युटरबाट पाठ सन्देश पठाउने, आफ्नो इन्टरनेट आदान प्रदान गर्ने र आफ्नो फोनमार्फत <ph name="DEVICE_TYPE" /> अनलक गर्ने जस्ता सुविधा प्रयोग गर्न ती दुवै यन्त्र जोड्नुहोस्।<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />थप जान्नुहोस्<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">नेटवर्कको कन्फिगुरेसन <ph name="USER_EMAIL" /> द्वारा नियन्त्रण गरिएको छ।</translation>
+<translation id="8835786707922974220">तपाईं आफूले सुरक्षित गरेका पासवर्डहरू जुनसुकै बेला प्रयोग गर्न सक्नुहुन्छ भन्ने कुरा सुनिश्चित गर्नुहोस्</translation>
 <translation id="8838601485495657486">अपारदर्शी</translation>
 <translation id="8838770651474809439">ह्यामबर्गर</translation>
 <translation id="883911313571074303">छविलाई एनोटेट गर्नुहोस्</translation>
@@ -6670,6 +6753,7 @@
 <translation id="885246833287407341">API कार्यसम्बन्धी आर्गुमेन्टहरू</translation>
 <translation id="8853586775156634952">यस कार्डलाई यस यन्त्रमा मात्र सुरक्षित गरिने छ</translation>
 <translation id="8855977033756560989">यो Chromebook यन्त्र Chrome इन्टरप्राइजको स्तरवृद्धिको बन्डलसँगै उपलब्ध हुन्छ। इन्टरप्राइजका क्षेमताहरूको लाभ लिन Google प्रशासकको खातामार्फत यो यन्त्र दर्ता गर्नुहोस्।</translation>
+<translation id="8856028055086294840">एप र पेजहरू रिस्टोर गर्नुहोस्</translation>
 <translation id="885701979325669005">भण्डारण</translation>
 <translation id="8859057652521303089">तपाइँको भाषा चयन गर्नुहोस्:</translation>
 <translation id="8859174528519900719">सबफ्रेम: <ph name="SUBFRAME_SITE" /></translation>
@@ -6859,6 +6943,8 @@
 <translation id="9066773882585798925">पाठलाई ठुलो स्वरमा पढेको सुन्नुहोस्</translation>
 <translation id="9066782832737749352">पाठवाचक</translation>
 <translation id="9068849894565669697">रङ्ग चयन गर्नुहोस्</translation>
+<translation id="9068878141610261315">यस प्रकारको फाइल सेयर गर्न सकिँदैन</translation>
+<translation id="9070342919388027491">यो ट्याब बायाँतिर सारियो</translation>
 <translation id="9072851933240542161">{COUNT,plural, =1{एउटा ठेगाना}other{# वटा ठेगाना}}</translation>
 <translation id="9073281213608662541">PAP</translation>
 <translation id="9074739597929991885">ब्लुटुथ</translation>
@@ -7031,6 +7117,7 @@
 <translation id="971774202801778802">बुकमार्क URL</translation>
 <translation id="973473557718930265">छोड्नुहोस्</translation>
 <translation id="975893173032473675">अनुवाद गरिनु पर्ने भाषा</translation>
+<translation id="976499800099896273"><ph name="TYPED_WORD" /> सच्याएर <ph name="CORRECTED_WORD" /> बनाइयो र 'अटोकरेक्ट अन्डू गर्नुहोस्' नामक डायलग देखाइयो।  सच्याइएको शब्द हेर्न अप एरो थिच्नुहोस्, बेवास्ता गर्न escape थिच्नुहोस्।</translation>
 <translation id="978146274692397928">प्रारम्भिक विराम चौडाइ पूर्ण छ</translation>
 <translation id="97905529126098460">रद्द गर्ने कार्य पूरा भएपछि यो विन्डो बन्द हुने छ।</translation>
 <translation id="980731642137034229">कारबाहीको मेनु नामक बटन</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index f1372d2..502e73ca 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -1608,7 +1608,7 @@
 <translation id="2805646850212350655">Microsoft Encrypting File System</translation>
 <translation id="2805756323405976993">Apps</translation>
 <translation id="2805770823691782631">Aanvullende informatie</translation>
-<translation id="2806372837663997957">Het apparaat waarmee je probeert te delen, accepteert niet</translation>
+<translation id="2806372837663997957">Het apparaat waarmee je probeert te delen, accepteert dit niet</translation>
 <translation id="2807517655263062534">Bestanden die je downloadt, worden hier weergegeven</translation>
 <translation id="2809586584051668049">en <ph name="NUMBER_ADDITIONAL_DISABLED" /> meer</translation>
 <translation id="2810390687497823527">Als je een extensie niet herkent of als je browser niet werkt zoals verwacht, kun je extensies hier uitschakelen of aanpassen.</translation>
@@ -1823,7 +1823,7 @@
 <translation id="3058498974290601450">Je kunt synchronisatie op elk gewenst moment inschakelen via de instellingen</translation>
 <translation id="3060379269883947824">'Selecteer om uitgesproken te worden' inschakelen</translation>
 <translation id="3060952009917586498">Wijzig de taal van het apparaat. De huidige taal is <ph name="LANGUAGE" />.</translation>
-<translation id="3060987956645097882">We kunnen geen verbinding met je telefoon maken. Zorg dat je telefoon in de buurt en ontgrendeld is en dat bluetooth en wifi zijn ingeschakeld.</translation>
+<translation id="3060987956645097882">We kunnen geen verbinding maken met je telefoon. Zorg dat je telefoon in de buurt en ontgrendeld is en dat bluetooth en wifi zijn ingeschakeld.</translation>
 <translation id="3065041951436100775">Feedback over gesloten tabblad.</translation>
 <translation id="306535478112428611">Geen toestemming om bestanden en mappen op je apparaat te bewerken</translation>
 <translation id="3065522099314259755">Herhalingsvertraging toetsenbord</translation>
@@ -3687,7 +3687,7 @@
 <translation id="5297082477358294722">Het wachtwoord is opgeslagen. Bekijk en beheer opgeslagen wachtwoorden in je <ph name="SAVED_PASSWORDS_STORE" />.</translation>
 <translation id="5298219193514155779">Thema gemaakt door</translation>
 <translation id="5299109548848736476">Niet bijhouden</translation>
-<translation id="5299558715747014286">Je tabbladgroepen weergeven en beheren</translation>
+<translation id="5299558715747014286">Je tabbladgroepen bekijken en beheren</translation>
 <translation id="5300287940468717207">Sitemachtigingen resetten?</translation>
 <translation id="5300589172476337783">Weergeven</translation>
 <translation id="5300719150368506519">URL's van pagina's die je bezoekt naar Google sturen</translation>
@@ -4315,7 +4315,7 @@
 <translation id="6031600495088157824">Invoeropties in werkbalk</translation>
 <translation id="6032715498678347852">Klik op een extensie om de extensie toegang tot deze site te geven.</translation>
 <translation id="6032912588568283682">Bestandssysteem</translation>
-<translation id="603539183851330738">Knop voor aAutocorrectie ongedaan maken. Terugzetten naar <ph name="TYPED_WORD" />.  Druk op Enter om te activeren of op Escape om te sluiten.</translation>
+<translation id="603539183851330738">Knop voor autocorrectie ongedaan maken. Terugzetten naar <ph name="TYPED_WORD" />.  Druk op Enter om te activeren of op Escape om te sluiten.</translation>
 <translation id="6035517790085323771">Wie content met jouw apparaat kan delen</translation>
 <translation id="6038929619733116134">Blokkeren als site opdringerige of misleidende advertenties weergeeft</translation>
 <translation id="6039651071822577588">Woordenboek van netwerkproperty is onjuist opgemaakt</translation>
@@ -4456,7 +4456,7 @@
 <translation id="6186394437969115158">Sites kiezen er vaak voor advertenties weer te geven zodat ze hun content en services gratis kunnen aanbieden. Het is echter bekend dat bepaalde sites opdringerige of misleidende advertenties weergeven.</translation>
 <translation id="6195693561221576702">Dit apparaat kan niet worden ingesteld in de offline demomodus.</translation>
 <translation id="6195724942939841102">Niet herstellen</translation>
-<translation id="6196640612572343990">Indirecte cookies blokkeren</translation>
+<translation id="6196640612572343990">Cookies van derden blokkeren</translation>
 <translation id="6196854373336333322">De extensie '<ph name="EXTENSION_NAME" />' heeft het beheer van je proxyinstellingen overgenomen. Dit betekent dat de extensie alles wat je online doet, kan wijzigen, beschadigen of bekijken. Als je niet zeker weet waarom deze wijziging heeft plaatsgevonden, is het waarschijnlijk een ongewenste wijziging.</translation>
 <translation id="6198102561359457428">Log uit en log daarna weer in...</translation>
 <translation id="6198252989419008588">Pincode wijzigen</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 2cae217..1d7c6d6 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">Du har en fil med sertifikater som ikke passer inn i noen av de andre kategoriene</translation>
 <translation id="1476088332184200792">Kopiér til enheten din</translation>
 <translation id="1476607407192946488">&amp;Språkinnstillinger</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> krever at smartkortet blir stående i.</translation>
 <translation id="1478340334823509079">Detaljer: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Installasjon er ikke aktivert</translation>
 <translation id="1481537595330271162">Feil ved endring av diskstørrelse</translation>
@@ -2030,6 +2031,7 @@
 <translation id="3320630259304269485">Safe Browsing (beskyttelse mot farlige nettsteder) og andre sikkerhetsinnstillinger</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Disse dataene har sensitivt eller farlig innhold. Fjern dette innholdet, og prøv på nytt.}=1{Denne filen har sensitivt eller farlig innhold. Fjern dette innholdet, og prøv på nytt.}other{Disse filene har sensitivt eller farlig innhold. Fjern dette innholdet, og prøv på nytt.}}</translation>
 <translation id="3323521181261657960">Bonus! Du har fått mer skjermtid</translation>
+<translation id="3325804108816646710">Ser etter tilgjengelige profiler …</translation>
 <translation id="3325910708063135066">Kameraet og mikrofonen er slått av i Mac-systemvalgene</translation>
 <translation id="3327050066667856415">Chromebook er designet for sikkerhet. Enheten din er automatisk beskyttet mot skadelig programvare – du trenger ingen tilleggsprogramvare.</translation>
 <translation id="3328489342742826322">Når du gjenoppretter fra en sikkerhetskopi, slettes eksisterende Linux-programmer og -data i mappen for Linux-filer.</translation>
@@ -2097,6 +2099,7 @@
 <translation id="3412265149091626468">Gå til utvalg</translation>
 <translation id="3413122095806433232">Sertifiseringsinstanser: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Størrelse:</translation>
+<translation id="3414966631182382431"><ph name="BEGIN_LINK" />Nettleseren administreres<ph name="END_LINK" /> av <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Vis alltid fullstendige nettadresser</translation>
 <translation id="3417835166382867856">Søk på faner</translation>
 <translation id="3417836307470882032">24-timersklokke</translation>
@@ -3170,6 +3173,7 @@
 <translation id="4651484272688821107">Kunne ikke laste inn nettbasert komponent med ressurser for demomodus.</translation>
 <translation id="4652935475563630866">Endringen i kamerainnstillingen krever omstart av Parallels Desktop. Start Parallels Desktop på nytt for å fortsette.</translation>
 <translation id="4653405415038586100">Feil under konfigureringen av Linux</translation>
+<translation id="4657914796247705218">TrackPoint-hastighet</translation>
 <translation id="465878909996028221">Bare protokollene http, https og file støttes for viderekobling av nettleseren.</translation>
 <translation id="4659077111144409915">Primærkonto</translation>
 <translation id="4659126640776004816">Når du logger på Google-kontoen din, blir denne funksjonen slått på.</translation>
@@ -3829,6 +3833,7 @@
 <translation id="5470735824776589490">En omstart er nødvendig før enheten din kan tilbakestilles med Powerwash. <ph name="LINK_BEGIN" />Finn ut mer<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Heisann! Jeg er tekst til tale-stemmen din.</translation>
 <translation id="5472627187093107397">Lagre passord for dette nettstedet</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN-koden må bestå av minst ett tegn}other{PIN-koden må bestå av minst # tegn}}</translation>
 <translation id="5473333559083690127">Skriv inn den nye PIN-koden på nytt</translation>
 <translation id="5481273127572794904">Nettsteder som ikke har lov til å laste ned flere filer automatisk</translation>
 <translation id="5481941284378890518">Legg til skrivere i nærheten</translation>
@@ -4369,6 +4374,7 @@
 <translation id="6087960857463881712">Fantastisk-fjes</translation>
 <translation id="6091761513005122595">Delingen er aktivert.</translation>
 <translation id="6093888419484831006">Avbryter oppdatering …</translation>
+<translation id="6095541101974653012">Du er nå logget av.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Maksimer ved åpning</translation>
 <translation id="6096326118418049043">X.500 navn</translation>
@@ -4701,6 +4707,7 @@
 <translation id="6474884162850599008">Koble fra Google Disk-kontoen.</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> vil dele innholdet på skjermen din. Velg hva du vil dele.</translation>
 <translation id="6478248366783946499">Vil du beholde den farlige filen?</translation>
+<translation id="6480327114083866287">Administreres av <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Åpne nedlasting</translation>
 <translation id="6483805311199035658">Åpner <ph name="FILE" /> ...</translation>
 <translation id="6488384360522318064">Velg språk</translation>
@@ -4889,6 +4896,7 @@
 <translation id="671928215901716392">Lås skjerm</translation>
 <translation id="6721678857435001674">se merket og modellen til sikkerhetsnøkkelen din</translation>
 <translation id="6721972322305477112">&amp;Fil</translation>
+<translation id="672208878794563299">Dette nettstedet kommer til å spørre på nytt neste gang.</translation>
 <translation id="672213144943476270">Du må låse opp profilen din før du kan surfe som gjest.</translation>
 <translation id="6723661294526996303">Importér bokmerker og innstillinger...</translation>
 <translation id="6723839937902243910">Strøm</translation>
@@ -6289,6 +6297,7 @@
 <translation id="8317671367883557781">Legg til nettverkstilkobling</translation>
 <translation id="8319414634934645341">Utvidet bruk av nøkkel</translation>
 <translation id="8320459152843401447">Hele skjermen</translation>
+<translation id="8321837372750396788">Denne <ph name="DEVICE_TYPE" />-enheten kommer til å bli administrert av <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Mikrofonen er blokkert for denne siden.</translation>
 <translation id="8323167517179506834">Skriv inn nettadresse</translation>
 <translation id="8324784016256120271">Nettsteder kan bruke informasjonskapsler for å se nettleseraktiviteten din på andre nettsteder, for eksempel for å vise deg personlig tilpassede annonser</translation>
@@ -6596,6 +6605,7 @@
 <translation id="8698269656364382265">For å gå tilbake til det forrige skjermbildet, sveip fra venstre side.</translation>
 <translation id="869884720829132584">Programmeny</translation>
 <translation id="869891660844655955">Utløpsdato</translation>
+<translation id="8702825062053163569"><ph name="DEVICE_TYPE" /> er nå låst.</translation>
 <translation id="8703346390800944767">Hopp over annonsen</translation>
 <translation id="8705331520020532516">Serienummer</translation>
 <translation id="8705580154597116082">Wi-Fi er tilgjengelig via telefon</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index d69fcf1..714a905 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">ਛੱਡਣ ਲਈ ESCAPE ਦਬਾਓ (ਕੇਵਲ ਗੈਰ-ਅਧਿਕਾਰਤ ਬਿਲਡ)।</translation>
 <translation id="1093457606523402488">ਦ੍ਰਿਸ਼ਮਾਨ ਨੈਟਵਰਕ:</translation>
 <translation id="1094607894174825014">ਇਸ 'ਤੇ ਇੱਕ ਅਵੈਧ ਫ਼ਰਕ ਨਾਲ ਪੜ੍ਹਨ ਜਾਂ ਲਿਖਣ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਗਈ: "<ph name="DEVICE_NAME" />"।</translation>
+<translation id="1095761715416917775">ਪੱਕਾ ਕਰੋ ਤੁਸੀਂ ਆਪਣੇ ਸਮਕਾਲੀਕਿਰਤ ਡਾਟੇ 'ਤੇ ਹਮੇਸ਼ਾਂ ਪਹੁੰਚ ਕਰ ਸਕੋ</translation>
 <translation id="109647177154844434">Parallels Desktop ਅਣਸਥਾਪਤ ਕਰਨ ਨਾਲ ਤੁਹਾਡੀ Windows ਇਮੇਜ ਮਿਟ ਜਾਵੇਗੀ। ਇਸ ਵਿੱਚ ਇਸਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ, ਸੈਟਿੰਗਾਂ ਅਤੇ ਡਾਟਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਪੱਕਾ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 ਲਿੰਕ}one{# ਲਿੰਕ}other{# ਲਿੰਕ}}</translation>
 <translation id="1097658378307015415">ਸਾਈਨ-ਇਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਨੈੱਟਵਰਕ <ph name="NETWORK_ID" /> ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਲਈ ਮਹਿਮਾਨ ਦੇ ਤੌਰ 'ਤੇ ਦਰਜ ਕਰੋ</translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">ਖੋਜ ਇੰਜਣ ਦਾ ਸੰਪਾਦਨ ਕਰੋ</translation>
 <translation id="1129850422003387628">ਐਪਾਂ ਪ੍ਰਬੰਧਿਤ ਕਰੋ</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - <ph name="GROUP_NAME" /> ਗਰੁੱਪ ਦਾ ਹਿੱਸਾ ਹੈ</translation>
+<translation id="1130712065489627903">ਤੁਸੀਂ ਹੁਣ ਆਪਣੇ <ph name="DEVICE_TYPE" /> 'ਤੇ ਆਪਣੇ ਫ਼ੋਨ ਤੋਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ। ਆਪਣੇ <ph name="DEVICE_TYPE" /> ਤੋਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਖਾਰਜ ਕਰਨ 'ਤੇ ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਤੋਂ ਵੀ ਖਾਰਜ ਕਰ ਦੇਵੇਗਾ। ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡਾ ਫ਼ੋਨ ਨਜ਼ਦੀਕ, ਅਣਲਾਕ ਹੈ ਅਤੇ ਉਸਦਾ ਬਲੂਟੁੱਥ ਅਤੇ ਵਾਈ-ਫਾਈ ਚਾਲੂ ਹੈ।</translation>
 <translation id="1134009406053225289">ਇਨਕੋਗਨਿਟੋ ਵਿੰਡੋ ਵਿੱਚ ਖੋਲ੍ਹੋ</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_COUNT" /> ਵਿੱਚੋਂ <ph name="EMOJI_INDEX" />.</translation>
 <translation id="1136712381129578788">ਸੁਰੱਖਿਆ ਕੁੰਜੀ ਲਾਕ ਹੋ ਗਈ ਹੈ ਕਿਉਂਕਿ ਗਲਤ ਪਿੰਨ ਬਹੁਤ ਵਾਰ ਦਾਖਲ ਕੀਤਾ ਗਿਆ। ਇਸਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ, ਕੱਢ ਕੇ ਮੁੜ-ਪਾਓ।</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366"><ph name="HOST" /> ਨੂੰ ਸੈਂਸਰਾਂ ਤੱਕ ਹਮੇਸ਼ਾਂ ਪਹੁੰਚ ਕਰਨ ਦਿਓ</translation>
 <translation id="1153356358378277386">ਜੋੜਾਬੱਧ ਕੀਤੀਆਂ ਡੀਵਾਈਸਾਂ</translation>
 <translation id="1153636665119721804">Google ਉੱਨਤ ਸੁਰੱਖਿਆ ਪ੍ਰੋਗਰਾਮ</translation>
+<translation id="1155816283571436363">ਤੁਹਾਡੇ ਫ਼ੋਨ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="1161575384898972166">ਕਿਰਪਾ ਕਰਕੇ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨਿਰਯਾਤ ਕਰਨ ਲਈ <ph name="TOKEN_NAME" /> 'ਤੇ ਸਾਈਨ-ਇਨ ਕਰੋ।</translation>
 <translation id="1163931534039071049">&amp;ਫ੍ਰੇਮ ਸ੍ਰੋਤ ਦੇਖੋ</translation>
 <translation id="1164891049599601209">ਧੋਖੇਬਾਜ਼ ਸਾਈਟ 'ਤੇ ਦਾਖਲ ਕੀਤਾ</translation>
@@ -264,6 +267,7 @@
 <translation id="1292849930724124745">ਸਾਈਨ-ਇਨ ਰਹਿਣ ਲਈ ਸਮਾਰਟ ਕਾਰਡ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="1293264513303784526">USB-C ਡੀਵਾਈਸ (ਖੱਬਾ ਪੋਰਟ)</translation>
 <translation id="1293556467332435079">Files</translation>
+<translation id="1294807885394205587">ਇਸ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਕੁਝ ਮਿੰਟ ਲੱਗ ਸਕਦੇ ਹਨ। ਕੰਟੇਨਰ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।</translation>
 <translation id="1296911687402551044">ਚੁਣੀ ਗਈ ਟੈਬ ਨੂੰ ਪਿੰਨ ਕਰੋ</translation>
 <translation id="1297175357211070620">ਨਿਯਤ ਥਾਂ</translation>
 <translation id="1300415640239881824"><ph name="DOMAIN" /> ਸੁਰੱਖਿਅਤ ਸਮੱਗਰੀ ਦੇ ਵਿਸਤ੍ਰਿਤ ਪਲੇਬੈਕ ਲਈ ਯੋਗਤਾ ਦਾ ਪਤਾ ਲਗਾਉਣ ਵਾਸਤੇ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ Google ਵੱਲੋਂ ਕਰਵਾਉਣਾ ਚਾਹੁੰਦੀ ਹੈ।</translation>
@@ -374,6 +378,15 @@
 <translation id="1420834118113404499">ਮੀਡੀਆ ਲਾਇਸੰਸ</translation>
 <translation id="1420920093772172268">ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਇਜਾਜ਼ਤ ਦੇਣ ਵਾਸਤੇ <ph name="TURN_ON_BLUETOOTH_LINK" /></translation>
 <translation id="1422159345171879700">ਅਸੁਰੱਖਿਅਤ ਸਕ੍ਰਿਪਟਾਂ ਲੋਡ ਕਰੋ</translation>
+<translation id="1423716227250567100">ਇਹ ਕਾਰਵਾਈ:
+          <ph name="LINE_BREAKS" />
+           • Chrome ਸੈਟਿੰਗਾਂ ਅਤੇ Chrome ਸ਼ਾਰਟਕੱਟਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰੇਗੀ
+           <ph name="LINE_BREAK" />
+           • ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਬੰਦ ਕਰੇਗੀ
+           <ph name="LINE_BREAK" />
+           • ਕੂਕੀਜ਼ ਅਤੇ ਹੋਰ ਕੁਝ ਸਮੇਂ ਲਈ ਰੱਖੇ ਸਾਈਟ ਡਾਟੇ ਨੂੰ ਮਿਟਾਵੇਗੀ
+            <ph name="LINE_BREAKS" />
+           ਬੁੱਕਮਾਰਕ, ਇਤਿਹਾਸ ਅਤੇ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਹੋਣਗੇ।</translation>
 <translation id="1426410128494586442">ਹਾਂ</translation>
 <translation id="142655739075382478"><ph name="APP_NAME" /> ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ</translation>
 <translation id="1426870617281699524">ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਉਤਪ੍ਰੇਰਕ ਸਵੀਕਾਰ ਕਰੋ</translation>
@@ -801,6 +814,7 @@
 <translation id="1887597546629269384">ਦੁਬਾਰਾ "Hey Google" ਕਹੋ</translation>
 <translation id="1887850431809612466">ਹਾਰਡਵੇਅਰ ਸੰਸ਼ੋਧਨ</translation>
 <translation id="1890674179660343635">&lt;span&gt;ਆਈ ਡੀ: &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">ਡਿਸਕ ਵਿੱਚ ਜਗ੍ਹਾ ਬਹੁਤ ਘੱਟ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਡਿਸਕ ਵਿਚਲੀ ਜਗ੍ਹਾ ਖਾਲੀ ਕਰੋ।</translation>
 <translation id="189210018541388520">ਪੂਰੀ ਸਕ੍ਰੀਨ ਖੋਲ੍ਹੋ</translation>
 <translation id="1892341345406963517">ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ <ph name="PARENT_NAME" /></translation>
 <translation id="189358972401248634">ਹੋਰ ਭਾਸ਼ਾਵਾਂ</translation>
@@ -923,6 +937,7 @@
 <translation id="2046702855113914483">ਰੈਮਨ</translation>
 <translation id="204706822916043810">ਆਭਾਸੀ ਮਸ਼ੀਨ ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ</translation>
 <translation id="2048182445208425546">ਆਪਣੇ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
+<translation id="2048554637254265991">ਕੰਟੇਨਰ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਵੇਲੇ ਗੜਬੜ ਹੋਈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="2048653237708779538">ਕਾਰਵਾਈ ਉਪਲਬਧ ਨਹੀਂ ਹੈ</translation>
 <translation id="204914487372604757">ਸ਼ਾਰਟਕੱਟ ਬਣਾਓ</translation>
 <translation id="2050339315714019657">ਪੋਰਟਰੇਟ</translation>
@@ -1018,6 +1033,7 @@
 <translation id="2157474325782140681">ਵਧੀਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਇਸ Chromebook ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ Dell ਡੌਕਿੰਗ ਸਟੇਸ਼ਨ ਵਰਤੋ।</translation>
 <translation id="215753907730220065">ਪੂਰੀ ਸਕ੍ਰੀਨ ਤੋਂ ਬਾਹਰ ਜਾਓ</translation>
 <translation id="2157875535253991059">ਇਹ ਸਫ਼ਾ ਹੁਣ ਪੂਰੀ ਸਕ੍ਰੀਨ ਹੈ।</translation>
+<translation id="2160589599612868242">ਤੁਹਾਡੀ <ph name="DEVICE_TYPE" /> 'ਤੇ ਆਪਣੇ ਫ਼ੋਨ ਤੋਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="216169395504480358">ਵਾਈ-ਫਾਈ ਸ਼ਾਮਿਲ ਕਰੋ...</translation>
 <translation id="2162155940152307086">ਤੁਹਾਡੇ ਵੱਲੋਂ ਸਮਕਾਲੀਕਰਨ ਸੈਟਿੰਗਾਂ ਤੋਂ ਬਾਹਰ ਜਾਣ ਤੋਂ ਬਾਅਦ ਸਮਕਾਲੀਕਰਨ ਸ਼ੁਰੂ ਹੋ ਜਾਵੇਗਾ</translation>
 <translation id="2162838847352058695">ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਕਈ ਫ਼ਾਈਲਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਤੋਂ ਰੋਕਣ ਲਈ ਸਾਈਟਾਂ ਨੂੰ ਬਲਾਕ ਕਰੋ</translation>
@@ -1026,6 +1042,7 @@
 <translation id="2165421703844373933">"Ok Google" ਕਹਿ ਕੇ ਆਪਣੀ 'ਅਸਿਸਟੈਂਟ' ਤੱਕ ਪਹੁੰਚ ਕਰੋ। ਬੈਟਰੀ ਬਚਾਉਣ ਲਈ, “ਚਾਲੂ (ਸਿਫ਼ਾਰਸ਼ੀ)” ਨੂੰ ਚੁਣੋ। ਤੁਹਾਡੀ 'ਅਸਿਸਟੈਂਟ' ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੇ ਪਲੱਗ-ਇਨ ਹੋਣ ਜਾਂ ਚਾਰਜ ਹੋਣ ਵੇਲੇ ਹੀ ਜਵਾਬ ਦੇਵੇਗੀ।</translation>
 <translation id="2166369534954157698">The quick brown fox jumps over the lazy dog</translation>
 <translation id="2169062631698640254">ਫੇਰ ਵੀ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
+<translation id="2170054054876170358">ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡਾ ਫ਼ੋਨ ਨਜ਼ਦੀਕ, ਅਣਲਾਕ ਹੈ ਅਤੇ ਉਸਦਾ ਬਲੂਟੁੱਥ ਅਤੇ ਵਾਈ-ਫਾਈ ਚਾਲੂ ਹੈ।</translation>
 <translation id="2172784515318616985">ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="2173302385160625112">ਆਪਣੇ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ</translation>
 <translation id="2173801458090845390">ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਬੇਨਤੀ ਆਈ.ਡੀ. ਸ਼ਾਮਲ ਕਰੋ</translation>
@@ -1121,6 +1138,7 @@
 <translation id="2276503375879033601">ਹੋਰ ਐਪਸ ਜੋੜੋ</translation>
 <translation id="2277255602909579701">ਸਾਰੀਆਂ ਕੁਕੀਜ਼ ਅਤੇ ਸਾਈਟ ਡਾਟਾ</translation>
 <translation id="2278562042389100163">ਬ੍ਰਾਊਜ਼ਰ window ਖੋਲ੍ਹੋ</translation>
+<translation id="2278668501808246459">ਕੰਟੇਨਰ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="2280486287150724112">ਸੱਜਾ ਹਾਸ਼ੀਆ</translation>
 <translation id="2282146716419988068">GPU ਪ੍ਰਕਿਰਿਆ</translation>
 <translation id="2282155092769082568">ਸਵੈ-ਸੰਰੂਪਣ URL:</translation>
@@ -1224,12 +1242,14 @@
 <translation id="2395616325548404795">ਤੁਹਾਡੀ <ph name="DEVICE_TYPE" /> ਨੂੰ ਉਦਯੋਗਿਕ ਪ੍ਰਬੰਧਨ ਲਈ ਸਫਲਤਾਪੂਰਵਕ ਦਾਖਲ ਕਰ ਲਿਆ ਗਿਆ ਹੈ, ਪਰ ਇਸਦੀ ਸੰਪਤੀ ਅਤੇ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਭੇਜਣਾ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ ਇਸ ਡੀਵਾਈਸ ਲਈ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਕੰਸੋਲ ਤੋਂ ਇਸ ਜਾਣਕਾਰੀ ਨੂੰ ਹੱਥੀ ਦਾਖਲ ਕਰੋ।</translation>
 <translation id="2396387085693598316">ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਨੇ "<ph name="EXTENSION_NAME" />" ਨੂੰ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ</translation>
 <translation id="2396783860772170191">4 ਅੰਕੀ ਪਿੰਨ ਦਾਖਲ ਕਰੋ (0000-9999)</translation>
+<translation id="2399699884460174994">ਸੂਚਨਾਵਾਂ ਚਾਲੂ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ</translation>
 <translation id="2399939490305346086">ਸੁਰੱਖਿਆ ਕੁੰਜੀ ਸਾਈਨ-ਇਨ ਡਾਟਾ</translation>
 <translation id="2400664245143453337">ਤੁਰੰਤ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ</translation>
 <translation id="2408018932941436077">ਕਾਰਡ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="2408955596600435184">ਆਪਣਾ PIN ਦਾਖਲ ਕਰੋ</translation>
 <translation id="241082044617551207">ਅਗਿਆਤ ਪਲੱਗਇਨ</translation>
 <translation id="2412593942846481727">ਅੱਪਡੇਟ ਉਪਲਬਧ ਹੈ</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">ਕੀ-ਬੋਰਡ ਫੰਕਸ਼ਨ ਕੁੰਜੀਆਂ</translation>
 <translation id="241727068219398187"><ph name="TIME" /> ਤੱਕ ਦੇ ਡਾਟੇ ਨੂੰ ਤੁਹਾਡੇ Google ਪਾਸਵਰਡ ਨਾਲ ਇਨਕ੍ਰਿਪਟ ਕੀਤਾ ਗਿਆ ਸੀ। ਇਸ ਵਿੱਚ Google Pay ਦੀਆਂ ਭੁਗਤਾਨ ਵਿਧੀਆਂ ਅਤੇ ਪਤੇ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ।</translation>
 <translation id="2419131370336513030">ਸਥਾਪਤ ਕੀਤੀਆਂ ਐਪਾਂ ਦੇਖੋ</translation>
@@ -1354,6 +1374,7 @@
 <translation id="2538084450874617176">ਇਸ <ph name="DEVICE_TYPE" /> ਨੂੰ ਕੌਣ ਵਰਤ ਰਿਹਾ ਹੈ?</translation>
 <translation id="2538361623464451692">ਸਮਕਾਲੀਕਰਨ ਬੰਦ ਹੈ</translation>
 <translation id="2540449034743108469">ਐਕਸਟੈਂਸ਼ਨ ਸਰਗਰਮੀਆਂ ਨੂੰ ਸੁਣਨ ਲਈ "ਸ਼ੁਰੂ ਕਰੋ" ਦਬਾਓ</translation>
+<translation id="2540651571961486573">ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ। ਗੜਬੜ ਕੋਡ: <ph name="ERROR_CODE" />।</translation>
 <translation id="2541002089857695151">ਕੀ ਪੂਰੀ-ਸਕ੍ਰੀਨ ਕਾਸਟ ਕਰਨਾ ਸੁਯੋਗ ਬਣਾਉਣਾ ਹੈ?</translation>
 <translation id="2541706104884128042">ਸੌਣ ਦਾ ਨਵਾਂ ਸਮਾਂ ਸੈੱਟ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="2542050502251273923">ff_debug ਵਰਤ ਕੇ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਪ੍ਰਬੰਧਕ ਅਤੇ ਹੋਰ ਸੇਵਾਵਾਂ ਦਾ ਡੀਬੱਗਿੰਗ ਪੱਧਰ ਸੈੱਟ ਕਰਦਾ ਹੈ।</translation>
@@ -1401,6 +1422,7 @@
 <translation id="2607101320794533334">ਵਿਸ਼ਾ ਜਨਤਕ ਕੁੰਜੀ ਜਾਣਕਾਰੀ</translation>
 <translation id="2607968157341167679">ਕੋਈ ਐਲਬਮ ਨਹੀਂ ਹੈ। <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" /> ਵਿੱਚ ਐਲਬਮ ਬਣਾਓ।</translation>
 <translation id="2609896558069604090">ਸ਼ਾਰਟਕੱਟ ਬਣਾਓ...</translation>
+<translation id="2609980095400624569">ਕਨੈਕਸ਼ਨ ਸਥਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ</translation>
 <translation id="2610157865375787051">ਸਲੀਪ</translation>
 <translation id="2610260699262139870">ਅ&amp;ਸਲ ਆਕਾਰ</translation>
 <translation id="2610780100389066815">Microsoft Trust List Signing</translation>
@@ -1654,6 +1676,7 @@
 <translation id="2885729872133513017">ਸਰਵਰ ਦੇ ਜਵਾਬ ਨੂੰ ਡੀਕੋਡ ਕਰਨ ਵੇਲੇ ਕੋਈ ਸਮੱਸਿਆ ਆਈ।</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">ਇਸ ਨਾਲ ਲਿੰਕ ਖੋਲ੍ਹੇੋ...</translation>
+<translation id="2889481634493693121">ਆਪਣੇ ਫ਼ੋਨ 'ਤੇ ਸੂਚਨਾਵਾਂ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="2889925978073739256">ਅਨਸੈਂਡਬੌਕਸਿਡ ਪਲਗਇੰਸ ਨੂੰ ਬਲੌਕ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="2893168226686371498">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 ਲਿਖਤ}one{# ਲਿਖਤ}other{# ਲਿਖਤਾਂ}}</translation>
@@ -1747,6 +1770,7 @@
 <translation id="3000461861112256445">ਮੋਨੋ ਆਡੀਓ</translation>
 <translation id="3001144475369593262">ਬੱਚਿਆਂ ਦੇ ਖਾਤੇ</translation>
 <translation id="3003144360685731741">ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ</translation>
+<translation id="3003189754374775221">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />%, ਕਨੈਕਟ</translation>
 <translation id="3003623123441819449">CSS ਕੈਸ਼ੇ</translation>
 <translation id="3003828226041301643">ਡੀਵਾਈਸ ਨੂੰ ਡੋਮੇਨ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਇਹ ਪੱਕਾ ਕਰਨ ਲਈ ਆਪਣੇ ਖਾਤੇ ਦੀ ਜਾਂਚ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਡੀਵਾਈਸਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੇ ਵਿਸ਼ੇਸ਼-ਅਧਿਕਾਰ ਹਨ।</translation>
 <translation id="3003967365858406397">ਤੁਹਾਡਾ <ph name="PHONE_NAME" /> ਇੱਕ ਨਿੱਜੀ Wi-Fi ਕਨੈਕਸ਼ਨ ਬਣਾਏਗਾ।</translation>
@@ -1798,6 +1822,7 @@
 <translation id="3058498974290601450">ਤੁਸੀਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਕਿਸੇ ਵੇਲੇ ਵੀ ਸਮਕਾਲੀਕਰਨ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ</translation>
 <translation id="3060379269883947824">'ਚੁਣੋ ਅਤੇ ਸੁਣੋ' ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="3060952009917586498">ਡੀਵਾਈਸ ਦੀ ਭਾਸ਼ਾ ਬਦਲੋ। ਮੌਜੂਦਾ ਭਾਸ਼ਾ <ph name="LANGUAGE" /> ਹੈ।</translation>
+<translation id="3060987956645097882">ਅਸੀਂ ਤੁਹਾਡੇ ਫ਼ੋਨ ਨਾਲ ਕਨੈਕਸ਼ਨ ਸਥਾਪਤ ਨਹੀਂ ਕਰ ਸਕੇ। ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡਾ ਫ਼ੋਨ ਨਜ਼ਦੀਕ, ਅਣਲਾਕ ਹੈ ਅਤੇ ਉਸਦਾ ਬਲੂਟੁੱਥ ਅਤੇ ਵਾਈ-ਫਾਈ ਚਾਲੂ ਹੈ।</translation>
 <translation id="3065041951436100775">ਨਸ਼ਟ ਕੀਤੀ ਟੈਬ ਫੀਡਬੈਕ</translation>
 <translation id="306535478112428611">ਤੁਹਾਡੇ ਡੀਵਾਈਸ 'ਤੇ ਫ਼ਾਈਲਾਂ ਅਤੇ ਫੋਲਡਰਾਂ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ</translation>
 <translation id="3065522099314259755">ਕੀ-ਬੋਰਡ ਦੁਹਰਾਓ ਵਿਲੰਬਤਾ</translation>
@@ -1854,6 +1879,7 @@
 <translation id="3129215702932019810">ਐਪਲੀਕੇਸ਼ਨ ਲਾਂਚ ਕਰਨ ਵੇਲੇ ਗੜਬੜ</translation>
 <translation id="3130528281680948470">ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਰੀਸੈੱਟ ਕੀਤੀ ਜਾਵੇਗੀ ਅਤੇ ਸਾਰੇ ਵਰਤੋਂਕਾਰ ਖਾਤੇ ਅਤੇ ਸਥਾਨਕ ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਇਸ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।</translation>
 <translation id="313205617302240621">ਕੀ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?</translation>
+<translation id="3132277757485842847">ਅਸੀਂ ਤੁਹਾਡੇ ਫ਼ੋਨ ਨਾਲ ਇੱਕ ਕਨੈਕਸ਼ਨ ਬਰਕਰਾਰ ਨਹੀਂ ਰੱਖ ਸਕੇ। ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡਾ ਫ਼ੋਨ ਨਜ਼ਦੀਕ, ਅਣਲਾਕ ਹੈ ਅਤੇ ਉਸਦਾ ਬਲੂਟੁੱਥ ਅਤੇ ਵਾਈ-ਫਾਈ ਚਾਲੂ ਹੈ।</translation>
 <translation id="3132996321662585180">ਰੋਜ਼ਾਨਾ ਰਿਫ੍ਰੈਸ਼ ਕਰੋ</translation>
 <translation id="313963229645891001">ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਪੀਲਾ ਅਵਤਾਰ</translation>
@@ -2898,6 +2924,7 @@
 <translation id="4378551569595875038">ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ...</translation>
 <translation id="4378556263712303865">ਡੀਵਾਈਸ ਬੇਨਤੀ</translation>
 <translation id="4379281552162875326">ਕੀ "<ph name="APP_NAME" />" ਨੂੰ ਅਣਸਥਾਪਤ ਕਰਨਾ ਹੈ?</translation>
+<translation id="4380245540200674032">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />%, ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਵੇਰਵੇ</translation>
 <translation id="4380648069038809855">ਪੂਰੀ-ਸਕ੍ਰੀਨ ਵਿੱਚ ਦਾਖਲ ਹੋਏ</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" />, +1 ਹੋਰ ਖਾਤਾ}other{<ph name="EMAIL" />, +<ph name="EXTRA_ACCOUNTS" /> ਹੋਰ ਖਾਤੇ}}</translation>
 <translation id="4384312707950789900">ਤਰਜੀਹੀ ਨੈੱਟਵਰਕਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ</translation>
@@ -3321,6 +3348,7 @@
 <translation id="4880827082731008257">ਖੋਜ ਇਤਿਹਾਸ</translation>
 <translation id="4881695831933465202">ਖੋਲ੍ਹੋ</translation>
 <translation id="4882312758060467256">ਇਸ ਸਾਈਟ ਤੱਕ ਪਹੁੰਚ ਹੈ</translation>
+<translation id="4882670371033027418">ਆਪਣੇ <ph name="DEVICE_TYPE" /> ਨੂੰ ਵਧੇਰੇ ਤੇਜ਼ੀ ਨਾਲ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈੱਟਅੱਪ ਕਰੋ</translation>
 <translation id="4882831918239250449">'ਖੋਜ', ਵਿਗਿਆਪਨਾਂ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਦੇ ਵਰਤੇ ਜਾਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ</translation>
 <translation id="4882919381756638075">ਸਾਈਟਾਂ ਆਮ ਤੌਰ 'ਤੇ ਵੀਡੀਓ ਚੈਟਿੰਗ ਜਿਹੀਆਂ ਸੰਚਾਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਲਈ ਤੁਹਾਡਾ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਵਰਤਦੀਆਂ ਹਨ</translation>
 <translation id="4883436287898674711">ਸਾਰੀਆਂ <ph name="WEBSITE_1" /> ਸਾਈਟਾਂ</translation>
@@ -3345,6 +3373,7 @@
 <translation id="4902546322522096650">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />%, ਕਨੈਕਟ</translation>
 <translation id="49027928311173603">ਸਰਵਰ ਤੋਂ ਡਾਊਨਲੋਡ ਕੀਤੀ ਨੀਤੀ ਅਵੈਧ ਹੈ: <ph name="VALIDATION_ERROR" />।</translation>
 <translation id="4906490889887219338">'ਨੈੱਟਵਰਕ ਫ਼ਾਈਲ ਸਾਂਝਾਕਰਨ' ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ ਜਾਂ ਪ੍ਰਬੰਧਨ ਕਰੋ। <ph name="LINK_BEGIN" />ਹੋਰ ਜਾਣੋ<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />%, ਫ਼ੋਨ ਦੀ ਬੈਟਰੀ <ph name="BATTERY_STATUS" />%, ਵੇਰਵੇ</translation>
 <translation id="4907161631261076876">ਇਹ ਫ਼ਾਈਲ ਆਮ ਕਰਕੇ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਇਹ ਖਤਰਨਾਕ ਹੋ ਸਕਦੀ ਹੈ।</translation>
 <translation id="4907306957610201395">ਇਜਾਜ਼ਤ ਸ਼੍ਰੇਣੀ</translation>
 <translation id="4908811072292128752">ਦੋ ਸਾਈਟਾਂ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਲਈ ਕੋਈ ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹੋ</translation>
@@ -3791,6 +3820,7 @@
 <translation id="5457991019809708398">ਚਾਲੂ, ਰੋਮਿੰਗ 'ਤੇ ਨਹੀਂ</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">ਲੌਕ ਸਕ੍ਰੀਨ ਨੋਟ-ਕਥਨ</translation>
+<translation id="5461050611724244538">ਤੁਹਾਡੇ ਫ਼ੋਨ ਨਾਲ ਕਨੈਕਸ਼ਨ ਟੁੱਟ ਗਿਆ ਹੈ</translation>
 <translation id="5463231940765244860">ਦਾਖਲ ਕਰੋ</translation>
 <translation id="5463275305984126951"><ph name="LOCATION" /> ਦਾ ਇਨਬੌਕਸ</translation>
 <translation id="5463856536939868464">ਮੀਨੂ ਵਿੱਚ ਲੁਕਾਏ ਗਏ ਬੁੱਕਮਾਰਕ ਹਨ</translation>
@@ -4283,6 +4313,7 @@
 <translation id="6031600495088157824">ਟੂਲਬਾਰ ਵਿੱਚ ਇਨਪੁੱਟ ਵਿਕਲਪ</translation>
 <translation id="6032715498678347852">ਇਸ ਸਾਈਟ ਨੂੰ ਐਕਸਟੈਂਸ਼ਨ ਪਹੁੰਚ ਦੇਣ ਲਈ, ਇਸ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।</translation>
 <translation id="6032912588568283682">ਫਾਈਲ ਸਿਸਟਮ</translation>
+<translation id="603539183851330738">ਸਵੈ-ਸੁਧਾਰ ਨੂੰ ਅਣਕੀਤਾ ਕਰੋ ਬਟਨ। <ph name="TYPED_WORD" /> 'ਤੇ ਵਾਪਸ ਲਿਜਾਓ।  ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ enter, ਖਾਰਜ ਕਰਨ ਲਈ escape ਦੱਬੋ।</translation>
 <translation id="6035517790085323771">ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨਾਲ ਕੌਣ ਸਾਂਝਾ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="6038929619733116134">ਜੇਕਰ ਸਾਈਟ ਦਖਲਅੰਦਾਜ਼ੀ ਜਾਂ ਗੁਮਰਾਹ ਕਰਨ ਵਾਲੇ ਵਿਗਿਆਪਨ ਦਿਖਾਉਂਦੀ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਬਲਾਕ ਕਰੋ</translation>
 <translation id="6039651071822577588">ਨੈੱਟਵਰਕ ਪ੍ਰਾਪਰਟੀ ਸ਼ਬਦਕੋਸ਼ ਨੁਕਸਦਾਰ</translation>
@@ -4385,6 +4416,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />, ਕੋਈ ਨੈੱਟਵਰਕ ਨਹੀਂ</translation>
 <translation id="6141988275892716286">ਡਾਊਨਲੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</translation>
 <translation id="6143186082490678276">ਸਹਾਇਤਾ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
+<translation id="6143366292569327983">ਪੰਨੇ ਦੀ ਉਹ ਭਾਸ਼ਾ ਚੁਣੋ, ਜਿਸ ਤੋਂ ਅਨੁਵਾਦ ਕਰਨਾ ਹੈ</translation>
 <translation id="6144938890088808325">Chromebooks ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਸਾਡੀ ਮਦਦ ਕਰੋ</translation>
 <translation id="6147020289383635445">ਪ੍ਰਿੰਟ ਪੂਰਵ-ਝਲਕ ਅਸਫਲ ਰਹੀ।</translation>
 <translation id="6148576794665275391">ਹੁਣੇ ਖੋਲ੍ਹੋ</translation>
@@ -4421,6 +4453,7 @@
 <translation id="6185132558746749656">ਡੀਵਾਈਸ ਨਿਰਧਾਰਿਤ ਸਥਾਨ</translation>
 <translation id="6186394437969115158">ਸਾਈਟਾਂ ਆਮ ਤੌਰ 'ਤੇ ਵਿਗਿਆਪਨ ਇਸ ਲਈ ਦਿਖਾਉਂਦੀਆਂ ਹਨ ਤਾਂ ਕਿ ਉਹ ਮੁਫ਼ਤ ਵਿੱਚ ਸਮੱਗਰੀ ਜਾਂ ਸੇਵਾਵਾਂ ਮੁਹੱਈਆ ਕਰਵਾ ਸਕਣ। ਪਰ ਕੁਝ ਸਾਈਟਾਂ ਨੂੰ ਦਖਲਅੰਦਾਜ਼ੀ ਅਤੇ ਗੁਮਰਾਹ ਕਰਨ ਵਾਲੇ ਵਿਗਿਆਪਨ ਦਿਖਾਉਣ ਵਾਲੀਆਂ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ।</translation>
 <translation id="6195693561221576702">ਇਹ ਡੀਵਾਈਸ ਆਫ਼ਲਾਈਨ ਡੈਮੋ ਮੋਡ ਵਿੱਚ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।</translation>
+<translation id="6195724942939841102">ਮੁੜ-ਬਹਾਲ ਨਾ ਕਰੋ</translation>
 <translation id="6196640612572343990">ਤੀਜੀ-ਧਿਰ ਵਾਲੀਆਂ ਕੁੱਕੀਜ਼ ਨੂੰ ਬਲੌਕ ਕਰੋ</translation>
 <translation id="6196854373336333322">ਐਕਸਟੈਂਸ਼ਨ "<ph name="EXTENSION_NAME" />" ਨੇ ਤੁਹਾਡੀਆਂ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ 'ਤੇ ਕੰਟਰੋਲ ਹਾਸਲ ਕਰ ਲਿਆ ਹੈ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇਹ ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਨਲਾਈਨ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਕਿਸੇ ਵੀ ਕਿਰਿਆ ਨੂੰ ਬਦਲ ਸਕਦੀ ਹੈ, ਖੰਡਿਤ ਕਰ ਸਕਦੀ ਹੈ ਜਾਂ ਗੁਪਤ ਢੰਗ ਨਾਲ ਵਾਰਤਾਲਾਪ ਨੂੰ ਸੁਣ ਸਕਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਪੱਕੇ ਨਹੀਂ ਹੋ ਕਿ ਇਹ ਬਦਲਾਵ ਕਿਉਂ ਵਾਪਰਿਆ ਹੈ, ਤਾਂ ਸੰਭਾਵਨਾ ਹੈ ਕਿ ਤੁਸੀਂ ਵੀ ਇਹ ਨਹੀਂ ਚਾਹੁੰਦੇ।</translation>
 <translation id="6198102561359457428">ਸਾਈਨ-ਆਊਟ ਹੋ ਕੇ ਫਿਰ ਦੁਬਾਰਾ ਸਾਈਨ-ਇਨ ਕਰੋ…</translation>
@@ -4460,6 +4493,7 @@
 <translation id="6238767809035845642">ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ ਤੋਂ ਸਾਂਝੀ ਕੀਤੀ ਲਿਖਤ</translation>
 <translation id="6238923052227198598">ਨਵੀਨਤਮ ਨੋਟ-ਕਥਨ ਨੂੰ ਲੌਕ ਸਕ੍ਰੀਨ 'ਤੇ ਰੱਖੋ</translation>
 <translation id="6239558157302047471">&amp;ਫ੍ਰੇਮ ਮੁੜ-ਲੋਡ ਕਰੋ</translation>
+<translation id="6240821072888636753">ਹਰ ਵਾਰ ਪੁੱਛੋ</translation>
 <translation id="6241530762627360640">ਆਪਣੇ ਸਿਸਟਮ ਨਾਲ ਪੇਅਰ ਕੀਤੀਆਂ ਬਲੂਟੁੱਥ ਡਿਵਾਈਸਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਨੇੜਲੀਆਂ ਬਲੂਟੁੱਥ ਡਿਵਾਈਸਾਂ ਖੋਜੋ।</translation>
 <translation id="6241844896329831164">ਕਿਸੇ ਪਹੁੰਚ ਦੀ ਲੋੜ ਨਹੀਂ</translation>
 <translation id="6242574558232861452">ਤੁਹਾਡੀ ਸੰਸਥਾ ਦੀ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ ਨਾਲ ਜਾਂਚ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ।</translation>
@@ -4492,6 +4526,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> ਨਾਲ ਖੋਲ੍ਹੋ</translation>
 <translation id="6270391203985052864">ਸਾਈਟਾਂ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਲਈ ਪੁੱਛ ਸਕਦੀਆਂ ਹਨ</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />ਸਿਸਟਮ ਅਤੇ ਐਪ ਜਾਣਕਾਰੀ<ph name="END_LINK1" />, ਅਤੇ <ph name="BEGIN_LINK2" />ਮਾਪਕ<ph name="END_LINK2" /> ਭੇਜੋ</translation>
+<translation id="6271348838875430303">ਸੁਧਾਈ ਨੂੰ ਅਣਕੀਤਾ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="6272643420381259437">ਪਲੱਗਇਨ ਡਾਊਨਲੋਡ ਕਰਨ ਦੌਰਾਨ ਇੱਕ ਗੜਬੜ (<ph name="ERROR" />) ਹੋਈ ਸੀ</translation>
 <translation id="6273677812470008672">ਕੁਆਲਿਟੀ</translation>
 <translation id="6276210637549544171">ਪ੍ਰੌਕਸੀ <ph name="PROXY_SERVER" /> ਲਈ ਵਰਤੋਂਕਾਰ ਨਾਮ ਅਤੇ ਪਾਸਵਰਡ ਦੀ ਲੋੜ ਹੈ।</translation>
@@ -4636,6 +4671,7 @@
 <translation id="6444070574980481588">ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਸੈੱਟ ਕਰੋ</translation>
 <translation id="6444909401984215022"><ph name="WINDOW_TITLE" /> - ਬਲੂਟੁੱਥ ਸਕੈਨ ਕਿਰਿਆਸ਼ੀਲ</translation>
 <translation id="6445450263907939268">ਜੇਕਰ ਤੁਸੀਂ ਇਹ ਬਦਲਾਵ ਨਹੀਂ ਚਾਹੁੰਦੇ ਸੀ, ਤਾਂ ਤੁਸੀਂ ਆਪਣੀਆਂ ਪਿਛਲੀਆਂ ਸੈਟਿੰਗਾਂ ਮੁੜ-ਬਹਾਲ ਕਰ ਸਕਦੇ ਹੋ।</translation>
+<translation id="6446213738085045933">ਡੈਸਕਟਾਪ ਸ਼ਾਰਟਕੱਟ ਬਣਾਓ</translation>
 <translation id="6447842834002726250">ਕੁਕੀਜ਼</translation>
 <translation id="6450876761651513209">ਆਪਣੀਆਂ ਪ੍ਰਾਈਵੇਸੀ-ਸੰਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਬਦਲੋ</translation>
 <translation id="6451591602925140504">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> ਅਤੇ 1 ਹੋਰ ਟੈਬ}other{<ph name="PAGE_TITLE" /> ਅਤੇ # ਹੋਰ ਟੈਬਾਂ}}</translation>
@@ -4712,6 +4748,7 @@
 <translation id="6532527800157340614">ਸਾਈਨ-ਇਨ ਅਸਫਲ ਰਿਹਾ ਕਿਉਂਕਿ ਤੁਹਾਡਾ ਪਹੁੰਚ ਟੋਕਨ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="6532663472409656417">ਐਂਟਰਪ੍ਰਾਈਜ਼ ਵਜੋਂ ਦਰਜ</translation>
 <translation id="6535331821390304775"><ph name="ORIGIN" /> ਨੂੰ ਇਸ ਕਿਸਮ ਦੇ ਲਿੰਕਾਂ ਨੂੰ ਹਮੇਸ਼ਾਂ ਕਿਸੇ ਸੰਬੰਧਿਤ ਐਪ ਵਿੱਚ ਖੋਲ੍ਹਣ ਦਿਓ</translation>
+<translation id="653659894138286600">ਦਸਤਾਵੇਜ਼ਾਂ ਅਤੇ ਚਿੱਤਰਾਂ ਨੂੰ ਸਕੈਨ ਕਰੋ</translation>
 <translation id="6537613839935722475">ਨਾਮ ਲਈ ਅੱਖਰ, ਨੰਬਰ ਅਤੇ ਹਾਈਫਨ (-) ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ</translation>
 <translation id="6537880577641744343">ਕਮਾਂਡਰ</translation>
 <translation id="6538635548667167211">ਮੌਜੂਦਾ ਡਾਟਾ ਵਰਤੋਂ ਸੈਟਿੰਗ 'ਡਾਟਾ' ਹੈ</translation>
@@ -4972,6 +5009,7 @@
 <translation id="6853388645642883916">ਅਪਡੇਟਰ ਸਲੀਪਿੰਗ</translation>
 <translation id="68541483639528434">ਹੋਰ ਟੈਬਸ ਬੰਦ ਕਰੋ</translation>
 <translation id="6855892664589459354">Crostini ਬੈਕਅੱਪ ਅਤੇ ਮੁੜ-ਬਹਾਲੀ</translation>
+<translation id="6856459657722366306">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />%, ਵੇਰਵੇ</translation>
 <translation id="6856623341093082836">ਆਪਣੀ ਟੱਚਸਕ੍ਰੀਨ ਨੂੰ ਸਥਾਪਤ ਕਰੋ ਅਤੇ ਇਸ ਦੀ ਸਟੀਕਤਾ ਨੂੰ ਵਾਧ-ਘਾਟ ਕਰੋ</translation>
 <translation id="6857699260879628349">ਸੰਰੂਪਣ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="6860097299815761905">ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ...</translation>
@@ -5113,6 +5151,7 @@
 <translation id="7005496624875927304">ਵਧੀਕ ਇਜਾਜ਼ਤਾਂ</translation>
 <translation id="7005812687360380971">ਅਸਫਲਤਾ</translation>
 <translation id="7005848115657603926">ਅਵੈਧ ਪੰਨਾ ਰੇਂਜ, <ph name="EXAMPLE_PAGE_RANGE" /> ਵਰਤੋ</translation>
+<translation id="700651317925502808">ਕੀ ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕਰਨੀਆਂ ਹਨ?</translation>
 <translation id="7006634003215061422">ਹੇਠਲਾ ਹਾਸ਼ੀਆ</translation>
 <translation id="7007648447224463482">ਨਵੀਂ ਵਿੰਡੋ ਵਿੱਚ ਸਭ ਖੋਲ੍ਹੋ</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" /> ਤੁਹਾਡੇ ਕੈਮਰੇ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀ ਹੈ</translation>
@@ -5141,6 +5180,7 @@
 <translation id="7044124535091449260">ਸਾਈਟ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਬਾਰੇ ਹੋਰ ਜਾਣੋ</translation>
 <translation id="7044606776288350625">ਡਾਟਾ ਸਮਕਾਲੀਕਰਨ ਕਰੋ</translation>
 <translation id="7047059339731138197">ਕੋਈ ਬੈਕਗ੍ਰਾਊਂਡ ਚੁਣੋ</translation>
+<translation id="7048024426273850086">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ<ph name="SIGNAL_STRENGTH" />%, ਫ਼ੋਨ ਦੀ ਬੈਟਰੀ <ph name="BATTERY_STATUS" />%, ਕਨੈਕਟ ਕਰੋ</translation>
 <translation id="7049293980323620022">ਕੀ ਫ਼ਾਈਲ ਰੱਖਣੀ ਹੈ?</translation>
 <translation id="7051943809462976355">ਮਾਊਸ ਖੋਜ ਰਿਹਾ ਹੈ...</translation>
 <translation id="7052237160939977163">ਪ੍ਰਦਰਸ਼ਨ ਟ੍ਰੇਸ ਡਾਟਾ ਭੇਜੋ</translation>
@@ -5282,6 +5322,7 @@
 <translation id="7213903639823314449">ਪਤਾ ਬਾਰ ਵਿੱਚ ਵਰਤਿਆ ਗਿਆ ਖੋਜ ਇੰਜਣ</translation>
 <translation id="7216409898977639127">ਸੈਲਿਊਲਰ ਪ੍ਰਦਾਨਕ</translation>
 <translation id="7216595297012131718">ਆਪਣੀ ਤਰਜੀਹ ਦੇ ਆਧਾਰ 'ਤੇ ਭਾਸ਼ਾਵਾਂ ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ</translation>
+<translation id="7219473482981809164">ਸਾਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਕਈ ਪ੍ਰੋਫਾਈਲਾਂ ਦਾ ਪਤਾ ਲੱਗਾ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਚੁਣੋ ਜਿਸਨੂੰ ਤੁਸੀਂ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" ਨੂੰ ਪਾਸਰਵਡ ਨਿਰਯਾਤ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ</translation>
 <translation id="722055596168483966">Google ਸੇਵਾਵਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਓ</translation>
 <translation id="722099540765702221">ਚਾਰਜ ਕਰਨ ਦਾ ਸਰੋਤ</translation>
@@ -5564,6 +5605,7 @@
 <translation id="7556033326131260574">ਸਮਾਰਟ ਲਾਕ ਤੁਹਾਡੇ ਖਾਤੇ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਆਪਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰਨ ਲਈ ਟਾਈਪ ਕਰੋ।</translation>
 <translation id="7556242789364317684">ਅਫ਼ਸੋਸ ਨਾਲ, <ph name="SHORT_PRODUCT_NAME" /> ਤੁਹਾਡੀਆਂ ਸੈਟਿੰਗਾਂ ਰਿਕਵਰ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ ਹੈ। ਅਸ਼ੁੱਧੀ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, <ph name="SHORT_PRODUCT_NAME" /> ਨੂੰ ਪਾਵਰਵਾਸ਼ ਨਾਲ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨੂੰ ਰੀਸੈਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।</translation>
 <translation id="7557194624273628371">Linux ਪੋਰਟ ਫਾਰਵਰਡਿੰਗ</translation>
+<translation id="7559269329306630685">ਤੁਹਾਡਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਕਦੇ ਵੀ ਤੁਹਾਡੇ <ph name="DEVICE_TYPE" /> ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਜਾਂਦਾ ਹੈ।</translation>
 <translation id="7559719679815339381">ਕਿਰਪਾ ਕਰਕੇ ਠਹਿਰੋ.... ਕਿਓਸਕ ਐਪ ਅੱਪਡੇਟ ਕੀਤੇ ਜਾਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ। USB ਸਟਿਕ ਨਾ ਹਟਾਓ।</translation>
 <translation id="7561196759112975576">ਹਮੇਸ਼ਾਂ</translation>
 <translation id="756445078718366910">ਬ੍ਰਾਊਜ਼ਰ Window ਖੋਲ੍ਹੋ</translation>
@@ -6011,6 +6053,7 @@
 <translation id="8045923671629973368">ਐਪਲੀਕੇਸ਼ਨ ਆਈ.ਡੀ. ਜਾਂ ਵੈੱਬਸਟੋਰ URL ਦਾਖਲ ਕਰੋ</translation>
 <translation id="8047242494569930800">Google ਖਾਤੇ ਵਿੱਚ ਲਿਜਾਓ</translation>
 <translation id="804786196054284061">ਵਰਤੋਂਕਾਰ ਦਾ ਲਾਇਸੰਸ ਇਕਰਾਰਨਾਮਾ</translation>
+<translation id="8048977114738515028">ਇਸ ਪ੍ਰੋਫਾਈਲ 'ਤੇ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਪਹੁੰਚ ਕਰਨ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ 'ਤੇ ਡੈਸਕਟਾਪ ਸ਼ਾਰਟਕੱਟ ਬਣਾਓ</translation>
 <translation id="8049705080247101012">Google ਨੇ "<ph name="EXTENSION_NAME" />" ਨੂੰ ਖਰਾਬ ਦੇ ਤੌਰ 'ਤੇ ਫਲੈਗ ਕੀਤਾ ਹੈ ਅਤੇ ਸਥਾਪਨਾ ਨੂੰ ਰੋਕ ਦਿੱਤਾ ਗਿਆ ਹੈ</translation>
 <translation id="8049948037269924837">ਟੱਚਪੈਡ ਦੀ ਉਲਟ ਸਕ੍ਰੋਲਿੰਗ</translation>
 <translation id="8050038245906040378">Microsoft ਵਪਾਰਕ ਕੋਡ ਸਾਈਨਿੰਗ</translation>
@@ -6071,6 +6114,7 @@
 <translation id="810728361871746125">ਡਿਸਪਲੇ ਰੈਜ਼ੋਲਿਊਸ਼ਨ</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{ਕੋਈ ਤੀਜੀ-ਧਿਰ ਦੀਆਂ ਕੁਕੀ ਨਹੀਂ}=1{1 ਤੀਜੀ-ਧਿਰ ਦੀ ਕੁਕੀ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ}other{# ਤੀਜੀ-ਧਿਰ ਦੀਆਂ ਕੁਕੀਜ਼ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ}}</translation>
 <translation id="810875025413331850">ਕੋਈ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸ ਨਹੀਂ ਮਿਲੇ।</translation>
+<translation id="8109109153262930486">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਅਵਤਾਰ</translation>
 <translation id="8110489095782891123">ਸੰਪਰਕ ਸੂਚੀ ਨੂੰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
 <translation id="8113476325385351118">ਇਸ ਸਾਈਟ ਨੂੰ MIDI ਡੀਵਾਈਸਾਂ ਦੇ ਪੂਰੇ ਕੰਟਰੋਲ ਤੋਂ ਬਲਾਕ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="8114199541033039755">ਟੈਬਲੈੱਟ ਮੋਡ ਵਿੱਚ ਬਟਨਾਂ ਨਾਲ ਹੋਮ 'ਤੇ ਜਾਓ, ਵਾਪਸ ਜਾਓ ਅਤੇ ਐਪਾਂ ਬਦਲੋ। ChromeVox ਜਾਂ 'ਸਵੈਚਲਿਤ ਕਲਿੱਕਾਂ' ਦੇ ਚਾਲੂ ਹੋਣ 'ਤੇ ਚਾਲੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।</translation>
@@ -6440,6 +6484,7 @@
 <translation id="8569682776816196752">ਕੋਈ ਨਿਯਤ ਥਾਂਵਾਂ ਨਹੀਂ ਮਿਲੀਆਂ</translation>
 <translation id="8571213806525832805">ਪਿਛਲੇ 4 ਹਫ਼ਤੇ</translation>
 <translation id="8571687764447439720">Kerberos ਟਿਕਟ ਸ਼ਾਮਲ ਕਰੋ</translation>
+<translation id="8571814292654854151">ਤੁਹਾਡੇ ਪ੍ਰੋਫਾਈਲ ਦਾ ਨਾਮ</translation>
 <translation id="8574990355410201600">ਹਮੇਸ਼ਾਂ <ph name="HOST" /> 'ਤੇ ਧੁਨੀ ਚਲਾਉਣ ਦਿਓ</translation>
 <translation id="8575286410928791436">ਛੱਡਣ ਲਈ <ph name="KEY_EQUIVALENT" /> ਨੂੰ ਦਬਾਈ ਰੱਖੋ</translation>
 <translation id="8576249514688522074">ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ ਗਿਆ</translation>
@@ -6594,6 +6639,7 @@
 <translation id="8737914367566358838">ਪੰਨੇ ਦਾ ਜਿਸ ਭਾਸ਼ਾ ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਨਾ ਹੈ ਉਹ ਭਾਸ਼ਾ ਚੁਣੋ</translation>
 <translation id="8740247629089392745">ਤੁਸੀਂ ਇਹ Chromebook <ph name="SUPERVISED_USER_NAME" /> ਨੂੰ ਦੇ ਸਕਦੇ ਹੋ। ਸੈੱਟਅੱਪ ਲਗਭਗ ਹੋ ਗਿਆ ਹੈ, ਉਸ ਤੋਂ ਬਾਅਦ ਪੜਚੋਲ ਕਰਨ ਦਾ ਸਮਾਂ ਹੈ।</translation>
 <translation id="8742998548129056176">ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਅਤੇ ਉਸਦੀ ਵਰਤੋਂ ਬਾਰੇ ਆਮ ਜਾਣਕਾਰੀ ਹੈ (ਜਿਵੇਂ ਕਿ ਬੈਟਰੀ ਪੱਧਰ, ਸਿਸਟਮ ਅਤੇ ਐਪ ਸਰਗਰਮੀ, ਅਤੇ ਗੜਬੜੀਆਂ)। ਡਾਟਾ Android ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਵੇਗਾ, ਅਤੇ ਕੁਝ ਏਕੀਕ੍ਰਿਤ ਜਾਣਕਾਰੀ Google ਐਪਾਂ ਅਤੇ ਪਾਰਟਨਰਾਂ, ਜਿਵੇਂ ਕਿ Android ਵਿਕਾਸਕਾਰਾਂ ਦੀਆਂ ਐਪਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਵੀ ਉਹਨਾਂ ਦੀ ਮਦਦ ਕਰੇਗੀ।</translation>
+<translation id="8743164338060742337">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" /> ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />%, ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕਨੈਕਟ ਕਰੋ</translation>
 <translation id="8743390665131937741">ਪੂਰੀ-ਸਕ੍ਰੀਨ ਜ਼ੂਮ ਪੱਧਰ:</translation>
 <translation id="8743864605301774756">1 ਘੰਟੇ ਪਹਿਲਾਂ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="8746654918629346731">ਤੁਸੀਂ "<ph name="EXTENSION_NAME" />" ਲਈ ਪਹਿਲਾਂ ਹੀ ਬੇਨਤੀ ਕਰ ਦਿੱਤੀ ਹੈ</translation>
@@ -6694,6 +6740,7 @@
 <translation id="8830796635868321089">ਅੱਪਡੇਟ ਜਾਂਚ ਮੌਜੂਦਾ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ ਵਰਤਦੇ ਹੋਏ ਅਸਫਲ। ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ <ph name="PROXY_SETTINGS_LINK_START" />ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ<ph name="PROXY_SETTINGS_LINK_END" /> ਸਥਾਪਤ ਕਰੋ।</translation>
 <translation id="8831140208248705279">ਤੁਹਾਡੀ <ph name="DEVICE_TYPE" /> ਅਤੇ Android ਫ਼ੋਨ ਇਕੱਠੇ ਬਿਹਤਰ ਕੰਮ ਕਰਦੇ ਹਨ। ਉਹਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕਰੋ ਤਾਂ ਕਿ ਤੁਸੀਂ ਆਪਣੇ ਕੰਪਿਊਟਰ ਤੋਂ ਲਿਖਤ ਭੇਜ ਸਕੋ, ਆਪਣਾ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਸਾਂਝਾ ਕਰ ਸਕੋ ਅਤੇ ਆਪਣੇ ਫ਼ੋਨ ਨਾਲ ਆਪਣੀ<ph name="DEVICE_TYPE" /> ਨੂੰ ਅਣਲਾਕ ਕਰ ਸਕੋ।<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />ਹੋਰ ਜਾਣੋ<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">ਨੈੱਟਵਰਕ ਸੰਰੂਪਣ <ph name="USER_EMAIL" /> ਦੁਆਰਾ ਕੰਟਰੋਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।</translation>
+<translation id="8835786707922974220">ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਆਪਣੇ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡਾਂ 'ਤੇ ਹਮੇਸ਼ਾਂ ਪਹੁੰਚ ਕਰ ਸਕੋ</translation>
 <translation id="8838601485495657486">ਧੁੰਦਲਾ</translation>
 <translation id="8838770651474809439">ਹੈਮਬਰਗਰ</translation>
 <translation id="883911313571074303">ਚਿੱਤਰ ਐਨੋਟੇਟ ਕਰੋ</translation>
@@ -6709,6 +6756,7 @@
 <translation id="885246833287407341">API ਫੰਕਸ਼ਨ ਆਰਗੂਮੈਂਟ</translation>
 <translation id="8853586775156634952">ਇਹ ਕਾਰਡ ਸਿਰਫ਼ ਇਸ ਡੀਵਾਈਸ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਵੇਗਾ</translation>
 <translation id="8855977033756560989">ਇਹ Chromebook ਐਂਟਰਪ੍ਰਾਈਜ਼ ਡੀਵਾਈਸ Chrome ਐਂਟਰਪ੍ਰਾਈਜ਼ ਅੱਪਗ੍ਰੇਡ ਦੇ ਬੰਡਲ ਨਾਲ ਆਉਂਦਾ ਹੈ। ਐਂਟਰਪ੍ਰਾਈਜ਼ ਸਮਰੱਥਤਾਵਾਂ ਦਾ ਲਾਭ ਲੈਣ ਲਈ, ਇਸ ਡੀਵਾਈਸ ਨੂੰ Google ਪ੍ਰਸ਼ਾਸਕ ਖਾਤੇ ਨਾਲ ਦਰਜ ਕਰੋ।</translation>
+<translation id="8856028055086294840">ਐਪਾਂ ਅਤੇ ਪੰਨੇ ਮੁੜ-ਬਹਾਲ ਕਰੋ</translation>
 <translation id="885701979325669005">ਸਟੋਰੇਜ</translation>
 <translation id="8859057652521303089">ਆਪਣੀ ਭਾਸ਼ਾ ਚੁਣੋ:</translation>
 <translation id="8859174528519900719">ਸਬਫ੍ਰੇਮ: <ph name="SUBFRAME_SITE" /></translation>
@@ -7072,6 +7120,7 @@
 <translation id="971774202801778802">ਬੁੱਕਮਾਰਕ URL</translation>
 <translation id="973473557718930265">ਛੱਡੋ</translation>
 <translation id="975893173032473675">ਉਹ ਭਾਸ਼ਾ ਜਿਸ ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਨਾ ਹੈ</translation>
+<translation id="976499800099896273">ਸਵੈ-ਸੁਧਾਰ ਅਣਕੀਤਾ ਵਿੰਡੋ ਨੂੰ <ph name="TYPED_WORD" /> ਨੂੰ ਸਹੀ ਕਰਕੇ <ph name="CORRECTED_WORD" /> ਕਰਨ ਲਈ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।  ਪਹੁੰਚ ਕਰਨ ਲਈ ਉੱਪਰ ਤੀਰ, ਅਣਡਿੱਠ ਕਰਨ ਲਈ escape ਦੱਬੋ।</translation>
 <translation id="978146274692397928">ਅਰੰਭਿਕ ਵਿਸ਼ਰਾਮ-ਚਿੰਨ੍ਹ ਚੁੜਾਈ ਪੂਰੀ ਹੈ</translation>
 <translation id="97905529126098460">ਰੱਦ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਹੋਣ ਦੇ ਬਾਅਦ ਇਹ ਵਿੰਡੋ ਬੰਦ ਹੋ ਜਾਵੇਗੀ।</translation>
 <translation id="980731642137034229">ਕਾਰਵਾਈ ਮੀਨੂ ਬਟਨ</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 83ca7ed..00ad992 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -381,7 +381,7 @@
 <translation id="1422159345171879700">Wczytaj niezabezpieczone skrypty</translation>
 <translation id="1423716227250567100">To działanie spowoduje:
           <ph name="LINE_BREAKS" />
-           • zresetowanie ustawień Chrome i skrótów Chrome,
+           • zresetowanie ustawień i skrótów Chrome,
            <ph name="LINE_BREAK" />
            • wyłączenie rozszerzeń,
            <ph name="LINE_BREAK" />
@@ -435,6 +435,7 @@
 <translation id="1475502736924165259">Masz zapisane certyfikaty, które nie pasują do żadnej z pozostałych kategorii</translation>
 <translation id="1476088332184200792">Skopiuj na swoje urządzenie</translation>
 <translation id="1476607407192946488">&amp;Ustawienia języka</translation>
+<translation id="1477446329585670721">Domena <ph name="DOMAIN" /> wymaga, by karta inteligentna pozostała w gnieździe.</translation>
 <translation id="1478340334823509079">Szczegóły: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalacja nie została włączona</translation>
 <translation id="1481537595330271162">Błąd podczas zmiany rozmiaru dysku</translation>
@@ -2031,6 +2032,7 @@
 <translation id="3320630259304269485">Bezpieczne przeglądanie (ochrona przed niebezpiecznymi stronami) i inne ustawienia zabezpieczeń</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Te dane zawierają treści niebezpieczne lub treści o charakterze kontrowersyjnym. Usuń te treści i spróbuj jeszcze raz.}=1{Ten plik zawiera treści niebezpieczne lub treści o charakterze kontrowersyjnym. Usuń te treści i spróbuj jeszcze raz.}few{Te pliki zawierają treści niebezpieczne lub treści o charakterze kontrowersyjnym. Usuń te treści i spróbuj jeszcze raz.}many{Te pliki zawierają treści niebezpieczne lub treści o charakterze kontrowersyjnym. Usuń te treści i spróbuj jeszcze raz.}other{Te pliki zawierają treści niebezpieczne lub treści o charakterze kontrowersyjnym. Usuń te treści i spróbuj jeszcze raz.}}</translation>
 <translation id="3323521181261657960">Bonus! Możesz dłużej korzystać z urządzenia</translation>
+<translation id="3325804108816646710">Szukam dostępnych profili...</translation>
 <translation id="3325910708063135066">Kamera i mikrofon są wyłączone w Preferencjach systemowych Maca</translation>
 <translation id="3327050066667856415">Chromebooki mają bezpieczeństwo w genach. Twoje urządzenie ma automatyczne zabezpieczenia przed złośliwym oprogramowaniem. Innych nie trzeba.</translation>
 <translation id="3328489342742826322">Przywrócenie danych z kopii zapasowej spowoduje usunięcie wszystkich dotychczasowych aplikacji na Linuksa oraz danych w folderach z plikami Linuksa.</translation>
@@ -2098,6 +2100,7 @@
 <translation id="3412265149091626468">Przejdź do zaznaczenia</translation>
 <translation id="3413122095806433232">Wystawcy urzędu certyfikacji: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Rozmiar:</translation>
+<translation id="3414966631182382431">Twoją <ph name="BEGIN_LINK" />przeglądarką zarządza<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Zawsze pokazuj całe adresy URL</translation>
 <translation id="3417835166382867856">Wyszukaj karty</translation>
 <translation id="3417836307470882032">Format 24-godzinny</translation>
@@ -3173,6 +3176,7 @@
 <translation id="4651484272688821107">Nie udało się załadować komponentu online z zasobami trybu demonstracyjnego.</translation>
 <translation id="4652935475563630866">Zmiana ustawienia kamery wymaga ponownego uruchomienia aplikacji Parallels Desktop. Aby kontynuować, uruchom ponownie Parallels Desktop.</translation>
 <translation id="4653405415038586100">Błąd podczas konfigurowania Linuksa</translation>
+<translation id="4657914796247705218">Szybkość manipulatora punktowego</translation>
 <translation id="465878909996028221">Przekierowania przeglądarki działają tylko z protokołami http, https i file.</translation>
 <translation id="4659077111144409915">Konto główne</translation>
 <translation id="4659126640776004816">Ta funkcja zostanie włączona, gdy zalogujesz się na swoje konto Google.</translation>
@@ -3832,6 +3836,7 @@
 <translation id="5470735824776589490">Przed zresetowaniem urządzenia przy użyciu Powerwash trzeba je zrestartować. <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Cześć, jestem Twoim głosem do czytania tekstu.</translation>
 <translation id="5472627187093107397">Zapisuj hasła używane na tej stronie</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{Kod PIN musi mieć co najmniej 1 znak}few{Kod PIN musi mieć co najmniej # znaki}many{Kod PIN musi mieć co najmniej # znaków}other{Kod PIN musi mieć co najmniej # znaku}}</translation>
 <translation id="5473333559083690127">Ponownie wpisz nowy kod PIN</translation>
 <translation id="5481273127572794904">Nie zezwolono na automatyczne pobieranie wielu plików</translation>
 <translation id="5481941284378890518">Dodaj drukarki znalezione w pobliżu</translation>
@@ -4313,7 +4318,7 @@
 <translation id="6031600495088157824">Opcje wprowadzania na pasku narzędzi</translation>
 <translation id="6032715498678347852">Aby przyznać rozszerzeniu dostęp do tej strony, kliknij je.</translation>
 <translation id="6032912588568283682">System plików</translation>
-<translation id="603539183851330738">Przycisk cofnięcia autokorekty. Przywróć: <ph name="TYPED_WORD" />.  Naciśnij Enter, by aktywować, albo Escape, by odrzucić.</translation>
+<translation id="603539183851330738">Przycisk cofania autokorekty. Przywróć: <ph name="TYPED_WORD" />.  Naciśnij Enter, by aktywować, albo Escape, by odrzucić.</translation>
 <translation id="6035517790085323771">Kto może udostępniać treści Twojemu urządzeniu</translation>
 <translation id="6038929619733116134">Blokuj, jeśli na stronie wyświetlają się uciążliwe lub wprowadzające w błąd reklamy</translation>
 <translation id="6039651071822577588">Zniekształcony słownik właściwości sieci</translation>
@@ -4372,6 +4377,7 @@
 <translation id="6087960857463881712">Niesamowita twarz</translation>
 <translation id="6091761513005122595">Udział został podłączony.</translation>
 <translation id="6093888419484831006">Anulowanie aktualizacji...</translation>
+<translation id="6095541101974653012">Nastąpiło wylogowanie.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Otwórz zmaksymalizowane</translation>
 <translation id="6096326118418049043">Nazwa X.500</translation>
@@ -4704,6 +4710,7 @@
 <translation id="6474884162850599008">Odłącz konto na Dysku Google</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> chce udostępnić zawartość Twojego ekranu. Wybierz elementy, które chcesz udostępnić.</translation>
 <translation id="6478248366783946499">Zachować niebezpieczny plik?</translation>
+<translation id="6480327114083866287">Zarządzane przez <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Otwieranie pobranego pliku</translation>
 <translation id="6483805311199035658">Otwieram <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Wybierz język</translation>
@@ -4892,6 +4899,7 @@
 <translation id="671928215901716392">Zablokuj ekran</translation>
 <translation id="6721678857435001674">Odczytywanie marki i modelu klucza bezpieczeństwa</translation>
 <translation id="6721972322305477112">&amp;Plik</translation>
+<translation id="672208878794563299">Następnym razem ta strona znów o to poprosi.</translation>
 <translation id="672213144943476270">Aby przeglądać jako gość, odblokuj swój profil.</translation>
 <translation id="6723661294526996303">Importuj zakładki i ustawienia...</translation>
 <translation id="6723839937902243910">Zasilanie</translation>
@@ -5605,7 +5613,7 @@
 <translation id="7556033326131260574">Smart Lock nie mógł zweryfikować Twojego konta. Wpisz hasło, by uzyskać dostęp do urządzenia.</translation>
 <translation id="7556242789364317684"><ph name="SHORT_PRODUCT_NAME" /> nie może niestety odzyskać Twoich ustawień. Aby naprawić ten błąd, <ph name="SHORT_PRODUCT_NAME" /> musi zresetować urządzenie za pomocą Powerwash.</translation>
 <translation id="7557194624273628371">Przekierowanie portów w Linuksie</translation>
-<translation id="7559269329306630685">Odciski palców są przechowywane w bezpieczny sposób i są dostępne tylko na Twoim urządzeniu <ph name="DEVICE_TYPE" />.</translation>
+<translation id="7559269329306630685">Odcisk palca jest przechowywany w bezpieczny sposób i jest dostępny tylko na Twoim urządzeniu <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7559719679815339381">Zaczekaj....Aplikacja kiosku jest aktualizowana. Nie odłączaj pamięci USB.</translation>
 <translation id="7561196759112975576">Zawsze</translation>
 <translation id="756445078718366910">Otwórz okno przeglądarki</translation>
@@ -6292,6 +6300,7 @@
 <translation id="8317671367883557781">Dodaj połączenie sieciowe</translation>
 <translation id="8319414634934645341">Rozszerzone użycie klucza</translation>
 <translation id="8320459152843401447">Cały ekran</translation>
+<translation id="8321837372750396788">Tym urządzeniem <ph name="DEVICE_TYPE" /> będzie zarządzać <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Ta strona ma zablokowany dostęp do mikrofonu.</translation>
 <translation id="8323167517179506834">Wpisz URL</translation>
 <translation id="8324784016256120271">Strony mogą używać plików cookie do śledzenia Twojej aktywność związanej z przeglądaniem różnych stron, na przykład w celu personalizowania reklam</translation>
@@ -6599,6 +6608,7 @@
 <translation id="8698269656364382265">Aby wrócić do poprzedniego ekranu, przesuń palcem od lewej.</translation>
 <translation id="869884720829132584">Menu aplikacji</translation>
 <translation id="869891660844655955">Data wygaśnięcia</translation>
+<translation id="8702825062053163569">Urządzenie <ph name="DEVICE_TYPE" /> zostało zablokowane.</translation>
 <translation id="8703346390800944767">Pomiń reklamę</translation>
 <translation id="8705331520020532516">Numer seryjny</translation>
 <translation id="8705580154597116082">Sieć Wi-Fi dostępna przez telefon</translation>
@@ -7124,7 +7134,7 @@
 <translation id="971774202801778802">URL zakładki</translation>
 <translation id="973473557718930265">Zakończ</translation>
 <translation id="975893173032473675">Język docelowy tłumaczenia</translation>
-<translation id="976499800099896273">Wyświetlane jest okno autokorekty dla słowa <ph name="TYPED_WORD" /> poprawionego na <ph name="CORRECTED_WORD" />.  Naciśnij strzałkę w górę, by przejść do tego okna, albo Escape, by je zignorować.</translation>
+<translation id="976499800099896273">Wyświetlane jest okno cofania autokorekty dla słowa <ph name="TYPED_WORD" /> poprawionego na <ph name="CORRECTED_WORD" />.  Naciśnij strzałkę w górę, by przejść do tego okna, albo Escape, by je zignorować.</translation>
 <translation id="978146274692397928">Początkowa szerokość przestankowania: pełna</translation>
 <translation id="97905529126098460">Po zakończeniu anulowania okno zostanie zamknięte.</translation>
 <translation id="980731642137034229">Przycisk menu czynności</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index 0d05385..c66df50 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -128,7 +128,7 @@
 <translation id="1136712381129578788">A chave de segurança está bloqueada porque o PIN incorreto foi inserido muitas vezes. Remova e insira a chave novamente para desbloqueá-la.</translation>
 <translation id="1137589305610962734">dados temporários</translation>
 <translation id="1137673463384776352">Abrir link no <ph name="APP" /></translation>
-<translation id="1138686548582345331">{MUTED_NOTIFICATIONS_COUNT,plural, =1{Nova notificação}one{# nova notificação}other{# novas notificações}}</translation>
+<translation id="1138686548582345331">{MUTED_NOTIFICATIONS_COUNT,plural, =1{Nova Notificação}one{# Nova Notificação}other{# Novas Notificações}}</translation>
 <translation id="1139343347646843679">Algo deu errado na configuração do Linux. Entre em contato com seu administrador.</translation>
 <translation id="1140351953533677694">Acessar seus dispositivos de série e Bluetooth</translation>
 <translation id="114036956334641753">Áudio e legendas</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index ca9b845..fc325df 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">Tem certificados em arquivo que não encaixam em nenhuma das restantes categorias</translation>
 <translation id="1476088332184200792">Copiar para o dispositivo</translation>
 <translation id="1476607407192946488">&amp;Definições de idioma</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> requer que mantenha o seu cartão inteligente inserido.</translation>
 <translation id="1478340334823509079">Detalhes: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">A instalação não está ativada.</translation>
 <translation id="1481537595330271162">Ocorreu um erro ao redimensionar o disco.</translation>
@@ -2033,6 +2034,7 @@
 <translation id="3320630259304269485">Navegação segura (proteção contra sites perigosos) e outras definições de segurança.</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Estes dados têm conteúdo sensível ou perigoso. Remova este conteúdo e tente novamente.}=1{Este ficheiro tem conteúdo sensível ou perigoso. Remova este conteúdo e tente novamente.}other{Estes ficheiros têm conteúdo sensível ou perigoso. Remova este conteúdo e tente novamente.}}</translation>
 <translation id="3323521181261657960">Bónus! Tens mais tempo de utilização</translation>
+<translation id="3325804108816646710">A procurar perfis disponíveis…</translation>
 <translation id="3325910708063135066">A câmara e o microfone estão desativados nas Preferências do Sistema no Mac</translation>
 <translation id="3327050066667856415">Os Chromebooks foram concebidos a pensar na segurança. O seu dispositivo está automaticamente protegido contra software malicioso, sem que seja necessário software adicional.</translation>
 <translation id="3328489342742826322">Se restaurar a partir de uma cópia de segurança, irá eliminar as aplicações e os dados do Linux existentes na pasta Ficheiros Linux.</translation>
@@ -2100,6 +2102,7 @@
 <translation id="3412265149091626468">Passar para a selecção</translation>
 <translation id="3413122095806433232">Emissores de AC: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Tamanho:</translation>
+<translation id="3414966631182382431">O <ph name="BEGIN_LINK" />navegador é gerido<ph name="END_LINK" /> por <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Mostrar sempre URLs completos</translation>
 <translation id="3417835166382867856">Pesquisar separadores</translation>
 <translation id="3417836307470882032">Formato de 24 horas</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">Não foi possível carregar o componente online com os recursos do modo de demonstração.</translation>
 <translation id="4652935475563630866">A alteração na definição da câmara requer que o Parallels Desktop seja reiniciado. Reinicie o Parallels Desktop para continuar.</translation>
 <translation id="4653405415038586100">Ocorreu um erro ao configurar o Linux.</translation>
+<translation id="4657914796247705218">Velocidade do TrackPoint</translation>
 <translation id="465878909996028221">Apenas são suportados os protocolos HTTP, HTTPS e protocolos de ficheiros para redirecionamento do navegador.</translation>
 <translation id="4659077111144409915">Conta principal</translation>
 <translation id="4659126640776004816">Quando inicia sessão na sua Conta Google, esta funcionalidade está ativada.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">É necessário reiniciar antes de ser possível repor o dispositivo com o Powerwash. <ph name="LINK_BEGIN" />Saber mais<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Olá! Sou a sua voz para a síntese de voz.</translation>
 <translation id="5472627187093107397">Guardar palavras-passe para este site</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{O PIN tem de ter, pelo menos, um caráter.}other{O PIN tem de ter, pelo menos, # carateres.}}</translation>
 <translation id="5473333559083690127">Voltar a introduzir o PIN novo</translation>
 <translation id="5481273127572794904">Sem autorização para transferir vários ficheiros automaticamente</translation>
 <translation id="5481941284378890518">Adicionar impressoras próximas</translation>
@@ -4375,6 +4380,7 @@
 <translation id="6087960857463881712">Cara de fantástico</translation>
 <translation id="6091761513005122595">A partilha foi montada com êxito.</translation>
 <translation id="6093888419484831006">A cancelar a atualização...</translation>
+<translation id="6095541101974653012">Terminou a sessão</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Abrir maximizada</translation>
 <translation id="6096326118418049043">Nome X.500</translation>
@@ -4707,6 +4713,7 @@
 <translation id="6474884162850599008">Desligar a conta do Google Drive</translation>
 <translation id="6475697075626596525">O <ph name="APP_NAME" /> pretende partilhar o conteúdo do seu ecrã. Escolha o que pretende partilhar.</translation>
 <translation id="6478248366783946499">Pretende manter este ficheiro perigoso?</translation>
+<translation id="6480327114083866287">Gerido por <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Abrir transferência</translation>
 <translation id="6483805311199035658">A abrir <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Selecionar idioma</translation>
@@ -4895,6 +4902,7 @@
 <translation id="671928215901716392">Bloquear ecrã</translation>
 <translation id="6721678857435001674">Ver a marca e o modelo da sua Chave de segurança</translation>
 <translation id="6721972322305477112">&amp;Ficheiro</translation>
+<translation id="672208878794563299">Este site vai perguntar novamente da próxima vez.</translation>
 <translation id="672213144943476270">Desbloqueie o seu perfil antes de navegar como convidado</translation>
 <translation id="6723661294526996303">Importar marcadores e definições...</translation>
 <translation id="6723839937902243910">Alimentação</translation>
@@ -6294,6 +6302,7 @@
 <translation id="8317671367883557781">Adicionar ligação de rede</translation>
 <translation id="8319414634934645341">Utilização alargada da chave</translation>
 <translation id="8320459152843401447">O seu ecrã inteiro</translation>
+<translation id="8321837372750396788">Este <ph name="DEVICE_TYPE" /> vai ser gerido por <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Esta página foi impedida de aceder ao seu microfone.</translation>
 <translation id="8323167517179506834">Escrever o URL</translation>
 <translation id="8324784016256120271">Os sites podem utilizar cookies para ver a sua atividade de navegação em diferentes sites, por exemplo, para personalizar anúncios.</translation>
@@ -6601,6 +6610,7 @@
 <translation id="8698269656364382265">Para voltar ao ecrã anterior, deslize rapidamente a partir do lado esquerdo.</translation>
 <translation id="869884720829132584">Menu Apps</translation>
 <translation id="869891660844655955">Data de expiração</translation>
+<translation id="8702825062053163569">O seu <ph name="DEVICE_TYPE" /> foi bloqueado</translation>
 <translation id="8703346390800944767">Ignorar anúncio</translation>
 <translation id="8705331520020532516">Número de série</translation>
 <translation id="8705580154597116082">Wi-Fi disponível através do telemóvel</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index d51573c0..f70f66e 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">Чтобы отменить обновление, нажмите Esc (только для неофициальных версий).</translation>
 <translation id="1093457606523402488">Доступные сети:</translation>
 <translation id="1094607894174825014">Поступил запрос на чтение или запись с недействительным смещением на устройстве <ph name="DEVICE_NAME" />.</translation>
+<translation id="1095761715416917775">Не теряйте доступ к синхронизированным данным</translation>
 <translation id="109647177154844434">Если удалить Parallels Desktop, будет также удален образ системы Windows, в том числе ее приложения, настройки и другие данные. Продолжить?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 ссылки}one{# ссылки}few{# ссылок}many{# ссылок}other{# ссылки}}</translation>
 <translation id="1097658378307015415">Сначала войдите как гость, чтобы активировать работу сети <ph name="NETWORK_ID" /></translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">Изменить поисковую систему</translation>
 <translation id="1129850422003387628">Управление приложениями</translation>
 <translation id="1130589222747246278">"<ph name="WINDOW_TITLE" />" – элемент группы "<ph name="GROUP_NAME" />"</translation>
+<translation id="1130712065489627903">Теперь вы можете получать уведомления с телефона на устройстве <ph name="DEVICE_TYPE" />. Если вы скроете уведомление на <ph name="DEVICE_TYPE" />, оно будет скрыто и на телефоне. Убедитесь, что телефон находится рядом, он разблокирован и на нем включены Bluetooth и Wi-Fi.</translation>
 <translation id="1134009406053225289">Открыть в режиме инкогнито</translation>
 <translation id="1136179794690960030">Эмодзи <ph name="EMOJI_NAME" />: <ph name="EMOJI_INDEX" />из <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Слишком много попыток ввода PIN-кода. Электронный ключ заблокирован. Чтобы разблокировать ключ, извлеките его и вставьте снова.</translation>
@@ -132,7 +134,7 @@
 <translation id="114036956334641753">Звук и субтитры</translation>
 <translation id="1140746652461896221">Блокировать контент на всех страницах</translation>
 <translation id="1143142264369994168">Подписчик сертификата</translation>
-<translation id="1143816224540441191">{NUM_MINS,plural, =1{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: 1 минуту назад.}one{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_MINS} минуту назад.}few{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_MINS} минуты назад.}many{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_MINS} минут назад.}other{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_MINS} минуты назад.}}</translation>
+<translation id="1143816224540441191">{NUM_MINS,plural, =1{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: 1 минуту назад}one{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_MINS} минуту назад}few{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_MINS} минуты назад}many{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_MINS} минут назад}other{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_MINS} минуты назад}}</translation>
 <translation id="1145292499998999162">Плагин заблокирован</translation>
 <translation id="1145593918056169051">Сбой в работе принтера</translation>
 <translation id="114721135501989771">Интеллектуальные функции Google в Chrome</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366">Всегда разрешать сайту <ph name="HOST" /> использовать датчики</translation>
 <translation id="1153356358378277386">Сопряженные устройства</translation>
 <translation id="1153636665119721804">Программа Дополнительной защиты от Google</translation>
+<translation id="1155816283571436363">Подключение к телефону…</translation>
 <translation id="1161575384898972166">Чтобы экспортировать сертификат клиента, войдите в <ph name="TOKEN_NAME" />.</translation>
 <translation id="1163931534039071049">&amp;Просмотр кода фрейма</translation>
 <translation id="1164891049599601209">Введен на поддельном сайте</translation>
@@ -377,6 +380,15 @@
 <translation id="1420834118113404499">Медиалицензии</translation>
 <translation id="1420920093772172268"><ph name="TURN_ON_BLUETOOTH_LINK" />, чтобы разрешить подключение</translation>
 <translation id="1422159345171879700">Загрузить небезопасные скрипты</translation>
+<translation id="1423716227250567100">Произойдут следующие изменения:
+          <ph name="LINE_BREAKS" />
+           • сброс настроек и сочетаний клавиш в Chrome;
+           <ph name="LINE_BREAK" />
+           • отключение расширений;
+           <ph name="LINE_BREAK" />
+           • удаление файлов cookie и других временных данных сайтов.
+            <ph name="LINE_BREAKS" />
+           Вам по-прежнему будут доступны закладки, история и сохраненные пароли.</translation>
 <translation id="1426410128494586442">Да</translation>
 <translation id="142655739075382478">Приложение "<ph name="APP_NAME" />" заблокировано</translation>
 <translation id="1426870617281699524">Нажмите "Повторить попытку" и примите запрос на компьютере.</translation>
@@ -803,6 +815,7 @@
 <translation id="1887597546629269384">Скажите "Эй, Google" ещё раз</translation>
 <translation id="1887850431809612466">Версия оборудования</translation>
 <translation id="1890674179660343635">&lt;span&gt;Идентификатор:&lt;/span&gt; <ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">На диске почти нет места. Удалите лишние файлы.</translation>
 <translation id="189210018541388520">Открыть в полноэкранном режиме</translation>
 <translation id="1892341345406963517">Здравствуйте, <ph name="PARENT_NAME" />!</translation>
 <translation id="189358972401248634">Другие языки</translation>
@@ -1021,6 +1034,7 @@
 <translation id="2157474325782140681">Чтобы получить доступ к дополнительным возможностям, используйте док-станцию Dell, предназначенную для этого устройства Chromebook.</translation>
 <translation id="215753907730220065">Выход из полноэкранного режима</translation>
 <translation id="2157875535253991059">Эта страница отображается в полноэкранном режиме.</translation>
+<translation id="2160589599612868242">Получайте уведомления с телефона на устройстве <ph name="DEVICE_TYPE" />.</translation>
 <translation id="216169395504480358">Добавить подключение по Wi-Fi...</translation>
 <translation id="2162155940152307086">Синхронизация начнется, когда вы покинете страницу с настройками синхронизации.</translation>
 <translation id="2162838847352058695">Запретить сайтам автоматически скачивать несколько файлов</translation>
@@ -1029,6 +1043,7 @@
 <translation id="2165421703844373933">Включите, чтобы вызывать Ассистента голосовой командой "Окей, Google". Для экономии заряда батареи выберите "Вкл. (рекомендуется)". Ассистент будет отвечать, только если устройство подключено к источнику питания или заряжается.</translation>
 <translation id="2166369534954157698">Съешь же ещё этих мягких французских булок, да выпей чаю</translation>
 <translation id="2169062631698640254">Выполнить вход</translation>
+<translation id="2170054054876170358">Убедитесь, что телефон находится рядом, он разблокирован и на нем включены Bluetooth и Wi-Fi.</translation>
 <translation id="2172784515318616985">Далее</translation>
 <translation id="2173302385160625112">Проверьте подключение к Интернету</translation>
 <translation id="2173801458090845390">Добавить к устройству идентификатор заявки</translation>
@@ -1137,7 +1152,7 @@
 <translation id="2292848386125228270">Запустите <ph name="PRODUCT_NAME" /> от имени обычного пользователя. Если вам нужно выполнить запуск от имени суперпользователя, перезапустите браузер, установив параметр "--no-sandbox".</translation>
 <translation id="2294358108254308676">Установить <ph name="PRODUCT_NAME" />?</translation>
 <translation id="2295864384543949385">Результатов: <ph name="NUM_RESULTS" /></translation>
-<translation id="2296099049346876573">{NUM_HOURS,plural, =1{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: 1 час назад.}one{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_HOURS} час назад.}few{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_HOURS} часа назад.}many{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_HOURS} часов назад.}other{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_HOURS} часа назад.}}</translation>
+<translation id="2296099049346876573">{NUM_HOURS,plural, =1{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: 1 час назад}one{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_HOURS} час назад}few{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_HOURS} часа назад}many{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_HOURS} часов назад}other{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_HOURS} часа назад}}</translation>
 <translation id="2297705863329999812">Найти принтеры</translation>
 <translation id="2299734369537008228">Ползунок с минимальным значением "<ph name="MIN_LABEL" />" и максимальным значением "<ph name="MAX_LABEL" />"</translation>
 <translation id="2299941608784654630">Включать все файлы журналов, собранные сервисом debugd, в виде отдельного архива</translation>
@@ -1228,12 +1243,14 @@
 <translation id="2395616325548404795">Устройство <ph name="DEVICE_TYPE" /> зарегистрировано в организации, но при передаче данных об объекте и местоположении произошла ошибка. Введите эту информацию вручную в консоли администратора.</translation>
 <translation id="2396387085693598316">Администратор заблокировал приложение "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="2396783860772170191">Введите четырехзначный PIN-код (0000–9999)</translation>
+<translation id="2399699884460174994">Уведомления включены</translation>
 <translation id="2399939490305346086">Учетные данные электронного ключа</translation>
 <translation id="2400664245143453337">Требуется немедленно обновить ОС</translation>
 <translation id="2408018932941436077">Сохранение карты</translation>
 <translation id="2408955596600435184">Введите PIN-код</translation>
 <translation id="241082044617551207">Неизвестный плагин</translation>
 <translation id="2412593942846481727">Доступно обновление</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">Функциональные клавиши клавиатуры</translation>
 <translation id="241727068219398187">Данные зашифрованы с помощью пароля вашего аккаунта Google от <ph name="TIME" />. Шифрование не применяется к способам оплаты и адресам из Google Pay.</translation>
 <translation id="2419131370336513030">Показать установленные приложения</translation>
@@ -1358,6 +1375,7 @@
 <translation id="2538084450874617176">Кто использует это устройство <ph name="DEVICE_TYPE" />?</translation>
 <translation id="2538361623464451692">Синхронизация отключена</translation>
 <translation id="2540449034743108469">Чтобы включить прослушиватель событий для расширений, нажмите "Запустить".</translation>
+<translation id="2540651571961486573">Что-то пошло не так. Код ошибки: <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">Оптимизировать трансляцию в полноэкранном режиме?</translation>
 <translation id="2541706104884128042">Время сна изменено.</translation>
 <translation id="2542050502251273923">Позволяет установить уровень отладки менеджера сетевых подключений и других сервисов при помощи команды ff_debug.</translation>
@@ -1405,6 +1423,7 @@
 <translation id="2607101320794533334">Информация об открытом ключе субъекта</translation>
 <translation id="2607968157341167679">Альбомов нет. Создайте альбом в<ph name="LINK_BEGIN" />Google Фото<ph name="LINK_END" />.</translation>
 <translation id="2609896558069604090">Создать ярлык…</translation>
+<translation id="2609980095400624569">Ошибка подключения</translation>
 <translation id="2610157865375787051">Включать спящий режим</translation>
 <translation id="2610260699262139870">&amp;Реальный размер</translation>
 <translation id="2610780100389066815">Подписывание списка доверия (Microsoft)</translation>
@@ -1658,6 +1677,7 @@
 <translation id="2885729872133513017">Не удалось расшифровать ответ сервера.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">Открыть ссылку с помощью...</translation>
+<translation id="2889481634493693121">Включите уведомления на телефоне</translation>
 <translation id="2889925978073739256">Всегда блокировать плагины вне тестовой среды</translation>
 <translation id="2893168226686371498">Браузер по умолчанию</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 SMS}one{# SMS}few{# SMS}many{# SMS}other{# SMS}}</translation>
@@ -1752,6 +1772,7 @@
 <translation id="3000461861112256445">Монофонический звук</translation>
 <translation id="3001144475369593262">Детские аккаунты</translation>
 <translation id="3003144360685731741">Предпочитаемые сети</translation>
+<translation id="3003189754374775221">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="NETWORK_NAME" />", оператор – <ph name="NETWORK_PROVIDER_NAME" />, уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, подключиться</translation>
 <translation id="3003623123441819449">Кеш CSS</translation>
 <translation id="3003828226041301643">Не удалось подключить устройство к домену. Убедитесь, что вашему аккаунту разрешено выполнять это действие.</translation>
 <translation id="3003967365858406397">Устройство "<ph name="PHONE_NAME" />" создаст закрытое подключение к сети Wi-Fi.</translation>
@@ -1803,6 +1824,7 @@
 <translation id="3058498974290601450">Ее можно включить в настройках в любой момент.</translation>
 <translation id="3060379269883947824">Включить озвучивание при нажатии</translation>
 <translation id="3060952009917586498">Изменить язык устройства. Сейчас используется <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">Не удалось подключиться к телефону. Убедитесь, что телефон находится рядом, он разблокирован и на нем включены Bluetooth и Wi-Fi.</translation>
 <translation id="3065041951436100775">Сообщение о вкладке, закрытой из-за отсутствия ответа.</translation>
 <translation id="306535478112428611">Запретить сайтам изменять файлы и папки на устройстве</translation>
 <translation id="3065522099314259755">Задержка при повторе ввода на клавиатуре</translation>
@@ -1859,6 +1881,7 @@
 <translation id="3129215702932019810">Ошибка при запуске приложения</translation>
 <translation id="3130528281680948470">Настройки устройства будут сброшены, а локальные данные и аккаунты пользователей – удалены. Это действие нельзя отменить.</translation>
 <translation id="313205617302240621">Забыли пароль?</translation>
+<translation id="3132277757485842847">Не удалось сохранить подключение к телефону. Убедитесь, что телефон находится рядом, он разблокирован и на нем включены Bluetooth и Wi-Fi.</translation>
 <translation id="3132996321662585180">Обновлять ежедневно</translation>
 <translation id="313963229645891001">Скачивание: <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Аватар по умолчанию (желтый)</translation>
@@ -2428,7 +2451,7 @@
 <translation id="379082410132524484">Срок действия карты истек</translation>
 <translation id="3792890930871100565">Удалить принтеры</translation>
 <translation id="3793395331556663376">Открыто слишком много файловых систем.</translation>
-<translation id="3793588272211751505">{NUM_DAYS,plural, =1{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: 1 день назад.}one{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_DAYS} день назад.}few{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_DAYS} дня назад.}many{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_DAYS} дней назад.}other{Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: {NUM_DAYS} дня назад.}}</translation>
+<translation id="3793588272211751505">{NUM_DAYS,plural, =1{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: 1 день назад}one{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} день назад}few{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} дня назад}many{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} дней назад}other{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} дня назад}}</translation>
 <translation id="379509625511193653">Отключено</translation>
 <translation id="3796648294839530037">Избранные сети:</translation>
 <translation id="3797739167230984533">Этим устройством <ph name="BEGIN_LINK" /><ph name="DEVICE_TYPE" /> управляет<ph name="END_LINK" /> ваша организация.</translation>
@@ -2903,6 +2926,7 @@
 <translation id="4378551569595875038">Подключение…</translation>
 <translation id="4378556263712303865">Заявка устройства</translation>
 <translation id="4379281552162875326">Удалить приложение "<ph name="APP_NAME" />"?</translation>
+<translation id="4380245540200674032">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="NETWORK_NAME" />", оператор – <ph name="NETWORK_PROVIDER_NAME" />, статус подключения – "<ph name="CONNECTION_STATUS" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, под управлением администратора, подробная информация</translation>
 <translation id="4380648069038809855">Полноэкранный режим включен</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" /> и ещё 1 аккаунт}one{<ph name="EMAIL" /> и ещё <ph name="EXTRA_ACCOUNTS" /> аккаунт}few{<ph name="EMAIL" /> и ещё <ph name="EXTRA_ACCOUNTS" /> аккаунта}many{<ph name="EMAIL" /> и ещё <ph name="EXTRA_ACCOUNTS" /> аккаунтов}other{<ph name="EMAIL" /> и ещё <ph name="EXTRA_ACCOUNTS" /> аккаунта}}</translation>
 <translation id="4384312707950789900">Добавить в предпочитаемые сети</translation>
@@ -2952,7 +2976,7 @@
 <translation id="4434045419905280838">Всплывающие окна и переадресация</translation>
 <translation id="443454694385851356">Устаревшие (небезопасно)</translation>
 <translation id="443475966875174318">Обновление или удаление несовместимых приложений</translation>
-<translation id="4436063104263971834">Нет доступных профилей SIM-карты. <ph name="BEGIN_LINK" />Создайте<ph name="END_LINK" /> новый профиль.</translation>
+<translation id="4436063104263971834">Нет доступных профилей SIM-карт. <ph name="BEGIN_LINK" />Создайте<ph name="END_LINK" /> новый профиль.</translation>
 <translation id="4438043733494739848">Прозрачный</translation>
 <translation id="4439427728133035643">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="NETWORK_NAME" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, подключение</translation>
 <translation id="4441124369922430666">Автоматически запускать это приложение при включении устройства?</translation>
@@ -3255,7 +3279,7 @@
 <translation id="4804818685124855865">Отключиться</translation>
 <translation id="4804827417948292437">Авокадо</translation>
 <translation id="4807098396393229769">Имя владельца</translation>
-<translation id="4808024018088054533">Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: только что.</translation>
+<translation id="4808024018088054533">Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: только что</translation>
 <translation id="4808667324955055115">Всплывающие окна заблокированы</translation>
 <translation id="4809079943450490359">Инструкции от администратора вашего устройства:</translation>
 <translation id="480990236307250886">Перейти на главную страницу</translation>
@@ -3326,6 +3350,7 @@
 <translation id="4880827082731008257">Искать в истории</translation>
 <translation id="4881695831933465202">Открыть</translation>
 <translation id="4882312758060467256">У расширения есть доступ к этому сайту</translation>
+<translation id="4882670371033027418">Настройте разблокировку устройства <ph name="DEVICE_TYPE" /> с помощью отпечатка пальца</translation>
 <translation id="4882831918239250449">Использование данных о посещенных страницах для персонализации Поиска, рекламы и т. д.</translation>
 <translation id="4882919381756638075">Обычно сайты используют микрофон для функций общения, например видеочата.</translation>
 <translation id="4883436287898674711">Все сайты <ph name="WEBSITE_1" /></translation>
@@ -3350,6 +3375,7 @@
 <translation id="4902546322522096650">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="NETWORK_NAME" />", статус защиты – "<ph name="SECURITY_STATUS" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, подключение</translation>
 <translation id="49027928311173603">Скачанная с сервера политика недействительна: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4906490889887219338">Настройте общие папки сети. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="PHONE_NAME" />", оператор – <ph name="PROVIDER_NAME" />, статус подключения – "<ph name="CONNECTION_STATUS" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, заряд батареи – <ph name="BATTERY_STATUS" /> %, подробная информация</translation>
 <translation id="4907161631261076876">Этот файл скачивают редко. Возможно, он вредоносный.</translation>
 <translation id="4907306957610201395">Категория разрешения</translation>
 <translation id="4908811072292128752">Откройте новую вкладку, чтобы перейти на другой сайт, не закрывая предыдущий</translation>
@@ -3796,6 +3822,7 @@
 <translation id="5457991019809708398">Вкл., без роуминга</translation>
 <translation id="5458214261780477893">Дворак</translation>
 <translation id="5458998536542739734">Заметки на заблокированном экране</translation>
+<translation id="5461050611724244538">Подключение к телефону прервано</translation>
 <translation id="5463231940765244860">Ввод</translation>
 <translation id="5463275305984126951">Содержание <ph name="LOCATION" /></translation>
 <translation id="5463856536939868464">Меню со скрытыми закладками</translation>
@@ -4112,7 +4139,7 @@
 <translation id="5826395379250998812">Подключите устройство <ph name="DEVICE_TYPE" /> к телефону. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="5826993284769733527">Полупрозрачный</translation>
 <translation id="5827266244928330802">Safari</translation>
-<translation id="5828545842856466741">Добавить профиль</translation>
+<translation id="5828545842856466741">Добавить профиль…</translation>
 <translation id="5828633471261496623">Печать...</translation>
 <translation id="5830720307094128296">Сохранить страницу как...</translation>
 <translation id="5832805196449965646">Добавить пользователя</translation>
@@ -4223,7 +4250,7 @@
 <translation id="5944869793365969636">Сканирование QR-кода</translation>
 <translation id="5946591249682680882">Идентификатор отчета: <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
 <translation id="5949544233750246342">Не удалось проанализировать файл</translation>
-<translation id="5950819593680344519">Браузер Chrome не обнаружил на компьютере вредоносное ПО. • Последняя проверка: вчера.</translation>
+<translation id="5950819593680344519">Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: вчера</translation>
 <translation id="5951624318208955736">Монитор</translation>
 <translation id="5955282598396714173">Срок действия пароля истек. Чтобы изменить пароль, выйдите из аккаунта и войдите снова.</translation>
 <translation id="5955304353782037793">app</translation>
@@ -4289,6 +4316,7 @@
 <translation id="6031600495088157824">Показать настройки ввода на панели инструментов</translation>
 <translation id="6032715498678347852">Чтобы предоставить расширению доступ к сайту, нажмите на него</translation>
 <translation id="6032912588568283682">Файловая система</translation>
+<translation id="603539183851330738">Выбрана кнопка, позволяющая отменить автозамену. При ее нажатии будет восстановлено слово "<ph name="TYPED_WORD" />".  Нажмите Ввод, чтобы нажать на кнопку, или Escape, чтобы выйти.</translation>
 <translation id="6035517790085323771">Какие устройства могут передавать контент на ваше устройство</translation>
 <translation id="6038929619733116134">Блокировать, если сайт показывает навязчивую или вводящую в заблуждение рекламу.</translation>
 <translation id="6039651071822577588">Словарь сетевых свойств поврежден</translation>
@@ -4428,6 +4456,7 @@
 <translation id="6185132558746749656">Местоположение устройства</translation>
 <translation id="6186394437969115158">Обычно сайты показывают рекламу, чтобы зарабатывать на ней и иметь возможность бесплатно предоставлять свой контент или сервисы. Однако на некоторых страницах используется навязчивая или вводящая в заблуждение реклама.</translation>
 <translation id="6195693561221576702">Демонстрационный офлайн-режим на этом устройстве недоступен.</translation>
+<translation id="6195724942939841102">Не восстанавливать</translation>
 <translation id="6196640612572343990">Блокировать сторонние файлы cookie</translation>
 <translation id="6196854373336333322">Расширение "<ph name="EXTENSION_NAME" />" контролирует настройки прокси-сервера. Это значит, что оно может отследить или изменить передаваемые вами данные, а также оборвать интернет-соединение. Если вы не знали об этом, вам следует отключить расширение.</translation>
 <translation id="6198102561359457428">Выйти и войти снова</translation>
@@ -4467,6 +4496,7 @@
 <translation id="6238767809035845642">Текст, полученный с другого устройства</translation>
 <translation id="6238923052227198598">Показывать последнюю заметку на заблокированном экране</translation>
 <translation id="6239558157302047471">Перезагрузить &amp;фрейм</translation>
+<translation id="6240821072888636753">Спрашивать каждый раз</translation>
 <translation id="6241530762627360640">Доступ к информации об устройствах Bluetooth, связанных с вашей системой, и обнаружение устройств Bluetooth рядом с вами.</translation>
 <translation id="6241844896329831164">Расширения, которым не требуется доступ</translation>
 <translation id="6242574558232861452">Проверка файла на соответствие правилам безопасности вашей организации…</translation>
@@ -4499,6 +4529,7 @@
 <translation id="6268252012308737255">Открыть в приложении <ph name="APP" /></translation>
 <translation id="6270391203985052864">Сайты могут запрашивать разрешения на отправку уведомлений</translation>
 <translation id="6270770586500173387">Отправлять <ph name="BEGIN_LINK1" />информацию о системе и приложениях<ph name="END_LINK1" /> и различные <ph name="BEGIN_LINK2" />показатели<ph name="END_LINK2" /></translation>
+<translation id="6271348838875430303">Исправление отменено</translation>
 <translation id="6272643420381259437">При скачивании плагина произошла ошибка (<ph name="ERROR" />)</translation>
 <translation id="6273677812470008672">Качество</translation>
 <translation id="6276210637549544171">Для подключения к прокси-серверу <ph name="PROXY_SERVER" /> нужно указать имя пользователя и пароль.</translation>
@@ -4720,6 +4751,7 @@
 <translation id="6532527800157340614">При выполнении входа произошла ошибка: не удалось получить токен доступа. Проверьте подключение к сети и повторите попытку.</translation>
 <translation id="6532663472409656417">Зарегистрировано в корпоративном домене</translation>
 <translation id="6535331821390304775">Всегда разрешать сайту <ph name="ORIGIN" /> открывать ссылки этого типа в связанном приложении</translation>
+<translation id="653659894138286600">Сканирование документов и изображений</translation>
 <translation id="6537613839935722475">Допускаются буквы, цифры и дефисы.</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">Выбран режим передачи данных "Wi-Fi и мобильный Интернет"</translation>
@@ -4980,6 +5012,7 @@
 <translation id="6853388645642883916">Программа обновлений перешла в спящий режим</translation>
 <translation id="68541483639528434">Закрыть другие вкладки</translation>
 <translation id="6855892664589459354">Резервное копирование и восстановление Crostini</translation>
+<translation id="6856459657722366306">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="NETWORK_NAME" />", оператор – <ph name="NETWORK_PROVIDER_NAME" />, статус подключения – "<ph name="CONNECTION_STATUS" />", уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, подробная информация</translation>
 <translation id="6856623341093082836">Настроить точность сенсорного экрана</translation>
 <translation id="6857699260879628349">Получите сведения о конфигурации</translation>
 <translation id="6860097299815761905">Настройки прокси-сервера...</translation>
@@ -5121,6 +5154,7 @@
 <translation id="7005496624875927304">Дополнительные разрешения</translation>
 <translation id="7005812687360380971">Ошибка</translation>
 <translation id="7005848115657603926">Недопустимый диапазон страниц. Используйте <ph name="EXAMPLE_PAGE_RANGE" /></translation>
+<translation id="700651317925502808">Сбросить настройки?</translation>
 <translation id="7006634003215061422">Нижнее поле</translation>
 <translation id="7007648447224463482">Открыть все в новом окне</translation>
 <translation id="7009709314043432820">Приложение "<ph name="APP_NAME" />" использует камеру</translation>
@@ -5149,6 +5183,7 @@
 <translation id="7044124535091449260">Подробнее о доступе для сайта…</translation>
 <translation id="7044606776288350625">Синхронизация данных</translation>
 <translation id="7047059339731138197">Выберите фон.</translation>
+<translation id="7048024426273850086">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, телефон – "<ph name="PHONE_NAME" />", оператор – <ph name="PROVIDER_NAME" />, уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, заряд батареи – <ph name="BATTERY_STATUS" /> %, подключиться</translation>
 <translation id="7049293980323620022">Сохранить файл?</translation>
 <translation id="7051943809462976355">Поиск мыши…</translation>
 <translation id="7052237160939977163">Отправлять данные отслеживания производительности</translation>
@@ -5249,7 +5284,7 @@
 <translation id="7168109975831002660">Минимальный размер шрифта</translation>
 <translation id="7170041865419449892">Выход за рамки диапазона</translation>
 <translation id="7170236477717446850">Фото профиля</translation>
-<translation id="7171000599584840888">Добавить профиль</translation>
+<translation id="7171000599584840888">Добавить профиль…</translation>
 <translation id="7171259390164035663">Отказаться</translation>
 <translation id="7171559745792467651">Скачайте приложения, установленные на других ваших устройствах</translation>
 <translation id="7172470549472604877">{NUM_TABS,plural, =1{Добавить вкладку в новую группу}one{Добавить вкладки в новую группу}few{Добавить вкладки в новую группу}many{Добавить вкладки в новую группу}other{Добавить вкладки в новую группу}}</translation>
@@ -5290,6 +5325,7 @@
 <translation id="7213903639823314449">Поисковая система, используемая в адресной строке.</translation>
 <translation id="7216409898977639127">Оператор сотовой связи</translation>
 <translation id="7216595297012131718">Расположите языки, исходя из своих предпочтений</translation>
+<translation id="7219473482981809164">Доступно несколько профилей. Выберите, какие нужно скачать.</translation>
 <translation id="7220019174139618249">Не удалось экспортировать пароли в папку "<ph name="FOLDER" />"</translation>
 <translation id="722055596168483966">Персонализация сервисов Google</translation>
 <translation id="722099540765702221">Источник зарядки</translation>
@@ -5572,6 +5608,7 @@
 <translation id="7556033326131260574">Не удается войти в аккаунт с помощью Smart Lock. Введите пароль.</translation>
 <translation id="7556242789364317684">К сожалению, <ph name="SHORT_PRODUCT_NAME" /> не удалось восстановить ваши настройки. Чтобы исправить ошибку, <ph name="SHORT_PRODUCT_NAME" /> должен выполнить сброс данных на устройстве с помощью функции Powerwash.</translation>
 <translation id="7557194624273628371">Переадресация портов в Linux</translation>
+<translation id="7559269329306630685">Данные отпечатков пальцев хранятся только на устройстве <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7559719679815339381">Идет обновление киоск-приложения... Не извлекайте USB-накопитель.</translation>
 <translation id="7561196759112975576">Всегда</translation>
 <translation id="756445078718366910">Открыть окно браузера</translation>
@@ -6021,6 +6058,7 @@
 <translation id="8045923671629973368">Введите идентификатор приложения или URL интернет-магазина</translation>
 <translation id="8047242494569930800">Перенести в аккаунт Google</translation>
 <translation id="804786196054284061">Лицензионное соглашение с конечным пользователем</translation>
+<translation id="8048977114738515028">Чтобы быстро переключаться на этот профиль, создайте ярлык на рабочем столе</translation>
 <translation id="8049705080247101012">Google заблокировал установку потенциально опасной программы (<ph name="EXTENSION_NAME" />).</translation>
 <translation id="8049948037269924837">Обратное направление прокрутки с помощью сенсорной панели</translation>
 <translation id="8050038245906040378">Подписывание коммерческого кода Microsoft</translation>
@@ -6451,6 +6489,7 @@
 <translation id="8569682776816196752">Места назначения не найдены</translation>
 <translation id="8571213806525832805">Последние 4 недели</translation>
 <translation id="8571687764447439720">Добавить билет Kerberos</translation>
+<translation id="8571814292654854151">Введите название профиля</translation>
 <translation id="8574990355410201600">Всегда включать звук на сайте <ph name="HOST" /></translation>
 <translation id="8575286410928791436">Чтобы выйти, нажмите и удерживайте клавишу <ph name="KEY_EQUIVALENT" />.</translation>
 <translation id="8576249514688522074">Без инициализации</translation>
@@ -6605,6 +6644,7 @@
 <translation id="8737914367566358838">Выберите язык, на который нужно перевести страницу</translation>
 <translation id="8740247629089392745">Когда настройка будет завершена, <ph name="SUPERVISED_USER_NAME" /> сможет пользоваться устройством Chromebook.</translation>
 <translation id="8742998548129056176">Мы будем получать общие сведения о работе устройства, например об уровне заряда батареи, ошибках и действиях в системе и приложениях. Они помогут нам усовершенствовать Android, а наши партнеры смогут использовать некоторые агрегированные данные, чтобы улучшать свои приложения и другие продукты.</translation>
+<translation id="8743164338060742337">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="NETWORK_NAME" />", оператор – <ph name="NETWORK_PROVIDER_NAME" />, уровень сигнала – <ph name="SIGNAL_STRENGTH" /> %, под управлением администратора, подключиться</translation>
 <translation id="8743390665131937741">Масштаб полноэкранной лупы:</translation>
 <translation id="8743864605301774756">Обновлено 1 час назад</translation>
 <translation id="8746654918629346731">Вы уже запросили расширение "<ph name="EXTENSION_NAME" />"</translation>
@@ -6707,6 +6747,7 @@
 <translation id="8830796635868321089">Не удалось выполнить проверку обновлений. Проверьте <ph name="PROXY_SETTINGS_LINK_START" />настройки прокси-сервера<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="8831140208248705279">Получите доступ к возможностям телефона Android на устройстве <ph name="DEVICE_TYPE" />. Подключив их друг к другу, вы сможете отправлять с устройства <ph name="DEVICE_TYPE" /> SMS, пользоваться на нем подключением к мобильному Интернету, а также разблокировать Chromebook с помощью телефона<ph name="FOOTNOTE_POINTER" />. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">Конфигурацию сети контролирует пользователь <ph name="USER_EMAIL" />.</translation>
+<translation id="8835786707922974220">Не теряйте доступ к сохраненным паролям</translation>
 <translation id="8838601485495657486">Непрозрачный</translation>
 <translation id="8838770651474809439">Гамбургер</translation>
 <translation id="883911313571074303">Добавить примечание к изображению</translation>
@@ -6722,6 +6763,7 @@
 <translation id="885246833287407341">Аргументы функций API</translation>
 <translation id="8853586775156634952">Карта будет сохранена только на этом устройстве.</translation>
 <translation id="8855977033756560989">Для устройства Chromebook Enterprise предоставляется лицензия Chrome Enterprise. Чтобы получить доступ ко всем корпоративным функциям, зарегистрируйте устройство, используя аккаунт администратора Google.</translation>
+<translation id="8856028055086294840">Восстановление приложений и страниц</translation>
 <translation id="885701979325669005">Хранилище</translation>
 <translation id="8859057652521303089">Выберите язык:</translation>
 <translation id="8859174528519900719">Субфрейм: <ph name="SUBFRAME_SITE" /></translation>
@@ -7085,6 +7127,7 @@
 <translation id="971774202801778802">URL закладки</translation>
 <translation id="973473557718930265">Выйти</translation>
 <translation id="975893173032473675">Язык перевода</translation>
+<translation id="976499800099896273">Показана кнопка, позволяющая отменить автозамену слова "<ph name="TYPED_WORD" />" на слово "<ph name="CORRECTED_WORD" />".  Чтобы выделить кнопку, нажмите на стрелку вверх. Чтобы пропустить, нажмите клавишу Escape.</translation>
 <translation id="978146274692397928">Первоначальная ширина знаков пунктуации – полная</translation>
 <translation id="97905529126098460">Это окно закроется, когда отмена установки будет завершена.</translation>
 <translation id="980731642137034229">Кнопка меню действий</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index 0d658e0f..ea66bb1b 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -436,6 +436,7 @@
 <translation id="1475502736924165259">V dokumentu so potrdila, ki ne sodijo v nobeno od drugih kategorij</translation>
 <translation id="1476088332184200792">Kopiranje v vašo napravo</translation>
 <translation id="1476607407192946488">&amp;Jezikovne nastavitve</translation>
+<translation id="1477446329585670721">Domena <ph name="DOMAIN" /> zahteva, da je pametna kartica vstavljena.</translation>
 <translation id="1478340334823509079">Podatki: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Namestitev ni omogočena</translation>
 <translation id="1481537595330271162">Napaka pri spreminjanju velikosti diska</translation>
@@ -2036,6 +2037,7 @@
 <translation id="3320630259304269485">Varno brskanje (zaščita pred nevarnimi spletnimi mesti) in druge varnostne nastavitve</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{V teh podatkih je občutljiva ali nevarna vsebina. Odstranite jo in poskusite znova.}=1{V tej datoteki je občutljiva ali nevarna vsebina. Odstranite jo in poskusite znova.}one{V teh datotekah je občutljiva ali nevarna vsebina. Odstranite jo in poskusite znova.}two{V teh datotekah je občutljiva ali nevarna vsebina. Odstranite jo in poskusite znova.}few{V teh datotekah je občutljiva ali nevarna vsebina. Odstranite jo in poskusite znova.}other{V teh datotekah je občutljiva ali nevarna vsebina. Odstranite jo in poskusite znova.}}</translation>
 <translation id="3323521181261657960">Nagrada! Čas uporabe je podaljšan.</translation>
+<translation id="3325804108816646710">Iskanje razpoložljivih profilov …</translation>
 <translation id="3325910708063135066">Fotoaparat in mikrofon sta izklopljena v nastavitvah sistema macOS</translation>
 <translation id="3327050066667856415">Chromebooki so zasnovani za varnost. Vaša naprava je samodejno zaščitena pred zlonamerno programsko opremo. Ne potrebujete posebne programske opreme.</translation>
 <translation id="3328489342742826322">Z obnovitvijo varnostno kopiranih podatkov bodo izbrisane obstoječe aplikacije za Linux in podatki v mapi z datotekami za Linux.</translation>
@@ -2103,6 +2105,7 @@
 <translation id="3412265149091626468">Skoči na izbor</translation>
 <translation id="3413122095806433232">Izdajatelji overiteljev potrdil: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Velikost:</translation>
+<translation id="3414966631182382431">Vaš <ph name="BEGIN_LINK" />brskalnik upravlja<ph name="END_LINK" /> domena <ph name="MANAGER" />.</translation>
 <translation id="3416468988018290825">Vedno pokaži celotne URL-je</translation>
 <translation id="3417835166382867856">Iskanje zavihkov</translation>
 <translation id="3417836307470882032">Vojaški zapis časa</translation>
@@ -3178,6 +3181,7 @@
 <translation id="4651484272688821107">Spletne komponente ni bilo mogoče naložiti s sredstvi predstavitvenega načina.</translation>
 <translation id="4652935475563630866">Sprememba nastavitve kamere zahteva vnovičen zagon programa Parallels Desktop. Znova zaženite program Parallels Desktop, če želite nadaljevati.</translation>
 <translation id="4653405415038586100">Napaka pri konfiguriranju Linuxa</translation>
+<translation id="4657914796247705218">Hitrost sledilne palčke</translation>
 <translation id="465878909996028221">Za preusmeritve v brskalnike so podprti samo protokoli http, https in file.</translation>
 <translation id="4659077111144409915">Glavni račun</translation>
 <translation id="4659126640776004816">Ko se prijavite v račun Google, se ta funkcija vklopi.</translation>
@@ -3837,6 +3841,7 @@
 <translation id="5470735824776589490">Pred ponastavitvijo naprave s funkcijo Powerwash je potreben vnovičen zagon. <ph name="LINK_BEGIN" />Več o tem<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Pozdravljeni! Jaz sem glas za pretvorbo besedila v govor.</translation>
 <translation id="5472627187093107397">Shrani gesla za to spletno mesto</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{Koda PIN mora vsebovati najmanj en znak}one{Koda PIN mora vsebovati najmanj # znak}two{Koda PIN mora vsebovati najmanj # znaka}few{Koda PIN mora vsebovati najmanj # znake}other{Koda PIN mora vsebovati najmanj # znakov}}</translation>
 <translation id="5473333559083690127">Vnovični vnos nove kode PIN</translation>
 <translation id="5481273127572794904">Ni dovoljeno samodejno prenesti več datotek</translation>
 <translation id="5481941284378890518">Dodajanje tiskalnikov v bližini</translation>
@@ -4379,6 +4384,7 @@
 <translation id="6087960857463881712">Navdušen obraz</translation>
 <translation id="6091761513005122595">Datotečno sredstvo v skupni rabi je bilo uspešno vpeto.</translation>
 <translation id="6093888419484831006">Preklic posodabljanja ...</translation>
+<translation id="6095541101974653012">Bili ste odjavljeni.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Odpri povečano</translation>
 <translation id="6096326118418049043">Ime X.500</translation>
@@ -4711,6 +4717,7 @@
 <translation id="6474884162850599008">Prekinitev povezave z računom za Google Drive</translation>
 <translation id="6475697075626596525">Aplikacija <ph name="APP_NAME" /> želi deliti vsebino vašega zaslona z drugimi. Izberite, kaj želite deliti.</translation>
 <translation id="6478248366783946499">Želite obdržati nevarno datoteko?</translation>
+<translation id="6480327114083866287">Upravlja domena <ph name="MANAGER" />.</translation>
 <translation id="6483485061007832714">Odpiranje prenosa</translation>
 <translation id="6483805311199035658">Odpiranje datoteke <ph name="FILE" /> ...</translation>
 <translation id="6488384360522318064">Izbira jezika</translation>
@@ -4899,6 +4906,7 @@
 <translation id="671928215901716392">Zakleni zaslon</translation>
 <translation id="6721678857435001674">Ogled znamke in modela varnostnega ključa</translation>
 <translation id="6721972322305477112">&amp;Datoteka</translation>
+<translation id="672208878794563299">To spletno mesto bo naslednjič znova zahtevalo dovoljenje.</translation>
 <translation id="672213144943476270">Preden brskate kot gost, odklenite profil.</translation>
 <translation id="6723661294526996303">Uvoz zaznamkov in nastavitev ...</translation>
 <translation id="6723839937902243910">Napajanje</translation>
@@ -6299,6 +6307,7 @@
 <translation id="8317671367883557781">Dodaj omrežno povezavo</translation>
 <translation id="8319414634934645341">Razširjena raba ključa</translation>
 <translation id="8320459152843401447">Vaš celotni zaslon</translation>
+<translation id="8321837372750396788">To napravo <ph name="DEVICE_TYPE" /> bo upravljala domena <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Tej strani je onemogočen dostop do mikrofona.</translation>
 <translation id="8323167517179506834">Vnesite URL</translation>
 <translation id="8324784016256120271">Spletna mesta lahko uporabljajo piškotke za ogled dejavnosti brskanja na različnih spletnih mestih, na primer za osebno prilagajanje oglasov</translation>
@@ -6606,6 +6615,7 @@
 <translation id="8698269656364382265">Če se želite vrniti na prejšnji zaslon, s prstom povlecite od leve strani.</translation>
 <translation id="869884720829132584">Meni programov</translation>
 <translation id="869891660844655955">Datum izteka</translation>
+<translation id="8702825062053163569">Vaša naprava <ph name="DEVICE_TYPE" /> je bila zaklenjena.</translation>
 <translation id="8703346390800944767">Preskoči oglas</translation>
 <translation id="8705331520020532516">Serijska številka</translation>
 <translation id="8705580154597116082">Wi-Fi je na voljo prek telefona</translation>
diff --git a/chrome/app/resources/generated_resources_sq.xtb b/chrome/app/resources/generated_resources_sq.xtb
index 69b0a2c..fa27f2b8 100644
--- a/chrome/app/resources/generated_resources_sq.xtb
+++ b/chrome/app/resources/generated_resources_sq.xtb
@@ -263,7 +263,7 @@
 <translation id="1285484354230578868">Ruaji të dhënat në llogarinë tënde të "Diskut të Google"</translation>
 <translation id="1288037062697528143">"Drita e natës" do të aktivizohet automatikisht kur të perëndojë dielli</translation>
 <translation id="1288300545283011870">Karakteristikat e ligjërimit</translation>
-<translation id="1292849930724124745">Fut kartën inteligjente për të qëndruar i identifikuar</translation>
+<translation id="1292849930724124745">Fut kartën smart për të qëndruar i identifikuar</translation>
 <translation id="1293264513303784526">Pajisja USB-C (porta majtas)</translation>
 <translation id="1293556467332435079">Skedarët</translation>
 <translation id="1294807885394205587">Ky proces mund të zgjasë disa minuta. Po fillon menaxheri i kontejnerit.</translation>
@@ -933,7 +933,7 @@
 <translation id="2046702855113914483">Ramen</translation>
 <translation id="204706822916043810">Po kontrollon pajisjen virtuale</translation>
 <translation id="2048182445208425546">Qasu te trafiku i rrjetit</translation>
-<translation id="2048554637254265991">Gabim gjatë nisjes së menaxherit të kontejnerit Provo përsëri.</translation>
+<translation id="2048554637254265991">Gabim gjatë nisjes së menaxherit të kontejnerit. Provo përsëri.</translation>
 <translation id="2048653237708779538">Veprimi nuk ofrohet</translation>
 <translation id="204914487372604757">Krijo shkurtore</translation>
 <translation id="2050339315714019657">Portret (vertikal</translation>
@@ -5496,7 +5496,7 @@
 <translation id="7427348830195639090">Faqja në sfond: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7427798576651127129">Telefonatë nga <ph name="DEVICE_NAME" /></translation>
 <translation id="7431719494109538750">Nuk u gjetën pajisje HID</translation>
-<translation id="7433708794692032816">Fut kartën inteligjente për të vazhduar përdorimin e pajisjes sate <ph name="DEVICE_TYPE" /></translation>
+<translation id="7433708794692032816">Fut kartën smart për të vazhduar përdorimin e pajisjes sate <ph name="DEVICE_TYPE" /></translation>
 <translation id="7433957986129316853">Mbaje</translation>
 <translation id="7434509671034404296">Zhvilluesi</translation>
 <translation id="7434635829372401939">Sinkronizo cilësimet e tua</translation>
@@ -7118,7 +7118,7 @@
 <translation id="971774202801778802">Shëno URL-në</translation>
 <translation id="973473557718930265">Dil</translation>
 <translation id="975893173032473675">Gjuha në të cilën do të përkthehet</translation>
-<translation id="976499800099896273">Dialogu i zhbërjes së korrigjimit automatik shfaqet për <ph name="TYPED_WORD" /> të korrigjuar në <ph name="CORRECTED_WORD" />.  Shtyp shigjetën lart për t'u qasur, Escape për ta shpërfillur.</translation>
+<translation id="976499800099896273">Dialogu i zhbërjes së korrigjimit automatik shfaqet për <ph name="TYPED_WORD" /> të korrigjuar në <ph name="CORRECTED_WORD" />.  Shtyp shigjetën lart për t'iu qasur, Escape për ta shpërfillur.</translation>
 <translation id="978146274692397928">Gjerësia fillestare e pikësimit është e plotë</translation>
 <translation id="97905529126098460">Kjo dritare do të mbyllet pas përfundimit të anulimit.</translation>
 <translation id="980731642137034229">Butoni i menysë së veprimeve</translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb
index 5322415..d50ad11 100644
--- a/chrome/app/resources/generated_resources_sr-Latn.xtb
+++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -435,6 +435,7 @@
 <translation id="1475502736924165259">Na datoteci ima sertifikata koji se ne uklapaju ni u jednu drugu kategoriju</translation>
 <translation id="1476088332184200792">Kopirajte na svoj uređaj</translation>
 <translation id="1476607407192946488">&amp;Podešavanja jezika</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> zahteva da pametna kartica ostane umetnuta.</translation>
 <translation id="1478340334823509079">Detalji: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Instalacija nije omogućena</translation>
 <translation id="1481537595330271162">Greška pri menjanju veličine diska</translation>
@@ -2032,6 +2033,7 @@
 <translation id="3320630259304269485">Bezbedno pregledanje (zaštita od opasnih sajtova) i druga bezbednosna podešavanja</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Ovi podaci sadrže osetljiv ili opasan sadržaj. Uklonite ovaj sadržaj i probajte ponovo.}=1{Ova datoteka sadrži osetljiv ili opasan sadržaj. Uklonite ovaj sadržaj i probajte ponovo.}one{Ove datoteke sadrže osetljiv ili opasan sadržaj. Uklonite ovaj sadržaj i probajte ponovo.}few{Ove datoteke sadrže osetljiv ili opasan sadržaj. Uklonite ovaj sadržaj i probajte ponovo.}other{Ove datoteke sadrže osetljiv ili opasan sadržaj. Uklonite ovaj sadržaj i probajte ponovo.}}</translation>
 <translation id="3323521181261657960">Bonus! Dobijaš dodatno vreme ispred ekrana</translation>
+<translation id="3325804108816646710">Traže se dostupni profili...</translation>
 <translation id="3325910708063135066">Kamera i mikrofon su isključeni u podešavanjima Mac sistema</translation>
 <translation id="3327050066667856415">Chromebook-ovi su osmišljeni za bezbednost. Uređaj je automatski zaštićen od malvera – nije potreban nikakav dodatan softver.</translation>
 <translation id="3328489342742826322">Vraćanjem iz rezervne kopije izbrisaće se postojeće Linux aplikacije i podaci u direktorijumu sa Linux datotekama.</translation>
@@ -2099,6 +2101,7 @@
 <translation id="3412265149091626468">Pređi na izbor</translation>
 <translation id="3413122095806433232">CA izdavaoci: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Veličina:</translation>
+<translation id="3414966631182382431"><ph name="BEGIN_LINK" />Pregledačem upravlja<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Uvek prikazuj URL-ove u celosti</translation>
 <translation id="3417835166382867856">Pretražite kartice</translation>
 <translation id="3417836307470882032">24-časovno vreme</translation>
@@ -3174,6 +3177,7 @@
 <translation id="4651484272688821107">Učitavanje onlajn komponente sa resursima za režim demonstracije nije uspelo.</translation>
 <translation id="4652935475563630866">Promena podešavanja kamere zahteva ponovno pokretanje Parallels Desktop-a. Ponovo pokrenite Parallels Desktop da biste nastavili.</translation>
 <translation id="4653405415038586100">Greška pri konfigurisanju Linux-a</translation>
+<translation id="4657914796247705218">Brzina TrackPoint-a</translation>
 <translation id="465878909996028221">Za preusmeravanja u pregledaču podržani su samo protokoli http, https i file.</translation>
 <translation id="4659077111144409915">Primarni nalog</translation>
 <translation id="4659126640776004816">Ova funkcija se uključuje kada se prijavite na Google nalog.</translation>
@@ -3833,6 +3837,7 @@
 <translation id="5470735824776589490">Morate da restartujete uređaj da biste mogli da ga resetujete pomoću Powerwash-a. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Zdravo! Ja sam glas za pretvaranje teksta u govor.</translation>
 <translation id="5472627187093107397">Čuvaj lozinke za ovaj sajt</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN mora da sadrži bar jedan znak}one{PIN mora da sadrži bar # znak}few{PIN mora da sadrži bar # znaka}other{PIN mora da sadrži bar # znakova}}</translation>
 <translation id="5473333559083690127">Ponovo unesite novi PIN</translation>
 <translation id="5481273127572794904">Nije im dozvoljeno da automatski preuzimaju više fajlova</translation>
 <translation id="5481941284378890518">Dodaj obližnje štampače</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Zadovoljno lice</translation>
 <translation id="6091761513005122595">Deljena datoteka je učitana.</translation>
 <translation id="6093888419484831006">Otkazivanje ažuriranja...</translation>
+<translation id="6095541101974653012">Odjavljeni ste.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Otvori uvećano</translation>
 <translation id="6096326118418049043">X.500 ime</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Prekini vezu sa nalogom Google diska</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> želi da deli sadržaj ekrana. Izaberite šta želite da delite.</translation>
 <translation id="6478248366783946499">Želite li da zadržite opasnu datoteku?</translation>
+<translation id="6480327114083866287">Upravlja <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Otvorite preuzimanje</translation>
 <translation id="6483805311199035658">Otvaranje datoteke <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Izaberite jezik</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Zaključaj ekran</translation>
 <translation id="6721678857435001674">da vidi proizvođača i model bezbednosnog ključa</translation>
 <translation id="6721972322305477112">&amp;File (Datoteka)</translation>
+<translation id="672208878794563299">Ovaj sajt će vas ponovo pitati sledeći put.</translation>
 <translation id="672213144943476270">Otključajte profil da biste pregledali kao gost.</translation>
 <translation id="6723661294526996303">Uvezi obeleživače i podešavanja...</translation>
 <translation id="6723839937902243910">Energija</translation>
@@ -6294,6 +6302,7 @@
 <translation id="8317671367883557781">Dodaj mrežnu vezu</translation>
 <translation id="8319414634934645341">Upotreba proširenog ključa</translation>
 <translation id="8320459152843401447">Ceo ekran</translation>
+<translation id="8321837372750396788">Ovim <ph name="DEVICE_TYPE" /> će upravljati <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Ovoj stranici je zabranjen pristup mikrofonu.</translation>
 <translation id="8323167517179506834">Unesite URL</translation>
 <translation id="8324784016256120271">Sajtovi mogu da koriste kolačiće da bi videli vaše aktivnosti pregledanja na različitim sajtovima, na primer, za personalizaciju oglasa</translation>
@@ -6601,6 +6610,7 @@
 <translation id="8698269656364382265">Da biste se vratili na prethodni ekran, prevucite počev od leve strane.</translation>
 <translation id="869884720829132584">Meni aplikacija</translation>
 <translation id="869891660844655955">Datum isteka</translation>
+<translation id="8702825062053163569"><ph name="DEVICE_TYPE" /> je zaključan.</translation>
 <translation id="8703346390800944767">Preskoči oglas</translation>
 <translation id="8705331520020532516">Serijski broj</translation>
 <translation id="8705580154597116082">Dostupan je WiFi preko telefona</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index 518e4a81..00358f9 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -435,6 +435,7 @@
 <translation id="1475502736924165259">На датотеци има сертификата који се не уклапају ни у једну другу категорију</translation>
 <translation id="1476088332184200792">Копирајте на свој уређај</translation>
 <translation id="1476607407192946488">&amp;Подешавања језика</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> захтева да паметна картица остане уметнута.</translation>
 <translation id="1478340334823509079">Детаљи: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Инсталација није омогућена</translation>
 <translation id="1481537595330271162">Грешка при мењању величине диска</translation>
@@ -2032,6 +2033,7 @@
 <translation id="3320630259304269485">Безбедно прегледање (заштита од опасних сајтова) и друга безбедносна подешавања</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Ови подаци садрже осетљив или опасан садржај. Уклоните овај садржај и пробајте поново.}=1{Ова датотека садржи осетљив или опасан садржај. Уклоните овај садржај и пробајте поново.}one{Ове датотеке садрже осетљив или опасан садржај. Уклоните овај садржај и пробајте поново.}few{Ове датотеке садрже осетљив или опасан садржај. Уклоните овај садржај и пробајте поново.}other{Ове датотеке садрже осетљив или опасан садржај. Уклоните овај садржај и пробајте поново.}}</translation>
 <translation id="3323521181261657960">Бонус! Добијаш додатно време испред екрана</translation>
+<translation id="3325804108816646710">Траже се доступни профили...</translation>
 <translation id="3325910708063135066">Камера и микрофон су искључени у подешавањима Mac система</translation>
 <translation id="3327050066667856415">Chromebook-ови су осмишљени за безбедност. Уређај је аутоматски заштићен од малвера – није потребан никакав додатан софтвер.</translation>
 <translation id="3328489342742826322">Враћањем из резервне копије избрисаће се постојеће Linux апликације и подаци у директоријуму са Linux датотекама.</translation>
@@ -2099,6 +2101,7 @@
 <translation id="3412265149091626468">Пређи на избор</translation>
 <translation id="3413122095806433232">CA издаваоци: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Величина:</translation>
+<translation id="3414966631182382431"><ph name="BEGIN_LINK" />Прегледачем управља<ph name="END_LINK" /> <ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Увек приказуј URL-ове у целости</translation>
 <translation id="3417835166382867856">Претражите картице</translation>
 <translation id="3417836307470882032">24-часовно време</translation>
@@ -3174,6 +3177,7 @@
 <translation id="4651484272688821107">Учитавање онлајн компоненте са ресурсима за режим демонстрације није успело.</translation>
 <translation id="4652935475563630866">Промена подешавања камере захтева поновно покретање Parallels Desktop-а. Поново покрените Parallels Desktop да бисте наставили.</translation>
 <translation id="4653405415038586100">Грешка при конфигурисању Linux-а</translation>
+<translation id="4657914796247705218">Брзина TrackPoint-а</translation>
 <translation id="465878909996028221">За преусмеравања у прегледачу подржани су само протоколи http, https и file.</translation>
 <translation id="4659077111144409915">Примарни налог</translation>
 <translation id="4659126640776004816">Ова функција се укључује када се пријавите на Google налог.</translation>
@@ -3833,6 +3837,7 @@
 <translation id="5470735824776589490">Морате да рестартујете уређај да бисте могли да га ресетујете помоћу Powerwash-а. <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Здраво! Ја сам глас за претварање текста у говор.</translation>
 <translation id="5472627187093107397">Чувај лозинке за овај сајт</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN мора да садржи бар један знак}one{PIN мора да садржи бар # знак}few{PIN мора да садржи бар # знака}other{PIN мора да садржи бар # знакова}}</translation>
 <translation id="5473333559083690127">Поново унесите нови PIN</translation>
 <translation id="5481273127572794904">Није им дозвољено да аутоматски преузимају више фајлова</translation>
 <translation id="5481941284378890518">Додај оближње штампаче</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Задовољно лице</translation>
 <translation id="6091761513005122595">Дељена датотека је учитана.</translation>
 <translation id="6093888419484831006">Отказивање ажурирања...</translation>
+<translation id="6095541101974653012">Одјављени сте.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Отвори увећано</translation>
 <translation id="6096326118418049043">X.500 име</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Прекини везу са налогом Google диска</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> жели да дели садржај екрана. Изаберите шта желите да делите.</translation>
 <translation id="6478248366783946499">Желите ли да задржите опасну датотеку?</translation>
+<translation id="6480327114083866287">Управља <ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Отворите преузимање</translation>
 <translation id="6483805311199035658">Отварање датотеке <ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Изаберите језик</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Закључај екран</translation>
 <translation id="6721678857435001674">да види произвођача и модел безбедносног кључа</translation>
 <translation id="6721972322305477112">&amp;File (Датотека)</translation>
+<translation id="672208878794563299">Овај сајт ће вас поново питати следећи пут.</translation>
 <translation id="672213144943476270">Откључајте профил да бисте прегледали као гост.</translation>
 <translation id="6723661294526996303">Увези обележиваче и подешавања...</translation>
 <translation id="6723839937902243910">Енергија</translation>
@@ -6294,6 +6302,7 @@
 <translation id="8317671367883557781">Додај мрежну везу</translation>
 <translation id="8319414634934645341">Употреба проширеног кључа</translation>
 <translation id="8320459152843401447">Цео екран</translation>
+<translation id="8321837372750396788">Овим <ph name="DEVICE_TYPE" /> ће управљати <ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Овој страници је забрањен приступ микрофону.</translation>
 <translation id="8323167517179506834">Унесите URL</translation>
 <translation id="8324784016256120271">Сајтови могу да користе колачиће да би видели ваше активности прегледања на различитим сајтовима, на пример, за персонализацију огласа</translation>
@@ -6601,6 +6610,7 @@
 <translation id="8698269656364382265">Да бисте се вратили на претходни екран, превуците почев од леве стране.</translation>
 <translation id="869884720829132584">Мени апликација</translation>
 <translation id="869891660844655955">Датум истека</translation>
+<translation id="8702825062053163569"><ph name="DEVICE_TYPE" /> је закључан.</translation>
 <translation id="8703346390800944767">Прескочи оглас</translation>
 <translation id="8705331520020532516">Серијски број</translation>
 <translation id="8705580154597116082">Доступан је WiFi преко телефона</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 7772e19..9278656 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">தவிர்க்க, ESCAPE அழுத்துக (அதிகாரப்பூர்வமற்ற தொகுதிகள் மட்டும்).</translation>
 <translation id="1093457606523402488">தெரியும் நெட்வொர்க்குகள்:</translation>
 <translation id="1094607894174825014">படித்தல் அல்லது எழுதுதல் செயல்பாடு தவறான ஆஃப்செட்டுடன் கோரப்பட்ட சாதனம்: "<ph name="DEVICE_NAME" />".</translation>
+<translation id="1095761715416917775">உங்கள் ஒத்திசைவுத் தரவை எப்போதும் அணுகக்கூடியதாக அமைத்துக் கொள்ளுங்கள்</translation>
 <translation id="109647177154844434">Parallels Desktopபை நிறுவல் நீக்கினால் உங்கள் Windows படம் நீக்கப்படும். இதன் ஆப்ஸ், அமைப்புகள், தரவு ஆகியவை இதில் அடங்கும். தொடர விரும்புகிறீர்களா?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{ஒரு இணைப்பை}other{# இணைப்புகளை}}</translation>
 <translation id="1097658378307015415">உள்நுழைவதற்கு முன், <ph name="NETWORK_ID" /> என்ற நெட்வொர்க்கை இயக்க, கெஸ்டாக நுழைக</translation>
@@ -120,6 +121,7 @@
 <translation id="1128591060186966949">தேடல் இன்ஜினை மாற்று</translation>
 <translation id="1129850422003387628">ஆப்ஸை நிர்வகி</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - <ph name="GROUP_NAME" /> குழுவின் ஒரு பகுதி</translation>
+<translation id="1130712065489627903">உங்கள் மொபைலில் வரும் அறிவிப்புகளை இப்போது <ph name="DEVICE_TYPE" /> இல் பெற முடியும். <ph name="DEVICE_TYPE" /> இல் அறிவிப்புகளை நிராகரித்தால் அவை மொபைலிலும் நிராகரிக்கப்படும். உங்கள் மொபைல் தடைநீக்கப்பட்டு அருகில் இருப்பதையும் அதில் புளூடூத், வைஃபை இயக்கப்பட்டிருப்பதையும் உறுதிப்படுத்திக் கொள்ளவும்.</translation>
 <translation id="1134009406053225289">மறைநிலை சாளரத்தில் திற</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" />/<ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">தவறான பின் பல முறை உள்ளிடப்பட்டதால் பாதுகாப்பு விசை பூட்டப்பட்டது. திறப்பதற்கு அதை அகற்றி மீண்டும் செருகவும்.</translation>
@@ -143,6 +145,7 @@
 <translation id="1151917987301063366">சென்சார்களை அணுக, <ph name="HOST" />ஐ எப்போதும் அனுமதி</translation>
 <translation id="1153356358378277386">இணைத்த சாதனங்கள்</translation>
 <translation id="1153636665119721804">Google மேம்பட்ட பாதுகாப்புத் திட்டம்</translation>
+<translation id="1155816283571436363">உங்கள் மொபைலுடன் இணைக்கிறது</translation>
 <translation id="1161575384898972166">கிளையண்ட் சான்றிதழை ஏற்றுமதி செய்ய, தயவுசெய்து <ph name="TOKEN_NAME" /> இல் உள்நுழைக.</translation>
 <translation id="1163931534039071049">சட்டக ஆதாரங்களைக் &amp;காண்க</translation>
 <translation id="1164891049599601209">ஏமாற்றக்கூடிய தளத்தில் கடவுச்சொல்லை உள்ளிட்டுள்ளீர்கள்</translation>
@@ -257,6 +260,7 @@
 <translation id="1288300545283011870">பேச்சுப் பண்புகள்</translation>
 <translation id="1293264513303784526">USB-C சாதனம் (இடது போர்ட்)</translation>
 <translation id="1293556467332435079">Files</translation>
+<translation id="1294807885394205587">இதற்குச் சில நிமிடங்கள் ஆகக்கூடும். கண்டெய்னர் நிர்வாகியைத் தொடங்குகிறது.</translation>
 <translation id="1296911687402551044">தேர்வுசெய்த தாவலை பின் செய்யவும்</translation>
 <translation id="1297175357211070620">இலக்கு</translation>
 <translation id="1300415640239881824">பாதுகாக்கப்பட்ட உள்ளடக்கத்தின் மேம்பட்ட பிளேபேக்கின் தகுதிநிலையைத் தீர்மானிக்க, உங்கள் சாதனத்தின் அடையாளத்தை Google சரிபார்க்க வேண்டுமென <ph name="DOMAIN" /> விரும்புகிறது.</translation>
@@ -367,6 +371,15 @@
 <translation id="1420834118113404499">மீடியா உரிமங்கள்</translation>
 <translation id="1420920093772172268">இணைக்க, <ph name="TURN_ON_BLUETOOTH_LINK" />ஐ அனுமதிக்கவும்</translation>
 <translation id="1422159345171879700">பாதுகாப்பற்ற ஸ்கிரிப்ட்களை ஏற்று</translation>
+<translation id="1423716227250567100">இதனால்:
+          <ph name="LINE_BREAKS" />
+           • Chrome அமைப்புகளும் Chrome ஷார்ட்கட்டுகளும் மீட்டமைக்கப்படும்
+           <ph name="LINE_BREAK" />
+           • நீட்டிப்புகள் முடக்கப்படும்
+           <ph name="LINE_BREAK" />
+           • குக்கீகளும் பிற தற்காலிகத் தளத் தரவும் நீக்கப்படும்
+            <ph name="LINE_BREAKS" />
+           புக்மார்க்குகள், வரலாறு, சேமிக்கப்பட்ட கடவுச்சொற்கள் ஆகியவற்றில் எந்தப் பாதிப்பும் ஏற்படாது.</translation>
 <translation id="1426410128494586442">ஆம்</translation>
 <translation id="142655739075382478"><ph name="APP_NAME" /> தடுக்கப்பட்டுள்ளது</translation>
 <translation id="1426870617281699524">'மீண்டும் முயலவும்' என்பதைக் கிளிக் செய்து, உங்கள் கம்ப்யூட்டரில் தோன்றும் அறிவிப்பை ஏற்கவும்</translation>
@@ -794,6 +807,7 @@
 <translation id="1887597546629269384">மீண்டும் "Hey Google" எனக் கூறவும்</translation>
 <translation id="1887850431809612466">வன்பொருள் பதிப்பு</translation>
 <translation id="1890674179660343635">&lt;span&gt;ஐடி: &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">டிஸ்க் சேமிப்பிடம் மிகவும் குறைவாக உள்ளது. டிஸ்க் சேமிப்பிடத்தைக் காலியாக்கவும்.</translation>
 <translation id="189210018541388520">முழுத் திரையைத் திற</translation>
 <translation id="1892341345406963517">வணக்கம் <ph name="PARENT_NAME" /></translation>
 <translation id="189358972401248634">பிற மொழிகள்</translation>
@@ -916,6 +930,7 @@
 <translation id="2046702855113914483">ரேமன்</translation>
 <translation id="204706822916043810">விர்ச்சுவல் மெஷினைச் சரிபார்க்கிறது</translation>
 <translation id="2048182445208425546">உங்கள் நெட்வொர்க் ட்ராஃபிக்கை அணுகுதல்</translation>
+<translation id="2048554637254265991">கண்டெய்னர் நிர்வாகியைத் தொடங்குவதில் பிழை. மீண்டும் முயலவும்.</translation>
 <translation id="2048653237708779538">இச்செயலைச் செய்ய இயலாது</translation>
 <translation id="204914487372604757">ஷார்ட்கட்டை உருவாக்குக</translation>
 <translation id="2050339315714019657">செங்குத்து நிலை</translation>
@@ -1011,6 +1026,7 @@
 <translation id="2157474325782140681">கூடுதல் அம்சங்களைப் பெற இந்த Chromebookகுடன் இணங்குமாறு வடிவமைக்கப்பட்ட Dell டாக்கிங் ஸ்டேஷனைப் பயன்படுத்தவும்.</translation>
 <translation id="215753907730220065">முழுத்திரையிலிருந்து வெளியேறு</translation>
 <translation id="2157875535253991059">இந்தப் பக்கம் இப்போது முழுத் திரையில்.</translation>
+<translation id="2160589599612868242">உங்கள் மொபைலுக்கு வரும் அறிவிப்புகளை <ph name="DEVICE_TYPE" /> இல் பெறலாம்</translation>
 <translation id="216169395504480358">வைஃபை ஐச் சேர்...</translation>
 <translation id="2162155940152307086">நீங்கள் ஒத்திசைவு அமைப்புகளை விட்டு வெளியேறியவுடன் ஒத்திசைவு தொடங்கும்</translation>
 <translation id="2162838847352058695">பல கோப்புகளைத் தளங்கள் தானாகவே பதிவிறக்குவதைத் தடு</translation>
@@ -1019,6 +1035,7 @@
 <translation id="2165421703844373933">"Ok Google" என்று சொல்லி அசிஸ்டண்ட்டை அணுகலாம். பேட்டரியைச் சேமிக்க "ஆன் செய்க (பரிந்துரைக்கப்படுவது)" என்பதைத் தேர்ந்தெடுங்கள். உங்கள் சாதனம் செருகப்படும்போது அல்லது சார்ஜ் செய்யப்படும்போது மட்டுமே அசிஸ்டண்ட் பதிலளிக்கும்.</translation>
 <translation id="2166369534954157698">அகர முதல எழுத்தெல்லாம் ஆதிபகவன் முதற்றே உலகு</translation>
 <translation id="2169062631698640254">எப்படியேனும் உள்நுழை</translation>
+<translation id="2170054054876170358">உங்கள் மொபைல் தடைநீக்கப்பட்டு அருகில் இருப்பதையும் அதில் புளூடூத், வைஃபை இயக்கப்பட்டிருப்பதையும் உறுதிப்படுத்திக் கொள்ளவும்.</translation>
 <translation id="2172784515318616985">தொடர்க</translation>
 <translation id="2173302385160625112">உங்கள் இணைய இணைப்பைச் சரிபார்க்கவும்</translation>
 <translation id="2173801458090845390">இந்தச் சாதனத்தில் கோரிக்கை ஐடியைச் சேர்</translation>
@@ -1114,6 +1131,7 @@
 <translation id="2276503375879033601">மேலும் பயன்பாடுகளைச் சேர்க்கவும்</translation>
 <translation id="2277255602909579701">எல்லா குக்கீகளும் தளத்தின் தரவும்</translation>
 <translation id="2278562042389100163">உலாவி சாளரத்தைத் திற</translation>
+<translation id="2278668501808246459">கண்டெய்னர் நிர்வாகியைத் தொடங்குகிறது</translation>
 <translation id="2280486287150724112">வலது ஓரஇடம்</translation>
 <translation id="2282146716419988068">GPU செயல்முறை</translation>
 <translation id="2282155092769082568">தானியங்கு உள்ளமைவு URL:</translation>
@@ -1216,12 +1234,14 @@
 <translation id="2395616325548404795">உங்கள் <ph name="DEVICE_TYPE" /> சாதனம் நிறுவன மேலாண்மைக்குப் பதிவுசெய்யப்பட்டது, ஆனால் அதன் பண்பையும் இருப்பிடத் தகவலையும் அனுப்ப முடியவில்லை. இந்தச் சாதனத்திற்கான இந்தத் தகவலை உங்கள் Admin console இலிருந்து நீங்களாகவே உள்ளிடவும்.</translation>
 <translation id="2396387085693598316">"<ph name="EXTENSION_NAME" />" ஐ உங்கள் நிர்வாகி தடுத்துள்ளார்</translation>
 <translation id="2396783860772170191">4 இலக்கப் பின்னை உள்ளிடவும் (0000-9999)</translation>
+<translation id="2399699884460174994">அறிவிப்புகள் இயக்கப்பட்டுள்ளன</translation>
 <translation id="2399939490305346086">பாதுகாப்பு விசைக்கான உள்நுழைவுத் தகவல்கள்</translation>
 <translation id="2400664245143453337">உடனடியாகப் புதுப்பிக்கப்பட வேண்டும்</translation>
 <translation id="2408018932941436077">கார்டு விவரங்களைச் சேமிக்கிறது</translation>
 <translation id="2408955596600435184">பின்னை உள்ளிடவும்</translation>
 <translation id="241082044617551207">அறியப்படாத செருகுநிரல்</translation>
 <translation id="2412593942846481727">புதுப்பிப்பு உள்ளது</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">கீபோர்டு செயல்பாட்டு விசைகள்</translation>
 <translation id="241727068219398187"><ph name="TIME" /> அன்றைக்கான உங்கள் Google கடவுச்சொல் மூலம் தரவு என்கிரிப்ட் செய்யப்பட்டது.
           இதில் Google Payயிலுள்ள கட்டண முறைகளும் முகவரிகளும் சேர்க்கப்படவில்லை.</translation>
@@ -1346,6 +1366,7 @@
 <translation id="2538084450874617176">இந்த <ph name="DEVICE_TYPE" /> சாதனத்தைப் பயன்படுத்துவது யார்?</translation>
 <translation id="2538361623464451692">ஒத்திசைவு முடக்கப்பட்டது</translation>
 <translation id="2540449034743108469">நீட்டிப்பு நடவடிக்கைகளை கவனிக்க "தொடங்கு" என்பதை அழுத்தவும்</translation>
+<translation id="2540651571961486573">ஏதோ தவறாகிவிட்டது. பிழைக் குறியீடு: <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">முழுத்திரை அலைபரப்பலை மேம்படுத்தவா?</translation>
 <translation id="2541706104884128042">புதிய உறக்க நேரம் அமைக்கப்பட்டது</translation>
 <translation id="2542050502251273923">நெட்வொர்க் இணைப்பு நிர்வாகி மற்றும் ff_debug என்பதைப் பயன்படுத்தும் பிற சேவைகளின் பிழைதிருத்த நிலையை அமைக்கும்.</translation>
@@ -1393,6 +1414,7 @@
 <translation id="2607101320794533334">தலைப்பு பொதுவானவை தகவல்</translation>
 <translation id="2607968157341167679">ஆல்பங்கள் எதுவுமில்லை. <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" />ஸில் ஓர் ஆல்பத்தை உருவாக்குங்கள்.</translation>
 <translation id="2609896558069604090">குறுக்குவழிகளை உருவாக்கு...</translation>
+<translation id="2609980095400624569">இணைப்பை ஏற்படுத்த இயலவில்லை</translation>
 <translation id="2610157865375787051">உறக்கநிலையிலிரு</translation>
 <translation id="2610260699262139870">A&amp;ctual Size</translation>
 <translation id="2610780100389066815">Microsoft Trust List Signing</translation>
@@ -1641,6 +1663,7 @@
 <translation id="2885729872133513017">சேவையகத்தின் பதிலை டிகோட் செய்யும்போது சிக்கல் ஏற்பட்டது.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">இதைக் கொண்டு இணைப்பைத் திற...</translation>
+<translation id="2889481634493693121">உங்கள் மொபைலில் அறிவிப்புகளை இயக்கவும்</translation>
 <translation id="2889925978073739256">சாண்ட்பாக்ஸ் செய்யப்படாத செருகுநிரல்களைத் தொடர்ந்து தடு</translation>
 <translation id="2893168226686371498">இயல்புநிலை உலாவி</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{ஒரு உரையை}other{# உரைகளை}}</translation>
@@ -1733,6 +1756,7 @@
 <translation id="3000461861112256445">மோனோ ஆடியோ</translation>
 <translation id="3001144475369593262">பிள்ளை கணக்குகள்</translation>
 <translation id="3003144360685731741">விருப்ப நெட்வொர்க்குகள்</translation>
+<translation id="3003189754374775221">நெட்வொர்க்: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />%, இணை</translation>
 <translation id="3003623123441819449">CSS தற்காலிக சேமிப்பு</translation>
 <translation id="3003828226041301643">சாதனத்தை டொமைனுடன் இணைக்க முடியவில்லை. சாதனங்களைச் சேர்ப்பதற்கு உங்களுக்குச் சிறப்புரிமைகள் இருப்பதை உறுதிசெய்ய, உங்கள் கணக்கைச் சரிபார்க்கவும்.</translation>
 <translation id="3003967365858406397">உங்கள் <ph name="PHONE_NAME" /> தனிப்பட்ட வைஃபை இணைப்பை உருவாக்கும்.</translation>
@@ -1784,6 +1808,7 @@
 <translation id="3058498974290601450">அமைப்புகளில் ஒத்திசைவை எந்த நேரத்திலும் இயக்கலாம்</translation>
 <translation id="3060379269883947824">பேசும் திரையை இயக்கு</translation>
 <translation id="3060952009917586498">சாதனத்தின் மொழியை மாற்றும். தற்போதைய மொழி: <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">உங்கள் மொபைலுடன் இணைப்பை ஏற்படுத்த இயலவில்லை. உங்கள் மொபைல் தடைநீக்கப்பட்டு அருகில் இருப்பதையும் அதில் புளூடூத், வைஃபை இயக்கப்பட்டிருப்பதையும் உறுதிப்படுத்திக் கொள்ளவும்.</translation>
 <translation id="3065041951436100775">தாவல் நிறுத்தப்பட்டது பற்றிய கருத்து.</translation>
 <translation id="306535478112428611">உங்கள் சாதனத்தில் உள்ள கோப்புகளையும் கோப்புறைகளையும் மாற்றுவதற்கு அனுமதி இல்லாத தளங்கள்</translation>
 <translation id="3065522099314259755">கீபோர்டு ரிப்பீட் லாடென்சி</translation>
@@ -1840,6 +1865,7 @@
 <translation id="3129215702932019810">ஆப்ஸைத் தொடங்குவதில் பிழை</translation>
 <translation id="3130528281680948470">உங்கள் சாதனம் மீட்டமைக்கப்படுவதோடு, எல்லா பயனர் கணக்குகளும் அகத் தரவும் அகற்றப்படும். இதைச் செயல்தவிர்க்க முடியாது.</translation>
 <translation id="313205617302240621">கடவுச்சொல்லை மறந்துவிட்டீர்களா?</translation>
+<translation id="3132277757485842847">உங்கள் மொபைலுடன் இணைப்பில் இருக்க முடியவில்லை. உங்கள் மொபைல் தடைநீக்கப்பட்டு அருகில் இருப்பதையும் அதில் புளூடூத், வைஃபை இயக்கப்பட்டிருப்பதையும் உறுதிப்படுத்திக் கொள்ளவும்.</translation>
 <translation id="3132996321662585180">தினமும் புதுப்பி</translation>
 <translation id="313963229645891001">பதிவிறக்குகிறது, <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">இயல்பு மஞ்சள்நிற அவதார்</translation>
@@ -2883,6 +2909,7 @@
 <translation id="4378551569595875038">இணைக்கிறது...</translation>
 <translation id="4378556263712303865">சாதனக் கோரிக்கை</translation>
 <translation id="4379281552162875326">"<ph name="APP_NAME" />" ஐ நிறுவல் நீக்கவா?</translation>
+<translation id="4380245540200674032">நெட்வொர்க்: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />%, உங்கள் நிர்வாகி நிர்வகிக்கிறார், விவரங்கள்</translation>
 <translation id="4380648069038809855">முழுத்திரையில் காட்டப்படுகிறது</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" />, மேலும் ஒரு கணக்கு}other{<ph name="EMAIL" />, மேலும் <ph name="EXTRA_ACCOUNTS" /> கணக்குகள்}}</translation>
 <translation id="4384312707950789900">விருப்பப்பட்டியலில் சேர்</translation>
@@ -3303,6 +3330,7 @@
 <translation id="4880827082731008257">தேடல் வரலாறு</translation>
 <translation id="4881695831933465202">திற</translation>
 <translation id="4882312758060467256">இந்தத் தளத்திற்கு அணுகலைப் பெற்றுள்ளது</translation>
+<translation id="4882670371033027418"><ph name="DEVICE_TYPE" /> சாதனத்தில் விரைவாகத் தடைநீக்க உங்கள் கைரேகையை அமைக்கவும்</translation>
 <translation id="4882831918239250449">தேடல், விளம்பரங்கள் மற்றும் பலவற்றைத் தனிப்பயனாக்க உங்கள் உலாவல் வரலாறு எப்படிப் பயன்படுத்தப்படுகிறது என்பதைக் கட்டுப்படுத்துதல்</translation>
 <translation id="4882919381756638075">வழக்கமாக வீடியோ அரட்டை போன்ற தகவல்தொடர்பு அம்சங்களுக்காக மைக்ரோஃபோனைத் தளங்கள் பயன்படுத்தும்</translation>
 <translation id="4883436287898674711">எல்லா <ph name="WEBSITE_1" /> தளங்களும்</translation>
@@ -3327,6 +3355,7 @@
 <translation id="4902546322522096650">நெட்வொர்க்: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />%, இணை</translation>
 <translation id="49027928311173603">சேவையகத்திலிருந்து பதிவிறக்கிய கொள்கை தவறானது: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4906490889887219338">நெட்வொர்க் கோப்புப் பகிர்வுகளை அமைத்தல் அல்லது நிர்வகித்தல். <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">நெட்வொர்க்: <ph name="NETWORK_INDEX" /> / <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />%, மொபைல் பேட்டரி <ph name="BATTERY_STATUS" />%, விவரங்கள்</translation>
 <translation id="4907161631261076876">பொதுவாக இந்தக் கோப்புப் பதிவிறக்கப்படுவதில்லை, மேலும் ஆபத்தானதாக இருக்கக்கூடும்.</translation>
 <translation id="4907306957610201395">அனுமதி வகை</translation>
 <translation id="4908811072292128752">ஒரே நேரத்தில் இரண்டு தளங்களைப் பார்வையிட, புதிய தாவலைத் திறக்கவும்</translation>
@@ -3770,6 +3799,7 @@
 <translation id="5457991019809708398">ஆன், ரோமிங்கில் இல்லை</translation>
 <translation id="5458214261780477893">ட்வோரக்</translation>
 <translation id="5458998536542739734">லாக் ஸ்கிரீன் குறிப்புகள்</translation>
+<translation id="5461050611724244538">உங்கள் மொபைலுடனான இணைப்பு துண்டிக்கப்பட்டது</translation>
 <translation id="5463231940765244860">உள்ளிடுக</translation>
 <translation id="5463275305984126951"><ph name="LOCATION" /> இன் பொருளடக்கம்</translation>
 <translation id="5463856536939868464">மறைந்த புக்மார்க்குகளைக் கொண்ட மெனு</translation>
@@ -4261,6 +4291,7 @@
 <translation id="6031600495088157824">கருவிப்பட்டியில் உள்ள உள்ளீட்டு விருப்பங்கள்</translation>
 <translation id="6032715498678347852">இந்தத் தளத்திற்கான அணுகலை நீட்டிப்பிற்கு வழங்க அதைக் கிளிக் செய்யவும்.</translation>
 <translation id="6032912588568283682">கோப்பு முறைமை</translation>
+<translation id="603539183851330738">தானாகத் திருத்தியதைச் செயல்தவிர்க்கும் பட்டன். <ph name="TYPED_WORD" /> என மாற்றியமைக்கும்.  இயக்க Enter விசையையும் நிராகரிக்க எஸ்கேப் விசையையும் அழுத்துங்கள்.</translation>
 <translation id="6035517790085323771">யாரெல்லாம் உங்கள் சாதனத்துடன் பகிர முடியும்?</translation>
 <translation id="6038929619733116134">குறுக்கிடும் அல்லது தவறாக வழிநடத்தும் விளம்பரங்களை தளம் காட்டினால், அவற்றைத் தடுக்கும்</translation>
 <translation id="6039651071822577588">நெட்வொர்க் பண்பு அகராதி தவறான வடிவமைப்பில் உள்ளது</translation>
@@ -4363,6 +4394,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />, நெட்வொர்க் இல்லை</translation>
 <translation id="6141988275892716286">பதிவிறக்கத்தை உறுதிப்படுத்து</translation>
 <translation id="6143186082490678276">உதவிப் பெறுக</translation>
+<translation id="6143366292569327983">பக்கத்தை மொழிபெயர்ப்பதற்கான மொழியைத் தேர்வுசெய்யலாம்</translation>
 <translation id="6144938890088808325">Chromebookகளை இன்னும் சிறப்பானதாக்க உதவவும்</translation>
 <translation id="6147020289383635445">அச்சு மாதிரிக்காட்சி தோல்வி.</translation>
 <translation id="6148576794665275391">இப்போது திறக்கவும்</translation>
@@ -4399,6 +4431,7 @@
 <translation id="6185132558746749656">சாதன இருப்பிடம்</translation>
 <translation id="6186394437969115158">வழக்கமாக உள்ளடக்கத்தையோ சேவைகளையோ இலவசமாக வழங்குவதற்காக விளம்பரங்களைத் தளங்கள் காட்டும். ஆனால் குறுக்கிடும் அல்லது தவறாக வழிநடத்தும் விளம்பரங்களைச் சில தளங்கள் காட்டும்.</translation>
 <translation id="6195693561221576702">இந்தச் சாதனத்தை ஆஃப்லைன் டெமோ பயன்முறையில் அமைக்க முடியாது.</translation>
+<translation id="6195724942939841102">மீட்டெடுக்க வேண்டாம்</translation>
 <translation id="6196640612572343990">மூன்றாம் தரப்புக் குக்கீகளைத் தடு</translation>
 <translation id="6196854373336333322">"<ph name="EXTENSION_NAME" />" நீட்டிப்பு உங்கள் ப்ராக்ஸி அமைப்புகளைக் கட்டுப்படுத்துகிறது, அதாவது நீங்கள் ஆன்லைனில் செய்யும் எல்லாவற்றையும் அதனால் மாற்ற முடியும், தடுக்க முடியும் அல்லது அறிந்து கொள்ள முடியும். இது ஏன் நடந்தது எனத் தெரியவில்லை எனில், உங்களுக்கு இந்த தேவைப்படாதது என்று அர்த்தம்.</translation>
 <translation id="6198102561359457428">வெளியேறி பிறகு மீண்டும் உள்நுழைக...</translation>
@@ -4438,6 +4471,7 @@
 <translation id="6238767809035845642">மற்றொரு சாதனத்திலிருந்து உரை பகிரப்பட்டுள்ளது</translation>
 <translation id="6238923052227198598">சமீபத்திய குறிப்பைப் லாக் ஸ்கிரீனில் வைத்திரு</translation>
 <translation id="6239558157302047471">&amp;ஃபிரேமை மீண்டும் ஏற்று</translation>
+<translation id="6240821072888636753">ஒவ்வொரு முறையும் கேள்</translation>
 <translation id="6241530762627360640">உங்கள் கம்ப்யூட்டருடன் இணைக்கப்பட்ட புளூடூத் சாதனங்கள் பற்றிய தகவலை அணுகுதலும் அருகிலுள்ள புளூடூத் சாதனங்களைக் கண்டறிதலும்.</translation>
 <translation id="6241844896329831164">அணுகல் தேவையில்லை</translation>
 <translation id="6242574558232861452">உங்கள் நிறுவனத்தின் பாதுகாப்புக் கொள்கைகளுடன் இந்தக் கோப்பு இணங்குகிறதா என்பதைச் சரிபார்க்கிறது.</translation>
@@ -4470,6 +4504,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> இல் திற</translation>
 <translation id="6270391203985052864">அறிவிப்புகளை அனுப்புவதற்கான அனுமதியைத் தளங்களால் கோர முடியும்</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />சாதனம் மற்றும் ஆப்ஸ் தகவல்<ph name="END_LINK1" />, <ph name="BEGIN_LINK2" />அளவீடுகள்<ph name="END_LINK2" /> ஆகியவற்றை அனுப்பு</translation>
+<translation id="6271348838875430303">திருத்தம் செயல் தவிர்க்கப்பட்டது</translation>
 <translation id="6272643420381259437">செருகுநிரலைப் பதிவிறக்கும் போது, பிழை (<ph name="ERROR" />) ஏற்பட்டது</translation>
 <translation id="6273677812470008672">தரம்</translation>
 <translation id="6276210637549544171"><ph name="PROXY_SERVER" /> என்ற ப்ராக்ஸியைப் பயன்படுத்த பயனர்பெயரும் கடவுச்சொல்லும் அவசியம்.</translation>
@@ -4688,6 +4723,7 @@
 <translation id="6532527800157340614">உங்கள் அணுகல் டோக்கனை மீட்டெடுக்க இயலாததால் உள்நுழைய முடியவில்லை. நெட்வொர்க் இணைப்பைச் சரிபார்த்துவிட்டு மீண்டும் முயலவும்.</translation>
 <translation id="6532663472409656417">நிறுவனத்தால் பதிவுசெய்யப்பட்டது</translation>
 <translation id="6535331821390304775">தொடர்புடைய ஆப்ஸில் இந்த வகை இணைப்புகளைத் திறக்க எப்போதும் <ph name="ORIGIN" /> ஐ அனுமதி</translation>
+<translation id="653659894138286600">ஆவணங்களையும் படங்களையும் ஸ்கேன் செய்யலாம்</translation>
 <translation id="6537613839935722475">எழுத்துகள், எண்கள், இடைக்கோடுகள் (-) ஆகியவற்றைப் பெயரில் பயன்படுத்தலாம்</translation>
 <translation id="6537880577641744343">கமாண்டர்</translation>
 <translation id="6538635548667167211">தற்போது டேட்டா உபயோக அமைப்பு ‘டேட்டா’ என அமைக்கப்பட்டுள்ளது</translation>
@@ -4946,6 +4982,7 @@
 <translation id="6853388645642883916">புதுப்பிப்பான் செயலில் இல்லை</translation>
 <translation id="68541483639528434">பிற தாவல்களை மூடுக</translation>
 <translation id="6855892664589459354">Crostini காப்புப் பிரதி மற்றும் மீட்டெடுப்பு</translation>
+<translation id="6856459657722366306">நெட்வொர்க்: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />%, விவரங்கள்</translation>
 <translation id="6856623341093082836">டச்ஸ்கிரீனை அமைத்து, அதன் துல்லியத்தைச் சரிசெய்க</translation>
 <translation id="6857699260879628349">உள்ளமைவுத் தகவலைப் பெறுக</translation>
 <translation id="6860097299815761905">ப்ராக்ஸி அமைப்புகள்...</translation>
@@ -5085,6 +5122,7 @@
 <translation id="7005496624875927304">கூடுதல் அனுமதிகள்</translation>
 <translation id="7005812687360380971">தோல்வியடைந்தது</translation>
 <translation id="7005848115657603926">தவறான பக்க வரம்பு, <ph name="EXAMPLE_PAGE_RANGE" /> ஐப் பயன்படுத்தவும்</translation>
+<translation id="700651317925502808">அமைப்புகளை மீட்டமைக்க வேண்டுமா?</translation>
 <translation id="7006634003215061422">கீழ் ஓரம்</translation>
 <translation id="7007648447224463482">அனைத்தையும் புதிய சாளரத்தில் திற</translation>
 <translation id="7009709314043432820">உங்கள் கேமராவை <ph name="APP_NAME" /> பயன்படுத்துகிறது</translation>
@@ -5113,6 +5151,7 @@
 <translation id="7044124535091449260">தள அணுகலைப் பற்றி மேலும் அறிக</translation>
 <translation id="7044606776288350625">தரவை ஒத்திசைத்தல்</translation>
 <translation id="7047059339731138197">பின்புலத்தைத் தேர்வுசெய்யுங்கள்</translation>
+<translation id="7048024426273850086">நெட்வொர்க்: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />%, மொபைல் பேட்டரி: <ph name="BATTERY_STATUS" />%, இணை</translation>
 <translation id="7049293980323620022">கோப்பை வைத்திருக்கவா?</translation>
 <translation id="7051943809462976355">மவுஸைத் தேடுகிறது...</translation>
 <translation id="7052237160939977163">செயல்திறன் தடமறிதல் தரவை அனுப்பு</translation>
@@ -5251,6 +5290,7 @@
 <translation id="7213903639823314449">முகவரிப் பட்டியில் பயன்படுத்தப்படும் தேடல் இன்ஜின்</translation>
 <translation id="7216409898977639127">செல்லுலார் வழங்குநர்</translation>
 <translation id="7216595297012131718">உங்கள் விருப்பத்தேர்வின் அடிப்படையில் மொழிகளை வரிசைப்படுத்தவும்</translation>
+<translation id="7219473482981809164">நீங்கள் பதிவிறக்கிக் கொள்ளப் பல்வேறு சுயவிவரங்கள் உள்ளன. தொடர்வதற்கு முன் பதிவிறக்க விரும்புபவற்றைத் தேர்ந்தெடுக்கவும்.</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" எனும் கோப்புறைக்குக் கடவுச்சொற்களை ஏற்ற முடியவில்லை</translation>
 <translation id="722055596168483966">Google சேவைகளைப் பிரத்தியேகமாக்கு</translation>
 <translation id="722099540765702221">சார்ஜிங் மூலம்</translation>
@@ -5532,6 +5572,7 @@
 <translation id="7556033326131260574">Smart Lockகால் உங்கள் கணக்கைச் சரிபார்க்க முடியவில்லை. நுழைவதற்கு உங்கள் கடவுச்சொல்லை உள்ளிடவும்.</translation>
 <translation id="7556242789364317684">துரதிருஷ்டவசமாக, <ph name="SHORT_PRODUCT_NAME" /> ஆல் உங்கள் அமைப்புகளை மீட்க முடியவில்லை. பிழையைச் சரிசெய்வதற்கு, உங்கள் சாதனத்தை <ph name="SHORT_PRODUCT_NAME" /> பவர்வாஷ் மூலம் மீட்டமைக்க வேண்டும்.</translation>
 <translation id="7557194624273628371">Linux போர்ட் அனுப்புதல்</translation>
+<translation id="7559269329306630685">உங்கள் கைரேகைத் தரவு பாதுகாப்பாகச் சேமிக்கப்பட்டுள்ளது, <ph name="DEVICE_TYPE" /> சாதனத்தை விட்டு ஒருபோதும் வெளியே செல்லாது.</translation>
 <translation id="7559719679815339381">காத்திருக்கவும்....கியாஸ்க் ஆப்ஸ் புதுப்பிக்கப்படுகிறது. USB சாதனத்தை அகற்றாதீர்கள்.</translation>
 <translation id="7561196759112975576">எப்போதும்</translation>
 <translation id="756445078718366910">உலாவி சாளரத்தைத் திற</translation>
@@ -5979,6 +6020,7 @@
 <translation id="8045923671629973368">ஆப்ஸ் ஐடி அல்லது இணைய அங்காடி URLஐ உள்ளிடவும்</translation>
 <translation id="8047242494569930800">Google கணக்கிற்கு நகர்த்து</translation>
 <translation id="804786196054284061">இறுதிப் பயனர் உரிம ஒப்பந்தம்</translation>
+<translation id="8048977114738515028">இந்தச் சுயவிவரத்தை நேரடியாக அணுக உங்கள் சாதனத்தில் டெஸ்க்டாப் ஷார்ட்கட் ஒன்றை உருவாக்கவும்</translation>
 <translation id="8049705080247101012">"<ph name="EXTENSION_NAME" />"ஐத் தீங்கானது என Google கொடியிட்டுள்ளது, மேலும் நிறுவல் தடுக்கப்பட்டுள்ளது</translation>
 <translation id="8049948037269924837">டச்பேட் பின்னோக்கிய ஸ்க்ரோலிங்</translation>
 <translation id="8050038245906040378">Microsoft Commercial Code Signing</translation>
@@ -6039,6 +6081,7 @@
 <translation id="810728361871746125">திரையின் தெளிவுத்திறன்</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{மூன்றாம் தரப்பின் குக்கீகள் எதுவும் இல்லை}=1{1 மூன்றாம் தரப்பின் குக்கீ தடுக்கப்பட்டுள்ளது}other{# மூன்றாம் தரப்பின் குக்கீகள் தடுக்கப்பட்டுள்ளன}}</translation>
 <translation id="810875025413331850">அருகில் சாதனங்கள் இல்லை.</translation>
+<translation id="8109109153262930486">இயல்பு அவதார்</translation>
 <translation id="8110489095782891123">தொடர்புப் பட்டியலைப் பதிவிறக்குகிறது...</translation>
 <translation id="8113476325385351118">MIDI சாதனங்களுக்கான முழுக் கட்டுப்பாட்டையும் இந்தத் தளம் பெறுவதைத் தொடர்ந்து தடு</translation>
 <translation id="8114199541033039755">டேப்லெட் பயன்முறையில் பட்டன்களைப் பயன்படுத்தி முகப்பிற்குச் செல்லலாம், பின்செல்லலாம், ஆப்ஸுக்கு இடையே மாறலாம். ChromeVox அல்லது தானியங்கு கிளிக்குகள் இயக்கத்தில் இருக்கும்போது இயக்கப்படும்.</translation>
@@ -6409,6 +6452,7 @@
 <translation id="8569682776816196752">எந்த இலக்குகளும் கண்டறியப்படவில்லை</translation>
 <translation id="8571213806525832805">கடந்த 4 வாரங்கள்</translation>
 <translation id="8571687764447439720">Kerberos டிக்கெட்டைச் சேர்த்தல்</translation>
+<translation id="8571814292654854151">உங்கள் சுயவிவரத்திற்குப் பெயரிடுங்கள்</translation>
 <translation id="8574990355410201600"><ph name="HOST" /> இல் எப்போதும் ஒலியை அனுமதி</translation>
 <translation id="8575286410928791436">வெளியேற, <ph name="KEY_EQUIVALENT" />ஐ அழுத்திப் பிடித்திருக்கவும்</translation>
 <translation id="8576249514688522074">ஆரம்பிக்கப்படவில்லை</translation>
@@ -6563,6 +6607,7 @@
 <translation id="8737914367566358838">பக்கத்தை மொழிபெயர்ப்பதற்கான மொழியைத் தேர்வுசெய்யலாம்</translation>
 <translation id="8740247629089392745"><ph name="SUPERVISED_USER_NAME" /> பயன்படுத்துவதற்காக இந்த Chromebook சாதனத்தை அவரிடம் வழங்கலாம். கிட்டத்தட்ட அமைத்துவிட்டீர்கள். இப்போது அவர் பயன்படுத்தத் தொடங்கலாம்.</translation>
 <translation id="8742998548129056176">உங்கள் சாதனம் மற்றும் இதை நீங்கள் பயன்படுத்தும் விதம் (பேட்டரியின் அளவு, சிஸ்டம் மற்றும் ஆப்ஸ் செயல்பாடு மற்றும் பிழைகள் போன்றவை) குறித்த பொதுவான தகவல் இது. Androidடை மேம்படுத்த இந்தத் தரவு பயன்படுத்தப்படும். மேலும், Google ஆப்ஸுக்கும் Android டெவலப்பர்கள் போன்ற கூட்டாளர்கள் தங்களின் ஆப்ஸ் மற்றும் தயாரிப்புகளைச் சிறப்பாக அமைக்கவும் ஒருங்கிணைக்கப்பட்ட சில தகவல்களும் உதவும்.</translation>
+<translation id="8743164338060742337">நெட்வொர்க்: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />%, உங்கள் நிர்வாகி நிர்வகிக்கிறார், இணை</translation>
 <translation id="8743390665131937741">முழுத்திரைப் பெரிதாக்கியின் அளவை மாற்றுவதற்கான நிலை:</translation>
 <translation id="8743864605301774756">புதுப்பித்தது: 1ம முன்பு</translation>
 <translation id="8746654918629346731">ஏற்கனவே "<ph name="EXTENSION_NAME" />" ஐக் கோரியுள்ளீர்கள்</translation>
@@ -6659,6 +6704,7 @@
 <translation id="8830796635868321089">தற்போதைய பிராக்சி அமைப்புகளைப் பயன்படுத்துவதில் புதுப்பிப்பு சரிபார்ப்பு தோல்வியடைந்தது. உங்கள் <ph name="PROXY_SETTINGS_LINK_START" />பிராக்சி அமைப்புகளைச்<ph name="PROXY_SETTINGS_LINK_END" /> சரிசெய்யவும்.</translation>
 <translation id="8831140208248705279">உங்கள் <ph name="DEVICE_TYPE" /> சாதனத்தையும் Android மொபைலையும் இணைத்தால் மேலும் பல வசதிகளைப் பெறலாம். அவற்றை இணைப்பதால் உங்கள் கம்ப்யூட்டரிலிருந்து மெசேஜ் அனுப்பலாம், இணைய இணைப்பைப் பகிரலாம், உங்கள் மொபைல் மூலம் <ph name="DEVICE_TYPE" /> சாதனத்தைத் திறக்கலாம்.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">நெட்வொர்க் உள்ளமைவைக் கட்டுப்படுத்துவது: <ph name="USER_EMAIL" />.</translation>
+<translation id="8835786707922974220">நீங்கள் சேமித்துள்ள கடவுச்சொற்களை எப்போது வேண்டுமானாலும் அணுகும்படி அமைத்துக் கொள்ளுங்கள்</translation>
 <translation id="8838601485495657486">ஒளிபுகாத்தன்மை</translation>
 <translation id="8838770651474809439">ஹம்பர்கர்</translation>
 <translation id="883911313571074303">படத்தைக் குறிப்பிடு</translation>
@@ -6674,6 +6720,7 @@
 <translation id="885246833287407341">API செயல்பாட்டுத் தருமதிப்புகள்</translation>
 <translation id="8853586775156634952">இந்தக் கார்டு இச்சாதனத்தில் மட்டும் சேமிக்கப்படும்</translation>
 <translation id="8855977033756560989">இந்த Chromebook எண்டர்பிரைஸ் சாதனம் Chrome எண்டர்பிரைஸ் மேம்படுத்தலுடன் தொகுப்பாக வருகிறது. நிறுவன அம்சங்களின் பலன்களைப் பெறுவதற்கு Google நிர்வாகிக் கணக்குடன் இந்தச் சாதனத்தைப் பதிவு செய்யுங்கள்.</translation>
+<translation id="8856028055086294840">ஆப்ஸையும் பக்கங்களையும் மீட்டெடுத்தல்</translation>
 <translation id="885701979325669005">சேமிப்பிடம்</translation>
 <translation id="8859057652521303089">உங்கள் மொழியைத் தேர்ந்தெடுங்கள்:</translation>
 <translation id="8859174528519900719">துணைச்சட்டகம்: <ph name="SUBFRAME_SITE" /></translation>
@@ -7035,6 +7082,7 @@
 <translation id="971774202801778802">புத்தகக்குறி URL</translation>
 <translation id="973473557718930265">வெளியேறு</translation>
 <translation id="975893173032473675">இதற்கு மொழிபெயர்க்கவும்:</translation>
+<translation id="976499800099896273"><ph name="TYPED_WORD" /> என டைப் செய்யப்பட்ட சொல் <ph name="CORRECTED_WORD" /> எனத் தானாகத் திருத்தப்பட்டதைச் செயல்தவிர்க்கும் உரையாடல்.  ஏற்றுக்கொள்ள மேல்நோக்கிய அம்புக்குறியையும் நிராகரிக்க எஸ்கேப் விசையையும் அழுத்துங்கள்.</translation>
 <translation id="978146274692397928">முழுமையான தொடக்க எழுத்துக்குறி அகலம்</translation>
 <translation id="97905529126098460">ரத்துசெய்யப்பட்டவுடன் இந்தச் சாளரம் மூடப்படும்.</translation>
 <translation id="980731642137034229">செயல் மெனு பட்டன்</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 21b9257..ed91dba 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -433,6 +433,7 @@
 <translation id="1475502736924165259">మీకు ఫైల్‌లో మరే ఇతర వర్గంలోనూ సరిపోని ప్రమాణపత్రాలు ఉన్నాయి</translation>
 <translation id="1476088332184200792">మీ పరికరానికి కాపీ చేయండి</translation>
 <translation id="1476607407192946488">&amp;భాష సెట్టింగ్‌లు</translation>
+<translation id="1477446329585670721">మీ స్మార్ట్ కార్డ్‌ను ఇన్‌సర్ట్ చేసి ఉంచమని <ph name="DOMAIN" /> మిమ్మల్ని కోరుతుంది.</translation>
 <translation id="1478340334823509079">వివరాలు: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">ఇన్‌స్టాలేషన్ ప్రారంభించబడలేదు</translation>
 <translation id="1481537595330271162">డిస్క్ పరిమాణాన్ని మార్చడంలో ఎర్రర్ ఏర్పడింది</translation>
@@ -2033,6 +2034,7 @@
 <translation id="3320630259304269485">సురక్షిత బ్రౌజింగ్ (హానికరమైన సైట్‌ల నుండి రక్షణ), ఇతర భద్రతా సెట్టింగ్‌లు</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{ఈ డేటా, గోప్యమైన లేదా హానికరమైన కంటెంట్‌ను కలిగి ఉంది. ఈ కంటెంట్‌ను తీసివేసి, మళ్లీ ట్రై చేయండి.}=1{ఈ ఫైల్, గోప్యమైన లేదా హానికరమైన కంటెంట్‌ను కలిగి ఉంది. ఈ కంటెంట్‌ను తీసివేసి, మళ్లీ ట్రై చేయండి.}other{ఈ ఫైల్స్, గోప్యమైన లేదా హానికరమైన కంటెంట్‌ను కలిగి ఉన్నాయి. ఈ కంటెంట్‌ను తీసివేసి, మళ్లీ ట్రై చేయండి.}}</translation>
 <translation id="3323521181261657960">బోనస్! మీరు మరింత స్క్రీన్ వినియోగ సమయం పొందారు</translation>
+<translation id="3325804108816646710">అందుబాటులో ఉన్న ప్రొఫైల్‌ల కోసం వెతుకుతోంది...</translation>
 <translation id="3325910708063135066">Mac సిస్టమ్ ప్రాధాన్యతలలో కెమెరా మరియు మైక్రోఫోన్ ఆపివేయబడతాయి</translation>
 <translation id="3327050066667856415">Chromebooks భద్రత కోసం రూపొందించబడ్డాయి. మీ పరికరం ఆటోమేటిక్‌గా మాల్‌వేర్ నుండి రక్షించబడుతుంది - అదనపు సాఫ్ట్‌వేర్ అవసరం లేదు.</translation>
 <translation id="3328489342742826322">బ్యాకప్ నుండి పునరుద్ధరించడం వలన మీ Linux ఫైల్‌ల ఫోల్డర్‌లో ప్రస్తుతం ఉన్న Linux అప్లికేషన్‌లు, డేటా తొలగించబడతాయి.</translation>
@@ -2100,6 +2102,7 @@
 <translation id="3412265149091626468">ఎంపికకు వెళ్ళు</translation>
 <translation id="3413122095806433232">CA జారీచేసిన వారు: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">పరిమాణం:</translation>
+<translation id="3414966631182382431"><ph name="MANAGER" />, మీ <ph name="BEGIN_LINK" />బ్రౌజర్‌ను మేనేజ్ చేస్తోంది<ph name="END_LINK" /></translation>
 <translation id="3416468988018290825">ఎల్లప్పుడూ పూర్తి URLలను చూపించు</translation>
 <translation id="3417835166382867856">ట్యాబ్‌లలో సెర్చ్ చేయండి</translation>
 <translation id="3417836307470882032">మిలిటరీ సమయం</translation>
@@ -3175,6 +3178,7 @@
 <translation id="4651484272688821107">డెమో మోడ్ వనరులతో ఆన్‌లైన్ అంతర్భాగాన్ని లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="4652935475563630866">కెమెరా సెట్టింగ్‌లో మార్చడానికి పారలల్స్ డెస్క్‌టాప్‌ను మళ్లీ ప్రారంభించవలసి ఉంటుంది. కొనసాగించడానికి పారలల్స్ డెస్క్‌టాప్‌ను మళ్లీ ప్రారంభించండి.</translation>
 <translation id="4653405415038586100">Linuxను కాన్ఫిగర్ చేయడంలో ఎర్రర్</translation>
+<translation id="4657914796247705218">TrackPoint వేగం</translation>
 <translation id="465878909996028221">కేవలం http, https, ఫైల్ ప్రోటోకాల్‌లు మాత్రమే బ్రౌజర్ మళ్లింపులకు మద్దతిస్తాయి.</translation>
 <translation id="4659077111144409915">ప్రాథమిక ఖాతా</translation>
 <translation id="4659126640776004816">మీ Google ఖాతాకు మీరు సైన్ ఇన్ చేసినప్పుడు, ఈ ఫీచర్ ఆన్ చేయబడుతుంది.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">మీ పరికరాన్ని పవర్‌వాష్‌తో రీసెట్ చేయడానికి ముందు రీస్టార్ట్ చేయడం అవసరం. <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">హలో! నేను మీ వచనం నుండి ప్రసంగం వాయిస్‌ని.</translation>
 <translation id="5472627187093107397">ఈ సైట్ కోసం పాస్‌వర్డ్‌లను సేవ్ చేయండి</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{పిన్ తప్పనిసరిగా కనీసం ఒక అక్షరాన్ని కలిగి ఉండాలి}other{పిన్ తప్పనిసరిగా కనీసం # అక్షరాలను ఉండాలి}}</translation>
 <translation id="5473333559083690127">కొత్త PINని మళ్లీ నమోదు చేయండి</translation>
 <translation id="5481273127572794904">ఆటోమేటిక్‌గా అనేక ఫైల్‌లను డౌన్‌లోడ్ చేయడానికి అనుమతించబడలేదు</translation>
 <translation id="5481941284378890518">సమీప ప్రింటర్‌లను జోడించు</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">అద్భుతమైన ముఖం</translation>
 <translation id="6091761513005122595">షేర్ విజయవంతంగా మౌంట్ చేయబడింది.</translation>
 <translation id="6093888419484831006">అప్‌డేట్‌ రద్దు చేయడం...</translation>
+<translation id="6095541101974653012">మీరు లాగ్ అవుట్ అయ్యారు.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">గరిష్టీకరించిన దాన్ని తెరువు</translation>
 <translation id="6096326118418049043">X.500 పేరు</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Google డిస్క్ ఖాతాను డిస్‌కనెక్ట్ చేయి</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> మీ స్క్రీన్‌పై ఉన్న కంటెంట్‌లను షేర్ చేయాలనుకుంటోంది. మీరు ఏవేవి షేర్ చేయాలనుకుంటున్నారో ఎంచుకోండి.</translation>
 <translation id="6478248366783946499">అపాయకరమైన ఫైల్‌ను ఉంచాలా?</translation>
+<translation id="6480327114083866287"><ph name="MANAGER" /> ద్వారా మేనేజ్ చేయబడుతోంది</translation>
 <translation id="6483485061007832714">డౌన్‌లోడ్ చేసినది తెరువు</translation>
 <translation id="6483805311199035658"><ph name="FILE" /> ని తెరుస్తుంది...</translation>
 <translation id="6488384360522318064">భాషను ఎంచుకోండి</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">స్క్రీన్‌ను లాక్ చేయి</translation>
 <translation id="6721678857435001674">మీ భద్రతా కీ యొక్క తయారీదారు బ్రాండ్ పేరు మరియు మోడల్‌ని చూడండి</translation>
 <translation id="6721972322305477112">&amp;ఫైల్</translation>
+<translation id="672208878794563299">ఈ సైట్ తర్వాతి సారి మళ్లీ అడుగుతుంది.</translation>
 <translation id="672213144943476270">అతిథి లాగా బ్రౌజ్ చేయబోయే ముందు దయచేసి మీ ప్రొఫైల్‌ను అన్‌లాక్ చేయండి.</translation>
 <translation id="6723661294526996303">బుక్‌మార్క్‌లను మరియు సెట్టింగులను దిగుమతి చేయి...</translation>
 <translation id="6723839937902243910">పవర్</translation>
@@ -6290,6 +6298,7 @@
 <translation id="8317671367883557781">నెట్‌వర్క్ కనెక్షన్‌ను జోడించు</translation>
 <translation id="8319414634934645341">విస్తరించిన కీ ఉపయోగం</translation>
 <translation id="8320459152843401447">మీ పూర్తి స్క్రీన్</translation>
+<translation id="8321837372750396788"><ph name="MANAGER" /> ఈ <ph name="DEVICE_TYPE" />ను మేనేజ్ చేస్తుంది.</translation>
 <translation id="8322814362483282060">మీ మైక్రోఫోన్‌ను ప్రాప్యత చేయనీయకుండా ఈ పేజీ బ్లాక్ చేయబడింది.</translation>
 <translation id="8323167517179506834">URLను టైప్ చేయండి</translation>
 <translation id="8324784016256120271">వివిధ సైట్‌లలో మీ బ్రౌజింగ్ కార్యకలాపాన్ని చూడటానికి, సైట్‌లు కుక్కీలను ఉపయోగించవచ్చు, ఉదాహరణకు, యాడ్‌లను వ్యక్తిగతీకరించడానికి</translation>
@@ -6597,6 +6606,7 @@
 <translation id="8698269656364382265">మునుపటి స్క్రీన్‌కు తిరిగి వెళ్లడానికి, ఎడమ వైపు నుండి స్వైప్ చేయండి.</translation>
 <translation id="869884720829132584">అప్లికేషన్‌ల మెనూ</translation>
 <translation id="869891660844655955">గడువు తేదీ</translation>
+<translation id="8702825062053163569">మీ <ph name="DEVICE_TYPE" /> లాక్ చేయబడింది.</translation>
 <translation id="8703346390800944767">ప్రకటనను దాటవేయి</translation>
 <translation id="8705331520020532516">క్రమ సంఖ్య</translation>
 <translation id="8705580154597116082">ఫోన్ ద్వారా Wi-Fi అందుబాటులో ఉంది</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 9f367de..03b3e57 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -178,8 +178,8 @@
 <translation id="11901918071949011">{NUM_FILES,plural, =1{เข้าถึง 1 ไฟล์ที่จัดเก็บไว้บนคอมพิวเตอร์}other{เข้าถึง # ไฟล์ที่จัดเก็บไว้บนคอมพิวเตอร์}}</translation>
 <translation id="119092896208640858"><ph name="BEGIN_LINK" />ออกจากระบบ<ph name="END_LINK" />เพื่อล้างข้อมูลการท่องเว็บในอุปกรณ์นี้เท่านั้น แต่ยังเก็บข้อมูลดังกล่าวไว้ในบัญชี Google</translation>
 <translation id="1192706927100816598">{0,plural, =1{คุณจะออกจากระบบโดยอัตโนมัติใน # วินาที
-คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้ต่อไป}other{คุณจะออกจากระบบโดยอัตโนมัติใน # วินาที
-คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้ต่อไป}}</translation>
+คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้}other{คุณจะออกจากระบบโดยอัตโนมัติใน # วินาที
+คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้}}</translation>
 <translation id="1193273168751563528">เข้าสู่เซสชันที่มีการจัดการ</translation>
 <translation id="1193927020065025187">เว็บไซต์นี้อาจกำลังพยายามหลอกล่อคุณให้อนุญาตการแจ้งเตือนที่ล่วงล้ำ</translation>
 <translation id="1195447618553298278">ข้อผิดพลาดที่ไม่รู้จัก</translation>
@@ -6680,8 +6680,8 @@
 <translation id="8775144690796719618">URL ไม่ถูกต้อง</translation>
 <translation id="8775163630211761057">เพิ่มสิ่งที่ดีที่สุดจากโทรศัพท์ Android ของคุณไปยัง <ph name="DEVICE_TYPE" /></translation>
 <translation id="8775653927968399786">{0,plural, =1{<ph name="DEVICE_TYPE" /> ของคุณจะล็อกโดยอัตโนมัติใน # วินาที
-คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้ต่อไป}other{<ph name="DEVICE_TYPE" /> ของคุณจะล็อกโดยอัตโนมัติใน # วินาที
-คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้ต่อไป}}</translation>
+คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้}other{<ph name="DEVICE_TYPE" /> ของคุณจะล็อกโดยอัตโนมัติใน # วินาที
+คุณต้องเสียบสมาร์ทการ์ดไว้ตลอดเพื่อให้ใช้งาน <ph name="DOMAIN" /> ได้}}</translation>
 <translation id="8777628254805677039">รหัสผ่านระดับรูท</translation>
 <translation id="8780123805589053431">รับคำอธิบายรูปภาพจาก Google</translation>
 <translation id="8780443667474968681">ปิดการค้นหาด้วยเสียงแล้ว</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index fd9cea4d..1e2c7989 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">Atlamak için ESCAPE tuşuna basın (Yalnızca resmi olmayan sürümler).</translation>
 <translation id="1093457606523402488">Görünür Ağlar:</translation>
 <translation id="1094607894174825014">Şu cihazda geçersiz bir ofset değeriyle okuma veya yazma işlemi istendi: "<ph name="DEVICE_NAME" />".</translation>
+<translation id="1095761715416917775">Senkronizasyon verilerinize her zaman erişebildiğinizden emin olun</translation>
 <translation id="109647177154844434">Parallels Desktop'ı kaldırmak Windows görüntünüzü silecek. Bu işlem, Parallels Desktop'ın uygulamalarını, ayarlarını ve verilerini içerir. Devam etmek istediğinizden emin misiniz?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 bağlantı}other{# bağlantı}}</translation>
 <translation id="1097658378307015415">Oturum açmadan önce <ph name="NETWORK_ID" /> ağını etkinleştirmek için lütfen Misafir olarak giriş yapın</translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">Arama motorunu düzenleyin</translation>
 <translation id="1129850422003387628">Uygulamaları yönet</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - <ph name="GROUP_NAME" /> grubunun parçası</translation>
+<translation id="1130712065489627903">Artık telefonunuzdaki bildirimleri <ph name="DEVICE_TYPE" /> cihazınızda alabilirsiniz. <ph name="DEVICE_TYPE" /> cihazınızda bildirimleri kapatmak, bu bildirimleri telefonunuzda da kapatır. Telefonunuzun yakında bulunduğundan, kilidinin ve Bluetooth ile Kablosuz bağlantının da açık olduğundan emin olun.</translation>
 <translation id="1134009406053225289">Gizli pencerede aç</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" />/<ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Çok sayıda yanlış PIN girildiği için güvenlik anahtarı kilitlendi. Kilidi açmak için anahtarı çıkarıp tekrar takın.</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366"><ph name="HOST" /> sitesinin sensörlere erişmesine her zaman izin ver</translation>
 <translation id="1153356358378277386">Eşlenen cihazlar</translation>
 <translation id="1153636665119721804">Google Gelişmiş Koruma Programı</translation>
+<translation id="1155816283571436363">Telefonunuza bağlanılıyor</translation>
 <translation id="1161575384898972166">Lütfen istemci sertifikasını dışa aktarmak için <ph name="TOKEN_NAME" /> cihazında oturum açın.</translation>
 <translation id="1163931534039071049">&amp;Çerçeve kaynağını görüntüle</translation>
 <translation id="1164891049599601209">Yanıltıcı bir sitede girildi</translation>
@@ -374,6 +377,15 @@
 <translation id="1420834118113404499">Medya lisansları</translation>
 <translation id="1420920093772172268">Eşlemeye izin vermek için <ph name="TURN_ON_BLUETOOTH_LINK" /></translation>
 <translation id="1422159345171879700">Güvenli Olmayan Komut Dosyalarını Yükle</translation>
+<translation id="1423716227250567100">Bu işlem:
+          <ph name="LINE_BREAKS" />
+           • Chrome ayarlarını ve Chrome kısayollarını sıfırlar
+           <ph name="LINE_BREAK" />
+           • Uzantıları devre dışı bırakır
+           <ph name="LINE_BREAK" />
+           • Çerezleri ve diğer geçici site verilerini siler
+            <ph name="LINE_BREAKS" />
+           Yer işaretlerini, geçmişi ve kayıtlı şifreleri etkilemez.</translation>
 <translation id="1426410128494586442">Evet</translation>
 <translation id="142655739075382478"><ph name="APP_NAME" /> engellendi</translation>
 <translation id="1426870617281699524">Yeniden Dene'yi tıklayın ve bilgisayarınızdaki istemi kabul edin</translation>
@@ -801,6 +813,7 @@
 <translation id="1887597546629269384">Tekrar "Hey Google" deyin</translation>
 <translation id="1887850431809612466">Donanım düzeltmesi</translation>
 <translation id="1890674179660343635">&lt;span&gt;Kimlik: &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">Diskte boş alan kritik düzeyde. Lütfen disk alanını boşaltın.</translation>
 <translation id="189210018541388520">Tam ekranı aç</translation>
 <translation id="1892341345406963517">Merhaba <ph name="PARENT_NAME" /></translation>
 <translation id="189358972401248634">Diğer diller</translation>
@@ -1019,6 +1032,7 @@
 <translation id="2157474325782140681">Ek özelliklerden yararlanmak için bu Chromebook ile uyumlu olacak şekilde tasarlanmış bir Dell yuva istasyonu kullanın.</translation>
 <translation id="215753907730220065">Tam Ekrandan Çık</translation>
 <translation id="2157875535253991059">Bu sayfa artık tam ekran.</translation>
+<translation id="2160589599612868242">Telefonunuzdaki bildirimleri <ph name="DEVICE_TYPE" /> cihazınızda alın</translation>
 <translation id="216169395504480358">Kablosuz Ekle...</translation>
 <translation id="2162155940152307086">Senkronizasyon işlemi, senkonizasyon ayarlarından çıktığınızda başlayacaktır</translation>
 <translation id="2162838847352058695">Sitelerin birden fazla dosyayı otomatik olarak indirmesini engelle</translation>
@@ -1027,6 +1041,7 @@
 <translation id="2165421703844373933">Asistanınıza "Ok Google" diyerek erişin. Pilden tasarruf etmek için “Açık (Önerilen)” seçeneğini belirleyin. Asistanınız, yalnızca cihazınız güç kaynağına bağlıyken veya şarj olurken yanıt verir.</translation>
 <translation id="2166369534954157698">Pijamalı hasta, yağız şoföre çabucak güvendi</translation>
 <translation id="2169062631698640254">Yine de oturum aç</translation>
+<translation id="2170054054876170358">Telefonunuzun yakında bulunduğundan, kilidinin ve Bluetooth ile Kablosuz bağlantının da açık olduğundan emin olun.</translation>
 <translation id="2172784515318616985">Devam</translation>
 <translation id="2173302385160625112">İnternet bağlantınızı kontrol edin</translation>
 <translation id="2173801458090845390">Bu cihaza talep kimliği ekleyin</translation>
@@ -1226,12 +1241,14 @@
 <translation id="2395616325548404795"><ph name="DEVICE_TYPE" /> cihazınız kurumsal yönetim için başarıyla kaydettirildi, ancak öğe ve konum bilgilerini gönderemedi. Lütfen bu cihaza ilişkin bu bilgileri Yönetici konsolunuzdan manuel olarak girin.</translation>
 <translation id="2396387085693598316">Yöneticiniz "<ph name="EXTENSION_NAME" />" uzantısını engelledi</translation>
 <translation id="2396783860772170191">4 basamaklı PIN'i girin (0000-9999)</translation>
+<translation id="2399699884460174994">Bildirimler açık</translation>
 <translation id="2399939490305346086">Güvenlik anahtarı oturum açma verileri</translation>
 <translation id="2400664245143453337">Hemen güncelleme gerekli</translation>
 <translation id="2408018932941436077">Kart kaydediliyor</translation>
 <translation id="2408955596600435184">PIN'inizi girin</translation>
 <translation id="241082044617551207">Bilinmeyen eklenti</translation>
 <translation id="2412593942846481727">Güncelleme var</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">Klavye işlev tuşları</translation>
 <translation id="241727068219398187"><ph name="TIME" /> itibarıyla veriler Google şifrenizle şifrelendi.
           Google Pay'deki adresler ve ödeme yöntemleri bu kapsamda değildir.</translation>
@@ -1357,6 +1374,7 @@
 <translation id="2538084450874617176">Bu <ph name="DEVICE_TYPE" /> cihazını kimler kullanacak?</translation>
 <translation id="2538361623464451692">Senkronizasyon devre dışı</translation>
 <translation id="2540449034743108469">Uzantı etkinliklerini dinlemek için "Başlat"a basın</translation>
+<translation id="2540651571961486573">Bir sorun oldu. Hata kodu: <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">Tam ekran yayınlama optimize edilsin mi?</translation>
 <translation id="2541706104884128042">Yeni uyku vakti ayarlandı</translation>
 <translation id="2542050502251273923">Ağ bağlantı yöneticisi ve diğer hizmetlerin hata ayıklama seviyesini ff_debug kullanarak ayarlar.</translation>
@@ -1404,6 +1422,7 @@
 <translation id="2607101320794533334">Konunun Genel Anahtar Bilgileri</translation>
 <translation id="2607968157341167679">Albüm yok. <ph name="LINK_BEGIN" />Google Fotoğraflar<ph name="LINK_END" />'da albüm oluşturun.</translation>
 <translation id="2609896558069604090">Kısayol Oluştur...</translation>
+<translation id="2609980095400624569">Bağlantı kurulamadı</translation>
 <translation id="2610157865375787051">Uyku</translation>
 <translation id="2610260699262139870">&amp;Gerçek Boyut</translation>
 <translation id="2610780100389066815">Microsoft Güven Listesi İmzalama</translation>
@@ -1657,6 +1676,7 @@
 <translation id="2885729872133513017">Sunucu yanıtının kodu çözülürken bir sorun oluştu.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">Bağlantıyı şununla aç...</translation>
+<translation id="2889481634493693121">Telefonunuzda bildirimleri açın</translation>
 <translation id="2889925978073739256">Korumalı alanda olmayan eklentileri engellemeye devam et</translation>
 <translation id="2893168226686371498">Varsayılan tarayıcı</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 metin}other{# metin}}</translation>
@@ -1751,6 +1771,7 @@
 <translation id="3000461861112256445">Mono ses</translation>
 <translation id="3001144475369593262">Alt hesaplar</translation>
 <translation id="3003144360685731741">Tercih edilen ağlar</translation>
+<translation id="3003189754374775221">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, %<ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Bağlan</translation>
 <translation id="3003623123441819449">CSS Önbelleği</translation>
 <translation id="3003828226041301643">Cihaz alan adına eklenemiyor. Hesabınızı kontrol ederek, cihazları eklemek için gerekli ayrıcalıklara sahip olduğunuzdan emin olun.</translation>
 <translation id="3003967365858406397"><ph name="PHONE_NAME" /> telefonunuz özel kablosuz bağlantı oluşturur.</translation>
@@ -1802,6 +1823,7 @@
 <translation id="3058498974290601450">Senkronizasyonu istediğiniz zaman ayarlardan açabilirsiniz</translation>
 <translation id="3060379269883947824">Seç ve Dinle'yi etkinleştir</translation>
 <translation id="3060952009917586498">Cihaz dilini değiştirin. Mevcut dil: <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">Telefonunuzla bağlantı kuramadık. Telefonunuzun yakında bulunduğundan, kilidinin ve Bluetooth ile Kablosuz bağlantının da açık olduğundan emin olun.</translation>
 <translation id="3065041951436100775">Sekme sonlandırıldı geri bildirimi.</translation>
 <translation id="306535478112428611">Cihazınızdaki dosyaları veya klasörleri düzenlemesine izin verilmeyen siteler</translation>
 <translation id="3065522099314259755">Klavye tekrar gecikmesi</translation>
@@ -1858,6 +1880,7 @@
 <translation id="3129215702932019810">Uygulama başlatılırken hata oluştu</translation>
 <translation id="3130528281680948470">Cihazınız sıfırlanacak ve tüm kullanıcı hesapları ile yerel veriler silinecek. Bu işlem geri alınamaz.</translation>
 <translation id="313205617302240621">Şifrenizi mi unuttunuz?</translation>
+<translation id="3132277757485842847">Telefonunuzla bağlantıyı sürdüremedik. Telefonunuzun yakında bulunduğundan, kilidinin ve Bluetooth ile Kablosuz bağlantının da açık olduğundan emin olun.</translation>
 <translation id="3132996321662585180">Günlük olarak yenile</translation>
 <translation id="313963229645891001">İndiriliyor, <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Varsayılan sarı avatar</translation>
@@ -2902,6 +2925,7 @@
 <translation id="4378551569595875038">Bağlanıyor...</translation>
 <translation id="4378556263712303865">Cihaz talebi</translation>
 <translation id="4379281552162875326">"<ph name="APP_NAME" />" kaldırılsın mı?</translation>
+<translation id="4380245540200674032">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, %<ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Yöneticiniz tarafından Yönetiliyor, Ayrıntılar</translation>
 <translation id="4380648069038809855">Tam ekrana girildi</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" />, +1 hesap daha}other{<ph name="EMAIL" />, +<ph name="EXTRA_ACCOUNTS" /> hesap daha}}</translation>
 <translation id="4384312707950789900">Tercih edilenlere ekle</translation>
@@ -3325,6 +3349,7 @@
 <translation id="4880827082731008257">Geçmişte ara</translation>
 <translation id="4881695831933465202">Aç</translation>
 <translation id="4882312758060467256">Bu siteye erişimi var</translation>
+<translation id="4882670371033027418"><ph name="DEVICE_TYPE" /> cihazınızın kilidini daha hızlı açmak için parmak izinizi ayarlayın</translation>
 <translation id="4882831918239250449">Göz atma geçmişinizin Arama, reklamlar ve diğer hizmetleri kişiselleştirmek için nasıl kullanıldığını kontrol edin</translation>
 <translation id="4882919381756638075">Görüntülü sohbet gibi iletişim özellikleri için siteler genellikle mikrofonunuzu kullanır</translation>
 <translation id="4883436287898674711">Tüm <ph name="WEBSITE_1" /> siteleri</translation>
@@ -3349,6 +3374,7 @@
 <translation id="4902546322522096650">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, %<ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Bağlan</translation>
 <translation id="49027928311173603">Sunucudan indirilen politika geçersiz: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4906490889887219338">Ağ dosya paylaşımlarını kurun veya yönetin. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, %<ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, %<ph name="BATTERY_STATUS" /> Telefon Pili, Ayrıntılar</translation>
 <translation id="4907161631261076876">Bu uygulama çok indirilen bir uygulama değil ve tehlikeli olabilir.</translation>
 <translation id="4907306957610201395">İzin Kategorisi</translation>
 <translation id="4908811072292128752">İki siteye aynı anda göz atmak için yeni bir sekme açın</translation>
@@ -3795,6 +3821,7 @@
 <translation id="5457991019809708398">Açık, dolaşımda değil</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">Kilit ekranı notları</translation>
+<translation id="5461050611724244538">Telefonunuzla bağlantı kesildi</translation>
 <translation id="5463231940765244860">Gir</translation>
 <translation id="5463275305984126951"><ph name="LOCATION" /> dizini</translation>
 <translation id="5463856536939868464">Gizlenmiş yer işaretlerini içeren menü</translation>
@@ -4289,6 +4316,7 @@
 <translation id="6031600495088157824">Araç çubuğunda giriş seçenekleri</translation>
 <translation id="6032715498678347852">Bir uzantının bu siteye erişmesine izin vermek için uzantıyı tıklayın.</translation>
 <translation id="6032912588568283682">Dosya sistemi</translation>
+<translation id="603539183851330738">Otomatik düzeltmeyi geri alma düğmesi. Yazımı <ph name="TYPED_WORD" /> biçimine geri döndürün.  Etkinleştirmek için enter, kapatmak için escape tuşuna basın.</translation>
 <translation id="6035517790085323771">Sizinle içerik paylaşabilecek kişiler</translation>
 <translation id="6038929619733116134">Site, araya giren veya yanıltıcı reklamlar gösteriyorsa engelleyin</translation>
 <translation id="6039651071822577588">Ağ mülkü sözlüğü bozuk</translation>
@@ -4428,6 +4456,7 @@
 <translation id="6185132558746749656">Cihaz Konumu</translation>
 <translation id="6186394437969115158">Siteler ücretsiz içerik ve hizmet sunabilmek için genellikle reklam gösterir. Ancak araya giren veya yanıltıcı reklamlar gösterdiği bilinen bazı siteler vardır.</translation>
 <translation id="6195693561221576702">Bu cihaz çevrimdışı demo modunda kurulamıyor.</translation>
+<translation id="6195724942939841102">Geri yükleme</translation>
 <translation id="6196640612572343990">Üçüncü taraf çerezlerini engelle</translation>
 <translation id="6196854373336333322">"<ph name="EXTENSION_NAME" />" uzantısı proxy ayarlarınızın denetimini ele geçirdi. Bu, uzantının çevrimiçinde yaptıklarınızı değiştirebileceği, kesebileceği veya dinleyebileceği anlamına gelir. Bu değişikliğin neden gerçekleştiğinden emin değilseniz muhtemelen bu değişikliği yapmayı istememişsinizdir.</translation>
 <translation id="6198102561359457428">Oturumu kapatıp tekrar açın...</translation>
@@ -4467,6 +4496,7 @@
 <translation id="6238767809035845642">Metin diğer cihazdan paylaşıldı</translation>
 <translation id="6238923052227198598">En son notu kilit ekranında tut</translation>
 <translation id="6239558157302047471">Ç&amp;erçeveyi yeniden yükle</translation>
+<translation id="6240821072888636753">Her zaman sor</translation>
 <translation id="6241530762627360640">Sisteminizle eşlenen Bluetooth cihazlarıyla ilgili bilgilere erişme ve yakındaki Bluetooth cihazlarını keşfetme.</translation>
 <translation id="6241844896329831164">Erişim gerekmiyor</translation>
 <translation id="6242574558232861452">Kuruluşunuzun güvenlik politikalarıyla uyumlu olup olmadığı kontrol ediliyor.</translation>
@@ -4499,6 +4529,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> ile aç</translation>
 <translation id="6270391203985052864">Siteler bildirim göndermek isteyebilir</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />Sistem ve uygulama bilgilerini<ph name="END_LINK1" /> ve <ph name="BEGIN_LINK2" />metrikleri<ph name="END_LINK2" /> gönder</translation>
+<translation id="6271348838875430303">düzeltme geri alındı</translation>
 <translation id="6272643420381259437">Eklenti indirilirken bir hata (<ph name="ERROR" />) oluştu</translation>
 <translation id="6273677812470008672">Kalite</translation>
 <translation id="6276210637549544171"><ph name="PROXY_SERVER" /> proxy'si için kullanıcı adı ve şifre gerekiyor.</translation>
@@ -4720,6 +4751,7 @@
 <translation id="6532527800157340614">Erişim jetonu alınamadığından oturum açılamadı. Lütfen ağ bağlantınızı kontrol edin ve tekrar deneyin.</translation>
 <translation id="6532663472409656417">Kurumsal Olarak Kayıtlı</translation>
 <translation id="6535331821390304775">Bu tür bağlantıları ilişkilendirilmiş uygulamada açması için <ph name="ORIGIN" /> sitesine her zaman izin ver</translation>
+<translation id="653659894138286600">Dokümanları ve resimleri tarayın</translation>
 <translation id="6537613839935722475">Ad harf, sayı ve kısa çizgi (-) içerebilir</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">Mevcut veri kullanımı, Mobil Veri olarak ayarlı</translation>
@@ -4980,6 +5012,7 @@
 <translation id="6853388645642883916">Güncelleyici uyku modunda</translation>
 <translation id="68541483639528434">Diğer sekmeleri kapat</translation>
 <translation id="6855892664589459354">Crostini yedekleme ve geri yükleme</translation>
+<translation id="6856459657722366306">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, %<ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Ayrıntılar</translation>
 <translation id="6856623341093082836">Dokunmatik ekranınızı kurun ve doğruluğunu ayarlayın</translation>
 <translation id="6857699260879628349">Yapılandırma bilgilerini alın</translation>
 <translation id="6860097299815761905">Proxy ayarları...</translation>
@@ -5121,6 +5154,7 @@
 <translation id="7005496624875927304">Ek izinler</translation>
 <translation id="7005812687360380971">Hata</translation>
 <translation id="7005848115657603926">Geçersiz sayfa aralığı, şunu kullanın: <ph name="EXAMPLE_PAGE_RANGE" /></translation>
+<translation id="700651317925502808">Ayarlar sıfırlansın mı?</translation>
 <translation id="7006634003215061422">Alt kenar boşluğu</translation>
 <translation id="7007648447224463482">Tümünü yeni pencerede aç</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" />, kameranızı kullanıyor.</translation>
@@ -5149,6 +5183,7 @@
 <translation id="7044124535091449260">Site erişimi hakkında daha fazla bilgi</translation>
 <translation id="7044606776288350625">Verileri senkronize et</translation>
 <translation id="7047059339731138197">Bir arka plan seçin</translation>
+<translation id="7048024426273850086">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, %<ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, %<ph name="BATTERY_STATUS" /> Telefon Pili, Bağlan</translation>
 <translation id="7049293980323620022">Dosya tutulsun mu?</translation>
 <translation id="7051943809462976355">Fare aranıyor...</translation>
 <translation id="7052237160939977163">Performans izleme verilerini gönder</translation>
@@ -5290,6 +5325,7 @@
 <translation id="7213903639823314449">Adres çubuğunda kullanılan arama motoru</translation>
 <translation id="7216409898977639127">Hücresel sağlayıcı</translation>
 <translation id="7216595297012131718">Dilleri tercihinize göre sıralayın</translation>
+<translation id="7219473482981809164">İndirilebilecek birden fazla profil bulduk. Devam etmeden önce indirmek istediklerinizi seçin.</translation>
 <translation id="7220019174139618249">Şifreler "<ph name="FOLDER" />" klasörüne aktarılamıyor</translation>
 <translation id="722055596168483966">Google hizmetlerini kişiselleştirme</translation>
 <translation id="722099540765702221">Şarj kaynağı</translation>
@@ -5572,6 +5608,7 @@
 <translation id="7556033326131260574">Smart Lock, hesabınızı doğrulayamadı. Giriş yapmak için şifrenizi yazın.</translation>
 <translation id="7556242789364317684">Maalesef <ph name="SHORT_PRODUCT_NAME" />, ayarlarınızı kurtaramıyor. Hatayı düzeltmek için <ph name="SHORT_PRODUCT_NAME" /> cihazınızı Powerwash ile sıfırlamalısınız.</translation>
 <translation id="7557194624273628371">Linux bağlantı noktası yönlendirme</translation>
+<translation id="7559269329306630685">Parmak izi verileriniz güvenli şekilde depolanır ve her zaman <ph name="DEVICE_TYPE" /> cihazınızda tutulur.</translation>
 <translation id="7559719679815339381">Lütfen bekleyin....Kiosk uygulaması güncelleniyor. USB çubuğunu çıkarmayın.</translation>
 <translation id="7561196759112975576">Her zaman</translation>
 <translation id="756445078718366910">Tarayıcı Penceresini Aç</translation>
@@ -6020,6 +6057,7 @@
 <translation id="8045923671629973368">Uygulama kimliğini veya web mağazası URL'sini girin</translation>
 <translation id="8047242494569930800">Google Hesabına taşı</translation>
 <translation id="804786196054284061">Son Kullanıcı Lisans Sözleşmesi</translation>
+<translation id="8048977114738515028">Bu profile doğrudan erişmek için cihazınızda masaüstü kısayolu oluşturun</translation>
 <translation id="8049705080247101012">Google <ph name="EXTENSION_NAME" /> uzantısını kötü amaçlı olarak işaretledi ve yükleme işlemi engellendi</translation>
 <translation id="8049948037269924837">Dokunmatik alan ters kaydırma</translation>
 <translation id="8050038245906040378">Microsoft Ticari Kod İmzalama</translation>
@@ -6451,6 +6489,7 @@
 <translation id="8569682776816196752">Hiçbir hedef bulunamadı</translation>
 <translation id="8571213806525832805">Son 4 hafta</translation>
 <translation id="8571687764447439720">Kerberos bileti ekle</translation>
+<translation id="8571814292654854151">Profilinize bir ad verin</translation>
 <translation id="8574990355410201600"><ph name="HOST" /> sitesinde sese her zaman izin ver</translation>
 <translation id="8575286410928791436">Çıkmak için <ph name="KEY_EQUIVALENT" /> tuşunu basılı tutun.</translation>
 <translation id="8576249514688522074">Başlatılmamış</translation>
@@ -6605,6 +6644,7 @@
 <translation id="8737914367566358838">Sayfanın çevrileceği dili seçin</translation>
 <translation id="8740247629089392745">Bu Chromebook'u <ph name="SUPERVISED_USER_NAME" /> adlı kullanıcıya verebilirsiniz. Kurulum tamamlanmak üzere, ardından keşfetmeye başlayabilirsiniz.</translation>
 <translation id="8742998548129056176">Buradaki bilgiler (pil seviyesi, uygulama etkinliği ve hatalar gibi) cihazınızla ve cihazınızı nasıl kullandığınızla ilgili genel bilgilerdir. Bu bilgiler, Android'i daha iyi hale getirmek amacıyla kullanılır. Bazı birleştirilmiş bilgiler, Google uygulamalarının ve Android geliştiricileri gibi iş ortaklarına ait uygulama ve ürünlerin iyileştirilmesine de yardımcı olur.</translation>
+<translation id="8743164338060742337">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" /> %<ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Yöneticiniz tarafından Yönetiliyor, Bağlan</translation>
 <translation id="8743390665131937741">Tam ekran yakınlaştırma düzeyi:</translation>
 <translation id="8743864605301774756">1 saat önce güncellendi</translation>
 <translation id="8746654918629346731">"<ph name="EXTENSION_NAME" />" zaten istendi</translation>
@@ -6704,6 +6744,7 @@
 <translation id="8830796635868321089">Mevcut proxy ayarları kullanılarak yapılan güncelleme kontrolü başarısız oldu. Lütfen <ph name="PROXY_SETTINGS_LINK_START" />proxy ayarlarınızı<ph name="PROXY_SETTINGS_LINK_END" /> düzenleyin.</translation>
 <translation id="8831140208248705279"><ph name="DEVICE_TYPE" /> cihazınız ve Android telefonunuz birlikte daha iyi çalışır. Bilgisayarınızdan kısa mesaj göndermek, internet bağlantınızı paylaşmak ve <ph name="DEVICE_TYPE" /> ekranınızın kilidini telefonunuzla açmak için bunları bağlayın. <ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">Ağ yapılandırması, <ph name="USER_EMAIL" /> tarafından kontrol ediliyor.</translation>
+<translation id="8835786707922974220">Kayıtlı şifrelerinize her zaman erişebildiğinizden emin olun</translation>
 <translation id="8838601485495657486">Opak</translation>
 <translation id="8838770651474809439">Hamburger</translation>
 <translation id="883911313571074303">Resme açıklama ekle</translation>
@@ -6719,6 +6760,7 @@
 <translation id="885246833287407341">API işlevi bağımsız değişkenleri</translation>
 <translation id="8853586775156634952">Bu kart yalnızca bu cihaza kaydedilecek</translation>
 <translation id="8855977033756560989">Bu Chromebook Enterprise cihaz, Chrome Enterprise Yükseltme ile birlikte paket halinde gelir. Kurumsal işlevlerden yararlanmak için bu cihazı bir Google yönetici hesabıyla kaydedin.</translation>
+<translation id="8856028055086294840">Uygulamaları ve sayfaları geri yükle</translation>
 <translation id="885701979325669005">Depolama</translation>
 <translation id="8859057652521303089">Dilinizi seçin:</translation>
 <translation id="8859174528519900719">Alt çerçeve: <ph name="SUBFRAME_SITE" /></translation>
@@ -7082,6 +7124,7 @@
 <translation id="971774202801778802">Yer işareti URL'si</translation>
 <translation id="973473557718930265">Çık</translation>
 <translation id="975893173032473675">Çeviri hedef dili</translation>
+<translation id="976499800099896273">Otomatik düzeltme geri alma iletişim kutusu, <ph name="TYPED_WORD" /> ifadesinin <ph name="CORRECTED_WORD" /> olarak düzeltildiğini gösteriyor.  Erişmek için yukarı ok tuşuna, yok saymak için escape tuşuna basın.</translation>
 <translation id="978146274692397928">Başlangıç noktalama genişliği Tam</translation>
 <translation id="97905529126098460">İptal etme işlemi tamamlandıktan sonra bu pencere kapanır.</translation>
 <translation id="980731642137034229">İşlem menüsü düğmesi</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index 5c7222b4..bc8d0abc 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -267,6 +267,7 @@
 <translation id="1292849930724124745">سائن ان رہنے کیلئے سمارٹ کارڈ داخل کریں</translation>
 <translation id="1293264513303784526">‏USB-C آلہ (بایاں پورٹ)</translation>
 <translation id="1293556467332435079">فائلیں</translation>
+<translation id="1294807885394205587">اس کاروائی میں کچھ منٹ لگ سکتے ہیں۔ کنٹینر مینیجر شروع ہو رہا ہے۔</translation>
 <translation id="1296911687402551044">منتخب کردہ ٹیب کو پن کریں</translation>
 <translation id="1297175357211070620">منزل</translation>
 <translation id="1300415640239881824">‏<ph name="DOMAIN" /> تحفظ یافتہ مواد کے بہتر پلے بیک کی اہلیت کا تعین کرنے کیلئے Google کی جانب سے آپ کے آلہ کی شناخت کی توثیق کرنا چاہتا ہے۔</translation>
@@ -936,6 +937,7 @@
 <translation id="2046702855113914483">رامین</translation>
 <translation id="204706822916043810">ورچوئل مشین کو چیک کیا جا رہا ہے</translation>
 <translation id="2048182445208425546">اپنے نیٹ ورک ٹریفک تک رسائی حاصل کریں</translation>
+<translation id="2048554637254265991">کنٹینر مینیجر کو شروع کرنے میں خرابی۔ دوبارہ کوشش کریں۔</translation>
 <translation id="2048653237708779538">کارروائی دستیاب نہیں ہے</translation>
 <translation id="204914487372604757">شارٹ کٹ بنائیں</translation>
 <translation id="2050339315714019657">پورٹریٹ</translation>
@@ -1136,6 +1138,7 @@
 <translation id="2276503375879033601">مزید ایپس شامل کریں</translation>
 <translation id="2277255602909579701">سبھی کوکیز اور سائٹ ڈیٹا</translation>
 <translation id="2278562042389100163">براؤزر ونڈو کھولیں</translation>
+<translation id="2278668501808246459">کنٹینر مینیجر شروع ہو رہا ہے</translation>
 <translation id="2280486287150724112">دایاں مارجن</translation>
 <translation id="2282146716419988068">‏GPU کارروائی</translation>
 <translation id="2282155092769082568">‏خودکار کنفیگریشن URL:</translation>
@@ -4415,6 +4418,7 @@
 <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />، کوئی نیٹ ورک نہیں</translation>
 <translation id="6141988275892716286">ڈاؤن لوڈ کی توثیق کریں</translation>
 <translation id="6143186082490678276">مدد حاصل کریں</translation>
+<translation id="6143366292569327983">اس سے ترجمہ کرنے کیلئے صفحے کی زبان منتخب کریں</translation>
 <translation id="6144938890088808325">‏Chromebooks کو بہتر بنانے میں ہماری مدد کریں</translation>
 <translation id="6147020289383635445">پرنٹ کا پیش منظر ناکام ہوگیا۔</translation>
 <translation id="6148576794665275391">ابھی کھلا ہے</translation>
@@ -6114,6 +6118,7 @@
 <translation id="810728361871746125">ڈسپلے کا ریزولیوشن</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{کوئی فریق ثالث کوکی نہیں ہے}=1{1 فریق ثالث کوکی مسدود ہے}other{# فریق ثالث کوکیز مسدود ہیں}}</translation>
 <translation id="810875025413331850">کوئی قریبی آلہ نہیں ملا۔</translation>
+<translation id="8109109153262930486">ڈیفالٹ اوتار</translation>
 <translation id="8110489095782891123">رابطے کی فہرست ڈاؤن لوڈ ہو رہی ہے...</translation>
 <translation id="8113476325385351118">‏اس سائٹ کو MIDI آلات کا مکمل کنٹرول حاصل کرنے سے مسدود کرنا جاری رکھیں</translation>
 <translation id="8114199541033039755">‏ٹیبلیٹ موڈ میں بٹنز کے ساتھ ہوم پر جائیں، واپس جائیں اور ایپس سوئچ کریں۔ ChromeVox یا خودکار کلکس فعال ہونے پر آن رہتا ہے۔</translation>
diff --git a/chrome/app/resources/generated_resources_uz.xtb b/chrome/app/resources/generated_resources_uz.xtb
index d970d3a..1ccca87 100644
--- a/chrome/app/resources/generated_resources_uz.xtb
+++ b/chrome/app/resources/generated_resources_uz.xtb
@@ -434,6 +434,7 @@
 <translation id="1475502736924165259">Sizda quyidagi turkumlardan hech qaysiga to‘g‘ri kelmaydigan sertifikatlar mavjud</translation>
 <translation id="1476088332184200792">Qurilmaga nusxalash</translation>
 <translation id="1476607407192946488">Til sozlamalari</translation>
+<translation id="1477446329585670721"><ph name="DOMAIN" /> smart karta kiritilishini talab qilmoqda.</translation>
 <translation id="1478340334823509079">Batafsil ma’lumotlar: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">O‘rnatishga ruxsat berilmagan</translation>
 <translation id="1481537595330271162">Disk hajmi oʻzgarmadi</translation>
@@ -2031,6 +2032,7 @@
 <translation id="3320630259304269485">Saytlarni xavfsiz kezish (zararli saytlardan himoya) va boshqa xavfsizlik sozlamalari</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Bu maʼlumotlarda maxfiy yoki xavfli kontent bor. Shu kontentni olib tashlang va qayta urining.}=1{Bu faylda maxfiy yoki xavfli kontent bor. Shu kontentni olib tashlang va qayta urining.}other{Bu fayllarda maxfiy yoki xavfli kontent bor. Shu kontentni olib tashlang va qayta urining.}}</translation>
 <translation id="3323521181261657960">Bonus! Foydalanish vaqtingiz oshdi</translation>
+<translation id="3325804108816646710">Mavjud profillar qidirilmoqda...</translation>
 <translation id="3325910708063135066">Kamera va mikrofon Mac tizim sozlamalaridan faolsizlantirilgan</translation>
 <translation id="3327050066667856415">Chromebook qurilmalari yuqori xavfsizlik uchun ishlab chiqilgan. Qurilmangiz zararli dasturlarni avtomatik aniqlaydi va buning uchun qoʻshimcha dasturlarni talab qilmaydi.</translation>
 <translation id="3328489342742826322">Zaxiradan tiklasangiz, mavjud Linux ilovalari va Linux fayllari jildi olib tashlanadi</translation>
@@ -2098,6 +2100,7 @@
 <translation id="3412265149091626468">Belgilanishga o‘tish</translation>
 <translation id="3413122095806433232">Sertifikatlash markazi noshiri: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Hajmi:</translation>
+<translation id="3414966631182382431">Brauzeringiz <ph name="MANAGER" /> <ph name="BEGIN_LINK" />tomonidan boshqariladi<ph name="END_LINK" /></translation>
 <translation id="3416468988018290825">Doim butun URL manzillar chiqarilsin</translation>
 <translation id="3417835166382867856">Varaqlar ichidan qidirish</translation>
 <translation id="3417836307470882032">24 soatlik format</translation>
@@ -3173,6 +3176,7 @@
 <translation id="4651484272688821107">Demo rejim manbalari bilan onlayn komponent yuklanmadi.</translation>
 <translation id="4652935475563630866">Kamera sozlamasi oʻzgarishi uchun Parallels Desktopni qaytadan ishga tushiring. Davom etish uchun Parallels Desktopni qayta ishga tushiring.</translation>
 <translation id="4653405415038586100">Linux tizimini sozlashda xatolik</translation>
+<translation id="4657914796247705218">TrackPoint tezligi</translation>
 <translation id="465878909996028221">Brauzer yoʻnaltirishlarda faqat http, https va fayl protokollari ishlaydi.</translation>
 <translation id="4659077111144409915">Asosiy hisob</translation>
 <translation id="4659126640776004816">Bu funksiya Google hisobingizga kirganingizda yoqiladi.</translation>
@@ -3832,6 +3836,7 @@
 <translation id="5470735824776589490">Powerwash yordamida dastlabki sozlamarini tiklashdan oldin qurilmani qaytadan ishga tushirish kerak. <ph name="LINK_BEGIN" />Batafsil<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Salom! Men sizga matnni nutqqa aylantirib beraman.</translation>
 <translation id="5472627187093107397">Bu sayt parollarini saqlash</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{PIN kod kamida bitta belgidan iborat boʻlsin}other{PIN kod kamida # ta belgidan iborat boʻlsin}}</translation>
 <translation id="5473333559083690127">Yangi PIN kodni qayta kiriting</translation>
 <translation id="5481273127572794904">Bir nechta faylni avtomatik yuklab olish taqiqlangan</translation>
 <translation id="5481941284378890518">Yaqin-atrofdagi printerlarni qo‘shish</translation>
@@ -4371,6 +4376,7 @@
 <translation id="6087960857463881712">Hayratdagi yuz</translation>
 <translation id="6091761513005122595">Umumiy ruxsat berildi.</translation>
 <translation id="6093888419484831006">Yangilash bekor qilinmoqda...</translation>
+<translation id="6095541101974653012">Hisobdan chiqqansiz.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Yoyib ochish</translation>
 <translation id="6096326118418049043">X.500 nomi</translation>
@@ -4703,6 +4709,7 @@
 <translation id="6474884162850599008">Google Drive hisobini uzib qo‘yish</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> ekraningizdan foydalanmoqchi. Namoyish qilmoqchi bo‘lgan oynani tanlang.</translation>
 <translation id="6478248366783946499">Xavfli fayl yuklab olinsinmi?</translation>
+<translation id="6480327114083866287"><ph name="MANAGER" /> tomonidan boshqariladi</translation>
 <translation id="6483485061007832714">Yuklanmani ochish</translation>
 <translation id="6483805311199035658"><ph name="FILE" /> ochilmoqda...</translation>
 <translation id="6488384360522318064">Tilni tanlash</translation>
@@ -4891,6 +4898,7 @@
 <translation id="671928215901716392">Bloklash ekrani</translation>
 <translation id="6721678857435001674">Elektron kalitingiz modeli va ishlab chiqaruvchisini ko‘rish</translation>
 <translation id="6721972322305477112">&amp;Fayl</translation>
+<translation id="672208878794563299">Bu sayt keyingi safar qayta soʻraydi.</translation>
 <translation id="672213144943476270">Mehmon sifatida foydalanish uchun o‘z profilingizga kiring.</translation>
 <translation id="6723661294526996303">Xatcho‘plar va sozlamalarni import qilish...</translation>
 <translation id="6723839937902243910">Quvvat</translation>
@@ -6289,6 +6297,7 @@
 <translation id="8317671367883557781">Yangi tarmoqqa ulanish</translation>
 <translation id="8319414634934645341">Kalitdan keng miqyosda foydalanish</translation>
 <translation id="8320459152843401447">Butun ekran</translation>
+<translation id="8321837372750396788">Bu <ph name="DEVICE_TYPE" /> <ph name="MANAGER" /> tomonidan boshqariladi.</translation>
 <translation id="8322814362483282060">Bu sahifaning mikrofoningizdan foydalanishi bloklandi.</translation>
 <translation id="8323167517179506834">URL manzil kiriting</translation>
 <translation id="8324784016256120271">Saytlar reklamalarni sizga moslashtirish uchun brauzerdagi faoliyatingizni kuzatishi mumkin</translation>
@@ -6596,6 +6605,7 @@
 <translation id="8698269656364382265">Avvalgi ekranga qaytish uchun chap chekkadan suring.</translation>
 <translation id="869884720829132584">Ilovalar menyusi</translation>
 <translation id="869891660844655955">Tugash muddati</translation>
+<translation id="8702825062053163569"><ph name="DEVICE_TYPE" /> qulflangan.</translation>
 <translation id="8703346390800944767">Reklamani yopish</translation>
 <translation id="8705331520020532516">Seriya raqami</translation>
 <translation id="8705580154597116082">Telefon tarqatayotgan Wi-Fi tarmoq mavjud</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 09fae4e..8e704ff 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">Nhấn ESCAPE để bỏ qua (Chỉ phiên bản không chính thức).</translation>
 <translation id="1093457606523402488">Mạng hiển thị:</translation>
 <translation id="1094607894174825014">Đã yêu cầu tác vụ đọc hoặc ghi với hiệu số không hợp lệ trên: "<ph name="DEVICE_NAME" />".</translation>
+<translation id="1095761715416917775">Đảm bảo bạn luôn có thể truy cập vào dữ liệu đồng bộ hóa</translation>
 <translation id="109647177154844434">Khi bạn gỡ cài đặt ứng dụng Parallels Desktop, hình ảnh Windows của bạn sẽ bị xóa. Trong đó có cả các ứng dụng, tùy chọn cài đặt và dữ liệu. Bạn có chắc chắn muốn tiếp tục không?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 đường liên kết}other{# đường liên kết}}</translation>
 <translation id="1097658378307015415">Trước khi đăng nhập, vui lòng đăng nhập với tư cách khách để kích hoạt mạng <ph name="NETWORK_ID" /></translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">Chỉnh sửa công cụ tìm kiếm</translation>
 <translation id="1129850422003387628">Quản lý ứng dụng</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – Thuộc nhóm <ph name="GROUP_NAME" /></translation>
+<translation id="1130712065489627903">Bạn hiện có thể nhận thông báo của điện thoại trên <ph name="DEVICE_TYPE" />. Nếu bạn đóng thông báo trên <ph name="DEVICE_TYPE" />, thông báo trên điện thoại cũng sẽ bị đóng. Hãy đảm bảo điện thoại của bạn đang ở gần, mở khóa, đồng thời đã bật Bluetooth và Wi-Fi.</translation>
 <translation id="1134009406053225289">Mở trong cửa sổ ẩn danh</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" />/<ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Khóa bảo mật đã bị khóa do bạn nhập sai mã PIN quá nhiều lần. Để mở khóa, hãy rút ra và cắm lại.</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366">Luôn cho phép <ph name="HOST" /> sử dụng các cảm biến của thiết bị</translation>
 <translation id="1153356358378277386">Thiết bị được ghép nối</translation>
 <translation id="1153636665119721804">Chương trình Bảo vệ nâng cao của Google</translation>
+<translation id="1155816283571436363">Đang kết nối với điện thoại của bạn</translation>
 <translation id="1161575384898972166">Vui lòng đăng nhập vào <ph name="TOKEN_NAME" /> để xuất chứng chỉ ứng dụng khách.</translation>
 <translation id="1163931534039071049">&amp;Xem nguồn khung</translation>
 <translation id="1164891049599601209">Đã được nhập trên trang web lừa đảo</translation>
@@ -175,8 +178,8 @@
 <translation id="11901918071949011">{NUM_FILES,plural, =1{Truy cập một tệp được lưu trữ trên máy tính của bạn}other{Truy cập # tệp được lưu trữ trên máy tính của bạn}}</translation>
 <translation id="119092896208640858">Để chỉ xóa dữ liệu duyệt web khỏi thiết bị này nhưng vẫn lưu giữ trong Tài khoản Google của bạn, hãy <ph name="BEGIN_LINK" />đăng xuất<ph name="END_LINK" />.</translation>
 <translation id="1192706927100816598">{0,plural, =1{Bạn sẽ tự động đăng xuất sau # giây.
-<ph name="DOMAIN" /> yêu cầu bạn không được tháo thẻ thông minh.}other{Bạn sẽ tự động đăng xuất sau # giây.
-<ph name="DOMAIN" /> yêu cầu bạn không được tháo thẻ thông minh.}}</translation>
+<ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.}other{Bạn sẽ tự động đăng xuất sau # giây.
+<ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.}}</translation>
 <translation id="1193273168751563528">Vào phiên được quản lý</translation>
 <translation id="1193927020065025187">Trang web này có thể đang tìm cách lừa bạn để bạn cho phép thông báo xâm nhập</translation>
 <translation id="1195447618553298278">Lỗi chưa biết.</translation>
@@ -374,6 +377,15 @@
 <translation id="1420834118113404499">Giấy phép truyền thông</translation>
 <translation id="1420920093772172268"><ph name="TURN_ON_BLUETOOTH_LINK" /> để cho phép ghép nối</translation>
 <translation id="1422159345171879700">Tải tập lệnh không an toàn</translation>
+<translation id="1423716227250567100">Hành động này sẽ:
+          <ph name="LINE_BREAKS" />
+           • Đặt lại các tùy chọn cài đặt Chrome và phím tắt Chrome
+           <ph name="LINE_BREAK" />
+           • Tắt tiện ích
+           <ph name="LINE_BREAK" />
+           • Xóa cookie và dữ liệu trang web tạm thời khác
+            <ph name="LINE_BREAKS" />
+           Dấu trang, lịch sử duyệt web và mật khẩu đã lưu sẽ không bị ảnh hưởng.</translation>
 <translation id="1426410128494586442">Có</translation>
 <translation id="142655739075382478">Đã chặn <ph name="APP_NAME" /></translation>
 <translation id="1426870617281699524">Hãy nhấp vào Thử lại rồi chấp nhận lời nhắc trên máy tính của bạn</translation>
@@ -801,6 +813,7 @@
 <translation id="1887597546629269384">Nói lại "Ok Google"</translation>
 <translation id="1887850431809612466">Hiệu chỉnh phần cứng</translation>
 <translation id="1890674179660343635">&lt;span&gt;ID: &lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">Dung lượng ổ đĩa quá thấp. Vui lòng giải phóng dung lượng ổ đĩa.</translation>
 <translation id="189210018541388520">Mở chế độ toàn màn hình</translation>
 <translation id="1892341345406963517">Xin chào <ph name="PARENT_NAME" />!</translation>
 <translation id="189358972401248634">Ngôn ngữ khác</translation>
@@ -1019,6 +1032,7 @@
 <translation id="2157474325782140681">Để có thêm tính năng, hãy sử dụng đế sạc Dell tương thích với Chromebook này.</translation>
 <translation id="215753907730220065">Thoát khỏi Chế độ Toàn màn hình</translation>
 <translation id="2157875535253991059">Trang này hiện ở chế độ toàn màn hình.</translation>
+<translation id="2160589599612868242">Nhận các thông báo của điện thoại trên <ph name="DEVICE_TYPE" /> của bạn</translation>
 <translation id="216169395504480358">Thêm Wi-Fi...</translation>
 <translation id="2162155940152307086">Quá trình đồng bộ hóa sẽ bắt đầu sau khi bạn thoát khỏi trang cài đặt đồng bộ hóa</translation>
 <translation id="2162838847352058695">Không cho các trang web tự động tải nhiều tệp xuống</translation>
@@ -1027,6 +1041,7 @@
 <translation id="2165421703844373933">Nói "Ok Google" khi bạn muốn sử dụng Trợ lý. Để tiết kiệm pin, hãy chọn “Bật (Khuyên dùng)”. Trợ lý của bạn sẽ chỉ phản hồi khi thiết bị đã cắm điện hoặc đang sạc.</translation>
 <translation id="2166369534954157698">Lươn ngắn lại chê trạch dài</translation>
 <translation id="2169062631698640254">Đăng nhập bằng mọi cách</translation>
+<translation id="2170054054876170358">Hãy đảm bảo điện thoại của bạn đang ở gần, mở khóa, đồng thời đã bật Bluetooth và Wi-Fi.</translation>
 <translation id="2172784515318616985">Tiếp tục</translation>
 <translation id="2173302385160625112">Kiểm tra đường kết nối Internet của bạn</translation>
 <translation id="2173801458090845390">Thêm ID yêu cầu vào thiết bị này</translation>
@@ -1226,12 +1241,14 @@
 <translation id="2395616325548404795">Thiết bị <ph name="DEVICE_TYPE" /> của bạn đã được đăng ký thành công cho quản lý doanh nghiệp, nhưng không gửi được thông tin phần tử và vị trí. Vui lòng nhập thủ công thông tin này từ Bảng điều khiển dành cho quản trị viên của thiết bị này.</translation>
 <translation id="2396387085693598316">Quản trị viên đã chặn "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="2396783860772170191">Nhập mã pin có 4 chữ số (0000-9999)</translation>
+<translation id="2399699884460174994">Đã bật thông báo</translation>
 <translation id="2399939490305346086">Dữ liệu đăng nhập trên khóa bảo mật</translation>
 <translation id="2400664245143453337">Bạn cần cập nhật ngay</translation>
 <translation id="2408018932941436077">Đang lưu thẻ</translation>
 <translation id="2408955596600435184">Nhập mã PIN của bạ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>
 <translation id="2416435988630956212">Phím chức năng trên bàn phím</translation>
 <translation id="241727068219398187">Dữ liệu được mã hóa bằng mật khẩu Google của bạn kể từ
           <ph name="TIME" />. Dữ liệu này không bao gồm địa chỉ và phương thức thanh toán từ Google Pay.</translation>
@@ -1357,6 +1374,7 @@
 <translation id="2538084450874617176">Ai sẽ dùng <ph name="DEVICE_TYPE" /> này?</translation>
 <translation id="2538361623464451692">Tính năng đồng bộ hóa đã bị tắt</translation>
 <translation id="2540449034743108469">Nhấn "Bắt đầu" để nghe các hoạt động của tiện ích</translation>
+<translation id="2540651571961486573">Đã xảy ra lỗi. Mã lỗi: <ph name="ERROR_CODE" />.</translation>
 <translation id="2541002089857695151">Bạn muốn tối ưu hóa tính năng truyền toàn màn hình?</translation>
 <translation id="2541706104884128042">Đã đặt giờ đi ngủ mới</translation>
 <translation id="2542050502251273923">Đặt cấp gỡ lỗi cho trình quản lý kết nối mạng và các dịch vụ khác bằng ff_debug.</translation>
@@ -1404,6 +1422,7 @@
 <translation id="2607101320794533334">Thông tin Khoá Công cộng Đối tượng</translation>
 <translation id="2607968157341167679">Không có album nào. Hãy tạo một album trong <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" />.</translation>
 <translation id="2609896558069604090">Tạo phím tắt...</translation>
+<translation id="2609980095400624569">Không thể thiết lập đường kết nối</translation>
 <translation id="2610157865375787051">Ngủ</translation>
 <translation id="2610260699262139870">Kíc&amp;h thước thực</translation>
 <translation id="2610780100389066815">Ký Danh sách Tin cậy của Microsoft</translation>
@@ -1657,6 +1676,7 @@
 <translation id="2885729872133513017">Đã xảy ra lỗi khi giải mã phản hồi của máy chủ.</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">Mở liên kết bằng...</translation>
+<translation id="2889481634493693121">Bật thông báo trên điện thoại của bạn</translation>
 <translation id="2889925978073739256">Tiếp tục chặn plugin không có hộp cát</translation>
 <translation id="2893168226686371498">Trình duyệt mặc định</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 văn bản}other{# văn bản}}</translation>
@@ -1687,7 +1707,7 @@
 <translation id="2916745397441987255">Tìm kiếm trong tiện ích</translation>
 <translation id="2921081876747860777">Vui lòng tạo mật khẩu để bảo vệ dữ liệu cục bộ của bạn.</translation>
 <translation id="2923006468155067296"><ph name="DEVICE_TYPE" /> của bạn sẽ khóa ngay bây giờ.
-<ph name="DOMAIN" /> yêu cầu bạn không được tháo thẻ thông minh.</translation>
+<ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.</translation>
 <translation id="2923234477033317484">Xóa tài khoản này</translation>
 <translation id="2926085873880284723">Khôi phục các phím tắt mặc định</translation>
 <translation id="2927017729816812676">Bộ nhớ đệm</translation>
@@ -1751,6 +1771,7 @@
 <translation id="3000461861112256445">Đơn âm</translation>
 <translation id="3001144475369593262">Tài khoản con</translation>
 <translation id="3003144360685731741">Mạng ưa thích</translation>
+<translation id="3003189754374775221">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />%, Kết nối</translation>
 <translation id="3003623123441819449">Bộ nhớ đệm CSS</translation>
 <translation id="3003828226041301643">Không thể kết hợp thiết bị với miền. Hãy kiểm tra tài khoản của bạn để đảm bảo bạn có quyền thêm thiết bị.</translation>
 <translation id="3003967365858406397"><ph name="PHONE_NAME" /> của bạn sẽ tạo kết nối Wi-Fi riêng tư.</translation>
@@ -1802,6 +1823,7 @@
 <translation id="3058498974290601450">Bạn có thể bật tính năng đồng bộ hóa bất cứ lúc nào trong phần cài đặt</translation>
 <translation id="3060379269883947824">Bật chọn để nói</translation>
 <translation id="3060952009917586498">Thay đổi ngôn ngữ của thiết bị. Ngôn ngữ hiện tại là <ph name="LANGUAGE" />.</translation>
+<translation id="3060987956645097882">Chúng tôi không thể thiết lập đường kết nối với điện thoại của bạn. Hãy đảm bảo điện thoại của bạn đang ở gần, mở khóa, đồng thời đã bật Bluetooth và Wi-Fi.</translation>
 <translation id="3065041951436100775">Phản hồi thẻ bị lỗi.</translation>
 <translation id="306535478112428611">Không được phép chỉnh sửa tệp và thư mục trên thiết bị của bạn</translation>
 <translation id="3065522099314259755">Độ trễ lặp lại trên bàn phím</translation>
@@ -1858,6 +1880,7 @@
 <translation id="3129215702932019810">Lỗi khi chạy ứng dụng</translation>
 <translation id="3130528281680948470">Thiết bị của bạn sẽ được đặt lại và tất cả các tài khoản người dùng và dữ liệu cục bộ sẽ bị xóa. Không thể hoàn tác thao tác này.</translation>
 <translation id="313205617302240621">Bạn quên mật khẩu?</translation>
+<translation id="3132277757485842847">Chúng tôi không thể duy trì đường kết nối với điện thoại của bạn. Hãy đảm bảo điện thoại của bạn đang ở gần, mở khóa, đồng thời đã bật Bluetooth và Wi-Fi.</translation>
 <translation id="3132996321662585180">Làm mới hàng ngày</translation>
 <translation id="313963229645891001">Đang tải xuống, còn <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Hình đại diện màu vàng mặc định</translation>
@@ -2902,6 +2925,7 @@
 <translation id="4378551569595875038">Đang kết nối…</translation>
 <translation id="4378556263712303865">Yêu cầu thiết bị</translation>
 <translation id="4379281552162875326">Gỡ cài đặt "<ph name="APP_NAME" />"?</translation>
+<translation id="4380245540200674032">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />%, Do quản trị viên của bạn quản lý, Thông tin chi tiết</translation>
 <translation id="4380648069038809855">Đã chuyển sang chế độ toàn màn hình</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" />, +1 tài khoản nữa}other{<ph name="EMAIL" />, +<ph name="EXTRA_ACCOUNTS" /> tài khoản nữa}}</translation>
 <translation id="4384312707950789900">Thêm vào ưa thích</translation>
@@ -3325,6 +3349,7 @@
 <translation id="4880827082731008257">Lịch sử tìm kiếm</translation>
 <translation id="4881695831933465202">Mở</translation>
 <translation id="4882312758060467256">Có quyền truy cập vào trang web này</translation>
+<translation id="4882670371033027418">Thiết lập vân tay để mở khóa <ph name="DEVICE_TYPE" /> của bạn nhanh hơn</translation>
 <translation id="4882831918239250449">Kiểm soát cách Google sử dụng lịch sử duyệt web của bạn để cá nhân hóa dịch vụ Tìm kiếm, quảng cáo và các dịch vụ khác</translation>
 <translation id="4882919381756638075">Các trang web thường sử dụng micrô cho các tính năng giao tiếp như trò chuyện video</translation>
 <translation id="4883436287898674711">Tất cả trang web <ph name="WEBSITE_1" /></translation>
@@ -3349,6 +3374,7 @@
 <translation id="4902546322522096650">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="SECURITY_STATUS" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />%, Kết nối</translation>
 <translation id="49027928311173603">Chính sách được tải xuống từ máy chủ không hợp lệ: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4906490889887219338">Thiết lập hoặc quản lý tính năng chia sẻ tệp trong mạng. <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />%, Pin điện thoại <ph name="BATTERY_STATUS" />%, Thông tin chi tiết</translation>
 <translation id="4907161631261076876">Tệp này thường không được tải xuống và có thể nguy hiểm.</translation>
 <translation id="4907306957610201395">Danh mục quyền</translation>
 <translation id="4908811072292128752">Mở thẻ mới để duyệt hai trang web cùng lúc</translation>
@@ -3795,6 +3821,7 @@
 <translation id="5457991019809708398">Bật, không chuyển vùng</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">Ghi chú trên màn hình khóa</translation>
+<translation id="5461050611724244538">Mất kết nối với điện thoại của bạn</translation>
 <translation id="5463231940765244860">Nhập</translation>
 <translation id="5463275305984126951">Chỉ mục của <ph name="LOCATION" /></translation>
 <translation id="5463856536939868464">Menu chứa các dấu trang bị ẩn</translation>
@@ -4288,6 +4315,7 @@
 <translation id="6031600495088157824">Các tùy chọn phương thức nhập trên thanh công cụ</translation>
 <translation id="6032715498678347852">Để cấp cho một tiện ích quyền truy cập vào trang web này, hãy nhấp vào tiện ích đó.</translation>
 <translation id="6032912588568283682">Hệ thống tệp</translation>
+<translation id="603539183851330738">Nút hủy thao tác tự động sửa lỗi. Chuyển về <ph name="TYPED_WORD" />.  Nhấn phím Enter để kích hoạt hoặc nhấn phím Escape để đóng.</translation>
 <translation id="6035517790085323771">Người có thể chia sẻ với thiết bị của bạn</translation>
 <translation id="6038929619733116134">Chặn nếu trang web hiển thị quảng cáo xâm nhập hoặc quảng cáo gây hiểu nhầm</translation>
 <translation id="6039651071822577588">Từ điển thuộc tính mạng có định dạng không đúng</translation>
@@ -4427,6 +4455,7 @@
 <translation id="6185132558746749656">Vị trí thiết bị</translation>
 <translation id="6186394437969115158">Các trang web thường hiển thị quảng cáo để cung cấp miễn phí nội dung hoặc dịch vụ. Tuy nhiên, một số trang web được xác định là hiển thị quảng cáo xâm nhập hoặc quảng cáo gây hiểu nhầm.</translation>
 <translation id="6195693561221576702">Không thể thiết lập thiết bị này ở chế độ minh họa ngoại tuyến.</translation>
+<translation id="6195724942939841102">Không khôi phục</translation>
 <translation id="6196640612572343990">Chặn cookie của bên thứ ba</translation>
 <translation id="6196854373336333322">Tiện ích "<ph name="EXTENSION_NAME" />" đã chiếm quyền kiểm soát cài đặt proxy của bạn, điều đó có nghĩa là tiện ích này có thể thay đổi, làm gián đoạn hoặc nghe trộm bất kỳ điều gì bạn thực hiện trực tuyến. Nếu bạn không chắc chắn về lý do thay đổi này diễn ra, bạn có thể không cần tiện ích này.</translation>
 <translation id="6198102561359457428">Đăng xuất rồi đăng nhập lại...</translation>
@@ -4466,6 +4495,7 @@
 <translation id="6238767809035845642">Văn bản được chia sẻ từ Thiết bị khác</translation>
 <translation id="6238923052227198598">Giữ ghi chú mới nhất trên màn hình khóa</translation>
 <translation id="6239558157302047471">Tải lại &amp;khung</translation>
+<translation id="6240821072888636753">Luôn hỏi</translation>
 <translation id="6241530762627360640">Truy cập thông tin về thiết bị Bluetooth được ghép nối với hệ thống của bạn và khám phá các thiết bị Bluetooth lân cận.</translation>
 <translation id="6241844896329831164">Không có quyền truy cập cần thiết</translation>
 <translation id="6242574558232861452">Đang kiểm tra để xem tệp có tuân thủ các chính sách bảo mật của tổ chức bạn hay không.</translation>
@@ -4498,6 +4528,7 @@
 <translation id="6268252012308737255">Mở bằng <ph name="APP" /></translation>
 <translation id="6270391203985052864">Các trang web có thể xin phép gửi thông báo</translation>
 <translation id="6270770586500173387">Gửi <ph name="BEGIN_LINK1" />thông tin hệ thống và ứng dụng<ph name="END_LINK1" /> cũng như <ph name="BEGIN_LINK2" />số liệu<ph name="END_LINK2" /></translation>
+<translation id="6271348838875430303">đã hủy thao tác sửa</translation>
 <translation id="6272643420381259437">Đã xảy ra lỗi (<ph name="ERROR" />) khi tải xuống plugin</translation>
 <translation id="6273677812470008672">Chất lượng</translation>
 <translation id="6276210637549544171">Proxy <ph name="PROXY_SERVER" /> yêu cầu nhập tên người dùng và mật khẩu.</translation>
@@ -4512,7 +4543,7 @@
 <translation id="6280912520669706465">ARC</translation>
 <translation id="6282180787514676874">{COUNT,plural, =1{Vượt quá giới hạn 1 tờ giấy}other{Vượt quá giới hạn {COUNT} tờ giấy}}</translation>
 <translation id="6283438600881103103">Bạn sẽ tự động đăng xuất ngay bây giờ.
-<ph name="DOMAIN" /> yêu cầu bạn không được tháo thẻ thông minh.</translation>
+<ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.</translation>
 <translation id="628352644014831790">4 giây</translation>
 <translation id="6285120108426285413"><ph name="FILE_NAME" /> thường không được tải xuống và có thể nguy hiểm.</translation>
 <translation id="6285120908535925801">{NUM_PRINTER,plural, =1{Máy in mới trên mạng của bạn}other{Máy in mới trên mạng của bạn}}</translation>
@@ -4719,6 +4750,7 @@
 <translation id="6532527800157340614">Không đăng nhập được do không thể lấy mã truy cập. Vui lòng kiểm tra kết nối mạng rồi thử lại.</translation>
 <translation id="6532663472409656417">Do doanh nghiệp đăng ký</translation>
 <translation id="6535331821390304775">Luôn cho phép <ph name="ORIGIN" /> mở loại đường liên kết này trong ứng dụng liên kết</translation>
+<translation id="653659894138286600">Quét tài liệu và hình ảnh</translation>
 <translation id="6537613839935722475">Tên có thể chứa chữ cái, số và dấu gạch nối (-)</translation>
 <translation id="6537880577641744343">Commander</translation>
 <translation id="6538635548667167211">Chế độ sử dụng dữ liệu hiện tại là Dữ liệu</translation>
@@ -4979,6 +5011,7 @@
 <translation id="6853388645642883916">Trình cập nhật đang ở chế độ ngủ</translation>
 <translation id="68541483639528434">Đóng các thẻ khác</translation>
 <translation id="6855892664589459354">Sao lưu và khôi phục Crostini</translation>
+<translation id="6856459657722366306">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, <ph name="CONNECTION_STATUS" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />%, Thông tin chi tiết</translation>
 <translation id="6856623341093082836">Thiết lập và điều chỉnh độ chính xác của màn hình cảm ứng</translation>
 <translation id="6857699260879628349">Lấy thông tin cấu hình</translation>
 <translation id="6860097299815761905">Cài đặt proxy...</translation>
@@ -5120,6 +5153,7 @@
 <translation id="7005496624875927304">Quyền bổ sung</translation>
 <translation id="7005812687360380971">Lỗi</translation>
 <translation id="7005848115657603926">Phạm vi trang không hợp lệ, sử dụng <ph name="EXAMPLE_PAGE_RANGE" /></translation>
+<translation id="700651317925502808">Đặt lại các tùy chọn cài đặt?</translation>
 <translation id="7006634003215061422">Lề dưới</translation>
 <translation id="7007648447224463482">Mở tất cả trong cửa sổ mới</translation>
 <translation id="7009709314043432820"><ph name="APP_NAME" /> đang sử dụng máy ảnh của bạn</translation>
@@ -5148,6 +5182,7 @@
 <translation id="7044124535091449260">Tìm hiểu thêm về quyền truy cập vào trang web</translation>
 <translation id="7044606776288350625">Dữ liệu đồng bộ hóa</translation>
 <translation id="7047059339731138197">Chọn nền</translation>
+<translation id="7048024426273850086">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, <ph name="PROVIDER_NAME" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />%, Pin điện thoại <ph name="BATTERY_STATUS" />%, Kết nối</translation>
 <translation id="7049293980323620022">Giữ tệp?</translation>
 <translation id="7051943809462976355">Đang tìm kiếm chuột...</translation>
 <translation id="7052237160939977163">Gửi dữ liệu theo dõi hoạt động</translation>
@@ -5289,6 +5324,7 @@
 <translation id="7213903639823314449">Công cụ tìm kiếm được dùng trong thanh địa chỉ</translation>
 <translation id="7216409898977639127">Nhà cung cấp dịch vụ di động</translation>
 <translation id="7216595297012131718">Sắp xếp ngôn ngữ dựa trên tùy chọn của bạn</translation>
+<translation id="7219473482981809164">Chúng tôi phát hiện có nhiều hồ sơ cho bạn tải xuống. Hãy chọn những hồ sơ mà bạn muốn tải xuống trước khi tiếp tục.</translation>
 <translation id="7220019174139618249">Không thể xuất mật khẩu sang "<ph name="FOLDER" />"</translation>
 <translation id="722055596168483966">Cá nhân hóa dịch vụ của Google</translation>
 <translation id="722099540765702221">Nguồn sạc</translation>
@@ -5571,6 +5607,7 @@
 <translation id="7556033326131260574">Smart Lock không thể xác minh tài khoản của bạn. Hãy nhập mật khẩu của bạn để truy cập.</translation>
 <translation id="7556242789364317684">Thật không may, <ph name="SHORT_PRODUCT_NAME" /> không thể khôi phục cài đặt của bạn. Để khắc phục lỗi, <ph name="SHORT_PRODUCT_NAME" /> phải đặt lại thiết bị của bạn bằng Powerwash.</translation>
 <translation id="7557194624273628371">Chuyển tiếp cổng Linux</translation>
+<translation id="7559269329306630685">Dữ liệu vân tay được lưu trữ an toàn và chỉ có trên <ph name="DEVICE_TYPE" /> của bạn.</translation>
 <translation id="7559719679815339381">Vui lòng đợi....ứng dụng Kiosk đang được cập nhật. Vui lòng không rút thẻ USB.</translation>
 <translation id="7561196759112975576">Luôn luôn</translation>
 <translation id="756445078718366910">Mở Cửa sổ Trình duyệt</translation>
@@ -6020,6 +6057,7 @@
 <translation id="8045923671629973368">Hãy nhập ID ứng dụng hoặc URL cửa hàng trực tuyến</translation>
 <translation id="8047242494569930800">Di chuyển sang Tài khoản Google</translation>
 <translation id="804786196054284061">Thỏa thuận cấp phép người dùng cuối</translation>
+<translation id="8048977114738515028">Tạo một lối tắt trên màn hình trên thiết bị của bạn để truy cập ngay vào hồ sơ này</translation>
 <translation id="8049705080247101012">Google đã gắn cờ "<ph name="EXTENSION_NAME" />" là độc hại và cài đặt đã bị chặn</translation>
 <translation id="8049948037269924837">Đảo ngược hướng cuộn bàn di chuột</translation>
 <translation id="8050038245906040378">Ký Mã Thương mại của Microsoft</translation>
@@ -6451,6 +6489,7 @@
 <translation id="8569682776816196752">Không tìm thấy điểm đến nào</translation>
 <translation id="8571213806525832805">4 tuần qua</translation>
 <translation id="8571687764447439720">Thêm vé Kerberos</translation>
+<translation id="8571814292654854151">Đặt tên cho hồ sơ của bạn</translation>
 <translation id="8574990355410201600">Luôn cho phép phát âm thanh trên <ph name="HOST" /></translation>
 <translation id="8575286410928791436">Giữ phím <ph name="KEY_EQUIVALENT" /> để thoát</translation>
 <translation id="8576249514688522074">Chưa khởi chạy</translation>
@@ -6605,6 +6644,7 @@
 <translation id="8737914367566358838">Chọn ngôn ngữ mà trang sẽ được dịch sang</translation>
 <translation id="8740247629089392745">Bạn có thể đưa lại Chromebook này cho <ph name="SUPERVISED_USER_NAME" />. Sắp thiết lập xong. Hãy chuẩn bị khám phá.</translation>
 <translation id="8742998548129056176">Đây là thông tin chung về thiết bị và cách bạn sử dụng thiết bị (như mức pin, hoạt động của ứng dụng và hệ thống cũng như các lỗi). Dữ liệu này sẽ dùng để cải thiện Android và một số thông tin tổng hợp cũng sẽ giúp các ứng dụng và đối tác của Google, chẳng hạn như nhà phát triển Android, cải thiện ứng dụng và sản phẩm của họ.</translation>
+<translation id="8743164338060742337">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, <ph name="NETWORK_PROVIDER_NAME" />, Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />%, Do quản trị viên của bạn quản lý, Kết nối</translation>
 <translation id="8743390665131937741">Mức thu phóng toàn bộ màn hình:</translation>
 <translation id="8743864605301774756">Đã cập nhật 1 giờ trước</translation>
 <translation id="8746654918629346731">Bạn đã yêu cầu "<ph name="EXTENSION_NAME" />"</translation>
@@ -6640,8 +6680,8 @@
 <translation id="8775144690796719618">URL không hợp lệ</translation>
 <translation id="8775163630211761057">Sử dụng mọi thứ có trên chiếc điện thoại Android của bạn thông qua <ph name="DEVICE_TYPE" /></translation>
 <translation id="8775653927968399786">{0,plural, =1{<ph name="DEVICE_TYPE" /> của bạn sẽ tự động khóa sau # giây.
-<ph name="DOMAIN" /> yêu cầu bạn không được tháo thẻ thông minh.}other{<ph name="DEVICE_TYPE" /> của bạn sẽ tự động khóa sau # giây.
-<ph name="DOMAIN" /> yêu cầu bạn không được tháo thẻ thông minh.}}</translation>
+<ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.}other{<ph name="DEVICE_TYPE" /> của bạn sẽ tự động khóa sau # giây.
+<ph name="DOMAIN" /> yêu cầu bạn không tháo thẻ thông minh.}}</translation>
 <translation id="8777628254805677039">mật khẩu gốc</translation>
 <translation id="8780123805589053431">Tải nội dung mô tả hình ảnh của Google</translation>
 <translation id="8780443667474968681">Tính năng tìm kiếm bằng giọng nói đã bị tắt.</translation>
@@ -6704,6 +6744,7 @@
 <translation id="8830796635868321089">Kiểm tra cập nhật không thành công khi sử dụng cài đặt proxy hiện tại. Vui lòng điều chỉnh <ph name="PROXY_SETTINGS_LINK_START" />cài đặt proxy<ph name="PROXY_SETTINGS_LINK_END" /> của bạn.</translation>
 <translation id="8831140208248705279"><ph name="DEVICE_TYPE" /> và điện thoại Android hoạt động hiệu quả hơn khi kết hợp cùng nhau. Hãy kết nối hai thiết bị này với nhau để có thể nhắn tin từ máy tính, chia sẻ kết nối Internet và mở khóa <ph name="DEVICE_TYPE" /> bằng điện thoại.<ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">Cấu hình mạng do <ph name="USER_EMAIL" /> kiểm soát.</translation>
+<translation id="8835786707922974220">Đảm bảo rằng bạn luôn có thể truy cập các mật khẩu đã lưu</translation>
 <translation id="8838601485495657486">Mờ</translation>
 <translation id="8838770651474809439">Bánh hamburger</translation>
 <translation id="883911313571074303">Chú thích hình ảnh</translation>
@@ -6719,6 +6760,7 @@
 <translation id="885246833287407341">Đối số hàm API</translation>
 <translation id="8853586775156634952">Thẻ này sẽ chỉ được lưu vào thiết bị này</translation>
 <translation id="8855977033756560989">Thiết bị Chromebook Enterprise này đi kèm với Bản nâng cấp Chrome Enterprise. Để tận dụng các tính năng dành cho doanh nghiệp, hãy đăng ký thiết bị này bằng tài khoản quản trị viên của Google.</translation>
+<translation id="8856028055086294840">Khôi phục ứng dụng và trang</translation>
 <translation id="885701979325669005">Bộ nhớ</translation>
 <translation id="8859057652521303089">Chọn ngôn ngữ:</translation>
 <translation id="8859174528519900719">Khung phụ: <ph name="SUBFRAME_SITE" /></translation>
@@ -7082,6 +7124,7 @@
 <translation id="971774202801778802">URL dấu trang</translation>
 <translation id="973473557718930265">Thoát</translation>
 <translation id="975893173032473675">Ngôn ngữ cần dịch sang</translation>
+<translation id="976499800099896273">Hộp thoại hủy thao tác tự động sửa lỗi hiển thị cho từ <ph name="TYPED_WORD" /> đã được sửa thành từ <ph name="CORRECTED_WORD" />.  Nhấn phím mũi tên lên để truy cập hoặc nhấn phím Escape để bỏ qua.</translation>
 <translation id="978146274692397928">Độ rộng dấu câu ban đầu là Đầy đủ</translation>
 <translation id="97905529126098460">Cửa sổ này sẽ đóng sau khi quá trình hủy hoàn tất.</translation>
 <translation id="980731642137034229">Nút trình đơn thao tác</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index 7fd52c7..ba97a45 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -104,7 +104,7 @@
 <translation id="1116639326869298217">无法验证您的身份</translation>
 <translation id="1116694919640316211">关于</translation>
 <translation id="1116779635164066733">此设置是由“<ph name="NAME" />”这一扩展程序强制指定的。</translation>
-<translation id="1116811861615819198">目标设备未响应您的文件共享请求</translation>
+<translation id="1116811861615819198">目标设备未响应您的文件分享请求</translation>
 <translation id="1118738876271697201">系统未能确定设备型号或序列号。</translation>
 <translation id="1119447706177454957">内部错误</translation>
 <translation id="1122068467107743258">工作</translation>
@@ -1582,7 +1582,7 @@
 <translation id="2805646850212350655">Microsoft 加密文件系统</translation>
 <translation id="2805756323405976993">应用</translation>
 <translation id="2805770823691782631">更多详情</translation>
-<translation id="2806372837663997957">目标设备未接受您的文件共享请求</translation>
+<translation id="2806372837663997957">目标设备未接受您的文件分享请求</translation>
 <translation id="2807517655263062534">您下载的文件会显示在此处</translation>
 <translation id="2809586584051668049">及另外<ph name="NUMBER_ADDITIONAL_DISABLED" />个扩展程序</translation>
 <translation id="2810390687497823527">如果您不认识某款扩展程序或者您的浏览器无法按预期运行,您可在此处关闭或自定义扩展程序。</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index 7326396..7c12810 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -86,6 +86,7 @@
 <translation id="1091767800771861448">按下 ESCAPE 鍵可略過 (僅限非官方版本)。</translation>
 <translation id="1093457606523402488">可偵測到的網路:</translation>
 <translation id="1094607894174825014">在以下裝置上要求的讀取或寫入作業使用了無效的偏移:「<ph name="DEVICE_NAME" />」。</translation>
+<translation id="1095761715416917775">請確認你可以隨時存取同步處理的資料</translation>
 <translation id="109647177154844434">解除安裝 Parallels Desktop 時,系統將刪除 Windows 映像檔,包含其應用程式、設定和資料。確定要繼續嗎?</translation>
 <translation id="1097515232094183876">{COUNT,plural, =1{1 個連結}other{# 個連結}}</translation>
 <translation id="1097658378307015415">請在登入前以訪客身分進入,啟用網路 <ph name="NETWORK_ID" /></translation>
@@ -121,6 +122,7 @@
 <translation id="1128591060186966949">編輯搜尋引擎</translation>
 <translation id="1129850422003387628">管理應用程式</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - 屬於「<ph name="GROUP_NAME" />」群組</translation>
+<translation id="1130712065489627903">現在你可以在 <ph name="DEVICE_TYPE" /> 上接收手機的通知。在 <ph name="DEVICE_TYPE" /> 上關閉通知也會關閉手機上的通知。請確認你的手機在附近,且已解鎖及開啟藍牙和 Wi-Fi。</translation>
 <translation id="1134009406053225289">在無痕式視窗中開啟</translation>
 <translation id="1136179794690960030"><ph name="EMOJI_NAME" />。第 <ph name="EMOJI_INDEX" /> 個,總共 <ph name="EMOJI_COUNT" /> 個。</translation>
 <translation id="1136712381129578788">由於你輸入太多次錯誤的 PIN 碼,因此安全金鑰已遭到鎖定。如要解鎖,請移除安全金鑰後重新插入。</translation>
@@ -145,6 +147,7 @@
 <translation id="1151917987301063366">一律允許 <ph name="HOST" /> 存取感應器</translation>
 <translation id="1153356358378277386">配對裝置</translation>
 <translation id="1153636665119721804">Google 進階保護計畫</translation>
+<translation id="1155816283571436363">正在連線到你的手機</translation>
 <translation id="1161575384898972166">登入 <ph name="TOKEN_NAME" /> 即可匯出用戶端憑證。</translation>
 <translation id="1163931534039071049">檢視框架原始碼(&amp;V)</translation>
 <translation id="1164891049599601209">已在詐騙網站上輸入</translation>
@@ -374,6 +377,15 @@
 <translation id="1420834118113404499">媒體授權</translation>
 <translation id="1420920093772172268">如要允許配對,請<ph name="TURN_ON_BLUETOOTH_LINK" /></translation>
 <translation id="1422159345171879700">載入不安全的指令碼</translation>
+<translation id="1423716227250567100">這個動作將:
+          <ph name="LINE_BREAKS" />
+           • 重設 Chrome 設定和 Chrome 快速鍵
+           <ph name="LINE_BREAK" />
+           • 停用擴充功能
+           <ph name="LINE_BREAK" />
+           • 刪除 Cookie 和其他暫存網站資料
+            <ph name="LINE_BREAKS" />
+           書籤、歷史記錄及已儲存的密碼不會受到影響。</translation>
 <translation id="1426410128494586442">是</translation>
 <translation id="142655739075382478">「<ph name="APP_NAME" />」已遭封鎖</translation>
 <translation id="1426870617281699524">請點選 [再試一次] 並接受電腦顯示的提示</translation>
@@ -801,6 +813,7 @@
 <translation id="1887597546629269384">再說一次「Hey Google」</translation>
 <translation id="1887850431809612466">硬體版本</translation>
 <translation id="1890674179660343635">&lt;span&gt;ID:&lt;/span&gt;<ph name="EXTENSION_ID" /></translation>
+<translation id="1891362123137972260">磁碟空間嚴重不足,請釋出磁碟空間。</translation>
 <translation id="189210018541388520">開啟全螢幕</translation>
 <translation id="1892341345406963517"><ph name="PARENT_NAME" />,你好</translation>
 <translation id="189358972401248634">其他語言</translation>
@@ -1019,6 +1032,7 @@
 <translation id="2157474325782140681">如要取得其他功能,請使用這部 Chromebook 的專用座架。</translation>
 <translation id="215753907730220065">結束全螢幕</translation>
 <translation id="2157875535253991059">這個頁面已顯示為全螢幕。</translation>
+<translation id="2160589599612868242">在 <ph name="DEVICE_TYPE" /> 上接收手機的通知</translation>
 <translation id="216169395504480358">新增 Wi-Fi...</translation>
 <translation id="2162155940152307086">同步功能會在你退出同步功能設定後立即啟動</translation>
 <translation id="2162838847352058695">禁止網站自動下載多個檔案</translation>
@@ -1027,6 +1041,7 @@
 <translation id="2165421703844373933">只要說出「Ok Google」就能存取 Google 助理。如要節省電力,請選擇「啟用 (建議設定)」。這樣一來,你的 Google 助理就只會在裝置插上電源或充電時回應你的指令。</translation>
 <translation id="2166369534954157698">狐狗大戰</translation>
 <translation id="2169062631698640254">繼續登入</translation>
+<translation id="2170054054876170358">請確認你的手機在附近,且已解鎖及開啟藍牙和 Wi-Fi。</translation>
 <translation id="2172784515318616985">繼續</translation>
 <translation id="2173302385160625112">檢查你的網際網路連線</translation>
 <translation id="2173801458090845390">新增這部裝置的申請 ID</translation>
@@ -1100,7 +1115,7 @@
 <translation id="2249605167705922988">例如:1-5、8、11-13</translation>
 <translation id="2251218783371366160">使用系統檢視器開啟</translation>
 <translation id="225163402930830576">重新整理網路</translation>
-<translation id="225240747099314620">允許受保護內容的識別碼 (可能需要重新啟動電腦)</translation>
+<translation id="225240747099314620">允許受保護內容的 ID (可能需要重新啟動電腦)</translation>
 <translation id="2255077166240162850">這個裝置已鎖定使用其他網域或模式。</translation>
 <translation id="2255317897038918278">Microsoft 時間戳記</translation>
 <translation id="2256115617011615191">立即重新啟動</translation>
@@ -1226,12 +1241,14 @@
 <translation id="2395616325548404795">你的 <ph name="DEVICE_TYPE" /> 已成功註冊企業管理服務,但無法傳送資產和位置資訊。請前往管理控制台,為這個裝置手動輸入這些資訊。</translation>
 <translation id="2396387085693598316">管理員已封鎖「<ph name="EXTENSION_NAME" />」</translation>
 <translation id="2396783860772170191">輸入 4 位數 PIN 碼 (0000-9999)</translation>
+<translation id="2399699884460174994">已開啟通知功能</translation>
 <translation id="2399939490305346086">安全金鑰登入資料</translation>
 <translation id="2400664245143453337">必須立即更新</translation>
 <translation id="2408018932941436077">正在儲存信用卡</translation>
 <translation id="2408955596600435184">請輸入你的 PIN 碼</translation>
 <translation id="241082044617551207">不明的外掛程式</translation>
 <translation id="2412593942846481727">有可用的更新</translation>
+<translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">鍵盤功能鍵</translation>
 <translation id="241727068219398187">系統已採用你在 <ph name="TIME" />設定的 Google 密碼針對資料進行加密處理。加密的資料不包括 Google Pay 的付款方式和地址。</translation>
 <translation id="2419131370336513030">查看已安裝的應用程式</translation>
@@ -1356,6 +1373,7 @@
 <translation id="2538084450874617176">誰在使用這部 <ph name="DEVICE_TYPE" />?</translation>
 <translation id="2538361623464451692">同步處理已停用</translation>
 <translation id="2540449034743108469">按下 [開始] 即可監聽擴充功能活動</translation>
+<translation id="2540651571961486573">發生錯誤。錯誤代碼:<ph name="ERROR_CODE" />。</translation>
 <translation id="2541002089857695151">要讓全螢幕投放最佳化嗎?</translation>
 <translation id="2541706104884128042">已設定新的就寢時間</translation>
 <translation id="2542050502251273923">使用 ff_debug 設定網路連線管理員和其他服務的除錯等級。</translation>
@@ -1403,6 +1421,7 @@
 <translation id="2607101320794533334">主體公開金鑰資訊</translation>
 <translation id="2607968157341167679">沒有任何相簿。請在 <ph name="LINK_BEGIN" />Google 相簿<ph name="LINK_END" />中建立相簿。</translation>
 <translation id="2609896558069604090">建立捷徑...</translation>
+<translation id="2609980095400624569">無法建立連線</translation>
 <translation id="2610157865375787051">休眠</translation>
 <translation id="2610260699262139870">實際大小(&amp;C)</translation>
 <translation id="2610780100389066815">Microsoft 信任清單簽署</translation>
@@ -1656,6 +1675,7 @@
 <translation id="2885729872133513017">解碼伺服器回應時發生問題。</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2889064240420137087">使用其他程式開啟連結...</translation>
+<translation id="2889481634493693121">開啟手機上的通知功能</translation>
 <translation id="2889925978073739256">繼續封鎖無沙箱防護的外掛程式</translation>
 <translation id="2893168226686371498">預設瀏覽器</translation>
 <translation id="2893917546370257247">{COUNT,plural, =1{1 段文字}other{# 段文字}}</translation>
@@ -1750,6 +1770,7 @@
 <translation id="3000461861112256445">單聲道音訊</translation>
 <translation id="3001144475369593262">兒童帳戶</translation>
 <translation id="3003144360685731741">慣用網路</translation>
+<translation id="3003189754374775221">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="NETWORK_NAME" />,<ph name="NETWORK_PROVIDER_NAME" />,訊號強度 <ph name="SIGNAL_STRENGTH" />%,連線</translation>
 <translation id="3003623123441819449">CSS 快取</translation>
 <translation id="3003828226041301643">無法將這個裝置加入網域。請檢查你的帳戶是否有新增裝置的權限。</translation>
 <translation id="3003967365858406397">你的「<ph name="PHONE_NAME" />」將建立私人 Wi-Fi 連線。</translation>
@@ -1801,6 +1822,7 @@
 <translation id="3058498974290601450">你隨時可以在設定中開啟同步功能</translation>
 <translation id="3060379269883947824">啟用隨選朗讀功能</translation>
 <translation id="3060952009917586498">變更裝置語言。目前語言為<ph name="LANGUAGE" />。</translation>
+<translation id="3060987956645097882">無法與你的手機建立連線。請確認你的手機在附近,且已解鎖及開啟藍牙和 Wi-Fi。</translation>
 <translation id="3065041951436100775">分頁毀損意見回饋。</translation>
 <translation id="306535478112428611">不得編輯裝置上的檔案和資料夾</translation>
 <translation id="3065522099314259755">鍵盤重複延遲</translation>
@@ -1857,6 +1879,7 @@
 <translation id="3129215702932019810">啟動應用程式時發生錯誤</translation>
 <translation id="3130528281680948470">你的裝置將會進行重設,且所有使用者帳戶和本機資料都會遭到移除。這項操作無法復原。</translation>
 <translation id="313205617302240621">忘記密碼了嗎?</translation>
+<translation id="3132277757485842847">無法與你的手機維持連線狀態。請確認你的手機在附近,且已解鎖及開啟藍牙和 Wi-Fi。</translation>
 <translation id="3132996321662585180">每天重新整理</translation>
 <translation id="313963229645891001">下載中,<ph name="STATUS" /></translation>
 <translation id="3139925690611372679">預設的黃色顯示圖片</translation>
@@ -2045,7 +2068,7 @@
 <translation id="3378572629723696641">這個擴充功能可能已損毀。</translation>
 <translation id="337920581046691015">系統將會安裝「<ph name="PRODUCT_NAME" />」。</translation>
 <translation id="3380365263193509176">未知的錯誤</translation>
-<translation id="3382073616108123819">糟糕!系統無法判別這個裝置的裝置識別碼。</translation>
+<translation id="3382073616108123819">糟糕!系統無法判別這個裝置的裝置 ID。</translation>
 <translation id="3382086682569279540">系統即將移除你管理的帳戶</translation>
 <translation id="3382200254148930874">正在停用監督功能...</translation>
 <translation id="3385092118218578224"><ph name="DISPLAY_ZOOM" />%</translation>
@@ -2717,7 +2740,7 @@
 <translation id="4110895898888439383">以高對比模式瀏覽網路</translation>
 <translation id="4112194537011183136"><ph name="DEVICE_NAME" /> (離線)</translation>
 <translation id="4115002065223188701">偵測不到網路</translation>
-<translation id="4115080753528843955">部分內容服務會使用唯一識別碼來授予受保護內容的存取權</translation>
+<translation id="4115080753528843955">部分內容服務會使用專屬 ID 來授予受保護內容的存取權</translation>
 <translation id="4115378294792113321">洋紅色</translation>
 <translation id="4118579674665737931">請重新啟動裝置,然後再試一次。</translation>
 <translation id="4120388883569225797">無法重設這個安全金鑰</translation>
@@ -2900,6 +2923,7 @@
 <translation id="4378551569595875038">連線中…</translation>
 <translation id="4378556263712303865">裝置申請</translation>
 <translation id="4379281552162875326">要解除安裝「<ph name="APP_NAME" />」嗎?</translation>
+<translation id="4380245540200674032">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="NETWORK_NAME" />,<ph name="NETWORK_PROVIDER_NAME" />,<ph name="CONNECTION_STATUS" />,訊號強度 <ph name="SIGNAL_STRENGTH" />%,由系統管理員管理,詳細資料</translation>
 <translation id="4380648069038809855">已開啟全螢幕模式</translation>
 <translation id="4382131447572146376">{COUNT,plural, =0{<ph name="EMAIL" />}=1{<ph name="EMAIL" /> 和另外 1 個帳戶}other{<ph name="EMAIL" /> 和另外 <ph name="EXTRA_ACCOUNTS" /> 個帳戶}}</translation>
 <translation id="4384312707950789900">加入慣用網路</translation>
@@ -3209,7 +3233,7 @@
 <translation id="4730492586225682674">在螢幕鎖定狀態下顯示以觸控筆記錄的最新筆記</translation>
 <translation id="4733793249294335256">位置</translation>
 <translation id="473546211690256853">這個帳戶是由 <ph name="DOMAIN" /> 負責管理。</translation>
-<translation id="4735803855089279419">系統無法判別這個裝置的裝置識別碼。</translation>
+<translation id="4735803855089279419">系統無法判別這個裝置的裝置 ID。</translation>
 <translation id="4736292055110123391">讓你在所有裝置上的書籤、密碼、歷史記錄及其他設定保持同步</translation>
 <translation id="473775607612524610">更新</translation>
 <translation id="473936925429402449">已選取 <ph name="TOTAL_ELEMENTS" /> 個額外內容裡的第 <ph name="CURRENT_ELEMENT" /> 個</translation>
@@ -3323,6 +3347,7 @@
 <translation id="4880827082731008257">搜尋記錄</translation>
 <translation id="4881695831933465202">開啟</translation>
 <translation id="4882312758060467256">有權存取這個網站</translation>
+<translation id="4882670371033027418">設定指紋即可更快速地解鎖 <ph name="DEVICE_TYPE" /></translation>
 <translation id="4882831918239250449">控制 Google 使用瀏覽記錄提供個人化搜尋服務、廣告和其他內容的方式</translation>
 <translation id="4882919381756638075">網站通常會使用你的麥克風,以提供視訊通訊等通訊功能</translation>
 <translation id="4883436287898674711">所有 <ph name="WEBSITE_1" /> 網站</translation>
@@ -3347,6 +3372,7 @@
 <translation id="4902546322522096650">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="NETWORK_NAME" />,<ph name="SECURITY_STATUS" />,訊號強度 <ph name="SIGNAL_STRENGTH" />%,連線</translation>
 <translation id="49027928311173603">從伺服器下載的政策無效:<ph name="VALIDATION_ERROR" />。</translation>
 <translation id="4906490889887219338">設定或管理網路檔案共用。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
+<translation id="4906580650526544301">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="PHONE_NAME" />,<ph name="PROVIDER_NAME" />,<ph name="CONNECTION_STATUS" />,訊號強度 <ph name="SIGNAL_STRENGTH" />%,手機電量 <ph name="BATTERY_STATUS" />%,詳細資料</translation>
 <translation id="4907161631261076876">一般使用者不常下載這個檔案,代表這個檔案可能不安全。</translation>
 <translation id="4907306957610201395">權限類別</translation>
 <translation id="4908811072292128752">開啟新分頁即可一次瀏覽兩個網站</translation>
@@ -3793,6 +3819,7 @@
 <translation id="5457991019809708398">已啟用,未使用漫遊服務</translation>
 <translation id="5458214261780477893">Dvorak</translation>
 <translation id="5458998536542739734">螢幕鎖定時的記事設定</translation>
+<translation id="5461050611724244538">手機連線中斷</translation>
 <translation id="5463231940765244860">輸入</translation>
 <translation id="5463275305984126951"><ph name="LOCATION" /> 的索引</translation>
 <translation id="5463856536939868464">選單包含隱藏的書籤</translation>
@@ -4286,6 +4313,7 @@
 <translation id="6031600495088157824">工具列中的輸入選項</translation>
 <translation id="6032715498678347852">如要授予擴充功能這個網站的存取權,請按一下該擴充功能。</translation>
 <translation id="6032912588568283682">檔案系統</translation>
+<translation id="603539183851330738">復原自動更正內容的按鈕,還原為「<ph name="TYPED_WORD" />」。按下 Enter 鍵即可啟用,按 Esc 鍵可關閉。</translation>
 <translation id="6035517790085323771">哪些人可與你的裝置分享內容</translation>
 <translation id="6038929619733116134">封鎖干擾性或誤導性的網站廣告</translation>
 <translation id="6039651071822577588">網路屬性字典格式錯誤</translation>
@@ -4425,6 +4453,7 @@
 <translation id="6185132558746749656">裝置位置</translation>
 <translation id="6186394437969115158">網站通常會顯示廣告,以便提供免費的內容或服務。不過,某些網站會顯示干擾性或誤導性的廣告。</translation>
 <translation id="6195693561221576702">這個裝置無法設為離線示範模式。</translation>
+<translation id="6195724942939841102">不要還原</translation>
 <translation id="6196640612572343990">封鎖第三方 Cookie</translation>
 <translation id="6196854373336333322">您的 Proxy 設定已受到擴充功能「<ph name="EXTENSION_NAME" />」控制,該擴充功能可變更、中斷、或監視您在網路上的行為。如果您不確定這項變更的發生原因,建議您停用該擴充功能。</translation>
 <translation id="6198102561359457428">登出然後再次登入...</translation>
@@ -4464,6 +4493,7 @@
 <translation id="6238767809035845642">從其他裝置分享的文字</translation>
 <translation id="6238923052227198598">在鎖定畫面上顯示最新記事</translation>
 <translation id="6239558157302047471">重新載入頁框(&amp;F)</translation>
+<translation id="6240821072888636753">每次都詢問</translation>
 <translation id="6241530762627360640">存取與系統配對的藍牙裝置資訊並搜尋附近的藍牙裝置。</translation>
 <translation id="6241844896329831164">不需要存取權</translation>
 <translation id="6242574558232861452">正在檢查下載內容是否符合貴機構的安全性政策。</translation>
@@ -4496,6 +4526,7 @@
 <translation id="6268252012308737255">使用「<ph name="APP" />」開啟</translation>
 <translation id="6270391203985052864">網站可以要求傳送通知給你</translation>
 <translation id="6270770586500173387">傳送<ph name="BEGIN_LINK1" />系統和應用程式資訊<ph name="END_LINK1" />,以及<ph name="BEGIN_LINK2" />指標<ph name="END_LINK2" />資訊</translation>
+<translation id="6271348838875430303">已復原更正內容</translation>
 <translation id="6272643420381259437">下載外掛程式時發生錯誤 (<ph name="ERROR" />)</translation>
 <translation id="6273677812470008672">品質</translation>
 <translation id="6276210637549544171">Proxy <ph name="PROXY_SERVER" /> 要求你提供使用者名稱和密碼。</translation>
@@ -4717,6 +4748,7 @@
 <translation id="6532527800157340614">無法擷取你的存取憑證,因此登入失敗。請檢查網路連線,然後再試一次。</translation>
 <translation id="6532663472409656417">已註冊企業</translation>
 <translation id="6535331821390304775">一律允許 <ph name="ORIGIN" /> 使用相關聯的應用程式開啟這類連結</translation>
+<translation id="653659894138286600">掃描文件和圖片</translation>
 <translation id="6537613839935722475">名稱可以包含字母、數字和連字號 (-)</translation>
 <translation id="6537880577641744343">指令工具</translation>
 <translation id="6538635548667167211">目前的數據用量設定是使用行動數據</translation>
@@ -4977,6 +5009,7 @@
 <translation id="6853388645642883916">更新程式休眠中</translation>
 <translation id="68541483639528434">關閉其他分頁</translation>
 <translation id="6855892664589459354">Crostini 備份與還原</translation>
+<translation id="6856459657722366306">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="NETWORK_NAME" />,<ph name="NETWORK_PROVIDER_NAME" />,<ph name="CONNECTION_STATUS" />,訊號強度 <ph name="SIGNAL_STRENGTH" />%,詳細資料</translation>
 <translation id="6856623341093082836">設定及調整觸控螢幕精確度</translation>
 <translation id="6857699260879628349">取得設定資訊</translation>
 <translation id="6860097299815761905">Proxy 設定...</translation>
@@ -5118,6 +5151,7 @@
 <translation id="7005496624875927304">其他權限</translation>
 <translation id="7005812687360380971">失敗</translation>
 <translation id="7005848115657603926">頁面範圍無效,請使用 <ph name="EXAMPLE_PAGE_RANGE" /></translation>
+<translation id="700651317925502808">要重設設定嗎?</translation>
 <translation id="7006634003215061422">下邊界</translation>
 <translation id="7007648447224463482">在新視窗中開啟所有書籤</translation>
 <translation id="7009709314043432820">「<ph name="APP_NAME" />」正在使用攝影機</translation>
@@ -5146,6 +5180,7 @@
 <translation id="7044124535091449260">進一步瞭解網站存取權</translation>
 <translation id="7044606776288350625">同步處理資料</translation>
 <translation id="7047059339731138197">選擇背景</translation>
+<translation id="7048024426273850086">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="PHONE_NAME" />,<ph name="PROVIDER_NAME" />,訊號強度 <ph name="SIGNAL_STRENGTH" />%,手機電量 <ph name="BATTERY_STATUS" />%,連線</translation>
 <translation id="7049293980323620022">要保留檔案嗎?</translation>
 <translation id="7051943809462976355">正在搜尋滑鼠...</translation>
 <translation id="7052237160939977163">傳送效能追蹤資料</translation>
@@ -5287,6 +5322,7 @@
 <translation id="7213903639823314449">網址列中使用的搜尋引擎</translation>
 <translation id="7216409898977639127">行動網路提供者</translation>
 <translation id="7216595297012131718">根據你的偏好設定排列語言順序</translation>
+<translation id="7219473482981809164">我們發現多個可供下載的設定檔。請先選取你要下載的設定檔再繼續。</translation>
 <translation id="7220019174139618249">無法將密碼匯出到「<ph name="FOLDER" />」</translation>
 <translation id="722055596168483966">享有個人化的 Google 服務</translation>
 <translation id="722099540765702221">電源</translation>
@@ -5569,6 +5605,7 @@
 <translation id="7556033326131260574">Smart Lock 無法驗證您的帳戶,請輸入您的密碼。</translation>
 <translation id="7556242789364317684">很抱歉,<ph name="SHORT_PRODUCT_NAME" /> 無法復原你的設定。如要修正錯誤,<ph name="SHORT_PRODUCT_NAME" /> 必須透過 Powerwash 重設你的裝置。</translation>
 <translation id="7557194624273628371">Linux 通訊埠轉送</translation>
+<translation id="7559269329306630685">你的指紋資料會安全地儲存在 <ph name="DEVICE_TYPE" /> 上,絕不會外洩。</translation>
 <translation id="7559719679815339381">請稍候.... Kiosk 應用程式正在進行更新,請勿移除 USB 隨身碟。</translation>
 <translation id="7561196759112975576">一律使用</translation>
 <translation id="756445078718366910">開啟瀏覽器視窗</translation>
@@ -6018,6 +6055,7 @@
 <translation id="8045923671629973368">輸入應用程式 ID 或線上應用程式商店網址</translation>
 <translation id="8047242494569930800">移至 Google 帳戶</translation>
 <translation id="804786196054284061">使用者授權協議</translation>
+<translation id="8048977114738515028">在裝置上建立桌面捷徑即可直接存取這個設定檔</translation>
 <translation id="8049705080247101012">Google 已將「<ph name="EXTENSION_NAME" />」標示為惡意擴充功能並禁止安裝</translation>
 <translation id="8049948037269924837">觸控板反向捲動</translation>
 <translation id="8050038245906040378">Microsoft 商用程式碼簽署</translation>
@@ -6448,6 +6486,7 @@
 <translation id="8569682776816196752">找不到目的地</translation>
 <translation id="8571213806525832805">過去 4 週</translation>
 <translation id="8571687764447439720">新增 Kerberos 票證</translation>
+<translation id="8571814292654854151">為設定檔命名</translation>
 <translation id="8574990355410201600">一律允許 <ph name="HOST" /> 播放聲音</translation>
 <translation id="8575286410928791436">按住 <ph name="KEY_EQUIVALENT" /> 鍵即可結束</translation>
 <translation id="8576249514688522074">未初始化</translation>
@@ -6602,6 +6641,7 @@
 <translation id="8737914367566358838">請選擇網頁的譯文語言</translation>
 <translation id="8740247629089392745">你可以將這部 Chromebook 交給「<ph name="SUPERVISED_USER_NAME" />」。設定即將完成,完成後即可開始探索。</translation>
 <translation id="8742998548129056176">這個頁面會顯示裝置和裝置使用情況的一般資訊 (例如電池電量、系統和應用程式活動,以及錯誤資訊)。這些資料將用於改善 Android,且部分匯總資訊還能協助 Google 應用程式和合作夥伴 (例如 Android 開發人員) 提高應用程式和產品的服務品質。</translation>
+<translation id="8743164338060742337">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="NETWORK_NAME" />,<ph name="NETWORK_PROVIDER_NAME" />,訊號強度 <ph name="SIGNAL_STRENGTH" />%,由系統管理員管理,連線</translation>
 <translation id="8743390665131937741">全螢幕縮放比例:</translation>
 <translation id="8743864605301774756">1 小時前更新</translation>
 <translation id="8746654918629346731">你已要求安裝「<ph name="EXTENSION_NAME" />」</translation>
@@ -6701,6 +6741,7 @@
 <translation id="8830796635868321089">無法以目前的 Proxy 設定啟動更新檢查,請調整 <ph name="PROXY_SETTINGS_LINK_START" />Proxy 設定<ph name="PROXY_SETTINGS_LINK_END" />。</translation>
 <translation id="8831140208248705279">將你的 <ph name="DEVICE_TYPE" /> 與 Android 手機搭配使用,可發揮更大效益。只要連結這兩個裝置,你就能透過電腦收發簡訊、分享網際網路連線,以及使用手機解鎖 <ph name="DEVICE_TYPE" />。<ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="8834039744648160717">網路設定由 <ph name="USER_EMAIL" /> 控制。</translation>
+<translation id="8835786707922974220">請確認你可以隨時存取已儲存的密碼</translation>
 <translation id="8838601485495657486">不透明</translation>
 <translation id="8838770651474809439">漢堡</translation>
 <translation id="883911313571074303">為圖片加註</translation>
@@ -6716,6 +6757,7 @@
 <translation id="885246833287407341">API 函式引數</translation>
 <translation id="8853586775156634952">這張卡片只會儲存在這部裝置上</translation>
 <translation id="8855977033756560989">這台 Chromebook Enterprise 裝置隨附 Chrome Enterprise 升級版。為充分發揮企業版功能的優勢,請使用 Google 管理員帳戶註冊這台裝置。</translation>
+<translation id="8856028055086294840">還原應用程式和網頁</translation>
 <translation id="885701979325669005">儲存空間</translation>
 <translation id="8859057652521303089">選擇語言:</translation>
 <translation id="8859174528519900719">子頁框:<ph name="SUBFRAME_SITE" /></translation>
@@ -7079,6 +7121,7 @@
 <translation id="971774202801778802">書籤網址</translation>
 <translation id="973473557718930265">結束</translation>
 <translation id="975893173032473675">翻譯目標語言</translation>
+<translation id="976499800099896273">系統將「<ph name="TYPED_WORD" />」更正為「<ph name="CORRECTED_WORD" />」後,已顯示復原自動更正內容的對話方塊。按向上鍵即可存取,按 Esc 鍵可忽略。</translation>
 <translation id="978146274692397928">初始標點符號寬度為全形</translation>
 <translation id="97905529126098460">此視窗將在完成取消作業後關閉。</translation>
 <translation id="980731642137034229">動作選單按鈕</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb
index 4c6dd87..d602ef8 100644
--- a/chrome/app/resources/generated_resources_zu.xtb
+++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -434,6 +434,7 @@
 <translation id="1475502736924165259">Unezitifiketi kufayela elingalingani nanoma iziphi ezinye izigaba</translation>
 <translation id="1476088332184200792">Kopishela kudivayisi yakho</translation>
 <translation id="1476607407192946488">&amp;Izilungiselelo zolimi</translation>
+<translation id="1477446329585670721">I-<ph name="DOMAIN" /> idinga ukuba ugcine ikhadi lakho elimsathi lifakiwe.</translation>
 <translation id="1478340334823509079">Imininingwane: <ph name="FILE_NAME" /></translation>
 <translation id="1478607704480248626">Ukufakwa akunikiwe amandla</translation>
 <translation id="1481537595330271162">Iphuta lokushintsha usayizi wediski</translation>
@@ -2032,6 +2033,7 @@
 <translation id="3320630259304269485">Ukuphequlula okuphephile (ukuvikelwa kumasayithi ayingozi) nezinye izilungiselelo zokuvikeleka</translation>
 <translation id="3323295311852517824">{NUM_FILES,plural, =0{Le datha inokuqukethwe okuzwelayo noma okuyingozi. Susa lokhu okuqukethwe uphinde uzame futhi.}=1{Leli fayela linokuqukethwe okuzwelayo noma okuyingozi. Susa lokhu okuqukethwe uphinde uzame futhi.}one{Lawa mafayela anokuqukethwe okuzwelayo noma okuyingozi. Susa lokhu okuqukethwe uphinde uzame futhi.}other{Lawa mafayela anokuqukethwe okuzwelayo noma okuyingozi. Susa lokhu okuqukethwe uphinde uzame futhi.}}</translation>
 <translation id="3323521181261657960">Ibhonasi! Unesikhathi sesikrini esiningi</translation>
+<translation id="3325804108816646710">Ifuna amaphrofayela atholakalayo...</translation>
 <translation id="3325910708063135066">Ikhamera nemakrofoni kuvaliwe kuzintandokazi zesistimu ye-Mac</translation>
 <translation id="3327050066667856415">Ama-Chromebook adizayinelwe ukuvikeleka. Idivayisi yakho ivikeliwe kuhlelo olungayilungele ikhompyutha ngokuzenzekelayo – ayikho isofthiwe eyengeziwe edingekayo.</translation>
 <translation id="3328489342742826322">Ukubuyisela kusukela ekwenzeni isipele kuzosusa izinhlelo zokusebenza ezikhona ze-Linux nedatha kufolda yamafayela akho e-Linux.</translation>
@@ -2099,6 +2101,7 @@
 <translation id="3412265149091626468">Yeqela kokukhethiwe</translation>
 <translation id="3413122095806433232">Izikhiphi ze-CA: <ph name="LOCATION" /></translation>
 <translation id="3414952576877147120">Usayizi:</translation>
+<translation id="3414966631182382431">Isiphequluli sakho <ph name="BEGIN_LINK" />siphethwe<ph name="END_LINK" /> yi-<ph name="MANAGER" /></translation>
 <translation id="3416468988018290825">Njalo nje bonisa ama-URL agcwele</translation>
 <translation id="3417835166382867856">Amathebhu wokusesha</translation>
 <translation id="3417836307470882032">Isikhathi samasosha</translation>
@@ -3173,6 +3176,7 @@
 <translation id="4651484272688821107">Ayikwazanga ukulayisha into ngezisetshenziswa zemodi yedemo.</translation>
 <translation id="4652935475563630866">Ushintsho kusethingi yekhamera kudinga ukuthi i-Paralles Desktop iqalise kabusha. Qala kabusha i-Parallels Desktop ukuze uqhubeke.</translation>
 <translation id="4653405415038586100">Iphutha lokulungiselela i-Linux</translation>
+<translation id="4657914796247705218">Ijubane le-TrackPoint</translation>
 <translation id="465878909996028221">Kuphela i-http, https namaphrothokholi efayela asekelwayo ekuqondiseni kabusha kwesiphequluli.</translation>
 <translation id="4659077111144409915">I-akhawunti eyinhloko</translation>
 <translation id="4659126640776004816">Uma ungena ngemvume ku-akhawunti yakho ye-Google, lesi sici sivuliwe.</translation>
@@ -3834,6 +3838,7 @@
 <translation id="5470735824776589490">Ukuqala kabusha kuyadingeka ngaphambi kokuthi idivayisi yakho ingasethwa kabusha ngokuwasha kwamandla. <ph name="LINK_BEGIN" />Funda kabanzi<ph name="LINK_END" /></translation>
 <translation id="5471768120198416576">Sawubona lapho! Ngiyizwi lakho lokuguqula umbhalo ube inkulumo.</translation>
 <translation id="5472627187093107397">Londoloza amaphasiwedi waleli sayithi</translation>
+<translation id="5473156705047072749">{NUM_CHARACTERS,plural, =1{Iphinikhodi kufanele okungenani ibe nohlamvu olulodwa}one{Iphinikhodi kumele okungenani ibe izinhlamvu ezingu-#}other{Iphinikhodi kumele okungenani ibe izinhlamvu ezingu-#}}</translation>
 <translation id="5473333559083690127">Phinda ufake iphinikhodi entsha</translation>
 <translation id="5481273127572794904">Ayivumelekile ukulanda amafayela amaningi ngokuzenzekelayo</translation>
 <translation id="5481941284378890518">Engza amaphrinta seduze</translation>
@@ -4374,6 +4379,7 @@
 <translation id="6087960857463881712">Ubuso obuhle</translation>
 <translation id="6091761513005122595">Yabelana ngokukhweziwe ngempumelelo.</translation>
 <translation id="6093888419484831006">Ikhansela isibuyekezo...</translation>
+<translation id="6095541101974653012">Ukhishwe ngemvume.</translation>
 <translation id="6095984072944024315">−</translation>
 <translation id="6096047740730590436">Vula okwenziwe kukhulu</translation>
 <translation id="6096326118418049043">X.500 Igama</translation>
@@ -4706,6 +4712,7 @@
 <translation id="6474884162850599008">Nqamula i-akhawunti ye-Google Drayivu</translation>
 <translation id="6475697075626596525"><ph name="APP_NAME" /> ifuna ukwabelana ngokuqukethwe kwesikrini sakho. Khetha ukuthi yini ongathanda ukuyabelana.</translation>
 <translation id="6478248366783946499">Gcina ifayela eliyingozi?</translation>
+<translation id="6480327114083866287">Iphethwe yi-<ph name="MANAGER" /></translation>
 <translation id="6483485061007832714">Vula ukulandwa</translation>
 <translation id="6483805311199035658">Ivula i-<ph name="FILE" />...</translation>
 <translation id="6488384360522318064">Khetha ulimi</translation>
@@ -4894,6 +4901,7 @@
 <translation id="671928215901716392">Khiya isikrini</translation>
 <translation id="6721678857435001674">Bona ukwenziwa nemodeli yokhiye bakho bokuqinisekisa ubunikazi</translation>
 <translation id="6721972322305477112">Ifayela</translation>
+<translation id="672208878794563299">Leli sayithi lizobuza futhi ngesikhathi esizayo.</translation>
 <translation id="672213144943476270">Sicela uvule iphrofayela yakho ngaphambi kokuphequlula njengesihambeli.</translation>
 <translation id="6723661294526996303">Ngenisa amabhukhimakhi nezilungiselelo...</translation>
 <translation id="6723839937902243910">Amandla</translation>
@@ -6293,6 +6301,7 @@
 <translation id="8317671367883557781">Engeza uxhumo lenethiwekhi</translation>
 <translation id="8319414634934645341">Ukusetshenziswa kokhiye onwetshiwe</translation>
 <translation id="8320459152843401447">Isikrini sakho sonke</translation>
+<translation id="8321837372750396788">Le <ph name="DEVICE_TYPE" /> izophathwa i-<ph name="MANAGER" />.</translation>
 <translation id="8322814362483282060">Leli khasi livinjelwe kusukela ekufinyeleleni kumakrofoni yakho.</translation>
 <translation id="8323167517179506834">Thayipha i-URL</translation>
 <translation id="8324784016256120271">Amasayithi angasebenzisa amakhukhi ukubona umsebenzi wakho wokuphequlula kuwo wonke amasayithi ahlukahlukene, ngokwesibonelo, ukwenza izikhangiso zibe ngezakho</translation>
@@ -6600,6 +6609,7 @@
 <translation id="8698269656364382265">Ukuze ubuyele kusikrini sangaphambilini, swayipha kusukela ohlangothini olungakwesokunxele.</translation>
 <translation id="869884720829132584">Imenyu yezinhlelo zokusebenza</translation>
 <translation id="869891660844655955">Idethi yokuphelelwa yisikhathi</translation>
+<translation id="8702825062053163569">I-<ph name="DEVICE_TYPE" /> beyikhiyiwe.</translation>
 <translation id="8703346390800944767">Yeqa isikhangiso</translation>
 <translation id="8705331520020532516">Inombolo yomkhiqizo</translation>
 <translation id="8705580154597116082">I-Wi-Fi iyatholakala ngefoni</translation>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index aab817c..7f24ed4 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1364,6 +1364,10 @@
     "prefetch/search_prefetch/search_prefetch_url_loader.h",
     "prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc",
     "prefetch/search_prefetch/search_prefetch_url_loader_interceptor.h",
+    "prefetch/search_prefetch/streaming_search_prefetch_request.cc",
+    "prefetch/search_prefetch/streaming_search_prefetch_request.h",
+    "prefetch/search_prefetch/streaming_search_prefetch_url_loader.cc",
+    "prefetch/search_prefetch/streaming_search_prefetch_url_loader.h",
     "prefs/browser_prefs.cc",
     "prefs/browser_prefs.h",
     "prefs/chrome_command_line_pref_store.cc",
@@ -2809,6 +2813,8 @@
       "android/rappor/rappor_service_bridge.cc",
       "android/reading_list/reading_list_manager_factory.cc",
       "android/reading_list/reading_list_manager_factory.h",
+      "android/reading_list/reading_list_notification_service_factory.cc",
+      "android/reading_list/reading_list_notification_service_factory.h",
       "android/recently_closed_tabs_bridge.cc",
       "android/recently_closed_tabs_bridge.h",
       "android/reparenting_task.cc",
@@ -3096,6 +3102,8 @@
       "password_manager/android/password_scripts_fetcher_android.cc",
       "password_manager/android/save_password_infobar_delegate_android.cc",
       "password_manager/android/save_password_infobar_delegate_android.h",
+      "password_manager/android/save_password_message_delegate.cc",
+      "password_manager/android/save_password_message_delegate.h",
       "password_manager/android/update_password_infobar_delegate_android.cc",
       "password_manager/android/update_password_infobar_delegate_android.h",
       "password_manager/biometric_authenticator_android.cc",
diff --git a/chrome/browser/android/reading_list/reading_list_notification_service_factory.cc b/chrome/browser/android/reading_list/reading_list_notification_service_factory.cc
new file mode 100644
index 0000000..5347ea6
--- /dev/null
+++ b/chrome/browser/android/reading_list/reading_list_notification_service_factory.cc
@@ -0,0 +1,58 @@
+// 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.
+
+#include "chrome/browser/android/reading_list/reading_list_notification_service_factory.h"
+
+#include <memory>
+
+#include "chrome/browser/notifications/scheduler/notification_schedule_service_factory.h"
+#include "chrome/browser/profiles/incognito_helpers.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_key.h"
+#include "chrome/browser/reading_list/android/reading_list_notification_service.h"
+#include "chrome/browser/ui/read_later/reading_list_model_factory.h"
+#include "components/keyed_service/content/browser_context_dependency_manager.h"
+#include "components/reading_list/features/reading_list_switches.h"
+
+// static
+ReadingListNotificationServiceFactory*
+ReadingListNotificationServiceFactory::GetInstance() {
+  return base::Singleton<ReadingListNotificationServiceFactory>::get();
+}
+
+// static
+ReadingListNotificationService*
+ReadingListNotificationServiceFactory::GetForBrowserContext(
+    content::BrowserContext* context) {
+  return static_cast<ReadingListNotificationService*>(
+      GetInstance()->GetServiceForBrowserContext(context, /*create=*/true));
+}
+
+ReadingListNotificationServiceFactory::ReadingListNotificationServiceFactory()
+    : BrowserContextKeyedServiceFactory(
+          "ReadingListNotificationService",
+          BrowserContextDependencyManager::GetInstance()) {
+  DependsOn(ReadingListModelFactory::GetInstance());
+  DependsOn(NotificationScheduleServiceFactory::GetInstance());
+}
+
+ReadingListNotificationServiceFactory::
+    ~ReadingListNotificationServiceFactory() = default;
+
+KeyedService* ReadingListNotificationServiceFactory::BuildServiceInstanceFor(
+    content::BrowserContext* context) const {
+  auto* reading_list_model =
+      ReadingListModelFactory::GetForBrowserContext(context);
+  Profile* profile = Profile::FromBrowserContext(context);
+  auto* notification_scheduler =
+      NotificationScheduleServiceFactory::GetForKey(profile->GetProfileKey());
+  return new ReadingListNotificationService(reading_list_model,
+                                            notification_scheduler);
+}
+
+content::BrowserContext*
+ReadingListNotificationServiceFactory::GetBrowserContextToUse(
+    content::BrowserContext* context) const {
+  return chrome::GetBrowserContextRedirectedInIncognito(context);
+}
diff --git a/chrome/browser/android/reading_list/reading_list_notification_service_factory.h b/chrome/browser/android/reading_list/reading_list_notification_service_factory.h
new file mode 100644
index 0000000..05036d4d
--- /dev/null
+++ b/chrome/browser/android/reading_list/reading_list_notification_service_factory.h
@@ -0,0 +1,40 @@
+// 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.
+
+#ifndef CHROME_BROWSER_ANDROID_READING_LIST_READING_LIST_NOTIFICATION_SERVICE_FACTORY_H_
+#define CHROME_BROWSER_ANDROID_READING_LIST_READING_LIST_NOTIFICATION_SERVICE_FACTORY_H_
+
+#include "base/memory/singleton.h"
+#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
+
+class ReadingListNotificationService;
+
+// A factory to create the ReadingListManager singleton.
+class ReadingListNotificationServiceFactory
+    : public BrowserContextKeyedServiceFactory {
+ public:
+  static ReadingListNotificationServiceFactory* GetInstance();
+  static ReadingListNotificationService* GetForBrowserContext(
+      content::BrowserContext* context);
+
+ private:
+  friend struct base::DefaultSingletonTraits<
+      ReadingListNotificationServiceFactory>;
+
+  ReadingListNotificationServiceFactory();
+  ~ReadingListNotificationServiceFactory() override;
+
+  ReadingListNotificationServiceFactory(
+      const ReadingListNotificationServiceFactory&) = delete;
+  ReadingListNotificationServiceFactory& operator=(
+      const ReadingListNotificationServiceFactory&) = delete;
+
+  // BrowserContextKeyedServiceFactory overrides.
+  KeyedService* BuildServiceInstanceFor(
+      content::BrowserContext* context) const override;
+  content::BrowserContext* GetBrowserContextToUse(
+      content::BrowserContext* context) const override;
+};
+
+#endif  // CHROME_BROWSER_ANDROID_READING_LIST_READING_LIST_NOTIFICATION_SERVICE_FACTORY_H_
diff --git a/chrome/browser/android/vr/ui_module_factory.cc b/chrome/browser/android/vr/ui_module_factory.cc
index bf54e1a..12dbac40 100644
--- a/chrome/browser/android/vr/ui_module_factory.cc
+++ b/chrome/browser/android/vr/ui_module_factory.cc
@@ -45,7 +45,7 @@
   for (const auto& library_name : library_name_possibilities) {
     ui_library_handle =
         base::android::BundleUtils::DlOpenModuleLibraryPartition(
-            library_name, partition_name);
+            library_name, partition_name, "vr");
     if (ui_library_handle != nullptr) {
       break;
     }
diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm
index 189055ae..385f214 100644
--- a/chrome/browser/app_controller_mac.mm
+++ b/chrome/browser/app_controller_mac.mm
@@ -35,6 +35,7 @@
 #include "chrome/browser/apps/platform_apps/app_window_registry_util.h"
 #include "chrome/browser/background/background_application_list_model.h"
 #include "chrome/browser/background/background_mode_manager.h"
+#include "chrome/browser/browser_features.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/command_updater_impl.h"
@@ -50,6 +51,8 @@
 #include "chrome/browser/profiles/profile_attributes_entry.h"
 #include "chrome/browser/profiles/profile_attributes_storage.h"
 #include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/profiles/profile_manager_observer.h"
+#include "chrome/browser/profiles/profile_observer.h"
 #include "chrome/browser/profiles/profiles_state.h"
 #include "chrome/browser/sessions/session_restore.h"
 #include "chrome/browser/sessions/session_service.h"
@@ -266,7 +269,9 @@
 - (BOOL)isProfileReady;
 @end
 
-class AppControllerProfileObserver : public ProfileAttributesStorage::Observer {
+class AppControllerProfileObserver : public ProfileAttributesStorage::Observer,
+                                     public ProfileManagerObserver,
+                                     public ProfileObserver {
  public:
   AppControllerProfileObserver(
       ProfileManager* profile_manager, AppController* app_controller)
@@ -274,17 +279,28 @@
         app_controller_(app_controller) {
     DCHECK(profile_manager_);
     DCHECK(app_controller_);
-    profile_manager_->GetProfileAttributesStorage().AddObserver(this);
+    // Listen to different events, depending on whether the
+    // kDestroyProfileOnBrowserClose experiment is disabled or not.
+    if (base::FeatureList::IsEnabled(features::kDestroyProfileOnBrowserClose)) {
+      profile_manager_->AddObserver(this);
+      for (Profile* profile : profile_manager_->GetLoadedProfiles())
+        profile->AddObserver(this);
+    } else {
+      profile_manager_->GetProfileAttributesStorage().AddObserver(this);
+    }
   }
 
   ~AppControllerProfileObserver() override {
     DCHECK(profile_manager_);
-    profile_manager_->GetProfileAttributesStorage().RemoveObserver(this);
+    if (base::FeatureList::IsEnabled(features::kDestroyProfileOnBrowserClose)) {
+      profile_manager_->RemoveObserver(this);
+    } else {
+      profile_manager_->GetProfileAttributesStorage().RemoveObserver(this);
+    }
   }
 
  private:
   // ProfileAttributesStorage::Observer implementation:
-
   void OnProfileAdded(const base::FilePath& profile_path) override {}
 
   void OnProfileWasRemoved(const base::FilePath& profile_path,
@@ -301,6 +317,15 @@
 
   void OnProfileAvatarChanged(const base::FilePath& profile_path) override {}
 
+  // ProfileManager::Observer implementation:
+  void OnProfileAdded(Profile* profile) override { profile->AddObserver(this); }
+
+  // ProfileObserver implementation:
+  void OnProfileWillBeDestroyed(Profile* profile) override {
+    profile->RemoveObserver(this);
+    [app_controller_ profileWasRemoved:profile->GetPath()];
+  }
+
   ProfileManager* profile_manager_;
 
   AppController* app_controller_;  // Weak; owns us.
@@ -551,6 +576,13 @@
 }
 
 - (void)didEndMainMessageLoop {
+  if (base::FeatureList::IsEnabled(features::kDestroyProfileOnBrowserClose)) {
+    // With DestroyProfileOnBrowserClose, Profiles get deleted earlier. So
+    // _lastProfile is already null, and [self lastProfile] below would load it
+    // from disk (which we can't do).
+    DCHECK_EQ(nullptr, _lastProfile);
+    return;
+  }
   DCHECK_EQ(0u, chrome::GetBrowserCount([self lastProfile]));
   if (!chrome::GetBrowserCount([self lastProfile])) {
     // As we're shutting down, we need to nuke the TabRestoreService, which
@@ -922,8 +954,16 @@
     // Force windowChangedToProfile: to set the lastProfile_ and also update the
     // relevant menuBridge objects.
     _lastProfile = nullptr;
-    [self windowChangedToProfile:g_browser_process->profile_manager()->
-        GetLastUsedProfile()];
+    // Check that the Profile is already loaded, in case it was deleted by
+    // DestroyProfileOnBrowserClose.
+    auto* profile_manager = g_browser_process->profile_manager();
+    const base::FilePath last_used_path =
+        profile_manager->GetLastUsedProfileDir(
+            profile_manager->user_data_dir());
+    Profile* last_used_profile =
+        profile_manager->GetProfileByPath(last_used_path);
+    if (last_used_profile)
+      [self windowChangedToProfile:last_used_profile];
   }
 
   _profileBookmarkMenuBridgeMap.erase(profilePath);
diff --git a/chrome/browser/autofill/form_structure_browsertest.cc b/chrome/browser/autofill/form_structure_browsertest.cc
index dc6b62c..ed3c554 100644
--- a/chrome/browser/autofill/form_structure_browsertest.cc
+++ b/chrome/browser/autofill/form_structure_browsertest.cc
@@ -175,7 +175,9 @@
        // TODO(crbug.com/896689): Remove once launched.
        autofill::features::kAutofillNameSectionsWithRendererIds,
        // TODO(crbug.com/1076175) Remove once launched.
-       autofill::features::kAutofillUseNewSectioningMethod},
+       autofill::features::kAutofillUseNewSectioningMethod,
+       // Remove once launched
+       autofill::features::kAutofillEnableAugmentedPhoneCountryCode},
       // Disabled
       {autofill::features::kAutofillRestrictUnownedFieldsToFormlessCheckout});
 }
diff --git a/chrome/browser/browsing_data/access_context_audit_database.cc b/chrome/browser/browsing_data/access_context_audit_database.cc
index 5ac9e50d..6cbff03 100644
--- a/chrome/browser/browsing_data/access_context_audit_database.cc
+++ b/chrome/browser/browsing_data/access_context_audit_database.cc
@@ -130,7 +130,15 @@
 
 AccessContextAuditDatabase::AccessContextAuditDatabase(
     const base::FilePath& path_to_database_dir)
-    : db_file_path_(path_to_database_dir.Append(kDatabaseName)) {}
+    : db_({.exclusive_locking = true,
+           .page_size = 4096,
+           // Cache values generated assuming ~5000 individual pieces of client
+           // storage API data, each accessed in an average of 3 different
+           // contexts (complete speculation, most will be 1, some will be >50),
+           // with an average of 40bytes per audit entry.
+           // TODO(crbug.com/1083384): Revist these numbers.
+           .cache_size = 128}),
+      db_file_path_(path_to_database_dir.Append(kDatabaseName)) {}
 
 void AccessContextAuditDatabase::Init(bool restore_non_persistent_cookies) {
   db_.set_histogram_tag("Access Context Audit");
@@ -138,16 +146,6 @@
   db_.set_error_callback(
       base::BindRepeating(&DatabaseErrorCallback, &db_, db_file_path_));
 
-  // Cache values generated assuming ~5000 individual pieces of client storage
-  // API data, each accessed in an average of 3 different contexts (complete
-  // speculation, most will be 1, some will be >50), with an average of
-  // 40bytes per audit entry.
-  // TODO(crbug.com/1083384): Revist these numbers.
-  db_.set_page_size(4096);
-  db_.set_cache_size(128);
-
-  db_.set_exclusive_locking();
-
   if (!db_.Open(db_file_path_))
     return;
 
diff --git a/chrome/browser/chromeos/input_method/tts_handler.cc b/chrome/browser/chromeos/input_method/tts_handler.cc
index b6390ef5..698493b2 100644
--- a/chrome/browser/chromeos/input_method/tts_handler.cc
+++ b/chrome/browser/chromeos/input_method/tts_handler.cc
@@ -36,7 +36,7 @@
       content::TtsUtterance::Create(profile_);
   utterance->SetText(text);
   utterance->SetEventDelegate(this);
-  utterance->SetCanEnqueue(true);
+  utterance->SetShouldClearQueue(false);
 
   auto* tts_controller = content::TtsController::GetInstance();
   tts_controller->SpeakOrEnqueue(std::move(utterance));
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc
index 06be811..76b94d238 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc
@@ -137,9 +137,6 @@
 
 const char kAutoLaunchNotifierId[] = "ash.managed_guest_session-auto_launch";
 
-// Auto-launch notification timeout, in milliseconds.
-int kAutoLaunchNotificationDelay = 2500;
-
 // Enum types for Login.PasswordChangeFlow.
 // Don't change the existing values and update LoginPasswordChangeFlow in
 // histogram.xml when making changes here.
@@ -363,66 +360,6 @@
   return EmptyAccountId();
 }
 
-class AutoLaunchNotificationDelegate
-    : public message_center::HandleNotificationClickDelegate {
- public:
-  AutoLaunchNotificationDelegate()
-      : message_center::HandleNotificationClickDelegate(
-            base::BindRepeating([](base::Optional<int> button_index) {
-              DCHECK(button_index);
-              SystemTrayClient::Get()->ShowEnterpriseInfo();
-            })) {
-    PrefService* local_state = g_browser_process->local_state();
-    if (local_state) {
-      pref_change_registrar_.Init(local_state);
-
-      // base::Unretained is safe here because `this` outlives the registrar.
-      pref_change_registrar_.Add(
-          prefs::kManagedGuestSessionAutoLaunchNotificationReduced,
-          base::BindRepeating(&AutoLaunchNotificationDelegate::
-                                  OnAutoLaunchNotificationPrefChanged,
-                              base::Unretained(this)));
-    }
-  }
-
- protected:
-  ~AutoLaunchNotificationDelegate() override {}
-
- private:
-  // Starts auto_login_notification_timer_ if the pref is set to close the
-  // privacy warning notification, and stops it otherwise.
-  void OnAutoLaunchNotificationPrefChanged() {
-    bool is_pref_set = g_browser_process->local_state()->GetBoolean(
-        prefs::kManagedGuestSessionAutoLaunchNotificationReduced);
-    if (is_pref_set) {
-      auto_launch_notification_timer_.reset(new base::OneShotTimer);
-      auto_launch_notification_timer_->Start(
-          FROM_HERE,
-          base::TimeDelta::FromMilliseconds(kAutoLaunchNotificationDelay),
-          base::BindOnce(
-              &AutoLaunchNotificationDelegate::CloseAutoLaunchNotification,
-              weak_factory_.GetWeakPtr()));
-    } else if (auto_launch_notification_timer_ &&
-               auto_launch_notification_timer_->IsRunning()) {
-      auto_launch_notification_timer_->Stop();
-    }
-  }
-
-  void CloseAutoLaunchNotification() {
-    SystemNotificationHelper::GetInstance()->Close(kAutoLaunchNotificationId);
-  }
-
-  // Used for the pref of the ManagedGuestSessionAutoLaunchNotificationReduced
-  // policy.
-  PrefChangeRegistrar pref_change_registrar_;
-
-  // ManagedGuestSessionAutoLaunchNotificationReduced timer.
-  std::unique_ptr<base::OneShotTimer> auto_launch_notification_timer_;
-
-  // Factory of callbacks.
-  base::WeakPtrFactory<AutoLaunchNotificationDelegate> weak_factory_{this};
-};
-
 }  // namespace
 
 // Utility class used to wait for a Public Session policy store load if public
@@ -1162,7 +1099,12 @@
   const base::string16 message = l10n_util::GetStringFUTF16(
       IDS_ASH_LOGIN_MANAGED_SESSION_MONITORING_FULL_WARNING,
       base::UTF8ToUTF16(connector->GetEnterpriseDomainManager()));
-  auto delegate = base::MakeRefCounted<AutoLaunchNotificationDelegate>();
+  auto delegate =
+      base::MakeRefCounted<message_center::HandleNotificationClickDelegate>(
+          base::BindRepeating([](base::Optional<int> button_index) {
+            DCHECK(button_index);
+            SystemTrayClient::Get()->ShowEnterpriseInfo();
+          }));
   std::unique_ptr<message_center::Notification> notification =
       ash::CreateSystemNotification(
           message_center::NOTIFICATION_TYPE_SIMPLE, kAutoLaunchNotificationId,
@@ -1840,10 +1782,4 @@
   AuthPolicyHelper::Restart();
 }
 
-void ExistingUserController::RegisterLocalStatePrefs(
-    PrefRegistrySimple* registry) {
-  registry->RegisterBooleanPref(
-      prefs::kManagedGuestSessionAutoLaunchNotificationReduced, false);
-}
-
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/login/existing_user_controller.h b/chrome/browser/chromeos/login/existing_user_controller.h
index 0421b15..4316aae 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.h
+++ b/chrome/browser/chromeos/login/existing_user_controller.h
@@ -32,7 +32,6 @@
 #include "chromeos/login/auth/login_performer.h"
 #include "chromeos/login/auth/user_context.h"
 #include "components/account_id/account_id.h"
-#include "components/prefs/pref_registry_simple.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
 #include "components/user_manager/user_type.h"
@@ -71,10 +70,6 @@
   // LoginDisplayHost instance.
   static ExistingUserController* current_controller();
 
-  // Registers the pref for ManagedGuestSessionAutoLaunchNotificationReduced
-  // policy.
-  static void RegisterLocalStatePrefs(PrefRegistrySimple* registry);
-
   // All UI initialization is deferred till Init() call.
   ExistingUserController();
   ~ExistingUserController() override;
diff --git a/chrome/browser/chromeos/policy/dlp/dlp_content_manager.cc b/chrome/browser/chromeos/policy/dlp/dlp_content_manager.cc
index 3cf252f..2894a87 100644
--- a/chrome/browser/chromeos/policy/dlp/dlp_content_manager.cc
+++ b/chrome/browser/chromeos/policy/dlp/dlp_content_manager.cc
@@ -6,12 +6,14 @@
 
 #include <vector>
 
+#include "ash/public/cpp/ash_features.h"
 #include "ash/public/cpp/privacy_screen_dlp_helper.h"
 #include "base/bind.h"
 #include "base/stl_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_notification_helper.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h"
+#include "chrome/browser/ui/ash/chrome_capture_mode_delegate.h"
 #include "content/public/browser/visibility.h"
 #include "content/public/browser/web_contents.h"
 #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
@@ -113,19 +115,18 @@
   return false;
 }
 
-void DlpContentManager::OnVideoCaptureStarted(const ScreenshotArea& area,
-                                              base::OnceClosure stop_callback) {
+void DlpContentManager::OnVideoCaptureStarted(const ScreenshotArea& area) {
   if (IsVideoCaptureRestricted(area)) {
-    std::move(stop_callback).Run();
+    if (ash::features::IsCaptureModeEnabled())
+      ChromeCaptureModeDelegate::Get()->InterruptVideoRecordingIfAny();
     return;
   }
-  DCHECK(!running_video_capture_.has_value());
-  running_video_capture_.emplace(
-      std::make_pair(area, std::move(stop_callback)));
+  DCHECK(!running_video_capture_area_.has_value());
+  running_video_capture_area_.emplace(area);
 }
 
 void DlpContentManager::OnVideoCaptureStopped() {
-  running_video_capture_.reset();
+  running_video_capture_area_.reset();
 }
 
 bool DlpContentManager::IsCaptureModeInitRestricted() const {
@@ -367,13 +368,13 @@
 }
 
 void DlpContentManager::CheckRunningVideoCapture() {
-  if (!running_video_capture_.has_value())
+  if (!running_video_capture_area_.has_value())
     return;
-  const auto& area = running_video_capture_->first;
-  auto& stop_callback = running_video_capture_->second;
-  if (IsAreaRestricted(area, DlpContentRestriction::kVideoCapture)) {
-    std::move(stop_callback).Run();
-    running_video_capture_.reset();
+  if (IsAreaRestricted(*running_video_capture_area_,
+                       DlpContentRestriction::kVideoCapture)) {
+    if (ash::features::IsCaptureModeEnabled())
+      ChromeCaptureModeDelegate::Get()->InterruptVideoRecordingIfAny();
+    running_video_capture_area_.reset();
   }
 }
 
diff --git a/chrome/browser/chromeos/policy/dlp/dlp_content_manager.h b/chrome/browser/chromeos/policy/dlp/dlp_content_manager.h
index 95d6a418..99200b38 100644
--- a/chrome/browser/chromeos/policy/dlp/dlp_content_manager.h
+++ b/chrome/browser/chromeos/policy/dlp/dlp_content_manager.h
@@ -70,9 +70,7 @@
       const content::DesktopMediaID& media_id) const;
 
   // Called when video capturing for |area| is started.
-  // |stop_callback| will be called when restricted content will appear there.
-  void OnVideoCaptureStarted(const ScreenshotArea& area,
-                             base::OnceClosure stop_callback);
+  void OnVideoCaptureStarted(const ScreenshotArea& area);
 
   // Called when video capturing is stopped.
   void OnVideoCaptureStopped();
@@ -203,9 +201,8 @@
   // Set of restriction applied to the currently visible content.
   DlpContentRestrictionSet on_screen_restrictions_;
 
-  // The currently running video capture are and callback to stop, if any.
-  base::Optional<std::pair<ScreenshotArea, base::OnceClosure>>
-      running_video_capture_;
+  // The currently running video capture area if any.
+  base::Optional<ScreenshotArea> running_video_capture_area_;
 
   // List of the currently running screen captures.
   std::vector<ScreenCaptureInfo> running_screen_captures_;
diff --git a/chrome/browser/chromeos/policy/dlp/dlp_content_manager_browsertest.cc b/chrome/browser/chromeos/policy/dlp/dlp_content_manager_browsertest.cc
index 2375204..7e936b31 100644
--- a/chrome/browser/chromeos/policy/dlp/dlp_content_manager_browsertest.cc
+++ b/chrome/browser/chromeos/policy/dlp/dlp_content_manager_browsertest.cc
@@ -4,11 +4,14 @@
 
 #include "chrome/browser/chromeos/policy/dlp/dlp_content_manager.h"
 
+#include "ash/public/cpp/ash_features.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/values.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_test_utils.h"
 #include "chrome/browser/notifications/notification_display_service_tester.h"
 #include "chrome/browser/policy/policy_test_utils.h"
+#include "chrome/browser/ui/ash/chrome_capture_mode_delegate.h"
 #include "chrome/browser/ui/ash/screenshot_area.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_commands.h"
@@ -45,7 +48,17 @@
 
 class DlpContentManagerBrowserTest : public InProcessBrowserTest {
  public:
-  DlpContentManagerBrowserTest() {}
+  DlpContentManagerBrowserTest() = default;
+  ~DlpContentManagerBrowserTest() override = default;
+
+  // InProcessBrowserTest:
+  void SetUp() override {
+    scoped_feature_list_.InitAndEnableFeature(ash::features::kCaptureMode);
+    InProcessBrowserTest::SetUp();
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
 };
 
 IN_PROC_BROWSER_TEST_F(DlpContentManagerBrowserTest, ScreenshotsRestricted) {
@@ -104,8 +117,6 @@
   DlpContentManager* manager = DlpContentManager::Get();
   aura::Window* root_window =
       browser()->window()->GetNativeWindow()->GetRootWindow();
-  ScreenshotArea fullscreen = ScreenshotArea::CreateForPartialWindow(
-      root_window, root_window->bounds());
 
   // Open first browser window.
   Browser* browser1 = browser();
@@ -130,7 +141,9 @@
 
   // Start capture of the whole screen.
   base::RunLoop run_loop;
-  manager->OnVideoCaptureStarted(fullscreen, run_loop.QuitClosure());
+  auto* capture_mode_delegate = ChromeCaptureModeDelegate::Get();
+  capture_mode_delegate->StartObservingRestrictedContent(
+      root_window, root_window->bounds(), run_loop.QuitClosure());
 
   // Move first window with confidential content to make it visible.
   browser1->window()->SetBounds(gfx::Rect(100, 100, 700, 700));
@@ -138,7 +151,7 @@
   // Check that capture was requested to be stopped via callback.
   run_loop.Run();
 
-  manager->OnVideoCaptureStopped();
+  capture_mode_delegate->StopObservingRestrictedContent();
   browser2->window()->Close();
 }
 
@@ -147,8 +160,6 @@
   DlpContentManager* manager = DlpContentManager::Get();
   aura::Window* root_window =
       browser()->window()->GetNativeWindow()->GetRootWindow();
-  ScreenshotArea fullscreen = ScreenshotArea::CreateForPartialWindow(
-      root_window, root_window->bounds());
 
   // Open first browser window.
   Browser* browser1 = browser();
@@ -173,7 +184,9 @@
 
   // Start capture of the whole screen.
   base::RunLoop run_loop;
-  manager->OnVideoCaptureStarted(fullscreen, run_loop.QuitClosure());
+  auto* capture_mode_delegate = ChromeCaptureModeDelegate::Get();
+  capture_mode_delegate->StartObservingRestrictedContent(
+      root_window, root_window->bounds(), run_loop.QuitClosure());
 
   // Move second window to make first window with confidential content visible.
   browser2->window()->SetBounds(gfx::Rect(150, 150, 700, 700));
@@ -181,7 +194,7 @@
   // Check that capture was requested to be stopped via callback.
   run_loop.Run();
 
-  manager->OnVideoCaptureStopped();
+  capture_mode_delegate->StopObservingRestrictedContent();
   browser2->window()->Close();
 }
 
@@ -190,8 +203,6 @@
   DlpContentManager* manager = DlpContentManager::Get();
   aura::Window* root_window =
       browser()->window()->GetNativeWindow()->GetRootWindow();
-  ScreenshotArea fullscreen = ScreenshotArea::CreateForPartialWindow(
-      root_window, root_window->bounds());
 
   // Open first browser window.
   Browser* browser1 = browser();
@@ -216,8 +227,9 @@
 
   // Start capture of the whole screen.
   base::RunLoop run_loop;
-  manager->OnVideoCaptureStarted(
-      fullscreen, base::BindOnce([] {
+  auto* capture_mode_delegate = ChromeCaptureModeDelegate::Get();
+  capture_mode_delegate->StartObservingRestrictedContent(
+      root_window, root_window->bounds(), base::BindOnce([] {
         FAIL() << "Video capture stop callback shouldn't be called";
       }));
 
@@ -225,8 +237,8 @@
   browser1->window()->SetBounds(gfx::Rect(150, 150, 500, 500));
 
   // Check that capture was not requested to be stopped via callback.
-  manager->OnVideoCaptureStopped();
   run_loop.RunUntilIdle();
+  capture_mode_delegate->StopObservingRestrictedContent();
 
   browser2->window()->Close();
 }
diff --git a/chrome/browser/chromeos/scanning/scan_service.cc b/chrome/browser/chromeos/scanning/scan_service.cc
index 98bc774..26e75ed 100644
--- a/chrome/browser/chromeos/scanning/scan_service.cc
+++ b/chrome/browser/chromeos/scanning/scan_service.cc
@@ -11,8 +11,13 @@
 #include "base/callback_helpers.h"
 #include "base/check.h"
 #include "base/files/file_util.h"
+#include "base/location.h"
+#include "base/sequenced_task_runner.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/task/task_traits.h"
+#include "base/task/thread_pool.h"
+#include "base/task_runner_util.h"
 #include "base/time/time.h"
 #include "chrome/browser/chromeos/scanning/lorgnette_scanner_manager.h"
 #include "chrome/browser/chromeos/scanning/scanning_type_converters.h"
@@ -47,6 +52,44 @@
   return std::string(jpg_img.begin(), jpg_img.end());
 }
 
+// Saves |scanned_image| to a file after converting it if necessary. Returns
+// true if the save succeeds.
+bool SavePage(const base::FilePath& scan_to_path,
+              const mojo_ipc::FileType file_type,
+              std::string scanned_image,
+              uint32_t page_number,
+              const base::Time::Exploded& start_time) {
+  std::string filename;
+  std::string file_ext;
+  switch (file_type) {
+    case mojo_ipc::FileType::kPng:
+      file_ext = "png";
+      break;
+    case mojo_ipc::FileType::kJpg:
+      file_ext = "jpg";
+      scanned_image = PngToJpg(scanned_image);
+      if (scanned_image.empty())
+        return false;
+
+      break;
+    default:
+      LOG(ERROR) << "Selected file type not supported.";
+      return false;
+  }
+
+  filename = base::StringPrintf(
+      "scan_%02d%02d%02d-%02d%02d%02d_%d.%s", start_time.year, start_time.month,
+      start_time.day_of_month, start_time.hour, start_time.minute,
+      start_time.second, page_number, file_ext.c_str());
+  const auto file_path = scan_to_path.Append(filename);
+  if (!base::WriteFile(file_path, scanned_image)) {
+    LOG(ERROR) << "Failed to save scanned image: " << file_path.value().c_str();
+    return false;
+  }
+
+  return true;
+}
+
 }  // namespace
 
 ScanService::ScanService(LorgnetteScannerManager* lorgnette_scanner_manager,
@@ -54,7 +97,10 @@
                          base::FilePath google_drive_path)
     : lorgnette_scanner_manager_(lorgnette_scanner_manager),
       my_files_path_(std::move(my_files_path)),
-      google_drive_path_(std::move(google_drive_path)) {
+      google_drive_path_(std::move(google_drive_path)),
+      task_runner_(base::ThreadPool::CreateSequencedTaskRunner(
+          {base::MayBlock(), base::TaskPriority::USER_VISIBLE,
+           base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})) {
   DCHECK(lorgnette_scanner_manager_);
 }
 
@@ -184,45 +230,37 @@
   scan_job_observer_->OnPageComplete(
       std::vector<uint8_t>(scanned_image.begin(), scanned_image.end()));
 
-  std::string filename;
-  std::string file_ext;
-  switch (file_type) {
-    case mojo_ipc::FileType::kPng:
-      file_ext = "png";
-      break;
-    case mojo_ipc::FileType::kJpg:
-      file_ext = "jpg";
-      scanned_image = PngToJpg(scanned_image);
-      if (scanned_image == "") {
-        save_failed_ = true;
-        return;
-      }
-      break;
-    default:
-      LOG(ERROR) << "Selected file type not supported.";
-      save_failed_ = true;
-      return;
-  }
-
-  filename = base::StringPrintf(
-      "scan_%02d%02d%02d-%02d%02d%02d_%d.%s", start_time_.year,
-      start_time_.month, start_time_.day_of_month, start_time_.hour,
-      start_time_.minute, start_time_.second, page_number, file_ext.c_str());
-  const auto file_path = scan_to_path.Append(filename);
-  if (!base::WriteFile(file_path, scanned_image)) {
-    LOG(ERROR) << "Failed to save scanned image: " << file_path.value().c_str();
-    save_failed_ = true;
-  }
+  base::PostTaskAndReplyWithResult(
+      task_runner_.get(), FROM_HERE,
+      base::BindOnce(&SavePage, scan_to_path, file_type,
+                     std::move(scanned_image), page_number, start_time_),
+      base::BindOnce(&ScanService::OnPageSaved,
+                     weak_ptr_factory_.GetWeakPtr()));
 }
 
 void ScanService::OnScanCompleted(bool success) {
-  scan_job_observer_->OnScanComplete(success && !save_failed_);
+  // Post a task to the task runner to ensure all the pages have been saved
+  // before reporting the scan job as complete.
+  base::PostTaskAndReplyWithResult(
+      task_runner_.get(), FROM_HERE,
+      base::BindOnce([](bool success) { return success; }, success),
+      base::BindOnce(&ScanService::OnAllPagesSaved,
+                     weak_ptr_factory_.GetWeakPtr()));
 }
 
 void ScanService::OnCancelCompleted(bool success) {
   scan_job_observer_->OnCancelComplete(success);
 }
 
+void ScanService::OnPageSaved(bool success) {
+  if (!success)
+    save_failed_ = true;
+}
+
+void ScanService::OnAllPagesSaved(bool success) {
+  scan_job_observer_->OnScanComplete(success && !save_failed_);
+}
+
 bool ScanService::FilePathSupported(const base::FilePath& file_path) {
   if (file_path == base::FilePath(kActiveUserMyFilesPath) ||
       file_path == my_files_path_ ||
diff --git a/chrome/browser/chromeos/scanning/scan_service.h b/chrome/browser/chromeos/scanning/scan_service.h
index 28e3b2b2..f9087ce 100644
--- a/chrome/browser/chromeos/scanning/scan_service.h
+++ b/chrome/browser/chromeos/scanning/scan_service.h
@@ -11,6 +11,7 @@
 
 #include "base/containers/flat_map.h"
 #include "base/files/file_path.h"
+#include "base/memory/scoped_refptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/optional.h"
 #include "base/time/time.h"
@@ -23,6 +24,10 @@
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 
+namespace base {
+class SequencedTaskRunner;
+}
+
 namespace chromeos {
 
 class LorgnetteScannerManager;
@@ -95,6 +100,12 @@
   // LorgnetteScannerManager::CancelScan().
   void OnCancelCompleted(bool success);
 
+  // Called once the task runner finishes saving a page of a scan.
+  void OnPageSaved(bool success);
+
+  // Called once the task runner finishes saving the last page of a scan.
+  void OnAllPagesSaved(bool success);
+
   // TODO(jschettler): Replace this with a generic helper function when one is
   // available.
   // Determines whether the service supports saving scanned images to
@@ -131,6 +142,9 @@
   // The time a scan was started. Used in filenames when saving scanned images.
   base::Time::Exploded start_time_;
 
+  // Task runner used to convert and save scanned images.
+  scoped_refptr<base::SequencedTaskRunner> task_runner_;
+
   base::WeakPtrFactory<ScanService> weak_ptr_factory_{this};
 };
 
diff --git a/chrome/browser/chromeos/scanning/scan_service_unittest.cc b/chrome/browser/chromeos/scanning/scan_service_unittest.cc
index 282b21e..8691f68 100644
--- a/chrome/browser/chromeos/scanning/scan_service_unittest.cc
+++ b/chrome/browser/chromeos/scanning/scan_service_unittest.cc
@@ -156,17 +156,19 @@
     mojo_ipc::ScanServiceAsyncWaiter(scan_service_remote_.get())
         .StartScan(scanner_id, std::move(settings),
                    fake_scan_job_observer_.GenerateRemote(), &success);
-    scan_service_remote_.FlushForTesting();
+    task_environment_.RunUntilIdle();
     return success;
   }
 
   // Performs a cancel scan request.
   void CancelScan() {
     scan_service_remote_->CancelScan();
-    scan_service_remote_.FlushForTesting();
+    task_environment_.RunUntilIdle();
   }
 
  protected:
+  base::test::TaskEnvironment task_environment_{
+      base::test::TaskEnvironment::TimeSource::MOCK_TIME};
   base::ScopedTempDir temp_dir_;
   FakeLorgnetteScannerManager fake_lorgnette_scanner_manager_;
   FakeScanJobObserver fake_scan_job_observer_;
@@ -174,8 +176,6 @@
                             base::FilePath()};
 
  private:
-  base::test::TaskEnvironment task_environment_{
-      base::test::TaskEnvironment::TimeSource::MOCK_TIME};
   mojo::Remote<mojo_ipc::ScanService> scan_service_remote_;
 };
 
diff --git a/chrome/browser/enterprise/reporting/browser_report_generator_desktop.cc b/chrome/browser/enterprise/reporting/browser_report_generator_desktop.cc
index f28b40ae..ab7a839 100644
--- a/chrome/browser/enterprise/reporting/browser_report_generator_desktop.cc
+++ b/chrome/browser/enterprise/reporting/browser_report_generator_desktop.cc
@@ -96,7 +96,7 @@
         report->add_chrome_user_profile_infos();
     profile->set_id(profile_path.AsUTF8Unsafe());
     profile->set_name(base::UTF16ToUTF8(entry->GetName()));
-    profile->set_is_available(false);
+    profile->set_is_detail_available(false);
   }
 
   if (throttler->IsEnabled() && (report_type == ReportType::kExtensionRequest ||
diff --git a/chrome/browser/enterprise/reporting/browser_report_generator_unittest.cc b/chrome/browser/enterprise/reporting/browser_report_generator_unittest.cc
index 4b6c8e3..037522b8 100644
--- a/chrome/browser/enterprise/reporting/browser_report_generator_unittest.cc
+++ b/chrome/browser/enterprise/reporting/browser_report_generator_unittest.cc
@@ -136,7 +136,7 @@
                   report->chrome_user_profile_infos(0);
               EXPECT_NE(std::string(), profile.id());
               EXPECT_EQ(kProfileName, profile.name());
-              EXPECT_FALSE(profile.is_available());
+              EXPECT_FALSE(profile.is_detail_available());
 
 #if defined(OS_CHROMEOS)
               EXPECT_EQ(0, report->plugins_size());
diff --git a/chrome/browser/enterprise/reporting/profile_report_generator_unittest.cc b/chrome/browser/enterprise/reporting/profile_report_generator_unittest.cc
index c48bf3e6..107fea1 100644
--- a/chrome/browser/enterprise/reporting/profile_report_generator_unittest.cc
+++ b/chrome/browser/enterprise/reporting/profile_report_generator_unittest.cc
@@ -102,7 +102,7 @@
     EXPECT_TRUE(report);
     EXPECT_EQ(profile()->GetProfileUserName(), report->name());
     EXPECT_EQ(profile()->GetPath().AsUTF8Unsafe(), report->id());
-    EXPECT_TRUE(report->is_available());
+    EXPECT_TRUE(report->is_detail_available());
 
     return report;
   }
@@ -300,7 +300,7 @@
   EXPECT_EQ(0, report->chrome_policies_size());
   EXPECT_EQ(0, report->extensions_size());
   EXPECT_EQ(0, report->policy_fetched_timestamps_size());
-  EXPECT_TRUE(report->is_available());
+  EXPECT_TRUE(report->is_detail_available());
 }
 
 TEST_F(ProfileReportGeneratorTest, ExtensionRequestOnlyReportWithoutPolicy) {
diff --git a/chrome/browser/enterprise/reporting/report_generator_unittest.cc b/chrome/browser/enterprise/reporting/report_generator_unittest.cc
index 0261fc3..f890144 100644
--- a/chrome/browser/enterprise/reporting/report_generator_unittest.cc
+++ b/chrome/browser/enterprise/reporting/report_generator_unittest.cc
@@ -238,10 +238,10 @@
       // Verify that the profile id is set as profile path.
       EXPECT_EQ(GetProfilePath(actual_profile_name), actual_profile_info.id());
 
-      EXPECT_TRUE(actual_profile_info.has_is_available());
+      EXPECT_TRUE(actual_profile_info.has_is_detail_available());
 
       // Activate profiles have full report while the inactive ones don't.
-      if (actual_profile_info.is_available())
+      if (actual_profile_info.is_detail_available())
         FindAndRemoveProfileName(&mutable_active_profiles_names,
                                  actual_profile_name);
       else
diff --git a/chrome/browser/enterprise/reporting/report_request_queue_generator_unittest.cc b/chrome/browser/enterprise/reporting/report_request_queue_generator_unittest.cc
index de4d893..e4570fc5b 100644
--- a/chrome/browser/enterprise/reporting/report_request_queue_generator_unittest.cc
+++ b/chrome/browser/enterprise/reporting/report_request_queue_generator_unittest.cc
@@ -166,7 +166,7 @@
       EXPECT_EQ(0u, profile.id().find(profiles_dir));
       EXPECT_LE(0u, profile.id().find(profile.name()));
 
-      if (profile.is_available())
+      if (profile.is_detail_available())
         FindAndRemove(mutable_active_profile_names, profile.name());
       else
         FindAndRemove(mutable_idle_profile_names, profile.name());
diff --git a/chrome/browser/extensions/activity_log/activity_database.cc b/chrome/browser/extensions/activity_log/activity_database.cc
index 01356b6..16c5028 100644
--- a/chrome/browser/extensions/activity_log/activity_database.cc
+++ b/chrome/browser/extensions/activity_log/activity_database.cc
@@ -39,6 +39,7 @@
 
 ActivityDatabase::ActivityDatabase(ActivityDatabase::Delegate* delegate)
     : delegate_(delegate),
+      db_({.exclusive_locking = false, .page_size = 4096, .cache_size = 32}),
       valid_db_(false),
       batch_mode_(true),
       already_closed_(false),
@@ -61,8 +62,6 @@
   db_.set_histogram_tag("Activity");
   db_.set_error_callback(base::BindRepeating(
       &ActivityDatabase::DatabaseErrorCallback, base::Unretained(this)));
-  db_.set_page_size(4096);
-  db_.set_cache_size(32);
 
   // This db does not use [meta] table, store mmap status data elsewhere.
   db_.set_mmap_alt_status();
diff --git a/chrome/browser/extensions/api/declarative_net_request/ruleset_manager_unittest.cc b/chrome/browser/extensions/api/declarative_net_request/ruleset_manager_unittest.cc
index 1e3261fe..7a700232 100644
--- a/chrome/browser/extensions/api/declarative_net_request/ruleset_manager_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_net_request/ruleset_manager_unittest.cc
@@ -94,9 +94,9 @@
                                                   &expected_checksum));
 
     std::vector<std::unique_ptr<RulesetMatcher>> matchers(1);
-    EXPECT_EQ(LoadRulesetResult::kSuccess,
-              RulesetMatcher::CreateVerifiedMatcher(
-                  std::move(sources[0]), expected_checksum, &matchers[0]));
+    EXPECT_EQ(
+        LoadRulesetResult::kSuccess,
+        sources[0].CreateVerifiedMatcher(expected_checksum, &matchers[0]));
 
     *matcher = std::make_unique<CompositeMatcher>(std::move(matchers));
   }
diff --git a/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc b/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
index 3ee3dc3e..2032794 100644
--- a/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
@@ -5,6 +5,7 @@
 #include <stddef.h>
 
 #include "base/values.h"
+#include "build/build_config.h"
 #include "chrome/browser/extensions/api/tabs/tabs_api.h"
 #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
 #include "chrome/browser/extensions/extension_apitest.h"
@@ -131,10 +132,17 @@
   }
 };
 
-// Tests chrome.windows.create.
+// Crashes on Lacros only. http://crbug.com/1150133
+#if BUILDFLAG(IS_CHROMEOS_LACROS)
+#define MAYBE_TabCurrentWindow DISABLED_TabCurrentWindow
+#else
+#define MAYBE_TabCurrentWindow TabCurrentWindow
+#endif
+
+// Tests chrome.windows.create and chrome.windows.getCurrent.
 // TODO(crbug.com/984350): Expand the test to verify that setSelfAsOpener
 // param is ignored from Service Worker extension scripts.
-IN_PROC_BROWSER_TEST_P(NonPersistentExtensionTabsTest, TabCurrentWindow) {
+IN_PROC_BROWSER_TEST_P(NonPersistentExtensionTabsTest, MAYBE_TabCurrentWindow) {
   ASSERT_TRUE(
       RunExtensionTestWithFlags("tabs/current_window",
                                 GetParam() == ContextType::kServiceWorker
diff --git a/chrome/browser/extensions/api/tabs/tabs_util_chromeos.cc b/chrome/browser/extensions/api/tabs/tabs_util_chromeos.cc
index a4ddb8c9..f0b4942 100644
--- a/chrome/browser/extensions/api/tabs/tabs_util_chromeos.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_util_chromeos.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/tabs/tabs_util.h"
 
+#include "ash/public/cpp/ash_features.h"
 #include "ash/public/cpp/assistant/assistant_state.h"
 #include "base/metrics/histogram_macros.h"
 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
@@ -11,6 +12,7 @@
 #include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
 #include "chrome/browser/chromeos/assistant/assistant_util.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_content_manager.h"
+#include "chrome/browser/ui/ash/chrome_capture_mode_delegate.h"
 #include "chrome/browser/ui/ash/chrome_screenshot_grabber.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_command_controller.h"
@@ -42,6 +44,11 @@
   // Disallow screenshots in locked fullscreen mode.
   ChromeScreenshotGrabber::Get()->set_screenshots_allowed(!locked);
 
+  // Disable both screenshots and video screen captures via the capture mode
+  // feature.
+  if (ash::features::IsCaptureModeEnabled())
+    ChromeCaptureModeDelegate::Get()->SetIsScreenCaptureLocked(locked);
+
   // Reset the clipboard and kill dev tools when entering or exiting locked
   // fullscreen (security concerns).
   ui::Clipboard::GetForCurrentThread()->Clear(ui::ClipboardBuffer::kCopyPaste);
diff --git a/chrome/browser/extensions/script_executor_browsertest.cc b/chrome/browser/extensions/script_executor_browsertest.cc
index eab0ab2..f112e29 100644
--- a/chrome/browser/extensions/script_executor_browsertest.cc
+++ b/chrome/browser/extensions/script_executor_browsertest.cc
@@ -175,8 +175,10 @@
   //   frame3
   content::RenderFrameHost* frame1 = GetFrameByName(web_contents, "frame1");
   ASSERT_TRUE(frame1);
+  const int frame1_id = ExtensionApiFrameIdMap::GetFrameId(frame1);
   content::RenderFrameHost* frame2 = GetFrameByName(web_contents, "frame2");
   ASSERT_TRUE(frame2);
+  const int frame2_id = ExtensionApiFrameIdMap::GetFrameId(frame2);
   content::RenderFrameHost* frame3 = GetFrameByName(web_contents, "frame3");
   ASSERT_TRUE(frame3);
   content::RenderFrameHost* frame2_child =
@@ -188,16 +190,13 @@
   // execution result as an indication that it ran.
   constexpr char kCode[] = "document.title;";
 
-  std::vector<int> frame_ids = {ExtensionApiFrameIdMap::GetFrameId(frame1),
-                                ExtensionApiFrameIdMap::GetFrameId(frame2)};
-
   {
     // Execute in frames 1 and 2. These are the only frames for which we should
     // get a result.
     ScriptExecutorHelper helper;
     script_executor.ExecuteScript(
         HostID(HostID::EXTENSIONS, extension->id()), UserScript::ADD_JAVASCRIPT,
-        kCode, ScriptExecutor::SPECIFIED_FRAMES, frame_ids,
+        kCode, ScriptExecutor::SPECIFIED_FRAMES, {frame1_id, frame2_id},
         ScriptExecutor::DONT_MATCH_ABOUT_BLANK, UserScript::DOCUMENT_IDLE,
         ScriptExecutor::DEFAULT_PROCESS, GURL() /* webview_src */,
         GURL() /* script_url */, false /* user_gesture */,
@@ -220,7 +219,7 @@
     ScriptExecutorHelper helper;
     script_executor.ExecuteScript(
         HostID(HostID::EXTENSIONS, extension->id()), UserScript::ADD_JAVASCRIPT,
-        kCode, ScriptExecutor::INCLUDE_SUB_FRAMES, frame_ids,
+        kCode, ScriptExecutor::INCLUDE_SUB_FRAMES, {frame1_id, frame2_id},
         ScriptExecutor::DONT_MATCH_ABOUT_BLANK, UserScript::DOCUMENT_IDLE,
         ScriptExecutor::DEFAULT_PROCESS, GURL() /* webview_src */,
         GURL() /* script_url */, false /* user_gesture */,
@@ -238,6 +237,58 @@
                     ::testing::Eq(std::cref(frame2_result)),
                     ::testing::Eq(std::cref(frame2_child_result))));
   }
+
+  // Note: we don't use ExtensionApiFrameIdMap::kInvalidFrameId because we want
+  // to target a "potentially valid" frame (emulating a frame that used to
+  // exist, but no longer does).
+  constexpr int kNonExistentFrameId = 99999;
+  EXPECT_EQ(nullptr, ExtensionApiFrameIdMap::GetRenderFrameHostById(
+                         web_contents, kNonExistentFrameId));
+
+  {
+    // Try injecting into multiple frames when one of the specified frames
+    // doesn't exist.
+    ScriptExecutorHelper helper;
+    script_executor.ExecuteScript(
+        HostID(HostID::EXTENSIONS, extension->id()), UserScript::ADD_JAVASCRIPT,
+        kCode, ScriptExecutor::SPECIFIED_FRAMES,
+        {frame1_id, frame2_id, kNonExistentFrameId},
+        ScriptExecutor::DONT_MATCH_ABOUT_BLANK, UserScript::DOCUMENT_IDLE,
+        ScriptExecutor::DEFAULT_PROCESS, GURL() /* webview_src */,
+        GURL() /* script_url */, false /* user_gesture */,
+        base::nullopt /* css_origin */, ScriptExecutor::JSON_SERIALIZED_RESULT,
+        helper.GetCallback());
+    helper.Wait();
+
+    // When specifying multiple frames, if one doesn't exist, the rest of the
+    // injections should succeed and there should be no error.
+    EXPECT_EQ("", helper.error());
+    base::Value frame1_result("Frame 1");
+    base::Value frame2_result("Frame 2");
+    EXPECT_THAT(
+        helper.result().GetList(),
+        testing::UnorderedElementsAre(::testing::Eq(std::cref(frame1_result)),
+                                      ::testing::Eq(std::cref(frame2_result))));
+  }
+
+  {
+    // Try injecting into a single non-existent frame.
+    ScriptExecutorHelper helper;
+    script_executor.ExecuteScript(
+        HostID(HostID::EXTENSIONS, extension->id()), UserScript::ADD_JAVASCRIPT,
+        kCode, ScriptExecutor::SPECIFIED_FRAMES, {kNonExistentFrameId},
+        ScriptExecutor::DONT_MATCH_ABOUT_BLANK, UserScript::DOCUMENT_IDLE,
+        ScriptExecutor::DEFAULT_PROCESS, GURL() /* webview_src */,
+        GURL() /* script_url */, false /* user_gesture */,
+        base::nullopt /* css_origin */, ScriptExecutor::JSON_SERIALIZED_RESULT,
+        helper.GetCallback());
+    helper.Wait();
+
+    // If only a single frame was specified and it doesn't exist, the call
+    // should return an error.
+    EXPECT_EQ("The frame was removed.", helper.error());
+    EXPECT_TRUE(helper.result().GetList().empty());
+  }
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/metrics/chromeos_metrics_provider.cc b/chrome/browser/metrics/chromeos_metrics_provider.cc
index 14aef30..54022dd 100644
--- a/chrome/browser/metrics/chromeos_metrics_provider.cc
+++ b/chrome/browser/metrics/chromeos_metrics_provider.cc
@@ -128,7 +128,7 @@
 }
 
 void ChromeOSMetricsProvider::Init() {
-  if (profile_provider_ != nullptr)
+  if (profile_provider_)
     profile_provider_->Init();
 }
 
@@ -148,6 +148,16 @@
   }
 }
 
+void ChromeOSMetricsProvider::OnRecordingEnabled() {
+  if (profile_provider_)
+    profile_provider_->OnRecordingEnabled();
+}
+
+void ChromeOSMetricsProvider::OnRecordingDisabled() {
+  if (profile_provider_)
+    profile_provider_->OnRecordingDisabled();
+}
+
 void ChromeOSMetricsProvider::InitTaskGetFullHardwareClass(
     base::OnceClosure callback) {
   // Run the (potentially expensive) task in the background to avoid blocking
diff --git a/chrome/browser/metrics/chromeos_metrics_provider.h b/chrome/browser/metrics/chromeos_metrics_provider.h
index 7d0fccc..4f16d574 100644
--- a/chrome/browser/metrics/chromeos_metrics_provider.h
+++ b/chrome/browser/metrics/chromeos_metrics_provider.h
@@ -53,6 +53,8 @@
   void Init() override;
   void AsyncInit(base::OnceClosure done_callback) override;
   void OnDidCreateMetricsLog() override;
+  void OnRecordingEnabled() override;
+  void OnRecordingDisabled() override;
   void ProvideSystemProfileMetrics(
       metrics::SystemProfileProto* system_profile_proto) override;
   void ProvideStabilityMetrics(
diff --git a/chrome/browser/metrics/perf/metric_provider.cc b/chrome/browser/metrics/perf/metric_provider.cc
index 4ba3149..ebe16aa 100644
--- a/chrome/browser/metrics/perf/metric_provider.cc
+++ b/chrome/browser/metrics/perf/metric_provider.cc
@@ -146,9 +146,21 @@
                                 base::Unretained(metric_collector_.get())));
 }
 
+void MetricProvider::EnableRecording() {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+  recording_enabled_ = true;
+}
+
+void MetricProvider::DisableRecording() {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+  recording_enabled_ = false;
+}
+
 void MetricProvider::AddProfileToCache(
     std::unique_ptr<SampledProfile> sampled_profile) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+  if (!recording_enabled_)
+    return;
   collector_task_runner_->PostTask(
       FROM_HERE, base::BindOnce(&MetricCollector::AddCachedDataDelta,
                                 base::Unretained(metric_collector_.get()),
diff --git a/chrome/browser/metrics/perf/metric_provider.h b/chrome/browser/metrics/perf/metric_provider.h
index 57428324..155cddf 100644
--- a/chrome/browser/metrics/perf/metric_provider.h
+++ b/chrome/browser/metrics/perf/metric_provider.h
@@ -53,6 +53,12 @@
   // Called when a session restore has finished.
   void OnSessionRestoreDone(int num_tabs_restored);
 
+  // Enables the collector to save profiles to the local cache.
+  void EnableRecording();
+
+  // Disables the collector to save profiles to the local cache.
+  void DisableRecording();
+
   void OnJankStarted();
   void OnJankStopped();
 
@@ -71,6 +77,9 @@
   // Saves a profile to the local cache.
   void AddProfileToCache(std::unique_ptr<SampledProfile> sampled_profile);
 
+  // Indicates if collected profiles can be saved to the local cache.
+  bool recording_enabled_ = true;
+
   // Vector of SampledProfile protobufs containing perf profiles.
   std::vector<SampledProfile> cached_profile_data_;
 
diff --git a/chrome/browser/metrics/perf/metric_provider_unittest.cc b/chrome/browser/metrics/perf/metric_provider_unittest.cc
index 510b3a4..31246c4 100644
--- a/chrome/browser/metrics/perf/metric_provider_unittest.cc
+++ b/chrome/browser/metrics/perf/metric_provider_unittest.cc
@@ -212,4 +212,27 @@
   EXPECT_TRUE(profile.has_ms_after_boot());
 }
 
+TEST_F(MetricProviderTest, EnableAndDisableRecording) {
+  metric_provider_->OnUserLoggedIn();
+
+  // Upon disabling recording, we would expect no cached profiles after a
+  // profiling interval.
+  metric_provider_->DisableRecording();
+  task_environment_.FastForwardBy(kPeriodicCollectionInterval);
+
+  std::vector<SampledProfile> stored_profiles;
+  EXPECT_FALSE(metric_provider_->GetSampledProfiles(&stored_profiles));
+  EXPECT_TRUE(stored_profiles.empty());
+
+  // Upon enabling recording, we would find a cached PERIODIC_COLLECTION profile
+  // after a profiling interval.
+  metric_provider_->EnableRecording();
+  task_environment_.FastForwardBy(kPeriodicCollectionInterval);
+
+  EXPECT_TRUE(metric_provider_->GetSampledProfiles(&stored_profiles));
+  EXPECT_EQ(stored_profiles.size(), 1u);
+  EXPECT_EQ(SampledProfile::PERIODIC_COLLECTION,
+            stored_profiles[0].trigger_event());
+}
+
 }  // namespace metrics
diff --git a/chrome/browser/metrics/perf/profile_provider_chromeos.cc b/chrome/browser/metrics/perf/profile_provider_chromeos.cc
index 6e9c536..9c09af4e 100644
--- a/chrome/browser/metrics/perf/profile_provider_chromeos.cc
+++ b/chrome/browser/metrics/perf/profile_provider_chromeos.cc
@@ -112,6 +112,18 @@
   return result;
 }
 
+void ProfileProvider::OnRecordingEnabled() {
+  for (auto& collector : collectors_) {
+    collector->EnableRecording();
+  }
+}
+
+void ProfileProvider::OnRecordingDisabled() {
+  for (auto& collector : collectors_) {
+    collector->DisableRecording();
+  }
+}
+
 void ProfileProvider::LoggedInStateChanged() {
   if (IsNormalUserLoggedIn()) {
     for (auto& collector : collectors_) {
diff --git a/chrome/browser/metrics/perf/profile_provider_chromeos.h b/chrome/browser/metrics/perf/profile_provider_chromeos.h
index 232c544..19e72ae5 100644
--- a/chrome/browser/metrics/perf/profile_provider_chromeos.h
+++ b/chrome/browser/metrics/perf/profile_provider_chromeos.h
@@ -35,6 +35,11 @@
   // stored profile data. Returns true if it wrote to |sampled_profiles|.
   bool GetSampledProfiles(std::vector<SampledProfile>* sampled_profiles);
 
+  // Called when the metrics recording state changes and the corresponding
+  // callback in ChromeOSMetricsProvider is invoked.
+  void OnRecordingEnabled();
+  void OnRecordingDisabled();
+
  protected:
   // Called when either the login state or the logged in user type changes.
   // Activates the registered collectors to start collecting. Inherited from
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
index c3758b8d..af335247 100644
--- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
+++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
@@ -359,6 +359,8 @@
     certificate_manager_->Stop();
   }
 
+  process_shutdown_pending_timer_.Stop();
+
   // |profile_| has now been shut down so we shouldn't use it anymore.
   profile_ = nullptr;
 }
@@ -1262,8 +1264,19 @@
   InvalidateSendSurfaceState();
   InvalidateReceiveSurfaceState();
   if (ShouldStopNearbyProcess()) {
-    NS_LOG(VERBOSE) << __func__ << ": Stopping process because it's not in use";
-    process_manager_->StopProcess(profile_);
+    // We need to debounce the call to shut down the process in case this state
+    // is temporary (we don't want to the thrash the process). Any advertisment,
+    // scanning or transfering will stop this timer from triggering.
+    NS_LOG(INFO) << __func__
+                 << ": Scheduling process shutdown if not needed in 15 seconds";
+    // NOTE: Using base::Unretained is safe because if shutdown_pending_timer_
+    // goes out of scope the timer will be canceled.
+    process_shutdown_pending_timer_.Start(
+        FROM_HERE, base::TimeDelta::FromSeconds(15),
+        base::BindOnce(&NearbySharingServiceImpl::OnProcessShutdownTimerFired,
+                       base::Unretained(this)));
+  } else {
+    process_shutdown_pending_timer_.Stop();
   }
 }
 
@@ -1296,6 +1309,14 @@
   return true;
 }
 
+void NearbySharingServiceImpl::OnProcessShutdownTimerFired() {
+  if (ShouldStopNearbyProcess()) {
+    NS_LOG(INFO) << __func__
+                 << ": Shutdown Process timer fired, shutting down process";
+    process_manager_->StopProcess(profile_);
+  }
+}
+
 void NearbySharingServiceImpl::InvalidateSendSurfaceState() {
   InvalidateScanningState();
   InvalidateFastInitiationAdvertising();
@@ -1365,6 +1386,7 @@
     return;
   }
 
+  process_shutdown_pending_timer_.Stop();
   // Screen is on, Bluetooth is enabled, and Nearby Sharing is enabled! Start
   // discovery.
   StartScanning();
@@ -1432,6 +1454,8 @@
     return;
   }
 
+  process_shutdown_pending_timer_.Stop();
+
   StartFastInitiationAdvertising();
 }
 
@@ -1524,6 +1548,8 @@
     return;
   }
 
+  process_shutdown_pending_timer_.Stop();
+
   PowerLevel power_level;
   if (foreground_receive_callbacks_.might_have_observers()) {
     power_level = PowerLevel::kHighPower;
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h
index 4f1ff004..5bf61959 100644
--- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h
+++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h
@@ -177,6 +177,7 @@
   bool HasAvailableConnectionMediums();
   void InvalidateSurfaceState();
   bool ShouldStopNearbyProcess();
+  void OnProcessShutdownTimerFired();
   void InvalidateSendSurfaceState();
   void InvalidateScanningState();
   void InvalidateFastInitiationAdvertising();
@@ -337,6 +338,7 @@
   NearbyFileHandler file_handler_;
   bool is_screen_locked_ = false;
   base::OneShotTimer rotate_background_advertisement_timer_;
+  base::OneShotTimer process_shutdown_pending_timer_;
 
   // A list of service observers.
   base::ObserverList<NearbySharingService::Observer> observers_;
diff --git a/chrome/browser/notifications/proto/client_state.proto b/chrome/browser/notifications/proto/client_state.proto
index 18a44d8..1eee1ca 100644
--- a/chrome/browser/notifications/proto/client_state.proto
+++ b/chrome/browser/notifications/proto/client_state.proto
@@ -19,6 +19,7 @@
   WEBUI = 1;
   CHROME_UPDATE = 2;
   PREFETCH = 3;
+  READING_LIST = 4;
 }
 
 // Contains details about suppression and recovery after suppression expired.
diff --git a/chrome/browser/notifications/scheduler/internal/impression_history_tracker.cc b/chrome/browser/notifications/scheduler/internal/impression_history_tracker.cc
index 799ba19..0b444d08 100644
--- a/chrome/browser/notifications/scheduler/internal/impression_history_tracker.cc
+++ b/chrome/browser/notifications/scheduler/internal/impression_history_tracker.cc
@@ -54,6 +54,8 @@
       return "ChromeUpdate";
     case SchedulerClientType::kPrefetch:
       return "Prefetch";
+    case SchedulerClientType::kReadingList:
+      return "ReadingList";
   }
 }
 
diff --git a/chrome/browser/notifications/scheduler/internal/proto_conversion.cc b/chrome/browser/notifications/scheduler/internal/proto_conversion.cc
index efadc8d1..bc9c782 100644
--- a/chrome/browser/notifications/scheduler/internal/proto_conversion.cc
+++ b/chrome/browser/notifications/scheduler/internal/proto_conversion.cc
@@ -57,6 +57,8 @@
       return proto::SchedulerClientType::CHROME_UPDATE;
     case SchedulerClientType::kPrefetch:
       return proto::SchedulerClientType::PREFETCH;
+    case SchedulerClientType::kReadingList:
+      return proto::SchedulerClientType::READING_LIST;
   }
   NOTREACHED();
 }
@@ -79,6 +81,8 @@
       return SchedulerClientType::kChromeUpdate;
     case proto::SchedulerClientType::PREFETCH:
       return SchedulerClientType::kPrefetch;
+    case proto::SchedulerClientType::READING_LIST:
+      return SchedulerClientType::kReadingList;
   }
   NOTREACHED();
 }
diff --git a/chrome/browser/notifications/scheduler/internal/stats.cc b/chrome/browser/notifications/scheduler/internal/stats.cc
index 5792e5d6..898fc5d 100644
--- a/chrome/browser/notifications/scheduler/internal/stats.cc
+++ b/chrome/browser/notifications/scheduler/internal/stats.cc
@@ -33,6 +33,8 @@
       return "ChromeUpdate";
     case SchedulerClientType::kPrefetch:
       return "Prefetch";
+    case SchedulerClientType::kReadingList:
+      return "ReadingList";
   }
 }
 
diff --git a/chrome/browser/notifications/scheduler/notification_schedule_service_factory.cc b/chrome/browser/notifications/scheduler/notification_schedule_service_factory.cc
index 03d312c..0126354 100644
--- a/chrome/browser/notifications/scheduler/notification_schedule_service_factory.cc
+++ b/chrome/browser/notifications/scheduler/notification_schedule_service_factory.cc
@@ -24,6 +24,7 @@
 #include "chrome/browser/notifications/scheduler/notification_background_task_scheduler_android.h"
 #include "chrome/browser/offline_pages/prefetch/notifications/prefetch_notification_client.h"
 #include "chrome/browser/offline_pages/prefetch/notifications/prefetch_notification_service_factory.h"
+#include "chrome/browser/reading_list/android/reading_list_notification_client.h"
 #include "chrome/browser/updates/update_notification_client.h"
 #include "chrome/browser/updates/update_notification_service_factory.h"
 #endif  // defined(OS_ANDROID)
@@ -55,6 +56,12 @@
       notifications::SchedulerClientType::kPrefetch,
       std::move(prefetch_client));
 
+  // Register reading list client.
+  auto reading_list_client = std::make_unique<ReadingListNotificationClient>();
+  client_registrar->RegisterClient(
+      notifications::SchedulerClientType::kReadingList,
+      std::move(reading_list_client));
+
 #endif  // defined(OS_ANDROID)
   return client_registrar;
 }
diff --git a/chrome/browser/notifications/scheduler/public/notification_scheduler_types.h b/chrome/browser/notifications/scheduler/public/notification_scheduler_types.h
index d73b102..b5e7fe6 100644
--- a/chrome/browser/notifications/scheduler/public/notification_scheduler_types.h
+++ b/chrome/browser/notifications/scheduler/public/notification_scheduler_types.h
@@ -15,6 +15,8 @@
 // The type of a list of clients using the notification scheduler system. Used
 // in metrics, need to sync with histogram suffix
 // NotificationSchedulerClientType in histograms.xml.
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused.
 // GENERATED_JAVA_ENUM_PACKAGE: (
 //   org.chromium.chrome.browser.notifications.scheduler)
 enum class SchedulerClientType {
@@ -31,7 +33,9 @@
   kChromeUpdate = 2,
   // Offline prefetch notification.
   kPrefetch = 3,
-  kMaxValue = kPrefetch
+  // Reading list weekly notification.
+  kReadingList = 4,
+  kMaxValue = kReadingList
 };
 
 // The type of user feedback from a displayed notification.
diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.cc
index 627dce88..f6aa3f4 100644
--- a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.cc
@@ -54,6 +54,8 @@
 #include "ui/gfx/geometry/size.h"
 #include "url/gurl.h"
 
+#include "components/subresource_filter/core/browser/subresource_filter_features.h"
+
 namespace features {
 
 // Enables or disables the restricted navigation ad tagging feature. When
@@ -1248,6 +1250,27 @@
   return id_and_data->second.Get();
 }
 
+void AdsPageLoadMetricsObserver::MaybeTriggerStrictHeavyAdIntervention() {
+  DCHECK(heavy_ads_blocklist_reason_.has_value());
+  if (heavy_ads_blocklist_reason_ !=
+      blocklist::BlocklistReason::kUserOptedOutOfHost)
+    return;
+
+  auto* client = ChromeSubresourceFilterClient::FromWebContents(
+      GetDelegate().GetWebContents());
+  // AdsPageLoadMetricsObserver is not created unless there is a
+  // ChromeSubresourceFilterClient
+  DCHECK(client);
+
+  // Violations can be triggered multiple times for the same page as
+  // violations after the first are ignored. Ad frame violations are
+  // attributed to the main frame url.
+  client->OnAdsViolationTriggered(
+      GetDelegate().GetWebContents()->GetMainFrame(),
+      subresource_filter::mojom::AdsViolation::
+          kHeavyAdsInterventionAtHostLimit);
+}
+
 void AdsPageLoadMetricsObserver::MaybeTriggerHeavyAdIntervention(
     content::RenderFrameHost* render_frame_host,
     FrameTreeData* frame_data) {
@@ -1271,7 +1294,7 @@
   }
 
   // Check to see if we are allowed to activate on this host.
-  if (IsBlocklisted()) {
+  if (IsBlocklisted(true)) {
     frame_data->set_heavy_ad_action(ad_metrics::HeavyAdAction::kIgnored);
     return;
   }
@@ -1327,6 +1350,14 @@
         GetDelegate().GetWebContents()->GetLastCommittedURL().host(),
         true /* opt_out */,
         static_cast<int>(HeavyAdBlocklistType::kHeavyAdOnlyType));
+    // Once we report, we need to check and see if we are now blocklisted.
+    // If we are, then we might trigger stricter interventions.
+    // TODO(ericrobinson): This does a couple fetches of the blocklist.  It
+    // might be simpler to fetch it once at the start of this function and use
+    // it throughout.
+    if (IsBlocklisted(false)) {
+      MaybeTriggerStrictHeavyAdIntervention();
+    }
   }
 
   // Record this UMA regardless of if we actually unload or not, as sending
@@ -1357,7 +1388,7 @@
       heavy_ads::PrepareHeavyAdPage(), net::ERR_BLOCKED_BY_CLIENT);
 }
 
-bool AdsPageLoadMetricsObserver::IsBlocklisted() {
+bool AdsPageLoadMetricsObserver::IsBlocklisted(bool report) {
   if (!heavy_ad_privacy_mitigations_enabled_)
     return false;
 
@@ -1365,30 +1396,29 @@
 
   // Treat instances where the blocklist is unavailable as blocklisted.
   if (!blocklist) {
-    heavy_ads_blocklist_blocklisted_ = true;
+    heavy_ads_blocklist_reason_ =
+        blocklist::BlocklistReason::kBlocklistNotLoaded;
     return true;
   }
 
-  if (heavy_ads_blocklist_blocklisted_) {
-    // Only record that we have disallowed an intervention when we have a
-    // blocklist.
-    RecordHeavyAdInterventionDisallowedByBlocklist(true /* disallowed */);
-    return true;
+  // If we haven't computed a blocklist reason previously or it was allowed
+  // previously, we need to compute/re-compute the value and store it.
+  if (!heavy_ads_blocklist_reason_.has_value() ||
+      heavy_ads_blocklist_reason_ == blocklist::BlocklistReason::kAllowed) {
+    std::vector<blocklist::BlocklistReason> passed_reasons;
+    heavy_ads_blocklist_reason_ = blocklist->IsLoadedAndAllowed(
+        GetDelegate().GetWebContents()->GetLastCommittedURL().host(),
+        static_cast<int>(HeavyAdBlocklistType::kHeavyAdOnlyType),
+        false /* opt_out */, &passed_reasons);
   }
 
-  std::vector<blocklist::BlocklistReason> passed_reasons;
-  auto blocklist_reason = blocklist->IsLoadedAndAllowed(
-      GetDelegate().GetWebContents()->GetLastCommittedURL().host(),
-      static_cast<int>(HeavyAdBlocklistType::kHeavyAdOnlyType),
-      false /* opt_out */, &passed_reasons);
-  heavy_ads_blocklist_blocklisted_ =
-      (blocklist_reason != blocklist::BlocklistReason::kAllowed);
-
   // Record whether this intervention hit the blocklist.
-  RecordHeavyAdInterventionDisallowedByBlocklist(
-      heavy_ads_blocklist_blocklisted_);
+  if (report) {
+    RecordHeavyAdInterventionDisallowedByBlocklist(
+        heavy_ads_blocklist_reason_ != blocklist::BlocklistReason::kAllowed);
+  }
 
-  return heavy_ads_blocklist_blocklisted_;
+  return heavy_ads_blocklist_reason_ != blocklist::BlocklistReason::kAllowed;
 }
 
 HeavyAdBlocklist* AdsPageLoadMetricsObserver::GetHeavyAdBlocklist() {
diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.h b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.h
index 536e3ec..21aaa76 100644
--- a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.h
+++ b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.h
@@ -18,6 +18,7 @@
 #include "build/build_config.h"
 #include "chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.h"
 #include "chrome/browser/page_load_metrics/observers/ad_metrics/page_ad_density_tracker.h"
+#include "components/blocklist/opt_out_blocklist/opt_out_blocklist_data.h"
 #include "components/page_load_metrics/browser/page_load_metrics_observer.h"
 #include "components/page_load_metrics/common/page_load_metrics.mojom-forward.h"
 #include "components/performance_manager/public/v8_memory/v8_detailed_memory.h"
@@ -253,6 +254,10 @@
   // |ad_frames_data_storage_|.
   FrameTreeData* FindFrameData(FrameTreeNodeId id);
 
+  // When a page has reached its limit of heavy ads interventions, will trigger
+  // ads interventions for all ads on the page if appropriate.
+  void MaybeTriggerStrictHeavyAdIntervention();
+
   // Triggers the heavy ad intervention page in the target frame if it is safe
   // to do so on this origin, and the frame meets the criteria to be considered
   // a heavy ad. This first sends an intervention report to every affected
@@ -261,7 +266,7 @@
       content::RenderFrameHost* render_frame_host,
       FrameTreeData* frame_data);
 
-  bool IsBlocklisted();
+  bool IsBlocklisted(bool report);
   HeavyAdBlocklist* GetHeavyAdBlocklist();
 
   // Maps a frame (by id) to the corresponding FrameInstance. Multiple frame ids
@@ -311,7 +316,7 @@
   // on the URL of this page. Incognito Profiles will cause this to be set to
   // true. Used as a cache to avoid checking the blocklist once the page is
   // blocklisted. Once blocklisted, a page load cannot be unblocklisted.
-  bool heavy_ads_blocklist_blocklisted_ = false;
+  base::Optional<blocklist::BlocklistReason> heavy_ads_blocklist_reason_;
 
   // Pointer to the blocklist used to throttle the heavy ad intervention. Can
   // be replaced by tests.
diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc
index b0ac343..db8d005 100644
--- a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc
+++ b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc
@@ -24,6 +24,7 @@
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/page_load_metrics/browser/observers/use_counter_page_load_metrics_observer.h"
 #include "components/page_load_metrics/browser/page_load_metrics_test_waiter.h"
+#include "components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h"
 #include "components/subresource_filter/content/browser/ruleset_service.h"
 #include "components/subresource_filter/core/browser/subresource_filter_features.h"
 #include "components/subresource_filter/core/common/activation_scope.h"
@@ -60,6 +61,9 @@
 
 using FrameTreeNodeId = int;
 
+const char kAdsInterventionRecordedHistogram[] =
+    "SubresourceFilter.PageLoad.AdsInterventionTriggered";
+
 const char kCrossOriginHistogramId[] =
     "PageLoad.Clients.Ads.FrameCounts.AdFrames.PerFrame."
     "OriginStatus";
@@ -1348,8 +1352,9 @@
   AdsPageLoadMetricsObserverResourceBrowserTest() {
     scoped_feature_list_.InitWithFeaturesAndParameters(
         {{subresource_filter::kAdTagging, {}},
+         {subresource_filter::kAdsInterventionsEnforced, {}},
          {features::kHeavyAdIntervention, {}},
-         {features::kHeavyAdPrivacyMitigations, {{"host-threshold", "1"}}}},
+         {features::kHeavyAdPrivacyMitigations, {{"host-threshold", "3"}}}},
         {});
   }
 
@@ -1370,6 +1375,38 @@
         switches::autoplay::kNoUserGestureRequiredPolicy);
   }
 
+  // This function loads a |large_resource| and if |will_block| is set, then
+  // checks to see the resource is blocked, otherwise, it uses the |waiter| to
+  // wait until the resource is loaded.
+  void LoadHeavyAdResourceAndWaitOrError(
+      net::test_server::ControllableHttpResponse* large_resource,
+      page_load_metrics::PageLoadMetricsTestWaiter* waiter,
+      bool will_block) {
+    // Create a frame for the large resource.
+    content::WebContents* web_contents =
+        browser()->tab_strip_model()->GetActiveWebContents();
+    EXPECT_TRUE(ExecJs(web_contents,
+                       "createAdFrame('/ads_observer/"
+                       "ad_with_incomplete_resource.html', '');"));
+
+    if (will_block) {
+      // If we expect the resource to be blocked, load a resource large enough
+      // to trigger the intervention and ensure that the navigation failed.
+      content::TestNavigationObserver error_observer(
+          web_contents, net::ERR_BLOCKED_BY_CLIENT);
+      LoadLargeResource(large_resource, kMaxHeavyAdNetworkSize);
+      error_observer.WaitForNavigationFinished();
+      EXPECT_FALSE(error_observer.last_navigation_succeeded());
+    } else {
+      // Otherwise load the resource, ensuring enough bytes were loaded.
+      int64_t current_network_bytes = waiter->current_network_bytes();
+      LoadLargeResource(large_resource, kMaxHeavyAdNetworkSize);
+      waiter->AddMinimumNetworkBytesExpectation(current_network_bytes +
+                                                kMaxHeavyAdNetworkSize);
+      waiter->Wait();
+    }
+  }
+
  protected:
   std::unique_ptr<AdsPageLoadMetricsTestWaiter>
   CreateAdsPageLoadMetricsTestWaiter() {
@@ -1820,70 +1857,96 @@
           ->trial_name()));
 }
 
-// Verifies that when the blocklist is at threshold, the heavy ad intervention
-// does not trigger.
+// Check that the Heavy Ad Intervention fires the correct number of times to
+// protect privacy, and that after that limit is hit, the Ads Intervention
+// Framework takes over for future navigations.
 IN_PROC_BROWSER_TEST_F(AdsPageLoadMetricsObserverResourceBrowserTest,
                        HeavyAdInterventionBlocklistFull_InterventionBlocked) {
+  std::vector<std::unique_ptr<net::test_server::ControllableHttpResponse>>
+      http_responses(4);
+  for (auto& http_response : http_responses) {
+    http_response =
+        std::make_unique<net::test_server::ControllableHttpResponse>(
+            embedded_test_server(), "/ads_observer/incomplete_resource.js",
+            false /*relative_url_is_prefix*/);
+  }
   base::HistogramTester histogram_tester;
-  auto large_resource_1 =
-      std::make_unique<net::test_server::ControllableHttpResponse>(
-          embedded_test_server(), "/ads_observer/incomplete_resource.js",
-          false /*relative_url_is_prefix*/);
-  auto large_resource_2 =
-      std::make_unique<net::test_server::ControllableHttpResponse>(
-          embedded_test_server(), "/ads_observer/incomplete_resource.js",
-          false /*relative_url_is_prefix*/);
   ASSERT_TRUE(embedded_test_server()->Start());
 
-  // Create a navigation observer that will watch for the intervention to
-  // navigate the frame.
-  content::WebContents* web_contents =
-      browser()->tab_strip_model()->GetActiveWebContents();
-  content::TestNavigationObserver error_observer(web_contents,
-                                                 net::ERR_BLOCKED_BY_CLIENT);
-
+  // Create a waiter for the navigation and navigate.
   auto waiter = CreateAdsPageLoadMetricsTestWaiter();
-
   ui_test_utils::NavigateToURL(
       browser(), embedded_test_server()->GetURL(
                      "foo.com", "/ad_tagging/frame_factory.html"));
 
-  EXPECT_TRUE(ExecJs(
-      web_contents,
-      "createAdFrame('/ads_observer/ad_with_incomplete_resource.html', '');"));
-
-  // Load a resource large enough to trigger the intervention.
-  LoadLargeResource(large_resource_1.get(), kMaxHeavyAdNetworkSize);
-
-  // Wait for the intervention page navigation to finish on the frame.
-  error_observer.WaitForNavigationFinished();
-
+  // Load and block the resource. The ads intervention framework should not
+  // be triggered at this point.
+  LoadHeavyAdResourceAndWaitOrError(http_responses[0].get(), waiter.get(),
+                                    /*will_block=*/true);
   histogram_tester.ExpectUniqueSample(kHeavyAdInterventionTypeHistogramId,
                                       ad_metrics::HeavyAdStatus::kNetwork, 1);
+  histogram_tester.ExpectTotalCount(kAdsInterventionRecordedHistogram, 0);
+  histogram_tester.ExpectBucketCount(
+      "SubresourceFilter.Actions2",
+      subresource_filter::SubresourceFilterAction::kUIShown, 0);
 
-  // Check that the ad frame was navigated to the intervention page.
-  EXPECT_FALSE(error_observer.last_navigation_succeeded());
-
+  // Block a second resource on the page. The ads intervention framework should
+  // not be triggered at this point.
+  LoadHeavyAdResourceAndWaitOrError(http_responses[1].get(), waiter.get(),
+                                    /*will_block=*/true);
   histogram_tester.ExpectUniqueSample(kHeavyAdInterventionTypeHistogramId,
-                                      ad_metrics::HeavyAdStatus::kNetwork, 1);
+                                      ad_metrics::HeavyAdStatus::kNetwork, 2);
+  histogram_tester.ExpectTotalCount(kAdsInterventionRecordedHistogram, 0);
+  histogram_tester.ExpectBucketCount(
+      "SubresourceFilter.Actions2",
+      subresource_filter::SubresourceFilterAction::kUIShown, 0);
 
-  EXPECT_TRUE(ExecJs(
-      web_contents,
-      "createAdFrame('/ads_observer/ad_with_incomplete_resource.html', '');"));
+  // Create a new waiter for the next navigation and navigate.
+  waiter = CreateAdsPageLoadMetricsTestWaiter();
+  ui_test_utils::NavigateToURL(
+      browser(), embedded_test_server()->GetURL(
+                     "foo.com", "/ad_tagging/frame_factory.html"));
 
-  // Use the current network bytes because the ad could have been unloaded
-  // before loading the entire large resource.
-  int64_t current_network_bytes = waiter->current_network_bytes();
-
-  // Load a resource large enough to trigger the intervention.
-  LoadLargeResource(large_resource_2.get(), kMaxHeavyAdNetworkSize);
-  waiter->AddMinimumNetworkBytesExpectation(current_network_bytes +
-                                            kMaxHeavyAdNetworkSize);
-  waiter->Wait();
-
-  // Check that the intervention did not trigger on this frame.
+  // Load and block the resource. The ads intervention framework should
+  // be triggered at this point.
+  LoadHeavyAdResourceAndWaitOrError(http_responses[2].get(), waiter.get(),
+                                    /*will_block=*/true);
   histogram_tester.ExpectUniqueSample(kHeavyAdInterventionTypeHistogramId,
-                                      ad_metrics::HeavyAdStatus::kNetwork, 1);
+                                      ad_metrics::HeavyAdStatus::kNetwork, 3);
+  histogram_tester.ExpectUniqueSample(
+      kAdsInterventionRecordedHistogram,
+      subresource_filter::mojom::AdsViolation::kHeavyAdsInterventionAtHostLimit,
+      1);
+  histogram_tester.ExpectBucketCount(
+      "SubresourceFilter.Actions2",
+      subresource_filter::SubresourceFilterAction::kUIShown, 0);
+
+  // Allow a second resource on the page. The ads intervention shouldn't fire a
+  // second time.
+  LoadHeavyAdResourceAndWaitOrError(http_responses[3].get(), waiter.get(),
+                                    /*will_block=*/false);
+  histogram_tester.ExpectUniqueSample(kHeavyAdInterventionTypeHistogramId,
+                                      ad_metrics::HeavyAdStatus::kNetwork, 3);
+  histogram_tester.ExpectUniqueSample(
+      kAdsInterventionRecordedHistogram,
+      subresource_filter::mojom::AdsViolation::kHeavyAdsInterventionAtHostLimit,
+      1);
+  histogram_tester.ExpectBucketCount(
+      "SubresourceFilter.Actions2",
+      subresource_filter::SubresourceFilterAction::kUIShown, 0);
+
+  // Reset the waiter and navigate again. Check we show the Ads Intervention UI.
+  waiter.reset();
+  ui_test_utils::NavigateToURL(
+      browser(), embedded_test_server()->GetURL(
+                     "foo.com", "/ad_tagging/frame_factory.html"));
+  histogram_tester.ExpectUniqueSample(
+      kAdsInterventionRecordedHistogram,
+      subresource_filter::mojom::AdsViolation::kHeavyAdsInterventionAtHostLimit,
+      1);
+  histogram_tester.ExpectBucketCount(
+      "SubresourceFilter.Actions2",
+      subresource_filter::SubresourceFilterAction::kUIShown, 1);
 }
 
 // Verifies that the blocklist is setup correctly and the intervention triggers
diff --git a/chrome/browser/paint_preview/android/javatests/src/org/chromium/chrome/browser/paint_preview/services/PaintPreviewTabServiceTest.java b/chrome/browser/paint_preview/android/javatests/src/org/chromium/chrome/browser/paint_preview/services/PaintPreviewTabServiceTest.java
index 0e65d8c..cb72f9c6 100644
--- a/chrome/browser/paint_preview/android/javatests/src/org/chromium/chrome/browser/paint_preview/services/PaintPreviewTabServiceTest.java
+++ b/chrome/browser/paint_preview/android/javatests/src/org/chromium/chrome/browser/paint_preview/services/PaintPreviewTabServiceTest.java
@@ -99,6 +99,8 @@
         activity.getWindow().setLocalFocus(true, true);
         TestThreadUtils.runOnUiThreadBlocking(() -> {
             InstrumentationRegistry.getInstrumentation().callActivityOnRestart(activity);
+            InstrumentationRegistry.getInstrumentation().callActivityOnStart(activity);
+            InstrumentationRegistry.getInstrumentation().callActivityOnResume(activity);
         });
 
         TestThreadUtils.runOnUiThreadBlocking(() -> {
diff --git a/chrome/browser/password_manager/android/save_password_message_delegate.cc b/chrome/browser/password_manager/android/save_password_message_delegate.cc
new file mode 100644
index 0000000..b547cfe9
--- /dev/null
+++ b/chrome/browser/password_manager/android/save_password_message_delegate.cc
@@ -0,0 +1,124 @@
+// 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.
+
+#include "chrome/browser/password_manager/android/save_password_message_delegate.h"
+
+#include "chrome/browser/android/android_theme_resources.h"
+#include "chrome/browser/android/resource_mapper.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/sync/profile_sync_service_factory.h"
+#include "chrome/browser/ui/passwords/manage_passwords_view_utils.h"
+#include "chrome/grit/generated_resources.h"
+#include "components/messages/android/message_dispatcher_bridge.h"
+#include "components/password_manager/core/browser/password_bubble_experiment.h"
+#include "components/password_manager/core/browser/password_form.h"
+#include "components/password_manager/core/browser/password_form_metrics_recorder.h"
+#include "content/public/browser/web_contents.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "url/origin.h"
+
+SavePasswordMessageDelegate::SavePasswordMessageDelegate() = default;
+SavePasswordMessageDelegate::~SavePasswordMessageDelegate() = default;
+
+void SavePasswordMessageDelegate::DisplaySavePasswordPrompt(
+    content::WebContents* web_contents,
+    std::unique_ptr<password_manager::PasswordFormManagerForUI> form_to_save) {
+  DCHECK_NE(nullptr, web_contents);
+  DCHECK(form_to_save);
+  // is_saving_google_account indicates whether the user is syncing
+  // passwords to their Google Account.
+  const bool is_saving_google_account =
+      password_bubble_experiment::IsSmartLockUser(
+          ProfileSyncServiceFactory::GetForProfile(
+              Profile::FromBrowserContext(web_contents_->GetBrowserContext())));
+
+  // All the DisplaySavePasswordPrompt parameters are passed to CreateMessage to
+  // avoid a call to MessageDispatcherBridge::EnqueueMessage from test while
+  // still providing decent test coverage.
+  CreateMessage(web_contents, std::move(form_to_save),
+                is_saving_google_account);
+
+  messages::MessageDispatcherBridge::EnqueueMessage(*message_, web_contents_);
+}
+
+void SavePasswordMessageDelegate::DismissSavePasswordPrompt() {
+  messages::MessageDispatcherBridge::DismissMessage(*message_, web_contents_);
+}
+
+void SavePasswordMessageDelegate::CreateMessage(
+    content::WebContents* web_contents,
+    std::unique_ptr<password_manager::PasswordFormManagerForUI> form_to_save,
+    bool is_saving_google_account) {
+  ui_dismissal_reason_ = password_manager::metrics_util::NO_DIRECT_INTERACTION;
+  web_contents_ = web_contents;
+  form_to_save_ = std::move(form_to_save);
+
+  // Binding with base::Unretained(this) is safe here because
+  // SavePasswordMessageDelegate owns message_. Callbacks won't be called after
+  // the current object is destroyed.
+  message_ = std::make_unique<messages::MessageWrapper>(
+      base::BindOnce(&SavePasswordMessageDelegate::HandleActionClick,
+                     base::Unretained(this)),
+      base::BindOnce(&SavePasswordMessageDelegate::HandleDismissCallback,
+                     base::Unretained(this)));
+
+  PasswordTitleType type =
+      form_to_save_->GetPendingCredentials().federation_origin.opaque()
+          ? PasswordTitleType::SAVE_PASSWORD
+          : PasswordTitleType::SAVE_ACCOUNT;
+
+  message_->SetTitle(GetSavePasswordDialogTitleText(
+      web_contents_->GetVisibleURL(),
+      url::Origin::Create(form_to_save_->GetURL()), type));
+  if (type == PasswordTitleType::SAVE_PASSWORD && is_saving_google_account) {
+    message_->SetDescription(
+        l10n_util::GetStringUTF16(IDS_SAVE_PASSWORD_FOOTER));
+  }
+  message_->SetPrimaryButtonText(
+      l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_BUTTON));
+  message_->SetIconResourceId(
+      ResourceMapper::MapToJavaDrawableId(IDR_ANDROID_INFOBAR_SAVE_PASSWORD));
+
+  // Recording metrics is not a part of message creation. It is included here to
+  // ensure metrics recording test coverage.
+  RecordMessageShownMetrics();
+}
+
+void SavePasswordMessageDelegate::HandleActionClick() {
+  form_to_save_->Save();
+  ui_dismissal_reason_ = password_manager::metrics_util::CLICKED_ACCEPT;
+}
+
+void SavePasswordMessageDelegate::HandleDismissCallback() {
+  // The message is dismissed. Record metrics and cleanup state.
+  RecordDismissalReasonMetrics();
+  message_.reset();
+  form_to_save_.reset();
+  // Following fields are also set in CreateMessage(). Resetting them here to
+  // keep the state clean when no message is enqueued.
+  web_contents_ = nullptr;
+  ui_dismissal_reason_ = password_manager::metrics_util::NO_DIRECT_INTERACTION;
+}
+
+void SavePasswordMessageDelegate::RecordMessageShownMetrics() {
+  if (auto* recorder = form_to_save_->GetMetricsRecorder()) {
+    recorder->RecordPasswordBubbleShown(
+        form_to_save_->GetCredentialSource(),
+        password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING);
+  }
+}
+
+void SavePasswordMessageDelegate::RecordDismissalReasonMetrics() {
+  password_manager::metrics_util::LogSaveUIDismissalReason(
+      ui_dismissal_reason_, /*user_state=*/base::nullopt);
+  // TODO(crbug.com/1147799): Update WasUnblacklisted to use incluse
+  // terminology.
+  if (form_to_save_->WasUnblacklisted()) {
+    password_manager::metrics_util::LogSaveUIDismissalReasonAfterUnblacklisting(
+        ui_dismissal_reason_);
+  }
+  if (auto* recorder = form_to_save_->GetMetricsRecorder()) {
+    recorder->RecordUIDismissalReason(ui_dismissal_reason_);
+  }
+}
diff --git a/chrome/browser/password_manager/android/save_password_message_delegate.h b/chrome/browser/password_manager/android/save_password_message_delegate.h
new file mode 100644
index 0000000..ecfc790
--- /dev/null
+++ b/chrome/browser/password_manager/android/save_password_message_delegate.h
@@ -0,0 +1,61 @@
+// 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.
+
+#ifndef CHROME_BROWSER_PASSWORD_MANAGER_ANDROID_SAVE_PASSWORD_MESSAGE_DELEGATE_H_
+#define CHROME_BROWSER_PASSWORD_MANAGER_ANDROID_SAVE_PASSWORD_MESSAGE_DELEGATE_H_
+
+#include <memory>
+
+#include "components/messages/android/message_wrapper.h"
+#include "components/password_manager/core/browser/password_form_manager_for_ui.h"
+#include "components/password_manager/core/browser/password_manager_metrics_util.h"
+
+namespace content {
+class WebContents;
+}  // namespace content
+
+// This class provides simplified interface for ChromePasswordManagerClient to
+// display a prompt to save password through Messages API. The class is
+// responsible for populating message properties, managing message's lifetime,
+// saving password form in response to user interactions and recording metrics.
+class SavePasswordMessageDelegate {
+ public:
+  SavePasswordMessageDelegate();
+  ~SavePasswordMessageDelegate();
+
+  // Displays a "Save password" message for current |web_contents| and
+  // |form_to_save|.
+  void DisplaySavePasswordPrompt(
+      content::WebContents* web_contents,
+      std::unique_ptr<password_manager::PasswordFormManagerForUI> form_to_save);
+  // Dismisses currently displayed message.
+  void DismissSavePasswordPrompt();
+
+ private:
+  friend class SavePasswordMessageDelegateTest;
+
+  void CreateMessage(
+      content::WebContents* web_contents,
+      std::unique_ptr<password_manager::PasswordFormManagerForUI> form_to_save,
+      bool is_saving_google_account);
+
+  // Called in response to user clicking "Save" button.
+  void HandleActionClick();
+  // Called when the message is dismissed.
+  void HandleDismissCallback();
+
+  void RecordMessageShownMetrics();
+  void RecordDismissalReasonMetrics();
+
+  content::WebContents* web_contents_ = nullptr;
+  std::unique_ptr<messages::MessageWrapper> message_;
+  // The PasswordFormManager managing the form we're asking the user about,
+  // and should update as per their decision.
+  std::unique_ptr<password_manager::PasswordFormManagerForUI> form_to_save_;
+  // Tracks the reason the message was dismissed.
+  password_manager::metrics_util::UIDismissalReason ui_dismissal_reason_ =
+      password_manager::metrics_util::NO_DIRECT_INTERACTION;
+};
+
+#endif  // CHROME_BROWSER_PASSWORD_MANAGER_ANDROID_SAVE_PASSWORD_MESSAGE_DELEGATE_H_
diff --git a/chrome/browser/password_manager/android/save_password_message_delegate_unittest.cc b/chrome/browser/password_manager/android/save_password_message_delegate_unittest.cc
new file mode 100644
index 0000000..297eb302
--- /dev/null
+++ b/chrome/browser/password_manager/android/save_password_message_delegate_unittest.cc
@@ -0,0 +1,220 @@
+// 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.
+
+#include "chrome/browser/password_manager/android/save_password_message_delegate.h"
+
+#include "base/macros.h"
+#include "base/memory/scoped_refptr.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/test/metrics/histogram_tester.h"
+#include "chrome/browser/android/android_theme_resources.h"
+#include "chrome/browser/android/resource_mapper.h"
+#include "chrome/grit/generated_resources.h"
+#include "chrome/test/base/chrome_render_view_host_test_harness.h"
+#include "components/password_manager/core/browser/mock_password_form_manager_for_ui.h"
+#include "components/password_manager/core/browser/password_form.h"
+#include "components/password_manager/core/browser/password_form_metrics_recorder.h"
+#include "components/ukm/test_ukm_recorder.h"
+#include "content/public/test/web_contents_tester.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "url/gurl.h"
+
+using password_manager::MockPasswordFormManagerForUI;
+using password_manager::PasswordFormManagerForUI;
+using password_manager::PasswordFormMetricsRecorder;
+
+namespace {
+constexpr char kDefaultUrl[] = "http://example.com";
+constexpr char kAlternativeUrl[] = "http://bar.com";
+constexpr char kAlternativeUrlHost[] = "bar.com";
+constexpr char kDismissalReasonHistogramName[] =
+    "PasswordManager.SaveUIDismissalReason";
+}  // namespace
+
+class SavePasswordMessageDelegateTest : public ChromeRenderViewHostTestHarness {
+ public:
+  SavePasswordMessageDelegateTest() = default;
+
+ protected:
+  void SetUp() override;
+
+  std::unique_ptr<MockPasswordFormManagerForUI> CreateFormManager(
+      const GURL& url);
+
+  void CreateMessage(std::unique_ptr<PasswordFormManagerForUI> form_to_save,
+                     bool is_saving_google_account);
+  void TriggerActionClick();
+  void TriggerMessageDismissedCallback();
+
+  messages::MessageWrapper* GetMessageWrapper();
+
+  void VerifyUkmMetrics(const ukm::TestUkmRecorder& ukm_recorder,
+                        PasswordFormMetricsRecorder::BubbleDismissalReason
+                            expected_dismissal_reason);
+
+ private:
+  SavePasswordMessageDelegate delegate_;
+  password_manager::PasswordForm form_;
+  GURL password_form_url_;
+  scoped_refptr<PasswordFormMetricsRecorder> metrics_recorder_;
+  ukm::SourceId ukm_source_id_;
+};
+
+void SavePasswordMessageDelegateTest::SetUp() {
+  ChromeRenderViewHostTestHarness::SetUp();
+  ukm_source_id_ = ukm::UkmRecorder::GetNewSourceID();
+  NavigateAndCommit(GURL(kDefaultUrl));
+}
+
+std::unique_ptr<MockPasswordFormManagerForUI>
+SavePasswordMessageDelegateTest::CreateFormManager(
+    const GURL& password_form_url) {
+  password_form_url_ = password_form_url;
+  auto form_manager = std::make_unique<MockPasswordFormManagerForUI>();
+  ON_CALL(*form_manager, GetPendingCredentials())
+      .WillByDefault(testing::ReturnRef(form_));
+  ON_CALL(*form_manager, GetCredentialSource())
+      .WillByDefault(
+          testing::Return(password_manager::metrics_util::CredentialSourceType::
+                              kPasswordManager));
+  ON_CALL(*form_manager, GetURL())
+      .WillByDefault(testing::ReturnRef(password_form_url_));
+  metrics_recorder_ = base::MakeRefCounted<PasswordFormMetricsRecorder>(
+      true /*is_main_frame_secure*/, ukm_source_id_, nullptr /*pref_service*/);
+  ON_CALL(*form_manager, GetMetricsRecorder())
+      .WillByDefault(testing::Return(metrics_recorder_.get()));
+  return form_manager;
+}
+
+void SavePasswordMessageDelegateTest::CreateMessage(
+    std::unique_ptr<PasswordFormManagerForUI> form_to_save,
+    bool is_saving_google_account) {
+  delegate_.CreateMessage(web_contents(), std::move(form_to_save),
+                          is_saving_google_account);
+}
+
+void SavePasswordMessageDelegateTest::TriggerActionClick() {
+  GetMessageWrapper()->HandleActionClick(nullptr);
+}
+
+void SavePasswordMessageDelegateTest::TriggerMessageDismissedCallback() {
+  GetMessageWrapper()->HandleDismissCallback(nullptr);
+  EXPECT_EQ(nullptr, GetMessageWrapper());
+  metrics_recorder_.reset();
+}
+
+messages::MessageWrapper* SavePasswordMessageDelegateTest::GetMessageWrapper() {
+  return delegate_.message_.get();
+}
+
+void SavePasswordMessageDelegateTest::VerifyUkmMetrics(
+    const ukm::TestUkmRecorder& ukm_recorder,
+    PasswordFormMetricsRecorder::BubbleDismissalReason
+        expected_dismissal_reason) {
+  const auto& entries =
+      ukm_recorder.GetEntriesByName(ukm::builders::PasswordForm::kEntryName);
+  EXPECT_EQ(1u, entries.size());
+  for (const auto* entry : entries) {
+    EXPECT_EQ(ukm_source_id_, entry->source_id);
+    ukm_recorder.ExpectEntryMetric(
+        entry, ukm::builders::PasswordForm::kSaving_Prompt_ShownName, 1);
+    ukm_recorder.ExpectEntryMetric(
+        entry, ukm::builders::PasswordForm::kSaving_Prompt_TriggerName,
+        static_cast<int64_t>(PasswordFormMetricsRecorder::BubbleTrigger::
+                                 kPasswordManagerSuggestionAutomatic));
+    ukm_recorder.ExpectEntryMetric(
+        entry, ukm::builders::PasswordForm::kSaving_Prompt_InteractionName,
+        static_cast<int64_t>(expected_dismissal_reason));
+  }
+}
+
+// Tests that message properties (title, description, icon, button text) are
+// set correctly.
+TEST_F(SavePasswordMessageDelegateTest, MessagePropertyValues) {
+  auto form_manager = CreateFormManager(GURL(kDefaultUrl));
+  CreateMessage(std::move(form_manager), false /*is_saving_google_account*/);
+
+  EXPECT_EQ(l10n_util::GetStringUTF16(IDS_SAVE_PASSWORD),
+            GetMessageWrapper()->GetTitle());
+  EXPECT_EQ(base::string16(), GetMessageWrapper()->GetDescription());
+  EXPECT_EQ(l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_BUTTON),
+            GetMessageWrapper()->GetPrimaryButtonText());
+  EXPECT_EQ(
+      ResourceMapper::MapToJavaDrawableId(IDR_ANDROID_INFOBAR_SAVE_PASSWORD),
+      GetMessageWrapper()->GetIconResourceId());
+
+  TriggerMessageDismissedCallback();
+}
+
+// Tests that the description is set correctly when user is syncing passwords to
+// their Google Account.
+TEST_F(SavePasswordMessageDelegateTest, SaveToGoogleDescription) {
+  auto form_manager = CreateFormManager(GURL(kDefaultUrl));
+  CreateMessage(std::move(form_manager), true /*is_saving_google_account*/);
+
+  EXPECT_EQ(l10n_util::GetStringUTF16(IDS_SAVE_PASSWORD_FOOTER),
+            GetMessageWrapper()->GetDescription());
+
+  TriggerMessageDismissedCallback();
+}
+
+// Tests that the title is set correctly when form domain differs from current
+// page domain.
+TEST_F(SavePasswordMessageDelegateTest, TitleForDifferentDomainPassword) {
+  auto form_manager = CreateFormManager(GURL(kAlternativeUrl));
+  CreateMessage(std::move(form_manager), false /*is_saving_google_account*/);
+
+  EXPECT_NE(l10n_util::GetStringUTF16(IDS_SAVE_PASSWORD),
+            GetMessageWrapper()->GetTitle());
+  EXPECT_NE(base::string16::npos, GetMessageWrapper()->GetTitle().find(
+                                      base::ASCIIToUTF16(kAlternativeUrlHost)));
+
+  TriggerMessageDismissedCallback();
+}
+
+// Tests that password form is saved and metrics recorded correctly when the
+// user clicks "Save" button.
+TEST_F(SavePasswordMessageDelegateTest, SaveOnActionClick) {
+  base::HistogramTester histogram_tester;
+  ukm::TestAutoSetUkmRecorder test_ukm_recorder;
+
+  auto form_manager = CreateFormManager(GURL(kDefaultUrl));
+  EXPECT_CALL(*form_manager, Save());
+  CreateMessage(std::move(form_manager), false /*is_saving_google_account*/);
+  EXPECT_NE(nullptr, GetMessageWrapper());
+  TriggerActionClick();
+  EXPECT_NE(nullptr, GetMessageWrapper());
+  TriggerMessageDismissedCallback();
+  EXPECT_EQ(nullptr, GetMessageWrapper());
+
+  VerifyUkmMetrics(
+      test_ukm_recorder,
+      PasswordFormMetricsRecorder::BubbleDismissalReason::kAccepted);
+  histogram_tester.ExpectUniqueSample(
+      kDismissalReasonHistogramName,
+      password_manager::metrics_util::CLICKED_ACCEPT, 1);
+}
+
+// Tests that password form is not saved and metrics recorded correctly when the
+// user dismisses the message.
+TEST_F(SavePasswordMessageDelegateTest, DontSaveOnDismiss) {
+  base::HistogramTester histogram_tester;
+  ukm::TestAutoSetUkmRecorder test_ukm_recorder;
+
+  auto form_manager = CreateFormManager(GURL(kDefaultUrl));
+  EXPECT_CALL(*form_manager, Save()).Times(0);
+  CreateMessage(std::move(form_manager), false /*is_saving_google_account*/);
+  EXPECT_NE(nullptr, GetMessageWrapper());
+  TriggerMessageDismissedCallback();
+  EXPECT_EQ(nullptr, GetMessageWrapper());
+
+  VerifyUkmMetrics(
+      test_ukm_recorder,
+      PasswordFormMetricsRecorder::BubbleDismissalReason::kIgnored);
+  histogram_tester.ExpectUniqueSample(
+      kDismissalReasonHistogramName,
+      password_manager::metrics_util::NO_DIRECT_INTERACTION, 1);
+}
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
index d657910..e4ff886 100644
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
@@ -130,6 +130,7 @@
 #include "chrome/browser/password_manager/password_scripts_fetcher_factory.h"
 #include "chrome/browser/touch_to_fill/touch_to_fill_controller.h"
 #include "components/infobars/core/infobar.h"
+#include "components/messages/android/messages_feature.h"
 #include "components/password_manager/core/browser/credential_cache.h"
 #include "ui/base/ui_base_features.h"
 #else
@@ -330,8 +331,13 @@
     UpdatePasswordInfoBarDelegate::Create(web_contents(),
                                           std::move(form_to_save));
   } else {
-    SavePasswordInfoBarDelegate::Create(web_contents(),
-                                        std::move(form_to_save));
+    if (messages::IsPasswordMessagesUiEnabled()) {
+      save_password_message_delegate_.DisplaySavePasswordPrompt(
+          web_contents(), std::move(form_to_save));
+    } else {
+      SavePasswordInfoBarDelegate::Create(web_contents(),
+                                          std::move(form_to_save));
+    }
   }
 #else
   PasswordsClientUIDelegate* manage_passwords_ui_controller =
@@ -593,7 +599,11 @@
           password_manager::features::kPasswordChange)) {
     was_leak_dialog_shown_ = true;
   }
-  HideSavePasswordInfobar(web_contents());
+  if (messages::IsPasswordMessagesUiEnabled()) {
+    save_password_message_delegate_.DismissSavePasswordPrompt();
+  } else {
+    HideSavePasswordInfobar(web_contents());
+  }
   (new CredentialLeakControllerAndroid(
        leak_type, saved_sites, origin, username,
        web_contents()->GetTopLevelNativeWindow()))
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.h b/chrome/browser/password_manager/chrome_password_manager_client.h
index cf6c5ce..e9a22fc 100644
--- a/chrome/browser/password_manager/chrome_password_manager_client.h
+++ b/chrome/browser/password_manager/chrome_password_manager_client.h
@@ -42,6 +42,7 @@
 #include "url/origin.h"
 
 #if defined(OS_ANDROID)
+#include "chrome/browser/password_manager/android/save_password_message_delegate.h"
 #include "components/password_manager/core/browser/credential_cache.h"
 
 class PasswordAccessoryController;
@@ -360,7 +361,9 @@
   // Whether a leak warning was shown. Used only for tests or when
   // kPasswordChange feature is enabled.
   bool was_leak_dialog_shown_ = false;
-#endif
+
+  SavePasswordMessageDelegate save_password_message_delegate_;
+#endif  // defined(OS_ANDROID)
 
   std::unique_ptr<ChromeBiometricAuthenticator> biometric_authenticator_;
 
diff --git a/chrome/browser/password_manager/multi_profile_credentials_filter_unittest.cc b/chrome/browser/password_manager/multi_profile_credentials_filter_unittest.cc
index c65e8451..bd40032 100644
--- a/chrome/browser/password_manager/multi_profile_credentials_filter_unittest.cc
+++ b/chrome/browser/password_manager/multi_profile_credentials_filter_unittest.cc
@@ -38,7 +38,7 @@
   void ShowSigninInterceptionBubble(
       content::WebContents* web_contents,
       const BubbleParameters& bubble_parameters,
-      base::OnceCallback<void(bool)> callback) override {}
+      base::OnceCallback<void(SigninInterceptionResult)> callback) override {}
   void ShowProfileCustomizationBubble(Browser* browser) override {}
 };
 
diff --git a/chrome/browser/performance_manager/decorators/frozen_frame_aggregator.cc b/chrome/browser/performance_manager/decorators/frozen_frame_aggregator.cc
index ad6df31..f334fab 100644
--- a/chrome/browser/performance_manager/decorators/frozen_frame_aggregator.cc
+++ b/chrome/browser/performance_manager/decorators/frozen_frame_aggregator.cc
@@ -19,10 +19,11 @@
 // PageNodeImpl and ProcessNodeImpl.
 class FrozenFrameAggregatorAccess {
  public:
-  using StorageType = decltype(PageNodeImpl::frozen_frame_data_);
+  using StorageType = PageNodeImpl::FrozenFrameDataStorage;
 
   static StorageType* GetInternalStorage(PageNodeImpl* page_node) {
-    return &page_node->frozen_frame_data_;
+    return &page_node->GetFrozenFrameData(
+        base::PassKey<FrozenFrameAggregatorAccess>());
   }
 
   static StorageType* GetInternalStorage(ProcessNodeImpl* process_node) {
@@ -31,7 +32,8 @@
 
   static void SetLifecycleState(PageNodeImpl* page_node,
                                 LifecycleState lifecycle_state) {
-    page_node->SetLifecycleState(lifecycle_state);
+    page_node->SetLifecycleState(base::PassKey<FrozenFrameAggregatorAccess>(),
+                                 lifecycle_state);
   }
 
   static void NotifyAllFramesInProcessFrozen(ProcessNodeImpl* process_node) {
diff --git a/chrome/browser/performance_manager/decorators/page_aggregator.cc b/chrome/browser/performance_manager/decorators/page_aggregator.cc
index 9f7bde20..5791219 100644
--- a/chrome/browser/performance_manager/decorators/page_aggregator.cc
+++ b/chrome/browser/performance_manager/decorators/page_aggregator.cc
@@ -24,23 +24,27 @@
 // Provides PageAggregator machinery access to some internals of a PageNodeImpl.
 class PageAggregatorAccess {
  public:
-  using StorageType = decltype(PageNodeImpl::page_aggregator_data_);
+  using StorageType = PageNodeImpl::PageAggregatorDataStorage;
 
   static StorageType* GetInternalStorage(PageNodeImpl* page_node) {
-    return &page_node->page_aggregator_data_;
+    return &page_node->GetPageAggregatorData(
+        base::PassKey<PageAggregatorAccess>());
   }
 
   static void SetPageIsHoldingWebLock(PageNodeImpl* page_node, bool value) {
-    page_node->SetIsHoldingWebLock(value);
+    page_node->SetIsHoldingWebLock(base::PassKey<PageAggregatorAccess>(),
+                                   value);
   }
 
   static void SetPageIsHoldingIndexedDBLock(PageNodeImpl* page_node,
                                             bool value) {
-    page_node->SetIsHoldingIndexedDBLock(value);
+    page_node->SetIsHoldingIndexedDBLock(base::PassKey<PageAggregatorAccess>(),
+                                         value);
   }
 
   static void SetPageHadFormInteraction(PageNodeImpl* page_node, bool value) {
-    page_node->SetHadFormInteraction(value);
+    page_node->SetHadFormInteraction(base::PassKey<PageAggregatorAccess>(),
+                                     value);
   }
 };
 
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index e628f90b7..8a0abf0 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -717,9 +717,6 @@
   { key::kShelfAlignment,
     ash::prefs::kShelfAlignmentLocal,
     base::Value::Type::STRING },
-  { key::kManagedGuestSessionAutoLaunchNotificationReduced,
-    prefs::kManagedGuestSessionAutoLaunchNotificationReduced,
-    base::Value::Type::BOOLEAN },
   { key::kManagedGuestSessionPrivacyWarningsEnabled,
     ash::prefs::kManagedGuestSessionPrivacyWarningsEnabled,
     base::Value::Type::BOOLEAN },
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc
index f618ae6d..2265a8e 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_browsertest.cc
@@ -2881,6 +2881,33 @@
   return nullptr;
 }
 
+std::unique_ptr<net::test_server::HttpResponse>
+HandleOriginWithIneligibleSubresources(
+    net::EmbeddedTestServer* non_eligible_server,
+    const net::test_server::HttpRequest& request) {
+  GURL url = request.GetURL();
+
+  if (url.path() == "/page.html") {
+    GURL same_origin_resource =
+        non_eligible_server->GetURL("a.test", "/script.js");
+
+    std::unique_ptr<net::test_server::BasicHttpResponse> resp =
+        std::make_unique<net::test_server::BasicHttpResponse>();
+    resp->set_code(net::HTTP_OK);
+    resp->set_content_type("text/html");
+    resp->set_content(base::StringPrintf(R"(
+        <html>
+          <head>
+            <script src="%s">
+          </head>
+          <body>Test</body>
+        </html>)",
+                                         same_origin_resource.spec().c_str()));
+    return resp;
+  }
+  return nullptr;
+}
+
 std::unique_ptr<net::test_server::HttpResponse> HandleEligibleOrigin(
     net::EmbeddedTestServer* eligible_server,
     net::EmbeddedTestServer* non_eligible_server,
@@ -2993,6 +3020,63 @@
   EXPECT_EQ(expected_subresources, manager->successfully_loaded_subresources());
 }
 
+IN_PROC_BROWSER_TEST_F(
+    PrefetchProxyWithNSPBrowserTest,
+    DISABLE_ON_WIN_MAC_CHROMEOS(NSPWithIneligibleSubresources)) {
+  TestServerConnectionCounter http_counter;
+  net::EmbeddedTestServer non_eligible_origin(
+      net::EmbeddedTestServer::TYPE_HTTP);
+  non_eligible_origin.SetConnectionListener(&http_counter);
+  ASSERT_TRUE(non_eligible_origin.Start());
+
+  net::EmbeddedTestServer eligible_origin(net::EmbeddedTestServer::TYPE_HTTPS);
+  eligible_origin.SetSSLConfig(net::EmbeddedTestServer::CERT_TEST_NAMES);
+  eligible_origin.RegisterRequestHandler(base::BindRepeating(
+      &HandleOriginWithIneligibleSubresources, &non_eligible_origin));
+  ASSERT_TRUE(eligible_origin.Start());
+
+  SetDataSaverEnabled(true);
+  WaitForUpdatedCustomProxyConfig();
+
+  PrefetchProxyTabHelper* tab_helper =
+      PrefetchProxyTabHelper::FromWebContents(GetWebContents());
+
+  GURL eligible_link = eligible_origin.GetURL("a.test", "/page.html");
+
+  TestTabHelperObserver tab_helper_observer(tab_helper);
+  tab_helper_observer.SetExpectedSuccessfulURLs({eligible_link});
+
+  base::RunLoop prefetch_run_loop;
+  base::RunLoop nsp_run_loop;
+  tab_helper_observer.SetOnPrefetchSuccessfulClosure(
+      prefetch_run_loop.QuitClosure());
+
+  tab_helper_observer.SetOnNSPFinishedClosure(nsp_run_loop.QuitClosure());
+
+  GURL doc_url("https://www.google.com/search?q=test");
+  MakeNavigationPrediction(doc_url, {eligible_link});
+
+  // This run loop will quit when all the prefetch responses have been
+  // successfully done and processed.
+  prefetch_run_loop.Run();
+
+  // This run loop will quit when a NSP finishes.
+  nsp_run_loop.Run();
+
+  EXPECT_EQ(0U, http_counter.count());
+
+  // Verify the resource load was reported to the subresource manager.
+  PrefetchProxyService* service =
+      PrefetchProxyServiceFactory::GetForProfile(browser()->profile());
+  PrefetchProxySubresourceManager* manager =
+      service->GetSubresourceManagerForURL(eligible_link);
+  ASSERT_TRUE(manager);
+
+  base::RunLoop().RunUntilIdle();
+
+  EXPECT_TRUE(manager->successfully_loaded_subresources().empty());
+}
+
 IN_PROC_BROWSER_TEST_F(PrefetchProxyWithNSPBrowserTest,
                        DISABLE_ON_WIN_MAC_CHROMEOS(PrefetchButNSPDenied)) {
   // NSP is disabled on low-end devices.
diff --git a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_proxying_url_loader_factory.cc b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_proxying_url_loader_factory.cc
index f968928..7c506e3 100644
--- a/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_proxying_url_loader_factory.cc
+++ b/chrome/browser/prefetch/prefetch_proxy/prefetch_proxy_proxying_url_loader_factory.cc
@@ -365,6 +365,16 @@
   // If this request is happening during a prerender then check if it is
   // eligible for caching before putting it on the network.
   if (ShouldHandleRequestForPrerender()) {
+    // Do not allow insecure resources to be fetched due to risk of privacy
+    // leaks in an HSTS setting.
+    if (!request.url.SchemeIs(url::kHttpsScheme)) {
+      std::unique_ptr<AbortRequest> request = std::make_unique<AbortRequest>(
+          std::move(loader_receiver), std::move(client));
+      // The request will manage its own lifecycle based on the mojo pipes.
+      request.release();
+      return;
+    }
+
     // Check if this prerender has exceeded its max number of subresources.
     request_count_++;
     if (request_count_ > PrefetchProxyMaxSubresourcesPerPrerender()) {
diff --git a/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc b/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc
index 6f2cad4..efde2a92 100644
--- a/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc
+++ b/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.cc
@@ -9,6 +9,8 @@
 #include "content/public/browser/frame_accept_header.h"
 #include "content/public/common/content_constants.h"
 #include "net/base/load_flags.h"
+#include "net/http/http_response_headers.h"
+#include "net/http/http_status_code.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
 #include "services/network/public/cpp/resource_request.h"
 
@@ -76,3 +78,39 @@
   StartPrefetchRequestInternal(profile, std::move(resource_request),
                                network_traffic_annotation);
 }
+
+void BaseSearchPrefetchRequest::CancelPrefetch() {
+  DCHECK(current_status_ == SearchPrefetchStatus::kInFlight);
+  current_status_ = SearchPrefetchStatus::kRequestCancelled;
+  StopPrefetch();
+}
+
+void BaseSearchPrefetchRequest::ErrorEncountered() {
+  DCHECK(!report_error_callback_.is_null());
+  // A streaming response can still encounter an error after the headers, so
+  // both these states are possible.
+  DCHECK(current_status_ == SearchPrefetchStatus::kInFlight ||
+         current_status_ == SearchPrefetchStatus::kCanBeServed);
+  current_status_ = SearchPrefetchStatus::kRequestFailed;
+  std::move(report_error_callback_).Run();
+  StopPrefetch();
+}
+
+void BaseSearchPrefetchRequest::MarkPrefetchAsServable() {
+  DCHECK(current_status_ == SearchPrefetchStatus::kInFlight);
+  current_status_ = SearchPrefetchStatus::kCanBeServed;
+}
+
+bool BaseSearchPrefetchRequest::CanServePrefetchRequest(
+    const scoped_refptr<net::HttpResponseHeaders> headers) {
+  if (!headers)
+    return false;
+
+  // Any 200 response can be served.
+  if (headers->response_code() >= net::HTTP_OK &&
+      headers->response_code() < net::HTTP_MULTIPLE_CHOICES) {
+    return true;
+  }
+
+  return false;
+}
diff --git a/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.h b/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.h
index bbc5dd6..3316725 100644
--- a/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.h
+++ b/chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.h
@@ -12,6 +12,10 @@
 #include "services/network/public/cpp/resource_request.h"
 #include "url/gurl.h"
 
+namespace net {
+class HttpResponseHeaders;
+}
+
 class Profile;
 class SearchPrefetchURLLoader;
 
@@ -22,11 +26,12 @@
   kNotStarted = 0,
   // The request is on the network and may move to any other state.
   kInFlight = 1,
-  // The request received all the data and is ready to serve.
-  kSuccessfullyCompleted = 2,
-  // The request hit an error and cannot be served.
+  // The request can be served to the navigation stack, but may still encounter
+  // errors and move to |kRequestFailed|.
+  kCanBeServed = 2,
+  // The request hit an error and cannot be served. This is a terminal state.
   kRequestFailed = 3,
-  // The request was cancelled before completion.
+  // The request was cancelled before completion. This is terminal state.
   kRequestCancelled = 4,
 };
 
@@ -47,15 +52,28 @@
   // on a resource request and calls |StartPrefetchRequestInternal()|.
   void StartPrefetchRequest(Profile* profile);
 
+  // Marks a prefetch as canceled and stops any ongoing fetch.
+  void CancelPrefetch();
+
+  // Called when the prefetch encounters an error.
+  void ErrorEncountered();
+
+  // Update the status when the request is serveable.
+  void MarkPrefetchAsServable();
+
+  // Whether the prefetch should be served based on |headers|.
+  bool CanServePrefetchRequest(
+      const scoped_refptr<net::HttpResponseHeaders> headers);
+
   // Starts and begins processing |resource_request|.
   virtual void StartPrefetchRequestInternal(
       Profile* profile,
       std::unique_ptr<network::ResourceRequest> resource_request,
       const net::NetworkTrafficAnnotationTag& traffic_annotation) = 0;
 
-  // Cancels the on-going prefetch and should mark |current_status_|
+  // Stops the on-going prefetch and should mark |current_status_|
   // appropriately.
-  virtual void CancelPrefetch() = 0;
+  virtual void StopPrefetch() = 0;
 
   SearchPrefetchStatus current_status() const { return current_status_; }
 
diff --git a/chrome/browser/prefetch/search_prefetch/field_trial_settings.cc b/chrome/browser/prefetch/search_prefetch/field_trial_settings.cc
index 424b919..860af1d 100644
--- a/chrome/browser/prefetch/search_prefetch/field_trial_settings.cc
+++ b/chrome/browser/prefetch/search_prefetch/field_trial_settings.cc
@@ -68,3 +68,8 @@
   return base::GetFieldTrialParamByFeatureAsBool(
       kSearchPrefetchServicePrefetching, "cancel_inflight_unneeded", true);
 }
+
+bool StreamSearchPrefetchResponses() {
+  return base::GetFieldTrialParamByFeatureAsBool(
+      kSearchPrefetchServicePrefetching, "stream_responses", true);
+}
diff --git a/chrome/browser/prefetch/search_prefetch/field_trial_settings.h b/chrome/browser/prefetch/search_prefetch/field_trial_settings.h
index b7f0bab..f62291e5 100644
--- a/chrome/browser/prefetch/search_prefetch/field_trial_settings.h
+++ b/chrome/browser/prefetch/search_prefetch/field_trial_settings.h
@@ -36,4 +36,9 @@
 // the request is canceled or allowed to finish.
 bool SearchPrefetchShouldCancelUneededInflightRequests();
 
+// Whether Search Prefetch should use a streaming model to serve requests or
+// wait for the entire response to be streamed before being able to serve
+// requests.
+bool StreamSearchPrefetchResponses();
+
 #endif  // CHROME_BROWSER_PREFETCH_SEARCH_PREFETCH_FIELD_TRIAL_SETTINGS_H_
diff --git a/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.cc b/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.cc
index 3f320097..e0f1736b 100644
--- a/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.cc
+++ b/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.cc
@@ -21,7 +21,6 @@
 #include "content/public/browser/storage_partition.h"
 #include "content/public/common/content_constants.h"
 #include "net/base/load_flags.h"
-#include "net/http/http_status_code.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
 #include "services/network/public/cpp/resource_request.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -55,29 +54,22 @@
 
 void FullBodySearchPrefetchRequest::LoadDone(
     std::unique_ptr<std::string> response_body) {
-  DCHECK(!report_error_callback_.is_null());
-  bool success = simple_loader_->NetError() == net::OK;
-  // TODO(ryansturm): Handle these errors more robustly by reporting them to the
-  // service. We need to prevent prefetches for x amount of time based on the
-  // error. https://crbug.com/1138641
-  if (!success || response_body->empty()) {
-    current_status_ = SearchPrefetchStatus::kRequestFailed;
-    std::move(report_error_callback_).Run();
-    return;
+  bool should_continue = false;
+  if (simple_loader_->NetError() == net::OK && !response_body->empty() &&
+      simple_loader_->ResponseInfo()) {
+    should_continue =
+        CanServePrefetchRequest(simple_loader_->ResponseInfo()->headers);
   }
-  if (!simple_loader_->ResponseInfo() ||
-      !simple_loader_->ResponseInfo()->headers ||
-      simple_loader_->ResponseInfo()->headers->response_code() !=
-          net::HTTP_OK) {
-    current_status_ = SearchPrefetchStatus::kRequestFailed;
-    std::move(report_error_callback_).Run();
-    return;
-  }
-  current_status_ = SearchPrefetchStatus::kSuccessfullyCompleted;
 
+  // Don't do anything, as |StopPrefetch()| is guaranteed to be called.
+  if (!should_continue) {
+    ErrorEncountered();
+    return;
+  }
+
+  MarkPrefetchAsServable();
   prefetch_response_container_ = std::make_unique<PrefetchedResponseContainer>(
       simple_loader_->ResponseInfo()->Clone(), std::move(response_body));
-
   simple_loader_.reset();
 }
 
@@ -87,9 +79,6 @@
       std::move(prefetch_response_container_));
 }
 
-void FullBodySearchPrefetchRequest::CancelPrefetch() {
-  DCHECK_EQ(current_status_, SearchPrefetchStatus::kInFlight);
-  current_status_ = SearchPrefetchStatus::kRequestCancelled;
-
+void FullBodySearchPrefetchRequest::StopPrefetch() {
   simple_loader_.reset();
 }
diff --git a/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.h b/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.h
index 5b2185f..7cbe3e2 100644
--- a/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.h
+++ b/chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.h
@@ -34,7 +34,7 @@
       std::unique_ptr<network::ResourceRequest> resource_request,
       const net::NetworkTrafficAnnotationTag& network_traffic_annotation)
       override;
-  void CancelPrefetch() override;
+  void StopPrefetch() override;
   std::unique_ptr<SearchPrefetchURLLoader> TakeSearchPrefetchURLLoader()
       override;
 
diff --git a/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc b/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc
index f0416bcb..661f68b 100644
--- a/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc
+++ b/chrome/browser/prefetch/search_prefetch/search_prefetch_service.cc
@@ -11,6 +11,7 @@
 #include "chrome/browser/prefetch/search_prefetch/field_trial_settings.h"
 #include "chrome/browser/prefetch/search_prefetch/full_body_search_prefetch_request.h"
 #include "chrome/browser/prefetch/search_prefetch/search_prefetch_url_loader.h"
+#include "chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/search_engines/template_url_service_factory.h"
 #include "chrome/browser/search_engines/ui_thread_search_terms_data.h"
@@ -96,10 +97,20 @@
     return false;
   }
 
-  prefetches_.emplace(
-      search_terms, std::make_unique<FullBodySearchPrefetchRequest>(
-                        url, base::BindOnce(&SearchPrefetchService::ReportError,
-                                            base::Unretained(this))));
+  std::unique_ptr<BaseSearchPrefetchRequest> prefetch_request = nullptr;
+  if (StreamSearchPrefetchResponses()) {
+    prefetch_request = std::make_unique<StreamingSearchPrefetchRequest>(
+        url, base::BindOnce(&SearchPrefetchService::ReportError,
+                            base::Unretained(this)));
+  } else {
+    prefetch_request = std::make_unique<FullBodySearchPrefetchRequest>(
+        url, base::BindOnce(&SearchPrefetchService::ReportError,
+                            base::Unretained(this)));
+  }
+
+  DCHECK(prefetch_request);
+
+  prefetches_.emplace(search_terms, std::move(prefetch_request));
   prefetches_[search_terms]->StartPrefetchRequest(profile_);
   prefetch_expiry_timers_.emplace(search_terms,
                                   std::make_unique<base::OneShotTimer>());
@@ -149,8 +160,7 @@
     return nullptr;
   }
 
-  if (iter->second->current_status() !=
-      SearchPrefetchStatus::kSuccessfullyCompleted) {
+  if (iter->second->current_status() != SearchPrefetchStatus::kCanBeServed) {
     return nullptr;
   }
 
diff --git a/chrome/browser/prefetch/search_prefetch/search_prefetch_service_browsertest.cc b/chrome/browser/prefetch/search_prefetch/search_prefetch_service_browsertest.cc
index 1ff69c6..937e90a9 100644
--- a/chrome/browser/prefetch/search_prefetch/search_prefetch_service_browsertest.cc
+++ b/chrome/browser/prefetch/search_prefetch/search_prefetch_service_browsertest.cc
@@ -51,6 +51,18 @@
 constexpr char kOmniboxSuggestNonPrefetchQuery[] = "puffins";
 }  // namespace
 
+// A response that hangs after serving the start of the response.
+class HangRequestAfterStart : public net::test_server::BasicHttpResponse {
+ public:
+  HangRequestAfterStart() = default;
+
+  void SendResponse(const net::test_server::SendBytesCallback& send,
+                    net::test_server::SendCompleteCallback done) override {
+    send.Run("HTTP/1.1 200 OK\r\nContent-Length:100\r\n\r\n",
+             base::DoNothing());
+  }
+};
+
 class SearchPrefetchBaseBrowserTest : public InProcessBrowserTest {
  public:
   SearchPrefetchBaseBrowserTest() {
@@ -160,6 +172,10 @@
     should_hang_requests_ = should_hang_requests;
   }
 
+  void set_hang_requests_after_start(bool hang_requests_after_start) {
+    hang_requests_after_start_ = hang_requests_after_start;
+  }
+
   void WaitForDuration(base::TimeDelta duration) {
     base::RunLoop run_loop;
     base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
@@ -225,6 +241,10 @@
     if (request.GetURL().spec().find("favicon") != std::string::npos)
       return nullptr;
 
+    if (hang_requests_after_start_) {
+      return std::make_unique<HangRequestAfterStart>();
+    }
+
     if (should_hang_requests_)
       return std::make_unique<net::test_server::HungResponse>();
 
@@ -342,6 +362,9 @@
   // prefetchable, but marking the first result as not prefetchable (must be
   // used with |kkOmniboxSuggestPrefetchQuery|).
   bool phi_is_one_ = false;
+
+  // When set to true, serves a response that hangs after the start of the body.
+  bool hang_requests_after_start_ = false;
 };
 
 class SearchPrefetchServiceDisabledBrowserTest
@@ -406,31 +429,37 @@
   EXPECT_FALSE(prefetch_status.has_value());
 }
 
+// General test for standard behavior. The interface bool represents streaming
+// vs full body responses.
 class SearchPrefetchServiceEnabledBrowserTest
-    : public SearchPrefetchBaseBrowserTest {
+    : public SearchPrefetchBaseBrowserTest,
+      public testing::WithParamInterface<bool> {
  public:
   SearchPrefetchServiceEnabledBrowserTest() {
-    feature_list_.InitWithFeatures(
-        {kSearchPrefetchService, kSearchPrefetchServicePrefetching}, {});
+    feature_list_.InitWithFeaturesAndParameters(
+        {{kSearchPrefetchServicePrefetching,
+          {{"stream_responses", GetParam() ? "true" : "false"}}},
+         {{kSearchPrefetchService}, {}}},
+        {});
   }
 
  private:
   base::test::ScopedFeatureList feature_list_;
 };
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ServiceNotCreatedWhenIncognito) {
   EXPECT_EQ(nullptr, SearchPrefetchServiceFactory::GetForProfile(
                          browser()->profile()->GetPrimaryOTRProfile()));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ServiceCreatedWhenFeatureEnabled) {
   EXPECT_NE(nullptr,
             SearchPrefetchServiceFactory::GetForProfile(browser()->profile()));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        BasicPrefetchFunctionality) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -461,11 +490,10 @@
   prefetch_status = search_prefetch_service->GetSearchPrefetchStatusForTesting(
       base::ASCIIToUTF16(search_terms));
   ASSERT_TRUE(prefetch_status.has_value());
-  EXPECT_EQ(SearchPrefetchStatus::kSuccessfullyCompleted,
-            prefetch_status.value());
+  EXPECT_EQ(SearchPrefetchStatus::kCanBeServed, prefetch_status.value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        PrefetchRateLimiting) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -494,7 +522,7 @@
   EXPECT_FALSE(prefetch_status.has_value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        502PrefetchFunctionality) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -525,7 +553,7 @@
   EXPECT_EQ(SearchPrefetchStatus::kRequestFailed, prefetch_status.value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        FetchSameTermsOnlyOnce) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -542,7 +570,7 @@
   EXPECT_FALSE(search_prefetch_service->MaybePrefetchURL(prefetch_url));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest, BadURL) {
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest, BadURL) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
   EXPECT_NE(nullptr, search_prefetch_service);
@@ -554,7 +582,7 @@
   EXPECT_FALSE(search_prefetch_service->MaybePrefetchURL(prefetch_url));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        PreloadDisabled) {
   browser()->profile()->GetPrefs()->SetInteger(
       prefs::kNetworkPredictionOptions,
@@ -570,7 +598,7 @@
   EXPECT_FALSE(search_prefetch_service->MaybePrefetchURL(prefetch_url));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        BasicPrefetchServed) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -589,8 +617,7 @@
   prefetch_status = search_prefetch_service->GetSearchPrefetchStatusForTesting(
       base::ASCIIToUTF16(search_terms));
   ASSERT_TRUE(prefetch_status.has_value());
-  EXPECT_EQ(SearchPrefetchStatus::kSuccessfullyCompleted,
-            prefetch_status.value());
+  EXPECT_EQ(SearchPrefetchStatus::kCanBeServed, prefetch_status.value());
 
   ui_test_utils::NavigateToURL(browser(), prefetch_url);
 
@@ -600,7 +627,7 @@
   EXPECT_TRUE(base::Contains(inner_html, "prefetch"));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        RegularSearchQueryWhenNoPrefetch) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -618,7 +645,7 @@
   EXPECT_FALSE(base::Contains(inner_html, "prefetch"));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        NonMatchingPrefetchURL) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -638,8 +665,7 @@
   prefetch_status = search_prefetch_service->GetSearchPrefetchStatusForTesting(
       base::ASCIIToUTF16(search_terms));
   ASSERT_TRUE(prefetch_status.has_value());
-  EXPECT_EQ(SearchPrefetchStatus::kSuccessfullyCompleted,
-            prefetch_status.value());
+  EXPECT_EQ(SearchPrefetchStatus::kCanBeServed, prefetch_status.value());
 
   ui_test_utils::NavigateToURL(browser(),
                                GetSearchServerQueryURL(search_terms_other));
@@ -650,7 +676,7 @@
   EXPECT_FALSE(base::Contains(inner_html, "prefetch"));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ErrorCausesNoFetch) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -675,7 +701,7 @@
       GetSearchServerQueryURL("other_query")));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        OmniboxEditTriggersPrefetch) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -699,13 +725,12 @@
   EXPECT_TRUE(autocomplete_controller->done());
 
   WaitUntilStatusChangesTo(base::ASCIIToUTF16(search_terms),
-                           SearchPrefetchStatus::kSuccessfullyCompleted);
+                           SearchPrefetchStatus::kCanBeServed);
   auto prefetch_status =
       search_prefetch_service->GetSearchPrefetchStatusForTesting(
           base::ASCIIToUTF16(search_terms));
   ASSERT_TRUE(prefetch_status.has_value());
-  EXPECT_EQ(SearchPrefetchStatus::kSuccessfullyCompleted,
-            prefetch_status.value());
+  EXPECT_EQ(SearchPrefetchStatus::kCanBeServed, prefetch_status.value());
 
   ui_test_utils::NavigateToURL(browser(),
                                GetSearchServerQueryURL(search_terms));
@@ -716,7 +741,7 @@
   EXPECT_TRUE(base::Contains(inner_html, "prefetch"));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        OmniboxURLHasPfParam) {
   std::string search_terms = kOmniboxSuggestPrefetchQuery;
 
@@ -738,13 +763,13 @@
   EXPECT_TRUE(autocomplete_controller->done());
 
   WaitUntilStatusChangesTo(base::ASCIIToUTF16(search_terms),
-                           SearchPrefetchStatus::kSuccessfullyCompleted);
+                           SearchPrefetchStatus::kCanBeServed);
   ASSERT_TRUE(search_server_requests().size() > 0);
   EXPECT_NE(std::string::npos,
             search_server_requests()[0].GetURL().spec().find("pf=cs"));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        OmniboxEditDoesNotTriggersPrefetch) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -782,7 +807,7 @@
   EXPECT_FALSE(base::Contains(inner_html, "prefetch"));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        OmniboxEditTriggersPrefetchForSecondMatch) {
   // phi being set to one causes the order of prefetch suggest to be different.
   // This should still prefetch a result for the |kOmniboxSuggestPrefetchQuery|.
@@ -810,13 +835,12 @@
 
   WaitUntilStatusChangesTo(
       base::ASCIIToUTF16(kOmniboxSuggestPrefetchSecondItemQuery),
-      SearchPrefetchStatus::kSuccessfullyCompleted);
+      SearchPrefetchStatus::kCanBeServed);
   auto prefetch_status =
       search_prefetch_service->GetSearchPrefetchStatusForTesting(
           base::ASCIIToUTF16(kOmniboxSuggestPrefetchSecondItemQuery));
   ASSERT_TRUE(prefetch_status.has_value());
-  EXPECT_EQ(SearchPrefetchStatus::kSuccessfullyCompleted,
-            prefetch_status.value());
+  EXPECT_EQ(SearchPrefetchStatus::kCanBeServed, prefetch_status.value());
 
   ui_test_utils::NavigateToURL(
       browser(),
@@ -828,7 +852,7 @@
   EXPECT_TRUE(base::Contains(inner_html, "prefetch"));
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        RemovingMatchCancelsInFlight) {
   set_should_hang_requests(true);
   auto* search_prefetch_service =
@@ -892,7 +916,7 @@
   EXPECT_EQ(SearchPrefetchStatus::kRequestCancelled, prefetch_status.value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ClearCacheRemovesPrefetch) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -915,7 +939,7 @@
   EXPECT_FALSE(prefetch_status.has_value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ClearCacheSearchRemovesPrefetch) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -938,7 +962,7 @@
   EXPECT_FALSE(prefetch_status.has_value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ClearCacheOtherSavesCache) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -961,7 +985,7 @@
   EXPECT_TRUE(prefetch_status.has_value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ChangeDSESameOriginClearsPrefetches) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -985,7 +1009,7 @@
   EXPECT_FALSE(prefetch_status.has_value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ChangeDSECrossOriginClearsPrefetches) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -1009,7 +1033,7 @@
   EXPECT_FALSE(prefetch_status.has_value());
 }
 
-IN_PROC_BROWSER_TEST_F(SearchPrefetchServiceEnabledBrowserTest,
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
                        ChangeDSESameDoesntClearPrefetches) {
   auto* search_prefetch_service =
       SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
@@ -1033,6 +1057,46 @@
   EXPECT_TRUE(prefetch_status.has_value());
 }
 
+IN_PROC_BROWSER_TEST_P(SearchPrefetchServiceEnabledBrowserTest,
+                       OnlyStreamedResponseCanServePartialRequest) {
+  set_hang_requests_after_start(true);
+  auto* search_prefetch_service =
+      SearchPrefetchServiceFactory::GetForProfile(browser()->profile());
+  EXPECT_NE(nullptr, search_prefetch_service);
+
+  std::string search_terms = "prefetch_content";
+
+  GURL prefetch_url = GetSearchServerQueryURL(search_terms);
+
+  EXPECT_TRUE(search_prefetch_service->MaybePrefetchURL(prefetch_url));
+  auto prefetch_status =
+      search_prefetch_service->GetSearchPrefetchStatusForTesting(
+          base::ASCIIToUTF16(search_terms));
+  ASSERT_TRUE(prefetch_status.has_value());
+  EXPECT_EQ(SearchPrefetchStatus::kInFlight, prefetch_status.value());
+
+  if (GetParam()) {
+    WaitUntilStatusChanges(base::ASCIIToUTF16(search_terms));
+  } else {
+    WaitForDuration(base::TimeDelta::FromMilliseconds(100));
+  }
+
+  prefetch_status = search_prefetch_service->GetSearchPrefetchStatusForTesting(
+      base::ASCIIToUTF16(search_terms));
+  ASSERT_TRUE(prefetch_status.has_value());
+  if (GetParam()) {
+    EXPECT_EQ(SearchPrefetchStatus::kCanBeServed, prefetch_status.value());
+  } else {
+    EXPECT_EQ(SearchPrefetchStatus::kInFlight, prefetch_status.value());
+  }
+}
+
+// True means that responses are streamed, false means full responses must be
+// received in order to server the response.
+INSTANTIATE_TEST_SUITE_P(All,
+                         SearchPrefetchServiceEnabledBrowserTest,
+                         testing::Bool());
+
 class SearchPrefetchServiceZeroCacheTimeBrowserTest
     : public SearchPrefetchBaseBrowserTest {
  public:
diff --git a/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.cc b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.cc
new file mode 100644
index 0000000..1d3d1ea
--- /dev/null
+++ b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.cc
@@ -0,0 +1,33 @@
+// 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.
+
+#include "chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.h"
+
+#include "chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.h"
+
+StreamingSearchPrefetchRequest::StreamingSearchPrefetchRequest(
+    const GURL& prefetch_url,
+    base::OnceClosure report_error_callback)
+    : BaseSearchPrefetchRequest(prefetch_url,
+                                std::move(report_error_callback)) {}
+
+StreamingSearchPrefetchRequest::~StreamingSearchPrefetchRequest() = default;
+
+void StreamingSearchPrefetchRequest::StartPrefetchRequestInternal(
+    Profile* profile,
+    std::unique_ptr<network::ResourceRequest> resource_request,
+    const net::NetworkTrafficAnnotationTag& network_traffic_annotation) {
+  streaming_url_loader_ = std::make_unique<StreamingSearchPrefetchURLLoader>(
+      this, profile, std::move(resource_request), network_traffic_annotation);
+}
+
+std::unique_ptr<SearchPrefetchURLLoader>
+StreamingSearchPrefetchRequest::TakeSearchPrefetchURLLoader() {
+  streaming_url_loader_->ClearOwnerPointer();
+  return std::move(streaming_url_loader_);
+}
+
+void StreamingSearchPrefetchRequest::StopPrefetch() {
+  streaming_url_loader_.reset();
+}
diff --git a/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.h b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.h
new file mode 100644
index 0000000..ff051c6
--- /dev/null
+++ b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.h
@@ -0,0 +1,52 @@
+// 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.
+
+#ifndef CHROME_BROWSER_PREFETCH_SEARCH_PREFETCH_STREAMING_SEARCH_PREFETCH_REQUEST_H_
+#define CHROME_BROWSER_PREFETCH_SEARCH_PREFETCH_STREAMING_SEARCH_PREFETCH_REQUEST_H_
+
+#include <memory>
+
+#include "base/callback.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/prefetch/search_prefetch/base_search_prefetch_request.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "url/gurl.h"
+
+class Profile;
+class SearchPrefetchURLLoader;
+class StreamingSearchPrefetchURLLoader;
+
+// A class that can serve a prefetch that is still being streamed into the
+// client. As long as the headers and body start have been received, the
+// response can start to be served. This class serves as a container for a
+// StreamingSearchPrefetchURLLoader, to support |TakeSearchPrefetchURLLoader()|
+// more easily.
+class StreamingSearchPrefetchRequest : public BaseSearchPrefetchRequest {
+ public:
+  StreamingSearchPrefetchRequest(const GURL& prefetch_url,
+                                 base::OnceClosure report_error_callback);
+  ~StreamingSearchPrefetchRequest() override;
+
+  StreamingSearchPrefetchRequest(const StreamingSearchPrefetchRequest&) =
+      delete;
+  StreamingSearchPrefetchRequest& operator=(
+      const StreamingSearchPrefetchRequest&) = delete;
+
+  // BaseSearchPrefetchRequest:
+  void StartPrefetchRequestInternal(
+      Profile* profile,
+      std::unique_ptr<network::ResourceRequest> resource_request,
+      const net::NetworkTrafficAnnotationTag& network_traffic_annotation)
+      override;
+  void StopPrefetch() override;
+  std::unique_ptr<SearchPrefetchURLLoader> TakeSearchPrefetchURLLoader()
+      override;
+
+ private:
+  // The ongoing prefetch request. Null before and after the fetch.
+  std::unique_ptr<StreamingSearchPrefetchURLLoader> streaming_url_loader_;
+};
+
+#endif  // CHROME_BROWSER_PREFETCH_SEARCH_PREFETCH_STREAMING_SEARCH_PREFETCH_REQUEST_H_
diff --git a/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.cc b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.cc
new file mode 100644
index 0000000..2c1e63fa
--- /dev/null
+++ b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.cc
@@ -0,0 +1,181 @@
+// 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.
+
+#include "chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.h"
+
+#include <string>
+#include <utility>
+
+#include "base/bind.h"
+#include "base/location.h"
+#include "base/memory/ptr_util.h"
+#include "base/task/post_task.h"
+#include "base/task/task_traits.h"
+#include "base/threading/thread_task_runner_handle.h"
+#include "base/time/time.h"
+#include "chrome/browser/profiles/profile.h"
+#include "content/public/browser/storage_partition.h"
+#include "net/http/http_response_headers.h"
+#include "net/http/http_util.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "url/gurl.h"
+
+StreamingSearchPrefetchURLLoader::StreamingSearchPrefetchURLLoader(
+    StreamingSearchPrefetchRequest* streaming_prefetch_request,
+    Profile* profile,
+    std::unique_ptr<network::ResourceRequest> resource_request,
+    const net::NetworkTrafficAnnotationTag& network_traffic_annotation)
+    : resource_request_(std::move(resource_request)),
+      streaming_prefetch_request_(streaming_prefetch_request) {
+  DCHECK(streaming_prefetch_request_);
+  auto url_loader_factory =
+      content::BrowserContext::GetDefaultStoragePartition(profile)
+          ->GetURLLoaderFactoryForBrowserProcess();
+
+  // Create a network service URL loader with passed in params.
+  url_loader_factory->CreateLoaderAndStart(
+      network_url_loader_.BindNewPipeAndPassReceiver(), 0, 0,
+      network::mojom::kURLLoadOptionNone, *resource_request_,
+      url_loader_receiver_.BindNewPipeAndPassRemote(
+          base::ThreadTaskRunnerHandle::Get()),
+      net::MutableNetworkTrafficAnnotationTag(network_traffic_annotation));
+  url_loader_receiver_.set_disconnect_handler(
+      base::BindOnce(&StreamingSearchPrefetchURLLoader::OnMojoDisconnect,
+                     base::Unretained(this)));
+}
+
+StreamingSearchPrefetchURLLoader::~StreamingSearchPrefetchURLLoader() = default;
+
+SearchPrefetchURLLoader::RequestHandler
+StreamingSearchPrefetchURLLoader::ServingResponseHandler() {
+  DCHECK(!streaming_prefetch_request_);
+  return base::BindOnce(
+      &StreamingSearchPrefetchURLLoader::SetUpForwardingClient,
+      weak_factory_.GetWeakPtr());
+}
+
+void StreamingSearchPrefetchURLLoader::SetUpForwardingClient(
+    const network::ResourceRequest& /* resource_request */,
+    mojo::PendingReceiver<network::mojom::URLLoader> receiver,
+    mojo::PendingRemote<network::mojom::URLLoaderClient> forwarding_client) {
+  DCHECK(!streaming_prefetch_request_);
+  // Bind to the content/ navigation code.
+  DCHECK(!receiver_.is_bound());
+  receiver_.Bind(std::move(receiver));
+  receiver_.set_disconnect_handler(
+      base::BindOnce(&StreamingSearchPrefetchURLLoader::OnMojoDisconnect,
+                     weak_factory_.GetWeakPtr()));
+  forwarding_client_.Bind(std::move(forwarding_client));
+
+  forwarding_client_->OnReceiveResponse(std::move(resource_response_));
+
+  // Resume previously paused network service URLLoader.
+  url_loader_receiver_.Resume();
+}
+
+void StreamingSearchPrefetchURLLoader::OnReceiveResponse(
+    network::mojom::URLResponseHeadPtr head) {
+  DCHECK(!forwarding_client_);
+  DCHECK(streaming_prefetch_request_);
+
+  // Store head and pause new messages until the forwarding client is set up.
+  resource_response_ = std::move(head);
+
+  if (!streaming_prefetch_request_->CanServePrefetchRequest(
+          resource_response_->headers)) {
+    // Not safe to do anything after this point
+    streaming_prefetch_request_->ErrorEncountered();
+    return;
+  }
+
+  streaming_prefetch_request_->MarkPrefetchAsServable();
+  url_loader_receiver_.Pause();
+}
+
+void StreamingSearchPrefetchURLLoader::OnReceiveRedirect(
+    const net::RedirectInfo& redirect_info,
+    network::mojom::URLResponseHeadPtr head) {
+  if (streaming_prefetch_request_) {
+    streaming_prefetch_request_->ErrorEncountered();
+  } else {
+    delete this;
+  }
+}
+
+void StreamingSearchPrefetchURLLoader::OnUploadProgress(
+    int64_t current_position,
+    int64_t total_size,
+    OnUploadProgressCallback callback) {
+  // We only handle GETs.
+  NOTREACHED();
+}
+
+void StreamingSearchPrefetchURLLoader::OnReceiveCachedMetadata(
+    mojo_base::BigBuffer data) {
+  // Do nothing. This is not supported for navigation loader.
+}
+
+void StreamingSearchPrefetchURLLoader::OnTransferSizeUpdated(
+    int32_t transfer_size_diff) {
+  DCHECK(forwarding_client_);
+  forwarding_client_->OnTransferSizeUpdated(transfer_size_diff);
+}
+
+void StreamingSearchPrefetchURLLoader::OnStartLoadingResponseBody(
+    mojo::ScopedDataPipeConsumerHandle body) {
+  DCHECK(forwarding_client_);
+  DCHECK(!streaming_prefetch_request_);
+  forwarding_client_->OnStartLoadingResponseBody(std::move(body));
+}
+
+void StreamingSearchPrefetchURLLoader::OnComplete(
+    const network::URLLoaderCompletionStatus& status) {
+  DCHECK(!streaming_prefetch_request_);
+  if (forwarding_client_) {
+    forwarding_client_->OnComplete(status);
+    return;
+  }
+
+  NOTREACHED();
+}
+
+void StreamingSearchPrefetchURLLoader::FollowRedirect(
+    const std::vector<std::string>& removed_headers,
+    const net::HttpRequestHeaders& modified_headers,
+    const net::HttpRequestHeaders& modified_cors_exempt_headers,
+    const base::Optional<GURL>& new_url) {
+  // This should never be called for a non-network service URLLoader.
+  NOTREACHED();
+}
+
+void StreamingSearchPrefetchURLLoader::SetPriority(
+    net::RequestPriority priority,
+    int32_t intra_priority_value) {
+  // Pass through.
+  network_url_loader_->SetPriority(priority, intra_priority_value);
+}
+
+void StreamingSearchPrefetchURLLoader::PauseReadingBodyFromNet() {
+  // Pass through.
+  network_url_loader_->PauseReadingBodyFromNet();
+}
+
+void StreamingSearchPrefetchURLLoader::ResumeReadingBodyFromNet() {
+  // Pass through.
+  network_url_loader_->ResumeReadingBodyFromNet();
+}
+
+void StreamingSearchPrefetchURLLoader::OnMojoDisconnect() {
+  if (streaming_prefetch_request_) {
+    streaming_prefetch_request_->ErrorEncountered();
+  } else {
+    delete this;
+  }
+}
+
+void StreamingSearchPrefetchURLLoader::ClearOwnerPointer() {
+  streaming_prefetch_request_ = nullptr;
+}
diff --git a/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.h b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.h
new file mode 100644
index 0000000..d830b39
--- /dev/null
+++ b/chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_url_loader.h
@@ -0,0 +1,110 @@
+// 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.
+
+#ifndef CHROME_BROWSER_PREFETCH_SEARCH_PREFETCH_STREAMING_SEARCH_PREFETCH_URL_LOADER_H_
+#define CHROME_BROWSER_PREFETCH_SEARCH_PREFETCH_STREAMING_SEARCH_PREFETCH_URL_LOADER_H_
+
+#include <vector>
+
+#include "base/callback.h"
+#include "base/memory/scoped_refptr.h"
+#include "base/memory/weak_ptr.h"
+#include "base/optional.h"
+#include "chrome/browser/prefetch/search_prefetch/search_prefetch_url_loader.h"
+#include "chrome/browser/prefetch/search_prefetch/streaming_search_prefetch_request.h"
+#include "content/public/browser/url_loader_request_interceptor.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 "mojo/public/cpp/bindings/remote.h"
+#include "mojo/public/cpp/system/data_pipe.h"
+#include "services/network/public/mojom/url_loader.mojom-forward.h"
+#include "services/network/public/mojom/url_response_head.mojom-forward.h"
+
+// This class starts a search prefetch and is able to serve it once headers are
+// received. This allows streaming the response from memory as the response
+// finishes from the network.
+class StreamingSearchPrefetchURLLoader : public network::mojom::URLLoader,
+                                         public network::mojom::URLLoaderClient,
+                                         public SearchPrefetchURLLoader {
+ public:
+  // Creates a network service URLLoader, binds to the URL Loader, and starts
+  // the request.
+  StreamingSearchPrefetchURLLoader(
+      StreamingSearchPrefetchRequest* streaming_prefetch_request,
+      Profile* profile,
+      std::unique_ptr<network::ResourceRequest> resource_request,
+      const net::NetworkTrafficAnnotationTag& network_traffic_annotation);
+
+  ~StreamingSearchPrefetchURLLoader() override;
+
+  // Clears |streaming_prefetch_request_|, which initially owns |this|. Once
+  // this is cleared, the class is self managed and needs to delete itself based
+  // on mojo channels closing or other errors occurring.
+  void ClearOwnerPointer();
+
+ private:
+  // SearchPrefetchURLLoader:
+  SearchPrefetchURLLoader::RequestHandler ServingResponseHandler() override;
+
+  // network::mojom::URLLoader:
+  void FollowRedirect(
+      const std::vector<std::string>& removed_headers,
+      const net::HttpRequestHeaders& modified_headers,
+      const net::HttpRequestHeaders& modified_cors_exempt_headers,
+      const base::Optional<GURL>& new_url) override;
+  void SetPriority(net::RequestPriority priority,
+                   int32_t intra_priority_value) override;
+  void PauseReadingBodyFromNet() override;
+  void ResumeReadingBodyFromNet() override;
+
+  // network::mojom::URLLoaderClient
+  void OnReceiveResponse(network::mojom::URLResponseHeadPtr head) override;
+  void OnReceiveRedirect(const net::RedirectInfo& redirect_info,
+                         network::mojom::URLResponseHeadPtr head) override;
+  void OnUploadProgress(int64_t current_position,
+                        int64_t total_size,
+                        OnUploadProgressCallback callback) override;
+  void OnReceiveCachedMetadata(mojo_base::BigBuffer data) override;
+  void OnTransferSizeUpdated(int32_t transfer_size_diff) override;
+  void OnStartLoadingResponseBody(
+      mojo::ScopedDataPipeConsumerHandle body) override;
+  void OnComplete(const network::URLLoaderCompletionStatus& status) override;
+
+  // When a disconnection occurs in either mojo pipe, this object's lifetime
+  // needs to be managed and the connections need to be closed.
+  void OnMojoDisconnect();
+
+  // Sets up mojo forwarding to the navigation path. Resumes
+  // |network_url_loader_| calls. Serves the start of the response to the
+  // navigation path.
+  void SetUpForwardingClient(
+      const network::ResourceRequest&,
+      mojo::PendingReceiver<network::mojom::URLLoader> receiver,
+      mojo::PendingRemote<network::mojom::URLLoaderClient> forwarding_client);
+
+  // The network URLLoader that fetches the prefetch URL and its receiver.
+  mojo::Remote<network::mojom::URLLoader> network_url_loader_;
+  mojo::Receiver<network::mojom::URLLoaderClient> url_loader_receiver_{this};
+
+  // Once the prefetch response is received and is ready to be served, the
+  // response info related to the request. When this becomes populated, the
+  // network URL Loader calls are paused.
+  network::mojom::URLResponseHeadPtr resource_response_;
+
+  // The request that is being prefetched.
+  std::unique_ptr<network::ResourceRequest> resource_request_;
+
+  // The initiating prefetch request. Cleared when handing this request off to
+  // the navigation stack.
+  StreamingSearchPrefetchRequest* streaming_prefetch_request_;
+
+  // Forwarding client receiver.
+  mojo::Receiver<network::mojom::URLLoader> receiver_{this};
+  mojo::Remote<network::mojom::URLLoaderClient> forwarding_client_;
+
+  base::WeakPtrFactory<StreamingSearchPrefetchURLLoader> weak_factory_{this};
+};
+
+#endif  // CHROME_BROWSER_PREFETCH_SEARCH_PREFETCH_STREAMING_SEARCH_PREFETCH_URL_LOADER_H_
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 1c8e65ce..7009b89 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -177,7 +177,6 @@
 #include "chrome/browser/chromeos/guest_os/guest_os_share_path.h"
 #include "chrome/browser/chromeos/kerberos/kerberos_credentials_manager.h"
 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h"
-#include "chrome/browser/chromeos/login/existing_user_controller.h"
 #include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_impl.h"
 #include "chrome/browser/chromeos/policy/system_features_disable_list_policy_handler.h"
 #include "chrome/browser/chromeos/policy/system_proxy_manager.h"
@@ -678,7 +677,6 @@
   chromeos::echo_offer::RegisterPrefs(registry);
   chromeos::EnableAdbSideloadingScreen::RegisterPrefs(registry);
   chromeos::EnableDebuggingScreenHandler::RegisterPrefs(registry);
-  chromeos::ExistingUserController::RegisterLocalStatePrefs(registry);
   chromeos::FastTransitionObserver::RegisterPrefs(registry);
   chromeos::HIDDetectionScreenHandler::RegisterPrefs(registry);
   chromeos::KerberosCredentialsManager::RegisterLocalStatePrefs(registry);
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
index fef1882..3e7df82 100644
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -141,6 +141,7 @@
 #endif
 
 #if BUILDFLAG(ENABLE_DICE_SUPPORT)
+#include "chrome/browser/signin/dice_web_signin_interceptor_factory.h"
 #include "chrome/browser/signin/signin_manager_factory.h"
 #endif
 
@@ -262,6 +263,9 @@
 #endif
   ConsentAuditorFactory::GetInstance();
   CookieSettingsFactory::GetInstance();
+#if BUILDFLAG(ENABLE_DICE_SUPPORT)
+  DiceWebSigninInterceptorFactory::GetInstance();
+#endif
   DomainDiversityReporterFactory::GetInstance();
   dom_distiller::DomDistillerServiceFactory::GetInstance();
   DownloadCoreServiceFactory::GetInstance();
diff --git a/chrome/browser/reading_list/android/BUILD.gn b/chrome/browser/reading_list/android/BUILD.gn
index fb119417..1f46bdaf 100644
--- a/chrome/browser/reading_list/android/BUILD.gn
+++ b/chrome/browser/reading_list/android/BUILD.gn
@@ -17,12 +17,17 @@
     "reading_list_manager.h",
     "reading_list_manager_impl.cc",
     "reading_list_manager_impl.h",
+    "reading_list_notification_client.cc",
+    "reading_list_notification_client.h",
+    "reading_list_notification_service.cc",
+    "reading_list_notification_service.h",
   ]
 
-  # This target should not depend on anything in //chrome/* except the proto library.
+  # This target should not depend on the whole //chrome/browser target.
   deps = [
     "//base",
     "//chrome/app:generated_resources",
+    "//chrome/browser/notifications/scheduler/public",
     "//components/bookmarks/browser",
     "//components/keyed_service/core",
     "//components/reading_list/core",
diff --git a/chrome/browser/reading_list/android/reading_list_notification_client.cc b/chrome/browser/reading_list/android/reading_list_notification_client.cc
new file mode 100644
index 0000000..f295a58
--- /dev/null
+++ b/chrome/browser/reading_list/android/reading_list_notification_client.cc
@@ -0,0 +1,35 @@
+// 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.
+
+#include "chrome/browser/reading_list/android/reading_list_notification_client.h"
+
+#include "base/notreached.h"
+
+using ThrottleConfigCallback =
+    notifications::NotificationSchedulerClient::ThrottleConfigCallback;
+
+ReadingListNotificationClient::ReadingListNotificationClient() = default;
+ReadingListNotificationClient::~ReadingListNotificationClient() = default;
+
+void ReadingListNotificationClient::BeforeShowNotification(
+    std::unique_ptr<notifications::NotificationData> notification_data,
+    NotificationDataCallback callback) {
+  NOTIMPLEMENTED();
+}
+
+void ReadingListNotificationClient::OnSchedulerInitialized(
+    bool success,
+    std::set<std::string> guids) {
+  NOTIMPLEMENTED();
+}
+
+void ReadingListNotificationClient::OnUserAction(
+    const notifications::UserActionData& action_data) {
+  NOTIMPLEMENTED();
+}
+
+void ReadingListNotificationClient::GetThrottleConfig(
+    ThrottleConfigCallback callback) {
+  NOTIMPLEMENTED();
+}
diff --git a/chrome/browser/reading_list/android/reading_list_notification_client.h b/chrome/browser/reading_list/android/reading_list_notification_client.h
new file mode 100644
index 0000000..06956b9
--- /dev/null
+++ b/chrome/browser/reading_list/android/reading_list_notification_client.h
@@ -0,0 +1,35 @@
+// 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.
+
+#ifndef CHROME_BROWSER_READING_LIST_ANDROID_READING_LIST_NOTIFICATION_CLIENT_H_
+#define CHROME_BROWSER_READING_LIST_ANDROID_READING_LIST_NOTIFICATION_CLIENT_H_
+
+#include <memory>
+
+#include "chrome/browser/notifications/scheduler/public/notification_scheduler_client.h"
+
+// The client interface that communicates with notification scheduling system.
+class ReadingListNotificationClient
+    : public notifications::NotificationSchedulerClient {
+ public:
+  ReadingListNotificationClient();
+  ~ReadingListNotificationClient() override;
+  ReadingListNotificationClient(const ReadingListNotificationClient&) = delete;
+  ReadingListNotificationClient operator=(
+      const ReadingListNotificationClient&) = delete;
+
+ private:
+  // notifications::NotificationSchedulerClient implementation.
+  void BeforeShowNotification(
+      std::unique_ptr<notifications::NotificationData> notification_data,
+      NotificationDataCallback callback) override;
+  void OnSchedulerInitialized(bool success,
+                              std::set<std::string> guids) override;
+  void OnUserAction(const notifications::UserActionData& action_data) override;
+  void GetThrottleConfig(
+      notifications::NotificationSchedulerClient::ThrottleConfigCallback
+          callback) override;
+};
+
+#endif  // CHROME_BROWSER_READING_LIST_ANDROID_READING_LIST_NOTIFICATION_CLIENT_H_
diff --git a/chrome/browser/reading_list/android/reading_list_notification_service.cc b/chrome/browser/reading_list/android/reading_list_notification_service.cc
new file mode 100644
index 0000000..52bf445
--- /dev/null
+++ b/chrome/browser/reading_list/android/reading_list_notification_service.cc
@@ -0,0 +1,19 @@
+// 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.
+
+#include "chrome/browser/reading_list/android/reading_list_notification_service.h"
+
+#include "base/notreached.h"
+#include "chrome/browser/notifications/scheduler/public/notification_schedule_service.h"
+#include "components/reading_list/core/reading_list_model.h"
+
+ReadingListNotificationService::ReadingListNotificationService(
+    ReadingListModel* reading_list_model,
+    notifications::NotificationScheduleService* notification_scheduler)
+    : reading_list_model_(reading_list_model),
+      notification_scheduler_(notification_scheduler) {
+  DCHECK(reading_list_model_);
+  DCHECK(notification_scheduler_);
+  NOTIMPLEMENTED();
+}
diff --git a/chrome/browser/reading_list/android/reading_list_notification_service.h b/chrome/browser/reading_list/android/reading_list_notification_service.h
new file mode 100644
index 0000000..31d6465
--- /dev/null
+++ b/chrome/browser/reading_list/android/reading_list_notification_service.h
@@ -0,0 +1,36 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_READING_LIST_ANDROID_READING_LIST_NOTIFICATION_SERVICE_H_
+#define CHROME_BROWSER_READING_LIST_ANDROID_READING_LIST_NOTIFICATION_SERVICE_H_
+
+#include "components/keyed_service/core/keyed_service.h"
+
+namespace notifications {
+class NotificationScheduleService;
+}  // namespace notifications
+
+class ReadingListModel;
+
+class ReadingListNotificationService : public KeyedService {
+ public:
+  ReadingListNotificationService(
+      ReadingListModel* reading_list_model,
+      notifications::NotificationScheduleService* notification_scheduler);
+  ~ReadingListNotificationService() override = default;
+
+  ReadingListNotificationService(const ReadingListNotificationService&) =
+      delete;
+  ReadingListNotificationService& operator=(
+      const ReadingListNotificationService&) = delete;
+
+ private:
+  // Contains reading list data, outlives this class.
+  ReadingListModel* reading_list_model_;
+
+  // Used to schedule notification, outlives this class.
+  notifications::NotificationScheduleService* notification_scheduler_;
+};
+
+#endif  // CHROME_BROWSER_READING_LIST_ANDROID_READING_LIST_NOTIFICATION_SERVICE_H_
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb
index 89d1008a..f65988d9 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb
@@ -24,10 +24,10 @@
 <translation id="1126928665165112660">غير مائل</translation>
 <translation id="113582498867142724">مجموعة من <ph name="TAG" /> تشتمل على <ph name="NUM" /> من العناصر</translation>
 <translation id="1161762950103988776">الانتقال السريع</translation>
-<translation id="1164857107703583584">يمكن استخدام أوامر الانتقال السريع للتنقُّل بسهولة في صفحات الويب.</translation>
+<translation id="1164857107703583584">استخدِم طلبات الانتقال السريع للتنقُّل بسهولة في صفحة ويب.</translation>
 <translation id="1175914831232945926">أرقام</translation>
 <translation id="1188858454923323853">تكميلي</translation>
-<translation id="1189258430971676908">قسم التمرين: القوائم المنسدلة</translation>
+<translation id="1189258430971676908">التدريب العملي: القوائم المنسدلة</translation>
 <translation id="1195238899008218998">كلمة ختامية</translation>
 <translation id="1197088940767939838">برتقالي</translation>
 <translation id="1201402288615127009">التالي</translation>
@@ -70,13 +70,13 @@
 <translation id="1383876407941801731">البحث</translation>
 <translation id="1396114365388024581">tablst</translation>
 <translation id="1405567553485452995">أخضر فاتح</translation>
-<translation id="1411043317877497323">قسم التمرين</translation>
+<translation id="1411043317877497323">التدريب العملي</translation>
 <translation id="141454040365657399">رأس الصفحة</translation>
 <translation id="1417889266572670458">أزرق داكن</translation>
 <translation id="1431911867058218151">برقوقي</translation>
 <translation id="1439316808600711881">rgn</translation>
 <translation id="146450394670219700">كائن رسومي</translation>
-<translation id="1465097259579587977">إعادة تشغيل التوجيه السريع</translation>
+<translation id="1465097259579587977">إعادة تشغيل الإرشادات السريعة</translation>
 <translation id="1480046233931937785">أسماء المشاركين</translation>
 <translation id="1487494366197411587">‏على جهاز Chromebook، يكون مفتاح البحث أعلى مفتاح Shift الأيسر مباشرةً.</translation>
 <translation id="1498498210836053409">إيقاف "وضع التثبيت" عند تعديل النص (وضع التثبيت الذكي)</translation>
@@ -161,7 +161,7 @@
 <translation id="2121067395472282800">مفتاح الدخول:<ph name="KEY" /></translation>
 <translation id="2126597928985245619">لا يتوفّر نص لهذا العنصر.</translation>
 <translation id="2127747486437921899">مائل</translation>
-<translation id="2152179395627233441">إغلاق المنطقة التدريبية</translation>
+<translation id="2152179395627233441">إغلاق التدريب العملي</translation>
 <translation id="2163782704988363449">قائمة بالأخطاء</translation>
 <translation id="2169714232367507776">النقر على العنصر الحالي</translation>
 <translation id="2179452035581866348">‏يستخدم ChromeVox الأصوات لمنحك المعلومات الأساسية والإضافية. ويمكنك استخدام هذه الأصوات للانتقال بسرعة أكبر من خلال معرفة ما يعنيه كل صوت. عندما تشعر براحة أكبر، يمكنك إيقاف الأوصاف المطوَّلة في الكلام والاعتماد عليها للحصول على المعلومات الأساسية حول الصفحة. وإليك قائمة كاملة بالأصوات وما تعنيه هذه الأصوات.</translation>
@@ -185,7 +185,7 @@
 <translation id="2318372665160196757">رئيسي</translation>
 <translation id="2329324941084714723">لوحة علامة التبويب</translation>
 <translation id="2347456970887948350">رابط</translation>
-<translation id="2365384324219615024">‏يمكنك أيضًا الضغط على مفتاح Enter لتفعيل العناصر. على سبيل المثال، يمكن استخدام مفتاح Enter لإرسال النص في نماذج. للمواصلة، اضغط على مفتاح Enter.</translation>
+<translation id="2365384324219615024">‏يمكنك أيضًا الضغط على مفتاح Enter لتنشيط العناصر. على سبيل المثال، يمكن استخدام مفتاح Enter لإرسال نص في نموذج. للمواصلة، اضغط على مفتاح Enter.</translation>
 <translation id="2381733276052567791">تفعيل ميزة تحويل النص إلى كلام أو إيقافها</translation>
 <translation id="2390264819538553347">‏للتقدم، اضغط على Enter، وللرجوع للخلف، اضغط على Backspace.</translation>
 <translation id="2398579267367951220">‏اكتب للبحث في الصفحة. اضغط على enter للحصول على النتيجة سريعًا، أو اضغط على السهم المتّجه للأسفل أو للأعلى لتصفّح النتائج، أو استمر بالكتابة لتغيير البحث، أو اضغط على escape للإلغاء.</translation>
@@ -248,7 +248,7 @@
 <translation id="2808001342598757276">إلغاء تعتيم الشاشة</translation>
 <translation id="2811019999044652585">‏للانتقال السريع إلى أجزاء أخرى من الشاشة، مثل أشرطة الأدوات أو لوحة النظام، اضغط على Control+Forward، على جهاز Chromebook، يوجد مفتاح Forward أعلى مفتاح رقم 2 مباشرةً.</translation>
 <translation id="2811204574343810641">صف</translation>
-<translation id="2816868829355607410">قسم التمرين: أوامر الانتقال السريع</translation>
+<translation id="2816868829355607410">التدريب العملي: طلبات الانتقال السريع</translation>
 <translation id="2841013758207633010">الوقت</translation>
 <translation id="2843432675592278677">‏ليس هناك مَعلم ARIA سابق.</translation>
 <translation id="2843814945404750166">أخضر زيتوني داكن</translation>
@@ -284,7 +284,7 @@
 <translation id="3060756054951570867">تم فتح القائمة <ph name="TITLE" /></translation>
 <translation id="3060880924447482063">التمرير سريعًا جهة اليمين أو اليسار للانتقال حسب العنصر</translation>
 <translation id="3070245424257836917">التمرير السريع بثلاثة أصابع إلى الأعلى</translation>
-<translation id="307516670110542567">التوجيه السريع</translation>
+<translation id="307516670110542567">الإرشادات السريعة</translation>
 <translation id="3078345202707391975">عنوان المستوى الثاني التالي</translation>
 <translation id="3078740164268491126">جدول</translation>
 <translation id="3082249673510793544">التمرير للخلف</translation>
@@ -342,7 +342,7 @@
 <translation id="335581015389089642">الحديث</translation>
 <translation id="3356951775008366684">الإعلان عن النطق الصوتي للكلمة</translation>
 <translation id="3359142382821736686">seprtr</translation>
-<translation id="3363015957057974366">‏يمكنك أيضًا استخدام مفتاح التبويب (Tab) للانتقال إلى العنصر التفاعلي التالي على الشاشة. ابحث عن مفتاح التبويب (Tab)، الظاهر فوق مفتاح البحث مباشرةً. للمواصلة، اضغط على مفتاح التبويب (Tab).</translation>
+<translation id="3363015957057974366">‏يمكنك أيضًا استخدام مفتاح التبويب (Tab) للانتقال إلى العنصر التفاعلي التالي على الشاشة. ابحث عن مفتاح التبويب (Tab) الموجود فوق مفتاح البحث مباشرةً. للمواصلة، اضغط على مفتاح التبويب (Tab).</translation>
 <translation id="3366946046494222386">برنامج <ph name="TOPIC" /> التعليمي، <ph name="LESSONS" /> درس</translation>
 <translation id="3374537878095184207">{COUNT,plural, =1{علامة جمع واحدة}zero{# plus signs}two{علامتا جمع (#)}few{# علامات جمع}many{# علامة جمع}other{# من علامات الجمع}}</translation>
 <translation id="338583716107319301">فاصل</translation>
@@ -351,7 +351,7 @@
 <translation id="3406283310380167331">عرض قائمة النماذج</translation>
 <translation id="3414400929511680526">أزرق أليس</translation>
 <translation id="3418936350470374046">ليست هناك خلية أدناه.</translation>
-<translation id="3435494200763325275">استمرار التنقُّل بين علامات التبويب</translation>
+<translation id="3435494200763325275">التنقُّل بين علامات التبويب (يُتبع)</translation>
 <translation id="344800400831402066">بيرو</translation>
 <translation id="3457000393508828486">مضغوط جزئيًا</translation>
 <translation id="3458865416877308321"><ph name="NAME" />، في وضع إيقاف التشغيل</translation>
@@ -382,7 +382,7 @@
 <translation id="3650317109285159359">chkmnuitm</translation>
 <translation id="3655855170848725876">{COUNT,plural, =1{علامة دولار واحدة}zero{# dollar signs}two{علامتا دولار (#)}few{# علامات دولار}many{# علامة دولار}other{# من علامات الدولار}}</translation>
 <translation id="3659787053479271466">alrt</translation>
-<translation id="366419593095697301">‏تلميح: يجب الضغط على مفتاح Escape إذا أردت الخروج من هذا البرنامج التعليمي.</translation>
+<translation id="366419593095697301">‏معلومة: اضغط على مفتاح Escape إذا أردت الخروج من هذا البرنامج التعليمي.</translation>
 <translation id="3676062394766691318">‏بعد إعداد الجهاز، يمكنك الرجوع إلى هذه الصفحة والاطّلاع على مزيد من البرامج التعليمية عن طريق الضغط على مفتاح البحث + حرف O، ثم الضغط على حرف T.</translation>
 <translation id="3681531118904532409">أصفر باهت</translation>
 <translation id="3692274950075847560">بحث:<ph name="RESULT" /></translation>
@@ -547,7 +547,7 @@
 <translation id="4973717656530883744">الحد الأدنى <ph name="X" /></translation>
 <translation id="4974612477719259470">ليس هناك زر سابق.</translation>
 <translation id="4979404613699303341">الزر السابق</translation>
-<translation id="4982917827052020884">‏لنبدأ ببعض المفاتيح التي ستسخدمها بشكل منتظَم. يمكن استخدام مفتاح Control لإيقاف الكلام. ابحث عن مفتاح Control في أسفل يسار لوحة المفاتيح. للمواصلة، اضغط على مفتاح Control.</translation>
+<translation id="4982917827052020884">‏لنبدأ ببعض المفاتيح التي ستستخدمها بانتظام. يمكن استخدام مفتاح Control لإيقاف الكلام. ابحث عن مفتاح Control في أسفل يسار لوحة المفاتيح. للمواصلة، اضغط على مفتاح Control.</translation>
 <translation id="4983588134362688868">انتقال إلى أعلى الصفحة</translation>
 <translation id="4986606102545753256">النافذة <ph name="NAME" /></translation>
 <translation id="4993152509206108683">تقييم بنسبة <ph name="PERCENT" /> في المائة</translation>
@@ -559,7 +559,7 @@
 <translation id="5041394372352067729">نقل عرض برايل إلى أعلى الصفحة</translation>
 <translation id="5042770794184672516">زيادة مستوى صوت النطق</translation>
 <translation id="5042992464904238023">محتوى الويب</translation>
-<translation id="5045870649377683106">‏الآن، ابحث عن مفتاح Shift الظاهر فوق مفتاح Control مباشرةً. للمواصلة، اضغط على مفتاح Shift الأيسر.</translation>
+<translation id="5045870649377683106">‏الآن، ابحث عن مفتاح Shift الموجود فوق مفتاح Control مباشرةً. للمواصلة، اضغط على مفتاح Shift الأيسر.</translation>
 <translation id="5050015258024679800">عنوان المستوى الرابع السابق</translation>
 <translation id="5054047268577924192">عنصر القائمة السابق</translation>
 <translation id="5085453135206054947">أحمر بنفسجي باهت</translation>
@@ -619,7 +619,7 @@
 <translation id="5513242761114685513">قائمة السياقات</translation>
 <translation id="551361796444814639">أزرق متوسط</translation>
 <translation id="552195134157544755">زر الاختيار</translation>
-<translation id="5522423213731659107">تم إكمال جميع دروس التوجيه السريع</translation>
+<translation id="5522423213731659107">تم الانتهاء من جميع دروس الإرشادات السريعة</translation>
 <translation id="5534303576632885660">hdr</translation>
 <translation id="5539820223028224601">رمادي فاتح</translation>
 <translation id="5549179427201066174">تفعيل التعليقات الصوتية (الرموز الصوتية) أو إيقافها</translation>
@@ -642,7 +642,7 @@
 <translation id="5653397561111110475">‏استخدام ميزات إمكانية الوصول في شاشة لمس Chromebook</translation>
 <translation id="5655682562155942719">أوامر الانتقال السريع</translation>
 <translation id="56637627897541303">منطقة النص</translation>
-<translation id="5669637233317991674">اضغط على مفتاح البحث + مفتاح السهم لليمين، أو اضغط على مفتاح البحث + مفتاح السهم لليسار للتنقّل في هذا الدرس.</translation>
+<translation id="5669637233317991674">للتنقّل في هذا الدرس، اضغط على مفتاح البحث + مفتاح السهم المتّجه لليمين أو لليسار.</translation>
 <translation id="5678161956734658133">mled</translation>
 <translation id="5681643281275621376">def</translation>
 <translation id="5682113568322255809">مَعلم</translation>
@@ -666,11 +666,11 @@
 <translation id="5850707923114094062">لقطة استعراضية إلى الوراء</translation>
 <translation id="5851548754964597211">قائمة علامات التبويب</translation>
 <translation id="5866042630553435010">محدد جزئيًا</translation>
-<translation id="5866210856231860256">لتصفُّح دروس حول هذا الموضوع، يجب الضغط على مفتاح البحث + مفتاح السهم لليمين، أو الضغط على مفتاح البحث + مفتاح السهم لليسار.</translation>
+<translation id="5866210856231860256">لتصفُّح دروس حول هذا الموضوع، اضغط على مفتاح البحث + مفتاح السهم المتّجه لليمين أو لليسار.</translation>
 <translation id="5867591286054666064">أثناء هذا البرنامج التعليمي، اضغط على أي مفتاح لسماع اسمه.</translation>
 <translation id="5869546221129391014">شبكة</translation>
 <translation id="5876817486144482042">خفض مستوى صوت النطق</translation>
-<translation id="5878206664863390311">لتصفُّح المواضيع، يجب الضغط على مفتاح البحث + مفتاح السهم لليمين، أو ااضغط على مفتاح البحث + مفتاح السهم لليسار.</translation>
+<translation id="5878206664863390311">لتصفُّح المواضيع، اضغط على مفتاح البحث + مفتاح السهم المتّجه لليمين أو لليسار.</translation>
 <translation id="5878908838135392163">أزرق فاتح</translation>
 <translation id="588108970619830498">إعادة ضبط إعدادات "تحويل النص إلى كلام" على القيم التلقائية</translation>
 <translation id="5891934789323004067">جدول</translation>
@@ -784,7 +784,7 @@
 <translation id="6858047746862060282">فاتحة</translation>
 <translation id="6859876496651143278">التمرير السريع بإصبع واحد إلى يمين الشاشة</translation>
 <translation id="6865519907510167493">خطأ إملائي</translation>
-<translation id="6873188295213080042">تلميح: يمكنك الضغط مع الاستمرار على مفتاح البحث ثم الضغط على مفاتيح الأسهم للتنقُّل.</translation>
+<translation id="6873188295213080042">معلومة: اضغط مع الاستمرار على مفتاح البحث مع الضغط على مفاتيح الأسهم للتنقُّل بين النصوص.</translation>
 <translation id="6894148351896207544">قول الوقت والتاريخ الحاليين</translation>
 <translation id="6896758677409633944">نسخ</translation>
 <translation id="6897341342232909480">الانتقال يسارًا</translation>
@@ -850,7 +850,7 @@
 <translation id="7308519659008003150">ليس هناك حقل نموذج سابق.</translation>
 <translation id="731121099745151312">tritm</translation>
 <translation id="7317017974771324508">اختيار جزئي</translation>
-<translation id="7344012264516629579">‏تتضمّن أوامر الانتقال السريع أيضًا الانتقال بين الروابط، والأزرار ومربّعات الاختيار وغيرها من العناصر. يمكنك العثور على القائمة الكاملة لأوامر الانتقال السريع في قوائم ChromeVox، والتي يمكن فتحها من خلال الضغط على مفتاح البحث + مفتاح النقطة.</translation>
+<translation id="7344012264516629579">‏تتضمّن طلبات الانتقال السريع الإضافية استخدام الروابط والأزرار ومربّعات الاختيار وغيرها من العناصر. يمكنك العثور على القائمة الكاملة لطلبات الانتقال السريع في قوائم ChromeVox، والتي يمكن فتحها من خلال الضغط على مفتاح البحث + مفتاح النقطة.</translation>
 <translation id="7356165926712028380">التبديل إلى نمط برايل 8 نقاط</translation>
 <translation id="7356610683936413584">تفاصيل قائمة الوصف</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{علامة عطف واحدة}zero{# ampersands}two{علامتا عطف (#)}few{# علامات عطف}many{# علامة عطف}other{# من علامات العطف}}</translation>
@@ -860,7 +860,7 @@
 <translation id="739763518212184081">السطر السابق</translation>
 <translation id="7400575256015741911">تم اكتشاف خطأ إملائي</translation>
 <translation id="7408482676469142474">tbl</translation>
-<translation id="7419264136822406994">‏يمكنك استخدام مفتاح Shift + مفتاح التبويب (Tab) لنقل العنصر التفاعلي السابق. للمواصلة، اضغط على مفتاح Shift + مفتاح التبويب (Tab).</translation>
+<translation id="7419264136822406994">‏يمكنك استخدام مفتاح Shift + مفتاح التبويب (Tab) للانتقال إلى العنصر التفاعلي السابق. للمواصلة، اضغط على مفتاح Shift + مفتاح التبويب (Tab).</translation>
 <translation id="7425395583360211003">رجوع</translation>
 <translation id="7429415133937917139">‏يحاكي إخراج جهاز عرض بلغة برايل قابل لإعادة التحميل في لوحة ChromeVox بأعلى الشاشة.</translation>
 <translation id="7434509671034404296">المطوِّر</translation>
@@ -887,7 +887,7 @@
 <translation id="762020119231868829">إيقاف كل أدوات الوسائط التي يتم تشغيلها حاليًا مؤقتًا</translation>
 <translation id="7625690649919402823">الجدول التالي</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" /> (<ph name="VARIANT" />)، الدرجة <ph name="GRADE" /></translation>
-<translation id="7637342083105831460">اضغط على مفتاح البحث + مفتاح السهم لليمين للعثور على زر قسم التمرين أو زر الدرس التالي. بعد ذلك، اضغط على مفتاح البحث + مفتاح المسافة لتفعيل الزر.</translation>
+<translation id="7637342083105831460">اضغط على مفتاح البحث + مفتاح السهم المتّجه لليمين للاطّلاع على زر "التدريب العملي" أو زر "الدرس التالي". بعد ذلك، اضغط على مفتاح البحث + مفتاح المسافة لتنشيط الزر.</translation>
 <translation id="7639968568612851608">رمادي داكن</translation>
 <translation id="7663318257180412551">العنوان الثاني</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{ساعة واحدة}zero{ساعات}two{ساعتان}few{ساعات}many{ساعة}other{ساعة}}</translation>
@@ -927,7 +927,7 @@
 <translation id="794091007957014205">{COUNT,plural, =1{علامة على}zero{# at signs}two{علامتا على (#)}few{# علامات على}many{# علامة على}other{# من علامات على}}</translation>
 <translation id="7942349550061667556">أحمر</translation>
 <translation id="7948364528129376623">ليس هناك رابط تالٍ تم الانتقال إليه.</translation>
-<translation id="7952460583030260752">مَراجع الأوامر</translation>
+<translation id="7952460583030260752">مَراجع الطلبات</translation>
 <translation id="7965147473449754028">تم غلق القائمة</translation>
 <translation id="7968340748835037139">أخضر داكن</translation>
 <translation id="7972507042926081808">بني بلون الشوكولاتة</translation>
@@ -957,7 +957,7 @@
 <translation id="812886159861361726">تم إيقاف تنزيل <ph name="FILE_NAME" />.</translation>
 <translation id="8129445297241948503">ليست هناك خلية أعلاه.</translation>
 <translation id="8138880386467279117">اللمس</translation>
-<translation id="8146613869421949343">‏في هذا الدرس، ستتعلَّم عن مفتاح البحث. يُستخدَم مفتاح البحث بالتزامن مع مفاتيح أخرى في أوامر ChromeVox. يظهر مفتاح البحث فوق مفتاح Shift الأيسر مباشرةً. للمواصلة، اضغط على مفتاح البحث.</translation>
+<translation id="8146613869421949343">‏في الدرس التالي، ستتعرَّف على مزيد من المعلومات عن مفتاح البحث. يُستخدَم مفتاح البحث بالتزامن مع مفاتيح أخرى في طلبات ChromeVox. يوجد مفتاح البحث فوق مفتاح Shift الأيسر مباشرةً. للمواصلة، اضغط على مفتاح البحث.</translation>
 <translation id="816818801578874684">‏هذا هو العنوان الأول. اضغط على مفتاح البحث + حرف H للانتقال إلى العنوان التالي.</translation>
 <translation id="8173092779156526980">مرِّر سريعًا بأربعة أصابع إلى يمين الشاشة.</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{شرطة سفلية واحدة}zero{# underscores}two{شرطتان سفليتان (#)}few{# شرطات سفلية}many{# شرطة سفلية}other{# من الشرطات السفلية}}</translation>
@@ -999,7 +999,7 @@
 <translation id="8473540203671727883">قول النص أسفل الماوس</translation>
 <translation id="8476408756881832830">‏إيقاف التشغيل مؤقتًا أثناء تحدُّث ChromeVox</translation>
 <translation id="8476508772960940536">نظرة عامة للنافذة</translation>
-<translation id="8480873377842220259">الآن ستتعلَّم بعض الأوامر للتنقُّل الأساسي. يمكنك الضغط مع الاستمرار على مفتاح البحث ثم الضغط على مفاتيح الأسهم للتنقُّل على الشاشة. للمواصلة، اضغط على مفتاح البحث + مفتاح السهم لليمين.</translation>
+<translation id="8480873377842220259">ستتعرَّف الآن على بعض طلبات التنقُّل الأساسي. يمكنك الضغط مع الاستمرار على مفتاح البحث ثم الضغط على مفاتيح الأسهم للتنقُّل على الشاشة. للمواصلة، اضغط على مفتاح البحث + مفتاح السهم المتّجه لليمين.</translation>
 <translation id="8503360654911991865">خفض دقة التنقل</translation>
 <translation id="8520472399088452386">زر الدوران</translation>
 <translation id="8534394844575788431">التنسيق</translation>
@@ -1014,7 +1014,7 @@
 <translation id="8603071050456974042">‏لوحة ChromeVox</translation>
 <translation id="8606621670302093223">التحكم في التاريخ</translation>
 <translation id="8613709718990529335">أصفر حاد</translation>
-<translation id="8614129468475308349">‏أحسنت. لقد تعلمت أساسيات استخدام ChromeVox بنجاح. يمكنك الاطّلاع على البرنامج التعليمي مجددًا أو الخروج منه عن طريق العثور على الأزرار أدناه والنقر على أحدها.</translation>
+<translation id="8614129468475308349">‏أحسنت. لقد تعلمت أساسيات استخدام ChromeVox بنجاح. يمكنك الاطّلاع على البرنامج التعليمي مجددًا أو الخروج منه عن طريق النقر على أحد الأزرار الواردة أدناه.</translation>
 <translation id="8625173877182443267">ليس هناك عنوان تالٍ من المستوى السادس.</translation>
 <translation id="8628186274519446680">أحمر بلون الطماطم</translation>
 <translation id="8638532244051952400">إعلان إحداثيات الخلية الحالية</translation>
@@ -1027,14 +1027,14 @@
 <translation id="8693391540059827073">الفصل المفضَّل لديّ</translation>
 <translation id="8696284982970258155">شمّامي</translation>
 <translation id="8697111817566059991">{COUNT,plural, =1{شريط رأسي واحد}zero{# vertical pipes}two{شريطان رأسيان (#)}few{# أشرطة رأسية}many{# شريطًا رأسيًا}other{# من الأشرطة الرأسية}}</translation>
-<translation id="8741370088760768424">تلميح: اضغط على مفتاح البحث + مفتاح المسافة لتفعيل العنصر الحالي.</translation>
+<translation id="8741370088760768424">معلومة: اضغط على مفتاح البحث + مفتاح المسافة لتنشيط العنصر الحالي.</translation>
 <translation id="8743786158317878347">دخول إلى المحتوى المنظم، مثل الجداول</translation>
 <translation id="8747966237988593539">قائمة مرتبة</translation>
 <translation id="8749988712346667988">فضي</translation>
 <translation id="875769700429317857">اكتمل تنزيل <ph name="FILE_NAME" />.</translation>
 <translation id="8767968232364267681">عنوان المستوى الرابع التالي</translation>
 <translation id="8770473310765924354">خروج من المحتوى المنظم، مثل الجداول</translation>
-<translation id="8775203254697638994">ستحتاج في بعض الأحيان إلى اختيار عنصر من قائمة منسدلة. لإجراء ذلك، وسِّع القائمة المنسدلة عن طريق الضغط على مفتاح البحث + مفتاح المسافة. بعد ذلك، استخدِم مفتاحَي السهم للأعلى والسهم للأسفل لاختيار عنصر من القائمة. وأخيرًا، صغِّر القائمة المنسدلة عن طريق الضغط على مفتاح البحث + مفتاح المسافة.</translation>
+<translation id="8775203254697638994">ستحتاج في بعض الأحيان إلى اختيار عنصر من قائمة منسدلة. لإجراء ذلك، وسِّع القائمة المنسدلة عن طريق الضغط على مفتاح البحث + مفتاح المسافة. بعد ذلك، استخدِم مفتاحَي السهم المتّجه للأعلى والسهم المتّجه للأسفل لاختيار عنصر من القائمة. وأخيرًا، صغِّر القائمة المنسدلة عن طريق الضغط على مفتاح البحث + مفتاح المسافة.</translation>
 <translation id="8779057862865475116">ليس هناك رابط سابق.</translation>
 <translation id="8796411681063377102">عنوان المستوى الثالث التالي</translation>
 <translation id="8823311177246872527">الصفحة <ph name="CURRENTPAGE" /> من أصل <ph name="TOTALPAGES" /> صفحة</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_as.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_as.xtb
index cc3888f..e395a18 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_as.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_as.xtb
@@ -24,8 +24,10 @@
 <translation id="1126928665165112660">ইটালিক নহয়</translation>
 <translation id="113582498867142724"><ph name="NUM" />টা বস্তুযুক্ত <ph name="TAG" />ৰ সংগ্ৰহ</translation>
 <translation id="1161762950103988776">Jump</translation>
+<translation id="1164857107703583584">এখন ৱেব পৃষ্ঠাত দক্ষতাৰে নেভিগে'ট কৰিবলৈ পোনপটীয়াকৈ যোৱাৰ নিৰ্দেশনাসমূহ ব্যৱহাৰ কৰিব পাৰি।</translation>
 <translation id="1175914831232945926">অংকবোৰ</translation>
 <translation id="1188858454923323853">পৰিপূৰক</translation>
+<translation id="1189258430971676908">অনুশীলনৰ ক্ষেত্ৰ: ড্ৰপ ডাউনৰ সূচী</translation>
 <translation id="1195238899008218998">উত্তৰভাষ</translation>
 <translation id="1197088940767939838">কমলা</translation>
 <translation id="1201402288615127009">পৰৱৰ্তী</translation>
@@ -68,11 +70,13 @@
 <translation id="1383876407941801731">Search</translation>
 <translation id="1396114365388024581">tablst</translation>
 <translation id="1405567553485452995">পাতল সেউজীয়া</translation>
+<translation id="1411043317877497323">অনুশীলনৰ ক্ষেত্ৰ</translation>
 <translation id="141454040365657399">পৃষ্ঠাৰ হে’ডাৰ</translation>
 <translation id="1417889266572670458">সাগৰৰ দৰে নীলা</translation>
 <translation id="1431911867058218151">প্লাম</translation>
 <translation id="1439316808600711881">rgn</translation>
 <translation id="146450394670219700">গ্ৰাফিক্স অব্‌জেক্ট</translation>
+<translation id="1465097259579587977">ক্ষিপ্ৰ অ'ৰিয়েণ্টশ্বন পুনৰ আৰম্ভ কৰক</translation>
 <translation id="1480046233931937785">স্বীকৃতি</translation>
 <translation id="1487494366197411587">Chromebookত সন্ধানৰ কীটো বাওঁফালৰ শ্বিফ্ট কীৰ ওপৰত থাকে।</translation>
 <translation id="1498498210836053409">পাঠ সম্পাদনা কৰাৰ সময়ত ষ্টিকি ম’ডটো অফ কৰক (স্মার্ট ষ্টিকি ম’ড)</translation>
@@ -83,6 +87,7 @@
 <translation id="1524531499102321782">ব্ৰেইলৰ পৰৱর্তী শাৰী</translation>
 <translation id="1542513807034338907">পূৰ্বৱৰ্তী পৃষ্ঠালৈ স্ক্ৰ’ল কৰক</translation>
 <translation id="1546370775711804143">স্ক্ৰল বাৰ</translation>
+<translation id="1551572888042734032">গ্ৰীষ্মকাল</translation>
 <translation id="1555130319947370107">নীলা</translation>
 <translation id="1559739829547075274">পাছলৈ নেভিগে'ট কৰক</translation>
 <translation id="1565432156062359693">কোনো পৰৱৰ্তী সূচী নাই</translation>
@@ -110,6 +115,7 @@
 <translation id="1714116687360794776">মিটাৰ</translation>
 <translation id="1722567105086139392">লিংক</translation>
 <translation id="1727806147743597030">ftr</translation>
+<translation id="1730447754326314349">ChromeVox টিউট’ৰিয়েললৈ স্বাগতম। যিকোনো সময়তে এই টিউট’ৰিয়েলটোৰ পৰা বাহিৰ হ'বলৈ কীব'ৰ্ডখনৰ ওপৰৰ বাওঁফালৰ চুকটোৰ এস্কে’প কীটো টিপক। ChromeVox অফ কৰিবলৈ ক'ণ্ট্ৰ'ল আৰু অল্‌ট টিপি ধৰি থাকি জেড টিপক। আপুনি সাজু হ'লে পৰৱৰ্তী অনুশীলনীটোলৈ নিবলৈ স্পেছবাৰডাল টিপক।</translation>
 <translation id="174268867904053074">পৰৱৰ্তী গ্ৰাফিক</translation>
 <translation id="1756785467854861272">গাঢ় মেজেণ্টা</translation>
 <translation id="1765245556747822181">এটা আঙুলি ওপৰলৈ ছোৱাইপ কৰক</translation>
@@ -154,9 +160,11 @@
 <translation id="2121067395472282800">এক্সেছ কী:<ph name="KEY" /></translation>
 <translation id="2126597928985245619">এই বস্তুটোৰ বাবে কোনো উপলব্ধ পাঠ নাই</translation>
 <translation id="2127747486437921899">ইটালিক</translation>
+<translation id="2152179395627233441">অনুশীলনৰ ক্ষেত্ৰ বন্ধ কৰক</translation>
 <translation id="2163782704988363449">আসোঁৱাহ</translation>
 <translation id="2169714232367507776">বৰ্তমানৰ বস্তুটোত ক্লিক কৰক</translation>
 <translation id="2179452035581866348">ChromeVoxএ ধ্বনি ব্যৱহাৰ কৰি দৰকাৰী আৰু অতিৰিক্ত তথ্য যোগান ধৰে। আপুনি এই ধ্বনিবিলাক ব্যৱহাৰ কৰি আৰু সেইবোৰে কি বুজাই তাক শিকি খৰকৈ নেভিগে’ট কৰিব পাৰে। আপুনি সেইবোৰ ব্যৱহাৰ কৰি অভ্যস্ত হোৱাৰ পিছত, আপুনি উক্তিবিলাকৰ বহল বিৱৰণসমূহ বন্ধ কৰি ৰাখিব পাৰে আৰু কেৱল পৃষ্ঠাৰ বিষয়ে দৰকাৰী তথ্য জানিবৰ বাবে সেই ধ্বনিসমূহ ব্যৱহাৰ কৰিব পাৰে। এইখন হৈছে ধ্বনি আৰু সেইবিলাকে কি বুজাই তাৰ এখন পূৰ্ণ তালিকা।</translation>
+<translation id="2183409941723714159">টেব নেভিগেশ্বন</translation>
 <translation id="2188751878842439466">{COUNT,plural, =1{সোঁফালৰ চন্দ্ৰ বন্ধনী}one{#টা সোঁফালৰ চন্দ্ৰ বন্ধনী}other{#টা সোঁফালৰ চন্দ্ৰ বন্ধনী}}</translation>
 <translation id="2197863150503783129">ঘোঁৰাৰ জীনৰ দৰে মুগা</translation>
 <translation id="2199994615414171367">পূর্বৱর্তী গণিত</translation>
@@ -176,6 +184,7 @@
 <translation id="2318372665160196757">মুখ্য</translation>
 <translation id="2329324941084714723">টেবৰ পেনেল</translation>
 <translation id="2347456970887948350">এটা লিংক</translation>
+<translation id="2365384324219615024">আপুনি বস্তুবোৰ সক্ৰিয় কৰিবলৈ এণ্টাৰো টিপিব পাৰে। যেনে, ফৰ্মত পাঠ দাখিল কৰিবলৈ এণ্টাৰ ব্যৱহাৰ কৰিব পৰা যায়। অব্যাহত ৰাখিবলৈ এণ্টাৰ টিপক।</translation>
 <translation id="2381733276052567791">কথন অন বা অফ কৰিবলৈ ট’গ’ল কৰক</translation>
 <translation id="2390264819538553347">আগবাঢ়িবলৈ এণ্টাৰ দবাওক; উভতি যাবলৈ বেকস্পেছ দবাওক।</translation>
 <translation id="2398579267367951220">পৃষ্ঠাখনত সন্ধান কৰিবলৈ টাইপ কৰক। ফলাফললৈ পোনপটীয়াকৈ যাবলৈ এণ্টাৰ টিপক, ফলাফল ব্ৰাউজ কৰিবলৈ আপ অথবা ডাউন এৰ’সমূহ টিপক, আপোনাৰ সন্ধান সলনি কৰিবলৈ টাইপ কৰি থাকক অথবা বাতিল কৰিবলৈ এস্কে’প টিপক।</translation>
@@ -199,6 +208,8 @@
 <translation id="2523609930580546572">ChromeVox প্ৰশিক্ষণ</translation>
 <translation id="2525706221823668172">Chromebook কী’বর্ডৰ শ্বৰ্টকাট</translation>
 <translation id="2553108862507765288">ব্যাকৰণৰ ভুল</translation>
+<translation id="2556326187583116255">বৰ্তমানৰ যিকোনো কথন বন্ধ কৰিবলৈ ২ টা আঙুলিৰে টিপক</translation>
+<translation id="2573256689920773241">প্ৰাথমিক নেভিগেশ্বন</translation>
 <translation id="257674075312929031">গোট</translation>
 <translation id="2582407057977008361">পৃথক</translation>
 <translation id="2592212930811759050">সম্পাদনা আৰম্ভ কৰিবলৈ দুবাৰ টিপক</translation>
@@ -210,6 +221,7 @@
 <translation id="2638785836053527382"><ph name="FILE_NAME" />ৰ ডাউনল'ড পুনৰাম্ভ কৰা হৈছে</translation>
 <translation id="2639750663247012216">ChromeVox সংশোধক</translation>
 <translation id="2644542693584024604">ভুল বানান</translation>
+<translation id="2651441758640020174">আপোনাৰ প্ৰিয় ঋতুটো সূচীখনৰ পৰা বাছনি কৰি চাওক।</translation>
 <translation id="2654172656519784359">এটা শব্দ আগলৈ নিয়ক</translation>
 <translation id="2661530546602071611">জাননী</translation>
 <translation id="2673280813984708147">এ সম্পাদনা কৰি আছে</translation>
@@ -235,6 +247,7 @@
 <translation id="2808001342598757276">গাঢ়তা নাইকিয়া কৰা স্ক্ৰীণ</translation>
 <translation id="2811019999044652585">সঁজুলিদণ্ড বা ছিষ্টেম ট্ৰেইৰ দৰে স্ক্ৰীণৰ আন অংশলৈ যাবলৈ Control+Forward হেঁচক৷ Chromebookত, ফৰৱাৰ্ড কীটো সংখ্যা ২ কীৰ ওপৰত থাকে৷</translation>
 <translation id="2811204574343810641">শাৰী</translation>
+<translation id="2816868829355607410">অনুশীলনৰ ক্ষেত্ৰ: পোনপটীয়াকৈ যোৱাৰ নিৰ্দেশ</translation>
 <translation id="2841013758207633010">সময়</translation>
 <translation id="2843432675592278677">কোনো পূর্বৱর্তী ARIA লেণ্ডমার্ক নাই</translation>
 <translation id="2843814945404750166">জলফাইৰঙী গাঢ় সেউজীয়া</translation>
@@ -270,6 +283,7 @@
 <translation id="3060756054951570867"><ph name="TITLE" />মেনু খোলা হৈছে</translation>
 <translation id="3060880924447482063">বস্তু অনুসৰি আঁতৰাবলৈ বাওঁ বা সোঁফালে ছোৱাইপ কৰক</translation>
 <translation id="3070245424257836917">তিনিটা আঙুলি ওপৰলৈ ছোৱাইপ কৰক</translation>
+<translation id="307516670110542567">ক্ষিপ্ৰ অ'ৰিয়েণ্টশ্বন</translation>
 <translation id="3078345202707391975">পৰৱর্তী স্তৰ ২ৰ শিৰোনাম</translation>
 <translation id="3078740164268491126">তালিকা</translation>
 <translation id="3082249673510793544">পিছলৈ স্ক্ৰ’ল কৰক</translation>
@@ -298,6 +312,7 @@
 <translation id="3172700825913348768">{COUNT,plural, =1{স্পেচ}one{#টা স্পেচ}other{#টা স্পেচ}}</translation>
 <translation id="3179119189286472195">লিংক নহয়</translation>
 <translation id="320041337977930740">ডিছপ্লে’ৰ শৈলীটো ইণ্টাৰলীভলৈ সলনি কৰক</translation>
+<translation id="3206698050650195442">টিউট’ৰিয়েলৰ পৰা বাহিৰ হওক</translation>
 <translation id="3208346789712025453">কোনো পৰৱর্তী নিয়ন্ত্ৰণ নাই</translation>
 <translation id="321072937702597574">অৰ্কিড</translation>
 <translation id="3218691001991391708"><ph name="TEXT" /> পেষ্ট কৰক।</translation>
@@ -326,6 +341,8 @@
 <translation id="335581015389089642">কথন</translation>
 <translation id="3356951775008366684">শব্দৰ ধ্বনিগত উচ্চাৰণ ঘোষণা কৰক</translation>
 <translation id="3359142382821736686">seprtr</translation>
+<translation id="3363015957057974366">আপুনি স্ক্ৰীনত পৰৱৰ্তী ভাব-বিনিময়কাৰী বস্তুটোলৈ নিবলৈ টেব কীটোও ব্যৱহাৰ কৰিব পাৰে। ছাৰ্চ কীটোৰ একদম ওপৰত থকা টেব কীটো বিচাৰক। অব্যাহত ৰাখিবলৈ টেব কীটো টিপক।</translation>
+<translation id="3366946046494222386"><ph name="TOPIC" /> টিউট’ৰিয়েল, <ph name="LESSONS" /> অনুশীলনী</translation>
 <translation id="3374537878095184207">{COUNT,plural, =1{যোগ চিন}one{# যোগ চিন}other{# যোগ চিন}}</translation>
 <translation id="338583716107319301">পৃথকীকাৰক</translation>
 <translation id="3389259863310851658">ফ’র্মৰ পূর্বৱর্তী ক্ষেত্ৰ</translation>
@@ -333,6 +350,7 @@
 <translation id="3406283310380167331">তালিকাৰ পৰা দেখুৱাওক</translation>
 <translation id="3414400929511680526">এলিচ ব্লু</translation>
 <translation id="3418936350470374046">তলত কোনো কক্ষ নাই</translation>
+<translation id="3435494200763325275">টেব নেভিগেশ্বন অব্যাহত আছে</translation>
 <translation id="344800400831402066">পেৰু</translation>
 <translation id="3457000393508828486">আংশিকভাৱে হেঁচা দিয়া হৈছে</translation>
 <translation id="3458865416877308321"><ph name="NAME" />, চুইচ্ছ অফ</translation>
@@ -348,6 +366,7 @@
 <translation id="3538907380453898475">dscrplst</translation>
 <translation id="3549141990712742152"><ph name="TEXT" /> কাট কৰক।</translation>
 <translation id="3564729643041517261">বৰ্তমানৰ ডিছপ্লে’ৰ শৈলীটো হৈছে কাষে-কাষে থকা</translation>
+<translation id="3570904478351465021">শীতকাল</translation>
 <translation id="3573145950452451508">পৃষ্ঠাৰ ফুটাৰ</translation>
 <translation id="3587482841069643663">সকলো</translation>
 <translation id="3589661172894441357">পৰিভাষা</translation>
@@ -355,12 +374,15 @@
 <translation id="3594207934078151302">মধ্যমীয়া সাগৰ সেউজীয়া</translation>
 <translation id="3599054940393788245">গণিতৰ ভিতৰত নহয়</translation>
 <translation id="360241989769010433">কৃতজ্ঞতা</translation>
+<translation id="3616016838842055984">আপুনি ক্লিক কৰিব খোজা বস্তুটো পালে, ছাৰ্চ + স্পেছ টিপক। অব্যাহত ৰাখিবলৈ এইটো এতিয়াই কৰি চাওক।</translation>
 <translation id="3616113530831147358">অডিঅ’</translation>
 <translation id="3622350485154495700">এটা আঙুলিৰে দুবাৰ টিপক</translation>
 <translation id="3646890046000188562">{COUNT,plural, =1{বেকটিক}one{#টা বেকটিক}other{#টা বেকটিক}}</translation>
 <translation id="3650317109285159359">চেকবক্স থকা মেনুৰ বস্তু</translation>
 <translation id="3655855170848725876">{COUNT,plural, =1{ডলাৰ}one{#টা ডলাৰ চিহ্ন}other{#টা ডলাৰ চিহ্ন}}</translation>
 <translation id="3659787053479271466">সতৰ্ক</translation>
+<translation id="366419593095697301">ইংগিত: আপুনি যদি এই টিউট’ৰিয়েলটোৰ পৰা বাহিৰ হ'বলৈ বিচাৰে তেন্তে এস্কে’প টিপক।</translation>
+<translation id="3676062394766691318">আপুনি নিজৰ ডিভাইচ ছেট আপ কৰাৰ পাছত, আপুনি উভতি আহিব পাৰে আৰু প্ৰথমে ছাৰ্চ + অ' টিপি তাৰ পাছত টি টিপি অধিক টিউট’ৰিয়েল চাব পাৰে।</translation>
 <translation id="3681531118904532409">পাপায়া হুইপ</translation>
 <translation id="3692274950075847560">সন্ধান:<ph name="RESULT" /></translation>
 <translation id="370367311675896712">কাটি দিয়া পাঠ</translation>
@@ -382,6 +404,7 @@
 <translation id="3856075812838139784">কেৱল পঢ়িব পৰা</translation>
 <translation id="3857141338659865495">মধ্যমীয়া সেউজ নীলা</translation>
 <translation id="3870295413168340326">কোনো পূর্বৱর্তী স্তৰ ৩ৰ শিৰোনাম নাই</translation>
+<translation id="3887399638190992181">অত্যাৱশ্যকীয় কী</translation>
 <translation id="3887576927692165210">সম্পাদনা</translation>
 <translation id="3897092660631435901">মেনু</translation>
 <translation id="3907138069015388678">lstgrd</translation>
@@ -400,6 +423,7 @@
 <translation id="4004802134384979325">পৰীক্ষা কৰা হ’ল</translation>
 <translation id="4006140876663370126">প্ৰতিচ্ছবি</translation>
 <translation id="4021716437419160885">তললৈ স্ক্ৰল কৰক</translation>
+<translation id="4035381225449278841">বসন্ত</translation>
 <translation id="4047216625641135770">চিহ্নিত কৰক</translation>
 <translation id="4053520724192563562">নেমুৰ দৰে সেউজীয়া</translation>
 <translation id="4054936709456751127">sts</translation>
@@ -505,6 +529,7 @@
 <translation id="4846428657345567687">ChromeVoxলৈ স্বাগতম!</translation>
 <translation id="4848993367330139335">টাইমাৰ</translation>
 <translation id="4854380505292502090">কোনো পূৰ্বৱৰ্তী মিডিয়া ৱিজেট নাই</translation>
+<translation id="4855927945655956315">অত্যাৱশ্যকীয় কী: কণ্ট্ৰ’ল</translation>
 <translation id="4862744964787595316">ব’ল্ড নহয়</translation>
 <translation id="4866956062845190338">rdmnuitm</translation>
 <translation id="4867316986324544967">TTS লগ ইন সক্ষম কৰক</translation>
@@ -520,6 +545,7 @@
 <translation id="4973717656530883744">সৰ্বনিম্ন <ph name="X" /></translation>
 <translation id="4974612477719259470">কোনো পূৰ্বৱৰ্তী বুটাম নাই</translation>
 <translation id="4979404613699303341">পূর্বৱর্তী বুটাম</translation>
+<translation id="4982917827052020884">আহক, আপুনি নিয়মীয়াকৈ ব্যৱহাৰ কৰিব লগা কেইটামান কীৰে আৰম্ভ কৰোঁ। বৰ্তমানৰ যিকোনো কথন বন্ধ কৰিবলৈ ক'ণ্ট্ৰল কীটো ব্যৱহাৰ কৰিব পাৰি। আপোনাৰ কীব'ৰ্ডখনৰ একেবাৰে তলৰ বাওঁফালে চুকত ক'ণ্ট্ৰল কীটো বিচাৰক। অব্যাহত ৰাখিবলৈ, ক'ণ্ট্ৰ'ল কীটো টিপক।</translation>
 <translation id="4983588134362688868">পৃষ্ঠাটোৰ ওপৰৰ অংশলৈ যাওক</translation>
 <translation id="4986606102545753256"><ph name="NAME" />, ৱিণ্ড'</translation>
 <translation id="4993152509206108683">হাৰ <ph name="PERCENT" /> শতাংশ</translation>
@@ -531,6 +557,7 @@
 <translation id="5041394372352067729">ব্ৰেইল ডিছপ্লে' পৃষ্ঠাৰ ওপৰলৈ নিয়ক</translation>
 <translation id="5042770794184672516">কথনৰ ভলিউম বঢ়াওক</translation>
 <translation id="5042992464904238023">ৱেব সমল</translation>
+<translation id="5045870649377683106">এতিয়া, ক'ণ্ট্ৰল কীটোৰ একেবাৰে ওপৰত থকা বাওঁফালৰ শ্বিফ্ট কীটো বিচাৰক। অব্যাহত ৰাখিবলৈ, বাওঁফালৰ শ্বিফ্ট কীটো টিপক।</translation>
 <translation id="5050015258024679800">পূর্বৱর্তী স্তৰ ৪ৰ শিৰোনাম</translation>
 <translation id="5054047268577924192">পূর্বৱর্তী সূচীৰ বস্তু</translation>
 <translation id="5085453135206054947">শেঁতা বেঙুনীয়া ৰঙা</translation>
@@ -541,9 +568,11 @@
 <translation id="5111640677200759579">স্তম্ভৰ হেডাৰ</translation>
 <translation id="5115892389597951922">ChromeVoxৰ লগ</translation>
 <translation id="5119330972669454698">বাৰ্লী ৱুড</translation>
+<translation id="5130133513489020984">পূৰ্বৱৰ্তী অনুশীলনী</translation>
 <translation id="513774504516943387">লিংক</translation>
 <translation id="5138912041966667164">মধ্যমীয়া স্লে’ট ব্লু</translation>
 <translation id="5140016802771803559">ৰেবেকা পাৰ্পল</translation>
+<translation id="5142101052131610456">সকলো অনুশীলনী</translation>
 <translation id="5158275234811857234">ক'ভাৰ</translation>
 <translation id="5170206230005240598">ব্ৰেইল কেপশ্বনসমূহ সক্ষম কৰা আছে</translation>
 <translation id="5183440668879371625">ব্ৰেইল পূর্বৱর্তী শাৰী</translation>
@@ -552,6 +581,7 @@
 <translation id="5263344797180442561">শিৰোমান২</translation>
 <translation id="528468243742722775">সমাপ্ত</translation>
 <translation id="5302089807023311274">গ্ৰন্থপঞ্জীৰ প্ৰসংগ</translation>
+<translation id="530391007967514163">তলৰ পাঠটো নেভিগে'ট কৰিবলৈ শিৰোনামৰ জড়িয়তে পোনপটীয়াকৈ যাবলৈ চাওক।</translation>
 <translation id="5304943142864553931"><ph name="TITLE" />, টেব</translation>
 <translation id="5308380583665731573">সংযোগ কৰক</translation>
 <translation id="5310788376443009632">আঁতৰোৱা হ’ল:</translation>
@@ -582,10 +612,12 @@
 <translation id="5452267669091857717">কোনো পৰৱর্তী স্তৰ ১ৰ শিৰোনাম নাই</translation>
 <translation id="5455441614648621694">পৰিপূৰক</translation>
 <translation id="5462510922370980473">পৃষ্ঠাৰ সূচী</translation>
+<translation id="5495517933067991341">অত্যাৱশ্যকীয় কী: শ্বিফ্ট</translation>
 <translation id="549602578321198708">শব্দ</translation>
 <translation id="5513242761114685513">প্ৰসংগ মেনু</translation>
 <translation id="551361796444814639">মধ্যম নীলা</translation>
 <translation id="552195134157544755">ৰেডিঅ’ বুটাম</translation>
+<translation id="5522423213731659107">ক্ষিপ্ৰ অ'ৰিয়েণ্টশ্বন সম্পূৰ্ণ হ'ল!</translation>
 <translation id="5534303576632885660">hdr</translation>
 <translation id="5539820223028224601">গেইন্সব'ৰ'</translation>
 <translation id="5549179427201066174">ধ্বনিৰ প্ৰতিক্রিয়া (ইয়েৰক’ন) অন অথবা অফ কৰক</translation>
@@ -599,6 +631,7 @@
 <translation id="5598905979683743333"><ph name="NAME" />, ৰেডিঅ' বুটাম বাছনি কৰাটো বাতিল কৰা হ'ল</translation>
 <translation id="5601172225407283979">ডিফ'ল্ট কার্য কৰক</translation>
 <translation id="5608798115546226984">স্বয়ংক্ৰিয়ভাৱে সম্পূর্ণ হোৱা ইনলাইন</translation>
+<translation id="5616029807486814372">পৰৱৰ্তী অনুশীলনী</translation>
 <translation id="561939826962581046">সময়</translation>
 <translation id="5623778242535476823">ৰেডিঅ’ বুটাম</translation>
 <translation id="5623842676595125836">লগ</translation>
@@ -607,6 +640,7 @@
 <translation id="5653397561111110475">Chromebook টাচ্চ্‌ স্ক্রীণৰ সাধ্য সুবিধাসমূহ ব্যৱহাৰ কৰক</translation>
 <translation id="5655682562155942719">নিৰ্দেশবোৰ অমান্য কৰক</translation>
 <translation id="56637627897541303">পাঠ লিখা ক্ষেত্ৰ</translation>
+<translation id="5669637233317991674">এই অনুশীলনীটো নিভিগে'ট কৰিবলৈ ছাৰ্চ + সোঁফালৰ এৰ' টিপক অথবা ছাৰ্চ + বাওঁফালৰ এৰ' টিপক</translation>
 <translation id="5678161956734658133">mled</translation>
 <translation id="5681643281275621376">সংজ্ঞা</translation>
 <translation id="5682113568322255809">লেণ্ডমাৰ্ক</translation>
@@ -630,9 +664,11 @@
 <translation id="5850707923114094062">পিছ ফাললৈ পেন কৰক</translation>
 <translation id="5851548754964597211">টেবৰ তালিকা</translation>
 <translation id="5866042630553435010">আংশিকভাৱে পৰীক্ষা কৰা হৈছে</translation>
+<translation id="5866210856231860256">এই বিষয়টো ব্ৰাউজ কৰিবলৈ ছাৰ্চ + সোঁফালৰ এৰ' টিপক অথবা ছাৰ্চ + বাওঁফালৰ এৰ' টিপক</translation>
 <translation id="5867591286054666064">এই প্ৰশিক্ষণৰ সময়ত যিকোনো কীৰ নাম জানিবলৈ সেই কীটো টিপক।</translation>
 <translation id="5869546221129391014">গ্ৰিড</translation>
 <translation id="5876817486144482042">কথনৰ ভলিউম কমাওক</translation>
+<translation id="5878206664863390311">বিষয়সমূহ ব্ৰাউজ কৰিবলৈ ছাৰ্চ + সোঁফালৰ এৰ' টিপক অথবা ছাৰ্চ + বাওঁফালৰ এৰ' টিপক</translation>
 <translation id="5878908838135392163">পাউডাৰ নীলা</translation>
 <translation id="588108970619830498">পাঠৰ পৰা কথনৰ ছেটিংসমূহ ডিফ’ল্ট মানসমূহলৈ ৰিছেট কৰক</translation>
 <translation id="5891934789323004067">তালিকা</translation>
@@ -679,6 +715,7 @@
 <translation id="6254901459154107917">সম্পাদনা কৰিব পৰা পৰৱর্তী পাঠৰ ক্ষেত্ৰ</translation>
 <translation id="6259464875943891919"><ph name="TYPE" />ক বাহিৰ কৰা হৈছে।</translation>
 <translation id="6282062888058716985">নেভিগেশ্বন</translation>
+<translation id="6295699829709583154">অত্যাৱশ্যকীয় কী: ছাৰ্চ</translation>
 <translation id="6305702903308659374">ChromeVoxএ কিবা কৈ থাকিলেও স্বাভাৱিক ভলিউমতেই প্লে’ কৰক</translation>
 <translation id="6307969636681130414">হেঁচা দিয়া হ’ল</translation>
 <translation id="6315652249189065725">কীব’ৰ্ডৰ শ্বৰ্টকাটৰ মেনুখন খোলক</translation>
@@ -697,6 +734,7 @@
 <translation id="6385591741672306837">স্তম্ভ</translation>
 <translation id="6387719785439924554">পৃথক</translation>
 <translation id="6393014464788431702">অনুষ্ঠানৰ সকলো ফিল্টাৰ অক্ষম কৰক</translation>
+<translation id="6411569524720229058">শৰৎ কাল</translation>
 <translation id="6417265370957905582">Google Assistant</translation>
 <translation id="641759969622533235">{COUNT,plural, =1{ক'লন}one{#টা ক’লন}other{#টা ক’লন}}</translation>
 <translation id="6444046323172968959">সতৰ্কতা সম্পৰ্কীয় ডায়ল'গ</translation>
@@ -732,6 +770,7 @@
 <translation id="6730312624811567147">Home অথবা Endৰ বাবে Search Left অথবা Right, Control Home অথবা Endৰ বাবে Search Control Left অথবা Right, Page Up অথবা Downৰ বাবে Search Up অথবা Down ব্যৱহাৰ কৰক</translation>
 <translation id="6736510033526053669">টেব সৃষ্টি কৰা হ’ল</translation>
 <translation id="675895815784134693">pgbar</translation>
+<translation id="6759710362319508545">সম্পদ</translation>
 <translation id="67862343314499040">বেঙুনীয়া</translation>
 <translation id="6786800275320335305">প্ৰৱন্ধ</translation>
 <translation id="6793101435925451627">lstbx</translation>
@@ -743,6 +782,7 @@
 <translation id="6858047746862060282">প্ৰস্তাৱনা</translation>
 <translation id="6859876496651143278">এটা আঙুলি বাওঁফালে ছোৱাইপ কৰক</translation>
 <translation id="6865519907510167493">বানান ভুল</translation>
+<translation id="6873188295213080042">ইংগিত: ছাৰ্চ কীটো টিপি ধৰি ৰাখক আৰু নেভিগে'ট কৰিবলৈ এৰ' কীসমূহ টিপক।</translation>
 <translation id="6894148351896207544">বৰ্তমানৰ সময় আৰু তাৰিখটো কৈ শুনাওক</translation>
 <translation id="6896758677409633944">প্ৰতিলিপি কৰক</translation>
 <translation id="6897341342232909480">বাওঁফালে স্থানান্তৰ কৰক</translation>
@@ -808,14 +848,17 @@
 <translation id="7308519659008003150">কোনো পূৰ্বৱৰ্তী ফৰ্মৰ ক্ষেত্ৰ নাই</translation>
 <translation id="731121099745151312">tritm</translation>
 <translation id="7317017974771324508">আংশিকভাৱে বাছনি কৰা হৈছে</translation>
+<translation id="7344012264516629579">অতিৰিক্ত পোনপটীয়াকৈ যোৱাৰ নিৰ্দেশনাসমূহত লিংক, বুটাম আৰু চেকবক্সেৰে পোনপটীয়াকৈ যোৱা অন্তৰ্ভুক্ত বুলিব পাৰি। ChromeVox মেনুত পোনপটীয়াকৈ যোৱাৰ নিৰ্দেশনাসমূহৰ এখন সম্পূৰ্ণ সূচী পাব পাৰি, যিখন ছাৰ্চ + পিৰিয়ড টিপি খুলিব পৰা যায়।</translation>
 <translation id="7356165926712028380">এইট-ডট্‌ ব্ৰেইললৈ সলনি কৰক</translation>
 <translation id="7356610683936413584">বিৱৰণ সূচীৰ সবিশেষ</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{এম্পাৰছেণ্ড}one{#টা এম্পাৰছেণ্ড}other{#টা এম্পাৰছেণ্ড}}</translation>
 <translation id="737396357417333429">clk</translation>
 <translation id="738899727977260036">স্লে'ট ব্লু</translation>
+<translation id="7393979322571982935">ধ্বনি আৰু ছেটিং</translation>
 <translation id="739763518212184081">আগৰ শাৰী</translation>
 <translation id="7400575256015741911">বানান ভুল চিনাক্ত কৰা হৈছে</translation>
 <translation id="7408482676469142474">tbl</translation>
+<translation id="7419264136822406994">আপুনি পূৰ্বৱৰ্তী ভাব-বিনিময়কাৰী বস্তুটোলৈ নিবলৈ শ্বিফ্ট + টেব ব্যৱহাৰ কৰিব পাৰে। অব্যাহত ৰাখিবলৈ শ্বিফ্ট + টেব টিপক।</translation>
 <translation id="7425395583360211003">উভতি যাওক</translation>
 <translation id="7429415133937917139">স্ক্ৰীনখনৰ ওপৰৰ অংশৰ ChromeVox পেনেলত
     থকা ৰিফ্ৰেশ্ব কৰিব পৰা কোনো ব্ৰেইল ডিছপ্লে’ৰ আউটপুট ছিমুলে’ট কৰে</translation>
@@ -843,6 +886,7 @@
 <translation id="762020119231868829">বর্তমান প্লে' হৈ থকা সকলো মিডিয়া ৱিজেট পজ কৰে।</translation>
 <translation id="7625690649919402823">পৰৱৰ্তী তালিকা</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" /> (<ph name="VARIANT" />), গ্ৰে’ড <ph name="GRADE" /></translation>
+<translation id="7637342083105831460">অনুশীলনৰ ক্ষেত্ৰখন অথবা পৰৱৰ্তী অনুশীলনীৰ বুটামটো বিচাৰিবলৈ ছাৰ্চ + সোঁফালৰ এৰ' কী টিপক। তাৰ পাছত সক্ৰিয় কৰিবলৈ ছাৰ্চ + স্পেছ টিপক।</translation>
 <translation id="7639968568612851608">গাঢ় ধোঁৱাবৰণীয়া</translation>
 <translation id="7663318257180412551">শিৰোনাম ২</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{ঘণ্টা}one{ঘণ্টা}other{ঘণ্টা}}</translation>
@@ -882,6 +926,7 @@
 <translation id="794091007957014205">{COUNT,plural, =1{এট}one{#টা এট চিহ্ন}other{#টা এট চিহ্ন}}</translation>
 <translation id="7942349550061667556">ৰঙা</translation>
 <translation id="7948364528129376623">কোনো পৰৱর্তী চোৱা লিংক নাই</translation>
+<translation id="7952460583030260752">নিৰ্দেশনাৰ প্ৰসঙ্গ</translation>
 <translation id="7965147473449754028">মেনু বন্ধ কৰা হ’ল</translation>
 <translation id="7968340748835037139">গাঢ় সেউজীয়া</translation>
 <translation id="7972507042926081808">চকলেট</translation>
@@ -911,6 +956,8 @@
 <translation id="812886159861361726"><ph name="FILE_NAME" />ৰ ডাউনল'ড বাধাপ্ৰাপ্ত হৈছে</translation>
 <translation id="8129445297241948503">ওপৰত কোনো কক্ষ নাই</translation>
 <translation id="8138880386467279117">স্পর্শ</translation>
+<translation id="8146613869421949343">ইয়াৰ পাছত আপুনি ছাৰ্চ কীটোৰ সম্পৰ্কে জানিব। ChromeVoxৰ নিৰ্দেশনাসমূহৰ বাবে ছাৰ্চ কীটো অন্য কীসমূহৰ সৈতে মিলাই ব্যৱহাৰ কৰা হয়। ছাৰ্চ কীটো বাওঁফালৰ শ্বিফ্ট কীৰ একদম ওপৰত থাকে। অব্যাহত ৰাখিবলৈ ছাৰ্চ কীটো টিপক।</translation>
+<translation id="816818801578874684">এইটো প্ৰথম শিৰোনাম। পৰৱৰ্তী শিৰোনামলৈ যাবলৈ ছাৰ্চ + এইছ টিপক।</translation>
 <translation id="8173092779156526980">চাৰিটা আঙুলিৰে বাওঁফাললৈ ছোৱাইপ কৰক</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{আণ্ডাৰস্ক’ৰ}one{#টা আণ্ডাৰস্ক’ৰ}other{#টা আণ্ডাৰস্ক’ৰ}}</translation>
 <translation id="8179976553408161302">Enter</translation>
@@ -951,6 +998,7 @@
 <translation id="8473540203671727883">মাউছৰ তলত থকা পাঠ কৈ শুনাওক</translation>
 <translation id="8476408756881832830">ChromeVoxএ কিবা কৈ থাকিলে প্লে’বেল পজ কৰক</translation>
 <translation id="8476508772960940536">ৱিণ্ড‘ অৱলোকন কৰক</translation>
+<translation id="8480873377842220259">এতিয়া আপুনি নেভিগেশ্বনৰ কিছুমান প্ৰাথমিক কথা শিকিব। আপুনি স্ক্ৰীনখনৰ ইফালে-সিফালে নিবলৈ ছাৰ্চ কীটো টিপি ধৰি থাকি এৰ' কী টিপিব পাৰে। অব্যাহত ৰাখিবলৈ ছাৰ্চ + সোঁফালৰ এৰ' কীটো টিপক।</translation>
 <translation id="8503360654911991865">নেভিগেশ্বনৰ বিস্তৃতি কমাওক</translation>
 <translation id="8520472399088452386">স্পিন বুটাম</translation>
 <translation id="8534394844575788431">ফৰ্মেট কৰি থকা হৈছে</translation>
@@ -965,6 +1013,7 @@
 <translation id="8603071050456974042">ChromeVox পেনেল</translation>
 <translation id="8606621670302093223">তাৰিখ নিয়ন্ত্ৰণ</translation>
 <translation id="8613709718990529335">বিস্ক</translation>
+<translation id="8614129468475308349">বঢ়িয়া! আপুনি ChromeVoxৰ প্ৰাথমিক কথাবোৰ জানিলে। আপুনি পুনৰ টিউট’ৰিয়েলটো চাব পাৰে অথবা তলত থকা এটা বুটাম বিচাৰি সেইটোত ক্লিক কৰি বাহিৰ হ'ব পাৰে।</translation>
 <translation id="8625173877182443267">কোনো পৰৱর্তী স্তৰ ৬ৰ শিৰোনাম নাই</translation>
 <translation id="8628186274519446680">বিলাহী</translation>
 <translation id="8638532244051952400">বর্তমানৰ কক্ষৰ স্থানাংক ঘোষণা কৰক</translation>
@@ -972,15 +1021,19 @@
 <translation id="8651481478098336970">ভলিউম মিউট কৰক</translation>
 <translation id="8653646212587894517">লিংকৰ সূচী দেখুৱাওক</translation>
 <translation id="8656888282555543604">ব্ৰেইলি লগ ইন সক্ষম কৰক</translation>
+<translation id="8659501358298941449">ড্ৰপ ডাউনৰ সূচী</translation>
 <translation id="867187640362843212">শিৰোনাম ৫</translation>
+<translation id="8693391540059827073">মোৰ প্ৰিয় ঋতু</translation>
 <translation id="8696284982970258155">HoneyDew</translation>
 <translation id="8697111817566059991">{COUNT,plural, =1{পাইপ}one{#ডাল উলম্ব পাইপ}other{#ডাল উলম্ব পাইপ}}</translation>
+<translation id="8741370088760768424">ইংগিত: বৰ্তমানৰ বস্তুটো সক্ৰিয় কৰিবলৈ ছাৰ্চ + স্পেছ টিপক।</translation>
 <translation id="8743786158317878347">সুসংগত সমল দিয়ক, যেনে তালিকা</translation>
 <translation id="8747966237988593539">অ'ৰ্ডাৰ দিয়া সূচী</translation>
 <translation id="8749988712346667988">ৰূপালী</translation>
 <translation id="875769700429317857"><ph name="FILE_NAME" />ৰ ডাউনল'ড সম্পূর্ণ হ'ল</translation>
 <translation id="8767968232364267681">পৰৱর্তী স্তৰ ৪ৰ শিৰোনাম</translation>
 <translation id="8770473310765924354">সুসংগঠিত সমল, যেনে তালিকা বাহিৰ কৰক</translation>
+<translation id="8775203254697638994">আপুনি এখন ড্ৰপ ডাউন সূচীৰ পৰা এটা বস্তু বাছনি কৰিব লগা হোৱাৰ সময় থাকিব। সেইটো কৰিবলৈ, প্ৰথমে ছাৰ্চ + স্পেছ টিপি সূচীখন বিস্তাৰ কৰক। তাৰ পাছত কোনো বস্তু বাছনি কৰিবলৈ আপ আৰু ডাউন এৰ' কীসমূহ ব্যৱহাৰ কৰক। শেষত, ছাৰ্চ + স্পেছ টিপি সূচীখন সংকোচন কৰক।</translation>
 <translation id="8779057862865475116">কোনো পূর্বৱর্তী লিংক নাই</translation>
 <translation id="8796411681063377102">পৰৱৰ্তী স্তৰ ৩ৰ শিৰোনাম</translation>
 <translation id="8823311177246872527"><ph name="TOTALPAGES" /> খন পৃষ্ঠাৰ <ph name="CURRENTPAGE" /> নম্বৰ পৃষ্ঠা</translation>
@@ -1002,6 +1055,8 @@
 <translation id="89720367119469899">ESCAPE</translation>
 <translation id="8978496506222343566">টুল টিপ</translation>
 <translation id="8986362086234534611">পাহৰক</translation>
+<translation id="8989104346085848538">বৰ্তমানৰ ChromeVoxৰ যিকোনো কথন বন্ধ কৰিবলৈ, ক'ণ্ট্ৰল কীটো টিপক।</translation>
+<translation id="9014206344398081366">ChromeVox টিউট’ৰিয়েল</translation>
 <translation id="9040132695316389094">শিৰোনাম ১</translation>
 <translation id="9061884144798498064">কোনো ৮-বিন্দুৰ ব্ৰেইল তালিকা বাছনি কৰক:</translation>
 <translation id="9065283790526219006">+পপআপ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_cs.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_cs.xtb
index ef3b8aa..de762c0 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_cs.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_cs.xtb
@@ -382,7 +382,7 @@
 <translation id="3655855170848725876">{COUNT,plural, =1{dolar}few{# znaky dolar}many{# dollar signs}other{# znaků dolar}}</translation>
 <translation id="3659787053479271466">upoz</translation>
 <translation id="366419593095697301">Tip: Tento výukový program můžete opustit stisknutím klávesy Escape.</translation>
-<translation id="3676062394766691318">Po nastavení zařízení se můžete vrátit a stisknutím kombinace kláves Hledat + Q a poté klávesy T zobrazit další výukové programy.</translation>
+<translation id="3676062394766691318">Po nastavení zařízení se můžete vrátit a stisknutím kombinace kláves Hledat + Q a poté klávesy T zobrazit další výukové programy.</translation>
 <translation id="3681531118904532409">Papájová</translation>
 <translation id="3692274950075847560">V:<ph name="RESULT" /></translation>
 <translation id="370367311675896712">Přeškrtnuté</translation>
@@ -957,7 +957,7 @@
 <translation id="8129445297241948503">Nahoře žádná buňka není</translation>
 <translation id="8138880386467279117">Dotykové</translation>
 <translation id="8146613869421949343">V dalším kroku se seznámíte s vyhledávacím tlačítkem. Vyhledávací tlačítko (označované také jako klávesa Hledat) se používá v kombinaci s dalšími klávesami pro příkazy čtečky ChromeVox. Vyhledávací tlačítko se nachází přímo nad klávesou Shift. Pokračujte stisknutím vyhledávacího tlačítka.</translation>
-<translation id="816818801578874684">Toto je první nadpis. Stisknutím kombinace kláves Hledat + H přejdete na další nadpis.</translation>
+<translation id="816818801578874684">Toto je první nadpis. Stisknutím kombinace kláves Hledat + H přejdete na další nadpis.</translation>
 <translation id="8173092779156526980">Přejeďte čtyřmi prsty doleva</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{podtržítko}few{# podtržítka}many{# underscores}other{# podtržítek}}</translation>
 <translation id="8179976553408161302">Enter</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb
index 44cfc58..006d4a2 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb
@@ -24,7 +24,7 @@
 <translation id="1126928665165112660">Sin cursiva</translation>
 <translation id="113582498867142724">Colección de <ph name="TAG" /> con <ph name="NUM" /> elementos</translation>
 <translation id="1161762950103988776">Saltar</translation>
-<translation id="1164857107703583584">Los comandos de salto pueden usarse para navegar de manera eficaz por la página web.</translation>
+<translation id="1164857107703583584">Los comandos de salto pueden usarse para navegar con eficiencia por páginas web.</translation>
 <translation id="1175914831232945926">Dígitos</translation>
 <translation id="1188858454923323853">complementario</translation>
 <translation id="1189258430971676908">Área de práctica: Listas desplegables</translation>
@@ -115,7 +115,7 @@
 <translation id="1714116687360794776">Medidor</translation>
 <translation id="1722567105086139392">Link</translation>
 <translation id="1727806147743597030">pie</translation>
-<translation id="1730447754326314349">Te damos la bienvenida al instructivo de ChromeVox. Para salir del instructivo en cualquier momento, presiona la tecla Escape, que se encuentra en la esquina superior izquierda del teclado. Para desactivar ChromeVox, mantén presionado Control and y Alt y presiona Z. Cuando esté todo listo, usa la barra espaciadora para pasar a la siguiente lección.</translation>
+<translation id="1730447754326314349">Te damos la bienvenida al instructivo de ChromeVox. Para salir del instructivo en cualquier momento, presiona la tecla Escape, que se encuentra en la esquina superior izquierda del teclado. Para desactivar ChromeVox, mantén presionadas las teclas Control y Alt y presiona Z. Cuando esté todo listo, usa la barra espaciadora para pasar a la lección siguiente.</translation>
 <translation id="174268867904053074">Siguiente gráfico</translation>
 <translation id="1756785467854861272">Magenta oscuro</translation>
 <translation id="1765245556747822181">Deslizar un dedo hacia arriba</translation>
@@ -164,7 +164,7 @@
 <translation id="2163782704988363449">Errata</translation>
 <translation id="2169714232367507776">Hacer clic en el elemento actual</translation>
 <translation id="2179452035581866348">ChromeVox usa sonidos para otorgarte información fundamental y adicional. Puedes usar estos sonidos para navegar con mayor velocidad al aprender qué significa cada sonido. Cuando te sientas más cómodo, puedes desactivar las descripciones detalladas de voz y confiar en los sonidos para obtener información fundamental sobre la página. A continuación, encontrarás una lista completa de sonidos y sus significados.</translation>
-<translation id="2183409941723714159">Navegación con la tecla de tabulación</translation>
+<translation id="2183409941723714159">Navegación con la tecla Tab</translation>
 <translation id="2188751878842439466">{COUNT,plural, =1{paréntesis de cierre}other{# paréntesis de cierre}}</translation>
 <translation id="2197863150503783129">Marrón arenoso</translation>
 <translation id="2199994615414171367">Expresión matemática anterior</translation>
@@ -341,7 +341,7 @@
 <translation id="335581015389089642">Voz</translation>
 <translation id="3356951775008366684">Anuncia la pronunciación fonética de las palabras</translation>
 <translation id="3359142382821736686">seprtr</translation>
-<translation id="3363015957057974366">Para pasar al siguiente elemento interactivo de la pantalla, también puedes usar la tecla de tabulación, que se encuentra inmediatamente arriba de la tecla Búsqueda. Para continuar, presiona la tecla de tabulación.</translation>
+<translation id="3363015957057974366">Para pasar al siguiente elemento interactivo de la pantalla, también puedes usar la tecla Tab, que se encuentra inmediatamente arriba de la tecla Búsqueda. Para continuar, presiona la tecla Tab.</translation>
 <translation id="3366946046494222386">Instructivo sobre <ph name="TOPIC" />: <ph name="LESSONS" /> lecciones</translation>
 <translation id="3374537878095184207">{COUNT,plural, =1{más}other{# signos más}}</translation>
 <translation id="338583716107319301">Separador</translation>
@@ -350,7 +350,7 @@
 <translation id="3406283310380167331">Mostrar lista de formularios</translation>
 <translation id="3414400929511680526">Azul Alicia</translation>
 <translation id="3418936350470374046">No hay celdas debajo</translation>
-<translation id="3435494200763325275">Navegación con la tecla de tabulación (continuación)</translation>
+<translation id="3435494200763325275">Navegación con la tecla Tab (continuación)</translation>
 <translation id="344800400831402066">Perú</translation>
 <translation id="3457000393508828486">Presionado parcialmente</translation>
 <translation id="3458865416877308321"><ph name="NAME" />, desactivar</translation>
@@ -546,7 +546,7 @@
 <translation id="4973717656530883744">Mínimo <ph name="X" /></translation>
 <translation id="4974612477719259470">No hay botones anteriores</translation>
 <translation id="4979404613699303341">Botón anterior</translation>
-<translation id="4982917827052020884">Comencemos con algunas teclas que usas normalmente. Con la tecla Control, que se encuentra en la esquina inferior izquierda del teclado, puedes silenciar la voz actual. Para continuar, presiona la tecla Control.</translation>
+<translation id="4982917827052020884">Comencemos con algunas teclas que usarás con frecuencia. Con la tecla Control, que se encuentra en la esquina inferior izquierda del teclado, puedes silenciar la voz actual. Para continuar, presiona la tecla Control.</translation>
 <translation id="4983588134362688868">Ir al principio de la página</translation>
 <translation id="4986606102545753256"><ph name="NAME" />, ventana</translation>
 <translation id="4993152509206108683">Velocidad: <ph name="PERCENT" /> %</translation>
@@ -582,7 +582,7 @@
 <translation id="5263344797180442561">h2</translation>
 <translation id="528468243742722775">Finalizar</translation>
 <translation id="5302089807023311274">Referencia bibliográfica</translation>
-<translation id="530391007967514163">Salta de un encabezado al siguiente.</translation>
+<translation id="530391007967514163">Navega por el texto que sigue saltando de un encabezado a otro.</translation>
 <translation id="5304943142864553931"><ph name="TITLE" />, pestaña</translation>
 <translation id="5308380583665731573">Conectar</translation>
 <translation id="5310788376443009632">eliminado:</translation>
@@ -632,7 +632,7 @@
 <translation id="5598905979683743333"><ph name="NAME" />, botón de selección no seleccionado</translation>
 <translation id="5601172225407283979">Realizar acción predeterminada</translation>
 <translation id="5608798115546226984">Integración de autocompletados</translation>
-<translation id="5616029807486814372">Siguiente lección</translation>
+<translation id="5616029807486814372">Lección siguiente</translation>
 <translation id="561939826962581046">time</translation>
 <translation id="5623778242535476823">rbtn</translation>
 <translation id="5623842676595125836">Registro</translation>
@@ -665,11 +665,11 @@
 <translation id="5850707923114094062">Desplazar hacia atrás</translation>
 <translation id="5851548754964597211">Lista de pestañas</translation>
 <translation id="5866042630553435010">Seleccionado parcialmente</translation>
-<translation id="5866210856231860256">Presiona Búsqueda + flecha hacia la derecha o Búsqueda + flecha hacia la izquierda para navegar de una lección a otra en este tema</translation>
+<translation id="5866210856231860256">Presiona Búsqueda + flecha hacia la derecha o Búsqueda + flecha hacia la izquierda para navegar entre lecciones dentro de este tema</translation>
 <translation id="5867591286054666064">Durante este instructivo, presiona cualquier tecla para escuchar su nombre.</translation>
 <translation id="5869546221129391014">Cuadrícula</translation>
 <translation id="5876817486144482042">Disminuir el volumen de voz</translation>
-<translation id="5878206664863390311">Presiona Búsqueda + flecha hacia la derecha o Búsqueda + flecha hacia la izquierda para navegar de un tema a otro</translation>
+<translation id="5878206664863390311">Presiona Búsqueda + flecha hacia la derecha o Búsqueda + flecha hacia la izquierda para navegar entre temas</translation>
 <translation id="5878908838135392163">Azul pastel</translation>
 <translation id="588108970619830498">Se restablecen los valores predeterminados de la configuración de texto a voz</translation>
 <translation id="5891934789323004067">Tabla</translation>
@@ -783,7 +783,7 @@
 <translation id="6858047746862060282">Prólogo</translation>
 <translation id="6859876496651143278">Deslizar un dedo hacia la izquierda</translation>
 <translation id="6865519907510167493">Error ortográfico</translation>
-<translation id="6873188295213080042">Sugerencia: Mantén presionado Búsqueda y presiona las flechas para navegar.</translation>
+<translation id="6873188295213080042">Sugerencia: Con la tecla Búsqueda presionada, presiona las flechas para navegar.</translation>
 <translation id="6894148351896207544">Di la fecha y la hora actuales</translation>
 <translation id="6896758677409633944">Copiar</translation>
 <translation id="6897341342232909480">Mover hacia la izquierda</translation>
@@ -849,7 +849,7 @@
 <translation id="7308519659008003150">No hay campos de formulario anteriores</translation>
 <translation id="731121099745151312">tritm</translation>
 <translation id="7317017974771324508">se seleccionó parcialmente</translation>
-<translation id="7344012264516629579">Los comandos de salto adicionales incluyen saltos por vínculo, botón y casilla de verificación, entre otros. En los menús de ChromeVox, encontrarás una lista completa de los comandos de salto. Para acceder a estos menúes, presiona Búsqueda + la tecla de punto.</translation>
+<translation id="7344012264516629579">Entre otros comandos de salto se incluyen saltos por vínculo, botón y casilla de verificación. Encontrarás una lista completa de los comandos de salto en los menús de ChromeVox, que puedes abrir presionando Búsqueda + punto.</translation>
 <translation id="7356165926712028380">Cambiar a braille de ocho puntos</translation>
 <translation id="7356610683936413584">Detalle de la lista de descripciones</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{et}other{# signos et}}</translation>
@@ -859,7 +859,7 @@
 <translation id="739763518212184081">Línea anterior</translation>
 <translation id="7400575256015741911">Error de ortografía detectado</translation>
 <translation id="7408482676469142474">tbl</translation>
-<translation id="7419264136822406994">Puedes usar Mayúsculas + tecla de tabulación para ir al elemento interactivo anterior. Para continuar, presiona Mayúsculas + tecla de tabulación.</translation>
+<translation id="7419264136822406994">Puedes usar Mayúsculas + Tab para ir al elemento interactivo anterior. Para continuar, presiona Mayúsculas + Tab.</translation>
 <translation id="7425395583360211003">retorno de carro</translation>
 <translation id="7429415133937917139">Simula el resultado de una pantalla braille que se actualiza
     en el panel de ChromeVox, en la parte superior de la pantalla</translation>
@@ -887,7 +887,7 @@
 <translation id="762020119231868829">Detiene todos los widgets de medios que se estén reproduciendo.</translation>
 <translation id="7625690649919402823">Siguiente tabla</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" /> (<ph name="VARIANT" />), Grado <ph name="GRADE" /></translation>
-<translation id="7637342083105831460">Presiona Búsqueda + flecha hacia la derecha para encontrar el área de práctica o el botón Siguiente lección. Luego, presiona Búsqueda + barra espaciadora para activar la selección.</translation>
+<translation id="7637342083105831460">Presiona Búsqueda + flecha hacia la derecha para encontrar el área de práctica o el botón Lección siguiente. Luego, presiona Búsqueda + barra espaciadora para activar la selección.</translation>
 <translation id="7639968568612851608">Gris oscuro</translation>
 <translation id="7663318257180412551">Encabezado 2</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{hora}other{horas}}</translation>
@@ -999,7 +999,7 @@
 <translation id="8473540203671727883">Pronunciar el texto cuando pasas el puntero del mouse</translation>
 <translation id="8476408756881832830">Pausar la reproducción cuando ChromeVox esté hablando</translation>
 <translation id="8476508772960940536">vista general de ventana</translation>
-<translation id="8480873377842220259">Ya aprendiste algunos aspectos básicos de la navegación. Para pasar de una pantalla a otra, mantén presionado Búsqueda y presiona las flechas. Para continuar, presiona Búsqueda + flecha hacia la derecha.</translation>
+<translation id="8480873377842220259">Ya aprendiste algunos aspectos básicos de la navegación. Para desplazarte por la pantalla, mantén presionada la tecla Búsqueda y presiona las flechas. Para continuar, presiona Búsqueda + flecha hacia la derecha.</translation>
 <translation id="8503360654911991865">Disminuir nivel de detalle de navegación</translation>
 <translation id="8520472399088452386">Botón de número</translation>
 <translation id="8534394844575788431">Formato</translation>
@@ -1034,7 +1034,7 @@
 <translation id="875769700429317857">Se completó la descarga de <ph name="FILE_NAME" /></translation>
 <translation id="8767968232364267681">Siguiente encabezado de nivel 4</translation>
 <translation id="8770473310765924354">salir del contenido estructurado, como tablas</translation>
-<translation id="8775203254697638994">Para seleccionar un elemento de una lista desplegable, primero expande la lista presionando Búsqueda + barra espaciadora. Luego, usa las flechas hacia arriba y abajo para seleccionar un elemento. Por último, contrae la lista presionando Búsqueda + barra espaciadora.</translation>
+<translation id="8775203254697638994">Para seleccionar un elemento de una lista desplegable, primero expande la lista presionando Búsqueda + barra espaciadora. Luego, usa las flechas hacia arriba y abajo para seleccionarlo. Por último, contrae la lista presionando Búsqueda + barra espaciadora.</translation>
 <translation id="8779057862865475116">No hay vínculos anteriores</translation>
 <translation id="8796411681063377102">Siguiente encabezado de nivel 3</translation>
 <translation id="8823311177246872527">Página <ph name="CURRENTPAGE" /> de <ph name="TOTALPAGES" /></translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb
index 76b812c..701ef5fc 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb
@@ -76,7 +76,7 @@
 <translation id="1431911867058218151">Aran-kolorekoa</translation>
 <translation id="1439316808600711881">rgn</translation>
 <translation id="146450394670219700">Objektu grafikoa</translation>
-<translation id="1465097259579587977">Berrabiarazi Laguntza bizkorra ikasgaia</translation>
+<translation id="1465097259579587977">Berrabiarazi orientazio bizkorra</translation>
 <translation id="1480046233931937785">Kredituak</translation>
 <translation id="1487494366197411587">Chromebook-etan, Bilaketa tekla ezkerraldeko Maius teklaren gainean dago.</translation>
 <translation id="1498498210836053409">Desaktibatu modu itsaskorra testua editatzean (modu itsaskor adimenduna)</translation>
@@ -115,7 +115,7 @@
 <translation id="1714116687360794776">Metroa</translation>
 <translation id="1722567105086139392">Esteka</translation>
 <translation id="1727806147743597030">ftr</translation>
-<translation id="1730447754326314349">Ongi etorri ChromeVox-en tutorialera. Edozein unetan tutorialetik irteteko, sakatu teklatuaren goiko ezkerreko izkinan dagoen Ihes tekla. ChromeVox desaktibatzeko, eduki sakatuta Ktrl + Alt eta, gero, sakatu Z. Prest zaudenean, sakatu zuriune-barra hurrengo ikasgaira joateko.</translation>
+<translation id="1730447754326314349">Ongi etorri ChromeVox-en tutorialera. Tutorialetik irteteko, sakatu teklatuaren goiko ezkerreko izkinan dagoen Ihes tekla. ChromeVox desaktibatzeko, eduki sakatuta Ktrl + Alt eta, gero, sakatu Z. Prest zaudenean, sakatu zuriune-barra hurrengo ikasgaira joateko.</translation>
 <translation id="174268867904053074">Hurrengo grafikoa</translation>
 <translation id="1756785467854861272">Magenta iluna</translation>
 <translation id="1765245556747822181">Pasatu hatz bat gorantz</translation>
@@ -208,7 +208,7 @@
 <translation id="2523609930580546572">ChromeVox tutoriala</translation>
 <translation id="2525706221823668172">Chromebook-eko lasterbideak</translation>
 <translation id="2553108862507765288">gramatika-akatsa</translation>
-<translation id="2556326187583116255">Sakatu bi hatzekin uneko hizketa gelditzeko</translation>
+<translation id="2556326187583116255">Sakatu bi hatzekin hizketa gelditzeko</translation>
 <translation id="2573256689920773241">Oinarrizko nabigazioa</translation>
 <translation id="257674075312929031">Taldekatu</translation>
 <translation id="2582407057977008361">Aside</translation>
@@ -283,7 +283,7 @@
 <translation id="3060756054951570867"><ph name="TITLE" /> menua ireki da</translation>
 <translation id="3060880924447482063">Pasatu hatza ezkerrera edo eskuinera elementu batetik bestera joateko</translation>
 <translation id="3070245424257836917">Pasatu hiru hatz gorantz</translation>
-<translation id="307516670110542567">Laguntza bizkorra</translation>
+<translation id="307516670110542567">Orientazio bizkorra</translation>
 <translation id="3078345202707391975">2. mailako hurrengo goiburua</translation>
 <translation id="3078740164268491126">taula</translation>
 <translation id="3082249673510793544">Egin atzera</translation>
@@ -374,7 +374,7 @@
 <translation id="3594207934078151302">Bizitasun ertaineko itsaso-berdea</translation>
 <translation id="3599054940393788245">Ez dago matematika-funtzioan</translation>
 <translation id="360241989769010433">Esker-emateak</translation>
-<translation id="3616016838842055984">Klik egin nahi duzun elementu batera iristen bazara, sakatu bilaketa-tekla + zuriune-barra. Aurrera egiteko, saka ezazu.</translation>
+<translation id="3616016838842055984">Sakatu nahi duzun elementu batera iristen bazara, sakatu bilaketa-tekla + zuriune-barra. Aurrera egiteko, saka ezazu.</translation>
 <translation id="3616113530831147358">Audioa</translation>
 <translation id="3622350485154495700">Sakatu birritan hatz batekin</translation>
 <translation id="3646890046000188562">{COUNT,plural, =1{azentu kamutsa}other{# azentu kamuts}}</translation>
@@ -546,7 +546,7 @@
 <translation id="4973717656530883744"><ph name="X" /> gutxienez</translation>
 <translation id="4974612477719259470">Ez dago beste botoirik honen aurretik</translation>
 <translation id="4979404613699303341">Aurreko botoia</translation>
-<translation id="4982917827052020884">Has gaitezen erregularki erabiltzen dituzun tekla batzuekin. Ktrl tekla uneko edozein hizketa gelditzeko erabil daiteke. Teklatuaren beheko ezkerreko izkinan aurki dezakezu. Aurrera egiteko, saka ezazu.</translation>
+<translation id="4982917827052020884">Has gaitezen erregularki erabiliko dituzun tekla batzuekin. Ktrl tekla abian den hizketa gelditzeko erabil daiteke. Teklatuaren beheko ezkerreko izkinan aurki dezakezu. Aurrera egiteko, saka ezazu.</translation>
 <translation id="4983588134362688868">Joan orriaren goialdera</translation>
 <translation id="4986606102545753256"><ph name="NAME" />, leihoa</translation>
 <translation id="4993152509206108683">Hizketaren abiadura: ehuneko <ph name="PERCENT" /></translation>
@@ -582,7 +582,7 @@
 <translation id="5263344797180442561">h2</translation>
 <translation id="528468243742722775">Amaitu</translation>
 <translation id="5302089807023311274">Bibliografia-erreferentzia</translation>
-<translation id="530391007967514163">Joan goiburu batetik bestera jarraian dagoen testuen artean nabigatzeko.</translation>
+<translation id="530391007967514163">Joan goiburu batetik bestera jarraian dagoen testuan nabigatzeko.</translation>
 <translation id="5304943142864553931"><ph name="TITLE" /> fitxa</translation>
 <translation id="5308380583665731573">Konektatu</translation>
 <translation id="5310788376443009632">kendu dena:</translation>
@@ -618,7 +618,7 @@
 <translation id="5513242761114685513">Laster-menua</translation>
 <translation id="551361796444814639">Bizitasun ertaineko urdina</translation>
 <translation id="552195134157544755">Irrati-botoia</translation>
-<translation id="5522423213731659107">Amaitu duzu Laguntza bizkorra ikasgaia</translation>
+<translation id="5522423213731659107">Amaitu duzu orientazio bizkorra</translation>
 <translation id="5534303576632885660">hdr</translation>
 <translation id="5539820223028224601">Gris urdinxka argia</translation>
 <translation id="5549179427201066174">Aktibatu edo desaktibatu soinu bidezko erantzunak (soinu adierazgarriak)</translation>
@@ -849,7 +849,7 @@
 <translation id="7308519659008003150">Ez dago beste inprimaki-eremurik honen aurretik</translation>
 <translation id="731121099745151312">tritm</translation>
 <translation id="7317017974771324508">partzialki hautatuta</translation>
-<translation id="7344012264516629579">Lotura, botoi eta koadro bidezko jauziak dira, besteak beste, toki batetik bestera joateko beste agindu batzuk. ChromeVox-eko menuetan aurki daiteke toki batetik bestera joateko aginduen zerrenda osoa; bilaketa-tekla + puntuaren tekla sakatuta ireki daitezke menuok.</translation>
+<translation id="7344012264516629579">Esteka, botoi eta koadro bidezko jauziak dira, besteak beste, toki batetik bestera joateko beste agindu batzuk. ChromeVox-eko menuetan aurki daiteke toki batetik bestera joateko aginduen zerrenda osoa; bilaketa-tekla + puntuaren tekla sakatuta ireki daitezke menuok.</translation>
 <translation id="7356165926712028380">Aldatu 8 puntuko braillera</translation>
 <translation id="7356610683936413584">Azalpenen zerrendaren xehetasunak</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{et ikur}other{# et ikur}}</translation>
@@ -1013,7 +1013,7 @@
 <translation id="8603071050456974042">ChromeVox panela</translation>
 <translation id="8606621670302093223">Dataren kontrola</translation>
 <translation id="8613709718990529335">Itsaski-kremaren kolorekoa</translation>
-<translation id="8614129468475308349">Bikain! ChromeVox-en hastapenak ikasi dituzu. Tutoriala berriro irakur dezakezu, edo bertatik irten beheko botoia sakatuta.</translation>
+<translation id="8614129468475308349">Bikain! Lortu dituzu ChromeVox-en oinarrizko ezagutzak. Tutoriala berriro irakur dezakezu, edo bertatik irten egin zaitezke beheko botoia sakatuta.</translation>
 <translation id="8625173877182443267">Ez dago seigarren mailako beste goibururik honen ondoren</translation>
 <translation id="8628186274519446680">Tomate-kolorekoa</translation>
 <translation id="8638532244051952400">Adierazi uneko gelaxkaren koordenatuak</translation>
@@ -1026,14 +1026,14 @@
 <translation id="8693391540059827073">Gogoko dudan urte-sasoia</translation>
 <translation id="8696284982970258155">Ezti-ihintzaren kolorekoa</translation>
 <translation id="8697111817566059991">{COUNT,plural, =1{barra}other{# barra bertikal}}</translation>
-<translation id="8741370088760768424">Aholkua: sakatu bilaketa-tekla eta zuriune-barra uneko elementua aktibatzeko.</translation>
+<translation id="8741370088760768424">Aholkua: sakatu bilaketa-tekla eta zuriune-barra elementua aktibatzeko.</translation>
 <translation id="8743786158317878347">sartu egituratutako edukian, adibidez, tauletan</translation>
 <translation id="8747966237988593539">Zerrenda ordenatua</translation>
 <translation id="8749988712346667988">Zilar-kolorekoa</translation>
 <translation id="875769700429317857">Deskargatu da <ph name="FILE_NAME" /></translation>
 <translation id="8767968232364267681">Hurrengo 4. mailaren goiburua</translation>
 <translation id="8770473310765924354">irten egituradun edukitik, adibidez, tauletatik</translation>
-<translation id="8775203254697638994">Zenbaitetan, goitibeherako zerrendako aukera bat hautatu beharko duzu. Horretarako, zabaldu zerrenda bilaketa-tekla + zuriune-barra sakatuta. Gero, erabili gora eta behera egiteko gezi-teklak aukera bat hautatzeko. Amaitzeko, tolestu zerrenda bilaketa-tekla + zuriune-barra sakatuta.</translation>
+<translation id="8775203254697638994">Zenbaitetan, goitibeherako zerrenda bateko aukera bat hautatu beharko duzu. Horretarako, zabaldu zerrenda bilaketa-tekla + zuriune-barra sakatuta. Gero, erabili gora eta behera egiteko gezi-teklak aukera bat hautatzeko. Amaitzeko, tolestu zerrenda bilaketa-tekla + zuriune-barra sakatuta.</translation>
 <translation id="8779057862865475116">Ez dago beste estekarik honen aurretik</translation>
 <translation id="8796411681063377102">3. mailako hurrengo goiburua</translation>
 <translation id="8823311177246872527"><ph name="CURRENTPAGE" />/<ph name="TOTALPAGES" /> orria</translation>
@@ -1055,7 +1055,7 @@
 <translation id="89720367119469899">Ihes-tekla</translation>
 <translation id="8978496506222343566">tltip</translation>
 <translation id="8986362086234534611">Ahaztu</translation>
-<translation id="8989104346085848538">ChromeVox-eko uneko edozein hizketa gelditzeko, sakatu Ktrl tekla.</translation>
+<translation id="8989104346085848538">ChromeVox-eko hizketa gelditzeko, sakatu Ktrl tekla.</translation>
 <translation id="9014206344398081366">ChromeVox-en tutoriala</translation>
 <translation id="9040132695316389094">1. goiburua</translation>
 <translation id="9061884144798498064">Hautatu zortzi puntuko braille-taula:</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb
index 7363b8b..e03f07a 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb
@@ -70,7 +70,7 @@
 <translation id="1383876407941801731">Rechercher</translation>
 <translation id="1396114365388024581">liste d'onglets</translation>
 <translation id="1405567553485452995">Vert clair</translation>
-<translation id="1411043317877497323">Zones d'exercice</translation>
+<translation id="1411043317877497323">Zone d'exercice</translation>
 <translation id="141454040365657399">En-tête de page</translation>
 <translation id="1417889266572670458">Marine</translation>
 <translation id="1431911867058218151">Prune</translation>
@@ -115,7 +115,7 @@
 <translation id="1714116687360794776">Outil de mesure</translation>
 <translation id="1722567105086139392">Lien</translation>
 <translation id="1727806147743597030">bas de page</translation>
-<translation id="1730447754326314349">Bienvenue dans le tutoriel de ChromeVox. Pour quitter ce tutoriel, appuyez à tout moment sur la touche Échap située dans le haut de votre clavier, à gauche. Pour désactiver ChromeVox, maintenez les touches Ctrl+Alt enfoncées et appuyez sur Z. Lorsque vous êtes prêt, utilisez la barre d'espacement pour passer à la leçon suivante.</translation>
+<translation id="1730447754326314349">Bienvenue dans le tutoriel de ChromeVox. Pour quitter ce tutoriel, appuyez à tout moment sur la touche Échap. située dans le haut de votre clavier, à gauche. Pour désactiver ChromeVox, maintenez les touches Ctrl+Alt. enfoncées et appuyez sur Z. Lorsque vous êtes prêt, utilisez la barre d'espacement pour passer à la leçon suivante.</translation>
 <translation id="174268867904053074">Élément graphique suivant</translation>
 <translation id="1756785467854861272">Magenta foncé</translation>
 <translation id="1765245556747822181">Faites glisser un doigt vers le haut</translation>
@@ -184,7 +184,7 @@
 <translation id="2318372665160196757">Principal</translation>
 <translation id="2329324941084714723">Panneau d'onglet</translation>
 <translation id="2347456970887948350">Un lien</translation>
-<translation id="2365384324219615024">Vous pouvez également appuyer sur Entrée pour activer des éléments. Par exemple, vous pouvez utiliser Entrée pour envoyer le texte entré dans un formulaire. Pour continuer, appuyez sur Entrée.</translation>
+<translation id="2365384324219615024">Vous pouvez également appuyer sur Entrée pour activer des éléments. Par exemple, vous pouvez utiliser Entrée pour envoyer le texte saisi dans un formulaire. Pour continuer, appuyez sur Entrée.</translation>
 <translation id="2381733276052567791">Activez ou désactivez la reconnaissance vocale</translation>
 <translation id="2390264819538553347">Pour avancer, appuyez sur Entrée; pour retourner à la page précédente, appuyez sur Retour arrière.</translation>
 <translation id="2398579267367951220">Tapez pour rechercher du texte dans la page. Appuyez sur Entrée pour accéder aux résultats, ou sur les flèches vers le haut ou le bas pour passer d'un résultat à l'autre; continuez à écrire pour modifier la recherche; ou appuyez sur Échap pour annuler la recherche.</translation>
@@ -381,7 +381,7 @@
 <translation id="3650317109285159359">case à cocher d'élément de menu</translation>
 <translation id="3655855170848725876">{COUNT,plural, =1{symbole de dollar}one{# symbole de dollar}many{# dollar signs}other{# symboles de dollar}}</translation>
 <translation id="3659787053479271466">alerte</translation>
-<translation id="366419593095697301">Astuce: Appuyez sur Échap lorsque vous souhaitez quitter ce tutoriel.</translation>
+<translation id="366419593095697301">Astuce : Appuyez sur Échap. lorsque vous souhaitez quitter ce tutoriel.</translation>
 <translation id="3676062394766691318">Après avoir configuré votre appareil, vous pourrez revenir pour consulter d'autres tutoriels en appuyant sur Recherche+O, puis sur T.</translation>
 <translation id="3681531118904532409">Chair clair</translation>
 <translation id="3692274950075847560">R : <ph name="RESULT" /></translation>
@@ -546,7 +546,7 @@
 <translation id="4973717656530883744">Minimum <ph name="X" /></translation>
 <translation id="4974612477719259470">Aucun bouton précédent</translation>
 <translation id="4979404613699303341">Bouton précédent</translation>
-<translation id="4982917827052020884">Commençons par les touches que vous utiliserez régulièrement. Vous pouvez utiliser la touche Ctrl pour arrêter la diffusion vocale. Cette touche se trouve dans le bas de votre clavier, à gauche. Pour continuer, appuyez sur la touche Ctrl.</translation>
+<translation id="4982917827052020884">Commençons par quelques touches que vous utiliserez régulièrement. Vous pouvez utiliser la touche Ctrl pour arrêter la diffusion vocale. Cette touche se trouve dans le bas de votre clavier, à gauche. Pour continuer, appuyez sur la touche Ctrl.</translation>
 <translation id="4983588134362688868">Aller au haut de la page</translation>
 <translation id="4986606102545753256">Fenêtre <ph name="NAME" /></translation>
 <translation id="4993152509206108683">Vitesse : <ph name="PERCENT" /> %</translation>
@@ -558,7 +558,7 @@
 <translation id="5041394372352067729">Déplacer l'écran de braille dans le haut de la page</translation>
 <translation id="5042770794184672516">Augmenter le volume de la voix</translation>
 <translation id="5042992464904238023">Contenu Web</translation>
-<translation id="5045870649377683106">À présent, recherchez la touche Majuscule. Elle se trouve juste au-dessus de la touche Ctrl. Pour continuer, appuyez sur la touche Majuscule.</translation>
+<translation id="5045870649377683106">À présent, recherchez la touche Majuscule de gauche. Elle se trouve juste au-dessus de la touche Ctrl. Pour continuer, appuyez sur la touche Majuscule de gauche.</translation>
 <translation id="5050015258024679800">En-tête de niveau 4 précédent</translation>
 <translation id="5054047268577924192">Élément précédent de la liste</translation>
 <translation id="5085453135206054947">Rouge-violet pâle</translation>
@@ -849,7 +849,7 @@
 <translation id="7308519659008003150">Aucun champ de formulaire précédent</translation>
 <translation id="731121099745151312">élément d'arborescence</translation>
 <translation id="7317017974771324508">partiellement sélectionné</translation>
-<translation id="7344012264516629579">Vous avez également la possibilité d'accéder directement à un lien, un bouton ou une case à cocher, entre autres. Pour consulter la liste complète des commandes d'accès direct, accédez aux menus ChromeVox en appuyant sur Recherche+Point.</translation>
+<translation id="7344012264516629579">Vous avez également la possibilité d'accéder directement à un lien, à un bouton ou à une case à cocher, entre autres. Pour consulter la liste complète des commandes d'accès direct, accédez aux menus ChromeVox en appuyant sur Recherche+Point.</translation>
 <translation id="7356165926712028380">Passer au braille à huit points</translation>
 <translation id="7356610683936413584">Détail de la liste de descriptions</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{perluète}one{# perluète}many{# ampersands}other{# perluètes}}</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb
index 082b2836..d7ed393 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb
@@ -558,7 +558,7 @@
 <translation id="5041394372352067729">Move a liña braille á parte superior da páxina</translation>
 <translation id="5042770794184672516">Aumenta o volume da voz</translation>
 <translation id="5042992464904238023">Contido web</translation>
-<translation id="5045870649377683106">Agora atopa a tecla Maiúscula, situada xusto encima de Control. Para continuar, prémea.</translation>
+<translation id="5045870649377683106">Agora atopa a tecla Maiúsculas, situada xusto encima de Control. Para continuar, prémea.</translation>
 <translation id="5050015258024679800">Título de nivel 4 anterior</translation>
 <translation id="5054047268577924192">Elemento anterior da lista</translation>
 <translation id="5085453135206054947">Vermello violáceo pálido</translation>
@@ -613,7 +613,7 @@
 <translation id="5452267669091857717">Non hai ningunha cabeceira posterior de nivel 1</translation>
 <translation id="5455441614648621694">Complementario</translation>
 <translation id="5462510922370980473">Lista de páxinas</translation>
-<translation id="5495517933067991341">Teclas esenciais: Maiúscula</translation>
+<translation id="5495517933067991341">Teclas esenciais: Maiúsculas</translation>
 <translation id="549602578321198708">Palabra</translation>
 <translation id="5513242761114685513">Menú contextual</translation>
 <translation id="551361796444814639">Azul intermedio</translation>
@@ -859,7 +859,7 @@
 <translation id="739763518212184081">Liña anterior</translation>
 <translation id="7400575256015741911">Erro ortográfico detectado</translation>
 <translation id="7408482676469142474">tbl</translation>
-<translation id="7419264136822406994">Se queres pasar ao elemento interactivo anterior, podes usar Maiúscula + Tabulador. Para continuar, preme Maiúscula + Tabulador.</translation>
+<translation id="7419264136822406994">Se queres pasar ao elemento interactivo anterior, podes usar Maiúsculas + Tabulador. Para continuar, preme Maiúsculas + Tabulador.</translation>
 <translation id="7425395583360211003">retorno</translation>
 <translation id="7429415133937917139">Simula a saída dunha liña braille actualizable no panel de
     ChromeVox, situado na parte superior da pantalla</translation>
@@ -957,7 +957,7 @@
 <translation id="812886159861361726">Detívose a descarga de <ph name="FILE_NAME" /></translation>
 <translation id="8129445297241948503">Non hai ningunha cela arriba</translation>
 <translation id="8138880386467279117">Tocar</translation>
-<translation id="8146613869421949343">A continuación, aprenderás como usar a tecla Buscar, situada xusto encima de Maiúscula. Á hora de usar os comandos de ChromeVox, combínase con outras teclas. Para continuar, preme a tecla Buscar.</translation>
+<translation id="8146613869421949343">A continuación, aprenderás como usar a tecla Buscar, situada xusto encima de Maiúsculas. Á hora de usar os comandos de ChromeVox, combínase con outras teclas. Para continuar, preme a tecla Buscar.</translation>
 <translation id="816818801578874684">Este é o primeiro título. Para ir ao seguinte, preme Buscar + H.</translation>
 <translation id="8173092779156526980">Pasa catro dedos cara á esquerda</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{guión baixo}other{# guións baixos}}</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hr.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hr.xtb
index 27c135a0..cd6d91a 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hr.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hr.xtb
@@ -999,7 +999,7 @@
 <translation id="8473540203671727883">Izgovori tekst ispod pokazivača miša</translation>
 <translation id="8476408756881832830">Pauziraj reprodukciju kad ChromeVox govori</translation>
 <translation id="8476508772960940536">prozor pregleda</translation>
-<translation id="8480873377842220259">Sad ćete naučiti neke osnove kretanja. Možete zadržati tipku za pretraživanje i pritisnuti tipke sa strelicama da biste se kretali zaslonom. Da biste nastavili, pritisnite tipku za pretraživanje i strelicu desno.</translation>
+<translation id="8480873377842220259">Sad ćete naučiti neke osnove kretanja. Možete zadržati tipku za pretraživanje i koristiti tipke sa strelicama da biste se kretali zaslonom. Da biste nastavili, pritisnite tipku za pretraživanje i strelicu desno.</translation>
 <translation id="8503360654911991865">Smanji razinu pojedinosti navigacije</translation>
 <translation id="8520472399088452386">Okretni gumb</translation>
 <translation id="8534394844575788431">Formatiranje</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hy.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hy.xtb
index 828257bd..aebb40b9 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hy.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hy.xtb
@@ -341,7 +341,7 @@
 <translation id="335581015389089642">Speech</translation>
 <translation id="3356951775008366684">Հնչեցնել բառի արտասանությունը</translation>
 <translation id="3359142382821736686">seprtr</translation>
-<translation id="3363015957057974366">Էկրանին հաջորդ ինտերակտիվ տարրին անցնելու համար կարող եք նաև օգտագործել Tab ստեղնը։ Այն գտնվում է անմիջապես «Որոնում» ստեղնի վերևում։ Շարունակելու համար սեղմեք Tab ստեղնը։</translation>
+<translation id="3363015957057974366">Էկրանի հաջորդ ինտերակտիվ տարրին անցնելու համար կարող եք նաև օգտագործել Tab ստեղնը։ Այն գտնվում է անմիջապես «Որոնում» ստեղնի վերևում։ Շարունակելու համար սեղմեք Tab ստեղնը։</translation>
 <translation id="3366946046494222386"><ph name="TOPIC" />. ուղեցույց, <ph name="LESSONS" /> դաս</translation>
 <translation id="3374537878095184207">{COUNT,plural, =1{գումարում}one{# գումարման նշան}other{# գումարման նշան}}</translation>
 <translation id="338583716107319301">Բաժանիչ</translation>
@@ -374,7 +374,7 @@
 <translation id="3594207934078151302">Միջին կապտականաչ</translation>
 <translation id="3599054940393788245">Մաթեմատիկական նշան չէ</translation>
 <translation id="360241989769010433">Երախտագրեր</translation>
-<translation id="3616016838842055984">Անհրաժեշտ օբյեկտն ընտրելու համար սեղմեք «Որոնում» + բացատ։ Փորձեք անել դա հենց հիմա։</translation>
+<translation id="3616016838842055984">Անհրաժեշտ տարրն ընտրելու համար սեղմեք «Որոնում» + բացատ։ Փորձեք անել դա հենց հիմա։</translation>
 <translation id="3616113530831147358">Աուդիո</translation>
 <translation id="3622350485154495700">Կրկնակի հպեք մեկ մատով</translation>
 <translation id="3646890046000188562">{COUNT,plural, =1{հակադարձ ապաթարց}one{# հակադարձ ապաթարց}other{# հակադարձ ապաթարց}}</translation>
@@ -665,7 +665,7 @@
 <translation id="5850707923114094062">Տեղաշարժել դեպի հետ</translation>
 <translation id="5851548754964597211">Ներդիրների ցանկ</translation>
 <translation id="5866042630553435010">Մասամբ նշված</translation>
-<translation id="5866210856231860256">Այս թեմայի վերաբերյալ դասերը դիտելու համար օգտագործեք «Որոնում» + աջ սլաք կամ «Որոնում» + ձախ սլաք համադրությունը</translation>
+<translation id="5866210856231860256">Այս թեմայով դասերը դիտելու համար օգտագործեք «Որոնում» + աջ սլաք կամ «Որոնում» + ձախ սլաք համադրությունը</translation>
 <translation id="5867591286054666064">Այս ուղեցույցում ստեղնի անունը լսելու համար պարզապես սեղմեք այն:</translation>
 <translation id="5869546221129391014">Ցանց</translation>
 <translation id="5876817486144482042">Նվազեցնել ձայնի ուժգնությունը</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb
index 96648a2..7ff7cba 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb
@@ -184,7 +184,7 @@
 <translation id="2318372665160196757">本文</translation>
 <translation id="2329324941084714723">タブ パネル</translation>
 <translation id="2347456970887948350">リンク</translation>
-<translation id="2365384324219615024">項目を有効にするには、Enter キーを押すこともできます。たとえば、フォームでテキストを送信する際に Enter キーを使用できます。次へ進むには Enter キーを押してください。</translation>
+<translation id="2365384324219615024">Enter キーを押して項目を有効にすることもできます。たとえば、フォームでテキストを送信する際に Enter キーを使用できます。次へ進むには Enter キーを押してください。</translation>
 <translation id="2381733276052567791">読み上げの有効と無効を切り替えます</translation>
 <translation id="2390264819538553347">次に進むには Enter キー、前に戻るには Backspace キーを押します。</translation>
 <translation id="2398579267367951220">ページ内を検索するには入力してください。見つかった結果に移動するには、Enter キーを押します。結果を 1 つずつ確認するには、上矢印または下矢印キーを押します。違う語句を検索する場合は、その語句を入力します。キャンセルする場合は、Esc キーを押します。</translation>
@@ -382,7 +382,7 @@
 <translation id="3655855170848725876">{COUNT,plural, =1{ドル}other{# 個のドル記号}}</translation>
 <translation id="3659787053479271466">アラート</translation>
 <translation id="366419593095697301">ヒント: このチュートリアルを終了する場合は Esc キーを押してください。</translation>
-<translation id="3676062394766691318">デバイスを設定した後で、このチュートリアルにアクセスして詳細を確認するには、検索+O+T キーを押してください。</translation>
+<translation id="3676062394766691318">デバイスを設定した後で、このチュートリアルにアクセスして詳細を確認するには、検索+O キーを押してから T キーを押してください。</translation>
 <translation id="3681531118904532409">パパイヤ ウィップ</translation>
 <translation id="3692274950075847560">け: <ph name="RESULT" /></translation>
 <translation id="370367311675896712">取り消し線付き</translation>
@@ -887,7 +887,7 @@
 <translation id="762020119231868829">現在再生中のメディア ウィジェットをすべて一時停止します</translation>
 <translation id="7625690649919402823">次の表</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" />(<ph name="VARIANT" />)、グレード <ph name="GRADE" /></translation>
-<translation id="7637342083105831460">検索+右矢印キーを押して [練習エリア] または [次のレッスン] ボタンを選択し、検索+Space キーを押して開きます。</translation>
+<translation id="7637342083105831460">検索+右矢印キーを押して [練習エリア] または [次のレッスン] ボタンに移動し、検索+Space キーを押して選択します。</translation>
 <translation id="7639968568612851608">ダークグレー</translation>
 <translation id="7663318257180412551">見出し 2</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{時間}other{時間}}</translation>
@@ -1034,7 +1034,7 @@
 <translation id="875769700429317857"><ph name="FILE_NAME" /> のダウンロードが完了しました</translation>
 <translation id="8767968232364267681">次のレベル 4 見出し</translation>
 <translation id="8770473310765924354">表などの構造化コンテンツの外に出ます</translation>
-<translation id="8775203254697638994">必要な場合は、プルダウン リストから項目を選択することもできます。この場合の手順は、まず検索+Space キーを押してリストを展開します。次に、上下の矢印キーを使用して項目を選択します。最後に、検索+Space キーを押してリストを折りたたみます。</translation>
+<translation id="8775203254697638994">必要な場合は、プルダウン リストから項目を選択することもできます。それには、まず検索+Space キーを押してリストを展開します。次に、上下の矢印キーを使用して項目を選択します。最後に、検索+Space キーを押してリストを折りたたみます。</translation>
 <translation id="8779057862865475116">前のリンクはありません</translation>
 <translation id="8796411681063377102">次のレベル 3 見出し</translation>
 <translation id="8823311177246872527"><ph name="CURRENTPAGE" />/<ph name="TOTALPAGES" /> ページ目</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb
index 11ec52b..e82b4e1 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb
@@ -115,7 +115,7 @@
 <translation id="1714116687360794776">Өлшегіш құрал</translation>
 <translation id="1722567105086139392">Сілтеме</translation>
 <translation id="1727806147743597030">ftr</translation>
-<translation id="1730447754326314349">ChromeVox оқулығына қош келдіңіз. Осы оқулықтан кез келген уақытта шығу үшін пернетақтаның жоғарғы оң жақ бұрышындағы Esc пернесін басыңыз. ChromeVox оқулығын өшіру үшін Ctrl және Alt пернелерін басып тұрып, Z пернесін басыңыз. Дайын болған кезде, келесі сабаққа өту үшін бос орын пернесін басыңыз.</translation>
+<translation id="1730447754326314349">ChromeVox оқулығына қош келдіңіз. Осы оқулықтан кез келген уақытта шығу үшін пернетақтаның жоғарғы сол жақ бұрышындағы Esc пернесін басыңыз. ChromeVox оқулығын өшіру үшін Ctrl және Alt пернелерін басып тұрып, Z пернесін басыңыз. Дайын болған кезде, келесі сабаққа өту үшін бос орын пернесін басыңыз.</translation>
 <translation id="174268867904053074">Келесі график</translation>
 <translation id="1756785467854861272">Қошқыл күрең</translation>
 <translation id="1765245556747822181">Бір саусағыңызбен жоғары сырғытыңыз</translation>
@@ -221,7 +221,7 @@
 <translation id="2638785836053527382"><ph name="FILE_NAME" /> файлын жүктеп алу жалғастырылды</translation>
 <translation id="2639750663247012216">ChromeVox өзгерткіші</translation>
 <translation id="2644542693584024604">емле қатесі</translation>
-<translation id="2651441758640020174">Тізімнен таңдаулы сабақты таңдап көріңіз.</translation>
+<translation id="2651441758640020174">Тізімнен сүйікті маусымды таңдап көріңіз.</translation>
 <translation id="2654172656519784359">Бір сөз алға жылжу</translation>
 <translation id="2661530546602071611">Ескерту</translation>
 <translation id="2673280813984708147">өзгертіліп жатыр</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb
index 8031293..6eb8b30 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb
@@ -24,8 +24,10 @@
 <translation id="1126928665165112660">इटालिक होइन</translation>
 <translation id="113582498867142724"><ph name="TAG" /> संग संग्रह <ph name="NUM" /> बस्तुहरू</translation>
 <translation id="1161762950103988776">जम्प</translation>
+<translation id="1164857107703583584">जम्प कमान्डहरू प्रयोग गरी कुनै वेब पेजमा कुशलतापूर्वक नेभिगेट गर्न सकिन्छ।</translation>
 <translation id="1175914831232945926">अङ्कहरू</translation>
 <translation id="1188858454923323853">पूरक</translation>
+<translation id="1189258430971676908">अभ्यास गर्ने क्षेत्र: ड्रप-डाउन सूचीहरू</translation>
 <translation id="1195238899008218998">उपसंहार</translation>
 <translation id="1197088940767939838">सुन्तला रङ्ग</translation>
 <translation id="1201402288615127009">अर्को</translation>
@@ -68,11 +70,13 @@
 <translation id="1383876407941801731">खोज्नुहोस्</translation>
 <translation id="1396114365388024581">tablst</translation>
 <translation id="1405567553485452995">हल्का हरियो</translation>
+<translation id="1411043317877497323">अभ्यास गर्ने क्षेत्र</translation>
 <translation id="141454040365657399">पेज हेडर</translation>
 <translation id="1417889266572670458">गाढा निलो</translation>
 <translation id="1431911867058218151">प्लम</translation>
 <translation id="1439316808600711881">आरजीएन</translation>
 <translation id="146450394670219700">चित्रात्मक वस्तु</translation>
+<translation id="1465097259579587977">क्विक ओरियन्टेसन फेरि हेर्नुहोस्</translation>
 <translation id="1480046233931937785">क्रेडिटहरू</translation>
 <translation id="1487494366197411587">यस Chromebook मा यो खोजको कुञ्जी बायाँतिरको सिफ्ट कुञ्जीको ठिक माथितिर छ।</translation>
 <translation id="1498498210836053409">पाठ सम्पादन गर्दा स्टिकी मोड निष्क्रिय पार्नुहोस् (स्मार्ट स्टिकी मोड)</translation>
@@ -83,6 +87,7 @@
 <translation id="1524531499102321782">ब्रेली अर्को रेखा</translation>
 <translation id="1542513807034338907">स्क्रोल गरी अघिल्लो पृष्ठमा जानुहोस्</translation>
 <translation id="1546370775711804143">स्क्रोल बार</translation>
+<translation id="1551572888042734032">गर्मी</translation>
 <translation id="1555130319947370107">निलो</translation>
 <translation id="1559739829547075274">पछाडि नेभिगेट गर्नुहोस्</translation>
 <translation id="1565432156062359693">अर्को कुनै पनि सूची छैन</translation>
@@ -110,6 +115,7 @@
 <translation id="1714116687360794776">मिटर</translation>
 <translation id="1722567105086139392">लिङ्क</translation>
 <translation id="1727806147743597030">फुट</translation>
+<translation id="1730447754326314349">ChromeVox को ट्युटोरियलमा स्वागत छ। यो ट्युटोरियलबाट जुनसुकै बेला बाहिरिन किबोर्डको सिरानको बायाँ कुनातिर रहेको इस्केप की थिच्नुहोस्। ChromeVox अफ गर्न कन्ट्रोल तथा Alt की होल्ड गरी Z की थिच्नुहोस्। तपाईं तयार भएपछि अर्को पाठमा जान स्पेसबार की थिच्नुहोस्।</translation>
 <translation id="174268867904053074">अर्को ग्राफिक</translation>
 <translation id="1756785467854861272">गाढा म्याग्नेटा</translation>
 <translation id="1765245556747822181">एक औँलाले माथि स्वाइप गर्नुहोस्</translation>
@@ -154,9 +160,11 @@
 <translation id="2121067395472282800">पहुँच कुञ्जी: <ph name="KEY" /></translation>
 <translation id="2126597928985245619">यो वस्तुको कुनै पनि पाठ उपलब्ध छैन</translation>
 <translation id="2127747486437921899">इटालिक</translation>
+<translation id="2152179395627233441">अभ्यास गर्ने क्षेत्र बन्द गर्नुहोस्</translation>
 <translation id="2163782704988363449">शुद्धिपत्र</translation>
 <translation id="2169714232367507776">हालको वस्तुमा क्लिक गर्नुहोस्</translation>
 <translation id="2179452035581866348">ChromeVox ले तपाईंलाई अत्यावश्यक र अतिरिक्त जानकारी दिन ध्वनिको प्रयोग गर्दछ। तपाईं हरेक ध्वनिको अर्थ जानेर अझ द्रुत गतिले नेभिगेसन गर्न यी ध्वनिहरूको प्रयोग गर्न सक्नुहुन्छ। एक पटक तपाईंले थप सहज महसुस गरेपछि तपाईं बोलीका भर्बोस सम्बन्धी विवरणहरूलाई निष्क्रिय पार्न र उक्त पृष्ठको बारेमा रहेको आवश्यक जानकारीको लागि तिनीहरूमाथि भरोसा गर्न सक्नुहुन्छ। यहाँ ध्वनिहरूको पूरा सूची र तिनीहरूको अर्थ उपलब्ध छ।</translation>
+<translation id="2183409941723714159">ट्याब नेभिगेट गर्ने कार्य</translation>
 <translation id="2188751878842439466">{COUNT,plural, =1{ निकटको प्यारेन}other{ # निकटका प्यारेनहरू}}</translation>
 <translation id="2197863150503783129">स्याडल ब्राउन</translation>
 <translation id="2199994615414171367">अघिल्लो गणित</translation>
@@ -176,6 +184,7 @@
 <translation id="2318372665160196757">मुख्य</translation>
 <translation id="2329324941084714723">ट्याब प्यानेल</translation>
 <translation id="2347456970887948350">एउटा लिंक</translation>
+<translation id="2365384324219615024">तपाईं पाठ खोल्न इन्टर की पनि थिच्न सक्नुहुन्छ। उदाहरणका लागि, इन्टर की थिचेर कुनै फारममा टेक्स्ट पेस गर्न सकिन्छ। जारी राख्न इन्टर की थिच्नुहोस्।</translation>
 <translation id="2381733276052567791">बोली सक्रिय वा निष्क्रिय पार्न टगल गर्नुहोस्</translation>
 <translation id="2390264819538553347">अगाडि बढ्न इन्टर थिच्नुहोस्; पछाडि जान ब्याकस्पेस थिच्नुहोस्</translation>
 <translation id="2398579267367951220">यो पृष्ठमा खोज्न टाइप गर्नुहोस्। परिणामहरू भएको पृष्ठमा जान enter थिच्नुहोस्, परिणामहरू हेर्न माथि वा तल जनाउने तीर चिन्हहरू थिच्नुहोस्, अरू नै कुरा खोज्न टाइप गरिराख्नुहोस् वा खोज रद्द गर्न escape थिच्नुहोस्।</translation>
@@ -199,6 +208,8 @@
 <translation id="2523609930580546572">ChromeVox बारे ट्यूटोरियल</translation>
 <translation id="2525706221823668172">Chromebook का किबोर्ड सर्टकटहरू</translation>
 <translation id="2553108862507765288">व्याकरणीय गल्ती</translation>
+<translation id="2556326187583116255">ChromeVox मा अन रहेको जुनसुकै वाक् सुविधा अफ गर्न २ वटा औँलाले ट्याप गर्नुहोस्</translation>
+<translation id="2573256689920773241">नेभिगेट गर्ने सामान्य तरिका</translation>
 <translation id="257674075312929031">समूह</translation>
 <translation id="2582407057977008361">अलग</translation>
 <translation id="2592212930811759050">सम्पादन गर्ने कार्य सुरु गर्न डबल ट्याप गर्नुहोस्</translation>
@@ -210,6 +221,7 @@
 <translation id="2638785836053527382"><ph name="FILE_NAME" /> डाउनलोड पुन: सुरु गरियो</translation>
 <translation id="2639750663247012216">ChromeVox परिमार्जक</translation>
 <translation id="2644542693584024604">गलत हिज्जे गरिएको</translation>
+<translation id="2651441758640020174">निम्न सूचीबाट आफूलाई मन पर्ने मौसम छनौट गरी हेर्नुहोस्।</translation>
 <translation id="2654172656519784359">एक शब्द अगाडि सार्नुहोस्</translation>
 <translation id="2661530546602071611">सूचना</translation>
 <translation id="2673280813984708147">सम्पादन गर्दै हुनुहुन्छ</translation>
@@ -235,6 +247,7 @@
 <translation id="2808001342598757276">भिजुअल प्रदर्शनलाई सक्रिय गर्नुहोस्</translation>
 <translation id="2811019999044652585">प्रणालीको ट्रे जस्ता उक्त स्क्रिनका अन्य भागहरूमा जान कन्ट्रोल+फरवार्ड थिच्नुहोस्। Chromebook मा यो फरवार्ड कुञ्जी २ नम्बरको कुञ्जीको ठिक माथितिर हुन्छ।</translation>
 <translation id="2811204574343810641">पंक्ति</translation>
+<translation id="2816868829355607410">अभ्यास गर्ने क्षेत्र: जम्प कमान्डहरू</translation>
 <translation id="2841013758207633010">समय</translation>
 <translation id="2843432675592278677">अघिल्लो कुनै पनि ARIA स्थलचिन्ह छैन</translation>
 <translation id="2843814945404750166">गाढा ओलिभ हरियो</translation>
@@ -270,6 +283,7 @@
 <translation id="3060756054951570867"><ph name="TITLE" /> मेनु खोलिएको छ</translation>
 <translation id="3060880924447482063">एउटाबाट अर्को वस्तुमा सर्न बायाँ वा दायाँतिर स्वाइप गर्नुहोस्</translation>
 <translation id="3070245424257836917">तीन औँलाले माथि स्वाइप गर्नुहोस्</translation>
+<translation id="307516670110542567">क्विक ओरियन्टेसन</translation>
 <translation id="3078345202707391975">अर्को तह 2 को हेडिङ</translation>
 <translation id="3078740164268491126">तालिका</translation>
 <translation id="3082249673510793544">पछाडि स्क्रोल गर्नुहोस्</translation>
@@ -298,6 +312,7 @@
 <translation id="3172700825913348768">{COUNT,plural, =1{ स्पेस}other{ # स्पेसहरू}}</translation>
 <translation id="3179119189286472195">लिंक छैन</translation>
 <translation id="320041337977930740">प्रदर्शनको शैली परिवर्तन गरी इन्टरलिभ पार्नुहोस्</translation>
+<translation id="3206698050650195442">ट्युटोरियलबाट बाहिरिनुहोस्</translation>
 <translation id="3208346789712025453">अर्को कुनै पनि नियन्त्रण छैन</translation>
 <translation id="321072937702597574">अर्किड</translation>
 <translation id="3218691001991391708"><ph name="TEXT" />टाँस्नुहोस्।</translation>
@@ -326,6 +341,8 @@
 <translation id="335581015389089642">बोली</translation>
 <translation id="3356951775008366684">शब्दको ध्वन्यात्मक उच्चारण सुनाउनुहोस्</translation>
 <translation id="3359142382821736686">seprtr</translation>
+<translation id="3363015957057974366">तपाईं स्क्रिनमा अर्को अन्तर्क्रियात्मक वस्तुमा जान पनि ट्याब की थिच्न सक्नुहुन्छ। ट्याब की सर्च कीको ठिक माथिपट्टि हुन्छ। जारी राख्न ट्याब की थिच्नुहोस्।</translation>
+<translation id="3366946046494222386"><ph name="TOPIC" /> ट्युटोरियल, <ph name="LESSONS" /> वटा पाठ</translation>
 <translation id="3374537878095184207">{COUNT,plural, =1{ प्लस}other{ # प्लस संकेतहरू}}</translation>
 <translation id="338583716107319301">विभाजक</translation>
 <translation id="3389259863310851658">अधिल्लो फारम फाँट</translation>
@@ -333,6 +350,7 @@
 <translation id="3406283310380167331">फारमहरूको सूची देखाउनुहोस्</translation>
 <translation id="3414400929511680526">एलिस निलो</translation>
 <translation id="3418936350470374046">तल कुनै पनि कक्ष छैन</translation>
+<translation id="3435494200763325275">ट्याब नेभिगेट गर्ने कार्य (जारी छ)</translation>
 <translation id="344800400831402066">पेरू</translation>
 <translation id="3457000393508828486">आंशिक रूपमा थिचिएको</translation>
 <translation id="3458865416877308321"><ph name="NAME" /> को स्विच निष्क्रिय छ</translation>
@@ -348,6 +366,7 @@
 <translation id="3538907380453898475">dscrplst</translation>
 <translation id="3549141990712742152"><ph name="TEXT" />काट्नुहोस्।</translation>
 <translation id="3564729643041517261">हालको प्रदर्शनको प्रकार पाठहरूलाई सँगसँगै राखिएको छ</translation>
+<translation id="3570904478351465021">जाडो</translation>
 <translation id="3573145950452451508">पेज फुटर</translation>
 <translation id="3587482841069643663">सबै</translation>
 <translation id="3589661172894441357">शब्दावली</translation>
@@ -355,12 +374,15 @@
 <translation id="3594207934078151302">मध्यम समुद्री हरियो</translation>
 <translation id="3599054940393788245">भित्री गणित होइन</translation>
 <translation id="360241989769010433">आभार</translation>
+<translation id="3616016838842055984">तपाईं आफूले क्लिक गर्न चाहेको कुनै वस्तुमा पुग्नुभयो भने सर्च + स्पेसबार की थिच्नुहोस्। जारी राख्न उक्त कार्य अहिले नै गरी हेर्नुहोस्।</translation>
 <translation id="3616113530831147358">अडियो</translation>
 <translation id="3622350485154495700">एक औँलाले डबल ट्याप गर्नुहोस्</translation>
 <translation id="3646890046000188562">{COUNT,plural, =1{ब्याकटिक}other{# ब्याकटिकहरू}}</translation>
 <translation id="3650317109285159359">chkmnuitm</translation>
 <translation id="3655855170848725876">{COUNT,plural, =1{ डलर}other{ # डलर संकेतहरू}}</translation>
 <translation id="3659787053479271466">alrt</translation>
+<translation id="366419593095697301">ध्यान दिनुहोस्: तपाईं यो ट्युटोरियलबाट बाहिरिन चाहनुहुन्छ भने इस्केप की थिच्नुहोस्।</translation>
+<translation id="3676062394766691318">तपाईंले आफ्नो यन्त्र सेटअप गरेपछि तपाईं पछाडि आएर सर्च + O अनि T की थिचेर थप ट्युटोरियलहरू हेर्न सक्नुहुन्छ।</translation>
 <translation id="3681531118904532409">मेवा जस्तो पहेँलो</translation>
 <translation id="3692274950075847560">एस: <ph name="RESULT" /></translation>
 <translation id="370367311675896712">रेखाले वारपार काटिएको पाठ</translation>
@@ -382,6 +404,7 @@
 <translation id="3856075812838139784">पढ्ने मात्र</translation>
 <translation id="3857141338659865495">मध्यम टर्कोइस</translation>
 <translation id="3870295413168340326">अघिल्लो कुनै पनि लेभल ३ शीर्षक छैन</translation>
+<translation id="3887399638190992181">अत्यावश्यक कीहरू</translation>
 <translation id="3887576927692165210">ed</translation>
 <translation id="3897092660631435901">मेनु</translation>
 <translation id="3907138069015388678">lstgrd</translation>
@@ -401,6 +424,7 @@
 <translation id="4004802134384979325">जाँच गरियो</translation>
 <translation id="4006140876663370126">छवि</translation>
 <translation id="4021716437419160885">तलतिर स्क्रोल गर्नुहोस्</translation>
+<translation id="4035381225449278841">वसन्त</translation>
 <translation id="4047216625641135770">चिन्ह</translation>
 <translation id="4053520724192563562">चुना जस्तो हरियो</translation>
 <translation id="4054936709456751127">sts</translation>
@@ -506,6 +530,7 @@
 <translation id="4846428657345567687">ChromeVox मा स्वागत छ!</translation>
 <translation id="4848993367330139335">tmr</translation>
 <translation id="4854380505292502090">अघिल्लो कुनै पनि मिडिया विजेट छैन</translation>
+<translation id="4855927945655956315">अत्यावश्यक की: कन्ट्रोल</translation>
 <translation id="4862744964787595316">बोल्ड होइन</translation>
 <translation id="4866956062845190338">rdmnuitm</translation>
 <translation id="4867316986324544967">टिटिएस लगइन सक्षम गर्नुहोस्</translation>
@@ -521,6 +546,7 @@
 <translation id="4973717656530883744">न्यूनतम <ph name="X" /></translation>
 <translation id="4974612477719259470">अघिल्लो कुनै पनि बटन छैन</translation>
 <translation id="4979404613699303341">अघिल्लो बटन</translation>
+<translation id="4982917827052020884">तपाईंले नियमित रूपमा प्रयोग गर्ने केही कीहरूका बारेमा जानौँ। कन्ट्रोल की हाल अन रहेको कुनै वाक् सुविधा बन्द गर्नका लागि प्रयोग गर्न सकिन्छ। कन्ट्रोल की किबोर्डको पुछारको बायाँ कुनामा हुन्छ। जारी राख्न कन्ट्रोल की थिच्नुहोस्।</translation>
 <translation id="4983588134362688868">पृष्ठको शीर्षमा जम्प गर्नुहोस्</translation>
 <translation id="4986606102545753256"><ph name="NAME" />, सन्झ्याल</translation>
 <translation id="4993152509206108683">दर <ph name="PERCENT" /> प्रतिशत</translation>
@@ -532,6 +558,7 @@
 <translation id="5041394372352067729">ब्रेल प्रदर्शनलाई पृष्ठको शिर्षमा सार्नुहो</translation>
 <translation id="5042770794184672516">बोली मात्रा वृद्ध</translation>
 <translation id="5042992464904238023">वेबको सामग्री</translation>
+<translation id="5045870649377683106">लेफ्ट सिफ्ट की कन्ट्रोल कीको ठिक माथिपट्टि हुन्छ। जारी राख्न लेफ्ट सिफ्ट की थिच्नुहोस्।</translation>
 <translation id="5050015258024679800">अघिल्लो स्तर 4 शीर्षक</translation>
 <translation id="5054047268577924192">अधिल्लो सूची वस्तु</translation>
 <translation id="5085453135206054947">फिक्का बैजनी रातो</translation>
@@ -542,9 +569,11 @@
 <translation id="5111640677200759579">स्तम्भ शीर्षक</translation>
 <translation id="5115892389597951922">ChromeVox को लग</translation>
 <translation id="5119330972669454698">बर्ली उड</translation>
+<translation id="5130133513489020984">अघिल्लो पाठ</translation>
 <translation id="513774504516943387">मसी</translation>
 <translation id="5138912041966667164">मध्यम स्लेट मिश्रित निलो</translation>
 <translation id="5140016802771803559">रेबेका बैजनी</translation>
+<translation id="5142101052131610456">सबै पाठहरू</translation>
 <translation id="5158275234811857234">आवरण</translation>
 <translation id="5170206230005240598">ब्रेली लिपिका क्याप्सनहरू सक्षम पारिए</translation>
 <translation id="5183440668879371625">ब्रेल अघिल्लो रेखा</translation>
@@ -553,6 +582,7 @@
 <translation id="5263344797180442561">h2</translation>
 <translation id="528468243742722775">समाप्त</translation>
 <translation id="5302089807023311274">ग्रन्थसूचीको सन्दर्भ</translation>
+<translation id="530391007967514163">तल दिइएको टेक्स्टमा नेभिगेट गर्न एउटा शीर्षकबाट अर्को शीर्षकमा जाने प्रयास गर्नुहोस्।</translation>
 <translation id="5304943142864553931"><ph name="TITLE" />, ट्याब</translation>
 <translation id="5308380583665731573">जडान गर्नुहोस्</translation>
 <translation id="5310788376443009632">हटाइयो:</translation>
@@ -583,10 +613,12 @@
 <translation id="5452267669091857717">अर्को कुनै लेभल १ शीर्षक छैन</translation>
 <translation id="5455441614648621694">पूरक</translation>
 <translation id="5462510922370980473">पृष्ठ सूची</translation>
+<translation id="5495517933067991341">अत्यावश्यक की: सिफ्ट</translation>
 <translation id="549602578321198708">शब्द</translation>
 <translation id="5513242761114685513">सान्दर्भिक मेनु</translation>
 <translation id="551361796444814639">मध्यम निलो</translation>
 <translation id="552195134157544755">रेडियो बटन</translation>
+<translation id="5522423213731659107">क्विक ओरियन्टेसन पूरा भयो!</translation>
 <translation id="5534303576632885660">एचडिआर</translation>
 <translation id="5539820223028224601">गेन्स्बोरो</translation>
 <translation id="5549179427201066174">ध्वनि प्रतिक्रिया (earcons) सक्रिय गर्नुहोस् वा निष्क्रिय पार्नुहोस्</translation>
@@ -600,6 +632,7 @@
 <translation id="5598905979683743333"><ph name="NAME" />, रेडियो बटन छानिएन</translation>
 <translation id="5601172225407283979">पूर्वनिर्धारित कार्य गर्नुहोस्</translation>
 <translation id="5608798115546226984">स्वत: पूर्णता रेखा</translation>
+<translation id="5616029807486814372">अर्को पाठ</translation>
 <translation id="561939826962581046">समय</translation>
 <translation id="5623778242535476823">rbtn</translation>
 <translation id="5623842676595125836">लग</translation>
@@ -608,6 +641,7 @@
 <translation id="5653397561111110475">Chromebook टच स्क्रिनका पहुँच सम्बन्धी सुविधाहरूको प्रयोग गर्नुहोस्</translation>
 <translation id="5655682562155942719">जम्प आदेशहरू</translation>
 <translation id="56637627897541303">पाठ क्षेत्र</translation>
+<translation id="5669637233317991674">यो पाठमा जान सर्च + राइट एरो की वा सर्च + लेफ्ट एरो की थिच्नुहोस्</translation>
 <translation id="5678161956734658133">mled</translation>
 <translation id="5681643281275621376">परि</translation>
 <translation id="5682113568322255809">ल्याण्डमार्क</translation>
@@ -631,9 +665,11 @@
 <translation id="5850707923114094062">पछाडितिर घुमाउनुहोस्</translation>
 <translation id="5851548754964597211">ट्याब सूची</translation>
 <translation id="5866042630553435010">आंशीक जाँच गरिएको</translation>
+<translation id="5866210856231860256">यो विषयका पाठहरू ब्राउज गर्न सर्च + राइट एरो की वा सर्च + लेफ्ट एरो की थिच्नुहोस्</translation>
 <translation id="5867591286054666064">यस ट्युटोरियलको अवधिमा जुनसुकै कुञ्जीको नाम सुन्न त्यस कुञ्जीलाई थिच्नुहोस्।</translation>
 <translation id="5869546221129391014">ग्रिड</translation>
 <translation id="5876817486144482042">बोलीको भोल्युम घटाउनुहोस्</translation>
+<translation id="5878206664863390311">विषयहरू ब्राउज गर्न सर्च + राइट एरो की वा सर्च + लेफ्ट एरो की थिच्नुहोस्</translation>
 <translation id="5878908838135392163">पाउडर जस्तो निलो</translation>
 <translation id="588108970619830498">टेक्स्ट टु स्पिचको सेटिङलाई रिसेट गरी पूर्वनिर्धारित मान बनाउनुहोस्</translation>
 <translation id="5891934789323004067">तालिका</translation>
@@ -680,6 +716,7 @@
 <translation id="6254901459154107917">अर्को सम्पादन योग्य पाठ क्षेत्र</translation>
 <translation id="6259464875943891919">बाहिर निस्कियो <ph name="TYPE" /></translation>
 <translation id="6282062888058716985">nav</translation>
+<translation id="6295699829709583154">अत्यावश्यक की: सर्च</translation>
 <translation id="6305702903308659374">ChromeVox बोलिरहेको भए तापनि अडियो कम आवाजमा बजाउनुहोस्</translation>
 <translation id="6307969636681130414">थिचिएको</translation>
 <translation id="6315652249189065725">किबोर्डका सर्टकटहरूको मेनु खोल्नुहोस्</translation>
@@ -698,6 +735,7 @@
 <translation id="6385591741672306837">स्तम्भ</translation>
 <translation id="6387719785439924554">अलग</translation>
 <translation id="6393014464788431702">कार्यक्रमसम्बन्धी सबै फिल्टरहरू असक्षम पार्नुहोस्</translation>
+<translation id="6411569524720229058">शरद्</translation>
 <translation id="6417265370957905582">Google सहायक</translation>
 <translation id="641759969622533235">{COUNT,plural, =1{ कोलोन}other{# कोलोनहरू}}</translation>
 <translation id="6444046323172968959">चेतावनी संवाद</translation>
@@ -733,6 +771,7 @@
 <translation id="6730312624811567147">सिरान वा फेदमा जान Search Left वा Right प्रयोग गर्नुहोस्, Control Home वा End मा जान Search Control Left वा Right प्रयोग गर्नुहोस्, माथिल्लो वा तल्लो पृष्ठमा जान Search Up वा Down प्रयोग गर्नुहोस्</translation>
 <translation id="6736510033526053669">ट्याब सिर्जना गरिएको छ</translation>
 <translation id="675895815784134693">pgbar</translation>
+<translation id="6759710362319508545">स्रोतहरू</translation>
 <translation id="67862343314499040">हल्का निलो</translation>
 <translation id="6786800275320335305">लेख</translation>
 <translation id="6793101435925451627">lstbx</translation>
@@ -744,6 +783,7 @@
 <translation id="6858047746862060282">प्रस्तावना</translation>
 <translation id="6859876496651143278">एक औँलाले बायाँ स्वाइप गर्नुहोस्</translation>
 <translation id="6865519907510167493">गलत हिज्जे</translation>
+<translation id="6873188295213080042">ध्यान दिनुहोस्: नेभिगेट गर्न सर्च की होल्ड गरी एरो की थिच्नुहोस्।</translation>
 <translation id="6894148351896207544">अहिलेको समय र आजको मिति बताउनुहोस्</translation>
 <translation id="6896758677409633944">प्रतिलिपि गर्नुहोस्</translation>
 <translation id="6897341342232909480">बायाँ सार्नुहोस्</translation>
@@ -809,14 +849,17 @@
 <translation id="7308519659008003150">कुनै पनि अघिल्लो फारम क्षेत्र छैन</translation>
 <translation id="731121099745151312">tritm</translation>
 <translation id="7317017974771324508">आंशिक रूपमा चयन गरिएको</translation>
+<translation id="7344012264516629579">अतिरिक्त जम्प कमान्डहरूमा लिंक, बटन र जाँच बाकस जस्ता अन्य कुराहरूमा क्लिक गरी सीधै जाने कार्य पर्छ। जम्प कमान्डहरूको पूर्ण सूची ChromeVox मेनुमा भेट्टाउन सकिन्छ। उक्त मेनु खोल्न सर्च + पूर्णविराम की थिच्नुहोस्।</translation>
 <translation id="7356165926712028380">8 डट ब्रेलमा स्विच गर्नुहोस्</translation>
 <translation id="7356610683936413584">विवरणको सूचीको विस्तार</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{ एम्परसेण्ड}other{ # एम्परसेण्ड्स}}</translation>
 <translation id="737396357417333429">clk</translation>
 <translation id="738899727977260036">स्लेट मिश्रित निलो</translation>
+<translation id="7393979322571982935">ध्वनि तथा सेटिङ</translation>
 <translation id="739763518212184081">अघिल्लो रेखा</translation>
 <translation id="7400575256015741911">हिज्जे गल्तो भएको फेला पत्ता लगाइयो</translation>
 <translation id="7408482676469142474">tbl</translation>
+<translation id="7419264136822406994">तपाईं अघिल्लो अन्तर्क्रियात्मक पाठमा जान सिफ्ट + ट्याब की थिच्न सक्नुहुन्छ। जारी राख्न सिफ्ट + ट्याब की थिच्नुहोस्।</translation>
 <translation id="7425395583360211003">फिर्ता गर्नु</translation>
 <translation id="7429415133937917139">स्क्रिनको सिरानमा रहेको ChromeVox प्यानलमा
     पुन: ताजा गर्न मिल्ने ब्रेल डिस्प्लेको आउटपुटको नक्कल गर्दछ</translation>
@@ -844,6 +887,7 @@
 <translation id="762020119231868829">सबै हालै प्ले भइरहेका मिडिया विजेटहरू पज गर्छ</translation>
 <translation id="7625690649919402823">अर्को तालिका</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" /> (<ph name="VARIANT" />), ग्रेड <ph name="GRADE" /></translation>
+<translation id="7637342083105831460">अभ्यास गर्ने क्षेत्र वा अर्को पाठमा जाने बटन भेट्टाउन सर्च + राइट एरो की थिच्नुहोस्। त्यसपछि अर्को पाठ खोलेर प्रयोग गर्न सर्च + स्पेसबार की थिच्नुहोस्।</translation>
 <translation id="7639968568612851608">गाढा खैरो</translation>
 <translation id="7663318257180412551">शीर्षक 2</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{घन्टा}other{घन्टा}}</translation>
@@ -883,6 +927,7 @@
 <translation id="794091007957014205">{COUNT,plural, =1{ मा}other{# लक्षणमा }}</translation>
 <translation id="7942349550061667556">रातो</translation>
 <translation id="7948364528129376623">अर्को कुनै पनि भ्रमण गरिएको लिङ्क छैन</translation>
+<translation id="7952460583030260752">कमान्डका सन्दर्भ</translation>
 <translation id="7965147473449754028">मेनु बन्द गरियो</translation>
 <translation id="7968340748835037139">गाढा हरियो</translation>
 <translation id="7972507042926081808">चकलेटको रङ्ग</translation>
@@ -912,6 +957,8 @@
 <translation id="812886159861361726"><ph name="FILE_NAME" /> डाउनलोड रोकियो</translation>
 <translation id="8129445297241948503">माथि कुनै पनि कक्ष छैन</translation>
 <translation id="8138880386467279117">स्पर्श</translation>
+<translation id="8146613869421949343">अब तपाईं सर्च कीका बारेमा जान्नु हुने छ। ChromeVox लाई कमान्ड दिनका निम्ति सर्च कीसहित अन्य कीहरू प्रयोग गरिन्छ। सर्च की बायाँ सिफ्ट कीको ठिक माथिपट्टि हुन्छ। जारी राख्न सर्च की थिच्नुहोस्।</translation>
+<translation id="816818801578874684">यो पहिलो शीर्षक हो। अर्को शीर्षकमा जान सर्च + H की थिच्नुहोस्।</translation>
 <translation id="8173092779156526980">चार औँलाले बायाँतिर स्वाइप गर्नुहोस्</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{ अन्डरस्कोर}other{ # अन्डरस्कोरहरू}}</translation>
 <translation id="8179976553408161302">प्रविष्टि गर्नुहोस्</translation>
@@ -952,6 +999,7 @@
 <translation id="8473540203671727883">माउसभन्दा तलको पाठ पढ्नुहोस्</translation>
 <translation id="8476408756881832830">ChromeVox बोलिरहेको बेला प्लेब्याक पज गर्नुहोस्</translation>
 <translation id="8476508772960940536">विन्डो परिदृश्य</translation>
+<translation id="8480873377842220259">अब तपाईं नेभिगेट गर्ने केही सामान्य तरिकाबारे जान्नु हुने छ। स्क्रिनमा एक ठाउँबाट अर्को ठाउँमा जान सर्च की होल्ड गरी एरो की थिच्नुहोस्। जारी राख्न सर्च + राइट एरो की थिच्नुहोस्।</translation>
 <translation id="8503360654911991865">नेभिगेसन दानादार कम गर्नुहोस्</translation>
 <translation id="8520472399088452386">स्पिन बटन</translation>
 <translation id="8534394844575788431">ढाँचा निर्धारण गर्दै</translation>
@@ -966,6 +1014,7 @@
 <translation id="8603071050456974042">ChromeVox प्यानल</translation>
 <translation id="8606621670302093223">मिति नियन्त्रण</translation>
 <translation id="8613709718990529335">बिस्क</translation>
+<translation id="8614129468475308349">स्याबास! तपाईंले ChromeVox का आधारभूत कुराहरू जान्नुभयो। तपाईं यो ट्युटोरियल फेरि हेर्न सक्नुहुन्छ वा सो ट्युटोरियलबाट बाहिरिन तल दिइएको 'ट्युटोरियलबाट बाहिरिनुहोस्' नामक बटनमा क्लिक गर्न सक्नुहुन्छ।</translation>
 <translation id="8625173877182443267">अर्को कुनै लेभल ६ शीर्षक छैन</translation>
 <translation id="8628186274519446680">टमाटरको रङ्ग</translation>
 <translation id="8638532244051952400">वर्तमान सेल अक्षांश घोषणा गर्नुहोस्</translation>
@@ -973,15 +1022,19 @@
 <translation id="8651481478098336970">आवाज म्यूट</translation>
 <translation id="8653646212587894517">लिङ्कहरूको सूची देखाउनुहोस्</translation>
 <translation id="8656888282555543604">ब्रेल लगिङ सक्षम पार्नुहोस्</translation>
+<translation id="8659501358298941449">ड्रप-डाउन सूचीहरू</translation>
 <translation id="867187640362843212">शिर्षक 5</translation>
+<translation id="8693391540059827073">मेरो मन पर्ने मौसम</translation>
 <translation id="8696284982970258155">मधुरसको रङ्ग</translation>
 <translation id="8697111817566059991">{COUNT,plural, =1{पाइप}other{# ठाडो पाइपहरू}}</translation>
+<translation id="8741370088760768424">ध्यान दिनुहोस्: हालको पाठ खोलेर फेरि प्रयोग गर्न सर्च + स्पेसबार की थिच्नुहोस्।</translation>
 <translation id="8743786158317878347">तालिकाहरू जस्ता संरचना गरिएको सामग्री प्रविष्टि गर्नुहोस्</translation>
 <translation id="8747966237988593539">क्रम मिलाइएको सूची</translation>
 <translation id="8749988712346667988">चाँदी</translation>
 <translation id="875769700429317857"><ph name="FILE_NAME" /> डाउनलोड भइसक्यो</translation>
 <translation id="8767968232364267681">अर्को तह 4 शीर्षक</translation>
 <translation id="8770473310765924354">संरचना भएको सामग्री, जस्तै तालिकाहरूबाट बाहिर निस्कनुहोस्</translation>
+<translation id="8775203254697638994">कहिलेकाहीँ तपाईंले ड्रप-डाउन सूचीबाट कुनै वस्तु चयन गर्नु पर्ने हुन्छ। यसो गर्नका निम्ति सर्वप्रथम सर्च + स्पेसबार की थिचेर सूची विस्तृत गर्नुहोस्। त्यसपछि कुनै वस्तु चयन गर्न अप तथा डाउन एरो थिच्नुहोस्। अन्तिममा सर्च + स्पेसबार की थिचेर सूची संक्षिप्त गर्नुहोस्।</translation>
 <translation id="8779057862865475116">अघिल्लो कुनै पनि लिंक छैन</translation>
 <translation id="8796411681063377102">अर्को चरण 3 शीर्षक</translation>
 <translation id="8823311177246872527"><ph name="TOTALPAGES" /> मध्ये <ph name="CURRENTPAGE" /> औँ पृष्ठ</translation>
@@ -1003,6 +1056,8 @@
 <translation id="89720367119469899">भाग</translation>
 <translation id="8978496506222343566">tltip</translation>
 <translation id="8986362086234534611">बिर्सनुहोस्</translation>
+<translation id="8989104346085848538">ChromeVox मा अन रहेको जुनसुकै वाक् सुविधा अफ गर्न कन्ट्रोल की थिच्नुहोस्।</translation>
+<translation id="9014206344398081366">ChromeVox को ट्युटोरियल</translation>
 <translation id="9040132695316389094">शीर्षक 1</translation>
 <translation id="9061884144798498064">८ डट भएको ब्रेल तालिका चयन गर्नुहोस्‌:</translation>
 <translation id="9065283790526219006">+ पपअप</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_nl.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_nl.xtb
index 4cf9b55a..4cb1a1c 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_nl.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_nl.xtb
@@ -382,7 +382,7 @@
 <translation id="3655855170848725876">{COUNT,plural, =1{dollarteken}other{# dollartekens}}</translation>
 <translation id="3659787053479271466">waarschuwing</translation>
 <translation id="366419593095697301">Hint: Druk op Escape als je deze tutorial wilt afsluiten.</translation>
-<translation id="3676062394766691318">Na het instellen van je apparaat kun je terugkeren en meer tutorials bekijken door op Zoeken + O en vervolgens op T te drukken.</translation>
+<translation id="3676062394766691318">Na het instellen van je apparaat kun je terugkeren en meer tutorials bekijken door op Zoeken + O en daarna op T te drukken.</translation>
 <translation id="3681531118904532409">Papayacréme</translation>
 <translation id="3692274950075847560">Z:<ph name="RESULT" /></translation>
 <translation id="370367311675896712">Doorstreping</translation>
@@ -558,7 +558,7 @@
 <translation id="5041394372352067729">Brailleweergave naar bovenkant pagina verplaatsen</translation>
 <translation id="5042770794184672516">Spraakvolume verhogen</translation>
 <translation id="5042992464904238023">Webinhoud</translation>
-<translation id="5045870649377683106">Zoek nu de Shift-toets. Deze zit recht boven de Ctrl-toets. Druk op de linker Shift-toets om door te gaan.</translation>
+<translation id="5045870649377683106">Zoek nu de linker Shift-toets. Deze zit recht boven de Ctrl-toets. Druk op de linker Shift-toets om door te gaan.</translation>
 <translation id="5050015258024679800">Vorige kop voor niveau 4</translation>
 <translation id="5054047268577924192">Vorig item in de lijst</translation>
 <translation id="5085453135206054947">Vaal violetrood</translation>
@@ -618,7 +618,7 @@
 <translation id="5513242761114685513">Contextmenu</translation>
 <translation id="551361796444814639">Middenblauw</translation>
 <translation id="552195134157544755">Keuzerondje</translation>
-<translation id="5522423213731659107">Snelle oriëntatie afgerond.</translation>
+<translation id="5522423213731659107">Snelle oriëntatie afgerond</translation>
 <translation id="5534303576632885660">header</translation>
 <translation id="5539820223028224601">Gainsboro</translation>
 <translation id="5549179427201066174">Geluidsfeedback (earcons) in- of uitschakelen</translation>
@@ -886,7 +886,7 @@
 <translation id="762020119231868829">Hiermee worden alle actieve mediawidgets onderbroken</translation>
 <translation id="7625690649919402823">Volgende tabel</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" /> (<ph name="VARIANT" />), niveau <ph name="GRADE" /></translation>
-<translation id="7637342083105831460">Druk op Zoeken + pijl-rechts om naar het oefengedeelte te gaan of druk op de knop Volgende les. Druk vervolgens op Zoeken + de spatiebalk om te activeren.</translation>
+<translation id="7637342083105831460">Druk op Zoeken + pijl-rechts om naar het oefengedeelte te gaan of druk op de knop Volgende les. Druk dan op Zoeken + de spatiebalk om te activeren.</translation>
 <translation id="7639968568612851608">Donkergrijs</translation>
 <translation id="7663318257180412551">Kop 2</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{uur}other{uur}}</translation>
@@ -956,7 +956,7 @@
 <translation id="812886159861361726">Download van <ph name="FILE_NAME" /> is gestopt</translation>
 <translation id="8129445297241948503">Geen cel hierboven beschikbaar</translation>
 <translation id="8138880386467279117">Touch</translation>
-<translation id="8146613869421949343">Nu kijken we naar de zoektoets. De zoektoets wordt in combinatie met andere toetsen gebruikt voor ChromeVox-opdrachten. De zoektoets bevindt zich recht boven de linker Shift-toets. Druk op de zoektoets om door te gaan.</translation>
+<translation id="8146613869421949343">Nu kijken we naar de zoektoets. De zoektoets wordt in combinatie met andere toetsen gebruikt voor ChromeVox-opdrachten. De zoektoets zit recht boven de linker Shift-toets. Druk op de zoektoets om door te gaan.</translation>
 <translation id="816818801578874684">Dit is de eerste kop. Druk op Zoeken + H om naar de volgende kop te gaan.</translation>
 <translation id="8173092779156526980">Swipe met vier vingers naar links</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{underscore}other{# underscores}}</translation>
@@ -1013,7 +1013,7 @@
 <translation id="8603071050456974042">ChromeVox-venster</translation>
 <translation id="8606621670302093223">Datumbeheer</translation>
 <translation id="8613709718990529335">Bisque</translation>
-<translation id="8614129468475308349">Dat was alles. Je hebt nu de basis van ChromeVox onder de knie. Je kunt de tutorial nogmaals doornemen of deze afsluiten met een knop hieronder.</translation>
+<translation id="8614129468475308349">Dat was alles. Je hebt nu de basis van ChromeVox onder de knie. Je kunt de tutorial nog een keer doornemen of deze afsluiten met een knop hieronder.</translation>
 <translation id="8625173877182443267">Geen volgende kop van niveau 6</translation>
 <translation id="8628186274519446680">Tomaat</translation>
 <translation id="8638532244051952400">Huidige celcoördinaten bekendmaken</translation>
@@ -1033,7 +1033,7 @@
 <translation id="875769700429317857"><ph name="FILE_NAME" /> is gedownload</translation>
 <translation id="8767968232364267681">Volgende kop voor niveau 4</translation>
 <translation id="8770473310765924354">gestructureerde content verlaten, zoals tabellen</translation>
-<translation id="8775203254697638994">Soms moet je een item selecteren in een dropdownmenu. Vouw hiervoor eerst de lijst uit door op Zoeken + de spatiebalk te drukken. Selecteer daarna een item met de pijl-omhoog en -omlaag. Vouw de lijst tot slot weer samen door op Zoeken + de spatiebalk te drukken.</translation>
+<translation id="8775203254697638994">Soms moet je een item selecteren in een dropdownmenu. Vouw hiervoor eerst de lijst uit door op Zoeken + de spatiebalk te drukken. Selecteer daarna een item met de pijl-omhoog en pijl-omlaag. Vouw de lijst tot slot weer samen door op Zoeken + de spatiebalk te drukken.</translation>
 <translation id="8779057862865475116">Geen vorige link</translation>
 <translation id="8796411681063377102">Volgende kop voor niveau 3</translation>
 <translation id="8823311177246872527">Pagina <ph name="CURRENTPAGE" /> van <ph name="TOTALPAGES" /></translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb
index dac0200..76c3df20 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb
@@ -582,7 +582,7 @@
 <translation id="5263344797180442561">h2</translation>
 <translation id="528468243742722775">Завершить</translation>
 <translation id="5302089807023311274">Ссылка на библиографию</translation>
-<translation id="530391007967514163">Давайте попробуем потренировать переходы к заголовкам.</translation>
+<translation id="530391007967514163">Давайте попробуем выполнять переходы к заголовкам.</translation>
 <translation id="5304943142864553931">Вкладка <ph name="TITLE" />.</translation>
 <translation id="5308380583665731573">Подключение</translation>
 <translation id="5310788376443009632">Удалено:</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb
index 2de9371..de908ba 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb
@@ -115,7 +115,7 @@
 <translation id="1714116687360794776">Matës</translation>
 <translation id="1722567105086139392">Lidhja</translation>
 <translation id="1727806147743597030">ftr</translation>
-<translation id="1730447754326314349">Mirë se vjen në udhëzuesin e ChromeVox. Për të dalë nga ky udhëzues në çdo kohë, shtyp tastin Escape në këndin e majtë lart të tastierës. Për të çaktivizuar ChromeVox, mbaj shtypur Control dhe Alt dhe shtyp Z. Kur të jesh gati, përdor shiriti e hapësirës për t'u zhvendosur në mësimin tjetër.</translation>
+<translation id="1730447754326314349">Mirë se vjen në udhëzuesin e ChromeVox. Për të dalë nga ky udhëzues në çdo kohë, shtyp tastin Escape në këndin e majtë lart të tastierës. Për të çaktivizuar ChromeVox, mbaj shtypur Control dhe Alt dhe shtyp Z. Kur të jesh gati, përdor tastin e hapësirës për t'u zhvendosur në mësimin tjetër.</translation>
 <translation id="174268867904053074">Grafika tjetër</translation>
 <translation id="1756785467854861272">E purpurt e errët</translation>
 <translation id="1765245556747822181">Rrëshqit shpejt një gisht lart</translation>
@@ -341,7 +341,7 @@
 <translation id="335581015389089642">Ligjërimi</translation>
 <translation id="3356951775008366684">Njofto për shqiptimin fonetik për fjalën</translation>
 <translation id="3359142382821736686">seprtr</translation>
-<translation id="3363015957057974366">Mund të përdorësh gjithashtu tastin Tab për t'u zhvendosur te artikulli interaktiv i radhës në ekran. Gjej tastin Tab, i cili është direkt mbi tastin Kërko. Për të vazhduar, shtyp tastin Tab.</translation>
+<translation id="3363015957057974366">Mund të përdorësh gjithashtu tastin Tab për t'u zhvendosur te artikulli interaktiv i radhës në ekran. Gjej tastin Tab, i cili është direkt mbi tastin Search. Për të vazhduar, shtyp tastin Tab.</translation>
 <translation id="3366946046494222386">Udhëzuesi <ph name="TOPIC" />, <ph name="LESSONS" /> mësime</translation>
 <translation id="3374537878095184207">{COUNT,plural, =1{shenja plus}other{# shenja plus}}</translation>
 <translation id="338583716107319301">Ndarës</translation>
@@ -374,7 +374,7 @@
 <translation id="3594207934078151302">E gjelbër deti e mesme</translation>
 <translation id="3599054940393788245">Jo brenda matematikës</translation>
 <translation id="360241989769010433">Falënderime</translation>
-<translation id="3616016838842055984">Nëse arrin një artikull që dëshiron ta klikosh, shtyp Kërko + Hapësirë. Provoje tani për të vazhduar.</translation>
+<translation id="3616016838842055984">Nëse arrin një artikull që dëshiron ta klikosh, shtyp Search + Space. Provoje tani për të vazhduar.</translation>
 <translation id="3616113530831147358">Audio</translation>
 <translation id="3622350485154495700">Trokit dy herë me një gisht</translation>
 <translation id="3646890046000188562">{COUNT,plural, =1{thonjëza njëshe}other{# thonjëza njëshe}}</translation>
@@ -382,7 +382,7 @@
 <translation id="3655855170848725876">{COUNT,plural, =1{dollar}other{# shenja dollari}}</translation>
 <translation id="3659787053479271466">alrt</translation>
 <translation id="366419593095697301">Sugjerim: Shtyp Escape nëse dëshiron të dalësh nga ky tutorial.</translation>
-<translation id="3676062394766691318">Pasi të konfigurosh pajisjen tënde, mund të kthehesh dhe të shikosh më shumë udhëzues duke shtypur Kërko + O, më pas T.</translation>
+<translation id="3676062394766691318">Pasi të konfigurosh pajisjen tënde, mund të kthehesh dhe të shikosh më shumë udhëzues duke shtypur Search + O, më pas T.</translation>
 <translation id="3681531118904532409">Papaja e rrahur</translation>
 <translation id="3692274950075847560">K: <ph name="RESULT" /></translation>
 <translation id="370367311675896712">Vijë në mes</translation>
@@ -641,7 +641,7 @@
 <translation id="5653397561111110475">Përdor veçoritë e qasshmërisë së ekranit me prekje të Chromebook</translation>
 <translation id="5655682562155942719">Komandat e kërcimit</translation>
 <translation id="56637627897541303">Zona e tekstit</translation>
-<translation id="5669637233317991674">Shtyp Kërko + Shigjeta djathtas ose Kërko + Shigjeta majtas për të naviguar te ky mësim</translation>
+<translation id="5669637233317991674">Shtyp Search + Shigjeta djathtas ose Search + Shigjeta majtas për të naviguar te ky mësim</translation>
 <translation id="5678161956734658133">mled</translation>
 <translation id="5681643281275621376">def</translation>
 <translation id="5682113568322255809">Pikë referimi</translation>
@@ -665,11 +665,11 @@
 <translation id="5850707923114094062">Lëviz mbrapsht si panoramë</translation>
 <translation id="5851548754964597211">Lista e skedave</translation>
 <translation id="5866042630553435010">Kontrolluar pjesërisht</translation>
-<translation id="5866210856231860256">Shtyp Kërko + Shigjeta djathtas ose Kërko + Shigjeta majtas për të shfletuar mësimet për këtë temë</translation>
+<translation id="5866210856231860256">Shtyp Search + Shigjeta djathtas ose Search + Shigjeta majtas për të shfletuar mësimet për këtë temë</translation>
 <translation id="5867591286054666064">Gjatë këtij udhëzuesi, shtyp një tast çfarëdo për të dëgjuar emrin e tij.</translation>
 <translation id="5869546221129391014">Rrjetë</translation>
 <translation id="5876817486144482042">Ul volumin e ligjërimit</translation>
-<translation id="5878206664863390311">Shtyp Kërko + Shigjeta djathtas ose Kërko + Shigjeta majtas për të shfletuar temat</translation>
+<translation id="5878206664863390311">Shtyp Search + Shigjeta djathtas ose Search + Shigjeta majtas për të shfletuar temat</translation>
 <translation id="5878908838135392163">Blu pluhur</translation>
 <translation id="588108970619830498">Rivendos cilësimet e "tekstit në ligjërim" në vlerat e parazgjedhura</translation>
 <translation id="5891934789323004067">Tabela</translation>
@@ -716,7 +716,7 @@
 <translation id="6254901459154107917">Zona tjetër e redaktueshme e tekstit</translation>
 <translation id="6259464875943891919">Doli nga <ph name="TYPE" />.</translation>
 <translation id="6282062888058716985">nav</translation>
-<translation id="6295699829709583154">Tastet thelbësore: Kërko</translation>
+<translation id="6295699829709583154">Tastet thelbësore: Search</translation>
 <translation id="6305702903308659374">Luaje me volum normal edhe nëse flet ChromeVox</translation>
 <translation id="6307969636681130414">I shtypur</translation>
 <translation id="6315652249189065725">Hap menynë e shkurtoreve të tastierës</translation>
@@ -783,7 +783,7 @@
 <translation id="6858047746862060282">Prolog</translation>
 <translation id="6859876496651143278">Rrëshqit shpejt një gisht majtas</translation>
 <translation id="6865519907510167493">Me gabim drejtshkrimor</translation>
-<translation id="6873188295213080042">Sugjerim: Mbaj shtypur Kërko dhe shtyp tastet e shigjetave për të naviguar.</translation>
+<translation id="6873188295213080042">Sugjerim: Mbaj shtypur tastin Search dhe shtyp tastet e shigjetave për të naviguar.</translation>
 <translation id="6894148351896207544">Lexo me zë orën dhe datën aktuale</translation>
 <translation id="6896758677409633944">Kopjo</translation>
 <translation id="6897341342232909480">Lëviz majtas</translation>
@@ -849,7 +849,7 @@
 <translation id="7308519659008003150">Nuk ka fushë të mëparshme në formular</translation>
 <translation id="731121099745151312">tritm</translation>
 <translation id="7317017974771324508">pjesërisht i zgjedhur</translation>
-<translation id="7344012264516629579">Komandat shtesë të kërcimit përfshijnë kërcimin përmes lidhjes, butonit dhe kutisë së zgjedhjes, për të përmendur disa. Një listë e plotë komandash kërcimi mund të gjendet në menytë ChromeVox, që mund të hapen duke shtypur Kërko + Pikë.</translation>
+<translation id="7344012264516629579">Komandat shtesë të kërcimit përfshijnë kërcimin përmes lidhjes, butonit dhe kutisë së zgjedhjes, për të përmendur disa. Një listë e plotë komandash kërcimi mund të gjendet në menytë ChromeVox, që mund të hapen duke shtypur Search + Period (tasti i pikës).</translation>
 <translation id="7356165926712028380">Kalo në Braille me 8 pika</translation>
 <translation id="7356610683936413584">Detajet e listës së përshkrimeve</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{karakter "&amp;"}other{# karaktere "&amp;"}}</translation>
@@ -887,7 +887,7 @@
 <translation id="762020119231868829">Ndërprit të gjitha miniaplikacionet e medias që po luhen aktualisht</translation>
 <translation id="7625690649919402823">Tabela tjetër</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" /> (<ph name="VARIANT" />), Klasa <ph name="GRADE" /></translation>
-<translation id="7637342083105831460">Shtyp Kërko + Shigjeta djathtas për të gjetur zonën e praktikës ose butonin "Mësimi tjetër" Më pas shtyp Kërko + Hapësirë për ta aktivizuar.</translation>
+<translation id="7637342083105831460">Shtyp Search + Shigjeta djathtas për të gjetur zonën e praktikës ose butonin "Mësimi tjetër" Më pas shtyp Search + Space për ta aktivizuar.</translation>
 <translation id="7639968568612851608">Gri e errët</translation>
 <translation id="7663318257180412551">Titulli 2</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{orë}other{orë}}</translation>
@@ -957,8 +957,8 @@
 <translation id="812886159861361726">Shkarkimi i <ph name="FILE_NAME" /> ndaloi</translation>
 <translation id="8129445297241948503">Nuk ka qelizë më sipër</translation>
 <translation id="8138880386467279117">Prek</translation>
-<translation id="8146613869421949343">Më pas, do të mësosh rreth tastit Kërko. Tasti Kërko përdoret në kombinim me taste të tjera për komandat ChromeVox. Tasti Kërko ndodhet menjëherë mbi tastin e majtë Shift. Për të vazhduar, shtyp tastin Kërko.</translation>
-<translation id="816818801578874684">Ky është titulli i parë. Shtyp Kërko + H për të shkuar te titulli tjetër.</translation>
+<translation id="8146613869421949343">Më pas, do të mësosh rreth tastit Search. Tasti Search përdoret në kombinim me taste të tjera për komandat ChromeVox. Tasti Search ndodhet menjëherë mbi tastin e majtë Shift. Për të vazhduar, shtyp tastin Search.</translation>
+<translation id="816818801578874684">Ky është titulli i parë. Shtyp Search + H për të shkuar te titulli tjetër.</translation>
 <translation id="8173092779156526980">Rrëshqit shpejt katër gishta majtas</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{nënvizim}other{# nënvizime}}</translation>
 <translation id="8179976553408161302">Enter</translation>
@@ -999,7 +999,7 @@
 <translation id="8473540203671727883">Lexo me zë tekstin poshtë miut</translation>
 <translation id="8476408756881832830">Vendosje luajtjen në pauzë kur flet ChromeVox</translation>
 <translation id="8476508772960940536">përmbledhja e dritares</translation>
-<translation id="8480873377842220259">Tani do të mësosh disa navigime bazë. Mund ta mbash shtypur Kërko dhe të shtypësh tastet e shigjetave për të lëvizur nëpër ekran. Për të vazhduar, shtyp Kërko + Shigjetën djathtas</translation>
+<translation id="8480873377842220259">Tani do të mësosh disa navigime bazë. Mund ta mbash shtypur tastin Search dhe të shtypësh tastet e shigjetave për të lëvizur nëpër ekran. Për të vazhduar, shtyp Search + Shigjetën djathtas</translation>
 <translation id="8503360654911991865">Ul shkallën e detajeve të lundrimit</translation>
 <translation id="8520472399088452386">Butoni i rrotullimit</translation>
 <translation id="8534394844575788431">Formatimi</translation>
@@ -1027,14 +1027,14 @@
 <translation id="8693391540059827073">Stina ime e preferuar</translation>
 <translation id="8696284982970258155">Vesë mjalti</translation>
 <translation id="8697111817566059991">{COUNT,plural, =1{tub}other{# tuba vertikalë}}</translation>
-<translation id="8741370088760768424">Sugjerim: Shtyp Kërko + Hapësirë për të aktivizuar artikullin aktual.</translation>
+<translation id="8741370088760768424">Sugjerim: Shtyp Search + Space për të aktivizuar artikullin aktual.</translation>
 <translation id="8743786158317878347">fut përmbajtje të strukturuar, siç janë tabelat</translation>
 <translation id="8747966237988593539">Lista e renditur</translation>
 <translation id="8749988712346667988">E argjendtë</translation>
 <translation id="875769700429317857">Shkarkimi përfundoi <ph name="FILE_NAME" /></translation>
 <translation id="8767968232364267681">Titulli tjetër i nivelit 4</translation>
 <translation id="8770473310765924354">dil nga përmbajtja e strukturuar, siç janë tabelat</translation>
-<translation id="8775203254697638994">Do të ketë raste kur të nevojitet të zgjedhësh një artikull nga një listë zbritëse. Për ta bërë këtë, në fillim zgjero listën duke shtypur Kërko + Hapësirë. Më pas përdor tastet e shigjetës lart dhe poshtë për të zgjedhur një artikull. Në fund, palose listën duke shtypur Kërko + Hapësirë.</translation>
+<translation id="8775203254697638994">Do të ketë raste kur të nevojitet të zgjedhësh një artikull nga një listë zbritëse. Për ta bërë këtë, në fillim zgjero listën duke shtypur Search + Space. Më pas përdor tastet e shigjetës lart dhe poshtë për të zgjedhur një artikull. Në fund, palose listën duke shtypur Search + Space.</translation>
 <translation id="8779057862865475116">Nuk ka lidhje të mëparshme</translation>
 <translation id="8796411681063377102">Titulli tjetër i nivelit 3</translation>
 <translation id="8823311177246872527">Faqja <ph name="CURRENTPAGE" /> nga <ph name="TOTALPAGES" /></translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb
index 25cb9bf..06f6f3a 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb
@@ -76,7 +76,7 @@
 <translation id="1431911867058218151">สีพลัม</translation>
 <translation id="1439316808600711881">ภูมิภาค</translation>
 <translation id="146450394670219700">ออบเจ็กต์กราฟิก</translation>
-<translation id="1465097259579587977">รีสตาร์ทการแนะนำเบื้องต้นแบบด่วน</translation>
+<translation id="1465097259579587977">เริ่มเรียนการแนะนำเบื้องต้นแบบด่วนใหม่</translation>
 <translation id="1480046233931937785">เครดิต</translation>
 <translation id="1487494366197411587">บน Chromebook ปุ่มค้นหาจะอยู่เหนือปุ่ม Shift ด้านซ้าย</translation>
 <translation id="1498498210836053409">ปิดโหมดกดค้างเมื่อแก้ไขข้อความ (โหมดกดค้างอัจฉริยะ)</translation>
@@ -382,7 +382,7 @@
 <translation id="3655855170848725876">{COUNT,plural, =1{เครื่องหมายดอลลาร์}other{# เครื่องหมายดอลลาร์}}</translation>
 <translation id="3659787053479271466">การแจ้งเตือน</translation>
 <translation id="366419593095697301">คำแนะนำ: กดแป้น Escape หากต้องการออกจากบทแนะนำนี้</translation>
-<translation id="3676062394766691318">หลังจากตั้งค่าอุปกรณ์แล้ว คุณกลับมาและดูบทแนะนำเพิ่มเติมได้โดยกดแป้น Search + O แล้วกด T</translation>
+<translation id="3676062394766691318">หลังจากตั้งค่าอุปกรณ์แล้ว คุณกลับมาดูบทแนะนำเพิ่มเติมได้โดยกดแป้น Search + O แล้วกด T</translation>
 <translation id="3681531118904532409">สีชมพูพาพายาวิป</translation>
 <translation id="3692274950075847560">ค้นหา:<ph name="RESULT" /></translation>
 <translation id="370367311675896712">ขีดฆ่า</translation>
@@ -546,7 +546,7 @@
 <translation id="4973717656530883744">ขั้นต่ำ <ph name="X" /></translation>
 <translation id="4974612477719259470">ไม่มีปุ่มก่อนหน้า</translation>
 <translation id="4979404613699303341">ปุ่มก่อนหน้า</translation>
-<translation id="4982917827052020884">เริ่มจาก 2-3 แป้นที่คุณจะใช้เป็นประจำ สามารถใช้แป้น Control เพื่อหยุดเสียงที่กำลังพูดอยู่ได้ แป้น Control จะอยู่ที่มุมซ้ายล่างของคีย์บอร์ด กด Control เพื่อดำเนินการต่อ</translation>
+<translation id="4982917827052020884">เริ่มจาก 2-3 แป้นที่คุณจะใช้เป็นประจำ สามารถใช้แป้น Control เพื่อหยุดเสียงที่กำลังพูดอยู่ได้ แป้น Control จะอยู่ที่มุมซ้ายล่างของคีย์บอร์ด กดแป้น Control เพื่อดำเนินการต่อ</translation>
 <translation id="4983588134362688868">ข้ามไปที่ส่วนบนสุดของหน้าเว็บ</translation>
 <translation id="4986606102545753256">หน้าต่าง <ph name="NAME" /></translation>
 <translation id="4993152509206108683">ระดับ <ph name="PERCENT" /> เปอร์เซ็นต์</translation>
@@ -998,7 +998,7 @@
 <translation id="8473540203671727883">พูดข้อความที่อยู่ใต้เมาส์</translation>
 <translation id="8476408756881832830">หยุดเล่นชั่วคราวเมื่อ ChromeVox กำลังพูด</translation>
 <translation id="8476508772960940536">ภาพรวมหน้าต่าง</translation>
-<translation id="8480873377842220259">ตอนนี้คุณจะได้เรียนรู้พื้นฐานบางอย่างสำหรับการไปยังส่วนต่างๆ คุณสามารถกด Search ค้างไว้แล้วไปยังส่วนต่างๆ บนหน้าจอได้โดยใช้แป้นลูกศร กด Search + ลูกศรขวาเพื่อดำเนินการต่อ</translation>
+<translation id="8480873377842220259">ตอนนี้คุณจะได้เรียนรู้วิธีพื้นฐานในการไปยังส่วนต่างๆ คุณสามารถกด Search ค้างไว้แล้วไปยังส่วนต่างๆ บนหน้าจอได้โดยใช้แป้นลูกศร กด Search + ลูกศรขวาเพื่อดำเนินการต่อ</translation>
 <translation id="8503360654911991865">ลดความละเอียดในการนำทาง</translation>
 <translation id="8520472399088452386">ปุ่มหมุน</translation>
 <translation id="8534394844575788431">การจัดรูปแบบ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb
index 42906928..3a790569 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb
@@ -76,7 +76,7 @@
 <translation id="1431911867058218151">Màu mận chín</translation>
 <translation id="1439316808600711881">rgn</translation>
 <translation id="146450394670219700">Đối tượng đồ họa</translation>
-<translation id="1465097259579587977">Bắt đầu lại quá trình định hướng nhanh</translation>
+<translation id="1465097259579587977">Bắt đầu lại phần khám phá nhanh</translation>
 <translation id="1480046233931937785">Tín dụng</translation>
 <translation id="1487494366197411587">Trên Chromebook, phím Tìm kiếm ở ngay phía trên phím Shift bên trái.</translation>
 <translation id="1498498210836053409">Tắt chế độ phím dính khi chỉnh sửa văn bản (Chế độ phím dính thông minh)</translation>
@@ -208,7 +208,7 @@
 <translation id="2523609930580546572">Hướng dẫn về ChromeVox</translation>
 <translation id="2525706221823668172">Phím tắt Chromebook</translation>
 <translation id="2553108862507765288">lỗi ngữ pháp</translation>
-<translation id="2556326187583116255">Nhấn bằng 2 ngón tay để dừng mọi giọng nói hiện tại</translation>
+<translation id="2556326187583116255">Nhấn bằng 2 ngón tay để dừng mọi giọng đọc hiện tại</translation>
 <translation id="2573256689920773241">Thao tác cơ bản</translation>
 <translation id="257674075312929031">Nhóm</translation>
 <translation id="2582407057977008361">Loại trừ</translation>
@@ -283,7 +283,7 @@
 <translation id="3060756054951570867">Menu <ph name="TITLE" /> đã được mở</translation>
 <translation id="3060880924447482063">Vuốt sang trái hoặc phải để di chuyển theo mục</translation>
 <translation id="3070245424257836917">Vuốt lên trên bằng ba ngón tay</translation>
-<translation id="307516670110542567">Định hướng nhanh</translation>
+<translation id="307516670110542567">Khám phá nhanh</translation>
 <translation id="3078345202707391975">Tiêu đề cấp 2 tiếp theo</translation>
 <translation id="3078740164268491126">bảng</translation>
 <translation id="3082249673510793544">Cuộn lùi</translation>
@@ -546,7 +546,7 @@
 <translation id="4973717656530883744">Tối thiểu <ph name="X" /></translation>
 <translation id="4974612477719259470">Không có nút nào trước đó</translation>
 <translation id="4979404613699303341">Nút trước</translation>
-<translation id="4982917827052020884">Hãy bắt đầu với một số phím mà bạn thường xuyên sử dụng. Bạn có thể dùng phím Control để dừng mọi giọng nói hiện tại. Tìm phím Control ở góc dưới cùng bên trái bàn phím. Để tiếp tục, hãy nhấn phím Control.</translation>
+<translation id="4982917827052020884">Hãy bắt đầu với một số phím mà bạn thường xuyên sử dụng. Bạn có thể dùng phím Control để dừng mọi giọng đọc hiện tại. Tìm phím Control ở góc dưới cùng bên trái bàn phím. Để tiếp tục, hãy nhấn phím Control.</translation>
 <translation id="4983588134362688868">Chuyển đến đầu trang</translation>
 <translation id="4986606102545753256"><ph name="NAME" />, cửa sổ</translation>
 <translation id="4993152509206108683">Tốc độ <ph name="PERCENT" /> phần trăm</translation>
@@ -582,7 +582,7 @@
 <translation id="5263344797180442561">h2</translation>
 <translation id="528468243742722775">Kết thúc</translation>
 <translation id="5302089807023311274">Tham chiếu danh mục</translation>
-<translation id="530391007967514163">Hãy thử chuyển đến các phần văn bản theo tiêu đề bằng cách bằng cách thao tác với văn bản bên dưới.</translation>
+<translation id="530391007967514163">Hãy thử chuyển qua giữa các tiêu đề để chuyển qua phần văn bản bên dưới.</translation>
 <translation id="5304943142864553931"><ph name="TITLE" />, thẻ</translation>
 <translation id="5308380583665731573">Kết nối</translation>
 <translation id="5310788376443009632">đã xóa:</translation>
@@ -618,7 +618,7 @@
 <translation id="5513242761114685513">Menu ngữ cảnh</translation>
 <translation id="551361796444814639">Màu xanh lam hài hòa</translation>
 <translation id="552195134157544755">Nút radio</translation>
-<translation id="5522423213731659107">Bạn đã tìm hiểu xong về cách định hướng nhanh!</translation>
+<translation id="5522423213731659107">Bạn đã học xong phần Khám phá nhanh!</translation>
 <translation id="5534303576632885660">tiêu đề</translation>
 <translation id="5539820223028224601">Màu xám sáng</translation>
 <translation id="5549179427201066174">Bật/tắt phản hồi bằng âm thanh (âm báo)</translation>
@@ -641,7 +641,7 @@
 <translation id="5653397561111110475">Sử dụng tính năng trợ năng của màn hình cảm ứng Chromebook</translation>
 <translation id="5655682562155942719">Chuyển lệnh</translation>
 <translation id="56637627897541303">Vùng văn bản</translation>
-<translation id="5669637233317991674">Nhấn tổ hợp phím Tìm kiếm + Mũi tên phải hoặc Tìm kiếm + Mũi tên trái để di chuyển trong bài học này</translation>
+<translation id="5669637233317991674">Nhấn tổ hợp phím Tìm kiếm + Mũi tên phải, hoặc Tìm kiếm + Mũi tên trái để di chuyển trong bài học này</translation>
 <translation id="5678161956734658133">mled</translation>
 <translation id="5681643281275621376">def</translation>
 <translation id="5682113568322255809">Mốc</translation>
@@ -849,7 +849,7 @@
 <translation id="7308519659008003150">Không có trường biểu mẫu nào trước đó</translation>
 <translation id="731121099745151312">tritm</translation>
 <translation id="7317017974771324508">đã chọn một phần</translation>
-<translation id="7344012264516629579">Các lệnh chuyển bổ sung gồm có thao tác chuyển bằng đường liên kết, nút và hộp đánh dấu chẳng hạn. Bạn có thể tìm toàn bộ danh sách lệnh chuyển trong các trình đơn của ChromeVox. Bạn có thể mở các trình đơn này bằng cách nhấn tổ hợp phím Tìm kiếm + Dấu chấm.</translation>
+<translation id="7344012264516629579">Các lệnh chuyển bổ sung gồm có thao tác chuyển bằng đường liên kết, nút và hộp đánh dấu chẳng hạn. Toàn bộ danh sách lệnh chuyển có trong các trình đơn của ChromeVox. Bạn có thể mở các trình đơn này bằng cách nhấn tổ hợp phím Tìm kiếm + Dấu chấm.</translation>
 <translation id="7356165926712028380">Chuyển sang chữ nổi 8 chấm</translation>
 <translation id="7356610683936413584">Thông tin chi tiết danh sách mô tả</translation>
 <translation id="7370432716629432284">{COUNT,plural, =1{dấu và}other{# dấu và}}</translation>
@@ -1024,7 +1024,7 @@
 <translation id="8656888282555543604">Bật ghi nhật ký chữ nổi</translation>
 <translation id="8659501358298941449">Danh sách thả xuống</translation>
 <translation id="867187640362843212">Tiêu đề 5</translation>
-<translation id="8693391540059827073">Mùa yêu thích của tôi</translation>
+<translation id="8693391540059827073">Mùa tôi yêu thích</translation>
 <translation id="8696284982970258155">Màu dưa lưới</translation>
 <translation id="8697111817566059991">{COUNT,plural, =1{dấu sổ thẳng}other{# dấu sổ thẳng}}</translation>
 <translation id="8741370088760768424">Gợi ý: Nhấn tổ hợp phím Tìm kiếm + Dấu cách để kích hoạt mục hiện tại.</translation>
@@ -1034,7 +1034,7 @@
 <translation id="875769700429317857">Đã hoàn tất việc tải <ph name="FILE_NAME" /> xuống</translation>
 <translation id="8767968232364267681">Tiêu đề cấp 4 tiếp theo</translation>
 <translation id="8770473310765924354">thoát nội dung có cấu trúc, chẳng hạn như bảng</translation>
-<translation id="8775203254697638994">Sẽ có những lúc bạn cần chọn một mục trong danh sách thả xuống. Để thực hiện việc này, trước tiên, hãy mở rộng danh sách bằng cách nhấn tổ hợp phím Tìm kiếm + Phím cách. Sau đó, hãy dùng các phím Mũi tên lên và Mũi tên xuống để chọn một mục. Cuối cùng, thu gọn danh sách bằng cách nhấn tổ hợp phím Tìm kiếm + Phím cách.</translation>
+<translation id="8775203254697638994">Sẽ có những lúc bạn cần chọn một mục trong danh sách thả xuống. Để làm việc này, trước tiên, hãy mở rộng danh sách bằng cách nhấn tổ hợp phím Tìm kiếm + Phím cách. Sau đó, hãy dùng các phím Mũi tên lên và Mũi tên xuống để chọn một mục. Cuối cùng, thu gọn danh sách bằng cách nhấn tổ hợp phím Tìm kiếm + Phím cách.</translation>
 <translation id="8779057862865475116">Không có đường liên kết nào trước đó</translation>
 <translation id="8796411681063377102">Tiêu đề cấp 3 tiếp theo</translation>
 <translation id="8823311177246872527">Trang <ph name="CURRENTPAGE" />/<ph name="TOTALPAGES" /></translation>
@@ -1056,7 +1056,7 @@
 <translation id="89720367119469899">Thoát</translation>
 <translation id="8978496506222343566">tltip</translation>
 <translation id="8986362086234534611">Quên</translation>
-<translation id="8989104346085848538">Để dừng lời nói ChromeVox hiện tại, hãy nhấn phím Control.</translation>
+<translation id="8989104346085848538">Để dừng giọng đọc ChromeVox hiện tại, hãy nhấn phím Control.</translation>
 <translation id="9014206344398081366">Hướng dẫn về ChromeVox</translation>
 <translation id="9040132695316389094">Tiêu đề 1</translation>
 <translation id="9061884144798498064">Chọn bảng chữ nổi 8 chấm:</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb
index 23ffd517..7ec212f 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb
@@ -341,7 +341,7 @@
 <translation id="335581015389089642">语音</translation>
 <translation id="3356951775008366684">播报字词的拼音</translation>
 <translation id="3359142382821736686">seprtr</translation>
-<translation id="3363015957057974366">您还可以使用 Tab 键移至屏幕上的下一个互动项。Tab 键位于搜索键的正上方。请按 Tab 键以继续。</translation>
+<translation id="3363015957057974366">您还可以使用 Tab 键移至屏幕上的下一个互动项。Tab 键是搜索键上方第一个键。请按 Tab 键以继续。</translation>
 <translation id="3366946046494222386"><ph name="TOPIC" />教程,<ph name="LESSONS" /> 节课</translation>
 <translation id="3374537878095184207">{COUNT,plural, =1{1个加号}other{#个加号}}</translation>
 <translation id="338583716107319301">分隔符</translation>
@@ -558,7 +558,7 @@
 <translation id="5041394372352067729">将盲文显示移动到页首</translation>
 <translation id="5042770794184672516">调大朗读音量</translation>
 <translation id="5042992464904238023">网页内容</translation>
-<translation id="5045870649377683106">现在,找到左侧 Shift 键,它位于 Ctrl 键的正上方。请按左侧 Shift 键以继续。</translation>
+<translation id="5045870649377683106">现在,找到左侧 Shift 键,它是 Ctrl 键上方第一个键。请按左侧 Shift 键以继续。</translation>
 <translation id="5050015258024679800">上一个4级标题</translation>
 <translation id="5054047268577924192">上一个列表项</translation>
 <translation id="5085453135206054947">灰紫红色</translation>
@@ -582,7 +582,7 @@
 <translation id="5263344797180442561">2级标题标记</translation>
 <translation id="528468243742722775">结束</translation>
 <translation id="5302089807023311274">参考书目</translation>
-<translation id="530391007967514163">请尝试通过标题跳转,以浏览下方文字。</translation>
+<translation id="530391007967514163">请尝试按标题跳转,以浏览下方文字。</translation>
 <translation id="5304943142864553931">切换到名为“<ph name="TITLE" />”的标签页</translation>
 <translation id="5308380583665731573">连接</translation>
 <translation id="5310788376443009632">已移除:</translation>
@@ -783,7 +783,7 @@
 <translation id="6858047746862060282">序言</translation>
 <translation id="6859876496651143278">向左滑动一根手指</translation>
 <translation id="6865519907510167493">拼写错误</translation>
-<translation id="6873188295213080042">提示:在按住搜索键的同时按箭头键可四处浏览。</translation>
+<translation id="6873188295213080042">提示:在按住搜索键的同时按箭头键即可进行导航。</translation>
 <translation id="6894148351896207544">说出当前的日期和时间</translation>
 <translation id="6896758677409633944">复制</translation>
 <translation id="6897341342232909480">向左移动</translation>
@@ -887,7 +887,7 @@
 <translation id="762020119231868829">暂停目前正在播放的所有媒体微件</translation>
 <translation id="7625690649919402823">下一个表格</translation>
 <translation id="7628927569678398026"><ph name="LOCALE" /> (<ph name="VARIANT" />),等级:<ph name="GRADE" /></translation>
-<translation id="7637342083105831460">按搜索键 + 向右键即可查找“下一课”按钮的练习区。然后,按搜索键 + 空格键以启用该练习区。</translation>
+<translation id="7637342083105831460">按搜索键 + 向右键即可找到练习区或“下一课”按钮。然后,按搜索键 + 空格键以启用该练习区。</translation>
 <translation id="7639968568612851608">深灰色</translation>
 <translation id="7663318257180412551">2级标题标记</translation>
 <translation id="7668307052366682650">{COUNT,plural, =1{小时}other{小时}}</translation>
@@ -957,7 +957,7 @@
 <translation id="812886159861361726">“<ph name="FILE_NAME" />”已停止下载</translation>
 <translation id="8129445297241948503">上方没有单元格</translation>
 <translation id="8138880386467279117">触摸</translation>
-<translation id="8146613869421949343">接下来,您将学习搜索键的相关知识。搜索键旨在与其他键结合使用以执行 ChromeVox 命令。它位于左侧 Shift 键的正上方。请按搜索键以继续。</translation>
+<translation id="8146613869421949343">接下来,您将学习搜索键的相关知识。搜索键旨在与其他键结合使用以执行 ChromeVox 命令。它是左侧 Shift 键上方第一个键。请按搜索键以继续。</translation>
 <translation id="816818801578874684">这是第一个标题。按搜索键 + H 键即可转到下一个标题。</translation>
 <translation id="8173092779156526980">四根手指向左滑动</translation>
 <translation id="817440585505441544">{COUNT,plural, =1{1个下划线}other{#个下划线}}</translation>
diff --git a/chrome/browser/resources/chromeos/add_supervision/add_supervision_api_server.js b/chrome/browser/resources/chromeos/add_supervision/add_supervision_api_server.js
index fc3b60d..5716cfc 100644
--- a/chrome/browser/resources/chromeos/add_supervision/add_supervision_api_server.js
+++ b/chrome/browser/resources/chromeos/add_supervision/add_supervision_api_server.js
@@ -41,6 +41,11 @@
     this.registerMethod('setCloseOnEscape', this.setCloseOnEscape.bind(this));
   }
 
+  /** @override */
+  onInitializationError(origin) {
+    // TODO(): Trigger an error page to be shown in this case.
+  }
+
   /**
    * Logs out of the device.
    * @param {!Array} unused Placeholder unused empty parameter.
diff --git a/chrome/browser/resources/chromeos/add_supervision/post_message_api.js b/chrome/browser/resources/chromeos/add_supervision/post_message_api.js
index 76cf97f..be45dcc 100644
--- a/chrome/browser/resources/chromeos/add_supervision/post_message_api.js
+++ b/chrome/browser/resources/chromeos/add_supervision/post_message_api.js
@@ -65,10 +65,18 @@
      */
     this.numInitializationAttempts_ = 0;
 
+    /**
+     * Indicates whether the communication channel between this server and the
+     * WebView has been established.
+     * @private {boolean}
+     */
+    this.isInitialized_ = false;
+
     // Wait for content to load before attempting to initializing the
     // message listener.
     this.clientElement_.addEventListener('contentload', () => {
       this.numInitializationAttempts_ = 0;
+      this.isInitialized_ = false;
       this.initialize();
     });
 
@@ -94,8 +102,12 @@
    * Send initialization message to client element.
    */
   initialize() {
-    if (this.numInitializationAttempts_ < MAX_INITIALIZATION_ATTEMPTS &&
-        this.originMatchesFilter_(this.clientElement_.src)) {
+    if (this.isInitialized_ ||
+        !this.originMatchesFilter_(this.clientElement_.src)) {
+      return;
+    }
+
+    if (this.numInitializationAttempts_ < MAX_INITIALIZATION_ATTEMPTS) {
       // Tell the embedded webviews whose src matches our origin to initialize
       // by sending it a message, which will include a handle for it to use to
       // send messages back.
@@ -119,13 +131,22 @@
 
       this.numInitializationAttempts_++;
     } else {
-      // Exponential backoff has maxed out, so restart the init attempt cycle.
-      this.numInitializationAttempts_ = 0;
-      this.initialize();
+      // Exponential backoff has maxed out. Show error page if present.
+      this.onInitializationError(this.clientElement_.src);
     }
   }
 
   /**
+   *  Virtual method to be overridden by implementations of this class to notify
+   * them that we were unable to initialize communication channel with the
+   * `clientElement_`.
+   *
+   * @param {!string} origin The origin URL that was not able to initialize
+   *     communication.
+   */
+  onInitializationError(origin) {}
+
+  /**
    * Determines if the specified origin matches the origin filter.
    * @private
    * @param {!string} origin The origin URL to match with the filter.
@@ -161,6 +182,7 @@
     }
 
     if (event.data === 'init') {
+      this.isInitialized_ = true;
       return;
     }
 
diff --git a/chrome/browser/resources/chromeos/edu_coexistence/edu_coexistence_controller.js b/chrome/browser/resources/chromeos/edu_coexistence/edu_coexistence_controller.js
index b4ed2e2..3e110c7 100644
--- a/chrome/browser/resources/chromeos/edu_coexistence/edu_coexistence_controller.js
+++ b/chrome/browser/resources/chromeos/edu_coexistence/edu_coexistence_controller.js
@@ -124,6 +124,12 @@
     }
   }
 
+  /** @override */
+  onInitializationError(origin) {
+    this.reportError_(
+        ['Error initializing communication channel with origin:' + origin]);
+  }
+
   /**
    * Returns the hostname of the origin of the flow's URL (the one it was
    * initialized with, not its current URL).
diff --git a/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html b/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html
index 1a1a98b..3038432 100644
--- a/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html
+++ b/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html
@@ -46,6 +46,7 @@
     <div class="cr-row continuation">
       <settings-checkbox hidden="[[!showNotificationPermission_]]"
           id="chromeCleanupShowNotificationControl"
+          pref="{{notificationEnabledPref_}}"
           sub-label="$i18n{chromeCleanupExplanationNotificationPermission}"
           disabled$="[[!cleanupEnabled_]]">
       </settings-checkbox>
diff --git a/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.js b/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.js
index b2b2707..12908225 100644
--- a/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.js
+++ b/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.js
@@ -265,6 +265,20 @@
       type: Boolean,
       value: false,
     },
+
+    /**
+     * Virtual pref that's attached to the notification checkbox.
+     * @private {!chrome.settingsPrivate.PrefObject}
+     */
+    notificationEnabledPref_: {
+      type: Object,
+      value() {
+        return /** @type {chrome.settingsPrivate.PrefObject} */ ({
+          type: chrome.settingsPrivate.PrefType.BOOLEAN,
+          value: false,
+        });
+      },
+    },
   },
 
   /** @private {!ChromeCleanerScannerResults} */
diff --git a/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.html b/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.html
index 493e333..8f651bd 100644
--- a/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.html
+++ b/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.html
@@ -96,6 +96,15 @@
         deep-link-focus-id$="[[Setting.kFullscreenMagnifier]]">
     </settings-toggle-button>
     <template is="dom-if" if="[[prefs.settings.a11y.screen_magnifier.value]]">
+      <div class="sub-item">
+        <settings-toggle-button
+            class="sub-item"
+            pref="{{prefs.settings.a11y.screen_magnifier_focus_following}}"
+            label="$i18n{screenMagnifierFocusFollowingLabel}"
+            deep-link-focus-id$=
+                "[[Setting.kFullscreenMagnifierFocusFollowing]]">
+        </settings-toggle-button>
+      </div>
       <div class="settings-box continuation">
         <div class="start sub-item settings-box-text" aria-hidden="true">
           $i18n{screenMagnifierZoomLabel}
diff --git a/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.js b/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.js
index 7e5b31b2..234b618 100644
--- a/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.js
+++ b/chrome/browser/resources/settings/chromeos/os_a11y_page/manage_a11y_page.js
@@ -244,6 +244,7 @@
         chromeos.settings.mojom.Setting.kSelectToSpeak,
         chromeos.settings.mojom.Setting.kHighContrastMode,
         chromeos.settings.mojom.Setting.kFullscreenMagnifier,
+        chromeos.settings.mojom.Setting.kFullscreenMagnifierFocusFollowing,
         chromeos.settings.mojom.Setting.kDockedMagnifier,
         chromeos.settings.mojom.Setting.kStickyKeys,
         chromeos.settings.mojom.Setting.kOnScreenKeyboard,
diff --git a/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc b/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc
index ce1713f..2dfae53 100644
--- a/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc
+++ b/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc
@@ -399,20 +399,20 @@
   profile_->GetPrefs()->SetBoolean(prefs::kSafeBrowsingEnabled, true);
   ASSERT_NE(csd_service_->model_loader_, nullptr);
   EXPECT_EQ(csd_service_->model_loader_->name(),
-            "client_model_v5_variation_4.pb");
+            "client_model_v5_variation_6.pb");
 
   // Safe Browsing extended reporting is enabled
   profile_->GetPrefs()->SetBoolean(prefs::kSafeBrowsingScoutReportingEnabled,
                                    true);
   ASSERT_NE(csd_service_->model_loader_, nullptr);
   EXPECT_EQ(csd_service_->model_loader_->name(),
-            "client_model_v5_ext_variation_4.pb");
+            "client_model_v5_ext_variation_6.pb");
 
   // Safe Browsing enhanced protection is enabled.
   profile_->GetPrefs()->SetBoolean(prefs::kSafeBrowsingEnhanced, true);
   ASSERT_NE(csd_service_->model_loader_, nullptr);
   EXPECT_EQ(csd_service_->model_loader_->name(),
-            "client_model_v5_ext_variation_4.pb");
+            "client_model_v5_ext_variation_6.pb");
 }
 
 }  // namespace safe_browsing
diff --git a/chrome/browser/safe_browsing/client_side_model_loader.cc b/chrome/browser/safe_browsing/client_side_model_loader.cc
index ddf7337..9c78987 100644
--- a/chrome/browser/safe_browsing/client_side_model_loader.cc
+++ b/chrome/browser/safe_browsing/client_side_model_loader.cc
@@ -84,7 +84,7 @@
       kClientModelFinchExperiment, kClientModelFinchParam);
   int model_number = 0;
   if (!base::StringToInt(num_str, &model_number)) {
-    model_number = 4;  // Default model
+    model_number = 6;  // Default model
   }
   return model_number;
 }
diff --git a/chrome/browser/safe_browsing/client_side_model_loader_unittest.cc b/chrome/browser/safe_browsing/client_side_model_loader_unittest.cc
index a49a90b2..fa96c80 100644
--- a/chrome/browser/safe_browsing/client_side_model_loader_unittest.cc
+++ b/chrome/browser/safe_browsing/client_side_model_loader_unittest.cc
@@ -367,10 +367,10 @@
   std::unique_ptr<ModelLoader> loader;
   loader.reset(new ModelLoader(base::RepeatingClosure(), nullptr,
                                false /* is_extended_reporting */));
-  EXPECT_EQ(loader->name(), "client_model_v5_variation_4.pb");
+  EXPECT_EQ(loader->name(), "client_model_v5_variation_6.pb");
   EXPECT_EQ(loader->url_.spec(),
             "https://ssl.gstatic.com/safebrowsing/csd/"
-            "client_model_v5_variation_4.pb");
+            "client_model_v5_variation_6.pb");
 
   // Model 1, no extended reporting.
   SetFinchModelNumber(1);
diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/SettingsActivityTestRule.java b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/SettingsActivityTestRule.java
index 250dbd2e..22bcb58 100644
--- a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/SettingsActivityTestRule.java
+++ b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/SettingsActivityTestRule.java
@@ -8,17 +8,15 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.test.InstrumentationRegistry;
-import android.support.test.rule.ActivityTestRule;
+import android.support.test.runner.lifecycle.Stage;
 
 import androidx.fragment.app.Fragment;
 
-import org.hamcrest.Matchers;
 import org.junit.Assert;
 
-import org.chromium.base.ActivityState;
-import org.chromium.base.ApplicationStatus;
-import org.chromium.base.test.util.Criteria;
-import org.chromium.base.test.util.CriteriaHelper;
+import org.chromium.base.test.BaseActivityTestRule;
+import org.chromium.base.test.util.ApplicationTestUtils;
+
 /**
  * Activity test rule that launch {@link SettingsActivity} in tests.
  *
@@ -28,7 +26,7 @@
  * @param <T> Fragment that will be attached to the SettingsActivity.
  */
 public class SettingsActivityTestRule<T extends Fragment>
-        extends ActivityTestRule<SettingsActivity> {
+        extends BaseActivityTestRule<SettingsActivity> {
     private final Class<T> mFragmentClass;
 
     /**
@@ -36,16 +34,7 @@
      * @param fragmentClass Fragment that will be attached after the activity starts.
      */
     public SettingsActivityTestRule(Class<T> fragmentClass) {
-        this(fragmentClass, false);
-    }
-
-    /**
-     * Create the settings activity test rule with an specific fragment class.
-     * @param fragmentClass Fragment that will be attached after the activity starts.
-     * @param initialTouchMode Whether in touch mode after the activity starts.
-     */
-    public SettingsActivityTestRule(Class<T> fragmentClass, boolean initialTouchMode) {
-        super(SettingsActivity.class, initialTouchMode, false);
+        super(SettingsActivity.class);
         mFragmentClass = fragmentClass;
     }
 
@@ -67,35 +56,9 @@
         SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
         Intent intent = settingsLauncher.createSettingsActivityIntent(
                 context, mFragmentClass.getName(), fragmentArgs);
-        SettingsActivity activity = super.launchActivity(intent);
-        Assert.assertNotNull(activity);
-
-        return activity;
-    }
-
-    /**
-     * We need to ensure that SettingsActivity gets destroyed in the TestRule because sometimes
-     * it uses the mock signin environment like fake AccountManagerFacade, if the activity starts
-     * with the stub then it also needs to finish with it. That's why we need to wait till the
-     * activity state becomes destroyed before tearing down the mock signin environment.
-     */
-    @Override
-    protected void afterActivityFinished() {
-        super.afterActivityFinished();
-        waitTillActivityIsDestroyed();
-    }
-
-    /**
-     * Block the execution till the SettingsActivity is destroyed.
-     */
-    public void waitTillActivityIsDestroyed() {
-        SettingsActivity activity = getActivity();
-        if (activity != null) {
-            CriteriaHelper.pollUiThread(() -> {
-                Criteria.checkThat(ApplicationStatus.getStateForActivity(activity),
-                        Matchers.is(ActivityState.DESTROYED));
-            });
-        }
+        launchActivity(intent);
+        ApplicationTestUtils.waitForActivityState(getActivity(), Stage.RESUMED);
+        return getActivity();
     }
 
     /**
diff --git a/chrome/browser/signin/dice_web_signin_interceptor.cc b/chrome/browser/signin/dice_web_signin_interceptor.cc
index e775412..e726d612 100644
--- a/chrome/browser/signin/dice_web_signin_interceptor.cc
+++ b/chrome/browser/signin/dice_web_signin_interceptor.cc
@@ -7,6 +7,7 @@
 #include <string>
 
 #include "base/check.h"
+#include "base/hash/hash.h"
 #include "base/i18n/case_conversion.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/optional.h"
@@ -36,13 +37,18 @@
 #include "chrome/common/themes/autogenerated_theme_util.h"
 #include "components/password_manager/core/browser/password_manager.h"
 #include "components/password_manager/core/common/password_manager_ui.h"
+#include "components/pref_registry/pref_registry_syncable.h"
 #include "components/prefs/pref_service.h"
+#include "components/prefs/scoped_user_pref_update.h"
 #include "components/signin/public/identity_manager/identity_manager.h"
 #include "google_apis/gaia/gaia_auth_util.h"
 #include "ui/base/l10n/l10n_util.h"
 
 namespace {
 
+constexpr char kProfileCreationInterceptionDeclinedPref[] =
+    "signin.ProfileCreationInterceptionDeclinedPref";
+
 void RecordSigninInterceptionHeuristicOutcome(
     SigninInterceptionHeuristicOutcome outcome) {
   base::UmaHistogramEnumeration("Signin.Intercept.HeuristicOutcome", outcome);
@@ -104,6 +110,12 @@
 
 DiceWebSigninInterceptor::~DiceWebSigninInterceptor() = default;
 
+// static
+void DiceWebSigninInterceptor::RegisterProfilePrefs(
+    user_prefs::PrefRegistrySyncable* registry) {
+  registry->RegisterDictionaryPref(kProfileCreationInterceptionDeclinedPref);
+}
+
 base::Optional<SigninInterceptionHeuristicOutcome>
 DiceWebSigninInterceptor::GetHeuristicOutcome(
     bool is_new_account,
@@ -130,6 +142,9 @@
       *entry = switch_to_entry;
     return SigninInterceptionHeuristicOutcome::kInterceptProfileSwitch;
   }
+
+  // From this point the remaining possible interceptions involve creating a new
+  // profile.
   if (!IsProfileCreationAllowed()) {
     return SigninInterceptionHeuristicOutcome::kAbortProfileCreationDisallowed;
   }
@@ -144,6 +159,11 @@
     return SigninInterceptionHeuristicOutcome::kAbortSingleAccount;
   }
 
+  if (HasUserDeclinedProfileCreation(email)) {
+    return SigninInterceptionHeuristicOutcome::
+        kAbortUserDeclinedProfileForAccount;
+  }
+
   return base::nullopt;
 }
 
@@ -376,7 +396,7 @@
   delegate_->ShowSigninInterceptionBubble(
       web_contents(), bubble_parameters,
       base::BindOnce(&DiceWebSigninInterceptor::OnProfileCreationChoice,
-                     base::Unretained(this), profile_color));
+                     base::Unretained(this), info, profile_color));
   was_interception_ui_displayed_ = true;
   RecordSigninInterceptionHeuristicOutcome(
       *interception_type == SigninInterceptionType::kEnterprise
@@ -390,22 +410,20 @@
   Reset();
 }
 
-void DiceWebSigninInterceptor::OnProfileCreationChoice(SkColor profile_color,
-                                                       bool create) {
-  if (!create) {
+void DiceWebSigninInterceptor::OnProfileCreationChoice(
+    const AccountInfo& account_info,
+    SkColor profile_color,
+    SigninInterceptionResult create) {
+  if (create != SigninInterceptionResult::kAccepted) {
+    if (create == SigninInterceptionResult::kDeclined)
+      RecordProfileCreationDeclined(account_info.email);
     Reset();
     return;
   }
 
   profile_creation_start_time_ = base::TimeTicks::Now();
   base::string16 profile_name;
-  base::Optional<AccountInfo> account_info =
-      identity_manager_
-          ->FindExtendedAccountInfoForAccountWithRefreshTokenByAccountId(
-              account_id_);
-  if (account_info) {
-    profile_name = profiles::GetDefaultNameForNewSignedInProfile(*account_info);
-  }
+  profile_name = profiles::GetDefaultNameForNewSignedInProfile(account_info);
 
   DCHECK(!dice_signed_in_profile_creator_);
   // Unretained is fine because the profile creator is owned by this.
@@ -419,8 +437,8 @@
 
 void DiceWebSigninInterceptor::OnProfileSwitchChoice(
     const base::FilePath& profile_path,
-    bool switch_profile) {
-  if (!switch_profile) {
+    SigninInterceptionResult switch_profile) {
+  if (switch_profile != SigninInterceptionResult::kAccepted) {
     Reset();
     return;
   }
@@ -484,3 +502,34 @@
     delegate_->ShowProfileCustomizationBubble(browser);
   }
 }
+
+// static
+std::string DiceWebSigninInterceptor::GetPersistentEmailHash(
+    const std::string& email) {
+  int hash = base::PersistentHash(
+                 gaia::CanonicalizeEmail(gaia::SanitizeEmail(email))) &
+             0xFF;
+  return base::StringPrintf("email_%i", hash);
+}
+
+void DiceWebSigninInterceptor::RecordProfileCreationDeclined(
+    const std::string& email) {
+  DictionaryPrefUpdate update(profile_->GetPrefs(),
+                              kProfileCreationInterceptionDeclinedPref);
+  std::string key = GetPersistentEmailHash(email);
+  base::Optional<int> declined_count = update->FindIntKey(key);
+  update->SetIntKey(
+      key, declined_count.has_value() ? declined_count.value() + 1 : 1);
+}
+
+bool DiceWebSigninInterceptor::HasUserDeclinedProfileCreation(
+    const std::string& email) const {
+  const base::DictionaryValue* pref_data = profile_->GetPrefs()->GetDictionary(
+      kProfileCreationInterceptionDeclinedPref);
+  base::Optional<int> declined_count =
+      pref_data->FindIntKey(GetPersistentEmailHash(email));
+  // Check if the user declined 3 times.
+  constexpr int kMaxProfileCreationDeclinedCount = 3;
+  return declined_count &&
+         declined_count.value() >= kMaxProfileCreationDeclinedCount;
+}
diff --git a/chrome/browser/signin/dice_web_signin_interceptor.h b/chrome/browser/signin/dice_web_signin_interceptor.h
index 1434d7be5..6aff667 100644
--- a/chrome/browser/signin/dice_web_signin_interceptor.h
+++ b/chrome/browser/signin/dice_web_signin_interceptor.h
@@ -28,6 +28,10 @@
 class WebContents;
 }
 
+namespace user_prefs {
+class PrefRegistrySyncable;
+}
+
 struct AccountInfo;
 class Browser;
 class DiceSignedInProfileCreator;
@@ -71,8 +75,25 @@
   // A password update will be required for the account: the password used on
   // the form does not match the stored password.
   kAbortPasswordUpdatePending = 13,
+  // The user already declined a new profile for this account, the UI is not
+  // shown again.
+  kAbortUserDeclinedProfileForAccount = 14,
 
-  kMaxValue = kAbortPasswordUpdatePending,
+  kMaxValue = kAbortUserDeclinedProfileForAccount,
+};
+
+// User action resulting from the interception bubble.
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused.
+enum class SigninInterceptionResult {
+  kAccepted = 0,
+  kDeclined = 1,
+  kIgnored = 2,
+
+  // Used when the bubble was not shown because it's not implemented.
+  kNotDisplayed = 3,
+
+  kMaxValue = kNotDisplayed,
 };
 
 // Returns whether the heuristic outcome is a success (the signin should be
@@ -119,7 +140,7 @@
     virtual void ShowSigninInterceptionBubble(
         content::WebContents* web_contents,
         const BubbleParameters& bubble_parameters,
-        base::OnceCallback<void(bool)> callback) = 0;
+        base::OnceCallback<void(SigninInterceptionResult)> callback) = 0;
 
     // Shows the profile customization bubble.
     virtual void ShowProfileCustomizationBubble(Browser* browser) = 0;
@@ -132,6 +153,8 @@
   DiceWebSigninInterceptor(const DiceWebSigninInterceptor&) = delete;
   DiceWebSigninInterceptor& operator=(const DiceWebSigninInterceptor&) = delete;
 
+  static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
+
   // Called when an account has been added in Chrome from the web (using the
   // DICE protocol).
   // |web_contents| is the tab where the signin event happened. It must belong
@@ -191,6 +214,7 @@
                            ShouldShowEnterpriseBubbleWithoutUPA);
   FRIEND_TEST_ALL_PREFIXES(DiceWebSigninInterceptorTest,
                            ShouldShowMultiUserBubble);
+  FRIEND_TEST_ALL_PREFIXES(DiceWebSigninInterceptorTest, PersistentHash);
 
   // Cancels any current signin interception and resets the interceptor to its
   // initial state.
@@ -212,11 +236,13 @@
   void OnExtendedAccountInfoFetchTimeout();
 
   // Called after the user chose whether a new profile would be created.
-  void OnProfileCreationChoice(SkColor profile_color, bool create);
+  void OnProfileCreationChoice(const AccountInfo& account_info,
+                               SkColor profile_color,
+                               SigninInterceptionResult create);
   // Called after the user chose whether the session should continue in a new
   // profile.
   void OnProfileSwitchChoice(const base::FilePath& profile_path,
-                             bool switch_profile);
+                             SigninInterceptionResult switch_profile);
 
   // Called when the new profile is created or loaded from disk.
   // `profile_color` is set as theme color for the profile ; it should be
@@ -228,6 +254,20 @@
   // callback to `session_startup_helper_`.
   void OnNewBrowserCreated(bool show_customization_bubble);
 
+  // Returns a 8-bit hash of the email that can be persisted.
+  static std::string GetPersistentEmailHash(const std::string& email);
+
+  // Should be called when the user declines profile creation, in order to
+  // remember their decision. This information is stored in prefs. Only a hash
+  // of the email is saved, as Chrome does not need to store the actual email,
+  // but only need to compare emails. The hash has low entropy to ensure it
+  // cannot be reversed.
+  void RecordProfileCreationDeclined(const std::string& email);
+
+  // Checks if the user previously declined 3 times creating a new profile for
+  // this account.
+  bool HasUserDeclinedProfileCreation(const std::string& email) const;
+
   Profile* const profile_;
   signin::IdentityManager* const identity_manager_;
   std::unique_ptr<Delegate> delegate_;
diff --git a/chrome/browser/signin/dice_web_signin_interceptor_browsertest.cc b/chrome/browser/signin/dice_web_signin_interceptor_browsertest.cc
index 16e84c30..6680c25d1 100644
--- a/chrome/browser/signin/dice_web_signin_interceptor_browsertest.cc
+++ b/chrome/browser/signin/dice_web_signin_interceptor_browsertest.cc
@@ -49,9 +49,9 @@
   void ShowSigninInterceptionBubble(
       content::WebContents* web_contents,
       const BubbleParameters& bubble_parameters,
-      base::OnceCallback<void(bool)> callback) override {
+      base::OnceCallback<void(SigninInterceptionResult)> callback) override {
     EXPECT_EQ(bubble_parameters.interception_type, expected_interception_type_);
-    std::move(callback).Run(true);
+    std::move(callback).Run(SigninInterceptionResult::kAccepted);
   }
   void ShowProfileCustomizationBubble(Browser* browser) override {
     EXPECT_FALSE(customized_browser_)
diff --git a/chrome/browser/signin/dice_web_signin_interceptor_factory.cc b/chrome/browser/signin/dice_web_signin_interceptor_factory.cc
index 5b13767..9377d94 100644
--- a/chrome/browser/signin/dice_web_signin_interceptor_factory.cc
+++ b/chrome/browser/signin/dice_web_signin_interceptor_factory.cc
@@ -32,6 +32,11 @@
 
 DiceWebSigninInterceptorFactory::~DiceWebSigninInterceptorFactory() = default;
 
+void DiceWebSigninInterceptorFactory::RegisterProfilePrefs(
+    user_prefs::PrefRegistrySyncable* registry) {
+  DiceWebSigninInterceptor::RegisterProfilePrefs(registry);
+}
+
 KeyedService* DiceWebSigninInterceptorFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
   return new DiceWebSigninInterceptor(
diff --git a/chrome/browser/signin/dice_web_signin_interceptor_factory.h b/chrome/browser/signin/dice_web_signin_interceptor_factory.h
index 40f5e5b..ad6aac1c 100644
--- a/chrome/browser/signin/dice_web_signin_interceptor_factory.h
+++ b/chrome/browser/signin/dice_web_signin_interceptor_factory.h
@@ -28,6 +28,8 @@
   ~DiceWebSigninInterceptorFactory() override;
 
   // BrowserContextKeyedServiceFactory:
+  void RegisterProfilePrefs(
+      user_prefs::PrefRegistrySyncable* registry) override;
   KeyedService* BuildServiceInstanceFor(
       content::BrowserContext* profile) const override;
 };
diff --git a/chrome/browser/signin/dice_web_signin_interceptor_unittest.cc b/chrome/browser/signin/dice_web_signin_interceptor_unittest.cc
index dd42d38e..0a6a8c3 100644
--- a/chrome/browser/signin/dice_web_signin_interceptor_unittest.cc
+++ b/chrome/browser/signin/dice_web_signin_interceptor_unittest.cc
@@ -41,7 +41,7 @@
               ShowSigninInterceptionBubble,
               (content::WebContents * web_contents,
                const BubbleParameters& bubble_parameters,
-               base::OnceCallback<void(bool)> callback),
+               base::OnceCallback<void(SigninInterceptionResult)> callback),
               (override));
   void ShowProfileCustomizationBubble(Browser* browser) override {}
 };
@@ -425,13 +425,14 @@
   DiceWebSigninInterceptor::Delegate::BubbleParameters expected_parameters = {
       DiceWebSigninInterceptor::SigninInterceptionType::kProfileSwitch,
       account_info, AccountInfo(), SkColor()};
-  base::OnceCallback<void(bool)> delegate_callback;
+  base::OnceCallback<void(SigninInterceptionResult)> delegate_callback;
   EXPECT_CALL(*mock_delegate(),
               ShowSigninInterceptionBubble(
                   web_contents(), MatchBubbleParameters(expected_parameters),
                   testing::_))
       .WillOnce(testing::WithArg<2>(testing::Invoke(
-          [&delegate_callback](base::OnceCallback<void(bool)> callback) {
+          [&delegate_callback](
+              base::OnceCallback<void(SigninInterceptionResult)> callback) {
             delegate_callback = std::move(callback);
           })));
   MaybeIntercept(account_info.account_id);
@@ -447,7 +448,7 @@
       SigninInterceptionHeuristicOutcome::kAbortInterceptInProgress, 1);
 
   // Complete the interception that was in progress.
-  std::move(delegate_callback).Run(false);
+  std::move(delegate_callback).Run(SigninInterceptionResult::kDeclined);
   EXPECT_FALSE(interceptor()->is_interception_in_progress());
 
   // A new interception can now start.
@@ -458,6 +459,84 @@
   MaybeIntercept(account_info.account_id);
 }
 
+TEST_F(DiceWebSigninInterceptorTest, DeclineRepeatedly) {
+  base::HistogramTester histogram_tester;
+  AccountInfo primary_account_info =
+      identity_test_env()->MakeUnconsentedPrimaryAccountAvailable(
+          "bob@example.com");
+  AccountInfo account_info =
+      identity_test_env()->MakeAccountAvailable("alice@example.com");
+  MakeValidAccountInfo(&account_info);
+  account_info.hosted_domain = "example.com";
+  identity_test_env()->UpdateAccountInfoForAccount(account_info);
+
+  // Decline the interception three times.
+  DiceWebSigninInterceptor::Delegate::BubbleParameters expected_parameters = {
+      DiceWebSigninInterceptor::SigninInterceptionType::kEnterprise,
+      account_info, primary_account_info, SkColor()};
+  for (int i = 0; i < 3; ++i) {
+    EXPECT_CALL(*mock_delegate(),
+                ShowSigninInterceptionBubble(
+                    web_contents(), MatchBubbleParameters(expected_parameters),
+                    testing::_))
+        .WillOnce(testing::WithArg<2>(testing::Invoke(
+            [](base::OnceCallback<void(SigninInterceptionResult)> callback) {
+              std::move(callback).Run(SigninInterceptionResult::kDeclined);
+            })));
+    MaybeIntercept(account_info.account_id);
+    histogram_tester.ExpectUniqueSample(
+        "Signin.Intercept.HeuristicOutcome",
+        SigninInterceptionHeuristicOutcome::kInterceptEnterprise, i + 1);
+  }
+
+  // Fourth time the interception is not shown again.
+  MaybeIntercept(account_info.account_id);
+  EXPECT_EQ(interceptor()->is_interception_in_progress(), false);
+  histogram_tester.ExpectBucketCount(
+      "Signin.Intercept.HeuristicOutcome",
+      SigninInterceptionHeuristicOutcome::kAbortUserDeclinedProfileForAccount,
+      1);
+
+  // Even with a slightly different email.
+  MaybeIntercept(account_info.account_id);
+  account_info.email = "al.ice@example.com";
+  EXPECT_EQ(interceptor()->is_interception_in_progress(), false);
+  histogram_tester.ExpectBucketCount(
+      "Signin.Intercept.HeuristicOutcome",
+      SigninInterceptionHeuristicOutcome::kAbortUserDeclinedProfileForAccount,
+      2);
+
+  // Another account can still be intercepted.
+  account_info.email = "oscar@example.com";
+  identity_test_env()->UpdateAccountInfoForAccount(account_info);
+  expected_parameters = {
+      DiceWebSigninInterceptor::SigninInterceptionType::kEnterprise,
+      account_info, primary_account_info, SkColor()};
+  EXPECT_CALL(*mock_delegate(),
+              ShowSigninInterceptionBubble(
+                  web_contents(), MatchBubbleParameters(expected_parameters),
+                  testing::_));
+  MaybeIntercept(account_info.account_id);
+  histogram_tester.ExpectBucketCount(
+      "Signin.Intercept.HeuristicOutcome",
+      SigninInterceptionHeuristicOutcome::kInterceptEnterprise, 4);
+  EXPECT_EQ(interceptor()->is_interception_in_progress(), true);
+}
+
+TEST_F(DiceWebSigninInterceptorTest, PersistentHash) {
+  // The hash is persistent (the value should never change).
+  EXPECT_EQ("email_174",
+            interceptor()->GetPersistentEmailHash("alice@example.com"));
+  // Different email get another hash.
+  EXPECT_NE(interceptor()->GetPersistentEmailHash("bob@gmail.com"),
+            interceptor()->GetPersistentEmailHash("alice@example.com"));
+  // Equivalent emails get the same hash.
+  EXPECT_EQ(interceptor()->GetPersistentEmailHash("bo.b@gmail.com"),
+            interceptor()->GetPersistentEmailHash("bob@gmail.com"));
+  EXPECT_EQ(interceptor()->GetPersistentEmailHash("bob"),
+            interceptor()->GetPersistentEmailHash("bob@gmail.com"));
+}
+
 // Interception other than the profile switch require at least 2 accounts.
 TEST_F(DiceWebSigninInterceptorTest, NoInterceptionWithOneAccount) {
   base::HistogramTester histogram_tester;
diff --git a/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc b/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc
index 44910041..b3bfd42 100644
--- a/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc
+++ b/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc
@@ -43,8 +43,8 @@
   void ShowSigninInterceptionBubble(
       content::WebContents* web_contents,
       const BubbleParameters& bubble_parameters,
-      base::OnceCallback<void(bool)> callback) override {
-    std::move(callback).Run(false);
+      base::OnceCallback<void(SigninInterceptionResult)> callback) override {
+    std::move(callback).Run(SigninInterceptionResult::kDeclined);
   }
   void ShowProfileCustomizationBubble(Browser* browser) override {}
 };
diff --git a/chrome/browser/speech/extension_api/tts_extension_api.cc b/chrome/browser/speech/extension_api/tts_extension_api.cc
index 3e55f8e..1d71a2e 100644
--- a/chrome/browser/speech/extension_api/tts_extension_api.cc
+++ b/chrome/browser/speech/extension_api/tts_extension_api.cc
@@ -288,7 +288,7 @@
   utterance->SetSrcUrl(source_url());
   utterance->SetLang(lang);
   utterance->SetContinuousParameters(rate, pitch, volume);
-  utterance->SetCanEnqueue(can_enqueue);
+  utterance->SetShouldClearQueue(!can_enqueue);
   utterance->SetRequiredEventTypes(required_event_types);
   utterance->SetDesiredEventTypes(desired_event_types);
   utterance->SetEngineId(voice_extension_id);
diff --git a/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc b/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
index 17fca96..ccf169e 100644
--- a/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
+++ b/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
@@ -187,10 +187,16 @@
       last_intervention =
           profile_context_->ads_intervention_manager()->GetLastAdsIntervention(
               url);
+  // TODO(crbug.com/1131971): If a host triggers multiple times on a single
+  // navigate and the durations don't match, we'll use the last duration rather
+  // than the longest. The metadata should probably store the activation with
+  // the longest duration.
   if (last_intervention &&
       last_intervention->duration_since <
-          subresource_filter::kAdsInterventionDuration.Get())
+          subresource_filter::AdsInterventionManager::GetInterventionDuration(
+              last_intervention->ads_violation)) {
     return;
+  }
 
   profile_context_->ads_intervention_manager()
       ->TriggerAdsInterventionForUrlOnSubsequentLoads(url, triggered_violation);
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
index 975baf0..64c95890 100644
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
@@ -10,7 +10,6 @@
 import android.content.res.TypedArray;
 import android.graphics.Point;
 import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
 import android.view.ContextThemeWrapper;
 import android.view.Display;
 import android.view.Menu;
@@ -184,8 +183,6 @@
             TypedArray a = wrapper.obtainStyledAttributes(
                     new int[] {android.R.attr.listPreferredItemHeightSmall});
             int itemRowHeight = a.getDimensionPixelSize(0, 0);
-            Drawable itemDivider = a.getDrawable(1);
-            int itemDividerHeight = itemDivider != null ? itemDivider.getIntrinsicHeight() : 0;
             a.recycle();
             mAppMenu = new AppMenu(mMenu, itemRowHeight, this, context.getResources(),
                     mDelegate.shouldShowIconBeforeItem());
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
index 3d375b8..bb787ca 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Wag tans vir besonderhede van ouers.</translation>
 <translation id="8922289737868596582">Laai bladsye vanaf die Meer Opsies-knoppie af om hulle vanlyn te gebruik</translation>
 <translation id="8928626432984354940">Lys boekmerkvouers wat teen halwe hoogte oopgemaak is</translation>
+<translation id="8937267401510745927">Om jou te help om take te voltooi, sal Google die URL'e en inhoud ontvang van werwe waarop jy Assistent gebruik, asook inligting wat jy deur Assistent indien. Hierdie inligting kan in jou Google-rekening geberg word. Jy kan Assistent in Chrome-instellings afskakel.</translation>
 <translation id="8937772741022875483">Verwyder jou Chrome-aktiwiteit van Digitale Welstand?</translation>
 <translation id="8942627711005830162">Maak in 'n ander venster oop</translation>
 <translation id="8951232171465285730">Chrome het vir jou <ph name="MEGABYTES" /> MB bespaar</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
index fb53700..90a02ea 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
@@ -1032,7 +1032,7 @@
 <translation id="8127542551745560481">تعديل الصفحة الرئيسية</translation>
 <translation id="813082847718468539">عرض معلومات الموقع</translation>
 <translation id="8137558756159375272">‏يرسل "المس للبحث" الكلمة المحددة والصفحة الحالية كسياق إلى بحث Google. يمكنك إيقافه في <ph name="BEGIN_LINK" />الإعدادات<ph name="END_LINK" />.</translation>
-<translation id="8153351135626613369">سيظهر "مساعد" تلقائيًا على المواقع الإلكترونية المتوافقة التي يمكنه مساعدتك فيها.</translation>
+<translation id="8153351135626613369">‏سيظهر "مساعد Google" على المواقع الإلكترونية المتوافقة التي يمكنه مساعدتك فيها.</translation>
 <translation id="8156139159503939589">ما هي اللغات التي تقرؤها؟</translation>
 <translation id="8168435359814927499">المحتوى</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> من الملفات المتبقية</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 bb0bc3f..2ec3ae9c 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
@@ -16,6 +16,7 @@
 <translation id="1105960400813249514">স্ক্ৰীণ কেপচাৰ</translation>
 <translation id="1111673857033749125">আপোনাৰ ডিভাইচত ছেভ কৰা বুকমাৰ্কবোৰ ইয়াত দেখা পোৱা যাব।</translation>
 <translation id="1113597929977215864">সৰলীকৃত ভিউ প্ৰদর্শন কৰক</translation>
+<translation id="1118561384561215815">ৱেবত কাৰ্যসমূহৰ জৰিয়তে সহায় পাওক</translation>
 <translation id="1123070903960493543">আপুনি Chromeৰ সৈতে কেনেকৈ ব্যৱহাৰ কৰে, আপুনি বাছনি কৰা ছেটিং, Chrome ক্ৰেশ্বৰ সবিশেষ</translation>
 <translation id="1126809382673880764">আপোনাক বিপজ্জনক ৱেবছাইট, ডাউনল’ড অথবা এক্সটেনশ্বনসমূহৰ পৰা সুৰক্ষা প্ৰদান নকৰে। Gmail আৰু Searchৰ দৰে অন্য Google সেৱাসমূহ, য’ত সুৰক্ষিত ব্ৰাউজিঙৰ সুবিধাটো উপলব্ধ, সেইবিলাকত আপুনি তথাপি এই সুবিধাটো পাব।</translation>
 <translation id="1129510026454351943">সবিশেষ: <ph name="ERROR_DESCRIPTION" /></translation>
@@ -102,6 +103,7 @@
 <translation id="1749561566933687563">আপোনাৰ বুকমার্কসমূহ ছিংক কৰক</translation>
 <translation id="17513872634828108">খুলি ৰখা টেবসমূহ</translation>
 <translation id="1754404134430936718">পাঠৰ প্ৰতিলিপি কৰা হ’ল</translation>
+<translation id="1772137089884020309">বুকমাৰ্ক ফ'ল্ডাৰৰ সূচীখন বন্ধ কৰা হ'ল</translation>
 <translation id="1782483593938241562">সমাপ্ত হোৱাৰ দিন <ph name="DATE" /></translation>
 <translation id="1791662854739702043">ইনষ্টল কৰা হ’ল</translation>
 <translation id="1792959175193046959">ডাউনল'ডৰ ডিফ'ল্ট অৱস্থান যিকোনো সময়তে সলনি কৰক</translation>
@@ -181,6 +183,7 @@
 <translation id="2276696007612801991">আপোনাৰ পাছৱৰ্ডসমূহ পৰীক্ষা কৰিবলৈ আপোনাৰ Google একাউণ্টত ছাইন ইন কৰক</translation>
 <translation id="2286841657746966508">বিলিঙৰ ঠিকনা</translation>
 <translation id="230115972905494466">খাপ খোৱা কোনো ডিভাইচ বিচাৰি পোৱা নগ’ল</translation>
+<translation id="230155349749732438">এই ছেটিংটো ব্যৱহাৰ কৰিবলৈ <ph name="BEGIN_LINK" />সন্ধান আৰু ব্ৰাউজিং উন্নত কৰক<ph name="END_LINK" /> অন কৰিবই লাগিব</translation>
 <translation id="2318045970523081853">কল কৰিবলৈ টিপক</translation>
 <translation id="2321086116217818302">পাছৱর্ড সাজু কৰি থকা হৈছে…</translation>
 <translation id="2321958826496381788">আপুনি এইখিনি অনায়সে পঢ়িব নোৱাৰালৈকে স্লাইডাৰটো টানক। কোনো পেৰেগ্ৰাফত দুবাৰ টিপিলে পাঠখিনি অতি কমেও ইমানখিনি ডাঙৰ দেখা হ'ব লাগে।</translation>
@@ -317,6 +320,7 @@
 <translation id="3269093882174072735">ছবি ল’ড কৰক</translation>
 <translation id="3269956123044984603">আপোনাৰ অন্য ডিভাইচৰ টেব এইটোত পাবলৈ Android একাউণ্ট ছেটিঙত "ডেটা স্বয়ংক্রিয়ভাৱে ছিংক কৰক" অন কৰক।</translation>
 <translation id="3282568296779691940">Chromeত ছাইন-ইন কৰক</translation>
+<translation id="3284510035090979597">আগতীয়া সহায়</translation>
 <translation id="3285080554353377245">Chrome কেনেকৈ ব্যৱহাৰ কৰিব লাগে সেই সম্পৰ্কে ভিডিঅ'</translation>
 <translation id="3288003805934695103">এই পৃষ্ঠাটো পুনৰ ল’ড কৰি থকা হৈছে</translation>
 <translation id="32895400574683172">জাননীৰ অনুমতি দিয়া হৈছে</translation>
@@ -425,6 +429,7 @@
 <translation id="4084682180776658562">বুকমাৰ্ক কৰক</translation>
 <translation id="4084712963632273211"><ph name="PUBLISHER_ORIGIN" />ৰপৰা – <ph name="BEGIN_DEEMPHASIZED" />Googleএ যোগান ধৰা<ph name="END_DEEMPHASIZED" /></translation>
 <translation id="4095146165863963773">এপ্ ডেটা মচিবনে?</translation>
+<translation id="4095189195365058471"><ph name="BEGIN_NEW" />নতুন<ph name="END_NEW" /> পাছত পঢ়ক</translation>
 <translation id="4099578267706723511">Googleলৈ ব্যৱহাৰৰ পৰিসংখ্যা আৰু ক্ৰেশ্ব ৰিপ’ৰ্ট পঠিয়াই Chrome ক অধিক উন্নত কৰাত সহায় কৰক।</translation>
 <translation id="4108998448622696017">বিপজ্জনক ঘটনাবোৰৰ চিনাক্ত কৰে আৰু সেইবোৰ ঘটাৰ সময়ত আপোনাক সকীয়নি দিয়ে।</translation>
 <translation id="4116038641877404294">অফলাইন ব্যৱহাৰ কৰিবলৈ পৃষ্ঠা ডাউনল’ড কৰক</translation>
@@ -517,6 +522,7 @@
 <translation id="4763829664323285145">{FILE_COUNT,plural, =1{১টা ডাউনল'ড সম্পূর্ণ হ'ল।}one{#টা ডাউনল'ড সম্পূর্ণ হ'ল।}other{#টা ডাউনল'ড সম্পূর্ণ হ'ল।}}</translation>
 <translation id="4766678251456904326">ডিভাইচত একাউণ্ট যোগ দিয়ক</translation>
 <translation id="4767937498890654900">{FILE_COUNT,plural, =1{১ টা ডাউনল’ডৰ সময়সূচী নিৰ্ধাৰণ কৰা হৈছে।}one{# টা ডাউনল’ডৰ সময়সূচী নিৰ্ধাৰণ কৰা হৈছে।}other{# টা ডাউনল’ডৰ সময়সূচী নিৰ্ধাৰণ কৰা হৈছে।}}</translation>
+<translation id="4791358705705538979">কাৰ্যসমূহ সম্পূৰ্ণ কৰাত আপোনাক সহায় কৰে, যেনে সমগ্ৰ ৱেবত ছেকআউট কৰা</translation>
 <translation id="4802417911091824046">পাছফ্ৰেজ এনক্ৰিপশ্বনত Google Payৰ পৰিশোধ পদ্ধতি আৰু ঠিকনা অন্তৰ্ভুক্ত নহয়।
 
 এই ছেটিংটো সলনি কৰিবলৈ <ph name="BEGIN_LINK" />ছিংক ৰিছেট কৰক<ph name="END_LINK" /></translation>
@@ -667,6 +673,7 @@
 <translation id="5797070761912323120">Googleএ Search, বিজ্ঞাপন আৰু অন্য Google সেৱা ব্যক্তিকৃত কৰিবলৈ আপোনাৰ ব্ৰাউজিঙৰ ইতিহাস ব্যৱহাৰ কৰিব পাৰে</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{#ঘণ্টা পূৰ্বে}one{#ঘণ্টা পূৰ্বে}other{#ঘণ্টা পূৰ্বে}}</translation>
 <translation id="5810288467834065221">স্বত্বাধিকাৰ <ph name="YEAR" /> Google Inc। সর্বস্বত্ব সংৰক্ষিত।</translation>
+<translation id="5810864297166300463">ৱেবৰ সহায়ক</translation>
 <translation id="5814131985548525293">আৰম্ভ কৰিবলৈ ইয়াত টাইপ কৰক অথবা কণ্ঠধ্বনিৰ চিহ্নটোত টিপক</translation>
 <translation id="5817918615728894473">যোৰা লগাওক</translation>
 <translation id="583281660410589416">অজ্ঞাত</translation>
@@ -882,6 +889,7 @@
 <translation id="7177466738963138057">আপুনি এইটো পিছত ছেটিংসমূহ-লৈ গৈ সলনি কৰিব পাৰে</translation>
 <translation id="7180611975245234373">ৰিফ্ৰেশ্ব কৰক</translation>
 <translation id="7187993566681480880">আপোনাক Chromeত সুৰক্ষিত কৰি ৰাখে আৰু আপুনি ছাইন ইন হৈ থকা অৱস্থাত Googleৰ অন্য এপ্‌সমূহত আপোনাৰ সুৰক্ষা উন্নত কৰিবলৈ ব্যৱহাৰ কৰা হ’ব পাৰে।</translation>
+<translation id="718926126787620637">পূৰ্ণ উচ্চতাত খোলা বুকমাৰ্ক ফ'ল্ডাৰৰ সূচী</translation>
 <translation id="7189372733857464326">Google Play Services আপডে'ট সম্পূৰ্ণ হোৱালৈ অপেক্ষা কৰি থকা হৈছে</translation>
 <translation id="7191430249889272776">নেপথ্যত খোলা থকা টেব।</translation>
 <translation id="7233236755231902816">আপোনাৰ ভাষাত ৱেবটো চাবলৈ, Chromeৰ সকলোতকৈ শেহতীয়া সংস্কৰণটো ব্যৱহাৰ কৰক</translation>
@@ -1023,6 +1031,7 @@
 <translation id="8127542551745560481">গৃহপৃষ্ঠা সম্পাদনা কৰক</translation>
 <translation id="813082847718468539">ছাইটৰ তথ্য চাওক</translation>
 <translation id="8137558756159375272">সন্ধান কৰিবলৈ স্পৰ্শ কৰক সুবিধাটোৱে বাছনি কৰা শব্দটো আৰু প্ৰসংগ হিচাপে বর্তমানৰ পৃষ্ঠাখন Google Searchলৈ পঠিয়ায়। আপুনি এইটো <ph name="BEGIN_LINK" />ছেটিংসমূহ<ph name="END_LINK" />ত অফ কৰিব পাৰে।</translation>
+<translation id="8153351135626613369">Assistantএ আপোনাক সমৰ্থিত ৱেবছাইটসমূহত সহায় কৰিব পাৰে বুলি চিনাক্ত কৰিলে ই প্ৰদৰ্শিত হ'ব</translation>
 <translation id="8156139159503939589">আপুনি কি ভাষা পঢ়িব পাৰে?</translation>
 <translation id="8168435359814927499">সমল</translation>
 <translation id="8186512483418048923"><ph name="FILES" />টা ফাইল বাকী আছে</translation>
@@ -1120,6 +1129,7 @@
 <translation id="8912362522468806198">Google একাউণ্ট</translation>
 <translation id="8920114477895755567">অভিভাৱকৰ সবিশেষৰ বাবে অপেক্ষা কৰি আছে।</translation>
 <translation id="8922289737868596582">পৃষ্ঠাসমূহ অফলাইনত ব্যৱহাৰ কৰিবলৈ সেইসমূহ 'অধিক' বিকল্পৰ বুটামটোৰ পৰা ডাউনল’ড কৰক</translation>
+<translation id="8928626432984354940">অৰ্ধ উচ্চতাত খোলা বুকমাৰ্ক ফ'ল্ডাৰৰ সূচী</translation>
 <translation id="8937772741022875483">আপুনি Chromeত কৰা কাৰ্যকলাপ ডিজিটেল ৱেলবিইঙ-ৰ পৰা আঁতৰাবনে?</translation>
 <translation id="8942627711005830162">অন্য উইণ্ড’ত খোলক</translation>
 <translation id="8951232171465285730">Chromeএ আপোনাৰ <ph name="MEGABYTES" /> এমবি ডেটা ৰাহি কৰিছে</translation>
@@ -1170,6 +1180,7 @@
 <translation id="93753284658583800">গৃহপৃষ্ঠাখন সলনি কৰা হ'ল</translation>
 <translation id="938850635132480979">আসোঁৱাহ: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">পাছফ্ৰেজ দিয়ক</translation>
+<translation id="948039501338975565">বুকমাৰ্ক ফ'ল্ডাৰসমূহৰ সূচী</translation>
 <translation id="95817756606698420">Chromeএ চীনত সন্ধানৰ বাবে <ph name="BEGIN_BOLD" />Sogou<ph name="END_BOLD" /> ব্যৱহাৰ কৰিব পাৰে। আপুনি এইটো <ph name="BEGIN_LINK" />ছেটিংসমূহ<ph name="END_LINK" />-ত সলনি কৰিব পাৰে।</translation>
 <translation id="962979164594783469">এই এপ্‌টো ইনষ্টল কৰক</translation>
 <translation id="968900484120156207">আপুনি যিবোৰ ছাইট চায় সেইবোৰ ইয়াত দেখা যায়</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
index 353e30d..7d66f5f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Čekanje detalja roditelja.</translation>
 <translation id="8922289737868596582">Preuzmite stranice pomoću dugmeta Više opcija da ih koristite van mreže</translation>
 <translation id="8928626432984354940">Lista foldera s oznakama je otvorena na pola visine</translation>
+<translation id="8937267401510745927">Radi lakšeg završavanja zadataka, Google će primati URL-ove i sadržaj web lokacija na kojima koristite Asistenta, kao i informacije koje pošaljete putem Asistenta. Ove informacije se mogu pohraniti na vaš Google račun. Možete isključiti Asistenta u postavkama Chromea.</translation>
 <translation id="8937772741022875483">Ukloniti aktivnosti Chromea iz Digitalnog blagostanja?</translation>
 <translation id="8942627711005830162">Otvori u drugom prozoru</translation>
 <translation id="8951232171465285730">Chrome vam je uštedio <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
index 73371d4..7c64ca9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">S'està esperant la informació parental.</translation>
 <translation id="8922289737868596582">Baixa pàgines amb el botó Més opcions per utilitzar-les sense connexió</translation>
 <translation id="8928626432984354940">La llista de carpetes d'adreces d'interès s'ha obert a mitja alçada</translation>
+<translation id="8937267401510745927">Per ajudar-te a dur a terme tasques, Google rebrà els URL i el contingut dels llocs web en què facis servir l'Assistent, així com la informació que enviïs amb l'Assistent. Pot ser que aquesta informació s'emmagatzemi al teu Compte de Google. Pots desactivar l'Assistent a la configuració de Chrome.</translation>
 <translation id="8937772741022875483">Vols suprimir l'activitat de Chrome a Benestar digital?</translation>
 <translation id="8942627711005830162">Obre en una altra finestra</translation>
 <translation id="8951232171465285730">Chrome t'ha estalviat <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
index 3cefa18..70be9b4 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Čekáme na podrobnosti o rodičích.</translation>
 <translation id="8922289737868596582">Stáhněte si stránky k použití offline pomocí tlačítka Další možnosti</translation>
 <translation id="8928626432984354940">Seznam složek se záložkami otevřený na poloviční výšku</translation>
+<translation id="8937267401510745927">Abyste mohli provádět akce, Google bude dostávat adresy URL a obsah webů, ve kterých používáte Asistenta, a informace, které prostřednictvím Asistenta odesíláte. Tyto informace mohou být ukládány do vašeho účtu Google. Asistenta můžete vypnout v nastavení Chromu.</translation>
 <translation id="8937772741022875483">Odstranit vaši aktivitu v Chromu z digitální rovnováhy?</translation>
 <translation id="8942627711005830162">Otevřít v jiném okně</translation>
 <translation id="8951232171465285730">Chrome vám ušetřil <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
index f9bf108..bd58bbe 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Venter på oplysninger om forældre.</translation>
 <translation id="8922289737868596582">Download sider via knappen Flere valgmuligheder for at bruge dem, når du er offline</translation>
 <translation id="8928626432984354940">Listen over bogmærkemapper er åbnet i halv højde.</translation>
+<translation id="8937267401510745927">For at hjælpe dig med at udføre opgaver modtager Google webadresser for og indhold på websites, hvor du bruger Assistent, samt oplysninger du indsender via Assistent. Disse oplysninger gemmes muligvis på din Google-konto. Du kan deaktivere Assistent i indstillingerne for Chrome.</translation>
 <translation id="8937772741022875483">Vil du fjerne din Chrome-aktivitet fra Digital balance?</translation>
 <translation id="8942627711005830162">Åbn i et andet vindue</translation>
 <translation id="8951232171465285730">Chrome har sparet dig <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
index 07c4b13..8668978 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Αναμονή για λεπτομέρειες γονέων.</translation>
 <translation id="8922289737868596582">Κατεβάστε σελίδες από το κουμπί "Περισσότερες επιλογές" για να τις χρησιμοποιήσετε εκτός σύνδεσης</translation>
 <translation id="8928626432984354940">Η λίστα φακέλων σελιδοδεικτών άνοιξε στο μισό ύψος</translation>
+<translation id="8937267401510745927">Για να σας βοηθήσει να ολοκληρώνετε τις εργασίες σας, η Google θα λάβει τα URL και το περιεχόμενο των ιστοτόπων στους οποίους χρησιμοποιείτε τον Βοηθό, καθώς και τις πληροφορίες που υποβάλετε μέσω του Βοηθού. Αυτές οι πληροφορίες μπορεί να αποθηκεύονται στον Λογαριασμό σας Google. Μπορείτε να απενεργοποιήσετε τον Βοηθό στις ρυθμίσεις του Chrome.</translation>
 <translation id="8937772741022875483">Να καταργηθεί η δραστηριότητα του Chrome από το Digital Wellbeing;</translation>
 <translation id="8942627711005830162">Άνοιγμα σε άλλο παράθυρο</translation>
 <translation id="8951232171465285730">Το Chrome έχει εξοικονομήσει <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
index 12c2020..9efc6a9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Waiting for details of parents.</translation>
 <translation id="8922289737868596582">Download pages from the More Options button to use them offline</translation>
 <translation id="8928626432984354940">List of bookmark folders opened at half height</translation>
+<translation id="8937267401510745927">To help you complete tasks, Google will receive the URLs and contents of sites on which you use Assistant, as well as information that you submit through Assistant. This information may be stored in your Google Account. You can turn off Assistant in Chrome settings.</translation>
 <translation id="8937772741022875483">Remove your Chrome activity from Digital Wellbeing?</translation>
 <translation id="8942627711005830162">Open in other window</translation>
 <translation id="8951232171465285730">Chrome has saved you <ph name="MEGABYTES" /> MB</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 37db05a..856ae380 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
@@ -16,7 +16,7 @@
 <translation id="1105960400813249514">Captura de pantalla</translation>
 <translation id="1111673857033749125">Los favoritos guardados en tus otros dispositivos aparecerán aquí.</translation>
 <translation id="1113597929977215864">Mostrar la vista simplificada</translation>
-<translation id="1118561384561215815">Ayuda con tareas en la Web</translation>
+<translation id="1118561384561215815">Obtener ayuda para la Web</translation>
 <translation id="1123070903960493543">Cómo interactúas con Chrome, las opciones de configuración que elegiste y detalles sobre las fallas de Chrome</translation>
 <translation id="1126809382673880764">No te protege contra descargas, extensiones ni sitios web peligrosos. Seguirás teniendo la protección (donde esté disponible) de la Navegación segura en otros servicios de Google, como Gmail y la Búsqueda.</translation>
 <translation id="1129510026454351943">Detalles: <ph name="ERROR_DESCRIPTION" /></translation>
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">Obtén información sobre los temas en sitios web sin salir de la página. La función Tocar para buscar envía una palabra y el contexto en el que se encuentra a la Búsqueda de Google, y muestra definiciones, fotos, resultados de la búsqueda y otros detalles.
 
 Para buscar una palabra, mantenla presionada. Si quieres definir mejor la búsqueda, selecciona más o menos palabras. Si quieres editar la búsqueda, abre el panel, presiona el ícono para abrir una pestaña nueva y realiza los cambios que quieras en el cuadro de búsqueda.</translation>
+<translation id="2459390580524506445">Búsqueda por voz mejorada</translation>
 <translation id="246532703174860178">Compartir</translation>
 <translation id="2478076885740497414">Instalar aplicación</translation>
 <translation id="2479148705183875116">Ir a Configuración</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Almacenamiento de Google <ph name="APP_NAME" /></translation>
 <translation id="2942036813789421260">Se cerró la pestaña de vista previa</translation>
 <translation id="2956410042958133412"><ph name="PARENT_NAME_1" /> y <ph name="PARENT_NAME_2" /> administran esta cuenta.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> página no leída}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> páginas no leídas}}</translation>
 <translation id="2962095958535813455">Se seleccionaron las pestañas en modo de navegación de incógnito</translation>
 <translation id="2979025552038692506">Pestaña de incógnito seleccionada</translation>
 <translation id="2987620471460279764">Texto compartido desde otro dispositivo</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">Las notificaciones están habilitadas</translation>
 <translation id="3290991969712132877">Para acceder aquí más rápido, agrega esta página a tu pantalla principal desde el botón Más opciones</translation>
 <translation id="3295530008794733555">Navega más rápido; usa menos datos</translation>
+<translation id="3297344142967351106">Asistencia de voz</translation>
 <translation id="3298243779924642547">Básico</translation>
 <translation id="3303414029551471755">¿Deseas descargar el contenido?</translation>
 <translation id="3315103659806849044">Estás personalizando la opción de configuración "Sincronización y servicios". Para activar la sincronización, presiona el botón Confirmar cerca de la parte inferior de la pantalla. Navegar hacia arriba</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">Se bloqueó el redireccionamiento</translation>
 <translation id="5527082711130173040">Chrome debe acceder a la ubicación para buscar dispositivos. <ph name="BEGIN_LINK1" />Actualiza los permisos<ph name="END_LINK1" />. El acceso a la ubicación también está <ph name="BEGIN_LINK2" />desactivado en este dispositivo<ph name="END_LINK2" />.</translation>
 <translation id="5530766185686772672">Cerrar pest. de incógnito</translation>
+<translation id="5530920986376047241">Puedes guardar páginas en tu lista de lectura para volver a ellas más tarde.</translation>
 <translation id="5534640966246046842">Se copió el sitio</translation>
 <translation id="5556459405103347317">Cargar de nuevo</translation>
 <translation id="5561549206367097665">Esperando red…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">Abrir una pestaña de incógnito</translation>
 <translation id="6000066717592683814">Seguir usando Google</translation>
 <translation id="6005538289190791541">Contraseña sugerida</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{Tienes <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> página}other{Tienes <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> páginas}}</translation>
 <translation id="6014293228235665243">No leídas</translation>
 <translation id="6036057147555329831">ICU adicional</translation>
 <translation id="6039379616847168523">Ir a la pestaña siguiente</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Datos de Chrome borrados</translation>
 <translation id="7577900504646297215">Administrar intereses</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> archivo descargado}other{<ph name="FILES_DOWNLOADED_MANY" /> archivos descargados}}</translation>
+<translation id="7583262514280211622">Aquí encontrarás tu lista de lectura</translation>
 <translation id="7588219262685291874">Activar el tema oscuro cuando esté activado el Ahorro de batería de tu dispositivo</translation>
 <translation id="7593557518625677601">Para iniciar la Sincronización de Chrome, abre la configuración de Android y vuelve a habilitar la sincronización del sistema Android</translation>
 <translation id="7596558890252710462">Sistema operativo</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092">Cerrar <ph name="APP_NAME" /></translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" /> y <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> más}other{<ph name="PAYMENT_METHOD_PREVIEW" /> y <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> más}}</translation>
 <translation id="7778840695157240389">Vuelve más tarde para ver historias nuevas</translation>
+<translation id="7786595606756654269">Asistente de Google proporciona una mejor experiencia de voz para realizar búsquedas en la Web y relacionarse con los sitios que abras. Asistente de Google tendrá acceso a las URL y al contenido de los sitios que uses.</translation>
 <translation id="7791543448312431591">Agregar</translation>
 <translation id="7798392620021911922">Se restablecieron <ph name="TAB_COUNT" /> pestañas</translation>
 <translation id="780301667611848630">No, gracias</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">Inhabilitaste el acceso al almacenamiento. Ve a la Configuración para habilitarlo.</translation>
 <translation id="7963646190083259054">Proveedor:</translation>
 <translation id="7967911570373677897">Si quieres escanear un código QR, cambia la configuración para que Chrome pueda usar la cámara</translation>
+<translation id="7968014550143838305">Se agregó a la lista de lectura</translation>
 <translation id="7971136598759319605">Activo hace 1 día</translation>
 <translation id="7975379999046275268">Vista previa de página <ph name="BEGIN_NEW" />Nueva<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">Precargar las páginas para acelerar la navegación y las búsquedas</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381">El idioma <ph name="LANG" /> está listo.</translation>
 <translation id="8393700583063109961">Enviar mensaje</translation>
 <translation id="8407396331882458341">1. Elige <ph name="APP_NAME" />.\n2. Presiona "Siempre".</translation>
+<translation id="8410695015584479363">Seguimiento de precios</translation>
 <translation id="8413126021676339697">Mostrar historial completo</translation>
 <translation id="8425213833346101688">Cambiar</translation>
 <translation id="8427875596167638501">La pestaña de vista previa está abierta a la mitad</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
index 34792da..ac5ff0b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">Aprende sobre diferentes temas sin salir de una página web. La función Tocar para buscar envía una palabra y su contexto a la Búsqueda de Google y te muestra definiciones, imágenes, resultados de búsqueda y otros datos.
 
 Mantén pulsada cualquier palabra para buscarla. Para acotar la búsqueda, selecciona más o menos palabras. Para modificar la búsqueda, abre el panel, toca el icono para abrirla en una pestaña nueva y haz los cambios que desees en el cuadro de búsqueda.</translation>
+<translation id="2459390580524506445">Búsqueda por voz mejorada</translation>
 <translation id="246532703174860178">Compartir</translation>
 <translation id="2478076885740497414">Instalar aplicación</translation>
 <translation id="2479148705183875116">Ve a Ajustes</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Almacenamiento de Google <ph name="APP_NAME" /></translation>
 <translation id="2942036813789421260">La pestaña de vista previa está cerrada</translation>
 <translation id="2956410042958133412">Esta cuenta está administrada por <ph name="PARENT_NAME_1" /> y <ph name="PARENT_NAME_2" />.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> página no leída}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> páginas no leídas}}</translation>
 <translation id="2962095958535813455">Se ha cambiado a las pestañas de incógnito</translation>
 <translation id="2979025552038692506">Pestaña de incógnito seleccionada</translation>
 <translation id="2987620471460279764">Texto compartido desde otro dispositivo</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">Las notificaciones están permitidas</translation>
 <translation id="3290991969712132877">Para acceder a esta página más rápido, añádela a tu pantalla de inicio con el botón Más opciones</translation>
 <translation id="3295530008794733555">Navega más rápido. Usa menos datos.</translation>
+<translation id="3297344142967351106">Asistente de voz</translation>
 <translation id="3298243779924642547">Básico</translation>
 <translation id="3303414029551471755">¿Quieres continuar para descargar el contenido?</translation>
 <translation id="3315103659806849044">En estos momentos estás personalizando los ajustes de los servicios de Google y sincronización. Para activar finalmente la sincronización, toca el botón Confirmar, que se encuentra casi al final de la pantalla. Desplázate hacia arriba</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">Redirección bloqueada.</translation>
 <translation id="5527082711130173040">Chrome necesita acceder a la ubicación para buscar dispositivos. <ph name="BEGIN_LINK1" />Actualizar permisos<ph name="END_LINK1" />. El acceso a la ubicación también está <ph name="BEGIN_LINK2" />desactivado en este dispositivo<ph name="END_LINK2" />.</translation>
 <translation id="5530766185686772672">Cerrar pestañas de incógnito</translation>
+<translation id="5530920986376047241">Puedes guardar páginas en tu lista de lectura para volver a ellas en otro momento</translation>
 <translation id="5534640966246046842">Se ha copiado el sitio web</translation>
 <translation id="5556459405103347317">Volver a cargar</translation>
 <translation id="5561549206367097665">Esperando red…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">Abrir una pestaña de incógnito</translation>
 <translation id="6000066717592683814">Mantener Google como motor de búsqueda predeterminado</translation>
 <translation id="6005538289190791541">Contraseña sugerida</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{Tienes <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> página}other{Tienes <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> páginas}}</translation>
 <translation id="6014293228235665243">No leído</translation>
 <translation id="6036057147555329831">ICU adicional</translation>
 <translation id="6039379616847168523">Te dirige a la siguiente pestaña</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Datos de Chrome borrados</translation>
 <translation id="7577900504646297215">Gestionar intereses</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> archivo descargado}other{<ph name="FILES_DOWNLOADED_MANY" /> archivos descargados}}</translation>
+<translation id="7583262514280211622">Aquí verás tu lista de lectura</translation>
 <translation id="7588219262685291874">Activar el tema oscuro cuando el dispositivo esté en modo de ahorro de batería</translation>
 <translation id="7593557518625677601">Abre los ajustes de Android y vuelve a habilitar la sincronización del sistema Android para iniciar la sincronización de Chrome</translation>
 <translation id="7596558890252710462">Sistema operativo</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092">Cerrar <ph name="APP_NAME" /></translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 y <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> más}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 y <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> más}}</translation>
 <translation id="7778840695157240389">Vuelve en otro momento para descubrir más historias</translation>
+<translation id="7786595606756654269">El Asistente de Google proporciona una mejor experiencia por voz de búsqueda en la Web y de interacción con sitios abiertos. El Asistente de Google recibe la URL y el contenido de los sitios en los que lo usas.</translation>
 <translation id="7791543448312431591">Añadir</translation>
 <translation id="7798392620021911922"><ph name="TAB_COUNT" /> pestañas restauradas</translation>
 <translation id="780301667611848630">No, gracias</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">Has inhabilitado el acceso al almacenamiento; ve a Ajustes para habilitarlo.</translation>
 <translation id="7963646190083259054">Proveedor:</translation>
 <translation id="7967911570373677897">Para escanear un código QR, cambia los ajustes para que Chrome pueda usar tu cámara</translation>
+<translation id="7968014550143838305">Añadido a la lista de lectura</translation>
 <translation id="7971136598759319605">Activo hace 1 día</translation>
 <translation id="7975379999046275268">Revisar página <ph name="BEGIN_NEW" />Nuevo<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">Cargar previamente las páginas para que la navegación y las búsquedas sean más rápidas</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381"><ph name="LANG" /> ya está listo.</translation>
 <translation id="8393700583063109961">Enviar mensaje</translation>
 <translation id="8407396331882458341">1. Elige <ph name="APP_NAME" />\n2. Toca "Siempre"</translation>
+<translation id="8410695015584479363">Seguimiento de precios</translation>
 <translation id="8413126021676339697">Mostrar historial completo</translation>
 <translation id="8425213833346101688">Cambiar</translation>
 <translation id="8427875596167638501">La pestaña de vista previa está medio abierta</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
index 3755030f..2337c86 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Vanema üksikasjade ootamine.</translation>
 <translation id="8922289737868596582">Laadige lehed alla nupu Rohkem valikuid abil, et neid võrguühenduseta kasutada</translation>
 <translation id="8928626432984354940">Poolel kõrgusel avatud järjehoidjakaustade loend</translation>
+<translation id="8937267401510745927">Selleks et aidata teil toiminguid teha, saadetakse Google'ile nende saitide URL-id ja sisu, millel assistenti kasutate, ning teave, mille assistendi kaudu esitate. See teave võidakse salvestada teie Google'i kontole. Assistendi saab Chrome'i seadetes välja lülitada.</translation>
 <translation id="8937772741022875483">Kas eemaldada teie Chrome'i tegevused teenusest Digitaalne heaolu?</translation>
 <translation id="8942627711005830162">Ava teises aknas</translation>
 <translation id="8951232171465285730">Chrome aitas teil säästa <ph name="MEGABYTES" /> MB andmemahtu</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 b956dd6..a3e18af3 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
@@ -16,7 +16,7 @@
 <translation id="1105960400813249514">Pantaila-argazkia</translation>
 <translation id="1111673857033749125">Beste gailuetan gordeta dituzun laster-markak hemen agertuko dira.</translation>
 <translation id="1113597929977215864">Erakutsi ikuspegi sinplifikatua</translation>
-<translation id="1118561384561215815">Lortu sareko laguntza zereginak egiteko</translation>
+<translation id="1118561384561215815">Lortu zereginak sarean egiteko laguntza</translation>
 <translation id="1123070903960493543">Chrome-rekin dituzun interakzioak, hautatu dituzun ezarpenak, Chrome-ren hutsegiteen xehetasunak</translation>
 <translation id="1126809382673880764">Ez zaitu babesten webgune, deskarga eta luzapen kaltegarrien aurka. Erabilgarri dagoenean, arakatze seguruaren babesa jasotzen jarraituko duzu Google-ren beste zerbitzu batzuetan (Gmail-en eta Bilaketa zerbitzuan, esaterako).</translation>
 <translation id="1129510026454351943">Xehetasunak: <ph name="ERROR_DESCRIPTION" /></translation>
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Gurasoen xehetasunen zain.</translation>
 <translation id="8922289737868596582">Sakatu Aukera gehiago botoia orriak deskargatu eta konexiorik gabe erabiltzeko</translation>
 <translation id="8928626432984354940">Altuera erdian ireki diren laster-marken karpeten zerrenda</translation>
+<translation id="8937267401510745927">Zereginak osatzen laguntzeko, Laguntzailea eginbidearen bidez erabiltzen dituzun webguneen URLak eta edukia jasoko ditu Google-k, baita Laguntzailea erabilita bidaltzen duzun informazioa ere. Baliteke informazio hori Google-n duzun kontuan gordetzea. Laguntzailea desaktibatzeko, joan Chrome-ren ezarpenetara.</translation>
 <translation id="8937772741022875483">Chrome-ko jarduerak Ongizate digitala programatik kendu nahi dituzu?</translation>
 <translation id="8942627711005830162">Ireki beste leiho batean</translation>
 <translation id="8951232171465285730"><ph name="MEGABYTES" /> MB aurreztu dituzu Chrome-ri esker</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
index 37414aa..53bcb8b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">Apprenez-en davantage sur des sujets mentionnés sur des sites Web sans quitter la page. La fonctionnalité Toucher pour rechercher envoie un mot et son contexte à la recherche Google, qui vous renvoie des définitions, des photos, des résultats de recherche et d'autres renseignements.
 
 Maintenez le doigt sur un mot pour effectuer une recherche sur celui-ci. Pour affiner votre recherche, sélectionnez plus ou moins de mots. Pour modifier votre recherche, ouvrez le panneau, touchez l'icône pour ouvrir la recherche dans un nouvel onglet, puis effectuez les modifications souhaitées dans le champ de recherche.</translation>
+<translation id="2459390580524506445">Recherche vocale améliorée</translation>
 <translation id="246532703174860178">Partager</translation>
 <translation id="2478076885740497414">Installer l'application</translation>
 <translation id="2479148705183875116">Accéder aux paramètres</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Stockage de Google <ph name="APP_NAME" /></translation>
 <translation id="2942036813789421260">L'onglet d'aperçu est fermé</translation>
 <translation id="2956410042958133412">Ce compte est géré par <ph name="PARENT_NAME_1" /> et <ph name="PARENT_NAME_2" />.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> page non lue}one{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> page non lue}many{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> unread pages}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> pages non lues}}</translation>
 <translation id="2962095958535813455">Passage aux onglets de navigation privée</translation>
 <translation id="2979025552038692506">Onglet de navigation privée sélectionné</translation>
 <translation id="2987620471460279764">Texte partagé à partir d'un autre appareil</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">Les notifications sont autorisées</translation>
 <translation id="3290991969712132877">Pour revenir à cette page plus rapidement, ajoutez-la à votre écran d'accueil à l'aide du bouton Plus d'options</translation>
 <translation id="3295530008794733555">Naviguez plus vite. Utilisez moins de données.</translation>
+<translation id="3297344142967351106">Assistance vocale</translation>
 <translation id="3298243779924642547">Simplifié</translation>
 <translation id="3303414029551471755">Lancer le téléchargement du contenu?</translation>
 <translation id="3315103659806849044">Vous personnalisez actuellement les paramètres relatifs aux services Google et à la synchronisation. Pour valider l'activation de la synchronisation, touchez le bouton Confirmer dans le bas de l'écran. Revenir au haut de la page</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">Redirection bloquée.</translation>
 <translation id="5527082711130173040">Google Chrome nécessite l'accès à votre position pour rechercher des appareils. <ph name="BEGIN_LINK1" />Mettre à jour les autorisations<ph name="END_LINK1" />. L'accès à la position est également <ph name="BEGIN_LINK2" />désactivé pour cet appareil<ph name="END_LINK2" />.</translation>
 <translation id="5530766185686772672">Fermer les onglets de navigation privée</translation>
+<translation id="5530920986376047241">Vous pouvez enregistrer des pages dans votre liste de lecture pour les retrouver plus tard</translation>
 <translation id="5534640966246046842">Site copié</translation>
 <translation id="5556459405103347317">Actualiser</translation>
 <translation id="5561549206367097665">En attente du réseau…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">Ouvrir un onglet de navigation privée</translation>
 <translation id="6000066717592683814">Conserver Google</translation>
 <translation id="6005538289190791541">Mot de passe suggéré</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{Vous avez <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> page}one{Vous avez <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> page}many{You have <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> pages}other{Vous avez <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> pages}}</translation>
 <translation id="6014293228235665243">Non lu</translation>
 <translation id="6036057147555329831">ICU supplémentaire</translation>
 <translation id="6039379616847168523">Accéder à l'onglet suivant</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Données de Chrome effacées</translation>
 <translation id="7577900504646297215">Gérer les centres d'intérêt</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> fichier téléchargé}one{<ph name="FILES_DOWNLOADED_MANY" /> fichier téléchargé}many{<ph name="FILES_DOWNLOADED_MANY" /> files downloaded}other{<ph name="FILES_DOWNLOADED_MANY" /> fichiers téléchargés}}</translation>
+<translation id="7583262514280211622">Vous trouverez votre liste de lecture ici</translation>
 <translation id="7588219262685291874">Activer le thème sombre lorsque la fonction Économiseur de pile de votre appareil est activée</translation>
 <translation id="7593557518625677601">Ouvr. param. Android et réact. sync. syst. Android pour commencer sync. Chrome</translation>
 <translation id="7596558890252710462">Système d'exploitation</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092">Fermer <ph name="APP_NAME" /></translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> autre mode de paiement}one{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> autre mode de paiement}many{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 and <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> more}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> autres modes de paiement}}</translation>
 <translation id="7778840695157240389">Revenez plus tard lorsque de nouveaux articles seront proposés</translation>
+<translation id="7786595606756654269">L'Assistant Google vous procure une meilleure expérience vocale pour effectuer des recherches sur le Web et pour interagir avec les que vous avez ouverts. L'Assistant Google recevra l'URL et le contenu des sites avec lesquels vous l'utilisez.</translation>
 <translation id="7791543448312431591">Ajouter</translation>
 <translation id="7798392620021911922"><ph name="TAB_COUNT" /> onglets restaurés</translation>
 <translation id="780301667611848630">Non merci</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">Vous avez désactivé l'accès à l'espace de stockage. Veuillez accéder au menu Paramètres pour l'activer.</translation>
 <translation id="7963646190083259054">Fournisseur :</translation>
 <translation id="7967911570373677897">Pour numériser un code QR, modifiez vos paramètres pour que Chrome puisse utiliser votre appareil photo</translation>
+<translation id="7968014550143838305">Ajouté à la liste de lecture</translation>
 <translation id="7971136598759319605">Actif il y a 1 jour</translation>
 <translation id="7975379999046275268">Prévisualiser la page <ph name="BEGIN_NEW" />Nouveau<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">Précharger les pages pour une navigation et une recherche plus rapides</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381"><ph name="LANG" /> est prête à être utilisée.</translation>
 <translation id="8393700583063109961">Envoyer un message</translation>
 <translation id="8407396331882458341">1. Sélectionnez <ph name="APP_NAME" />\n2. Touchez « Toujours »</translation>
+<translation id="8410695015584479363">Suivre les prix</translation>
 <translation id="8413126021676339697">Afficher l'historique complet</translation>
 <translation id="8425213833346101688">Modifier</translation>
 <translation id="8427875596167638501">L'onglet d'aperçu est ouvert à moitié</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
index 298d40e..7929b32 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">Découvrez les thèmes abordés sur la page Web que vous consultez sans devoir quitter cette page. La fonctionnalité Appuyer pour rechercher transmet un mot et son contexte à la recherche Google, qui renvoie à son tour des définitions, des images, des résultats de recherche et d'autres informations.
 
 Appuyez sur n'importe quel mot pour effectuer une recherche. Pour affiner la recherche, sélectionnez plus ou moins de mots. Pour modifier la recherche, ouvrez le panneau, appuyez sur l'icône pour ouvrir la recherche dans un nouvel onglet, puis modifiez-la dans le champ correspondant.</translation>
+<translation id="2459390580524506445">Recherche vocale améliorée</translation>
 <translation id="246532703174860178">Partager</translation>
 <translation id="2478076885740497414">Installer l'application</translation>
 <translation id="2479148705183875116">Accéder aux paramètres</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Stockage Google <ph name="APP_NAME" /></translation>
 <translation id="2942036813789421260">L'onglet "Aperçu" est fermé</translation>
 <translation id="2956410042958133412">Ce compte est géré par <ph name="PARENT_NAME_1" /> et <ph name="PARENT_NAME_2" />.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> page non lue}one{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> page non lue}many{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> unread pages}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> pages non lues}}</translation>
 <translation id="2962095958535813455">Onglets de navigation privée sélectionnés</translation>
 <translation id="2979025552038692506">Onglet de navigation privée sélectionné</translation>
 <translation id="2987620471460279764">Texte partagé depuis un autre appareil</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">Les notifications sont autorisées</translation>
 <translation id="3290991969712132877">Pour accéder à ce site plus rapidement, ajoutez-le à l'écran d'accueil en cliquant sur le bouton "Plus d'options"</translation>
 <translation id="3295530008794733555">Naviguez plus rapidement en consommant moins de données</translation>
+<translation id="3297344142967351106">Assistance vocale</translation>
 <translation id="3298243779924642547">Simplifié</translation>
 <translation id="3303414029551471755">Poursuivre et télécharger le contenu ?</translation>
 <translation id="3315103659806849044">Vous personnalisez actuellement les paramètres relatifs aux services Google et à la synchronisation. Pour valider l'activation de la synchronisation, appuyez sur le bouton "Confirmer" en bas de l'écran. Revenir en haut de la page</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">Redirection bloquée.</translation>
 <translation id="5527082711130173040">Chrome doit avoir accès aux données de localisation pour rechercher des appareils. <ph name="BEGIN_LINK1" />Modifiez les autorisations.<ph name="END_LINK1" /> De plus, l'accès aux données de localisation est <ph name="BEGIN_LINK2" />désactivé pour cet appareil<ph name="END_LINK2" />.</translation>
 <translation id="5530766185686772672">Fermer onglets navig. privée</translation>
+<translation id="5530920986376047241">Vous pouvez enregistrer des pages dans votre liste de lecture pour les lire plus tard</translation>
 <translation id="5534640966246046842">Site copié</translation>
 <translation id="5556459405103347317">Actualiser</translation>
 <translation id="5561549206367097665">En attente de connexion au réseau…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">Ouvrir un onglet de navigation privée</translation>
 <translation id="6000066717592683814">Conserver Google</translation>
 <translation id="6005538289190791541">Mot de passe suggéré</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{Vous avez <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> page}one{Vous avez <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> page}many{You have <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> pages}other{Vous avez <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> pages}}</translation>
 <translation id="6014293228235665243">Non lu</translation>
 <translation id="6036057147555329831">ICU supplémentaire</translation>
 <translation id="6039379616847168523">Accéder à l'onglet suivant</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Données de Chrome effacées</translation>
 <translation id="7577900504646297215">Gérer les centres d'intérêt</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> fichier téléchargé}one{<ph name="FILES_DOWNLOADED_MANY" /> fichier téléchargé}many{<ph name="FILES_DOWNLOADED_MANY" /> files downloaded}other{<ph name="FILES_DOWNLOADED_MANY" /> fichiers téléchargés}}</translation>
+<translation id="7583262514280211622">Votre liste de lecture s'affichera ici</translation>
 <translation id="7588219262685291874">Activer le thème sombre lorsque l'économiseur de batterie de l'appareil est activé</translation>
 <translation id="7593557518625677601">Ouvrez paramètres Android et réactivez synchro système Android pour démarrer synchro Chrome.</translation>
 <translation id="7596558890252710462">Système d'exploitation</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092">Fermer <ph name="APP_NAME" /></translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> de plus}one{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> de plus}many{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 and <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> more}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 et <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> de plus}}</translation>
 <translation id="7778840695157240389">Revenez plus tard pour découvrir d'autres événements</translation>
+<translation id="7786595606756654269">L'Assistant Google propose une fonctionnalité améliorée pour effectuer des recherches vocales sur le Web et interagir avec les sites que vous consultez. Il recevra l'URL et le contenu des sites sur lesquels vous faites appel à lui.</translation>
 <translation id="7791543448312431591">Ajouter</translation>
 <translation id="7798392620021911922"><ph name="TAB_COUNT" /> onglets sont restaurés</translation>
 <translation id="780301667611848630">Non merci</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">Vous avez désactivé l'accès à l'espace de stockage. Veuillez accéder aux paramètres pour l'activer.</translation>
 <translation id="7963646190083259054">Fournisseur :</translation>
 <translation id="7967911570373677897">Pour scanner un code QR, modifiez vos paramètres pour autoriser Chrome à utiliser votre appareil photo</translation>
+<translation id="7968014550143838305">Ajouté à la liste de lecture</translation>
 <translation id="7971136598759319605">Actif il y a 1 jour</translation>
 <translation id="7975379999046275268">Prévisualiser la page <ph name="BEGIN_NEW" />Nouveau<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">Précharger les pages pour accélérer la navigation et la recherche</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381">Module linguistique "<ph name="LANG" />" prêt.</translation>
 <translation id="8393700583063109961">Envoyer un message</translation>
 <translation id="8407396331882458341">1. Sélectionnez <ph name="APP_NAME" />\n2. Appuyez sur "Toujours"</translation>
+<translation id="8410695015584479363">Activer le suivi des prix</translation>
 <translation id="8413126021676339697">Afficher l'historique complet</translation>
 <translation id="8425213833346101688">Modifier</translation>
 <translation id="8427875596167638501">L'onglet "Aperçu" est ouvert à moitié</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
index 188def5..1a8f523 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
@@ -522,7 +522,7 @@
 <translation id="4763829664323285145">{FILE_COUNT,plural, =1{1 preuzimanje dovršeno.}one{# preuzimanje dovršeno.}few{# preuzimanja dovršena.}other{# preuzimanja dovršeno.}}</translation>
 <translation id="4766678251456904326">Dodajte račun uređaju</translation>
 <translation id="4767937498890654900">{FILE_COUNT,plural, =1{Zakazano je jedno preuzimanje.}one{Zakazano je # preuzimanje.}few{Zakazana su # preuzimanja.}other{Zakazano je # preuzimanja.}}</translation>
-<translation id="4791358705705538979">Pomaže vam s izvršavanjem zadataka, na primjer s naplatom, na webu</translation>
+<translation id="4791358705705538979">Pomaže vam s izvršavanjem zadataka na webu, na primjer s plaćanjem</translation>
 <translation id="4802417911091824046">Enkripcija šifrom ne uključuje načine plaćanja i adrese s Google Paya.
 
 Da biste promijenili tu postavku, <ph name="BEGIN_LINK" />poništite sinkronizaciju<ph name="END_LINK" /></translation>
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Čekaju se pojedinosti o nadređenim jedinicama.</translation>
 <translation id="8922289737868596582">Preuzmite stranice za izvanmrežnu upotrebu pomoću gumba Više opcija</translation>
 <translation id="8928626432984354940">Popis mapa oznaka otvoren je na pola visine</translation>
+<translation id="8937267401510745927">Da bi vam pomogao sa zadacima, Google će primati URL-ove i sadržaje web-lokacija na kojima upotrebljavate Asistenta, kao i informacije koje šaljete putem Asistenta. Te se informacije mogu spremati na vaš Google račun. Asistenta možete isključiti u Chromeovim postavkama.</translation>
 <translation id="8937772741022875483">Želite li ukloniti svoju aktivnost u Chromeu iz Digitalne ravnoteže?</translation>
 <translation id="8942627711005830162">Otvori u drugom prozoru</translation>
 <translation id="8951232171465285730">Chrome vam je uštedio <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
index fa306455..2af72a3 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Bíður eftir upplýsingum um foreldra.</translation>
 <translation id="8922289737868596582">Náðu í síður með hnappnum „Fleiri valkostir“ til að nota þær án nettengingar</translation>
 <translation id="8928626432984354940">Listi yfir bókamerkjamöppur er opinn á hálfum skjánum</translation>
+<translation id="8937267401510745927">Google fær vefslóðir og innihald vefsvæða þar sem þú notar Hjálparann, auk upplýsinga sem þú sendir með Hjálparanum, til að auðvelda þér að ljúka verkefnum. Þessar upplýsingar gætu verið vistaðar á Google reikningnum þínum. Þú getur slökkt á Hjálparanum í stillingum Chrome.</translation>
 <translation id="8937772741022875483">Viltu fjarlægja það sem þú gerir í Chrome úr stafrænni vellíðan?</translation>
 <translation id="8942627711005830162">Opna í öðrum glugga</translation>
 <translation id="8951232171465285730">Chrome hefur sparað þér <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
index 9bbba6ee..95eb9b72 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
@@ -429,7 +429,7 @@
 <translation id="4084682180776658562">ブックマーク</translation>
 <translation id="4084712963632273211"><ph name="PUBLISHER_ORIGIN" /> のコンテンツ - <ph name="BEGIN_DEEMPHASIZED" />Google により配信<ph name="END_DEEMPHASIZED" /></translation>
 <translation id="4095146165863963773">アプリデータを削除しますか?</translation>
-<translation id="4095189195365058471">後で読む <ph name="BEGIN_NEW" />新規<ph name="END_NEW" /></translation>
+<translation id="4095189195365058471">後で読む <ph name="BEGIN_NEW" />新機能<ph name="END_NEW" /></translation>
 <translation id="4099578267706723511">使用統計情報と障害レポートを Google に送信して、Chrome の品質向上にご協力ください。</translation>
 <translation id="4108998448622696017">危険なイベントの発生を検出して警告します。</translation>
 <translation id="4116038641877404294">ページをダウンロードするとオフラインで使用できるようになります</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
index 815b2da..89c789c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">ველოდებით მშობლების დეტალებს.</translation>
 <translation id="8922289737868596582">ჩამოტვირთეთ გვერდები ხაზგარეშე რეჟიმში გამოსაყენებლად, „დამატებითი ვარიანტების“ ღილაკის მეშვეობით</translation>
 <translation id="8928626432984354940">სანიშნეების საქაღალდეების სია გახსნილია ნახევარ სიმაღლეზე</translation>
+<translation id="8937267401510745927">ამოცანების შესრულებაში დასახმარებლად Google მიიღებს იმ საიტების URL-ებსა და კონტენტს, რომლებზეც ასისტენტს იყენებთ, ასევე, თქვენ მიერ ასისტენტის მეშვეობით გადაგზავნილ ინფორმაციას. აღნიშნული ინფორმაცია შეიძლება შეინახოს თქვენს Google ანგარიშში. ასისტენტის გამორთვა შეგიძლიათ Chrome-ის პარამეტრებიდან.</translation>
 <translation id="8937772741022875483">გსურთ, ციფრული კომფორტიდან ამოშალოთ თქვენი აქტივობა Chrome-ში?</translation>
 <translation id="8942627711005830162">სხვა ფანჯარაში გახსნა</translation>
 <translation id="8951232171465285730">Chrome-ის მეშვეობით თქვენ <ph name="MEGABYTES" /> მბაიტი დაზოგეთ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
index 18a0edb..3428e1d1 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
@@ -822,7 +822,7 @@
 <translation id="6659594942844771486">Қойынды</translation>
 <translation id="6663079968236414793">Мәтіннің сілтемесі</translation>
 <translation id="666731172850799929"><ph name="APP_NAME" /> арқылы ашу</translation>
-<translation id="666981079809192359">Chrome құпиялылық ескертпесі</translation>
+<translation id="666981079809192359">Chrome Құпиялылық мәлімдемесі</translation>
 <translation id="6671495933530132209">Кескінді көшіру</translation>
 <translation id="6676840375528380067">Chrome деректері осы құрылғыдан жойылсын ба?</translation>
 <translation id="6691888250440401212">1. <ph name="APP_NAME" /> қолданбасын таңдаңыз.\n2. "Әдепкі етіп орнату" түймесін түртіңіз.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
index baa4563..78083e8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Laukiama išsamios tėvų informacijos.</translation>
 <translation id="8922289737868596582">Atsisiųskite puslapius spustelėję mygtuką „Daugiau parinkčių“, kad galėtumėte naudoti juos neprisijungę</translation>
 <translation id="8928626432984354940">Žymių aplankų sąrašas, atidarytas iki pusės aukščio</translation>
+<translation id="8937267401510745927">Kad padėtų atlikti užduotis, „Google“ gaus svetainių, kuriose naudojate Padėjėją, URL ir turinį bei informaciją, kurią pateikiate naudodami Padėjėją. Ši informacija gali būti saugoma jūsų „Google“ paskyroje. Padėjėją galite išjungti „Chrome“ nustatymuose.</translation>
 <translation id="8937772741022875483">Pašalinti „Chrome“ veiklą iš Skaitmeninės gerovės programos?</translation>
 <translation id="8942627711005830162">Atidaryti kitame lange</translation>
 <translation id="8951232171465285730">„Chrome“ sutaupė jums <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
index 16283a5e..317273b0 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Се чекаат детали за родителите.</translation>
 <translation id="8922289737868596582">Преземете ги страниците преку копчето „Повеќе опции“ за да ги користите офлајн</translation>
 <translation id="8928626432984354940">Список со папки за обележувачи отворени на половина екран</translation>
+<translation id="8937267401510745927">За да ви помогне да завршувате задачи, Google ќе ги добива URL-адресите и содржините на сајтовите на коишто го користите „Помошникот“, како и податоците што ги испраќате преку него. Податоциве може да се зачуваат во вашата сметка на Google. Може да го исклучите „Помошникот“ во поставките за Chrome.</translation>
 <translation id="8937772741022875483">Да се отстрани вашата активност на Chrome од „Дигитална благосостојба“?</translation>
 <translation id="8942627711005830162">Отвори во друг прозорец</translation>
 <translation id="8951232171465285730">Chrome ви заштеди <ph name="MEGABYTES" /> мб</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
index 2cd80d3..5b8d4b4a 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">രക്ഷകർത്താക്കളുടെ വിശദാംശങ്ങൾക്കായി കാത്തിരിക്കുന്നു.</translation>
 <translation id="8922289737868596582">ഓഫ്‌ലൈനായി ഉപയോഗിക്കാൻ 'കൂടുതൽ ഓപ്ഷനുകൾ' ബട്ടണിൽ നിന്ന് പേജുകൾ ഡൗൺലോഡ് ചെയ്യുക</translation>
 <translation id="8928626432984354940">പകുതി ഉയരത്തിൽ തുറന്ന ബുക്ക്‌മാർക്ക് ഫോൾഡറുകളുടെ ലിസ്റ്റ്</translation>
+<translation id="8937267401510745927">ടാസ്‌ക്കുകൾ പൂർത്തിയാക്കാൻ നിങ്ങളെ സഹായിക്കുന്നതിന്, നിങ്ങൾ Assistant ഉപയോഗിക്കുന്ന സൈറ്റുകളുടെ URL-കളും അവയിലെ ഉള്ളടക്കവും Assistant-ലൂടെ നിങ്ങൾ സമർപ്പിക്കുന്ന വിവരങ്ങളും Google-ന് ലഭിക്കും. ഈ വിവരങ്ങൾ നിങ്ങളുടെ Google അക്കൗണ്ടിൽ സംഭരിച്ചേക്കാം. നിങ്ങൾക്ക് Chrome ക്രമീകരണത്തിൽ Assistant ഓഫാക്കാം.</translation>
 <translation id="8937772741022875483">ഡിജിറ്റൽ ആരോഗ്യത്തിൽ നിന്ന് നിങ്ങളുടെ Chrome ആക്റ്റിവിറ്റി നീക്കം ചെയ്യണോ?</translation>
 <translation id="8942627711005830162">മറ്റൊരു വിൻഡോയിൽ തുറക്കുക</translation>
 <translation id="8951232171465285730">Chrome നിങ്ങളുടെ <ph name="MEGABYTES" /> MB ലാഭിച്ചു</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 666d0d8b6..84bacd83 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
@@ -16,6 +16,7 @@
 <translation id="1105960400813249514">स्क्रिन क्याप्चर</translation>
 <translation id="1111673857033749125">तपाईँका अन्य यन्त्रहरूमा सुरक्षित गरिएका पुस्तक चिन्हहरू यहाँ देखिनेछन्।</translation>
 <translation id="1113597929977215864">सरलीकृत दृश्य देखाउनुहोस्</translation>
+<translation id="1118561384561215815">वेबमा कार्यहरू गर्न मद्दत प्राप्त गर्नु…</translation>
 <translation id="1123070903960493543">यसअन्तर्गत तपाईंले Chrome प्रयोग गर्ने तरिका, तपाईंले चयन गर्नुभएका सेटिङ, Chrome क्र्यास भएका घटनाका विवरण समावेश हुन्छन्</translation>
 <translation id="1126809382673880764">तपाईंलाई जोखिमपूर्ण वेबसाइट, डाउनलोड वा एक्स्टेन्सनहरूविरुद्ध सुरक्षा प्रदान गर्दैन। उपलब्ध भएसम्म तपाईं अझै पनि Gmail र खोज जस्ता Google का अन्य सेवाहरूमा सुरक्षित ब्राउजिङको सुरक्षा प्राप्त गर्नु हुने छ।</translation>
 <translation id="1129510026454351943">विवरणहरू: <ph name="ERROR_DESCRIPTION" /></translation>
@@ -102,6 +103,7 @@
 <translation id="1749561566933687563">तपाईंका पुस्तक चिन्हहरू सिंक गर्नुहोस्</translation>
 <translation id="17513872634828108">खुला ट्याबहरू</translation>
 <translation id="1754404134430936718">पाठ कपी गरियो</translation>
+<translation id="1772137089884020309">पुस्तक चिन्ह लगाइएका फोल्डरहरूको सूची बन्द गरिएको छ</translation>
 <translation id="1782483593938241562">अन्तिम मिति: <ph name="DATE" /></translation>
 <translation id="1791662854739702043">स्थापना गरियो</translation>
 <translation id="1792959175193046959">पूर्वनिर्धारित डाउनलोड स्थान जुनसुकै बेला परिवर्तन गर्नुहोस्</translation>
@@ -181,6 +183,7 @@
 <translation id="2276696007612801991">आफ्ना पासवर्डहरू जाँच गर्न आफ्नो Google खातामा साइन इन गर्नुहोस्</translation>
 <translation id="2286841657746966508">बिल पठाउने ठेगाना</translation>
 <translation id="230115972905494466">कुनै पनि मिल्दाजुल्दा यन्त्र भेटिएनन्</translation>
+<translation id="230155349749732438"><ph name="BEGIN_LINK" />खोज्ने तथा ब्राउज गर्ने कार्य अझ राम्रो बनाउने<ph name="END_LINK" /> सुविधा अन गरेपछि मात्र यो सेटिङ प्रयोग गर्न सकिन्छ</translation>
 <translation id="2318045970523081853">कल गर्न ट्याप गर्नुहोस्</translation>
 <translation id="2321086116217818302">पासवर्डहरू निर्यात गर्ने तयारी गरिँदै…</translation>
 <translation id="2321958826496381788">तपाईंले आरामसँग पढ्न सक्दासम्म स्लाइडरलाई तान्नुहोस्। अनुच्छेदमा दोहोरो ट्याप गरेपछि पाठ कम्तीमा पनि यतिको ठुलो देखिनुपर्छ।</translation>
@@ -204,6 +207,7 @@
 <translation id="2450907520913474542">यो पृष्ठ नछोडिकन वेबसाइटहरूमा रहेका शीर्षकहरूबारे जान्नुहोस्। खोज्नका लागि छुनुहोस् नामक सुविधाले कुनै शब्द र त्यसको सन्दर्भलाई Google खोजमा पठाउँछ र उक्त शब्दको परिभाषा, त्यससँग सम्बन्धित तस्बिर, खोज परिणाम र अन्य विवरणहरू देखाउँछ।
 
 कुनै शब्द खोज्न उक्त शब्दमा टच एण्ड होल्ड गर्नुहोस्। आफ्नो खोज परिष्कृत गर्न अझ धेरै वा कम शब्दहरू चयन गर्नुहोस्। आफ्नो खोज पद सम्पादन गर्न प्यानल खोल्नुहोस्, नयाँ ट्याबमा खोल्ने आइकनमा ट्याप गर्नुहोस् र खोज बाकसमा रहेको खोज पदमा आवश्यक परिवर्तनहरू गर्नुहोस्।</translation>
+<translation id="2459390580524506445">परिष्कृत भ्वाइस सर्च</translation>
 <translation id="246532703174860178">सेयर गर्नुहोस्</translation>
 <translation id="2478076885740497414">एप स्थापना गर्नुहोस्</translation>
 <translation id="2479148705183875116">सेटिङमा जानुहोस्</translation>
@@ -272,6 +276,7 @@
 <translation id="2932150158123903946">Google <ph name="APP_NAME" /> को भण्डारण</translation>
 <translation id="2942036813789421260">पूर्वावलोकन ट्याब बन्द छ</translation>
 <translation id="2956410042958133412">यो खाता <ph name="PARENT_NAME_1" /> र <ph name="PARENT_NAME_2" /> द्वारा व्यवस्थित गरिएको छ।</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> वटा पेज पढ्न बाँकी छ}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> वटा पेज पढ्न बाँकी छ}}</translation>
 <translation id="2962095958535813455">इन्कोग्निटो ट्याबहरूमा स्विच गरियो</translation>
 <translation id="2979025552038692506">चयन गरिएको इन्कोग्निटो ट्याब</translation>
 <translation id="2987620471460279764">अर्को यन्त्रबाट आदान प्रदान गरिएको पाठ सन्देश</translation>
@@ -315,11 +320,13 @@
 <translation id="3269093882174072735">छवि लोड गर्नुहोस्</translation>
 <translation id="3269956123044984603">तपाईंका अन्य यन्त्रहरूबाट आफ्ना ट्याबहरू प्राप्त गर्न, Android खाताको सेटिङहरूमा गई "डेटालाई स्वतः सिंक गर्नुहोस्" लाई सक्रिय गर्नुहोस्।</translation>
 <translation id="3282568296779691940">Chrome मा साइन इन गर्नुहोस्</translation>
+<translation id="3284510035090979597">क्रियाशील मद्दत</translation>
 <translation id="3285080554353377245">Chrome प्रयोग गर्ने तरिका देखाउने भिडियोहरू</translation>
 <translation id="3288003805934695103">पृष्ठलाई पुनः लोड गर्नुहोस्</translation>
 <translation id="32895400574683172">यस कार्यका लागि सूचनाहरूलाई अनुमति दिइएको छ</translation>
 <translation id="3290991969712132877">यही पेजमा अझ छिटो जान 'थप विकल्पहरू' बटनमा क्लिक गरी आफ्नो होम स्क्रिनमा सो पेज हाल्नुहोस्</translation>
 <translation id="3295530008794733555">अझ छिटो ब्राउज गर्नुहोस्। कम डेटा प्रयोग गर्नुहोस्।</translation>
+<translation id="3297344142967351106">आवाज सहायता</translation>
 <translation id="3298243779924642547">लाइट</translation>
 <translation id="3303414029551471755">सामग्री डाउनलोड गर्न अगाडि बढ्ने हो?</translation>
 <translation id="3315103659806849044">तपाईं हाल आफ्ना सिंक तथा Google का सेवासम्बन्धी सेटिङहरूलाई आफू अनुकूल पार्दै हुनुहुन्छ। सिंक सेवा सक्रिय पार्ने कार्य पूरा गर्न स्क्रिन बटनको छेवैमा रहेको सुनिश्चित गर्नुहोस् नामक बटनमा ट्याप गर्नुहोस्। माथि नेभिगेसन गर्नुहोस्</translation>
@@ -422,6 +429,7 @@
 <translation id="4084682180776658562">बुकमार्क</translation>
 <translation id="4084712963632273211"><ph name="PUBLISHER_ORIGIN" /> द्वारा – <ph name="BEGIN_DEEMPHASIZED" />Google ले डेलिभर गरेको<ph name="END_DEEMPHASIZED" /></translation>
 <translation id="4095146165863963773">एपको डेटा मेट्ने हो?</translation>
+<translation id="4095189195365058471">पछि पढ्नुहोस् <ph name="BEGIN_NEW" />नयाँ<ph name="END_NEW" /></translation>
 <translation id="4099578267706723511">Google मा प्रयोग तथ्याङ्क र क्रयास रिपोर्टहरू पठाएर Chrome लाई राम्रो बनाउन सहयोग गर्नुहोस्!</translation>
 <translation id="4108998448622696017">खतरनाक गतिविधि हुँदा पत्ता लगाउँछ र तपाईंलाई सोबारे चेतावनी दिन्छ।</translation>
 <translation id="4116038641877404294">पृष्ठहरूलाई अफलाइन हेर्न तिनीहरूलाई डाउनलोड गर्नुहोस्</translation>
@@ -513,6 +521,7 @@
 <translation id="4763829664323285145">{FILE_COUNT,plural, =1{१ डाउनलोड सम्पन्न भयो।}other{# डाउनलोडहरू सम्पन्न भए।}}</translation>
 <translation id="4766678251456904326">यन्त्रमा खाता जोड्नुहोस्</translation>
 <translation id="4767937498890654900">{FILE_COUNT,plural, =1{एउटा डाउनलोडको समयतालिका निर्धारण गरियो।}other{# वटा डाउनलोडको समयतालिका निर्धारण गरियो।}}</translation>
+<translation id="4791358705705538979">तपाईंलाई वेबमा चेकआउट जस्ता कार्यहरू पूरा गर्न मद्दत गर्छ</translation>
 <translation id="4802417911091824046">पासफ्रेजमार्फत इन्क्रिप्सन गर्ने कार्यअन्तर्गत Google Pay का भुक्तानी विधि र ठेगानाहरू समावेश हुँदैनन्।
 
 यो सेटिङ परिवर्तन गर्न <ph name="BEGIN_LINK" />सिंक रिसेट गर्नुहोस्<ph name="END_LINK" /></translation>
@@ -618,6 +627,7 @@
 <translation id="5524843473235508879">रिडिरेक्ट गर्न रोक लगाइयो।</translation>
 <translation id="5527082711130173040">यन्त्रहरू स्क्यान गर्न Chrome लाई स्थान माथिको पहुँच चाहिन्छ। <ph name="BEGIN_LINK1" />अनुमतिहरूलाई अपडेट गर्नुहोस्<ph name="END_LINK1" />। यो यन्त्रमा स्थान माथिको पहुँचलाई पनि <ph name="BEGIN_LINK2" />निष्क्रिय पारिएको छ<ph name="END_LINK2" />।</translation>
 <translation id="5530766185686772672">इनकगनिटो ट्याबहरू बन्द गर्नुहोस्</translation>
+<translation id="5530920986376047241">तपाईं पेजहरू आफ्नो अध्ययन सूचीमा सुरक्षित गरी ती पेज पछि फेरि भेट्टाउन सक्नुहुन्छ</translation>
 <translation id="5534640966246046842">साइट प्रतिलिपि गरियो</translation>
 <translation id="5556459405103347317">पुन: लोड गर्नुहोस्</translation>
 <translation id="5561549206367097665">नेटवर्कको प्रतीक्षा गर्दै…</translation>
@@ -662,6 +672,7 @@
 <translation id="5797070761912323120">Google ले खोज, विज्ञापन र Google का अन्य सेवाहरूलाई वैयक्तीकृत गर्न तपाईंको इतिहाससम्बन्धी जानकारी प्रयोग गर्न सक्छ</translation>
 <translation id="5809361687334836369">{HOURS,plural, =1{# घन्टा अघि}other{# घन्टा अघि}}</translation>
 <translation id="5810288467834065221">प्रतिलिपि अधिकार <ph name="YEAR" /> Google LLC। सर्वाधिकार सुरक्षित।</translation>
+<translation id="5810864297166300463">वेबसम्बन्धी सहायता</translation>
 <translation id="5814131985548525293">सुरु गर्न यहाँ टाइप गर्नुहोस् वा माइक्रोफोनको आइकनमा ट्याप गर्नुहोस्</translation>
 <translation id="5817918615728894473">जोडा  बनाउनुहोस्</translation>
 <translation id="583281660410589416">अज्ञात</translation>
@@ -696,6 +707,7 @@
 <translation id="5982307838673692400">इन्कोग्निटो ट्याब खोल्नुहोस्</translation>
 <translation id="6000066717592683814">Google लाई पूर्वनिर्धारित खोज इञ्जिनका रूपमा कायम राख्नुहोस्</translation>
 <translation id="6005538289190791541">सिफारिस गरिएको पासवर्ड</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{तपाईंले <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> वटा पेज पढ्न बाँकी छ}other{तपाईंले <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> वटा पेज पढ्न बाँकी छ}}</translation>
 <translation id="6014293228235665243">नपढिएको</translation>
 <translation id="6036057147555329831">अतिरिक्त ICU</translation>
 <translation id="6039379616847168523">अर्को ट्याबमा जानुहोस्</translation>
@@ -877,6 +889,7 @@
 <translation id="7177466738963138057">तपाईं सेटिङहरूमा पछि यो परिवर्तन गर्न सक्नुहुन्छ</translation>
 <translation id="7180611975245234373">ताजा गर्नुहोस्</translation>
 <translation id="7187993566681480880">यस सुविधाले तपाईं Chrome मा साइन इन भएका बेला तपाईंको जानकारी सुरक्षित राख्छ। Google का अन्य एपहरूको सुरक्षा स्तर सुधार गर्न पनि यसको प्रयोग गरिन सक्छ।</translation>
+<translation id="718926126787620637">पुस्तक चिन्ह लगाइएका फोल्डरहरूको सूची स्क्रिनको पूरा भागमा खोलियो</translation>
 <translation id="7189372733857464326">Google Play Services ले अद्यावधिक गर्ने कार्य सम्पन्न गरोस् भनी कुर्दै</translation>
 <translation id="7191430249889272776">पृष्ठभूमिमा ट्याब खुला छ।</translation>
 <translation id="7233236755231902816">आफ्नो भाषामा वेब हेर्न Chrome को नवीनतम संस्करण प्राप्त गर्नुहोस्</translation>
@@ -929,6 +942,7 @@
 <translation id="756809126120519699">Chrome को डेटालाई खाली गरियो</translation>
 <translation id="7577900504646297215">रुचिहरू व्यवस्थापन गर्नुहोस्</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> फाइल डाउनलोड गरियो}other{<ph name="FILES_DOWNLOADED_MANY" /> फाइलहरू डाउनलोड गरिए}}</translation>
+<translation id="7583262514280211622">तपाईंको अध्ययन सूची यहाँ देखिने छ</translation>
 <translation id="7588219262685291874">तपाईंको यन्त्रमा ब्याट्री सेभर मोड सक्रिय हुँदा अँध्यारो थिम सक्रिय गर्नुहोस्</translation>
 <translation id="7593557518625677601">Chrome सिंकलाई सुरु गर्न Android का सेटिङहरू खोल्नुहोस् र Android को प्रणालीसम्बन्धी सिंकलाई पुन:सक्षम पार्नुहोस्</translation>
 <translation id="7596558890252710462">अपरेटिङ सिस्टम</translation>
@@ -960,6 +974,7 @@
 <translation id="7772375229873196092"><ph name="APP_NAME" />बन्द गर्नुहोस्</translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 र <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> थप}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 र <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> थप}}</translation>
 <translation id="7778840695157240389">नयाँ समाचार हेर्न पछि फर्केर आउनुहोस्</translation>
+<translation id="7786595606756654269">Google Assistant ले वेबमा खोज्दा तथा आफूले खोलेका साइटहरू चलाउँदा बोलेरै प्रयोग गर्न सकिने अझ राम्रा सुविधाहरू उपलब्ध गराउँछ। Google सहायकले तपाईंले सहायक प्रयोग गर्ने साइटका URL र सामग्रीहरू प्राप्त गर्ने छ।</translation>
 <translation id="7791543448312431591">थप्नुहोस्</translation>
 <translation id="7798392620021911922"><ph name="TAB_COUNT" /> वटा ट्याब रिस्टोर गरिए</translation>
 <translation id="780301667611848630">भयो, धन्यवाद</translation>
@@ -985,6 +1000,7 @@
 <translation id="7961926449547174351">तपाईंले भण्डारण प्रयोग गर्ने अनुमति दिनुभएको छैन, कृपया सेटिङमा गई उक्त अनुमति दिनुहोस्।</translation>
 <translation id="7963646190083259054">विक्रेता:</translation>
 <translation id="7967911570373677897">QR कोड स्क्यान गर्न आफ्नो सेटिङ परिवर्तन गरी Chrome लाई तपाईंको क्यामेरा प्रयोग गर्न दिनुहोस्</translation>
+<translation id="7968014550143838305">अध्ययन सूचीमा हालियो</translation>
 <translation id="7971136598759319605">१ दिनअघि सक्रिय</translation>
 <translation id="7975379999046275268"><ph name="BEGIN_NEW" />नयाँ<ph name="END_NEW" /> पृष्ठको पूर्वावलोकन गर्नु…</translation>
 <translation id="7981313251711023384">ब्राउजिङ र खोजी कार्यलाई अझ छिटो बनाउन पृष्ठहरू पूर्वलोड गर्नुहोस्</translation>
@@ -1015,6 +1031,7 @@
 <translation id="8127542551745560481">गृहपृष्ठ सम्पदान गर्नुहोस्</translation>
 <translation id="813082847718468539">साइट जानकारी हेर्नुहोस्</translation>
 <translation id="8137558756159375272">खोजी गर्न छुनुहोस् कार्यले चयन गरेको शब्द र सोही पृष्ठलाई सन्दर्भको रूपमा Google खोजीमा पठाउँछ।  तपाईं यसलाई  <ph name="BEGIN_LINK" /> सेटिङ <ph name="END_LINK" /> मा बन्द गर्न सक्नुहुन्छ।</translation>
+<translation id="8153351135626613369">सहायकले केही वेबसाइटहरूमा तपाईंको मद्दत गर्न सक्ने कुरा पहिचान गरेपछि उक्त वेबसाइटहरूमा सहायक देखा पर्ने छ</translation>
 <translation id="8156139159503939589">तपाईं कुन कुन भाषा पढ्नुहुन्छ?</translation>
 <translation id="8168435359814927499">सामग्री</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> फाइलहरू बाँकी छन्</translation>
@@ -1045,6 +1062,7 @@
 <translation id="8372925856448695381"><ph name="LANG" /> भाषा प्याक तयार छ।</translation>
 <translation id="8393700583063109961">सन्देश पठाउनुहोस्</translation>
 <translation id="8407396331882458341">१. <ph name="APP_NAME" /> छनौट गर्नुहोस्\n2. “सधैँ” मा ट्याप गर्नुहोस्</translation>
+<translation id="8410695015584479363">मूल्यहरू ट्र्याक गर्नुहोस्</translation>
 <translation id="8413126021676339697">पूर्ण इतिहास देखाउनुहोस्</translation>
 <translation id="8425213833346101688">परिवर्तन गर्नुहोस्</translation>
 <translation id="8427875596167638501">पूर्वावलोकन ट्याब आधा खुला छ</translation>
@@ -1112,6 +1130,7 @@
 <translation id="8912362522468806198">Google खाता</translation>
 <translation id="8920114477895755567">अभिभावकहरूको विवरणको लागि प्रतीक्षा गर्दै।</translation>
 <translation id="8922289737868596582">पृष्ठहरूलाई अफलाइन हेर्न थप विकल्पहरू नामक बटनबाट तिनीहरूलाई डाउनलोड गर्नुहोस्</translation>
+<translation id="8928626432984354940">पुस्तक चिन्ह लगाइएका फोल्डरहरूको सूची स्क्रिनको आधा भागमा खोलियो</translation>
 <translation id="8937772741022875483">तपाईंले Chrome मा गर्नुभएका क्रियाकलाप डिजिटल वेलबिइङबाट हटाउने हो?</translation>
 <translation id="8942627711005830162">अर्को विन्डोमा खोल्नुहोस्</translation>
 <translation id="8951232171465285730">Chrome ले तपाईंको <ph name="MEGABYTES" /> एम.बि. बचाएको छ</translation>
@@ -1162,6 +1181,7 @@
 <translation id="93753284658583800">गृहपृष्ठ परिवर्तन गरियो</translation>
 <translation id="938850635132480979">त्रुटि: <ph name="ERROR_CODE" /></translation>
 <translation id="939598580284253335">पासफ्रेज प्रविष्टि गर्नुहोस्</translation>
+<translation id="948039501338975565">पुस्तक चिन्ह लगाइएका फोल्डरहरूको सूची</translation>
 <translation id="95817756606698420">Chrome ले चीनमा खोज गर्नका लागि <ph name="BEGIN_BOLD" />Sogou<ph name="END_BOLD" /> को प्रयोग गर्न सक्छ। तपाईं <ph name="BEGIN_LINK" />सेटिङहरू<ph name="END_LINK" />मा गई यसलाई बदल्न सक्नुहुन्छ।</translation>
 <translation id="962979164594783469">यो एप इन्स्टल गर्नुहोस्</translation>
 <translation id="968900484120156207">तपाईंले हेर्नुभएका पृष्ठहरू यहाँ देखिन्छन्</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 3f83f873..b78f9b8 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
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Venter på informasjon om foreldre.</translation>
 <translation id="8922289737868596582">Last ned sider via Flere alternativer-knappen for å bruke dem uten nett</translation>
 <translation id="8928626432984354940">Listen over bokmerkemapper er åpnet i halv høyde</translation>
+<translation id="8937267401510745927">For å hjelpe deg med å fullføre oppgaver mottar Google nettadressene til og innholdet på nettsteder der du bruker assistenten, i tillegg til informasjon som du sender inn gjennom assistenten. Denne informasjonen kan bli lagret i Google-kontoen din. Du kan slå av assistenten i Chrome-innstillingene.</translation>
 <translation id="8937772741022875483">Vil du fjerne Chrome-aktiviteten din fra Digital balanse?</translation>
 <translation id="8942627711005830162">Åpne i et annet vindu</translation>
 <translation id="8951232171465285730">Chrome har spart deg for <ph name="MEGABYTES" /> MB</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 8838d62..cca953c0 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
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">ਪੰਨਾ ਛੱਡੇ ਬਿਨਾਂ ਵੈੱਬਸਾਈਟਾਂ 'ਤੇ ਵਿਸ਼ਿਆਂ ਬਾਰੇ ਜਾਣੋ। 'ਖੋਜਣ ਲਈ ਸਪਰਸ਼ ਕਰੋ' ਵਿਸ਼ੇਸ਼ਤਾ 'Google ਖੋਜ', ਵਾਪਸੀ ਪਰਿਭਾਸ਼ਾਵਾਂ, ਤਸਵੀਰਾਂ, ਖੋਜ ਨਤੀਜਿਆਂ ਅਤੇ ਹੋਰਾਂ ਵੇਰਵਿਆਂ ਨੂੰ ਇੱਕ ਸ਼ਬਦ ਅਤੇ ਉਸਦੇ ਨੇੜਲੇ ਸੰਦਰਭ ਭੇਜਦੀ ਹੈ।
 
 ਖੋਜ ਕਰਨ ਲਈ ਕਿਸੇ ਵੀ ਸ਼ਬਦ ਨੂੰ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ। ਆਪਣੀ ਖੋਜ ਵਿੱਚ ਸੋਧ ਕਰਨ ਲਈ, ਜ਼ਿਆਦਾ ਜਾਂ ਘੱਟ ਸ਼ਬਦ ਚੁਣੋ। ਆਪਣੀ ਖੋਜ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ, ਪੈਨਲ ਨੂੰ ਖੋਲ੍ਹੋ, ਨਵੀਂ ਟੈਬ ਵਿੱਚ ਖੋਲ੍ਹਣ ਲਈ ਪ੍ਰਤੀਕ 'ਤੇ ਟੈਪ ਕਰੋ, ਅਤੇ ਖੋਜ ਬਾਕਸ ਵਿੱਚ ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਕਰੋ।</translation>
+<translation id="2459390580524506445">ਵਿਸਤ੍ਰਿਤ ਅਵਾਜ਼ੀ ਖੋਜ</translation>
 <translation id="246532703174860178">ਸਾਂਝਾ ਕਰੋ</translation>
 <translation id="2478076885740497414">ਐਪ ਇੰਸਟੌਲ ਕਰੋ</translation>
 <translation id="2479148705183875116">ਸੈਟਿੰਗਾਂ 'ਤੇ ਜਾਓ</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Google <ph name="APP_NAME" /> ਸਟੋਰੇਜ</translation>
 <translation id="2942036813789421260">ਪੂਰਵ-ਝਲਕ ਟੈਬ ਬੰਦ ਹੈ</translation>
 <translation id="2956410042958133412">ਇਹ ਖਾਤਾ <ph name="PARENT_NAME_1" /> ਅਤੇ <ph name="PARENT_NAME_2" /> ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> ਨਾ-ਪੜ੍ਹਿਆ ਪੰਨਾ}one{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> ਨਾ-ਪੜ੍ਹਿਆ ਪੰਨਾ}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> ਨਾ-ਪੜ੍ਹੇ ਪੰਨੇ}}</translation>
 <translation id="2962095958535813455">ਬਦਲਕੇ incognito ਟੈਬਾਂ ਲਿਆਂਦੀਆਂ ਗਈਆਂ</translation>
 <translation id="2979025552038692506">ਚੁਣੀ ਗਈ ਇਨਕੋਗਨਿਟੋ ਟੈਬ</translation>
 <translation id="2987620471460279764">ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ ਤੋਂ ਸਾਂਝੀ ਕੀਤੀ ਲਿਖਤ</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">ਸੂਚਨਾਵਾਂ ਦਿਖਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ</translation>
 <translation id="3290991969712132877">ਇੱਥੇ ਤੇਜ਼ੀ ਨਾਲ ਪਹੁੰਚ ਕਰਨ ਲਈ, 'ਹੋਰ ਵਿਕਲਪ' ਬਟਨ ਤੋਂ ਇਸ ਪੰਨੇ ਨੂੰ ਆਪਣੀ ਹੋਮ ਸਕ੍ਰੀਨ ‘ਤੇ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="3295530008794733555">ਵਧੇਰੇ ਤੇਜ਼ ਬ੍ਰਾਊਜ਼ ਕਰੋ। ਘੱਟ ਡਾਟਾ ਵਰਤੋ।</translation>
+<translation id="3297344142967351106">ਅਵਾਜ਼ੀ ਸਹਾਇਕ</translation>
 <translation id="3298243779924642547">ਲਾਈਟ</translation>
 <translation id="3303414029551471755">ਕੀ ਸਮੱਗਰੀ ਡਾਊਨਲੋਡ ਕਰਨਾ ਜਾਰੀ ਰੱਖਣਾ ਹੈ?</translation>
 <translation id="3315103659806849044">ਤੁਸੀਂ ਇਸ ਵੇਲੇ ਆਪਣੀਆਂ ਸਮਕਾਲੀਕਰਨ ਅਤੇ Google ਸੇਵਾ ਸੈਟਿੰਗਾਂ ਵਿਉਂਤਬੱਧ ਕਰ ਰਹੇ ਹੋ। ਸਮਕਾਲੀਕਰਨ ਚਾਲੂ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਕਰਨ ਲਈ, ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ 'ਪੁਸ਼ਟੀ ਕਰੋ' ਬਟਨ 'ਤੇ ਟੈਪ ਕਰੋ। ਉੱਪਰ ਵੱਲ ਨੈਵੀਗੇਟ ਕਰੋ</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">ਰੀਡਾਇਰੈਕਟ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="5527082711130173040">Chrome ਨੂੰ ਡੀਵਾਈਸਾਂ ਲਈ ਸਕੈਨ ਕਰਨ ਵਾਸਤੇ ਟਿਕਾਣਾ ਪਹੁੰਚ ਦੀ ਲੋੜ ਹੈ। <ph name="BEGIN_LINK1" />ਇਜਾਜ਼ਤਾਂ ਅੱਪਡੇਟ ਕਰੋ<ph name="END_LINK1" />। ਟਿਕਾਣਾ ਪਹੁੰਚ ਵੀ <ph name="BEGIN_LINK2" />ਇਸ ਡੀਵਾਈਸ ਲਈ ਬੰਦ ਕੀਤੀ ਹੋਈ ਹੈ<ph name="END_LINK2" />।</translation>
 <translation id="5530766185686772672">ਗੁਮਨਾਮ ਟੈਬਸ ਬੰਦ ਕਰੋ</translation>
+<translation id="5530920986376047241">ਪੰਨਿਆਂ ਨੂੰ ਦੁਬਾਰਾ ਲੱਭਣ ਲਈ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਆਪਣੀ ਪੜ੍ਹਨ-ਸੂਚੀ ਵਿੱਚ ਰੱਖਿਅਤ ਕਰ ਸਕਦੇ ਹੋ</translation>
 <translation id="5534640966246046842">ਸਾਈਟ ਕਾਪੀ ਕੀਤੀ ਗਈ</translation>
 <translation id="5556459405103347317">ਰੀਲੋਡ ਕਰੋ</translation>
 <translation id="5561549206367097665">ਨੈੱਟਵਰਕ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">ਇਨਕੋਗਨਿਟੋ ਟੈਬ ਖੋਲ੍ਹੋ</translation>
 <translation id="6000066717592683814">Google ਰੱਖੋ</translation>
 <translation id="6005538289190791541">ਸੁਝਾਇਆ ਗਿਆ ਪਾਸਵਰਡ</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{ਤੁਹਾਡੇ ਕੋਲ <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> ਪੰਨਾ ਹੈ}one{ਤੁਹਾਡੇ ਕੋਲ <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> ਪੰਨਾ ਹੈ}other{ਤੁਹਾਡੇ ਕੋਲ <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> ਪੰਨੇ ਹਨ}}</translation>
 <translation id="6014293228235665243">ਨਾ-ਪੜ੍ਹੇ</translation>
 <translation id="6036057147555329831">ਵਾਧੂ ICU</translation>
 <translation id="6039379616847168523">ਅਗਲੀ ਟੈਬ 'ਤੇ ਜਾਓ</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Chrome ਡਾਟਾ ਕਲੀਅਰ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="7577900504646297215">ਦਿਲਚਸਪੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> ਫ਼ਾਈਲ ਡਾਊਨਲੋਡ ਕੀਤੀ ਗਈ}one{<ph name="FILES_DOWNLOADED_MANY" /> ਫ਼ਾਈਲ ਡਾਊਨਲੋਡ ਕੀਤੀ ਗਈ}other{<ph name="FILES_DOWNLOADED_MANY" /> ਫ਼ਾਈਲਾਂ ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਗਈਆਂ}}</translation>
+<translation id="7583262514280211622">ਤੁਹਾਨੂੰ ਆਪਣੀ ਪੜ੍ਹਨ-ਸੂਚੀ ਇੱਥੇ ਮਿਲੇਗੀ</translation>
 <translation id="7588219262685291874">ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਬੈਟਰੀ ਸੇਵਰ ਮੋਡ ਚਾਲੂ ਹੋਣ 'ਤੇ ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="7593557518625677601">Android ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹੋ ਅਤੇ Chrome ਸਮਕਾਲੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ Android ਸਿਸਟਮ ਸਮਕਾਲੀਕਰਨ ਮੁੜ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="7596558890252710462">ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092"><ph name="APP_NAME" /> ਨੂੰ ਬੰਦ ਕਰੋ</translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 ਅਤੇ <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> ਹੋਰ}one{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 ਅਤੇ <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> ਹੋਰ}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 ਅਤੇ <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> ਹੋਰ}}</translation>
 <translation id="7778840695157240389">ਨਵੀਆਂ ਕਹਾਣੀਆਂ ਲਈ ਬਾਅਦ ਵਿੱਚ ਵਾਪਸ ਜਾਂਚ ਕਰੋ</translation>
+<translation id="7786595606756654269">Google Assistant ਵੈੱਬ 'ਤੇ ਖੋਜ ਕਰਨ ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਖੋਲ੍ਹੀਆਂ ਸਾਈਟਾਂ ਨਾਲ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਇੱਕ ਬਿਹਤਰ ਅਵਾਜ਼ੀ ਅਨੁਭਵ ਮੁਹੱਈਆ ਕਰਦੀ ਹੈ। Google Assistant ਨੂੰ ਉਹਨਾਂ ਸਾਈਟਾਂ ਦੇ URL ਅਤੇ ਸਮੱਗਰੀਆਂ ਮਿਲਣਗੀਆਂ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਇਸਨੂੰ ਵਰਤਦੇ ਹੋ।</translation>
 <translation id="7791543448312431591">ਜੋੜੋ</translation>
 <translation id="7798392620021911922"><ph name="TAB_COUNT" /> ਟੈਬਾਂ ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="780301667611848630">ਨਹੀਂ ਧੰਨਵਾਦ</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">ਤੁਸੀਂ ਸਟੋਰੇਜ ਤੱਕ ਪਹੁੰਚ ਬੰਦ ਕਰ ਦਿੱਤੀ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਇਸਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਸੈਟਿੰਗਾਂ 'ਤੇ ਜਾਓ।</translation>
 <translation id="7963646190083259054">ਵੈਂਡਰ:</translation>
 <translation id="7967911570373677897">ਕਿਸੇ QR ਕੋਡ ਨੂੰ ਸਕੈਨ ਕਰਨ ਲਈ, ਆਪਣੀਆਂ ਸੈਟਿੰਗਾਂ ਬਦਲੋ ਤਾਂ ਜੋ Chrome ਤੁਹਾਡੇ ਕੈਮਰੇ ਨੂੰ ਵਰਤ ਸਕੇ</translation>
+<translation id="7968014550143838305">ਪੜ੍ਹਨ-ਸੂਚੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="7971136598759319605">1 ਦਿਨ ਪਹਿਲਾਂ ਕਿਰਿਆਸ਼ੀਲ</translation>
 <translation id="7975379999046275268">ਪੰਨੇ ਦੀ ਪੂਰਵ-ਝਲਕ ਦੇਖੋ <ph name="BEGIN_NEW" />ਨਵਾਂ<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">ਵਧੇਰੇ ਤੇਜ਼ੀ ਨਾਲ ਬ੍ਰਾਊਜ਼ਿੰਗ ਅਤੇ ਖੋਜ ਕਰਨ ਲਈ ਪੰਨੇ ਪਹਿਲਾਂ ਤੋਂ ਲੋਡ ਕਰੋ</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381"><ph name="LANG" /> ਤਿਆਰ ਹੈ।</translation>
 <translation id="8393700583063109961">ਸੁਨੇਹਾ ਭੇਜੋ</translation>
 <translation id="8407396331882458341">1. <ph name="APP_NAME" /> ਚੁਣੋ\n2. “ਹਮੇਸ਼ਾਂ” 'ਤੇ ਟੈਪ ਕਰੋ</translation>
+<translation id="8410695015584479363">ਕੀਮਤਾਂ 'ਤੇ ਨਜ਼ਰ ਰੱਖੋ</translation>
 <translation id="8413126021676339697">ਪੂਰਾ ਇਤਿਹਾਸ ਦਿਖਾਓ</translation>
 <translation id="8425213833346101688">ਬਦਲੋ</translation>
 <translation id="8427875596167638501">ਪੂਰਵ-ਝਲਕ ਟੈਬ ਅੱਧੀ ਖੁੱਲ੍ਹੀ ਹੋਈ ਹੈ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
index 1a3d17ed..e4c69dd 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Oczekiwanie na informacje o rodzicach.</translation>
 <translation id="8922289737868596582">Pobierz strony, używając przycisku Więcej opcji, by korzystać z nich w trybie offline</translation>
 <translation id="8928626432984354940">Lista folderów zakładek otwarta do połowy wysokości</translation>
+<translation id="8937267401510745927">Aby pomóc Ci w wykonywaniu zadań, Google będzie otrzymywać adresy URL i zawartość stron, na których używasz Asystenta, a także informacje, które przekazujesz za pomocą Asystenta. Te informacje mogą być przechowywane na Twoim koncie Google. Możesz wyłączyć Asystenta w ustawieniach Chrome.</translation>
 <translation id="8937772741022875483">Usunąć Twoją aktywność w Chrome z Cyfrowej równowagi?</translation>
 <translation id="8942627711005830162">Otwórz w innym oknie</translation>
 <translation id="8951232171465285730">Chrome pozwolił Ci zaoszczędzić <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
index e929c53..e762e4f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">A aguardar os detalhes dos pais.</translation>
 <translation id="8922289737868596582">Descarregue páginas através do botão Mais opções para as utilizar offline.</translation>
 <translation id="8928626432984354940">Lista de pastas de marcadores abertas a meia altura</translation>
+<translation id="8937267401510745927">Para ajudar a concluir as tarefas, a Google vai receber os URLs e os conteúdos dos sites nos quais utiliza o Assistente, bem como as informações que envia através do mesmo. Estas informações podem ser armazenadas na sua Conta Google. Pode desativar o Assistente nas definições do Chrome.</translation>
 <translation id="8937772741022875483">Remover a sua atividade do Chrome do Bem-estar digital?</translation>
 <translation id="8942627711005830162">Abrir noutra janela</translation>
 <translation id="8951232171465285730">O Chrome permitiu-lhe poupar <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
index 720c14a..2cf6a4f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">Эта функция позволяет находить картинки, определения и другую информацию, не покидая открытой страницы. Просто выберите слово, и оно будет отправлено в Google Поиск вместе с контекстом.
 
 Чтобы начать поиск, нажмите и удерживайте любое слово. Чтобы уточнить поиск, выделите нужное слово или фразу. Для изменения запроса откройте панель и нажмите на значок приложения, чтобы открыть его в новой вкладке. Затем внесите изменения в окне поиска.</translation>
+<translation id="2459390580524506445">Улучшенный голосовой поиск</translation>
 <translation id="246532703174860178">Отправка</translation>
 <translation id="2478076885740497414">Установить приложение</translation>
 <translation id="2479148705183875116">Открыть настройки</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Хранилище Google <ph name="APP_NAME" /></translation>
 <translation id="2942036813789421260">Вкладка предпросмотра закрыта</translation>
 <translation id="2956410042958133412">Этим аккаунтом управляют <ph name="PARENT_NAME_1" /> и <ph name="PARENT_NAME_2" />.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> непрочитанная страница}one{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> непрочитанная страница}few{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> непрочитанные страницы}many{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> непрочитанных страниц}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> непрочитанной страницы}}</translation>
 <translation id="2962095958535813455">Переключено на вкладки в режиме инкогнито</translation>
 <translation id="2979025552038692506">Выбранная вкладка инкогнито</translation>
 <translation id="2987620471460279764">Текст, полученный с другого устройства</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">Может отправлять уведомления</translation>
 <translation id="3290991969712132877">Для быстрого доступа добавьте эту страницу на главный экран, нажав кнопку настроек "Ещё".</translation>
 <translation id="3295530008794733555">Быстрый просмотр сайтов и экономия трафика</translation>
+<translation id="3297344142967351106">Голосовой помощник</translation>
 <translation id="3298243779924642547">Lite</translation>
 <translation id="3303414029551471755">Скачать?</translation>
 <translation id="3315103659806849044">Сейчас вы находитесь на странице настроек сервисов Google и синхронизации. Чтобы включить синхронизацию, нажмите кнопку "Подтвердить" в нижней части экрана. Перейти вверх</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">Попытка переадресации заблокирована.</translation>
 <translation id="5527082711130173040">Чтобы выполнить поиск устройств, браузеру Chrome нужен доступ к геоданным. <ph name="BEGIN_LINK2" />Включите доступ<ph name="END_LINK2" /> и <ph name="BEGIN_LINK1" />обновите разрешения<ph name="END_LINK1" />.</translation>
 <translation id="5530766185686772672">Закрыть вкладки инкогнито</translation>
+<translation id="5530920986376047241">В нем можно сохранять страницы, чтобы прочитать их позже.</translation>
 <translation id="5534640966246046842">Адрес сайта скопирован</translation>
 <translation id="5556459405103347317">Перезагрузить</translation>
 <translation id="5561549206367097665">Поиск сети…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">Открыть вкладку инкогнито</translation>
 <translation id="6000066717592683814">Использовать Google</translation>
 <translation id="6005538289190791541">Предложенный пароль</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{В нем <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> страница.}one{В нем <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> страница.}few{В нем <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> страницы.}many{В нем <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> страниц.}other{В нем <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> страницы.}}</translation>
 <translation id="6014293228235665243">Не прочитано</translation>
 <translation id="6036057147555329831">Дополнительный модуль ICU</translation>
 <translation id="6039379616847168523">Перейти к следующей вкладке</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Данные Chrome удалены</translation>
 <translation id="7577900504646297215">Управление интересами</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Скачан <ph name="FILES_DOWNLOADED_ONE" /> файл}one{Скачан <ph name="FILES_DOWNLOADED_MANY" /> файл}few{Скачано <ph name="FILES_DOWNLOADED_MANY" /> файла}many{Скачано <ph name="FILES_DOWNLOADED_MANY" /> файлов}other{Скачано <ph name="FILES_DOWNLOADED_MANY" /> файла}}</translation>
+<translation id="7583262514280211622">Здесь вы найдете свой список для чтения</translation>
 <translation id="7588219262685291874">Использовать тёмную тему, когда включен режим энергосбережения</translation>
 <translation id="7593557518625677601">Откройте настройки Android и снова включите синхронизацию системы</translation>
 <translation id="7596558890252710462">Операционная система</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092">Закрыть вкладку "<ph name="APP_NAME" />"</translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> способ оплаты}one{<ph name="PAYMENT_METHOD_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> способ оплаты}few{<ph name="PAYMENT_METHOD_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> способа оплаты}many{<ph name="PAYMENT_METHOD_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> способов оплаты}other{<ph name="PAYMENT_METHOD_PREVIEW" /> и ещё <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> способа оплаты}}</translation>
 <translation id="7778840695157240389">Новый контент появится позже.</translation>
+<translation id="7786595606756654269">Включив Google Ассистента, вы сможете выполнять поиск в Интернете и работать с сайтами, используя голосовые команды. При взаимодействии с сайтами Ассистент будет получать их контент и URL.</translation>
 <translation id="7791543448312431591">Добавить</translation>
 <translation id="7798392620021911922">Восстановлено вкладок: <ph name="TAB_COUNT" /></translation>
 <translation id="780301667611848630">Спасибо, не надо</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">Откройте доступ к хранилищу в настройках устройства.</translation>
 <translation id="7963646190083259054">Поставщик:</translation>
 <translation id="7967911570373677897">Чтобы отсканировать QR-код, разрешите Chrome доступ к камере в настройках.</translation>
+<translation id="7968014550143838305">Добавлено в список для чтения.</translation>
 <translation id="7971136598759319605">Последние действия: 1 день назад</translation>
 <translation id="7975379999046275268">Просмотреть страницу <ph name="BEGIN_NEW" />Новинка<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">Разрешить предзагрузку страниц для повышения скорости работы браузера и поиска</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381">Пакет "<ph name="LANG" />" скачан.</translation>
 <translation id="8393700583063109961">Отправить сообщение</translation>
 <translation id="8407396331882458341">1. Выберите <ph name="APP_NAME" />.\n2. Нажмите "Всегда".</translation>
+<translation id="8410695015584479363">Отслеживать цены</translation>
 <translation id="8413126021676339697">Показать всю историю</translation>
 <translation id="8425213833346101688">Изменить</translation>
 <translation id="8427875596167638501">Вкладка предпросмотра открыта на половину высоты</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
index 0d0c5eb..b412f353b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Čakanje na podrobnosti o staršu.</translation>
 <translation id="8922289737868596582">Prenos strani za uporabo brez povezave z gumbom »Več možnosti«</translation>
 <translation id="8928626432984354940">Seznam map z zaznamki, odprt pri polovični višini.</translation>
+<translation id="8937267401510745927">Zaradi zagotavljanja pomoči pri dokončanju opravil bo Google prejel URL-je in vsebino spletnih mest, na katerih uporabljate Pomočnika, ter podatke, ki jih pošljete prek Pomočnika. Ti podatki se bodo morda shranili v računu Google. Pomočnika lahko izklopite v nastavitvah Chroma.</translation>
 <translation id="8937772741022875483">Ali želite svojo dejavnost v Chromu odstraniti iz Digitalne dobrobiti?</translation>
 <translation id="8942627711005830162">Odpri v drugem oknu</translation>
 <translation id="8951232171465285730">S Chromom ste prihranili <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
index 1a7787f..32021c7 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Čekaju se detalji roditelja.</translation>
 <translation id="8922289737868596582">Preuzmite stranice pomoću dugmeta Još opcija da biste ih koristili oflajn</translation>
 <translation id="8928626432984354940">Lista foldera sa obeleživačima otvorena je do polovine ekrana</translation>
+<translation id="8937267401510745927">Da bi vam pomogao u obavljanju zadataka, Google će dobijati URL-ove i sadržaj sajtova na kojima koristite Pomoćnik, kao i informacije koje pošaljete preko Pomoćnika. Ove informacije mogu da se čuvaju na Google nalogu. Pomoćnik možete da isključite u podešavanjima Chrome-a.</translation>
 <translation id="8937772741022875483">Želite li da uklonite Chrome aktivnosti iz Digitalnog blagostanja?</translation>
 <translation id="8942627711005830162">Otvori u drugom prozoru</translation>
 <translation id="8951232171465285730">Chrome vam je uštedeo <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
index e772dd2a..9bc9d908 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Чекају се детаљи родитеља.</translation>
 <translation id="8922289737868596582">Преузмите странице помоћу дугмета Још опција да бисте их користили офлајн</translation>
 <translation id="8928626432984354940">Листа фолдера са обележивачима отворена је до половине екрана</translation>
+<translation id="8937267401510745927">Да би вам помогао у обављању задатака, Google ће добијати URL-ове и садржај сајтова на којима користите Помоћник, као и информације које пошаљете преко Помоћника. Ове информације могу да се чувају на Google налогу. Помоћник можете да искључите у подешавањима Chrome-а.</translation>
 <translation id="8937772741022875483">Желите ли да уклоните Chrome активности из Дигиталног благостања?</translation>
 <translation id="8942627711005830162">Отвори у другом прозору</translation>
 <translation id="8951232171465285730">Chrome вам је уштедео <ph name="MEGABYTES" /> MB</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 020a838e..71304cf8 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
@@ -204,6 +204,7 @@
 <translation id="2450907520913474542">பக்கத்தை விட்டு வெளியேறாமலேயே இணையதளங்களில் தலைப்புகளைப் பற்றித் தெரிந்துகொள்ளலாம். 'தேடுவதற்குத் தொடு' அம்சமானது சொல்லையும் அதன் சூழலையும் Google தேடலுக்கு அனுப்பி விளக்கங்கள், படங்கள், தேடல் முடிவுகள் மற்றும் பிற விவரங்களை வழங்குகிறது.
 
 தேடுவதற்கு ஏதேனும் ஒரு சொல்லைத் தொட்டுப் பிடிக்கவும். உங்கள் தேடுதலை துல்லியமாக்க அதிகமான அல்லது குறைவான வார்த்தைகளைத் தேர்ந்தெடுக்கவும். உங்கள் தேடலைத் திருத்த, பேனலைத் திறந்து, புதிய தாவலைத் திறக்கும் ஐகானைத் தட்டி தேடல் பெட்டியில் உங்கள் மாற்றங்களைச் செய்யவும்.</translation>
+<translation id="2459390580524506445">மேம்பட்ட குரல் தேடல்</translation>
 <translation id="246532703174860178">பகிர்</translation>
 <translation id="2478076885740497414">ஆப்ஸை நிறுவு</translation>
 <translation id="2479148705183875116">அமைப்புகளுக்குச் செல்லவும்</translation>
@@ -272,6 +273,7 @@
 <translation id="2932150158123903946">Google <ph name="APP_NAME" /> இன் சேமிப்பகம்</translation>
 <translation id="2942036813789421260">மாதிரிக்காட்சித் தாவல் மூடப்பட்டுள்ளது</translation>
 <translation id="2956410042958133412">இந்தக் கணக்கு <ph name="PARENT_NAME_1" /> மற்றும் <ph name="PARENT_NAME_2" /> ஆல் நிர்வகிக்கப்படுகிறது.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{படிக்காத பக்கம்: <ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" />}other{படிக்காத பக்கங்கள்: <ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" />}}</translation>
 <translation id="2962095958535813455">மறைநிலைத் தாவல்களுக்கு மாற்றப்பட்டது</translation>
 <translation id="2979025552038692506">தேர்ந்தெடுத்த மறைநிலைத் தாவல்</translation>
 <translation id="2987620471460279764">பிற சாதனத்திலிருந்து உரை பகிரப்பட்டது</translation>
@@ -320,6 +322,7 @@
 <translation id="32895400574683172">அறிவிப்புகள் அனுமதிக்கப்படுகின்றன</translation>
 <translation id="3290991969712132877">விரைவாக இந்தப் பக்கத்தை அணுக, கூடுதல் விருப்பத்தேர்வுகள் பட்டனைப் பயன்படுத்தி இதை உங்கள் முகப்புத் திரையில் சேர்க்கவும்</translation>
 <translation id="3295530008794733555">வேகமாக உலாவலாம். குறைவான டேட்டாவைப் பயன்படுத்தலாம்.</translation>
+<translation id="3297344142967351106">குரல் உதவி</translation>
 <translation id="3298243779924642547">Lite</translation>
 <translation id="3303414029551471755">உள்ளடக்கத்தைப் பதிவிறக்குவதைத் தொடரவா?</translation>
 <translation id="3315103659806849044">உங்கள் ஒத்திசைவு மற்றும் Google சேவை அமைப்புகளைத் தற்போது உங்களுக்கேற்ப மாற்றியமைக்கிறீர்கள். ஒத்திசைவை இயக்க, திரையின் அடிப்பகுதிக்கு அருகிலுள்ள ‘உறுதிப்படுத்து’ பட்டனைத் தட்டவும். மேலே செல்</translation>
@@ -619,6 +622,7 @@
 <translation id="5524843473235508879">திசைதிருப்புவது தடுக்கப்பட்டது.</translation>
 <translation id="5527082711130173040">சாதனங்களைத் தேட Chromeமுக்கு இருப்பிட அணுகல் தேவை. <ph name="BEGIN_LINK1" />அனுமதிகளை மாற்றவும்<ph name="END_LINK1" />. இருப்பிட அணுகலும் <ph name="BEGIN_LINK2" />இந்தச் சாதனத்தில் முடக்கப்பட்டுள்ளது<ph name="END_LINK2" />.</translation>
 <translation id="5530766185686772672">மறைநிலை தாவல்களை மூடு</translation>
+<translation id="5530920986376047241">பக்கங்களைப் பின்னர் வாசிக்க உங்கள் வாசிப்புப் பட்டியலில் அவற்றைச் சேமிக்கலாம்</translation>
 <translation id="5534640966246046842">தளம் நகலெடுக்கப்பட்டது</translation>
 <translation id="5556459405103347317">மீண்டும் ஏற்று</translation>
 <translation id="5561549206367097665">நெட்வொர்க்கிற்காகக் காத்திருக்கிறது…</translation>
@@ -697,6 +701,7 @@
 <translation id="5982307838673692400">மறைநிலைத் தாவலைத் திற</translation>
 <translation id="6000066717592683814">Googleஐ இயல்பு இன்ஜினாக வைத்திரு</translation>
 <translation id="6005538289190791541">பரிந்துரைக்கப்படும் கடவுச்சொல்</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{<ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> பக்கம் உள்ளது}other{<ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> பக்கங்கள் உள்ளன}}</translation>
 <translation id="6014293228235665243">படிக்காதவை</translation>
 <translation id="6036057147555329831">கூடுதல் ICU</translation>
 <translation id="6039379616847168523">அடுத்த தாவலுக்குச் செல்லும்</translation>
@@ -930,6 +935,7 @@
 <translation id="756809126120519699">Chrome தரவு அழிக்கப்பட்டது</translation>
 <translation id="7577900504646297215">ஆர்வங்களை நிர்வகிக்கும்</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> கோப்பு பதிவிறக்கப்பட்டது}other{<ph name="FILES_DOWNLOADED_MANY" /> கோப்புகள் பதிவிறக்கப்பட்டன}}</translation>
+<translation id="7583262514280211622">உங்கள் வாசிப்புப் பட்டியலை இங்கே பார்ப்பீர்கள்</translation>
 <translation id="7588219262685291874">சாதனத்தில் பேட்டரி சேமிப்பான் இயக்கத்தில் இருக்கும்போது டார்க் தீமை இயக்கும்</translation>
 <translation id="7593557518625677601">Chrome ஒத்திசைவைத் தொடங்க, Android அமைப்புகளைத் திறந்து Android சாதன ஒத்திசைவை மீண்டும் இயக்கவும்</translation>
 <translation id="7596558890252710462">ஆப்ரேட்டிங் சிஸ்டம்</translation>
@@ -961,6 +967,7 @@
 <translation id="7772375229873196092"><ph name="APP_NAME" />ஐ மூடு</translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 மற்றும் <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> கட்டண முறை}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 மற்றும் <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> கட்டண முறைகள்}}</translation>
 <translation id="7778840695157240389">புதிய கட்டுரைகளைப் பார்க்க பின்னர் வந்து பாருங்கள்</translation>
+<translation id="7786595606756654269">குரல் மூலம் இணையத்தில் தேடுவதற்கும் நீங்கள் திறந்திருக்கும் தளங்களுடன் ஈடுபாடு கொள்வதற்கும் Google Assistant சிறந்த அனுபவத்தை வழங்குகிறது. Google Assistant மூலம் நீங்கள் பயன்படுத்தும் தளங்களின் URLலையும் உள்ளடக்கங்களையும் அது உள்வாங்கிக் கொள்ளும்.</translation>
 <translation id="7791543448312431591">சேர்</translation>
 <translation id="7798392620021911922"><ph name="TAB_COUNT" /> தாவல்கள் மீட்டெடுக்கப்பட்டன</translation>
 <translation id="780301667611848630">வேண்டாம்</translation>
@@ -986,6 +993,7 @@
 <translation id="7961926449547174351">சேமிப்பக அணுகலை முடக்கியுள்ளீர்கள். இதை இயக்க, அமைப்புகளுக்குச் செல்லவும்.</translation>
 <translation id="7963646190083259054">விற்பனையாளர்:</translation>
 <translation id="7967911570373677897">QR குறியீட்டை ஸ்கேன் செய்ய, அமைப்புகளை மாற்றியமைக்கவும். அப்போதுதான் Chrome உங்கள் கேமராவைப் பயன்படுத்த முடியும்</translation>
+<translation id="7968014550143838305">வாசிப்புப் பட்டியலில் சேர்ந்தது</translation>
 <translation id="7971136598759319605">கடைசியாக 1 நாளுக்கு முன் பயன்படுத்தியுள்ளார்</translation>
 <translation id="7975379999046275268">பக்க மாதிரிக்காட்சியைக் காட்டு <ph name="BEGIN_NEW" />புதிது<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">மிக விரைவான உலாவலுக்காகவும் தேடலிற்காகவும் பக்கங்களை முன்னதாக ஏற்றும்</translation>
@@ -1046,6 +1054,7 @@
 <translation id="8372925856448695381"><ph name="LANG" /> மொழித்தொகுப்பு தயாராக உள்ளது.</translation>
 <translation id="8393700583063109961">செய்தி அனுப்பு</translation>
 <translation id="8407396331882458341">1. <ph name="APP_NAME" /> ஐத் தேர்வுசெய்யவும்\n2. “எப்போதும்” என்பதைத் தட்டவும்</translation>
+<translation id="8410695015584479363">விலைகளைக் கண்காணி</translation>
 <translation id="8413126021676339697">முழு வரலாற்றையும் காண்பி</translation>
 <translation id="8425213833346101688">மாற்று</translation>
 <translation id="8427875596167638501">மாதிரிக்காட்சித் தாவல் பாதியளவு திறந்துள்ளது</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 f0953bfe..c731aee2 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
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">తల్లిదండ్రుల వివరాల కోసం వేచి ఉంది.</translation>
 <translation id="8922289737868596582">మరిన్ని ఎంపికలు బటన్ నుండి పేజీలను డౌన్‌లోడ్ చేసుకోవడం ద్వారా వాటిని ఆఫ్‌లైన్‌లో ఉపయోగించండి</translation>
 <translation id="8928626432984354940">సగం ఎత్తులో తెరవబడిన బుక్‌మార్క్ ఫోల్డర్‌ల లిస్ట్</translation>
+<translation id="8937267401510745927">టాస్క్‌లు పూర్తి చేయడంలో మీకు సహాయపడటానికి, మీరు Assistantను ఉపయోగించే సైట్‌ల URLలు అలాగే వాటిలోని కంటెంట్‌ను, వీటితో పాటు మీరు Assistant ద్వారా సమర్పించే సమాచారాన్ని Google పొందుతుంది. ఈ సమాచారం మీ Google ఖాతాలో స్టోర్ చేయబడవచ్చు. మీరు Assistantను Chrome సెట్టింగ్‌లలో ఆఫ్ చేయవచ్చు.</translation>
 <translation id="8937772741022875483">డిజిటల్ సంక్షేమం నుండి మీ Chrome కార్యకలాపం తీసివేయాలా?</translation>
 <translation id="8942627711005830162">మరొక విండోలో తెరువు</translation>
 <translation id="8951232171465285730">Chrome మీకు <ph name="MEGABYTES" /> MB ఆదా చేసింది</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
index ac23366e..3597b92 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">Sayfadan ayrılmadan web sitelerindeki konular hakkında bilgi edinin. Dokun ve Ara özelliği, seçilen kelimeyi, çevresindeki içerikle birlikte Google Arama'ya gönderip karşılığında ilgili tanımlar, resimler, arama sonuçları ve diğer ayrıntıları döndürür.
 
 Arama yapmak için herhangi bir kelimeye dokunup basılı tutun. Aramanızı hassaslaştırmak için daha fazla veya daha az kelime seçin. Aramanızı düzenlemek için paneli açın, simgeye dokunarak yeni bir sekmede açın ve arama kutusunda değişikliklerinizi yapın.</translation>
+<translation id="2459390580524506445">Gelişmiş sesli arama</translation>
 <translation id="246532703174860178">Paylaş</translation>
 <translation id="2478076885740497414">Uygulamayı yükle</translation>
 <translation id="2479148705183875116">Ayarlar'a git</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Google <ph name="APP_NAME" /> depolama alanı</translation>
 <translation id="2942036813789421260">Önizleme sekmesi kapalı</translation>
 <translation id="2956410042958133412">Bu hesap <ph name="PARENT_NAME_1" /> ve <ph name="PARENT_NAME_2" /> tarafından yönetiliyor.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{Okunmamış <ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> sayfa}other{Okunmamış <ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> sayfa}}</translation>
 <translation id="2962095958535813455">Gizli mod sekmelerine geçildi</translation>
 <translation id="2979025552038692506">Seçili Gizli Sekme</translation>
 <translation id="2987620471460279764">Başka cihazdan paylaşılan metin</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">Bildirimlere izin veriliyor</translation>
 <translation id="3290991969712132877">Buraya daha hızlı ulaşmak için bu sayfayı Diğer seçenekler düğmesinden Ana ekranınıza ekleyin</translation>
 <translation id="3295530008794733555">Daha hızlı tarayın. Daha az veri kullanın.</translation>
+<translation id="3297344142967351106">Sesli yardım</translation>
 <translation id="3298243779924642547">Basit</translation>
 <translation id="3303414029551471755">İçeriği indirme işlemine başlansın mı?</translation>
 <translation id="3315103659806849044">Şu anda Senkronizasyon ve Google hizmet ayarlarınızı özelleştiriyorsunuz. Senkronizasyonu etkinleştirme işlemini tamamlamak için ekranın altına yakın bir yerde bulunan Onayla düğmesine dokunun. Yukarı git</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">Yönlendirme engellendi.</translation>
 <translation id="5527082711130173040">Chrome'un cihazları taraması için konum bilgilerine erişmesi gerekiyor. <ph name="BEGIN_LINK1" />İzinleri güncelleyin<ph name="END_LINK1" />. Ayrıca, konum bilgilerine erişim <ph name="BEGIN_LINK2" />bu cihaz için kapalı<ph name="END_LINK2" />.</translation>
 <translation id="5530766185686772672">Gizli sekmeleri kapat</translation>
+<translation id="5530920986376047241">Sayfaları daha sonra kolayca bulmak için okuma listenize kaydedebilirsiniz</translation>
 <translation id="5534640966246046842">Site kopyalandı</translation>
 <translation id="5556459405103347317">Yeniden Yükle</translation>
 <translation id="5561549206367097665">Ağ bekleniyor…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">Gizli sekme aç</translation>
 <translation id="6000066717592683814">Google kalsın</translation>
 <translation id="6005538289190791541">Önerilen şifre</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{<ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> sayfanız var}other{<ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> sayfanız var}}</translation>
 <translation id="6014293228235665243">Okunmayanlar</translation>
 <translation id="6036057147555329831">Ekstra ICU</translation>
 <translation id="6039379616847168523">Sonraki sekmeye gider</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Chrome verileri temizlendi</translation>
 <translation id="7577900504646297215">İlgi alanlarını yönet</translation>
 <translation id="757855969265046257">{FILES,plural, =1{<ph name="FILES_DOWNLOADED_ONE" /> dosya indirildi}other{<ph name="FILES_DOWNLOADED_MANY" /> dosya indirildi}}</translation>
+<translation id="7583262514280211622">Okuma listenizi burada bulabilirsiniz</translation>
 <translation id="7588219262685291874">Cihazın Pil Tasarrufu özelliği açık olduğunda koyu tema açılır</translation>
 <translation id="7593557518625677601">Chrome Senkronizasyonu'nu başlatmak için Android ayarlarını açın ve Android sistem senkronizasyonunu yeniden etkinleştirin</translation>
 <translation id="7596558890252710462">İşletim sistemi</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092"><ph name="APP_NAME" /> penceresini kapat</translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 ve <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> ödeme yöntemi daha}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 ve <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> ödeme yöntemi daha}}</translation>
 <translation id="7778840695157240389">Yeni hikaye için daha sonra tekrar kontrol edin</translation>
+<translation id="7786595606756654269">Google Asistan hem web'de arama yapmak hem de açtığınız sitelerle etkileşim kurmak için daha iyi ses deneyimi sağlar. Google Asistan, Asistan'ı kullandığınız sitelerin URL'leri ile içeriklerini alır.</translation>
 <translation id="7791543448312431591">Ekle</translation>
 <translation id="7798392620021911922"><ph name="TAB_COUNT" /> sekme geri yüklendi</translation>
 <translation id="780301667611848630">Hayır, teşekkürler</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">Depolama alanına erişimi devre dışı bıraktınız. Lütfen etkinleştirmek için Ayarlar'a gidin.</translation>
 <translation id="7963646190083259054">Firma:</translation>
 <translation id="7967911570373677897">QR kodu taramak için ayarlarınızı Chrome'un kameranızı kullanabileceği şekilde değiştirin</translation>
+<translation id="7968014550143838305">Okuma listesine eklendi</translation>
 <translation id="7971136598759319605">1 gün önce etkindi</translation>
 <translation id="7975379999046275268">Sayfanın önizlemesini aç <ph name="BEGIN_NEW" />Yeni<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">Daha hızlı göz atmak ve arama yapmak için sayfaları önceden yükle</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381"><ph name="LANG" /> hazır.</translation>
 <translation id="8393700583063109961">İleti gönder</translation>
 <translation id="8407396331882458341">1. <ph name="APP_NAME" /> uygulamasını seçin\n2. "Her zaman" seçeneğine dokunun</translation>
+<translation id="8410695015584479363">Fiyatları takip et</translation>
 <translation id="8413126021676339697">Tüm geçmişi göster</translation>
 <translation id="8425213833346101688">Değiştir</translation>
 <translation id="8427875596167638501">Önizleme sekmesi yarım açık</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 a5a403b9..e0aa9e8 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
@@ -708,7 +708,7 @@
 <translation id="5982307838673692400">ایک پوشیدگی ٹیب کھولیں</translation>
 <translation id="6000066717592683814">‏Google کو رکھیں</translation>
 <translation id="6005538289190791541">تجویز کردہ پاس ورڈ</translation>
-<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{آپ کے پاس <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> صفحہ ہیں}other{آپ کے پاس <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> صفحات ہیں}}</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{آپ کے پاس <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> صفحہ ہے}other{آپ کے پاس <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> صفحات ہیں}}</translation>
 <translation id="6014293228235665243">بغیر پڑھے ہوئے</translation>
 <translation id="6036057147555329831">‏اضافی ICU</translation>
 <translation id="6039379616847168523">اگلے ٹیب پر جائیں</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
index 0d34db7..d561757 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Ota-ona haqidagi ma’lumotlar yetarli emas</translation>
 <translation id="8922289737868596582">Saytlarni oflayn ko‘rish uchun “Boshqa parametrlar” tugmasidan foydalanib, yuklab oling</translation>
 <translation id="8928626432984354940">Bukmarklar roʻyxati jildi yarim hajmda ochildi</translation>
+<translation id="8937267401510745927">Google internetda ishlashingizni osonlashtirish uchun Assistent orqali kirilgan saytlarning URL manzillari va kontentlarini, shuningdek, soʻrovlarni ham oladi. Bu axborot Google hisobingizga saqlanishi mumkin. Chrome sozlamalari ichidan Assistentni faolsizlantirishingiz mumkin.</translation>
 <translation id="8937772741022875483">Raqamli muvozanat xizmatidan Chrome amallari olib tashlansinmi?</translation>
 <translation id="8942627711005830162">Yangi oynada ochish</translation>
 <translation id="8951232171465285730">Chrome <ph name="MEGABYTES" /> MB tejab qoldi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
index de99948..4e7da9cc 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">Tìm hiểu về các chủ đề trên trang web mà không cần rời khỏi trang. Tính năng Chạm để tìm kiếm sẽ gửi một từ và ngữ cảnh xung quanh từ đó tới Google Tìm kiếm, sau đó hiển thị định nghĩa, hình ảnh, kết quả tìm kiếm và các chi tiết khác.
 
 Chạm và giữ từ bất kỳ để tìm kiếm. Để điều chỉnh nội dung tìm kiếm, hãy chọn nhiều hoặc ít từ hơn. Để chỉnh sửa nội dung tìm kiếm, hãy mở bảng điều khiển, nhấn vào biểu tượng của ứng dụng bất kỳ bạn muốn mở trong một thẻ mới rồi thay đổi nội dung trong hộp tìm kiếm.</translation>
+<translation id="2459390580524506445">Tìm kiếm nâng cao bằng giọng nói</translation>
 <translation id="246532703174860178">Chia sẻ</translation>
 <translation id="2478076885740497414">Cài đặt ứng dụng</translation>
 <translation id="2479148705183875116">Chuyển đến phần Cài đặt</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Bộ nhớ Google <ph name="APP_NAME" /></translation>
 <translation id="2942036813789421260">Thẻ xem trước đang đóng</translation>
 <translation id="2956410042958133412">Tài khoản này do <ph name="PARENT_NAME_1" /> và <ph name="PARENT_NAME_2" /> quản lý.</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> trang chưa đọc}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> trang chưa đọc}}</translation>
 <translation id="2962095958535813455">Đã chuyển sang thẻ ẩn danh</translation>
 <translation id="2979025552038692506">Thẻ ẩn danh được chọn</translation>
 <translation id="2987620471460279764">Văn bản được chia sẻ từ thiết bị khác</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">Cho phép thông báo</translation>
 <translation id="3290991969712132877">Để truy cập nhanh hơn, hãy thêm trang này vào Màn hình chính từ nút Tùy chọn khác</translation>
 <translation id="3295530008794733555">Duyệt web nhanh hơn. Sử dụng ít dữ liệu hơn.</translation>
+<translation id="3297344142967351106">Trợ lý thoại</translation>
 <translation id="3298243779924642547">Phiên bản rút gọn</translation>
 <translation id="3303414029551471755">Tiếp tục tải xuống nội dung?</translation>
 <translation id="3315103659806849044">Bạn đang tùy chỉnh các tùy chọn cài đặt Đồng bộ hóa và dịch vụ của Google. Để hoàn tất thao tác bật tính năng đồng bộ hóa, hãy nhấn vào nút Xác nhận ở gần cuối màn hình. Di chuyển lên</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">Đã chặn chuyển hướng.</translation>
 <translation id="5527082711130173040">Chrome cần có quyền truy cập vị trí để quét tìm thiết bị. <ph name="BEGIN_LINK1" />Cập nhật quyền<ph name="END_LINK1" />. Tính năng truy cập vị trí cũng bị <ph name="BEGIN_LINK2" />tắt cho thiết bị này<ph name="END_LINK2" />.</translation>
 <translation id="5530766185686772672">Đóng thẻ ẩn danh</translation>
+<translation id="5530920986376047241">Bạn có thể lưu các trang vào danh sách đọc để tìm lại</translation>
 <translation id="5534640966246046842">Đã sao chép trang web</translation>
 <translation id="5556459405103347317">Tải lại</translation>
 <translation id="5561549206367097665">Đang chờ mạng…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">Mở một thẻ Ẩn danh</translation>
 <translation id="6000066717592683814">Giữ Google làm công cụ tìm kiếm mặc định</translation>
 <translation id="6005538289190791541">Mật khẩu đề xuất</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{Bạn có <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> trang}other{Bạn có <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> trang}}</translation>
 <translation id="6014293228235665243">Chưa đọc</translation>
 <translation id="6036057147555329831">Bộ chuyển đổi giao diện (ICU) bổ sung</translation>
 <translation id="6039379616847168523">Chuyển sang thẻ tiếp theo</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">Đã xóa dữ liệu Chrome</translation>
 <translation id="7577900504646297215">Quản lý mối quan tâm</translation>
 <translation id="757855969265046257">{FILES,plural, =1{Đã tải <ph name="FILES_DOWNLOADED_ONE" /> tệp xuống}other{Đã tải <ph name="FILES_DOWNLOADED_MANY" /> tệp xuống}}</translation>
+<translation id="7583262514280211622">Bạn sẽ thấy danh sách đọc ở đây</translation>
 <translation id="7588219262685291874">Bật giao diện tối khi Trình tiết kiệm pin trên thiết bị đang bật</translation>
 <translation id="7593557518625677601">Mở c.đặt Android &amp; bật lại đ.bộ hóa hệ thống Android để b.đầu đồng bộ hóa Chrome</translation>
 <translation id="7596558890252710462">Hệ điều hành</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092">Đóng <ph name="APP_NAME" /></translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 và <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> tùy chọn khác}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 và <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> tùy chọn khác}}</translation>
 <translation id="7778840695157240389">Hãy kiểm tra lại sau để xem các tin bài mới</translation>
+<translation id="7786595606756654269">Trợ lý Google giúp cải thiện trải nghiệm nhập liệu bằng giọng nói khi tìm kiếm trên web và tương tác với các trang web mà bạn đang mở. Trợ lý Google sẽ nhận URL và nội dung của những trang web mà bạn sử dụng Trợ lý Google.</translation>
 <translation id="7791543448312431591">Thêm</translation>
 <translation id="7798392620021911922">Đã khôi phục <ph name="TAB_COUNT" /> thẻ</translation>
 <translation id="780301667611848630">Không, cảm ơn</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">Bạn đã tắt Quyền truy cập bộ nhớ. Vui lòng chuyển đến phần Cài đặt để bật quyền này.</translation>
 <translation id="7963646190083259054">Nhà cung cấp:</translation>
 <translation id="7967911570373677897">Để quét mã QR, hãy thay đổi các tùy chọn cài đặt để Chrome có thể sử dụng máy ảnh của bạn</translation>
+<translation id="7968014550143838305">Đã thêm vào danh sách đọc</translation>
 <translation id="7971136598759319605">Hoạt động 1 ngày trước</translation>
 <translation id="7975379999046275268">Xem trước trang <ph name="BEGIN_NEW" />Mới<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">Tải trước các trang để tìm kiếm và duyệt web nhanh hơn</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381"><ph name="LANG" /> đã sẵn sàng.</translation>
 <translation id="8393700583063109961">Gửi tin nhắn</translation>
 <translation id="8407396331882458341">1. Chọn <ph name="APP_NAME" />\n2. Nhấn vào "Luôn chọn"</translation>
+<translation id="8410695015584479363">Theo dõi giá</translation>
 <translation id="8413126021676339697">Hiển thị toàn bộ lịch sử</translation>
 <translation id="8425213833346101688">Thay đổi</translation>
 <translation id="8427875596167638501">Thẻ xem trước đang mở trên nửa màn hình</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
index e468e1f..a52832d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -207,6 +207,7 @@
 <translation id="2450907520913474542">不須離開網頁即可瞭解網站上的主題。「輕觸搜尋」功能可將特定字詞及其上下文內容傳送給 Google 搜尋,並傳回定義、圖片、搜尋結果和其他詳細資料。
 
 輕觸並按住字詞即可進行搜尋,如要修正你所搜尋的內容,請調整選取的字詞數量。如要編輯你所搜尋的內容,請先開啟面板,再輕觸畫面上的圖示以開啟新分頁,然後在搜尋框中進行變更。</translation>
+<translation id="2459390580524506445">強化語音搜尋</translation>
 <translation id="246532703174860178">分享</translation>
 <translation id="2478076885740497414">安裝應用程式</translation>
 <translation id="2479148705183875116">前往「設定」</translation>
@@ -275,6 +276,7 @@
 <translation id="2932150158123903946">Google <ph name="APP_NAME" /> 儲存資料量</translation>
 <translation id="2942036813789421260">預覽分頁已關閉</translation>
 <translation id="2956410042958133412">這個帳戶受 <ph name="PARENT_NAME_1" /> 和 <ph name="PARENT_NAME_2" /> 管理。</translation>
+<translation id="2961208450284224863">{READING_LIST_UNREAD_PAGE_COUNT,plural, =1{<ph name="READING_LIST_UNREAD_PAGE_COUNT_ONE" /> 個未讀取的網頁}other{<ph name="READING_LIST_UNREAD_PAGE_COUNT_MANY" /> 個未讀取的網頁}}</translation>
 <translation id="2962095958535813455">已切換成無痕式分頁</translation>
 <translation id="2979025552038692506">選取的無痕式分頁</translation>
 <translation id="2987620471460279764">從其他裝置分享的文字</translation>
@@ -324,6 +326,7 @@
 <translation id="32895400574683172">允許顯示通知</translation>
 <translation id="3290991969712132877">如要更快速地前往這個網頁,請透過「更多」選項按鈕,將網頁新增到主畫面</translation>
 <translation id="3295530008794733555">瀏覽速度更快,數據用量更少。</translation>
+<translation id="3297344142967351106">語音小幫手</translation>
 <translation id="3298243779924642547">精簡版本</translation>
 <translation id="3303414029551471755">繼續下載這項內容?</translation>
 <translation id="3315103659806849044">你正在自訂同步功能和 Google 服務設定。如要完成開啟同步功能,請輕觸畫面底部附近的 [確認] 按鈕。向上瀏覽</translation>
@@ -625,6 +628,7 @@
 <translation id="5524843473235508879">已禁止重新導向。</translation>
 <translation id="5527082711130173040">Chrome 需要位置資訊存取權才能掃描裝置。<ph name="BEGIN_LINK1" />更新權限<ph name="END_LINK1" />。此外,<ph name="BEGIN_LINK2" />這個裝置的位置資訊存取權已關閉<ph name="END_LINK2" />。</translation>
 <translation id="5530766185686772672">關閉無痕式分頁</translation>
+<translation id="5530920986376047241">你可以將頁面儲存至閱讀清單,以便再次查看</translation>
 <translation id="5534640966246046842">已複製網站</translation>
 <translation id="5556459405103347317">重新載入</translation>
 <translation id="5561549206367097665">正在等待網路連線…</translation>
@@ -704,6 +708,7 @@
 <translation id="5982307838673692400">開啟無痕分頁</translation>
 <translation id="6000066717592683814">繼續使用 Google</translation>
 <translation id="6005538289190791541">建議的密碼</translation>
+<translation id="6012539369710767899">{READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{你有 <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_ONE" /> 個網頁}other{你有 <ph name="READING_LIST_REMINDER_NOTIFICATION_SUBTITLE_MANY" /> 個網頁}}</translation>
 <translation id="6014293228235665243">未讀取</translation>
 <translation id="6036057147555329831">其他 ICU</translation>
 <translation id="6039379616847168523">跳至下一個分頁</translation>
@@ -938,6 +943,7 @@
 <translation id="756809126120519699">已清除 Chrome 資料</translation>
 <translation id="7577900504646297215">管理興趣喜好</translation>
 <translation id="757855969265046257">{FILES,plural, =1{已下載 <ph name="FILES_DOWNLOADED_ONE" /> 個檔案}other{已下載 <ph name="FILES_DOWNLOADED_MANY" /> 個檔案}}</translation>
+<translation id="7583262514280211622">這裡會顯示你的閱讀清單</translation>
 <translation id="7588219262685291874">在裝置開啟「節約耗電量」後啟用深色主題</translation>
 <translation id="7593557518625677601">如要啟動 Chrome 同步功能,請開啟 Android 設定並重新啟用 Android 系統同步處理設定</translation>
 <translation id="7596558890252710462">作業系統</translation>
@@ -969,6 +975,7 @@
 <translation id="7772375229873196092">關閉 <ph name="APP_NAME" /></translation>
 <translation id="7774809984919390718">{PAYMENT_METHOD,plural, =1{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 和另外 <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> 種付款方式}other{<ph name="PAYMENT_METHOD_PREVIEW" />\u2026 和另外 <ph name="NUMBER_OF_ADDITIONAL_PAYMENT_METHODS" /> 種付款方式}}</translation>
 <translation id="7778840695157240389">請稍後再返回查看是否有新的報導</translation>
+<translation id="7786595606756654269">當你搜尋網路以及和已開啟的網站互動時,Google 助理可提供更好的語音體驗。當你在網站上使用 Google 助理時,系統會將網站的網址和內容傳送給 Google 助理。</translation>
 <translation id="7791543448312431591">新增</translation>
 <translation id="7798392620021911922">已還原 <ph name="TAB_COUNT" /> 個分頁</translation>
 <translation id="780301667611848630">不用了,謝謝</translation>
@@ -994,6 +1001,7 @@
 <translation id="7961926449547174351">你已停用儲存空間存取權,請前往「設定」頁面啟用這項權限。</translation>
 <translation id="7963646190083259054">供應商:</translation>
 <translation id="7967911570373677897">如要掃描 QR 圖碼,請將設定變更為允許 Chrome 使用你的攝影機</translation>
+<translation id="7968014550143838305">已加入閱讀清單</translation>
 <translation id="7971136598759319605">上次使用時間:1 天前</translation>
 <translation id="7975379999046275268">預覽網頁 <ph name="BEGIN_NEW" />新功能<ph name="END_NEW" /></translation>
 <translation id="7981313251711023384">預先載入網頁,以加快瀏覽及搜尋速度</translation>
@@ -1055,6 +1063,7 @@
 <translation id="8372925856448695381"><ph name="LANG" />套件已下載完成。</translation>
 <translation id="8393700583063109961">傳送訊息</translation>
 <translation id="8407396331882458341">1. 選擇 <ph name="APP_NAME" />\n2. 輕觸 [一律採用]</translation>
+<translation id="8410695015584479363">追蹤價格</translation>
 <translation id="8413126021676339697">顯示完整記錄</translation>
 <translation id="8425213833346101688">變更</translation>
 <translation id="8427875596167638501">已在畫面下半部顯示預覽分頁</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
index 76708f8..b38dd693 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
@@ -1132,6 +1132,7 @@
 <translation id="8920114477895755567">Ilinde imininingwane yabazali.</translation>
 <translation id="8922289737868596582">Amakhasi okulanda kusuka kuzinketho eziningi ongawasebenzisa ngokungaxhunyiwe ku-inthanethi</translation>
 <translation id="8928626432984354940">Uhlu lwamafolda webhukhimakhi livuliwe ngokuphakama okuyisigamu</translation>
+<translation id="8937267401510745927">Ukukusiza uqedele imisebenzi, i-Google izothola ama-URL nokuqukethwe kwamasayithi osebenzisa kuwo umsizi, kanye nolwazi oluthumela ngomsizi. Lolu lwazi lungase lugcinwe ku-akhawunti yakho ye-Google. Ungavala umsizi kumasethingi we-Chrome.</translation>
 <translation id="8937772741022875483">Susa umsebenzi wakho we-Chrome kusukela ku-Digital Wellbeing?</translation>
 <translation id="8942627711005830162">Vula kwelinye iwindi</translation>
 <translation id="8951232171465285730">I-Chrome ikulondolozele okungu-<ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc b/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc
index 72350e4..0b94626 100644
--- a/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc
+++ b/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc
@@ -11,6 +11,7 @@
 #include "chrome/browser/apps/app_service/app_service_proxy.h"
 #include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
 #include "chrome/browser/apps/app_service/launch_utils.h"
+#include "chrome/browser/browser_process.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_content_manager.h"
 #include "chrome/browser/chromeos/web_applications/default_web_app_ids.h"
 #include "chrome/browser/download/download_prefs.h"
@@ -29,6 +30,8 @@
 
 namespace {
 
+ChromeCaptureModeDelegate* g_instance = nullptr;
+
 ScreenshotArea ConvertToScreenshotArea(const aura::Window* window,
                                        const gfx::Rect& bounds) {
   return window->IsRootWindow()
@@ -36,11 +39,39 @@
              : ScreenshotArea::CreateForWindow(window);
 }
 
+bool IsScreenCaptureDisabledByPolicy() {
+  return g_browser_process->local_state()->GetBoolean(
+      prefs::kDisableScreenshots);
+}
+
 }  // namespace
 
-ChromeCaptureModeDelegate::ChromeCaptureModeDelegate() = default;
+ChromeCaptureModeDelegate::ChromeCaptureModeDelegate() {
+  DCHECK_EQ(g_instance, nullptr);
+  g_instance = this;
+}
 
-ChromeCaptureModeDelegate::~ChromeCaptureModeDelegate() = default;
+ChromeCaptureModeDelegate::~ChromeCaptureModeDelegate() {
+  DCHECK_EQ(g_instance, this);
+  g_instance = nullptr;
+}
+
+// static
+ChromeCaptureModeDelegate* ChromeCaptureModeDelegate::Get() {
+  DCHECK(g_instance);
+  return g_instance;
+}
+
+void ChromeCaptureModeDelegate::SetIsScreenCaptureLocked(bool locked) {
+  is_screen_capture_locked_ = locked;
+  if (is_screen_capture_locked_)
+    InterruptVideoRecordingIfAny();
+}
+
+void ChromeCaptureModeDelegate::InterruptVideoRecordingIfAny() {
+  if (interrupt_video_recording_callback_)
+    std::move(interrupt_video_recording_callback_).Run();
+}
 
 base::FilePath ChromeCaptureModeDelegate::GetActiveUserDownloadsDir() const {
   DCHECK(chromeos::LoginState::Get()->IsUserLoggedIn());
@@ -86,12 +117,19 @@
 }
 
 bool ChromeCaptureModeDelegate::IsCaptureModeInitRestricted() const {
-  return policy::DlpContentManager::Get()->IsCaptureModeInitRestricted();
+  return is_screen_capture_locked_ || IsScreenCaptureDisabledByPolicy() ||
+         policy::DlpContentManager::Get()->IsCaptureModeInitRestricted();
 }
 
 bool ChromeCaptureModeDelegate::IsCaptureAllowed(const aura::Window* window,
                                                  const gfx::Rect& bounds,
                                                  bool for_video) const {
+  if (is_screen_capture_locked_)
+    return false;
+
+  if (IsScreenCaptureDisabledByPolicy())
+    return false;
+
   policy::DlpContentManager* dlp_content_manager =
       policy::DlpContentManager::Get();
   const ScreenshotArea area = ConvertToScreenshotArea(window, bounds);
@@ -103,11 +141,16 @@
     const aura::Window* window,
     const gfx::Rect& bounds,
     base::OnceClosure stop_callback) {
+  // The order here matters, since DlpContentManager::OnVideoCaptureStarted()
+  // may call InterruptVideoRecordingIfAny() right away, so the callback must be
+  // set first.
+  interrupt_video_recording_callback_ = std::move(stop_callback);
   policy::DlpContentManager::Get()->OnVideoCaptureStarted(
-      ConvertToScreenshotArea(window, bounds), std::move(stop_callback));
+      ConvertToScreenshotArea(window, bounds));
 }
 
 void ChromeCaptureModeDelegate::StopObservingRestrictedContent() {
+  interrupt_video_recording_callback_.Reset();
   policy::DlpContentManager::Get()->OnVideoCaptureStopped();
 }
 
diff --git a/chrome/browser/ui/ash/chrome_capture_mode_delegate.h b/chrome/browser/ui/ash/chrome_capture_mode_delegate.h
index c7253487..c550d6d 100644
--- a/chrome/browser/ui/ash/chrome_capture_mode_delegate.h
+++ b/chrome/browser/ui/ash/chrome_capture_mode_delegate.h
@@ -18,6 +18,16 @@
       delete;
   ~ChromeCaptureModeDelegate() override;
 
+  static ChromeCaptureModeDelegate* Get();
+
+  // Sets |is_screen_capture_locked_| to the given |locked|, and interrupts any
+  // on going video capture.
+  void SetIsScreenCaptureLocked(bool locked);
+
+  // Interrupts an on going video recording if any, due to some restricted
+  // content showing up on the screen, or if screen capture becomes locked.
+  void InterruptVideoRecordingIfAny();
+
   // ash::CaptureModeDelegate:
   base::FilePath GetActiveUserDownloadsDir() const override;
   void ShowScreenCaptureItemInFolder(const base::FilePath& file_path) override;
@@ -37,6 +47,19 @@
       override;
   void BindAudioStreamFactory(
       mojo::PendingReceiver<audio::mojom::StreamFactory> receiver) override;
+
+ private:
+  // Used to temporarily disable capture mode in certain cases for which neither
+  // a device policy, nor DLP will be triggered. For example, Some extension
+  // APIs can request that a tab operate in a locked fullscreen mode, and in
+  // that, capturing the screen is disabled.
+  bool is_screen_capture_locked_ = false;
+
+  // A callback to terminate an on going video recording on ash side due to a
+  // restricted content showing up on the screen, or screen capture becoming
+  // locked.
+  // This is only non-null during recording.
+  base::OnceClosure interrupt_video_recording_callback_;
 };
 
 #endif  // CHROME_BROWSER_UI_ASH_CHROME_CAPTURE_MODE_DELEGATE_H_
diff --git a/chrome/browser/ui/ash/recording_service_browsertest.cc b/chrome/browser/ui/ash/recording_service_browsertest.cc
index 72547e8..fd28085 100644
--- a/chrome/browser/ui/ash/recording_service_browsertest.cc
+++ b/chrome/browser/ui/ash/recording_service_browsertest.cc
@@ -207,3 +207,15 @@
   test_api.SetUserSelectedRegion(gfx::Rect(50, 200));
   FinishVideoRecordingTest(&test_api);
 }
+
+// Tests that recording will be interrupted once screen capture becomes locked.
+IN_PROC_BROWSER_TEST_F(RecordingServiceBrowserTest,
+                       RecordingInterruptedOnCaptureLocked) {
+  ash::CaptureModeTestApi test_api;
+  test_api.StartForFullscreen(/*for_video=*/true);
+  test_api.PerformCapture();
+  WaitForMilliseconds(1000);
+  ChromeCaptureModeDelegate::Get()->SetIsScreenCaptureLocked(true);
+  const base::FilePath video_path = WaitForVideoFileToBeSaved();
+  VerifyVideoFileAndDelete(video_path);
+}
diff --git a/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc b/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc
index 4e45c1a..186f74e8 100644
--- a/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc
+++ b/chrome/browser/ui/search/local_ntp_doodle_browsertest.cc
@@ -97,11 +97,13 @@
 
  private:
   // content::WebContentsObserver:
-  void OnDidAddMessageToConsole(content::RenderFrameHost* source_frame,
-                                blink::mojom::ConsoleMessageLevel log_level,
-                                const base::string16& message,
-                                int32_t line_no,
-                                const base::string16& source_id) override {
+  void OnDidAddMessageToConsole(
+      content::RenderFrameHost* source_frame,
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& message,
+      int32_t line_no,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) override {
     ADD_FAILURE() << "Unexpected console message: " << message;
   }
 };
diff --git a/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc b/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc
index 2094b742..5064d892 100644
--- a/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc
+++ b/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc
@@ -16,9 +16,9 @@
 void DiceWebSigninInterceptorDelegate::ShowSigninInterceptionBubble(
     content::WebContents* web_contents,
     const BubbleParameters& bubble_parameters,
-    base::OnceCallback<void(bool)> callback) {
+    base::OnceCallback<void(SigninInterceptionResult)> callback) {
   if (!web_contents) {
-    std::move(callback).Run(false);
+    std::move(callback).Run(SigninInterceptionResult::kNotDisplayed);
     return;
   }
   ShowSigninInterceptionBubbleInternal(
diff --git a/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.h b/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.h
index dfd1758..3d020e0 100644
--- a/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.h
+++ b/chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.h
@@ -25,7 +25,7 @@
   void ShowSigninInterceptionBubble(
       content::WebContents* web_contents,
       const BubbleParameters& bubble_parameters,
-      base::OnceCallback<void(bool)> callback) override;
+      base::OnceCallback<void(SigninInterceptionResult)> callback) override;
   void ShowProfileCustomizationBubble(Browser* browser) override;
 
  private:
@@ -33,7 +33,7 @@
   void ShowSigninInterceptionBubbleInternal(
       Browser* browser,
       const BubbleParameters& bubble_parameters,
-      base::OnceCallback<void(bool)> callback);
+      base::OnceCallback<void(SigninInterceptionResult)> callback);
 
   // Implemented in profile_customization_bubble_view.cc
   void ShowProfileCustomizationBubbleInternal(Browser* browser);
diff --git a/chrome/browser/ui/views/location_bar/content_setting_image_view.cc b/chrome/browser/ui/views/location_bar/content_setting_image_view.cc
index 17f1b01ed4..4ba37ef9 100644
--- a/chrome/browser/ui/views/location_bar/content_setting_image_view.cc
+++ b/chrome/browser/ui/views/location_bar/content_setting_image_view.cc
@@ -189,7 +189,7 @@
     bubble_view_->SetHighlightedButton(this);
     views::Widget* bubble_widget =
         views::BubbleDialogDelegateView::CreateBubble(bubble_view_);
-    observer_.Add(bubble_widget);
+    observation_.Observe(bubble_widget);
     bubble_widget->Show();
     delegate_->OnContentSettingImageBubbleShown(
         content_setting_image_model_->image_type());
@@ -211,7 +211,8 @@
   if (!bubble_view_ || bubble_view_->GetWidget() != widget)
     return;
 
-  observer_.Remove(widget);
+  DCHECK(observation_.IsObservingSource(widget));
+  observation_.RemoveObservation();
   bubble_view_ = nullptr;
   UnpauseAnimation();
 }
diff --git a/chrome/browser/ui/views/location_bar/content_setting_image_view.h b/chrome/browser/ui/views/location_bar/content_setting_image_view.h
index a1d6d32..3665376c 100644
--- a/chrome/browser/ui/views/location_bar/content_setting_image_view.h
+++ b/chrome/browser/ui/views/location_bar/content_setting_image_view.h
@@ -97,7 +97,8 @@
   base::Optional<SkColor> icon_color_;
 
   // Observes destruction of bubble's Widgets spawned by this ImageView.
-  ScopedObserver<views::Widget, views::WidgetObserver> observer_{this};
+  base::ScopedObservation<views::Widget, views::WidgetObserver> observation_{
+      this};
   bool can_animate_ = true;
 
   DISALLOW_COPY_AND_ASSIGN(ContentSettingImageView);
diff --git a/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc b/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc
index ab2fe62..e80bebe 100644
--- a/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc
+++ b/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc
@@ -109,7 +109,7 @@
       controller_(controller) {
   SetShowTitle(true);
   SetShowCloseButton(true);
-  controller_observer_.Add(controller);
+  controller_observation_.Observe(controller);
   SetButtons(ui::DIALOG_BUTTON_NONE);
 }
 
@@ -131,7 +131,7 @@
     text_->SetText(
         l10n_util::GetStringUTF16(IDS_COOKIE_CONTROLS_NOT_WORKING_DESCRIPTION));
     auto tooltip_icon = CreateInfoIcon();
-    tooltip_observer_.Add(tooltip_icon.get());
+    tooltip_observation_.Observe(tooltip_icon.get());
     extra_view_ = SetExtraView(std::move(tooltip_icon));
     show_cookies_link_->SetVisible(true);
   } else if (status_ == CookieControlsStatus::kEnabled) {
@@ -298,5 +298,6 @@
 
 void CookieControlsBubbleView::OnTooltipIconDestroying(
     views::TooltipIcon* icon) {
-  tooltip_observer_.Remove(icon);
+  DCHECK(tooltip_observation_.IsObservingSource(icon));
+  tooltip_observation_.RemoveObservation();
 }
diff --git a/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.h b/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.h
index da363f4..3997dd0 100644
--- a/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.h
+++ b/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.h
@@ -93,11 +93,11 @@
   views::View* extra_view_ = nullptr;
   views::View* show_cookies_link_ = nullptr;
 
-  ScopedObserver<content_settings::CookieControlsController,
-                 content_settings::CookieControlsView>
-      controller_observer_{this};
-  ScopedObserver<views::TooltipIcon, views::TooltipIcon::Observer>
-      tooltip_observer_{this};
+  base::ScopedObservation<content_settings::CookieControlsController,
+                          content_settings::CookieControlsView>
+      controller_observation_{this};
+  base::ScopedObservation<views::TooltipIcon, views::TooltipIcon::Observer>
+      tooltip_observation_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CookieControlsBubbleView);
 };
diff --git a/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.cc b/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.cc
index 13f65662..e745d5c0 100644
--- a/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.cc
+++ b/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.cc
@@ -43,7 +43,7 @@
               profile->IsOffTheRecord() ? CookieSettingsFactory::GetForProfile(
                                               profile->GetOriginalProfile())
                                         : nullptr);
-      observer_.Add(controller_.get());
+      observation_.Observe(controller_.get());
     }
     controller_->Update(web_contents);
   }
diff --git a/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.h b/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.h
index f692f79..e2e8b3f1 100644
--- a/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.h
+++ b/chrome/browser/ui/views/location_bar/cookie_controls_icon_view.h
@@ -7,7 +7,7 @@
 
 #include <memory>
 #include "base/macros.h"
-#include "base/scoped_observer.h"
+#include "base/scoped_observation.h"
 #include "chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.h"
 #include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
 #include "components/content_settings/browser/ui/cookie_controls_controller.h"
@@ -48,9 +48,9 @@
   bool has_blocked_cookies_ = false;
 
   std::unique_ptr<content_settings::CookieControlsController> controller_;
-  ScopedObserver<content_settings::CookieControlsController,
-                 content_settings::CookieControlsView>
-      observer_{this};
+  base::ScopedObservation<content_settings::CookieControlsController,
+                          content_settings::CookieControlsView>
+      observation_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CookieControlsIconView);
 };
diff --git a/chrome/browser/ui/views/location_bar/icon_label_bubble_view.h b/chrome/browser/ui/views/location_bar/icon_label_bubble_view.h
index 9a967b0..fa999fca 100644
--- a/chrome/browser/ui/views/location_bar/icon_label_bubble_view.h
+++ b/chrome/browser/ui/views/location_bar/icon_label_bubble_view.h
@@ -10,7 +10,7 @@
 
 #include "base/macros.h"
 #include "base/optional.h"
-#include "base/scoped_observer.h"
+#include "base/scoped_observation.h"
 #include "base/strings/string16.h"
 #include "third_party/skia/include/core/SkPath.h"
 #include "ui/base/pointer/touch_ui_controller.h"
diff --git a/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.cc b/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.cc
index 713a6a9..a7732fa 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.cc
@@ -56,7 +56,7 @@
     Browser* browser = chrome::FindBrowserWithWebContents(web_contents);
     // |browser| can be null in tests.
     if (browser)
-      fullscreen_observer_.Add(
+      fullscreen_observation_.Observe(
           browser->exclusive_access_manager()->fullscreen_controller());
   }
 }
diff --git a/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h b/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h
index deaf00c..2645e31 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h
+++ b/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_LOCATION_BAR_BUBBLE_DELEGATE_VIEW_H_
 
 #include "base/macros.h"
-#include "base/scoped_observer.h"
+#include "base/scoped_observation.h"
 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
 #include "chrome/browser/ui/exclusive_access/fullscreen_observer.h"
 #include "content/public/browser/web_contents_observer.h"
@@ -103,8 +103,8 @@
   }
 
  private:
-  ScopedObserver<FullscreenController, FullscreenObserver> fullscreen_observer_{
-      this};
+  base::ScopedObservation<FullscreenController, FullscreenObserver>
+      fullscreen_observation_{this};
 
   // A flag controlling bubble closure when the main frame navigates to a
   // different origin.
diff --git a/chrome/browser/ui/views/location_bar/star_view.cc b/chrome/browser/ui/views/location_bar/star_view.cc
index aa1c40a..9c47f65f 100644
--- a/chrome/browser/ui/views/location_bar/star_view.cc
+++ b/chrome/browser/ui/views/location_bar/star_view.cc
@@ -7,7 +7,6 @@
 #include <string>
 
 #include "base/metrics/histogram_macros.h"
-#include "base/scoped_observer.h"
 #include "base/strings/string_number_conversions.h"
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/defaults.h"
diff --git a/chrome/browser/ui/views/location_bar/star_view.h b/chrome/browser/ui/views/location_bar/star_view.h
index 40824d7e..a465993b 100644
--- a/chrome/browser/ui/views/location_bar/star_view.h
+++ b/chrome/browser/ui/views/location_bar/star_view.h
@@ -8,7 +8,6 @@
 #include <memory>
 
 #include "base/macros.h"
-#include "base/scoped_observer.h"
 #include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
 #include "components/prefs/pref_member.h"
 #include "ui/base/models/simple_menu_model.h"
diff --git a/chrome/browser/ui/views/page_action/page_action_icon_controller.cc b/chrome/browser/ui/views/page_action/page_action_icon_controller.cc
index 98e91d09..85bcf90 100644
--- a/chrome/browser/ui/views/page_action/page_action_icon_controller.cc
+++ b/chrome/browser/ui/views/page_action/page_action_icon_controller.cc
@@ -30,7 +30,7 @@
 #include "chrome/browser/ui/views/translate/translate_icon_view.h"
 #include "ui/views/layout/box_layout.h"
 
-PageActionIconController::PageActionIconController() : zoom_observer_(this) {}
+PageActionIconController::PageActionIconController() = default;
 PageActionIconController::~PageActionIconController() = default;
 
 void PageActionIconController::Init(const PageActionIconParams& params,
@@ -173,7 +173,7 @@
   }
 
   if (params.browser) {
-    zoom_observer_.Add(zoom::ZoomEventManager::GetForBrowserContext(
+    zoom_observation_.Observe(zoom::ZoomEventManager::GetForBrowserContext(
         params.browser->profile()));
   }
 }
diff --git a/chrome/browser/ui/views/page_action/page_action_icon_controller.h b/chrome/browser/ui/views/page_action/page_action_icon_controller.h
index 6aa2bd4..b7be390 100644
--- a/chrome/browser/ui/views/page_action/page_action_icon_controller.h
+++ b/chrome/browser/ui/views/page_action/page_action_icon_controller.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_UI_VIEWS_PAGE_ACTION_PAGE_ACTION_ICON_CONTROLLER_H_
 
 #include "base/macros.h"
-#include "base/scoped_observer.h"
+#include "base/scoped_observation.h"
 #include "chrome/browser/ui/page_action/page_action_icon_type.h"
 #include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
 #include "components/zoom/zoom_event_manager.h"
@@ -100,8 +100,9 @@
 
   std::vector<PageActionIconView*> page_action_icons_;
 
-  ScopedObserver<zoom::ZoomEventManager, zoom::ZoomEventManagerObserver>
-      zoom_observer_;
+  base::ScopedObservation<zoom::ZoomEventManager,
+                          zoom::ZoomEventManagerObserver>
+      zoom_observation_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PageActionIconController);
 };
diff --git a/chrome/browser/ui/views/page_action/page_action_icon_view.h b/chrome/browser/ui/views/page_action/page_action_icon_view.h
index 9792a5a3..b2c3c05 100644
--- a/chrome/browser/ui/views/page_action/page_action_icon_view.h
+++ b/chrome/browser/ui/views/page_action/page_action_icon_view.h
@@ -8,7 +8,6 @@
 #include <memory>
 
 #include "base/macros.h"
-#include "base/scoped_observer.h"
 #include "chrome/browser/ui/layout_constants.h"
 #include "chrome/browser/ui/omnibox/omnibox_theme.h"
 #include "chrome/browser/ui/views/location_bar/icon_label_bubble_view.h"
diff --git a/chrome/browser/ui/views/page_action/pwa_install_view.cc b/chrome/browser/ui/views/page_action/pwa_install_view.cc
index ea849b33..0279bfc4 100644
--- a/chrome/browser/ui/views/page_action/pwa_install_view.cc
+++ b/chrome/browser/ui/views/page_action/pwa_install_view.cc
@@ -91,16 +91,10 @@
     FeaturePromoControllerViews* controller =
         FeaturePromoControllerViews::GetForView(this);
     if (controller) {
-      FeaturePromoBubbleParams params;
-      params.body_string_specifier = IDS_DESKTOP_PWA_INSTALL_PROMO;
-      params.arrow = views::BubbleBorder::Arrow::TOP_RIGHT;
-      params.feature_command_id = IDC_INSTALL_PWA;
-      params.anchor_view = this;
-
       // Reset the iph flag when it's shown again.
       install_icon_clicked_after_iph_shown_ = false;
-      controller->MaybeShowPromoWithParams(
-          feature_engagement::kIPHDesktopPwaInstallFeature, params,
+      controller->MaybeShowPromo(
+          feature_engagement::kIPHDesktopPwaInstallFeature,
           base::Bind(&PwaInstallView::OnIphClosed,
                      weak_ptr_factory_.GetWeakPtr()));
     }
diff --git a/chrome/browser/ui/views/page_action/pwa_install_view_browsertest.cc b/chrome/browser/ui/views/page_action/pwa_install_view_browsertest.cc
index 2121d6a..88d6c6d0 100644
--- a/chrome/browser/ui/views/page_action/pwa_install_view_browsertest.cc
+++ b/chrome/browser/ui/views/page_action/pwa_install_view_browsertest.cc
@@ -54,19 +54,19 @@
 
  private:
   explicit PwaInstallIconChangeWaiter(views::View* view) {
-    observed_.Add(view);
+    observation_.Observe(view);
   }
   ~PwaInstallIconChangeWaiter() override = default;
 
   // ViewObserver
-  void OnViewVisibilityChanged(views::View* observed_view,
+  void OnViewVisibilityChanged(views::View* observation_view,
                                views::View* starting_view) override {
     run_loop_.Quit();
   }
 
   base::RunLoop run_loop_;
 
-  ScopedObserver<views::View, views::ViewObserver> observed_{this};
+  base::ScopedObservation<views::View, views::ViewObserver> observation_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PwaInstallIconChangeWaiter);
 };
diff --git a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.cc b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.cc
index 87fe97b..be968264 100644
--- a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.cc
+++ b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.cc
@@ -47,7 +47,7 @@
   if (callback_) {
     RecordInterceptionResult(bubble_parameters_, profile_,
                              SigninInterceptionResult::kIgnored);
-    std::move(callback_).Run(false);
+    std::move(callback_).Run(SigninInterceptionResult::kIgnored);
   }
 }
 
@@ -57,7 +57,7 @@
     views::View* anchor_view,
     const DiceWebSigninInterceptor::Delegate::BubbleParameters&
         bubble_parameters,
-    base::OnceCallback<void(bool)> callback) {
+    base::OnceCallback<void(SigninInterceptionResult)> callback) {
   // The widget is owned by the views system.
   views::Widget* widget = views::BubbleDialogDelegateView::CreateBubble(
       new DiceWebSigninInterceptionBubbleView(
@@ -114,7 +114,7 @@
     views::View* anchor_view,
     const DiceWebSigninInterceptor::Delegate::BubbleParameters&
         bubble_parameters,
-    base::OnceCallback<void(bool)> callback)
+    base::OnceCallback<void(SigninInterceptionResult)> callback)
     : views::BubbleDialogDelegateView(anchor_view,
                                       views::BubbleBorder::TOP_RIGHT),
       profile_(profile),
@@ -147,10 +147,11 @@
 }
 
 void DiceWebSigninInterceptionBubbleView::OnWebUIUserChoice(bool accept) {
-  RecordInterceptionResult(bubble_parameters_, profile_,
-                           accept ? SigninInterceptionResult::kAccepted
-                                  : SigninInterceptionResult::kDeclined);
-  std::move(callback_).Run(accept);
+  SigninInterceptionResult result = accept
+                                        ? SigninInterceptionResult::kAccepted
+                                        : SigninInterceptionResult::kDeclined;
+  RecordInterceptionResult(bubble_parameters_, profile_, result);
+  std::move(callback_).Run(result);
   GetWidget()->CloseWithReason(
       accept ? views::Widget::ClosedReason::kAcceptButtonClicked
              : views::Widget::ClosedReason::kCancelButtonClicked);
@@ -162,7 +163,7 @@
     Browser* browser,
     const DiceWebSigninInterceptor::Delegate::BubbleParameters&
         bubble_parameters,
-    base::OnceCallback<void(bool)> callback) {
+    base::OnceCallback<void(SigninInterceptionResult)> callback) {
   DCHECK(browser);
 
   if (bubble_parameters.interception_type ==
@@ -171,9 +172,8 @@
     // The bubble for profile switch is not enabled.
     DiceWebSigninInterceptionBubbleView::RecordInterceptionResult(
         bubble_parameters, browser->profile(),
-        DiceWebSigninInterceptionBubbleView::SigninInterceptionResult::
-            kNotDisplayed);
-    std::move(callback).Run(false);
+        SigninInterceptionResult::kNotDisplayed);
+    std::move(callback).Run(SigninInterceptionResult::kNotDisplayed);
     return;
   }
 
diff --git a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.h b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.h
index d066494..b39362e2 100644
--- a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.h
+++ b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view.h
@@ -22,20 +22,6 @@
 class DiceWebSigninInterceptionBubbleView
     : public views::BubbleDialogDelegateView {
  public:
-  // User action resulting from the interception bubble.
-  // These values are persisted to logs. Entries should not be renumbered and
-  // numeric values should never be reused.
-  enum class SigninInterceptionResult {
-    kAccepted = 0,
-    kDeclined = 1,
-    kIgnored = 2,
-
-    // Used when the bubble was not shown because it's not implemented.
-    kNotDisplayed = 3,
-
-    kMaxValue = kNotDisplayed,
-  };
-
   ~DiceWebSigninInterceptionBubbleView() override;
 
   DiceWebSigninInterceptionBubbleView(
@@ -48,7 +34,7 @@
       views::View* anchor_view,
       const DiceWebSigninInterceptor::Delegate::BubbleParameters&
           bubble_parameters,
-      base::OnceCallback<void(bool)> callback);
+      base::OnceCallback<void(SigninInterceptionResult)> callback);
 
   // Record metrics about the result of the signin interception.
   static void RecordInterceptionResult(
@@ -66,7 +52,7 @@
       views::View* anchor_view,
       const DiceWebSigninInterceptor::Delegate::BubbleParameters&
           bubble_parameters,
-      base::OnceCallback<void(bool)> callback);
+      base::OnceCallback<void(SigninInterceptionResult)> callback);
 
   // This bubble has no native buttons. The user accepts or cancels through this
   // method, which is called by the inner web UI.
@@ -74,7 +60,7 @@
 
   Profile* profile_;
   DiceWebSigninInterceptor::Delegate::BubbleParameters bubble_parameters_;
-  base::OnceCallback<void(bool)> callback_;
+  base::OnceCallback<void(SigninInterceptionResult)> callback_;
 };
 
 #endif  // CHROME_BROWSER_UI_VIEWS_PROFILES_DICE_WEB_SIGNIN_INTERCEPTION_BUBBLE_VIEW_H_
diff --git a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_browsertest.cc b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_browsertest.cc
index 8bb8274..7fa1535 100644
--- a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_browsertest.cc
+++ b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_browsertest.cc
@@ -27,7 +27,7 @@
   void ShowUi(const std::string& name) override {
     DiceWebSigninInterceptionBubbleView::CreateBubble(
         browser()->profile(), GetAvatarButton(), GetTestBubbleParameters(),
-        base::OnceCallback<void(bool)>());
+        base::OnceCallback<void(SigninInterceptionResult)>());
   }
 
   // Returns the avatar button, which is the anchor view for the interception
@@ -42,9 +42,9 @@
   }
 
   // Completion callback for the interception bubble.
-  void OnInterceptionComplete(bool accept) {
+  void OnInterceptionComplete(SigninInterceptionResult result) {
     DCHECK(!callback_result_.has_value());
-    callback_result_ = accept;
+    callback_result_ = result;
   }
 
   // Returns dummy bubble parameters for testing.
@@ -58,7 +58,7 @@
             account, primary_account};
   }
 
-  base::Optional<bool> callback_result_;
+  base::Optional<SigninInterceptionResult> callback_result_;
 };
 
 IN_PROC_BROWSER_TEST_F(DiceWebSigninInterceptionBubbleBrowserTest,
@@ -83,17 +83,13 @@
   widget->CloseWithReason(views::Widget::ClosedReason::kUnspecified);
   waiter.Wait();
   ASSERT_TRUE(callback_result_.has_value());
-  EXPECT_FALSE(callback_result_.value());
+  EXPECT_EQ(callback_result_, SigninInterceptionResult::kIgnored);
 
   // Check that histograms are recorded.
-  histogram_tester.ExpectUniqueSample(
-      "Signin.InterceptResult.MultiUser",
-      DiceWebSigninInterceptionBubbleView::SigninInterceptionResult::kIgnored,
-      1);
-  histogram_tester.ExpectUniqueSample(
-      "Signin.InterceptResult.MultiUser.NoSync",
-      DiceWebSigninInterceptionBubbleView::SigninInterceptionResult::kIgnored,
-      1);
+  histogram_tester.ExpectUniqueSample("Signin.InterceptResult.MultiUser",
+                                      SigninInterceptionResult::kIgnored, 1);
+  histogram_tester.ExpectUniqueSample("Signin.InterceptResult.MultiUser.NoSync",
+                                      SigninInterceptionResult::kIgnored, 1);
   histogram_tester.ExpectTotalCount("Signin.InterceptResult.Enterprise", 0);
   histogram_tester.ExpectTotalCount("Signin.InterceptResult.Switch", 0);
 }
diff --git a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_unittest.cc b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_unittest.cc
index eedfe0b..38567a9 100644
--- a/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_unittest.cc
+++ b/chrome/browser/ui/views/profiles/dice_web_signin_interception_bubble_view_unittest.cc
@@ -13,8 +13,6 @@
 #include "testing/gtest/include/gtest/gtest.h"
 
 using SigninInterceptionType = DiceWebSigninInterceptor::SigninInterceptionType;
-using SigninInterceptionResult =
-    DiceWebSigninInterceptionBubbleView::SigninInterceptionResult;
 
 class DiceWebSigninInterceptionBubbleViewTestBase : public testing::Test {
  public:
diff --git a/chrome/browser/ui/views/sharesheet/sharesheet_bubble_view.cc b/chrome/browser/ui/views/sharesheet/sharesheet_bubble_view.cc
index 4d12f607..18620898 100644
--- a/chrome/browser/ui/views/sharesheet/sharesheet_bubble_view.cc
+++ b/chrome/browser/ui/views/sharesheet/sharesheet_bubble_view.cc
@@ -86,6 +86,8 @@
 constexpr SkColor kShareTitleColor = gfx::kGoogleGrey900;
 constexpr SkColor kShareTargetTitleColor = gfx::kGoogleGrey700;
 
+constexpr auto kAnimateDelay = base::TimeDelta::FromMilliseconds(100);
+
 // Resize Percentage.
 constexpr int kStretchy = 1.0;
 
@@ -288,14 +290,80 @@
 }
 
 void SharesheetBubbleView::ShowActionView() {
+  constexpr auto kSharesheetViewChangeOpacityFadeTime =
+      base::TimeDelta::FromMilliseconds(100);
+  constexpr float kShareActionScaleUpFactor = 0.9f;
+  constexpr auto kShareActionScaleUpTime =
+      base::TimeDelta::FromMilliseconds(200);
+
+  main_view_->SetPaintToLayer();
+  ui::Layer* main_view_layer = main_view_->layer();
+  main_view_layer->SetFillsBoundsOpaquely(false);
+  main_view_layer->SetRoundedCornerRadius(gfx::RoundedCornersF(kCornerRadius));
+  // |main_view_| opacity fade out.
+  auto scoped_settings = std::make_unique<ui::ScopedLayerAnimationSettings>(
+      main_view_layer->GetAnimator());
+  scoped_settings->SetTransitionDuration(kSharesheetViewChangeOpacityFadeTime);
+  scoped_settings->SetTweenType(gfx::Tween::Type::LINEAR);
+  main_view_layer->SetOpacity(kSharesheetOpacityTranslucent);
   main_view_->SetVisible(false);
+
+  share_action_view_->SetPaintToLayer();
+  ui::Layer* share_action_view_layer = share_action_view_->layer();
+  share_action_view_layer->SetFillsBoundsOpaquely(false);
+  share_action_view_layer->SetRoundedCornerRadius(
+      gfx::RoundedCornersF(kCornerRadius));
+
   share_action_view_->SetVisible(true);
+  share_action_view_layer->SetOpacity(kSharesheetOpacityTranslucent);
+  gfx::Transform transform = gfx::GetScaleTransform(
+      gfx::Rect(share_action_view_layer->size()).CenterPoint(),
+      kShareActionScaleUpFactor);
+  share_action_view_layer->SetTransform(transform);
+  auto share_action_scoped_settings =
+      std::make_unique<ui::ScopedLayerAnimationSettings>(
+          share_action_view_layer->GetAnimator());
+  share_action_scoped_settings->SetPreemptionStrategy(
+      ui::LayerAnimator::ENQUEUE_NEW_ANIMATION);
+
+  // |share_action_view_| scale & opacity fade in.
+  share_action_scoped_settings->SetTransitionDuration(kShareActionScaleUpTime);
+  share_action_scoped_settings->SetTweenType(gfx::Tween::FAST_OUT_SLOW_IN_2);
+  share_action_scoped_settings->SetTransitionDuration(
+      kSharesheetViewChangeOpacityFadeTime);
+  share_action_scoped_settings->SetTweenType(gfx::Tween::Type::LINEAR);
+
+  // Delay |share_action_view_| animate so that we can see |main_view_| fade out
+  // first.
+  share_action_view_layer->GetAnimator()->SchedulePauseForProperties(
+      kAnimateDelay, ui::LayerAnimationElement::TRANSFORM |
+                         ui::LayerAnimationElement::OPACITY);
+  share_action_view_layer->SetOpacity(kSharesheetOpacityOpaque);
+  share_action_view_layer->SetTransform(gfx::Transform());
 }
 
 void SharesheetBubbleView::ResizeBubble(const int& width, const int& height) {
+  auto old_bounds = gfx::RectF(width_, height_);
   width_ = width;
   height_ = height;
+
+  // Animate from the old bubble to the new bubble.
+  constexpr auto kBubbleTransformTime = base::TimeDelta::FromMilliseconds(200);
+
+  ui::Layer* layer = View::GetWidget()->GetLayer();
+  const gfx::Transform transform =
+      gfx::TransformBetweenRects(old_bounds, gfx::RectF(width, height));
+  layer->SetTransform(transform);
+  auto scoped_settings =
+      std::make_unique<ui::ScopedLayerAnimationSettings>(layer->GetAnimator());
+  scoped_settings->SetTransitionDuration(kBubbleTransformTime);
+  scoped_settings->SetTweenType(gfx::Tween::FAST_OUT_SLOW_IN_2);
+  layer->GetAnimator()->SchedulePauseForProperties(
+      kAnimateDelay, ui::LayerAnimationElement::TRANSFORM);
+
   UpdateAnchorPosition();
+
+  layer->SetTransform(gfx::Transform());
 }
 
 // This function is called from a ShareAction or after an app launches.
@@ -362,6 +430,7 @@
 
 std::unique_ptr<views::NonClientFrameView>
 SharesheetBubbleView::CreateNonClientFrameView(views::Widget* widget) {
+  // TODO(crbug.com/1097623) Replace this with layer->SetRoundedCornerRadius.
   auto bubble_border =
       std::make_unique<views::BubbleBorder>(arrow(), GetShadow(), color());
   bubble_border->SetCornerRadius(kCornerRadius);
@@ -467,9 +536,9 @@
 
 void SharesheetBubbleView::ShowWidgetWithAnimateFadeIn() {
   constexpr float kSharesheetScaleUpFactor = 0.8f;
-  constexpr base::TimeDelta kSharesheetScaleUpTime =
+  constexpr auto kSharesheetScaleUpTime =
       base::TimeDelta::FromMilliseconds(150);
-  constexpr base::TimeDelta kSharesheetOpacityFadeInTime =
+  constexpr auto kSharesheetOpacityFadeInTime =
       base::TimeDelta::FromMilliseconds(100);
 
   views::Widget* widget = View::GetWidget();
@@ -495,17 +564,19 @@
 
 void SharesheetBubbleView::CloseWidgetWithAnimateFadeOut(
     views::Widget::ClosedReason closed_reason) {
-  constexpr base::TimeDelta kSharesheetOpacityFadeOutTime =
+  constexpr auto kSharesheetOpacityFadeOutTime =
       base::TimeDelta::FromMilliseconds(80);
 
   is_bubble_closing_ = true;
   ui::Layer* layer = View::GetWidget()->GetLayer();
-  // If open animation is still running, abort it as we are now closing.
-  layer->GetAnimator()->AbortAllAnimations();
+
   auto scoped_settings =
       std::make_unique<ui::ScopedLayerAnimationSettings>(layer->GetAnimator());
   scoped_settings->SetTweenType(gfx::Tween::Type::LINEAR);
   scoped_settings->SetTransitionDuration(kSharesheetOpacityFadeOutTime);
+  // This aborts any running animations and starts the current one.
+  scoped_settings->SetPreemptionStrategy(
+      ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
   layer->SetOpacity(kSharesheetOpacityTranslucent);
   // We are closing the native widget during the close animation which results
   // in destroying the layer and the animation and the observer not calling
diff --git a/chrome/browser/ui/views/toolbar/app_menu.cc b/chrome/browser/ui/views/toolbar/app_menu.cc
index 7e2f8324..a0f5557 100644
--- a/chrome/browser/ui/views/toolbar/app_menu.cc
+++ b/chrome/browser/ui/views/toolbar/app_menu.cc
@@ -473,7 +473,17 @@
         InMenuButtonBackground::LEADING_BORDER));
     fullscreen_button_->SetAccessibleName(GetAccessibleNameForAppMenuItem(
         menu_model, fullscreen_index, IDS_ACCNAME_FULLSCREEN,
-        /*add_accelerator_text*/ true));
+#if defined(OS_CHROMEOS)
+        // ChromeOS uses a dedicated "fullscreen" media key for fullscreen
+        // mode on most ChromeOS devices which cannot be specified in the
+        // standard way here, so omit the accelerator to avoid providing
+        // misleading or confusing information to screen reader users.
+        // See crbug.com/1110468 for more context.
+        /*add_accelerator_text*/ false
+#else
+        /*add_accelerator_text*/ true
+#endif
+        ));
     AddChildView(fullscreen_button_);
 
     // Need to set a font list for the zoom label width calculations.
diff --git a/chrome/browser/ui/views/user_education/feature_promo_registry.cc b/chrome/browser/ui/views/user_education/feature_promo_registry.cc
index 39bc3879..21c1453 100644
--- a/chrome/browser/ui/views/user_education/feature_promo_registry.cc
+++ b/chrome/browser/ui/views/user_education/feature_promo_registry.cc
@@ -7,8 +7,12 @@
 #include "base/no_destructor.h"
 #include "base/optional.h"
 #include "chrome/app/chrome_command_ids.h"
+#include "chrome/browser/ui/page_action/page_action_icon_type.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/global_media_controls/media_toolbar_button_view.h"
+#include "chrome/browser/ui/views/location_bar/location_bar_view.h"
+#include "chrome/browser/ui/views/page_action/page_action_icon_controller.h"
+#include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
 #include "chrome/browser/ui/views/tabs/tab_strip.h"
 #include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
@@ -26,6 +30,14 @@
 
 // Functions to get an anchor view for an IPH should go here.
 
+// kIPHDesktopPwaInstallFeature:
+views::View* GetDesktopPwaInstallView(BrowserView* browser_view) {
+  return browser_view->toolbar()
+      ->location_bar()
+      ->page_action_icon_controller()
+      ->GetIconView(PageActionIconType::kPwaInstall);
+}
+
 // kIPHDesktopTabGroupsNewGroupFeature:
 views::View* GetTabGroupsAnchorView(BrowserView* browser_view) {
   constexpr int kPreferredAnchorTab = 2;
@@ -119,6 +131,16 @@
 
 void FeaturePromoRegistry::RegisterKnownFeatures() {
   {
+    // kIPHDesktopPwaInstallFeature:
+    FeaturePromoBubbleParams params;
+    params.body_string_specifier = IDS_DESKTOP_PWA_INSTALL_PROMO;
+    params.arrow = views::BubbleBorder::Arrow::TOP_RIGHT;
+
+    RegisterFeature(feature_engagement::kIPHDesktopPwaInstallFeature, params,
+                    base::BindRepeating(GetDesktopPwaInstallView));
+  }
+
+  {
     // kIPHDesktopTabGroupsNewGroupFeature:
     FeaturePromoBubbleParams params;
     params.body_string_specifier = IDS_TAB_GROUPS_NEW_GROUP_PROMO;
diff --git a/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.cc b/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.cc
index c5962bb4..3e22ae10 100644
--- a/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.cc
+++ b/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.cc
@@ -12,6 +12,7 @@
 #include "base/strings/string16.h"
 #include "base/strings/string_util.h"
 #include "build/build_config.h"
+#include "chrome/browser/feature_engagement/tracker_factory.h"
 #include "chrome/browser/ui/browser_dialogs.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
@@ -25,6 +26,8 @@
 #include "chrome/browser/web_applications/components/web_app_prefs_utils.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/grit/generated_resources.h"
+#include "components/feature_engagement/public/event_constants.h"
+#include "components/feature_engagement/public/tracker.h"
 #include "components/strings/grit/components_strings.h"
 #include "components/url_formatter/elide_url.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -108,12 +111,14 @@
     std::unique_ptr<WebApplicationInfo> web_app_info,
     chrome::AppInstallationAcceptanceCallback callback,
     chrome::PwaInProductHelpState iph_state,
-    PrefService* prefs)
+    PrefService* prefs,
+    feature_engagement::Tracker* tracker)
     : LocationBarBubbleDelegateView(anchor_view, nullptr),
       web_app_info_(std::move(web_app_info)),
       callback_(std::move(callback)),
       iph_state_(iph_state),
-      prefs_(prefs) {
+      prefs_(prefs),
+      tracker_(tracker) {
   DCHECK(web_app_info_);
   DCHECK(prefs_);
 
@@ -232,6 +237,7 @@
     UMA_HISTOGRAM_ENUMERATION("WebApp.InstallIphPromo.Result",
                               web_app::InstallIphResult::kInstalled);
     web_app::RecordInstallIphInstalled(prefs_, app_id);
+    tracker_->NotifyEvent(feature_engagement::events::kDesktopPwaInstalled);
   }
   std::move(callback_).Run(true, std::move(web_app_info_));
   return true;
@@ -262,12 +268,14 @@
   PageActionIconView* icon =
       browser_view->toolbar_button_provider()->GetPageActionIconView(
           PageActionIconType::kPwaInstall);
-  PrefService* prefs =
-      Profile::FromBrowserContext(web_contents->GetBrowserContext())
-          ->GetPrefs();
-  g_bubble_ =
-      new PWAConfirmationBubbleView(anchor_view, icon, std::move(web_app_info),
-                                    std::move(callback), iph_state, prefs);
+  auto* browser_context = web_contents->GetBrowserContext();
+  PrefService* prefs = Profile::FromBrowserContext(browser_context)->GetPrefs();
+
+  feature_engagement::Tracker* tracker =
+      feature_engagement::TrackerFactory::GetForBrowserContext(browser_context);
+  g_bubble_ = new PWAConfirmationBubbleView(
+      anchor_view, icon, std::move(web_app_info), std::move(callback),
+      iph_state, prefs, tracker);
 
   views::BubbleDialogDelegateView::CreateBubble(g_bubble_)->Show();
 
diff --git a/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.h b/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.h
index 8c437d5e..485848d 100644
--- a/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.h
+++ b/chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.h
@@ -18,6 +18,10 @@
 class Checkbox;
 }
 
+namespace feature_engagement {
+class Tracker;
+}
+
 // PWAConfirmationBubbleView provides a bubble dialog for accepting or rejecting
 // the installation of a PWA (Progressive Web App) anchored off the PWA install
 // icon in the omnibox.
@@ -31,7 +35,8 @@
                             std::unique_ptr<WebApplicationInfo> web_app_info,
                             chrome::AppInstallationAcceptanceCallback callback,
                             chrome::PwaInProductHelpState iph_state,
-                            PrefService* prefs);
+                            PrefService* prefs,
+                            feature_engagement::Tracker* tracker);
   ~PWAConfirmationBubbleView() override;
 
   // LocationBarBubbleDelegateView:
@@ -51,6 +56,7 @@
 
   chrome::PwaInProductHelpState iph_state_;
   PrefService* prefs_;
+  feature_engagement::Tracker* tracker_;
 
   DISALLOW_COPY_AND_ASSIGN(PWAConfirmationBubbleView);
 };
diff --git a/chrome/browser/ui/webui/settings/chromeos/accessibility_section.cc b/chrome/browser/ui/webui/settings/chromeos/accessibility_section.cc
index 1a01c736..767201e 100644
--- a/chrome/browser/ui/webui/settings/chromeos/accessibility_section.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/accessibility_section.cc
@@ -196,6 +196,12 @@
        mojom::SearchResultDefaultRank::kMedium,
        mojom::SearchResultType::kSetting,
        {.setting = mojom::Setting::kFullscreenMagnifier}},
+      {IDS_OS_SETTINGS_TAG_A11Y_FULLSCREEN_MAGNIFIER_FOCUS_FOLLOWING,
+       mojom::kManageAccessibilitySubpagePath,
+       mojom::SearchResultIcon::kA11y,
+       mojom::SearchResultDefaultRank::kMedium,
+       mojom::SearchResultType::kSetting,
+       {.setting = mojom::Setting::kFullscreenMagnifierFocusFollowing}},
       {IDS_OS_SETTINGS_TAG_A11Y_ENABLE_SWITCH_ACCESS,
        mojom::kManageAccessibilitySubpagePath,
        mojom::SearchResultIcon::kA11y,
diff --git a/chrome/browser/ui/webui/settings/chromeos/reset_section.cc b/chrome/browser/ui/webui/settings/chromeos/reset_section.cc
index 63de5109..c840a79 100644
--- a/chrome/browser/ui/webui/settings/chromeos/reset_section.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/reset_section.cc
@@ -60,7 +60,7 @@
 
 void ResetSection::AddLoadTimeData(content::WebUIDataSource* html_source) {
   static constexpr webui::LocalizedString kLocalizedStrings[] = {
-      {"resetPageTitle", IDS_SETTINGS_RESET},
+      {"resetPageTitle", IDS_SETTINGS_RESET_TITLE},
       {"powerwashTitle", IDS_SETTINGS_FACTORY_RESET},
       {"powerwashDialogTitle", IDS_SETTINGS_FACTORY_RESET_HEADING},
       {"powerwashDialogButton", IDS_SETTINGS_RESTART},
diff --git a/chrome/browser/web_applications/BUILD.gn b/chrome/browser/web_applications/BUILD.gn
index 14bb6b0..e36f8697 100644
--- a/chrome/browser/web_applications/BUILD.gn
+++ b/chrome/browser/web_applications/BUILD.gn
@@ -338,6 +338,7 @@
     ":web_applications_unit_tests",
     "//chrome/browser/web_applications/components:unit_tests",
     "//chrome/browser/web_applications/extensions:unit_tests",
+    "//chrome/browser/web_applications/preinstalled_web_apps:unit_tests",
   ]
 }
 
diff --git a/chrome/browser/web_applications/components/os_integration_manager.cc b/chrome/browser/web_applications/components/os_integration_manager.cc
index e622023..617076ad 100644
--- a/chrome/browser/web_applications/components/os_integration_manager.cc
+++ b/chrome/browser/web_applications/components/os_integration_manager.cc
@@ -119,7 +119,6 @@
     InstallOsHooksCallback callback,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     InstallOsHooksOptions options) {
-  DCHECK(shortcut_manager_);
   if (g_suppress_os_hooks_for_testing_) {
     OsHooksResults os_hooks_results{true};
     base::SequencedTaskRunnerHandle::Get()->PostTask(
@@ -141,7 +140,7 @@
 
   // TODO(ortuno): Make adding a shortcut to the applications menu independent
   // from adding a shortcut to desktop.
-  if (options.os_hooks[OsHookType::kShortcuts] && CanCreateShortcuts()) {
+  if (options.os_hooks[OsHookType::kShortcuts]) {
     CreateShortcuts(app_id, options.add_to_desktop,
                     std::move(shortcuts_callback));
   } else {
@@ -162,7 +161,6 @@
 void OsIntegrationManager::UninstallOsHooks(const AppId& app_id,
                                             const OsHooksResults& os_hooks,
                                             UninstallOsHooksCallback callback) {
-  DCHECK(shortcut_manager_);
 
   if (g_suppress_os_hooks_for_testing_) {
     base::SequencedTaskRunnerHandle::Get()->PostTask(
@@ -239,14 +237,6 @@
   }
 }
 
-bool OsIntegrationManager::CanCreateShortcuts() const {
-  if (suppress_os_managers_for_testing_)
-    return true;
-
-  DCHECK(shortcut_manager_);
-  return shortcut_manager_->CanCreateShortcuts();
-}
-
 void OsIntegrationManager::GetShortcutInfoForApp(
     const AppId& app_id,
     AppShortcutManager::GetShortcutInfoCallback callback) {
@@ -310,10 +300,6 @@
 #endif
 }
 
-void OsIntegrationManager::SuppressOsManagersForTesting() {
-  suppress_os_managers_for_testing_ = true;
-}
-
 TestOsIntegrationManager* OsIntegrationManager::AsTestOsIntegrationManager() {
   return nullptr;
 }
@@ -321,22 +307,18 @@
 void OsIntegrationManager::CreateShortcuts(const AppId& app_id,
                                            bool add_to_desktop,
                                            CreateShortcutsCallback callback) {
-  if (suppress_os_managers_for_testing_) {
-    base::SequencedTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(std::move(callback), true));
-    return;
+  if (shortcut_manager_->CanCreateShortcuts()) {
+    shortcut_manager_->CreateShortcuts(app_id, add_to_desktop,
+                                       std::move(callback));
+  } else {
+    std::move(callback).Run(false);
   }
-
-  shortcut_manager_->CreateShortcuts(app_id, add_to_desktop,
-                                     std::move(callback));
 }
 
 void OsIntegrationManager::RegisterFileHandlers(
     const AppId& app_id,
     base::OnceCallback<void(bool success)> callback) {
-  if (suppress_os_managers_for_testing_)
-    return;
-
+  DCHECK(file_handler_manager_);
   file_handler_manager_->EnableAndRegisterOsFileHandlers(app_id);
 
   // TODO(crbug.com/1087219): callback should be run after all hooks are
@@ -350,8 +332,6 @@
         shortcuts_menu_item_infos,
     const ShortcutsMenuIconsBitmaps& shortcuts_menu_icons_bitmaps,
     base::OnceCallback<void(bool success)> callback) {
-  if (suppress_os_managers_for_testing_)
-    return;
 
   shortcut_manager_->RegisterShortcutsMenuWithOs(
       app_id, shortcuts_menu_item_infos, shortcuts_menu_icons_bitmaps);
@@ -364,11 +344,6 @@
 void OsIntegrationManager::ReadAllShortcutsMenuIconsAndRegisterShortcutsMenu(
     const AppId& app_id,
     base::OnceCallback<void(bool success)> callback) {
-  if (suppress_os_managers_for_testing_) {
-    base::SequencedTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(std::move(callback), true));
-    return;
-  }
   shortcut_manager_->ReadAllShortcutsMenuIconsAndRegisterShortcutsMenu(
       app_id, std::move(callback));
 }
@@ -376,11 +351,6 @@
 void OsIntegrationManager::RegisterRunOnOsLogin(
     const AppId& app_id,
     RegisterRunOnOsLoginCallback callback) {
-  if (suppress_os_managers_for_testing_) {
-    base::SequencedTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(std::move(callback), true));
-    return;
-  }
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 
   shortcut_manager_->GetShortcutInfoForApp(
@@ -392,30 +362,32 @@
 
 void OsIntegrationManager::MacAppShimOnAppInstalledForProfile(
     const AppId& app_id) {
-  if (suppress_os_managers_for_testing_)
-    return;
 #if defined(OS_MAC)
   AppShimRegistry::Get()->OnAppInstalledForProfile(app_id, profile_->GetPath());
 #endif
 }
 
 void OsIntegrationManager::AddAppToQuickLaunchBar(const AppId& app_id) {
-  if (suppress_os_managers_for_testing_)
-    return;
-
   DCHECK(ui_manager_);
   if (ui_manager_->CanAddAppToQuickLaunchBar()) {
     ui_manager_->AddAppToQuickLaunchBar(app_id);
   }
 }
 
+void OsIntegrationManager::RegisterWebAppOsUninstallation(
+    const AppId& app_id,
+    const std::string& name) {
+  if (ShouldRegisterUninstallationViaOsSettingsWithOs()) {
+    RegisterUninstallationViaOsSettingsWithOs(app_id, name, profile_);
+  }
+}
+
 void OsIntegrationManager::OnShortcutsCreated(
     const AppId& app_id,
     std::unique_ptr<WebApplicationInfo> web_app_info,
     InstallOsHooksOptions options,
     scoped_refptr<OsHooksBarrier> barrier,
     bool shortcuts_created) {
-  DCHECK(file_handler_manager_);
 
   bool shortcut_creation_failure =
       !shortcuts_created && options.os_hooks[OsHookType::kShortcuts];
@@ -456,10 +428,8 @@
 
   if (options.os_hooks[OsHookType::kUninstallationViaOsSettings] &&
       base::FeatureList::IsEnabled(
-          features::kEnableWebAppUninstallFromOsSettings) &&
-      ShouldRegisterUninstallationViaOsSettingsWithOs()) {
-    RegisterUninstallationViaOsSettingsWithOs(
-        app_id, registrar_->GetAppShortName(app_id), profile_);
+          features::kEnableWebAppUninstallFromOsSettings)) {
+    RegisterWebAppOsUninstallation(app_id, registrar_->GetAppShortName(app_id));
   }
 }
 
diff --git a/chrome/browser/web_applications/components/os_integration_manager.h b/chrome/browser/web_applications/components/os_integration_manager.h
index 944b092..1dcb264 100644
--- a/chrome/browser/web_applications/components/os_integration_manager.h
+++ b/chrome/browser/web_applications/components/os_integration_manager.h
@@ -110,7 +110,6 @@
                              const WebApplicationInfo& web_app_info);
 
   // Proxy calls for AppShortcutManager.
-  bool CanCreateShortcuts() const;
   void GetShortcutInfoForApp(
       const AppId& app_id,
       AppShortcutManager::GetShortcutInfoCallback callback);
@@ -132,9 +131,6 @@
 
   static ScopedOsHooksSuppress ScopedSuppressOsHooksForTesting();
 
-  // Suppress calling individual OS managers for testing.
-  void SuppressOsManagersForTesting();
-
   virtual TestOsIntegrationManager* AsTestOsIntegrationManager();
 
  protected:
@@ -171,6 +167,8 @@
                                     RegisterRunOnOsLoginCallback callback);
   virtual void MacAppShimOnAppInstalledForProfile(const AppId& app_id);
   virtual void AddAppToQuickLaunchBar(const AppId& app_id);
+  virtual void RegisterWebAppOsUninstallation(const AppId& app_id,
+                                              const std::string& name);
 
  private:
   class OsHooksBarrier;
@@ -195,7 +193,6 @@
 
   std::unique_ptr<AppShortcutManager> shortcut_manager_;
   std::unique_ptr<FileHandlerManager> file_handler_manager_;
-  bool suppress_os_managers_for_testing_ = false;
 
   base::WeakPtrFactory<OsIntegrationManager> weak_ptr_factory_{this};
 };
diff --git a/chrome/browser/web_applications/components/os_integration_manager_unittest.cc b/chrome/browser/web_applications/components/os_integration_manager_unittest.cc
index 5ab63059..04641675 100644
--- a/chrome/browser/web_applications/components/os_integration_manager_unittest.cc
+++ b/chrome/browser/web_applications/components/os_integration_manager_unittest.cc
@@ -9,41 +9,71 @@
 #include "base/bind.h"
 #include "base/run_loop.h"
 #include "base/test/bind.h"
+#include "base/test/gmock_callback_support.h"
+#include "base/test/task_environment.h"
 #include "chrome/browser/web_applications/components/web_app_constants.h"
-#include "chrome/browser/web_applications/components/web_app_helpers.h"
-#include "chrome/browser/web_applications/components/web_app_ui_manager.h"
-#include "chrome/browser/web_applications/test/test_file_handler_manager.h"
-#include "chrome/browser/web_applications/test/test_os_integration_manager.h"
-#include "chrome/browser/web_applications/test/web_app_test.h"
 #include "chrome/browser/web_applications/web_app.h"
+#include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/features.h"
 
 namespace web_app {
-class OsIntegrationManagerTest : public WebAppTest {
+class MockOsIntegrationManager : public OsIntegrationManager {
  public:
-  void SetUp() override {
-    WebAppTest::SetUp();
-    auto shortcut_manager = std::make_unique<TestShortcutManager>(profile());
-    auto file_handler_manager =
-        std::make_unique<TestFileHandlerManager>(profile());
+  MockOsIntegrationManager()
+      : OsIntegrationManager(nullptr, nullptr, nullptr) {}
+  ~MockOsIntegrationManager() override = default;
 
-    os_integration_manager_ = std::make_unique<OsIntegrationManager>(
-        profile(), std::move(shortcut_manager),
-        std::move(file_handler_manager));
+  MOCK_METHOD(void,
+              CreateShortcuts,
+              (const AppId& app_id,
+               bool add_to_desktop,
+               CreateShortcutsCallback callback),
+              (override));
 
-    os_integration_manager_->SuppressOsManagersForTesting();
-  }
-  OsIntegrationManager* os_integration_manager() {
-    return os_integration_manager_.get();
-  }
+  MOCK_METHOD(void,
+              RegisterFileHandlers,
+              (const AppId& app_id,
+               base::OnceCallback<void(bool success)> callback),
+              (override));
 
- private:
-  std::unique_ptr<WebAppUiManager> ui_manager_;
-  std::unique_ptr<OsIntegrationManager> os_integration_manager_;
+  MOCK_METHOD(void,
+              RegisterShortcutsMenu,
+              (const AppId& app_id,
+               const std::vector<WebApplicationShortcutsMenuItemInfo>&
+                   shortcuts_menu_item_infos,
+               const ShortcutsMenuIconsBitmaps& shortcuts_menu_icons_bitmaps,
+               base::OnceCallback<void(bool success)> callback),
+              (override));
+
+  MOCK_METHOD(void,
+              ReadAllShortcutsMenuIconsAndRegisterShortcutsMenu,
+              (const AppId& app_id,
+               base::OnceCallback<void(bool success)> callback),
+              (override));
+
+  MOCK_METHOD(void,
+              RegisterRunOnOsLogin,
+              (const AppId& app_id, RegisterRunOnOsLoginCallback callback),
+              (override));
+
+  MOCK_METHOD(void,
+              MacAppShimOnAppInstalledForProfile,
+              (const AppId& app_id),
+              (override));
+
+  MOCK_METHOD(void, AddAppToQuickLaunchBar, (const AppId& app_id), (override));
+
+  MOCK_METHOD(void,
+              RegisterWebAppOsUninstallation,
+              (const AppId& app_id, const std::string& name),
+              (override));
 };
 
-TEST_F(OsIntegrationManagerTest, InstallOsHooksCallbackCalled) {
+TEST(OsIntegrationManagerTest, InstallOsHooksOnlyShortcuts) {
+  base::test::TaskEnvironment task_environment_{
+      base::test::TaskEnvironment::MainThreadType::UI};
+
   base::RunLoop run_loop;
 
   OsHooksResults install_results;
@@ -54,11 +84,61 @@
       });
 
   const AppId app_id = "test";
+
+  testing::StrictMock<MockOsIntegrationManager> manager;
+  EXPECT_CALL(manager, MacAppShimOnAppInstalledForProfile(app_id)).Times(1);
+  EXPECT_CALL(manager, CreateShortcuts(app_id, false, testing::_))
+      .WillOnce(base::test::RunOnceCallback<2>(true));
+
   InstallOsHooksOptions options;
-  options.os_hooks = OsHooksResults{true};
-  os_integration_manager()->InstallOsHooks(app_id, std::move(callback), nullptr,
-                                           options);
+  options.os_hooks = OsHooksResults{false};
+  options.os_hooks[OsHookType::kShortcuts] = true;
+  manager.InstallOsHooks(app_id, std::move(callback), nullptr, options);
   run_loop.Run();
-  ASSERT_TRUE(install_results[0]);
+  EXPECT_TRUE(install_results[OsHookType::kShortcuts]);
+}
+
+TEST(OsIntegrationManagerTest, InstallOsHooksEverything) {
+  base::test::TaskEnvironment task_environment_{
+      base::test::TaskEnvironment::MainThreadType::UI};
+
+  base::RunLoop run_loop;
+
+  OsHooksResults install_results;
+  InstallOsHooksCallback callback =
+      base::BindLambdaForTesting([&](OsHooksResults results) {
+        install_results = results;
+        run_loop.Quit();
+      });
+
+  const AppId app_id = "test";
+
+  // Note - when features are enabled by default, more calls will needed to be
+  // added here.
+  testing::StrictMock<MockOsIntegrationManager> manager;
+  EXPECT_CALL(manager, MacAppShimOnAppInstalledForProfile(app_id)).Times(1);
+  EXPECT_CALL(manager, CreateShortcuts(app_id, true, testing::_))
+      .WillOnce(base::test::RunOnceCallback<2>(true));
+  EXPECT_CALL(manager, RegisterFileHandlers(app_id, testing::_)).Times(1);
+  EXPECT_CALL(manager, AddAppToQuickLaunchBar(app_id)).Times(1);
+  EXPECT_CALL(manager, ReadAllShortcutsMenuIconsAndRegisterShortcutsMenu(
+                           app_id, testing::_))
+      .Times(1);
+
+  InstallOsHooksOptions options;
+  options.add_to_desktop = true;
+  options.add_to_quick_launch_bar = true;
+  // Set all hooks to true.
+  options.os_hooks.set();
+  manager.InstallOsHooks(app_id, std::move(callback), nullptr, options);
+  run_loop.Run();
+  EXPECT_TRUE(install_results[OsHookType::kShortcuts]);
+  EXPECT_TRUE(install_results[OsHookType::kFileHandlers]);
+  EXPECT_TRUE(install_results[OsHookType::kRunOnOsLogin]);
+  // Note: We asked for these to be installed, but their methods were not
+  // called. This is because the features are turned off. We only set these
+  // results to false if there is an unexpected error, so they remain true.
+  EXPECT_TRUE(install_results[OsHookType::kShortcutsMenu]);
+  EXPECT_TRUE(install_results[OsHookType::kUninstallationViaOsSettings]);
 }
 }  // namespace web_app
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/BUILD.gn b/chrome/browser/web_applications/preinstalled_web_apps/BUILD.gn
index afcd815..e7176a23 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/BUILD.gn
+++ b/chrome/browser/web_applications/preinstalled_web_apps/BUILD.gn
@@ -15,6 +15,7 @@
   deps = [
     "//base",
     "//build:branding_buildflags",
+    "//chrome/browser:browser_process",
     "//chrome/browser/web_applications/components",
     "//skia",
     "//ui/base",
@@ -39,3 +40,16 @@
     deps += [ "//chrome/browser/resources:preinstalled_web_apps_resources" ]
   }
 }
+
+source_set("unit_tests") {
+  testonly = true
+
+  sources = [ "preinstalled_web_app_utils_unittest.cc" ]
+
+  deps = [
+    "//chrome/browser:browser_process",
+    "//chrome/browser/web_applications/preinstalled_web_apps",
+    "//skia",
+    "//testing/gtest",
+  ]
+}
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc
index c27ad1f..aa72ed5bc 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc
@@ -13,6 +13,90 @@
 
 namespace web_app {
 
+namespace {
+
+// clang-format off
+constexpr Translation kNameTranslations[] = {
+    {"af", u8"Dokumente"},
+    {"am", u8"ሰነዶች"},
+    {"ar", u8"مستندات"},
+    {"hy", u8"Փաստաթղթեր"},
+    {"az", u8"Sənəd"},
+    {"eu", u8"Dokumentuak"},
+    {"be", u8"Дакументы"},
+    {"bn", u8"Docs"},
+    {"bg", u8"Документи"},
+    {"my", u8"Docs"},
+    {"ca", u8"Documents"},
+    {"zh-HK", u8"Google 文件"},
+    {"zh-CN", u8"Google 文档"},
+    {"zh-TW", u8"文件"},
+    {"hr", u8"Dokumenti"},
+    {"cs", u8"Dokumenty"},
+    {"da", u8"Docs"},
+    {"nl", u8"Documenten"},
+    {"en-AU", u8"Docs"},
+    {"en-GB", u8"Docs"},
+    {"et", u8"Dokumendid"},
+    {"fil", u8"Docs"},
+    {"fi", u8"Docs"},
+    {"fr", u8"Docs"},
+    {"fr-CA", u8"Documents"},
+    {"gl", u8"Documentos"},
+    {"ka", u8"Docs"},
+    {"de", u8"Dokumente"},
+    {"el", u8"Έγγραφα"},
+    {"gu", u8"Docs"},
+    {"iw", u8"Docs"},
+    {"hi", u8"Docs"},
+    {"hu", u8"Dokumentumok"},
+    {"is", u8"Skjöl"},
+    {"id", u8"Dokumen"},
+    {"it", u8"Documenti"},
+    {"ja", u8"ドキュメント"},
+    {"kn", u8"Docs"},
+    {"kk", u8"Құжаттар"},
+    {"km", u8"ឯកសារ"},
+    {"ko", u8"문서"},
+    {"lo", u8"ເອກະສານ"},
+    {"lv", u8"Dokumenti"},
+    {"lt", u8"Dokumentai"},
+    {"ms", u8"Dokumen"},
+    {"ml", u8"Docs"},
+    {"mr", u8"Docs"},
+    {"mn", u8"Docs"},
+    {"ne", u8"कागजात"},
+    {"no", u8"Dokumenter"},
+    {"or", u8"Docs"},
+    {"fa", u8"سندنگار"},
+    {"pl", u8"Dokumenty"},
+    {"pt-BR", u8"Textos"},
+    {"pt-PT", u8"Docs"},
+    {"pa", u8"Docs"},
+    {"ro", u8"Documente"},
+    {"ru", u8"Документы"},
+    {"sr", u8"Документи"},
+    {"si", u8"Docs"},
+    {"sk", u8"Dokumenty"},
+    {"sl", u8"Dokumenti"},
+    {"es", u8"Documentos"},
+    {"es-419", u8"Documentos"},
+    {"sw", u8"Hati za Google"},
+    {"sv", u8"Dokument"},
+    {"ta", u8"Docs"},
+    {"te", u8"Docs"},
+    {"th", u8"เอกสาร"},
+    {"tr", u8"Dokümanlar"},
+    {"uk", u8"Документи"},
+    {"ur", u8"Docs"},
+    {"vi", u8"Tài liệu"},
+    {"cy", u8"Docs"},
+    {"zu", u8"Amadokhumenti"},
+};
+// clang-format on
+
+}  // namespace
+
 ExternalInstallOptions GetConfigForGoogleDocs() {
   ExternalInstallOptions options(
       /*install_url=*/GURL(
@@ -27,7 +111,8 @@
   options.only_use_app_info_factory = true;
   options.app_info_factory = base::BindRepeating([]() {
     auto info = std::make_unique<WebApplicationInfo>();
-    info->title = base::UTF8ToUTF16("Docs");
+    info->title =
+        base::UTF8ToUTF16(GetTranslatedName("Docs", kNameTranslations));
     info->start_url =
         GURL("https://docs.google.com/document/?usp=installed_webapp");
     info->scope = GURL("https://docs.google.com/document/");
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc
index 6f32a63..eb6e0e0 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc
@@ -13,6 +13,93 @@
 
 namespace web_app {
 
+namespace {
+
+// clang-format off
+constexpr Translation kNameTranslations[] = {
+    {"af", u8"Google Drive"},
+    {"sq", u8"Disku i Google"},
+    {"am", u8"Google Drive"},
+    {"ar", u8"Google Drive"},
+    {"hy", u8"Google Drive"},
+    {"az", u8"Google Disk"},
+    {"eu", u8"Google Drive"},
+    {"be", u8"Google Дыск"},
+    {"bn", u8"Google Drive"},
+    {"bs", u8"Google Disk"},
+    {"bg", u8"Google Диск"},
+    {"my", u8"Google Drive"},
+    {"ca", u8"Google Drive"},
+    {"zh-HK", u8"Google 雲端硬碟"},
+    {"zh-CN", u8"Google 云端硬盘"},
+    {"zh-TW", u8"Google 雲端硬碟"},
+    {"hr", u8"Google disk"},
+    {"cs", u8"Disk Google"},
+    {"da", u8"Google Drev"},
+    {"nl", u8"Google Drive"},
+    {"en-GB", u8"Google Drive"},
+    {"et", u8"Google Drive"},
+    {"fil", u8"Google Drive"},
+    {"fi", u8"Google Drive"},
+    {"fr-CA", u8"Google Disque"},
+    {"fr", u8"Google Drive"},
+    {"gl", u8"Google Drive"},
+    {"ka", u8"Google Drive"},
+    {"de", u8"Google Drive"},
+    {"el", u8"Google Drive"},
+    {"gu", u8"Google Drive"},
+    {"iw", u8"Google Drive"},
+    {"hi", u8"Google Drive"},
+    {"hu", u8"Google Drive"},
+    {"is", u8"Google Drive"},
+    {"id", u8"Google Drive"},
+    {"it", u8"Google Drive"},
+    {"ja", u8"Google ドライブ"},
+    {"kn", u8"Google Drive"},
+    {"kk", u8"Google Drive"},
+    {"km", u8"Google ថាស"},
+    {"ko", u8"Google 드라이브"},
+    {"ky", u8"Google Drive"},
+    {"lo", u8"Google Drive"},
+    {"lv", u8"Google disks"},
+    {"lt", u8"„Google“ diskas"},
+    {"ms", u8"Google Drive"},
+    {"ml", u8"Google Drive"},
+    {"mr", u8"Google Drive"},
+    {"mn", u8"Google Драйв"},
+    {"ne", u8"Google Drive"},
+    {"no", u8"Google Disk"},
+    {"fa", u8"Google Drive"},
+    {"pl", u8"Dysk Google"},
+    {"pt-BR", u8"Google Drive"},
+    {"pt-PT", u8"Google Drive"},
+    {"pa", u8"Google Drive"},
+    {"ro", u8"Google Drive"},
+    {"ru", u8"Google Диск"},
+    {"sr", u8"Google диск"},
+    {"si", u8"Google Drive"},
+    {"sk", u8"Disk Google"},
+    {"sl", u8"Google Drive"},
+    {"es-419", u8"Google Drive"},
+    {"es", u8"Google Drive"},
+    {"sw", u8"Hifadhi ya Google"},
+    {"sv", u8"Google Drive"},
+    {"ta", u8"Google Drive"},
+    {"te", u8"Google Drive"},
+    {"th", u8"Google ไดรฟ์"},
+    {"tr", u8"Google Drive"},
+    {"uk", u8"Google Диск"},
+    {"ur", u8"Google Drive"},
+    {"uz", u8"Google Drive"},
+    {"vi", u8"Google Drive"},
+    {"cy", u8"Google Drive"},
+    {"zu", u8"Google Drayivu"},
+    {"zu", u8"Drayivu"},
+};
+// clang-format on
+
+}  // namespace
+
 ExternalInstallOptions GetConfigForGoogleDrive() {
   ExternalInstallOptions options(
       /*install_url=*/GURL(
@@ -27,7 +114,8 @@
   options.only_use_app_info_factory = true;
   options.app_info_factory = base::BindRepeating([]() {
     auto info = std::make_unique<WebApplicationInfo>();
-    info->title = base::UTF8ToUTF16("Google Drive");
+    info->title =
+        base::UTF8ToUTF16(GetTranslatedName("Google Drive", kNameTranslations));
     info->start_url =
         GURL("https://drive.google.com/?usp=installed_webapp&lfhs=2");
     info->scope = GURL("https://drive.google.com/");
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc
index 92879d2..d1e4454e 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc
@@ -13,6 +13,88 @@
 
 namespace web_app {
 
+namespace {
+
+// clang-format off
+constexpr Translation kNameTranslations[] = {
+    {"af", u8"Blaaie"},
+    {"am", u8"ሉሆች"},
+    {"ar", u8"جداول البيانات"},
+    {"hy", u8"Աղյուսակներ"},
+    {"az", u8"Cədvəl"},
+    {"eu", u8"Kalkulu-orriak"},
+    {"be", u8"Табліцы"},
+    {"bn", u8"Sheets"},
+    {"bg", u8"Таблици"},
+    {"my", u8"စာမျက်နှာများ"},
+    {"ca", u8"Fulls de càlcul"},
+    {"zh-HK", u8"試算表"},
+    {"zh-CN", u8"表格"},
+    {"zh-TW", u8"試算表"},
+    {"hr", u8"Listovi"},
+    {"cs", u8"Tabulky"},
+    {"da", u8"Regneark"},
+    {"nl", u8"Spreadsheets"},
+    {"en-GB", u8"Sheets"},
+    {"et", u8"Lehed"},
+    {"fil", u8"Mga Sheet"},
+    {"fi", u8"Sheets"},
+    {"fr", u8"Feuilles de calcul"},
+    {"fr-CA", u8"Feuilles de calcul"},
+    {"gl", u8"Follas de cálculo"},
+    {"ka", u8"Sheets"},
+    {"de", u8"Tabellen"},
+    {"el", u8"Υπολογιστικά φύλλα"},
+    {"gu", u8"Sheets"},
+    {"iw", u8"Sheets"},
+    {"hi", u8"Sheets"},
+    {"hu", u8"Táblázatok"},
+    {"is", u8"Töflureiknar"},
+    {"id", u8"Spreadsheet"},
+    {"it", u8"Fogli"},
+    {"ja", u8"スプレッドシート"},
+    {"kn", u8"Sheets"},
+    {"kk", u8"Sheets"},
+    {"km", u8"បញ្ជី"},
+    {"ko", u8"스프레드시트"},
+    {"lo", u8"​ຊີດ"},
+    {"lv", u8"Izklājlapas"},
+    {"lt", u8"Skaičiuoklės"},
+    {"ms", u8"Helaian"},
+    {"ml", u8"Sheets"},
+    {"mr", u8"Sheets"},
+    {"mn", u8"Хүснэгт"},
+    {"ne", u8"पाना"},
+    {"no", u8"Regneark"},
+    {"fa", u8"کاربرگ‌نگار"},
+    {"pl", u8"Arkusze"},
+    {"pt-BR", u8"Planilhas"},
+    {"pt-PT", u8"Sheets"},
+    {"pa", u8"Sheets"},
+    {"ro", u8"Foi de calcul"},
+    {"ru", u8"Таблица"},
+    {"sr", u8"Табеле"},
+    {"si", u8"Sheets"},
+    {"sk", u8"Tabuľky"},
+    {"sl", u8"Preglednice"},
+    {"es", u8"Hojas de cálculo"},
+    {"es-419", u8"Hojas de cálculo"},
+    {"sw", u8"Majedwali"},
+    {"sv", u8"Kalkylark"},
+    {"ta", u8"Sheets"},
+    {"te", u8"షీట్‌లు"},
+    {"th", u8"ชีต"},
+    {"tr", u8"E-Tablolar"},
+    {"uk", u8"Таблиці"},
+    {"ur", u8"شیٹس"},
+    {"vi", u8"Trang tính"},
+    {"cy", u8"Dalenni"},
+    {"zu", u8"AmaSpredishithi"},
+};
+// clang-format on
+
+}  // namespace
+
 ExternalInstallOptions GetConfigForGoogleSheets() {
   ExternalInstallOptions options(
       /*install_url=*/GURL("https://docs.google.com/spreadsheets/"
@@ -27,7 +109,9 @@
   options.only_use_app_info_factory = true;
   options.app_info_factory = base::BindRepeating([]() {
     auto info = std::make_unique<WebApplicationInfo>();
-    info->title = base::UTF8ToUTF16("Sheets");
+    info->title =
+        base::UTF8ToUTF16(GetTranslatedName("Sheets", kNameTranslations));
+
     info->start_url =
         GURL("https://docs.google.com/spreadsheets/?usp=installed_webapp");
     info->scope = GURL("https://docs.google.com/spreadsheets/");
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc
index da766d8..e8017217 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc
@@ -13,6 +13,88 @@
 
 namespace web_app {
 
+namespace {
+
+// clang-format off
+constexpr Translation kNameTranslations[] = {
+    {"af", u8"Skyfies"},
+    {"am", u8"ስላይዶች"},
+    {"ar", u8"العروض التقديمية"},
+    {"hy", u8"Սլայդներ"},
+    {"az", u8"Slaydlar"},
+    {"eu", u8"Aurkezpenak"},
+    {"be", u8"Прэзентацыі"},
+    {"bn", u8"Slides"},
+    {"bg", u8"Презентации"},
+    {"my", u8"ဆလိုက်များ"},
+    {"ca", u8"Presentacions"},
+    {"zh-HK", u8"簡報"},
+    {"zh-CN", u8"幻灯片"},
+    {"zh-TW", u8"簡報"},
+    {"hr", u8"Prezentacije"},
+    {"cs", u8"Prezentace"},
+    {"da", u8"Præsentationer"},
+    {"nl", u8"Presentaties"},
+    {"en-GB", u8"Slides"},
+    {"et", u8"Esitlused"},
+    {"fil", u8"Mga Slide"},
+    {"fi", u8"Slides"},
+    {"fr", u8"Présentations"},
+    {"fr-CA", u8"Présentations"},
+    {"gl", u8"Presentacións"},
+    {"ka", u8"Slides"},
+    {"de", u8"Präsentationen"},
+    {"el", u8"Παρουσιάσεις"},
+    {"gu", u8"Slides"},
+    {"iw", u8"Slides"},
+    {"hi", u8"Slides"},
+    {"hu", u8"Diák"},
+    {"is", u8"Skyggnur"},
+    {"id", u8"Slide"},
+    {"it", u8"Presentazioni"},
+    {"ja", u8"スライド"},
+    {"kn", u8"Slides"},
+    {"kk", u8"Slides"},
+    {"km", u8"បទបង្ហាញ"},
+    {"ko", u8"프레젠테이션"},
+    {"lo", u8"ສະໄລ້"},
+    {"lv", u8"Prezentācijas"},
+    {"lt", u8"Skaidrės"},
+    {"ms", u8"Slaid"},
+    {"ml", u8"Slides"},
+    {"mr", u8"Slides"},
+    {"mn", u8"Слайд"},
+    {"ne", u8"स्लाइड"},
+    {"no", u8"Presentasjoner"},
+    {"fa", u8"اسلایدنگار"},
+    {"pl", u8"Prezentacje"},
+    {"pt-BR", u8"Apresentações"},
+    {"pt-PT", u8"Slides"},
+    {"pa", u8"Slides"},
+    {"ro", u8"Prezentări"},
+    {"ru", u8"Презентация"},
+    {"sr", u8"Презентације"},
+    {"si", u8"Slides"},
+    {"sk", u8"Prezentácie"},
+    {"sl", u8"Predstavitve"},
+    {"es", u8"Presentaciones"},
+    {"es-419", u8"Presentaciones"},
+    {"sw", u8"Slaidi"},
+    {"sv", u8"Presentationer"},
+    {"ta", u8"Slides"},
+    {"te", u8"Slides"},
+    {"th", u8"สไลด์"},
+    {"tr", u8"Slaytlar"},
+    {"uk", u8"Презентації"},
+    {"ur", u8"سلائیڈز"},
+    {"vi", u8"Trang trình bày"},
+    {"cy", u8"Sleidiau"},
+    {"zu", u8"Amaslayidi"},
+};
+// clang-format on
+
+}  // namespace
+
 ExternalInstallOptions GetConfigForGoogleSlides() {
   ExternalInstallOptions options(
       /*install_url=*/GURL("https://docs.google.com/presentation/"
@@ -27,7 +109,8 @@
   options.only_use_app_info_factory = true;
   options.app_info_factory = base::BindRepeating([]() {
     auto info = std::make_unique<WebApplicationInfo>();
-    info->title = base::UTF8ToUTF16("Slides");
+    info->title =
+        base::UTF8ToUTF16(GetTranslatedName("Slides", kNameTranslations));
     info->start_url =
         GURL("https://docs.google.com/presentation/?usp=installed_webapp");
     info->scope = GURL("https://docs.google.com/presentation/");
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.cc b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.cc
index 92000e1a..b0ca752 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.cc
@@ -4,10 +4,24 @@
 
 #include "chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.h"
 
+#include "chrome/browser/browser_process.h"
+#include "third_party/icu/source/common/unicode/localematcher.h"
 #include "ui/base/resource/resource_bundle.h"
 
 namespace web_app {
 
+namespace {
+
+icu::Locale GetLocaleFromTranslation(const Translation& translation) {
+  UErrorCode error = U_ZERO_ERROR;
+  icu::Locale locale =
+      icu::Locale::forLanguageTag(translation.bcp47_locale, error);
+  DCHECK(U_SUCCESS(error));
+  return locale;
+}
+
+}  // namespace
+
 std::map<SquareSizePx, SkBitmap> LoadBundledIcons(
     const std::initializer_list<int>& icon_resource_ids) {
   std::map<SquareSizePx, SkBitmap> results;
@@ -20,4 +34,28 @@
   return results;
 }
 
+const char* GetTranslatedName(const char* utf8_default_name,
+                              base::span<const Translation> translations) {
+  UErrorCode error = U_ZERO_ERROR;
+  icu::LocaleMatcher matcher = icu::LocaleMatcher::Builder()
+                                   .setSupportedLocalesViaConverter(
+                                       translations.begin(), translations.end(),
+                                       GetLocaleFromTranslation)
+                                   .build(error);
+  DCHECK(U_SUCCESS(error));
+
+  icu::Locale application_locale = icu::Locale::forLanguageTag(
+      g_browser_process->GetApplicationLocale(), error);
+  DCHECK(U_SUCCESS(error));
+
+  int32_t best_index =
+      matcher.getBestMatchResult(application_locale, error).getSupportedIndex();
+  DCHECK(U_SUCCESS(error));
+
+  if (best_index == -1)
+    return utf8_default_name;
+
+  return translations[best_index].utf8_translation;
+}
+
 }  // namespace web_app
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.h b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.h
index 5efb1d8..3bd10cba 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.h
+++ b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.h
@@ -12,6 +12,14 @@
 std::map<SquareSizePx, SkBitmap> LoadBundledIcons(
     const std::initializer_list<int>& icon_resource_ids);
 
+struct Translation {
+  const char* bcp47_locale;
+  const char* utf8_translation;
+};
+
+const char* GetTranslatedName(const char* utf8_default_name,
+                              base::span<const Translation> translations);
+
 }  // namespace web_app
 
 #endif  // CHROME_BROWSER_WEB_APPLICATIONS_PREINSTALLED_WEB_APPS_PREINSTALLED_WEB_APP_UTILS_H_
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils_unittest.cc b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils_unittest.cc
new file mode 100644
index 0000000..3b76cf4
--- /dev/null
+++ b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils_unittest.cc
@@ -0,0 +1,43 @@
+// Copyright (c) 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_app_utils.h"
+
+#include "chrome/browser/browser_process.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace web_app {
+
+class PreinstalledWebAppUtilsTest : public testing::Test {
+ public:
+  PreinstalledWebAppUtilsTest() = default;
+  PreinstalledWebAppUtilsTest(const PreinstalledWebAppUtilsTest&) = delete;
+  PreinstalledWebAppUtilsTest& operator=(const PreinstalledWebAppUtilsTest&) =
+      delete;
+  ~PreinstalledWebAppUtilsTest() override = default;
+};
+
+TEST_F(PreinstalledWebAppUtilsTest, GetTranslatedName) {
+  std::string test_locale;
+  constexpr Translation kTranslations[] = {
+      {"en", "en"},
+      {"en-GB", "en-GB"},
+      {"fr", "fr"},
+  };
+
+  auto test = [&](const char* application_locale) -> std::string {
+    test_locale = application_locale;
+    g_browser_process->SetApplicationLocale(test_locale);
+    return GetTranslatedName("default", kTranslations);
+  };
+
+  EXPECT_EQ(test("en"), "en");
+  EXPECT_EQ(test("en-US"), "en");
+  EXPECT_EQ(test("en-GB"), "en-GB");
+  EXPECT_EQ(test("fr"), "fr");
+  EXPECT_EQ(test("fr-CA"), "fr");
+  EXPECT_EQ(test("ko"), "default");
+}
+
+}  // namespace web_app
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index bd46895..142adfd 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-master-1605786790-1f9152a71727d792e23874dce2b7f267f3ebd366.profdata
+chrome-linux-master-1605808617-b7b98d0b2e0adfd912eea875a170478679e39b07.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 2659110..af145def 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-master-1605776317-40958ff5156f07254d2cc2984d12fc2fc0f55b26.profdata
+chrome-win64-master-1605797682-23848ae8029e54d2d5879a1157d78fd58275e00a.profdata
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
index 26e390a..d53a887 100644
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -877,11 +877,6 @@
 const char kManagedSessionUseFullLoginWarning[] =
     "managed_session.use_full_warning";
 
-// Boolean pref indicating whether the privacy notification displayed when the
-// managed-guest session on Chrome OS is auto-launched should be pinned or not.
-const char kManagedGuestSessionAutoLaunchNotificationReduced[] =
-    "managed_session.reduce_auto_launch_notification";
-
 // Boolean pref indicating whether the user has previously dismissed the
 // one-time notification indicating the need for a cleanup powerwash after TPM
 // firmware update that didn't flush the TPM SRK.
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
index 33d3eb66..85ffbcf 100644
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -312,7 +312,6 @@
 extern const char kNetworkFileSharesAllowed[];
 extern const char kManagedSessionEnabled[];
 extern const char kManagedSessionUseFullLoginWarning[];
-extern const char kManagedGuestSessionAutoLaunchNotificationReduced[];
 extern const char kTPMFirmwareUpdateCleanupDismissed[];
 extern const char kTPMUpdatePlannedNotificationShownTime[];
 extern const char kTPMUpdateOnNextRebootNotificationShown[];
diff --git a/chrome/services/util_win/processor_metrics.cc b/chrome/services/util_win/processor_metrics.cc
index 28abbb8..999a511 100644
--- a/chrome/services/util_win/processor_metrics.cc
+++ b/chrome/services/util_win/processor_metrics.cc
@@ -5,6 +5,7 @@
 #include "chrome/services/util_win/processor_metrics.h"
 
 #include <objbase.h>
+#include <sysinfoapi.h>
 #include <wbemidl.h>
 #include <wrl/client.h>
 
@@ -94,6 +95,20 @@
   }
 }
 
+// TODO(crbug.com/1136224) Can be removed once CET support is stable.
+void RecordCetAvailability() {
+  bool available = false;
+  auto is_user_cet_available_in_environment =
+      reinterpret_cast<decltype(&IsUserCetAvailableInEnvironment)>(
+          ::GetProcAddress(::GetModuleHandleW(L"kernel32.dll"),
+                           "IsUserCetAvailableInEnvironment"));
+  if (is_user_cet_available_in_environment) {
+    available = is_user_cet_available_in_environment(
+        USER_CET_ENVIRONMENT_WIN32_PROCESS);
+  }
+  base::UmaHistogramBoolean("Windows.CetAvailable", available);
+}
+
 }  // namespace
 
 void RecordProcessorMetrics() {
@@ -104,4 +119,5 @@
     return;
   RecordProcessorMetricsFromWMI(wmi_services);
   RecordHypervStatusFromWMI(wmi_services);
+  RecordCetAvailability();
 }
diff --git a/chrome/services/util_win/processor_metrics_unittest.cc b/chrome/services/util_win/processor_metrics_unittest.cc
index 68a9eab7..162657e 100644
--- a/chrome/services/util_win/processor_metrics_unittest.cc
+++ b/chrome/services/util_win/processor_metrics_unittest.cc
@@ -26,4 +26,5 @@
   histogram_tester.ExpectTotalCount(
       "Windows.ProcessorVirtualizationFirmwareEnabled", 1);
   histogram_tester.ExpectTotalCount("Windows.HypervPresent", 1);
+  histogram_tester.ExpectTotalCount("Windows.CetAvailable", 1);
 }
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 01348211..ad0e8d5 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -4324,6 +4324,7 @@
       "../browser/password_manager/android/password_accessory_controller_impl_unittest.cc",
       "../browser/password_manager/android/password_generation_controller_impl_unittest.cc",
       "../browser/password_manager/android/save_password_infobar_delegate_android_unittest.cc",
+      "../browser/password_manager/android/save_password_message_delegate_unittest.cc",
       "../browser/password_manager/android/update_password_infobar_delegate_android_unittest.cc",
       "../browser/permissions/permission_prompt_android_unittest.cc",
       "../browser/touch_to_fill/touch_to_fill_controller_unittest.cc",
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestRule.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestRule.java
index be13b4b..ec2abf63 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestRule.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestRule.java
@@ -5,30 +5,31 @@
 package org.chromium.chrome.test;
 
 import android.app.Activity;
-import android.app.Instrumentation;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.support.test.InstrumentationRegistry;
 import android.support.test.internal.runner.listener.InstrumentationResultPrinter;
-import android.support.test.rule.ActivityTestRule;
 import android.view.Menu;
 
+import androidx.annotation.NonNull;
+
 import org.hamcrest.Matchers;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
-import org.chromium.base.ActivityState;
 import org.chromium.base.ApplicationStatus;
-import org.chromium.base.ApplicationStatus.ActivityStateListener;
 import org.chromium.base.CommandLine;
-import org.chromium.base.Log;
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.BaseActivityTestRule;
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.Criteria;
 import org.chromium.base.test.util.CriteriaHelper;
+import org.chromium.base.test.util.ScalableTimeout;
+import org.chromium.chrome.browser.DeferredStartupHandler;
 import org.chromium.chrome.browser.app.ChromeActivity;
 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -41,7 +42,9 @@
 import org.chromium.chrome.browser.ui.appmenu.AppMenuTestSupport;
 import org.chromium.chrome.test.util.ChromeApplicationTestUtils;
 import org.chromium.chrome.test.util.ChromeTabUtils;
+import org.chromium.chrome.test.util.NewTabPageTestUtils;
 import org.chromium.chrome.test.util.browser.Features;
+import org.chromium.components.embedder_support.util.UrlUtilities;
 import org.chromium.components.infobars.InfoBar;
 import org.chromium.content_public.browser.LoadUrlParams;
 import org.chromium.content_public.browser.WebContents;
@@ -59,14 +62,13 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
 
 /**
  * Custom  {@link ActivityTestRule} for test using  {@link ChromeActivity}.
  *
  * @param <T> The {@link Activity} class under test.
  */
-public class ChromeActivityTestRule<T extends ChromeActivity> extends ActivityTestRule<T> {
+public class ChromeActivityTestRule<T extends ChromeActivity> extends BaseActivityTestRule<T> {
     private static final String TAG = "ChromeATR";
 
     // The number of ms to wait for the rendering activity to be started.
@@ -75,20 +77,13 @@
     private static final long OMNIBOX_FIND_SUGGESTION_TIMEOUT_MS = 10 * 1000;
 
     private Thread.UncaughtExceptionHandler mDefaultUncaughtExceptionHandler;
-    private Class<T> mChromeActivityClass;
-    private T mSetActivity;
     private String mCurrentTestName;
 
     @Rule
     private EmbeddedTestServerRule mTestServerRule = new EmbeddedTestServerRule();
 
     protected ChromeActivityTestRule(Class<T> activityClass) {
-        this(activityClass, false);
-    }
-
-    protected ChromeActivityTestRule(Class<T> activityClass, boolean initialTouchMode) {
-        super(activityClass, initialTouchMode, false);
-        mChromeActivityClass = activityClass;
+        super(activityClass);
     }
 
     @Override
@@ -135,13 +130,11 @@
         return ACTIVITY_START_TIMEOUT_MS;
     }
 
-    // TODO(yolandyan): remove this once startActivityCompletely is refactored out of
-    // ChromeActivityTestRule
+    // This has to be here or getActivity will return a T that extends Activity, not a T that
+    // extends ChromeActivity.
     @Override
+    @SuppressWarnings("RedundantOverride")
     public T getActivity() {
-        if (mSetActivity != null) {
-            return mSetActivity;
-        }
         return super.getActivity();
     }
 
@@ -152,6 +145,14 @@
     }
 
     /**
+     * TODO(https://crbug.com/1146574): This only exists here because legacy ActivityTestRule
+     * inherited from UiThreadTestRule. This function should be removed.
+     */
+    public void runOnUiThread(Runnable r) {
+        ThreadUtils.runOnUiThreadBlocking(r);
+    }
+
+    /**
      * @return The {@link AppMenuCoordinator} for the activity.
      */
     public AppMenuCoordinator getAppMenuCoordinator() {
@@ -196,49 +197,37 @@
     }
 
     /**
-     * Invokes {@link Instrumentation#startActivitySync(Intent)} and sets the
-     * test case's activity to the result. See the documentation for
-     * {@link Instrumentation#startActivitySync(Intent)} on the timing of the
-     * return, but generally speaking the activity's "onCreate" has completed
-     * and the activity's main looper has become idle.
-     *
-     * TODO(yolandyan): very similar to ActivityTestRule#launchActivity(Intent),
-     * yet small differences remains (e.g. launchActivity() uses FLAG_ACTIVITY_NEW_TASK while
-     * startActivityCompletely doesn't), need to refactor and use only launchActivity
-     * after the JUnit4 migration
+     * Similar to #launchActivity(Intent), but waits for the Activity tab to be initialized.
      */
     public void startActivityCompletely(Intent intent) {
-        Features.ensureCommandLineIsUpToDate();
+        DeferredStartupHandler.setExpectingActivityStartupForTesting();
+        launchActivity(intent);
+        waitForActivityNativeInitializationComplete();
 
-        final CallbackHelper activityCallback = new CallbackHelper();
-        final AtomicReference<T> activityRef = new AtomicReference<>();
-        ActivityStateListener stateListener = new ActivityStateListener() {
-            @SuppressWarnings("unchecked")
-            @Override
-            public void onActivityStateChange(Activity activity, int newState) {
-                if (newState == ActivityState.RESUMED) {
-                    if (!mChromeActivityClass.isAssignableFrom(activity.getClass())) return;
+        CriteriaHelper.pollUiThread(
+                () -> getActivity().getActivityTab() != null, "Tab never selected/initialized.");
+        Tab tab = getActivity().getActivityTab();
 
-                    activityRef.set((T) activity);
-                    activityCallback.notifyCalled();
-                    ApplicationStatus.unregisterActivityStateListener(this);
-                }
-            }
-        };
-        ApplicationStatus.registerStateListenerForAllActivities(stateListener);
+        ChromeTabUtils.waitForTabPageLoaded(tab, (String) null);
 
-        try {
-            InstrumentationRegistry.getInstrumentation().startActivitySync(intent);
-            activityCallback.waitForCallback("Activity did not start as expected", 0);
-            T activity = activityRef.get();
-            Assert.assertNotNull("Activity reference is null.", activity);
-            setActivity(activity);
-            Log.d(TAG, "startActivityCompletely <<");
-        } catch (TimeoutException e) {
-            throw new RuntimeException(e);
-        } finally {
-            ApplicationStatus.unregisterActivityStateListener(stateListener);
+        if (tab != null && UrlUtilities.isNTPUrl(ChromeTabUtils.getUrlStringOnUiThread(tab))
+                && !getActivity().isInOverviewMode()) {
+            NewTabPageTestUtils.waitForNtpLoaded(tab);
         }
+
+        Assert.assertTrue("Deferred startup never completed. Did you try to start an Activity "
+                        + "that was already started?",
+                DeferredStartupHandler.waitForDeferredStartupCompleteForTesting(
+                        ScalableTimeout.scaleTimeout(CriteriaHelper.DEFAULT_MAX_TIME_TO_POLL)));
+
+        Assert.assertNotNull(tab);
+        Assert.assertNotNull(tab.getView());
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent startIntent) {
+        Features.ensureCommandLineIsUpToDate();
+        super.launchActivity(startIntent);
     }
 
     /**
@@ -472,10 +461,6 @@
         return getActivity().getWindowAndroid().getKeyboardDelegate();
     }
 
-    public void setActivity(T chromeActivity) {
-        mSetActivity = chromeActivity;
-    }
-
     /**
      * Waits for an Activity of the given class to be started.
      * @return The Activity.
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeTabbedActivityTestRule.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeTabbedActivityTestRule.java
index cc708d7..65e683d2 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeTabbedActivityTestRule.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeTabbedActivityTestRule.java
@@ -20,11 +20,8 @@
 import org.chromium.base.Log;
 import org.chromium.base.test.util.ApplicationTestUtils;
 import org.chromium.base.test.util.CallbackHelper;
-import org.chromium.base.test.util.CriteriaHelper;
-import org.chromium.base.test.util.ScalableTimeout;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
-import org.chromium.chrome.browser.DeferredStartupHandler;
 import org.chromium.chrome.browser.omnibox.UrlBar;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabCreationState;
@@ -36,7 +33,6 @@
 import org.chromium.chrome.test.util.MenuUtils;
 import org.chromium.chrome.test.util.NewTabPageTestUtils;
 import org.chromium.chrome.test.util.WaitForFocusHelper;
-import org.chromium.components.embedder_support.util.UrlUtilities;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 
 import java.util.concurrent.TimeoutException;
@@ -113,31 +109,7 @@
      */
     public void startMainActivityFromIntent(Intent intent, String url) {
         prepareUrlIntent(intent, url);
-
-        DeferredStartupHandler.setExpectingActivityStartupForTesting();
         startActivityCompletely(intent);
-        waitForActivityNativeInitializationComplete();
-
-        CriteriaHelper.pollUiThread(
-                () -> getActivity().getActivityTab() != null, "Tab never selected/initialized.");
-        Tab tab = getActivity().getActivityTab();
-
-        ChromeTabUtils.waitForTabPageLoaded(tab, (String) null);
-
-        if (tab != null && UrlUtilities.isNTPUrl(ChromeTabUtils.getUrlStringOnUiThread(tab))
-                && !getActivity().isInOverviewMode()) {
-            NewTabPageTestUtils.waitForNtpLoaded(tab);
-        }
-
-        Assert.assertTrue("Deferred startup never completed. Did you try to start an Activity "
-                        + "that was already started?",
-                DeferredStartupHandler.waitForDeferredStartupCompleteForTesting(
-                        ScalableTimeout.scaleTimeout(CriteriaHelper.DEFAULT_MAX_TIME_TO_POLL)));
-
-        Assert.assertNotNull(tab);
-        Assert.assertNotNull(tab.getView());
-
-        InstrumentationRegistry.getInstrumentation().waitForIdleSync();
     }
 
     /**
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/batch/BlankCTATabInitialStateRule.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/batch/BlankCTATabInitialStateRule.java
index e401694..dba985d0 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/batch/BlankCTATabInitialStateRule.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/batch/BlankCTATabInitialStateRule.java
@@ -39,6 +39,7 @@
         super();
         mActivityTestRule = activityTestRule;
         mClearAllTabState = clearAllTabState;
+        mActivityTestRule.setFinishActivity(false);
     }
 
     @Override
diff --git a/chrome/test/data/extensions/api_test/tabs/current_window/background.js b/chrome/test/data/extensions/api_test/tabs/current_window/background.js
index 925c67d..73b434c 100644
--- a/chrome/test/data/extensions/api_test/tabs/current_window/background.js
+++ b/chrome/test/data/extensions/api_test/tabs/current_window/background.js
@@ -14,6 +14,10 @@
         chrome.test.assertTrue(tabs[0].windowId == win.id);
         chrome.test.assertFalse(tabs[0].id == chrome.tabs.TAB_ID_NONE);
       }));
+      chrome.windows.getCurrent(
+          chrome.test.callbackPass(function(currentWindowData) {
+        chrome.test.assertTrue(currentWindowData.id == win.id);
+      }));
     }));
   }
 ]);
diff --git a/chrome/test/data/extensions/api_test/tts/pause_speak_no_enqueue/test.js b/chrome/test/data/extensions/api_test/tts/pause_speak_no_enqueue/test.js
index af5f8b2d..06c2db10 100644
--- a/chrome/test/data/extensions/api_test/tts/pause_speak_no_enqueue/test.js
+++ b/chrome/test/data/extensions/api_test/tts/pause_speak_no_enqueue/test.js
@@ -6,11 +6,19 @@
 // browser_tests.exe --gtest_filter="TtsApiTest.*"
 
 chrome.test.runTests([function testPauseCancel() {
+  let gotSecondSpeak = false;
   chrome.tts.pause();
-  chrome.tts.speak('text 1', {'enqueue': true});
+  chrome.tts.speak('text 1', {
+    'enqueue': true,
+    'onEvent': event => {
+      if (event.type == 'cancelled' && gotSecondSpeak) {
+        chrome.test.succeed();
+      }
+    }
+  });
   chrome.tts.speak('text 2', {'enqueue': false}, function() {
     chrome.test.assertNoLastError();
-    chrome.test.succeed();
+    gotSecondSpeak = true;
   });
   chrome.tts.resume();
 }]);
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json
index 09afe9ce..82b5e7e 100644
--- a/chrome/test/data/policy/policy_test_cases.json
+++ b/chrome/test/data/policy/policy_test_cases.json
@@ -3985,15 +3985,7 @@
   },
 
   "ManagedGuestSessionAutoLaunchNotificationReduced": {
-    "os": ["chromeos"],
-    "policy_pref_mapping_test": [
-      {
-        "policies": {
-          "ManagedGuestSessionAutoLaunchNotificationReduced": true
-        },
-        "prefs": { "managed_session.reduce_auto_launch_notification": { "local_state": true } }
-      }
-    ]
+    "note": "This policy has been removed."
   },
 
   "ManagedGuestSessionPrivacyWarningsEnabled": {
diff --git a/chrome/test/data/webui/chromeos/diagnostics/overview_card_test.js b/chrome/test/data/webui/chromeos/diagnostics/overview_card_test.js
index b2d3854..09d2aeb 100644
--- a/chrome/test/data/webui/chromeos/diagnostics/overview_card_test.js
+++ b/chrome/test/data/webui/chromeos/diagnostics/overview_card_test.js
@@ -12,6 +12,8 @@
 import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
 import {flushTasks} from '../../test_util.m.js';
 
+import * as dx_utils from './diagnostics_test_utils.js';
+
 export function overviewCardTestSuite() {
   /** @type {?OverviewCardElement} */
   let overviewElement = null;
@@ -52,18 +54,13 @@
 
   test('OverviewCardPopulated', () => {
     return initializeOverviewCard(fakeSystemInfo).then(() => {
-      assertEquals(
-          fakeSystemInfo.boardName,
-          overviewElement.$$('#boardName').textContent);
-      assertEquals(
-          fakeSystemInfo.cpuModelName,
-          overviewElement.$$('#cpuModelName').textContent);
-      assertEquals(
-          fakeSystemInfo.totalMemoryKib.toString(),
-          overviewElement.$$('#totalMemory').textContent);
-      assertEquals(
-          fakeSystemInfo.versionInfo.milestoneVersion,
-          overviewElement.$$('#version').textContent);
+      dx_utils.assertElementContainsText(
+          overviewElement.$$('#marketingName'), fakeSystemInfo.marketingName);
+      dx_utils.assertElementContainsText(
+          overviewElement.$$('#deviceInfo'), fakeSystemInfo.boardName);
+      dx_utils.assertElementContainsText(
+          overviewElement.$$('#deviceInfo'),
+          fakeSystemInfo.versionInfo.milestoneVersion);
     });
   });
 }
diff --git a/chromecast/browser/extensions/api/tts/tts_extension_api.cc b/chromecast/browser/extensions/api/tts/tts_extension_api.cc
index ac773d4..8e0e9403 100644
--- a/chromecast/browser/extensions/api/tts/tts_extension_api.cc
+++ b/chromecast/browser/extensions/api/tts/tts_extension_api.cc
@@ -264,7 +264,7 @@
   utterance->SetSrcUrl(source_url());
   utterance->SetLang(lang);
   utterance->SetContinuousParameters(rate, pitch, volume);
-  utterance->SetCanEnqueue(can_enqueue);
+  utterance->SetShouldClearQueue(!can_enqueue);
   utterance->SetRequiredEventTypes(required_event_types);
   utterance->SetDesiredEventTypes(desired_event_types);
   utterance->SetEngineId(voice_extension_id);
diff --git a/chromecast/ui/BUILD.gn b/chromecast/ui/BUILD.gn
index 67ae250..d88f948 100644
--- a/chromecast/ui/BUILD.gn
+++ b/chromecast/ui/BUILD.gn
@@ -53,7 +53,10 @@
   if (use_aura) {
     sources += [ "aura_components.cc" ]
 
-    deps += [ ":media_overlay" ]
+    deps += [
+      ":media_overlay",
+      "//ui/views",
+    ]
   } else {
     sources += [ "aura_components_dummy.cc" ]
   }
diff --git a/chromecast/ui/aura_components.h b/chromecast/ui/aura_components.h
index f618e98..4ebfe72 100644
--- a/chromecast/ui/aura_components.h
+++ b/chromecast/ui/aura_components.h
@@ -8,6 +8,7 @@
 #include <memory>
 
 #include "chromecast/ui/media_overlay.h"
+#include "ui/views/layout/layout_provider.h"
 
 namespace chromecast {
 
@@ -28,6 +29,7 @@
   MediaOverlay* media_overlay() const { return media_overlay_.get(); }
 
  private:
+  views::LayoutProvider layout_provider_;
   std::unique_ptr<MediaOverlay> media_overlay_;
 };
 
diff --git a/chromecast/ui/media_control_ui.h b/chromecast/ui/media_control_ui.h
index 7c8dc60..b8b5399 100644
--- a/chromecast/ui/media_control_ui.h
+++ b/chromecast/ui/media_control_ui.h
@@ -17,7 +17,6 @@
 #include "ui/views/controls/button/image_button.h"
 #include "ui/views/controls/label.h"
 #include "ui/views/controls/progress_bar.h"
-#include "ui/views/layout/layout_provider.h"
 #include "ui/views/widget/widget.h"
 
 namespace chromecast {
@@ -95,8 +94,6 @@
 
   base::RepeatingTimer media_time_update_timer_;
 
-  views::LayoutProvider layout_provider_;
-
   SEQUENCE_CHECKER(sequence_checker_);
   base::WeakPtrFactory<MediaControlUi> weak_factory_;
 
diff --git a/chromecast/ui/media_overlay_impl.cc b/chromecast/ui/media_overlay_impl.cc
index 1c5976c..e02dd87c 100644
--- a/chromecast/ui/media_overlay_impl.cc
+++ b/chromecast/ui/media_overlay_impl.cc
@@ -43,7 +43,6 @@
 
 MediaOverlayImpl::MediaOverlayImpl(CastWindowManager* window_manager)
     : window_manager_(window_manager),
-      layout_provider_(std::make_unique<views::LayoutProvider>()),
       ui_task_runner_(base::ThreadTaskRunnerHandle::Get()),
       controller_(nullptr),
       volume_icon_image_(ui::ResourceBundle::GetSharedInstance().GetImageNamed(
diff --git a/chromecast/ui/media_overlay_impl.h b/chromecast/ui/media_overlay_impl.h
index 7579ad95..928b3a7 100644
--- a/chromecast/ui/media_overlay_impl.h
+++ b/chromecast/ui/media_overlay_impl.h
@@ -22,7 +22,6 @@
 
 namespace views {
 class Label;
-class LayoutProvider;
 class ProgressBar;
 class View;
 class Widget;
@@ -68,7 +67,6 @@
       std::unique_ptr<views::View> content_view);
 
   CastWindowManager* const window_manager_;
-  const std::unique_ptr<views::LayoutProvider> layout_provider_;
   const scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;
   base::flat_set<media::MediaPipelineImpl*> passthrough_pipelines_;
   Controller* controller_;
diff --git a/chromeos/chromeos_strings.grd b/chromeos/chromeos_strings.grd
index 6693cea3..83ec365f 100644
--- a/chromeos/chromeos_strings.grd
+++ b/chromeos/chromeos_strings.grd
@@ -666,6 +666,9 @@
       <message name="IDS_DIANOSTICS_LEARN_MORE_LABEL" desc="The label for the button that links to a help support article to learn more about the test routines being run." translateable="true">
         Learn more in the Help Center
       </message>
+      <message name="IDS_DIAGNOSTICS_DEVICE_INFO_TEXT" desc="The text that displays the device's name and milestone version." translateable="true">
+        (<ph name="BOARD_NAME">$1<ex>Atlas</ex></ph>, version <ph name="MILESTONE_VERSION">$2<ex>88</ex></ph>)
+      </message>
 
       <!-- Quick Answers -->
       <message name="IDS_QUICK_ANSWERS_DEFINITION_TITLE_TEXT" desc="The title text format string used for Quick Answers definition result card. The first placeholder contains the source query text and the second placeholder contains the phonetics.">
diff --git a/chromeos/chromeos_strings_grd/IDS_DIAGNOSTICS_DEVICE_INFO_TEXT.png.sha1 b/chromeos/chromeos_strings_grd/IDS_DIAGNOSTICS_DEVICE_INFO_TEXT.png.sha1
new file mode 100644
index 0000000..c4d6943d
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_DIAGNOSTICS_DEVICE_INFO_TEXT.png.sha1
@@ -0,0 +1 @@
+4e13946ab4d1e7f76f40c3c1c488630c10219e2c
\ No newline at end of file
diff --git a/chromeos/components/cdm_factory_daemon/mojom/BUILD.gn b/chromeos/components/cdm_factory_daemon/mojom/BUILD.gn
index 1740c865..4c16ba70 100644
--- a/chromeos/components/cdm_factory_daemon/mojom/BUILD.gn
+++ b/chromeos/components/cdm_factory_daemon/mojom/BUILD.gn
@@ -13,8 +13,8 @@
   ]
 
   public_deps = [
-    "//components/arc/mojom:media",
     "//components/arc/mojom:oemcrypto",
+    "//components/arc/mojom:protected_buffer_manager",
     "//mojo/public/mojom/base",
   ]
 
diff --git a/chromeos/components/diagnostics_ui/diagnostics_ui.cc b/chromeos/components/diagnostics_ui/diagnostics_ui.cc
index fcfd1758..f3ac2ae 100644
--- a/chromeos/components/diagnostics_ui/diagnostics_ui.cc
+++ b/chromeos/components/diagnostics_ui/diagnostics_ui.cc
@@ -53,6 +53,7 @@
       {"currentNowLabel", IDS_DIAGNOSTICS_CURRENT_NOW_LABEL},
       {"currentNowText", IDS_DIAGNOSTICS_CURRENT_NOW_TEXT},
       {"cycleCount", IDS_DIAGNOSTICS_CYCLE_COUNT_LABEL},
+      {"deviceInfo", IDS_DIAGNOSTICS_DEVICE_INFO_TEXT},
       {"diagnosticsTitle", IDS_DIAGNOSTICS_TITLE},
       {"learnMore", IDS_DIANOSTICS_LEARN_MORE_LABEL},
       {"memoryAvailable", IDS_DIAGNOSTICS_MEMORY_AVAILABLE_LABEL},
diff --git a/chromeos/components/diagnostics_ui/resources/BUILD.gn b/chromeos/components/diagnostics_ui/resources/BUILD.gn
index f2e9ff71..29fb9d5c 100644
--- a/chromeos/components/diagnostics_ui/resources/BUILD.gn
+++ b/chromeos/components/diagnostics_ui/resources/BUILD.gn
@@ -140,6 +140,7 @@
     ":diagnostics_card",
     ":mojo_interface_provider",
     "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
+    "//ui/webui/resources/js:load_time_data.m",
   ]
 }
 
diff --git a/chromeos/components/diagnostics_ui/resources/diagnostics_fonts_css.html b/chromeos/components/diagnostics_ui/resources/diagnostics_fonts_css.html
index 14eed07e..10f908eb 100644
--- a/chromeos/components/diagnostics_ui/resources/diagnostics_fonts_css.html
+++ b/chromeos/components/diagnostics_ui/resources/diagnostics_fonts_css.html
@@ -15,7 +15,7 @@
       --diagnostics-header-font-weight: 600;
       --diagnostics-data-point-title-font-weight: 500;
       --diagnostics-data-point-subtitle-font-weight: 550;
-      --diagnostics-overview-font-weight: 565;
+      --diagnostics-overview-font-weight: 500;
 
       --diagnostics-default-text-color: var(--google-grey-900);
       --diagnostics-header-text-color: var(--google-grey-900);
diff --git a/chromeos/components/diagnostics_ui/resources/overview_card.html b/chromeos/components/diagnostics_ui/resources/overview_card.html
index ac74970..8e510740 100644
--- a/chromeos/components/diagnostics_ui/resources/overview_card.html
+++ b/chromeos/components/diagnostics_ui/resources/overview_card.html
@@ -1,9 +1,15 @@
 <style include="diagnostics-shared diagnostics-fonts">
-  #overviewCardContainer {
-    display: flex;
+  #marketingName {
+    font-weight: var(--diagnostics-overview-font-weight);
+    margin-right: 5px;
   }
 
-  #overviewCardContainer > div {
+  #overviewCardContainer {
+    display: flex;
+    justify-content: center;
+  }
+
+  .overview-chip {
     @apply --diagnostics-overview-font;
     background-color: var(--google-grey-100);
     border-radius: 16px;
@@ -11,14 +17,10 @@
     margin-right: 15px;
     padding: 10px;
   }
-
-  #version {
-    margin-right: 0;
-  }
 </style>
 <div id="overviewCardContainer">
-  <div id="boardName">[[systemInfo_.boardName]]</div>
-  <div id="cpuModelName">[[systemInfo_.cpuModelName]]</div>
-  <div id="totalMemory">[[systemInfo_.totalMemoryKib]]</div>
-  <div id="version">[[systemInfo_.versionInfo.milestoneVersion]]</div>
+  <div class="overview-chip">
+    <span id="marketingName">[[systemInfo_.marketingName]]</span>
+    <span id="deviceInfo">[[deviceInfo_]]</span>
+  </div>
 </div>
diff --git a/chromeos/components/diagnostics_ui/resources/overview_card.js b/chromeos/components/diagnostics_ui/resources/overview_card.js
index 0c4e15e..fafd6d99 100644
--- a/chromeos/components/diagnostics_ui/resources/overview_card.js
+++ b/chromeos/components/diagnostics_ui/resources/overview_card.js
@@ -5,6 +5,7 @@
 import './diagnostics_fonts_css.js';
 import './diagnostics_shared_css.js';
 
+import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
 import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {SystemDataProviderInterface, SystemInfo} from './diagnostics_types.js'
@@ -31,6 +32,14 @@
     systemInfo_: {
       type: Object,
     },
+
+    /** @private {string} */
+    deviceInfo_: {
+      type: String,
+      value: '',
+      computed: 'getDeviceInfo_(systemInfo_.versionInfo.milestoneVersion,' +
+          'systemInfo_.boardName)'
+    },
   },
 
   /** @override */
@@ -53,4 +62,11 @@
   onSystemInfoReceived_(systemInfo) {
     this.systemInfo_ = systemInfo;
   },
+
+  /** @private */
+  getDeviceInfo_() {
+    return loadTimeData.getStringF(
+        'deviceInfo', this.systemInfo_.boardName,
+        this.systemInfo_.versionInfo.milestoneVersion);
+  },
 });
diff --git a/chromeos/components/local_search_service/BUILD.gn b/chromeos/components/local_search_service/BUILD.gn
index 88dd8c9..92942b7 100644
--- a/chromeos/components/local_search_service/BUILD.gn
+++ b/chromeos/components/local_search_service/BUILD.gn
@@ -18,12 +18,16 @@
     "inverted_index_search.h",
     "linear_map_search.cc",
     "linear_map_search.h",
+    "local_search_service.cc",
+    "local_search_service.h",
     "local_search_service_sync.cc",
     "local_search_service_sync.h",
     "local_search_service_sync_factory.cc",
     "local_search_service_sync_factory.h",
     "pref_names.cc",
     "pref_names.h",
+    "search_metrics_reporter.cc",
+    "search_metrics_reporter.h",
     "search_metrics_reporter_sync.cc",
     "search_metrics_reporter_sync.h",
     "search_utils.cc",
@@ -97,7 +101,9 @@
     "linear_map_search_unittest.cc",
     "local_search_service_sync_proxy_unittest.cc",
     "local_search_service_sync_unittest.cc",
+    "local_search_service_unittest.cc",
     "search_metrics_reporter_sync_unittest.cc",
+    "search_metrics_reporter_unittest.cc",
     "search_utils_unittest.cc",
   ]
 
diff --git a/chromeos/components/local_search_service/local_search_service.cc b/chromeos/components/local_search_service/local_search_service.cc
new file mode 100644
index 0000000..1669eb5
--- /dev/null
+++ b/chromeos/components/local_search_service/local_search_service.cc
@@ -0,0 +1,57 @@
+// 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.
+
+#include "chromeos/components/local_search_service/local_search_service.h"
+#include "chromeos/components/local_search_service/inverted_index_search.h"
+#include "chromeos/components/local_search_service/linear_map_search.h"
+
+namespace chromeos {
+namespace local_search_service {
+
+LocalSearchService::LocalSearchService(
+    mojo::PendingReceiver<mojom::LocalSearchService> receiver)
+    : receiver_(this, std::move(receiver)) {}
+LocalSearchService::~LocalSearchService() = default;
+
+void LocalSearchService::BindIndex(
+    IndexId index_id,
+    Backend backend,
+    mojo::PendingReceiver<mojom::Index> index_receiver,
+    mojo::PendingRemote<mojom::SearchMetricsReporter> reporter_remote,
+    LocalSearchService::BindIndexCallback callback) {
+  auto it = indices_.find(index_id);
+  if (it == indices_.end()) {
+    switch (backend) {
+      // TODO(thanhdng): Remove |local_state| when IndexSync is removed.
+      case Backend::kLinearMap:
+        it = indices_
+                 .emplace(index_id, std::make_unique<LinearMapSearch>(
+                                        index_id, /*local_state*/ nullptr))
+                 .first;
+        break;
+      case Backend::kInvertedIndex:
+        it = indices_
+                 .emplace(index_id, std::make_unique<InvertedIndexSearch>(
+                                        index_id, /*local_state*/ nullptr))
+                 .first;
+    }
+  }
+
+  if (it == indices_.end()) {
+    std::move(callback).Run("Error creating an Index.");
+    return;
+  }
+  if (!it->second) {
+    std::move(callback).Run("Returned Index is null.");
+    return;
+  }
+
+  if (reporter_remote)
+    reporter_remote_set_.Add(std::move(reporter_remote));
+  it->second->BindReceiver(std::move(index_receiver));
+  std::move(callback).Run(base::nullopt);
+}
+
+}  // namespace local_search_service
+}  // namespace chromeos
diff --git a/chromeos/components/local_search_service/local_search_service.h b/chromeos/components/local_search_service/local_search_service.h
new file mode 100644
index 0000000..74af4a96
--- /dev/null
+++ b/chromeos/components/local_search_service/local_search_service.h
@@ -0,0 +1,41 @@
+// 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.
+
+#ifndef CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_H_
+#define CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_H_
+
+#include "chromeos/components/local_search_service/index.h"
+#include "chromeos/components/local_search_service/public/mojom/index.mojom.h"
+#include "chromeos/components/local_search_service/public/mojom/local_search_service.mojom.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote_set.h"
+
+namespace chromeos {
+namespace local_search_service {
+
+class LocalSearchService : public mojom::LocalSearchService {
+ public:
+  explicit LocalSearchService(
+      mojo::PendingReceiver<mojom::LocalSearchService> receiver);
+  ~LocalSearchService() override;
+
+  // mojom::LocalSearchService:
+  void BindIndex(
+      IndexId index_id,
+      Backend backend,
+      mojo::PendingReceiver<mojom::Index> index_receiver,
+      mojo::PendingRemote<mojom::SearchMetricsReporter> reporter_remote,
+      LocalSearchService::BindIndexCallback callback) override;
+
+ private:
+  mojo::Receiver<mojom::LocalSearchService> receiver_;
+  mojo::RemoteSet<mojom::SearchMetricsReporter> reporter_remote_set_;
+  std::map<IndexId, std::unique_ptr<Index>> indices_;
+};
+
+}  // namespace local_search_service
+}  // namespace chromeos
+
+#endif  // CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_H_
diff --git a/chromeos/components/local_search_service/local_search_service_unittest.cc b/chromeos/components/local_search_service/local_search_service_unittest.cc
new file mode 100644
index 0000000..92aef2a
--- /dev/null
+++ b/chromeos/components/local_search_service/local_search_service_unittest.cc
@@ -0,0 +1,166 @@
+// 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.
+
+#include "chromeos/components/local_search_service/local_search_service.h"
+#include <memory>
+
+#include "base/test/task_environment.h"
+#include "chromeos/components/local_search_service/search_metrics_reporter.h"
+#include "chromeos/components/local_search_service/test_utils.h"
+#include "components/prefs/testing_pref_service.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace chromeos {
+namespace local_search_service {
+namespace {
+// (content-id, content).
+using ContentWithId = std::pair<std::string, std::string>;
+
+}  // namespace
+
+class LocalSearchServiceTest : public testing::Test {
+ public:
+  void SetUp() override {
+    SearchMetricsReporter::RegisterLocalStatePrefs(pref_service_.registry());
+    reporter_ = std::make_unique<SearchMetricsReporter>(&pref_service_);
+
+    lss_service_ = std::make_unique<LocalSearchService>(
+        lss_service_remote_.BindNewPipeAndPassReceiver());
+  }
+
+  void BindIndexAndCheck(
+      IndexId index_id,
+      Backend backend,
+      mojo::PendingReceiver<mojom::Index> index_receiver,
+      mojo::PendingRemote<mojom::SearchMetricsReporter> reporter_remote) {
+    bool callback_done = false;
+    std::string error = "";
+    lss_service_remote_->BindIndex(
+        index_id, backend, std::move(index_receiver),
+        std::move(reporter_remote),
+        base::BindOnce(
+            [](bool* callback_done, std::string* error,
+               const base::Optional<std::string>& error_callback) {
+              *callback_done = true;
+              if (error_callback)
+                *error = error_callback.value();
+            },
+            &callback_done, &error));
+    task_environment_.RunUntilIdle();
+    ASSERT_TRUE(callback_done);
+    EXPECT_EQ(error, "");
+  }
+
+  void IndexAddOrUpdate(mojo::Remote<mojom::Index>* index_remote,
+                        const std::vector<Data>& data) {
+    bool callback_done = false;
+    (*index_remote)
+        ->AddOrUpdate(
+            data,
+            base::BindOnce([](bool* callback_done) { *callback_done = true; },
+                           &callback_done));
+    task_environment_.RunUntilIdle();
+    ASSERT_TRUE(callback_done);
+  }
+
+  void IndexGetSizeAndCheckResults(mojo::Remote<mojom::Index>* index_remote,
+                                   uint32_t expected_num_items) {
+    bool callback_done = false;
+    uint32_t num_items = 0;
+    (*index_remote)
+        ->GetSize(base::BindOnce(
+            [](bool* callback_done, uint32_t* num_items, uint64_t size) {
+              *callback_done = true;
+              *num_items = size;
+            },
+            &callback_done, &num_items));
+    task_environment_.RunUntilIdle();
+    ASSERT_TRUE(callback_done);
+    EXPECT_EQ(num_items, expected_num_items);
+  }
+
+ protected:
+  mojo::Remote<mojom::LocalSearchService> lss_service_remote_;
+  std::unique_ptr<LocalSearchService> lss_service_;
+  std::unique_ptr<SearchMetricsReporter> reporter_;
+  TestingPrefServiceSimple pref_service_;
+  base::test::TaskEnvironment task_environment_{
+      base::test::TaskEnvironment::MainThreadType::DEFAULT,
+      base::test::TaskEnvironment::ThreadPoolExecutionMode::QUEUED};
+};
+
+TEST_F(LocalSearchServiceTest, BindIndexSuccessfuly) {
+  mojo::Remote<mojom::Index> index_remote;
+  BindIndexAndCheck(IndexId::kCrosSettings, Backend::kLinearMap,
+                    index_remote.BindNewPipeAndPassReceiver(),
+                    reporter_->BindNewPipeAndPassRemote());
+  IndexGetSizeAndCheckResults(&index_remote, 0u);
+}
+
+TEST_F(LocalSearchServiceTest, UseLinearMap) {
+  mojo::Remote<mojom::Index> index_remote;
+  BindIndexAndCheck(IndexId::kCrosSettings, Backend::kLinearMap,
+                    index_remote.BindNewPipeAndPassReceiver(),
+                    reporter_->BindNewPipeAndPassRemote());
+  IndexGetSizeAndCheckResults(&index_remote, 0u);
+
+  const std::map<std::string, std::vector<ContentWithId>> data_to_register = {
+      {"id1",
+       {{"cid_1", "This is a help wi-fi article"},
+        {"cid_2", "Another help help wi-fi"}}},
+      {"id2", {{"cid_3", "help article on wi-fi"}}}};
+  const std::vector<Data> data = CreateTestData(data_to_register);
+  IndexAddOrUpdate(&index_remote, data);
+  IndexGetSizeAndCheckResults(&index_remote, 2u);
+}
+
+TEST_F(LocalSearchServiceTest, UseInvertedIndex) {
+  mojo::Remote<mojom::Index> index_remote;
+  BindIndexAndCheck(IndexId::kCrosSettings, Backend::kInvertedIndex,
+                    index_remote.BindNewPipeAndPassReceiver(),
+                    mojo::NullRemote());
+  IndexGetSizeAndCheckResults(&index_remote, 0u);
+
+  const std::map<std::string, std::vector<ContentWithId>> data_to_register = {
+      {"id1",
+       {{"cid_1", "This is a help wi-fi article"},
+        {"cid_2", "Another help help wi-fi"}}},
+      {"id2", {{"cid_3", "help article on wi-fi"}}}};
+  const std::vector<Data> data = CreateTestData(data_to_register);
+  IndexAddOrUpdate(&index_remote, data);
+  IndexGetSizeAndCheckResults(&index_remote, 2u);
+}
+
+TEST_F(LocalSearchServiceTest, BindMultipleTimes) {
+  mojo::Remote<mojom::Index> first_index_remote;
+  BindIndexAndCheck(IndexId::kCrosSettings, Backend::kInvertedIndex,
+                    first_index_remote.BindNewPipeAndPassReceiver(),
+                    mojo::NullRemote());
+  IndexGetSizeAndCheckResults(&first_index_remote, 0u);
+  const std::map<std::string, std::vector<ContentWithId>> data_to_register = {
+      {"id1",
+       {{"cid_1", "This is a help wi-fi article"},
+        {"cid_2", "Another help help wi-fi"}}},
+      {"id2", {{"cid_3", "help article on wi-fi"}}}};
+  const std::vector<Data> data = CreateTestData(data_to_register);
+  IndexAddOrUpdate(&first_index_remote, data);
+  IndexGetSizeAndCheckResults(&first_index_remote, 2u);
+
+  // Bind second time, the index should still be the same.
+  mojo::Remote<mojom::Index> second_index_remote;
+  BindIndexAndCheck(IndexId::kCrosSettings, Backend::kInvertedIndex,
+                    second_index_remote.BindNewPipeAndPassReceiver(),
+                    mojo::NullRemote());
+  IndexGetSizeAndCheckResults(&second_index_remote, 2u);
+
+  // Bind the third time with different id, should get a new index.
+  mojo::Remote<mojom::Index> third_index_remote;
+  BindIndexAndCheck(IndexId::kHelpApp, Backend::kInvertedIndex,
+                    third_index_remote.BindNewPipeAndPassReceiver(),
+                    mojo::NullRemote());
+  IndexGetSizeAndCheckResults(&third_index_remote, 0u);
+}
+
+}  // namespace local_search_service
+}  // 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 ecfff6c..67f479b 100644
--- a/chromeos/components/local_search_service/public/mojom/BUILD.gn
+++ b/chromeos/components/local_search_service/public/mojom/BUILD.gn
@@ -7,6 +7,7 @@
 mojom("mojom") {
   sources = [
     "index.mojom",
+    "local_search_service.mojom",
     "local_search_service_proxy.mojom",
     "types.mojom",
   ]
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
new file mode 100644
index 0000000..440afa24
--- /dev/null
+++ b/chromeos/components/local_search_service/public/mojom/local_search_service.mojom
@@ -0,0 +1,29 @@
+// 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.
+
+module chromeos.local_search_service.mojom;
+
+import "chromeos/components/local_search_service/public/mojom/index.mojom";
+import "chromeos/components/local_search_service/public/mojom/types.mojom";
+import "chromeos/components/local_search_service/public/mojom/local_search_service_proxy.mojom";
+
+// Interface that helps to log daily search requests to UMA.
+interface SearchMetricsReporter {
+  // Client can call this interface each time a search is performed.
+  OnSearchPerformed(IndexId index_id) => ();
+};
+
+// The main service interface.
+interface LocalSearchService {
+  // Call this function to request an Index as specified by |index_id| and
+  // |backend|.
+  // A new Index will be created if there isn't one already with the given
+  // |index_id|, otherwise the client will have its remote bound to the
+  // same Index, and in this case the input |backend| will be ignored.
+  // |reporter_remote| will be passed in for metrics logging (if provided).
+  BindIndex(IndexId index_id, Backend backend,
+      pending_receiver<Index> index_receiver,
+      pending_remote<SearchMetricsReporter>? reporter_remote)
+      => (string? error);
+};
diff --git a/chromeos/components/local_search_service/search_metrics_reporter.cc b/chromeos/components/local_search_service/search_metrics_reporter.cc
new file mode 100644
index 0000000..28e94b6
--- /dev/null
+++ b/chromeos/components/local_search_service/search_metrics_reporter.cc
@@ -0,0 +1,138 @@
+// 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.
+
+#include "chromeos/components/local_search_service/search_metrics_reporter.h"
+
+#include "base/check_op.h"
+#include "base/metrics/histogram_functions.h"
+#include "base/metrics/histogram_macros.h"
+#include "chromeos/components/local_search_service/pref_names.h"
+#include "components/prefs/pref_registry_simple.h"
+#include "components/prefs/pref_service.h"
+
+namespace chromeos {
+namespace local_search_service {
+namespace {
+
+// Interval for asking metrics::DailyEvent to check whether a day has passed.
+constexpr base::TimeDelta kCheckDailyEventInternal =
+    base::TimeDelta::FromMinutes(30);
+
+// Prefs corresponding to IndexId values.
+constexpr std::array<const char*, SearchMetricsReporter::kNumberIndexIds>
+    kDailyCountPrefs = {
+        prefs::kLocalSearchServiceMetricsCrosSettingsCount,
+        prefs::kLocalSearchServiceMetricsHelpAppCount,
+};
+
+// Histograms corresponding to IndexId values.
+constexpr std::array<const char*, SearchMetricsReporter::kNumberIndexIds>
+    kDailyCountHistograms = {
+        SearchMetricsReporter::kCrosSettingsName,
+        SearchMetricsReporter::kHelpAppName,
+};
+
+}  // namespace
+
+constexpr char SearchMetricsReporter::kDailyEventIntervalName[];
+constexpr char SearchMetricsReporter::kCrosSettingsName[];
+constexpr char SearchMetricsReporter::kHelpAppName[];
+
+constexpr int SearchMetricsReporter::kNumberIndexIds;
+
+// This class is needed since metrics::DailyEvent requires taking ownership
+// of its observers. It just forwards events to SearchMetricsReporter.
+class SearchMetricsReporter::DailyEventObserver
+    : public metrics::DailyEvent::Observer {
+ public:
+  explicit DailyEventObserver(SearchMetricsReporter* reporter)
+      : reporter_(reporter) {
+    DCHECK(reporter_);
+  }
+
+  ~DailyEventObserver() override = default;
+  DailyEventObserver(const DailyEventObserver&) = delete;
+  DailyEventObserver& operator=(const DailyEventObserver&) = delete;
+
+  // metrics::DailyEvent::Observer:
+  void OnDailyEvent(metrics::DailyEvent::IntervalType type) override {
+    reporter_->ReportDailyMetrics(type);
+  }
+
+ private:
+  SearchMetricsReporter* reporter_;  // Not owned.
+};
+
+// static:
+void SearchMetricsReporter::RegisterLocalStatePrefs(
+    PrefRegistrySimple* registry) {
+  metrics::DailyEvent::RegisterPref(
+      registry, prefs::kLocalSearchServiceMetricsDailySample);
+  for (const char* daily_count_pref : kDailyCountPrefs) {
+    registry->RegisterIntegerPref(daily_count_pref, 0);
+  }
+}
+
+SearchMetricsReporter::SearchMetricsReporter(
+    PrefService* local_state_pref_service)
+    : pref_service_(local_state_pref_service),
+      daily_event_(std::make_unique<metrics::DailyEvent>(
+          pref_service_,
+          prefs::kLocalSearchServiceMetricsDailySample,
+          kDailyEventIntervalName)) {
+  for (size_t i = 0; i < kDailyCountPrefs.size(); ++i) {
+    daily_counts_[i] = pref_service_->GetInteger(kDailyCountPrefs[i]);
+  }
+
+  daily_event_->AddObserver(std::make_unique<DailyEventObserver>(this));
+  daily_event_->CheckInterval();
+  timer_.Start(FROM_HERE, kCheckDailyEventInternal, daily_event_.get(),
+               &metrics::DailyEvent::CheckInterval);
+}
+
+SearchMetricsReporter::~SearchMetricsReporter() = default;
+
+void SearchMetricsReporter::OnSearchPerformed(
+    IndexId index_id,
+    OnSearchPerformedCallback callback) {
+  if (!index_id_)
+    index_id_ = index_id;
+  const size_t index = static_cast<size_t>(*index_id_);
+  const char* daily_count_pref = kDailyCountPrefs[index];
+  ++daily_counts_[index];
+  pref_service_->SetInteger(daily_count_pref, daily_counts_[index]);
+  std::move(callback).Run();
+}
+
+void SearchMetricsReporter::SetIndexIdForTesting(IndexId index_id) {
+  DCHECK(!index_id_);
+  index_id_ = index_id;
+  DCHECK_LT(static_cast<size_t>(index_id), kDailyCountPrefs.size());
+}
+
+void SearchMetricsReporter::ReportDailyMetricsForTesting(
+    metrics::DailyEvent::IntervalType type) {
+  ReportDailyMetrics(type);
+}
+
+void SearchMetricsReporter::ReportDailyMetrics(
+    metrics::DailyEvent::IntervalType type) {
+  if (!index_id_)
+    return;
+
+  // Don't send metrics on first run or if the clock is changed.
+  if (type == metrics::DailyEvent::IntervalType::DAY_ELAPSED) {
+    const size_t index = static_cast<size_t>(*index_id_);
+    base::UmaHistogramCounts1000(kDailyCountHistograms[index],
+                                 daily_counts_[index]);
+  }
+
+  for (size_t i = 0; i < kDailyCountPrefs.size(); ++i) {
+    daily_counts_[i] = 0;
+    pref_service_->SetInteger(kDailyCountPrefs[i], 0);
+  }
+}
+
+}  // namespace local_search_service
+}  // namespace chromeos
diff --git a/chromeos/components/local_search_service/search_metrics_reporter.h b/chromeos/components/local_search_service/search_metrics_reporter.h
new file mode 100644
index 0000000..73e55d5
--- /dev/null
+++ b/chromeos/components/local_search_service/search_metrics_reporter.h
@@ -0,0 +1,90 @@
+// 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.
+
+#ifndef CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_SEARCH_METRICS_REPORTER_H_
+#define CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_SEARCH_METRICS_REPORTER_H_
+
+#include "base/optional.h"
+#include "base/timer/timer.h"
+#include "chromeos/components/local_search_service/public/mojom/local_search_service.mojom.h"
+#include "chromeos/components/local_search_service/shared_structs.h"
+#include "components/metrics/daily_event.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+
+class PrefRegistrySimple;
+class PrefService;
+
+namespace chromeos {
+namespace local_search_service {
+
+// SearchMetricsReporter logs daily search requests to UMA.
+class SearchMetricsReporter : public mojom::SearchMetricsReporter {
+ public:
+  static constexpr int kNumberIndexIds =
+      static_cast<int>(IndexId::kMaxValue) + 1;
+
+  // A histogram recorded in UMA, showing reasons why daily metrics are
+  // reported.
+  static constexpr char kDailyEventIntervalName[] =
+      "LocalSearchService.MetricsDailyEventInterval";
+
+  // Histogram names of daily counts, one for each IndexId.
+  static constexpr char kCrosSettingsName[] =
+      "LocalSearchService.CrosSettings.DailySearch";
+  static constexpr char kHelpAppName[] =
+      "LocalSearchService.HelpApp.DailySearch";
+
+  // Registers prefs used by SearchMetricsReporter in |registry|.
+  static void RegisterLocalStatePrefs(PrefRegistrySimple* registry);
+
+  // RegisterLocalStatePrefs() must be called before instantiating this class.
+  explicit SearchMetricsReporter(PrefService* local_state_pref_service);
+  ~SearchMetricsReporter() override;
+
+  SearchMetricsReporter(const SearchMetricsReporter&) = delete;
+  SearchMetricsReporter& operator=(const SearchMetricsReporter&) = delete;
+
+  // mojom::SearchMetricReporter:
+  void OnSearchPerformed(IndexId index_id,
+                         OnSearchPerformedCallback callback) override;
+
+  // Sets |index_id_|.
+  void SetIndexIdForTesting(IndexId index_id);
+
+  // Calls ReportDailyMetrics directly.
+  void ReportDailyMetricsForTesting(metrics::DailyEvent::IntervalType type);
+
+  mojo::PendingRemote<mojom::SearchMetricsReporter> BindNewPipeAndPassRemote() {
+    return receiver_.BindNewPipeAndPassRemote();
+  }
+
+ private:
+  class DailyEventObserver;
+
+  // Called by DailyEventObserver whenever a day has elapsed according to
+  // |daily_event_|.
+  void ReportDailyMetrics(metrics::DailyEvent::IntervalType type);
+
+  // Used as an index into |daily_counts_| for counting searches.
+  base::Optional<IndexId> index_id_;
+
+  PrefService* pref_service_;  // Not owned.
+
+  std::unique_ptr<metrics::DailyEvent> daily_event_;
+
+  // Instructs |daily_event_| to check if a day has passed.
+  base::RepeatingTimer timer_;
+
+  // Daily count for each index id. Ordered by IndexId values.
+  // Initial values will be loaded from prefs service.
+  std::array<int, kNumberIndexIds> daily_counts_;
+
+  mojo::Receiver<mojom::SearchMetricsReporter> receiver_{this};
+};
+
+}  // namespace local_search_service
+}  // namespace chromeos
+
+#endif  // CHROMEOS_COMPONENTS_LOCAL_SEARCH_SERVICE_SEARCH_METRICS_REPORTER_H_
diff --git a/chromeos/components/local_search_service/search_metrics_reporter_unittest.cc b/chromeos/components/local_search_service/search_metrics_reporter_unittest.cc
new file mode 100644
index 0000000..0b21687
--- /dev/null
+++ b/chromeos/components/local_search_service/search_metrics_reporter_unittest.cc
@@ -0,0 +1,126 @@
+// 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.
+
+#include "chromeos/components/local_search_service/search_metrics_reporter.h"
+
+#include <memory>
+
+#include "base/macros.h"
+#include "base/test/metrics/histogram_tester.h"
+#include "base/test/task_environment.h"
+#include "chromeos/components/local_search_service/pref_names.h"
+#include "chromeos/components/local_search_service/shared_structs.h"
+#include "components/metrics/daily_event.h"
+#include "components/prefs/testing_pref_service.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace chromeos {
+namespace local_search_service {
+
+class SearchMetricsReporterTest : public testing::Test {
+ public:
+  SearchMetricsReporterTest() = default;
+  ~SearchMetricsReporterTest() override = default;
+
+  void SetUp() override {
+    SearchMetricsReporter::RegisterLocalStatePrefs(pref_service_.registry());
+  }
+
+  void TearDown() override { reporter_.reset(); }
+
+ protected:
+  void SetReporter(IndexId index_id) {
+    reporter_ = std::make_unique<SearchMetricsReporter>(&pref_service_);
+    reporter_->SetIndexIdForTesting(index_id);
+  }
+
+  // Notifies |reporter_| that a search is performed.
+  void SendOnSearchPerformedAndCheck(IndexId index_id) {
+    bool callback_done = false;
+    reporter_->OnSearchPerformed(
+        index_id,
+        base::BindOnce([](bool* callback_done) { *callback_done = true; },
+                       &callback_done));
+    task_environment_.RunUntilIdle();
+    ASSERT_TRUE(callback_done);
+  }
+
+  // Instructs |reporter_| to report daily metrics for reason |type|.
+  void TriggerDailyEvent(metrics::DailyEvent::IntervalType type) {
+    reporter_->ReportDailyMetricsForTesting(type);
+  }
+
+  // Instructs |reporter_| to report daily metrics due to the passage of a day
+  // and verifies that it reports one sample with each of the passed values.
+  void TriggerDailyEventAndVerifyHistograms(const std::string& histogram_name,
+                                            int expected_count) {
+    base::HistogramTester histogram_tester;
+
+    TriggerDailyEvent(metrics::DailyEvent::IntervalType::DAY_ELAPSED);
+    histogram_tester.ExpectUniqueSample(histogram_name, expected_count, 1);
+  }
+
+  base::test::TaskEnvironment task_environment_;
+  TestingPrefServiceSimple pref_service_;
+  std::unique_ptr<SearchMetricsReporter> reporter_;
+};
+
+TEST_F(SearchMetricsReporterTest, CountAndReportEvents) {
+  SetReporter(IndexId::kCrosSettings);
+  SendOnSearchPerformedAndCheck(IndexId::kCrosSettings);
+  SendOnSearchPerformedAndCheck(IndexId::kCrosSettings);
+  SendOnSearchPerformedAndCheck(IndexId::kCrosSettings);
+  TriggerDailyEventAndVerifyHistograms(SearchMetricsReporter::kCrosSettingsName,
+                                       3);
+
+  // The next day, another two searches.
+  SendOnSearchPerformedAndCheck(IndexId::kCrosSettings);
+  SendOnSearchPerformedAndCheck(IndexId::kCrosSettings);
+  TriggerDailyEventAndVerifyHistograms(SearchMetricsReporter::kCrosSettingsName,
+                                       2);
+}
+
+TEST_F(SearchMetricsReporterTest, LoadInitialCountsFromPrefs) {
+  // Create a new reporter and check that it loads its initial event counts from
+  // prefs.
+  pref_service_.SetInteger(prefs::kLocalSearchServiceMetricsCrosSettingsCount,
+                           2);
+  SetReporter(IndexId::kCrosSettings);
+
+  TriggerDailyEventAndVerifyHistograms(SearchMetricsReporter::kCrosSettingsName,
+                                       2);
+
+  // The previous report should've cleared the prefs, so a new reporter should
+  // start out at zero.
+  TriggerDailyEventAndVerifyHistograms(SearchMetricsReporter::kCrosSettingsName,
+                                       0);
+}
+
+TEST_F(SearchMetricsReporterTest, IgnoreDailyEventFirstRun) {
+  SetReporter(IndexId::kCrosSettings);
+  // metrics::DailyEvent notifies observers immediately on first run. Histograms
+  // shouldn't be sent in this case.
+  base::HistogramTester tester;
+  TriggerDailyEvent(metrics::DailyEvent::IntervalType::FIRST_RUN);
+  tester.ExpectTotalCount(SearchMetricsReporter::kCrosSettingsName, 0);
+}
+
+TEST_F(SearchMetricsReporterTest, IgnoreDailyEventClockChanged) {
+  SetReporter(IndexId::kCrosSettings);
+  SendOnSearchPerformedAndCheck(IndexId::kCrosSettings);
+
+  // metrics::DailyEvent notifies observers if it sees that the system clock has
+  // jumped back. Histograms shouldn't be sent in this case.
+  base::HistogramTester tester;
+  TriggerDailyEvent(metrics::DailyEvent::IntervalType::CLOCK_CHANGED);
+  tester.ExpectTotalCount(SearchMetricsReporter::kCrosSettingsName, 0);
+
+  // The existing stats should be cleared when the clock change notification is
+  // received, so the next report should only contain zeros.
+  TriggerDailyEventAndVerifyHistograms(SearchMetricsReporter::kCrosSettingsName,
+                                       0);
+}
+
+}  // namespace local_search_service
+}  // namespace chromeos
diff --git a/chromeos/components/quick_answers/utils/language_detector.cc b/chromeos/components/quick_answers/utils/language_detector.cc
index fab3c5c..f3998de 100644
--- a/chromeos/components/quick_answers/utils/language_detector.cc
+++ b/chromeos/components/quick_answers/utils/language_detector.cc
@@ -5,18 +5,24 @@
 #include "chromeos/components/quick_answers/utils/language_detector.h"
 
 #include "base/callback.h"
+#include "base/metrics/field_trial_params.h"
+#include "chromeos/constants/chromeos_features.h"
 
 namespace chromeos {
 namespace quick_answers {
 namespace {
 
-// TODO(b/173143583): Make the thresholds finch params.
-constexpr float kSelectedTextConfidenceThreshold = 0.7;
-constexpr float kSurroundingTextConfidenceThreshold = 0.9;
+constexpr base::FeatureParam<double> kSelectedTextConfidenceThreshold{
+    &features::kQuickAnswersTranslation, "selected_text_confidence_threshold",
+    /*default_value=*/0.7};
+
+constexpr base::FeatureParam<double> kSurroundingTextConfidenceThreshold{
+    &features::kQuickAnswersTranslation,
+    "surrounding_text_confidence_threshold", /*default_value=*/0.9};
 
 base::Optional<std::string> GetLanguageWithConfidence(
     const std::vector<machine_learning::mojom::TextLanguagePtr>& languages,
-    float confidence_threshold) {
+    double confidence_threshold) {
   // The languages are sorted according to the confidence score, from the
   // highest to the lowest (according to the mojom method documentation).
   if (!languages.empty() &&
@@ -48,8 +54,8 @@
     const std::string& surrounding_text,
     DetectLanguageCallback callback,
     std::vector<machine_learning::mojom::TextLanguagePtr> languages) {
-  auto locale = GetLanguageWithConfidence(std::move(languages),
-                                          kSelectedTextConfidenceThreshold);
+  auto locale = GetLanguageWithConfidence(
+      std::move(languages), kSelectedTextConfidenceThreshold.Get());
   if (locale.has_value()) {
     std::move(callback).Run(std::move(locale));
     return;
@@ -66,8 +72,8 @@
 void LanguageDetector::FindLanguagesForSurroundingTextCallback(
     DetectLanguageCallback callback,
     std::vector<machine_learning::mojom::TextLanguagePtr> languages) {
-  auto locale =
-      GetLanguageWithConfidence(languages, kSurroundingTextConfidenceThreshold);
+  auto locale = GetLanguageWithConfidence(
+      languages, kSurroundingTextConfidenceThreshold.Get());
 
   std::move(callback).Run(std::move(locale));
 }
diff --git a/chromeos/constants/chromeos_features.cc b/chromeos/constants/chromeos_features.cc
index 12fdd83..704ac2f 100644
--- a/chromeos/constants/chromeos_features.cc
+++ b/chromeos/constants/chromeos_features.cc
@@ -292,7 +292,7 @@
 
 // Enables JS modules for Audio Player.
 const base::Feature kAudioPlayerJsModules{"AudioPlayerJsModules",
-                                          base::FEATURE_DISABLED_BY_DEFAULT};
+                                          base::FEATURE_ENABLED_BY_DEFAULT};
 
 // Enables JS modules for Video Player.
 const base::Feature kVideoPlayerJsModules{"VideoPlayerJsModules",
diff --git a/chromeos/dbus/hermes/hermes_profile_client.cc b/chromeos/dbus/hermes/hermes_profile_client.cc
index edb91f9e..eb445ac 100644
--- a/chromeos/dbus/hermes/hermes_profile_client.cc
+++ b/chromeos/dbus/hermes/hermes_profile_client.cc
@@ -13,6 +13,70 @@
 #include "dbus/property.h"
 #include "third_party/cros_system_api/dbus/hermes/dbus-constants.h"
 
+namespace dbus {
+
+// dbus::Property specialization to read and write
+// hermes::profile::State enum.
+template <>
+Property<hermes::profile::State>::Property()
+    : value_(hermes::profile::State::kInactive) {}
+
+template <>
+bool Property<hermes::profile::State>::PopValueFromReader(
+    MessageReader* reader) {
+  int32_t int_value;
+  if (!reader->PopInt32(&int_value)) {
+    return false;
+  }
+  switch (int_value) {
+    case hermes::profile::State::kActive:
+    case hermes::profile::State::kInactive:
+    case hermes::profile::State::kPending:
+      value_ = static_cast<hermes::profile::State>(int_value);
+      return true;
+  }
+  NOTREACHED() << "Received invalid hermes profile state " << int_value;
+  return false;
+}
+
+template <>
+void Property<hermes::profile::State>::AppendSetValueToWriter(
+    MessageWriter* writer) {
+  writer->AppendInt32(set_value_);
+}
+
+// dbus::Property specialization to read and write
+// hermes::profile::ProfileClass enum.
+template <>
+Property<hermes::profile::ProfileClass>::Property()
+    : value_(hermes::profile::ProfileClass::kOperational) {}
+
+template <>
+bool Property<hermes::profile::ProfileClass>::PopValueFromReader(
+    MessageReader* reader) {
+  int32_t int_value;
+  if (!reader->PopInt32(&int_value)) {
+    return false;
+  }
+  switch (int_value) {
+    case hermes::profile::ProfileClass::kTesting:
+    case hermes::profile::ProfileClass::kProvisioning:
+    case hermes::profile::ProfileClass::kOperational:
+      value_ = static_cast<hermes::profile::ProfileClass>(int_value);
+      return true;
+  }
+  NOTREACHED() << "Received invalid hermes profile class " << int_value;
+  return false;
+}
+
+template <>
+void Property<hermes::profile::ProfileClass>::AppendSetValueToWriter(
+    MessageWriter* writer) {
+  writer->AppendInt32(set_value_);
+}
+
+}  // namespace dbus
+
 namespace chromeos {
 
 namespace {
diff --git a/chromeos/dbus/hermes/hermes_profile_client.h b/chromeos/dbus/hermes/hermes_profile_client.h
index 18c78f8..09c9ecc 100644
--- a/chromeos/dbus/hermes/hermes_profile_client.h
+++ b/chromeos/dbus/hermes/hermes_profile_client.h
@@ -12,6 +12,7 @@
 #include "base/observer_list.h"
 #include "chromeos/dbus/hermes/hermes_response_status.h"
 #include "dbus/property.h"
+#include "third_party/cros_system_api/dbus/hermes/dbus-constants.h"
 
 namespace dbus {
 class Bus;
@@ -45,8 +46,10 @@
     dbus::Property<std::string>& activation_code() { return activation_code_; }
     dbus::Property<std::string>& name() { return name_; }
     dbus::Property<std::string>& nick_name() { return nick_name_; }
-    dbus::Property<int32_t>& state() { return state_; }
-    dbus::Property<int32_t>& profile_class() { return profile_class_; }
+    dbus::Property<hermes::profile::State>& state() { return state_; }
+    dbus::Property<hermes::profile::ProfileClass>& profile_class() {
+      return profile_class_;
+    }
 
    private:
     dbus::Property<std::string> iccid_;
@@ -55,8 +58,8 @@
     dbus::Property<std::string> activation_code_;
     dbus::Property<std::string> name_;
     dbus::Property<std::string> nick_name_;
-    dbus::Property<int32_t> state_;
-    dbus::Property<int32_t> profile_class_;
+    dbus::Property<hermes::profile::State> state_;
+    dbus::Property<hermes::profile::ProfileClass> profile_class_;
   };
 
   // Interface for observing changes to profile objects.
diff --git a/chromeos/services/cellular_setup/BUILD.gn b/chromeos/services/cellular_setup/BUILD.gn
index 2700755..e6616ba 100644
--- a/chromeos/services/cellular_setup/BUILD.gn
+++ b/chromeos/services/cellular_setup/BUILD.gn
@@ -30,6 +30,12 @@
   sources = [
     "esim_manager.cc",
     "esim_manager.h",
+    "esim_mojo_utils.cc",
+    "esim_mojo_utils.h",
+    "esim_profile.cc",
+    "esim_profile.h",
+    "euicc.cc",
+    "euicc.h",
   ]
 
   deps = [
diff --git a/chromeos/services/cellular_setup/esim_manager.cc b/chromeos/services/cellular_setup/esim_manager.cc
index af4dfec..137f5a3 100644
--- a/chromeos/services/cellular_setup/esim_manager.cc
+++ b/chromeos/services/cellular_setup/esim_manager.cc
@@ -5,110 +5,27 @@
 #include "chromeos/services/cellular_setup/esim_manager.h"
 
 #include "base/strings/utf_string_conversions.h"
+#include "chromeos/services/cellular_setup/esim_profile.h"
+#include "chromeos/services/cellular_setup/euicc.h"
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom.h"
 #include "components/device_event_log/device_event_log.h"
+#include "dbus/object_path.h"
 #include "third_party/cros_system_api/dbus/hermes/dbus-constants.h"
 
 namespace chromeos {
 namespace cellular_setup {
 
-namespace {
-mojom::ProfileState ProfileStateToMojo(int32_t state) {
-  switch (state) {
-    case hermes::profile::State::kActive:
-      return mojom::ProfileState::kActive;
-    case hermes::profile::State::kInactive:
-      return mojom::ProfileState::kInactive;
-    default:
-      return mojom::ProfileState::kPending;
-  }
-}
-
-mojom::ESimManager::ProfileInstallResult InstallResultFromStatus(
-    HermesResponseStatus status) {
-  switch (status) {
-    case HermesResponseStatus::kSuccess:
-      return ESimManager::ProfileInstallResult::kSuccess;
-    case HermesResponseStatus::kErrorNeedConfirmationCode:
-      return ESimManager::ProfileInstallResult::kErrorNeedsConfirmationCode;
-    case HermesResponseStatus::kErrorInvalidActivationCode:
-      return ESimManager::ProfileInstallResult::kErrorInvalidActivationCode;
-    default:
-      return ESimManager::ProfileInstallResult::kFailure;
-  }
-}
-
-mojom::ESimManager::ESimOperationResult OperationResultFromStatus(
-    HermesResponseStatus status) {
-  switch (status) {
-    case HermesResponseStatus::kSuccess:
-      return ESimManager::ESimOperationResult::kSuccess;
-    default:
-      return ESimManager::ESimOperationResult::kFailure;
-  }
-}
-
-}  // namespace
-
-ESimManager::EuiccInfo::EuiccInfo(const dbus::ObjectPath& path,
-                                  HermesEuiccClient::Properties* properties)
-    : euicc_(mojom::Euicc::New()), path_(path) {
-  CopyProperties(properties);
-}
-
-ESimManager::EuiccInfo::~EuiccInfo() = default;
-
-bool ESimManager::EuiccInfo::ContainsIccid(const std::string& iccid) {
-  return profile_iccids_.find(iccid) != profile_iccids_.end();
-}
-
-void ESimManager::EuiccInfo::CopyProperties(
-    HermesEuiccClient::Properties* properties) {
-  euicc_->eid = properties->eid().value();
-  euicc_->is_active = properties->is_active().value();
-}
-
-ESimManager::ESimProfileInfo::ESimProfileInfo(
-    const dbus::ObjectPath& path,
-    const std::string& eid,
-    HermesProfileClient::Properties* properties)
-    : esim_profile_(mojom::ESimProfile::New()), path_(path) {
-  CopyProperties(properties);
-  esim_profile_->eid = eid;
-}
-
-ESimManager::ESimProfileInfo::~ESimProfileInfo() = default;
-
-void ESimManager::ESimProfileInfo::CopyProperties(
-    HermesProfileClient::Properties* properties) {
-  esim_profile_->iccid = properties->iccid().value();
-  esim_profile_->name = base::UTF8ToUTF16(properties->name().value());
-  esim_profile_->nickname = base::UTF8ToUTF16(properties->nick_name().value());
-  esim_profile_->service_provider =
-      base::UTF8ToUTF16(properties->service_provider().value());
-  esim_profile_->state = ProfileStateToMojo(properties->state().value());
-  esim_profile_->activation_code = properties->activation_code().value();
-}
-
-ESimManager::ESimManager()
-    : hermes_manager_client_(HermesManagerClient::Get()),
-      hermes_euicc_client_(HermesEuiccClient::Get()),
-      hermes_profile_client_(HermesProfileClient::Get()) {
-  hermes_manager_client_->AddObserver(this);
-  hermes_euicc_client_->AddObserver(this);
-  hermes_profile_client_->AddObserver(this);
+ESimManager::ESimManager() {
+  HermesManagerClient::Get()->AddObserver(this);
+  HermesEuiccClient::Get()->AddObserver(this);
+  HermesProfileClient::Get()->AddObserver(this);
   UpdateAvailableEuiccs();
 }
 
 ESimManager::~ESimManager() {
-  hermes_manager_client_->RemoveObserver(this);
-  hermes_euicc_client_->RemoveObserver(this);
-  hermes_profile_client_->RemoveObserver(this);
-}
-
-void ESimManager::BindReceiver(
-    mojo::PendingReceiver<mojom::ESimManager> receiver) {
-  NET_LOG(EVENT) << "ESimManager::BindReceiver()";
-  receivers_.Add(this, std::move(receiver));
+  HermesManagerClient::Get()->RemoveObserver(this);
+  HermesEuiccClient::Get()->RemoveObserver(this);
+  HermesProfileClient::Get()->RemoveObserver(this);
 }
 
 void ESimManager::AddObserver(
@@ -117,156 +34,12 @@
 }
 
 void ESimManager::GetAvailableEuiccs(GetAvailableEuiccsCallback callback) {
-  std::vector<mojom::EuiccPtr> euicc_list;
-  for (auto const& eid : available_euicc_eids_)
-    euicc_list.push_back(eid_euicc_info_map_[eid]->euicc()->Clone());
+  std::vector<mojo::PendingRemote<mojom::Euicc>> euicc_list;
+  for (auto const& euicc : available_euiccs_)
+    euicc_list.push_back(euicc->CreateRemote());
   std::move(callback).Run(std::move(euicc_list));
 }
 
-void ESimManager::GetProfiles(const std::string& eid,
-                              GetProfilesCallback callback) {
-  if (!eid_euicc_info_map_.count(eid)) {
-    std::move(callback).Run(base::nullopt);
-    return;
-  }
-  EuiccInfo* euicc_info = eid_euicc_info_map_[eid].get();
-  std::vector<mojom::ESimProfilePtr> profile_list;
-  for (auto const& iccid : euicc_info->profile_iccids()) {
-    profile_list.push_back(
-        iccid_esim_profile_info_map_[iccid]->esim_profile()->Clone());
-  }
-  std::move(callback).Run(std::move(profile_list));
-}
-
-void ESimManager::RequestPendingProfiles(
-    const std::string& eid,
-    RequestPendingProfilesCallback callback) {
-  if (!eid_euicc_info_map_.count(eid)) {
-    NET_LOG(ERROR) << "RequestPendingProfiles failed: Unknown eid.";
-    std::move(callback).Run(ESimOperationResult::kFailure);
-    return;
-  }
-  NET_LOG(EVENT) << "Requesting Pending profiles";
-  hermes_euicc_client_->RequestPendingEvents(
-      eid_euicc_info_map_[eid]->path(),
-      base::BindOnce(&ESimManager::OnRequestPendingEventsResult,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
-}
-
-void ESimManager::InstallProfileFromActivationCode(
-    const std::string& eid,
-    const std::string& activation_code,
-    const std::string& confirmation_code,
-    InstallProfileFromActivationCodeCallback callback) {
-  ESimProfileInfo* profile_info = nullptr;
-  ProfileInstallResult status = GetPendingProfileInfoFromActivationCode(
-      activation_code, eid, &profile_info);
-  if (profile_info &&
-      status != mojom::ESimManager::ProfileInstallResult::kSuccess) {
-    // Return early if profile was found but not in the correct state.
-    std::move(callback).Run(status, nullptr);
-    return;
-  }
-
-  if (profile_info) {
-    CallInstallPendingProfile(profile_info, confirmation_code,
-                              std::move(callback));
-    return;
-  }
-
-  // Try installing directly with activation code.
-  hermes_euicc_client_->InstallProfileFromActivationCode(
-      eid_euicc_info_map_[eid]->path(), activation_code, confirmation_code,
-      base::BindOnce(&ESimManager::OnProfileInstallResult,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback), eid));
-}
-
-void ESimManager::InstallProfile(const std::string& iccid,
-                                 const std::string& confirmation_code,
-                                 InstallProfileCallback callback) {
-  ESimProfileInfo* profile_info = GetPendingProfileInfoFromIccid(iccid);
-  if (!profile_info) {
-    std::move(callback).Run(ProfileInstallResult::kFailure, nullptr);
-    return;
-  }
-
-  CallInstallPendingProfile(profile_info, confirmation_code,
-                            std::move(callback));
-}
-
-void ESimManager::UninstallProfile(const std::string& iccid,
-                                   UninstallProfileCallback callback) {
-  ESimProfileInfo* profile_info = GetInstalledProfileInfoFromIccid(iccid);
-  if (!profile_info) {
-    std::move(callback).Run(ESimOperationResult::kFailure);
-    return;
-  }
-
-  EuiccInfo* euicc_info =
-      eid_euicc_info_map_[profile_info->esim_profile()->eid].get();
-  hermes_euicc_client_->UninstallProfile(
-      euicc_info->path(), profile_info->path(),
-      base::BindOnce(&ESimManager::OnESimOperationResult,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
-}
-
-void ESimManager::EnableProfile(const std::string& iccid,
-                                EnableProfileCallback callback) {
-  ESimProfileInfo* profile_info = GetInstalledProfileInfoFromIccid(iccid);
-  if (!profile_info) {
-    std::move(callback).Run(ESimOperationResult::kFailure);
-    return;
-  }
-
-  if (profile_info->esim_profile()->state == mojom::ProfileState::kActive) {
-    NET_LOG(ERROR) << "Profile enable failed: Profile already enabled";
-    std::move(callback).Run(ESimOperationResult::kFailure);
-    return;
-  }
-
-  hermes_profile_client_->EnableCarrierProfile(
-      profile_info->path(),
-      base::BindOnce(&ESimManager::OnESimOperationResult,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
-}
-
-void ESimManager::DisableProfile(const std::string& iccid,
-                                 DisableProfileCallback callback) {
-  ESimProfileInfo* profile_info = GetInstalledProfileInfoFromIccid(iccid);
-  if (!profile_info) {
-    std::move(callback).Run(ESimOperationResult::kFailure);
-    return;
-  }
-
-  if (profile_info->esim_profile()->state == mojom::ProfileState::kInactive) {
-    NET_LOG(ERROR) << "Profile enable failed: Profile already disabled";
-    std::move(callback).Run(ESimOperationResult::kFailure);
-    return;
-  }
-
-  hermes_profile_client_->DisableCarrierProfile(
-      profile_info->path(),
-      base::BindOnce(&ESimManager::OnESimOperationResult,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
-}
-
-void ESimManager::SetProfileNickname(const std::string& iccid,
-                                     const base::string16& nickname,
-                                     SetProfileNicknameCallback callback) {
-  ESimProfileInfo* profile_info = GetInstalledProfileInfoFromIccid(iccid);
-  if (!profile_info) {
-    std::move(callback).Run(ESimOperationResult::kFailure);
-    return;
-  }
-
-  HermesProfileClient::Properties* properties =
-      hermes_profile_client_->GetProperties(profile_info->path());
-  properties->nick_name().Set(
-      base::UTF16ToUTF8(nickname),
-      base::BindOnce(&ESimManager::OnProfilePropertySet,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
-}
-
 void ESimManager::OnAvailableEuiccListChanged() {
   UpdateAvailableEuiccs();
   for (auto& observer : observers_)
@@ -275,306 +48,95 @@
 
 void ESimManager::OnEuiccPropertyChanged(const dbus::ObjectPath& euicc_path,
                                          const std::string& property_name) {
-  EuiccInfo* euicc_info = GetEuiccInfoFromPath(euicc_path);
+  Euicc* euicc = GetEuiccFromPath(euicc_path);
   // Skip notifying observers if the euicc object is not tracked.
-  if (!euicc_info)
+  if (!euicc)
     return;
   if (property_name == hermes::euicc::kPendingProfilesProperty ||
       property_name == hermes::euicc::kInstalledProfilesProperty) {
-    UpdateProfileList(euicc_info);
+    euicc->UpdateProfileList();
     for (auto& observer : observers_)
-      observer->OnProfileListChanged(euicc_info->euicc()->eid);
+      observer->OnProfileListChanged(euicc->CreateRemote());
   } else {
-    HermesEuiccClient::Properties* properties =
-        hermes_euicc_client_->GetProperties(euicc_path);
-    euicc_info->CopyProperties(properties);
+    euicc->UpdateProperties();
     for (auto& observer : observers_)
-      observer->OnEuiccChanged(euicc_info->euicc()->Clone());
+      observer->OnEuiccChanged(euicc->CreateRemote());
   }
 }
 
 void ESimManager::OnCarrierProfilePropertyChanged(
     const dbus::ObjectPath& carrier_profile_path,
     const std::string& property_name) {
-  ESimProfileInfo* profile_info = GetProfileInfoFromPath(carrier_profile_path);
+  ESimProfile* esim_profile = GetESimProfileFromPath(carrier_profile_path);
+
   // Skip notifying observers if the carrier profile is not tracked.
-  if (!profile_info)
+  if (!esim_profile)
     return;
 
-  HermesProfileClient::Properties* properties =
-      hermes_profile_client_->GetProperties(carrier_profile_path);
-  profile_info->CopyProperties(properties);
+  esim_profile->UpdateProperties();
+  NotifyESimProfileChanged(esim_profile);
+}
+
+void ESimManager::BindReceiver(
+    mojo::PendingReceiver<mojom::ESimManager> receiver) {
+  NET_LOG(EVENT) << "ESimManager::BindReceiver()";
+  receivers_.Add(this, std::move(receiver));
+}
+
+void ESimManager::NotifyESimProfileChanged(ESimProfile* esim_profile) {
   for (auto& observer : observers_)
-    observer->OnProfileChanged(profile_info->esim_profile()->Clone());
-}
-
-void ESimManager::CallInstallPendingProfile(
-    ESimProfileInfo* profile_info,
-    const std::string& confirmation_code,
-    ProfileInstallResultCallback callback) {
-  mojom::ESimProfile* profile = profile_info->esim_profile();
-  if (profile->state == mojom::ProfileState::kInstalling ||
-      profile->state != mojom::ProfileState::kPending) {
-    NET_LOG(ERROR) << "Profile is already installed or in installing state.";
-    std::move(callback).Run(ProfileInstallResult::kFailure, nullptr);
-    return;
-  }
-
-  profile->state = mojom::ProfileState::kInstalling;
-  for (auto& observer : observers_)
-    observer->OnProfileChanged(profile->Clone());
-
-  hermes_euicc_client_->InstallPendingProfile(
-      eid_euicc_info_map_[profile->eid]->path(), profile_info->path(),
-      confirmation_code,
-      base::BindOnce(&ESimManager::OnPendingProfileInstallResult,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback),
-                     profile_info));
-}
-
-void ESimManager::OnProfileInstallResult(ProfileInstallResultCallback callback,
-                                         const std::string& eid,
-                                         HermesResponseStatus status,
-                                         const dbus::ObjectPath* object_path) {
-  if (status != HermesResponseStatus::kSuccess) {
-    NET_LOG(ERROR) << "Error Installing profile status="
-                   << static_cast<int>(status);
-    std::move(callback).Run(InstallResultFromStatus(status), nullptr);
-    return;
-  }
-
-  HermesProfileClient::Properties* properties =
-      hermes_profile_client_->GetProperties(*object_path);
-  ESimProfileInfo* profile_info =
-      GetOrCreateESimProfileInfo(properties, *object_path, eid);
-  std::move(callback).Run(ProfileInstallResult::kSuccess,
-                          profile_info->esim_profile()->Clone());
-}
-
-void ESimManager::OnPendingProfileInstallResult(
-    ProfileInstallResultCallback callback,
-    ESimProfileInfo* profile_info,
-    HermesResponseStatus status) {
-  if (status != HermesResponseStatus::kSuccess) {
-    NET_LOG(ERROR) << "Error Installing pending profile status="
-                   << static_cast<int>(status);
-    profile_info->esim_profile()->state = mojom::ProfileState::kPending;
-    for (auto& observer : observers_)
-      observer->OnProfileChanged(profile_info->esim_profile()->Clone());
-    std::move(callback).Run(InstallResultFromStatus(status), nullptr);
-    return;
-  }
-
-  std::move(callback).Run(ProfileInstallResult::kSuccess,
-                          profile_info->esim_profile()->Clone());
-}
-
-void ESimManager::OnESimOperationResult(ESimOperationResultCallback callback,
-                                        HermesResponseStatus status) {
-  if (status != HermesResponseStatus::kSuccess) {
-    NET_LOG(ERROR) << "ESim operation error status="
-                   << static_cast<int>(status);
-  }
-  std::move(callback).Run(OperationResultFromStatus(status));
-}
-
-void ESimManager::OnProfilePropertySet(ESimOperationResultCallback callback,
-                                       bool success) {
-  if (!success) {
-    NET_LOG(ERROR) << "ESimProfile property set error.";
-  }
-  std::move(callback).Run(
-      success ? mojom::ESimManager::ESimOperationResult::kSuccess
-              : mojom::ESimManager::ESimOperationResult::kFailure);
-}
-
-void ESimManager::OnRequestPendingEventsResult(
-    RequestPendingProfilesCallback callback,
-    HermesResponseStatus status) {
-  if (status != HermesResponseStatus::kSuccess) {
-    NET_LOG(ERROR) << "Request Pending events failed status="
-                   << static_cast<int>(status);
-  }
-  std::move(callback).Run(
-      status == HermesResponseStatus::kSuccess
-          ? mojom::ESimManager::ESimOperationResult::kSuccess
-          : mojom::ESimManager::ESimOperationResult::kFailure);
+    observer->OnProfileChanged(esim_profile->CreateRemote());
 }
 
 void ESimManager::UpdateAvailableEuiccs() {
   NET_LOG(EVENT) << "Updating available Euiccs";
-  available_euicc_eids_.clear();
-  for (auto& euicc_path : hermes_manager_client_->GetAvailableEuiccs()) {
-    HermesEuiccClient::Properties* properties =
-        hermes_euicc_client_->GetProperties(euicc_path);
-    EuiccInfo* euicc_info = GetOrCreateEuiccInfo(properties, euicc_path);
-    available_euicc_eids_.insert(properties->eid().value());
-    UpdateProfileList(euicc_info);
+  std::set<dbus::ObjectPath> new_euicc_paths;
+  for (auto& euicc_path : HermesManagerClient::Get()->GetAvailableEuiccs()) {
+    Euicc* euicc_info = GetOrCreateEuicc(euicc_path);
+    euicc_info->UpdateProfileList();
+    new_euicc_paths.insert(euicc_path);
   }
-  RemoveUntrackedEuiccs();
+  RemoveUntrackedEuiccs(new_euicc_paths);
 }
 
-void ESimManager::UpdateProfileList(EuiccInfo* euicc_info) {
-  HermesEuiccClient::Properties* euicc_properties =
-      hermes_euicc_client_->GetProperties(euicc_info->path());
-  std::set<std::string> profile_iccids;
-  for (auto& path : euicc_properties->installed_carrier_profiles().value()) {
-    HermesProfileClient::Properties* profile_properties =
-        hermes_profile_client_->GetProperties(path);
-    GetOrCreateESimProfileInfo(profile_properties, path,
-                               euicc_info->euicc()->eid);
-    profile_iccids.insert(profile_properties->iccid().value());
-  }
-  for (auto& path : euicc_properties->pending_carrier_profiles().value()) {
-    HermesProfileClient::Properties* profile_properties =
-        hermes_profile_client_->GetProperties(path);
-    GetOrCreateESimProfileInfo(profile_properties, path,
-                               euicc_info->euicc()->eid);
-    profile_iccids.insert(profile_properties->iccid().value());
-  }
-  euicc_info->set_profile_iccids(profile_iccids);
-  RemoveUntrackedProfiles(euicc_info);
-}
-
-void ESimManager::RemoveUntrackedEuiccs() {
-  for (auto euicc_it = eid_euicc_info_map_.begin();
-       euicc_it != eid_euicc_info_map_.end();) {
-    const std::string& eid = euicc_it->first;
-    if (available_euicc_eids_.find(eid) != available_euicc_eids_.end()) {
-      euicc_it++;
-      continue;
-    }
-
-    // Remove all profiles for this Euicc.
-    for (auto esim_profile_it = iccid_esim_profile_info_map_.begin();
-         esim_profile_it != iccid_esim_profile_info_map_.end();) {
-      if (esim_profile_it->second->esim_profile()->eid == eid)
-        esim_profile_it = iccid_esim_profile_info_map_.erase(esim_profile_it);
-      else
-        esim_profile_it++;
-    }
-    euicc_it = eid_euicc_info_map_.erase(euicc_it);
-  }
-}
-
-void ESimManager::RemoveUntrackedProfiles(EuiccInfo* euicc_info) {
-  for (auto it = iccid_esim_profile_info_map_.begin();
-       it != iccid_esim_profile_info_map_.end();) {
-    ESimProfileInfo* profile_info = it->second.get();
-    const std::string& iccid = it->first;
-    if (profile_info->esim_profile()->eid == euicc_info->euicc()->eid &&
-        !euicc_info->ContainsIccid(iccid)) {
-      it = iccid_esim_profile_info_map_.erase(it);
+void ESimManager::RemoveUntrackedEuiccs(
+    const std::set<dbus::ObjectPath> new_euicc_paths) {
+  for (auto euicc_it = available_euiccs_.begin();
+       euicc_it != available_euiccs_.end();) {
+    if (new_euicc_paths.find((*euicc_it)->path()) == new_euicc_paths.end()) {
+      euicc_it = available_euiccs_.erase(euicc_it);
     } else {
-      it++;
+      euicc_it++;
     }
   }
 }
 
-ESimManager::EuiccInfo* ESimManager::GetOrCreateEuiccInfo(
-    HermesEuiccClient::Properties* properties,
-    const dbus::ObjectPath& euicc_path) {
-  EuiccInfo* euicc_info = GetEuiccInfoFromPath(euicc_path);
+Euicc* ESimManager::GetOrCreateEuicc(const dbus::ObjectPath& euicc_path) {
+  Euicc* euicc_info = GetEuiccFromPath(euicc_path);
   if (euicc_info)
     return euicc_info;
-  const std::string& eid = properties->eid().value();
-  eid_euicc_info_map_[eid] =
-      std::make_unique<EuiccInfo>(euicc_path, properties);
-  return eid_euicc_info_map_[eid].get();
+  available_euiccs_.push_back(std::make_unique<Euicc>(euicc_path, this));
+  return available_euiccs_.back().get();
 }
 
-ESimManager::ESimProfileInfo* ESimManager::GetOrCreateESimProfileInfo(
-    HermesProfileClient::Properties* properties,
-    const dbus::ObjectPath& carrier_profile_path,
-    const std::string& eid) {
-  ESimProfileInfo* profile_info = GetProfileInfoFromPath(carrier_profile_path);
-  if (profile_info)
-    return profile_info;
-  const std::string& iccid = properties->iccid().value();
-  iccid_esim_profile_info_map_[iccid] =
-      std::make_unique<ESimProfileInfo>(carrier_profile_path, eid, properties);
-  return iccid_esim_profile_info_map_[iccid].get();
-}
-
-ESimManager::EuiccInfo* ESimManager::GetEuiccInfoFromPath(
-    const dbus::ObjectPath& path) {
-  for (auto& pair : eid_euicc_info_map_) {
-    if (pair.second->path() == path) {
-      return eid_euicc_info_map_[pair.first].get();
+Euicc* ESimManager::GetEuiccFromPath(const dbus::ObjectPath& path) {
+  for (auto& euicc : available_euiccs_) {
+    if (euicc->path() == path) {
+      return euicc.get();
     }
   }
   return nullptr;
 }
 
-ESimManager::ESimProfileInfo* ESimManager::GetProfileInfoFromPath(
-    const dbus::ObjectPath& path) {
-  for (auto& pair : iccid_esim_profile_info_map_) {
-    if (pair.second->path() == path) {
-      return pair.second.get();
+ESimProfile* ESimManager::GetESimProfileFromPath(const dbus::ObjectPath& path) {
+  for (auto& euicc : available_euiccs_) {
+    ESimProfile* esim_profile = euicc->GetProfileFromPath(path);
+    if (esim_profile) {
+      return esim_profile;
     }
   }
   return nullptr;
 }
 
-mojom::ESimManager::ProfileInstallResult
-ESimManager::GetPendingProfileInfoFromActivationCode(
-    const std::string& eid,
-    const std::string& activation_code,
-    ESimProfileInfo** profile_info) {
-  const auto iter = std::find_if(
-      iccid_esim_profile_info_map_.begin(), iccid_esim_profile_info_map_.end(),
-      [activation_code](const auto& pair) -> bool {
-        return pair.second->esim_profile()->activation_code == activation_code;
-      });
-  if (iter == iccid_esim_profile_info_map_.end()) {
-    NET_LOG(EVENT) << "Get pending profile with activation failed: No profile "
-                      "with activation_code.";
-    return ProfileInstallResult::kFailure;
-  }
-  *profile_info = iter->second.get();
-  if (iter->second->esim_profile()->state != mojom::ProfileState::kPending ||
-      iter->second->esim_profile()->eid != eid) {
-    NET_LOG(ERROR) << "Get pending profile with activation code failed: Profile"
-                      "is not in pending state or EID does not match.";
-    return ProfileInstallResult::kFailure;
-  }
-  return ProfileInstallResult::kSuccess;
-}
-
-ESimManager::ESimProfileInfo* ESimManager::GetPendingProfileInfoFromIccid(
-    const std::string& iccid) {
-  if (!iccid_esim_profile_info_map_.count(iccid)) {
-    NET_LOG(ERROR) << "Get pending profile with iccid failed: Unknown ICCID.";
-    return nullptr;
-  }
-  mojom::ESimProfile* profile =
-      iccid_esim_profile_info_map_[iccid]->esim_profile();
-  if (profile->state != mojom::ProfileState::kPending) {
-    NET_LOG(ERROR) << "Get pending profile with iccid failed: Profile is "
-                      "already installed or installing.";
-    return nullptr;
-  }
-  return iccid_esim_profile_info_map_[iccid].get();
-}
-
-ESimManager::ESimProfileInfo* ESimManager::GetInstalledProfileInfoFromIccid(
-    const std::string& iccid) {
-  if (!iccid_esim_profile_info_map_.count(iccid)) {
-    NET_LOG(ERROR) << "Get installed profile with iccid failed: Unknown iccid.";
-    return nullptr;
-  }
-
-  mojom::ProfileState state =
-      iccid_esim_profile_info_map_[iccid]->esim_profile()->state;
-  if (state == mojom::ProfileState::kInstalling ||
-      state == mojom::ProfileState::kPending) {
-    NET_LOG(ERROR) << "Get installed profile with iccid failed. Invalid state="
-                   << state;
-    return nullptr;
-  }
-
-  return iccid_esim_profile_info_map_[iccid].get();
-}
-
 }  // namespace cellular_setup
 }  // namespace chromeos
diff --git a/chromeos/services/cellular_setup/esim_manager.h b/chromeos/services/cellular_setup/esim_manager.h
index 29a3d333..6ae46bf 100644
--- a/chromeos/services/cellular_setup/esim_manager.h
+++ b/chromeos/services/cellular_setup/esim_manager.h
@@ -10,14 +10,20 @@
 #include "chromeos/dbus/hermes/hermes_manager_client.h"
 #include "chromeos/dbus/hermes/hermes_profile_client.h"
 #include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom.h"
-#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/receiver_set.h"
 #include "mojo/public/cpp/bindings/remote_set.h"
 
+namespace dbus {
+class ObjectPath;
+}  // namespace dbus
+
 namespace chromeos {
 namespace cellular_setup {
 
+class Euicc;
+class ESimProfile;
+
 // Implementation of mojom::ESimManager. This class uses the Hermes
 // DBus clients to communicate with the Hermes daemon and provide
 // eSIM management methods. ESimManager mojo interface is provided
@@ -32,33 +38,10 @@
   ESimManager& operator=(const ESimManager&) = delete;
   ~ESimManager() override;
 
-  void BindReceiver(mojo::PendingReceiver<mojom::ESimManager> receiver);
-
   // mojom::ESimManager
   void AddObserver(
       mojo::PendingRemote<mojom::ESimManagerObserver> observer) override;
   void GetAvailableEuiccs(GetAvailableEuiccsCallback callback) override;
-  void GetProfiles(const std::string& eid,
-                   GetProfilesCallback callback) override;
-  void RequestPendingProfiles(const std::string& eid,
-                              RequestPendingProfilesCallback callback) override;
-  void InstallProfileFromActivationCode(
-      const std::string& eid,
-      const std::string& activation_code,
-      const std::string& confirmation_code,
-      InstallProfileFromActivationCodeCallback callback) override;
-  void InstallProfile(const std::string& iccid,
-                      const std::string& confirmation_code,
-                      InstallProfileCallback callback) override;
-  void UninstallProfile(const std::string& iccid,
-                        UninstallProfileCallback callback) override;
-  void EnableProfile(const std::string& iccid,
-                     EnableProfileCallback callback) override;
-  void DisableProfile(const std::string& iccid,
-                      DisableProfileCallback callback) override;
-  void SetProfileNickname(const std::string& iccid,
-                          const base::string16& nickname,
-                          SetProfileNicknameCallback callback) override;
 
   // HermesManagerClient::Observer:
   void OnAvailableEuiccListChanged() override;
@@ -72,99 +55,20 @@
       const dbus::ObjectPath& carrier_profile_path,
       const std::string& property_name) override;
 
+  // Binds receiver to this instance.
+  void BindReceiver(mojo::PendingReceiver<mojom::ESimManager> receiver);
+
+  // Notifies observers of changes to ESimProfiles.
+  void NotifyESimProfileChanged(ESimProfile* esim_profile);
+
  private:
-  // EuiccInfo object is used to track state of Hermes Euicc objects.
-  // It holds mojom::Euicc object along with other related values.
-  class EuiccInfo {
-   public:
-    EuiccInfo(const dbus::ObjectPath& path,
-              HermesEuiccClient::Properties* properties);
-    ~EuiccInfo();
-
-    // Returns a boolean indicating whether |iccid| exists
-    // in installed or pending profiles for this Euicc.
-    bool ContainsIccid(const std::string& iccid);
-    void CopyProperties(HermesEuiccClient::Properties* properties);
-    mojom::Euicc* euicc() { return euicc_.get(); }
-    const dbus::ObjectPath& path() { return path_; }
-    void set_profile_iccids(const std::set<std::string>& profile_iccids) {
-      profile_iccids_ = std::move(profile_iccids);
-    }
-    const std::set<std::string>& profile_iccids() { return profile_iccids_; }
-
-   private:
-    mojom::EuiccPtr euicc_;
-    dbus::ObjectPath path_;
-    std::set<std::string> profile_iccids_;
-  };
-
-  // ESimProfileInfo is used to track state of Hermes Profile objects.
-  // It holds mojom::ESimProfile object along with other related values.
-  class ESimProfileInfo {
-   public:
-    ESimProfileInfo(const dbus::ObjectPath& path,
-                    const std::string& eid,
-                    HermesProfileClient::Properties* properties);
-    ~ESimProfileInfo();
-
-    void CopyProperties(HermesProfileClient::Properties* properties);
-    mojom::ESimProfile* esim_profile() { return esim_profile_.get(); }
-    const dbus::ObjectPath& path() { return path_; }
-
-   private:
-    mojom::ESimProfilePtr esim_profile_;
-    dbus::ObjectPath path_;
-  };
-
-  // Type of callback for profile installation methods.
-  using ProfileInstallResultCallback =
-      base::OnceCallback<void(mojom::ESimManager::ProfileInstallResult,
-                              mojom::ESimProfilePtr)>;
-  // Type of callback for other esim manager methods.
-  using ESimOperationResultCallback =
-      base::OnceCallback<void(mojom::ESimManager::ESimOperationResult)>;
-
-  void CallInstallPendingProfile(ESimProfileInfo* profile_info,
-                                 const std::string& confirmation_code,
-                                 ProfileInstallResultCallback callback);
-  void OnRequestPendingEventsResult(RequestPendingProfilesCallback callback,
-                                    HermesResponseStatus status);
-  void OnPendingProfileInstallResult(ProfileInstallResultCallback callback,
-                                     ESimProfileInfo* profile_info,
-                                     HermesResponseStatus status);
-  void OnProfileInstallResult(ProfileInstallResultCallback callback,
-                              const std::string& eid,
-                              HermesResponseStatus status,
-                              const dbus::ObjectPath* object_path);
-  void OnESimOperationResult(ESimOperationResultCallback callback,
-                             HermesResponseStatus status);
-  void OnProfilePropertySet(ESimOperationResultCallback callback, bool success);
   void UpdateAvailableEuiccs();
-  void UpdateProfileList(EuiccInfo* euicc_info);
-  void RemoveUntrackedEuiccs();
-  void RemoveUntrackedProfiles(EuiccInfo* euicc_info);
-  EuiccInfo* GetOrCreateEuiccInfo(HermesEuiccClient::Properties* properties,
-                                  const dbus::ObjectPath& euicc_path);
-  ESimProfileInfo* GetOrCreateESimProfileInfo(
-      HermesProfileClient::Properties* properties,
-      const dbus::ObjectPath& carrier_profile_path,
-      const std::string& eid);
-  EuiccInfo* GetEuiccInfoFromPath(const dbus::ObjectPath& path);
-  ESimProfileInfo* GetProfileInfoFromPath(const dbus::ObjectPath& path);
-  ProfileInstallResult GetPendingProfileInfoFromActivationCode(
-      const std::string& eid,
-      const std::string& activation_code,
-      ESimProfileInfo** profile_info);
-  ESimProfileInfo* GetPendingProfileInfoFromIccid(const std::string& iccid);
-  ESimProfileInfo* GetInstalledProfileInfoFromIccid(const std::string& iccid);
+  void RemoveUntrackedEuiccs(const std::set<dbus::ObjectPath> new_euicc_paths);
+  Euicc* GetEuiccFromPath(const dbus::ObjectPath& path);
+  ESimProfile* GetESimProfileFromPath(const dbus::ObjectPath& path);
+  Euicc* GetOrCreateEuicc(const dbus::ObjectPath& euicc_path);
 
-  HermesManagerClient* hermes_manager_client_;
-  HermesEuiccClient* hermes_euicc_client_;
-  HermesProfileClient* hermes_profile_client_;
-  std::set<std::string> available_euicc_eids_;
-  std::map<std::string, std::unique_ptr<EuiccInfo>> eid_euicc_info_map_;
-  std::map<std::string, std::unique_ptr<ESimProfileInfo>>
-      iccid_esim_profile_info_map_;
+  std::vector<std::unique_ptr<Euicc>> available_euiccs_;
   mojo::RemoteSet<mojom::ESimManagerObserver> observers_;
   mojo::ReceiverSet<mojom::ESimManager> receivers_;
 
diff --git a/chromeos/services/cellular_setup/esim_manager_unittest.cc b/chromeos/services/cellular_setup/esim_manager_unittest.cc
index 557abe2..2bcbb2236 100644
--- a/chromeos/services/cellular_setup/esim_manager_unittest.cc
+++ b/chromeos/services/cellular_setup/esim_manager_unittest.cc
@@ -4,13 +4,18 @@
 
 #include "chromeos/services/cellular_setup/esim_manager.h"
 #include "base/bind.h"
+#include "base/callback_forward.h"
+#include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/task_environment.h"
 #include "chromeos/dbus/hermes/hermes_clients.h"
+#include "chromeos/dbus/hermes/hermes_euicc_client.h"
 #include "chromeos/dbus/hermes/hermes_manager_client.h"
 #include "chromeos/dbus/shill/shill_clients.h"
 #include "chromeos/dbus/shill/shill_manager_client.h"
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom-forward.h"
 #include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom.h"
+#include "dbus/object_path.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -23,34 +28,6 @@
 const char* kTestEuiccPath = "/org/chromium/Hermes/Euicc/0";
 const char* kTestEid = "12345678901234567890123456789012";
 
-void CopyESimProfileList(
-    std::vector<mojom::ESimProfilePtr>* dest,
-    base::OnceClosure quit_closure,
-    base::Optional<std::vector<mojom::ESimProfilePtr>> esim_profiles) {
-  if (esim_profiles) {
-    for (auto& euicc : *esim_profiles)
-      dest->push_back(std::move(euicc));
-  }
-  std::move(quit_closure).Run();
-}
-
-void CopyInstallResult(mojom::ESimManager::ProfileInstallResult* result_dest,
-                       mojom::ESimProfilePtr* esim_profile_dest,
-                       base::OnceClosure quit_closure,
-                       mojom::ESimManager::ProfileInstallResult result,
-                       mojom::ESimProfilePtr esim_profile) {
-  *result_dest = result;
-  *esim_profile_dest = std::move(esim_profile);
-  std::move(quit_closure).Run();
-}
-
-void CopyOperationResult(mojom::ESimManager::ESimOperationResult* result_dest,
-                         base::OnceClosure quit_closure,
-                         mojom::ESimManager::ESimOperationResult result) {
-  *result_dest = result;
-  std::move(quit_closure).Run();
-}
-
 }  // namespace
 
 // Fake observer for testing ESimManager.
@@ -65,13 +42,14 @@
   void OnAvailableEuiccListChanged() override {
     available_euicc_list_change_count_++;
   }
-  void OnProfileListChanged(const std::string& eid) override {
-    profile_list_change_calls_.push_back(eid);
+  void OnProfileListChanged(mojo::PendingRemote<mojom::Euicc> euicc) override {
+    profile_list_change_calls_.push_back(std::move(euicc));
   }
-  void OnEuiccChanged(mojom::EuiccPtr euicc) override {
+  void OnEuiccChanged(mojo::PendingRemote<mojom::Euicc> euicc) override {
     euicc_change_calls_.push_back(std::move(euicc));
   }
-  void OnProfileChanged(mojom::ESimProfilePtr esim_profile) override {
+  void OnProfileChanged(
+      mojo::PendingRemote<mojom::ESimProfile> esim_profile) override {
     profile_change_calls_.push_back(std::move(esim_profile));
   }
 
@@ -86,34 +64,50 @@
     profile_change_calls_.clear();
   }
 
+  mojo::PendingRemote<mojom::Euicc> PopLastChangedEuicc() {
+    mojo::PendingRemote<mojom::Euicc> euicc =
+        std::move(euicc_change_calls_.front());
+    euicc_change_calls_.erase(euicc_change_calls_.begin());
+    return euicc;
+  }
+
+  mojo::PendingRemote<mojom::ESimProfile> PopLastChangedESimProfile() {
+    mojo::PendingRemote<mojom::ESimProfile> esim_profile =
+        std::move(profile_change_calls_.front());
+    profile_change_calls_.erase(profile_change_calls_.begin());
+    return esim_profile;
+  }
+
   int available_euicc_list_change_count() {
     return available_euicc_list_change_count_;
   }
 
-  const std::vector<std::string>& profile_list_change_calls() {
+  const std::vector<mojo::PendingRemote<mojom::Euicc>>&
+  profile_list_change_calls() {
     return profile_list_change_calls_;
   }
 
-  const std::vector<mojom::EuiccPtr>& euicc_change_calls() {
+  const std::vector<mojo::PendingRemote<mojom::Euicc>>& euicc_change_calls() {
     return euicc_change_calls_;
   }
 
-  const std::vector<mojom::ESimProfilePtr>& profile_change_calls() {
+  const std::vector<mojo::PendingRemote<mojom::ESimProfile>>&
+  profile_change_calls() {
     return profile_change_calls_;
   }
 
  private:
   int available_euicc_list_change_count_ = 0;
-  std::vector<std::string> profile_list_change_calls_;
-  std::vector<mojom::EuiccPtr> euicc_change_calls_;
-  std::vector<mojom::ESimProfilePtr> profile_change_calls_;
+  std::vector<mojo::PendingRemote<mojom::Euicc>> profile_list_change_calls_;
+  std::vector<mojo::PendingRemote<mojom::Euicc>> euicc_change_calls_;
+  std::vector<mojo::PendingRemote<mojom::ESimProfile>> profile_change_calls_;
   mojo::Receiver<mojom::ESimManagerObserver> receiver_{this};
 };
 
 class ESimManagerTest : public testing::Test {
  public:
-  using InstallResultPair = std::pair<mojom::ESimManager::ProfileInstallResult,
-                                      mojom::ESimProfilePtr>;
+  using InstallResultPair =
+      std::pair<mojom::ProfileInstallResult, mojom::ESimProfilePtr>;
 
   ESimManagerTest() {
     if (!ShillManagerClient::Get())
@@ -146,12 +140,13 @@
     base::RunLoop().RunUntilIdle();
   }
 
-  std::vector<mojom::EuiccPtr> GetAvailableEuiccs() {
-    std::vector<mojom::EuiccPtr> result;
+  std::vector<mojo::PendingRemote<mojom::Euicc>> GetAvailableEuiccs() {
+    std::vector<mojo::PendingRemote<mojom::Euicc>> result;
     base::RunLoop run_loop;
     esim_manager_->GetAvailableEuiccs(base::BindOnce(
-        [](std::vector<mojom::EuiccPtr>* result, base::OnceClosure quit_closure,
-           std::vector<mojom::EuiccPtr> available_euiccs) {
+        [](std::vector<mojo::PendingRemote<mojom::Euicc>>* result,
+           base::OnceClosure quit_closure,
+           std::vector<mojo::PendingRemote<mojom::Euicc>> available_euiccs) {
           for (auto& euicc : available_euiccs)
             result->push_back(std::move(euicc));
           std::move(quit_closure).Run();
@@ -161,102 +156,32 @@
     return result;
   }
 
-  std::vector<mojom::ESimProfilePtr> GetProfiles(const std::string& eid) {
-    std::vector<mojom::ESimProfilePtr> result;
+  mojom::EuiccPropertiesPtr GetEuiccProperties(
+      const mojo::Remote<mojom::Euicc>& euicc) {
+    mojom::EuiccPropertiesPtr result;
     base::RunLoop run_loop;
-    esim_manager_->GetProfiles(
-        eid,
-        base::BindOnce(&CopyESimProfileList, &result, run_loop.QuitClosure()));
+    euicc->GetProperties(base::BindOnce(
+        [](mojom::EuiccPropertiesPtr* out, base::OnceClosure quit_closure,
+           mojom::EuiccPropertiesPtr properties) {
+          *out = std::move(properties);
+          std::move(quit_closure).Run();
+        },
+        &result, run_loop.QuitClosure()));
     run_loop.Run();
     return result;
   }
 
-  mojom::ESimManager::ESimOperationResult RequestPendingProfiles(
-      const std::string& eid) {
-    mojom::ESimManager::ESimOperationResult result;
+  mojom::ESimProfilePropertiesPtr GetESimProfileProperties(
+      const mojo::Remote<mojom::ESimProfile>& esim_profile) {
+    mojom::ESimProfilePropertiesPtr result;
     base::RunLoop run_loop;
-    esim_manager_->RequestPendingProfiles(
-        eid, base::BindOnce(
-                 [](mojom::ESimManager::ESimOperationResult* result,
-                    base::OnceClosure quit_closure,
-                    mojom::ESimManager::ESimOperationResult status) {
-                   *result = status;
-                   std::move(quit_closure).Run();
-                 },
-                 &result, run_loop.QuitClosure()));
-    run_loop.Run();
-    return result;
-  }
-
-  InstallResultPair InstallProfileFromActivationCode(
-      const std::string& eid,
-      const std::string& activation_code,
-      const std::string& confirmation_code) {
-    base::RunLoop run_loop;
-    mojom::ESimManager::ProfileInstallResult result;
-    mojom::ESimProfilePtr esim_profile;
-    esim_manager_->InstallProfileFromActivationCode(
-        eid, activation_code, confirmation_code,
-        base::BindOnce(&CopyInstallResult, &result, &esim_profile,
-                       run_loop.QuitClosure()));
-    run_loop.Run();
-    return std::make_pair(result, std::move(esim_profile));
-  }
-
-  InstallResultPair InstallProfile(const std::string& iccid,
-                                   const std::string& confirmation_code) {
-    base::RunLoop run_loop;
-    mojom::ESimManager::ProfileInstallResult result;
-    mojom::ESimProfilePtr esim_profile;
-    esim_manager_->InstallProfile(
-        iccid, confirmation_code,
-        base::BindOnce(&CopyInstallResult, &result, &esim_profile,
-                       run_loop.QuitClosure()));
-    run_loop.Run();
-    return std::make_pair(result, std::move(esim_profile));
-  }
-
-  mojom::ESimManager::ESimOperationResult UninstallProfile(
-      const std::string& iccid) {
-    base::RunLoop run_loop;
-    mojom::ESimManager::ESimOperationResult result;
-    esim_manager_->UninstallProfile(
-        iccid,
-        base::BindOnce(&CopyOperationResult, &result, run_loop.QuitClosure()));
-    run_loop.Run();
-    return result;
-  }
-
-  mojom::ESimManager::ESimOperationResult EnableProfile(
-      const std::string& iccid) {
-    base::RunLoop run_loop;
-    mojom::ESimManager::ESimOperationResult result;
-    esim_manager_->EnableProfile(
-        iccid,
-        base::BindOnce(&CopyOperationResult, &result, run_loop.QuitClosure()));
-    run_loop.Run();
-    return result;
-  }
-
-  mojom::ESimManager::ESimOperationResult DisableProfile(
-      const std::string& iccid) {
-    base::RunLoop run_loop;
-    mojom::ESimManager::ESimOperationResult result;
-    esim_manager_->DisableProfile(
-        iccid,
-        base::BindOnce(&CopyOperationResult, &result, run_loop.QuitClosure()));
-    run_loop.Run();
-    return result;
-  }
-
-  mojom::ESimManager::ESimOperationResult SetProfileNickname(
-      const std::string& iccid,
-      const base::string16& nickname) {
-    base::RunLoop run_loop;
-    mojom::ESimManager::ESimOperationResult result;
-    esim_manager_->SetProfileNickname(
-        iccid, nickname,
-        base::BindOnce(&CopyOperationResult, &result, run_loop.QuitClosure()));
+    esim_profile->GetProperties(base::BindOnce(
+        [](mojom::ESimProfilePropertiesPtr* out, base::OnceClosure quit_closure,
+           mojom::ESimProfilePropertiesPtr properties) {
+          *out = std::move(properties);
+          std::move(quit_closure).Run();
+        },
+        &result, run_loop.QuitClosure()));
     run_loop.Run();
     return result;
   }
@@ -272,18 +197,21 @@
 
 TEST_F(ESimManagerTest, GetAvailableEuiccs) {
   ASSERT_EQ(0u, GetAvailableEuiccs().size());
-  // Verify that Euicc List change is notified to observer when a
-  // a new Euicc is setup.
   SetupEuicc();
-  EXPECT_EQ(1, observer()->available_euicc_list_change_count());
   // Verify that GetAvailableEuiccs call returns list of euiccs.
-  std::vector<mojom::EuiccPtr> available_euiccs = GetAvailableEuiccs();
+  std::vector<mojo::PendingRemote<mojom::Euicc>> available_euiccs =
+      GetAvailableEuiccs();
   ASSERT_EQ(1u, available_euiccs.size());
-  EXPECT_EQ(kTestEid, available_euiccs.front()->eid);
+  mojo::Remote<mojom::Euicc> euicc(std::move(available_euiccs.front()));
+  mojom::EuiccPropertiesPtr properties = GetEuiccProperties(euicc);
+  EXPECT_EQ(kTestEid, properties->eid);
 }
 
-TEST_F(ESimManagerTest, GetProfiles) {
+TEST_F(ESimManagerTest, ListChangeNotification) {
   SetupEuicc();
+  // Verify that available euicc list change is notified.
+  ASSERT_EQ(1, observer()->available_euicc_list_change_count());
+
   HermesEuiccClient::TestInterface* euicc_test =
       HermesEuiccClient::Get()->GetTestInterface();
   dbus::ObjectPath active_profile_path = euicc_test->AddFakeCarrierProfile(
@@ -291,244 +219,40 @@
   dbus::ObjectPath pending_profile_path = euicc_test->AddFakeCarrierProfile(
       dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kPending, "");
   base::RunLoop().RunUntilIdle();
-  HermesProfileClient::Properties* active_profile_properties =
-      HermesProfileClient::Get()->GetProperties(active_profile_path);
-  HermesProfileClient::Properties* pending_profile_properties =
-      HermesProfileClient::Get()->GetProperties(pending_profile_path);
   // Verify the profile list change is notified to observer.
   ASSERT_EQ(2u, observer()->profile_list_change_calls().size());
-  EXPECT_EQ(kTestEid, observer()->profile_list_change_calls().at(0));
-  EXPECT_EQ(kTestEid, observer()->profile_list_change_calls().at(1));
-  // Verify that the added profile is returned in installed list.
-  std::vector<mojom::ESimProfilePtr> profile_list = GetProfiles(kTestEid);
-  ASSERT_EQ(2u, profile_list.size());
-  EXPECT_EQ(active_profile_properties->iccid().value(),
-            profile_list.at(0)->iccid);
-  EXPECT_EQ(pending_profile_properties->iccid().value(),
-            profile_list.at(1)->iccid);
 }
 
-TEST_F(ESimManagerTest, RequestPendingProfiles) {
+TEST_F(ESimManagerTest, EuiccChangeNotification) {
   SetupEuicc();
-  HermesEuiccClient::TestInterface* euicc_test =
-      HermesEuiccClient::Get()->GetTestInterface();
-  // Verify that pending profile request errors are return properly.
-  euicc_test->QueueHermesErrorStatus(HermesResponseStatus::kErrorNoResponse);
-  mojom::ESimManager::ESimOperationResult result =
-      RequestPendingProfiles(kTestEid);
+  HermesEuiccClient::Properties* dbus_properties =
+      HermesEuiccClient::Get()->GetProperties(dbus::ObjectPath(kTestEuiccPath));
+  dbus_properties->is_active().ReplaceValue(false);
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kFailure, result);
-  EXPECT_EQ(0u, observer()->profile_list_change_calls().size());
-
-  // Verify that successful request notifies observers and returns correct
-  // status code.
-  result = RequestPendingProfiles(kTestEid);
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kSuccess, result);
-  EXPECT_EQ(kTestEid, observer()->profile_list_change_calls().front());
+  ASSERT_EQ(1u, observer()->euicc_change_calls().size());
+  mojo::Remote<mojom::Euicc> euicc(observer()->PopLastChangedEuicc());
+  mojom::EuiccPropertiesPtr mojo_properties = GetEuiccProperties(euicc);
+  EXPECT_EQ(kTestEid, mojo_properties->eid);
 }
 
-TEST_F(ESimManagerTest, InstallProfileFromActivationCode) {
-  SetupEuicc();
-  HermesEuiccClient::TestInterface* euicc_test =
-      HermesEuiccClient::Get()->GetTestInterface();
-  // Verify that install errors return error code properly.
-  euicc_test->QueueHermesErrorStatus(
-      HermesResponseStatus::kErrorInvalidActivationCode);
-  InstallResultPair result_pair =
-      InstallProfileFromActivationCode(kTestEid, "", "");
-  EXPECT_EQ(
-      mojom::ESimManager::ProfileInstallResult::kErrorInvalidActivationCode,
-      result_pair.first);
-  EXPECT_EQ(nullptr, result_pair.second.get());
-
-  // Verify that installing a profile returns proper status code
-  // and profile object.
-  dbus::ObjectPath profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kPending, "");
-  base::RunLoop().RunUntilIdle();
-  HermesProfileClient::Properties* properties =
-      HermesProfileClient::Get()->GetProperties(profile_path);
-  result_pair = InstallProfileFromActivationCode(
-      kTestEid, properties->activation_code().value(), "");
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ProfileInstallResult::kSuccess,
-            result_pair.first);
-  ASSERT_NE(nullptr, result_pair.second.get());
-  EXPECT_EQ(properties->iccid().value(), result_pair.second->iccid);
-  EXPECT_EQ(3u, observer()->profile_list_change_calls().size());
-}
-
-TEST_F(ESimManagerTest, InstallProfile) {
+TEST_F(ESimManagerTest, ESimProfileChangeNotification) {
   SetupEuicc();
   HermesEuiccClient::TestInterface* euicc_test =
       HermesEuiccClient::Get()->GetTestInterface();
   dbus::ObjectPath profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kPending, "");
+      dbus::ObjectPath(kTestEuiccPath), hermes::profile::kActive, "");
   base::RunLoop().RunUntilIdle();
-  HermesProfileClient::Properties* properties =
-      HermesProfileClient::Get()->GetProperties(profile_path);
 
-  // Verify that install errors return error code properly.
-  euicc_test->QueueHermesErrorStatus(
-      HermesResponseStatus::kErrorNeedConfirmationCode);
-  InstallResultPair result_pair =
-      InstallProfile(properties->iccid().value(), "");
-  EXPECT_EQ(
-      mojom::ESimManager::ProfileInstallResult::kErrorNeedsConfirmationCode,
-      result_pair.first);
-  EXPECT_EQ(nullptr, result_pair.second.get());
-
-  // Verify that installing pending profile returns proper results.
-  result_pair = InstallProfile(properties->iccid().value(), "");
+  HermesProfileClient::Properties* dbus_properties =
+      HermesProfileClient::Get()->GetProperties(dbus::ObjectPath(profile_path));
+  dbus_properties->state().ReplaceValue(hermes::profile::kInactive);
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ProfileInstallResult::kSuccess,
-            result_pair.first);
-  ASSERT_NE(nullptr, result_pair.second.get());
-  ASSERT_EQ(properties->iccid().value(), result_pair.second->iccid);
-  EXPECT_EQ(3u, observer()->profile_list_change_calls().size());
-}
-
-TEST_F(ESimManagerTest, UninstallProfile) {
-  SetupEuicc();
-  HermesEuiccClient::TestInterface* euicc_test =
-      HermesEuiccClient::Get()->GetTestInterface();
-  dbus::ObjectPath active_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kActive, "");
-  dbus::ObjectPath pending_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kPending, "");
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(2u, observer()->profile_list_change_calls().size());
-  observer()->Reset();
-  HermesProfileClient::Properties* pending_profile_properties =
-      HermesProfileClient::Get()->GetProperties(pending_profile_path);
-  HermesProfileClient::Properties* active_profile_properties =
-      HermesProfileClient::Get()->GetProperties(active_profile_path);
-
-  // Verify that uninstall error codes are returned properly.
-  euicc_test->QueueHermesErrorStatus(
-      HermesResponseStatus::kErrorInvalidResponse);
-  mojom::ESimManager::ESimOperationResult result =
-      UninstallProfile(active_profile_properties->iccid().value());
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kFailure, result);
-  EXPECT_EQ(0u, observer()->profile_list_change_calls().size());
-
-  // Verify that pending profiles cannot be uninstalled
-  observer()->Reset();
-  result = UninstallProfile(pending_profile_properties->iccid().value());
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kFailure, result);
-  EXPECT_EQ(0u, observer()->profile_list_change_calls().size());
-
-  // Verify that uninstall removes the profile and notifies observers properly.
-  observer()->Reset();
-  result = UninstallProfile(active_profile_properties->iccid().value());
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kSuccess, result);
-  ASSERT_EQ(1u, observer()->profile_list_change_calls().size());
-  EXPECT_EQ(kTestEid, observer()->profile_list_change_calls().front());
-}
-
-TEST_F(ESimManagerTest, EnableProfile) {
-  SetupEuicc();
-  HermesEuiccClient::TestInterface* euicc_test =
-      HermesEuiccClient::Get()->GetTestInterface();
-  dbus::ObjectPath inactive_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kInactive, "");
-  dbus::ObjectPath pending_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kPending, "");
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(2u, observer()->profile_list_change_calls().size());
-  observer()->Reset();
-  HermesProfileClient::Properties* pending_profile_properties =
-      HermesProfileClient::Get()->GetProperties(pending_profile_path);
-  HermesProfileClient::Properties* inactive_profile_properties =
-      HermesProfileClient::Get()->GetProperties(inactive_profile_path);
-
-  // Verify that pending profiles cannot be enabled.
-  mojom::ESimManager::ESimOperationResult result =
-      EnableProfile(pending_profile_properties->iccid().value());
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kFailure, result);
-  EXPECT_EQ(0u, observer()->profile_change_calls().size());
-
-  // Verify that enabling profile returns result properly.
-  result = EnableProfile(inactive_profile_properties->iccid().value());
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kSuccess, result);
-  EXPECT_EQ(inactive_profile_properties->iccid().value(),
-            observer()->profile_change_calls().front()->iccid);
-  EXPECT_EQ(mojom::ProfileState::kActive,
-            observer()->profile_change_calls().front()->state);
-}
-
-TEST_F(ESimManagerTest, DisableProfile) {
-  SetupEuicc();
-  HermesEuiccClient::TestInterface* euicc_test =
-      HermesEuiccClient::Get()->GetTestInterface();
-  dbus::ObjectPath active_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kActive, "");
-  dbus::ObjectPath pending_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kPending, "");
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(2u, observer()->profile_list_change_calls().size());
-  observer()->Reset();
-  HermesProfileClient::Properties* pending_profile_properties =
-      HermesProfileClient::Get()->GetProperties(pending_profile_path);
-  HermesProfileClient::Properties* active_profile_properties =
-      HermesProfileClient::Get()->GetProperties(active_profile_path);
-
-  // Verify that pending profiles cannot be disabled.
-  mojom::ESimManager::ESimOperationResult result =
-      DisableProfile(pending_profile_properties->iccid().value());
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kFailure, result);
-  EXPECT_EQ(0u, observer()->profile_change_calls().size());
-
-  // Verify that disabling profile returns result properly.
-  result = DisableProfile(active_profile_properties->iccid().value());
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kSuccess, result);
-  EXPECT_EQ(active_profile_properties->iccid().value(),
-            observer()->profile_change_calls().front()->iccid);
-  EXPECT_EQ(mojom::ProfileState::kInactive,
-            observer()->profile_change_calls().front()->state);
-}
-
-TEST_F(ESimManagerTest, SetProfileNickName) {
-  const base::string16 test_nickname = base::UTF8ToUTF16("Test nickname");
-  SetupEuicc();
-  HermesEuiccClient::TestInterface* euicc_test =
-      HermesEuiccClient::Get()->GetTestInterface();
-  dbus::ObjectPath active_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kActive, "");
-  dbus::ObjectPath pending_profile_path = euicc_test->AddFakeCarrierProfile(
-      dbus::ObjectPath(kTestEuiccPath), hermes::profile::State::kPending, "");
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(2u, observer()->profile_list_change_calls().size());
-  observer()->Reset();
-  HermesProfileClient::Properties* pending_profile_properties =
-      HermesProfileClient::Get()->GetProperties(pending_profile_path);
-  HermesProfileClient::Properties* active_profile_properties =
-      HermesProfileClient::Get()->GetProperties(active_profile_path);
-
-  // Verify that pending profiles cannot be modified.
-  mojom::ESimManager::ESimOperationResult result = SetProfileNickname(
-      pending_profile_properties->iccid().value(), test_nickname);
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kFailure, result);
-  EXPECT_EQ(0u, observer()->profile_change_calls().size());
-
-  // Verify that nickname can be set on active profiles.
-  result = SetProfileNickname(active_profile_properties->iccid().value(),
-                              test_nickname);
-  base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(mojom::ESimManager::ESimOperationResult::kSuccess, result);
-  EXPECT_EQ(active_profile_properties->iccid().value(),
-            observer()->profile_change_calls().front()->iccid);
-  EXPECT_EQ(test_nickname,
-            observer()->profile_change_calls().front()->nickname);
+  ASSERT_EQ(1u, observer()->profile_change_calls().size());
+  mojo::Remote<mojom::ESimProfile> esim_profile(
+      observer()->PopLastChangedESimProfile());
+  mojom::ESimProfilePropertiesPtr mojo_properties =
+      GetESimProfileProperties(esim_profile);
+  EXPECT_EQ(dbus_properties->iccid().value(), mojo_properties->iccid);
 }
 
 }  // namespace cellular_setup
diff --git a/chromeos/services/cellular_setup/esim_mojo_utils.cc b/chromeos/services/cellular_setup/esim_mojo_utils.cc
new file mode 100644
index 0000000..2f20a7d
--- /dev/null
+++ b/chromeos/services/cellular_setup/esim_mojo_utils.cc
@@ -0,0 +1,53 @@
+// 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.
+
+#include "chromeos/services/cellular_setup/esim_mojo_utils.h"
+
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom.h"
+
+namespace chromeos {
+namespace cellular_setup {
+
+mojom::ProfileInstallResult InstallResultFromStatus(
+    HermesResponseStatus status) {
+  switch (status) {
+    case HermesResponseStatus::kSuccess:
+      return mojom::ProfileInstallResult::kSuccess;
+    case HermesResponseStatus::kErrorNeedConfirmationCode:
+      return mojom::ProfileInstallResult::kErrorNeedsConfirmationCode;
+    case HermesResponseStatus::kErrorInvalidActivationCode:
+      return mojom::ProfileInstallResult::kErrorInvalidActivationCode;
+    default:
+      // Treat all other status codes as installation failure.
+      return mojom::ProfileInstallResult::kFailure;
+  }
+}
+
+mojom::ProfileState ProfileStateToMojo(hermes::profile::State state) {
+  switch (state) {
+    case hermes::profile::State::kActive:
+      return mojom::ProfileState::kActive;
+    case hermes::profile::State::kInactive:
+      return mojom::ProfileState::kInactive;
+    case hermes::profile::State::kPending:
+      return mojom::ProfileState::kPending;
+  }
+  NOTREACHED() << "Cannot convert invalid hermes profile state "
+               << static_cast<int>(state);
+  return mojom::ProfileState::kPending;
+}
+
+mojom::ESimOperationResult OperationResultFromStatus(
+    HermesResponseStatus status) {
+  switch (status) {
+    case HermesResponseStatus::kSuccess:
+      return mojom::ESimOperationResult::kSuccess;
+    default:
+      // Treat all other status codes as operation failure.
+      return mojom::ESimOperationResult::kFailure;
+  }
+}
+
+}  // namespace cellular_setup
+}  // namespace chromeos
\ No newline at end of file
diff --git a/chromeos/services/cellular_setup/esim_mojo_utils.h b/chromeos/services/cellular_setup/esim_mojo_utils.h
new file mode 100644
index 0000000..31fa59a8
--- /dev/null
+++ b/chromeos/services/cellular_setup/esim_mojo_utils.h
@@ -0,0 +1,31 @@
+// 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.
+
+#ifndef CHROMEOS_SERVICES_CELLULAR_SETUP_ESIM_MOJO_UTILS_H_
+#define CHROMEOS_SERVICES_CELLULAR_SETUP_ESIM_MOJO_UTILS_H_
+
+#include "chromeos/dbus/hermes/hermes_response_status.h"
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom-forward.h"
+#include "third_party/cros_system_api/dbus/hermes/dbus-constants.h"
+
+namespace chromeos {
+namespace cellular_setup {
+
+// Returns the mojo ProfileInstallResult status corresponding to
+// HermesResponseStatus from D-Bus clients.
+mojom::ProfileInstallResult InstallResultFromStatus(
+    HermesResponseStatus status);
+
+// Returns mojo ProfileState corresponding to state from D-Bus clients.
+mojom::ProfileState ProfileStateToMojo(hermes::profile::State state);
+
+// Returns mojo ESimOperationResult corresponding to response status
+// from D-Bus clients.
+mojom::ESimOperationResult OperationResultFromStatus(
+    HermesResponseStatus status);
+
+}  // namespace cellular_setup
+}  // namespace chromeos
+
+#endif  // CHROMEOS_SERVICES_CELLULAR_SETUP_ESIM_MOJO_UTILS_H_
\ No newline at end of file
diff --git a/chromeos/services/cellular_setup/esim_profile.cc b/chromeos/services/cellular_setup/esim_profile.cc
new file mode 100644
index 0000000..353959ca
--- /dev/null
+++ b/chromeos/services/cellular_setup/esim_profile.cc
@@ -0,0 +1,163 @@
+// 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.
+
+#include "chromeos/services/cellular_setup/esim_profile.h"
+
+#include "base/strings/utf_string_conversions.h"
+#include "chromeos/dbus/hermes/hermes_euicc_client.h"
+#include "chromeos/services/cellular_setup/esim_manager.h"
+#include "chromeos/services/cellular_setup/esim_mojo_utils.h"
+#include "chromeos/services/cellular_setup/euicc.h"
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom-shared.h"
+#include "components/device_event_log/device_event_log.h"
+#include "dbus/object_path.h"
+
+namespace chromeos {
+namespace cellular_setup {
+
+ESimProfile::ESimProfile(const dbus::ObjectPath& path,
+                         Euicc* euicc,
+                         ESimManager* esim_manager)
+    : euicc_(euicc),
+      esim_manager_(esim_manager),
+      properties_(mojom::ESimProfileProperties::New()),
+      path_(path) {
+  UpdateProperties();
+  properties_->eid = euicc->properties()->eid;
+}
+
+ESimProfile::~ESimProfile() = default;
+
+void ESimProfile::GetProperties(GetPropertiesCallback callback) {
+  std::move(callback).Run(properties_->Clone());
+}
+
+void ESimProfile::InstallProfile(const std::string& confirmation_code,
+                                 InstallProfileCallback callback) {
+  if (properties_->state == mojom::ProfileState::kInstalling ||
+      properties_->state != mojom::ProfileState::kPending) {
+    NET_LOG(ERROR) << "Profile is already installed or in installing state.";
+    std::move(callback).Run(mojom::ProfileInstallResult::kFailure);
+    return;
+  }
+
+  properties_->state = mojom::ProfileState::kInstalling;
+  esim_manager_->NotifyESimProfileChanged(this);
+
+  HermesEuiccClient::Get()->InstallPendingProfile(
+      euicc_->path(), path_, confirmation_code,
+      base::BindOnce(&ESimProfile::OnPendingProfileInstallResult,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void ESimProfile::UninstallProfile(UninstallProfileCallback callback) {
+  if (properties_->state == mojom::ProfileState::kInstalling ||
+      properties_->state == mojom::ProfileState::kPending) {
+    NET_LOG(ERROR) << "Profile uninstall failed: Profile is not installed.";
+    std::move(callback).Run(mojom::ESimOperationResult::kFailure);
+    return;
+  }
+
+  HermesEuiccClient::Get()->UninstallProfile(
+      euicc_->path(), path_,
+      base::BindOnce(&ESimProfile::OnESimOperationResult,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void ESimProfile::EnableProfile(EnableProfileCallback callback) {
+  if (properties_->state == mojom::ProfileState::kActive) {
+    NET_LOG(ERROR) << "Profile enable failed: Profile already enabled";
+    std::move(callback).Run(mojom::ESimOperationResult::kFailure);
+    return;
+  }
+
+  HermesProfileClient::Get()->EnableCarrierProfile(
+      path_,
+      base::BindOnce(&ESimProfile::OnESimOperationResult,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void ESimProfile::DisableProfile(DisableProfileCallback callback) {
+  if (properties_->state == mojom::ProfileState::kInactive) {
+    NET_LOG(ERROR) << "Profile enable failed: Profile already disabled";
+    std::move(callback).Run(mojom::ESimOperationResult::kFailure);
+    return;
+  }
+
+  HermesProfileClient::Get()->DisableCarrierProfile(
+      path_,
+      base::BindOnce(&ESimProfile::OnESimOperationResult,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void ESimProfile::SetProfileNickname(const base::string16& nickname,
+                                     SetProfileNicknameCallback callback) {
+  if (properties_->state == mojom::ProfileState::kInstalling ||
+      properties_->state == mojom::ProfileState::kPending) {
+    NET_LOG(ERROR) << "Set Profile Nickname failed: Profile is not installed.";
+    std::move(callback).Run(mojom::ESimOperationResult::kFailure);
+    return;
+  }
+
+  HermesProfileClient::Properties* properties =
+      HermesProfileClient::Get()->GetProperties(path_);
+  properties->nick_name().Set(
+      base::UTF16ToUTF8(nickname),
+      base::BindOnce(&ESimProfile::OnProfilePropertySet,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void ESimProfile::UpdateProperties() {
+  HermesProfileClient::Properties* properties =
+      HermesProfileClient::Get()->GetProperties(path_);
+  properties_->iccid = properties->iccid().value();
+  properties_->name = base::UTF8ToUTF16(properties->name().value());
+  properties_->nickname = base::UTF8ToUTF16(properties->nick_name().value());
+  properties_->service_provider =
+      base::UTF8ToUTF16(properties->service_provider().value());
+  properties_->state = ProfileStateToMojo(properties->state().value());
+  properties_->activation_code = properties->activation_code().value();
+}
+
+mojo::PendingRemote<mojom::ESimProfile> ESimProfile::CreateRemote() {
+  mojo::PendingRemote<mojom::ESimProfile> esim_profile_remote;
+  receiver_set_.Add(this, esim_profile_remote.InitWithNewPipeAndPassReceiver());
+  return esim_profile_remote;
+}
+
+void ESimProfile::OnPendingProfileInstallResult(
+    ProfileInstallResultCallback callback,
+    HermesResponseStatus status) {
+  if (status != HermesResponseStatus::kSuccess) {
+    NET_LOG(ERROR) << "Error Installing pending profile status="
+                   << static_cast<int>(status);
+    properties_->state = mojom::ProfileState::kPending;
+    esim_manager_->NotifyESimProfileChanged(this);
+    std::move(callback).Run(InstallResultFromStatus(status));
+    return;
+  }
+
+  std::move(callback).Run(mojom::ProfileInstallResult::kSuccess);
+}
+
+void ESimProfile::OnESimOperationResult(ESimOperationResultCallback callback,
+                                        HermesResponseStatus status) {
+  if (status != HermesResponseStatus::kSuccess) {
+    NET_LOG(ERROR) << "ESim operation error status="
+                   << static_cast<int>(status);
+  }
+  std::move(callback).Run(OperationResultFromStatus(status));
+}
+
+void ESimProfile::OnProfilePropertySet(ESimOperationResultCallback callback,
+                                       bool success) {
+  if (!success) {
+    NET_LOG(ERROR) << "ESimProfile property set error.";
+  }
+  std::move(callback).Run(success ? mojom::ESimOperationResult::kSuccess
+                                  : mojom::ESimOperationResult::kFailure);
+}
+
+}  // namespace cellular_setup
+}  // namespace chromeos
diff --git a/chromeos/services/cellular_setup/esim_profile.h b/chromeos/services/cellular_setup/esim_profile.h
new file mode 100644
index 0000000..e8e7d3ba
--- /dev/null
+++ b/chromeos/services/cellular_setup/esim_profile.h
@@ -0,0 +1,86 @@
+// 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.
+
+#ifndef CHROMEOS_SERVICES_CELLULAR_SETUP_ESIM_PROFILE_H_
+#define CHROMEOS_SERVICES_CELLULAR_SETUP_ESIM_PROFILE_H_
+
+#include "base/memory/weak_ptr.h"
+#include "chromeos/dbus/hermes/hermes_profile_client.h"
+#include "chromeos/dbus/hermes/hermes_response_status.h"
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+
+namespace dbus {
+class ObjectPath;
+}  // namespace dbus
+
+namespace chromeos {
+namespace cellular_setup {
+
+class Euicc;
+class ESimManager;
+
+// Implementation of mojom::ESimProfile. This class represents an
+// eSIM profile installed on an EUICC.
+class ESimProfile : public mojom::ESimProfile {
+ public:
+  ESimProfile(const dbus::ObjectPath& path,
+              Euicc* euicc,
+              ESimManager* esim_manager);
+  ESimProfile(const ESimProfile&) = delete;
+  ESimProfile& operator=(const ESimProfile&) = delete;
+  ~ESimProfile() override;
+
+  // mojom::ESimProfile:
+  void GetProperties(GetPropertiesCallback callback) override;
+  void InstallProfile(const std::string& confirmation_code,
+                      InstallProfileCallback callback) override;
+  void UninstallProfile(UninstallProfileCallback callback) override;
+  void EnableProfile(EnableProfileCallback callback) override;
+  void DisableProfile(DisableProfileCallback callback) override;
+  void SetProfileNickname(const base::string16& nickname,
+                          SetProfileNicknameCallback callback) override;
+
+  // Update properties for this ESimProfile from D-Bus.
+  void UpdateProperties();
+
+  // Returns a new pending remote attached to this instance.
+  mojo::PendingRemote<mojom::ESimProfile> CreateRemote();
+
+  const dbus::ObjectPath& path() { return path_; }
+  const mojom::ESimProfilePropertiesPtr& properties() { return properties_; }
+
+ private:
+  // Type of callback for profile installation methods.
+  using ProfileInstallResultCallback =
+      base::OnceCallback<void(mojom::ProfileInstallResult)>;
+
+  // Type of callback for other esim manager methods.
+  using ESimOperationResultCallback =
+      base::OnceCallback<void(mojom::ESimOperationResult)>;
+
+  void OnPendingProfileInstallResult(ProfileInstallResultCallback callback,
+                                     HermesResponseStatus status);
+  void OnProfileInstallResult(ProfileInstallResultCallback callback,
+                              const std::string& eid,
+                              HermesResponseStatus status,
+                              const dbus::ObjectPath* object_path);
+  void OnESimOperationResult(ESimOperationResultCallback callback,
+                             HermesResponseStatus status);
+  void OnProfilePropertySet(ESimOperationResultCallback callback, bool success);
+
+  // Reference to Euicc that owns this profile.
+  Euicc* euicc_;
+  // Reference to ESimManager that owns Euicc of this profile.
+  ESimManager* esim_manager_;
+  mojo::ReceiverSet<mojom::ESimProfile> receiver_set_;
+  mojom::ESimProfilePropertiesPtr properties_;
+  dbus::ObjectPath path_;
+  base::WeakPtrFactory<ESimProfile> weak_ptr_factory_{this};
+};
+
+}  // namespace cellular_setup
+}  // namespace chromeos
+
+#endif  // CHROMEOS_SERVICES_CELLULAR_SETUP_ESIM_MANAGER_H_
\ No newline at end of file
diff --git a/chromeos/services/cellular_setup/euicc.cc b/chromeos/services/cellular_setup/euicc.cc
new file mode 100644
index 0000000..f0cb077
--- /dev/null
+++ b/chromeos/services/cellular_setup/euicc.cc
@@ -0,0 +1,188 @@
+// 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.
+
+#include "chromeos/services/cellular_setup/euicc.h"
+
+#include <memory>
+
+#include "chromeos/services/cellular_setup/esim_mojo_utils.h"
+#include "chromeos/services/cellular_setup/esim_profile.h"
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom-shared.h"
+#include "components/device_event_log/device_event_log.h"
+#include "dbus/object_path.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+
+namespace chromeos {
+namespace cellular_setup {
+
+Euicc::Euicc(const dbus::ObjectPath& path, ESimManager* esim_manager)
+    : esim_manager_(esim_manager),
+      properties_(mojom::EuiccProperties::New()),
+      path_(path) {
+  UpdateProperties();
+}
+
+Euicc::~Euicc() = default;
+
+void Euicc::GetProperties(GetPropertiesCallback callback) {
+  std::move(callback).Run(properties_->Clone());
+}
+
+void Euicc::GetProfileList(GetProfileListCallback callback) {
+  std::vector<mojo::PendingRemote<mojom::ESimProfile>> remote_list;
+  for (auto& esim_profile : esim_profiles_) {
+    remote_list.push_back(esim_profile->CreateRemote());
+  }
+  std::move(callback).Run(std::move(remote_list));
+}
+
+void Euicc::InstallProfileFromActivationCode(
+    const std::string& activation_code,
+    const std::string& confirmation_code,
+    InstallProfileFromActivationCodeCallback callback) {
+  ESimProfile* profile_info =
+      GetPendingProfileInfoFromActivationCode(activation_code);
+  if (!profile_info) {
+    // Return early if profile was found but not in the correct state.
+    std::move(callback).Run(mojom::ProfileInstallResult::kFailure,
+                            mojo::NullRemote());
+    return;
+  }
+
+  if (profile_info) {
+    profile_info->InstallProfile(
+        confirmation_code,
+        base::BindOnce(
+            [](InstallProfileFromActivationCodeCallback callback,
+               ESimProfile* esim_profile,
+               mojom::ProfileInstallResult status) -> void {
+              std::move(callback).Run(status, esim_profile->CreateRemote());
+            },
+            std::move(callback), profile_info));
+    return;
+  }
+
+  // Try installing directly with activation code.
+  HermesEuiccClient::Get()->InstallProfileFromActivationCode(
+      path_, activation_code, confirmation_code,
+      base::BindOnce(&Euicc::OnProfileInstallResult,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void Euicc::RequestPendingProfiles(RequestPendingProfilesCallback callback) {
+  NET_LOG(EVENT) << "Requesting Pending profiles";
+  HermesEuiccClient::Get()->RequestPendingEvents(
+      path_,
+      base::BindOnce(&Euicc::OnRequestPendingEventsResult,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void Euicc::UpdateProfileList() {
+  HermesEuiccClient::Properties* euicc_properties =
+      HermesEuiccClient::Get()->GetProperties(path_);
+  std::set<dbus::ObjectPath> new_profile_paths;
+  for (auto& path : euicc_properties->installed_carrier_profiles().value()) {
+    GetOrCreateESimProfile(path);
+    new_profile_paths.insert(path);
+  }
+  for (auto& path : euicc_properties->pending_carrier_profiles().value()) {
+    GetOrCreateESimProfile(path);
+    new_profile_paths.insert(path);
+  }
+  RemoveUntrackedProfiles(new_profile_paths);
+}
+
+void Euicc::UpdateProperties() {
+  HermesEuiccClient::Properties* properties =
+      HermesEuiccClient::Get()->GetProperties(path_);
+  properties_->eid = properties->eid().value();
+  properties_->is_active = properties->is_active().value();
+}
+
+mojo::PendingRemote<mojom::Euicc> Euicc::CreateRemote() {
+  mojo::PendingRemote<mojom::Euicc> euicc_remote;
+  receiver_set_.Add(this, euicc_remote.InitWithNewPipeAndPassReceiver());
+  return euicc_remote;
+}
+
+ESimProfile* Euicc::GetProfileFromPath(const dbus::ObjectPath& path) {
+  for (auto& esim_profile : esim_profiles_) {
+    if (esim_profile->path() == path) {
+      return esim_profile.get();
+    }
+  }
+  return nullptr;
+}
+
+void Euicc::OnProfileInstallResult(
+    InstallProfileFromActivationCodeCallback callback,
+    HermesResponseStatus status,
+    const dbus::ObjectPath* object_path) {
+  if (status != HermesResponseStatus::kSuccess) {
+    NET_LOG(ERROR) << "Error Installing profile status="
+                   << static_cast<int>(status);
+    std::move(callback).Run(InstallResultFromStatus(status),
+                            mojo::NullRemote());
+    return;
+  }
+
+  ESimProfile* profile_info = GetOrCreateESimProfile(*object_path);
+  std::move(callback).Run(mojom::ProfileInstallResult::kSuccess,
+                          profile_info->CreateRemote());
+}
+
+void Euicc::OnRequestPendingEventsResult(
+    RequestPendingProfilesCallback callback,
+    HermesResponseStatus status) {
+  if (status != HermesResponseStatus::kSuccess) {
+    NET_LOG(ERROR) << "Request Pending events failed status="
+                   << static_cast<int>(status);
+  }
+  std::move(callback).Run(status == HermesResponseStatus::kSuccess
+                              ? mojom::ESimOperationResult::kSuccess
+                              : mojom::ESimOperationResult::kFailure);
+}
+
+ESimProfile* Euicc::GetPendingProfileInfoFromActivationCode(
+    const std::string& activation_code) {
+  const auto iter = base::ranges::find_if(
+      esim_profiles_, [activation_code](const auto& esim_profile) -> bool {
+        return esim_profile->properties()->activation_code == activation_code;
+      });
+  if (iter == esim_profiles_.end()) {
+    NET_LOG(EVENT) << "Get pending profile with activation failed: No profile "
+                      "with activation_code.";
+    return nullptr;
+  }
+  if ((*iter)->properties()->state != mojom::ProfileState::kPending) {
+    NET_LOG(ERROR) << "Get pending profile with activation code failed: Profile"
+                      "is not in pending state.";
+    return nullptr;
+  }
+  return iter->get();
+}
+
+ESimProfile* Euicc::GetOrCreateESimProfile(
+    const dbus::ObjectPath& carrier_profile_path) {
+  ESimProfile* profile_info = GetProfileFromPath(carrier_profile_path);
+  if (profile_info)
+    return profile_info;
+  esim_profiles_.push_back(
+      std::make_unique<ESimProfile>(carrier_profile_path, this, esim_manager_));
+  return esim_profiles_.back().get();
+}
+
+void Euicc::RemoveUntrackedProfiles(
+    const std::set<dbus::ObjectPath>& new_profile_paths) {
+  for (auto it = esim_profiles_.begin(); it != esim_profiles_.end();) {
+    if (new_profile_paths.find((*it)->path()) == new_profile_paths.end()) {
+      it = esim_profiles_.erase(it);
+    } else {
+      it++;
+    }
+  }
+}
+
+}  // namespace cellular_setup
+}  // namespace chromeos
\ No newline at end of file
diff --git a/chromeos/services/cellular_setup/euicc.h b/chromeos/services/cellular_setup/euicc.h
new file mode 100644
index 0000000..2fac8f8
--- /dev/null
+++ b/chromeos/services/cellular_setup/euicc.h
@@ -0,0 +1,86 @@
+// 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.
+
+#ifndef CHROMEOS_SERVICES_CELLULAR_SETUP_EUICC_H_
+#define CHROMEOS_SERVICES_CELLULAR_SETUP_EUICC_H_
+
+#include "chromeos/dbus/hermes/hermes_euicc_client.h"
+#include "chromeos/dbus/hermes/hermes_profile_client.h"
+#include "chromeos/services/cellular_setup/public/mojom/esim_manager.mojom.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+
+namespace dbus {
+class ObjectPath;
+}  // namespace dbus
+
+namespace chromeos {
+namespace cellular_setup {
+
+class ESimProfile;
+class ESimManager;
+
+// Implementation of mojom::Euicc. This class represents an EUICC hardware
+// available on the device. Euicc holds multiple ESimProfile instances.
+class Euicc : public mojom::Euicc {
+ public:
+  Euicc(const dbus::ObjectPath& path, ESimManager* esim_manager);
+  Euicc(const Euicc&) = delete;
+  Euicc& operator=(const Euicc&) = delete;
+  ~Euicc() override;
+
+  // mojom::Euicc:
+  void GetProperties(GetPropertiesCallback callback) override;
+  void GetProfileList(GetProfileListCallback callback) override;
+  void InstallProfileFromActivationCode(
+      const std::string& activation_code,
+      const std::string& confirmation_code,
+      InstallProfileFromActivationCodeCallback callback) override;
+  void RequestPendingProfiles(RequestPendingProfilesCallback callback) override;
+
+  // Updates list of eSIM profiles for this euicc from D-Bus.
+  void UpdateProfileList();
+
+  // Updates properties for this Euicc from D-Bus.
+  void UpdateProperties();
+
+  // Returns a new pending remote attached to this instance.
+  mojo::PendingRemote<mojom::Euicc> CreateRemote();
+
+  // Returns ESimProfile instance under this Euicc with given path.
+  ESimProfile* GetProfileFromPath(const dbus::ObjectPath& path);
+
+  const dbus::ObjectPath& path() { return path_; }
+  const mojom::EuiccPropertiesPtr& properties() { return properties_; }
+
+ private:
+  // Type of callback for profile installation methods.
+  using ProfileInstallResultCallback =
+      base::OnceCallback<void(mojom::ProfileInstallResult)>;
+
+  void OnProfileInstallResult(InstallProfileFromActivationCodeCallback callback,
+                              HermesResponseStatus status,
+                              const dbus::ObjectPath* object_path);
+  void OnRequestPendingEventsResult(RequestPendingProfilesCallback callback,
+                                    HermesResponseStatus status);
+  ESimProfile* GetPendingProfileInfoFromActivationCode(
+      const std::string& activation_code);
+  ESimProfile* GetOrCreateESimProfile(
+      const dbus::ObjectPath& carrier_profile_path);
+  void RemoveUntrackedProfiles(
+      const std::set<dbus::ObjectPath>& new_profile_paths);
+
+  // Reference to ESimManager that owns this Euicc.
+  ESimManager* esim_manager_;
+  mojo::ReceiverSet<mojom::Euicc> receiver_set_;
+  mojom::EuiccPropertiesPtr properties_;
+  dbus::ObjectPath path_;
+  std::vector<std::unique_ptr<ESimProfile>> esim_profiles_;
+
+  base::WeakPtrFactory<Euicc> weak_ptr_factory_{this};
+};
+
+}  // namespace cellular_setup
+}  // namespace chromeos
+
+#endif  // CHROMEOS_SERVICES_CELLULAR_SETUP_EUICC_H_
\ No newline at end of file
diff --git a/chromeos/services/cellular_setup/public/mojom/esim_manager.mojom b/chromeos/services/cellular_setup/public/mojom/esim_manager.mojom
index cd1f69a..c26ba29 100644
--- a/chromeos/services/cellular_setup/public/mojom/esim_manager.mojom
+++ b/chromeos/services/cellular_setup/public/mojom/esim_manager.mojom
@@ -14,18 +14,31 @@
   kActive,      // Profile is installed and active.
 };
 
-// Represents an EUICC (Embedded Universal Integrated Circuit Card) hardware
-// available on the device. Each Euicc may have multiple ESimProfiles
-// installed on it.
-struct Euicc {
+// Result codes for ESimProfile installation.
+enum ProfileInstallResult {
+  kSuccess,                     // Installation succeeded.
+  kFailure,                     // Installation failed.
+  kErrorNeedsConfirmationCode,  // Installation requires a valid
+                                // confirmation code.
+  kErrorInvalidActivationCode,  // Given activation code is invalid.
+};
+
+// Result code for operations on Euicc and ESimProfile.
+enum ESimOperationResult {
+    kSuccess,                     // Operation succeeded.
+    kFailure                      // Operation failed.
+};
+
+// Properties for an Euicc object.
+struct EuiccProperties {
   // A 32 digit unique id for the Euicc.
   string eid;
   // Boolean indicating whether the Euicc is active or not.
   bool is_active;
 };
 
-// Represents an eSIM profile.
-struct ESimProfile {
+// Properties of an eSIM profile object.
+struct ESimProfileProperties {
   // EID of the Euicc in which this profile is installed or available for
   // installation.
   string eid;
@@ -49,85 +62,82 @@
   // Called when a new Euicc is added or removed from the system.
   OnAvailableEuiccListChanged();
 
-  // Called when a new eSIM profile is added or removed to the
-  // Euicc with the given |eid|.
-  OnProfileListChanged(string eid);
+  // Called when a new eSIM profile is added to or removed from
+  // the |euicc|.
+  OnProfileListChanged(pending_remote<Euicc> euicc);
 
   // Called when an Euicc object's active state changes.
-  OnEuiccChanged(Euicc euicc);
+  OnEuiccChanged(pending_remote<Euicc> euicc);
 
   // Called when an eSIM profile’s state or nickname changes.
-  OnProfileChanged(ESimProfile profile);
+  OnProfileChanged(pending_remote<ESimProfile> profile);
 };
 
-// ESimManager interface provides eSIM profile management methods. An instance
+// ESimManager interface provides eSIM management methods. An instance
 // of this interface is owned in the browser process in Ash. It will be
 // accessed from WebUI or System UI code in the browser process.
 interface ESimManager {
-    // Result codes for profile installation.
-    enum ProfileInstallResult {
-       kSuccess,                     // Installation succeeded.
-       kFailure,                     // Installation failed.
-       kErrorNeedsConfirmationCode,  // Installation requires a valid
-                                     // confirmation code.
-       kErrorInvalidActivationCode,  // Given activation code is invalid.
-    };
+  // Adds an observer for eSIM changes.
+  AddObserver(pending_remote<ESimManagerObserver> observer);
 
-    // Result code for ESimManager methods.
-    enum ESimOperationResult {
-       kSuccess,                     // Operation succeeded.
-       kFailure                      // Operation failed.
-    };
-
-    // Adds an observer for eSIM changes.
-    AddObserver(pending_remote<ESimManagerObserver> observer);
-
-    // Returns a list of Euiccs available on the device.
-    GetAvailableEuiccs() => (array<Euicc> euiccs);
-
-    // Returns a list of all profiles installed or pending on the Euicc
-    // with given |eid|. An empty list could be returned if there are
-    // no installed or pending profiles on the Euicc.
-    GetProfiles(string eid) => (array<ESimProfile>? profiles);
-
-    // Starts a request for pending profiles for the Euicc with given |eid|
-    // from SMDS. Returns a status indicating result of the operation. This
-    // method updates the pending profiles list before succeeding. This method
-    // is used to allow the user to explicit trigger a request to check for
-    // new profiles that may have been pushed to SMDS.
-    RequestPendingProfiles(string eid) => (ESimOperationResult result);
-
-    // Installs a profile with given |activation_code| on the Euicc with
-    // given |eid| and returns the ESimProfile that was just installed. A
-    // non-success result code is returned in case of errors. |activation_code|
-    // may be obtained from ESimProfiles retrieved with a previous call to
-    // GetPendingProfiles or directly from the user through a QR code. If
-    // |confirmation_code| is required but not supplied or if it’s invalid
-    // then a kErrorNeedsConfirmationCode result is returned.
-    InstallProfileFromActivationCode(string eid, string activation_code,
-                                     string confirmation_code) =>
-        (ProfileInstallResult result, ESimProfile? profile);
-
-    // Installs an eSIM profile given it’s |iccid| and returns the
-    // ESimProfile that was just installed. A non success result code
-    // is returned in case of errors.
-    InstallProfile(string iccid, string confirmation_code) =>
-        (ProfileInstallResult result, ESimProfile? profile);
-
-    // Uninstalls an eSIM profile given it’s |iccid|. Returns the result
-    // code for the operation.
-    UninstallProfile(string iccid) => (ESimOperationResult result);
-
-    // Enables an eSIM profile with the given |iccid|. Returns the result
-    // code for the operation.
-    EnableProfile(string iccid) => (ESimOperationResult result);
-
-    // Disables an eSIM profile with the given |iccid|. Returns the result
-    // code for the operation.
-    DisableProfile(string iccid) => (ESimOperationResult result);
-
-    // Sets a nickname for an eSIM profile with given |iccid|. Returns the
-    // result code for the operation.
-    SetProfileNickname(string iccid, mojo_base.mojom.String16 nickname) =>
-        (ESimOperationResult result);
+  // Returns a list of Euiccs available on the device.
+  GetAvailableEuiccs() => (array<pending_remote<Euicc>> euiccs);
 };
+
+// Euicc interface represents an EUICC (Embedded Universal Integrated
+// Circuit Card) hardware available on the device and provides operations
+// on the EUICC. Each Euicc may have multiple ESimProfiles installed/pending
+// under it.
+interface Euicc {
+  // Returns properties struct for this Euicc.
+  GetProperties() => (EuiccProperties properties);
+
+  // Returns a list of all profiles installed or pending on this Euicc.
+  // An empty list could be returned if there are no installed or pending
+  // profiles on the Euicc.
+  GetProfileList() => (array<pending_remote<ESimProfile>> profiles);
+
+  // Starts a request for pending profiles for this Euicc from SMDS.
+  // Returns a status indicating result of the operation. This
+  // method updates the pending profiles list before succeeding. This method
+  // is used to allow the user to explicit trigger a request to check for
+  // new profiles that may have been pushed to SMDS.
+  RequestPendingProfiles() => (ESimOperationResult result);
+
+  // Installs a profile with given |activation_code| and |confirmation_code|
+  // on this Euicc. Returns the  result code and ESimProfile that was just
+  // installed. A non-success result code is returned in case of errors.
+  // |activation_code| may be obtained from ESimProfiles retrieved with a
+  // previous call to RequestPendingProfiles or directly from the user through
+  // a QR code. If |confirmation_code| is required but not supplied or if it’s
+  // invalid then a kErrorNeedsConfirmationCode result is returned.
+  InstallProfileFromActivationCode(string activation_code,
+                                   string confirmation_code) =>
+    (ProfileInstallResult result, pending_remote<ESimProfile>? profile);
+};
+
+// ESimProfile interface represents and eSIM profile and provides operations
+// on the profile.
+interface ESimProfile {
+  // Returns properties struct for this ESimProfile.
+  GetProperties() => (ESimProfileProperties properties);
+
+  // Installs this eSIM profile with given |confirmation_code|.
+  // A non success result code is returned in case of errors.
+  InstallProfile(string confirmation_code) => (ProfileInstallResult result);
+
+  // Uninstalls this eSIM profile. Returns the result code for the operation.
+  UninstallProfile() => (ESimOperationResult result);
+
+  // Enables this eSIM profile. Returns the result code for the operation.
+  EnableProfile() => (ESimOperationResult result);
+
+  // Disables this eSIM profile. Returns the result code for the operation.
+  DisableProfile() => (ESimOperationResult result);
+
+  // Sets a nickname for this eSIM profile. Returns the result code for the
+  // operation.
+  SetProfileNickname(mojo_base.mojom.String16 nickname) =>
+      (ESimOperationResult result);
+};
+
diff --git a/chromeos/strings/chromeos_strings_af.xtb b/chromeos/strings/chromeos_strings_af.xtb
index 2d7815d..7854e8b 100644
--- a/chromeos/strings/chromeos_strings_af.xtb
+++ b/chromeos/strings/chromeos_strings_af.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Baie hoë HTTPS-traagheid</translation>
 <translation id="1413240736185167732">Misluk – Filter het misluk</translation>
 <translation id="1468664791493211953">Aanbiedings</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> bestuur hierdie toestel en sal dalk jou aktiwiteit kan monitor.</translation>
 <translation id="1478594628797167447">Skandeerder</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> bestuur hierdie gebruiker en kan oor 'n afstand instellings bestuur en gebruikeraktiwiteit monitor.</translation>
 <translation id="150962533380566081">Ongeldige PUK.</translation>
 <translation id="1510238584712386396">Lanseerder</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> drade)</translation>
 <translation id="1641857168437328880">Dokumentvoerder (een kant)</translation>
 <translation id="1644574205037202324">Geskiedenis</translation>
 <translation id="1662989795263954667">Gestop – ink is op</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skandeer na</translation>
 <translation id="4483049906298469269">Kon nie die nieversteknetwerkdeurgang pieng nie</translation>
 <translation id="4548483925627140043">Kon nie sein kry nie</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> mAh-battery</translation>
 <translation id="458794348635939462">Kon nie alle gashere bepaal nie</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> van <ph name="TOTAL_PAGE_NUMBER" />. Druk om die druktaak te kanselleer.</translation>
 <translation id="4646949265910132906">Veilige wi-fi-verbinding</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Mislukte DNS-resolusies</translation>
 <translation id="6768237774506518020">Hoë DNS-resolusiemislukkingkoers</translation>
 <translation id="6839141349259399400">Kan jy nie aan skandeerders koppel nie?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> bestuur hierdie toestel en het toegang tot alle gebruikeraktiwiteit, insluitend webblaaie wat besoek is, wagwoorde en e-pos.</translation>
 <translation id="714876143603641390">LAN-konnektiwiteit</translation>
 <translation id="7162487448488904999">Galery</translation>
+<translation id="7177485034254901881">Hierdie <ph name="DEVICE_TYPE" /> word bestuur deur <ph name="MANAGER" />. Administrateurs kan die toestel oor 'n afstand opstel.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Lêertipe</translation>
 <translation id="7561454561030345039">Jou administrateur bestuur hierdie handeling</translation>
diff --git a/chromeos/strings/chromeos_strings_as.xtb b/chromeos/strings/chromeos_strings_as.xtb
index bf729711..45a65ea1f 100644
--- a/chromeos/strings/chromeos_strings_as.xtb
+++ b/chromeos/strings/chromeos_strings_as.xtb
@@ -9,6 +9,7 @@
 <translation id="1238612778414822719">HTTPSৰ বিলম্বতা</translation>
 <translation id="1290331692326790741">দুৰ্বল সংকেত</translation>
 <translation id="1330426557709298164">JPG</translation>
+<translation id="1337912285145772892">স্কেনৰ ক্ষেত্ৰত খাপ খুৱাওক</translation>
 <translation id="1397738625398125236">গে’টৱে’ পিং কৰিব পৰা যায়</translation>
 <translation id="1398634363027580500">HTTPSৰ অতি বেছি বিলম্বতা</translation>
 <translation id="1413240736185167732">বিফল হৈছে - ফিল্টাৰ বিফল হৈছে</translation>
@@ -16,6 +17,7 @@
 <translation id="1478594628797167447">স্কেনাৰ</translation>
 <translation id="150962533380566081">অমান্য PUK।</translation>
 <translation id="1510238584712386396">লঞ্চাৰ</translation>
+<translation id="1641857168437328880">নথি ফীডাৰ (এফাল থকা)</translation>
 <translation id="1644574205037202324">ইতিহাস</translation>
 <translation id="1662989795263954667">বন্ধ হৈছে - চিয়াঁহী শেষ হৈছে</translation>
 <translation id="1703835215927279855">লেটাৰ</translation>
@@ -44,6 +46,7 @@
 <translation id="3083667275341675831">সংযোগ সম্পৰ্কীয় ডায়গন’ষ্টিক্স</translation>
 <translation id="3091839911843451378">বিফল হৈছে - বন্ধ হৈছে</translation>
 <translation id="3188257591659621405">মোৰ ফাইলসমূহ</translation>
+<translation id="3199982728237701504">নথি ফীডাৰ (দুফাল থকা)</translation>
 <translation id="3246869037381808805">১ দিনতকৈ পুৰণি প্ৰিণ্ট কাৰ্যসমূহ আঁতৰোৱা হ’ব</translation>
 <translation id="3268178239013324452">বিফল হৈছে - দুৱাৰ খোল খাই আছে</translation>
 <translation id="3310640316857623290">DNSৰ বিলম্বতা যথেষ্ট পৰিমাণে অনুমতি দিয়া সীমাতকৈ ওপৰত আছে</translation>
@@ -70,6 +73,7 @@
 <translation id="4297501883039923494">বন্ধ হৈছে - অজ্ঞাত আসোঁৱাহ</translation>
 <translation id="4378373042927530923">নাই চলা</translation>
 <translation id="4382484599443659549">PDF</translation>
+<translation id="4421943235406860811">স্কেন কৰা ফাইলসমূহ ছেভ কৰা হ'ল!</translation>
 <translation id="4425149324548788773">মোৰ ড্ৰাইভ</translation>
 <translation id="4429881212383817840">Kerberos টিকেটৰ ম্যাদ শীঘ্ৰেই উকলি যাব</translation>
 <translation id="445059817448385655">পুৰণি পাছৱৰ্ড</translation>
@@ -124,6 +128,7 @@
 <translation id="649050271426829538">বন্ধ হৈছে - কাগজ ঠাহ খাই গৈছে</translation>
 <translation id="6517239166834772319">অন্বেষণ</translation>
 <translation id="6527081081771465939">ৱাই-ফাইৰ অজ্ঞাত সুৰক্ষাৰ প্ৰ'টকল</translation>
+<translation id="65587193855025101">ফ্লে'টবেড</translation>
 <translation id="6564646048574748301">বিফল হৈছে - প্ৰিণ্টাৰৰ সৈতে সংযোগ কৰিব পৰা নাই</translation>
 <translation id="6618744767048954150">চলি আছে</translation>
 <translation id="6620487321149975369">প্ৰিণ্টিঙৰ কামসমূহ মেনুৱেলভাৱে আঁতৰাই নিদিয়ালৈকে সেইসমূহ ইতিহাসত দেখা পোৱা যাব</translation>
@@ -132,6 +137,7 @@
 <translation id="6747215703636344499">বন্ধ হৈছে - আউটপুট ভৰ্তি হৈ গৈছে</translation>
 <translation id="6766275201586212568">DNSৰ সমাধান বিফল হৈছে</translation>
 <translation id="6768237774506518020">DNSৰ সমাধান বিফল হোৱাৰ হাৰ উচ্চ</translation>
+<translation id="6839141349259399400">স্কেনাৰৰ সৈতে সংযোগ কৰিব পৰা নাই নেকি?</translation>
 <translation id="714876143603641390">LAN সংযোগ</translation>
 <translation id="7162487448488904999">Gallery</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
@@ -142,10 +148,12 @@
 <translation id="7658239707568436148">বাতিল কৰক</translation>
 <translation id="7690294790491645610">নতুন পাছৱর্ড নিশ্চিত কৰক</translation>
 <translation id="7805768142964895445">স্থিতি</translation>
+<translation id="7855434858642800953">স্কেন কৰা ফাইল ছেভ কৰা হ'ল!</translation>
 <translation id="7936303884198020182">ড’মেইন নাম থকা কোনো ছাৰ্ভাৰ পোৱা নগ'ল</translation>
 <translation id="8041089156583427627">মতামত পঠিয়াওক</translation>
 <translation id="808894953321890993">পাছৱৰ্ড সলনি কৰক</translation>
 <translation id="8129620843620772246"><ph name="TEMPERATURE_C" />° C</translation>
+<translation id="8160445423316272678">আপোনাৰ নথিখন স্কেনাৰটোত ৰাখক আৰু আৰম্ভ কৰিবলৈ <ph name="SPAN_BEGIN" />স্কেন কৰক<ph name="SPAN_END" /> বাছনি কৰক</translation>
 <translation id="8208861521865154048">লাভালাভসমূহ</translation>
 <translation id="8230672074305416752">ডিফ'ল্ট নেটৱৰ্কৰ গে’টৱে’টো পিং কৰাত বিফল হ'ল</translation>
 <translation id="8294431847097064396">উৎস</translation>
@@ -166,5 +174,6 @@
 <translation id="8919837981463578619">বিফল হৈছে - ট্ৰে’ উপলব্ধ নহয়</translation>
 <translation id="8928727111548978589">বিফল হৈছে - কাগজ শেষ হৈছে</translation>
 <translation id="910415269708673980"><ph name="PRINCIPAL_NAME" />ৰ টিকেট ৰিফ্ৰেশ্ব কৰক</translation>
+<translation id="9106415115617144481"><ph name="PAGE_NUMBER" /> নম্বৰ পৃষ্ঠাখন স্কেন কৰি থকা হৈছে</translation>
 <translation id="9111102763498581341">আনলক</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chromeos/strings/chromeos_strings_bs.xtb b/chromeos/strings/chromeos_strings_bs.xtb
index 0824a201..e0bbcf3 100644
--- a/chromeos/strings/chromeos_strings_bs.xtb
+++ b/chromeos/strings/chromeos_strings_bs.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Veoma visoka HTTPs latentnost</translation>
 <translation id="1413240736185167732">Nije uspjelo – filter ne radi</translation>
 <translation id="1468664791493211953">Ponude</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> upravlja ovim uređajem i moguće je da može pratiti vaše aktivnosti.</translation>
 <translation id="1478594628797167447">Skener</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> upravlja ovim korisnikom i može udaljeno upravljati postavkama i pratiti aktivnost korisnika.</translation>
 <translation id="150962533380566081">Nevažeći PUK.</translation>
 <translation id="1510238584712386396">Pokretač</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (broj nizova: <ph name="THREAD_COUNT" />)</translation>
 <translation id="1641857168437328880">Ulagač za dokumente (jednostrano skeniranje)</translation>
 <translation id="1644574205037202324">Historija</translation>
 <translation id="1662989795263954667">Zaustavljeno – nema tinte</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skeniraj u:</translation>
 <translation id="4483049906298469269">Provjera pingom mrežnog pristupnika koji nije zadan nije uspjela</translation>
 <translation id="4548483925627140043">Signal nije pronađen</translation>
+<translation id="455835558791489930">Baterija: <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Rješavanje svih hostova nije uspjelo</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> od <ph name="TOTAL_PAGE_NUMBER" />. Pritisnite enter da otkažete zadatak štampanja.</translation>
 <translation id="4646949265910132906">Sigurna WiFi veza</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">DNS rezolucije nisu uspjele</translation>
 <translation id="6768237774506518020">Visoka stopa neuspjeha DNS rezolucije</translation>
 <translation id="6839141349259399400">Nije se moguće povezati na skenere?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> upravlja ovim uređajem i ima pristup svim aktivnostima korisnika, uključujući posjećene web stranice, lozinke i e-poštu.</translation>
 <translation id="714876143603641390">Povezivost LAN-a</translation>
 <translation id="7162487448488904999">Galerija</translation>
+<translation id="7177485034254901881">Ovim uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" />. Administratori mogu daljinski konfigurirati uređaj.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Vrsta datoteke</translation>
 <translation id="7561454561030345039">Ovom radnjom upravlja vaš administrator</translation>
diff --git a/chromeos/strings/chromeos_strings_ca.xtb b/chromeos/strings/chromeos_strings_ca.xtb
index 44525b3..ccf4529 100644
--- a/chromeos/strings/chromeos_strings_ca.xtb
+++ b/chromeos/strings/chromeos_strings_ca.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">La latència d'HTTPS és molt alta</translation>
 <translation id="1413240736185167732">Error: error en el filtre</translation>
 <translation id="1468664791493211953">Ofertes</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> gestiona aquest dispositiu i és possible que pugui monitorar la teva activitat.</translation>
 <translation id="1478594628797167447">Escàners</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> gestiona aquest usuari i és possible que gestioni les opcions de configuració i monitori l'activitat de l'usuari de manera remota.</translation>
 <translation id="150962533380566081">El PUK no és vàlid.</translation>
 <translation id="1510238584712386396">Menú d'aplicacions</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> fils)</translation>
 <translation id="1641857168437328880">Alimentador de documents (a una cara)</translation>
 <translation id="1644574205037202324">Historial</translation>
 <translation id="1662989795263954667">S'ha aturat: no hi ha tinta</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Desa a</translation>
 <translation id="4483049906298469269">No s'ha pogut fer ping a la passarel·la de xarxa no predeterminada</translation>
 <translation id="4548483925627140043">No s'ha trobat el senyal</translation>
+<translation id="455835558791489930">Bateria de <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">No s'han pogut resoldre tots els amfitrions</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> de <ph name="TOTAL_PAGE_NUMBER" />. Prem Retorn per cancel·lar la tasca d'impressió.</translation>
 <translation id="4646949265910132906">Connexió Wi‑Fi segura</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Algunes resolucions de DNS han fallat</translation>
 <translation id="6768237774506518020">El percentatge d'error de la resolució de DNS és alt</translation>
 <translation id="6839141349259399400">No et pots connectar als escàners?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> gestiona aquest dispositiu i té accés a tota l'activitat dels usuaris, com ara les pàgines web visitades, les contrasenyes i el correu electrònic.</translation>
 <translation id="714876143603641390">Connectivitat de la LAN</translation>
 <translation id="7162487448488904999">Galeria</translation>
+<translation id="7177485034254901881">Aquest dispositiu <ph name="DEVICE_TYPE" /> està gestionat per <ph name="MANAGER" />. És possible que els administradors el configurin de manera remota.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Tipus de fitxer</translation>
 <translation id="7561454561030345039">El teu administrador gestiona aquesta acció</translation>
diff --git a/chromeos/strings/chromeos_strings_cs.xtb b/chromeos/strings/chromeos_strings_cs.xtb
index 2d1822d..20dcbd3 100644
--- a/chromeos/strings/chromeos_strings_cs.xtb
+++ b/chromeos/strings/chromeos_strings_cs.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Velmi vysoká latence HTTPS</translation>
 <translation id="1413240736185167732">Tisk selhal – selhal filtr</translation>
 <translation id="1468664791493211953">Nabídky</translation>
+<translation id="1476467821656042872">Toto zařízení je spravováno doménou <ph name="MANAGER" />, která také může sledovat vaši aktivitu.</translation>
 <translation id="1478594628797167447">Skener</translation>
+<translation id="1499900233129743732">Tohoto uživatele spravuje doména <ph name="MANAGER" />, která také může vzdáleně spravovat nastavení a sledovat jeho aktivitu.</translation>
 <translation id="150962533380566081">Neplatný kód PUK.</translation>
 <translation id="1510238584712386396">Spouštěč</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (počet vláken: <ph name="THREAD_COUNT" />)</translation>
 <translation id="1641857168437328880">Podavač dokumentů (jednostranných)</translation>
 <translation id="1644574205037202324">Historie</translation>
 <translation id="1662989795263954667">Zastaveno – došel inkoust</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Uložit do</translation>
 <translation id="4483049906298469269">Nepodařilo se pingnout bránu jiné než výchozí sítě</translation>
 <translation id="4548483925627140043">Signál nebyl nalezen</translation>
+<translation id="455835558791489930">Baterie s kapacitou <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Všechny hostitele se nepodařilo vyřešit</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> z <ph name="TOTAL_PAGE_NUMBER" />. Tiskovou úlohu zrušíte stisknutím klávesy Enter.</translation>
 <translation id="4646949265910132906">Zabezpečené připojení k Wi-Fi</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Neúspěšné překlady DNS</translation>
 <translation id="6768237774506518020">Vysoká míra selhání překladu DNS</translation>
 <translation id="6839141349259399400">Nemůžete se připojit ke skenerům?</translation>
+<translation id="7028979494427204405">Toto zařízení je spravováno doménou <ph name="MANAGER" />, která má přístup k veškeré uživatelské aktivitě, včetně navštívených webových stránek, hesel a e‑mailu.</translation>
 <translation id="714876143603641390">Připojení k síti LAN</translation>
 <translation id="7162487448488904999">Galerie</translation>
+<translation id="7177485034254901881">Toto zařízení <ph name="DEVICE_TYPE" /> spravuje doména <ph name="MANAGER" />. Administrátoři mohou zařízení vzdáleně konfigurovat.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Typ souboru</translation>
 <translation id="7561454561030345039">Tuto akci spravuje administrátor</translation>
diff --git a/chromeos/strings/chromeos_strings_da.xtb b/chromeos/strings/chromeos_strings_da.xtb
index 76f88c0..430af17 100644
--- a/chromeos/strings/chromeos_strings_da.xtb
+++ b/chromeos/strings/chromeos_strings_da.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Meget høj HTTPS-forsinkelse</translation>
 <translation id="1413240736185167732">Handlingen mislykkedes – Filterfejl</translation>
 <translation id="1468664791493211953">Tilbud</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> administrerer din enhed og kan muligvis overvåge din aktivitet.</translation>
 <translation id="1478594628797167447">Scanner</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> administrerer denne bruger, og vedkommende kan administrere indstillinger og overvåge brugeraktivitet via fjernadgang.</translation>
 <translation id="150962533380566081">Ugyldig PUK-kode.</translation>
 <translation id="1510238584712386396">Appliste</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> tråde)</translation>
 <translation id="1641857168437328880">Dokumentindføring (én side)</translation>
 <translation id="1644574205037202324">Historik</translation>
 <translation id="1662989795263954667">Stoppet – Mangler blæk</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Scan til</translation>
 <translation id="4483049906298469269">Kunne ikke pinge gatewayen for det netværk, der ikke er angivet som standardnetværk</translation>
 <translation id="4548483925627140043">Der blev ikke fundet noget signal</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> mAh batteri</translation>
 <translation id="458794348635939462">Ikke alle hosts kunne identificeres</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> ud af <ph name="TOTAL_PAGE_NUMBER" />. Tryk på Enter for at annullere udskriftsjobbet.</translation>
 <translation id="4646949265910132906">Sikker Wi-Fi-forbindelse</translation>
@@ -137,8 +141,10 @@
 <translation id="6766275201586212568">Mislykkede DNS-opslag</translation>
 <translation id="6768237774506518020">Høj fejlrate for DNS-opslag</translation>
 <translation id="6839141349259399400">Kan du ikke oprette forbindelse til scannere?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> administrerer denne enhed og har adgang til al brugeraktivitet, bl.a. besøgte websider, adgangskoder og mails.</translation>
 <translation id="714876143603641390">LAN-forbindelse</translation>
 <translation id="7162487448488904999">Galleri</translation>
+<translation id="7177485034254901881">Denne <ph name="DEVICE_TYPE" /> administreres af <ph name="MANAGER" />. Administratorer kan fjernkonfigurere enheden.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Filtype</translation>
 <translation id="7561454561030345039">Denne handling administreres af din administrator</translation>
diff --git a/chromeos/strings/chromeos_strings_el.xtb b/chromeos/strings/chromeos_strings_el.xtb
index 6414a7e1c..067a665 100644
--- a/chromeos/strings/chromeos_strings_el.xtb
+++ b/chromeos/strings/chromeos_strings_el.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Πολύ μεγάλος λανθάνων χρόνος HTTPS</translation>
 <translation id="1413240736185167732">Σφάλμα - Πρόβλημα φίλτρου</translation>
 <translation id="1468664791493211953">Προσφορές</translation>
+<translation id="1476467821656042872">Ο τομέας <ph name="MANAGER" /> διαχειρίζεται αυτήν τη συσκευή και μπορεί να έχει τη δυνατότητα να παρακολουθεί τη δραστηριότητά σας.</translation>
 <translation id="1478594628797167447">Σαρωτής</translation>
+<translation id="1499900233129743732">Ο τομέας <ph name="MANAGER" /> διαχειρίζεται αυτόν τον χρήστη και ενδέχεται να διαχειρίζεται απομακρυσμένα τις ρυθμίσεις και να παρακολουθεί τη δραστηριότητα του χρήστη.</translation>
 <translation id="150962533380566081">Μη έγκυρος κωδικός PUK.</translation>
 <translation id="1510238584712386396">Λειτουργία εκκίνησης</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> νήματα)</translation>
 <translation id="1641857168437328880">Τροφοδότης εγγράφων (Μίας όψης)</translation>
 <translation id="1644574205037202324">Ιστορικό</translation>
 <translation id="1662989795263954667">Διακοπή - Τελείωσε το μελάνι</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Σάρωση σε</translation>
 <translation id="4483049906298469269">Αποτυχία ping της μη προεπιλεγμένης πύλης δικτύου.</translation>
 <translation id="4548483925627140043">Δεν βρέθηκε σήμα.</translation>
+<translation id="455835558791489930">Μπαταρία <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Αποτυχία επίλυσης όλων των κεντρικών υπολογιστών.</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> από <ph name="TOTAL_PAGE_NUMBER" />. Πατήστε enter, για να ακυρώσετε την εργασία εκτύπωσης.</translation>
 <translation id="4646949265910132906">Ασφαλής σύνδεση Wi-Fi</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Αποτυχημένες αναλύσεις DNS</translation>
 <translation id="6768237774506518020">Υψηλό ποσοστό αποτυχίας ανάλυσης DNS</translation>
 <translation id="6839141349259399400">Δεν είναι δυνατή η σύνδεση σε σαρωτές;</translation>
+<translation id="7028979494427204405">Ο τομέας <ph name="MANAGER" /> διαχειρίζεται αυτήν τη συσκευή και έχει πρόσβαση σε όλη τη δραστηριότητα των χρηστών, συμπεριλαμβανομένων των ιστοσελίδων που επισκέπτεστε, των κωδικών πρόσβασης και του ηλεκτρονικού ταχυδρομείου.</translation>
 <translation id="714876143603641390">Συνδεσιμότητα LAN</translation>
 <translation id="7162487448488904999">Gallery</translation>
+<translation id="7177485034254901881">Η διαχείριση της συσκευής <ph name="DEVICE_TYPE" /> γίνεται από τον τομέα <ph name="MANAGER" />. Οι διαχειριστές μπορούν να διαμορφώσουν τη συσκευή απομακρυσμένα.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Τύπος αρχείου</translation>
 <translation id="7561454561030345039">Η διαχείριση αυτής της ενέργειας γίνεται από τον διαχειριστή σας.</translation>
diff --git a/chromeos/strings/chromeos_strings_en-GB.xtb b/chromeos/strings/chromeos_strings_en-GB.xtb
index 3079876d..8b60661b 100644
--- a/chromeos/strings/chromeos_strings_en-GB.xtb
+++ b/chromeos/strings/chromeos_strings_en-GB.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Very high HTTPS latency</translation>
 <translation id="1413240736185167732">Failed – Filter failed</translation>
 <translation id="1468664791493211953">Offers</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> manages this device and may be able to monitor your activity.</translation>
 <translation id="1478594628797167447">Scanner</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> manages this user and may remotely manage settings and monitor user activity.</translation>
 <translation id="150962533380566081">Invalid PUK.</translation>
 <translation id="1510238584712386396">Launcher</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> threads)</translation>
 <translation id="1641857168437328880">Document feeder (one-sided)</translation>
 <translation id="1644574205037202324">History</translation>
 <translation id="1662989795263954667">Stopped – out of ink</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Scan to</translation>
 <translation id="4483049906298469269">Failed to ping the non-default network gateway</translation>
 <translation id="4548483925627140043">Signal not found</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" />mAh battery</translation>
 <translation id="458794348635939462">Failed to resolve all hosts</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> out of <ph name="TOTAL_PAGE_NUMBER" />. Press Enter to cancel the print job.</translation>
 <translation id="4646949265910132906">Secure Wi-Fi connection</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Failed DNS resolutions</translation>
 <translation id="6768237774506518020">High DNS resolution failure rate</translation>
 <translation id="6839141349259399400">Can't connect to scanners?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> manages this device and has access to all user activity, including web pages visited, passwords and email.</translation>
 <translation id="714876143603641390">LAN connectivity</translation>
 <translation id="7162487448488904999">Gallery</translation>
+<translation id="7177485034254901881">This <ph name="DEVICE_TYPE" /> is managed by <ph name="MANAGER" />. Administrators may remotely configure the device.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">File type</translation>
 <translation id="7561454561030345039">This action is managed by your administrator</translation>
diff --git a/chromeos/strings/chromeos_strings_es-419.xtb b/chromeos/strings/chromeos_strings_es-419.xtb
index ffdc0400..656f82f 100644
--- a/chromeos/strings/chromeos_strings_es-419.xtb
+++ b/chromeos/strings/chromeos_strings_es-419.xtb
@@ -2,19 +2,22 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="es-419">
 <translation id="1018656279737460067">Cancelado</translation>
+<translation id="1071587090247825784">Se detectó un firewall</translation>
 <translation id="1075811647922107217">Tamaño de la página</translation>
 <translation id="1195447618553298278">Error desconocido.</translation>
 <translation id="1204296502688602597">Latencia de DNS</translation>
+<translation id="1238612778414822719">Latencia de HTTPS</translation>
 <translation id="1290331692326790741">Señal débil</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">Ajustar al área de escaneo</translation>
 <translation id="1397738625398125236">Se puede hacer ping a la puerta de enlace</translation>
+<translation id="1398634363027580500">Latencia de HTTPS muy alta</translation>
 <translation id="1413240736185167732">Error: Problema en el filtro</translation>
 <translation id="1468664791493211953">Ofertas</translation>
 <translation id="1478594628797167447">Escáner</translation>
 <translation id="150962533380566081">PUK no válida.</translation>
 <translation id="1510238584712386396">Selector</translation>
-<translation id="1641857168437328880">Alimentador de documentos (un lado)</translation>
+<translation id="1641857168437328880">Alimentador de documentos (una cara)</translation>
 <translation id="1644574205037202324">Historial</translation>
 <translation id="1662989795263954667">Se detuvo: sin tinta</translation>
 <translation id="1703835215927279855">Letter</translation>
@@ -43,7 +46,7 @@
 <translation id="3083667275341675831">Diagnóstico de conectividad</translation>
 <translation id="3091839911843451378">Error: La impresora se detuvo</translation>
 <translation id="3188257591659621405">Mis archivos</translation>
-<translation id="3199982728237701504">Alimentador de documentos (dos lados)</translation>
+<translation id="3199982728237701504">Alimentador de documentos (dos caras)</translation>
 <translation id="3246869037381808805">Se quitarán los trabajos de impresión que tengan más de 1 día</translation>
 <translation id="3268178239013324452">Error: La tapa está abierta</translation>
 <translation id="3310640316857623290">La latencia de DNS supera significativamente el umbral permitido</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">Error: La bandeja de salida está llena</translation>
 <translation id="4034824040120875894">Impresora</translation>
 <translation id="4131410914670010031">Blanco y negro</translation>
+<translation id="4145784616224233563">Firewall de HTTP</translation>
 <translation id="4227825898293920515">La contraseña caduca en <ph name="TIME" /></translation>
 <translation id="4238516577297848345">No hay trabajos de impresión en curso</translation>
 <translation id="4297501883039923494">Se detuvo: error desconocido</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> de un total de <ph name="TOTAL_PAGE_NUMBER" />. Presiona Intro para cancelar el trabajo de impresión.</translation>
 <translation id="4646949265910132906">Conexión Wi-Fi segura</translation>
 <translation id="467510802200863975">Las contraseñas no coinciden</translation>
+<translation id="467715984478005772">Se sospecha que hay un firewall</translation>
 <translation id="4691278870498629773">Se detuvo: falta la bandeja</translation>
 <translation id="469379815867856270">Intensidad de la señal</translation>
 <translation id="4731797938093519117">Acceso parental</translation>
@@ -111,6 +116,7 @@
 <translation id="6048107060512778456">Error: Se atascó el papel</translation>
 <translation id="6050189528197190982">Escala de grises</translation>
 <translation id="6058625436358447366">Para finalizar, ingresa tu contraseña anterior y la nueva</translation>
+<translation id="6061772781719867950">Solicitudes HTTPS con error</translation>
 <translation id="6106186594183574873">Para finalizar, ingresa tu contraseña anterior</translation>
 <translation id="6108689792487843350">no se puede acceder a la puerta de enlace</translation>
 <translation id="6146993107019042706">Para finalizar, ingresa tu nueva contraseña</translation>
@@ -122,13 +128,15 @@
 <translation id="649050271426829538">Se detuvo: se atascó el papel</translation>
 <translation id="6517239166834772319">Explorar</translation>
 <translation id="6527081081771465939">el protocolo de seguridad Wi-Fi es desconocido</translation>
-<translation id="65587193855025101">Escáneres planos</translation>
+<translation id="65587193855025101">Cristal del escáner</translation>
 <translation id="6564646048574748301">Error: No se puede acceder a la impresora</translation>
 <translation id="6618744767048954150">En ejecución</translation>
 <translation id="6620487321149975369">Los trabajos de impresión aparecerán en el historial, a menos que se quiten manualmente</translation>
 <translation id="6643016212128521049">Borrar</translation>
 <translation id="6704062477274546131">Resolución de DNS</translation>
 <translation id="6747215703636344499">Se detuvo: la bandeja de salida está llena</translation>
+<translation id="6766275201586212568">Resoluciones DNS con error</translation>
+<translation id="6768237774506518020">Tasa alta de errores para la resolución de DNS</translation>
 <translation id="6839141349259399400">¿No puedes establecer conexión con los escáneres?</translation>
 <translation id="714876143603641390">Conectividad LAN</translation>
 <translation id="7162487448488904999">Galería</translation>
@@ -136,6 +144,7 @@
 <translation id="7359657277149375382">Tipo de archivo</translation>
 <translation id="7561454561030345039">El administrador controla esta acción</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">Latencia de HTTPS alta</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7690294790491645610">Confirmar contraseña nueva</translation>
 <translation id="7805768142964895445">Estado</translation>
@@ -148,6 +157,7 @@
 <translation id="8208861521865154048">Beneficios</translation>
 <translation id="8230672074305416752">no se pudo hacer ping en la puerta de enlace de la red predeterminada</translation>
 <translation id="8294431847097064396">Fuente</translation>
+<translation id="8302368968391049045">Firewall de HTTPS</translation>
 <translation id="8347227221149377169">Trabajos de impresión</translation>
 <translation id="8352772353338965963">Agrega una cuenta para el acceso múltiple. Puedes acceder a todas las cuentas abiertas sin una contraseña, por lo que esta función solo debe utilizarse con cuentas de confianza.</translation>
 <translation id="8364946094152050673">los servidores de nombres están vacíos</translation>
diff --git a/chromeos/strings/chromeos_strings_es.xtb b/chromeos/strings/chromeos_strings_es.xtb
index cf9c987..9007bac05 100644
--- a/chromeos/strings/chromeos_strings_es.xtb
+++ b/chromeos/strings/chromeos_strings_es.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="es">
 <translation id="1018656279737460067">Cancelado</translation>
+<translation id="1071587090247825784">cortafuegos detectado</translation>
 <translation id="1075811647922107217">Tamaño de página</translation>
 <translation id="1195447618553298278">Error desconocido.</translation>
 <translation id="1204296502688602597">Latencia de DNS</translation>
+<translation id="1238612778414822719">Latencia de HTTPS</translation>
 <translation id="1290331692326790741">Señal débil</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">Ajustar al área de escaneado</translation>
 <translation id="1397738625398125236">Se puede hacer ping a la pasarela</translation>
+<translation id="1398634363027580500">Latencia de HTTPS muy alta</translation>
 <translation id="1413240736185167732">No se ha podido imprimir - Error de filtro</translation>
 <translation id="1468664791493211953">Ofertas</translation>
 <translation id="1478594628797167447">Escáner</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">No se ha podido imprimir - Salida llena</translation>
 <translation id="4034824040120875894">Impresora</translation>
 <translation id="4131410914670010031">Blanco y negro</translation>
+<translation id="4145784616224233563">Cortafuegos de HTTP</translation>
 <translation id="4227825898293920515">La contraseña caducará dentro de <ph name="TIME" /></translation>
 <translation id="4238516577297848345">No hay ningún trabajo de impresión en curso</translation>
 <translation id="4297501883039923494">Detenido: error desconocido</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> de <ph name="TOTAL_PAGE_NUMBER" />. Pulsa Intro para cancelar el trabajo de impresión.</translation>
 <translation id="4646949265910132906">Conexión Wi‑Fi segura</translation>
 <translation id="467510802200863975">Las contraseñas no coinciden</translation>
+<translation id="467715984478005772">posible cortafuegos</translation>
 <translation id="4691278870498629773">Detenido: falta la bandeja</translation>
 <translation id="469379815867856270">Intensidad de la señal</translation>
 <translation id="4731797938093519117">Acceso parental</translation>
@@ -110,6 +115,7 @@
 <translation id="6048107060512778456">No se ha podido imprimir - Atasco de papel</translation>
 <translation id="6050189528197190982">Escala de grises</translation>
 <translation id="6058625436358447366">Para finalizar, introduce tu contraseña anterior y la nueva</translation>
+<translation id="6061772781719867950">Errores de solicitudes HTTPS</translation>
 <translation id="6106186594183574873">Para finalizar, introduce tu contraseña anterior</translation>
 <translation id="6108689792487843350">No se puede acceder a la puerta de enlace</translation>
 <translation id="6146993107019042706">Para finalizar, introduce tu contraseña nueva</translation>
@@ -128,6 +134,8 @@
 <translation id="6643016212128521049">Eliminar</translation>
 <translation id="6704062477274546131">Resolución de DNS</translation>
 <translation id="6747215703636344499">Detenido: bandeja de salida llena</translation>
+<translation id="6766275201586212568">Errores de resoluciones de DNS</translation>
+<translation id="6768237774506518020">Tasa de errores de resolución de DNS alta</translation>
 <translation id="6839141349259399400">¿No se puede establecer conexión con ningún escáner?</translation>
 <translation id="714876143603641390">Conectividad LAN</translation>
 <translation id="7162487448488904999">Galería</translation>
@@ -135,6 +143,7 @@
 <translation id="7359657277149375382">Tipo de archivo</translation>
 <translation id="7561454561030345039">Esta acción la gestiona tu administrador</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">Latencia de HTTPS alta</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7690294790491645610">Confirma la nueva contraseña</translation>
 <translation id="7805768142964895445">Estado</translation>
@@ -147,6 +156,7 @@
 <translation id="8208861521865154048">Ventajas</translation>
 <translation id="8230672074305416752">Se ha producido un error al hacer ping en la puerta de enlace de red predeterminada</translation>
 <translation id="8294431847097064396">Origen</translation>
+<translation id="8302368968391049045">Cortafuegos de HTTPS</translation>
 <translation id="8347227221149377169">Trabajos de impresión</translation>
 <translation id="8352772353338965963">Se puede añadir una cuenta al inicio de sesión múltiple y acceder a todas las cuentas en las que se haya iniciado sesión sin una contraseña, por lo que esta función solo se debe utilizar con cuentas de confianza.</translation>
 <translation id="8364946094152050673">Servidores de nombres vacíos</translation>
diff --git a/chromeos/strings/chromeos_strings_et.xtb b/chromeos/strings/chromeos_strings_et.xtb
index aa95dd1..552ee33 100644
--- a/chromeos/strings/chromeos_strings_et.xtb
+++ b/chromeos/strings/chromeos_strings_et.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Väga pikk HTTPS-i latentsusaeg</translation>
 <translation id="1413240736185167732">Ebaõnnestus – filter ei toiminud</translation>
 <translation id="1468664791493211953">Pakkumised</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> haldab seda seadet ja saab võib-olla jälgida teie tegevusi.</translation>
 <translation id="1478594628797167447">Skanner</translation>
+<translation id="1499900233129743732">Seda kasutajat haldab domeen <ph name="MANAGER" />, mis võib eemalt hallata seadeid ja jälgida kasutaja tegevusi.</translation>
 <translation id="150962533380566081">Vale PUK-kood.</translation>
 <translation id="1510238584712386396">Käivitaja</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> lõime)</translation>
 <translation id="1641857168437328880">Dokumendisöötur (ühepoolne)</translation>
 <translation id="1644574205037202324">Ajalugu</translation>
 <translation id="1662989795263954667">Peatati – tint on otsas</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skanni asukohta</translation>
 <translation id="4483049906298469269">Mittevaikevõrgulüüsi pingimine ebaõnnestus</translation>
 <translation id="4548483925627140043">Signaali ei leitud</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> mAh aku</translation>
 <translation id="458794348635939462">Kõikide hostide lahendamine ebaõnnestus</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" />/<ph name="TOTAL_PAGE_NUMBER" />. Prinditöö tühistamiseks vajutage sisestusklahvi.</translation>
 <translation id="4646949265910132906">Turvaline WiFi-ühendus</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Ebaõnnestunud DNS-lahendused</translation>
 <translation id="6768237774506518020">DNS-lahenduste ebaõnnestumiste kõrge määr</translation>
 <translation id="6839141349259399400">Kas skanneritega ei õnnestu ühendust luua?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> haldab seda seadet ja sellel on juurdepääs kogu kasutaja tegevusele. sealhulgas külastatud veebilehed, paroolid ja e-post.</translation>
 <translation id="714876143603641390">LAN-i ühenduvus</translation>
 <translation id="7162487448488904999">Galerii</translation>
+<translation id="7177485034254901881">Seadet <ph name="DEVICE_TYPE" /> haldab <ph name="MANAGER" />. Administraatorid saavad seda seadet kaugühenduse teel seadistada.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Faili tüüp</translation>
 <translation id="7561454561030345039">Seda toimingut haldab administraator.</translation>
diff --git a/chromeos/strings/chromeos_strings_eu.xtb b/chromeos/strings/chromeos_strings_eu.xtb
index 9ee5843..065c189c 100644
--- a/chromeos/strings/chromeos_strings_eu.xtb
+++ b/chromeos/strings/chromeos_strings_eu.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">HTTPS eskaeren itxarote-denbora oso luzea</translation>
 <translation id="1413240736185167732">Hutsegitea - Iragazkiak huts egin du</translation>
 <translation id="1468664791493211953">Eskaintzak</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> domeinuak kudeatzen du gailu hau, eta baliteke zure jardueren jarraipena egin ahal izatea.</translation>
 <translation id="1478594628797167447">Eskanerra</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> arduratzen da erabiltzaile hau kudeatzeaz, eta baliteke haren jarduerak gainbegiratzea urrunetik.</translation>
 <translation id="150962533380566081">PUK kodeak ez du balio.</translation>
 <translation id="1510238584712386396">Abiarazlea</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> hari)</translation>
 <translation id="1641857168437328880">Dokumentu-elikatzailea (alde bakarrekoa)</translation>
 <translation id="1644574205037202324">Historia</translation>
 <translation id="1662989795263954667">Geldituta: ez dago tintarik</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Gorde hemen</translation>
 <translation id="4483049906298469269">Ezin izan da egin ping lehenetsia ez den sarerako atebidean</translation>
 <translation id="4548483925627140043">Ez da aurkitu seinalea</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> mAh-ko bateria</translation>
 <translation id="458794348635939462">Ezin izan da ebatzi ostalari bat ere</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" /> (<ph name="CREATION_TIME" />) - <ph name="PRINTED_PAGE_NUMBER" />/<ph name="TOTAL_PAGE_NUMBER" /> orri Sakatu Sartu inprimatze-lana bertan behera uzteko.</translation>
 <translation id="4646949265910132906">Wifi-konexio segurua</translation>
@@ -128,7 +132,7 @@
 <translation id="649050271426829538">Geldituta: papera trabatuta dago</translation>
 <translation id="6517239166834772319">Arakatu</translation>
 <translation id="6527081081771465939">Wifiaren segurtasun-protokoloa ezezaguna da</translation>
-<translation id="65587193855025101">Ohe lauko eskanerra</translation>
+<translation id="65587193855025101">Eskaner horizontala</translation>
 <translation id="6564646048574748301">Hutsegitea - Inprimagailua ez da aurkitu</translation>
 <translation id="6618744767048954150">Abian</translation>
 <translation id="6620487321149975369">Inprimatze-lanak historian agertuko dira, eskuz kendu ezean</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">huts egin dute DNS bidezko ebazpenek</translation>
 <translation id="6768237774506518020">DNS bidezko ebazpenen hutsegite-tasa altua</translation>
 <translation id="6839141349259399400">Ezin zara konektatu eskanerretara?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> domeinuak kudeatzen du gailu hau, eta erabiltzaileen jarduera guztiak atzi ditzake; besteak beste, bisitatutako webguneak, erabilitako pasahitzak eta posta elektronikoa.</translation>
 <translation id="714876143603641390">LAN sarearen konexioa</translation>
 <translation id="7162487448488904999">Galeria</translation>
+<translation id="7177485034254901881"><ph name="MANAGER" /> domeinuak kudeatzen du <ph name="DEVICE_TYPE" />. Baliteke administratzaileek urrunetik konfiguratzea gailua.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Fitxategi mota</translation>
 <translation id="7561454561030345039">Administratzaileak kudeatzen du ekintza hau</translation>
diff --git a/chromeos/strings/chromeos_strings_fr-CA.xtb b/chromeos/strings/chromeos_strings_fr-CA.xtb
index bc02a3e..67cd38a0 100644
--- a/chromeos/strings/chromeos_strings_fr-CA.xtb
+++ b/chromeos/strings/chromeos_strings_fr-CA.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="fr-CA">
 <translation id="1018656279737460067">Annulé</translation>
+<translation id="1071587090247825784">Pare-feu détecté</translation>
 <translation id="1075811647922107217">Taille de la page</translation>
 <translation id="1195447618553298278">Erreur inconnue.</translation>
 <translation id="1204296502688602597">Latence DNS</translation>
+<translation id="1238612778414822719">Latence HTTPS</translation>
 <translation id="1290331692326790741">Signal faible</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">Ajuster à la zone de numérisation</translation>
 <translation id="1397738625398125236">Ping de la passerelle</translation>
+<translation id="1398634363027580500">Latence HTTPS très élevée</translation>
 <translation id="1413240736185167732">Échec : problème de filtre</translation>
 <translation id="1468664791493211953">Offres</translation>
 <translation id="1478594628797167447">Numériseur</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">Échec : bac de sortie plein</translation>
 <translation id="4034824040120875894">Imprimante</translation>
 <translation id="4131410914670010031">Noir et blanc</translation>
+<translation id="4145784616224233563">Pare-feu HTTP</translation>
 <translation id="4227825898293920515">Le mot de passe expire dans <ph name="TIME" /></translation>
 <translation id="4238516577297848345">Aucune tâche d'impression en cours</translation>
 <translation id="4297501883039923494">Tâche arrêtée : erreur inconnue</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> sur <ph name="TOTAL_PAGE_NUMBER" />. Appuyez sur Entrée pour annuler la tâche d'impression.</translation>
 <translation id="4646949265910132906">Connexion Wi-Fi sécurisée</translation>
 <translation id="467510802200863975">Les mots de passe ne correspondent pas</translation>
+<translation id="467715984478005772">Un pare-feu semble être présent</translation>
 <translation id="4691278870498629773">Tâche arrêtée : bac manquant</translation>
 <translation id="469379815867856270">Puissance du signal</translation>
 <translation id="4731797938093519117">Accès parental</translation>
@@ -111,6 +116,7 @@
 <translation id="6048107060512778456">Échec : bourrage de papier</translation>
 <translation id="6050189528197190982">Échelle de gris</translation>
 <translation id="6058625436358447366">Pour terminer cette opération, entrez votre ancien mot de passe et le nouveau</translation>
+<translation id="6061772781719867950">Requêtes HTTP échouées</translation>
 <translation id="6106186594183574873">Pour terminer cette opération, entrez votre ancien mot de passe</translation>
 <translation id="6108689792487843350">Impossible d'atteindre la passerelle</translation>
 <translation id="6146993107019042706">Pour terminer cette opération, entrez votre nouveau mot de passe</translation>
@@ -129,6 +135,8 @@
 <translation id="6643016212128521049">Effacer</translation>
 <translation id="6704062477274546131">Résolution DNS</translation>
 <translation id="6747215703636344499">Tâche arrêtée : le plateau de sortie est plein</translation>
+<translation id="6766275201586212568">Échec de résolutions DNS</translation>
+<translation id="6768237774506518020">Taux d'échec élevé des résolutions DNS</translation>
 <translation id="6839141349259399400">Impossible d'établir la connexion avec les numériseurs?</translation>
 <translation id="714876143603641390">Connectivité LAN</translation>
 <translation id="7162487448488904999">Galerie</translation>
@@ -136,6 +144,7 @@
 <translation id="7359657277149375382">Type de fichier</translation>
 <translation id="7561454561030345039">C'est votre administrateur qui gère cette action</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">Latence HTTPS élevée</translation>
 <translation id="7658239707568436148">Annuler</translation>
 <translation id="7690294790491645610">Confirmez le nouveau mot de passe</translation>
 <translation id="7805768142964895445">État</translation>
@@ -148,6 +157,7 @@
 <translation id="8208861521865154048">Avantages</translation>
 <translation id="8230672074305416752">Impossible d'effectuer un ping avec la passerelle réseau par défaut</translation>
 <translation id="8294431847097064396">Source</translation>
+<translation id="8302368968391049045">Pare-feu HTTPS</translation>
 <translation id="8347227221149377169">Tâches d'impression</translation>
 <translation id="8352772353338965963">Ajouter un compte à la connexion multicompte. Tous les comptes connectés sont accessibles sans mot de passe. Nous vous recommandons donc de n'utiliser cette fonctionnalité qu'avec des comptes fiables.</translation>
 <translation id="8364946094152050673">Le champ des serveurs de nom est vide</translation>
diff --git a/chromeos/strings/chromeos_strings_fr.xtb b/chromeos/strings/chromeos_strings_fr.xtb
index 345436f..7df6261 100644
--- a/chromeos/strings/chromeos_strings_fr.xtb
+++ b/chromeos/strings/chromeos_strings_fr.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="fr">
 <translation id="1018656279737460067">Annulé</translation>
+<translation id="1071587090247825784">Pare-feu détecté</translation>
 <translation id="1075811647922107217">Taille de page</translation>
 <translation id="1195447618553298278">Erreur inconnue</translation>
 <translation id="1204296502688602597">Latence avec le DNS</translation>
+<translation id="1238612778414822719">Latence des requêtes HTTPS</translation>
 <translation id="1290331692326790741">Signal de faible intensité</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">Ajuster à la zone de numérisation</translation>
 <translation id="1397738625398125236">Pinguer la passerelle</translation>
+<translation id="1398634363027580500">Latence très élevée des requêtes HTTPS</translation>
 <translation id="1413240736185167732">Échec – Problème au niveau du filtre</translation>
 <translation id="1468664791493211953">Offres</translation>
 <translation id="1478594628797167447">Scanner</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">Échec – Bac de sortie plein</translation>
 <translation id="4034824040120875894">Imprimante</translation>
 <translation id="4131410914670010031">Noir et blanc</translation>
+<translation id="4145784616224233563">Pare-feu HTTP</translation>
 <translation id="4227825898293920515">Le mot de passe arrive à expiration dans <ph name="TIME" /></translation>
 <translation id="4238516577297848345">Aucune tâche d'impression en cours</translation>
 <translation id="4297501883039923494">Tâche suspendue - Erreur inconnue</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> sur <ph name="TOTAL_PAGE_NUMBER" />. Appuyez sur Entrée pour annuler la tâche d'impression.</translation>
 <translation id="4646949265910132906">Connexion Wi-Fi sécurisée</translation>
 <translation id="467510802200863975">Les mots de passe sont différents</translation>
+<translation id="467715984478005772">Un pare-feu semble activé</translation>
 <translation id="4691278870498629773">Tâche suspendue - Bac manquant</translation>
 <translation id="469379815867856270">Force du signal</translation>
 <translation id="4731797938093519117">Accès parental</translation>
@@ -111,6 +116,7 @@
 <translation id="6048107060512778456">Échec – Bourrage papier</translation>
 <translation id="6050189528197190982">Niveaux de gris</translation>
 <translation id="6058625436358447366">Pour terminer, saisissez votre ancien mot de passe et le nouveau</translation>
+<translation id="6061772781719867950">Échec des requêtes HTTPS</translation>
 <translation id="6106186594183574873">Pour terminer, saisissez votre ancien mot de passe</translation>
 <translation id="6108689792487843350">Passerelle injoignable</translation>
 <translation id="6146993107019042706">Pour terminer, saisissez votre nouveau mot de passe</translation>
@@ -129,6 +135,8 @@
 <translation id="6643016212128521049">Effacer</translation>
 <translation id="6704062477274546131">Résolution DNS</translation>
 <translation id="6747215703636344499">Tâche suspendue - Bac de sortie plein</translation>
+<translation id="6766275201586212568">Échec de résolutions DNS</translation>
+<translation id="6768237774506518020">Taux d'échec élevé des résolutions DNS</translation>
 <translation id="6839141349259399400">Impossible d'établir la connexion avec les scanners ?</translation>
 <translation id="714876143603641390">Connectivité LAN</translation>
 <translation id="7162487448488904999">Galerie</translation>
@@ -136,6 +144,7 @@
 <translation id="7359657277149375382">Type de fichier</translation>
 <translation id="7561454561030345039">Cette action est gérée par votre administrateur</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">Latence élevée des requêtes HTTPS</translation>
 <translation id="7658239707568436148">Annuler</translation>
 <translation id="7690294790491645610">Confirmer le nouveau mot de passe</translation>
 <translation id="7805768142964895445">État</translation>
@@ -148,6 +157,7 @@
 <translation id="8208861521865154048">Avantages</translation>
 <translation id="8230672074305416752">Impossible de pinguer la passerelle du réseau par défaut</translation>
 <translation id="8294431847097064396">Source</translation>
+<translation id="8302368968391049045">Pare-feu HTTPS</translation>
 <translation id="8347227221149377169">Tâches d'impression</translation>
 <translation id="8352772353338965963">Ajoutez un compte à la connexion multicompte. Tous les comptes connectés sont accessibles sans mot de passe. Nous vous recommandons donc de n'utiliser cette fonctionnalité qu'avec des comptes fiables.</translation>
 <translation id="8364946094152050673">Serveurs de noms vides</translation>
diff --git a/chromeos/strings/chromeos_strings_hr.xtb b/chromeos/strings/chromeos_strings_hr.xtb
index 91a60c1..dd425f1 100644
--- a/chromeos/strings/chromeos_strings_hr.xtb
+++ b/chromeos/strings/chromeos_strings_hr.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Vrlo visoka latencija HTTPS-a</translation>
 <translation id="1413240736185167732">Nije uspjelo – filtar ne radi</translation>
 <translation id="1468664791493211953">Ponude</translation>
+<translation id="1476467821656042872">Uređajem upravlja <ph name="MANAGER" /> i taj upravitelj možda može nadzirati vašu aktivnost.</translation>
 <translation id="1478594628797167447">Skener</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> upravlja ovim korisnikom i možda može daljinski upravljati postavkama i nadzirati aktivnost korisnika.</translation>
 <translation id="150962533380566081">PUK nije važeći.</translation>
 <translation id="1510238584712386396">Pokretač</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (niti: <ph name="THREAD_COUNT" />)</translation>
 <translation id="1641857168437328880">Ulagač dokumenata (jednostrano)</translation>
 <translation id="1644574205037202324">Povijest</translation>
 <translation id="1662989795263954667">Zaustavljeno – nema tinte</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skeniraj u</translation>
 <translation id="4483049906298469269">Pinganje pristupnika mreže koja nije zadana nije uspjelo</translation>
 <translation id="4548483925627140043">Signal nije pronađen</translation>
+<translation id="455835558791489930">Baterija od <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Razrješavanje svih hostova nije uspjelo</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> od <ph name="TOTAL_PAGE_NUMBER" />. Pritisnite tipku Enter da biste otkazali zadatak ispisa.</translation>
 <translation id="4646949265910132906">Sigurna Wi-Fi veza</translation>
@@ -128,7 +132,7 @@
 <translation id="649050271426829538">Zaustavljeno – zaglavljeni papir</translation>
 <translation id="6517239166834772319">Istražite</translation>
 <translation id="6527081081771465939">Nepoznat sigurnosni protokol za Wi-Fi</translation>
-<translation id="65587193855025101">Plošno</translation>
+<translation id="65587193855025101">Plošni skener</translation>
 <translation id="6564646048574748301">Nije uspjelo – pisač nije dostupan</translation>
 <translation id="6618744767048954150">U tijeku</translation>
 <translation id="6620487321149975369">Zadaci ispisa prikazivat će se u povijesti ako se ne uklone ručno</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Neuspješna razrješavanja DNS-a</translation>
 <translation id="6768237774506518020">Visoka stopa neuspješnih razrješavanja DNS-a</translation>
 <translation id="6839141349259399400">Ne možete se povezati sa skenerima?</translation>
+<translation id="7028979494427204405">Uređajem upravlja <ph name="MANAGER" /> i taj upravitelj ima pristup svim aktivnostima korisnika, uključujući posjećene web-stranice, zaporke i e-poštu.</translation>
 <translation id="714876143603641390">LAN povezivost</translation>
 <translation id="7162487448488904999">Galerija</translation>
+<translation id="7177485034254901881">Ovim uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" />. Administratori mogu konfigurirati uređaj na daljinu.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Vrsta datoteke</translation>
 <translation id="7561454561030345039">Tom radnjom upravlja vaš administrator</translation>
@@ -148,7 +154,7 @@
 <translation id="7658239707568436148">Odustani</translation>
 <translation id="7690294790491645610">Potvrdite novu zaporku</translation>
 <translation id="7805768142964895445">Status</translation>
-<translation id="7855434858642800953">Skenirane datoteke su spremljene!</translation>
+<translation id="7855434858642800953">Skenirana datoteka je spremljena!</translation>
 <translation id="7936303884198020182">Nije pronađen nijedan poslužitelj naziva</translation>
 <translation id="8041089156583427627">Slanje povratnih informacija</translation>
 <translation id="808894953321890993">Promjena zaporke</translation>
diff --git a/chromeos/strings/chromeos_strings_hy.xtb b/chromeos/strings/chromeos_strings_hy.xtb
index 4de0619..c3e0886 100644
--- a/chromeos/strings/chromeos_strings_hy.xtb
+++ b/chromeos/strings/chromeos_strings_hy.xtb
@@ -153,7 +153,7 @@
 <translation id="8041089156583427627">Կարծիք հայտնել</translation>
 <translation id="808894953321890993">Փոխել գաղտնաբառը</translation>
 <translation id="8129620843620772246"><ph name="TEMPERATURE_C" /> °C</translation>
-<translation id="8160445423316272678">Դրեք փաստաթուղթը սկաների վրա և սեղմեք <ph name="SPAN_BEGIN" />Սկանավորել<ph name="SPAN_END" />։</translation>
+<translation id="8160445423316272678">Փաստաթուղթը դրեք սկաների վրա և սեղմեք <ph name="SPAN_BEGIN" />Սկանավորել<ph name="SPAN_END" />։</translation>
 <translation id="8208861521865154048">Բոնուսներ</translation>
 <translation id="8230672074305416752">Չհաջողվեց փինգ ուղարկել կանխադրված ցանցի անցախուցին</translation>
 <translation id="8294431847097064396">Աղբյուր</translation>
diff --git a/chromeos/strings/chromeos_strings_is.xtb b/chromeos/strings/chromeos_strings_is.xtb
index b158d70..6f572689 100644
--- a/chromeos/strings/chromeos_strings_is.xtb
+++ b/chromeos/strings/chromeos_strings_is.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Mjög langur HTTPS-biðtími</translation>
 <translation id="1413240736185167732">Mistókst – bilun í síu</translation>
 <translation id="1468664791493211953">Tilboð</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> hefur umsjón með þessu tæki og getur hugsanlega fylgst með því sem þú gerir.</translation>
 <translation id="1478594628797167447">Skanni</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> hefur umsjón með þessum notanda og getur stjórnað stillingum og skoðað notendavirkni með fjartengingu.</translation>
 <translation id="150962533380566081">Ógilt PUK-númer.</translation>
 <translation id="1510238584712386396">Ræsiforrit</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> þræðir)</translation>
 <translation id="1641857168437328880">Skjalamatari (einhliða)</translation>
 <translation id="1644574205037202324">Ferill</translation>
 <translation id="1662989795263954667">Stöðvað – blekið er búið</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skanna í</translation>
 <translation id="4483049906298469269">Ping-prófun ósjálfgefinnar netkerfisgáttar mistókst</translation>
 <translation id="4548483925627140043">Merki fannst ekki</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> mAh rafhlaða</translation>
 <translation id="458794348635939462">Ekki tókst að leysa úr öllum hýslum</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> af <ph name="TOTAL_PAGE_NUMBER" />. Ýttu á færslulykilinn til að hætta við prentverkið.</translation>
 <translation id="4646949265910132906">Örugg Wi-Fi tenging</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">DNS-úrlausn mistókst</translation>
 <translation id="6768237774506518020">DNS-úrlausn mistekst oft</translation>
 <translation id="6839141349259399400">Er ekki hægt að tengjast skönnum?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> hefur umsjón með þessu tæki og hefur aðgang að allri notendavirkni, þ.m.t. heimsóttum vefsíðum, aðgangsorðum og tölvupósti.</translation>
 <translation id="714876143603641390">LAN-tenging</translation>
 <translation id="7162487448488904999">Gallerí</translation>
+<translation id="7177485034254901881"><ph name="MANAGER" /> hefur umsjón með þessu <ph name="DEVICE_TYPE" />. Kerfisstjórar geta stillt tækið í gegnum fjartengingu.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Skráargerð</translation>
 <translation id="7561454561030345039">Kerfisstjórinn þinn stjórnar þessari stillingu</translation>
diff --git a/chromeos/strings/chromeos_strings_ja.xtb b/chromeos/strings/chromeos_strings_ja.xtb
index 65c11df2..4b547aa 100644
--- a/chromeos/strings/chromeos_strings_ja.xtb
+++ b/chromeos/strings/chromeos_strings_ja.xtb
@@ -17,7 +17,7 @@
 <translation id="1478594628797167447">スキャナ</translation>
 <translation id="150962533380566081">無効な PUK です。</translation>
 <translation id="1510238584712386396">ランチャー</translation>
-<translation id="1641857168437328880">自動給紙(片面)</translation>
+<translation id="1641857168437328880">ドキュメント フィーダー(片面)</translation>
 <translation id="1644574205037202324">履歴</translation>
 <translation id="1662989795263954667">停止 - インク切れ</translation>
 <translation id="1703835215927279855">Letter</translation>
@@ -46,7 +46,7 @@
 <translation id="3083667275341675831">接続診断</translation>
 <translation id="3091839911843451378">失敗 - 停止中です</translation>
 <translation id="3188257591659621405">マイファイル</translation>
-<translation id="3199982728237701504">自動給紙(両面)</translation>
+<translation id="3199982728237701504">ドキュメント フィーダー(両面)</translation>
 <translation id="3246869037381808805">昨日より前の印刷ジョブは削除されます</translation>
 <translation id="3268178239013324452">失敗 - 扉が開いています</translation>
 <translation id="3310640316857623290">DNS の応答時間が許容値を大幅に超えています</translation>
@@ -128,7 +128,7 @@
 <translation id="649050271426829538">停止 - 紙詰まり</translation>
 <translation id="6517239166834772319">使い方・ヒント</translation>
 <translation id="6527081081771465939">Wi-Fi のセキュリティ プロトコルが不明です</translation>
-<translation id="65587193855025101">平台</translation>
+<translation id="65587193855025101">フラットベッド</translation>
 <translation id="6564646048574748301">失敗 - プリンタにアクセスできません</translation>
 <translation id="6618744767048954150">実行中</translation>
 <translation id="6620487321149975369">印刷ジョブは、手動で削除するまで履歴に表示されます</translation>
diff --git a/chromeos/strings/chromeos_strings_ka.xtb b/chromeos/strings/chromeos_strings_ka.xtb
index dcf8535..371f01007 100644
--- a/chromeos/strings/chromeos_strings_ka.xtb
+++ b/chromeos/strings/chromeos_strings_ka.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">HTTPS რეაგირების დრო ძალიან დიდია</translation>
 <translation id="1413240736185167732">ვერ მოხერხდა — ფილტრის ხარვეზი</translation>
 <translation id="1468664791493211953">შემოთავაზებები</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> მართავს ამ მოწყობილობას და შეუძლია თქვენი აქტივობის მონიტორინგი.</translation>
 <translation id="1478594628797167447">სკანერი</translation>
+<translation id="1499900233129743732">ამ მომხმარებელს მართავს <ph name="MANAGER" />, რომელსაც შეუძლია პარამეტრების დისტანციურად მართვა და მომხმარებლის აქტივობის მონიტორინგი.</translation>
 <translation id="150962533380566081">PUK კოდი არასწორია.</translation>
 <translation id="1510238584712386396">გამშვები</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> ნაკადი)</translation>
 <translation id="1641857168437328880">დოკუმენტების მიმწოდი (ცალმხრივი)</translation>
 <translation id="1644574205037202324">ისტორია</translation>
 <translation id="1662989795263954667">გაჩერდა — მელანი გათავდა</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">შენახვის ადგილი</translation>
 <translation id="4483049906298469269">არანაგულისხმევი ქსელის გეითვეისთან კავშირის შემოწმება ვერ მოხერხდა</translation>
 <translation id="4548483925627140043">სიგნალი ვერ მოიძებნა</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> მა·სთ-იანი ბატარეა</translation>
 <translation id="458794348635939462">ჰოსტების გარდაქმნა ვერ მოხერხდა</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> / <ph name="TOTAL_PAGE_NUMBER" />. გთხოვთ დააჭიროთ შეყვანის ღილაკს ამ ბეჭდვის დავალების გასაუქმებლად.</translation>
 <translation id="4646949265910132906">დაცული Wi-Fi კავშირი</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">DNS ვერ დარეგულირდა</translation>
 <translation id="6768237774506518020">DNS-ის წარუმატებელი დარეგულირებების მაჩვენებელი მაღალია</translation>
 <translation id="6839141349259399400">ვერ უკავშირდებით სკანერებს?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> მართავს ამ მოწყობილობას და აქვს წვდომა მომხმარებლების ნებისმიერ აქტივობაზე, მათ შორის, მონახულებულ ვებგვერდებზე, პაროლებსა და ელფოსტაზე.</translation>
 <translation id="714876143603641390">LAN-ის კავშირი</translation>
 <translation id="7162487448488904999">გალერეა</translation>
+<translation id="7177485034254901881">ეს <ph name="DEVICE_TYPE" /> იმართება <ph name="MANAGER" />-ის მიერ. ადმინისტრატორებს შეუძლიათ ამ მოწყობილობის დისტანციურად კონფიგურაცია.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">ფაილის ტიპი</translation>
 <translation id="7561454561030345039">ამ მოქმედებას მართავს თქვენი ადმინისტრატორი</translation>
diff --git a/chromeos/strings/chromeos_strings_lt.xtb b/chromeos/strings/chromeos_strings_lt.xtb
index f5a64e8..6c54ab2 100644
--- a/chromeos/strings/chromeos_strings_lt.xtb
+++ b/chromeos/strings/chromeos_strings_lt.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Labai didelė HTTPS delsa</translation>
 <translation id="1413240736185167732">Nepavyko – filtras neveikia tinkamai</translation>
 <translation id="1468664791493211953">Pasiūlymai</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> tvarko šį įrenginį ir gali stebėti jūsų veiklą.</translation>
 <translation id="1478594628797167447">Skaitytuvas</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> valdo šį naudotoją ir gali nuotoliniu būdu valdyti nustatymus bei stebėti naudotojo veiklą.</translation>
 <translation id="150962533380566081">Netinkamas PUK.</translation>
 <translation id="1510238584712386396">Paleidimo priemonė</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (gijų: <ph name="THREAD_COUNT" />)</translation>
 <translation id="1641857168437328880">Dokumentų tiektuvas (vienpusis)</translation>
 <translation id="1644574205037202324">Istorija</translation>
 <translation id="1662989795263954667">Sustabdyta – baigėsi rašalas</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Nuskaityti į</translation>
 <translation id="4483049906298469269">Nepavyko patikrinti ryšio su nenumatytuoju tinklų sietuvu</translation>
 <translation id="4548483925627140043">Signalas nerastas</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> mAh akumuliatorius</translation>
 <translation id="458794348635939462">Nepavyko nustatyti jokių prieglobų pavadinimų</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, „<ph name="PRINTER_NAME" />“, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> iš <ph name="TOTAL_PAGE_NUMBER" /> psl. Paspauskite „Enter“, jei norite atšaukti spausdinimo užduotį.</translation>
 <translation id="4646949265910132906">Saugus „Wi-Fi“ ryšys</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Nepavykę DNS nustatymo veiksmai</translation>
 <translation id="6768237774506518020">Aukštas DNS nustatymo trikčių rodiklis</translation>
 <translation id="6839141349259399400">Nepavyko prisijungti prie skaitytuvų?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> tvarko šį įrenginį ir gali pasiekti visus naudotojo veiklos duomenis, įskaitant tinklalapius, kuriuose lankėsi, slaptažodžius ir el. paštą.</translation>
 <translation id="714876143603641390">LAN ryšys</translation>
 <translation id="7162487448488904999">Galerija</translation>
+<translation id="7177485034254901881">Šį „<ph name="DEVICE_TYPE" />“ valdo <ph name="MANAGER" />. Administratoriai gali nuotoliniu būdu konfigūruoti įrenginį.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Failo tipas</translation>
 <translation id="7561454561030345039">Šį veiksmą tvarko jūsų administratorius</translation>
diff --git a/chromeos/strings/chromeos_strings_mk.xtb b/chromeos/strings/chromeos_strings_mk.xtb
index 8ab8e49..6ea4208 100644
--- a/chromeos/strings/chromeos_strings_mk.xtb
+++ b/chromeos/strings/chromeos_strings_mk.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Многу висока латенција на HTTPS</translation>
 <translation id="1413240736185167732">Неуспешно - филтерот не успеа</translation>
 <translation id="1468664791493211953">Понуди</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> управува со уредов и може да ја набљудува вашата активност.</translation>
 <translation id="1478594628797167447">Скенер</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> управува со корисников и може оддалеку да управува со поставките и да ја набљудува неговата активност.</translation>
 <translation id="150962533380566081">Погрешен PUK.</translation>
 <translation id="1510238584712386396">Стартер</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> низи)</translation>
 <translation id="1641857168437328880">Внесувач на документи (едностран)</translation>
 <translation id="1644574205037202324">Историја</translation>
 <translation id="1662989795263954667">Запрено - нема мастило</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Скенирај во</translation>
 <translation id="4483049906298469269">Не успеа да се пингува нестандардниот мрежен портал</translation>
 <translation id="4548483925627140043">Не е најден сигнал</translation>
+<translation id="455835558791489930">Батерија од <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Неуспешно отворање на сите хостови</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> од <ph name="TOTAL_PAGE_NUMBER" />. Притиснете Enter за да го откажете налогот за печатење.</translation>
 <translation id="4646949265910132906">Безбедна Wi-Fi врска</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Неуспешни одредувања со DNS</translation>
 <translation id="6768237774506518020">Висока стапка на неуспех на одредување со DNS</translation>
 <translation id="6839141349259399400">Не може да се поврзете со скенерите?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> управува со уредов и има пристап до целата активност на корисникот, вклучувајќи ги и посетените веб-страници, лозинките и е-поштата.</translation>
 <translation id="714876143603641390">LAN-поврзливост</translation>
 <translation id="7162487448488904999">Галерија</translation>
+<translation id="7177485034254901881"><ph name="MANAGER" /> управува со овој <ph name="DEVICE_TYPE" />. Администраторите може да го конфигурираат уредот оддалеку.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Вид датотека</translation>
 <translation id="7561454561030345039">Администраторот управува со дејствово</translation>
diff --git a/chromeos/strings/chromeos_strings_ml.xtb b/chromeos/strings/chromeos_strings_ml.xtb
index f26b060..9290a82 100644
--- a/chromeos/strings/chromeos_strings_ml.xtb
+++ b/chromeos/strings/chromeos_strings_ml.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">വളരെ ഉയർന്ന HTTPS പ്രതികരണ സമയം</translation>
 <translation id="1413240736185167732">പ്രിന്റ് ചെയ്യാനായില്ല - ഫിൽട്ടർ പ്രവർത്തിക്കുന്നില്ല</translation>
 <translation id="1468664791493211953">ഓഫറുകൾ</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> ഈ ഉപകരണം മാനേജ് ചെയ്യുന്നു, ഒപ്പം നിങ്ങളുടെ ആക്‌റ്റിവിറ്റികൾ നിരീക്ഷിക്കാനുമായേക്കും.</translation>
 <translation id="1478594628797167447">സ്‌കാനർ</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> ആണ് ഈ ഉപയോക്താവിനെ മാനേജ് ചെയ്യുന്നത്, ഒപ്പം വിദൂരമായി ക്രമീകരണം മാനേജ് ചെയ്യുകയും ഉപയോക്തൃ ആക്‌റ്റിവിറ്റി നിരീക്ഷിക്കുകയും ചെയ്തേക്കാം.</translation>
 <translation id="150962533380566081">അസാധുവായ PUK.</translation>
 <translation id="1510238584712386396">ലോഞ്ചർ</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> ത്രെഡുകൾ)</translation>
 <translation id="1641857168437328880">ഡോക്യുമെന്റ് ഫീഡർ (ഒരു വശമുള്ളത്)</translation>
 <translation id="1644574205037202324">ചരിത്രം</translation>
 <translation id="1662989795263954667">പ്രിന്റ് ജോലി നിർത്തി - മഷിയില്ല</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">ഇതിലേക്ക് സ്‌കാൻ ചെയ്ത് സംരക്ഷിക്കുക</translation>
 <translation id="4483049906298469269">നോൺ-ഡിഫോൾട്ട് നെറ്റ്‌വർക്ക് ഗേറ്റ്‍വേ പിംഗ് ചെയ്യാനായില്ല</translation>
 <translation id="4548483925627140043">സിഗ്‌നൽ കണ്ടെത്തിയില്ല</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" />mAh ബാറ്ററി</translation>
 <translation id="458794348635939462">എല്ലാ ഹോസ്‌റ്റുകളും പരിഹരിക്കാനായില്ല</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, ആകെയുള്ള <ph name="TOTAL_PAGE_NUMBER" /> എണ്ണത്തിൽ <ph name="PRINTED_PAGE_NUMBER" /> എണ്ണം. പ്രിന്റ് ജോലി റദ്ദാക്കാൻ എന്റർ അമർത്തുക.</translation>
 <translation id="4646949265910132906">സുരക്ഷിതമായ വൈഫൈ കണക്ഷൻ</translation>
@@ -137,8 +141,10 @@
 <translation id="6766275201586212568">പരാജയപ്പെട്ട DNS റെസല്യൂഷനുകൾ</translation>
 <translation id="6768237774506518020">ഉയർന്ന DNS റെസല്യൂഷൻ ഫെയ്‌ലിയർ നിരക്ക്</translation>
 <translation id="6839141349259399400">സ്‌കാനറുകളിലേക്ക് കണക്റ്റ് ചെയ്യാനാകുന്നില്ലേ?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> ഈ ഉപകരണം മാനേജ് ചെയ്യുന്നു, സന്ദർശിച്ച വെബ്‌പേജുകൾ, പാസ്‌വേഡുകൾ, ഇമെയിൽ എന്നിവയുൾപ്പെടെ ഉപയോക്താവിന്റെ എല്ലാ ആക്‌റ്റിവിറ്റികളിലേക്കും ആക്‌സസും ഉണ്ടായിരിക്കും.</translation>
 <translation id="714876143603641390">LAN കണക്റ്റിവിറ്റി</translation>
 <translation id="7162487448488904999">ഗാലറി</translation>
+<translation id="7177485034254901881">ഈ <ph name="DEVICE_TYPE" /> മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്. അഡ്മിൻമാർ ഉപകരണം വിദൂരമായി കോൺഫിഗർ ചെയ്‌തേക്കാം.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">ഫയല്‍ തരം</translation>
 <translation id="7561454561030345039">ഈ പ്രവർത്തനം മാനേജ് ചെയ്യുന്നത് നിങ്ങളുടെ അഡ്‌മിനാണ്</translation>
diff --git a/chromeos/strings/chromeos_strings_ne.xtb b/chromeos/strings/chromeos_strings_ne.xtb
index 39322251..566ffc02 100644
--- a/chromeos/strings/chromeos_strings_ne.xtb
+++ b/chromeos/strings/chromeos_strings_ne.xtb
@@ -2,17 +2,22 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="ne">
 <translation id="1018656279737460067">रद्द गरियो</translation>
+<translation id="1071587090247825784">फायरवाल पत्ता लाग्यो</translation>
 <translation id="1075811647922107217">पेजको आकार</translation>
 <translation id="1195447618553298278">अज्ञात त्रुटि:</translation>
 <translation id="1204296502688602597">DNS को विलम्बता</translation>
+<translation id="1238612778414822719">HTTPS को विलम्बता</translation>
 <translation id="1290331692326790741">कमजोर सिग्नल</translation>
 <translation id="1330426557709298164">JPG</translation>
+<translation id="1337912285145772892">स्क्यान गर्ने क्षेत्रमा मिलाउनुहोस्</translation>
 <translation id="1397738625398125236">गेटवे पिङ गर्न सकिन्छ</translation>
+<translation id="1398634363027580500">HTTPS को विलम्बता अति धेरै छ</translation>
 <translation id="1413240736185167732">प्रिन्ट गर्न सकिएन - फिल्टरमा समस्या आयो</translation>
 <translation id="1468664791493211953">योजनाहरू</translation>
 <translation id="1478594628797167447">स्क्यानर</translation>
 <translation id="150962533380566081">अमान्य PUK।</translation>
 <translation id="1510238584712386396">लन्चर</translation>
+<translation id="1641857168437328880">डकुमेन्ट फिडर (एकतर्फी)</translation>
 <translation id="1644574205037202324">इतिहास</translation>
 <translation id="1662989795263954667">रोकियो - प्रिन्टरको मसी सकियो</translation>
 <translation id="1703835215927279855">Letter</translation>
@@ -41,6 +46,7 @@
 <translation id="3083667275341675831">कनेक्टिभिटी डाइगोनेस्टिक्स</translation>
 <translation id="3091839911843451378">प्रिन्ट गर्न सकिएन - प्रिन्ट गर्दा गर्दै रोकियो</translation>
 <translation id="3188257591659621405">मेरा फाइलहरू</translation>
+<translation id="3199982728237701504">डकुमेन्ट फिडर (दुईतर्फी)</translation>
 <translation id="3246869037381808805">१ दिनभन्दा पहिलेका प्रिन्टसम्बन्धी कार्यहरू हटाइने छन्</translation>
 <translation id="3268178239013324452">प्रिन्ट गर्न सकिएन - प्रिन्टरको कभर खुला छ</translation>
 <translation id="3310640316857623290">DNS को विलम्बता तोकिएको समयसीमाभन्दा अत्याधिक मात्रामा बढी छ</translation>
@@ -61,11 +67,13 @@
 <translation id="4003384961948020559">प्रिन्ट गर्न सकिएन - ट्रे भरियो</translation>
 <translation id="4034824040120875894">प्रिन्टर</translation>
 <translation id="4131410914670010031">कालो र सेतो</translation>
+<translation id="4145784616224233563">HTTP फायरवाल</translation>
 <translation id="4227825898293920515">पासवर्डको म्याद <ph name="TIME" /> मा सकिन्छ</translation>
 <translation id="4238516577297848345">प्रिन्टसम्बन्धी कुनै पनि काम भइरहेको छैन</translation>
 <translation id="4297501883039923494">रोकियो - अज्ञात त्रुटि भयो</translation>
 <translation id="4378373042927530923">चलेन</translation>
 <translation id="4382484599443659549">PDF</translation>
+<translation id="4421943235406860811">स्क्यान गरिएका फाइलहरू सुरक्षित गरिए!</translation>
 <translation id="4425149324548788773">मेरो ड्राइभ</translation>
 <translation id="4429881212383817840">Kerberos टिकटको म्याद चाँडै सकिँदै छ</translation>
 <translation id="445059817448385655">पुरानो पासवर्ड</translation>
@@ -76,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="TOTAL_PAGE_NUMBER" /> मध्ये <ph name="PRINTED_PAGE_NUMBER" />। प्रिन्ट गर्ने कार्य रद्द गर्न enter थिच्नुहोस्।</translation>
 <translation id="4646949265910132906">WiFi कनेक्सन सुरक्षित बनाउनुहोस्</translation>
 <translation id="467510802200863975">पासवर्डहरू मिलेनन्</translation>
+<translation id="467715984478005772">फायरवाल हुन सक्छ</translation>
 <translation id="4691278870498629773">रोकियो - प्रिन्टरमा ट्रे छैन</translation>
 <translation id="469379815867856270">सिग्नलको क्षमता</translation>
 <translation id="4731797938093519117">अभिभावकको पहुँच</translation>
@@ -106,6 +115,7 @@
 <translation id="6048107060512778456">प्रिन्ट गर्न सकिएन - कागज अड्कियो</translation>
 <translation id="6050189528197190982">ग्रेस्केल</translation>
 <translation id="6058625436358447366">यो कार्य पूरा गर्न आफ्नो पुरानो र नयाँ पासवर्ड प्रविष्टि गर्नुहोस्</translation>
+<translation id="6061772781719867950">HTTP अनुरोधहरू पठाउन सकिएन</translation>
 <translation id="6106186594183574873">यो कार्य पूरा गर्न आफ्नो पुरानो पासवर्ड प्रविष्टि गर्नुहोस्</translation>
 <translation id="6108689792487843350">गेटवेमा कनेक्ट गर्न सकिएन</translation>
 <translation id="6146993107019042706">यो कार्य पूरा गर्न आफ्नो नयाँ पासवर्ड प्रविष्टि गर्नुहोस्</translation>
@@ -117,28 +127,36 @@
 <translation id="649050271426829538">रोकियो - प्रिन्टरमा कागज अड्कियो</translation>
 <translation id="6517239166834772319">एक्स्प्लोर</translation>
 <translation id="6527081081771465939">अज्ञात WiFi सेक्युरिटी प्रोटोकोल</translation>
+<translation id="65587193855025101">फ्याल्टबेड</translation>
 <translation id="6564646048574748301">प्रिन्ट गर्न सकिएन - प्रिन्टरमा कनेक्ट भइरहेको छैन</translation>
 <translation id="6618744767048954150">जाँच हुँदै छ</translation>
 <translation id="6620487321149975369">तपाईंले प्रिन्टसम्बन्धी कार्यहरू नहटाउँदासम्म ती कार्यहरू इतिहासमा देखिने छन्</translation>
 <translation id="6643016212128521049">खालि गर्नुहोस्</translation>
 <translation id="6704062477274546131">DNS रिजोल्युसन</translation>
 <translation id="6747215703636344499">रोकियो - प्रिन्टरको आउटपुट ट्रे भरिएको छ</translation>
+<translation id="6766275201586212568">DNS रिजोल्युसन पूरा हुन सकेनन्</translation>
+<translation id="6768237774506518020">DNS रिजोल्युसन पूरा हुन नसक्ने दर उच्च छ</translation>
+<translation id="6839141349259399400">स्क्यानरमा कनेक्ट गर्न सकिएन?</translation>
 <translation id="714876143603641390">Lan कनेक्टिभिटी</translation>
 <translation id="7162487448488904999">Gallery</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">फाइलको प्रकार</translation>
 <translation id="7561454561030345039">यो कार्य तपाईंका एड्मिनले व्यवस्थापन गर्नुभएको छ</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">HTTPS को विलम्बता धेरै छ</translation>
 <translation id="7658239707568436148">रद्द गर्नुहोस्</translation>
 <translation id="7690294790491645610">नयाँ पासवर्ड पुष्टि गर्नुहोस्</translation>
 <translation id="7805768142964895445">स्थिति</translation>
+<translation id="7855434858642800953">स्क्यान गरिएको फाइल सुरक्षित गरियो!</translation>
 <translation id="7936303884198020182">कुनै पनि डोमेन नेम सर्भर फेला परेन</translation>
 <translation id="8041089156583427627">प्रतिक्रिया पठाउनुहोस्।</translation>
 <translation id="808894953321890993">पासवर्ड परिवर्तन गर्नुहोस्‌</translation>
 <translation id="8129620843620772246"><ph name="TEMPERATURE_C" />° से.</translation>
+<translation id="8160445423316272678">स्क्यानरमा आफ्नो कागजात राख्नुहोस् र स्क्यान गर्न थाल्न <ph name="SPAN_BEGIN" />स्क्यान गर्नुहोस्<ph name="SPAN_END" /> विकल्प चयन गर्नुहोस्</translation>
 <translation id="8208861521865154048">लाभहरू</translation>
 <translation id="8230672074305416752">पूर्वनिर्धारित नेटवर्कको गेटवे पिङ गर्न सकिएन</translation>
 <translation id="8294431847097064396">स्रोत</translation>
+<translation id="8302368968391049045">HTTPS फायरवाल</translation>
 <translation id="8347227221149377169">प्रिन्टसम्बन्धी कार्यहरू</translation>
 <translation id="8352772353338965963">बहुविध साइन-इन को लागि एउटा खाता थप्नुहोस्। सबै साइन-इन भएका खाताहरू पासवर्ड विना नै पहुँच गर्न सकिन्छ, त्यसैले यो सुविधा विश्वसनीय खाताहरूसँग मात्रै प्रयोग गर्नुपर्छ।</translation>
 <translation id="8364946094152050673">डोमेन नेम सर्भरहरू खाली छन्</translation>
@@ -155,5 +173,6 @@
 <translation id="8919837981463578619">प्रिन्ट गर्न सकिएन - ट्रे छैन</translation>
 <translation id="8928727111548978589">प्रिन्ट गर्न सकिएन - कागज सकियो</translation>
 <translation id="910415269708673980"><ph name="PRINCIPAL_NAME" /> को टिकट पुन: ताजा गर्नुहोस्</translation>
+<translation id="9106415115617144481">पेज <ph name="PAGE_NUMBER" /> स्क्यान गरिँदै छ</translation>
 <translation id="9111102763498581341">अनलक गर्नुहोस्</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chromeos/strings/chromeos_strings_nl.xtb b/chromeos/strings/chromeos_strings_nl.xtb
index 15a8277..b948211 100644
--- a/chromeos/strings/chromeos_strings_nl.xtb
+++ b/chromeos/strings/chromeos_strings_nl.xtb
@@ -116,7 +116,7 @@
 <translation id="6048107060512778456">Mislukt - Papierstoring</translation>
 <translation id="6050189528197190982">Grijstinten</translation>
 <translation id="6058625436358447366">Geef je oude en nieuwe wachtwoord op om te voltooien</translation>
-<translation id="6061772781719867950">Mislukte HTTP-verzoeken</translation>
+<translation id="6061772781719867950">Mislukte HTTPS-verzoeken</translation>
 <translation id="6106186594183574873">Geef je oude wachtwoord op om te voltooien</translation>
 <translation id="6108689792487843350">Gateway is onbereikbaar</translation>
 <translation id="6146993107019042706">Geef je nieuwe wachtwoord opnieuw op om te voltooien</translation>
diff --git a/chromeos/strings/chromeos_strings_no.xtb b/chromeos/strings/chromeos_strings_no.xtb
index b50cd2a..830ad77 100644
--- a/chromeos/strings/chromeos_strings_no.xtb
+++ b/chromeos/strings/chromeos_strings_no.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Svært høy HTTPS-tidsforsinkelse</translation>
 <translation id="1413240736185167732">Mislykket – filtersvikt</translation>
 <translation id="1468664791493211953">Tilbud</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> administrerer denne enheten og kan muligens overvåke aktiviteten din.</translation>
 <translation id="1478594628797167447">Skanner</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> administrerer denne brukeren og kan administrere innstillinger og overvåke brukeraktiviteten eksternt.</translation>
 <translation id="150962533380566081">Ugyldig PUK.</translation>
 <translation id="1510238584712386396">Appoversikt</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> tråder)</translation>
 <translation id="1641857168437328880">Dokumentmater (ensidig)</translation>
 <translation id="1644574205037202324">Logg</translation>
 <translation id="1662989795263954667">Stoppet – tom for blekk</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skann til</translation>
 <translation id="4483049906298469269">Kunne ikke pinge gatewayen for ikke-standardnettverket</translation>
 <translation id="4548483925627140043">Fant ikke noe signal</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" /> mAh-batteri</translation>
 <translation id="458794348635939462">Kunne ikke finne tilknytning til alle vertene</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> av <ph name="TOTAL_PAGE_NUMBER" />. Trykk på Enter for å avbryte utskriftsjobben.</translation>
 <translation id="4646949265910132906">Sikker Wi-Fi-tilkobling</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Mislykkede DNS-oppslag</translation>
 <translation id="6768237774506518020">Høy feilfrekvens for DNS-oppslag</translation>
 <translation id="6839141349259399400">Kan du ikke koble til noen skannere?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> administrerer denne enheten og har tilgang til all brukeraktivitet, blant annet nettsteder som besøkes, passord og e-post.</translation>
 <translation id="714876143603641390">LAN-tilkobling</translation>
 <translation id="7162487448488904999">Galleri</translation>
+<translation id="7177485034254901881"><ph name="DEVICE_TYPE" /> administreres av <ph name="MANAGER" />. Administratorer kan konfigurere enheten eksternt.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Filtype</translation>
 <translation id="7561454561030345039">Denne handlingen administreres av administratoren</translation>
diff --git a/chromeos/strings/chromeos_strings_pa.xtb b/chromeos/strings/chromeos_strings_pa.xtb
index 55df885..08f36ee 100644
--- a/chromeos/strings/chromeos_strings_pa.xtb
+++ b/chromeos/strings/chromeos_strings_pa.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="pa">
 <translation id="1018656279737460067">ਰੱਦ ਕੀਤਾ</translation>
+<translation id="1071587090247825784">Firewall ਦਾ ਪਤਾ ਲੱਗਾ</translation>
 <translation id="1075811647922107217">ਪੰਨੇ ਦਾ ਆਕਾਰ</translation>
 <translation id="1195447618553298278">ਅਗਿਆਤ ਗੜਬੜ।</translation>
 <translation id="1204296502688602597">DNS ਵਿਲੰਬਤਾ</translation>
+<translation id="1238612778414822719">HTTPS ਵਿਲੰਬਤਾ</translation>
 <translation id="1290331692326790741">ਕਮਜ਼ੋਰ ਸਿਗਨਲ</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">ਸਕੈਨ ਕਰਨ ਯੋਗ ਖੇਤਰ ਵਿੱਚ ਫਿੱਟ ਕਰੋ</translation>
 <translation id="1397738625398125236">ਗੇਟਵੇ ਨੂੰ ਪਿੰਗ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ</translation>
+<translation id="1398634363027580500">ਬਹੁਤ ਜ਼ਿਆਦਾ HTTPS ਵਿਲੰਬਤਾ</translation>
 <translation id="1413240736185167732">ਅਸਫਲ ਰਹੀ - ਫਿਲਟਰ ਅਸਫਲ ਰਿਹਾ</translation>
 <translation id="1468664791493211953">ਪੇਸ਼ਕਸ਼ਾਂ</translation>
 <translation id="1478594628797167447">ਸਕੈਨਰ</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">ਅਸਫਲ ਰਹੀ - ਆਊਟਪੁੱਟ ਭਰ ਗਿਆ ਹੈ</translation>
 <translation id="4034824040120875894">ਪ੍ਰਿੰਟਰ</translation>
 <translation id="4131410914670010031">ਕਾਲਾ ਅਤੇ ਚਿੱਟਾ</translation>
+<translation id="4145784616224233563">HTTP ਫ਼ਾਇਰਵਾਲ</translation>
 <translation id="4227825898293920515">ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ <ph name="TIME" /> ਵਿੱਚ ਮੁੱਕ ਜਾਵੇਗੀ</translation>
 <translation id="4238516577297848345">ਕੋਈ ਪ੍ਰਿੰਟ ਜੌਬ ਪ੍ਰਕਿਰਿਆ-ਅਧੀਨ ਨਹੀਂ ਹੈ</translation>
 <translation id="4297501883039923494">ਬੰਦ ਹੋ ਗਿਆ - ਅਗਿਆਤ ਗੜਬੜ</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="TOTAL_PAGE_NUMBER" /> ਵਿੱਚੋਂ <ph name="PRINTED_PAGE_NUMBER" />। ਪ੍ਰਿੰਟ ਜੌਬ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ Enter ਦਬਾਓ।</translation>
 <translation id="4646949265910132906">ਸੁਰੱਖਿਅਤ ਵਾਈ-ਫਾਈ ਕਨੈਕਸ਼ਨ</translation>
 <translation id="467510802200863975">ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ</translation>
+<translation id="467715984478005772">ਫ਼ਾਇਰਵਾਲ 'ਤੇ ਸ਼ੱਕ ਹੈ</translation>
 <translation id="4691278870498629773">ਬੰਦ ਹੋ ਗਿਆ - ਟ੍ਰੇਅ ਮੌਜੂਦ ਨਹੀਂ ਹੈ</translation>
 <translation id="469379815867856270">ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ</translation>
 <translation id="4731797938093519117">ਮਾਂ-ਪਿਓ ਲਈ ਪਹੁੰਚ</translation>
@@ -110,6 +115,7 @@
 <translation id="6048107060512778456">ਅਸਫਲ ਰਹੀ - ਕਾਗਜ਼ ਫਸ ਗਿਆ ਹੈ</translation>
 <translation id="6050189528197190982">Grayscale</translation>
 <translation id="6058625436358447366">ਪੂਰਾ ਕਰਨ ਲਈ, ਆਪਣਾ ਪੁਰਾਣਾ ਅਤੇ ਨਵਾਂ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ</translation>
+<translation id="6061772781719867950">ਅਸਫਲ HTTP ਬੇਨਤੀਆਂ</translation>
 <translation id="6106186594183574873">ਪੂਰਾ ਕਰਨ ਲਈ, ਆਪਣਾ ਪੁਰਾਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ</translation>
 <translation id="6108689792487843350">ਗੇਟਵੇ ਪਹੁੰਚਯੋਗ ਨਹੀਂ ਹੈ</translation>
 <translation id="6146993107019042706">ਪੂਰਾ ਕਰਨ ਲਈ, ਆਪਣਾ ਨਵਾਂ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ</translation>
@@ -128,6 +134,8 @@
 <translation id="6643016212128521049">ਹਟਾਓ</translation>
 <translation id="6704062477274546131">DNS ਰੈਜ਼ੋਲਿਊਸ਼ਨ</translation>
 <translation id="6747215703636344499">ਬੰਦ ਹੋ ਗਿਆ - ਆਊਟਪੁੱਟ ਭਰ ਗਿਆ ਹੈ</translation>
+<translation id="6766275201586212568">ਅਸਫਲ DNS ਰੈਜ਼ੋਲਿਊਸ਼ਨ</translation>
+<translation id="6768237774506518020">DNS ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਅਸਫਲ ਦੀ ਉੱਚ ਦਰ</translation>
 <translation id="6839141349259399400">ਕੀ ਸਕੈਨਰਾਂ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ?</translation>
 <translation id="714876143603641390">LAN ਕਨੈਕਟੀਵਿਟੀ</translation>
 <translation id="7162487448488904999">ਗੈਲਰੀ</translation>
@@ -135,6 +143,7 @@
 <translation id="7359657277149375382">ਫ਼ਾਈਲ ਦੀ ਕਿਸਮ</translation>
 <translation id="7561454561030345039">ਤੁਹਾਡਾ ਪ੍ਰਸ਼ਾਸਕ ਇਸ ਕਾਰਵਾਈ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">ਜ਼ਿਆਦਾ HTTPS ਵਿਲੰਬਤਾ</translation>
 <translation id="7658239707568436148">ਰੱਦ ਕਰੋ</translation>
 <translation id="7690294790491645610">ਨਵੇਂ ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</translation>
 <translation id="7805768142964895445">ਸਥਿਤੀ</translation>
@@ -147,6 +156,7 @@
 <translation id="8208861521865154048">ਫ਼ਾਇਦੇ</translation>
 <translation id="8230672074305416752">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਨੈੱਟਵਰਕ ਗੇਟਵੇ ਨੂੰ ਪਿੰਗ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ</translation>
 <translation id="8294431847097064396">ਸ੍ਰੋਤ</translation>
+<translation id="8302368968391049045">HTTPS ਫ਼ਾਇਰਵਾਲ</translation>
 <translation id="8347227221149377169">ਪ੍ਰਿੰਟ ਜੌਬਾਂ</translation>
 <translation id="8352772353338965963">ਬਹੁ-ਗਿਣਤੀ ਸਾਈਨ-ਇਨ ਲਈ ਇੱਕ ਖਾਤਾ ਸ਼ਾਮਲ ਕਰੋ। ਸਾਰੇ ਸਾਈਨ-ਇਨ ਕੀਤੇ ਖਾਤਿਆਂ ਤੱਕ ਬਿਨਾਂ ਕਿਸੇ ਪਾਸਵਰਡ ਦੇ ਪਹੁੰਚਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਇਸਲਈ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਸਿਰਫ਼ ਭਰੋਸੇਯੋਗ ਖਾਤਿਆਂ ਨਾਲ ਵਰਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ।</translation>
 <translation id="8364946094152050673">ਖਾਲੀ ਨਾਮ ਸਰਵਰ</translation>
diff --git a/chromeos/strings/chromeos_strings_pl.xtb b/chromeos/strings/chromeos_strings_pl.xtb
index c11278e..abc9022 100644
--- a/chromeos/strings/chromeos_strings_pl.xtb
+++ b/chromeos/strings/chromeos_strings_pl.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">bardzo duże opóźnienie HTTPS</translation>
 <translation id="1413240736185167732">Niepowodzenie – błąd filtra</translation>
 <translation id="1468664791493211953">Oferty</translation>
+<translation id="1476467821656042872">Tym urządzeniem zarządza <ph name="MANAGER" />. Może też monitorować Twoją aktywność.</translation>
 <translation id="1478594628797167447">Skanery</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> zarządza tym użytkownikiem i może zdalnie monitorować jego aktywność oraz zarządzać ustawieniami.</translation>
 <translation id="150962533380566081">Nieprawidłowy PUK.</translation>
 <translation id="1510238584712386396">Menu z aplikacjami</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" />-wątkowy)</translation>
 <translation id="1641857168437328880">Podajnik dokumentów (jednostronny)</translation>
 <translation id="1644574205037202324">Historia</translation>
 <translation id="1662989795263954667">Zatrzymano – brak tuszu</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skanuj do</translation>
 <translation id="4483049906298469269">Nie udało się sprawdzić pingiem bramy sieciowej innej niż domyślna</translation>
 <translation id="4548483925627140043">Nie znaleziono sygnału</translation>
+<translation id="455835558791489930">Bateria <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Nie udało się znaleźć wszystkich hostów</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> z <ph name="TOTAL_PAGE_NUMBER" />. Naciśnij Enter, by anulować zadanie drukowania.</translation>
 <translation id="4646949265910132906">Bezpieczne połączenie z Wi-Fi</translation>
@@ -116,7 +120,7 @@
 <translation id="6048107060512778456">Niepowodzenie – zacięcie papieru</translation>
 <translation id="6050189528197190982">Skala odcieni szarości</translation>
 <translation id="6058625436358447366">Aby zakończyć, wpisz stare i nowe hasło</translation>
-<translation id="6061772781719867950">nieudane żądania HTTP</translation>
+<translation id="6061772781719867950">nieudane żądania HTTPS</translation>
 <translation id="6106186594183574873">Aby zakończyć, wpisz stare hasło</translation>
 <translation id="6108689792487843350">Brama jest nieosiągalna</translation>
 <translation id="6146993107019042706">Aby zakończyć, wpisz nowe hasło</translation>
@@ -136,10 +140,12 @@
 <translation id="6704062477274546131">Rozwiązywanie nazw DNS</translation>
 <translation id="6747215703636344499">Zatrzymano – odbiornik papieru jest pełny</translation>
 <translation id="6766275201586212568">błędy rozpoznawania nazw DNS</translation>
-<translation id="6768237774506518020">duża liczba błędów rozpoznania nazwy DNS</translation>
+<translation id="6768237774506518020">dużo błędów rozpoznania nazwy DNS</translation>
 <translation id="6839141349259399400">Nie możesz połączyć się ze skanerami?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> zarządza tym urządzeniem i ma dostęp do wszelkiej aktywności użytkownika, w tym odwiedzanych stron internetowych, haseł i e-maili.</translation>
 <translation id="714876143603641390">Łączność LAN</translation>
 <translation id="7162487448488904999">Galeria</translation>
+<translation id="7177485034254901881">Tym urządzeniem <ph name="DEVICE_TYPE" /> zarządza <ph name="MANAGER" />. Administratorzy mogą je zdalnie konfigurować.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Typ pliku</translation>
 <translation id="7561454561030345039">Tym ustawieniem zarządza Twój administrator</translation>
diff --git a/chromeos/strings/chromeos_strings_pt-PT.xtb b/chromeos/strings/chromeos_strings_pt-PT.xtb
index c4a282d8..ed3c9d2 100644
--- a/chromeos/strings/chromeos_strings_pt-PT.xtb
+++ b/chromeos/strings/chromeos_strings_pt-PT.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Latência muito elevada de HTTPS</translation>
 <translation id="1413240736185167732">Falha – Falha no filtro</translation>
 <translation id="1468664791493211953">Ofertas</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> gere este dispositivo e pode conseguir monitorizar a sua atividade.</translation>
 <translation id="1478594628797167447">Scanner</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> gere este utilizador e pode gerir remotamente as definições e monitorizar a atividade do utilizador.</translation>
 <translation id="150962533380566081">PUK inválido.</translation>
 <translation id="1510238584712386396">Launcher</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> threads)</translation>
 <translation id="1641857168437328880">Alimentador de documentos (um lado)</translation>
 <translation id="1644574205037202324">Histórico</translation>
 <translation id="1662989795263954667">Parada – Sem tinta</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Digitalizar para</translation>
 <translation id="4483049906298469269">Falha ao enviar ping ao gateway da rede não predefinida.</translation>
 <translation id="4548483925627140043">Sinal não encontrado.</translation>
+<translation id="455835558791489930">Bateria de <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Falha ao resolver todos os anfitriões.</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> de <ph name="TOTAL_PAGE_NUMBER" />. Prima Enter para cancelar a tarefa de impressão.</translation>
 <translation id="4646949265910132906">Ligação segura ao Wi-Fi</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Resoluções de DNS com falhas</translation>
 <translation id="6768237774506518020">Taxa de falhas de resolução de DNS elevada</translation>
 <translation id="6839141349259399400">Não consegue ligar aos scanners?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> gere este dispositivo e tem acesso a todas as atividades do utilizador, incluindo páginas Web visitadas, palavras-passe e emails.</translation>
 <translation id="714876143603641390">Conetividade de LAN</translation>
 <translation id="7162487448488904999">Galeria</translation>
+<translation id="7177485034254901881">Este <ph name="DEVICE_TYPE" /> é gerido por <ph name="MANAGER" />. Os administradores podem configurar remotamente o dispositivo.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Tipo de ficheiro</translation>
 <translation id="7561454561030345039">Esta ação é gerida pelo seu administrador.</translation>
diff --git a/chromeos/strings/chromeos_strings_ru.xtb b/chromeos/strings/chromeos_strings_ru.xtb
index 782d936..5d21f73 100644
--- a/chromeos/strings/chromeos_strings_ru.xtb
+++ b/chromeos/strings/chromeos_strings_ru.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="ru">
 <translation id="1018656279737460067">Отменено</translation>
+<translation id="1071587090247825784">обнаружен брандмауэр</translation>
 <translation id="1075811647922107217">Размер страницы</translation>
 <translation id="1195447618553298278">Неизвестная ошибка.</translation>
 <translation id="1204296502688602597">Задержка DNS</translation>
+<translation id="1238612778414822719">Время ожидания HTTPS</translation>
 <translation id="1290331692326790741">слабый сигнал</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">По области сканирования</translation>
 <translation id="1397738625398125236">Запрос ping к шлюзу</translation>
+<translation id="1398634363027580500">очень большое время ожидания HTTPS</translation>
 <translation id="1413240736185167732">Сбой: ошибка в работе фильтра</translation>
 <translation id="1468664791493211953">Предложения</translation>
 <translation id="1478594628797167447">Сканер</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">Сбой: выходной лоток заполнен</translation>
 <translation id="4034824040120875894">Принтер</translation>
 <translation id="4131410914670010031">Черно-белая печать</translation>
+<translation id="4145784616224233563">Брандмауэр HTTP</translation>
 <translation id="4227825898293920515">Срок действия пароля истекает через <ph name="TIME" /></translation>
 <translation id="4238516577297848345">Задания печати не выполняются</translation>
 <translation id="4297501883039923494">Печать прервана: неизвестная ошибка</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576">Файл "<ph name="DOCUMENT_TITLE" />", принтер "<ph name="PRINTER_NAME" />", дата – <ph name="CREATION_TIME" />, напечатано страниц: <ph name="PRINTED_PAGE_NUMBER" /> из <ph name="TOTAL_PAGE_NUMBER" />. Чтобы отменить задание печати, нажмите клавишу "Ввод".</translation>
 <translation id="4646949265910132906">Защищенное подключение к Wi-Fi</translation>
 <translation id="467510802200863975">Пароли не совпадают.</translation>
+<translation id="467715984478005772">потенциальный брандмауэр</translation>
 <translation id="4691278870498629773">Печать прервана: нет лотка для бумаги</translation>
 <translation id="469379815867856270">Уровень сигнала</translation>
 <translation id="4731797938093519117">Родительский доступ</translation>
@@ -111,6 +116,7 @@
 <translation id="6048107060512778456">Сбой: застряла бумага</translation>
 <translation id="6050189528197190982">Оттенки серого</translation>
 <translation id="6058625436358447366">Для завершения введите старый и новый пароли.</translation>
+<translation id="6061772781719867950">невыполненные HTTPS-запросы</translation>
 <translation id="6106186594183574873">Для завершения введите старый пароль.</translation>
 <translation id="6108689792487843350">Шлюз недоступен.</translation>
 <translation id="6146993107019042706">Чтобы завершить процедуру, введите новый пароль.</translation>
@@ -129,6 +135,8 @@
 <translation id="6643016212128521049">Удалить</translation>
 <translation id="6704062477274546131">Разрешение DNS</translation>
 <translation id="6747215703636344499">Печать прервана: выходной лоток заполнен</translation>
+<translation id="6766275201586212568">невыполненные преобразования DNS</translation>
+<translation id="6768237774506518020">большое число невыполненных преобразований DNS</translation>
 <translation id="6839141349259399400">Не удается подключиться к сканерам?</translation>
 <translation id="714876143603641390">Подключение к локальной сети</translation>
 <translation id="7162487448488904999">Галерея</translation>
@@ -136,6 +144,7 @@
 <translation id="7359657277149375382">Тип файла</translation>
 <translation id="7561454561030345039">Этим действием управляет администратор.</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">большое время ожидания HTTPS</translation>
 <translation id="7658239707568436148">Отмена</translation>
 <translation id="7690294790491645610">Введите новый пароль ещё раз</translation>
 <translation id="7805768142964895445">Состояние</translation>
@@ -148,6 +157,7 @@
 <translation id="8208861521865154048">Преимущества</translation>
 <translation id="8230672074305416752">Не удалось выполнить проверку ping сетевого шлюза, заданного по умолчанию.</translation>
 <translation id="8294431847097064396">Источник</translation>
+<translation id="8302368968391049045">Брандмауэр HTTPS</translation>
 <translation id="8347227221149377169">Задания печати</translation>
 <translation id="8352772353338965963">Добавить аккаунт в систему множественного входа. Для доступа к аккаунтам, в которые выполнен вход, пароль не требуется, поэтому эту функцию следует использовать только для надежных аккаунтов.</translation>
 <translation id="8364946094152050673">Не указаны серверы доменных имен.</translation>
diff --git a/chromeos/strings/chromeos_strings_sl.xtb b/chromeos/strings/chromeos_strings_sl.xtb
index ea309f8..d300f22 100644
--- a/chromeos/strings/chromeos_strings_sl.xtb
+++ b/chromeos/strings/chromeos_strings_sl.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Precejšnja zakasnitev HTTPS</translation>
 <translation id="1413240736185167732">Napaka – napaka filtra</translation>
 <translation id="1468664791493211953">Ponudbe</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> upravlja to napravo in morda nadzira vašo dejavnost.</translation>
 <translation id="1478594628797167447">Optični bralniki</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> upravlja tega uporabnika in lahko na daljavo upravlja nastavitve ter nadzira dejavnost uporabnika.</translation>
 <translation id="150962533380566081">Neveljavna koda PUK.</translation>
 <translation id="1510238584712386396">Zaganjalnik</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (št. niti: <ph name="THREAD_COUNT" />)</translation>
 <translation id="1641857168437328880">Podajalnik dokumentov (enostransko)</translation>
 <translation id="1644574205037202324">Zgodovina</translation>
 <translation id="1662989795263954667">Ustavljeno – zmanjkalo je črnila</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skeniraj v</translation>
 <translation id="4483049906298469269">Ni bilo mogoče preveriti prehoda omrežja, ki ni privzet</translation>
 <translation id="4548483925627140043">Signal ni bil najden</translation>
+<translation id="455835558791489930">Baterija zmogljivosti <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Ni bilo mogoče razrešiti vseh gostiteljev</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> od <ph name="TOTAL_PAGE_NUMBER" />. Pritisnite tipko Enter, če želite preklicati tiskalno opravilo.</translation>
 <translation id="4646949265910132906">Varna povezava Wi-Fi</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Neuspele razrešitve DNS</translation>
 <translation id="6768237774506518020">Visoko število napak pri razreševanju DNS</translation>
 <translation id="6839141349259399400">Ni mogoče vzpostaviti povezave z optičnimi bralniki?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> upravlja to napravo in ima dostop do vse dejavnosti uporabnika, vključno z obiskanimi spletnimi mesti, gesli in e-pošto.</translation>
 <translation id="714876143603641390">Povezava z omrežjem LAN</translation>
 <translation id="7162487448488904999">Galerija</translation>
+<translation id="7177485034254901881">To napravo <ph name="DEVICE_TYPE" /> upravlja domena <ph name="MANAGER" />. Skrbniki lahko napravo konfigurirajo na daljavo.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Vrsta datoteke</translation>
 <translation id="7561454561030345039">To dejanje upravlja skrbnik</translation>
diff --git a/chromeos/strings/chromeos_strings_sr-Latn.xtb b/chromeos/strings/chromeos_strings_sr-Latn.xtb
index 0418deda..a69c82e 100644
--- a/chromeos/strings/chromeos_strings_sr-Latn.xtb
+++ b/chromeos/strings/chromeos_strings_sr-Latn.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Veoma veliko HTTPS kašnjenje</translation>
 <translation id="1413240736185167732">Nije uspelo – filter je otkazao</translation>
 <translation id="1468664791493211953">Ponude</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> upravlja ovim uređajem i može da prati vaše aktivnosti.</translation>
 <translation id="1478594628797167447">Skener</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> upravlja ovim korisnikom i može daljinski da upravlja podešavanjima i nadgleda aktivnosti korisnika.</translation>
 <translation id="150962533380566081">Nevažeći PUK.</translation>
 <translation id="1510238584712386396">Pokretač</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> niti)</translation>
 <translation id="1641857168437328880">Uvlačenje dokumenta (jednostrano)</translation>
 <translation id="1644574205037202324">Istorija</translation>
 <translation id="1662989795263954667">Zaustavljeno – nema više mastila</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skeniraj u:</translation>
 <translation id="4483049906298469269">Pingovanje mrežnog prolaza koji nije podrazumevan nije uspelo</translation>
 <translation id="4548483925627140043">Signal nije pronađen</translation>
+<translation id="455835558791489930">Baterija od <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Razrešenje svih hostova nije uspelo</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> od <ph name="TOTAL_PAGE_NUMBER" />. Pritisnite taster Enter da biste otkazali zadatak štampanja.</translation>
 <translation id="4646949265910132906">Bezbedna WiFi veza</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Neuspešna DNS razrešavanja</translation>
 <translation id="6768237774506518020">Velika stopa neuspeha DNS razrešavanja</translation>
 <translation id="6839141349259399400">Povezivanje sa skenerima nije uspelo?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> upravlja ovim uređajem i ima pristup svim aktivnostima korisnika, uključujući posećene veb-stranice, lozinke i imejlove.</translation>
 <translation id="714876143603641390">Povezivanje LAN-a</translation>
 <translation id="7162487448488904999">Galerija</translation>
+<translation id="7177485034254901881"><ph name="MANAGER" /> upravlja ovim <ph name="DEVICE_TYPE" /> uređajem. Administratori mogu da konfigurišu uređaj daljinski.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Tip datoteke</translation>
 <translation id="7561454561030345039">Ovim podešavanjem upravlja administrator</translation>
diff --git a/chromeos/strings/chromeos_strings_sr.xtb b/chromeos/strings/chromeos_strings_sr.xtb
index 9c716e2..bd2a825 100644
--- a/chromeos/strings/chromeos_strings_sr.xtb
+++ b/chromeos/strings/chromeos_strings_sr.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Веома велико HTTPS кашњење</translation>
 <translation id="1413240736185167732">Није успело – филтер је отказао</translation>
 <translation id="1468664791493211953">Понуде</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> управља овим уређајем и може да прати ваше активности.</translation>
 <translation id="1478594628797167447">Скенер</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> управља овим корисником и може даљински да управља подешавањима и надгледа активности корисника.</translation>
 <translation id="150962533380566081">Неважећи PUK.</translation>
 <translation id="1510238584712386396">Покретач</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> нити)</translation>
 <translation id="1641857168437328880">Увлачење документа (једнострано)</translation>
 <translation id="1644574205037202324">Историја</translation>
 <translation id="1662989795263954667">Заустављено – нема више мастила</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Скенирај у:</translation>
 <translation id="4483049906298469269">Пинговање мрежног пролаза који није подразумеван није успело</translation>
 <translation id="4548483925627140043">Сигнал није пронађен</translation>
+<translation id="455835558791489930">Батерија од <ph name="CHARGE_VALUE" /> mAh</translation>
 <translation id="458794348635939462">Разрешење свих хостова није успело</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> од <ph name="TOTAL_PAGE_NUMBER" />. Притисните тастер Enter да бисте отказали задатак штампања.</translation>
 <translation id="4646949265910132906">Безбедна WiFi веза</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Неуспешна DNS разрешавања</translation>
 <translation id="6768237774506518020">Велика стопа неуспеха DNS разрешавања</translation>
 <translation id="6839141349259399400">Повезивање са скенерима није успело?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> управља овим уређајем и има приступ свим активностима корисника, укључујући посећене веб-странице, лозинке и имејлове.</translation>
 <translation id="714876143603641390">Повезивање LAN-а</translation>
 <translation id="7162487448488904999">Галерија</translation>
+<translation id="7177485034254901881"><ph name="MANAGER" /> управља овим <ph name="DEVICE_TYPE" /> уређајем. Администратори могу да конфигуришу уређај даљински.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Тип датотеке</translation>
 <translation id="7561454561030345039">Овим подешавањем управља администратор</translation>
diff --git a/chromeos/strings/chromeos_strings_ta.xtb b/chromeos/strings/chromeos_strings_ta.xtb
index 79525107..b2e8452 100644
--- a/chromeos/strings/chromeos_strings_ta.xtb
+++ b/chromeos/strings/chromeos_strings_ta.xtb
@@ -2,12 +2,15 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="ta">
 <translation id="1018656279737460067">ரத்து செய்யப்பட்டது</translation>
+<translation id="1071587090247825784">ஃபயர்வால் கண்டறியப்பட்டது</translation>
 <translation id="1075811647922107217">பக்க அளவு</translation>
 <translation id="1195447618553298278">தெரியாத பிழை.</translation>
 <translation id="1204296502688602597">DNS தாமதம்</translation>
+<translation id="1238612778414822719">HTTPS தாமதம்</translation>
 <translation id="1290331692326790741">வலுவற்ற சிக்னல்</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1397738625398125236">கேட்வேயிற்குப் பிங் செய்வது</translation>
+<translation id="1398634363027580500">HTTPS கோரிக்கைகள் மிகவும் அதிக நேரம் எடுக்கின்றன</translation>
 <translation id="1413240736185167732">ஃபில்டர் வேலை செய்யாததால் அச்சிட முடியவில்லை</translation>
 <translation id="1468664791493211953">ஆஃபர்கள்</translation>
 <translation id="1478594628797167447">ஸ்கேனர்</translation>
@@ -61,6 +64,7 @@
 <translation id="4003384961948020559">பிரிண்ட் வெளியே வரும் டிரே நிரம்பி விட்டதால் அச்சிட முடியவில்லை</translation>
 <translation id="4034824040120875894">பிரிண்டர்</translation>
 <translation id="4131410914670010031">கருப்பு வெள்ளை</translation>
+<translation id="4145784616224233563">HTTP ஃபயர்வால்</translation>
 <translation id="4227825898293920515">கடவுச்சொல் காலாவதியாக இன்னும் <ph name="TIME" /></translation>
 <translation id="4238516577297848345">அச்சுப் பணி எதுவும் செயலில் இல்லை</translation>
 <translation id="4297501883039923494">அறியப்படாத பிழை காரணமாக அச்சிட முடியவில்லை</translation>
@@ -76,6 +80,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" />/<ph name="TOTAL_PAGE_NUMBER" />. அச்சுப் பணியை ரத்துசெய்ய என்ட்டர் விசையை அழுத்தவும்.</translation>
 <translation id="4646949265910132906">பாதுகாப்பான WiFi இணைப்பு</translation>
 <translation id="467510802200863975">கடவுச்சொற்கள் பொருந்தவில்லை</translation>
+<translation id="467715984478005772">ஃபயர்வால் இருப்பதுபோல் தெரிகிறது</translation>
 <translation id="4691278870498629773">பிரிண்டரில் டிரே இல்லாததால் அச்சிட முடியவில்லை</translation>
 <translation id="469379815867856270">சிக்னலின் வலிமை</translation>
 <translation id="4731797938093519117">பெற்றோர் அணுகல்</translation>
@@ -107,6 +112,7 @@
 <translation id="6048107060512778456">காகிதம் சிக்கிக் கொண்டதால் அச்சிட முடியவில்லை</translation>
 <translation id="6050189528197190982">கிரேஸ்கேல்</translation>
 <translation id="6058625436358447366">நிறைவுசெய்ய தற்போதைய கடவுச்சொல்லையும் புதிய கடவுச்சொல்லையும் உள்ளிடவும்</translation>
+<translation id="6061772781719867950">HTTPS கோரிக்கைகளுக்குப் பதில் கிடைக்கவில்லை</translation>
 <translation id="6106186594183574873">நிறைவுசெய்ய தற்போதைய கடவுச்சொல்லை உள்ளிடவும்</translation>
 <translation id="6108689792487843350">கேட்வேயை அணுக முடியவில்லை</translation>
 <translation id="6146993107019042706">நிறைவுசெய்ய புதிய கடவுச்சொல்லை உள்ளிடவும்</translation>
@@ -124,12 +130,15 @@
 <translation id="6643016212128521049">அழி</translation>
 <translation id="6704062477274546131">DNS ரெசல்யூஷன்</translation>
 <translation id="6747215703636344499">பிரிண்ட் வெளியே வரும் டிரே நிரம்பிவிட்டதால் அச்சிட முடியவில்லை</translation>
+<translation id="6766275201586212568">DNS ரெசல்யூஷன்கள் கிடைக்கவில்லை</translation>
+<translation id="6768237774506518020">DNS ரெசல்யூஷன் விகிதம் அதிகமாக உள்ளது</translation>
 <translation id="714876143603641390">LAN இணைப்புநிலை</translation>
 <translation id="7162487448488904999">கேலரி</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">கோப்பு வகை</translation>
 <translation id="7561454561030345039">இந்தச் செயல் உங்கள் நிர்வாகியால் நிர்வகிக்கப்படுகிறது</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">HTTPS கோரிக்கைகள் அதிக நேரம் எடுக்கின்றன</translation>
 <translation id="7658239707568436148">ரத்து செய்</translation>
 <translation id="7690294790491645610">புதிய கடவுச்சொல்லை உறுதிப்படுத்துக</translation>
 <translation id="7805768142964895445">நிலை</translation>
@@ -140,6 +149,7 @@
 <translation id="8208861521865154048">சலுகைகள்</translation>
 <translation id="8230672074305416752">இயல்புநிலை நெட்வொர்க் கேட்வேயைப் பிங் செய்ய முடியவில்லை</translation>
 <translation id="8294431847097064396">மூலம்</translation>
+<translation id="8302368968391049045">HTTPS ஃபயர்வால்</translation>
 <translation id="8347227221149377169">அச்சுப் பணிகள்</translation>
 <translation id="8352772353338965963">பல உள்நுழைவுக்குக் கணக்கைச் சேர்க்கவும். உள்நுழைந்த அனைத்து கணக்குகளையும் கடவுச்சொல் இல்லாமலே அணுகலாம் என்பதால் இந்த அம்சத்தை நம்பகமான கணக்குகளுடன் மட்டுமே பயன்படுத்த வேண்டும்.</translation>
 <translation id="8364946094152050673">பெயர் சேவையகங்கள் காலியாக உள்ளன</translation>
diff --git a/chromeos/strings/chromeos_strings_te.xtb b/chromeos/strings/chromeos_strings_te.xtb
index a889e9b..b22b61f 100644
--- a/chromeos/strings/chromeos_strings_te.xtb
+++ b/chromeos/strings/chromeos_strings_te.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">అత్యధిక HTTPS ప్రతిస్పందన సమయం</translation>
 <translation id="1413240736185167732">విఫలమైంది - ఫిల్టర్ విఫలమైంది</translation>
 <translation id="1468664791493211953">ఆఫర్‌లు</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" />, ఈ పరికరాన్ని మేనేజ్ చేస్తుంది, ఇంకా మీ యాక్టివిటీని మానిటర్ చేయగలదు.</translation>
 <translation id="1478594628797167447">స్కానర్</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" />, ఈ యూజర్‌ను మేనేజ్ చేస్తుంది, ఇంకా అది సెట్టింగ్‌లను రిమోట్‌గా మేనేజ్ చేయవచ్చు, యూజర్ యాక్టివిటీని మానిటర్ చేయవచ్చు.</translation>
 <translation id="150962533380566081">PUK చెల్లదు.</translation>
 <translation id="1510238584712386396">లాంచర్</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> థ్రెడ్‌లు)</translation>
 <translation id="1641857168437328880">డాక్యుమెంట్ ఫీడర్ (ఒక వైపున)</translation>
 <translation id="1644574205037202324">హిస్టరీ</translation>
 <translation id="1662989795263954667">ఆగిపోయింది - ఇంక్ లేదు</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">స్కాన్ చేసి ఇక్కడ సేవ్ చేయండి</translation>
 <translation id="4483049906298469269">డిఫాల్ట్-యేతర నెట్‌వర్క్ గేట్‌వేను పింగ్ చేయడంలో విఫలమైంది</translation>
 <translation id="4548483925627140043">సిగ్నల్ కనుగొనబడలేదు</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" />mAh బ్యాటరీ</translation>
 <translation id="458794348635939462">హోస్ట్‌లను పరిష్కరించడంలో విఫలమైంది</translation>
 <translation id="4627232916386272576"><ph name="TOTAL_PAGE_NUMBER" />లో <ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" />. ప్రింట్ టాస్క్‌ను రద్దు చేయడానికి ఎంటర్ నొక్కండి.</translation>
 <translation id="4646949265910132906">సురక్షిత Wi-Fi కనెక్షన్</translation>
@@ -137,8 +141,10 @@
 <translation id="6766275201586212568">విఫలమైన DNS రిజల్యూషన్‌లు</translation>
 <translation id="6768237774506518020">అధిక DNS రిజల్యూషన్ వైఫల్య రేటు</translation>
 <translation id="6839141349259399400">స్కానర్‌లకు కనెక్ట్ చేయడం సాధ్యపడటంలేదా?</translation>
+<translation id="7028979494427204405"><ph name="MANAGER" /> ఈ పరికరాన్ని మేనేజ్ చేస్తుంది, అలాగే సందర్శించిన వెబ్ పేజీలు, పాస్‌వర్డ్‌లు, ఇమెయిల్‌లతో సహా యూజర్ యాక్టివిటీకి యాక్సెస్‌ను కలిగి ఉంటుంది.</translation>
 <translation id="714876143603641390">LAN కనెక్టివిటీ</translation>
 <translation id="7162487448488904999">Gallery</translation>
+<translation id="7177485034254901881"><ph name="MANAGER" />, ఈ <ph name="DEVICE_TYPE" />ను మేనేజ్ చేస్తోంది. అడ్మినిస్ట్రేటర్‌లు పరికరాన్ని రిమోట్‌గా కాన్ఫిగర్ చేయవచ్చు.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">ఫైల్ రకం</translation>
 <translation id="7561454561030345039">ఈ చర్య మీ అడ్మినిస్ట్రేటర్ ద్వారా మేనేజ్ చేయబడుతుంది</translation>
diff --git a/chromeos/strings/chromeos_strings_tr.xtb b/chromeos/strings/chromeos_strings_tr.xtb
index 50e725be..2e7ff02 100644
--- a/chromeos/strings/chromeos_strings_tr.xtb
+++ b/chromeos/strings/chromeos_strings_tr.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="tr">
 <translation id="1018656279737460067">İptal Edildi</translation>
+<translation id="1071587090247825784">Güvenlik duvarı algılandı</translation>
 <translation id="1075811647922107217">Sayfa boyutu</translation>
 <translation id="1195447618553298278">Bilinmeyen hata.</translation>
 <translation id="1204296502688602597">DNS Gecikmesi</translation>
+<translation id="1238612778414822719">HTTPS Gecikmesi</translation>
 <translation id="1290331692326790741">Zayıf sinyal</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">Tarama alanına sığdır</translation>
 <translation id="1397738625398125236">Ağ geçidi için Ping Testi çalıştırılabilir</translation>
+<translation id="1398634363027580500">Çok yüksek HTTPS gecikmesi</translation>
 <translation id="1413240736185167732">İşlem başarısız - Filtre başarısız</translation>
 <translation id="1468664791493211953">Teklifler</translation>
 <translation id="1478594628797167447">Tarayıcı</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">İşlem başarısız - Çıkış dolu</translation>
 <translation id="4034824040120875894">Yazıcı</translation>
 <translation id="4131410914670010031">Siyah beyaz</translation>
+<translation id="4145784616224233563">HTTP Güvenlik Duvarı</translation>
 <translation id="4227825898293920515">Şifrenin süresi <ph name="TIME" /> içinde doluyor</translation>
 <translation id="4238516577297848345">Devam eden bir yazdırma işi yok</translation>
 <translation id="4297501883039923494">Durduruldu - Bilinmeyen hata</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" />/<ph name="TOTAL_PAGE_NUMBER" /> Yazdırma işini iptal etmek için enter tuşuna basın.</translation>
 <translation id="4646949265910132906">Güvenli Kablosuz Bağlantı</translation>
 <translation id="467510802200863975">Şifreler eşleşmiyor</translation>
+<translation id="467715984478005772">Güvenlik duvarı olabilir</translation>
 <translation id="4691278870498629773">Durduruldu - Tepsi yok</translation>
 <translation id="469379815867856270">Sinyal Gücü</translation>
 <translation id="4731797938093519117">Ebeveyn erişimi</translation>
@@ -111,6 +116,7 @@
 <translation id="6048107060512778456">İşlem başarısız - Kağıt sıkışması</translation>
 <translation id="6050189528197190982">Gri Tonlama</translation>
 <translation id="6058625436358447366">Bitirmek için eski ve yeni şifrenizi girin</translation>
+<translation id="6061772781719867950">Başarısız HTTP istekleri</translation>
 <translation id="6106186594183574873">Bitirmek için eski şifrenizi girin</translation>
 <translation id="6108689792487843350">Ağ geçidine ulaşılamıyor</translation>
 <translation id="6146993107019042706">Bitirmek için yeni şifrenizi girin</translation>
@@ -129,6 +135,8 @@
 <translation id="6643016212128521049">Temizle</translation>
 <translation id="6704062477274546131">DNS Çözümlemesi</translation>
 <translation id="6747215703636344499">Durduruldu - Çıkış tepsisi dolu</translation>
+<translation id="6766275201586212568">Başarısız DNS çözümlemeleri</translation>
+<translation id="6768237774506518020">DNS çözümleme hata oranı yüksek</translation>
 <translation id="6839141349259399400">Tarayıcılara bağlanamıyor musunuz?</translation>
 <translation id="714876143603641390">LAN Bağlantısı</translation>
 <translation id="7162487448488904999">Galeri</translation>
@@ -136,6 +144,7 @@
 <translation id="7359657277149375382">Dosya türü</translation>
 <translation id="7561454561030345039">Bu işlem, yöneticiniz tarafından yönetilir.</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">Yüksek HTTPS gecikmesi</translation>
 <translation id="7658239707568436148">İptal</translation>
 <translation id="7690294790491645610">Yeni şifreyi doğrula</translation>
 <translation id="7805768142964895445">Durum</translation>
@@ -148,6 +157,7 @@
 <translation id="8208861521865154048">Avantajlar</translation>
 <translation id="8230672074305416752">Varsayılan ağ geçidi pinglenemedi</translation>
 <translation id="8294431847097064396">Kaynak</translation>
+<translation id="8302368968391049045">HTTPS Güvenlik Duvarı</translation>
 <translation id="8347227221149377169">Yazdırma işleri</translation>
 <translation id="8352772353338965963">Çoklu oturum açmaya bir hesap ekleyin. Oturum açılmış tüm hesaplara şifresiz erişilebileceği için bu özellik sadece güvenilir hesaplarla kullanılmalıdır.</translation>
 <translation id="8364946094152050673">Alan adı sunucuları boş</translation>
diff --git a/chromeos/strings/chromeos_strings_uz.xtb b/chromeos/strings/chromeos_strings_uz.xtb
index fc6377ce..35d48e22 100644
--- a/chromeos/strings/chromeos_strings_uz.xtb
+++ b/chromeos/strings/chromeos_strings_uz.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">HTTPS kechikishi juda yuqori</translation>
 <translation id="1413240736185167732">Bajarilmadi - Filtr ishlamadi</translation>
 <translation id="1468664791493211953">Takliflar</translation>
+<translation id="1476467821656042872">Bu qurilma <ph name="MANAGER" /> domenida boshqariladi va faoliyatingiz kuzatilishi mumkin.</translation>
 <translation id="1478594628797167447">Skaner</translation>
+<translation id="1499900233129743732"><ph name="MANAGER" /> bu foydalanuvchi faoliyatini masofadan kuzatishi va boshqarishi mumkin.</translation>
 <translation id="150962533380566081">PUK kod xato.</translation>
 <translation id="1510238584712386396">Ishga tushirish paneli</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> ta oqim)</translation>
 <translation id="1641857168437328880">Hujjat tasmasi (Bir tomonlama)</translation>
 <translation id="1644574205037202324">Tarix</translation>
 <translation id="1662989795263954667">Toʻxtatildi – Siyoh tugadi</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Saqlash joyi</translation>
 <translation id="4483049906298469269">Ikkilamchi tarmoq shlyuzi ping qilinmadi</translation>
 <translation id="4548483925627140043">Signal topilmadi</translation>
+<translation id="455835558791489930"><ph name="CHARGE_VALUE" />mAh Batareya</translation>
 <translation id="458794348635939462">Hech qaysi host aniqlanmadi</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" />/<ph name="TOTAL_PAGE_NUMBER" />. Chop etilishini bekor qilish uchun Enter tugmasini bosing.</translation>
 <translation id="4646949265910132906">Xavfsiz WiFi aloqasi</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">DNS manzil ajratilmadi</translation>
 <translation id="6768237774506518020">DNS manzil ajratilmasligi juda yuqori</translation>
 <translation id="6839141349259399400">Skanerlarga ulanmadimi?</translation>
+<translation id="7028979494427204405">Bu qurilma va uning foydalanuvchilari harakatlari, ochilgan sahifalar, parollar va emaillar <ph name="MANAGER" /> domenida boshqariladi.</translation>
 <translation id="714876143603641390">LAN aloqasi</translation>
 <translation id="7162487448488904999">Galereya</translation>
+<translation id="7177485034254901881">Bu <ph name="DEVICE_TYPE" /> qurilmasi <ph name="MANAGER" /> domenida boshqariladi. Administratorlar qurilmani masofadan sozlashi mumkin.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Fayl turi</translation>
 <translation id="7561454561030345039">Bu sozlama administrator tomonidan boshqariladi</translation>
diff --git a/chromeos/strings/chromeos_strings_vi.xtb b/chromeos/strings/chromeos_strings_vi.xtb
index 02f9ef27..1397a0f 100644
--- a/chromeos/strings/chromeos_strings_vi.xtb
+++ b/chromeos/strings/chromeos_strings_vi.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="vi">
 <translation id="1018656279737460067">Đã hủy</translation>
+<translation id="1071587090247825784">Đã phát hiện thấy tường lửa</translation>
 <translation id="1075811647922107217">Kích thước trang</translation>
 <translation id="1195447618553298278">Lỗi chưa biết.</translation>
 <translation id="1204296502688602597">Độ trễ DNS</translation>
+<translation id="1238612778414822719">Độ trễ HTTPS</translation>
 <translation id="1290331692326790741">Tín hiệu yếu</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">Vừa với vùng quét</translation>
 <translation id="1397738625398125236">Có thể ping cổng vào</translation>
+<translation id="1398634363027580500">Yêu cầu HTTPS có độ trễ rất cao</translation>
 <translation id="1413240736185167732">Không thành công – Không lọc được</translation>
 <translation id="1468664791493211953">Ưu đãi</translation>
 <translation id="1478594628797167447">Máy quét</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">Không thành công – Khay đầu ra đã đầy</translation>
 <translation id="4034824040120875894">Máy in</translation>
 <translation id="4131410914670010031">Đen và trắng</translation>
+<translation id="4145784616224233563">Tường lửa HTTP</translation>
 <translation id="4227825898293920515">Mật khẩu sẽ hết hạn sau <ph name="TIME" /></translation>
 <translation id="4238516577297848345">Không có lệnh in nào đang xử lý</translation>
 <translation id="4297501883039923494">Đã dừng – Lỗi không xác định</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" />/<ph name="TOTAL_PAGE_NUMBER" />. Hãy nhấn để hủy lệnh in.</translation>
 <translation id="4646949265910132906">Kết nối Wi-Fi an toàn</translation>
 <translation id="467510802200863975">Mật khẩu không khớp</translation>
+<translation id="467715984478005772">Tin là có tường lửa</translation>
 <translation id="4691278870498629773">Đã dừng – Thiếu khay</translation>
 <translation id="469379815867856270">Cường độ tín hiệu</translation>
 <translation id="4731797938093519117">Quyền truy cập của cha mẹ</translation>
@@ -111,6 +116,7 @@
 <translation id="6048107060512778456">Không thành công – Kẹt giấy</translation>
 <translation id="6050189528197190982">Thang độ xám</translation>
 <translation id="6058625436358447366">Để hoàn tất, hãy nhập cả mật khẩu cũ và mật khẩu mới của bạn</translation>
+<translation id="6061772781719867950">Yêu cầu HTTP không thành công</translation>
 <translation id="6106186594183574873">Để hoàn tất, hãy nhập mật khẩu cũ của bạn</translation>
 <translation id="6108689792487843350">Không thể kết nối với cổng</translation>
 <translation id="6146993107019042706">Để hoàn tất, hãy nhập mật khẩu mới của bạn</translation>
@@ -122,13 +128,15 @@
 <translation id="649050271426829538">Đã dừng – Kẹt giấy</translation>
 <translation id="6517239166834772319">Khám phá</translation>
 <translation id="6527081081771465939">Giao thức bảo mật Wi-Fi không xác định</translation>
-<translation id="65587193855025101">Bề mặt phẳng</translation>
+<translation id="65587193855025101">Mặt phẳng</translation>
 <translation id="6564646048574748301">Không thành công – Không thể kết nối với máy in</translation>
 <translation id="6618744767048954150">Đang chạy</translation>
 <translation id="6620487321149975369">Lệnh in sẽ xuất hiện trong lịch sử in trừ phi bạn tự xóa</translation>
 <translation id="6643016212128521049">Xóa</translation>
 <translation id="6704062477274546131">Phân giải DNS</translation>
 <translation id="6747215703636344499">Đã dừng – Khay giấy ra đã đầy</translation>
+<translation id="6766275201586212568">Quá trình phân giải DNS không thành công</translation>
+<translation id="6768237774506518020">Tỷ lệ lỗi cao trong quá trình phân giải DNS</translation>
 <translation id="6839141349259399400">Không thể kết nối với các máy quét?</translation>
 <translation id="714876143603641390">Khả năng kết nối với mạng LAN</translation>
 <translation id="7162487448488904999">Thư viện</translation>
@@ -136,6 +144,7 @@
 <translation id="7359657277149375382">Loại tệp</translation>
 <translation id="7561454561030345039">Quản trị viên của bạn quản lý thao tác này</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">Yêu cầu HTTPS có độ trễ cao</translation>
 <translation id="7658239707568436148">Hủy</translation>
 <translation id="7690294790491645610">Xác nhận mật khẩu mới</translation>
 <translation id="7805768142964895445">Trạng thái</translation>
@@ -148,6 +157,7 @@
 <translation id="8208861521865154048">Đặc quyền</translation>
 <translation id="8230672074305416752">Không ping được cổng của mạng mặc định</translation>
 <translation id="8294431847097064396">Nguồn</translation>
+<translation id="8302368968391049045">Tường lửa HTTPS</translation>
 <translation id="8347227221149377169">Lệnh in</translation>
 <translation id="8352772353338965963">Thêm một tài khoản để đăng nhập nhiều lần. Tất cả các tài khoản đã đăng nhập đều có thể truy cập được mà không cần mật khẩu, do đó bạn chỉ nên sử dụng tính năng này với các tài khoản đáng tin cậy.</translation>
 <translation id="8364946094152050673">Máy chủ định danh trống</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-CN.xtb b/chromeos/strings/chromeos_strings_zh-CN.xtb
index 735889fa..b77b2d93 100644
--- a/chromeos/strings/chromeos_strings_zh-CN.xtb
+++ b/chromeos/strings/chromeos_strings_zh-CN.xtb
@@ -7,7 +7,7 @@
 <translation id="1204296502688602597">DNS 延迟时间</translation>
 <translation id="1290331692326790741">信号较弱</translation>
 <translation id="1330426557709298164">JPG</translation>
-<translation id="1337912285145772892">契合扫描区域</translation>
+<translation id="1337912285145772892">适合扫描区域</translation>
 <translation id="1397738625398125236">可以对网关执行 ping 操作</translation>
 <translation id="1413240736185167732">失败 - 过滤器出问题了</translation>
 <translation id="1468664791493211953">优惠</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-TW.xtb b/chromeos/strings/chromeos_strings_zh-TW.xtb
index 72458e62..60c7655 100644
--- a/chromeos/strings/chromeos_strings_zh-TW.xtb
+++ b/chromeos/strings/chromeos_strings_zh-TW.xtb
@@ -2,13 +2,16 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="zh-TW">
 <translation id="1018656279737460067">已取消</translation>
+<translation id="1071587090247825784">已偵測到防火牆</translation>
 <translation id="1075811647922107217">網頁大小</translation>
 <translation id="1195447618553298278">未知的錯誤。</translation>
 <translation id="1204296502688602597">DNS 延遲</translation>
+<translation id="1238612778414822719">HTTPS 延遲</translation>
 <translation id="1290331692326790741">訊號微弱</translation>
 <translation id="1330426557709298164">JPG</translation>
 <translation id="1337912285145772892">符合掃描區大小</translation>
 <translation id="1397738625398125236">可連線偵測到閘道</translation>
+<translation id="1398634363027580500">非常高的 HTTPS 延遲</translation>
 <translation id="1413240736185167732">失敗 - 無法使用過濾器</translation>
 <translation id="1468664791493211953">優惠</translation>
 <translation id="1478594628797167447">掃描器</translation>
@@ -64,6 +67,7 @@
 <translation id="4003384961948020559">失敗 - 輸出紙匣已滿</translation>
 <translation id="4034824040120875894">印表機</translation>
 <translation id="4131410914670010031">黑白</translation>
+<translation id="4145784616224233563">HTTP 防火牆</translation>
 <translation id="4227825898293920515">密碼將在 <ph name="TIME" />後到期</translation>
 <translation id="4238516577297848345">沒有任何進行中的列印工作</translation>
 <translation id="4297501883039923494">已停止 - 不明的錯誤</translation>
@@ -80,6 +84,7 @@
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />,<ph name="PRINTER_NAME" />,<ph name="CREATION_TIME" />,已列印 <ph name="PRINTED_PAGE_NUMBER" /> 頁 (共 <ph name="TOTAL_PAGE_NUMBER" /> 頁)。按下 Enter 鍵即可取消列印工作。</translation>
 <translation id="4646949265910132906">安全的 WiFi 連線</translation>
 <translation id="467510802200863975">密碼不相符</translation>
+<translation id="467715984478005772">可疑的防火牆</translation>
 <translation id="4691278870498629773">已停止 - 缺少紙匣</translation>
 <translation id="469379815867856270">訊號強度</translation>
 <translation id="4731797938093519117">家長存取</translation>
@@ -111,6 +116,7 @@
 <translation id="6048107060512778456">失敗 - 卡紙</translation>
 <translation id="6050189528197190982">灰階</translation>
 <translation id="6058625436358447366">如要完成變更,請輸入你的舊密碼和新密碼</translation>
+<translation id="6061772781719867950">HTTPS 要求失敗</translation>
 <translation id="6106186594183574873">如要完成變更,請輸入你的舊密碼</translation>
 <translation id="6108689792487843350">無法連上閘道</translation>
 <translation id="6146993107019042706">如要完成變更,請輸入你的新密碼</translation>
@@ -129,6 +135,8 @@
 <translation id="6643016212128521049">清除</translation>
 <translation id="6704062477274546131">DNS 解析</translation>
 <translation id="6747215703636344499">已停止 - 輸出紙匣已滿</translation>
+<translation id="6766275201586212568">DNS 解析失敗</translation>
+<translation id="6768237774506518020">高 DNS 解析失敗率</translation>
 <translation id="6839141349259399400">無法連線至掃描器嗎?</translation>
 <translation id="714876143603641390">LAN 連線狀態</translation>
 <translation id="7162487448488904999">相片庫</translation>
@@ -136,6 +144,7 @@
 <translation id="7359657277149375382">檔案類型</translation>
 <translation id="7561454561030345039">這個動作是由系統管理員管理</translation>
 <translation id="7569444139234840525"><ph name="QUERY_TEXT" /> · /<ph name="PHONETICS" />/</translation>
+<translation id="7648838807254605802">高 HTTPS 延遲</translation>
 <translation id="7658239707568436148">取消</translation>
 <translation id="7690294790491645610">確認新密碼</translation>
 <translation id="7805768142964895445">狀態</translation>
@@ -148,6 +157,7 @@
 <translation id="8208861521865154048">獎勵</translation>
 <translation id="8230672074305416752">無法連線偵測預設的網路閘道</translation>
 <translation id="8294431847097064396">來源</translation>
+<translation id="8302368968391049045">HTTPS 防火牆</translation>
 <translation id="8347227221149377169">列印工作</translation>
 <translation id="8352772353338965963">新增可多重登入的帳戶。這些帳戶的使用者不需提供密碼即可存取所有已登入的帳戶。因此,建議你只讓信任的帳戶使用這項功能。</translation>
 <translation id="8364946094152050673">名稱伺服器空白</translation>
diff --git a/chromeos/strings/chromeos_strings_zu.xtb b/chromeos/strings/chromeos_strings_zu.xtb
index e2f8c3ec..7be6359 100644
--- a/chromeos/strings/chromeos_strings_zu.xtb
+++ b/chromeos/strings/chromeos_strings_zu.xtb
@@ -14,9 +14,12 @@
 <translation id="1398634363027580500">Ukubambezeleka okuphezulu kakhulu kwe-HTTPS</translation>
 <translation id="1413240736185167732">Yehlulekile - Isihlungi sehlulekile</translation>
 <translation id="1468664791493211953">Ukunikezwa</translation>
+<translation id="1476467821656042872"><ph name="MANAGER" /> iphatha le divayisi futhi ingakwazi ukwengamela umsebenzi wakho.</translation>
 <translation id="1478594628797167447">Iskena</translation>
+<translation id="1499900233129743732">I-<ph name="MANAGER" /> iphatha lo msebenzisi futhi ingaphatha amasethingi isekudeni futhi iqaphe umsebenzi womsebenzisi.</translation>
 <translation id="150962533380566081">I-PUK engavumelekile.</translation>
 <translation id="1510238584712386396">Isiqalisi</translation>
+<translation id="1633910004424187862"><ph name="CPU_NAME" /> (<ph name="THREAD_COUNT" /> uchungechunge)</translation>
 <translation id="1641857168437328880">Isiphakeli Sedokhumenti (Uhlangothi olulodwa)</translation>
 <translation id="1644574205037202324">Umlando</translation>
 <translation id="1662989795263954667">Imile - Uyinki uphelile</translation>
@@ -80,6 +83,7 @@
 <translation id="4454245904991689773">Skena ku-</translation>
 <translation id="4483049906298469269">Yehlulekile ukuqhweba umasango wenethiwekhi engeyona okuzenzakalelayo</translation>
 <translation id="4548483925627140043">Isignali ayitholakalanga</translation>
+<translation id="455835558791489930">Ibhethri elingu-<ph name="CHARGE_VALUE" />2,770 mAh</translation>
 <translation id="458794348635939462">Yehlulekile ukulungisa bonke abasingathi</translation>
 <translation id="4627232916386272576"><ph name="DOCUMENT_TITLE" />, <ph name="PRINTER_NAME" />, <ph name="CREATION_TIME" />, <ph name="PRINTED_PAGE_NUMBER" /> kwangu-<ph name="TOTAL_PAGE_NUMBER" /> Cindezela u-enter ukuze ukhansele umsebenzi wokuphrinta.</translation>
 <translation id="4646949265910132906">Uxhumano lwe-WiFi Oluvikelekile</translation>
@@ -138,8 +142,10 @@
 <translation id="6766275201586212568">Ukulungiswa kwe-DNS okuhlulekile</translation>
 <translation id="6768237774506518020">Inani eliphezulu lokuhlulekisa ukulungiswa kwe-DNS</translation>
 <translation id="6839141349259399400">Awukwazi ukuxhuma kuzikena?</translation>
+<translation id="7028979494427204405">I-<ph name="MANAGER" /> iphatha le divayisi futhi inokufinyelela kuwo wonke umsebenzi womsebenzisi, kufaka phakathi amakhasi ewebhu avakashelwe, amaphasiwedi, ne-imeyili.</translation>
 <translation id="714876143603641390">Ukuxhumana kwe-LAN</translation>
 <translation id="7162487448488904999">Igalari</translation>
+<translation id="7177485034254901881">Le-<ph name="DEVICE_TYPE" /> iphethwe yi-<ph name="MANAGER" />. Abalawuli bangase balungiselele ngokulawula kude idivayisi.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7359657277149375382">Uhlobo lwefayela</translation>
 <translation id="7561454561030345039">Lesi senzo siphethwe umlawuli wakho</translation>
diff --git a/components/arc/mojom/BUILD.gn b/components/arc/mojom/BUILD.gn
index 1927977..fd4ab8c1 100644
--- a/components/arc/mojom/BUILD.gn
+++ b/components/arc/mojom/BUILD.gn
@@ -272,7 +272,6 @@
   mojom("media") {
     sources = [
       "gfx.mojom",
-      "protected_buffer_manager.mojom",
       "video.mojom",
       "video_common.mojom",
       "video_decode_accelerator.mojom",
@@ -280,7 +279,10 @@
       "video_protected_buffer_allocator.mojom",
     ]
 
-    public_deps = [ "//ui/gfx/geometry/mojom" ]
+    public_deps = [
+      ":protected_buffer_manager",
+      "//ui/gfx/geometry/mojom",
+    ]
 
     cpp_typemaps = [
       {
@@ -373,6 +375,10 @@
     sources = [ "oemcrypto.mojom" ]
   }
 
+  mojom("protected_buffer_manager") {
+    sources = [ "protected_buffer_manager.mojom" ]
+  }
+
   source_set("mojom_traits") {
     sources = [
       "ime_mojom_traits.cc",
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
index 00a56f7..ad7df42 100644
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
@@ -78,6 +78,7 @@
 
 // Controls whether to detect and fill the augmented phone country code field
 // when enabled.
+// TODO(crbug.com/1150890) Remove once launched
 const base::Feature kAutofillEnableAugmentedPhoneCountryCode{
     "AutofillEnableAugmentedPhoneCountryCode",
     base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb
index b82bc69..29968a4 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb
@@ -207,7 +207,7 @@
 <translation id="6697925417670533197">Download attivi</translation>
 <translation id="6746124502594467657">Sposta giù</translation>
 <translation id="6766622839693428701">Fai scorrere verso il basso per chiudere.</translation>
-<translation id="6790428901817661496">Play</translation>
+<translation id="6790428901817661496">Riproduci</translation>
 <translation id="6818926723028410516">Seleziona elementi</translation>
 <translation id="6864395892908308021">Questo dispositivo non può leggere la tecnologia NFC</translation>
 <translation id="6910211073230771657">Eliminato</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb
index a5f2061..26a1b0e 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb
@@ -183,7 +183,7 @@
 <translation id="6177111841848151710">Geblokkeerd voor de huidige zoekmachine</translation>
 <translation id="6181444274883918285">Site-uitzondering toevoegen</translation>
 <translation id="6192792657125177640">Uitzonderingen</translation>
-<translation id="6196640612572343990">Indirecte cookies blokkeren</translation>
+<translation id="6196640612572343990">Cookies van derden blokkeren</translation>
 <translation id="6206551242102657620">De verbinding is beveiligd. Site-informatie</translation>
 <translation id="6216432067784365534">Opties voor <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> en <ph name="PERMISSION_2" /> geblokkeerd</translation>
diff --git a/components/enterprise/browser/reporting/browser_report_generator.h b/components/enterprise/browser/reporting/browser_report_generator.h
index 1c1ad07b..561861b2 100644
--- a/components/enterprise/browser/reporting/browser_report_generator.h
+++ b/components/enterprise/browser/reporting/browser_report_generator.h
@@ -48,7 +48,7 @@
 
   // Generates a BrowserReport with the following fields:
   // - browser_version, channel, executable_path
-  // - user profiles: id, name, is_available (always be false).
+  // - user profiles: id, name, is_detail_available (always be false).
   // - plugins: name, version, filename, description.
   void Generate(ReportType report_type, ReportCallback callback);
 
diff --git a/components/enterprise/browser/reporting/profile_report_generator.cc b/components/enterprise/browser/reporting/profile_report_generator.cc
index ba07bdbb..0e641ea 100644
--- a/components/enterprise/browser/reporting/profile_report_generator.cc
+++ b/components/enterprise/browser/reporting/profile_report_generator.cc
@@ -42,7 +42,7 @@
 
   if (report_type == ReportType::kExtensionRequest) {
     delegate_->GetExtensionRequest(report_.get());
-    report_->set_is_available(true);
+    report_->set_is_detail_available(true);
 #if defined(OS_CHROMEOS)
     // Extension request is aggregated at the user level on CrOS.
     report_->set_name(name);
@@ -50,7 +50,7 @@
 #endif  // defined(OS_CHROMEOS)
   } else {
     report_->set_name(name);
-    report_->set_is_available(true);
+    report_->set_is_detail_available(true);
 
     delegate_->GetSigninUserInfo(report_.get());
     if (extensions_enabled_) {
diff --git a/components/feature_engagement/public/event_constants.cc b/components/feature_engagement/public/event_constants.cc
index 85734fe7..dff395e 100644
--- a/components/feature_engagement/public/event_constants.cc
+++ b/components/feature_engagement/public/event_constants.cc
@@ -32,6 +32,8 @@
 
 const char kWebUITabStripClosed[] = "webui_tab_strip_closed";
 const char kWebUITabStripOpened[] = "webui_tab_strip_opened";
+
+const char kDesktopPwaInstalled[] = "desktop_pwa_installed";
 #endif  // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
         // defined(OS_CHROMEOS)
 
diff --git a/components/feature_engagement/public/event_constants.h b/components/feature_engagement/public/event_constants.h
index 1031f611..967bdff 100644
--- a/components/feature_engagement/public/event_constants.h
+++ b/components/feature_engagement/public/event_constants.h
@@ -54,6 +54,9 @@
 // The WebUI tab strip was opened by the user.
 extern const char kWebUITabStripOpened[];
 
+// The PWA was installed by the user.
+extern const char kDesktopPwaInstalled[];
+
 #endif  // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
         // defined(OS_CHROMEOS)
 
diff --git a/components/messages/android/message_wrapper.cc b/components/messages/android/message_wrapper.cc
index 61b2f97..4e24c83 100644
--- a/components/messages/android/message_wrapper.cc
+++ b/components/messages/android/message_wrapper.cc
@@ -96,6 +96,9 @@
   message_dismissed_ = true;
   if (!dismiss_callback_.is_null())
     std::move(dismiss_callback_).Run();
+  // Dismiss callback typically deletes the instance of MessageWrapper,
+  // invalidating |this| pointer. Don't call any methods after dismiss_callback_
+  // is invoked.
 }
 
 const base::android::JavaRef<jobject>& MessageWrapper::GetJavaMessageWrapper()
diff --git a/components/module_installer/android/module.cc b/components/module_installer/android/module.cc
index f7b41ca3..3c887685 100644
--- a/components/module_installer/android/module.cc
+++ b/components/module_installer/android/module.cc
@@ -52,10 +52,11 @@
   // (hence there is no reason for the Java ClassLoader to be aware of the
   // library, for lazy JNI registration).
   const std::string partition_name = module_name + "_partition";
-  library_handle =
-      BundleUtils::DlOpenModuleLibraryPartition(library_name, partition_name);
+  library_handle = BundleUtils::DlOpenModuleLibraryPartition(
+      library_name, partition_name, module_name);
 #elif defined(COMPONENT_BUILD)
-  std::string library_path = BundleUtils::ResolveLibraryPath(library_name);
+  std::string library_path =
+      BundleUtils::ResolveLibraryPath(library_name, module_name);
   library_handle = dlopen(library_path.c_str(), RTLD_LOCAL);
 #else
 #error "Unsupported configuration."
diff --git a/components/performance_manager/decorators/page_load_tracker_decorator.cc b/components/performance_manager/decorators/page_load_tracker_decorator.cc
index c897c68..288dcb6 100644
--- a/components/performance_manager/decorators/page_load_tracker_decorator.cc
+++ b/components/performance_manager/decorators/page_load_tracker_decorator.cc
@@ -21,7 +21,8 @@
  public:
   static std::unique_ptr<NodeAttachedData>* GetUniquePtrStorage(
       PageNodeImpl* page_node) {
-    return &page_node->page_load_tracker_data_;
+    return &page_node->GetPageLoadTrackerData(
+        base::PassKey<PageLoadTrackerAccess>());
   }
 };
 
diff --git a/components/performance_manager/decorators/site_data_recorder.cc b/components/performance_manager/decorators/site_data_recorder.cc
index 07c67086..693e397 100644
--- a/components/performance_manager/decorators/site_data_recorder.cc
+++ b/components/performance_manager/decorators/site_data_recorder.cc
@@ -32,7 +32,7 @@
  public:
   static std::unique_ptr<NodeAttachedData>* GetUniquePtrStorage(
       PageNodeImpl* page_node) {
-    return &page_node->site_data_;
+    return &page_node->GetSiteData(base::PassKey<SiteDataAccess>());
   }
 };
 
diff --git a/components/performance_manager/freezing/freezing_vote_aggregator.cc b/components/performance_manager/freezing/freezing_vote_aggregator.cc
index 756ed55..b6d7da0 100644
--- a/components/performance_manager/freezing/freezing_vote_aggregator.cc
+++ b/components/performance_manager/freezing/freezing_vote_aggregator.cc
@@ -11,76 +11,94 @@
 namespace performance_manager {
 namespace freezing {
 
-FreezingVoteAggregator::FreezingVoteAggregator() : factory_(this) {}
+FreezingVoteAggregator::FreezingVoteAggregator()
+    : vote_consumer_default_impl_(this) {}
 FreezingVoteAggregator::~FreezingVoteAggregator() = default;
 
 FreezingVotingChannel FreezingVoteAggregator::GetVotingChannel() {
-  return factory_.BuildVotingChannel();
+  return vote_consumer_default_impl_.BuildVotingChannel();
 }
 
 void FreezingVoteAggregator::SetUpstreamVotingChannel(
     FreezingVotingChannel&& channel) {
-  DCHECK(channel.IsValid());
-  DCHECK(vote_data_map_.empty());
-  DCHECK(!channel_.IsValid());
-  channel_ = std::move(channel);
+  channel_.SetVotingChannel(std::move(channel));
 }
 
-FreezingVoteReceipt FreezingVoteAggregator::SubmitVote(
-    base::PassKey<FreezingVotingChannel>,
-    voting::VoterId<FreezingVote> voter_id,
-    const PageNode* page_node,
-    const FreezingVote& vote) {
-  DCHECK(vote.IsValid());
+void FreezingVoteAggregator::OnVoteSubmitted(FreezingVoterId voter_id,
+                                             const PageNode* page_node,
+                                             const FreezingVote& vote) {
   DCHECK(channel_.IsValid());
 
+  // Create the VoteData for this page node, if necessary.
   auto& vote_data = vote_data_map_[page_node];
 
-  AcceptedFreezingVote accepted_vote(this, voter_id, page_node, vote);
-  auto receipt = accepted_vote.IssueReceipt();
-  if (vote_data.AddVote(std::move(accepted_vote)) ==
-      FreezingVoteData::UpstreamVoteImpact::kUpstreamVoteChanged) {
-    vote_data.UpstreamVote(&channel_);
+  // Remember the previous chosen vote before adding the new vote. There
+  // could be none if this is the first vote submitted for |page_node|.
+  base::Optional<FreezingVoteValue> old_chosen_vote_value;
+  if (!vote_data.IsEmpty())
+    old_chosen_vote_value = vote_data.GetChosenVote().value();
+
+  vote_data.AddVote(voter_id, vote);
+
+  // If there was no previous chosen vote, the vote must be submitted.
+  if (!old_chosen_vote_value) {
+    channel_.SubmitVote(page_node, vote);
+    return;
   }
 
-  // Return a vote receipt to our voter for the received vote.
-  return receipt;
+  // Since there is a previous chosen vote, it must be modified if the chosen
+  // vote changed.
+  const FreezingVote new_chosen_vote = vote_data.GetChosenVote();
+  if (*old_chosen_vote_value != new_chosen_vote.value())
+    channel_.ChangeVote(page_node, new_chosen_vote);
 }
 
-void FreezingVoteAggregator::ChangeVote(base::PassKey<AcceptedFreezingVote>,
-                                        AcceptedFreezingVote* old_vote,
-                                        const FreezingVote& new_vote) {
-  DCHECK(old_vote->IsValid());
+void FreezingVoteAggregator::OnVoteChanged(FreezingVoterId voter_id,
+                                           const PageNode* page_node,
+                                           const FreezingVote& new_vote) {
+  // The vote data for this page node is guaranteed to exist.
+  auto& vote_data = GetVoteData(page_node)->second;
 
-  auto& vote_data = GetVoteData(old_vote->context())->second;
+  // Remember the previous chosen vote before updating the vote for this
+  // |voter_id|.
+  const FreezingVoteValue old_chosen_vote_value =
+      vote_data.GetChosenVote().value();
 
-  if (vote_data.UpdateVote(old_vote, new_vote) ==
-      FreezingVoteData::UpstreamVoteImpact::kUpstreamVoteChanged) {
-    vote_data.UpstreamVote(&channel_);
-  }
+  vote_data.UpdateVote(voter_id, new_vote);
+
+  // If the chosen vote changed, the upstream vote must also be changed.
+  const FreezingVote new_chosen_vote = vote_data.GetChosenVote();
+  if (old_chosen_vote_value != new_chosen_vote.value())
+    channel_.ChangeVote(page_node, new_chosen_vote);
 }
 
-void FreezingVoteAggregator::VoteInvalidated(
-    base::PassKey<AcceptedFreezingVote>,
-    AcceptedFreezingVote* vote) {
-  DCHECK(!vote->IsValid());
-  auto it = GetVoteData(vote->context());
+void FreezingVoteAggregator::OnVoteInvalidated(FreezingVoterId voter_id,
+                                               const PageNode* page_node) {
+  // The VoteData for this page node is guaranteed to exist.
+  auto it = GetVoteData(page_node);
   auto& vote_data = it->second;
 
-  auto remove_vote_result = vote_data.RemoveVote(vote);
-  // Remove the vote, and upstream if necessary.
-  if (remove_vote_result ==
-      FreezingVoteData::UpstreamVoteImpact::kUpstreamVoteChanged) {
-    vote_data.UpstreamVote(&channel_);
+  // Remember the previous chosen vote before removing the vote for this
+  // |voter_id|.
+  const FreezingVoteValue old_chosen_vote_value =
+      vote_data.GetChosenVote().value();
+
+  vote_data.RemoveVote(voter_id);
+
+  // In case the last vote for |page_node| was invalidated, the upstream vote
+  // must also be invalidated.
+  if (vote_data.IsEmpty()) {
+    channel_.InvalidateVote(page_node);
+
+    // Clean up the VoteData for |page_node| since it is empty.
+    vote_data_map_.erase(it);
+    return;
   }
 
-  // If all the votes for this PageNode have disappeared then remove the entry
-  // entirely. This will release the receipt that it contains and will cancel
-  // our upstream vote.
-  if (remove_vote_result ==
-      FreezingVoteData::UpstreamVoteImpact::kUpstreamVoteRemoved) {
-    vote_data_map_.erase(it);
-  }
+  // If the chosen vote changed, the upstream vote must also be changed.
+  const FreezingVote new_chosen_vote = vote_data.GetChosenVote();
+  if (old_chosen_vote_value != new_chosen_vote.value())
+    channel_.ChangeVote(page_node, new_chosen_vote);
 }
 
 FreezingVoteAggregator::FreezingVoteData::FreezingVoteData() = default;
@@ -91,95 +109,57 @@
     FreezingVoteAggregator::FreezingVoteData&& rhs) = default;
 FreezingVoteAggregator::FreezingVoteData::~FreezingVoteData() = default;
 
-FreezingVoteAggregator::FreezingVoteData::UpstreamVoteImpact
-FreezingVoteAggregator::FreezingVoteData::AddVote(AcceptedFreezingVote&& vote) {
-  auto current_decision = FreezingVoteValue::kCanFreeze;
-  if (accepted_votes_.size())
-    current_decision = GetCurrentVote().vote().value();
-
-  AddVoteToDeque(std::move(vote));
-
-  // Always report the first vote.
-  if (accepted_votes_.size() == 1)
-    return UpstreamVoteImpact::kUpstreamVoteChanged;
-
-  return (current_decision != GetCurrentVote().vote().value())
-             ? UpstreamVoteImpact::kUpstreamVoteChanged
-             : UpstreamVoteImpact::kUpstreamVoteUnchanged;
+void FreezingVoteAggregator::FreezingVoteData::AddVote(
+    FreezingVoterId voter_id,
+    const FreezingVote& vote) {
+  AddVoteToDeque(voter_id, vote);
 }
 
-FreezingVoteAggregator::FreezingVoteData::UpstreamVoteImpact
-FreezingVoteAggregator::FreezingVoteData::UpdateVote(
-    AcceptedFreezingVote* old_vote,
+void FreezingVoteAggregator::FreezingVoteData::UpdateVote(
+    FreezingVoterId voter_id,
     const FreezingVote& new_vote) {
-  auto current_decision = GetCurrentVote().vote().value();
+  // The vote is removed from the deque and then re-inserted.
+  auto it = FindVote(voter_id);
+  DCHECK(it != votes_.end());
+  votes_.erase(it);
 
-  auto it = FindVote(old_vote);
-  DCHECK(it != accepted_votes_.end());
-  auto vote = std::move(*it);
-  accepted_votes_.erase(it);
-  vote.UpdateVote(new_vote);
-  AddVoteToDeque(std::move(vote));
-
-  return (current_decision != GetCurrentVote().vote().value())
-             ? UpstreamVoteImpact::kUpstreamVoteChanged
-             : UpstreamVoteImpact::kUpstreamVoteUnchanged;
+  AddVoteToDeque(voter_id, new_vote);
 }
 
-FreezingVoteAggregator::FreezingVoteData::UpstreamVoteImpact
-FreezingVoteAggregator::FreezingVoteData::RemoveVote(
-    AcceptedFreezingVote* vote) {
-  auto current_decision = GetCurrentVote().vote().value();
-
-  accepted_votes_.erase(FindVote(vote));
-
-  // Indicate that the upstream vote should be removed.
-  if (accepted_votes_.empty())
-    return UpstreamVoteImpact::kUpstreamVoteRemoved;
-
-  return (current_decision != GetCurrentVote().vote().value())
-             ? UpstreamVoteImpact::kUpstreamVoteChanged
-             : UpstreamVoteImpact::kUpstreamVoteUnchanged;
+void FreezingVoteAggregator::FreezingVoteData::RemoveVote(
+    FreezingVoterId voter_id) {
+  votes_.erase(FindVote(voter_id));
 }
 
-void FreezingVoteAggregator::FreezingVoteData::UpstreamVote(
-    FreezingVotingChannel* channel) {
-  DCHECK_NE(0u, accepted_votes_.size());
-  auto& vote = GetCurrentVote();
-
-  // Change our existing vote, or create a new one as necessary.
-  if (receipt_.HasVote()) {
-    receipt_.ChangeVote(vote.vote().value(), vote.vote().reason());
-  } else {
-    receipt_ = channel->SubmitVote(vote.context(), vote.vote());
-  }
-}
-
-const AcceptedFreezingVote&
-FreezingVoteAggregator::FreezingVoteData::GetCurrentVote() {
+const FreezingVote& FreezingVoteAggregator::FreezingVoteData::GetChosenVote() {
   DCHECK(!IsEmpty());
   // The set of votes is ordered and the first one in the set is the one that
   // should be sent to the consumer.
-  return *accepted_votes_.begin();
+  return votes_.begin()->second;
 }
 
-FreezingVoteAggregator::FreezingVoteData::AcceptedVotesDeque::iterator
-FreezingVoteAggregator::FreezingVoteData::FindVote(AcceptedFreezingVote* vote) {
+FreezingVoteAggregator::FreezingVoteData::VotesDeque::iterator
+FreezingVoteAggregator::FreezingVoteData::FindVote(FreezingVoterId voter_id) {
   // TODO(sebmarchand): Consider doing a reverse search for kCanFreeze votes and
   // a normal one for kCannotFreeze votes.
 
-  auto it = std::find_if(accepted_votes_.begin(), accepted_votes_.end(),
-                         [vote](const auto& rhs) { return &rhs == vote; });
-  DCHECK(it != accepted_votes_.end());
+  auto it =
+      std::find_if(votes_.begin(), votes_.end(),
+                   [voter_id](const auto& e) { return e.first == voter_id; });
+  DCHECK(it != votes_.end());
   return it;
 }
 
 void FreezingVoteAggregator::FreezingVoteData::AddVoteToDeque(
-    AcceptedFreezingVote&& vote) {
-  if (vote.vote().value() == FreezingVoteValue::kCannotFreeze) {
-    accepted_votes_.push_front(std::move(vote));
+    FreezingVoterId voter_id,
+    const FreezingVote& vote) {
+  DCHECK(std::find_if(votes_.begin(), votes_.end(), [voter_id](const auto& e) {
+           return e.first == voter_id;
+         }) == votes_.end());
+  if (vote.value() == FreezingVoteValue::kCannotFreeze) {
+    votes_.emplace_front(voter_id, vote);
   } else {
-    accepted_votes_.push_back(std::move(vote));
+    votes_.emplace_back(voter_id, vote);
   }
 }
 
@@ -191,4 +171,4 @@
 }
 
 }  // namespace freezing
-}  // namespace performance_manager
\ No newline at end of file
+}  // namespace performance_manager
diff --git a/components/performance_manager/freezing/freezing_vote_aggregator.h b/components/performance_manager/freezing/freezing_vote_aggregator.h
index bbde531..c30548f 100644
--- a/components/performance_manager/freezing/freezing_vote_aggregator.h
+++ b/components/performance_manager/freezing/freezing_vote_aggregator.h
@@ -23,11 +23,13 @@
 
 using FreezingVote =
     voting::Vote<PageNode, FreezingVoteValue, FreezingVoteValue::kCannotFreeze>;
+using FreezingVoterId = voting::VoterId<FreezingVote>;
 using FreezingVoteReceipt = voting::VoteReceipt<FreezingVote>;
 using FreezingVotingChannel = voting::VotingChannel<FreezingVote>;
-using FreezingVoteConsumer = voting::VoteConsumer<FreezingVote>;
-using AcceptedFreezingVote = voting::AcceptedVote<FreezingVote>;
-using FreezingVotingChannelFactory = voting::VotingChannelFactory<FreezingVote>;
+using FreezingVoteObserver = voting::VoteObserver<FreezingVote>;
+using FreezingVoteConsumerDefaultImpl =
+    voting::VoteConsumerDefaultImpl<FreezingVote>;
+using FreezingVotingChannelWrapper = voting::VotingChannelWrapper<FreezingVote>;
 
 // An aggregator for freezing votes. It upstreams an aggregated vote to an
 // upstream channel every time the freezing decision changes for a PageNode. It
@@ -35,7 +37,7 @@
 // kCanFreeze vote for this node. Any kCannotFreeze vote received will have
 // priority over the kCanFreeze votes and will prevent the PageNode from being
 // frozen.
-class FreezingVoteAggregator final : public FreezingVoteConsumer {
+class FreezingVoteAggregator final : public FreezingVoteObserver {
  public:
   FreezingVoteAggregator();
   FreezingVoteAggregator(const FreezingVoteAggregator& rhs) = delete;
@@ -48,16 +50,15 @@
   // Sets the upstream voting channel. Should only be called once.
   void SetUpstreamVotingChannel(FreezingVotingChannel&& channel);
 
-  // VoteConsumer implementation:
-  FreezingVoteReceipt SubmitVote(base::PassKey<FreezingVotingChannel>,
-                                 voting::VoterId<FreezingVote> voter_id,
-                                 const PageNode* page_node,
-                                 const FreezingVote& vote) override;
-  void ChangeVote(base::PassKey<AcceptedFreezingVote>,
-                  AcceptedFreezingVote* old_vote,
-                  const FreezingVote& new_vote) override;
-  void VoteInvalidated(base::PassKey<AcceptedFreezingVote>,
-                       AcceptedFreezingVote* vote) override;
+  // FreezingVoteObserver implementation:
+  void OnVoteSubmitted(FreezingVoterId voter_id,
+                       const PageNode* page_node,
+                       const FreezingVote& vote) override;
+  void OnVoteChanged(FreezingVoterId voter_id,
+                     const PageNode* page_node,
+                     const FreezingVote& new_vote) override;
+  void OnVoteInvalidated(FreezingVoterId voter_id,
+                         const PageNode* page_node) override;
 
  private:
   friend class FreezingVoteAggregatorTestAccess;
@@ -85,46 +86,41 @@
     FreezingVoteData& operator=(const FreezingVoteData& rhs) = delete;
     ~FreezingVoteData();
 
-    // Adds a vote. Returns an UpstreamVoteImpact indicating if the upstreamed
-    // vote should be updated by calling UpstreamVote.
-    UpstreamVoteImpact AddVote(AcceptedFreezingVote&& vote) WARN_UNUSED_RESULT;
+    // Adds a new vote.
+    void AddVote(FreezingVoterId voter_id, const FreezingVote& vote);
 
-    // Updates a vote. Returns an UpstreamVoteImpact indicating if the
-    // upstreamed vote should be updated by calling UpstreamVote.
-    UpstreamVoteImpact UpdateVote(AcceptedFreezingVote* old_vote,
-                                  const FreezingVote& new_vote)
-        WARN_UNUSED_RESULT;
+    // Updates an existing vote.
+    void UpdateVote(FreezingVoterId voter_id, const FreezingVote& new_vote);
 
-    // Removes a vote. Returns an UpstreamVoteImpact indicating if the
-    // upstreamed vote should be updated by calling UpstreamVote or invalidated.
-    UpstreamVoteImpact RemoveVote(AcceptedFreezingVote* vote)
-        WARN_UNUSED_RESULT;
+    // Removes an existing vote
+    void RemoveVote(FreezingVoterId voter_id);
 
     // Upstreams the vote for this vote data, using the given voting |channel|.
-    void UpstreamVote(FreezingVotingChannel* channel);
+    void UpstreamVote(const PageNode* page_node,
+                      FreezingVotingChannel* channel);
 
-    bool IsEmpty() { return accepted_votes_.empty(); }
+    bool IsEmpty() { return votes_.empty(); }
 
-    // Returns the current aggregated vote.
-    const AcceptedFreezingVote& GetCurrentVote();
+    // Returns the chosen vote. Invalid to call if IsEmpty() is true.
+    const FreezingVote& GetChosenVote();
 
+   private:
     friend class FreezingVoteAggregatorTestAccess;
 
     // The current set of votes.
-    using AcceptedVotesDeque = base::circular_deque<AcceptedFreezingVote>;
+    using VotesDeque =
+        base::circular_deque<std::pair<FreezingVoterId, FreezingVote>>;
 
-    const AcceptedVotesDeque& GetAcceptedVotesForTesting() {
-      return accepted_votes_;
-    }
+    const VotesDeque& GetVotesForTesting() { return votes_; }
 
-    // Returns the iterator of |vote| in |accepted_votes_|. |vote| is expected
+    // Returns the iterator of |voter_id| in |votes_|. |voter_id| is expected
     // to be in the deque, this is enforced by a DCHECK.
-    AcceptedVotesDeque::iterator FindVote(AcceptedFreezingVote* vote);
+    VotesDeque::iterator FindVote(FreezingVoterId voter_id);
 
-    void AddVoteToDeque(AcceptedFreezingVote&& vote);
+    void AddVoteToDeque(FreezingVoterId voter_id, const FreezingVote& vote);
 
     // kCannotFreeze votes are always at the beginning of the deque.
-    AcceptedVotesDeque accepted_votes_;
+    VotesDeque votes_;
 
     // The receipt for the vote we've upstreamed.
     FreezingVoteReceipt receipt_;
@@ -139,10 +135,10 @@
   VoteDataMap vote_data_map_;
 
   // The channel for upstreaming our votes.
-  FreezingVotingChannel channel_;
+  FreezingVotingChannelWrapper channel_;
 
-  // The factory for providing FreezingVotingChannels to our input voters.
-  FreezingVotingChannelFactory factory_;
+  // Provides FreezingVotingChannels to our input voters.
+  FreezingVoteConsumerDefaultImpl vote_consumer_default_impl_;
 };
 
 }  // namespace freezing
diff --git a/components/performance_manager/freezing/freezing_vote_aggregator_unittest.cc b/components/performance_manager/freezing/freezing_vote_aggregator_unittest.cc
index 1b7c89d..981fb5df 100644
--- a/components/performance_manager/freezing/freezing_vote_aggregator_unittest.cc
+++ b/components/performance_manager/freezing/freezing_vote_aggregator_unittest.cc
@@ -16,10 +16,10 @@
  public:
   using FreezingVoteData = FreezingVoteAggregator::FreezingVoteData;
 
-  static const FreezingVoteData::AcceptedVotesDeque& GetAllVotes(
+  static const FreezingVoteData::VotesDeque& GetAllVotes(
       FreezingVoteAggregator* agg,
       const PageNode* node) {
-    return agg->GetVoteData(node)->second.GetAcceptedVotesForTesting();
+    return agg->GetVoteData(node)->second.GetVotesForTesting();
   }
 };
 using VoteData = FreezingVoteAggregatorTestAccess::FreezingVoteData;
@@ -54,7 +54,7 @@
   DummyFreezingVoter voter1;
   DummyFreezingVoter voter2;
 
-  voting::VoterId<FreezingVote> agg_id = voting::kInvalidVoterId<FreezingVote>;
+  FreezingVoterId agg_id = voting::kInvalidVoterId<FreezingVote>;
   {
     auto channel = consumer.voting_channel_factory_.BuildVotingChannel();
     agg_id = channel.voter_id();
@@ -68,12 +68,12 @@
   // Create some dummy votes for each PageNode and immediately expect
   // them to propagate upwards.
   voter0.EmitVote(kPageNode0, FreezingVoteValue::kCannotFreeze, kReason0);
-  voter1.EmitVote(kPageNode1, FreezingVoteValue::kCanFreeze, kReason1);
+  voter0.EmitVote(kPageNode1, FreezingVoteValue::kCanFreeze, kReason1);
   // Current state and expectations:
   //    - kPageNode0: 1 x kCannotFreeze  =>  kCannotFreeze
   //    - kPageNode1: 1 x kCanFreeze     =>  kCanFreeze
-  EXPECT_EQ(1u, voter0.receipts_.size());
-  EXPECT_EQ(1u, voter1.receipts_.size());
+  EXPECT_EQ(2u, voter0.receipts_.size());
+  EXPECT_EQ(0u, voter1.receipts_.size());
   EXPECT_EQ(0u, voter2.receipts_.size());
   EXPECT_EQ(2u, consumer.votes_.size());
   EXPECT_EQ(2u, consumer.valid_vote_count_);
@@ -87,8 +87,8 @@
   // Current state and expectations:
   //    - kPageNode0: 1 x kCanFreeze     =>  kCanFreeze
   //    - kPageNode1: 1 x kCanFreeze     =>  kCanFreeze
-  EXPECT_EQ(1u, voter0.receipts_.size());
-  EXPECT_EQ(1u, voter1.receipts_.size());
+  EXPECT_EQ(2u, voter0.receipts_.size());
+  EXPECT_EQ(0u, voter1.receipts_.size());
   EXPECT_EQ(0u, voter2.receipts_.size());
   EXPECT_EQ(2u, consumer.votes_.size());
   EXPECT_EQ(2u, consumer.valid_vote_count_);
@@ -98,13 +98,13 @@
                            kReason1);
 
   // Submit a new kCanFreeze vote and expect no change.
-  voter2.EmitVote(kPageNode1, FreezingVoteValue::kCanFreeze, kReason0);
+  voter1.EmitVote(kPageNode1, FreezingVoteValue::kCanFreeze, kReason0);
   // Current state and expectations:
   //    - kPageNode0: 1 x kCanFreeze     =>  kCanFreeze
   //    - kPageNode1: 2 x kCanFreeze     =>  kCanFreeze
-  EXPECT_EQ(1u, voter0.receipts_.size());
+  EXPECT_EQ(2u, voter0.receipts_.size());
   EXPECT_EQ(1u, voter1.receipts_.size());
-  EXPECT_EQ(1u, voter2.receipts_.size());
+  EXPECT_EQ(0u, voter2.receipts_.size());
   EXPECT_EQ(2u, consumer.votes_.size());
   EXPECT_EQ(2u, consumer.valid_vote_count_);
   consumer.ExpectValidVote(0, agg_id, kPageNode0, FreezingVoteValue::kCanFreeze,
@@ -118,9 +118,9 @@
   // Current state and expectations:
   //    - kPageNode0: 1 x kCanFreeze     =>  kCanFreeze
   //    - kPageNode1: 2 x kCanFreeze + 1 x kCannotFreeze    =>  kCannotFreeze
-  EXPECT_EQ(1u, voter0.receipts_.size());
+  EXPECT_EQ(2u, voter0.receipts_.size());
   EXPECT_EQ(1u, voter1.receipts_.size());
-  EXPECT_EQ(2u, voter2.receipts_.size());
+  EXPECT_EQ(1u, voter2.receipts_.size());
   EXPECT_EQ(2u, consumer.votes_.size());
   EXPECT_EQ(2u, consumer.valid_vote_count_);
   consumer.ExpectValidVote(0, agg_id, kPageNode0, FreezingVoteValue::kCanFreeze,
@@ -133,8 +133,8 @@
   voter2.receipts_.clear();
   // Current state and expectations:
   //    - kPageNode0: 1 x kCanFreeze     =>  kCanFreeze
-  //    - kPageNode1: 1 x kCanFreeze     =>  kCanFreeze
-  EXPECT_EQ(1u, voter0.receipts_.size());
+  //    - kPageNode1: 2 x kCanFreeze     =>  kCanFreeze
+  EXPECT_EQ(2u, voter0.receipts_.size());
   EXPECT_EQ(1u, voter1.receipts_.size());
   EXPECT_EQ(0u, voter2.receipts_.size());
   EXPECT_EQ(2u, consumer.votes_.size());
@@ -144,8 +144,9 @@
   consumer.ExpectValidVote(1, agg_id, kPageNode1, FreezingVoteValue::kCanFreeze,
                            kReason1);
 
-  // Invalidate the remaining vote for one of the PageNode.
+  // Invalidate the remaining vote for kPageNode1.
   voter1.receipts_.clear();
+  voter0.receipts_.erase(voter0.receipts_.begin() + 1);
   // Current state and expectations:
   //    - kPageNode0: 1 x kCanFreeze     =>  kCanFreeze
   //    - kPageNode1: No vote            =>  Invalidated
@@ -159,12 +160,12 @@
   consumer.ExpectInvalidVote(1);
 
   // Emit a new vote for the PageNode that had no remaining vote
-  voter1.EmitVote(kPageNode1, FreezingVoteValue::kCannotFreeze, kReason2);
+  voter0.EmitVote(kPageNode1, FreezingVoteValue::kCannotFreeze, kReason2);
   // Current state and expectations:
   //    - kPageNode0: 1 x kCanFreeze     =>  kCanFreeze
-  //    - kPageNode1: 1 x kCanFreeze     =>  kCanFreeze
-  EXPECT_EQ(1u, voter0.receipts_.size());
-  EXPECT_EQ(1u, voter1.receipts_.size());
+  //    - kPageNode1: 1 x kCanFreeze     =>  kCannotFreeze
+  EXPECT_EQ(2u, voter0.receipts_.size());
+  EXPECT_EQ(0u, voter1.receipts_.size());
   EXPECT_EQ(0u, voter2.receipts_.size());
   EXPECT_EQ(3u, consumer.votes_.size());
   EXPECT_EQ(2u, consumer.valid_vote_count_);
@@ -181,7 +182,7 @@
   DummyFreezingVoter voter0;
   DummyFreezingVoter voter1;
 
-  voting::VoterId<FreezingVote> agg_id = voting::kInvalidVoterId<FreezingVote>;
+  FreezingVoterId agg_id = voting::kInvalidVoterId<FreezingVote>;
   {
     auto channel = consumer.voting_channel_factory_.BuildVotingChannel();
     agg_id = channel.voter_id();
@@ -200,13 +201,11 @@
   EXPECT_EQ(FreezingVoteValue::kCanFreeze,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .front()
-                .vote()
-                .value());
+                .second.value());
   EXPECT_EQ(kReason0,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .front()
-                .vote()
-                .reason());
+                .second.reason());
   consumer.ExpectValidVote(0, agg_id, kPageNode0, FreezingVoteValue::kCanFreeze,
                            kReason0);
 
@@ -219,23 +218,19 @@
   EXPECT_EQ(FreezingVoteValue::kCannotFreeze,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .begin()
-                ->vote()
-                .value());
+                ->second.value());
   EXPECT_EQ(kReason1,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .begin()
-                ->vote()
-                .reason());
+                ->second.reason());
   EXPECT_EQ(FreezingVoteValue::kCanFreeze,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .back()
-                .vote()
-                .value());
+                .second.value());
   EXPECT_EQ(kReason0,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .back()
-                .vote()
-                .reason());
+                .second.reason());
   consumer.ExpectValidVote(0, agg_id, kPageNode0,
                            FreezingVoteValue::kCannotFreeze, kReason1);
 
@@ -248,13 +243,11 @@
   EXPECT_EQ(FreezingVoteValue::kCanFreeze,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .front()
-                .vote()
-                .value());
+                .second.value());
   EXPECT_EQ(kReason0,
             FreezingVoteAggregatorTestAccess::GetAllVotes(&agg, kPageNode0)
                 .front()
-                .vote()
-                .reason());
+                .second.reason());
   consumer.ExpectValidVote(0, agg_id, kPageNode0, FreezingVoteValue::kCanFreeze,
                            kReason0);
 
@@ -263,5 +256,56 @@
   consumer.ExpectInvalidVote(0);
 }
 
+// Tests that submitting a second vote with the same value as the first one does
+// not change the upstreamed vote.
+TEST(FreezingVoteAggregatorTest, VoteConsistency) {
+  DummyFreezingVoteConsumer consumer;
+  FreezingVoteAggregator agg;
+  DummyFreezingVoter voter0;
+  DummyFreezingVoter voter1;
+
+  FreezingVoterId agg_id = voting::kInvalidVoterId<FreezingVote>;
+  {
+    auto channel = consumer.voting_channel_factory_.BuildVotingChannel();
+    agg_id = channel.voter_id();
+    agg.SetUpstreamVotingChannel(std::move(channel));
+  }
+
+  voter0.SetVotingChannel(agg.GetVotingChannel());
+  voter1.SetVotingChannel(agg.GetVotingChannel());
+
+  // Submit a first vote.
+  voter0.EmitVote(kPageNode0, FreezingVoteValue::kCanFreeze, kReason0);
+  consumer.ExpectValidVote(0, agg_id, kPageNode0, FreezingVoteValue::kCanFreeze,
+                           kReason0);
+
+  // Emit a second vote with the same value but a different reason so that they
+  // can be differentiated. The upstreamed vote should be the same.
+  voter1.EmitVote(kPageNode0, FreezingVoteValue::kCanFreeze, kReason1);
+  consumer.ExpectValidVote(0, agg_id, kPageNode0, FreezingVoteValue::kCanFreeze,
+                           kReason0);
+
+  // Clear the votes.
+  voter0.receipts_.clear();
+  voter1.receipts_.clear();
+
+  // Do the same with kCannotFreeze votes.
+
+  // Submit a first vote.
+  voter0.EmitVote(kPageNode0, FreezingVoteValue::kCannotFreeze, kReason0);
+  consumer.ExpectValidVote(1, agg_id, kPageNode0,
+                           FreezingVoteValue::kCannotFreeze, kReason0);
+
+  // Emit a second vote with the same value but a different reason so that they
+  // can be differentiated. The upstreamed vote should be the same.
+  voter1.EmitVote(kPageNode0, FreezingVoteValue::kCannotFreeze, kReason1);
+  consumer.ExpectValidVote(1, agg_id, kPageNode0,
+                           FreezingVoteValue::kCannotFreeze, kReason0);
+
+  // Clear the votes.
+  voter0.receipts_.clear();
+  voter1.receipts_.clear();
+}
+
 }  // namespace freezing
 }  // namespace performance_manager
diff --git a/components/performance_manager/graph/frame_node_impl.cc b/components/performance_manager/graph/frame_node_impl.cc
index aad55b3..379cf26b 100644
--- a/components/performance_manager/graph/frame_node_impl.cc
+++ b/components/performance_manager/graph/frame_node_impl.cc
@@ -559,7 +559,7 @@
   // Wire this up to the other nodes in the graph.
   if (parent_frame_node_)
     parent_frame_node_->AddChildFrame(this);
-  page_node_->AddFrame(this);
+  page_node_->AddFrame(base::PassKey<FrameNodeImpl>(), this);
   process_node_->AddFrame(this);
 }
 
@@ -573,7 +573,7 @@
 
   // Leave the page.
   DCHECK(graph()->NodeInGraph(page_node_));
-  page_node_->RemoveFrame(this);
+  page_node_->RemoveFrame(base::PassKey<FrameNodeImpl>(), this);
 
   // Leave the frame hierarchy.
   if (parent_frame_node_) {
diff --git a/components/performance_manager/graph/page_node_impl.cc b/components/performance_manager/graph/page_node_impl.cc
index b42991e..47693cc 100644
--- a/components/performance_manager/graph/page_node_impl.cc
+++ b/components/performance_manager/graph/page_node_impl.cc
@@ -42,7 +42,8 @@
   return contents_proxy_;
 }
 
-void PageNodeImpl::AddFrame(FrameNodeImpl* frame_node) {
+void PageNodeImpl::AddFrame(base::PassKey<FrameNodeImpl>,
+                            FrameNodeImpl* frame_node) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(frame_node);
   DCHECK_EQ(this, frame_node->page_node());
@@ -53,7 +54,8 @@
     main_frame_nodes_.insert(frame_node);
 }
 
-void PageNodeImpl::RemoveFrame(FrameNodeImpl* frame_node) {
+void PageNodeImpl::RemoveFrame(base::PassKey<FrameNodeImpl>,
+                               FrameNodeImpl* frame_node) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(frame_node);
   DCHECK_EQ(this, frame_node->page_node());
diff --git a/components/performance_manager/graph/page_node_impl.h b/components/performance_manager/graph/page_node_impl.h
index 3fb0144..799aa86 100644
--- a/components/performance_manager/graph/page_node_impl.h
+++ b/components/performance_manager/graph/page_node_impl.h
@@ -23,12 +23,20 @@
 namespace performance_manager {
 
 class FrameNodeImpl;
+class FrozenFrameAggregatorAccess;
+class PageAggregatorAccess;
+class PageLoadTrackerAccess;
+class SiteDataAccess;
 
 class PageNodeImpl
     : public PublicNodeImpl<PageNodeImpl, PageNode>,
       public TypedNodeBase<PageNodeImpl, PageNode, PageNodeObserver> {
  public:
   using PassKey = base::PassKey<PageNodeImpl>;
+  using FrozenFrameDataStorage =
+      InternalNodeAttachedDataStorage<sizeof(uintptr_t) + 8>;
+  using PageAggregatorDataStorage =
+      InternalNodeAttachedDataStorage<sizeof(uintptr_t) + 12>;
 
   static constexpr NodeTypeEnum Type() { return NodeTypeEnum::kPage; }
 
@@ -116,13 +124,50 @@
     return weak_factory_.GetWeakPtr();
   }
 
+  // Accessors to some of the NodeAttachedData:
+  std::unique_ptr<NodeAttachedData>& GetSiteData(
+      base::PassKey<SiteDataAccess>) {
+    return site_data_;
+  }
+  std::unique_ptr<NodeAttachedData>& GetPageLoadTrackerData(
+      base::PassKey<PageLoadTrackerAccess>) {
+    return page_load_tracker_data_;
+  }
+  FrozenFrameDataStorage& GetFrozenFrameData(
+      base::PassKey<FrozenFrameAggregatorAccess>) {
+    return frozen_frame_data_;
+  }
+  PageAggregatorDataStorage& GetPageAggregatorData(
+      base::PassKey<PageAggregatorAccess>) {
+    return page_aggregator_data_;
+  }
+
+  // Functions meant to be called by a FrameNodeImpl:
+  void AddFrame(base::PassKey<FrameNodeImpl>, FrameNodeImpl* frame_node);
+  void RemoveFrame(base::PassKey<FrameNodeImpl>, FrameNodeImpl* frame_node);
+
+  // Function meant to be called by FrozenFrameAggregatorAccess.
+  void SetLifecycleState(base::PassKey<FrozenFrameAggregatorAccess>,
+                         LifecycleState lifecycle_state) {
+    SetLifecycleState(lifecycle_state);
+  }
+
+  // Functions meant to be called by PageAggregatorAccess:
+  void SetIsHoldingWebLock(base::PassKey<PageAggregatorAccess>,
+                           bool is_holding_weblock) {
+    SetIsHoldingWebLock(is_holding_weblock);
+  }
+  void SetIsHoldingIndexedDBLock(base::PassKey<PageAggregatorAccess>,
+                                 bool is_holding_indexeddb_lock) {
+    SetIsHoldingIndexedDBLock(is_holding_indexeddb_lock);
+  }
+  void SetHadFormInteraction(base::PassKey<PageAggregatorAccess>,
+                             bool had_form_interaction) {
+    SetHadFormInteraction(had_form_interaction);
+  }
+
  private:
-  friend class FrameNodeImpl;
-  friend class FrozenFrameAggregatorAccess;
-  friend class PageAggregatorAccess;
-  friend class PageLoadTrackerAccess;
   friend class PageNodeImplDescriber;
-  friend class SiteDataAccess;
 
   // PageNode implementation.
   const std::string& GetBrowserContextID() const override;
@@ -146,9 +191,6 @@
   bool HadFormInteraction() const override;
   const WebContentsProxy& GetContentsProxy() const override;
 
-  void AddFrame(FrameNodeImpl* frame_node);
-  void RemoveFrame(FrameNodeImpl* frame_node);
-
   // NodeBase:
   void OnJoiningGraph() override;
   void OnBeforeLeavingGraph() override;
@@ -263,10 +305,10 @@
   std::unique_ptr<NodeAttachedData> site_data_;
 
   // Inline storage for FrozenFrameAggregator user data.
-  InternalNodeAttachedDataStorage<sizeof(uintptr_t) + 8> frozen_frame_data_;
+  FrozenFrameDataStorage frozen_frame_data_;
 
   // Inline storage for PageAggregatorAccess user data.
-  InternalNodeAttachedDataStorage<sizeof(uintptr_t) + 12> page_aggregator_data_;
+  PageAggregatorDataStorage page_aggregator_data_;
 
   base::WeakPtrFactory<PageNodeImpl> weak_factory_{this};
 
diff --git a/components/plugins/renderer/webview_plugin.cc b/components/plugins/renderer/webview_plugin.cc
index ec58e02..b33850e 100644
--- a/components/plugins/renderer/webview_plugin.cc
+++ b/components/plugins/renderer/webview_plugin.cc
@@ -299,10 +299,6 @@
   return false;
 }
 
-bool WebViewPlugin::WebViewHelper::CanHandleGestureEvent() {
-  return true;
-}
-
 bool WebViewPlugin::WebViewHelper::CanUpdateLayout() {
   return true;
 }
diff --git a/components/plugins/renderer/webview_plugin.h b/components/plugins/renderer/webview_plugin.h
index 6b3f246..29369f92 100644
--- a/components/plugins/renderer/webview_plugin.h
+++ b/components/plugins/renderer/webview_plugin.h
@@ -174,7 +174,6 @@
 
     // WebViewClient methods:
     bool AcceptsLoadDrops() override;
-    bool CanHandleGestureEvent() override;
     bool CanUpdateLayout() override;
     void DidInvalidateRect(const blink::WebRect&) override;
 
diff --git a/components/policy/proto/device_management_backend.proto b/components/policy/proto/device_management_backend.proto
index 6d8ab4d..f329463c 100644
--- a/components/policy/proto/device_management_backend.proto
+++ b/components/policy/proto/device_management_backend.proto
@@ -1810,10 +1810,9 @@
   // the profile. Empty when in incognito mode
   optional string name = 2;
 
-  // A boolean to indicates if the profile contains all details. Only activated
-  // profiles can upload all needed details, idle profiles only upload |id| and
-  // |name|. Only used for partial reports.
-  optional bool is_available = 3;
+  // Indicates if the profile contains all details. Only active profiles can
+  // upload all needed details, idle profiles only upload |id| and |name|.
+  optional bool is_detail_available = 3;
 
   // Gaia account information if the Profile is signed in.
   optional ChromeSignedInUser chrome_signed_in_user = 4;
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index a98ed70..76009f1 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -10243,7 +10243,7 @@
       'owners': ['file://components/policy/resources/OWNERS'],
       'type': 'main',
       'schema': { 'type': 'boolean' },
-      'supported_on': ['chrome_os:83-'],
+      'supported_on': ['chrome_os:83-88'],
       'features': {
         'can_be_recommended': False,
         'dynamic_refresh': True,
@@ -10254,7 +10254,7 @@
       'id': 688,
       'caption': '''Reduce Managed-guest session auto-launch notifications''',
       'tags': [],
-      'desc': ''' Note that this policy is deprecated and will be removed in <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> version 89. Please use <ph name="MANAGED_GUEST_SESSION_PRIVACY_WARNINGS_POLICY_NAME">ManagedGuestSessionPrivacyWarningsEnabled</ph> to configure the privacy warnings of managed-guest sessions instead.
+      'desc': ''' Note that this policy is deprecated in M87 and removed in M89. Please use <ph name="MANAGED_GUEST_SESSION_PRIVACY_WARNINGS_POLICY_NAME">ManagedGuestSessionPrivacyWarningsEnabled</ph> to configure the privacy warnings of managed-guest sessions instead.
 
       Control the auto launch notification of the managed guest session on <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph>.
 
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index cc2a58c2..af1c702 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -200,6 +200,7 @@
 <translation id="1327466551276625742">Eingabeaufforderung zur Netzwerkkonfiguration im Offlinemodus aktivieren</translation>
 <translation id="1330145147221172764">Bildschirmtastatur aktivieren</translation>
 <translation id="13356285923490863">Richtlinienname</translation>
+<translation id="1339174690935954950">Verhindern, dass Nutzer Feedback geben</translation>
 <translation id="1347198119056266798">Diese Richtlinie wurde eingestellt. Verwenden Sie stattdessen "<ph name="FORCE_GOOGLE_SAFE_SEARCH_POLICY_NAME" />" und "<ph name="FORCE_YOUTUBE_RESTRICT_POLICY_NAME" />". Diese Richtlinie wird ignoriert, wenn entweder die Richtlinie "<ph name="FORCE_GOOGLE_SAFE_SEARCH_POLICY_NAME" />", "<ph name="FORCE_YOUTUBE_RESTRICT_POLICY_NAME" />" oder die veraltete Richtlinie "<ph name="FORCE_YOUTUBE_SAFETY_MODE_POLICY_NAME" />" konfiguriert ist.
 
       Erzwingt die Ausführung der Google Websuche mit aktivierter SafeSearch-Funktion und verhindert, dass Nutzer diese Einstellung ändern. Durch diese Einstellung wird auf YouTube auch der moderate eingeschränkte Modus erzwungen.
@@ -252,6 +253,7 @@
       Sollte das URL-Muster sowohl in dieser Richtlinie als auch in der Richtlinie <ph name="SENSORS_ALLOWED_FOR_URLS_POLICY_NAME" /> enthalten sein, hat diese Richtlinie Vorrang und der Zugriff auf Bewegungs- und Lichtsensoren wird gesperrt.
 
       Genaue Informationen zu gültigen <ph name="URL_LABEL" />-Mustern finden Sie unter https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.</translation>
+<translation id="1434300053894025056">Rechtschreibprüfung deaktivieren</translation>
 <translation id="1435659902881071157">Netzwerkkonfiguration auf Geräteebene</translation>
 <translation id="1438739959477268107">Standardeinstellung für die Schlüsselgenerierung</translation>
 <translation id="1449083855104537880">Wenn Sie die Richtlinie auf "True" setzen, werden die Optionen für Bedienungshilfen im Taskleistenmenü angezeigt. Wenn die Richtlinie auf "False" gesetzt ist, werden die Optionen nicht im Taskleistenmenü angezeigt.
@@ -452,6 +454,7 @@
 
       Wenn die Richtlinie nicht konfiguriert ist, schlägt die Installation von <ph name="PLUGIN_VM_NAME" /> fehl, wenn weniger als 20 GB (Standardwert) freier Speicherplatz auf dem Gerät verfügbar sind.
       Wenn die Richtlinie konfiguriert ist, schlägt die Installation von <ph name="PLUGIN_VM_NAME" /> fehl, wenn der freie Speicherplatz auf dem Gerät nicht dem in der Richtlinie angegebenen Mindestwert entspricht.</translation>
+<translation id="1690383938831887552">Verhindern, dass Signed HTTP Exchanges geladen werden</translation>
 <translation id="1700811900332333712">Powerwash-Anfrage durch Gerät zulassen</translation>
 <translation id="1708496595873025510">Beschränkung für Abruf des Varianten-Seeds festlegen</translation>
 <translation id="171511968762040550">Wenn diese Richtlinie auf "True" gesetzt oder nicht konfiguriert ist, können Nutzer Lesezeichen hinzufügen, entfernen oder ändern.
@@ -460,6 +463,7 @@
 <translation id="1715151459541210849">Bedienungshilfe "Spracheingabe" aktivieren</translation>
 <translation id="172374442286684480">Speichern von lokalen Daten für alle Websites zulassen</translation>
 <translation id="1736269219679256369">Fortfahren von SSL-Hinweisseite erlauben</translation>
+<translation id="174765717426930019">Allen mit dem Ziel <ph name="BLANK_PAGE_NAME" /> geöffneten Pop-ups erlauben, mit der Seite zu interagieren, die das Pop-up geöffnet hat, es sei denn, die öffnende Seite hat dieser Art von Interaktion ausdrücklich nicht zugestimmt </translation>
 <translation id="1750315445671978749">Alle Downloads blockieren</translation>
 <translation id="1760951637494635692">Serial API auf diesen Seiten erlauben</translation>
 <translation id="1765512315997108908">Legt fest, welche Drucker aus <ph name="DEVICE_PRINTERS_POLICY_NAME" /> Nutzern zur Verfügung stehen.
@@ -631,6 +635,7 @@
 <translation id="2069350366303315077">Wenn die Richtlinie aktiviert ist, erzwingt <ph name="PRODUCT_NAME" /> Gastsitzungen und verhindert die Anmeldung über Nutzerprofile. Gastsitzungen sind <ph name="PRODUCT_NAME" />-Profile, bei denen die Fenster im Inkognitomodus ausgeführt werden.
 
       Wenn die Richtlinie deaktiviert oder nicht konfiguriert ist bzw. der Gastmodus des Browsers durch <ph name="BROWSER_GUEST_MODE_ENABLED_POLICY_NAME" /> deaktiviert ist, können sowohl neue als auch vorhandene Profile verwendet werden.</translation>
+<translation id="2070744136203607632">Keine DNS-Abfangprüfungen ausführen</translation>
 <translation id="2073552873076775140">Anmeldung in <ph name="PRODUCT_NAME" /> erlauben</translation>
 <translation id="2075732129949889165">Crostini-Ansible-Playbook</translation>
 <translation id="2077129598763517140">Hardwarebeschleunigung verwenden, falls verfügbar</translation>
@@ -666,6 +671,7 @@
 <translation id="2145735238144543545">Erforderliche Clientzertifikate</translation>
 <translation id="214901426630414675">Duplexdruck einschränken</translation>
 <translation id="2149330464730004005">Farbdruck einschränken</translation>
+<translation id="2149592087996467903">Verhindern, dass WebRTC veraltete Versionen von TLS/DTLS verwendet</translation>
 <translation id="2149957154942061013">Nur intern</translation>
 <translation id="2151831603578119302">Tastenkombinationen für Bedienungshilfen aktivieren</translation>
 <translation id="2156132677421487971">Konfigurieren von Richtlinien für <ph name="PRODUCT_NAME" />, ein Tool, mit dem Nutzer Inhalte von Tabs, Websites oder dem Desktop von einem Browser auf andere Bildschirme und Soundsysteme übertragen können.</translation>
@@ -704,6 +710,7 @@
       Wenn Sie diese Richtlinie konfigurieren, kann sie von Nutzern nicht geändert werden. Wird sie nicht konfiguriert oder auf "false" gesetzt, hat sie keine Auswirkung.</translation>
 <translation id="2200698565850397198">Sperrliste für natives Messaging konfigurieren</translation>
 <translation id="2201555246697292490">Zulassungsliste für natives Messaging konfigurieren</translation>
+<translation id="2202787915587511214">NTLMv2 aktivieren</translation>
 <translation id="2204753382813641270">Automatisches Ausblenden der Ablage verwalten</translation>
 <translation id="2208976000652006649">Parameter für URL der Suche, die POST verwendet</translation>
 <translation id="221019813387144689">Wenn diese Richtlinie konfiguriert ist, können Sie eine Liste mit URL-Mustern erstellen, die die Websites angeben, die keine Benachrichtigungen anzeigen dürfen.
@@ -740,6 +747,7 @@
       Wird die Richtlinie auf "false" gesetzt, werden keine Vorschläge abgerufen oder angezeigt.</translation>
 <translation id="225340736558643885">Warnmeldungen für nicht sichere Formulare aktivieren</translation>
 <translation id="2258126710006312594">Nutzern mit Remotezugriff die Übertragung von Dateien vom/zum Host gestatten</translation>
+<translation id="2266422599396179941">Zulassen, dass Nutzer Feedback geben</translation>
 <translation id="2269319728625047531">Einwilligung zur Synchronisierung beim Anmelden anzeigen</translation>
 <translation id="2270747976331889601">Mit dieser Richtlinie kann eine Sicherheitsfunktion von TLS 1.3 für lokale Vertrauensanker aktiviert werden.</translation>
 <translation id="2281496157391382819"> Kontrolliert die Datenschutzwarnung der verwalteten Gastsitzung unter <ph name="PRODUCT_OS_NAME" />.
@@ -1253,6 +1261,7 @@
 <translation id="2905984450136807296">Cachelebensdauer für Authentifizierungsdaten</translation>
 <translation id="2906874737073861391">Liste der AppPack-Erweiterungen</translation>
 <translation id="2908277604670530363">Maximale Anzahl gleichzeitiger Verbindungen zum Proxyserver</translation>
+<translation id="291853569864365550">Keine Inhaltsvorschläge auf der Seite „Neuer Tab“ anzeigen</translation>
 <translation id="2919544577647246857">Die Richtlinie definiert eine Liste mit Nutzern, die sich auf dem Gerät anmelden dürfen. Die Einträge haben das Format <ph name="USER_ALLOWLIST_ENTRY_FORMAT" />, zum Beispiel <ph name="USER_WHITELIST_ENTRY_EXAMPLE" />. Wenn allen Nutzern in einer Domain die Anmeldung erlaubt werden soll, verwenden Sie Einträge im Format <ph name="USER_ALLOWLIST_ENTRY_WILDCARD" />.
 
       Wenn diese Richtlinie nicht konfiguriert ist, gibt es keine Einschränkungen im Hinblick auf die Nutzer, die sich anmelden dürfen. Zum Erstellen neuer Nutzer muss aber weiterhin die Richtlinie <ph name="DEVICE_ALLOW_NEW_USERS_POLICY_NAME" /> entsprechend konfiguriert werden.
@@ -1274,6 +1283,7 @@
 <translation id="2959898425599642200">Proxy-Umgehungsregeln</translation>
 <translation id="2960128438010718932">Staging-Zeitplan zum Anwenden eines neuen Updates</translation>
 <translation id="2960691910306063964">Authentifizierung ohne PIN für Hosts für den Remotezugriff aktivieren oder deaktivieren</translation>
+<translation id="2964373560810620158">Verhindern, dass Nutzer den <ph name="LACROS_NAME" />-Browser verwenden</translation>
 <translation id="2969797921412053304">Mit dieser Richtlinie wird festgelegt, welche URLs während des SAML-Flows auf dem Anmeldebildschirm die Remote-Attestierung der Geräteidentität verwenden dürfen.
 
       Eine URL darf HTTP-Header mit einer Antwort auf eine Remote-Nachweisabfrage zur Identitätsbestätigung empfangen, wenn sie mit einem der in dieser Richtlinie festgelegten Muster übereinstimmt. Dadurch werden die Geräteidentität und der Gerätestatus bestätigt.
@@ -1449,6 +1459,7 @@
         * auf 4 gesetzt ist, wird die <ph name="TPM_FIRMWARE_UPDATE_TPM" />-Firmware nach der Registrierung aktualisiert, bevor sich der Nutzer anmeldet.
 
       Ist die Richtlinie nicht konfiguriert, ist kein <ph name="TPM_FIRMWARE_UPDATE_TPM" />-Firmwareupdate verfügbar.</translation>
+<translation id="3232691106293445015">Nicht sichere HTTP-Verbindungen dürfen keine <ph name="BASIC_AUTH" />-Authentifizierungen verwenden; HTTPS ist erforderlich</translation>
 <translation id="3236046242843493070">URL-Muster für die Installation von Erweiterungen, Apps und Nutzerskripten von</translation>
 <translation id="3240609035816615922">Richtlinie für den Zugriff auf die Konfiguration von Druckern.</translation>
 <translation id="324062325008698789">Hiermit wird eine Liste von Druckern konfiguriert</translation>
@@ -1618,6 +1629,7 @@
       Die experimentelle Einstellung wird in Zukunft entfernt, sobald die Inline-Anmeldung alle SSO-Anmeldeprozesse vollständig unterstützt.</translation>
 <translation id="3435796032110614169">Zulassen, dass der Druckauftragsverlauf gelöscht wird</translation>
 <translation id="3437924696598384725">Zulassen, dass der Nutzer VPN-Verbindungen verwaltet</translation>
+<translation id="3450649825886735618">Rechtschreibfehler nicht mithilfe von Google-Webdiensten korrigieren</translation>
 <translation id="3451951038162074887">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, kann Drittanbieter-Software keinen ausführbaren Code in die Prozesse von <ph name="PRODUCT_NAME" /> einfügen.
 
       Ist sie deaktiviert, kann diese Software ausführbaren Code in die Prozesse von <ph name="PRODUCT_NAME" /> einfügen.
@@ -1675,6 +1687,7 @@
 <translation id="3526752951628474302">Nur Schwarz-Weiß-Druck</translation>
 <translation id="3528000905991875314">Alternative Fehlerseiten aktivieren</translation>
 <translation id="3531084733660068324">Einstellungen für die Elternaufsicht</translation>
+<translation id="3536263244905016305">Web Proxy Auto-Discovery (WPAD)-Optimierung deaktivieren</translation>
 <translation id="3539103206548425861">Wenn diese Richtlinie konfiguriert ist, können in <ph name="PRODUCT_NAME" /> ohne Zustimmung des Nutzers automatisch Videos mit Ton abgespielt werden. Wenn die Richtlinie <ph name="AUTOPLAY_ALLOWED_POLICY_NAME" /> auf "True" gesetzt ist, hat diese Richtlinie keine Auswirkungen. Ist die Richtlinie <ph name="AUTOPLAY_ALLOWED_POLICY_NAME" /> auf "False" gesetzt, können alle in dieser Richtlinie festgelegten URL-Muster weiterhin wiedergegeben werden. Wird die Richtlinie während der Ausführung von <ph name="PRODUCT_NAME" /> geändert, wird sie nur auf neu geöffnete Tabs angewendet.
 
       Genaue Informationen zu gültigen URL-Mustern finden Sie unter https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.</translation>
@@ -1824,6 +1837,7 @@
 
       Sind diese Richtlinien nicht konfiguriert, so können Nutzer ihre eigenen Proxy-Einstellungen wählen.</translation>
 <translation id="3758249152301468420">Entwickler-Tools deaktivieren</translation>
+<translation id="3760148113224469113">Bei Aufforderungen externer Protokolle immer eine Bestätigung des Nutzers erfordern</translation>
 <translation id="3760231600118073732">Aktuelle Sitzung sperren.</translation>
 <translation id="3762520180381586267">Wenn die Richtlinie aktiviert ist, löst <ph name="PRODUCT_OS_NAME" /> einen Neustart aus, wenn der Nutzer das Gerät herunterfährt. <ph name="PRODUCT_OS_NAME" /> ersetzt alle Schaltflächen zum Herunterfahren in der Benutzeroberfläche durch Schaltflächen zum Neustarten. Wenn der Nutzer das Gerät über die Ein-/Aus-Taste herunterfährt, wird es nicht automatisch neu gestartet, auch wenn die Richtlinie aktiviert ist.
 
@@ -1858,6 +1872,7 @@
       Hinweis: Richtlinienbenachrichtigungen erzwingen eine Aktualisierung, wenn sich die Richtlinie ändert. Häufige Aktualisierungen sind also nicht nötig. Wenn die Plattform Richtlinienbenachrichtigungen unterstützt, wird daher für die Verzögerung der Aktualisierung 24 Stunden festgelegt und alle Standardwerte der Richtlinie werden ignoriert.</translation>
 <translation id="382476126209906314">TalkGadget-Präfix für Remotezugriff-Hosts konfigurieren</translation>
 <translation id="3824972131618513497">Legt die Einstellungen für das Energiesparen und Neustarten fest.</translation>
+<translation id="3825873934240606959">Erkennung lokaler Geräte verhindern</translation>
 <translation id="3826475866868158882">Standortdienste von Google aktiviert</translation>
 <translation id="3831376478177535007">Wenn diese Einstellung aktiviert ist, werden von <ph name="PRODUCT_NAME" /> Zertifikate genehmigt, die von der veralteten Symantec-PKI herausgegeben werden – vorausgesetzt sie werden erfolgreich überprüft und bilden eine Kette zu einem anerkannten CA-Zertifikat.
 
@@ -1939,6 +1954,7 @@
 
       Diese Richtlinie wird nur angewendet, wenn das Gerät für <ph name="PRODUCT_NAME" /> mit <ph name="CLOUD_MANAGEMENT_ENROLLMENT_TOKEN" /> registriert ist.
       Für <ph name="PRODUCT_OS_NAME" /> wird diese Richtlinie immer angewendet.</translation>
+<translation id="3898345958122666461">NTLMv2 deaktivieren</translation>
 <translation id="3898795800259311780">Bildschirmaufnahme gestatten oder ablehnen</translation>
 <translation id="3907683835264956726">Ermöglicht Nutzern, sich online über einen Sperrbildschirm anzumelden. Wenn diese Richtlinie auf "True" gesetzt ist, wird die erneute Online-Authentifizierung auf dem Sperrbildschirm beispielsweise durch <ph name="POLICY" /> ausgelöst.
       Falls der Bildschirm gesperrt ist, wird die erneute Authentifizierung umgehend erzwungen; andernfalls wird sie erzwungen, wenn der Nutzer das nächste Mal nach dem Erfüllen der Bedingung den Bildschirm sperrt.
@@ -2033,6 +2049,7 @@
 
       Diese Richtlinie gilt nicht für Kiosk-Apps – diese werden automatisch migriert. Sollte die Richtlinie nicht konfiguriert sein, kommt die Vorgehensweise für „DisallowArc“ zum Einsatz.</translation>
 <translation id="4020682745012723568">In das Nutzerprofil übertragene Cookies sind für Android-Apps nicht zugänglich.</translation>
+<translation id="4025500273782820766">Zulassen, dass Nutzer „Immer öffnen“ auswählen, wenn ein Dialog für ein externes Protokoll angezeigt wird, sodass das Protokoll in Zukunft ohne die Bestätigung geöffnet wird</translation>
 <translation id="402759845255257575">Ausführung von JavaScript für keine Website zulassen</translation>
 <translation id="4027608872760987929">Standardsuchmaschine aktivieren</translation>
 <translation id="4056910949759281379">SPDY-Protokoll deaktivieren</translation>
@@ -2135,6 +2152,11 @@
 
           Ist diese Einstellung deaktiviert, wird für Anfragen zur Gnubby-Authentifizierung kein Proxy verwendet.</translation>
 <translation id="4224610387358583899">Verzögerungen für die Bildschirmsperre</translation>
+<translation id="4225260426043444650">Diese Einstellung ermöglicht es Nutzern, den <ph name="LACROS_NAME" />-Browser zu verwenden.
+
+      Wenn die Richtlinie deaktiviert oder nicht konfiguriert ist, können Nutzer <ph name="LACROS_NAME" /> nicht verwenden.
+
+      Ist die Richtlinie aktiviert, können Nutzer <ph name="LACROS_NAME" /> verwenden.</translation>
 <translation id="4228745249339680042">Mit dieser Richtlinie werden URLs und Domains angegeben, für die keine Eingabeaufforderung angezeigt wird, wenn Nachweiszertifikate von Sicherheitsschlüsseln angefordert werden. Zusätzlich wird ein Signal an den Sicherheitsschlüssel gesendet, das angibt, dass individuelle Nachweise verwendet werden können. Andernfalls erhalten Nutzer in <ph name="PRODUCT_NAME" /> ab Version 65 eine Eingabeaufforderung, wenn Websites einen Nachweis für Sicherheitsschlüssel anfordern.
 
       URLs werden nur als U2F-AppIDs interpretiert, Domains nur als Webauthn-RP-IDs. Damit sowohl U2F- als auch Webauthn-APIs genutzt werden können, müssen deshalb die AppID-URL und die Domain für eine bestimmte Website angegeben werden.</translation>
@@ -2160,6 +2182,7 @@
       Wenn die Richtlinie deaktiviert oder nicht konfiguriert ist, können Nutzer Dateien auch über die Mobilfunkverbindung in Drive hochladen.</translation>
 <translation id="4250680216510889253">Nein</translation>
 <translation id="4261820385751181068">Sprache der Anmeldeseite</translation>
+<translation id="4269859918103560644">Zulassen, dass Nutzer entscheiden</translation>
 <translation id="4272533771695747453">Wenn diese Einstellung aktiviert ist, verifiziert <ph name="PRODUCT_NAME" /> Serverzertifikate anhand der integrierten Zertifikatsprüfung.
       Ist sie deaktiviert, verifiziert <ph name="PRODUCT_NAME" /> Serverzertifikate mit der von der Plattform stammenden Legacy-Zertifikatsprüfung.
       Wenn diese Einstellung nicht konfiguriert ist, wird die integrierte oder die Legacy-Zertifikatsprüfung verwendet.
@@ -2289,6 +2312,7 @@
 <translation id="4555850956567117258">Remote-Bescheinigung (Remote Attestation) für den Nutzer aktivieren</translation>
 <translation id="4557134566541205630">Standardsuchanbieter-URL für die "Neuer Tab"-Seite</translation>
 <translation id="4558166110367609724">Überspringt automatisch die Nutzungsbedingungen und lädt den Browser.</translation>
+<translation id="4559846397119102037">Verwendung von <ph name="LACROS_NAME" /> zulassen</translation>
 <translation id="4562165737444703281">Nutzern erlauben, Crostini-Portweiterleitung zu aktivieren bzw. zu konfigurieren</translation>
 <translation id="456686782928669977">Mit dieser Richtlinie wird festgelegt, ob Regeln aus der Richtlinie "SiteList" von <ph name="IE_PRODUCT_NAME" /> geladen werden.
 
@@ -2540,6 +2564,7 @@
 
       Ist für die Richtlinie "false" festgelegt, können in <ph name="PRODUCT_NAME" /> keine neuen Profile im Nutzermanager erstellt werden.</translation>
 <translation id="4970855112942626932">Browseranmeldung deaktivieren</translation>
+<translation id="4978533099939732984">Warnungen bei wenig Speicherplatz immer anzeigen</translation>
 <translation id="4980635395568992380">Datentyp:</translation>
 <translation id="4983201894483989687">Ausführung veralteter Plug-ins zulassen</translation>
 <translation id="4986560318567565414">Pfad, um vom alternativen Browser zu Chrome zu wechseln.</translation>
@@ -2567,6 +2592,7 @@
 <translation id="5025239932007658691">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, sendet <ph name="PRODUCT_NAME" /> gelegentlich Abfragen an einen Google-Server, um einen korrekten Zeitstempel abzurufen.
 
       Wird die Richtlinie deaktiviert, sendet <ph name="PRODUCT_NAME" /> solche Abfragen nicht mehr.</translation>
+<translation id="504116558738617678">Warnungen bei wenig Speicherplatz nur anzeigen, wenn das Gerät nicht verwaltet wird oder es nur einen Nutzer gibt</translation>
 <translation id="5052278640307929670">Wenn die Richtlinie konfiguriert ist, ermöglicht sie das Zusammenführen der ausgewählten Richtlinien, wenn diese aus unterschiedlichen Quellen stammen, mit gleichem Bereich und gleicher Ebene.
 
       Wenn sich eine Richtlinie auf der Liste befindet und dadurch ein Konflikt zwischen Quellen entsteht mit:
@@ -2607,6 +2633,7 @@
 <translation id="5085647276663819155">Druckvorschau deaktivieren</translation>
 <translation id="5090209345759901501">Einstellung für Flash-Inhalt auf alle Inhalte anwenden</translation>
 <translation id="5090791951240382356">Zusammenführen von Wörterbuchrichtlinien aus unterschiedlichen Quellen erlauben</translation>
+<translation id="5091315650312105069"><ph name="BASIC_AUTH" /> die Authentifizierung für HTTP erlauben</translation>
 <translation id="5101600510268095939">Mit dieser Richtlinie können Sie eine Liste mit URL-Mustern festlegen und so Websites angeben, auf denen keine blockierbaren (aktiven) gemischten Inhalte (HTTP-Inhalte auf HTTPS-Websites) angezeigt werden dürfen und für die optional blockierbare (passive) gemischte Inhalte auf HTTPS umgestellt werden.
 
           Wenn Sie diese Richtlinie nicht konfigurieren, werden blockierbare gemischte Inhalte gesperrt und optional blockierbare gemischte Inhalte auf HTTPS umgestellt. Nutzer können jedoch Ausnahmen für bestimmte Websites festlegen.
@@ -2705,6 +2732,7 @@
 <translation id="5212810195096589189">Berechtigung für VM-Befehlszeile festlegen</translation>
 <translation id="5213038356678567351">Websites, die unter keinen Umständen einen Browserwechsel auslösen sollten.</translation>
 <translation id="5219844027738217407">Bei Android-Apps betrifft diese Richtlinie nur das Mikrofon. Wenn diese Richtlinie auf "true" gesetzt ist, wird das Mikrofon ohne Ausnahme für alle Android-Apps stummgeschaltet.</translation>
+<translation id="5220594484746830711">Nur mit dem Ziel <ph name="BLANK_PAGE_NAME" /> geöffneten Pop-ups erlauben, mit der Seite zu interagieren, die das Pop-up geöffnet hat, sofern die öffnende Seite dieser Art von Interaktion ausdrücklich zustimmt</translation>
 <translation id="5227647876065695164">Mit dieser Richtlinie wird das Verhalten zum Versionsdowngrade auf registrierten Geräten festgelegt. Bei einem Versionsdowngrade wechseln Sie zurück zu einer stabileren Version, etwa von der Betaversion zur stabilen Version.
 
       Der Wert dieser Richtlinie betrifft sowohl vom Nutzer als auch vom Administrator veranlasste Versionsdowngrades.
@@ -2984,6 +3012,7 @@
       Wenn diese Liste leer ist, erfolgt kein Staging und Updates werden gemäß anderen Geräterichtlinien angewendet.
 
       Diese Richtlinie gilt nicht für Kanalwechsel.</translation>
+<translation id="5526184558582921522">Anfragen an den Quirks Server und potenzielle Downloads von Hardware-spezifischen Konfigurationsdateien zulassen</translation>
 <translation id="5526701598901867718">Alle (nicht sicher)</translation>
 <translation id="5530347722229944744">Potenziell gefährliche Downloads blockieren</translation>
 <translation id="5535973522252703021">Zulassungsliste für Kerberos-Bevollmächtigungs-Server</translation>
@@ -3267,6 +3296,7 @@
 <translation id="5946082169633555022">Beta-Kanal</translation>
 <translation id="5946329690214660966">Benutzerdefinierten Zeitplan zum Prüfen auf Updates festlegen</translation>
 <translation id="5951418260805607969">Benachrichtigung anzeigen, wenn nur wenig Speicherplatz verfügbar ist</translation>
+<translation id="5958746038080720143">Web Proxy Auto-Discovery (WPAD)-Optimierungen aktivieren</translation>
 <translation id="5959428851851090097">Wenn die Richtlinie aktiviert ist, hat die Cloudrichtlinie Vorrang, wenn sie mit der Plattformrichtlinie in Konflikt steht.
 
       Ist die Richtlinie deaktiviert oder nicht konfiguriert, hat die Plattformrichtlinie Vorrang, wenn sie mit der Cloudrichtlinie in Konflikt steht.
@@ -3277,6 +3307,7 @@
 <translation id="5975765799383881158">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, können Nutzer über das Menü &gt; „Hilfe“ &gt; „Problem melden“ oder die entsprechende Tastenkombination Feedback an Google senden.
 
       Ist die Richtlinie deaktiviert, können Nutzer kein Feedback an Google senden.</translation>
+<translation id="5984237109586500246">Webinhalte akzeptieren, die als Signed HTTP Exchanges implementiert sind</translation>
 <translation id="5997543603646547632">Standardmäßig 24-Stunden-Uhr verwenden</translation>
 <translation id="5997846976342452720">Angeben, ob Plug-in-Suchfunktion deaktiviert werden soll (eingestellt)</translation>
 <translation id="5998198091336830580">Diese Richtlinie ist Teil der folgenden Atomic-Gruppe (nur Richtlinien aus der Quelle mit der höchsten Priorität in der Gruppe werden angewendet):</translation>
@@ -3316,6 +3347,7 @@
 
       Ist die Richtlinie deaktiviert, können solche Nutzer diese Angebote nicht einlösen.</translation>
 <translation id="6048199181629830227">Energieverwaltung zum Umschalten bei Leistungsspitzen aktivieren</translation>
+<translation id="6053681087509103368">Zulassen, dass WebRTC veraltete Versionen des TLS/DTLS-Protokolls verwendet</translation>
 <translation id="6054485492411959335">Gibt die Drucker an, die ein Nutzer verwenden kann.
 
       Diese Richtlinie wird nur verwendet, wenn <ph name="PRINTERS_ALLOWLIST" /> für <ph name="PRINTERS_BULK_ACCESS_MODE_POLICY_NAME" /> ausgewählt wurde.
@@ -3382,6 +3414,7 @@
       Ist die Richtlinie deaktiviert, ist die Registrierung für <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> optional, und bei Nichterfüllung wird der Startprozess von <ph name="PRODUCT_NAME" /> nicht blockiert.
 
       Diese Richtlinie wird im Rahmen der Registrierung von Cloud-Richtlinien auf Computern verwendet. Weitere Informationen dazu finden Sie unter https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744.</translation>
+<translation id="6155350825868160236">Zulassen, dass Nutzer festlegen, ob Rechtschreibfehler mithilfe von Google-Webdiensten korrigiert werden</translation>
 <translation id="6155936611791017817">Standardstatus für den großen Cursor auf der Anmeldeseite festlegen</translation>
 <translation id="6157537876488211233">Kommagetrennte Liste der Proxy-Umgehungsregeln</translation>
 <translation id="6158324314836466367">Unternehmens-Web-Store-Name (veraltet)</translation>
@@ -3748,6 +3781,7 @@
       Ist sie auf "False" gesetzt, wird der integrierte DNS-Client nie verwendet.
 
       Wenn diese Richtlinie nicht konfiguriert ist, ist der integrierte DNS-Client unter macOS, Android – sofern weder ein privates DNS noch ein VPN aktiviert ist – und Chrome OS standardmäßig aktiviert. Der Nutzer kann dann über die Bearbeitung von chrome://flags oder die Festlegung eines Befehlszeilen-Flag entscheiden, ob der integrierte DNS-Client verwendet werden soll oder nicht.</translation>
+<translation id="6614557704487944013">Nutzern erlauben, <ph name="LACROS_NAME" /> zu verwenden</translation>
 <translation id="6621839881150363218">Wenn die Richtlinie aktiviert ist, werden alle Websites isoliert. Jede Website wird dann in einem eigenen Prozess ausgeführt. Wird die Richtlinie deaktiviert, findet keine explizite Website-Isolierung statt und Feldtests von "IsolateOriginsAndroid" und "SitePerProcessAndroid" sind deaktiviert. Nutzer können die Richtlinie aber manuell aktivieren.
 
       Wenn die Richtlinie nicht konfiguriert ist, können Nutzer diese Einstellung ändern.
@@ -3872,6 +3906,7 @@
 
       Ist sie deaktiviert, melden registrierte Geräte den Status des Entwicklermodus nicht.</translation>
 <translation id="6795485990775913659">Drucken nur ohne PIN zulassen</translation>
+<translation id="6800181452282128474">Keine Anfragen an Quirks Server stellen</translation>
 <translation id="6810445994095397827">JavaScript auf diesen Websites blockieren</translation>
 <translation id="6813263547126514821">Energiesparmodus und Herunterfahren</translation>
 <translation id="681446116407619279">Unterstützte Authentifizierungsschemas</translation>
@@ -3930,6 +3965,13 @@
       Hiermit werden die Parameter angegeben, die beim Starten von <ph name="PRODUCT_NAME" /> angewendet werden sollen. Sie gelten nur auf dem Anmeldebildschirm. Über diese Richtlinie festgelegte Parameter haben keine Auswirkungen auf Nutzersitzungen.</translation>
 <translation id="685769593149966548">Strikt eingeschränkten Modus auf YouTube erzwingen</translation>
 <translation id="686079137349561371">Microsoft Windows 7 oder höher</translation>
+<translation id="68818134518270542">Mit der Konfiguration der Richtlinie werden die Apps festgelegt, die Nutzer als Notizen-App auf dem Sperrbildschirm von <ph name="PRODUCT_OS_NAME" /> aktivieren können.
+
+      Wenn die bevorzugte App für den Sperrbildschirm konfiguriert ist, erscheint ein UI-Element zum Starten der bevorzugten Notizen-App auf dem Bildschirm. Nach dem Starten der App wird über dem Sperrbildschirm ein Fenster eingeblendet, in das Notizen eingegeben werden können. Die App kann nach dem Entsperren Notizen in die Hauptsitzung importieren. Nur <ph name="PRODUCT_NAME" />-Notizen-Apps werden auf dem Sperrbildschirm unterstützt.
+
+      Wenn die Richtlinie aktiviert und die Erweiterungs-ID einer App in der entsprechenden Liste aufgeführt ist, können Nutzer diese App auf dem Sperrbildschirm starten. Die Vorgabe einer leeren Liste führt demnach dazu, dass auf dem Sperrbildschirm keine Notizen erstellt werden können. Die Konfiguration der Richtlinie mit einer App-ID bedeutet jedoch nicht unbedingt, dass Nutzer die jeweilige App als Notizen-App auf dem Sperrbildschirm aktivieren können. Bei <ph name="PRODUCT_NAME" /> 61 ist beispielsweise auch durch die Plattform festgelegt, welche Apps verfügbar sind.
+
+      Wenn die Richtlinie nicht konfiguriert ist, werden dadurch die Apps, die Nutzer auf dem Sperrbildschirm aktivieren können, nicht durch die Richtlinie eingeschränkt.</translation>
 <translation id="6889123056995503704">Nutzer entscheiden über das Verhalten zum Versionsdowngrade</translation>
 <translation id="6894178810167845842">URL für "Neuer Tab"-Seite</translation>
 <translation id="6897730193187922386">Nachrichten zu veralteten Funktionen von <ph name="CLOUD_PRINT_NAME" /> unterdrücken</translation>
@@ -4097,6 +4139,7 @@
       Wenn die Richtlinie auf "false" gesetzt oder nicht konfiguriert ist, werden keine Informationen ausgegeben.
       Ist sie auf "true" gesetzt, werden Informationen zum Lüfter des Geräts ausgegeben.</translation>
 <translation id="710003290625031750">Ausführliche Schemabeschreibung:</translation>
+<translation id="7101550508196914704">App-Verknüpfung nicht in der Lesezeichenleiste anzeigen</translation>
 <translation id="7115494316187648452">Legt fest, ob ein <ph name="PRODUCT_NAME" />-Prozess bei der Anmeldung im Betriebssystem gestartet und nach dem Schließen des letzten Browserfensters weiter ausgeführt wird, sodass Hintergrund-Apps und die aktuelle Browsersitzung einschließlich aller Sitzungscookies aktiv bleiben. Der Hintergrundprozess kann jederzeit über ein entsprechendes Symbol in der Taskleiste geschlossen werden.
 
       Ist diese Richtlinie auf "true" gesetzt, wird der Hintergrundmodus aktiviert und der Prozess kann nicht vom Nutzer über die Browsereinstellungen gesteuert werden.
@@ -4151,6 +4194,7 @@
       Wenn diese Richtlinie nicht konfiguriert ist, sendet der Browser eventuell DoH-Anfragen an einen Resolver, der dem vom Nutzer auf Systemebene konfigurierten Resolver zugewiesen ist.</translation>
 <translation id="7158358621906236999">Standardeinstellung für Sensoren</translation>
 <translation id="7167436895080860385">Anzeige von Passwörtern im Passwortmanager durch Nutzer zulassen (veraltet)</translation>
+<translation id="7170049569641162846">Erkennung lokaler Geräte zulassen</translation>
 <translation id="7170224158423507799">Wenn die Richtlinie "<ph name="RESTORE_ON_STARTUP_POLICY_NAME" />" nicht so konfiguriert ist, dass URLs aus vorherigen Sitzungen wiederhergestellt werden, lässt sich durch die Konfiguration von <ph name="COOKIES_SESSION_ONLY_FOR_URLS_POLICY_NAME" /> eine Liste von URL-Mustern erstellen, die Websites angeben, die Cookies für eine Sitzung setzen dürfen oder nicht.
 
       Wenn die Richtlinie nicht konfiguriert ist, wird für alle Websites <ph name="DEFAULT_COOKIES_SETTINGS_POLICY_NAME" /> verwendet, sofern diese Einstellung konfiguriert ist. Falls nicht, wird die persönliche Einstellung des Nutzers verwendet. Bei URLs, die nicht zu den angegebenen Mustern gehören, werden ebenfalls die Standardeinstellungen verwendet.
@@ -4171,6 +4215,7 @@
       Ist sie auf "False" gesetzt, können Nutzer, Apps und Erweiterungen nicht in den Vollbildmodus wechseln.</translation>
 <translation id="718126088895133062">Mit dieser Richtlinie wird die Nutzer-ID zur <ph name="PLUGIN_VM_NAME" />-Lizenzierung für dieses Gerät angegeben.</translation>
 <translation id="7185078796915954712">TLS 1.3</translation>
+<translation id="7185630966939835143">Rechtschreibfehler mithilfe eines Google-Webdienstes korrigieren</translation>
 <translation id="718956142899066210">Für Updates zugelassene Verbindungstypen</translation>
 <translation id="7190286937411178540">Bedienungshilfe "Objekt mit Tastaturfokus hervorheben" aktivieren</translation>
 <translation id="7193489339723768342">Wenn Sie diese Richtlinie konfigurieren, geben Sie eine Liste von URLs an, deren Muster mit dem SecurityOrigin-Objekt der anfragenden URL abgeglichen werden. Bei einer Übereinstimmung wird ohne Nachfrage Zugriff auf Audioaufnahmegeräte gewährt.
@@ -4255,6 +4300,9 @@
 <translation id="7295019613773647480">Betreute Nutzer aktivieren</translation>
 <translation id="7302043767260300182">Verzögerung für die Bildschirmsperre im Netzbetrieb</translation>
 <translation id="731208205557053914">VPD-Informationen melden</translation>
+<translation id="7319863628760093590">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, sind <ph name="BASIC_AUTH" />-Authentifizierungsherausforderungen zulässig, die über nicht sicheres HTTP empfangen wurden.
+
+      Ist diese Richtlinie deaktiviert, dürfen nicht sichere HTTP-Anfragen das <ph name="BASIC_AUTH" />-Authentifizierungsschema nicht verwenden; nur HTTPS ist zulässig.</translation>
 <translation id="7323896582714668701">Zusätzliche Befehlszeilenparameter für <ph name="PRODUCT_NAME" /></translation>
 <translation id="7326394567531622570">Ähnlich wie bei den Werkseinstellungen (Wert 2); hier wird jedoch versucht, die Log-in-Tokens zu übernehmen, sodass der Nutzer sich nicht noch einmal anmelden muss.</translation>
 <translation id="7331962793961469250">Wenn die Option auf "True" gesetzt ist, erscheint Werbung für Chrome Web Store-Apps nicht auf der "Neuer Tab"-Seite. Wenn sie auf "False" eingestellt oder nicht konfiguriert ist, so erscheint Chrome Web Store-Werbung auf der "Neuer Tab"-Seite.</translation>
@@ -4274,6 +4322,7 @@
       Verwenden Sie "PinnedLauncherApps", wenn Sie Apps an den Launcher anpinnen möchten.</translation>
 <translation id="7339315111520512972">Ausführung des Netzwerkcodes im Browserprozess erzwingen</translation>
 <translation id="7340034977315324840">Aktivitätszeit von Geräten melden</translation>
+<translation id="7343004974628511824">DNS-Abfangprüfungen ausführen</translation>
 <translation id="7343497214039883642">Unternehmensdrucker-Konfigurationsdatei für Geräte</translation>
 <translation id="7348384750433771321">Hiermit werden Konfigurationen für Unternehmensdrucker bereitgestellt.
 
@@ -4986,6 +5035,7 @@
 <translation id="8369602308428138533">Verzögerung für die Bildschirmabschaltung im Netzbetrieb</translation>
 <translation id="8371178326720637170">Ermöglicht verwalteten Erweiterungen, die Enterprise Hardware Platform API zu verwenden</translation>
 <translation id="8375817202037102567">Schreibzugriff auf Dateien und Verzeichnisse auf diesen Websites blockieren</translation>
+<translation id="8379317372795444261"><ph name="BASIC_AUTH" />-Authentifizierung ist bei HTTP-Verbindungen zulässig</translation>
 <translation id="8380490658357556620">Ermöglicht den Einsatz von Relayservern, wenn Remote-Clients versuchen, eine Verbindung zu diesem Computer herzustellen.
 
           Ist diese Einstellung aktiviert, können Remote-Clients über Relayserver eine Verbindung zu diesem Computer herstellen, sofern keine direkte Verbindung verfügbar ist, zum Beispiel aufgrund von Firewallbeschränkungen.
@@ -5205,6 +5255,7 @@
 <translation id="8705895771006864851">Wenn Sie diese Richtlinie auf "True" setzen, wird eine Übersetzungsfunktion implementiert, wenn dies für Nutzer angemessen ist. In diesem Fall werden in <ph name="PRODUCT_NAME" /> eine integrierte Übersetzungssymbolleiste sowie eine Übersetzungsfunktion im Kontextmenü angezeigt, das mit einem Rechtsklick geöffnet werden kann. Wird die Richtlinie auf "False" gesetzt, werden alle integrierten Übersetzungsfunktionen ausgeschaltet.
 
       Nach dem Konfigurieren der Richtlinie kann diese Funktion von den Nutzern nicht mehr geändert werden. Ist sie dagegen nicht konfiguriert, kann der Nutzer die Einstellung ändern.</translation>
+<translation id="8720547069538712402">Zulassen, dass Nutzer die Rechtschreibprüfung aktivieren oder deaktivieren</translation>
 <translation id="8736538322216687231">Minimalen eingeschränkten Modus auf YouTube erzwingen</translation>
 <translation id="8745669971728319820">Mit dieser Richtlinie wird festgelegt, ob Daten zu Erweiterungen und Plug-ins gesendet werden.
 
@@ -5260,6 +5311,7 @@
 <translation id="8798099450830957504">Standardeinstellung</translation>
 <translation id="8800453707696044281">Den Akkuladestand (%) für benutzerdefiniertes Beenden des Ladevorgangs festlegen</translation>
 <translation id="8801680448782904838">Nutzer benachrichtigen, dass ein Neustart des Browsers oder des Geräts empfohlen wird oder erforderlich ist</translation>
+<translation id="8817960019535659860">Verhindern, dass Nutzer Angebote über die Chrome OS-Registrierung einlösen</translation>
 <translation id="8818173863808665831">Meldet den Standort des Geräts.
 
       Wenn die Richtlinie nicht oder auf "False" festgelegt wird, wird der Standort nicht gemeldet.</translation>
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index 7c10c08a..18a1301 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -77,6 +77,7 @@
       Si se establece como verdadera, se enviará información sobre la luz de fondo del dispositivo.</translation>
 <translation id="1076751984131277498">Lista de dispositivos USB que se pueden desconectar permitidos</translation>
 <translation id="1079801999187584280">No permitir el uso de las Herramientas para desarrolladores</translation>
+<translation id="1082802595100075771">Permite que los usuarios usen un servicio anónimo de Google para obtener descripciones automáticas de las imágenes sin etiquetar</translation>
 <translation id="1087437665304381368">Esta política controla solo el modo de desarrollador de <ph name="PRODUCT_OS_NAME" />. Si quieres impedir el acceso a las Opciones para desarrolladores de Android, deberás configurar la política <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" />.</translation>
 <translation id="1087707496788636333">La lista de políticas de Chrome Enterprise cambia de sitio. Guarda <ph name="POLICY_DOCUMENTATION_URL" /> en tus favoritos.</translation>
 <translation id="1093082332347834239">Si esta opción de configuración está inhabilitada, el host de asistencia remota se ejecutará en un proceso con los permisos <ph name="UIACCESS_PERMISSION_NAME" />. De esta manera, los usuarios remotos podrán interactuar con las ventanas con permisos elevados en el escritorio del usuario local.
@@ -135,6 +136,7 @@
 <translation id="1198183996903759302">Si estableces la política como verdadera (o estableces <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME" /> como falsa), las páginas web no podrán acceder a la API de WebGL, y los complementos no podrán usar la API de Pepper 3D.
 
       Si la estableces como falsa o no la estableces, los sitios web podrán usar la API de WebGL y los complementos podrán usar la API de Pepper 3D, pero es posible que la configuración predeterminada del navegador aún requiera que los argumentos de línea de comandos utilicen estas API.</translation>
+<translation id="1202216683470826356">Muestra tarjetas en la página Nueva pestaña</translation>
 <translation id="1204263402976895730">Impresoras empresariales habilitadas</translation>
 <translation id="120937472976628837">Envía información de los ventiladores</translation>
 <translation id="1216919699175573511">Habilitar compatibilidad con intercambios HTTP firmados (SXG)</translation>
@@ -151,15 +153,15 @@
 <translation id="1244309789361056660">Se quitó esta política en la versión M87; los directorios principales migrarán automáticamente a la encriptación ext4 cuando el usuario acceda.
       Si estableces la política, se especificará la acción que debe realizarse si el directorio principal del usuario se creó con la encriptación ecryptfs. A menos que los directorios principales con la encriptación ecryptfs migren a la encriptación ext4, es posible que las apps de Android dejen de funcionar.
 
-      Si estableces la política en:
+      Si estableces la política como:
 
-      * "Migrate" (o una opción no compatible como AskUser o AskForEcryptfsArcUsers): Los directorios migrarán automáticamente a la encriptación ext4 cuando el usuario acceda, sin solicitarle permiso.
+      * "Migrate" (o una opción no compatible como AskUser o AskForEcryptfsArcUsers), los directorios migrarán automáticamente a la encriptación ext4 cuando el usuario acceda, sin solicitarle permiso;
 
-      * "Wipe" o "MinimalMigrate": Los directorios principales con la nueva encriptación ext4 reemplazarán a los que tengan la encriptación ecryptfs antigua cuando el usuario acceda. Para evitar que el usuario tenga que acceder de forma reiterada, "MinimalMigrate" intentará preservar los tokens de acceso.
+      * "Wipe" o "MinimalMigrate", los directorios principales con la nueva encriptación ext4 reemplazarán a los que tengan la encriptación ecryptfs antigua cuando el usuario acceda (para evitar que el usuario tenga que acceder de forma reiterada, "MinimalMigrate" intentará preservar los tokens de acceso);
 
-      * "DisallowArc" (o la política no se establece): No se permitirá la migración y las apps de Android del usuario dejarán de funcionar.
+      * "DisallowArc" (o no estableces la política), no se permitirá la migración y las apps para Android del usuario dejarán de funcionar.
 
-      Esta política no se aplicará a los usuarios de kioskos.
+      Esta política no se aplicará a los usuarios de kioscos.
 
       Advertencia: "Wipe" y "MinimalMigrate" eliminarán los datos locales.</translation>
 <translation id="1247850578871017740">Si configuras la política en un valor válido, <ph name="PRODUCT_NAME" /> no usará versiones de SSL/TLS anteriores a las especificadas. Se ignorarán los valores que no se reconozcan.
@@ -172,6 +174,13 @@
 <translation id="1257550411839719984">Establecer el directorio de descarga predeterminado</translation>
 <translation id="1265053460044691532">Permite limitar el tiempo durante el cual un usuario autenticado mediante SAML puede acceder sin conexión.</translation>
 <translation id="127264587838521316">Habilita las solicitudes de instalación de extensiones de <ph name="PRODUCT_NAME" /></translation>
+<translation id="127699919157094139">Inhabilita la sincronización de datos en <ph name="PRODUCT_NAME" /> a través de los servicios de sincronización alojados en Google y evita que los usuarios cambien esta configuración.
+
+      Si habilitas esta configuración, los usuarios no podrán cambiarla ni anularla en <ph name="PRODUCT_NAME" />.
+
+      Si no estableces esta política, Google Sync estará disponible para que el usuario elija si desea utilizarlo o no.
+
+      Para inhabilitar Google Sync por completo, se recomienda inhabilitar el servicio de Google Sync en la Consola del administrador de Google.</translation>
 <translation id="1290634681382861275">Controla diferentes opciones de configuración, como la conexión USB, Bluetooth, la actualización de políticas, el modo de desarrollador y otras.</translation>
 <translation id="1291880496936992484">Advertencia: RC4 se eliminará por completo de <ph name="PRODUCT_NAME" /> después de la versión 52 (alrededor de septiembre de 2016) y esta política dejará de funcionar para entonces.
 
@@ -189,6 +198,9 @@
 <translation id="1309465583050255779">Si activas <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" />, establecer <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> especificará el nombre del proveedor de búsqueda predeterminado.
 
       Si no estableces <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" />, se utilizará el nombre de host especificado por la URL de búsqueda.</translation>
+<translation id="1310052497030002740">Si estableces la política, <ph name="PRODUCT_NAME" /> intentará registrarse con <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />. El valor de esta política es un token de inscripción que puedes recuperar de la <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />.
+
+      Para obtener más información, consulta https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744.</translation>
 <translation id="1312799700549720683">Controla la configuración de visualización.</translation>
 <translation id="131353325527891113">Mostrar los nombres de usuario en la pantalla de inicio de sesión</translation>
 <translation id="1327466551276625742">Habilitar mensaje de configuración de red si no hay conexión</translation>
@@ -299,6 +311,7 @@
       Si la estableces como falsa o no la estableces, las extensiones no podrán usar esta API.
 
       Nota: Esta política también se aplica en las extensiones de componentes, como la extensión de Servicios de Hangout.</translation>
+<translation id="148194404518916594">Permite que los usuarios utilicen Tocar para buscar</translation>
 <translation id="1486021504508098388">Enviar información sobre la luz de fondo</translation>
 <translation id="1487916040416013623">Si estableces la política, se especificarán los servidores que deben habilitarse para la autenticación integrada, la cual solo está activa cuando <ph name="PRODUCT_NAME" /> recibe un desafío de autenticación de un proxy o de un servidor que se encuentra en la lista autorizada.
 
@@ -417,6 +430,8 @@
       Si configuras esta política, los usuarios no podrán modificarla ni anularla.</translation>
 <translation id="1617235075406854669">Habilita la eliminación del historial de descargas y del navegador.</translation>
 <translation id="1620510694547887537">Cámara</translation>
+<translation id="1626379196197114720">Permite que se utilice la memoria caché atrás/adelante</translation>
+<translation id="1628974048137236820">La página Nueva pestaña no mostrará tarjetas</translation>
 <translation id="163200210584085447">Los patrones en esta lista se compararán con el origen
        de seguridad de la URL solicitante. Si se encuentra una coincidencia,
        se concede acceso a los dispositivos de captura de video en las páginas
@@ -509,6 +524,7 @@
       Si la política está inhabilita o no se configura, WebDriver no puede anular las políticas incompatibles.</translation>
 <translation id="1843117931376765605">Frecuencia de actualización de la política de usuario</translation>
 <translation id="1844620919405873871">Configura políticas relacionadas con el desbloqueo rápido.</translation>
+<translation id="1844972978764975668">Permite que las consultas enviadas a un servidor de Google recuperen una marca de tiempo precisa</translation>
 <translation id="1845405905602899692">Configuración del kiosco</translation>
 <translation id="1845429996559814839">Restringe el modo de impresión con PIN</translation>
 <translation id="1847960418907100918">Especifica los parámetros utilizados al realizar búsquedas instantáneas con POST. Se compone de pares de nombre/valor separados por coma. Si un valor es un parámetro de plantilla, como {searchTerms} en el ejemplo anterior, se reemplazará por datos de términos de búsqueda reales.
@@ -651,6 +667,7 @@
 <translation id="2077129598763517140">Usar aceleración de hardware cuando esté disponible</translation>
 <translation id="2077273864382355561">Demora de pantalla apagada con batería</translation>
 <translation id="2082205219176343977">Configura la versión mínima permitida de Chrome para el dispositivo.</translation>
+<translation id="208623333578980446">Permite los bloqueos de activación de pantalla para la administración de energía</translation>
 <translation id="209586405398070749">Canal estable</translation>
 <translation id="2098658257603918882">Habilitar informes de uso y datos relacionados con bloqueos</translation>
 <translation id="2104418465060359056">Enviar información de extensiones y complementos</translation>
@@ -816,6 +833,7 @@
       Cuando estableces esta política como "Fast", <ph name="PRODUCT_NAME" /> evitará la rasterización si es posible. Reducir la rasterización permite disminuir los tamaños de los trabajos de impresión y, por lo tanto, los acelera.
 
       Si no configuras esta política, <ph name="PRODUCT_NAME" /> estará en modo "Full".</translation>
+<translation id="2337859888277013371">No permite que se utilice la memoria caché atrás/adelante</translation>
 <translation id="2345547870894930157">Habilitar DNS sobre HTTPS sin resguardo inseguro</translation>
 <translation id="2349117476121456297">Si estableces el valor "True" para la política, las teclas de la fila superior del teclado serán comandos de teclas de funciones. Si presionas la tecla de búsqueda, se restablecerá el comportamiento de las teclas multimedia.
 
@@ -842,6 +860,9 @@
       Los patrones de URL no deben entrar en conflicto con <ph name="FILE_SYSTEM_READ_BLOCKED_FOR_URLS_POLICY_NAME" />. Si una URL se ajusta a ambas políticas, no prevalece ninguna de las dos.
 
       Para obtener información detallada sobre los patrones de <ph name="URL_LABEL" /> válidos, consulta https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.</translation>
+<translation id="2384233438419344179">Si habilitas la política, los elementos de la página web que no sean del dominio especificado en la barra de direcciones del navegador no podrán establecer cookies. Si inhabilitas la política, esos elementos podrán establecer cookies y evitar que los usuarios cambien esta configuración.
+
+      Si no la estableces, se activarán las cookies de terceros, pero los usuarios podrán cambiar esta configuración.</translation>
 <translation id="2386362615870139244">Permitir bloqueos de activación de pantalla</translation>
 <translation id="2394674739523870144">Si estableces la política como una lista de strings, estas se unen con espacios y se transfieren de <ph name="IE_PRODUCT_NAME" /> a <ph name="PRODUCT_NAME" /> como parámetros de la línea de comandos. Si un parámetro contiene <ph name="URL_PLACEHOLDER" />, se reemplazará <ph name="URL_PLACEHOLDER" /> por la URL de la página que se abrirá. Si ningún parámetro contiene <ph name="URL_PLACEHOLDER" />, se agregará la dirección URL al final de la línea de comandos.
 
@@ -911,6 +932,7 @@
        Si no la estableces, se desactivarán los informes sobre datos de diagnóstico y métricas en dispositivos no administrados y se activarán en dispositivos administrados.</translation>
 <translation id="2454228136871844693">Optimiza la estabilidad.</translation>
 <translation id="2455033019778127130">Utiliza el comportamiento predeterminado del navegador, muestra las Condiciones del Servicio y espera a que el usuario las acepte</translation>
+<translation id="2460238670327375238">Permite las cookies de terceros, pero permite que el usuario cambie esta configuración</translation>
 <translation id="2463034609187171371">Permitir los paquetes de encriptación DHE en TLS</translation>
 <translation id="2463365186486772703">Configuración regional de la aplicación</translation>
 <translation id="2463832514638083341">Esta política controla la cantidad de días que se almacenan los metadatos de los trabajos de impresión en el dispositivo.
@@ -922,6 +944,7 @@
       El valor de la política deberá especificarse en días.</translation>
 <translation id="2466131534462628618">La autenticación de portal cautivo ignora el proxy</translation>
 <translation id="247658312644322296">El destino "Guardar como PDF"</translation>
+<translation id="2478756867046106663">Permite que los sitios que brindan experiencias abusivas abran ventanas o pestañas nuevas</translation>
 <translation id="2480971699591919564">Habilita la función Llamar con un clic, que permite que los usuarios envíen números de teléfono desde computadoras de escritorio con Chrome hacia dispositivos Android donde el usuario accedió a su cuenta. Para obtener más información, consulta el artículo del Centro de ayuda: https://support.google.com/chrome/answer/9430554?hl=en.
 
       Si se habilita esta política, el usuario de Chrome podrá enviar números de teléfono a dispositivos Android.
@@ -1027,6 +1050,7 @@
 
       Si no se establece esta política, la función del proxy de compresión de datos estará disponible para que el usuario decida si quiere o no utilizarla.</translation>
 <translation id="257788512393330403">Se requiere el ingreso de la contraseña cada 6 horas</translation>
+<translation id="2586117300379904732">Permite los bloqueos de activación para la administración de energía</translation>
 <translation id="2587719089023392205">Establecer <ph name="PRODUCT_NAME" /> como navegador predeterminado</translation>
 <translation id="2588252329503406673">Si estableces la política, podrás establecer el comportamiento de <ph name="PRODUCT_OS_NAME" /> cuando no haya actividad del usuario durante cierta cantidad de tiempo mientras se muestre la pantalla de acceso. La política controla múltiples opciones de configuración. Si deseas obtener información sobre su semántica individual y los rangos de valores, consulta las políticas correspondientes que controlan la administración de energía en una sesión.
 
@@ -1868,6 +1892,11 @@
 <translation id="3816312845600780067">Habilitar combinación de teclas para acceso directo de rescate para el acceso automático</translation>
 <translation id="3817323252437541502">Habilitar protecciones adicionales para los usuarios inscritos en el Programa de Protección Avanzada</translation>
 <translation id="3821861026311587684">Forzar el cierre de sesión del usuario cuando su cuenta pierde la autenticación</translation>
+<translation id="3823381379309653965">Si estableces la política, se especificará el período (expresado en milisegundos) durante el cual se consultará al servicio de administración del dispositivo para obtener la información de política del dispositivo. Los valores válidos son de 1,800,000 (30 minutos) a 86,400,000 (1 día). Los valores fuera de este rango se ajustarán conforme al límite correspondiente.
+
+      Si no estableces la política, <ph name="PRODUCT_OS_NAME" /> utilizará el valor predeterminado de 3 horas.
+
+      Nota: Las notificaciones sobre políticas fuerzan una actualización cuando cambia la política, por lo que no es necesario actualizar de manera frecuente. Por lo tanto, si la plataforma admite estas notificaciones, la demora de la actualización será de 24 horas (se ignorarán los valores predeterminados y el de esta política).</translation>
 <translation id="382476126209906314">Configura el prefijo TalkGadget para los hosts de acceso remoto.</translation>
 <translation id="3824972131618513497">Controla la configuración relacionada con el reinicio y la administración de energía.</translation>
 <translation id="3825873934240606959">Evitar el descubrimiento de dispositivos locales</translation>
@@ -1998,6 +2027,7 @@
 <translation id="3956686688560604829">Usar la política SiteList de Internet Explorer para la extensión Compatibilidad con navegadores heredados</translation>
 <translation id="3958586912393694012">Permitir el uso de Smart Lock</translation>
 <translation id="3962445567482559878">Usa el modo EDU de la experiencia de integración del Asistente</translation>
+<translation id="396261881101930204">Oculta recomendaciones de contenido multimedia para el usuario</translation>
 <translation id="3963602271515417124">Si esta política se establece como verdadera, se permite la verificación remota para el dispositivo y se generará un certificado de forma automática que se subirá al servidor de administración de dispositivos.
 
           Si se establece como falsa o no se establece, no se generará ningún certificado y las llamadas a la API enterprise.platformKeys extension fallarán.</translation>
@@ -2040,11 +2070,11 @@
 
       Especifica cómo debe comportarse un dispositivo cuya encriptación predeterminada es ecryptfs y que debe cambiarse a la encriptación ext4.
 
-      Si configuras esta política como "DisallowArc", se inhabilitarán las apps para Android para todos los usuarios del dispositivo (incluidos los que ya tienen la encriptación ext4) y no se ofrecerá a ningún usuario la migración de la encriptación ecryptfs a ext4.
+      Si estableces esta política como "DisallowArc", se inhabilitarán las apps para Android para todos los usuarios del dispositivo (incluidos los que ya tienen la encriptación ext4) y no se ofrecerá a ningún usuario la migración de la encriptación ecryptfs a ext4.
 
       Si estableces esta política como "AllowMigration", se ofrecerá a los usuarios con directorios principales que tengan la encriptación ecryptfs migrarlos a la encriptación ext4 en caso de ser necesario (actualmente, cuando Android N está disponible en el dispositivo).
 
-      Esta política no se aplica a las aplicaciones de kiosko; estas se migran de forma automática. Si no estableces esta política, el dispositivo se comportará como si se hubiese elegido "DisallowArc".</translation>
+      Esta política no se aplica a las aplicaciones de kiosco; estas se migran de forma automática. Si no estableces esta política, el dispositivo se comportará como si se hubiese elegido "DisallowArc".</translation>
 <translation id="4020682745012723568">Las apps de Android no pueden acceder a las cookies transferidas al perfil del usuario.</translation>
 <translation id="4025500273782820766">Permitir que los usuarios seleccionen "Permitir siempre" cuando se muestra un diálogo de protocolo externo para omitir futuros mensajes de confirmación</translation>
 <translation id="402759845255257575">No permitir que los sitios ejecuten JavaScript.</translation>
@@ -2090,6 +2120,7 @@
       Esta política solo afecta a los usuarios que realizan la autenticación con SAML.</translation>
 <translation id="4105989332710272578">Inhabilitar la aplicación del Certificado de transparencia para una lista de URL</translation>
 <translation id="4121350739760194865">Impedir que aparezcan las promociones de aplicaciones en la página de la nueva pestaña</translation>
+<translation id="4122473079291425973">La página Nueva pestaña mostrará tarjetas si hay contenido disponible, pero permitirá que el usuario cambie esta configuración</translation>
 <translation id="412697421478384751">Permitir que los usuarios establezcan PIN no seguros para la pantalla bloqueada</translation>
 <translation id="4138655880188755661">Límite de tiempo</translation>
 <translation id="4147818922357566987">Habilitar solo variaciones relacionadas con correcciones críticas</translation>
@@ -2350,7 +2381,7 @@
 
       Consulta https://www.chromium.org/administrators/policy-list-3/user-data-directory-variables para ver una lista de las variables que se pueden usar.
 
-      En plataformas que no sean Windows, esta política debe establecerse para perfiles de roaming para que funcione.
+      En plataformas que no sean Windows, esta política debe establecerse para que funcionen los perfiles de roaming.
 
       En Windows, si no estableces esta política, se usará la ruta de acceso del perfil de roaming predeterminado.</translation>
 <translation id="4600786265870346112">Habilita el cursor grande.</translation>
@@ -2589,6 +2620,15 @@
 
       Si la inhabilitas, <ph name="PRODUCT_NAME" /> dejará de enviar estas consultas.</translation>
 <translation id="504116558738617678">Solo mostrar advertencias de poco espacio en el disco si el dispositivo no está administrado o si solo hay 1 solo usuario</translation>
+<translation id="5052278640307929670">Si estableces la política, se podrán combinar las políticas seleccionadas cuando provienen de diferentes fuentes, con los mismos alcances y niveles.
+
+      Si la lista incluye una política y hay conflicto entre fuentes con las siguientes características:
+
+      * Tienen los mismos alcances y niveles: se fusionarán los valores en una nueva lista de políticas.
+
+      * Tienen diferentes alcances y niveles: se aplicará la política con la prioridad más alta.
+
+      Si la lista no incluye una política y hay conflicto entre fuentes, alcances o niveles, se aplicará la política con la prioridad más alta.</translation>
 <translation id="5056708224511062314">La lupa está inhabilitada.</translation>
 <translation id="5058573563327660283">Seleccionar la estrategia utilizada para liberar espacio en el disco durante el proceso de limpieza automática (dejó de estar disponible)</translation>
 <translation id="5061114193960158745">Si estableces esta política, se controlará la lista de sitios web que nunca obligarán a cambiar de navegador. Cada elemento será tratado como una regla. Las reglas que coincidan no se abrirán en un navegador alternativo. A diferencia de la política <ph name="URL_LIST_POLICY_NAME" />, las reglas se aplican en ambas direcciones. Si el complemento de <ph name="IE_PRODUCT_NAME" /> está activado, también controlará si <ph name="IE_PRODUCT_NAME" /> puede abrir estas URL en <ph name="PRODUCT_NAME" />.
@@ -2953,11 +2993,20 @@
       Si la estableces como falsa, <ph name="PRODUCT_NAME" /> no podrá mostrar información de productos en pestaña completa.
 
       El establecimiento de esta política permite controlar la presentación de páginas de bienvenida que ayudan a los usuarios a acceder a <ph name="PRODUCT_NAME" />, elegir <ph name="PRODUCT_NAME" /> como navegador predeterminado o recibir información sobre funciones de productos.</translation>
+<translation id="544654037134815017">Esta política controla la visibilidad de las tarjetas en la página Nueva pestaña. Las tarjetas aparecen como puntos de entrada para iniciar trayectorias comunes de los usuarios en función de su comportamiento de navegación.
+
+      Si habilitas la política, la página Nueva pestaña mostrará tarjetas cuando esté disponible el contenido.
+
+      Si la inhabilitas, la página Nueva pestaña no mostrará tarjetas.
+
+      Si no la estableces, usuario podrá controlar la visibilidad de las tarjetas. El valor predeterminado es visible.
+      </translation>
 <translation id="5457065417344056871">Habilitar modo de invitado en el navegador</translation>
 <translation id="5457387982448145430">Si habilitas la política, se importarán las contraseñas guardadas del navegador predeterminado anterior en la primera ejecución. Si la inhabilitas o no la estableces, no se importarán las contraseñas guardadas en la primera ejecución.
 
       Los usuarios podrán activar un diálogo de importación; la casilla de verificación correspondiente a las contraseñas guardadas estará marcada o desmarcada en función del valor de esta política.</translation>
 <translation id="5457924070961220141">Te permite configurar el procesador HTML predeterminado cuando se instala <ph name="PRODUCT_FRAME_NAME" />. La configuración predeterminada que se usa cuando esta política no se configura es permitir que el navegador del host realice la representación, pero puedes anular esta opción y hacer que <ph name="PRODUCT_FRAME_NAME" /> muestre páginas HTML de forma predeterminada.</translation>
+<translation id="5460797984317417682">Habilita la alerta de pantalla completa</translation>
 <translation id="5464816904705580310">Permite establecer parámetros de configuración para los usuarios administrados.</translation>
 <translation id="5466596281866046569">Envía información sobre apps</translation>
 <translation id="546726650689747237">Demora de atenuación de pantalla con alimentación de CA</translation>
@@ -3266,6 +3315,11 @@
 <translation id="5946329690214660966">Establecer un cronograma personalizado para buscar actualizaciones</translation>
 <translation id="5951418260805607969">Muestra una notificación cuando hay poco espacio en el disco</translation>
 <translation id="5958746038080720143">Habilitar las optimizaciones de Web Proxy Auto-Discovery (WPAD)</translation>
+<translation id="5959428851851090097">Si habilitas la política y hay conflicto con la política de la plataforma, tendrá prioridad la política de la nube.
+
+      Si inhabilitas la política o no la estableces y hay conflicto con la política de la nube, tendrá prioridad la política de la plataforma.
+
+      Esta política obligatoria afecta las políticas de la nube que tengan alcance en la máquina.</translation>
 <translation id="5961137303188584693">Dirección MAC para el NIC integrado del dispositivo</translation>
 <translation id="5966615072639944554">Extensiones que tienen permitido utilizar la API de atestación remota</translation>
 <translation id="5975765799383881158">Si habilitas la política o no la estableces, los usuarios podrán enviar comentarios a Google desde Menú &gt; Ayuda &gt; Informar un problema o la combinación de teclas correspondiente.
@@ -3359,6 +3413,8 @@
 
       El patrón de una URL tiene el siguiente formato (https://www.chromium.org/administrators/url-blacklist-filter-format). Sin embargo, dado que la validez de los certificados para un nombre de host específico no depende del esquema, el puerto ni la ruta, <ph name="PRODUCT_NAME" /> solo considerará la porción de la URL con el nombre de host. Los hosts con comodines no son compatibles.</translation>
 <translation id="6111936128861357925">Permitir juego del huevo de pascua del dinosaurio</translation>
+<translation id="6123052603197028610">No permite que las consultas que se envíen a los servidores de Google recuperen marcas de tiempo</translation>
+<translation id="6132506775968708399">Bloquea cookies de terceros</translation>
 <translation id="6133088669883929098">Permitir que todos los sitios utilicen la generación de claves</translation>
 <translation id="6135398260575578389">Se activó la Navegación segura en el modo mejorado. Este modo es más seguro, pero requiere que compartas con Google más datos sobre la navegación.</translation>
 <translation id="6138636318340561140">Verifica en tiempo real el estado de la Navegación segura de las URL</translation>
@@ -3371,6 +3427,11 @@
       De lo contrario, se ocultarán las direcciones IP locales con nombres de host de mDNS.
       Ten en cuenta que esta política afecta la protección de las IP locales, si los administradores la habilitan.</translation>
 <translation id="614662973812186053">Esta política también controla la recopilación de datos de diagnóstico y uso de Android.</translation>
+<translation id="6148540081388423836">Si habilitas la política, la inscripción en <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> será obligatoria y se bloqueará el proceso de ejecución de <ph name="PRODUCT_NAME" /> en caso de que falle.
+
+      Si inhabilitas la política o no la estableces, la inscripción en <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> será opcional y no se bloqueará el proceso de ejecución de <ph name="PRODUCT_NAME" /> en caso de que falle.
+
+      La inscripción en la política de nube para el alcance de máquinas usa esta política. Para obtener más información, consulta https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744.</translation>
 <translation id="6155350825868160236">Permitir que el usuario decida si se usarán los servicios web de Google para solucionar errores de ortografía</translation>
 <translation id="6155936611791017817">Establece el estado predeterminado del cursor grande en la pantalla de acceso.</translation>
 <translation id="6157537876488211233">Lista separada por comas de las normas de omisión de proxy</translation>
@@ -3449,6 +3510,7 @@
       Cada elemento de la lista de la política es un string que contiene un ID de extensión y, de forma opcional, una URL de actualización separada por un punto y coma (<ph name="SEMICOLON" />). El ID de extensión es la string de 32 letras que se encuentra, p. ej., en <ph name="CHROME_EXTENSIONS_LINK" />, en el modo de desarrollador. Si se especifica, la URL de actualización debe direccionarte a un documento XML del manifiesto de actualización, como se describe en <ph name="LINK_TO_EXTENSION_DOC1" />. De forma predeterminada, se usa la URL de actualización de Chrome Web Store (actualmente es "https://clients2.google.com/service/update2/crx"). Ten en cuenta que la URL de actualización que se establece en esta política solo se usa para la instalación inicial; las actualizaciones posteriores de la extensión utilizan la URL de actualización que se indica en el manifiesto de la extensión.
 
       Por ejemplo, <ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" /> instala la app de <ph name="SMART_CARD_CONNECTOR_APP_NAME" /> desde la dirección URL de actualización estándar de Chrome Web Store. Para obtener más información sobre las extensiones de host, consulta: <ph name="LINK_TO_EXTENSION_DOC2" />.</translation>
+<translation id="6275497712828649588">Oculta las advertencias de seguridad cuando se utilizan marcas de la línea de comandos potencialmente peligrosas</translation>
 <translation id="6275833043726517413">Utiliza la implementación heredada de <ph name="CORS" /> en lugar de la nueva implementación de <ph name="CORS" />.
 
       Si se establece esta configuración como verdadera, se utilizará la implementación heredada, la cual debe ser compatible con las versiones anteriores.
@@ -3468,6 +3530,7 @@
 
       Nota: Es posible que las contraseñas queden obsoletas antes de la cantidad especificada de días si el cliente no se conecta por un período prolongado.</translation>
 <translation id="6281043242780654992">Permite configurar las políticas de mensajería nativa. A menos que se incluyan en la lista blanca, los hosts de mensajería nativa incluidos en la lista negra estarán bloqueados.</translation>
+<translation id="6282524907402492171">Muestra las advertencias de baja de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="6282799760374509080">Permitir o rechazar la captura de audio</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
 <translation id="6310223829319187614">Habilitar la opción de autocompletar el nombre de dominio durante el accceso del usuario</translation>
@@ -3478,6 +3541,15 @@
 <translation id="631183702829488873">Cuando esta función está habilitada, muestra un botón en la página acceso o de bloqueo que permite mostrar la contraseña.
           Se representa con el ícono de un ojo en el campo de texto de contraseñas. Cuando la función está inhabilitada, el botón no aparece.
       </translation>
+<translation id="6313170479290171718">Esta política dejó de estar disponible. En su lugar, utiliza <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />.
+
+      Si estableces el valor True para la política, se activará el teclado en pantalla para el acceso. Si estableces el valor False, se desactivará el teclado en pantalla para el acceso.
+
+      Si estableces la política, los usuarios podrán activar o desactivar el teclado en pantalla de forma temporal. Cuando la pantalla de acceso se actualice o permanezca inactiva durante un minuto, el teclado se revertirá a su estado original.
+
+      Si no estableces la política, se desactivará el teclado en pantalla para el acceso. Los usuarios podrán activarlo en cualquier momento, y su estado para la pantalla de acceso se mantendrá entre los diferentes usuarios.
+
+      Nota: Si se especifica <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />, anulará esta política.</translation>
 <translation id="6319198883324703402">Establece la hora de la primera notificación de reinicio del usuario</translation>
 <translation id="6330882599388782338">Permite que los sitios accedan a los sensores</translation>
 <translation id="6331167725613770725">Ten en cuenta que esta política es obsoleta y se quitará en la versión 85 de <ph name="PRODUCT_OS_NAME" />. En su lugar, utiliza <ph name="POWER_MANAGEMENT_IDLE_SETTINGS_POLICY_NAME" />.
@@ -3630,6 +3702,7 @@
 
       Si no la estableces o estableces Dejar que los usuarios decidan o None, los usuarios podrán administrar la detección automática de la zona horaria mediante los controles normales que se encuentran en chrome://settings.</translation>
 <translation id="6532769014584932288">Permitir bloqueos de activación</translation>
+<translation id="6536444379078076149">Habilita o inhabilita la visualización de la IU relacionada con la conexión en el escritorio host cuando hay una conexión activa.</translation>
 <translation id="6536600139108165863">Reinicio automático cuando se apaga el dispositivo</translation>
 <translation id="6539246272469751178">Esta política no tiene efecto en las apps de Android. Estas apps siempre usan el directorio de descargas predeterminado y no pueden acceder a ningún archivo que haya descargado <ph name="PRODUCT_OS_NAME" /> en un directorio de descargas no predeterminado.</translation>
 <translation id="654303922206238013">Estrategia de migración para eCryptfs</translation>
@@ -3694,6 +3767,7 @@
 
       Para los dispositivos administrados con Active Directory, esta política es compatible con la expansión de <ph name="MACHINE_NAME_VARIABLE" /> al nombre de la máquina de Active Directory o un substring de él. Por ejemplo, si el nombre de la máquina es <ph name="MACHINE_NAME_EXAMPLE" />, entonces <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" /> se reemplazará con los 4 caracteres a partir de la sexta posición, es decir, <ph name="MACHINE_NAME_PART_EXAMPLE" />. Ten en cuenta que esta posición incluye el cero.
       </translation>
+<translation id="6584541828182430328">Inhabilita la alerta de pantalla completa</translation>
 <translation id="6588522781970773591">Si estableces esta política, se controlará la configuración de la administración de extensiones para <ph name="PRODUCT_NAME" />, incluida cualquier configuración controlada por políticas existentes relacionadas con extensiones. Esta política sustituye a cualquier política heredada que se haya establecido.
 
       Esta política asigna un ID de extensión o una URL de actualización solo a su configuración específica. Es posible establecer una configuración predeterminada para el ID especial <ph name="DEFAULT_SCOPE" />, que se aplicará a todas las extensiones que no tengan una configuración personalizada en esta política. Con una URL de actualización, la configuración se aplica a todas las extensiones con la URL de actualización exacta establecida en el manifiesto de la extensión ( http://support.google.com/chrome/a?p=Configure_ExtensionSettings_policy ).
@@ -4040,7 +4114,7 @@
 <translation id="7027785306666625591">Configura la administración de energía en <ph name="PRODUCT_OS_NAME" />.
 
       Estas políticas te permiten configurar el comportamiento de <ph name="PRODUCT_OS_NAME" /> cuando el usuario permanece inactivo durante cierta cantidad de tiempo.</translation>
-<translation id="7030205756530739128">Si estableces <ph name="DEVICE_BATTERY_CHARGE_MODE_NAME" /> como <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_MODE_NAME" />, la configuración <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_START_CHARGING_POLICY_NAME" /> personalizará cuándo la batería comienza a cargarse, en función del porcentaje de la carga de la batería. El valor debe estar al menos 5 puntos porcentuales por debajo de <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" />.
+<translation id="7030205756530739128">Si estableces <ph name="DEVICE_BATTERY_CHARGE_MODE_NAME" /> como <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_MODE_NAME" />, la configuración <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_START_CHARGING_POLICY_NAME" /> personalizará cuándo la batería comienza a cargarse, en función del porcentaje de carga de la batería. El valor debe estar al menos 5 puntos porcentuales por debajo de <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" />.
 
       Si no estableces la política, se aplicará el modo estándar para la carga de la batería.</translation>
 <translation id="7032813174556919004">Inhabilitar DNS sobre HTTPS</translation>
@@ -4323,6 +4397,7 @@
 <translation id="7448430478749155471">Habilita la función de Seleccionar para pronunciar en la pantalla de acceso</translation>
 <translation id="7458437477941640506">No implementes una reversión a la versión objetivo si la versión del sistema operativo es más reciente que la objetivo. Las actualizaciones también se inhabilitan.</translation>
 <translation id="7459601923199346224">Controla las políticas de dispositivo y usuario para la administración de certificados.</translation>
+<translation id="7459633275230216698">Permite los diálogos de selección de archivos</translation>
 <translation id="7464991223784276288">Restringir las cookies solo para las URL coincidentes en la sesión actual</translation>
 <translation id="7468182772656807573">Si estableces la política, se determinará la frecuencia con la que se envían paquetes de red de control (expresado en milisegundos). Los intervalos varían de 30 segundos a 24 horas. Los valores fuera de este rango se restringirán conforme a estos valores.
 
@@ -4378,6 +4453,9 @@
       Si el DTC wilco está disponible en el dispositivo indicado, y se establece la política como verdadera, se activará la recopilación, procesamiento y envío de estos datos.</translation>
 <translation id="7519251620064708155">Permitir la generación de claves en estos sitios</translation>
 <translation id="7529144158022474049">Actualizar de forma automática el factor de dispersión</translation>
+<translation id="7529332889403151669">Especifica si debe mostrarse la alerta de pantalla completa cuando el dispositivo estaba suspendido o con la pantalla apagada.
+
+      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.
@@ -4385,6 +4463,7 @@
       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 especificados. 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 sale de su cuenta de manera automática cuando cambia este período y se modifica la configuración de la política de dispositivo (p. ej., cuando un usuario accede con una cuenta no permitida).</translation>
 <translation id="7547549430720182663">Combinar</translation>
 <translation id="7553535237300701827">Según el valor que se establezca para esta política, el flujo de autenticación de acceso será una de las siguientes opciones:
 
@@ -4476,6 +4555,7 @@
 <translation id="7643883929273267746">Restringir las cuentas visibles en <ph name="PRODUCT_NAME" /></translation>
 <translation id="7648907905084499629">Usar el atributo <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" /> para el comportamiento de las cookies en todos los sitios</translation>
 <translation id="7657261947024629645">Optimiza el rendimiento.</translation>
+<translation id="7666228839913571182">Permite cookies de terceros</translation>
 <translation id="7668830462800981702">Si habilitas la política, se realizará una búsqueda predeterminada cuando el usuario ingrese texto que no sea una URL en la barra de direcciones. Para especificar el proveedor de búsqueda predeterminado, establece el resto de las políticas para la búsqueda predeterminada. Si no configuras esas políticas, el usuario podrá elegir el proveedor predeterminado. Si inhabilitas la política, no se realizará ninguna búsqueda cuando el usuario ingrese texto que no sea una URL en la barra de direcciones.
 
       Si estableces la política, los usuarios no podrán cambiarla en <ph name="PRODUCT_NAME" />. Si no la estableces, se habilitará el proveedor de búsqueda predeterminado, y los usuarios podrán establecer la lista de proveedores de búsqueda.
@@ -4519,6 +4599,8 @@
 
       Nota: Actualmente, los reinicios automáticos solo se habilitan cuando se muestra la pantalla de acceso o cuando hay una sesión de la aplicación de kiosco en curso. Esta restricción se modificará en el futuro, y la política se aplicará en todo momento, sin importar si hay alguna sesión en curso.</translation>
 <translation id="7701341006446125684">Establecer tamaño de caché de apps y extensiones (en bytes)</translation>
+<translation id="7703737669292992839">Evita que se muestren diálogos de selección de archivos</translation>
+<translation id="7709470712369261710">No permite que los servicios de Google proporcionen descripciones automáticas de imágenes</translation>
 <translation id="7710950688502974809">Lista de opciones de configuración para los servicios de Chrome Enterprise Connectors que se aplicarán a Enterprise Connector <ph name="ON_BULK_DATA_ENTRY_ENTERPRISE_CONNECTOR" />, el cual se activa cuando se ingresan datos a Chrome desde el portapapeles o se arrastra y se suelta contenido web.
 
       Los campos <ph name="ENTERPRISE_CONNECTOR_URL_LIST_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_TAGS_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_ENABLE_FIELD" /> y <ph name="ENTERPRISE_CONNECTOR_DISABLE_FIELD" /> se usan para determinar si el conector debe enviar datos para que se analicen cuando se descargan de una página específica y qué etiquetas deben incluirse en la solicitud de análisis de los datos. La solicitud de análisis incluirá la etiqueta correspondiente al patrón "enable" si la URL de la página coincide con un patrón asociado a esa etiqueta, siempre y cuando no exista coincidencia entre un patrón "disable" con esa misma etiqueta y la URL de la página. Si la solicitud incluye al menos 1 etiqueta, se realizará el análisis.
@@ -4562,6 +4644,11 @@
       Si inhabilitas la política, los usuarios no podrán hacer clic para omitir las páginas de advertencia.</translation>
 <translation id="7750991880413385988">Abrir la página Nueva pestaña</translation>
 <translation id="7754704193130578113">Preguntar ubicación antes de descargar</translation>
+<translation id="7754893969683595513">Si estableces la política, se especificará el período (expresado en milisegundos) durante el cual se consultará al servicio de administración del dispositivo para obtener la información de política del usuario. Los valores válidos son de 1,800,000 (30 minutos) a 86,400,000 (1 día). Los valores fuera de este rango se ajustarán conforme al límite correspondiente.
+
+      Si no estableces la política, se utilizará el valor predeterminado de 3 horas.
+
+      Nota: Las notificaciones sobre políticas fuerzan una actualización cuando cambia la política, por lo que no es necesario actualizar de manera frecuente. Por lo tanto, si la plataforma admite estas notificaciones, la demora de la actualización será de 24 horas (se ignorarán los valores predeterminados y el de esta política).</translation>
 <translation id="7758378441185523981">Permite la autenticación ambiental para tipos de perfiles.</translation>
 <translation id="776110834126722255">Obsoleto</translation>
 <translation id="7763614521440615342">Mostrar sugerencias de contenido en la página Nueva pestaña</translation>
@@ -4652,6 +4739,7 @@
 
       Si inhabilitas la política o no la estableces, la búsqueda de CNAME determinará el nombre canónico del servidor al generar el SPN de Kerberos.</translation>
 <translation id="7912255076272890813">Configurar tipos de extensiones o aplicaciones permitidos</translation>
+<translation id="791267408364877739">Muestra las advertencias de seguridad cuando se utilizan marcas de la línea de comandos potencialmente peligrosas</translation>
 <translation id="7922358664346625612">Mantener la última pestaña abierta en Chrome</translation>
 <translation id="793134539373873765">Especifica si se debe utilizar la conexión P2P para cargas de actualizaciones del sistema operativo. Si esta política se establece en True, los dispositivos compartirán e intentarán consumir cargas de actualizaciones en la red LAN, y reducirán de forma potencial la congestión y el uso del ancho de banda de Internet. Si la carga de actualizaciones no está disponible en la red LAN, el dispositivo deberá realizar la descarga desde un servidor de actualizaciones. Si se establece en False o no se configura, no se utilizará la conexión P2P.</translation>
 <translation id="7933141401888114454">Habilita la creación de usuarios supervisados.</translation>
@@ -4707,6 +4795,9 @@
 <translation id="8006219716745491366">Si activas <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" />, establecer <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> especificará una lista de URL alternativas para extraer términos de búsqueda del motor de búsqueda. Las URL deben incluir la string <ph name="SEARCH_TERM_MARKER" />.
 
       Si no estableces <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" />, no se usará ninguna URL alternativa para extraer términos de búsqueda.</translation>
+<translation id="8006921530139404577">Si inhabilitas esta política, no se mostrará la IU relacionada con la conexión (p. ej., la ventana de desconexión) para conexiones con acceso remoto que no estén encubiertas. Esta política no afecta las sesiones con asistencia remota ni las sesiones con acceso remoto que estén encubiertas.
+
+          Tampoco tiene efecto si la estableces como verdadera, la dejas vacía o no la estableces.</translation>
 <translation id="8011935490612940798">Controla la función <ph name="PRODUCT_NAME" /></translation>
 <translation id="802147957407376460">Rotar la pantalla 0 grados</translation>
 <translation id="8027265928215448940">Lista de configuraciones para los servicios de Conectores de Chrome Enterprise que se aplicarán al Conector de Enterprise <ph name="ON_FILE_DOWNLOADED_ENTERPRISE_CONNECTOR" />, el cual se activa cuando se descarga un archivo en Chrome.
@@ -4746,6 +4837,7 @@
 <translation id="8053580360728293758">Anula el modo predeterminado de impresión a color. Si el modo no está disponible, se ignorará esta política.</translation>
 <translation id="8056237304861875584">Permite habilitar la continuación de tareas en Phone Hub</translation>
 <translation id="8059164285174960932">URL donde los clientes de acceso remoto deben obtener el token de autenticación</translation>
+<translation id="8062485064082966327">Usa un servicio anónimo de Google para obtener descripciones automáticas de las imágenes sin etiquetar</translation>
 <translation id="8076521374016204899">Si habilitas la política o no la estableces, los usuarios que se autentiquen con una contraseña podrán bloquear la pantalla.
 
       Si inhabilitas la política, los usuarios no podrán bloquear la pantalla (solo podrán salir de la sesión de usuario).</translation>
@@ -4828,8 +4920,10 @@
 <translation id="816783746144552109">Configura la versión mínima permitida del Sistema operativo Chrome para el dispositivo.</translation>
 <translation id="8171924760436219650">Cambia el botón principal del mouse al botón derecho en la pantalla de acceso</translation>
 <translation id="8176035528522326671">Permitir que el usuario de empresa sea solo usuario principal en la sesión de perfiles múltiples (comportamiento predeterminado para usuarios administrados por empresas)</translation>
+<translation id="8179161412673077784">Impide que los sitios que brindan experiencias abusivas abran ventanas o pestañas nuevas</translation>
 <translation id="8183108371184777472">Impide la ejecución de la ventana del navegador</translation>
 <translation id="8186911565834244165">Permite que los usuarios hagan comentarios</translation>
+<translation id="8195133650230097559">Ignora las solicitudes para los bloqueos de activación para la administración de energía</translation>
 <translation id="8196558469954193908">Esta política permite la integración de la conexión HTTP/2 cuando se usan los certificados de cliente. Para lograr la integración, el nombre de host de la nueva conexión potencial y el de la conexión existente deben coincidir con uno o más patrones descritos en esta política, que está compuesta por una lista de hosts con el siguiente formato de filtro <ph name="URL_BLOCKLIST_POLICY_NAME" />: "example.com" coincide con "example.com" y todos los subdominios (p. ej. "sub.example.com"), mientras que ".example.net" coincide exactamente con "example.net".
 
       Las solicitudes de integración a diferentes hosts mediante conexiones que usan certificados de cliente pueden generar problemas de seguridad y privacidad, dado que la autoridad se manifestará para todas las solicitudes, incluso si el usuario no lo permitió de forma explícita. Esta política es temporal y se quitará en futuras actualizaciones. Consulta https://crbug.com/855690.
@@ -4884,6 +4978,15 @@
       No es necesario ajustar manualmente estas opciones de configuración. Hay plantillas para Windows, Mac y Linux disponibles para descargar en <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />.
 
       Se recomienda configurar la política en Windows a través de GPO, aunque, para las instancias de Windows que son parte de un dominio de <ph name="MS_AD_NAME" />, todavía es posible hacer la disposición de políticas a través del registro.</translation>
+<translation id="8261874086461353268">Si estableces la política, se podrán combinar las políticas seleccionadas cuando provienen de diferentes fuentes, con los mismos alcances y niveles. Esta acción combina las claves de primer nivel del diccionario de cada fuente. Prevalecerá la clave que provenga de la fuente de mayor prioridad.
+
+      Si la lista incluye una política y hay conflicto entre fuentes con las siguientes características:
+
+      * Tienen los mismos alcances y niveles: se fusionarán los valores en un nuevo diccionario de políticas.
+
+      * Tienen diferentes alcances y niveles: se aplicará la política con la prioridad más alta.
+
+      Si la lista no incluye una política y hay conflicto entre fuentes, alcances o niveles, se aplicará la política con la prioridad más alta.</translation>
 <translation id="8266778278542911985">Si estableces la política en 3, los sitios web podrán solicitar acceso a los puertos en serie. Si la estableces en 2, se rechaza el acceso a los puertos en serie.
 
       Si no la estableces, los sitios web podrán solicitar acceso, pero los usuarios podrán cambiar esta configuración.</translation>
@@ -4987,6 +5090,9 @@
 
       Si se establece esta política como verdadera o no se establece, el usuario tendrá acceso con permisos de administrador a los contenedores de Crostini.
       Si se establece como falsa, el usuario no tendrá acceso con permisos de administrador a ningún contenedor de Crostini, ya sea nuevo o existente.</translation>
+<translation id="8415953438346821074">Si habilitas esta configuración, los datos almacenados en los perfiles de <ph name="PRODUCT_NAME" />, como los favoritos, los datos de Autocompletar, las contraseñas, etc. también se guardarán en un archivo almacenado en la carpeta de perfil del usuario Roaming o una ubicación que el administrador especifique mediante la política <ph name="ROAMING_PROFILE_LOCATION_POLICY_NAME" />. Si habilitas esta política, se inhabilitará la sincronización en la nube.
+
+      Si inhabilitas la política o no la estableces, solo se usarán los perfiles locales comunes.</translation>
 <translation id="8417305981081876834">Establecer la longitud máxima del PIN de pantalla bloqueada</translation>
 <translation id="8417750118762775739">Si inhabilitas la política, las ventanas emergentes destinadas a <ph name="BLANK_PAGE_NAME" /> podrán acceder (mediante JavaScript) a la página que solicitó abrir la ventana emergente.
 
@@ -5178,6 +5284,7 @@
        De forma predeterminada, <ph name="PRODUCT_NAME" /> no reproduce contenido multimedia de forma automática. Sin embargo, para ciertos patrones de URL, podrás usar la política <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME" /> a fin de cambiar esta configuración.
 
       Si esta política cambia mientras se ejecuta <ph name="PRODUCT_NAME" />, el cambio solo se aplicará a las pestañas que se abran a partir de ese momento.</translation>
+<translation id="8685748277907759932">Impide que los usuarios usen Tocar para buscar</translation>
 <translation id="8687958770985542440">Vuelve a habilitar la API Web Components v0 hasta la versión M84</translation>
 <translation id="8693243869659262736">Utilizar cliente DNS integrado</translation>
 <translation id="8698286761337647563">La cantidad de días de anticipación para notificar a los usuarios de SAML cuando su contraseña está por caducar</translation>
@@ -5271,7 +5378,12 @@
       Cada elemento de la lista de la política es una string que contiene un ID de extensión y, de forma opcional, una URL de actualización separada por un punto y coma (;). El ID de extensión es la string de 32 letras que se encuentra, p. ej., en chrome://extensions, en el Modo de desarrollador. Si se especifica, la URL de actualización debe direccionar a un documento XML del manifiesto de actualización (https://developer.chrome.com/extensions/autoupdate). De forma predeterminada, se usa la URL de actualización de Chrome Web Store. La URL de actualización que se establece en esta política solo se usa para la instalación inicial; las actualizaciones posteriores de la extensión utilizan la URL de actualización que se indica en el manifiesto de la extensión.
 
        Nota: Esta política no se aplica al modo Incógnito. Obtén más información sobre el alojamiento de extensiones en https://developer.chrome.com/extensions/hosting.</translation>
+<translation id="8832829916385857156">La página Nueva pestaña mostrará tarjetas si hay contenido disponible</translation>
 <translation id="8833109046074170275">Autenticación mediante el flujo de GAIA predeterminado</translation>
+<translation id="8834641112681661892">Si estableces la política, se especificará la demora máxima (expresada en milisegundos) entre que se invalida una política y se recupera la nueva política del servicio de administración de dispositivos. Los valores válidos son de 1,000 (1 segundo) a 300,000 (5 minutos). Los valores fuera de este rango se ajustarán conforme al límite correspondiente.
+
+      Si no estableces la política, <ph name="PRODUCT_NAME" /> utilizará el valor predeterminado de 10 segundos.</translation>
+<translation id="885147810817138322">Muestra recomendaciones de contenido multimedia para el usuario</translation>
 <translation id="8852579753940989645">Habilitar la integridad del código del renderizador</translation>
 <translation id="8854571659927427063">Si habilitas la política, se importarán los favoritos del navegador predeterminado anterior en la primera ejecución. Si la inhabilitas o no la estableces, no se importará ningún favorito en la primera ejecución.
 
@@ -5305,6 +5417,7 @@
           Para las cookies de dominios que no se incluyan en los patrones especificados aquí, o para todas las cookies si no se establece esta política, se usará el valor predeterminado global de la política <ph name="LEGACY_SAMESITE_COOKIE_BEHAVIOR_ENABLED_POLICY_NAME" />, si se la establece, o de la configuración personal del usuario.
 
           Ten en cuenta que los patrones que incluyas aquí se tratarán como dominios, no como URL, por lo que no debes especificar un esquema ni un puerto.</translation>
+<translation id="8890438048579188548">Oculta las advertencias de baja de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8892286064305622118">Espacio libre en disco que se requiere para <ph name="PLUGIN_VM_NAME" /></translation>
 <translation id="8904721489610046109">Si estableces la política, se activará o desactivará la limitación de la red. Esto significa que se limita el sistema para lograr las tasas de carga y descarga proporcionadas (en kbit/s). Se aplica a todos los usuarios y las interfaces del dispositivo.</translation>
 <translation id="8906768759089290519">Activar el modo de invitado</translation>
@@ -5452,6 +5565,7 @@
       Si estableces la política, <ph name="PRODUCT_NAME" /> usará el tamaño del almacenamiento en caché que proporciones, independientemente de que los usuarios hayan especificado o no la función experimental --disk-cache-size. (Los valores expresados en megabytes se redondearán hacia arriba).
 
       Si no estableces la política, <ph name="PRODUCT_NAME" /> usará el tamaño predeterminado. Los usuarios podrán cambiar la configuración mediante la función experimental --disk-cache-size.</translation>
+<translation id="9055866143096316150">Desciende el nivel de las solicitudes de bloqueo de activación de pantalla a solicitudes de bloqueo de activación del sistema</translation>
 <translation id="9057444687284972605">Te permite configurar una lista de patrones de URL donde se indiquen los sitios para los que se selecciona automáticamente un certificado de cliente en la pantalla de acceso, en el marco que aloja el flujo de SAML, si el sitio solicita un certificado. Por ejemplo, se puede configurar un certificado para todo el dispositivo que se presente en el IdP de SAML.
 
       El valor es un arreglo de diccionarios convertidos en strings de JSON. Cada diccionario debe tener el formato <ph name="AUTO_SELECT_CERTIFICATE_FOR_URLS_EXAMPLE" />, donde <ph name="URL_PATTERN_PLACEHOLDER" /> es un patrón de configuración de contenido. <ph name="FILTER_PLACEHOLDER" /> restringe los certificados de cliente entre los cuales el navegador seleccionará automáticamente. Más allá del filtro, solo se seleccionarán certificados que se ajusten a la solicitud del servidor.
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index 2929021..2195955 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -77,6 +77,7 @@
       Si se le asigna el valor "true", se enviará la información sobre la retroiluminación del dispositivo.</translation>
 <translation id="1076751984131277498">Lista de dispositivos USB desvinculables permitidos</translation>
 <translation id="1079801999187584280">No permitir el uso de herramientas para desarrolladores</translation>
+<translation id="1082802595100075771">Permite a los usuarios elegir usar un servicio de Google anónimo para proporcionar descripciones automáticas para las imágenes no etiquetadas</translation>
 <translation id="1087437665304381368">Esta política permite controlar únicamente el modo desarrollador de <ph name="PRODUCT_OS_NAME" />. Si quieres impedir el acceso a las opciones para desarrolladores de Android, debes asignar un valor a la política <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" />.</translation>
 <translation id="1087707496788636333">La lista de políticas de Chrome Enterprise se traslada a otra URL. Modifica tus marcadores para que incluyan la URL actualizada: <ph name="POLICY_DOCUMENTATION_URL" />.</translation>
 <translation id="1093082332347834239">Si se habilita esta opción, el host de asistencia remota se ejecutará en un proceso con permisos de <ph name="UIACCESS_PERMISSION_NAME" />. Esto permitirá que los usuarios remotos interactúen con ventanas a las que se puede acceder con permisos de administrador en el ordenador del usuario local.
@@ -135,6 +136,7 @@
 <translation id="1198183996903759302">Si se asigna el valor "True" a esta política o se asigna el valor "False" a <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME" />, las páginas web no podrán acceder a la API de WebGL y los complementos no podrán usar la API de Pepper 3D.
 
       Si se le asigna el valor "False" o no se le asigna ningún valor, las páginas web podrán usar la API de WebGL y los complementos podrán usar la API de Pepper 3D, pero es posible que la configuración predeterminada del navegador requiera el uso de argumentos de línea de comandos para utilizar estas API.</translation>
+<translation id="1202216683470826356">Muestra tarjetas en la página Nueva pestaña</translation>
 <translation id="1204263402976895730">Impresoras de empresa habilitadas</translation>
 <translation id="120937472976628837">Enviar información sobre ventiladores</translation>
 <translation id="1216919699175573511">Habilitar compatibilidad con Signed HTTP Exchange (SXG)</translation>
@@ -172,6 +174,13 @@
 <translation id="1257550411839719984">Establecer directorio de descargas predeterminado</translation>
 <translation id="1265053460044691532">Limitar el tiempo durante el que un usuario autenticado a través de SAML puede iniciar sesión sin conexión</translation>
 <translation id="127264587838521316">Habilita las solicitudes de instalación de extensiones de <ph name="PRODUCT_NAME" /></translation>
+<translation id="127699919157094139">Permite inhabilitar la sincronización de datos en <ph name="PRODUCT_NAME" /> a través de los servicios de sincronización alojados en Google e impide que los usuarios cambien esta configuración.
+
+      Si inhabilitas esta opción, los usuarios no podrán modificarla ni anularla en <ph name="PRODUCT_NAME" />.
+
+      Si no se asigna ningún valor a esta política, el usuario podrá elegir si quiere usar Google Sync o no.
+
+      Para inhabilitar Google Sync por completo, se recomienda inhabilitar el servicio de Google Sync en la consola de administración de Google.</translation>
 <translation id="1290634681382861275">Controla varios ajustes, como el USB, el Bluetooth, la actualización de políticas o el modo desarrollador.</translation>
 <translation id="1291880496936992484">Advertencia: RC4 se eliminará completamente de <ph name="PRODUCT_NAME" /> después de la versión 52 (en torno a septiembre de 2016) y dejará de funcionar.
 
@@ -189,6 +198,9 @@
 <translation id="1309465583050255779">Si <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> está activada y se asigna un valor a <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" />, se especificará el nombre del proveedor de búsquedas predeterminado.
 
       Si no se asigna ningún valor a <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" />, se usará el nombre de host especificado por la URL de búsqueda.</translation>
+<translation id="1310052497030002740">Si se asigna un valor a esta política, <ph name="PRODUCT_NAME" /> intentará registrarse con <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />. El valor de esta política es un token de registro que puedes obtener desde la <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />.
+
+      Para obtener más información, consulta https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744.</translation>
 <translation id="1312799700549720683">Controla los ajustes de la pantalla.</translation>
 <translation id="131353325527891113">Mostrar los nombres de usuario en la pantalla de inicio de sesión</translation>
 <translation id="1327466551276625742">Habilitar mensaje de configuración de red si no hay conexión</translation>
@@ -299,6 +311,7 @@
       Si se le asigna el valor "False" o si no se le asigna ningún valor, las extensiones no podrán usar esta API.
 
       Nota: Esta política también se aplica a las extensiones de componentes, como la extensión Hangout Services.</translation>
+<translation id="148194404518916594">Permite que los usuarios utilicen la función Tocar para buscar</translation>
 <translation id="1486021504508098388">Enviar información sobre la retroiluminación</translation>
 <translation id="1487916040416013623">Si se define esta política, especificará qué servidores deberían tener permiso para la autenticación integrada. La autenticación integrada solo se activará cuando <ph name="PRODUCT_NAME" /> reciba una solicitud de autenticación de un proxy o un servidor que esté incluido en la lista de permitidos.
 
@@ -417,6 +430,8 @@
       Si asignas un valor a esta política, los usuarios no podrán cambiarla ni anularla.</translation>
 <translation id="1617235075406854669">Habilitar eliminación de historial de navegación y de descargas</translation>
 <translation id="1620510694547887537">Cámara</translation>
+<translation id="1626379196197114720">Permite usar la caché de páginas completas</translation>
+<translation id="1628974048137236820">La página Nueva pestaña no mostrará tarjetas</translation>
 <translation id="163200210584085447">Los patrones de esta lista se compararán con el origen de seguridad
       de la URL solicitante. Si se encuentra alguna coincidencia, se concederá acceso a dispositivos de captura de vídeo
       en páginas de inicio de sesión con SAML. De lo contrario, el acceso se denegará automáticamente. Los patrones comodín no están
@@ -512,6 +527,7 @@
       anular las políticas incompatibles.</translation>
 <translation id="1843117931376765605">Frecuencia con la que se actualiza la política de usuario</translation>
 <translation id="1844620919405873871">Configura las políticas relacionadas con el desbloqueo rápido.</translation>
+<translation id="1844972978764975668">Permite que consultas ocasionales a un servidor de Google obtengan una marca de tiempo precisa</translation>
 <translation id="1845405905602899692">Configuración de kiosco</translation>
 <translation id="1845429996559814839">Restringir el modo de impresión con PIN</translation>
 <translation id="1847960418907100918">Especifica los parámetros utilizados al hacer búsquedas instantáneas con POST. Se compone de pares de nombre/valor separados por comas. Si un valor es un parámetro de plantilla, como {searchTerms} en el ejemplo anterior, se sustituirá con datos de términos de búsqueda reales.
@@ -655,6 +671,7 @@
 <translation id="2077129598763517140">Utilizar aceleración por hardware cuando esté disponible</translation>
 <translation id="2077273864382355561">Retraso de desconexión de pantalla cuando el dispositivo funciona con la batería</translation>
 <translation id="2082205219176343977">Configurar la versión mínima permitida de Chrome en el dispositivo.</translation>
+<translation id="208623333578980446">Permite los wake locks de pantalla para la gestión de energía</translation>
 <translation id="209586405398070749">Canal estable</translation>
 <translation id="2098658257603918882">Habilitar informes de uso y de datos sobre fallos</translation>
 <translation id="2104418465060359056">Recoger información sobre extensiones y complementos</translation>
@@ -820,6 +837,7 @@
       Si se le asigna el valor "fast", <ph name="PRODUCT_NAME" /> evita la rasterización si es posible. Reducir la cantidad de rasterización puede ayudar a reducir los tamaños de los trabajos de impresión y aumentar la velocidad de impresión.
 
       Si no se le asigna ningún valor a esta política, <ph name="PRODUCT_NAME" /> tendrá activado el modo completo.</translation>
+<translation id="2337859888277013371">No permite usar la caché de páginas completas</translation>
 <translation id="2345547870894930157">Habilitar DNS-over-HTTPS sin alternativa no segura</translation>
 <translation id="2349117476121456297">Si se asigna el valor "true" a esta política, las teclas de la fila superior del teclado actúan como comandos de teclas de funciones. Cuando se pulsa la tecla de búsqueda, su comportamiento cambia al de teclas multimedia.
 
@@ -846,6 +864,9 @@
       Los patrones de URL no deben entrar en conflicto con <ph name="FILE_SYSTEM_READ_BLOCKED_FOR_URLS_POLICY_NAME" />. Si una URL está incluida en ambas políticas, no tendrá preferencia ninguna política.
 
       Para obtener información detallada sobre los patrones de <ph name="URL_LABEL" /> válidos, consulta https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.</translation>
+<translation id="2384233438419344179">Si se habilita esta política, los elementos de sitios web que no pertenezcan al dominio que aparece en la barra de direcciones del navegador no podrán establecer cookies. Si se inhabilita esta política, estos elementos podrán establecer cookies y los usuarios no podrán cambiar esta opción.
+
+      Si no se le asigna ningún valor, las cookies de terceros estarán activadas, pero los usuarios podrán cambiar esta opción.</translation>
 <translation id="2386362615870139244">Permitir bloqueos de activación de pantalla</translation>
 <translation id="2394674739523870144">Si se define esta política como una lista de cadenas, dichas cadenas se unirán mediante espacios y pasarán de <ph name="IE_PRODUCT_NAME" /> a <ph name="PRODUCT_NAME" /> como parámetros de línea de comandos. Si un parámetro contiene la variable <ph name="URL_PLACEHOLDER" />, <ph name="URL_PLACEHOLDER" /> se sustituirá por la URL de la página que se vaya a abrir. Si ningún parámetro contiene la variable <ph name="URL_PLACEHOLDER" />, la URL se añadirá al final de la línea de comandos.
 
@@ -915,6 +936,7 @@
        Si no se establece la política, se desactivarán las métricas y los datos de diagnóstico en los dispositivos no administrados, y se activarán en los dispositivos administrados.</translation>
 <translation id="2454228136871844693">Optimizar para una mejor estabilidad.</translation>
 <translation id="2455033019778127130">Sigue el comportamiento predeterminado del navegador, muestra los Términos del Servicio y espera a que el usuario los acepte.</translation>
+<translation id="2460238670327375238">Permite las cookies de terceros, pero se permitirá que el usuario cambie este ajuste</translation>
 <translation id="2463034609187171371">Habilita los conjuntos de cifrado DHE en TLS</translation>
 <translation id="2463365186486772703">Configuración regional de la aplicación</translation>
 <translation id="2463832514638083341">Esta política determina el tiempo, en número de días, durante el que se almacenarán en el dispositivo los metadatos de los trabajos de impresión.
@@ -926,6 +948,7 @@
       El valor de esta política debe especificarse en número de días.</translation>
 <translation id="2466131534462628618">La autenticación del portal cautivo ignora el proxy</translation>
 <translation id="247658312644322296">Destino Guardar como PDF</translation>
+<translation id="2478756867046106663">Permite que los sitios con experiencias engañosas abran nuevas ventanas o pestañas</translation>
 <translation id="2480971699591919564">Habilita la función Clic de llamada, que permite a los usuarios enviar números de teléfono desde Chrome para ordenador a un dispositivo Android si el usuario ha iniciado sesión. Puedes consultar más información en este artículo del Centro de Ayuda: https://support.google.com/chrome/answer/9430554?hl=es
 
       Si se habilita esta política, el usuario de Chrome podrá enviar números de teléfono a dispositivos Android.
@@ -1031,6 +1054,7 @@
 
       Si no se establece esta política, la función del proxy de compresión de datos estará disponible para que el usuario decida si quiere o no utilizarla.</translation>
 <translation id="257788512393330403">Es obligatorio introducir la contraseña cada seis horas</translation>
+<translation id="2586117300379904732">Permite los wake locks para la gestión de energía</translation>
 <translation id="2587719089023392205">Establecer <ph name="PRODUCT_NAME" /> como navegador predeterminado</translation>
 <translation id="2588252329503406673">Si se asigna un valor a esta política, definirá cómo debe comportarse <ph name="PRODUCT_OS_NAME" /> en caso de que no haya actividad de usuario durante un periodo de tiempo específico al mostrarse la pantalla de inicio de sesión. Esta política controla varios ajustes. Para obtener información sobre los intervalos de valores y la semántica de cada ajuste concreto, consulta las políticas correspondientes que controlan la gestión de energía de una sesión.
 
@@ -1877,6 +1901,11 @@
 <translation id="3816312845600780067">Habilitar combinación de teclas de rescate para inicio de sesión automático</translation>
 <translation id="3817323252437541502">Permitir que los usuarios registrados en el Programa de Protección Avanzada cuenten con más opciones de protección</translation>
 <translation id="3821861026311587684">Forzar el cierre de la sesión del usuario si su cuenta deja de estar autorizada</translation>
+<translation id="3823381379309653965">Si se asigna un valor a esta política, se especificará el tiempo (en milisegundos) que tardará el servicio de gestión en solicitar información de la política de dispositivos. Los valores válidos están comprendidos entre 1.800.000 (30 minutos) y 86.400.000 (1 día). Cualquier valor fuera de este intervalo se ajustará al límite correspondiente.
+
+      Si no se le asigna ningún valor, <ph name="PRODUCT_OS_NAME" /> utilizará el valor predeterminado (3 horas).
+
+      Nota: Las notificaciones acerca de políticas forzarán una actualización cuando se produzca algún cambio en la política. De esta manera, no será necesario realizar actualizaciones frecuentemente. Si la plataforma admite estas notificaciones, el periodo entre actualizaciones se establecerá en 24 horas (se ignorarán los valores predeterminados y el valor de esta política).</translation>
 <translation id="382476126209906314">Configurar el prefijo TalkGadget para hosts de acceso remoto</translation>
 <translation id="3824972131618513497">Controla los ajustes relacionados con el reinicio y la gestión de la batería.</translation>
 <translation id="3825873934240606959">Evita el descubrimiento de dispositivos locales</translation>
@@ -2007,6 +2036,7 @@
 <translation id="3956686688560604829">Usar la política SiteList de Internet Explorer para gestionar la compatibilidad con navegadores antiguos.</translation>
 <translation id="3958586912393694012">Permitir el uso de Smart Lock</translation>
 <translation id="3962445567482559878">Usa el modo EDU de la experiencia de incorporación del Asistente</translation>
+<translation id="396261881101930204">Oculta las recomendaciones de contenido multimedia del usuario</translation>
 <translation id="3963602271515417124">Si se asigna el valor True, se habilitará la confirmación remota para el dispositivo y se generará automáticamente un certificado que se subirá al servidor de administración de dispositivos.
 
           Si esta política no se establece o se le asigna el valor False, no se generará ningún certificado y se producirán errores en las llamadas a la API de extensión enterprise.platformKeys.</translation>
@@ -2099,6 +2129,7 @@
       Esta política solo afecta a los usuarios que usen la autenticación con SAML.</translation>
 <translation id="4105989332710272578">No permite que se aplique la Transparencia en Certificados a una lista de URLs</translation>
 <translation id="4121350739760194865">Evitar que las promociones de aplicaciones aparezcan en la página Nueva pestaña</translation>
+<translation id="4122473079291425973">La página Nueva pestaña mostrará tarjetas si hay contenido disponible, pero se permitirá que el usuario cambie este ajuste</translation>
 <translation id="412697421478384751">Permitir que los usuarios utilicen un PIN poco seguro para la pantalla de bloqueo</translation>
 <translation id="4138655880188755661">Límite de tiempo</translation>
 <translation id="4147818922357566987">Habilitar variaciones referentes solo a correcciones críticas</translation>
@@ -2598,6 +2629,15 @@
 
       Si se inhabilita la política, <ph name="PRODUCT_NAME" /> no podrá enviar esas consultas.</translation>
 <translation id="504116558738617678">Muestra advertencias de poco espacio en disco solo si el dispositivo no está administrado o si únicamente hay 1 usuario</translation>
+<translation id="5052278640307929670">Si se asigna un valor a esta política, se podrán combinar las políticas seleccionadas cuando procedan de fuentes distintas, con los mismos permisos y el mismo nivel.
+
+      Si una política está en la lista y se produce algún conflicto entre las fuentes:
+
+      * Si tienen los mismos permisos y niveles: los valores se fusionan en una nueva lista de políticas.
+
+      * Si tienen distintos permisos o niveles: se aplicará la política que tenga la mayor prioridad.
+
+      Si una política no está en la lista y se produce un conflicto entre distintos permisos, niveles o fuentes, se aplicará la política con mayor prioridad.</translation>
 <translation id="5056708224511062314">Lupa inhabilitada</translation>
 <translation id="5058573563327660283">Seleccionar la estrategia utilizada para liberar espacio en disco durante la limpieza automática (obsoleta)</translation>
 <translation id="5061114193960158745">Si se define esta política, controlará la lista de sitios web que nunca provocarán que se cambie de navegador. Cada elemento se tratará como una regla. Las reglas para las que se encuentre una coincidencia no abrirán un navegador alternativo. A diferencia de la política <ph name="URL_LIST_POLICY_NAME" />, estas reglas se aplicarán en ambas direcciones. Si el complemento de <ph name="IE_PRODUCT_NAME" /> está activado, también controlará si <ph name="IE_PRODUCT_NAME" /> debe abrir esas URL en <ph name="PRODUCT_NAME" />.
@@ -2970,12 +3010,21 @@
       Si se le asigna el valor "False", impedirá que <ph name="PRODUCT_NAME" /> muestre contenido que ocupe toda la pestaña para ofrecer información del producto.
 
       Si se asigna un valor a esta política, controlará la presentación de las páginas de bienvenida que ayudan a los usuarios a iniciar sesión en <ph name="PRODUCT_NAME" />, establecerá <ph name="PRODUCT_NAME" /> como navegador predeterminado de los usuarios o los informará sobre funciones del producto.</translation>
+<translation id="544654037134815017">Esta política controla la visibilidad de las tarjetas en la página Nueva pestaña. Las tarjetas muestran puntos de entrada para lanzar contenido consultado frecuentemente por el usuario en función de sus hábitos de navegación.
+
+      Si se habilita esta política, la página Nueva pestaña mostrará tarjetas si hay contenido disponible.
+
+      Si se inhabilita, la página Nueva pestaña no mostrará ninguna tarjeta.
+
+      Si no se le asigna ningún valor, el usuario podrá controlar la visibilidad de las tarjetas. Las tarjetas serán visibles de forma predeterminada.
+      </translation>
 <translation id="5457065417344056871">Habilitar el modo invitados en el navegador</translation>
 <translation id="5457387982448145430">Si se asigna el valor "Habilitada" a esta política, se importarán las contraseñas guardadas del navegador predeterminado anterior al ejecutarse por primera vez. Si se le asigna el valor "Inhabilitada" o no se le asigna ninguno, no se importará ninguna contraseña al ejecutarse por primera vez.
 
       Los usuarios pueden abrir un cuadro de diálogo de importación y la casilla de contraseñas guardadas aparecerá marcada o desmarcada en función del valor de esta política.</translation>
 <translation id="5457924070961220141">Permite configurar el procesador de HTML predeterminado si se ha instalado <ph name="PRODUCT_FRAME_NAME" />.
           Si no se establece esta política, se permitirá que el navegador del host muestre las páginas HTML de forma predeterminada, pero puedes anular esta opción para que <ph name="PRODUCT_FRAME_NAME" /> muestre las páginas HTML de forma predeterminada.</translation>
+<translation id="5460797984317417682">Habilita la alerta en pantalla completa</translation>
 <translation id="5464816904705580310">Permite establecer opciones de configuración de usuarios administrados.</translation>
 <translation id="5466596281866046569">Enviar información sobre las aplicaciones</translation>
 <translation id="546726650689747237">Retraso de atenuación de pantalla cuando el dispositivo está conectado a la red</translation>
@@ -3285,6 +3334,11 @@
 <translation id="5946329690214660966">Define la programación personalizada para buscar actualizaciones</translation>
 <translation id="5951418260805607969">Mostrar notificación de poco espacio en disco</translation>
 <translation id="5958746038080720143">Habilita las optimizaciones de WPAD (detección automática de proxy web)</translation>
+<translation id="5959428851851090097">Si se habilita esta política, la política de la nube prevalecerá si entra en conflicto con la política de la plataforma.
+
+      Si se inhabilita esta política o no se le asigna ningún valor, la política de la plataforma prevalecerá si entra en conflicto con la política de la nube.
+
+      Esta política obligatoria afecta a las políticas de permisos de nube.</translation>
 <translation id="5961137303188584693">Dirección NIC MAC integrada en el dispositivo</translation>
 <translation id="5966615072639944554">Extensiones con permiso para utilizar la API de confirmación remota</translation>
 <translation id="5975765799383881158">Si se habilita la política o no se establece, los usuarios podrán enviar comentarios a Google usando una combinación de teclas o mediante la opción que está en Menú &gt; Ayuda &gt; Notificar un problema.
@@ -3380,6 +3434,8 @@
 
       Los patrones de URL tienen este formato: https://www.chromium.org/administrators/url-blacklist-filter-format. Sin embargo, como la validez de los certificados de un determinado nombre de host es independiente del esquema, puerto o ruta, <ph name="PRODUCT_NAME" /> solo tiene en cuenta la parte del nombre del host de la URL. No se admiten hosts comodín.</translation>
 <translation id="6111936128861357925">Permitir el juego del huevo de pascua de dinosaurio</translation>
+<translation id="6123052603197028610">No permite que las consultas a los servidores de Google obtengan marcas de tiempo</translation>
+<translation id="6132506775968708399">Bloquea las cookies de terceros</translation>
 <translation id="6133088669883929098">Permitir que todos los sitios web utilicen la generación de claves</translation>
 <translation id="6135398260575578389">Navegación segura está activa en modo mejorado. Este modo proporciona mayor seguridad, pero requiere compartir más información de navegación con Google.</translation>
 <translation id="6138636318340561140">Comprueba en tiempo real el estado de Navegación segura de las URL</translation>
@@ -3392,6 +3448,11 @@
       De lo contrario, las direcciones IP locales se ocultarán con nombres de host mDNS.
       Ten en cuenta que esta política debilita la protección de las IP locales si así lo necesitan los administradores.</translation>
 <translation id="614662973812186053">Esta política también controla la recopilación de los datos de uso y diagnóstico de Android.</translation>
+<translation id="6148540081388423836">Si se habilita esta política, se ordena el registro en <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> y, si no se puede realizar, se bloquea el proceso de inicio de <ph name="PRODUCT_NAME" />.
+
+      Si se inhabilita esta política o no se le asigna ningún valor, el registro en <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> será opcional y, si no se puede realizar, no se bloqueará el proceso de inicio de <ph name="PRODUCT_NAME" />.
+
+      El registro automático de políticas de permisos de nube en el escritorio utiliza esta política. Para obtener más información, consulta https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744.</translation>
 <translation id="6155350825868160236">Permite que el usuario elija si se utilizan servicios web de Google para corregir errores ortográficos</translation>
 <translation id="6155936611791017817">Establecer el estado predeterminado del cursor grande en la pantalla de inicio de sesión</translation>
 <translation id="6157537876488211233">Lista de reglas de omisión de proxy separadas por comas</translation>
@@ -3470,6 +3531,7 @@
       Cada elemento de la lista de la política es una cadena que contiene un ID de extensión y, opcionalmente, una URL de "actualización" separados por punto y coma (<ph name="SEMICOLON" />). El ID de extensión es la cadena de 32 letras que aparece, por ejemplo, en <ph name="CHROME_EXTENSIONS_LINK" /> cuando está habilitado el modo desarrollador. La URL de "actualización", si se especifica, debe dirigir a un documento XML de un archivo de manifiesto de actualización, como se describe en <ph name="LINK_TO_EXTENSION_DOC1" />. De forma predeterminada, se utiliza la URL de "actualización" de Chrome Web Store, que actualmente es "https://clients2.google.com/service/update2/crx". Ten en cuenta que la URL de "actualización" definida en esta política solo se usa en la instalación inicial. Las actualizaciones posteriores de la extensión usarán la URL de "actualización" indicada en el archivo de manifiesto de la extensión.
 
       Por ejemplo, <ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" /> instala la aplicación <ph name="SMART_CARD_CONNECTOR_APP_NAME" /> desde la URL de "actualización" estándar de Chrome Web Store. Para obtener más información sobre cómo alojar extensiones, consulta <ph name="LINK_TO_EXTENSION_DOC2" />.</translation>
+<translation id="6275497712828649588">Oculta las advertencias de seguridad si se utilizan instrucciones de línea de comandos potencialmente peligrosas</translation>
 <translation id="6275833043726517413">Permite usar la implementación antigua de <ph name="CORS" /> en vez de la nueva implementación de <ph name="CORS" />.
 
       Si se asigna el valor "True" a esta política, se usará la implementación antigua, la cual debería ser compatible con las versiones anteriores.
@@ -3489,6 +3551,7 @@
 
       Nota: Las contraseñas podrían mantenerse más tiempo del especificado si el cliente ha estado sin conexión durante un periodo de tiempo mayor.</translation>
 <translation id="6281043242780654992">Configura las políticas relativas a los mensajes nativos. Los hosts de mensajes nativos de la lista negra se inhabilitarán a menos que se incluyan en la lista blanca.</translation>
+<translation id="6282524907402492171">Muestra advertencias de desactivación de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="6282799760374509080">Permitir o denegar captura de audio</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
 <translation id="6310223829319187614">Habilitar la opción de autocompletar nombre de dominio durante el inicio de sesión del usuario</translation>
@@ -3499,6 +3562,15 @@
 <translation id="631183702829488873">Si se habilita, esta función muestra un botón en las pantallas de inicio de sesión y bloqueo que permite mostrar la contraseña.
           Se representa con un icono de ojo en el campo de texto de la contraseña. No aparece ningún botón si la función está desactivada.
       </translation>
+<translation id="6313170479290171718">Esta política está obsoleta. Se debe usar la política <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> en su lugar.
+
+      Si se asigna el valor "True" a esta política, el teclado en pantalla se activará al iniciar sesión. Si se le asigna el valor "False", el teclado en pantalla se desactivará al iniciar sesión.
+
+      Si se asigna un valor a esta política, los usuarios podrán activar y desactivar temporalmente el teclado en pantalla. Cuando la pantalla de inicio de sesión se vuelva a cargar o permanezca inactiva durante un minuto, volverá a su estado original.
+
+      Si no se le asigna ningún valor, el teclado en pantalla estará desactivado en la pantalla de inicio de sesión. Los usuarios podrán activar el teclado en pantalla cuando quieran y su estado en la pantalla de inicio de sesión permanecerá entre usuarios.
+
+      Nota: <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> anula esta política si se especifica la anterior.</translation>
 <translation id="6319198883324703402">Define cuándo se envía la primera notificación para que el usuario reinicie</translation>
 <translation id="6330882599388782338">Permitir a los sitios web acceder a los sensores</translation>
 <translation id="6331167725613770725">Ten en cuenta que esta política está obsoleta y se eliminará de la versión 85 de <ph name="PRODUCT_OS_NAME" />. Utiliza <ph name="POWER_MANAGEMENT_IDLE_SETTINGS_POLICY_NAME" /> en su lugar.
@@ -3651,6 +3723,7 @@
 
       Si no se le asigna ningún valor o se le asigna Dejar que los usuarios decidan o Ninguno, los usuarios controlarán la detección automática de la zona horaria con los controles normales de chrome://settings.</translation>
 <translation id="6532769014584932288">Permitir wake locks</translation>
+<translation id="6536444379078076149">Habilita o inhabilita que se muestre la UI relacionada con la conexión en el escritorio del host cuando una conexión esté activa.</translation>
 <translation id="6536600139108165863">Reinicio automático al cerrar el dispositivo</translation>
 <translation id="6539246272469751178">Esta política no afecta a las aplicaciones para Android. Siempre utilizan el directorio de descargas predeterminado y no pueden acceder a ningún archivo que <ph name="PRODUCT_OS_NAME" /> haya descargado en un directorio de descargas que no sea el predeterminado.</translation>
 <translation id="654303922206238013">Estrategia de migración para eCryptfs</translation>
@@ -3715,6 +3788,7 @@
 
       En los dispositivos administrados de Active Directory, esta política admite una expansión de <ph name="MACHINE_NAME_VARIABLE" /> al nombre de equipo de Active Directory o una subcadena de este. Por ejemplo, si el nombre del equipo es <ph name="MACHINE_NAME_EXAMPLE" />, <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" /> se sustituiría por 4 caracteres después de la sexta posición; es decir, <ph name="MACHINE_NAME_PART_EXAMPLE" />. Ten en cuenta que la posición se basa en cero.
       </translation>
+<translation id="6584541828182430328">Inhabilita que se muestre la alerta en pantalla completa</translation>
 <translation id="6588522781970773591">Si se define esta política, se controlará la configuración de gestión de extensiones de <ph name="PRODUCT_NAME" />, incluidas las que controlen las políticas existentes relacionadas con las extensiones. Esta política sustituirá a todas las políticas antiguas que se hubieran establecido.
 
       Esta política asociará un ID de extensión o una URL de actualización únicamente a su configuración específica. Se puede definir una configuración predeterminada para el ID especial <ph name="DEFAULT_SCOPE" />, que se aplicará a todas las extensiones para las que no se haya definido una configuración personalizada en esta política. Si se utiliza una URL de actualización, la configuración se aplicará a las extensiones que incluyan la misma URL de actualización en su archivo de manifiesto (http://support.google.com/chrome/a?p=Configure_ExtensionSettings_policy).
@@ -4348,6 +4422,7 @@
 <translation id="7448430478749155471">Habilita la función Enunciar Selección en la pantalla de inicio de sesión</translation>
 <translation id="7458437477941640506">No vuelve a instalar la versión de destino si la versión del SO es más reciente que la de destino. También inhabilita las actualizaciones.</translation>
 <translation id="7459601923199346224">Controla las políticas de usuarios y dispositivos para gestionar certificados.</translation>
+<translation id="7459633275230216698">Permite lo cuadros de diálogo de selección de archivos</translation>
 <translation id="7464991223784276288">Limitar las cookies de las URL coincidentes de la sesión actual</translation>
 <translation id="7468182772656807573">Si se define esta política, determinará la frecuencia con la que se envían paquetes de red de monitorización (en milisegundos). Los intervalos se sitúan entre 30 segundos y 24 horas. Cualquier valor fuera de este intervalo se ajustará al límite correspondiente.
 
@@ -4403,6 +4478,9 @@
       Si wilco DTC está disponible en el dispositivo y la política tiene un valor "True", se activa la recolección, el procesamiento y el envío de los datos de diagnóstico y telemetría.</translation>
 <translation id="7519251620064708155">Permitir la generación de claves en estos sitios web</translation>
 <translation id="7529144158022474049">Actualizar de forma automática el factor de dispersión</translation>
+<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.
@@ -4410,6 +4488,7 @@
       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>
 <translation id="7547549430720182663">Combinar</translation>
 <translation id="7553535237300701827">El flujo de autenticación de inicio de sesión puede ser de dos formas diferentes, en función del valor que se asigne a esta política:
 
@@ -4502,6 +4581,7 @@
 <translation id="7643883929273267746">Restringir cuentas que se muestran en <ph name="PRODUCT_NAME" /></translation>
 <translation id="7648907905084499629">Usar el comportamiento de cookies de <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" /> en todos los sitios web</translation>
 <translation id="7657261947024629645">Optimizar para un mejor rendimiento.</translation>
+<translation id="7666228839913571182">Permite las cookies de terceros</translation>
 <translation id="7668830462800981702">Si se habilita esta política, se realiza una búsqueda predeterminada cuando un usuario introduce en la barra de direcciones texto que no es una URL. Para especificar el proveedor de búsqueda predeterminado, configura el resto de las políticas de búsqueda predeterminadas. Si no configuras esas políticas, el usuario podrá elegir el proveedor predeterminado. Si se inhabilita esta política, no se realizará ninguna búsqueda cuando el usuario introduzca texto que no es una URL en la barra de direcciones.
 
       Si se asigna un valor a esta política, los usuarios no podrán cambiarlo en <ph name="PRODUCT_NAME" />. Si no se le asigna ninguno, el proveedor de búsqueda predeterminado estará activado y los usuarios podrán crear la lista de proveedores de búsqueda.
@@ -4545,6 +4625,8 @@
 
       Nota: En este momento, los reinicios automáticos solo se habilitan cuando se muestra la pantalla de inicio de sesión o está en curso una sesión de una aplicación de kiosco. Esta restricción se modificará en el futuro, y la política se aplicará en todo momento, independientemente de si un determinado tipo de sesión está o no en curso.</translation>
 <translation id="7701341006446125684">Establecer el tamaño de caché de aplicaciones y extensiones (en bytes)</translation>
+<translation id="7703737669292992839">Evita los cuadros de diálogo de selección de archivos</translation>
+<translation id="7709470712369261710">No usa los servicios de Google para proporcionar descripciones de imágenes automáticas</translation>
 <translation id="7710950688502974809">Lista con los ajustes de los servicios de Chrome Enterprise Connectors que se van a aplicar al conector <ph name="ON_BULK_DATA_ENTRY_ENTERPRISE_CONNECTOR" /> de Enterprise, que se activa cuando se introducen datos en Chrome desde el portapapeles o arrastrando y soltando contenido web.
 
       Los campos <ph name="ENTERPRISE_CONNECTOR_URL_LIST_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_TAGS_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_ENABLE_FIELD" /> y <ph name="ENTERPRISE_CONNECTOR_DISABLE_FIELD" /> se usan para determinar si el conector debe enviar datos para su análisis cuando se introduzcan en una página específica y qué etiquetas se van a incluir en la solicitud de análisis de esos datos. Se incluirá en la solicitud de análisis una etiqueta correspondiente a un patrón "enable" si la URL de la página coincide con un patrón asociado a esta etiqueta, siempre y cuando no se encuentre una misma etiqueta que coincida con la URL de la página con el patrón "disable". El análisis se realiza si se debe incluir al menos 1 etiqueta en la solicitud.
@@ -4588,6 +4670,11 @@
       Si la política se inhabilita, los usuarios no podrán hacer clic para ignorar las páginas de advertencia.</translation>
 <translation id="7750991880413385988">Abrir página Nueva pestaña</translation>
 <translation id="7754704193130578113">Preguntar dónde se guardará cada archivo antes de descargarlo</translation>
+<translation id="7754893969683595513">Si se asigna un valor a esta política, se especificará el tiempo (en milisegundos) que tardará el servicio de gestión en solicitar información de la política de usuarios. Los valores válidos están comprendidos entre 1.800.000 (30 minutos) y 86.400.000 (1 día). Cualquier valor fuera de este intervalo se ajustará al límite correspondiente.
+
+      Si no se le asigna ningún valor, se utilizará el valor predeterminado (3 horas).
+
+      Nota: Las notificaciones acerca de políticas forzarán una actualización cuando se produzca algún cambio en la política. De esta manera, no será necesario realizar actualizaciones frecuentemente. Si la plataforma admite estas notificaciones, el periodo entre actualizaciones se establecerá en 24 horas (se ignorarán los valores predeterminados y el valor de esta política).</translation>
 <translation id="7758378441185523981">Habilita la autenticación pasiva para tipos de perfil.</translation>
 <translation id="776110834126722255">Obsoleta</translation>
 <translation id="7763614521440615342">Mostrar sugerencias de contenido en la página Nueva pestaña</translation>
@@ -4678,6 +4765,7 @@
 
       Si se le asigna el valor "Disbled" o no se le asigna ninguno, se hará una consulta de CNAME para determinar el nombre canónico del servidor al generar el SPN de Kerberos.</translation>
 <translation id="7912255076272890813">Configurar tipos de extensiones o aplicaciones permitidos</translation>
+<translation id="791267408364877739">Muestra advertencias de seguridad si se utilizan instrucciones de línea de comandos potencialmente peligrosas</translation>
 <translation id="7922358664346625612">Mantener abierta la última pestaña en Chrome.</translation>
 <translation id="793134539373873765">Especifica si la conexión P2P se debe utilizar para cargas útiles de actualizaciones del sistema operativo. Si esta política se establece en True, los dispositivos compartirán e intentarán consumir cargas útiles de actualizaciones en la red LAN, reduciendo de forma potencial la congestión y el uso del ancho de banda. Si la carga útil de actualizaciones no está disponible en la red LAN, el dispositivo deberá realizar la descarga desde un servidor de actualizaciones. Si se establece en False o no se configura, no se utilizará la conexión P2P.</translation>
 <translation id="7933141401888114454">Habilitar la creación de usuarios supervisados</translation>
@@ -4738,6 +4826,9 @@
 <translation id="8006219716745491366">Si <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> está activada y se asigna un valor a <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" />, se especificará una lista con URL alternativas para extraer términos de búsqueda del buscador. Las URL deben incluir la cadena <ph name="SEARCH_TERM_MARKER" />.
 
       Si no se asigna ningún valor a <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" />, no se usará ninguna URL alternativa para extraer términos de búsqueda.</translation>
+<translation id="8006921530139404577">Si se inhabilita esta política, no se mostrará la UI relacionada con la conexión (por ejemplo, la ventana de desconexión) para las conexiones de acceso remoto que no estén en el modo de cortina. Las sesiones de acceso remoto en modo de cortina y las sesiones de asistencia remotas no se ven afectadas por esta política.
+
+          Esta política no tendrá efecto si se le asigna el valor "True", se deja vacía o no se le asigna ningún valor.</translation>
 <translation id="8011935490612940798">Controlar la función <ph name="PRODUCT_NAME" />.</translation>
 <translation id="802147957407376460">Girar la pantalla 0 grados</translation>
 <translation id="8027265928215448940">Lista con los ajustes de los servicios de Chrome Enterprise Connectors que se van a aplicar al conector <ph name="ON_FILE_DOWNLOADED_ENTERPRISE_CONNECTOR" /> de Enterprise, que se activa cuando se descarga un archivo en Chrome.
@@ -4777,6 +4868,7 @@
 <translation id="8053580360728293758">Anula el modo predeterminado de impresión en color. Si el modo no está disponible, se ignora la política.</translation>
 <translation id="8056237304861875584">Permite habilitar la continuación de tareas de Mi teléfono.</translation>
 <translation id="8059164285174960932">URL en la que los clientes de acceso remoto deben obtener su token de autenticación</translation>
+<translation id="8062485064082966327">Usa un servicio de Google anónimo para proporcionar descripciones automáticas para las imágenes no etiquetadas</translation>
 <translation id="8076521374016204899">Si se habilita esta política o no se le asigna ningún valor, se permitirá que los usuarios que usen la autenticación con contraseña bloqueen la pantalla.
 
       Si se inhabilita esta política, los usuarios no podrán bloquear la pantalla. Solo podrán cerrar la sesión de usuario.</translation>
@@ -4856,8 +4948,10 @@
 <translation id="816783746144552109">Configurar la versión mínima permitida de Chrome OS en el dispositivo.</translation>
 <translation id="8171924760436219650">Cambiar el botón principal del ratón al botón derecho en la pantalla de inicio de sesión</translation>
 <translation id="8176035528522326671">Permitir que el usuario de empresa sea solo un usuario principal de varios perfiles (comportamiento predeterminado para usuarios administrados por empresas)</translation>
+<translation id="8179161412673077784">Impide que los sitios con experiencias engañosas abran nuevas ventanas o pestañas</translation>
 <translation id="8183108371184777472">Impide que se abra la ventana del navegador</translation>
 <translation id="8186911565834244165">Permitir comentarios de los usuarios</translation>
+<translation id="8195133650230097559">Ignora las solicitudes de wake locks para la gestión de energía</translation>
 <translation id="8196558469954193908">Esta política permite la unión de conexiones HTTP/2 cuando se usan certificados de cliente. Para que se unan, el nombre de host de la posible nueva conexión y de la conexión existente deben coincidir con uno o varios patrones descritos en esta política. La política establece una lista de hosts que utilizan el formato de filtro <ph name="URL_BLOCKLIST_POLICY_NAME" />: "example.com" coincide con "example.com" y con todos sus subdominios (como "sub.example.com"), mientras que ".example.net" coincide de forma exacta con "example.net".
 
       Las solicitudes de unión a diferentes hosts mediante conexiones que utilizan certificados de cliente pueden dar lugar a problemas de seguridad y privacidad, ya que la autoridad de certificación se vinculará a todas las solicitudes, aunque el usuario no lo autorice de forma explícita. Esta política es temporal y se retirará en versiones posteriores. Consulta https://crbug.com/855690
@@ -4902,6 +4996,15 @@
 No es necesario configurar estas opciones manualmente. En la página <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />, puedes encontrar plantillas fáciles de utilizar para Windows, Mac y Linux.
 
 Te recomendamos que utilices GPO para configurar la política en Windows, aunque aún se admite la asignación de la política a través del registro para instancias de Windows vinculadas a un dominio de <ph name="MS_AD_NAME" />.</translation>
+<translation id="8261874086461353268">Si se asigna un valor a esta política, se podrán combinar las políticas seleccionadas cuando procedan de fuentes distintas, con los mismos permisos y el mismo nivel. La combinación consiste en combinar las claves de primer nivel del diccionario de cada fuente. Prevalecerá la clave procedente de la fuente que tenga la mayor prioridad.
+
+      Si una política está en la lista y se produce algún conflicto entre las fuentes:
+
+      * Si tienen los mismos permisos y niveles: los valores se fusionarán en un nuevo diccionario de políticas.
+
+      * Si tienen distintos permisos o niveles: se aplicará la política que tenga la mayor prioridad.
+
+      Si una política no está en la lista y se produce un conflicto entre distintos permisos, niveles o fuentes, se aplicará la política con mayor prioridad.</translation>
 <translation id="8266778278542911985">Si se asigna el valor 3 a esta política, los sitios web podrán solicitar acceso a los puertos serie. Si se le asigna el valor 2, se denegará el acceso a los puertos serie.
 
       Si no se le asigna ningún valor, los sitios web podrán solicitar acceso, pero los usuarios podrán cambiar esta opción.</translation>
@@ -5005,6 +5108,9 @@
 
       Si se asigna el valor "True" a esta política o no se le asigna ningún valor, el usuario tendrá acceso root a los contenedores de Crostini.
       Si se le asigna el valor "False", el usuario no tendrá acceso root a los contenedores de Crostini nuevos ni a los ya creados.</translation>
+<translation id="8415953438346821074">Si se habilita esta opción, la configuración almacenada en los perfiles de <ph name="PRODUCT_NAME" /> (como los marcadores, los datos de Autocompletar, las contraseñas, etc.) también se escribirá en un archivo almacenado en la carpeta Itinerancia del perfil de usuario o en una ubicación especificada por el administrador en la política <ph name="ROAMING_PROFILE_LOCATION_POLICY_NAME" />. Al habilitar esta política, se inhabilitará la sincronización en la nube.
+
+      Si se inhabilita esta política o no se le asigna ningún valor, solo se usarán los perfiles locales habituales.</translation>
 <translation id="8417305981081876834">Definir la longitud máxima del PIN para la pantalla de bloqueo</translation>
 <translation id="8417750118762775739">Si se inhabilita la política, las ventanas emergentes destinadas a <ph name="BLANK_PAGE_NAME" /> podrán acceder (mediante JavaScript) a la página que ha solicitado abrir la ventana emergente.
 
@@ -5188,6 +5294,7 @@
        De forma predeterminada, <ph name="PRODUCT_NAME" /> no reproduce automáticamente el contenido multimedia. Sin embargo, en determinados patrones de URL, puedes usar la política <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME" /> para cambiar este ajuste.
 
       Si se realizan cambios en esta política mientras <ph name="PRODUCT_NAME" /> está abierto, solo se aplicarán al abrir pestañas nuevas.</translation>
+<translation id="8685748277907759932">Impide que los usuarios utilicen la función Tocar para buscar</translation>
 <translation id="8687958770985542440">Volver a habilitar la API v0 de componentes web hasta M84.</translation>
 <translation id="8693243869659262736">Utilizar cliente DNS integrado</translation>
 <translation id="8698286761337647563">Número de días de antelación para notificar a los usuarios de SAML que su contraseña está a punto de caducar</translation>
@@ -5281,7 +5388,12 @@
       Cada elemento de la lista de la política es una cadena que contiene un ID de extensión y, opcionalmente, una URL de actualización separados por punto y coma (;). El ID de extensión es la cadena de 32 letras que aparece, por ejemplo, en chrome://extensions cuando está habilitado el modo desarrollador. Si se especifica, la URL de actualización debe dirigir a un documento XML de un archivo de manifiesto de actualización (https://developer.chrome.com/extensions/autoupdate). De forma predeterminada, se utiliza la URL de actualización de Chrome Web Store. La URL de actualización definida en esta política solo se usará en la instalación inicial. Las actualizaciones posteriores de la extensión usarán la URL de actualización indicada en el archivo de manifiesto de la extensión.
 
        Nota: Esta política no se aplica al modo de incógnito. Para obtener más información sobre el alojamiento de extensiones, consulta https://developer.chrome.com/extensions/hosting.</translation>
+<translation id="8832829916385857156">La página Nueva pestaña mostrará tarjetas si hay contenido disponible</translation>
 <translation id="8833109046074170275">Autenticación a través del flujo de GAIA predeterminado</translation>
+<translation id="8834641112681661892">Si se asigna un valor a esta política, se especificará el retraso máximo (en milisegundos) entre la recepción de la invalidación de una política y la obtención de la nueva política desde el servicio de gestión del dispositivo. Los valores válidos están comprendidos entre 1000 (1 segundo) y 300.000 (5 minutos). Cualquier valor fuera de este intervalo se ajustará al límite correspondiente.
+
+      Si no se le asigna ningún valor a esta política, <ph name="PRODUCT_NAME" /> usará el valor predeterminado (10 segundos).</translation>
+<translation id="885147810817138322">Muestra recomendaciones de contenido multimedia al usuario</translation>
 <translation id="8852579753940989645">Habilitar la integridad del código del renderizador</translation>
 <translation id="8854571659927427063">Si se asigna el valor "Habilitada" a esta política, se importarán los marcadores del navegador predeterminado anterior al ejecutarse por primera vez. Si se le asigna el valor "Inhabilitada" o no se le asigna ninguno, no se importará ningún marcador al ejecutarse por primera vez.
 
@@ -5315,6 +5427,7 @@
           Para las cookies de dominios que no coincidan con los patrones indicados, o para todas las cookies si no se define esta política, se usará el valor global predeterminado de la política <ph name="LEGACY_SAMESITE_COOKIE_BEHAVIOR_ENABLED_POLICY_NAME" /> (si se ha definido) o la configuración personal del usuario (si no se ha definido).
 
           Nota: Los patrones que indiques aquí se tratarán como dominios, no como URLs, así que no especifiques esquemas ni puertos.</translation>
+<translation id="8890438048579188548">Oculta las advertencias de desactivación de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8892286064305622118">Espacio disponible en disco necesario para <ph name="PLUGIN_VM_NAME" /></translation>
 <translation id="8904721489610046109">Si se define esta política, se puede habilitar o inhabilitar la limitación de red. Esto significa que se establecerá una limitación en el sistema para alcanzar una determinada velocidad de subida y descarga (en Kbps). Se aplica a todos los usuarios e interfaces del dispositivo.</translation>
 <translation id="8906768759089290519">Habilitar el modo de invitado</translation>
@@ -5462,6 +5575,7 @@
       Si se le asigna un valor a esta política, <ph name="PRODUCT_NAME" /> usa el tamaño de caché indicado aunque el usuario no haya especificado el indicador "--disk-cache-size". (Los valores inferiores a algunos megabytes se redondean).
 
       Si no se le asigna ningún valor, <ph name="PRODUCT_NAME" /> usa el tamaño predeterminado. Los usuarios pueden cambiar el ajuste con el indicador "--disk-cache-size".</translation>
+<translation id="9055866143096316150">Disminuye el nivel de las solicitudes de wake lock de pantalla a solicitudes de wake lock del sistema</translation>
 <translation id="9057444687284972605">Permite definir una lista de patrones de URL que especifican los sitios web para los que se selecciona automáticamente un certificado de cliente en la pantalla de inicio de sesión, en el marco que aloja el flujo SAML (si el sitio web solicita un certificado). Por ejemplo, se puede configurar un certificado que abarque todos los dispositivos para presentarlo al proveedor de identidad SAML.
 
       El valor debe ser un conjunto de diccionarios JSON de tipo string, cada uno con el formato <ph name="AUTO_SELECT_CERTIFICATE_FOR_URLS_EXAMPLE" />, donde <ph name="URL_PATTERN_PLACEHOLDER" /> es un patrón de configuración de contenido. <ph name="FILTER_PLACEHOLDER" /> restringe los certificados de cliente entre los que puede elegir automáticamente el navegador. Independientemente del filtro, solo se seleccionarán los certificados que coincidan con la solicitud de certificado del servidor.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 134d451..037d8c8d 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -77,6 +77,7 @@
       Si elle est définie sur "True", les informations concernant le rétroéclairage de l'appareil sont transmises.</translation>
 <translation id="1076751984131277498">Liste d'autorisation des appareils USB amovibles</translation>
 <translation id="1079801999187584280">Interdire l'utilisation des outils pour les développeurs</translation>
+<translation id="1082802595100075771">Laisser les utilisateurs choisir s'ils veulent employer un service Google anonyme pour qu'une description soit ajoutée automatiquement aux images sans libellé</translation>
 <translation id="1087437665304381368">Cette règle permet de ne contrôler que le mode développeur <ph name="PRODUCT_OS_NAME" />. Si vous voulez bloquer l'accès aux options pour les développeurs Android, vous devez définir la règle <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" />.</translation>
 <translation id="1087707496788636333">La liste des règles Chrome Enterprise a changé d'adresse ! Pensez à mettre à jour vos favoris. Le lien correct est le suivant : <ph name="POLICY_DOCUMENTATION_URL" />.</translation>
 <translation id="1093082332347834239">Si ce paramètre est activé, l'hôte d'assistance à distance est exécuté dans un processus avec des autorisations <ph name="UIACCESS_PERMISSION_NAME" />. Cela permet aux utilisateurs distants d'interagir avec des fenêtres élevées sur le bureau de l'utilisateur local.
@@ -135,6 +136,7 @@
 <translation id="1198183996903759302">Si cette règle est définie sur "True" (ou que la règle <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME" /> est définie sur "False") les pages Web ne peuvent pas accéder à l'API WebGL, et les plug-ins ne peuvent pas utiliser l'API Pepper 3D.
 
       Si cette règle est définie sur "False" ou qu'elle n'est pas configurée, les pages Web peuvent accéder à l'API WebGL, et les plug-ins peuvent utiliser l'API Pepper 3D. Toutefois, il peut quand même être nécessaire d'ajouter des arguments de ligne de commande aux paramètres par défaut du navigateur pour utiliser ces API.</translation>
+<translation id="1202216683470826356">Afficher les fiches sur la page Nouvel onglet</translation>
 <translation id="1204263402976895730">Imprimantes d'entreprise activées</translation>
 <translation id="120937472976628837">Transmettre des infos sur le ventilateur</translation>
 <translation id="1216919699175573511">Activer la compatibilité avec la fonctionnalité Signed HTTP Exchange (SXG)</translation>
@@ -172,6 +174,13 @@
 <translation id="1257550411839719984">Définir le répertoire de téléchargement par défaut</translation>
 <translation id="1265053460044691532">Limiter la durée pendant laquelle un utilisateur authentifié via SAML peut se connecter hors connexion</translation>
 <translation id="127264587838521316">Autorise les demandes d'installation d'extension de <ph name="PRODUCT_NAME" /></translation>
+<translation id="127699919157094139">Cette règle permet de désactiver la synchronisation des données dans <ph name="PRODUCT_NAME" /> à l'aide des services de synchronisation hébergés par Google et d'empêcher les utilisateurs de modifier ce paramètre.
+
+      Si vous activez ce paramètre, les utilisateurs ne peuvent pas le modifier ni l'ignorer dans <ph name="PRODUCT_NAME" />.
+
+      Si cette règle n'est pas configurée, l'utilisateur peut choisir d'utiliser ou non le service Google Sync.
+
+      Pour désactiver entièrement Google Sync, nous vous conseillons de le faire dans la Console d'administration Google.</translation>
 <translation id="1290634681382861275">Contrôle divers paramètres de type USB, Bluetooth, actualisation des stratégies, mode développeur et plus encore.</translation>
 <translation id="1291880496936992484">Avertissement : RC4 sera intégralement supprimé de <ph name="PRODUCT_NAME" /> après la version 52 (autour de septembre 2016) et cette règle ne sera plus valable.
 
@@ -189,6 +198,9 @@
 <translation id="1309465583050255779">Si la règle <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> est activée, la règle <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> vous permet de spécifier le nom du moteur de recherche par défaut.
 
       Si la règle <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> n'est pas configurée, le nom d'hôte indiqué par l'URL de recherche est utilisé.</translation>
+<translation id="1310052497030002740">Si cette règle est activée, <ph name="PRODUCT_NAME" /> tente de s'inscrire à la <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />. Elle a pour valeur un jeton d'inscription que vous pouvez récupérer dans la <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />.
+
+      Pour en savoir plus, rendez-vous sur https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744.</translation>
 <translation id="1312799700549720683">Contrôle les paramètres d'affichage.</translation>
 <translation id="131353325527891113">Afficher les noms d'utilisateur sur l'écran de connexion</translation>
 <translation id="1327466551276625742">Activer l'invite de configuration réseau lorsque l'utilisateur n'est pas connecté</translation>
@@ -299,6 +311,7 @@
       Si cette règle est définie sur "False" ou qu'elle n'est pas configurée, les extensions ne peuvent pas utiliser cette API.
 
       Remarque : Cette règle s'applique également aux extensions de composant telles que l'extension Hangout Services.</translation>
+<translation id="148194404518916594">Autoriser les utilisateurs à employer la fonctionnalité Appuyer pour rechercher</translation>
 <translation id="1486021504508098388">Transmettre les informations concernant le rétroéclairage</translation>
 <translation id="1487916040416013623">Permet de spécifier les serveurs autorisés pour l'authentification intégrée qui n'est activée que lorsque <ph name="PRODUCT_NAME" /> reçoit une demande d'authentification d'un proxy ou d'un serveur figurant sur la liste des serveurs autorisés.
 
@@ -417,6 +430,8 @@
       Si vous définissez cette règle, les utilisateurs n'ont pas la possibilité de la modifier ni de l'ignorer.</translation>
 <translation id="1617235075406854669">Activer la suppression de l'historique du navigateur et de l'historique des téléchargements</translation>
 <translation id="1620510694547887537">Caméra</translation>
+<translation id="1626379196197114720">Autoriser l'utilisation du cache amélioré</translation>
+<translation id="1628974048137236820">Fiches non affichées sur la page Nouvel onglet</translation>
 <translation id="163200210584085447">Les formats de cette liste seront mis en correspondance avec la source
       de sécurité de l'URL à l'origine de la demande. En cas de correspondance,
       l'accès aux appareils de capture vidéo est autorisé sur les pages de
@@ -514,6 +529,7 @@
       à ignorer les règles non compatibles.</translation>
 <translation id="1843117931376765605">Fréquence d'actualisation des règles relatives aux utilisateurs</translation>
 <translation id="1844620919405873871">Permet de configurer les règles associées au déverrouillage rapide.</translation>
+<translation id="1844972978764975668">Autoriser l'envoi de requêtes à un serveur Google visant à récupérer un horodatage précis</translation>
 <translation id="1845405905602899692">Paramètres de kiosque</translation>
 <translation id="1845429996559814839">Limiter le mode d'impression par code</translation>
 <translation id="1847960418907100918">Spécifie les paramètres utilisés pour la recherche instantanée avec POST. Il s'agit de paires de noms et de valeurs séparées par une virgule. Si une valeur est équivalente à un paramètre modèle, comme "{searchTerms}" dans l'exemple ci-dessus, elle est remplacée par des termes de recherche réels.
@@ -657,6 +673,7 @@
 <translation id="2077129598763517140">Utiliser l'accélération matérielle si disponible</translation>
 <translation id="2077273864382355561">Délai d'arrêt de l'écran (batterie)</translation>
 <translation id="2082205219176343977">Configurer la version Chrome minimale autorisée de l'appareil.</translation>
+<translation id="208623333578980446">Autoriser les wakelocks forçant l'activation de l'écran pour la gestion de l'alimentation</translation>
 <translation id="209586405398070749">Version stable</translation>
 <translation id="2098658257603918882">Autoriser l'envoi de statistiques d'utilisation et de rapports d'erreur</translation>
 <translation id="2104418465060359056">Enregistrer les informations des extensions et des plug-ins</translation>
@@ -826,6 +843,7 @@
       Si elle est définie sur "Fast", <ph name="PRODUCT_NAME" /> évite la rastérisation autant que possible, ce qui permet de réduire la taille des tâches d'impression et d'augmenter la vitesse d'impression.
 
       Si cette règle n'est pas définie, <ph name="PRODUCT_NAME" /> fonctionne en mode "Full".</translation>
+<translation id="2337859888277013371">Ne pas autoriser l'utilisation du cache amélioré</translation>
 <translation id="2345547870894930157">Activer DNS-over-HTTPS sans solution de secours à risque</translation>
 <translation id="2349117476121456297">Si vous définissez cette règle sur "True", les touches de la première rangée du clavier deviennent des touches de fonction. Le comportement d'origine des touches multimédias est rétabli en appuyant sur la touche de recherche.
 
@@ -852,6 +870,9 @@
       Les formats d'URL ne doivent pas entrer en conflit avec ceux de la règle <ph name="FILE_SYSTEM_READ_BLOCKED_FOR_URLS_POLICY_NAME" />. Aucune règle ne prévaut si un format d'URL est répertorié dans les deux règles.
 
       Pour en savoir plus sur les formats d'<ph name="URL_LABEL" /> valides, veuillez consulter la page https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.</translation>
+<translation id="2384233438419344179">Si cette règle est activée, les éléments de page Web qui ne font pas partie du domaine indiqué dans la barre d'adresse du navigateur ne peuvent pas placer de cookies. Si cette règle est désactivée, ces éléments sont autorisés à placer des cookies, et les utilisateurs ne peuvent pas modifier ce paramètre.
+
+      Si cette règle n'est pas configurée, les cookies tiers sont activés. Toutefois, les utilisateurs peuvent modifier ce paramètre.</translation>
 <translation id="2386362615870139244">Autoriser les WakeLock forçant l'activation de l'écran</translation>
 <translation id="2394674739523870144">Si cette règle est définie sur une liste de chaînes, celles-ci sont reliées par des espaces avant d'être transmises entre <ph name="IE_PRODUCT_NAME" /> et <ph name="PRODUCT_NAME" /> comme paramètres de ligne de commande. Si un paramètre contient <ph name="URL_PLACEHOLDER" />, l'URL <ph name="URL_PLACEHOLDER" /> est remplacée par l'URL de la page à ouvrir. Si aucun paramètre ne contient l'URL <ph name="URL_PLACEHOLDER" />, elle est ajoutée à la fin de la ligne de commande.
 
@@ -921,6 +942,7 @@
        Si cette règle n'est pas configurée, les statistiques et les données de diagnostic ne sont pas envoyées concernant les appareils non gérés, mais le sont pour les appareils gérés.</translation>
 <translation id="2454228136871844693">Privilégier la stabilité.</translation>
 <translation id="2455033019778127130">Utiliser le comportement par défaut du navigateur, afficher les conditions d'utilisation et attendre que l'utilisateur les accepte.</translation>
+<translation id="2460238670327375238">Autoriser les cookies tiers, mais permettre aux utilisateurs de modifier ce paramètre</translation>
 <translation id="2463034609187171371">Activer des suites de chiffrement DHE dans TLS</translation>
 <translation id="2463365186486772703">Paramètres régionaux de l'application</translation>
 <translation id="2463832514638083341">Cette règle contrôle la durée (en jours) pendant laquelle les métadonnées des tâches d'impression sont conservées sur l'appareil.
@@ -932,6 +954,7 @@
       La valeur de cette règle doit être indiquée en jours.</translation>
 <translation id="2466131534462628618">L'authentification de portail captif ignore le proxy</translation>
 <translation id="247658312644322296">Destination "Enregistrer au format PDF"</translation>
+<translation id="2478756867046106663">Autoriser les sites aux expériences abusives à ouvrir de nouvelles fenêtres ou de nouveaux onglets</translation>
 <translation id="2480971699591919564">Cette règle active la fonctionnalité Click to Call, qui autorise les utilisateurs à envoyer des numéros de téléphone depuis leur ordinateur équipé de Chrome vers un appareil Android lorsqu'ils sont connectés. Pour plus d'informations, consultez cet article du centre d'aide : https://support.google.com/chrome/answer/9430554?hl=fr.
 
       Si cette règle est activée, la fonctionnalité permettant d'envoyer des numéros de téléphone vers des appareils Android sera activée pour l'utilisateur Chrome.
@@ -1032,6 +1055,7 @@
 
       Si cette règle n'est pas définie, l'utilisateur peut décider s'il veut ou non utiliser la fonctionnalité de proxy pour la compression de données.</translation>
 <translation id="257788512393330403">La saisie du mot de passe est requise toutes les six heures</translation>
+<translation id="2586117300379904732">Autoriser les wakelocks pour la gestion de l'alimentation</translation>
 <translation id="2587719089023392205">Définir <ph name="PRODUCT_NAME" /> comme navigateur par défaut</translation>
 <translation id="2588252329503406673">Cette règle vous permet de configurer le comportement de <ph name="PRODUCT_OS_NAME" /> lorsque l'utilisateur reste inactif pendant un certain temps quand l'écran de connexion est affiché. Elle contrôle de nombreux paramètres. Pour connaître la signification et les plages de valeurs de ces paramètres, consultez les règles correspondantes qui contrôlent la gestion de l'alimentation au cours d'une session.
 
@@ -1872,6 +1896,11 @@
 <translation id="3816312845600780067">Activer le raccourci clavier permettant d'ignorer le processus de connexion automatique</translation>
 <translation id="3817323252437541502">Activer les protections supplémentaires pour les utilisateurs inscrits au Programme Protection Avancée</translation>
 <translation id="3821861026311587684">Forcer la déconnexion de l'utilisateur lorsque son compte n'est plus authentifié</translation>
+<translation id="3823381379309653965">Cette règle permet d'indiquer, en millisecondes, la fréquence à laquelle le service de gestion des appareils est interrogé en vue d'obtenir des informations sur les règles relatives aux appareils. Les valeurs valides sont comprises entre 1 800 000 (30 minutes) et 86,4 millions (1 jour). Toute valeur en dehors de cette plage sera remplacée par la valeur minimale ou maximale la plus proche autorisée.
+
+      Si cette règle n'est pas configurée, <ph name="PRODUCT_OS_NAME" /> utilise la valeur par défaut (3 heures).
+
+      Remarque : Pour éviter toute actualisation inutile, chaque fois qu'une règle est modifiée, une actualisation est effectuée de façon forcée pour signaler ce changement. Si la plate-forme accepte les notifications relatives aux règles, le délai d'actualisation est de 24 heures (et toutes les valeurs par défaut ainsi que celle de cette règle sont ignorées).</translation>
 <translation id="382476126209906314">Configurer le préfixe TalkGadget pour les hôtes d'accès à distance</translation>
 <translation id="3824972131618513497">Paramètres de commande de la gestion de l'alimentation et du redémarrage.</translation>
 <translation id="3825873934240606959">Empêcher la détection des appareils en local</translation>
@@ -2002,6 +2031,7 @@
 <translation id="3956686688560604829">Utiliser la règle SiteList d'Internet Explorer pour Legacy Browser Support.</translation>
 <translation id="3958586912393694012">Autoriser l'utilisation de Smart Lock</translation>
 <translation id="3962445567482559878">Utiliser le mode EDU du processus de prise en main de l'Assistant</translation>
+<translation id="396261881101930204">Ne pas proposer de recommandations de contenus multimédias à l'utilisateur</translation>
 <translation id="3963602271515417124">Si cette règle est définie sur "True", l'attestation à distance est autorisée pour l'appareil, et un certificat est automatiquement généré et importé sur le serveur de gestion des appareils.
 
           Si la règle est définie sur "False", ou si vous ne l'avez pas définie, aucun certificat n'est généré et les appels vers l'API d'extension enterprise.platformKeys échouent.</translation>
@@ -2094,6 +2124,7 @@
       Cette règle ne concerne que les utilisateurs qui s'authentifient avec SAML.</translation>
 <translation id="4105989332710272578">Désactiver l'application des règles de transparence des certificats pour une liste d'URL</translation>
 <translation id="4121350739760194865">Empêcher les promotions pour des applications de s'afficher sur la page Nouvel onglet</translation>
+<translation id="4122473079291425973">Fiches affichées sur la page Nouvel onglet si du contenu est disponible, avec toutefois la possibilité pour l'utilisateur de modifier ce paramètre</translation>
 <translation id="412697421478384751">Autoriser les utilisateurs à définir des codes ayant un niveau de sécurité faible pour le code de l'écran de verrouillage</translation>
 <translation id="4138655880188755661">Période limite</translation>
 <translation id="4147818922357566987">Activer uniquement les variantes concernant les correctifs critiques</translation>
@@ -2593,6 +2624,15 @@
 
       Si cette règle est désactivée, <ph name="PRODUCT_NAME" /> cesse d'envoyer ces requêtes.</translation>
 <translation id="504116558738617678">N'afficher des avertissements de type "espace disque insuffisant" que si l'appareil n'est pas géré ou s'il n'a qu'un seul utilisateur</translation>
+<translation id="5052278640307929670">Cette règle permet de fusionner les règles sélectionnées lorsqu'elles proviennent de sources différentes, et si le niveau et les champs d'application sont les mêmes.
+
+      Si une règle figure dans la liste et qu'il y a conflit entre deux sources :
+
+      * les valeurs sont fusionnées dans une nouvelle liste de règles si le niveau et les champs d'application sont les mêmes ;
+
+      * la règle ayant la plus haute priorité s'applique si le niveau ou les champs d'application diffèrent.
+
+      Si une règle ne figure pas dans la liste et qu'il y a conflit entre plusieurs sources, champs d'application ou niveaux, la règle ayant la plus haute priorité s'applique.</translation>
 <translation id="5056708224511062314">Loupe désactivée</translation>
 <translation id="5058573563327660283">Sélectionner la stratégie utilisée pour libérer de l'espace disque au cours du nettoyage automatique (obsolète)</translation>
 <translation id="5061114193960158745">Permet d'établir la liste des sites Web qui ne déclencheront jamais de changement de navigateur. Chaque élément est traité comme une instruction. Les instructions pour lesquelles il y a une correspondance ne déclenchent pas l'ouverture d'un navigateur secondaire. Contrairement à la règle <ph name="URL_LIST_POLICY_NAME" />, les instructions s'appliquent dans les deux sens. Lorsque le module complémentaire d'<ph name="IE_PRODUCT_NAME" /> est activé, il contrôle également si <ph name="IE_PRODUCT_NAME" /> doit ouvrir ou non ces URL dans <ph name="PRODUCT_NAME" />.
@@ -2962,6 +3002,14 @@
       Si cette règle est définie sur "False", <ph name="PRODUCT_NAME" /> ne peut pas présenter ces informations dans ce mode.
 
       Cette règle permet de contrôler la présentation des pages de bienvenue qui aident les utilisateurs à se connecter à <ph name="PRODUCT_NAME" />, de définir <ph name="PRODUCT_NAME" /> comme leur navigateur par défaut ou de les informer des fonctionnalités du produit.</translation>
+<translation id="544654037134815017">Cette règle permet d'afficher ou non des fiches sur la page Nouvel onglet. Ces fiches offrent des points d'accès pour lancer le parcours courant de l'utilisateur en fonction des habitudes de navigation de celui-ci.
+
+      Si cette règle est activée, les fiches sont affichées sur la page Nouvel onglet à condition que du contenu soit disponible.
+
+      Si cette règle est désactivée, les fiches ne sont pas affichées sur la page Nouvel onglet.
+
+      Si cette règle n'est pas configurée, l'utilisateur peut contrôler l'affichage des fiches. Par défaut, les fiches sont affichées.
+      </translation>
 <translation id="5457065417344056871">Activer le mode Invité dans le navigateur</translation>
 <translation id="5457387982448145430">Si cette règle est activée, les mots de passe enregistrés dans le précédent navigateur par défaut sont importés lors de la première exécution. Si cette règle est désactivée ou qu'elle n'est pas configurée, les mots de passe enregistrés ne sont pas importés lors de la première exécution.
 
@@ -2969,6 +3017,7 @@
 <translation id="5457924070961220141">Permet de configurer le moteur de rendu HTML par défaut lorsque <ph name="PRODUCT_FRAME_NAME" /> est installé. 
 
 Lorsque cette règle n'est pas configurée, le paramètre par défaut utilisé consiste à permettre au navigateur d'accueil d'effectuer le rendu. Mais vous avez la possibilité de remplacer ce paramètre et de demander que les pages HTML soient affichées par <ph name="PRODUCT_FRAME_NAME" /> par défaut.</translation>
+<translation id="5460797984317417682">Activer l'affichage de l'alerte plein écran</translation>
 <translation id="5464816904705580310">Configurer les paramètres des utilisateurs gérés</translation>
 <translation id="5466596281866046569">Transmettre des informations sur les applications</translation>
 <translation id="546726650689747237">Délai d'assombrissement de l'écran (secteur)</translation>
@@ -3278,6 +3327,11 @@
 <translation id="5946329690214660966">Planifier de manière personnalisée la recherche de mises à jour</translation>
 <translation id="5951418260805607969">Afficher une notification lorsque l'espace disque est faible</translation>
 <translation id="5958746038080720143">Activer l'optimisation WPAD (Web Proxy Auto-Discovery, découverte automatique du proxy)</translation>
+<translation id="5959428851851090097">Si cette règle est activée, les règles relatives au cloud prévalent en cas de conflit avec celles relatives aux plates-formes.
+
+      Si cette règle est désactivée ou qu'elle n'est pas configurée, les règles relatives aux plates-formes prévalent en cas de conflit avec celles relatives au cloud.
+
+      Cette règle obligatoire a une incidence sur les règles relatives au cloud s'appliquant aux machines.</translation>
 <translation id="5961137303188584693">Adresse MAC de la carte d'interface réseau intégrée de l'appareil</translation>
 <translation id="5966615072639944554">Extensions autorisées à utiliser l'API d'attestation à distance</translation>
 <translation id="5975765799383881158">Si cette règle est activée ou qu'elle n'est pas configurée, les utilisateurs peuvent envoyer des commentaires à Google en sélectionnant Menu &gt; Aide &gt; Signaler un problème, ou via un raccourci clavier.
@@ -3371,6 +3425,8 @@
 
       Le format d'une URL doit respecter les conditions indiquées sur la page https://www.chromium.org/administrators/url-blacklist-filter-format. Toutefois, la validité des certificats pour un nom d'hôte donné étant indépendante du schéma, du port ou du chemin d'accès, <ph name="PRODUCT_NAME" /> ne prend en compte que la partie du nom d'hôte de l'URL. Les hôtes génériques ne sont pas acceptés.</translation>
 <translation id="6111936128861357925">Autoriser le jeu Easter Egg du dinosaure</translation>
+<translation id="6123052603197028610">Ne pas autoriser l'envoi de requêtes aux serveurs Google visant à récupérer les horodatages</translation>
+<translation id="6132506775968708399">Bloquer les cookies tiers</translation>
 <translation id="6133088669883929098">Autoriser tous les sites à utiliser la génération de clé</translation>
 <translation id="6135398260575578389">La navigation sécurisée est active et en mode de protection renforcée. Ce mode offre une meilleure sécurité, mais nécessite de partager plus d'informations de navigation avec Google.</translation>
 <translation id="6138636318340561140">Vérifier en temps réel l'état de la navigation sécurisée pour les URL</translation>
@@ -3383,6 +3439,11 @@
       Sinon, les adresses IP locales sont masquées avec les noms d'hôte mDNS.
       Veuillez noter que cette règle affaiblit la protection des adresses IP locales, dans le cas où celle-ci serait requise par les administrateurs.</translation>
 <translation id="614662973812186053">Cette règle permet également de contrôler la collecte des données d'utilisation et de diagnostic sur les appareils Android.</translation>
+<translation id="6148540081388423836">Si cette règle est activée, l'inscription à la <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> est obligatoire. En cas d'échec, le processus de lancement de <ph name="PRODUCT_NAME" /> est bloqué.
+
+      Si cette règle est désactivée ou qu'elle n'est pas configurée, l'inscription à la <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> est facultative. En cas d'échec, le processus de lancement de <ph name="PRODUCT_NAME" /> n'est pas bloqué.
+
+      Cette règle est utilisée pour l'activation de celles relatives au cloud s'appliquant aux machines (pour les ordinateurs de bureau). Pour en savoir plus, rendez-vous sur https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744.</translation>
 <translation id="6155350825868160236">Autoriser l'utilisateur à choisir si des services Web Google peuvent être utilisés pour corriger les fautes d'orthographe</translation>
 <translation id="6155936611791017817">Définir l'état par défaut du grand curseur sur l'écran de connexion</translation>
 <translation id="6157537876488211233">Liste de règles de contournement de proxy séparées par des virgules</translation>
@@ -3458,6 +3519,7 @@
       Chaque élément de la règle correspond à une chaîne constituée d'un ID d'extension et éventuellement d'une URL de mise à jour séparés par un point-virgule (<ph name="SEMICOLON" />). L'ID d'extension est la chaîne de 32 lettres qui se trouve, par exemple, dans <ph name="CHROME_EXTENSIONS_LINK" /> en mode développeur. Lorsqu'elle est indiquée, l'URL de mise à jour doit renvoyer à un fichier manifeste au format XML, comme décrit sur la page <ph name="LINK_TO_EXTENSION_DOC1" />. Par défaut, l'URL de mise à jour du Chrome Web Store est utilisée (il s'agit actuellement de "https://clients2.google.com/service/update2/crx"). Sachez que l'URL de mise à jour spécifiée dans cette règle n'est utilisée que pour l'installation initiale. Toute mise à jour ultérieure de l'extension est effectuée avec l'URL indiquée dans le fichier manifeste de l'extension.
 
       Par exemple, <ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" /> installe l'application <ph name="SMART_CARD_CONNECTOR_APP_NAME" /> à partir de l'URL de mise à jour standard du Chrome Web Store. Pour en savoir plus sur l'hébergement des extensions, consultez la page <ph name="LINK_TO_EXTENSION_DOC2" />.</translation>
+<translation id="6275497712828649588">Masquer les avertissements de sécurité lorsque des options de ligne de commande potentiellement dangereuses sont utilisées</translation>
 <translation id="6275833043726517413">Permet d'utiliser l'ancienne mise en œuvre de <ph name="CORS" /> au lieu de la nouvelle mise en œuvre de <ph name="CORS" />.
 
       Si cette règle est définie sur "True", l'ancienne mise en œuvre doit être compatible avec les versions précédentes.
@@ -3477,6 +3539,7 @@
 
       Remarque : La validité des mots de passe peut dépasser le délai spécifié en cas de mise hors connexion du client pendant une période plus longue.</translation>
 <translation id="6281043242780654992">Cette règle permet de configurer le comportement de la messagerie native. Les hôtes de messagerie native qui figurent sur la liste noire ne sont pas autorisés tant qu'ils n'ont pas été ajoutés à la liste blanche.</translation>
+<translation id="6282524907402492171">Afficher les avertissements liés à l'abandon de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="6282799760374509080">Autoriser ou interdire la capture audio</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
 <translation id="6310223829319187614">Activer la saisie automatique du nom de domaine lors de la connexion de l'utilisateur</translation>
@@ -3487,6 +3550,15 @@
 <translation id="631183702829488873">Lorsque cette règle est activée, elle permet d'afficher le mot de passe via un clic sur un bouton situé sur l'écran de connexion et de verrouillage.
           Son icône représente un œil et se trouve dans le champ du mot de passe. Le bouton n'est pas affiché lorsque cette fonctionnalité est désactivée.
       </translation>
+<translation id="6313170479290171718">Cette règle est obsolète (veuillez utiliser la règle <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> à la place).
+
+      Définissez cette règle sur "True" pour activer le clavier virtuel sur l'écran de connexion. Définissez-la sur "False" pour désactiver le clavier virtuel sur l'écran de connexion.
+
+      Si vous configurez cette règle, les utilisateurs peuvent temporairement activer ou désactiver le clavier virtuel. Lorsque l'écran de connexion s'actualise ou qu'il reste inactif pendant une minute, il revient à son état d'origine.
+
+      Si cette règle n'est pas configurée, le clavier virtuel est désactivé sur l'écran de connexion. Toutefois, les utilisateurs peuvent l'activer à tout moment. Dans ce cas, son état reste activé d'un utilisateur à l'autre.
+
+      Remarque : <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> remplace cette règle si l'ancienne est définie.</translation>
 <translation id="6319198883324703402">Définir l'heure de la première notification de redémarrage adressée à l'utilisateur</translation>
 <translation id="6330882599388782338">Autoriser les sites à accéder aux capteurs</translation>
 <translation id="6331167725613770725">Cette règle étant obsolète, elle sera supprimée dans la version 85 de <ph name="PRODUCT_OS_NAME" />. (Veuillez utiliser la règle <ph name="POWER_MANAGEMENT_IDLE_SETTINGS_POLICY_NAME" />.)
@@ -3639,6 +3711,7 @@
 
       Si cette règle n'est pas configurée, ou qu'elle est définie sur "Choix laissé aux utilisateurs" ou "Aucun", les utilisateurs peuvent gérer la détection automatique du fuseau horaire à l'aide des commandes classiques disponibles dans chrome://settings.</translation>
 <translation id="6532769014584932288">Autoriser les wakelocks</translation>
+<translation id="6536444379078076149">Activer ou désactiver l'affichage de l'interface utilisateur liée à la connexion sur le bureau hôte lorsqu'une connexion est active</translation>
 <translation id="6536600139108165863">Redémarrer automatiquement à l'arrêt de l'appareil</translation>
 <translation id="6539246272469751178">Cette règle n'a aucun effet sur les applications Android. Celles-ci se servent toujours du répertoire de téléchargements par défaut. Elles ne peuvent pas accéder aux fichiers téléchargés par <ph name="PRODUCT_OS_NAME" /> dans un autre répertoire de téléchargements.</translation>
 <translation id="654303922206238013">Stratégie de migration pour eCryptfs</translation>
@@ -3702,6 +3775,7 @@
 
       Pour les appareils gérés par Active Directory, cette règle permet l'expansion de <ph name="MACHINE_NAME_VARIABLE" /> en fonction du nom de machine Active Directory ou de l'une de ses sous-chaînes. Par exemple, si le nom de machine est <ph name="MACHINE_NAME_EXAMPLE" />, alors <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" /> est remplacé par les quatre caractères suivant la sixième position, soit <ph name="MACHINE_NAME_PART_EXAMPLE" />. Notez que la numérotation des positions commence à zéro.
       </translation>
+<translation id="6584541828182430328">Désactiver l'affichage de l'alerte plein écran</translation>
 <translation id="6588522781970773591">Permet de contrôler les paramètres de gestion des extensions pour <ph name="PRODUCT_NAME" />, y compris ceux contrôlés par des règles existantes liées aux extensions. Cette règle remplace toutes les anciennes susceptibles d'être définies.
 
       Elle fait correspondre un ID d'extension ou une URL de mise à jour uniquement avec sa configuration spécifique. Une configuration par défaut peut être définie pour l'ID spécial <ph name="DEFAULT_SCOPE" />, lequel s'applique à toutes les extensions pour lesquelles aucune configuration personnalisée n'est définie dans cette règle. Avec une URL de mise à jour, la configuration s'applique aux extensions avec l'URL de mise à jour telle qu'elle est indiquée dans le fichier manifeste de ces extensions (pour en savoir plus, consultez la page http://support.google.com/chrome/a?p=Configure_ExtensionSettings_policy).
@@ -4329,6 +4403,7 @@
 <translation id="7448430478749155471">Activer la fonctionnalité Sélectionner pour prononcer sur l'écran de connexion</translation>
 <translation id="7458437477941640506">Ne rétablissez pas la version cible si elle est antérieure à la version de l'OS. Les mises à jour seront également désactivées.</translation>
 <translation id="7459601923199346224">Configure les règles au niveau de l'utilisateur et de l'appareil dans le cadre de la gestion des certificats.</translation>
+<translation id="7459633275230216698">Autoriser l'affichage de boîtes de dialogue de sélection de fichiers</translation>
 <translation id="7464991223784276288">Limiter les cookies des URL correspondantes à la session en cours</translation>
 <translation id="7468182772656807573">Permet de spécifier la fréquence d'envoi (en millisecondes) des paquets réseau de contrôle. Cette fréquence peut être comprise entre 30 secondes et 24 heures. Toute valeur en dehors de cette plage sera remplacée par la valeur minimale ou maximale la plus proche autorisée.
 
@@ -4385,6 +4460,9 @@
       Si cette règle est définie sur "True" et si le dispositif DTC de Wilco est disponible sur l'appareil, la collecte, le traitement et l'envoi des données de télémétrie et de diagnostic sont activés.</translation>
 <translation id="7519251620064708155">Autoriser la génération de clé sur ces sites</translation>
 <translation id="7529144158022474049">Facteur de dispersion des mises à jour automatiques</translation>
+<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.
@@ -4392,6 +4470,7 @@
       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>
 <translation id="7547549430720182663">Fusionner</translation>
 <translation id="7553535237300701827">Lorsque cette règle est définie, l'authentification s'effectue de l'une des deux façons suivantes, selon la valeur du paramètre :
 
@@ -4483,6 +4562,7 @@
 <translation id="7643883929273267746">Limiter les comptes visibles dans <ph name="PRODUCT_NAME" /></translation>
 <translation id="7648907905084499629">Utiliser le comportement <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" /> pour les cookies sur tous les sites</translation>
 <translation id="7657261947024629645">Privilégier les performances.</translation>
+<translation id="7666228839913571182">Autoriser les cookies tiers</translation>
 <translation id="7668830462800981702">Si cette règle est activée et que l'utilisateur saisit autre chose qu'une URL dans la barre d'adresse, une recherche est alors lancée par défaut. Pour spécifier le moteur de recherche par défaut, définissez le reste des règles de recherche par défaut. Si vous ne configurez pas ces règles, l'utilisateur peut choisir le moteur par défaut. Si cette règle est désactivée et que l'utilisateur saisit autre chose qu'une URL dans la barre d'adresse, aucune recherche n'est lancée.
 
       Si vous configurez cette règle, les utilisateurs ne peuvent pas la modifier dans <ph name="PRODUCT_NAME" />. Si cette règle n'est pas configurée, le moteur de recherche par défaut est activé, et les utilisateurs peuvent configurer la liste des moteurs de recherche.
@@ -4528,6 +4608,8 @@
 
       Remarque : Pour le moment, les redémarrages automatiques ne sont activés que lorsque l'écran de connexion est affiché ou qu'une session d'application kiosque est en cours. Ce fonctionnement va changer prochainement : la règle s'appliquera toujours, qu'une session de n'importe quel type soit en cours ou non.</translation>
 <translation id="7701341006446125684">Régler la taille du cache pour les applications et les extensions (en octets)</translation>
+<translation id="7703737669292992839">Empêcher l'affichage de boîtes de dialogue de sélection de fichiers</translation>
+<translation id="7709470712369261710">Ne pas utiliser les services Google pour qu'une description soit ajoutée automatiquement aux images</translation>
 <translation id="7710950688502974809">Liste des services des connecteurs Chrome Enterprise à appliquer au connecteur Enterprise <ph name="ON_BULK_DATA_ENTRY_ENTERPRISE_CONNECTOR" />, qui se déclenche lorsque des données sont collées dans Chrome depuis le presse-papiers ou lorsque du contenu Web est ajouté par glisser-déposer.
 
       Les champs <ph name="ENTERPRISE_CONNECTOR_URL_LIST_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_TAGS_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_ENABLE_FIELD" /> et <ph name="ENTERPRISE_CONNECTOR_DISABLE_FIELD" /> permettent de déterminer si le connecteur doit envoyer des données en vue d'une analyse lorsque celles-ci sont saisies dans une page spécifique, ainsi que les tags à inclure dans la demande d'analyse de ces données. Un tag correspondant à un format "enable" sera inclus dans la demande d'analyse si l'URL de la page suit un format associé à ce tag, à condition qu'aucun format "disable" associé à ce même tag ne corresponde à l'URL de la page. L'analyse a lieu si au moins un tag doit être inclus dans la demande.
@@ -4571,6 +4653,11 @@
       Si cette règle est désactivée, les utilisateurs ne peuvent pas passer les pages d'avertissement.</translation>
 <translation id="7750991880413385988">Ouvrir la page Nouvel onglet</translation>
 <translation id="7754704193130578113">Toujours demander où enregistrer les fichiers</translation>
+<translation id="7754893969683595513">Cette règle permet d'indiquer, en millisecondes, la fréquence à laquelle le service de gestion des appareils est interrogé en vue d'obtenir des informations sur les règles relatives aux utilisateurs. Les valeurs valides sont comprises entre 1 800 000 (30 minutes) et 86,4 millions (1 jour). Toute valeur en dehors de cette plage sera remplacée par la valeur minimale ou maximale la plus proche autorisée.
+
+      Si cette règle n'est pas configurée, la valeur par défaut (3 heures) est utilisée.
+
+      Remarque : Pour éviter toute actualisation inutile, chaque fois qu'une règle est modifiée, une actualisation est effectuée de façon forcée pour signaler ce changement. Si la plate-forme accepte les notifications relatives aux règles, le délai d'actualisation est de 24 heures (et toutes les valeurs par défaut ainsi que celle de cette règle sont ignorées).</translation>
 <translation id="7758378441185523981">Activer l'authentification ambiante en fonction du type de profil.</translation>
 <translation id="776110834126722255">Obsolète</translation>
 <translation id="7763614521440615342">Afficher des recommandations de contenus sur la page "Nouvel onglet"</translation>
@@ -4661,6 +4748,7 @@
 
       Si cette règle est désactivée ou qu'elle n'est pas configurée, la recherche du CNAME détermine le nom canonique du serveur lors de la génération du SPN Kerberos.</translation>
 <translation id="7912255076272890813">Configurer les types d'applications ou d'extensions autorisés</translation>
+<translation id="791267408364877739">Afficher les avertissements de sécurité lorsque des options de ligne de commande potentiellement dangereuses sont utilisées</translation>
 <translation id="7922358664346625612">Laisser le dernier onglet ouvert dans Chrome.</translation>
 <translation id="793134539373873765">Indiquer si une connexion P2P doit être utilisée pour les charges utiles de mise à jour de l'OS. Si le paramètre est défini sur "True", les charges utiles de mise à jour sur le réseau local sont partagées et utilisées par les appareils, ce qui peut avoir pour effet de réduire la quantité de bande passante utilisée et l'encombrement sur Internet. Si la charge utile de mise à jour n'est pas disponible sur le réseau local, le téléchargement est effectué sur l'appareil à partir d'un serveur de mise à jour. Si le paramètre est défini sur "False", ou s'il n'est pas configuré, la connexion P2P n'est pas utilisée.</translation>
 <translation id="7933141401888114454">Autoriser la création de comptes utilisateurs supervisés</translation>
@@ -4721,6 +4809,9 @@
 <translation id="8006219716745491366">Si la règle <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> est activée, la règle <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> vous permet d'établir la liste des URL alternatives pour extraire des termes de recherche du moteur de recherche. Ces URL doivent inclure la chaîne <ph name="SEARCH_TERM_MARKER" />.
 
       Si la règle <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> n'est pas configurée, aucune URL alternative n'est utilisée pour extraire les termes de recherche.</translation>
+<translation id="8006921530139404577">Si cette règle est désactivée, l'interface utilisateur liée à la connexion (par exemple, la fenêtre de déconnexion) n'est pas affichée pour les connexions d'accès à distance qui ne sont pas en mode rideau. Cette règle n'a pas d'incidence sur les sessions d'assistance et d'accès à distance en mode rideau.
+
+          Elle n'a aucune incidence non plus si elle est définie sur "True", qu'elle n'est pas configurée ou que la liste est vide.</translation>
 <translation id="8011935490612940798">Contrôler la fonctionnalité <ph name="PRODUCT_NAME" />.</translation>
 <translation id="802147957407376460">Faire pivoter l'écran de 0 degré</translation>
 <translation id="8027265928215448940">Liste des services des connecteurs Chrome Enterprise à appliquer au connecteur <ph name="ON_FILE_DOWNLOADED_ENTERPRISE_CONNECTOR" /> Enterprise, qui se déclenche lorsqu'un fichier est téléchargé dans Chrome.
@@ -4760,6 +4851,7 @@
 <translation id="8053580360728293758">Remplace le mode d'impression couleur par défaut. Si le mode est indisponible, cette règle est ignorée.</translation>
 <translation id="8056237304861875584">Autorisez la tâche Phone Hub à se poursuivre.</translation>
 <translation id="8059164285174960932">URL où les clients d'accès à distance doivent obtenir leur jeton d'authentification</translation>
+<translation id="8062485064082966327">Utiliser un service Google anonyme pour qu'une description soit ajoutée automatiquement aux images sans libellé</translation>
 <translation id="8076521374016204899">Si cette règle est activée ou qu'elle n'est pas configurée, les utilisateurs qui s'authentifient avec un mot de passe peuvent verrouiller l'écran.
 
       En revanche, si cette règle est désactivée, les utilisateurs ne peuvent pas verrouiller l'écran (ils peuvent uniquement se déconnecter de leur session utilisateur).</translation>
@@ -4840,8 +4932,10 @@
 <translation id="816783746144552109">Configurer la version Chrome OS minimale autorisée de l'appareil.</translation>
 <translation id="8171924760436219650">Définir le bouton droit de la souris comme bouton principal sur l'écran de connexion</translation>
 <translation id="8176035528522326671">Autoriser l'utilisateur d'entreprise à participer aux sessions à plusieurs profils en tant qu'utilisateur principal seulement (comportement par défaut pour les utilisateurs gérés par une entreprise)</translation>
+<translation id="8179161412673077784">Empêcher les sites aux expériences abusives d'ouvrir de nouvelles fenêtres ou de nouveaux onglets</translation>
 <translation id="8183108371184777472">Empêcher l'ouverture de la fenêtre du navigateur</translation>
 <translation id="8186911565834244165">Autoriser les commentaires des utilisateurs</translation>
+<translation id="8195133650230097559">Ignorer les demandes de wakelocks pour la gestion de l'alimentation</translation>
 <translation id="8196558469954193908">Permet de procéder au multiplexage des connexions HTTP/2 lorsque des certificats client sont utilisés. Pour ce faire, le nom d'hôte de la nouvelle connexion potentielle et celui d'une connexion existante doivent correspondre à un ou plusieurs modèles définis par cette règle. Celle-ci permet d'établir la liste des hôtes selon le format de filtrage <ph name="URL_BLOCKLIST_POLICY_NAME" />, où une correspondance est établie entre "example.com" et "example.com" (et tous les sous-domaines tels que "sub.example.com"), tandis que ".example.net" correspond exactement à "example.net".
 
       Les requêtes de multiplexage vers différents hôtes via des connexions utilisant des certificats client peuvent poser des problèmes de sécurité et de confidentialité. En effet, l'autorité diffuse est accordée à toutes les requêtes, sans l'autorisation expresse de l'utilisateur. Cette règle est provisoire et sera supprimée dans une version ultérieure. Pour en savoir plus, consultez la page https://crbug.com/855690.
@@ -4887,6 +4981,15 @@
 Il est inutile de configurer manuellement ces paramètres. Vous pouvez télécharger des modèles faciles à utiliser pour Windows, Mac et Linux sur <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />.
 
 Il est conseillé de configurer les règles sur Windows via GPO, même si la gestion des règles via le registre reste possible pour les instances de Windows associées à un domaine <ph name="MS_AD_NAME" />.</translation>
+<translation id="8261874086461353268">Cette règle permet de fusionner les règles sélectionnées lorsqu'elles proviennent de sources différentes, et si le niveau et les champs d'application sont les mêmes. Cette fusion concerne les clés de premier niveau du dictionnaire provenant de chaque source. La clé qui prévaut est celle dont la source présente la plus haute priorité.
+
+      Si une règle figure dans la liste et qu'il y a conflit entre deux sources :
+
+      * les valeurs sont fusionnées dans un nouveau dictionnaire de règles si le niveau et les champs d'application sont les mêmes ;
+
+      * la règle ayant la plus haute priorité s'applique si le niveau ou les champs d'application diffèrent.
+
+      Si une règle ne figure pas dans la liste et qu'il y a conflit entre plusieurs sources, champs d'application ou niveaux, la règle ayant la plus haute priorité s'applique.</translation>
 <translation id="8266778278542911985">Si cette règle est définie sur "3", les sites Web peuvent demander à accéder aux ports série. Si elle est définie sur "2", l'accès aux ports série est refusé.
 
       Si cette règle n'est pas configurée, les sites Web peuvent demander l'accès. Toutefois, les utilisateurs peuvent modifier ce paramètre.</translation>
@@ -4990,6 +5093,9 @@
 
       Si la règle est définie sur "true" ou n'est pas définie, l'utilisateur a accès à la racine des conteneurs Crostini.
       Si la règle est définie sur "false", l'utilisateur n'a pas accès à la racine des conteneurs Crostini (existants ou nouveaux).</translation>
+<translation id="8415953438346821074">Si vous activez cette règle, les paramètres stockés dans les profils <ph name="PRODUCT_NAME" />, comme les favoris, les données de saisie automatique et les mots de passe, entre autres, sont également enregistrés dans un fichier stocké dans le dossier des profils utilisateur itinérants ou à un emplacement défini par l'administrateur tel que spécifié dans la règle <ph name="ROAMING_PROFILE_LOCATION_POLICY_NAME" />. Si cette règle est activée, la synchronisation cloud est désactivée.
+
+      Si cette règle est désactivée ou qu'elle n'est pas configurée, seuls les profils locaux standards sont utilisés.</translation>
 <translation id="8417305981081876834">Définir le nombre maximal de caractères pour le code de l'écran de verrouillage</translation>
 <translation id="8417750118762775739">Si cette règle est désactivée, les fenêtres pop-up ciblant <ph name="BLANK_PAGE_NAME" /> pourront accéder (via JavaScript) à la page qui a demandé l'ouverture de la fenêtre pop-up.
 
@@ -5169,6 +5275,7 @@
        Par défaut, <ph name="PRODUCT_NAME" /> ne lit pas automatiquement ce type de contenu. Toutefois, pour certains formats d'URL, la règle <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME" /> permet de modifier ce paramètre.
 
       Si <ph name="PRODUCT_NAME" /> est en cours d'utilisation lorsque le paramètre de cette règle change, la modification ne s'applique qu'aux nouveaux onglets ouverts.</translation>
+<translation id="8685748277907759932">Empêcher les utilisateurs d'employer la fonctionnalité Appuyer pour rechercher</translation>
 <translation id="8687958770985542440">Réactiver les API Web Components v0 jusqu'à la version M84.</translation>
 <translation id="8693243869659262736">Utiliser le client DNS intégré</translation>
 <translation id="8698286761337647563">Délai, en nombre de jours, pour informer à l'avance les utilisateurs SAML de l'expiration de leur mot de passe</translation>
@@ -5262,7 +5369,12 @@
       Chaque élément de la règle correspond à une chaîne constituée d'un identifiant d'extension et éventuellement d'une URL de mise à jour séparés par un point-virgule (;). L'identifiant d'extension est la chaîne de 32 lettres figurant, par exemple, sur la page chrome://extensions, lorsque le mode développeur est activé. Si elle est indiquée, l'URL de mise à jour doit renvoyer à un fichier manifeste au format XML (voir https://developer.chrome.com/extensions/autoupdate). Par défaut, l'URL de mise à jour du Chrome Web Store est utilisée. L'URL de mise à jour spécifiée dans cette règle ne sert que pour l'installation initiale. Toute mise à jour ultérieure de l'extension est effectuée avec l'URL indiquée dans le fichier manifeste de l'extension.
 
        Remarque : cette règle ne s'applique pas en mode navigation privée. Pour en savoir plus sur l'hébergement des extensions, consultez la page https://developer.chrome.com/extensions/hosting.</translation>
+<translation id="8832829916385857156">Fiches affichées sur la page Nouvel onglet si du contenu est disponible</translation>
 <translation id="8833109046074170275">Authentification via le flux GAIA par défaut</translation>
+<translation id="8834641112681661892">Cette règle permet de spécifier, en millisecondes, le délai maximal entre la réception du rejet d'une règle et la récupération de la nouvelle règle auprès du service de gestion de l'appareil. Les valeurs valides sont comprises entre 1 000 (1 seconde) et 300 000 (5 minutes). Toute valeur en dehors de cette plage sera remplacée par la valeur minimale ou maximale la plus proche autorisée.
+
+      Si cette règle n'est pas configurée, <ph name="PRODUCT_NAME" /> utilise la valeur par défaut (10 secondes).</translation>
+<translation id="885147810817138322">Proposer à l'utilisateur des recommandations de contenus multimédias</translation>
 <translation id="8852579753940989645">Activer la règle d'intégrité du code du moteur de rendu</translation>
 <translation id="8854571659927427063">Si cette règle est activée, les favoris enregistrés dans le précédent navigateur par défaut sont importés lors de la première exécution. Si cette règle est désactivée ou qu'elle n'est pas configurée, les favoris ne sont pas importés lors de la première exécution.
 
@@ -5296,6 +5408,7 @@
           Pour les cookies sur des domaines autres que ceux représentés par les formats spécifiés ici, ou pour tous les cookies si cette règle n'est pas configurée, la valeur par défaut globale est utilisée à partir de la règle <ph name="LEGACY_SAMESITE_COOKIE_BEHAVIOR_ENABLED_POLICY_NAME" /> si celle-ci est définie ou, à défaut, à partir de la configuration personnelle de l'utilisateur.
 
           Notez que les formats que vous répertoriez ici sont traités comme des domaines et non des URL. Vous ne devez donc pas spécifier de schéma ni de port.</translation>
+<translation id="8890438048579188548">Masquer les avertissements liés à l'abandon de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8892286064305622118">Espace disque libre requis pour <ph name="PLUGIN_VM_NAME" /></translation>
 <translation id="8904721489610046109">Cette règle permet d'activer ou de désactiver la limitation de bande passante réseau, ce qui signifie que le système est limité aux débits d'importation et de téléchargement fournis (en kbit/s). Elle s'applique à l'ensemble des utilisateurs et des interfaces de l'appareil.</translation>
 <translation id="8906768759089290519">Activer le mode invité</translation>
@@ -5440,6 +5553,7 @@
       Si vous configurez cette règle, <ph name="PRODUCT_NAME" /> utilise la taille de cache que vous indiquez, que l'utilisateur ait spécifié ou non l'option "--disk-cache-size". (Toute valeur inférieure à quelques mégaoctets est arrondie.)
 
       Si cette règle n'est pas configurée, <ph name="PRODUCT_NAME" /> utilise la taille de cache par défaut. L'utilisateur peut modifier ce paramètre à l'aide de l'option "--disk-cache-size".</translation>
+<translation id="9055866143096316150">Rétrograder les demandes de wakelocks forçant l'activation de l'écran en demandes de wakelocks système</translation>
 <translation id="9057444687284972605">Vous permet de spécifier une liste de formats d'URL indiquant les sites pour lesquels un certificat client est sélectionné automatiquement sur l'écran de connexion (dans le cadre où se trouve le flux SAML), si le site en demande un. Par exemple, vous pouvez configurer un certificat applicable à l'intégralité de l'appareil afin de le présenter au fournisseur d'identité SAML.
 
       Cette valeur doit être un ensemble de dictionnaires convertis en chaînes JSON, chacun d'entre eux se présentant sous la forme <ph name="AUTO_SELECT_CERTIFICATE_FOR_URLS_EXAMPLE" />, où <ph name="URL_PATTERN_PLACEHOLDER" /> correspond à un schéma de paramètre de contenu. Le filtre <ph name="FILTER_PLACEHOLDER" /> limite les certificats client parmi lesquels le navigateur effectue une sélection automatique. Indépendamment du filtre, seuls les certificats correspondant à la demande de certificat du serveur sont sélectionnés.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 4c566828..ed3aeb29 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -478,7 +478,7 @@
 <translation id="1715151459541210849">Mengaktifkan fitur aksesibilitas dikte</translation>
 <translation id="172374442286684480">Izinkan semua situs menyetel data lokal</translation>
 <translation id="1736269219679256369">Memungkinkan melanjutkan dari halaman peringatan SSL</translation>
-<translation id="174765717426930019">Izinkan semua pop-up yang dibuka dengan target <ph name="BLANK_PAGE_NAME" /> untuk berinteraksi dengan halaman yang meminta membuka pop-up, kecuali halaman pembuka secara eksplisit memilih untuk melarang interaksi tersebut </translation>
+<translation id="174765717426930019">Izinkan semua pop-up yang dibuka dengan target <ph name="BLANK_PAGE_NAME" /> untuk berinteraksi dengan halaman yang meminta membuka pop-up, kecuali jika halaman pembuka secara eksplisit memilih untuk melarang interaksi tersebut </translation>
 <translation id="1750315445671978749">Blokir semua download</translation>
 <translation id="1760951637494635692">Mengizinkan Serial API di situs ini</translation>
 <translation id="1765512315997108908">Mengontrol printer mana dari <ph name="DEVICE_PRINTERS_POLICY_NAME" /> yang tersedia untuk pengguna.
@@ -701,7 +701,7 @@
 <translation id="2145735238144543545">Sertifikat Klien yang diperlukan</translation>
 <translation id="214901426630414675">Batasi mode dupleks pencetakan</translation>
 <translation id="2149330464730004005">Aktifkan pencetakan warna</translation>
-<translation id="2149592087996467903">Cegah WebRTC menggunakan versi TLS/DTLS yang sudah tidak digunakan lagi</translation>
+<translation id="2149592087996467903">Cegah WebRTC menggunakan versi TLS/DTLS yang usang</translation>
 <translation id="2149957154942061013">Khusus Internal</translation>
 <translation id="2151831603578119302">Mengaktifkan pintasan fitur aksesibilitas</translation>
 <translation id="2156132677421487971">Mengonfigurasi kebijakan untuk <ph name="PRODUCT_NAME" />, fitur yang memungkinkan pengguna mengirim konten tab, situs, atau desktop dari browser ke sistem suara dan layar jarak jauh.</translation>
@@ -1494,7 +1494,7 @@
         * 4, firmware <ph name="TPM_FIRMWARE_UPDATE_TPM" /> akan diupdate setelah pendaftaran, sebelum pengguna login.
 
       Jika kebijakan tidak disetel, update firmware <ph name="TPM_FIRMWARE_UPDATE_TPM" /> tidak akan tersedia.</translation>
-<translation id="3232691106293445015">Koneksi HTTP yang tidak aman dilarang menggunakan autentikasi <ph name="BASIC_AUTH" />; perlu HTTPS</translation>
+<translation id="3232691106293445015">Koneksi HTTP yang tidak aman dilarang menggunakan autentikasi <ph name="BASIC_AUTH" />; HTTPS diwajibkan</translation>
 <translation id="3236046242843493070">Pola URL untuk memungkinkan pemasangan skrip pengguna, aplikasi, dan ekstensi dari</translation>
 <translation id="3240609035816615922">Kebijakan akses konfigurasi untuk printer.</translation>
 <translation id="324062325008698789">Mengonfigurasi daftar printer</translation>
@@ -2085,7 +2085,7 @@
 
       Kebijakan ini tidak berlaku untuk aplikasi kios, yang akan otomatis dimigrasikan. Jika kebijakan ini tidak disetel, perangkat akan berperilaku seolah-olah 'DisallowArc' dipilih.</translation>
 <translation id="4020682745012723568">Cookie yang ditransfer ke profil pengguna tidak dapat diakses oleh aplikasi Android.</translation>
-<translation id="4025500273782820766">Izinkan pengguna memilih "Selalu izinkan" untuk melewati perintah konfirmasi di waktu mendatang, jika dialog protokol eksternal ditampilkan</translation>
+<translation id="4025500273782820766">Izinkan pengguna memilih "Selalu izinkan" untuk melewati perintah konfirmasi di waktu mendatang, jika dialog protokol eksternal muncul</translation>
 <translation id="402759845255257575">Jangan izinkan situs apa pun menjalankan JavaScript</translation>
 <translation id="4027608872760987929">Aktifkan penyedia penelusuran default</translation>
 <translation id="4056910949759281379">Nonaktifkan protokol SPDY</translation>
@@ -3381,7 +3381,7 @@
 
       Jika kebijakan disetel ke Nonaktif, pengguna tidak dapat menukarkan penawaran ini.</translation>
 <translation id="6048199181629830227">Mengaktifkan fitur manajemen pengaktifan daya baterai</translation>
-<translation id="6053681087509103368">Izinkan WebRTC menggunakan versi protokol TLS/DTLS yang sudah tidak digunakan lagi</translation>
+<translation id="6053681087509103368">Izinkan WebRTC menggunakan versi protokol TLS/DTLS yang usang</translation>
 <translation id="6054485492411959335">Menentukan printer yang dapat digunakan pengguna.
 
       Kebijakan ini hanya digunakan jika <ph name="PRINTERS_ALLOWLIST" /> dipilih untuk <ph name="PRINTERS_BULK_ACCESS_MODE_POLICY_NAME" />.
@@ -3941,7 +3941,7 @@
 
       Jika kebijakan disetel ke Nonaktif, perangkat yang terdaftar tidak akan melaporkan status tombol dev.</translation>
 <translation id="6795485990775913659">Hanya izinkan pencetakan tanpa PIN</translation>
-<translation id="6800181452282128474">Jangan mengkueri Server Quirks</translation>
+<translation id="6800181452282128474">Jangan kueri Server Quirks</translation>
 <translation id="6810445994095397827">Cekal JavaScript di situs ini</translation>
 <translation id="6813263547126514821">Daya dan penonaktifan</translation>
 <translation id="681446116407619279">Skema autentikasi yang didukung</translation>
@@ -4334,7 +4334,7 @@
 <translation id="731208205557053914">Melaporkan info VPD</translation>
 <translation id="7319863628760093590">Jika kebijakan disetel ke Aktif atau tidak disetel, verifikasi autentikasi <ph name="BASIC_AUTH" /> akan diizinkan diterima melalui HTTP yang tidak aman.
 
-      Jika kebijakan disetel ke Nonaktif, permintaan HTTP yang tidak aman akan dilarang menggunakan skema autentikasi <ph name="BASIC_AUTH" />; hanya mengizinkan HTTPS yang aman.</translation>
+      Jika kebijakan disetel ke Nonaktif, permintaan HTTP yang tidak aman akan dilarang menggunakan skema autentikasi <ph name="BASIC_AUTH" />; hanya HTTPS yang diizinkan.</translation>
 <translation id="7323896582714668701">Parameter baris perintah tambahan untuk <ph name="PRODUCT_NAME" /></translation>
 <translation id="7326394567531622570">Serupa dengan Wipe (nilai 2), namun mencoba untuk mempertahankan token login sehingga pengguna tidak perlu login lagi.</translation>
 <translation id="7331962793961469250">Bila disetel ke True, promosi untuk apl Chrome Webstore tidak akan muncul pada halaman tab baru. Menyetel opsi ini ke False atau membiarkannya tanpa disetel akan membuat promosi untuk apl Chrome Webstore muncul di halaman tab baru</translation>
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 4890bb9..09f5289 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -3362,7 +3362,7 @@
 
       Se viene impostato su Disattivato, gli utenti non possono riscattare tali offerte.</translation>
 <translation id="6048199181629830227">Attiva la gestione della variazione dei picchi energetici</translation>
-<translation id="6053681087509103368">Consenti a WebRTC di usare versioni obsolete del protocollo TLD/DTLS</translation>
+<translation id="6053681087509103368">Consenti a WebRTC di usare versioni obsolete del protocollo TLS/DTLS</translation>
 <translation id="6054485492411959335">Consente di specificare le stampanti utilizzabili dagli utenti.
 
       Questo criterio viene usato soltanto se viene selezionata l'opzione <ph name="PRINTERS_ALLOWLIST" /> per il criterio <ph name="PRINTERS_BULK_ACCESS_MODE_POLICY_NAME" />.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index e978c02..8f55f8f 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -3334,7 +3334,7 @@
 <translation id="6070667616071269965">デバイスのログイン画面のキーボード配列</translation>
 <translation id="6074963268421707432">どのサイトにもデスクトップ通知の表示を許可しない</translation>
 <translation id="6074964551275531965">アップデートの通知を表示する期間を設定する</translation>
-<translation id="6075316301208933536"><ph name="DEVICE_BATTERY_CHARGE_MODE_POLICY_NAME" /> が <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_MODE_NAME" /> に設定されている場合に、<ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" /> では、バッテリー充電の割合(%)に基づいてバッテリー充電を停止するタイミングをカスタマイズできます。<ph name="DEVICE_BATTERY_CHARGE_CUSTOM_START_CHARGING_POLICY_NAME" /> には <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" /> より 5% 以上低い値を指定してください。
+<translation id="6075316301208933536"><ph name="DEVICE_BATTERY_CHARGE_MODE_POLICY_NAME" /> が <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_MODE_NAME" /> に設定されている場合、バッテリーの充電率(%)に基づいて充電を停止するタイミングを <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" /> の設定によってカスタマイズできます。<ph name="DEVICE_BATTERY_CHARGE_CUSTOM_START_CHARGING_POLICY_NAME" /> には <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" /> より 5% 以上低い値を指定してください。
 
       このポリシーを未設定のままにした場合、<ph name="DEVICE_BATTERY_CHARGE_STANDARD_MODE_NAME" /> のバッテリー充電モードが適用されます。</translation>
 <translation id="6082161804984853051">このポリシーを設定した場合、<ph name="PRODUCT_NAME" /> では、ユーザーが「--disk-cache-dir」フラグを指定しているかどうかにかかわらず、キャッシュされたファイルをディスクに保存する際に、設定したディレクトリが使用されます。
@@ -4034,7 +4034,7 @@
 <translation id="7027785306666625591"><ph name="PRODUCT_OS_NAME" /> の電源管理を設定します。
 
       これらのポリシーでは、アイドル状態が一定時間続いたときの <ph name="PRODUCT_OS_NAME" /> の動作を設定できます。</translation>
-<translation id="7030205756530739128"><ph name="DEVICE_BATTERY_CHARGE_MODE_NAME" /> が <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_MODE_NAME" /> に設定されている場合に、<ph name="DEVICE_BATTERY_CHARGE_CUSTOM_START_CHARGING_POLICY_NAME" /> では、バッテリー充電の割合(%)に基づいてバッテリー充電を開始するタイミングをカスタマイズできます。この値には <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" /> より 5% 以上低い値を指定してください。
+<translation id="7030205756530739128"><ph name="DEVICE_BATTERY_CHARGE_MODE_NAME" /> が <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_MODE_NAME" /> に設定されている場合、バッテリーの充電率(%)に基づいて充電を開始するタイミングを <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_START_CHARGING_POLICY_NAME" /> の設定によってカスタマイズできます。この値には <ph name="DEVICE_BATTERY_CHARGE_CUSTOM_STOP_CHARGING_POLICY_NAME" /> より 5% 以上低い値を指定してください。
 
       このポリシーを未設定のままにした場合、標準のバッテリー充電モードが適用されます。</translation>
 <translation id="7032813174556919004">DNS-over-HTTPS を無効にする</translation>
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index fdc09db..3e540ff8 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -198,7 +198,7 @@
 <translation id="1309465583050255779">Als <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> is ingeschakeld en je <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> instelt, wordt de naam van de standaard zoekprovider gespecificeerd.
 
       Als je <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> niet instelt, wordt de hostnaam gebruikt die door de zoek-URL wordt gespecificeerd.</translation>
-<translation id="1310052497030002740">Als je het beleid instelt, probeert <ph name="PRODUCT_NAME" /> zichzelf te registreren bij <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />. De waarde van dit beleid is een token voor inschrijving die je kunt ophalen uit de <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />.
+<translation id="1310052497030002740">Als je het beleid instelt, probeert <ph name="PRODUCT_NAME" /> zichzelf aan te melden bij <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />. De waarde van dit beleid is een token voor inschrijving die je kunt ophalen uit de <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />.
 
       Zie https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744 voor meer informatie.</translation>
 <translation id="1312799700549720683">Beheert weergave-instellingen.</translation>
@@ -421,7 +421,7 @@
 <translation id="1617235075406854669">Verwijderen van browser- en downloadgeschiedenis inschakelen</translation>
 <translation id="1620510694547887537">Camera</translation>
 <translation id="1626379196197114720">Toestaan dat de Back-Forward Cache wordt gebruikt</translation>
-<translation id="1628974048137236820">De pagina 'Nieuw tabblad' laat geen kaarten zien</translation>
+<translation id="1628974048137236820">Geen kaarten te zien op de pagina Nieuw tabblad</translation>
 <translation id="163200210584085447">Patronen in deze lijst worden vergeleken met de
       beveiligingsoorsprong van de aanvragende URL. Als een overeenkomst
       wordt gevonden, wordt toegang tot apparaten voor het vastleggen van
@@ -1869,7 +1869,7 @@
 <translation id="3821861026311587684">De gebruiker gedwongen uitloggen als zijn of haar account niet meer geverifieerd is</translation>
 <translation id="3823381379309653965">Als je het beleid instelt, wordt de periode in milliseconden gespecificeerd waarna de apparaatbeheerservice wordt gevraagd om informatie over het apparaatbeleid. Geldige waarden liggen tussen 1.800.000 (30 minuten) en 86.400.000 (1 dag). Waarden buiten dit bereik worden vast ingesteld op de respectieve grenswaarde.
 
-      Als je het beleid niet instelt, gebruikt <ph name="PRODUCT_OS_NAME" /> de standaard waarde van 3 uur.
+      Als je het beleid niet instelt, gebruikt <ph name="PRODUCT_OS_NAME" /> de standaardwaarde van 3 uur.
 
       Opmerking: Beleidsmeldingen dwingen een vernieuwing af als het beleid wordt gewijzigd, waardoor frequente vernieuwingen overbodig zijn. Als het platform deze meldingen ondersteunt, is de vernieuwingsvertraging 24 uur (hierbij worden alle standaardinstellingen en de waarde van dit beleid genegeerd).</translation>
 <translation id="382476126209906314">Het voorvoegsel voor het TalkGadget configureren voor hosts voor externe toegang</translation>
@@ -2095,7 +2095,7 @@
       Dit beleid heeft alleen gevolgen voor gebruikers die SAML-verificatie gebruiken.</translation>
 <translation id="4105989332710272578">Handhaving van Certificaattransparantie voor een lijst met URL's uitschakelen</translation>
 <translation id="4121350739760194865">Voorkomen dat app-promoties worden weergegeven op de pagina 'Nieuw tabblad'</translation>
-<translation id="4122473079291425973">De pagina 'Nieuw tabblad' laat kaarten zien als er content beschikbaar is, maar gebruikers mogen deze instelling wijzigen</translation>
+<translation id="4122473079291425973">De pagina Nieuw tabblad laat kaarten zien als er content beschikbaar is, maar gebruikers mogen deze instelling wijzigen</translation>
 <translation id="412697421478384751">Gebruikers toestaan om zwakke pincodes in te stellen als pincode voor het vergrendelscherm</translation>
 <translation id="4138655880188755661">Tijdslimiet</translation>
 <translation id="4147818922357566987">Varianten alleen inschakelen voor essentiële oplossingen</translation>
@@ -2976,9 +2976,9 @@
       Deze instelling bepaalt de presentatie van de welkomstpagina's waar gebruikers kunnen inloggen op <ph name="PRODUCT_NAME" />, <ph name="PRODUCT_NAME" /> kunnen instellen als standaardbrowser van de gebruiker of anderszins kunnen worden geïnformeerd over productfuncties.</translation>
 <translation id="544654037134815017">Met dit beleid bepaal je of er kaarten worden weergegeven op de pagina Nieuw tabblad. Kaarten tonen startpunten voor algemene gebruikerstrajecten op basis van het browsegedrag van de gebruiker.
 
-      Als je het beleid inschakelt, laat de pagina 'Nieuw tabblad' kaarten zien als er content beschikbaar is.
+      Als je het beleid inschakelt, laat de pagina Nieuw tabblad kaarten zien als er content beschikbaar is.
 
-      Als je het beleid uitschakelt, laat de pagina 'Nieuw tabblad' geen kaarten zien.
+      Als je het beleid uitschakelt, laat de pagina Nieuw tabblad geen kaarten zien.
 
       Als je het beleid niet instelt, kan de gebruiker zelf bepalen of de kaarten wel of niet zichtbaar zijn. De standaardwaarde is 'zichtbaar'.
       </translation>
@@ -3510,7 +3510,7 @@
 
       Opmerking: Wachtwoorden kunnen ouder zijn dan de ingestelde periode als de client langere tijd offline is.</translation>
 <translation id="6281043242780654992">Configureert beleid voor systeemeigen berichten. Hosts voor systeemeigen berichten op de zwarte lijst worden niet toegestaan, tenzij ze op de witte lijst worden gezet.</translation>
-<translation id="6282524907402492171">Waarschuwingen over beëindiging van <ph name="CLOUD_PRINT_NAME" /> weergeven</translation>
+<translation id="6282524907402492171">Waarschuwingen over beëindiging van <ph name="CLOUD_PRINT_NAME" /> tonen</translation>
 <translation id="6282799760374509080">Het opnemen van audio toestaan of weigeren</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
 <translation id="6310223829319187614">Automatisch aanvullen van domeinnaam bij inloggen van gebruiker inschakelen</translation>
@@ -3682,7 +3682,7 @@
 
       Als je het beleid niet instelt, 'Gebruikers laten bepalen' instelt of het beleid instelt op 'None', bepalen gebruikers de automatische tijdzonedetectie via de normale opties in chrome://settings.</translation>
 <translation id="6532769014584932288">Wake locks toestaan</translation>
-<translation id="6536444379078076149">De weergave van verbindingsgerelateerde UI op de hostdesktop in- of uitschakelen als er een verbinding actief is</translation>
+<translation id="6536444379078076149">De weergave van verbindingsgerelateerde UI op de hostdesktop in- of uitschakelen als er een verbinding actief is.</translation>
 <translation id="6536600139108165863">Automatisch opnieuw opstarten wanneer apparaat wordt afgesloten</translation>
 <translation id="6539246272469751178">Dit beleid is niet van invloed op Android-apps. Android-apps gebruiken altijd de standaardmap voor downloads en hebben geen toegang tot bestanden die door <ph name="PRODUCT_OS_NAME" /> zijn gedownload naar een niet-standaard downloadmap.</translation>
 <translation id="654303922206238013">Migratiestrategie voor eCryptfs</translation>
@@ -4785,7 +4785,7 @@
       Als je <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> niet instelt, worden er geen alternatieve URL's gespecificeerd om zoektermen uit de zoekmachine te extraheren.</translation>
 <translation id="8006921530139404577">Als je dit beleid uitschakelt, wordt verbindingsgerelateerde UI (bijvoorbeeld het venster voor verbinding verbreken) niet weergegeven voor niet-afgeschermde verbindingen voor externe toegang. Dit beleid heeft geen gevolgen voor afgeschermde verbindingen voor externe toegang en externe supportsessies.
 
-          Dit beleid is niet van kracht als het is ingesteld op True, leeg wordt gelaten of niet wordt ingesteld.</translation>
+          Dit beleid is niet geldig als het is ingesteld op True, leeg wordt gelaten of niet wordt ingesteld.</translation>
 <translation id="8011935490612940798">De functie <ph name="PRODUCT_NAME" /> beheren.</translation>
 <translation id="802147957407376460">Scherm 0 graden draaien</translation>
 <translation id="8027265928215448940">Lijst met instellingen voor Chrome Enterprise-connectorservices die moeten worden toegepast op de Enterprise-connector <ph name="ON_FILE_DOWNLOADED_ENTERPRISE_CONNECTOR" />. De lijst wordt geactiveerd als een bestand wordt gedownload in Chrome.
@@ -5341,12 +5341,12 @@
       Elk lijstitem van het beleid is een tekenreeks die een extensie-ID en optioneel een update-URL bevat, gescheiden door een puntkomma (;). De extensie-ID is de tekenreeks van 32 letters die bijvoorbeeld op chrome://extensions kan worden gevonden als de ontwikkelaarsmodus actief is. De update-URL, indien opgegeven, moet verwijzen naar een XML-updatedocument voor het manifest ( https://developer.chrome.com/extensions/autoupdate ). Standaard wordt de update-URL van de Chrome Web Store gebruikt. De update-URL die in dit beleid is ingesteld, wordt alleen voor de eerste installatie gebruikt. Daaropvolgende updates van de extensie gebruiken de update-URL die in het manifest van de extensie wordt aangegeven.
 
        Opmerking: Dit beleid is niet van toepassing op de incognitomodus. Bekijk meer informatie over het hosten van extensies ( https://developer.chrome.com/extensions/hosting ).</translation>
-<translation id="8832829916385857156">De pagina 'Nieuw tabblad' laat kaarten zien als er content beschikbaar is</translation>
+<translation id="8832829916385857156">De pagina Nieuw tabblad laat kaarten zien als er content beschikbaar is</translation>
 <translation id="8833109046074170275">Verificatie via GAIA (standaard)</translation>
-<translation id="8834641112681661892">Als je het beleid instelt, wordt de maximum vertraging in milliseconden gespecificeerd tussen het ontvangen van een ongeldigverklaring van een beleid en het ophalen van het nieuwe beleid uit de apparaatbeheerservice Geldige waarden liggen tussen 1000 (1 seconde) en 300.000 (5 minuten). Waarden buiten dit bereik worden vast ingesteld op de respectieve grenswaarde.
+<translation id="8834641112681661892">Als je het beleid instelt, wordt de maximumvertraging in milliseconden gespecificeerd tussen het ontvangen van een ongeldigverklaring van een beleid en het ophalen van het nieuwe beleid uit de apparaatbeheerservice. Geldige waarden liggen tussen 1000 (1 seconde) en 300.000 (5 minuten). Waarden buiten dit bereik worden vast ingesteld op de respectieve grenswaarde.
 
       Als je het beleid niet instelt, gebruikt <ph name="PRODUCT_NAME" /> de standaardwaarde van 10 seconden.</translation>
-<translation id="885147810817138322">Media-aanbevelingen weergeven aan gebruikers</translation>
+<translation id="885147810817138322">Media-aanbevelingen tonen aan gebruikers</translation>
 <translation id="8852579753940989645">Code-integriteit van weergaveprogramma inschakelen</translation>
 <translation id="8854571659927427063">Als je het beleid inschakelt, worden de bookmarks van de vorige standaardbrowser geïmporteerd bij de eerste uitvoering. Als je het beleid uitschakelt of niet instelt, worden de bookmarks niet geïmporteerd bij de eerste uitvoering.
 
@@ -5527,7 +5527,7 @@
       Als je het beleid instelt, gebruikt <ph name="PRODUCT_NAME" /> de door jou opgegeven cachegrootte, ongeacht of gebruikers de optie '--disk-cache-size' hebben opgegeven. (Waarden onder enkele megabytes worden naar boven afgerond.)
 
       Als dit beleid niet is ingesteld, gebruikt <ph name="PRODUCT_NAME" /> de standaardgrootte. Gebruikers kunnen deze instelling wijzigen met behulp van de optie '--disk-cache-size'.</translation>
-<translation id="9055866143096316150">Wake lock-verzoeken voor het scherm verlagen naar wake lock-verzoeken voor het systeem.</translation>
+<translation id="9055866143096316150">Wake lock-verzoeken voor het scherm verlagen naar wake lock-verzoeken voor het systeem</translation>
 <translation id="9057444687284972605">Hiermee kun je een lijst met URL-patronen opgeven om sites te specificeren. Hiervoor wordt automatisch een clientcertificaat geselecteerd op het inlogscherm in het frame waarin het SAML-proces wordt gehost als de site vraagt om een certificaat. Een gebruiksvoorbeeld is de configuratie van een certificaat voor het hele apparaat dat wordt gepresenteerd aan de SAML IdP.
 
       De waarde is een matrix van JSON-woordenboeken met tekenreeksen, elk met de indeling <ph name="AUTO_SELECT_CERTIFICATE_FOR_URLS_EXAMPLE" />, waarbij <ph name="URL_PATTERN_PLACEHOLDER" /> een patroon voor het instellen van content is. <ph name="FILTER_PLACEHOLDER" /> beperkt de clientcertificaten waaruit de browser automatisch kan kiezen. Onafhankelijk van het filter worden alleen certificaten geselecteerd die overeenkomen met het certificaatverzoek van de server.
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index 8e1f2f2..49cbc782 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -77,6 +77,7 @@
       True (doğru) değerine ayarlanırsa cihazın arka ışık bilgileri raporlanır.</translation>
 <translation id="1076751984131277498">İzin verilen çıkarılabilir USB cihazların listesi</translation>
 <translation id="1079801999187584280">Geliştirici Araçları'nın kullanımına izin verme</translation>
+<translation id="1082802595100075771">Kullanıcıların, etiketlenmemiş resimlerin otomatik açıklamalarını sağlayan anonim bir Google hizmeti kullanmayı seçmelerine olanak tanı</translation>
 <translation id="1087437665304381368">Bu politika yalnızca <ph name="PRODUCT_OS_NAME" /> geliştirici modunu kontrol eder. Android Geliştirici Seçenekleri'ne erişimi engellemek isterseniz <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" /> politikasını ayarlamanız gerekir.</translation>
 <translation id="1087707496788636333">Chrome Enterprise politika listesinin yeri değişiyor! Lütfen yer işaretlerinizi <ph name="POLICY_DOCUMENTATION_URL" /> adresi ile güncelleyin.</translation>
 <translation id="1093082332347834239">Bu ayar etkinleştirilirse uzaktan yardım ana makinesi bir işlemde <ph name="UIACCESS_PERMISSION_NAME" /> izinleriyle çalıştırılır. Bu durum, uzak kullanıcıların yerel kullanıcının masaüstünde yükseltilmiş pencerelerle etkileşimde bulunmasına olanak tanır.
@@ -135,6 +136,7 @@
 <translation id="1198183996903759302">Politika True (Doğru) değerine ayarlandığında (veya <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME" /> False (Yanlış) değerine ayarlandığında) web sayfalarının WebGL API'ye ve Pepper 3D API kullanamayan eklentilere erişimi engellenir.
 
       Politika False (Yanlış) değerine ayarlanır veya hiç ayarlanmazsa web sayfaları WeBGL API ve Pepper 3D API kullanan eklentilere erişebilir. Bu API'leri kullanmak için tarayıcının varsayılan ayarları yine de komut satırı bağımsız değişkenlerinin geçirilmesini gerektirebilir.</translation>
+<translation id="1202216683470826356">Yeni Sekme Sayfası'nda kartları göster</translation>
 <translation id="1204263402976895730">Etkinleştirilmiş kurumsal yazıcılar</translation>
 <translation id="120937472976628837">Pervane bilgilerini raporla</translation>
 <translation id="1216919699175573511">İmzalı HTTP Değişimi (SXG) desteğini etkinleştir</translation>
@@ -172,6 +174,13 @@
 <translation id="1257550411839719984">Varsayılan indirme dizinini ayarlama</translation>
 <translation id="1265053460044691532">SAML kullanarak kimlik doğrulaması yapmış kullanıcının çevrimdışı olarak giriş yapabileceği süreyi sınırla</translation>
 <translation id="127264587838521316"><ph name="PRODUCT_NAME" /> uzantı yükleme isteklerini etkinleştirir</translation>
+<translation id="127699919157094139">Google tarafından barındırılan senkronizasyon hizmetlerini kullanarak yapılan <ph name="PRODUCT_NAME" /> içindeki veri senkronizasyonunu devre dışı bırakır ve kullanıcıların bu ayarı değiştirmelerini önler.
+
+      Bu ayarı etkinleştirirseniz kullanıcılar <ph name="PRODUCT_NAME" /> içinden bu ayarı değiştiremez ve geçersiz kılamazlar.
+
+      Bu politika ayarlanmadan bırakılırsa kullanıcılar Google Sync aracılığıyla politikayı kullanıp kullanmamayı seçebilirler.
+
+      Google Sync'i tamamıyla devre dışı bırakmak için Google Sync hizmetini Google Yönetim konsolunda devre dışı bırakmanız önerilir.</translation>
 <translation id="1290634681382861275">USB, Bluetooth, politika yenileme, geliştirici modu gibi çeşitli ayarları kontrol eder.</translation>
 <translation id="1291880496936992484">Uyarı: RC4, sürüm 52'den sonra (yaklaşık olarak Eylül 2016'da) <ph name="PRODUCT_NAME" /> ürününden tamamen kaldırılacak ve sonrasında bu politika çalışmayacaktır.
 
@@ -188,6 +197,9 @@
 <translation id="1309465583050255779"><ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> açıksa <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> protokolünün ayarlanması, varsayılan arama sağlayıcının adını belirtir.
 
       <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> politikası ayarlanmadan bırakılırsa arama URL'sinde belirtilen ana makine adı kullanılır.</translation>
+<translation id="1310052497030002740">Politika ayarlanırsa <ph name="PRODUCT_NAME" />, kendini <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> hizmetine kaydettirmeye çalışır. Bu politikanın değeri, <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" /> hizmetinden alabileceğiniz kayıt jetonudur.
+
+      Ayrıntılar için https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744 adresine bakın.</translation>
 <translation id="1312799700549720683">Ekran ayarlarını kontrol eder.</translation>
 <translation id="131353325527891113">Kullanıcı adlarını giriş ekranında göster</translation>
 <translation id="1327466551276625742">Çevrimdışı iken ağ yapılandırma istemini etkinleştir</translation>
@@ -298,6 +310,7 @@
       Politika False (Yanlış) değerine ayarlandığında veya ayarlanmadan bırakıldığında uzantıların bu API'yı kullanmasına izin verilmez.
 
       Bu politika, Hangout Hizmetleri uzantısı gibi bileşen uzantıları için de geçerlidir.</translation>
+<translation id="148194404518916594">Kullanıcıların Dokun ve Ara özelliğini kullanmalarına izin ver</translation>
 <translation id="1486021504508098388">Arka ışık bilgilerini raporla</translation>
 <translation id="1487916040416013623">Politikanın ayarlanması, entegre kimlik doğrulama için hangi sunuculara izin verileceğini belirtir. Entegre kimlik doğrulaması yalnızca <ph name="PRODUCT_NAME" /> bir proxy veya söz konusu izin verilenler listesindeki bir sunucudan kimlik doğrulaması daveti aldığında etkinleşir.
 
@@ -406,6 +419,8 @@
       Bu politikayı ayarlarsanız kullanıcılar bunu değiştiremez veya geçersiz kılamazlar.</translation>
 <translation id="1617235075406854669">Tarayıcı ve indirme geçmişinin silinmesini etkinleştir</translation>
 <translation id="1620510694547887537">Kamera</translation>
+<translation id="1626379196197114720">Geri-ileri önbelleğin kullanılmasına izin ver</translation>
+<translation id="1628974048137236820">Yeni Sekme Sayfası kartları gösterme</translation>
 <translation id="163200210584085447">Bu listedeki kalıplar, istek yapan URL'nin güvenlik kaynağı ile
       karşılaştırılır. Eşleşme bulunursa, SAML giriş sayfalarında video
       yakalama cihazlarına erişim izni verilir. Herhangi bir eşleşme
@@ -502,6 +517,7 @@
       politikaları geçersiz kılmasına izin verilmez.</translation>
 <translation id="1843117931376765605">Kullanıcı politikası için yenileme hızı</translation>
 <translation id="1844620919405873871">Hızlı kilit açmayla ilgili politikaları yapılandırır.</translation>
+<translation id="1844972978764975668">Doğru zaman damgası almak için bir Google sunucusuna sorgu göndermeye izin ver</translation>
 <translation id="1845405905602899692">Kiosk ayarları</translation>
 <translation id="1845429996559814839">PIN ile yazdırma modunu kısıtla</translation>
 <translation id="1847960418907100918">POST ile anında arama yaparken kullanılan parametreleri belirtir. Virgülle ayrılmış ad/değer çiftlerini içeren bir listeden oluşur. Bir değer, yukarıdaki örnekteki {searchTerms} gibi bir şablon parametresi ise, gerçek arama terimleri verisiyle değiştirilir.
@@ -635,6 +651,7 @@
 <translation id="2077129598763517140">Kullanılabilir olduğunda donanım hızlandırmayı kullan</translation>
 <translation id="2077273864382355561">Pil gücüyle çalışırken ekran kapatma gecikmesi</translation>
 <translation id="2082205219176343977">Cihaz için izin verilen minimum Chrome sürümünü yapılandır.</translation>
+<translation id="208623333578980446">Güç yönetimi için ekran uyanık kalma kilitlerine izin ver</translation>
 <translation id="209586405398070749">Mevcut ürün kanalı</translation>
 <translation id="2098658257603918882">Kullanım ve kilitlenme ile ilgili verilerin raporlanmasını etkinleştir</translation>
 <translation id="2104418465060359056">Uzantı ve Eklenti bilgilerini bildirme</translation>
@@ -800,6 +817,7 @@
       Bu politika Fast (Hızlı) değerine ayarlanırsa <ph name="PRODUCT_NAME" /> öğesi, mümkünse pikselleştirmeden kaçınır. Pikselleştirme miktarını azaltmak, yazdırma işinin boyutunu azaltmaya ve yazdırma hızını artırmaya yardımcı olabilir.
 
       Bu politika ayarlanmadığında, <ph name="PRODUCT_NAME" /> öğesi Full (Tam) modunda olur.</translation>
+<translation id="2337859888277013371">Geri-ileri önbelleğin kullanılmasına izin verme</translation>
 <translation id="2345547870894930157">DNS-over-HTTPS'i güvenli olmayan geçiş olmadan etkinleştir</translation>
 <translation id="2349117476121456297">Politikayı True (Doğru) değerine ayarlamak, klavyenin en üst sırasındaki tuşların işlev tuşu komutları olarak davranmasını sağlar. Arama tuşuna basmak, bunların davranışını tekrar medya tuşu olarak değiştirir.
 
@@ -826,6 +844,9 @@
       URL kalıpları, <ph name="FILE_SYSTEM_READ_BLOCKED_FOR_URLS_POLICY_NAME" /> ile çelişmemelidir. Bir URL her ikisiyle de eşleşirse politikaların ikisinin de diğeri üzerinde önceliği olmaz.
 
       Geçerli <ph name="URL_LABEL" /> kalıpları hakkında ayrıntılı bilgi için https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns adresine bakabilirsiniz.</translation>
+<translation id="2384233438419344179">Politikanın Etkin değerine ayarlanması tarayıcının adres çubuğundaki alan adına ait olmayan web sayfası öğelerinin çerez yerleştirmesini engeller. Politikanın Devre Dışı değerine ayarlanması bu öğelerin çerez yerleştirmesine izin verir ve kullanıcıların bu ayarı değiştirmelerini önler.
+
+      Politikayı ayarlanmadan bırakılırsa üçüncü taraf çerezlerine izin verilir, ancak kullanıcılar bu ayarı değiştirebilir.</translation>
 <translation id="2386362615870139244">Ekran uyandırma kilitlerine izin ver</translation>
 <translation id="2394674739523870144">Bu politika bir dize listesine ayarlanırsa dizeler boşluklarla birleştirilir ve <ph name="IE_PRODUCT_NAME" /> tarayıcısından <ph name="PRODUCT_NAME" /> tarayıcısına komut satırı parametreleri olarak aktarılır. Bir parametre <ph name="URL_PLACEHOLDER" /> içeriyorsa <ph name="URL_PLACEHOLDER" />, açılacak sayfanın URL'siyle değiştirilir. Hiçbir öğe <ph name="URL_PLACEHOLDER" /> içermiyorsa URL, komut satırının sonuna eklenir.
 
@@ -895,6 +916,7 @@
        Politika ayarlanmadan bırakılırsa metrikler ve teşhis verisi raporlama, yönetilmeyen cihazlarda devre dışı, yönetilen cihazlarda ise etkin kalır.</translation>
 <translation id="2454228136871844693">Kararlı çalışma için optimize et.</translation>
 <translation id="2455033019778127130">Varsayılan tarayıcı davranışını kullanır, Hizmet Şartları'nı gösterip kullanıcının kabul etmesini bekler.</translation>
+<translation id="2460238670327375238">3. taraf çerezlere izin ver, ancak kullanıcının bu ayarı değiştirmesine olanak tanı</translation>
 <translation id="2463034609187171371">TLS'deki şifre paketlerini etkinleştir</translation>
 <translation id="2463365186486772703">Uygulama yerel ayarı</translation>
 <translation id="2463832514638083341">Bu politika, yazdırma işleri meta verilerinin cihazda kaç gün saklanacağını kontrol eder.
@@ -906,6 +928,7 @@
       Politika değeri gün olarak belirtilmelidir.</translation>
 <translation id="2466131534462628618">Giriş portalı kimlik doğrulaması, proxy'yi yoksayar</translation>
 <translation id="247658312644322296">"PDF olarak kaydet" hedefi</translation>
+<translation id="2478756867046106663">Kötüye kullanım deneyimi yaşatan sitelerin yeni pencere veya sekme açmasına izin ver</translation>
 <translation id="2480971699591919564">Kullanıcı Oturum açmışken, kullanıcıların Chrome Masaüstü cihazlardan bir Android cihaza telefon numaraları göndermesine olanak tanıyan Tıkla ve Ara özelliğini etkinleştirin. Daha fazla bilgi edinmek için https://support.google.com/chrome/answer/9430554?hl=tr adresindeki yardım merkezi makalesine bakın.
 
       Bu politika etkin olarak ayarlanırsa Chrome kullanıcısı için Android cihazlara telefon numaraları gönderme özelliği etkinleştirilir.
@@ -1010,6 +1033,7 @@
 
       Bu politika hiç ayarlanmazsa; kullanıcı, veri sıkıştırma proxy'si özelliğinin kullanılıp kullanılmayacağını seçebilir.</translation>
 <translation id="257788512393330403">Altı saatte bir şifre girilmesi gerekir</translation>
+<translation id="2586117300379904732">Güç yönetimi için uyanık kalma kilitlerine izin ver</translation>
 <translation id="2587719089023392205"><ph name="PRODUCT_NAME" /> ürününü varsayılan tarayıcım olarak ayarla</translation>
 <translation id="2588252329503406673">Politika ayarlanırsa, oturum açma ekranı görünürken bir süre kullanıcı etkinliği olmadığında <ph name="PRODUCT_OS_NAME" /> tarafından nasıl hareket edileceğini görebilirsiniz. Bu politika birden çok ayarı kontrol eder. Ayrı ayrı anlam ve değer aralıkları için bir oturumda güç yönetimini kontrol eden ilgili politikalara bakın.
 
@@ -1851,6 +1875,11 @@
 <translation id="3816312845600780067">Otomatik giriş için kurtarma klavye kısayolunu etkinleştir</translation>
 <translation id="3817323252437541502">Gelişmiş Koruma programına kayıtlı kullanıcılar için ek koruma özelliklerini etkinleştir</translation>
 <translation id="3821861026311587684">Hesabının kimlik doğrulaması geçersiz hale geldiğinde kullanıcıyı çıkış yapmaya zorla</translation>
+<translation id="3823381379309653965">Politikanın ayarlanması, cihaz yönetimi hizmetinin cihaz politikası bilgileri için sorgulandığı süreyi milisaniye olarak belirtir. Geçerli değerler, 1.800.000 (30 dakika) ile 86.400.000 (1 gün) aralığındadır. Bu aralık dışındaki değerler ilgili sınıra ayarlanır.
+
+      Politika ayarlanmadan bırakılırsa <ph name="PRODUCT_OS_NAME" />, 3 saat olan varsayılan değeri kullanır.
+
+      Not: Politika bildirimleri, politika değiştiğinde yenileme yapılmasını zorlar, böylece sık sık yenileme yapılması gerekmez. Dolayısıyla, platform bu bildirimleri destekliyorsa yenileme gecikmesi 24 saat olarak ayarlanır (varsayılanlar ve bu politikanın değeri yok sayılır).</translation>
 <translation id="382476126209906314">Uzaktan erişim ana makineleri için TalkGadget önekini yapılandır</translation>
 <translation id="3824972131618513497">Güç yönetimi ve yeniden başlatmayla ilgili ayarları kontrol eder.</translation>
 <translation id="3825873934240606959">Yerel cihaz bulmayı engelle</translation>
@@ -1981,6 +2010,7 @@
 <translation id="3956686688560604829">Eski Tarayıcı Desteği için Internet Explorer'ın SiteList politikasını kullanma.</translation>
 <translation id="3958586912393694012">Smart Lock'un kullanılmasına izin ver</translation>
 <translation id="3962445567482559878">Asistan ilk katılım deneyiminin EDU modunu kullanma</translation>
+<translation id="396261881101930204">Kullanıcının medya önerilerini görmesini engelle</translation>
 <translation id="3963602271515417124">True (doğru) olarak ayarlanırsa, cihaz için uzaktan doğrulamaya izin verilir, otomatik olarak bir sertifika oluşturulup Cihaz Yönetim Sunucusuna yüklenir.
 
 False (yanlış) olarak ayarlanırsa veya hiç ayarlanmazsa, hiçbir sertifika oluşturulmaz ve enterprise.platformKeysPrivate API'sine yapılan çağrılar başarısız olur.</translation>
@@ -2073,6 +2103,7 @@
       Bu politika sadece SAML kullanarak kimlik doğrulaması yapan kullanıcıları etkiler.</translation>
 <translation id="4105989332710272578">Bir URL listesi için Sertifika Şeffaflığı uygulamasını devre dışı bırak</translation>
 <translation id="4121350739760194865">Uygulama tanıtımlarının yeni sekme sayfasında görünmesini önle</translation>
+<translation id="4122473079291425973">İçerik varsa Yeni Sekme Sayfası'nda kartları göster, ancak kullanıcının bu ayarı değiştirmesine olanak tanı</translation>
 <translation id="412697421478384751">Kullanıcıların kilit ekranı PIN'i için zayıf PIN'ler ayarlamasına izin ver</translation>
 <translation id="4138655880188755661">Zaman Limiti</translation>
 <translation id="4147818922357566987">Yalnızca önemli düzeltmelerle ilgili varyasyonları etkinleştir</translation>
@@ -2569,6 +2600,15 @@
 
       Politika, Devre Dışı değerine ayarlanırsa <ph name="PRODUCT_NAME" />, bu sorguları göndermez.</translation>
 <translation id="504116558738617678">Düşük disk alanı uyarılarını, yalnızca cihaz yönetilmiyorsa veya yalnızca 1 kullanıcı varsa göster</translation>
+<translation id="5052278640307929670">Politikanın ayarlanması seçilen politikaların, farklı kaynaklardan geldiklerinde aynı kapsamlar ve düzeyle birleştirilmesine izin verir.
+
+      Politika listede yer alıyorsa ve kaynaklar arasında aşağıdaki çakışmaların olması halinde:
+
+      * Aynı kapsamlar ve düzey: Değerler yeni bir politika listesinde birleştirilir.
+
+      * Farklı kapsamlar veya düzey: En yüksek önceliğe sahip politika uygulanır.
+
+      Bir politika listede yoksa ve kaynaklar, kapsamlar veya düzey arasında çakışma varsa en yüksek önceliğe sahip politika uygulanır.</translation>
 <translation id="5056708224511062314">Ekran büyüteci devre dışı</translation>
 <translation id="5058573563327660283">Otomatik temizlik sırasında disk alanı boşaltmak için kullanılan stratejiyi seç (kullanımdan kaldırıldı)</translation>
 <translation id="5061114193960158745">Bu politika, hiçbir zaman tarayıcı geçişine neden olmayacak web sitelerinin listesini kontrol eder. Her öğe bir kural olarak ele alınır. Eşleşen kurallar alternatif bir tarayıcı açmaz. <ph name="URL_LIST_POLICY_NAME" /> politikasından farklı olarak, kurallar her iki yönde de uygulanır. <ph name="IE_PRODUCT_NAME" /> eklentisi etkinse aynı zamanda <ph name="IE_PRODUCT_NAME" /> tarayıcısının bu URL'leri <ph name="PRODUCT_NAME" /> ile açıp açmayacağını da kontrol eder.
@@ -2939,12 +2979,21 @@
       Politikayı False (Yanlış) değerine ayarlamak, <ph name="PRODUCT_NAME" /> ürününün ürün bilgilerini tam sekme içeriği olarak göstermesini önler.
 
       Bu politika, kullanıcıların <ph name="PRODUCT_NAME" /> ürününde oturum açmalarına, <ph name="PRODUCT_NAME" /> ürününü kullanıcının varsayılan tarayıcısı olarak ayarlamasına veya ürün özellikleriyle ilgili diğer bilgileri almalarına yardımcı olan karşılama sayfalarının sunulmasını kontrol eder.</translation>
+<translation id="544654037134815017">Bu politika, Yeni Sekme Sayfası'nda kartların görünürlüğünü kontrol eder. Kartlar, kullanıcının göz atma davranışına göre genel kullanıcı işlemlerini başlatmak için giriş noktalarını gösterir.
+
+      Politika, Etkin değerine ayarlandığında, içerik varsa Yeni Sekme Sayfası, kartları gösterir.
+
+      Politika, Devre Dışı değerine ayarlanırsa Yeni Sekme Sayfası, kartları göstermez.
+
+      Politika ayarlanmazsa kart görünürlüğünü kullanıcı kontrol edebilir. Varsayılan ayarda kartlar görünür.
+      </translation>
 <translation id="5457065417344056871">Tarayıcıda misafir modunu etkinleştir</translation>
 <translation id="5457387982448145430">Politika Etkin değerine ayarlanırsa önceki varsayılan tarayıcıda kayıtlı şifreler ilk çalıştırmada içe aktarılır. Politika Devre dışı değerine ayarlanır veya ayarlanmadan bırakılırsa kayıtlı şifreler ilk çalıştırmada aktarılmaz.
 
       Kullanıcılar içe aktarma iletişim kutusunu tetikleyebilir ve kayıtlı şifre onay kutusu, bu politikanın değerine uyacak şekilde işaretlenir veya işareti kaldırılır.</translation>
 <translation id="5457924070961220141"><ph name="PRODUCT_FRAME_NAME" /> yüklendiğinde varsayılan HTML oluşturucusunu yapılandırabilmenizi sağlar.
           Bu politika ayarlanmadan bırakılırsa kullanılan varsayılan ayar, oluşturma işlemini ana makine tarayıcısının yapmasına izin vermektir, ancak isteğe bağlı olarak bu ayarı geçersiz kılabilir ve HTML sayfalarını oluşturma işleminin varsayılan olarak <ph name="PRODUCT_FRAME_NAME" /> tarafından yapılmasını sağlayabilirsiniz.</translation>
+<translation id="5460797984317417682">Tam ekran uyarısını etkinleştir</translation>
 <translation id="5464816904705580310">Yönetilen kullanıcılar için ayarları yapılandırın.</translation>
 <translation id="5466596281866046569">Uygulama bilgilerini bildir</translation>
 <translation id="546726650689747237">AC güçle çalışırken ekran karartma gecikmesi</translation>
@@ -3253,6 +3302,11 @@
 <translation id="5946329690214660966">Güncellemeleri kontrol etmek için özel bir program belirle</translation>
 <translation id="5951418260805607969">Disk alanı azaldığında bildirim göster</translation>
 <translation id="5958746038080720143">Otomatik Web Proxy Keşfi (WPAD) optimizasyonunu etkinleştir</translation>
+<translation id="5959428851851090097">Politika Etkin değerine ayarlandığında platform politikasıyla çakışıyorsa bulut politikası tercih edilir.
+
+      Politika Devre Dışı değerine ayarlandığında veya ayarlanmadan bırakıldığında bulut politikasıyla çakışıyorsa platform politikası tercih edilir.
+
+      Bu zorunlu politika, makine kapsamı bulut politikalarını etkiler.</translation>
 <translation id="5961137303188584693">Cihazın dahili NIC MAC adresi</translation>
 <translation id="5966615072639944554">Uzaktan doğrulama API'sını kullanmasına izin verilen uzantılar</translation>
 <translation id="5975765799383881158">Politika, Etkin değerine ayarlanır veya ayarlanmadan bırakılırsa kullanıcılar Menü &gt; Yardım &gt; Sorun Bildirin adımlarını veya tuş kombinasyonunu kullanarak Google'a geri bildirim gönderebilir.
@@ -3346,6 +3400,8 @@
 
       Bir URL kalıbı bu biçimi uygular (https://www.chromium.org/administrators/url-blacklist-filter-format). Bununla birlikte, belirli bir ana makine adı için sertifikaların geçerliliği şema, bağlantı noktası veya yoldan bağımsız olduğundan, <ph name="PRODUCT_NAME" /> yalnızca URL'nin ana makine adı bölümünü dikkate alır. Joker karakter içeren ana makine adları desteklenmez.</translation>
 <translation id="6111936128861357925">Dinozor Paskalya Yumurtası Oyununa İzin Verme</translation>
+<translation id="6123052603197028610">Zaman damgalarını almak için Google sunucularına sorgu gönderilmesine izin verme</translation>
+<translation id="6132506775968708399">3. taraf çerezleri engelle</translation>
 <translation id="6133088669883929098">Tüm sitelerin anahtar oluşturma işlevini kullanmasına izin ver</translation>
 <translation id="6135398260575578389">Güvenli Tarama gelişmiş modda etkin. Bu mod daha yüksek güvenlik sağlar, ancak Google ile daha fazla tarama bilgisi paylaşmayı gerektirir.</translation>
 <translation id="6138636318340561140">Ziyaret edilen URL'lerin Güvenli Tarama durumunu gerçek zamanlı olarak kontrol et</translation>
@@ -3358,6 +3414,11 @@
       Aksi takdirde, yerel IP adresleri mDNS ana makine adlarıyla gizlenir.
       Bu politikanın, yöneticilerin ihtiyaç duyması halinde yerel IP'lerin korunmasını zayıflattığını lütfen unutmayın.</translation>
 <translation id="614662973812186053">Bu politika, Android kullanımını ve teşhis verilerini toplama çalışmalarını da kontrol eder.</translation>
+<translation id="6148540081388423836">Politika, Etkin değerine ayarlanırsa <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> hizmetine kaydolmak zorunlu olur ve başarısız olması halinde <ph name="PRODUCT_NAME" /> ürününün işlemi başlatmasını engeller.
+
+      Politika, Devre Dışı değerine ayarlanır veya ayarlanmadan bırakılırsa <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> isteğe bağlı olur ve başarısız olması halinde <ph name="PRODUCT_NAME" /> ürününün işlemi başlatmasını engellemez.
+
+      Masaüstünde makine kapsamı bulut politika kaydı bu politikayı kullanır. Ayrıntılar için https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744 adresine bakın.</translation>
 <translation id="6155350825868160236">Kullanıcının, Google web hizmetlerinin yazım hatalarını çözmek için kullanılıp kullanılmayacağını seçmesine izin ver</translation>
 <translation id="6155936611791017817">Giriş ekranında büyük imleç modunun varsayılan durumunu ayarla</translation>
 <translation id="6157537876488211233">Proxy atlama kurallarının noktalı virgül ile ayrılmış listesi</translation>
@@ -3433,6 +3494,7 @@
       Politikaya ait her liste öğesi, noktalı virgülle (<ph name="SEMICOLON" />) ayrılmış bir uzantı kimliği ve isteğe bağlı bir "güncelleme" URL'si içeren bir dizedir. Uzantı kimliği, örneğin geliştirici modundayken <ph name="CHROME_EXTENSIONS_LINK" /> bağlantısında bulunabilen 32 harfli bir dizedir. "Güncelleme" URL'si (belirtilmişse) <ph name="LINK_TO_EXTENSION_DOC1" /> dokümanında açıklandığı gibi bir güncelleme manifest XML dokümanına işaret etmelidir. Varsayılan olarak Chrome Web Mağazası'nın güncelleme URL'si kullanılır (şu anda "https://clients2.google.com/service/update2/crx" şeklindedir). Bu politikada ayarlanan "güncelleme" URL'sinin sadece ilk yükleme için kullanıldığına, uzantının sonraki güncellemelerinde ise uzantının manifest dosyasında belirtilen güncelleme URL'sinin kullanıldığına dikkat edin.
 
       Örneğin, <ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" />, standart Chrome Web Mağazası "güncelleme" URL'sinden <ph name="SMART_CARD_CONNECTOR_APP_NAME" /> uygulamasını yükler. Uzantıların barındırılması hakkında daha fazla bilgi için şu adrese bakın: <ph name="LINK_TO_EXTENSION_DOC2" /></translation>
+<translation id="6275497712828649588">Tehlikeli olabilecek komut satırı işaretleri kullanıldığında güvenlik uyarılarını gizle</translation>
 <translation id="6275833043726517413">Yeni <ph name="CORS" /> yerine eski <ph name="CORS" /> uygulamasını kullan.
 
       Bu ayar Doğru değerine ayarlanırsa önceki sürümlerle uyumlu olması gereken eski uygulama kullanılır.
@@ -3452,6 +3514,7 @@
 
       Not: İstemcinin belirtilen gün sayısından daha uzun bir süre boyunca çevrimdışı olması halinde şifreler, söz konusu gün sayısı geçmesine rağmen değiştirilmeyebilir.</translation>
 <translation id="6281043242780654992">Yerel Mesajlaşma için politikaları yapılandırır. Kara listeye alınan yerel mesajlaşma ana makinelerine, beyaz listeye eklenmedikçe izin verilmez.</translation>
+<translation id="6282524907402492171"><ph name="CLOUD_PRINT_NAME" /> için kullanımdan kaldırma uyarılarını göster</translation>
 <translation id="6282799760374509080">Ses yakalamaya izin verme veya reddetme</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
 <translation id="6310223829319187614">Kullanıcı oturum açarken alan adı otomatik doldurma özelliğini etkinleştir</translation>
@@ -3462,6 +3525,15 @@
 <translation id="631183702829488873">Etkinleştirildiğinde bu özellik, giriş ve kilit ekranında şifrenin görüntülenmesini sağlayan bir düğme gösterir.
           Bu düğme, şifre metin alanında göz simgesi olarak gösterilir. Özellik devre dışı bırakıldığında bu düğme gösterilmez.
       </translation>
+<translation id="6313170479290171718">Bu politika kullanımdan kaldırıldı. Bunun yerine lütfen <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> politikasını kullanın.
+
+      Politikayı Doğru değerine ayarlamak, oturum açma ekranında dokunmatik klavyeyi açık tutar. Politikayı Yanlış değerine ayarlamak, oturum açma ekranında dokunmatik klavyeyi kapalı tutar.
+
+      Politikayı ayarlarsanız kullanıcılar dokunmatik klavyeyi geçici olarak açabilir veya kapatabilir. Oturum açma ekranı yeniden yüklendiğinde veya bir dakika boşta kaldığında orijinal durumuna geri döner.
+
+      Ayarlanmazsa oturum açma ekranında dokunmatik klavye kapalıdır. Kullanıcılar, özelliği istedikleri zaman açabilir ve özelliğin oturum açma ekranındaki durumu tüm kullanıcılar için aynı kalır.
+
+      Not: <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> belirtilmişse bu politikayı geçersiz kılar.</translation>
 <translation id="6319198883324703402">Kullanıcıya gönderilecek ilk yeniden başlatma bildiriminin zamanını ayarla</translation>
 <translation id="6330882599388782338">Sitelerin sensörlere erişmesine izin ver</translation>
 <translation id="6331167725613770725">Bu politikanın artık kullanılmadığını ve <ph name="PRODUCT_OS_NAME" /> sürüm 85'te kaldırılacağını unutmayın. Lütfen bunun yerine <ph name="POWER_MANAGEMENT_IDLE_SETTINGS_POLICY_NAME" /> politikasını kullanın.
@@ -3614,6 +3686,7 @@
 
       Ayarlanmazsa Kullanıcıların karar vermesine izin ver veya Yok olarak ayarlandığında kullanıcılar otomatik saat dilimi algılama seçeneğini chrome://settings sayfasındaki normal kontrolleri kullanarak ayarlar.</translation>
 <translation id="6532769014584932288">Uyanık kalma kilitlerine izin ver</translation>
+<translation id="6536444379078076149">Bir bağlantı etkin olduğunda ana makine masaüstünde bağlantıyla ilgili kullanıcı arayüzünün görüntülenmesini etkinleştir veya devre dışı bırak.</translation>
 <translation id="6536600139108165863">Cihaz kapandığında otomatik olarak yenide başlat</translation>
 <translation id="6539246272469751178">Bu politikanın Android uygulamaları üzerinde hiçbir etkisi yoktur. Android uygulamaları daima varsayılan indirme dizinini kullanır ve <ph name="PRODUCT_OS_NAME" /> tarafından, varsayılan olmayan indirme dizinine indirilen dosyalara erişemez.</translation>
 <translation id="654303922206238013">ecryptfs için taşıma stratejisi</translation>
@@ -3678,6 +3751,7 @@
 
       Active Directory tarafından yönetilen cihazlarda bu politika, <ph name="MACHINE_NAME_VARIABLE" /> değişkeninin Active Directory makine adına veya bunun bir alt dizesine genişletilmesini destekler. Örneğin, makine adı <ph name="MACHINE_NAME_EXAMPLE" /> ise <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" />, 6. konumdan sonra başlayan 4 karakterle değiştirilir (<ph name="MACHINE_NAME_PART_EXAMPLE" /> gibi). Konumun sıfır tabanlı olduğuna dikkat edin.
       </translation>
+<translation id="6584541828182430328">Tam ekran uyarısının gösterilmesini devre dışı bırak</translation>
 <translation id="6588522781970773591">Politikanın ayarlanması, mevcut uzantılarla alakalı politikalar dahil olmak üzere <ph name="PRODUCT_NAME" /> ürünü için uzantı yönetim ayarlarını kontrol eder. Bu politika, önceden ayarlanmış (varsa) tüm eski politikaların yerini alır.
 
       Bu politika, uzantı kimliklerini veya güncelleme URL'lerini yalnızca kendisine özgü ayarlarla eşler. <ph name="DEFAULT_SCOPE" /> özel kimliği için varsayılan bir yapılandırma ayarlanabilir. Bu varsayılan yapılandırma, bu politikada özel bir yapılandırma ayarlanmamış tüm uzantılara uygulanır. Güncelleme URL'si olduğunda yapılandırma, uzantı manifest'inde ( http://support.google.com/chrome/a?p=Configure_ExtensionSettings_policy ) belirtilenle tam olarak aynı güncelleme URL'sine sahip tüm uzantılara uygulanır.
@@ -4311,6 +4385,7 @@
 <translation id="7448430478749155471">Giriş ekranında seç ve dinle özelliğini etkinleştir</translation>
 <translation id="7458437477941640506">OS sürümü hedeften daha yeniyse hedef sürüme geri dönmeyin. Güncellemeler de devre dışı bırakılır.</translation>
 <translation id="7459601923199346224">Sertifika yönetimi için kullanıcı ve cihaz politikalarını kontrol eder.</translation>
+<translation id="7459633275230216698">Dosya seçimi iletişim kutularına izin ver</translation>
 <translation id="7464991223784276288">Eşleşen URL'lerden çerezleri geçerli oturumla sınırlama</translation>
 <translation id="7468182772656807573">Politikanın ayarlanması, izleme amaçlı ağ paketlerinin ne sıklıkla gönderileceğini (milisaniye olarak) belirler. Sıklık 30 saniye ile 24 saat arasında değişir. Bu aralığın dışındaki değerler aralık içine kaydırılır.
 
@@ -4366,6 +4441,9 @@
       Belirtilen cihazda wilco DTC kullanılabiliyorsa ve politika true (doğru) değerine ayarlanırsa, telemetri ve teşhis verilerinin toplanması, işlenmesi ve raporlanması etkinleştirilir.</translation>
 <translation id="7519251620064708155">Bu sitelerde anahtar oluşturmaya izin ver</translation>
 <translation id="7529144158022474049">Dağılım faktörünü otomatik güncelle</translation>
+<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.
@@ -4373,6 +4451,7 @@
       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>
 <translation id="7547549430720182663">Birleştir</translation>
 <translation id="7553535237300701827">Bu politika ayarlandığında, ayarın değerine bağlı olarak giriş kimlik doğrulama akışında aşağıdaki yollardan biri kullanılır:
 
@@ -4465,6 +4544,7 @@
 <translation id="7643883929273267746"><ph name="PRODUCT_NAME" /> içinde görülebilen hesapları kısıtlama</translation>
 <translation id="7648907905084499629">Tüm sitelerde çerezler için <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" /> davranışını kullan</translation>
 <translation id="7657261947024629645">Performans için optimize et.</translation>
+<translation id="7666228839913571182">3. taraf çerezlere izin ver</translation>
 <translation id="7668830462800981702">Politika, Etkin değerine ayarlanırsa kullanıcı adres çubuğuna URL olmayan metin girdiğinde varsayılan arama gerçekleştirilir. Varsayılan arama sağlayıcısını belirtmek için geri kalan arama politikalarını ayarlayın. Bu politikaları boş bırakırsanız kullanıcı varsayılan sağlayıcısını seçebilir. Politika, Devre dışı değerine ayarlanırsa kullanıcı adres çubuğuna URL olmayan metin girdiğinde arama gerçekleşmez.
 
       Bu politikayı ayarlarsanız kullanıcılar <ph name="PRODUCT_NAME" /> ürününde değiştiremez. Ayarlanmadan bırakılırsa varsayılan arama sağlayıcısı etkin hale gelir ve kullanıcılar, arama sağlayıcısı listesini ayarlayabilir.
@@ -4508,6 +4588,8 @@
 
       Not: Şu an için, otomatik yeniden başlatmalar yalnızca giriş ekranı gösteriliyorsa veya bir kiosk uygulama oturumu devam ediyorsa etkinleştirilir. Bu durum gelecekte değişecektir ve politika, herhangi bir özel türden oturumun devam edip etmediğinden bağımsız olarak her zaman uygulanacaktır.</translation>
 <translation id="7701341006446125684">Uygulamalar ve Uzantılar için önbellek boyutunu ayarla (bayt olarak)</translation>
+<translation id="7703737669292992839">Dosya seçimi iletişim kutularını engelle</translation>
+<translation id="7709470712369261710">Otomatik resim açıklamaları sağlamak için Google hizmetlerini kullanma</translation>
 <translation id="7710950688502974809">Chrome'da panodan veri girildiğinde veya web içeriği sürüklenip bırakıldığında tetiklenen <ph name="ON_BULK_DATA_ENTRY_ENTERPRISE_CONNECTOR" /> Enterprise Bağlayıcı'ya uygulanacak Chrome Enterprise Bağlayıcılar hizmetleri ayarlarının listesidir.
 
       <ph name="ENTERPRISE_CONNECTOR_URL_LIST_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_TAGS_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_ENABLE_FIELD" /> ve <ph name="ENTERPRISE_CONNECTOR_DISABLE_FIELD" /> alanları, bağlayıcı belirli bir sayfada girildiğinde analiz için veri gönderip göndermemesi gerektiğini ve bu veri analiz isteğine hangi etiketlerin dahil edileceğini belirlemek üzere kullanılır. Sayfa URL'si etiketle ilişkilendirilen desenle eşleşirse "etkinleştir" desenine karşılık gelen bu etiket analiz isteğine dahil edilir. Bu, aynı etikete sahip "devre dışı bırak" deseni sayfa URL'si ile eşleşirse gerçekleşmez. Analiz, isteğe en az 1 etiket dahil edilecekse gerçekleşir.
@@ -4551,6 +4633,11 @@
       Politika Devre Dışı değerine ayarlanırsa kullanıcıların uyarı sayfalarını tıklamalarına izin verilmez.</translation>
 <translation id="7750991880413385988">Yeni Sekme Sayfasını aç</translation>
 <translation id="7754704193130578113">İndirmeden önce her dosyanın nereye kaydedileceğini sor</translation>
+<translation id="7754893969683595513">Politikanın ayarlanması, cihaz yönetimi hizmetinin kullanıcı politikası bilgileri için sorgulandığı süreyi milisaniye olarak belirtir. Geçerli değerler, 1.800.000 (30 dakika) ile 86.400.000 (1 gün) aralığındadır. Bu aralık dışındaki değerler ilgili sınıra ayarlanır.
+
+      Politika ayarlanmadan bırakılırsa 3 saat olan varsayılan değer kullanılır.
+
+      Not: Politika bildirimleri, politika değiştiğinde yenileme yapılmasını zorlar, böylece sık sık yenileme yapılması gerekmez. Dolayısıyla, platform bu bildirimleri destekliyorsa yenileme gecikmesi 24 saat olarak ayarlanır (varsayılanlar ve bu politikanın değeri yok sayılır).</translation>
 <translation id="7758378441185523981">Ambiyans Kimlik Doğrulamasını profil türlerine göre etkinleştir.</translation>
 <translation id="776110834126722255">Kullanımdan kaldırıldı</translation>
 <translation id="7763614521440615342">Yeni Sekme sayfasında içerik önerileri göster</translation>
@@ -4641,6 +4728,7 @@
 
       Politika Devre dışı değerine ayarlanır veya ayarlanmadan bırakılırsa CNAME araması, Kerberos SPN'i oluşturulurken sunucunun standart adını belirler.</translation>
 <translation id="7912255076272890813">İzin verilen uygulama/uzantı türlerini yapılandır</translation>
+<translation id="791267408364877739">Tehlikeli olabilecek komut satırı işaretleri kullanıldığında güvenlik uyarılarını göster</translation>
 <translation id="7922358664346625612">Chrome'da son sekmeyi açık tut.</translation>
 <translation id="793134539373873765">OS güncelleme yükleri için p2p'nin kullanılıp kullanılmayacağını belirtir. Doğru seçeneğine ayarlanırsa, cihazlar LAN üzerindeki yükleri paylaşır ve kullanmaya çalışır, bu da İnternet bant genişliği kullanımını ve tıkanıklığını potansiyel olarak azaltır. Güncelleme yükü LAN'da kullanılamıyorsa, cihaz bir güncelleme sunucusundan indirme işlemine geçer. Yanlış seçeneğine ayarlanırsa veya yapılandırılmazsa p2p kullanılmaz.</translation>
 <translation id="7933141401888114454">Denetlenen kullanıcılar oluşturmayı etkinleştir</translation>
@@ -4701,6 +4789,9 @@
 <translation id="8006219716745491366"><ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> açıksa <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> protokolünün ayarlanması, arama motorundan arama terimlerini çıkartmak için alternatif URL'lerin bir listesini belirtir. Bu URL'ler, <ph name="SEARCH_TERM_MARKER" /> dizesini içermelidir.
 
       <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> protokolü ayarlanmadan bırakılırsa arama terimlerini çıkartmak için alternatif URL kullanılmaz.</translation>
+<translation id="8006921530139404577">Bu politika devre dışı bırakılırsa perde modunda olmayan uzaktan erişim bağlantıları için bağlantıyla ilgili kullanıcı arayüzü (ör. bağlantıyı kesme penceresi) gösterilmez. Perde modunda uzaktan erişim oturumları ve uzaktan destek oturumları bu politikadan etkilenmez.
+
+          Doğru değerine ayarlanırsa, boş bırakılırsa veya ayarlanmazsa bu politikanın hiçbir etkisi olmaz.</translation>
 <translation id="8011935490612940798"><ph name="PRODUCT_NAME" /> özelliğini kontrol eder.</translation>
 <translation id="802147957407376460">Ekranı 0 derece döndür</translation>
 <translation id="8027265928215448940">Chrome'da bir dosya indirildiğinde tetiklenen <ph name="ON_FILE_DOWNLOADED_ENTERPRISE_CONNECTOR" /> Enterprise Bağlayıcı'ya uygulanacak Chrome Enterprise Bağlayıcılar hizmetleri ayarlarının listesidir.
@@ -4740,6 +4831,7 @@
 <translation id="8053580360728293758">Varsayılan renkli yazdırma modunu geçersiz kılar. Mod mevcut değilse bu politika yoksayılır.</translation>
 <translation id="8056237304861875584">Telefon Merkezi görev devamının etkinleştirilmesine izin ver.</translation>
 <translation id="8059164285174960932">Uzaktan erişim istemcilerinin kimlik doğrulama jetonunu edinmesi gerektiği URL</translation>
+<translation id="8062485064082966327">Etiketlenmemiş resimlere otomatik olarak açıklama sağlamak için anonim bir Google hizmeti kullan</translation>
 <translation id="8076521374016204899">Politika, Etkin değerine ayarlanır veya ayarlanmadan bırakılırsa şifreyle kimlik doğrulayan kullanıcılar ekranı kilitleyebilir.
 
       Politika, Devre Dışı değerine ayarlanırsa kullanıcılar ekranı kilitleyemez. (Yalnızca kullanıcı oturumundan çıkış yapabilirler.)</translation>
@@ -4819,8 +4911,10 @@
 <translation id="816783746144552109">Cihaz için izin verilen minimum Chrome sürümünü yapılandırın.</translation>
 <translation id="8171924760436219650">Giriş ekranında birincil fare düğmesini sağ düğme yap</translation>
 <translation id="8176035528522326671">Kurumsal kullanıcının sadece birincil çok profilli kullanıcı olmasına izin ver (Kurumsal olarak yönetilen kullanıcılar için varsayılan çalışma biçimidir)</translation>
+<translation id="8179161412673077784">Kötüye kullanım deneyimi yaşatan sitelerin yeni pencere veya sekme açmasını engelle</translation>
 <translation id="8183108371184777472">Tarayıcı penceresini başlatmayı engelleme</translation>
 <translation id="8186911565834244165">Kullanıcı geri bildirimine izin ver</translation>
+<translation id="8195133650230097559">Güç yönetimi için uyanık kalma kilidi isteklerini yok say</translation>
 <translation id="8196558469954193908">Bu politika, istemci sertifikaları kullanımdayken HTTP/2 bağlantısının birleşmesine izin verir. Birleşme için hem potansiyel yeni bağlantı ana makine adının hem de mevcut bir bağlantının ana makine adının, bu politika tarafından açıklanan bir veya daha fazla kalıpla eşleşmesi gerekir. Bu politika, <ph name="URL_BLOCKLIST_POLICY_NAME" /> filtre biçiminin kullanıldığı bir ana makine listesidir: "example.com", "example.com" ve tüm alt alan adlarıyla (ör. "sub.example.com") eşleşirken, ".example.net" tam olarak "example.net" ile eşleşir.
 
       İstemci sertifikaları kullanan bağlantılar üzerinden farklı ana makinelerle birleşme istekleri, kullanıcı açık bir şekilde yetkilendirilmemiş olsa bile ortam yetkisi tüm isteklere aktarılacağı için güvenlik ve gizlilikle ilgili sorunlara yol açabilir. Bu geçici bir politikadır ve gelecekte yayınlanacak bir sürümde kaldırılacaktır. Bilgi için https://crbug.com/855690 adresine bakın.
@@ -4865,6 +4959,15 @@
 Bu ayarların manuel olarak yapılandırılması gerekmez! Windows, Mac ve Linux için kullanımı kolay şablonlar <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" /> adresinden indirilebilir.
 
 Windows'da politika yapılandırmak için önerilen yol GPO kullanmaktır. Ancak, bir <ph name="MS_AD_NAME" /> alanına katılmış Windows örnekleri için politikanın temel hazırlığının kayıt defteri kullanılarak yapılması da desteklenir.</translation>
+<translation id="8261874086461353268">Politikanın ayarlanması seçilen politikaların, farklı kaynaklardan geldiklerinde aynı kapsamlar ve düzeyle birleştirilmesine izin verir. Bu birleştirme, her kaynaktaki sözlüğün ilk düzey anahtarlarında meydana gelir. En yüksek öncelikli kaynaktan gelen anahtar tercih edilir.
+
+      Politika listede yer alıyorsa ve kaynaklar arasında aşağıdaki çakışmalar varsa:
+
+      * Aynı kapsamlar ve düzey: Değerler yeni bir politika sözlüğünde birleştirilir.
+
+      * Farklı kapsamlar veya düzey: En yüksek önceliğe sahip politika uygulanır.
+
+      Bir politika listede yoksa ve kaynaklar, kapsamlar veya düzey arasında çakışma varsa en yüksek önceliğe sahip politika uygulanır.</translation>
 <translation id="8266778278542911985">Politikayı 3 değerine ayarlarsanız web siteleri seri bağlantı noktalarına erişim izni isteyebilir. Politikayı 2 değerine ayarlarsanız seri bağlantı noktalarına erişim izni verilmez.
 
       Politikayı ayarlanmadan bırakırsanız web siteleri erişim izni isteyebilir. Kullanıcılar bu ayarı değiştirebilir.</translation>
@@ -4968,6 +5071,9 @@
 
       Bu politika true (doğru) değerine ayarlanırsa veya ayarlanmadan bırakılırsa kullanıcıya Crostini kapsayıcılarına root erişimi izni verilir.
       Politika false (yanlış) değerine ayarlanırsa kullanıcıya hem mevcut hem de yeni Crostini kapsayıcılara root erişimi izni verilmez.</translation>
+<translation id="8415953438346821074">Bu ayarı etkinleştirirseniz <ph name="PRODUCT_NAME" /> profillerinde depolanan yer işaretleri, otomatik doldurma verileri, şifreler gibi ayarlar ayrıca Dolaşım kullanıcı profil klasöründe depolanan bir dosyaya veya Yönetici tarafından <ph name="ROAMING_PROFILE_LOCATION_POLICY_NAME" /> politikası aracılığıyla belirtilen bir konuma da yazılır. Bu politikayı etkinleştirmek bulut senkronizasyonunu devre dışı bırakır.
+
+      Bu politika devre dışı bırakılır veya ayarlanmazsa yalnızca normal yerel profiller kullanılır.</translation>
 <translation id="8417305981081876834">Kilit ekranı PIN'inin maksimum uzunluğunu ayarla</translation>
 <translation id="8417750118762775739">Politika Devre Dışı değerine ayarlanırsa <ph name="BLANK_PAGE_NAME" /> sayfasını hedefleyen pop-up'lara, pop-up'ın açılmasını isteyen sayfaya erişim (JavaScript aracılığıyla) izni verilir.
 
@@ -5141,6 +5247,7 @@
        Varsayılan halde <ph name="PRODUCT_NAME" /> medyayı otomatik oynatmaz. Ancak belirli URL kalıplarında bu ayarı değiştirmek için <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME" /> politikasını kullanabilirsiniz.
 
       <ph name="PRODUCT_NAME" /> çalışırken bu politika değiştirilirse bu değişiklik sadece yeni açılan sekmeler için geçerli olur.</translation>
+<translation id="8685748277907759932">Kullanıcıların Dokun ve Ara özelliğini kullanmalarını engelle</translation>
 <translation id="8687958770985542440">Web Bileşenleri v0 API'sini M84'e kadar yeniden etkinleştirin.</translation>
 <translation id="8693243869659262736">Dahili DNS istemcisini kullan</translation>
 <translation id="8698286761337647563">SAML kullanıcılarına şifrelerinin son kullanma tarihinin önceden bildirileceği gün sayısı</translation>
@@ -5234,7 +5341,12 @@
       Politikaya ait her liste öğesi, noktalı virgülle (;) ayrılmış bir uzantı kimliği ve isteğe bağlı bir "güncelleme" URL'si içeren bir dizedir. Uzantı kimliği, örneğin Geliştirici modundayken chrome://extensions adresinde bulunabilen 32 harfli bir dizedir. Belirtilmişse "güncelleme" URL'si bir Güncelleme Manifest XML dokümanına işaret etmelidir. (https://developer.chrome.com/extensions/autoupdate). Varsayılan olarak Chrome Web Mağazası'nın güncelleme URL'si kullanılır. Bu politikada ayarlanan "güncelleme" URL'si yalnızca ilk yükleme için kullanılır. Uzantının sonraki güncellemelerinde ise uzantının manifest dosyasındaki güncelleme URL'si kullanılır.
 
        Not: Bu politika gizli mod için geçerli değildir. Uzantıların barındırılması (https://developer.chrome.com/extensions/hosting) ile ilgili bilgi edinin.</translation>
+<translation id="8832829916385857156">Yeni Sekme Sayfası, içerik varsa kartları gösterir</translation>
 <translation id="8833109046074170275">Kimlik doğrulamayı varsayılan GAIA akışıyla yap</translation>
+<translation id="8834641112681661892">Politikanın ayarlanması bir politika iptalinin alınmasıyla cihaz yönetimi hizmetinden yeni politikanın getirilmesi arasındaki maksimum gecikmeyi milisaniye olarak belirtir. Geçerli değerler, 1.000 (1 saniye) ile 300.000 (5 dakika) aralığındadır. Bu aralık dışındaki değerler ilgili sınıra ayarlanır.
+
+      Politika ayarlanmadan bırakılırsa <ph name="PRODUCT_NAME" />, 10 saniye olan varsayılan değeri kullanır.</translation>
+<translation id="885147810817138322">Kullanıcıya medya önerileri göster</translation>
 <translation id="8852579753940989645">Oluşturucu Kod Bütünlüğü'nü etkinleştir</translation>
 <translation id="8854571659927427063">Politika Etkin değerine ayarlanırsa önceki varsayılan tarayıcıdan yer işaretleri ilk çalıştırmada içe aktarılır. Politika Devre dışı değerine ayarlanır veya ayarlanmadan bırakılırsa yer işaretleri ilk çalıştırmada içe aktarılmaz.
 
@@ -5268,6 +5380,7 @@
           Burada belirtilen kalıpların dışında kalan alan adlarındaki çerezler ya da bu politika ayarlanmazsa tüm çerezler için <ph name="LEGACY_SAMESITE_COOKIE_BEHAVIOR_ENABLED_POLICY_NAME" /> politikası ayarlandıysa buradaki değer, aksi takdirde kullanıcının kişisel yapılandırması genel varsayılan değer olarak kullanılır.
 
           Burada listelediğiniz kalıpların URL değil alan adı olarak değerlendirildiğini, bu yüzden bir şema veya bağlantı noktası belirtmemeniz gerektiğini unutmayın.</translation>
+<translation id="8890438048579188548"><ph name="CLOUD_PRINT_NAME" /> ürününün kullanımdan kaldırma uyarılarını gizler</translation>
 <translation id="8892286064305622118"><ph name="PLUGIN_VM_NAME" /> için gereken boş disk alanı</translation>
 <translation id="8904721489610046109">Politika etkinleştirilirse ağ sınırlama etkinleştirilir veya devre dışı bırakılır. Yani sunulan yükleme ve indirme hızlarına (kbit/sn.) ulaşmak için sistem kısıtlanır. Bu, cihazdaki tüm arayüzler ve kullanıcılar için geçerlidir.</translation>
 <translation id="8906768759089290519">Misafir modunu etkinleştir</translation>
@@ -5397,6 +5510,7 @@
       Politikayı ayarlarsanız <ph name="PRODUCT_NAME" /> (kullanıcıların --disk-cache-size bayrağını belirtip belirtmediklerinden bağımsız olarak) sağladığınız önbellek boyutunu kullanır. (Birkaç megabaytın altındaki değerler yukarı yuvarlanır.)
 
       Ayarlanmazsa <ph name="PRODUCT_NAME" /> varsayılan boyutu kullanır. Kullanıcılar bu ayarı --disk-cache-size bayrağını kullanarak değiştirebilirler.</translation>
+<translation id="9055866143096316150">Ekran uyanık kalma kilidi isteklerini, sistem uyanık kalma kilidi isteklerine düşür</translation>
 <translation id="9057444687284972605">URL kalıpları listesi belirtmenize olanak tanır. Bu liste, site sertifika isteğinde bulunursa SAML akışını barındıran çerçevedeki oturum açma ekranında bir istemci sertifikasının otomatik olarak seçileceği sitelerin belirtildiği bir listedir. SAML IdP'ye sunulması amacıyla cihaz genelinde bir sertifikanın yapılandırılması buna örnek olarak gösterilebilir.
 
       <ph name="URL_PATTERN_PLACEHOLDER" /> içerik ayarı kalıbı olduğunda değer, her biri <ph name="AUTO_SELECT_CERTIFICATE_FOR_URLS_EXAMPLE" /> biçiminde dizili JSON sözlükleri dizisidir. <ph name="FILTER_PLACEHOLDER" />, tarayıcının otomatik seçtiği istemci sertifikalarını sınırlandırır. Filtreden bağımsız olarak, yalnızca sunucunun sertifika isteğiyle eşleşen sertifikalar seçilir.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index aa977f7..ffb61ae 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -77,6 +77,7 @@
       Nếu bạn đặt chính sách này thành true, thì thông tin về đèn nền của thiết bị sẽ được báo cáo.</translation>
 <translation id="1076751984131277498">Danh sách thiết bị USB được phép tháo</translation>
 <translation id="1079801999187584280">Không cho phép sử dụng Công cụ dành cho nhà phát triển</translation>
+<translation id="1082802595100075771">Cho phép người dùng chọn sử dụng một dịch vụ ẩn danh của Google để cung cấp nội dung mô tả tự động cho những hình ảnh chưa gắn nhãn</translation>
 <translation id="1087437665304381368">Chính sách này chỉ kiểm soát chế độ nhà phát triển của <ph name="PRODUCT_OS_NAME" />. Nếu muốn ngăn khả năng truy cập vào Tùy chọn của nhà phát triển Android, bạn cần đặt chính sách <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" />.</translation>
 <translation id="1087707496788636333">Danh sách chính sách của Chrome Enterprise sẽ chuyển sang vị trí mới! Vui lòng cập nhật dấu trang của bạn thành <ph name="POLICY_DOCUMENTATION_URL" />.</translation>
 <translation id="1093082332347834239">Nếu cài đặt này được bật, máy chủ hỗ trợ từ xa sẽ chạy theo quy trình với các quyền <ph name="UIACCESS_PERMISSION_NAME" />. Điều này sẽ cho phép người dùng ở xa tương tác với cửa sổ bật lên trên màn hình của người dùng cục bộ.
@@ -135,6 +136,7 @@
 <translation id="1198183996903759302">Nếu bạn đặt chính sách này thành True (hoặc đặt <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME" /> thành False), thì các trang web sẽ không thể truy cập vào API WebGL và plugin không thể sử dụng API Pepper 3D.
 
       Nếu bạn đặt chính sách này thành False hoặc không đặt chính sách này, thì các trang web có thể sử dụng API WebGL và plugin có thể sử dụng API Pepper 3D. Tuy nhiên, tùy chọn cài đặt mặc định của trình duyệt có thể vẫn cần có đối số dòng lệnh để sử dụng các API này.</translation>
+<translation id="1202216683470826356">Hiển thị thẻ trên Trang thẻ mới</translation>
 <translation id="1204263402976895730">Đã bật máy in dành cho doanh nghiệp</translation>
 <translation id="120937472976628837">Báo cáo thông tin về quạt</translation>
 <translation id="1216919699175573511">Bật tính năng hỗ trợ cho Signed HTTP Exchange (SXG)</translation>
@@ -172,6 +174,13 @@
 <translation id="1257550411839719984">Đặt thư mục tải xuống mặc định</translation>
 <translation id="1265053460044691532">Hạn chế thời gian người dùng được xác thực qua SAML có thể đăng nhập ngoại tuyến</translation>
 <translation id="127264587838521316">Bật yêu cầu cài đặt tiện ích của <ph name="PRODUCT_NAME" /></translation>
+<translation id="127699919157094139">Tắt tính năng đồng bộ hóa dữ liệu trong <ph name="PRODUCT_NAME" /> bằng các dịch vụ đồng bộ hóa do Google lưu trữ và ngăn người dùng thay đổi tùy chọn cài đặt này.
+
+      Nếu bạn bật tùy chọn cài đặt này, người dùng sẽ không thể thay đổi hoặc ghi đè tùy chọn cài đặt này trong <ph name="PRODUCT_NAME" />.
+
+      Nếu bạn không đặt chính sách này, người dùng có thể chọn có sử dụng Google Sync hay không.
+
+      Để tắt hoàn toàn Google Sync, bạn nên tắt dịch vụ Google Sync trong Bảng điều khiển dành cho quản trị viên Google.</translation>
 <translation id="1290634681382861275">Kiểm soát các tùy chọn cài đặt khác bao gồm USB, Bluetooth, làm mới chính sách, chế độ nhà phát triển và những nội dung khác.</translation>
 <translation id="1291880496936992484">Cảnh báo: RC4 sẽ bị xóa hoàn toàn khỏi <ph name="PRODUCT_NAME" /> sau phiên bản 52 (khoảng tháng 9 năm 2016) và chính sách này sẽ ngừng hoạt động sau đó.
 
@@ -189,6 +198,9 @@
 <translation id="1309465583050255779">Nếu bạn bật <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" />, thì thao tác đặt <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> sẽ chỉ định tên của nhà cung cấp dịch vụ tìm kiếm mặc định.
 
       Nếu bạn không đặt <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" />, thì tên máy chủ do URL tìm kiếm chỉ định sẽ được sử dụng.</translation>
+<translation id="1310052497030002740">Nếu bạn đặt chính sách này, <ph name="PRODUCT_NAME" /> sẽ cố gắng tự đăng ký bằng <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />. Giá trị của chính sách này là mã đăng ký mà bạn có thể truy xuất từ <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />.
+
+      Hãy xem https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744 để biết thông tin chi tiết.</translation>
 <translation id="1312799700549720683">Kiểm soát các tùy chọn cài đặt hiển thị.</translation>
 <translation id="131353325527891113">Hiển thị tên người dùng trên màn hình đăng nhập</translation>
 <translation id="1327466551276625742">Bật lời nhắc về cấu hình mạng khi ngoại tuyến</translation>
@@ -299,6 +311,7 @@
       Việc đặt chính sách này thành False hoặc không đặt chính sách này sẽ ngăn các tiện ích dùng API này.
 
       Lưu ý: Chính sách này cũng áp dụng cho các tiện ích thành phần, chẳng hạn như tiện ích Hangout Services.</translation>
+<translation id="148194404518916594">Cho phép người dùng sử dụng tính năng Chạm để tìm kiếm</translation>
 <translation id="1486021504508098388">Báo cáo thông tin về đèn nền</translation>
 <translation id="1487916040416013623">Nếu bạn đặt chính sách này, hệ thống sẽ chỉ định máy chủ nào sẽ được phép dùng cho quy trình xác thực tích hợp. Tính năng xác thực tích hợp chỉ bật khi <ph name="PRODUCT_NAME" /> nhận được thử thách xác thực từ một proxy hoặc từ một máy chủ có trong danh sách cho phép này.
 
@@ -417,6 +430,8 @@
       Nếu bạn đặt chính sách này, người dùng sẽ không thể thay đổi hay ghi đè chính sách.</translation>
 <translation id="1617235075406854669">Bật xóa lịch sử trình duyệt và lịch sử tải xuống</translation>
 <translation id="1620510694547887537">Camera</translation>
+<translation id="1626379196197114720">Cho phép sử dụng bộ nhớ đệm cho thao tác tiến/lùi</translation>
+<translation id="1628974048137236820">Trang thẻ mới sẽ không hiển thị thẻ</translation>
 <translation id="163200210584085447">Các mẫu trong danh sách này sẽ được đối sánh dựa trên nguồn gốc
       bảo mật của URL yêu cầu.  Nếu tìm thấy mẫu phù hợp, quyền
       truy cập thiết bị quay video sẽ được cấp trên
@@ -513,6 +528,7 @@
       ghi đè các chính sách không tương thích.</translation>
 <translation id="1843117931376765605">Chính sách tốc độ làm mới cho người dùng</translation>
 <translation id="1844620919405873871">Định cấu hình chính sách liên quan đến mở khóa nhanh.</translation>
+<translation id="1844972978764975668">Cho phép sẽ gửi các truy vấn đến máy chủ của Google để truy xuất dấu thời gian chính xác</translation>
 <translation id="1845405905602899692">Cài đặt kiosk</translation>
 <translation id="1845429996559814839">Hạn chế chế độ in mã PIN</translation>
 <translation id="1847960418907100918">Chỉ định tham số được dùng khi thực hiện tìm kiếm tức thì với POST. Tham số này bao gồm các cặp tên/giá trị phân tách bằng dấu phẩy. Nếu một giá trị là tham số mẫu như {searchTerms} trong ví dụ trên, tham số đó sẽ được thay thế bằng dữ liệu cụm từ tìm kiếm thực.
@@ -656,6 +672,7 @@
 <translation id="2077129598763517140">Sử dụng chế độ tăng tốc phần cứng khi khả dụng</translation>
 <translation id="2077273864382355561">Độ trễ tắt màn hình khi chạy trên nguồn pin</translation>
 <translation id="2082205219176343977">Định cấu hình phiên bản Chrome tối thiểu được phép cho thiết bị.</translation>
+<translation id="208623333578980446">Cho phép khóa chế độ thức của màn hình để quản lý nguồn điện</translation>
 <translation id="209586405398070749">Kênh ổn định</translation>
 <translation id="2098658257603918882">Bật tính năng báo cáo sử dụng và dữ liệu liên quan đến sự cố</translation>
 <translation id="2104418465060359056">Báo cáo thông tin về Tiện ích và Plugin</translation>
@@ -821,6 +838,7 @@
       Khi bạn đặt chính sách này thành Fast, <ph name="PRODUCT_NAME" /> sẽ tránh tạo điểm ảnh nếu có thể. Việc giảm khối lượng tạo điểm ảnh có thể giúp giảm dung lượng lệnh in và tăng tốc độ in.
 
       Khi bạn không đặt chính sách này, <ph name="PRODUCT_NAME" /> sẽ ở chế độ Full.</translation>
+<translation id="2337859888277013371">Không cho phép sử dụng bộ nhớ đệm cho thao tác tiến/lùi</translation>
 <translation id="2345547870894930157">Bật chế độ DNS qua HTTPS không có phương án dự phòng cho truy vấn không an toàn</translation>
 <translation id="2349117476121456297">Khi bạn đặt chính sách này thành True, hàng phím trên cùng của bàn phím sẽ đóng vai trò là các lệnh phím chức năng. Khi bạn nhấn phím Tìm kiếm, các phím này sẽ trở về chế độ phím phương tiện.
 
@@ -847,6 +865,9 @@
       Các mẫu URL không được xung đột với <ph name="FILE_SYSTEM_READ_BLOCKED_FOR_URLS_POLICY_NAME" />. Không chính sách nào được ưu tiên nếu một URL khớp với cả hai chính sách.
 
       Để biết thông tin chi tiết về các mẫu <ph name="URL_LABEL" /> hợp lệ, vui lòng truy cập vào https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.</translation>
+<translation id="2384233438419344179">Nếu bạn đặt chính sách này thành Bật, thì các phần tử trang web không thuộc miền trong thanh địa chỉ của trình duyệt sẽ không thể đặt cookie. Nếu bạn đặt chính sách này thành Tắt, thì các phần tử trang web đó có thể đặt cookie và người dùng không thể thay đổi tùy chọn cài đặt này.
+
+      Nếu bạn không đặt chính sách này, thì cookie của bên thứ ba sẽ bật nhưng người dùng có thể thay đổi tùy chọn cài đặt này.</translation>
 <translation id="2386362615870139244">Cho phép khóa chế độ thức màn hình</translation>
 <translation id="2394674739523870144">Nếu bạn đặt chính sách này thành một danh sách chuỗi, thì các chuỗi sẽ được liên kết bằng dấu cách và chuyển từ <ph name="IE_PRODUCT_NAME" /> tới <ph name="PRODUCT_NAME" /> ở dạng tham số dòng lệnh. Nếu một tham số chứa <ph name="URL_PLACEHOLDER" />, thì <ph name="URL_PLACEHOLDER" /> sẽ được thay bằng URL của trang cần mở. Nếu không có tham số nào chứa <ph name="URL_PLACEHOLDER" />, thì URL này sẽ được thêm vào cuối dòng lệnh.
 
@@ -915,6 +936,7 @@
        Nếu bạn không đặt chính sách này, báo cáo số liệu sử dụng và dữ liệu chẩn đoán sẽ tắt trên các thiết bị không được quản lý và sẽ bật trên các thiết bị được quản lý.</translation>
 <translation id="2454228136871844693">Tối ưu hóa cho độ ổn định.</translation>
 <translation id="2455033019778127130">Áp dụng hoạt động mặc định của trình duyệt, hiển thị Điều khoản dịch vụ (ToS) và chờ người dùng chấp nhận.</translation>
+<translation id="2460238670327375238">Cho phép các cookie của bên thứ ba nhưng cho phép người dùng thay đổi tùy chọn cài đặt này</translation>
 <translation id="2463034609187171371">Bật bộ thuật toán mật mã DHE trong TLS</translation>
 <translation id="2463365186486772703">Ngôn ngữ của ứng dụng</translation>
 <translation id="2463832514638083341">Chính sách này kiểm soát khoảng thời gian lưu trữ siêu dữ liệu về lệnh in trên thiết bị, tính bằng ngày.
@@ -926,6 +948,7 @@
       Bạn phải chỉ định giá trị của chính sách bằng ngày.</translation>
 <translation id="2466131534462628618">Xác thực cổng cố định bỏ qua proxy</translation>
 <translation id="247658312644322296">Đích 'Lưu dưới dạng PDF'</translation>
+<translation id="2478756867046106663">Cho phép trang web có trải nghiệm lừa gạt mở cửa sổ hoặc thẻ mới</translation>
 <translation id="2480971699591919564">Bật tính năng Nhấp để gọi. Tính năng này cho phép người dùng gửi số điện thoại từ Máy tính đang mở Chrome sang thiết bị Android khi người dùng đã đăng nhập. Để biết thêm thông tin, hãy xem bài viết trong trung tâm trợ giúp: https://support.google.com/chrome/answer/9430554?hl=vi.
 
       Nếu bạn đặt chính sách này thành bật, thì người dùng Chrome có thể gửi số điện thoại tới thiết bị Android.
@@ -1031,6 +1054,7 @@
 
       Nếu chính sách này không được đặt, sẽ có tính năng proxy nén dữ liệu để người dùng chọn có sử dụng hay không.</translation>
 <translation id="257788512393330403">Yêu cầu cứ 6 giờ nhập mật khẩu một lần</translation>
+<translation id="2586117300379904732">Cho phép khóa chế độ thức để quản lý nguồn điện</translation>
 <translation id="2587719089023392205">Đặt <ph name="PRODUCT_NAME" /> làm trình duyệt mặc định</translation>
 <translation id="2588252329503406673">Nếu đặt chính sách này, bạn có thể đặt cách hoạt động của <ph name="PRODUCT_OS_NAME" /> khi không có hoạt động của người dùng trong một khoảng thời gian trong khi màn hình đăng nhập hiện ra. Chính sách này kiểm soát nhiều tùy chọn cài đặt. Về mặt ngữ nghĩa học và khoảng giá trị riêng, hãy xem các chính sách tương ứng kiểm soát quá trình quản lý nguồn điện trong một phiên.
 
@@ -1876,6 +1900,11 @@
 <translation id="3816312845600780067">Bật phím tắt bailout để tự động đăng nhập</translation>
 <translation id="3817323252437541502">Bật các tính năng bảo vệ bổ sung cho người dùng đã đăng ký chương trình Bảo vệ nâng cao</translation>
 <translation id="3821861026311587684">Buộc đăng xuất người dùng khi tài khoản của người đó ở trạng thái chưa xác thực</translation>
+<translation id="3823381379309653965">Việc đặt chính sách này sẽ chỉ định khoảng thời gian bằng mili giây mà dịch vụ quản lý thiết bị được truy vấn về thông tin chính sách thiết bị. Phạm vi giá trị hợp lệ là từ 1.800.000 (30 phút) đến 86.400.000 (1 ngày). Các giá trị không nằm trong khoảng này sẽ bị xếp vào ranh giới tương ứng.
+
+      Nếu bạn không đặt chính sách này, <ph name="PRODUCT_OS_NAME" /> sẽ sử dụng giá trị mặc định là 3 giờ.
+
+      Lưu ý: Các thông báo chính sách sẽ buộc làm mới khi chính sách này thay đổi nên không cần phải làm mới thường xuyên. Vì vậy, nếu nền tảng hỗ trợ các thông báo này, thời gian hoãn quá trình làm mới sẽ là 24 giờ (bỏ qua tùy chọn cài đặt mặc định và giá trị của chính sách này).</translation>
 <translation id="382476126209906314">Định cấu hình tiền tố TalkGadget cho máy chủ truy cập từ xa</translation>
 <translation id="3824972131618513497">Kiểm soát các tùy chọn cài đặt liên quan đến quản lý nguồn và khởi động lại.</translation>
 <translation id="3825873934240606959">Không cho phép tìm thiết bị cục bộ</translation>
@@ -2006,6 +2035,7 @@
 <translation id="3956686688560604829">Sử dụng chính sách SiteList của Internet Explorer để hỗ trợ trình duyệt cũ.</translation>
 <translation id="3958586912393694012">Cho phép sử dụng Smart Lock</translation>
 <translation id="3962445567482559878">Sử dụng chế độ EDU của trải nghiệm làm quen với Trợ lý</translation>
+<translation id="396261881101930204">Ẩn đề xuất nội dung nghe nhìn đối với người dùng</translation>
 <translation id="3963602271515417124">Nếu được đặt thành true, cho phép xác nhận từ xa cho thiết bị và chứng chỉ sẽ tự động được tạo và tải lên Máy chủ quản lý thiết bị.
 
           Nếu được đặt thành false hoặc không được đặt, sẽ không có chứng chỉ nào được tạo và các lệnh gọi đến API enterprise.platformKeys sẽ không thực hiện được.</translation>
@@ -2098,6 +2128,7 @@
       Chính sách này chỉ ảnh hưởng đến người dùng xác thực bằng cách sử dụng SAML.</translation>
 <translation id="4105989332710272578">Tắt buộc thực thi Tính minh bạch của chứng chỉ cho danh sách URL</translation>
 <translation id="4121350739760194865">Chặn các quảng cáo ứng dụng xuất hiện trên trang thẻ mới</translation>
+<translation id="4122473079291425973">Trang thẻ mới sẽ hiển thị thẻ nếu có nội dung nhưng cho phép người dùng thay đổi tùy chọn cài đặt này</translation>
 <translation id="412697421478384751">Cho phép người dùng đặt mã PIN yếu cho mã PIN màn hình khóa.</translation>
 <translation id="4138655880188755661">Giới hạn thời gian</translation>
 <translation id="4147818922357566987">Chỉ bật các biến thể liên quan đến những bản sửa lỗi quan trọng</translation>
@@ -2599,6 +2630,15 @@
 
       Nếu bạn đặt chính sách này thành Tắt, <ph name="PRODUCT_NAME" /> sẽ ngừng gửi các truy vấn đó.</translation>
 <translation id="504116558738617678">Chỉ hiển thị các cảnh báo dung lượng ổ đĩa thấp nếu thiết bị không được quản lý hoặc chỉ có 1 người dùng</translation>
+<translation id="5052278640307929670">Việc đặt chính sách này cho phép hợp nhất các chính sách đã chọn khi các chính sách đó thuộc nhiều nguồn, có cùng phạm vi và cấp độ.
+
+      Nếu một chính sách nằm trong danh sách và có xung đột giữa những nguồn có:
+
+      * Cùng phạm vi và cấp độ: Các giá trị nhập vào danh sách chính sách mới.
+
+      * Khác phạm vi hoặc cấp độ: Chính sách có mức ưu tiên cao nhất sẽ được áp dụng.
+
+      Nếu một chính sách nằm trong danh sách và có xung đột giữa các nguồn, phạm vi hoặc cấp độ, thì chính sách có mức độ ưu tiên cao nhất sẽ được áp dụng.</translation>
 <translation id="5056708224511062314">Đã tắt kính lúp màn hình</translation>
 <translation id="5058573563327660283">Lựa chọn chiến lược dùng để giải phóng dung lượng đĩa trong khi dọn sạch tự động (không dùng nữa)</translation>
 <translation id="5061114193960158745">Nếu bạn đặt chính sách này, thì hệ thống sẽ kiểm soát danh sách các trang web không bao giờ gây ra tình trạng chuyển đổi trình duyệt. Mỗi mục được coi là một quy tắc. Những quy tắc trùng khớp sẽ không mở trình duyệt thay thế. Không giống như chính sách <ph name="URL_LIST_POLICY_NAME" />, các quy tắc sẽ được áp dụng cho cả hai chiều. Khi phần bổ trợ <ph name="IE_PRODUCT_NAME" /> đang bật, chính sách này cũng sẽ kiểm soát việc <ph name="IE_PRODUCT_NAME" /> có mở những URL này trong <ph name="PRODUCT_NAME" /> hay không.
@@ -2971,12 +3011,21 @@
       Nếu bạn đặt chính sách này thành False, thì <ph name="PRODUCT_NAME" /> sẽ không hiển thị thông tin sản phẩm dưới dạng nội dung toàn bộ thẻ.
 
       Việc đặt chính sách này sẽ kiểm soát cách trình bày trang chào mừng nhằm giúp người dùng đăng nhập vào <ph name="PRODUCT_NAME" />, đặt <ph name="PRODUCT_NAME" /> làm trình duyệt mặc định của người dùng hoặc thông báo cho người dùng về các tính năng của sản phẩm.</translation>
+<translation id="544654037134815017">Chính sách này kiểm soát khả năng hiển thị của thẻ trên Trang thẻ mới. Thẻ hiển thị các điểm truy cập để bắt đầu các hành trình chung của người dùng dựa trên hành vi duyệt web của người dùng.
+
+      Nếu bạn đặt chính sách thành Bật, Trang thẻ mới sẽ hiển thị thẻ nếu có nội dung.
+
+      Nếu bạn đặt chính sách thành Tắt, Trang thẻ mới sẽ không hiển thị thẻ.
+
+      Nếu bạn không đặt chính sách này, người dùng có thể kiểm soát khả năng hiển thị của thẻ. Thẻ sẽ hiển thị theo tùy chọn cài đặt mặc định.
+      </translation>
 <translation id="5457065417344056871">Bật chế độ khách trong trình duyệt</translation>
 <translation id="5457387982448145430">Nếu bạn đặt chính sách này thành Bật, thì các mật khẩu đã lưu trên trình duyệt mặc định trước sẽ được nhập trong lần chạy đầu tiên. Nếu bạn đặt chính sách này thành Tắt hoặc không đặt chính sách này, thì các mật khẩu đã lưu sẽ không được nhập trong lần chạy đầu tiên.
 
       Người dùng có thể kích hoạt hộp thoại nhập. Ngoài ra, hộp đánh dấu mật khẩu đã lưu sẽ được đánh dấu/bỏ đánh dấu tương ứng với giá trị của chính sách này.</translation>
 <translation id="5457924070961220141">Cho phép bạn định cấu hình trình kết xuất HTML mặc định khi  <ph name="PRODUCT_FRAME_NAME" /> được cài đặt.
           Cài đặt mặc định, được sử dụng khi không thiết lập chính sách này, cho phép trình duyệt chính thực hiện chức năng hiển thị nhưng bạn có thể tùy chọn ghi đè cài đặt này và yêu cầu  <ph name="PRODUCT_FRAME_NAME" /> hiển thị các trang HTML theo mặc định.</translation>
+<translation id="5460797984317417682">Bật cảnh báo toàn màn hình</translation>
 <translation id="5464816904705580310">Định cấu hình cài đặt cho người dùng được quản lý.</translation>
 <translation id="5466596281866046569">Báo cáo thông tin ứng dụng</translation>
 <translation id="546726650689747237">Độ trễ mờ màn hình khi chạy trên nguồn AC</translation>
@@ -3288,6 +3337,11 @@
 <translation id="5946329690214660966">Đặt lịch biểu tùy chỉnh để kiểm tra bản cập nhật</translation>
 <translation id="5951418260805607969">Hiển thị thông báo khi dung lượng ổ đĩa sắp hết</translation>
 <translation id="5958746038080720143">Bật tính năng tối ưu hóa Web Proxy Auto-Discovery (WPAD) (Tự động phát hiện proxy web)</translation>
+<translation id="5959428851851090097">Nếu đặt chính sách này thành Bật, thì chính sách đám mây sẽ được ưu tiên nếu chính sách này xung đột với chính sách nền tảng.
+
+      Nếu bạn đặt chính sách này thành Tắt hoặc không định cấu hình chính sách này, thì chính sách nền tảng sẽ được ưu tiên trong trường hợp xung đột với chính sách đám mây.
+
+      Chính sách bắt buộc này ảnh hưởng đến chính sách đám mây trong phạm vi máy.</translation>
 <translation id="5961137303188584693">Địa chỉ MAC trên NIC tích hợp của thiết bị</translation>
 <translation id="5966615072639944554">Tiện ích được phép sử dụng API chứng thực từ xa</translation>
 <translation id="5975765799383881158">Nếu bạn không đặt hoặc đặt chính sách này thành Bật, thì người dùng có thể gửi ý kiến phản hồi cho Google thông qua Trình đơn &gt; Trợ giúp &gt; Báo cáo vấn đề hoặc tổ hợp phím.
@@ -3381,6 +3435,8 @@
 
       Mẫu URL tuân theo định dạng này (https://www.chromium.org/administrators/url-blacklist-filter-format). Tuy nhiên, vì tính hợp lệ của các chứng chỉ của một tên máy chủ cụ thể không phụ thuộc vào tên giao thức, cổng hoặc đường dẫn, nên <ph name="PRODUCT_NAME" /> chỉ xem xét phần tên máy chủ của URL. Không hỗ trợ máy chủ có ký tự đại diện.</translation>
 <translation id="6111936128861357925">Cho phép trò chơi trứng khủng long Phục sinh</translation>
+<translation id="6123052603197028610">Không cho phép gửi các truy vấn đến máy chủ của Google để truy xuất dấu thời gian</translation>
+<translation id="6132506775968708399">Chặn cookie của bên thứ ba</translation>
 <translation id="6133088669883929098">Cho phép tất cả các trang web sử dụng tạo khóa</translation>
 <translation id="6135398260575578389">Tính năng Duyệt web an toàn đang hoạt động ở chế độ nâng cao. Chế độ này bảo mật tốt hơn nhưng người dùng sẽ phải chia sẻ thêm thông tin duyệt web với Google.</translation>
 <translation id="6138636318340561140">Kiểm tra trạng thái Duyệt web an toàn của các URL trong thời gian thực</translation>
@@ -3393,6 +3449,11 @@
       Nếu không, địa chỉ IP cục bộ sẽ được che giấu bằng tên máy chủ mDNS.
       Xin lưu ý rằng chính sách này sẽ làm yếu đi chức năng bảo vệ của IP cục bộ nếu quản trị viên cần.</translation>
 <translation id="614662973812186053">Chính sách này cũng kiểm soát việc thu thập dữ liệu chẩn đoán và sử dụng Android.</translation>
+<translation id="6148540081388423836">Thao tác đặt chính sách này thành Bật sẽ ủy nhiệm việc đăng ký <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> và chặn quá trình phát hành <ph name="PRODUCT_NAME" /> nếu không thành công.
+
+      Thao tác đặt chính sách này thành Tắt hoặc không đặt sẽ hiển thị <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" /> theo cách không bắt buộc và không chặn quá trình phát hành <ph name="PRODUCT_NAME" /> nếu không thành công.
+
+      Tính năng đăng ký chính sách đám mây trong phạm vi máy sử dụng chính sách này. Hãy xem https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744 để biết thông tin chi tiết.</translation>
 <translation id="6155350825868160236">Cho phép người dùng chọn xem có sử dụng các dịch vụ web của Google để sửa lỗi chính tả hay không</translation>
 <translation id="6155936611791017817">Đặt trạng thái của con trỏ lớn mặc định trên màn hình đăng nhập</translation>
 <translation id="6157537876488211233">Danh sách quy tắc bỏ qua proxy được phân cách bằng dấu phẩy</translation>
@@ -3471,6 +3532,7 @@
       Mỗi mục danh sách của chính sách là một chuỗi chứa một mã tiện ích và một URL "cập nhật" (không bắt buộc) phân tách bằng dấu chấm phẩy (<ph name="SEMICOLON" />). Mã tiện ích là một chuỗi gồm 32 chữ cái, chẳng hạn như trên <ph name="CHROME_EXTENSIONS_LINK" /> khi ở chế độ nhà phát triển. URL "cập nhật", nếu được chỉ định, phải trỏ tới tài liệu XML của tệp kê khai cập nhật như mô tả tại <ph name="LINK_TO_EXTENSION_DOC1" />. Theo mặc định, URL cập nhật của Cửa hàng Chrome trực tuyến sẽ được sử dụng (hiện là "https://clients2.google.com/service/update2/crx"). Xin lưu ý rằng URL "cập nhật" được đặt trong chính sách này chỉ dùng cho lần cài đặt ban đầu; các lần cập nhật tiện ích tiếp theo sẽ sử dụng URL cập nhật nêu trong tệp kê khai của tiện ích.
 
       Ví dụ: <ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" /> cài đặt ứng dụng <ph name="SMART_CARD_CONNECTOR_APP_NAME" /> từ URL "cập nhật" tiêu chuẩn của Cửa hàng Chrome trực tuyến. Để biết thêm thông tin về cách lưu trữ tiện ích, hãy xem: <ph name="LINK_TO_EXTENSION_DOC2" />.</translation>
+<translation id="6275497712828649588">Ẩn cảnh báo bảo mật khi cờ hiệu dòng lệnh có thể nguy hiểm được sử dụng</translation>
 <translation id="6275833043726517413">Sử dụng quy trình triển khai <ph name="CORS" /> cũ thay vì <ph name="CORS" /> mới.
 
       Nếu bạn đặt tùy chọn cài đặt này thành Bật, thì quy trình triển khai cũ tương thích với các phiên bản trước sẽ được sử dụng.
@@ -3490,6 +3552,7 @@
 
       Lưu ý: Mật khẩu có thể tồn tại lâu hơn số ngày đã chỉ định nếu máy khách không kết nối mạng trong một thời gian dài.</translation>
 <translation id="6281043242780654992">Định cấu hình chính sách cho Nhắn tin gốc. Máy chủ nhắn tin gốc được đưa vào danh sách cấm sẽ không được phép trừ khi chúng được đưa vào danh sách cho phép.</translation>
+<translation id="6282524907402492171">Hiển thị cảnh báo về việc ngừng cung cấp <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="6282799760374509080">Cho phép hoặc từ chối ghi âm</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
 <translation id="6310223829319187614">Bật tự động hoàn tất tên miền trong khi người dùng đăng nhập</translation>
@@ -3500,6 +3563,15 @@
 <translation id="631183702829488873">Khi được bật, tính năng này sẽ hiển thị một nút trên màn hình đăng nhập và màn hình khóa, cho phép hiển thị mật khẩu.
           Nút này được biểu thị bằng biểu tượng con mắt trên trường văn bản mật khẩu. Nút này sẽ không xuất hiện khi tính năng này tắt.
       </translation>
+<translation id="6313170479290171718">Chính sách này không còn dùng nữa, vui lòng sử dụng chính sách <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />.
+
+      Khi bạn đặt chính sách này thành Bật, bàn phím ảo sẽ bật khi đăng nhập. Khi bạn đặt chính sách này thành Tắt, bàn phím ảo sẽ tắt khi đăng nhập.
+
+      Nếu bạn đặt chính sách này, thì người dùng có thể tạm thời bật hoặc tắt bàn phím ảo. Khi màn hình đăng nhập tải lại hoặc không hoạt động trong vài phút, bàn phím ảo sẽ trở về trạng thái ban đầu.
+
+      Nếu bạn không đặt chính sách này, thì bàn phím ảo sẽ tắt trên màn hình đăng nhập. Người dùng có thể bật bàn phím ảo bất cứ lúc nào. Trạng thái của bàn phím ảo trên màn hình đăng nhập sẽ giữ nguyên đối với mọi người dùng.
+
+      Lưu ý: <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> (nếu đã được chỉ định) sẽ ghi đè chính sách này.</translation>
 <translation id="6319198883324703402">Đặt thời gian của thông báo chạy lại dành cho người dùng đầu tiên</translation>
 <translation id="6330882599388782338">Cho phép trang web sử dụng cảm biến</translation>
 <translation id="6331167725613770725">Lưu ý rằng chúng tôi không dùng chính sách này nữa và sẽ xóa khỏi <ph name="PRODUCT_OS_NAME" /> phiên bản 85. Thay vào đó, vui lòng sử dụng <ph name="POWER_MANAGEMENT_IDLE_SETTINGS_POLICY_NAME" />.
@@ -3652,6 +3724,7 @@
 
       Nếu bạn không đặt chính sách, đặt thành Để người dùng quyết định hoặc thành Không, thì người dùng có thể kiểm soát tính năng tự động phát hiện múi giờ bằng các tùy chọn kiểm soát thông thường trong chrome://settings.</translation>
 <translation id="6532769014584932288">Cho phép khóa chế độ thức</translation>
+<translation id="6536444379078076149">Bật hoặc tắt màn hình kết nối liên quan đến giao diện người dùng trên màn hình máy chủ khi đang có kết nối.</translation>
 <translation id="6536600139108165863">Tự động khởi động lại khi tắt thiết bị</translation>
 <translation id="6539246272469751178">Chính sách này không ảnh hưởng đến ứng dụng Android. Ứng dụng Android luôn sử dụng thư mục nội dung tải xuống mặc định và không thể truy cập bất kỳ tệp nào do <ph name="PRODUCT_OS_NAME" /> tải xuống thư mục nội dung tải xuống không phải mặc định.</translation>
 <translation id="654303922206238013">Chiến lược di chuyển cho ecryptfs</translation>
@@ -3716,6 +3789,7 @@
 
       Đối với các thiết bị được quản lý bằng Active Directory, chính sách này hỗ trợ mở rộng <ph name="MACHINE_NAME_VARIABLE" /> thành tên máy Active Directory hoặc chuỗi con của tên máy đó. Chẳng hạn, nếu tên máy là <ph name="MACHINE_NAME_EXAMPLE" />, thì <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" /> sẽ được thay thế bằng 4 ký tự bắt đầu sau vị trí thứ 6, tức là <ph name="MACHINE_NAME_PART_EXAMPLE" />. Xin lưu ý rằng vị trí này được tính theo kiểu ký tự đầu tiên là vị trí 0.
       </translation>
+<translation id="6584541828182430328">Tắt hiển thị cảnh báo toàn màn hình</translation>
 <translation id="6588522781970773591">Nếu bạn đặt chính sách này, thì hệ thống sẽ kiểm soát các tùy chọn cài đặt quản lý tiện ích cho <ph name="PRODUCT_NAME" />, bao gồm cả những tùy chọn cài đặt chịu sự kiểm soát của các chính sách hiện có liên quan đến tiện ích. Chính sách này sẽ thay thế bất cứ chính sách cũ nào mà bạn có thể đã đặt.
 
       Chính sách này chỉ ánh xạ một mã tiện ích hoặc một URL cập nhật với tùy chọn cài đặt cụ thể tương ứng. Bạn có thể đặt cấu hình mặc định cho mã đặc biệt <ph name="DEFAULT_SCOPE" />. Cấu hình này sẽ áp dụng cho tất cả tiện ích chưa đặt cấu hình tùy chỉnh trong chính sách này. Với URL cập nhật, cấu hình sẽ áp dụng cho tất cả tiện ích có URL cập nhật chính xác nêu trong tệp kê khai của tiện ích này (http://support.google.com/chrome/a?p=Configure_ExtensionSettings_policy).
@@ -4350,6 +4424,7 @@
 <translation id="7448430478749155471">Bật tính năng chọn để nói trên màn hình đăng nhập</translation>
 <translation id="7458437477941640506">Không thể khôi phục về phiên bản đích nếu phiên bản hệ điều hành mới hơn phiên bản đích. Các bản cập nhật cũng sẽ bị tắt.</translation>
 <translation id="7459601923199346224">Kiểm soát các chính sách quản lý chứng chỉ cho thiết bị và người dùng.</translation>
+<translation id="7459633275230216698">Cho phép hộp thoại chọn tệp</translation>
 <translation id="7464991223784276288">Hạn chế cookie so khớp các URL với phiên hiện tại</translation>
 <translation id="7468182772656807573">Việc đặt chính sách này sẽ xác định tần suất gửi thông tin theo dõi gói mạng, tính bằng mili giây. Khoảng thời gian là từ 30 giây đến 24 giờ. Các giá trị không nằm trong khoảng này sẽ được xếp vào khoảng này.
 
@@ -4405,6 +4480,9 @@
       Nếu bạn đặt chính sách này là true trên thiết bị có DTC wilco, thì dữ liệu chẩn đoán và đo từ xa sẽ được thu thập, xử lý và báo cáo.</translation>
 <translation id="7519251620064708155">Cho phép tạo khóa trên các trang web này</translation>
 <translation id="7529144158022474049">Yếu tố phân tán tự động cập nhật</translation>
+<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ợ.
@@ -4412,6 +4490,7 @@
       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>
 <translation id="7547549430720182663">Hợp nhất</translation>
 <translation id="7553535237300701827">Khi bạn đặt chính sách này, luồng xác thực thông tin đăng nhập sẽ thuộc một trong các cách sau tùy thuộc vào giá trị của cài đặt:
 
@@ -4504,6 +4583,7 @@
 <translation id="7643883929273267746">Hạn chế các tài khoản được hiển thị trong <ph name="PRODUCT_NAME" /></translation>
 <translation id="7648907905084499629">Dùng hành vi <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" /> cho các cookie trên tất cả các trang web</translation>
 <translation id="7657261947024629645">Tối ưu hóa cho hiệu suất.</translation>
+<translation id="7666228839913571182">Cho phép cookie của bên thứ ba</translation>
 <translation id="7668830462800981702">Nếu bạn đặt chính sách này thành Bật, hệ thống sẽ thực hiện thao tác tìm kiếm mặc định khi người dùng nhập văn bản không phải là URL vào thanh địa chỉ. Để chỉ định nhà cung cấp dịch vụ tìm kiếm mặc định, hãy đặt các chính sách tìm kiếm mặc định còn lại. Nếu bạn để trống những chính sách đó thì người dùng có thể chọn nhà cung cấp mặc định. Nếu bạn đặt chính sách này thành Tắt, hệ thống sẽ không tìm kiếm khi người dùng nhập văn bản không phải là URL vào thanh địa chỉ.
 
       Nếu bạn đặt chính sách này thì người dùng sẽ không thay đổi được trong <ph name="PRODUCT_NAME" />. Nếu bạn không đặt chính sách này, nhà cung cấp dịch vụ tìm kiếm mặc định sẽ được bật và người dùng có thể đặt danh sách nhà cung cấp dịch vụ tìm kiếm.
@@ -4544,6 +4624,8 @@
 
       Lưu ý: Hiện tại, tự động khởi động lại chỉ được bật khi màn hình đăng nhập đang được hiển thị hoặc phiên ứng dụng kiosk đang diễn ra. Điều này sẽ thay đổi trong tương lai và chính sách sẽ luôn áp dụng, bất kể phiên thuộc loại cụ thể bất kỳ có đang diễn ra hay không.</translation>
 <translation id="7701341006446125684">Đặt kích thước bộ nhớ đệm của tiện ích và ứng dụng (bằng byte)</translation>
+<translation id="7703737669292992839">Ngăn hộp thoại chọn tệp</translation>
+<translation id="7709470712369261710">Không sử dụng các dịch vụ của Google để cung cấp nội dung mô tả hình ảnh tự động</translation>
 <translation id="7710950688502974809">Danh sách các tùy chọn cài đặt dịch vụ Chrome Enterprise Connectors sẽ áp dụng cho Trình kết nối <ph name="ON_BULK_DATA_ENTRY_ENTERPRISE_CONNECTOR" /> của Enterprise. Trình kết nối này sẽ chạy khi người dùng nhập dữ liệu vào Chrome từ khay nhớ tạm hoặc bằng cách kéo và thả nội dung trên web.
 
       Các trường <ph name="ENTERPRISE_CONNECTOR_URL_LIST_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_TAGS_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_ENABLE_FIELD" /> và <ph name="ENTERPRISE_CONNECTOR_DISABLE_FIELD" /> dùng để xác định xem trình kết nối có gửi dữ liệu đi để phân tích hay không khi người dùng nhập dữ liệu vào một trang cụ thể và thẻ nào cần thêm vào yêu cầu phân tích cho dữ liệu đó. Nếu URL của trang khớp với mẫu liên kết với thẻ đó, thì hệ thống sẽ thêm một thẻ tương ứng với mẫu 'enable' vào yêu cầu phân tích chừng nào không còn mẫu 'disable' có thẻ như vậy khớp với URL của trang. Quá trình phân tích sẽ diễn ra nếu hệ thống thêm ít nhất 1 thẻ vào yêu cầu.
@@ -4587,6 +4669,11 @@
       Nếu bạn đặt chính sách này thành Tắt, người dùng sẽ không thể nhấp qua các trang cảnh báo.</translation>
 <translation id="7750991880413385988">Mở trang Thẻ mới</translation>
 <translation id="7754704193130578113">Hỏi vị trí lưu từng tệp trước khi tải xuống</translation>
+<translation id="7754893969683595513">Việc đặt chính sách này sẽ chỉ định khoảng thời gian bằng mili giây mà dịch vụ quản lý thiết bị được truy vấn về thông tin chính sách người dùng. Phạm vi giá trị hợp lệ là từ 1.800.000 (30 phút) đến 86.400.000 (1 ngày). Các giá trị không nằm trong khoảng này sẽ bị xếp vào ranh giới tương ứng.
+
+      Nếu bạn không đặt chính sách này, giá trị mặc định 3 giờ sẽ được dùng.
+
+      Lưu ý: Các thông báo chính sách sẽ buộc làm mới khi chính sách này thay đổi nên không cần phải làm mới thường xuyên. Vì vậy, nếu nền tảng hỗ trợ các thông báo này, thời gian hoãn quá trình làm mới sẽ là 24 giờ (bỏ qua tùy chọn cài đặt mặc định và giá trị của chính sách này).</translation>
 <translation id="7758378441185523981">Bật quy trình Xác thực môi trường xung quanh cho các loại hồ sơ.</translation>
 <translation id="776110834126722255">Không dùng nữa</translation>
 <translation id="7763614521440615342">Hiển thị các đề xuất nội dung trên trang Thẻ mới</translation>
@@ -4677,6 +4764,7 @@
 
       Nếu bạn đặt thành Tắt hoặc không đặt chính sách này, thì quá trình tra cứu CNAME sẽ xác định tên chuẩn của máy chủ khi tạo SPN Kerberos.</translation>
 <translation id="7912255076272890813">Định cấu hình loại ứng dụng/tiện ích được cho phép</translation>
+<translation id="791267408364877739">Hiển thị cảnh báo bảo mật khi cờ hiệu dòng lệnh có thể nguy hiểm được sử dụng</translation>
 <translation id="7922358664346625612">Tiếp tục mở thẻ cuối cùng trong Chrome.</translation>
 <translation id="793134539373873765">Chỉ định có sử dụng p2p cho các phần tải dữ liệu cập nhật OS không. Nếu được đặt thành True, các thiết bị sẽ chia sẻ và cố gắng sử dụng các phần tải dữ liệu cập nhật trên LAN, có thể làm giảm nghẽn và mức sử dụng băng thông Internet. Nếu phần tải dữ liệu cập nhật không khả dụng trên LAN, thiết bị sẽ quay lại tải xuống từ máy chủ cập nhật. Nếu được đặt thành False hay không được định cấu hình, p2p sẽ không được sử dụng.</translation>
 <translation id="7933141401888114454">Cho phép tạo người dùng được giám sát</translation>
@@ -4737,6 +4825,9 @@
 <translation id="8006219716745491366">Nếu bạn bật <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" />, thì thao tác đặt <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> sẽ chỉ định danh sách các URL thay thế để trích xuất cụm từ tìm kiếm từ công cụ tìm kiếm. Các URL này phải chứa chuỗi <ph name="SEARCH_TERM_MARKER" />.
 
       Nếu bạn không đặt <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" />, thì hệ thống sẽ không sử dụng URL thay thế để trích xuất cụm từ tìm kiếm.</translation>
+<translation id="8006921530139404577">Nếu bạn tắt chính sách này, thì đường kết nối liên quan đến giao diện người dùng (ví dụ như cửa sổ ngắt kết nối) sẽ không hiển thị cho các đường kết nối truy cập từ xa không có chế độ màn che. Chính sách này không ảnh hưởng đến các phiên truy cập từ xa có chế độ màn che và phiên hỗ trợ từ xa.
+
+          Chính sách này không có hiệu lực nếu bạn đặt thành bật, để trống hoặc không đặt.</translation>
 <translation id="8011935490612940798">Kiểm soát tính năng <ph name="PRODUCT_NAME" />.</translation>
 <translation id="802147957407376460">Xoay màn hình 0 độ</translation>
 <translation id="8027265928215448940">Danh sách các tùy chọn cài đặt dịch vụ Trình kết nối của Chrome Enterprise sẽ áp dụng cho Trình kết nối <ph name="ON_FILE_DOWNLOADED_ENTERPRISE_CONNECTOR" /> của Enterprise. Trình kết nối này sẽ chạy khi tệp được tải xuống trong Chrome.
@@ -4776,6 +4867,7 @@
 <translation id="8053580360728293758">Ghi đè chế độ in màu mặc định. Nếu không có chế độ này thì chính sách này sẽ bị bỏ qua.</translation>
 <translation id="8056237304861875584">Chính sách Cho phép tiếp tục nhiệm vụ trong Trung tâm điều khiển điện thoại sẽ được bật.</translation>
 <translation id="8059164285174960932">URL nơi ứng dụng truy cập từ xa sẽ lấy mã thông báo xác thực</translation>
+<translation id="8062485064082966327">Dùng một dịch vụ ẩn danh của Google để cung cấp nội dung mô tả tự động cho những hình ảnh chưa gắn nhãn</translation>
 <translation id="8076521374016204899">Nếu bạn đặt thành Bật hoặc không đặt chính sách này, những người dùng xác thực bằng mật khẩu có thể khóa màn hình.
 
       Nếu bạn đặt chính sách này thành Tắt, người dùng sẽ không thể khóa màn hình. (Họ chỉ có thể đăng xuất khỏi phiên hoạt động của người dùng đó).</translation>
@@ -4858,8 +4950,10 @@
 <translation id="816783746144552109">Định cấu hình phiên bản Chrome OS tối thiểu được phép cho thiết bị.</translation>
 <translation id="8171924760436219650">Chuyển nút chuột chính thành nút phải trên màn hình đăng nhập</translation>
 <translation id="8176035528522326671">Cho phép người dùng doanh nghiệp trở thành người dùng chính duy nhất có nhiều hồ sơ (Hành vi mặc định cho người dùng do doanh nghiệp quản lý)</translation>
+<translation id="8179161412673077784">Ngăn các trang web có trải nghiệm lừa gạt mở cửa sổ mới hoặc thẻ mới</translation>
 <translation id="8183108371184777472">Ngăn cửa sổ trình duyệt chạy</translation>
 <translation id="8186911565834244165">Cho phép người dùng phản hồi</translation>
+<translation id="8195133650230097559">Bỏ qua các yêu cầu khóa chế độ thức để quản lý nguồn điện.</translation>
 <translation id="8196558469954193908">Chính sách này cho phép hợp nhất đường kết nối HTTP/2 khi sử dụng chứng chỉ máy khách. Để hợp nhất, cả tên máy chủ của đường kết nối mới và tên máy chủ của đường kết nối hiện có phải khớp với một hoặc nhiều mẫu như mô tả trong chính sách này. Chính sách này là một danh sách các máy chủ sử dụng định dạng bộ lọc <ph name="URL_BLOCKLIST_POLICY_NAME" />: "example.com" khớp với "example.com" và mọi miền con (chẳng hạn như "sub.example.com"), trong khi đó ".example.net" lại khớp hoàn toàn với "example.net".
 
       Yêu cầu hợp nhất gửi tới các máy chủ khác nhau qua đường kết nối dùng chứng chỉ máy khách có thể gây ra các vấn đề về bảo mật và quyền riêng tư, bởi vì tất cả các yêu cầu đều được cấp phép rộng rãi, kể cả khi người dùng không cho phép rõ ràng. Chính sách này là tạm thời và sẽ bị xóa bỏ trong bản phát hành tương lai. Hãy truy cập vào https://crbug.com/855690 để tìm hiểu thêm.
@@ -4904,6 +4998,15 @@
 Bạn không cần định cấu hình các cài đặt này theo cách thủ công! Bạn có thể tải xuống các mẫu dễ sử dụng dành cho Windows, Mac và Linux từ <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />.
 
 Bạn nên định cấu hình chính sách trên Windows qua GPO, mặc dù việc cấp phép chính sách qua cổng đăng ký vẫn được hỗ trợ cho các phiên bản Windows tham gia miền <ph name="MS_AD_NAME" />.</translation>
+<translation id="8261874086461353268">Việc đặt chính sách này cho phép hợp nhất các chính sách đã chọn khi các chính sách đó thuộc nhiều nguồn, có cùng phạm vi và cấp độ. Quá trình hợp nhất này bao gồm việc hợp nhất các khóa ở cấp độ đầu tiên của từ điển thuộc mỗi nguồn. Khóa thuộc nguồn có mức độ ưu tiên cao nhất sẽ được ưu tiên.
+
+      Nếu một chính sách nằm trong danh sách và có xung đột giữa những nguồn có:
+
+      * Cùng phạm vi và cấp độ: Các giá trị hợp nhất vào từ điển chính sách mới.
+
+      * Khác phạm vi hoặc cấp độ: Chính sách có mức ưu tiên cao nhất sẽ được áp dụng.
+
+      Nếu một chính sách nằm trong danh sách và có xung đột giữa các nguồn, phạm vi hoặc cấp độ, thì chính sách có mức độ ưu tiên cao nhất sẽ được áp dụng.</translation>
 <translation id="8266778278542911985">Nếu bạn đặt chính sách này thành 3, thì các trang web có thể yêu cầu quyền truy cập vào cổng nối tiếp. Nếu bạn đặt chính sách này thành 2, quyền truy cập vào cổng nối tiếp sẽ bị từ chối.
 
       Nếu bạn không đặt chính sách này, thì các trang web có thể yêu cầu quyền truy cập nhưng người dùng được quyền thay đổi tùy chọn cài đặt này.</translation>
@@ -5007,6 +5110,9 @@
 
       Nếu bạn không đặt hoặc đặt chính sách này thành true, thì người dùng này sẽ có quyền truy cập cấp gốc vào vùng chứa Crostini.
       Nếu bạn đặt chính sách này thành false, thì người dùng này sẽ không có quyền truy cập cấp gốc vào cả vùng chứa Crostini hiện có lẫn vùng chứa Crostini mới.</translation>
+<translation id="8415953438346821074">Nếu bạn bật tùy chọn cài đặt này, các tùy chọn cài đặt lưu trữ trong hồ sơ của <ph name="PRODUCT_NAME" /> như dấu trang, dữ liệu tự động điền, mật khẩu, v.v, cũng sẽ được ghi vào một tệp được lưu trữ trong thư mục hồ sơ Người dùng chuyển vùng hoặc một vị trí do Quản trị viên chỉ định thông qua chính sách <ph name="ROAMING_PROFILE_LOCATION_POLICY_NAME" />. Việc bật chính sách này sẽ tắt tính năng đồng bộ hóa trên đám mây.
+
+      Nếu bạn tắt hoặc không đặt chính sách này, thì người dùng chỉ dùng được các hồ sơ cục bộ thông thường.</translation>
 <translation id="8417305981081876834">Đặt độ dài tối đa của mã PIN màn hình khóa</translation>
 <translation id="8417750118762775739">Nếu bạn Tắt chính sách này, các cửa sổ bật lên nhắm đến <ph name="BLANK_PAGE_NAME" /> sẽ có thể truy cập (qua JavaScript) vào trang đã yêu cầu mở cửa sổ bật lên.
 
@@ -5194,6 +5300,7 @@
        Theo mặc định, <ph name="PRODUCT_NAME" /> không tự động phát nội dung nghe nhìn. Tuy nhiên, đối với một số mẫu URL, bạn có thể sử dụng chính sách <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME" /> để thay đổi tùy chọn cài đặt này.
 
       Nếu chính sách này thay đổi khi <ph name="PRODUCT_NAME" /> đang chạy, thì chính sách này chỉ áp dụng cho các thẻ mới mở.</translation>
+<translation id="8685748277907759932">Ngăn người dùng sử dụng tính năng Chạm để tìm kiếm</translation>
 <translation id="8687958770985542440">Bật lại API Thành phần web phiên bản 0 cho đến M84.</translation>
 <translation id="8693243869659262736">Sử dụng máy khách DNS tích hợp</translation>
 <translation id="8698286761337647563">Số ngày thông báo trước cho người dùng SAML khi mật khẩu của họ sắp hết hạn</translation>
@@ -5287,7 +5394,12 @@
       Mỗi mục trong danh sách của chính sách là một chuỗi chứa một mã tiện ích và một URL "cập nhật" (không bắt buộc) phân tách bằng dấu chấm phẩy (;). Mã tiện ích là một chuỗi gồm 32 chữ cái, chẳng hạn như trên chrome://extensions khi ở Chế độ nhà phát triển. Nếu được chỉ định, URL "cập nhật" phải trỏ đến tài liệu XML của tệp kê khai cập nhật (https://developer.chrome.com/extensions/autoupdate). Theo mặc định, URL cập nhật của Cửa hàng Chrome trực tuyến sẽ được sử dụng. URL "cập nhật" được đặt trong chính sách này chỉ dùng cho lần cài đặt ban đầu. Các lần cập nhật tiện ích tiếp theo sẽ sử dụng URL cập nhật nêu trong tệp kê khai của tiện ích.
 
        Lưu ý: Chính sách này không áp dụng cho Chế độ ẩn danh. Tìm hiểu về các tiện ích lưu trữ (https://developer.chrome.com/extensions/hosting).</translation>
+<translation id="8832829916385857156">Trang thẻ mới sẽ hiển thị thẻ nếu có nội dung</translation>
 <translation id="8833109046074170275">Xác thực thông qua luồng GAIA mặc định</translation>
+<translation id="8834641112681661892">Thao tác đặt chính sách này chỉ định độ trễ tối đa bằng mili giây giữa quá trình nhận thông báo hủy hiệu lực chính sách và tìm nạp chính sách mới từ dịch vụ quản lý thiết bị. Giá trị hợp lệ nằm trong khoảng từ 1.000 (1 giây) đến 300.000 (5 phút). Các giá trị không nằm trong khoảng này sẽ bị xếp vào ranh giới tương ứng.
+
+      Nếu bạn không đặt chính sách này, <ph name="PRODUCT_NAME" /> sẽ sử dụng giá trị mặc định là 10 giây.</translation>
+<translation id="885147810817138322">Hiển thị đề xuất nội dung nghe nhìn cho người dùng</translation>
 <translation id="8852579753940989645">Bật tính năng Tính toàn vẹn của mã trình kết xuất</translation>
 <translation id="8854571659927427063">Nếu bạn đặt chính sách này thành Bật, thì dấu trang trên trình duyệt mặc định trước sẽ được nhập trong lần chạy đầu tiên. Nếu bạn đặt chính sách này thành Tắt hoặc không đặt chính sách này, thì dấu trang sẽ không được nhập trong lần chạy đầu tiên.
 
@@ -5321,6 +5433,7 @@
           Đối với những cookie trên miền không khớp với các mẫu nêu ở đây hoặc đối với tất cả cookie, nếu bạn không đặt chính sách này, thì giá trị mặc định chung của chính sách <ph name="LEGACY_SAMESITE_COOKIE_BEHAVIOR_ENABLED_POLICY_NAME" /> (nếu bạn đã đặt chính sách này) hoặc trong cấu hình cá nhân của người dùng sẽ được sử dụng.
 
           Xin lưu ý rằng các mẫu bạn liệt kê ở đây được xử lý như miền, chứ không phải như URL. Vì vậy, bạn không nên chỉ định lược đồ hoặc cổng.</translation>
+<translation id="8890438048579188548">Ẩn cảnh báo về việc ngừng cung cấp <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8892286064305622118">Dung lượng ổ đĩa trống cần có cho <ph name="PLUGIN_VM_NAME" /></translation>
 <translation id="8904721489610046109">Nếu bạn đặt chính sách này, tính năng hạn chế băng thông mạng sẽ bật hoặc tắt. Điều này nghĩa là hệ thống sẽ được điều tiết để đạt tốc độ tải lên và tải xuống đã cho (tính theo kbit/giây). Chính sách này áp dụng cho mọi người dùng và giao diện trên thiết bị.</translation>
 <translation id="8906768759089290519">Bật chế độ khách</translation>
@@ -5468,6 +5581,7 @@
       Nếu bạn đặt chính sách này, thì <ph name="PRODUCT_NAME" /> sẽ sử dụng kích thước bộ nhớ đệm mà bạn cung cấp, cho dù người dùng có chỉ định cờ --disk-cache-size hay không. (Giá trị dưới vài megabyte được làm tròn lên.)
 
       Nếu bạn không đặt chính sách này, thì <ph name="PRODUCT_NAME" /> sẽ sử dụng kích thước mặc định. Người dùng có thể thay đổi tùy chọn cài đặt đó bằng cờ --disk-cache-size.</translation>
+<translation id="9055866143096316150">Giảm hạng yêu cầu khóa chế độ thức của màn hình thành yêu cầu khóa chế độ thức của hệ thống</translation>
 <translation id="9057444687284972605">Cho phép bạn chỉ định danh sách mẫu URL. Những mẫu URL này chỉ định các trang web có chứng chỉ máy khách được chọn tự động trên màn hình đăng nhập trong khung lưu trữ quy trình SAML, nếu trang web yêu cầu chứng chỉ. Một ví dụ về cách sử dụng là định cấu hình một chứng chỉ cho toàn thiết bị sẽ hiển thị với SAML IdP.
 
       Giá trị là một mảng từ điển JSON phân thành chuỗi, mỗi mảng có dạng <ph name="AUTO_SELECT_CERTIFICATE_FOR_URLS_EXAMPLE" />, trong đó <ph name="URL_PATTERN_PLACEHOLDER" /> là mẫu thông tin cài đặt nội dung. <ph name="FILTER_PLACEHOLDER" /> giới hạn các chứng chỉ máy khách mà trình duyệt sẽ tự động chọn. Bất kể bộ lọc là gì, chỉ các chứng chỉ khớp với yêu cầu chứng chỉ của máy chủ mới được chọn.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index d0f6bed..7d99a3cc 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -1989,11 +1989,11 @@
 
       此政策用于指定内置了 ecryptfs 且需改用 ext4 加密机制的设备的行为方式。
 
-      如果您将此政策设为“DisallowArc”,相应设备将会禁止所有用户(包括已采用 ext4 加密机制的用户)在其上使用 Android 应用,且不会主动为任何用户提供从 ecryptfs 到 ext4 加密机制的迁移服务。
+      如果您将此政策设为“DisallowArc”,相应设备将会禁止所有用户(包括已采用 ext4 加密机制的用户)在其上使用 Android 应用,且不会主动为任何用户提供从 ecryptfs 到 ext4 加密机制的迁移选项。
 
-      如果您将此政策设为“AllowMigration”,相应设备便会在必要时(目前是指可在该设备上使用 Android N 时)主动向使用 ecryptfs 主目录的用户提供可将这些主目录迁移至 ext4 加密机制的服务。
+      如果您将此政策设为“AllowMigration”,相应设备便会在必要时(目前是指可在该设备上使用 Android N 时)主动向使用 ecryptfs 主目录的用户提供将这些主目录迁移至 ext4 加密机制的选项。
 
-      此政策不适用于自助服务终端应用 - 这类应用会自动完成迁移。如果您未设置此政策,相应设备将会具有与此政策设为“DisallowArc”时相同的行为方式。</translation>
+      此政策不适用于自助服务终端应用 - 这类应用会自动完成迁移。如果未设置此政策,则设备的行为方式将与将此政策设为“DisallowArc”时相同。</translation>
 <translation id="4020682745012723568">Android 应用无法访问已转移到用户个人资料中的 Cookie。</translation>
 <translation id="402759845255257575">不允许任何网站运行 JavaScript</translation>
 <translation id="4027608872760987929">启用默认搜索服务提供商</translation>
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 87b3c8a..ddcf3397 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -77,6 +77,7 @@
       如果設為 True,系統會回報裝置背光的資訊。</translation>
 <translation id="1076751984131277498">卸除式 USB 裝置許可清單</translation>
 <translation id="1079801999187584280">禁止使用開發人員工具</translation>
+<translation id="1082802595100075771">讓使用者選擇使用去識別化的 Google 服務,針對無標籤圖片提供自動產生的說明</translation>
 <translation id="1087437665304381368">這項政策只能控管 <ph name="PRODUCT_OS_NAME" />開發人員模式。如要禁止他人存取 Android 開發人員選項,則必須設定 <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" /> 政策。</translation>
 <translation id="1087707496788636333">Chrome Enterprise 政策清單的網址已變更!請將你的書籤更新為 <ph name="POLICY_DOCUMENTATION_URL" />。</translation>
 <translation id="1093082332347834239">如果啟用這項設定,選端協助主機會在具備 <ph name="UIACCESS_PERMISSION_NAME" /> 的處理程序中執行,讓遠端使用者在本機使用者桌面上操控權限較高的視窗。
@@ -134,6 +135,7 @@
 <translation id="1198183996903759302">如果將這項政策設為 True (或將 <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME" /> 設為 False),網頁將無法存取 WebGL API,且外掛程式將無法使用 Pepper 3D API。
 
       如果將這項政策設為 False 或不設定,網頁將可使用 WebGL API,且外掛程式將可使用 Pepper 3D API,但瀏覽器在預設設定下,仍可能需要指令列引數,才能使用這些 API。</translation>
+<translation id="1202216683470826356">在新分頁中顯示卡片</translation>
 <translation id="1204263402976895730">啟用的企業印表機</translation>
 <translation id="120937472976628837">回報風扇資訊</translation>
 <translation id="1216919699175573511">啟用 Signed HTTP Exchange (SXG) 支援</translation>
@@ -171,6 +173,13 @@
 <translation id="1257550411839719984">設定預設的下載目錄</translation>
 <translation id="1265053460044691532">限制透過 SAML 驗證的使用者可離線登入的時間</translation>
 <translation id="127264587838521316">啟用 <ph name="PRODUCT_NAME" /> 擴充功能安裝要求</translation>
+<translation id="127699919157094139">這項政策會停用透過 Google 代管的同步處理服務在 <ph name="PRODUCT_NAME" /> 上所執行的資料同步處理功能,並禁止使用者變更這項設定。
+
+      如果你啟用這項設定,使用者就無法在 <ph name="PRODUCT_NAME" /> 中變更或覆寫這項設定。
+
+      如果不設定這項政策,使用者將可選擇是否要使用 Google Sync。
+
+      如要完全停用 Google Sync,建議你在 Google 管理控制台中停用 Google Sync 服務。</translation>
 <translation id="1290634681382861275">管理其他設定,包括 USB、藍牙、政策更新、開發人員模式等等。</translation>
 <translation id="1291880496936992484">警告:自 <ph name="PRODUCT_NAME" /> 52 版 (將於 2016 年 9 月左右推出) 起,系統將全面移除 RC4,屆時這項政策將停止運作。
 
@@ -187,6 +196,9 @@
 <translation id="1309465583050255779">如果已啟用 <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> 政策,你可以設定 <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> 政策來指定預設搜尋引擎的名稱。
 
       如果未設定 <ph name="DEFAULT_SEARCH_PROVIDER_NAME_POLICY_NAME" /> 政策,系統會使用搜尋網址所指定的主機名稱。</translation>
+<translation id="1310052497030002740">如果設定這項政策,<ph name="PRODUCT_NAME" /> 會嘗試註冊 <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />。這項政策的值是可從 <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME" />擷取的註冊權杖。
+
+      詳情請參閱 https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744。</translation>
 <translation id="1312799700549720683">控管顯示設定。</translation>
 <translation id="131353325527891113">在登入畫面中顯示使用者名稱</translation>
 <translation id="1327466551276625742">離線時啟用網路設定提示</translation>
@@ -297,6 +309,7 @@
       如果將這項政策設為 False 或不設定,擴充功能將無法使用這個 API。
 
       注意:這項政策也適用於元件擴充功能,例如 Hangout Services 擴充功能。</translation>
+<translation id="148194404518916594">允許使用「輕觸搜尋」功能</translation>
 <translation id="1486021504508098388">回報背光資訊</translation>
 <translation id="1487916040416013623">你可以透過這項政策指定允許整合驗證的伺服器。只有當 Proxy 或這份許可清單中的伺服器傳送驗證要求給 <ph name="PRODUCT_NAME" /> 時,系統才會啟用整合驗證。
 
@@ -397,6 +410,8 @@
       設定這項政策後,使用者將無法變更或覆寫政策。</translation>
 <translation id="1617235075406854669">啟用刪除瀏覽器和下載記錄</translation>
 <translation id="1620510694547887537">攝影機</translation>
+<translation id="1626379196197114720">允許使用往返快取</translation>
+<translation id="1628974048137236820">新分頁不會顯示卡片</translation>
 <translation id="163200210584085447">系統會比對這份清單中的模式與要求網址的
       安全性來源。如果找到相符的結果,系統就會
       在 SAML 登入網頁授權存取錄影裝置。如果找不到
@@ -490,6 +505,7 @@
       如果停用這項政策或未設定,WebDriver 將無法覆寫不相容的政策。</translation>
 <translation id="1843117931376765605">使用者政策的重新整理頻率</translation>
 <translation id="1844620919405873871">設定快速解鎖相關政策。</translation>
+<translation id="1844972978764975668">允許向 Google 伺服器傳送查詢,以擷取準確的時間戳記</translation>
 <translation id="1845405905602899692">資訊站設定</translation>
 <translation id="1845429996559814839">限制 PIN 碼列印模式</translation>
 <translation id="1847960418907100918">指定使用 POST 執行互動智慧搜尋時所用的參數,其包含以逗號分隔的名稱/數值配對。如果數值為範本參數 (例如上例中的 {searchTerms}),系統將會以實際的搜尋字詞資料替代這個數值。
@@ -621,6 +637,7 @@
 <translation id="2077129598763517140">在可用時使用硬體加速</translation>
 <translation id="2077273864382355561">在電池供電環境下執行時的螢幕關閉延遲時間</translation>
 <translation id="2082205219176343977">設定裝置的最低 Chrome 版本限制。</translation>
+<translation id="208623333578980446">允許電源管理的螢幕 Wake Lock</translation>
 <translation id="209586405398070749">穩定版</translation>
 <translation id="2098658257603918882">啟用使用量和當機相關資料的報告功能</translation>
 <translation id="2104418465060359056">回報擴充功能和外掛程式資訊</translation>
@@ -785,6 +802,7 @@
       如果將這項政策設為 Fast,<ph name="PRODUCT_NAME" /> 會盡可能避免執行光柵化。減少光柵化的數量有助於降低列印工作大小並提高列印速度。
 
       如果不設定這項政策,<ph name="PRODUCT_NAME" /> 會使用 Full 模式。</translation>
+<translation id="2337859888277013371">不允許使用往返快取</translation>
 <translation id="2345547870894930157">啟用 DNS-over-HTTPS,而且禁止改用不安全查詢</translation>
 <translation id="2349117476121456297">這項政策設為 True 時,鍵盤最上排的按鍵會做為功能鍵指令使用。按下搜尋鍵即可將按鍵行為改回媒體鍵。
 
@@ -810,6 +828,9 @@
       網址模式不得與 <ph name="FILE_SYSTEM_READ_BLOCKED_FOR_URLS_POLICY_NAME" /> 政策衝突。如果網址同時符合兩項政策,系統不會優先採用任何一項政策。
 
       如果想進一步瞭解有效的<ph name="URL_LABEL" />模式,請參閱 https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns。</translation>
+<translation id="2384233438419344179">如果將這項政策設為啟用,瀏覽器網址列中的網域以外的網頁元素將無法設定 Cookie。如果將這項政策設為停用,這類元素將可設定 Cookie,且使用者無法變更這項設定。
+
+      如果不設定,系統會啟用第三方 Cookie,但使用者可以變更這項設定。</translation>
 <translation id="2386362615870139244">允許使用螢幕喚醒鎖</translation>
 <translation id="2394674739523870144">如果將這項政策設為字串清單,系統會使用空格連接字串,並將字串以指令列參數的形式從 <ph name="IE_PRODUCT_NAME" /> 傳送至 <ph name="PRODUCT_NAME" />。如果有參數包含 <ph name="URL_PLACEHOLDER" />,系統會將 <ph name="URL_PLACEHOLDER" /> 替換成要開啟的網頁網址。如果沒有參數包含 <ph name="URL_PLACEHOLDER" />,則網址會附加在指令列結尾。
 
@@ -882,6 +903,7 @@
        如果未設定這項政策,系統會在未受管理的裝置上,將指標和診斷資料的報告功能保持停用,而在受管理的裝置上則保持啟用。</translation>
 <translation id="2454228136871844693">穩定性最佳化。</translation>
 <translation id="2455033019778127130">使用預設的瀏覽器行為,顯示《服務條款》並等待使用者接受。</translation>
+<translation id="2460238670327375238">允許第三方 Cookie,但使用者可以變更這項設定</translation>
 <translation id="2463034609187171371">在傳輸層安全標準 (TLS) 中啟用 DHE 加密套件</translation>
 <translation id="2463365186486772703">應用程式語言代碼</translation>
 <translation id="2463832514638083341">這項政策可控管將列印工作中繼資料儲存在裝置上的時間範圍 (以天為單位)。
@@ -893,6 +915,7 @@
       指定政策值時需以天為單位。</translation>
 <translation id="2466131534462628618">要求網頁認證入口的驗證機制忽略 Proxy 設定</translation>
 <translation id="247658312644322296">「另存為 PDF」目的地</translation>
+<translation id="2478756867046106663">允許具有濫用行為的網站開啟新視窗或新分頁</translation>
 <translation id="2480971699591919564">啟用「點選通話」功能,讓登入 Google 帳戶的使用者可以將電話號碼從 Chrome 桌面傳送到 Android 裝置。詳情請參閱說明中心文章:https://support.google.com/chrome/answer/9430554?hl=zh-TW。
 
       如果將這項政策設為啟用,Chrome 使用者便可以將電話號碼傳送到 Android 裝置。
@@ -992,6 +1015,7 @@
 
       如果你未設定這項政策,使用者將可以自行決定是否要使用資料壓縮 Proxy 功能。</translation>
 <translation id="257788512393330403">每 6 小時需輸入密碼</translation>
+<translation id="2586117300379904732">允許電源管理的 Wake Lock</translation>
 <translation id="2587719089023392205">將 <ph name="PRODUCT_NAME" /> 設為預設瀏覽器</translation>
 <translation id="2588252329503406673">你可以透過這項政策,設定 <ph name="PRODUCT_OS_NAME" />在顯示登入畫面時,如果有一陣子沒有任何使用者活動,要採取哪些動作。這項政策可控管多項設定。如要瞭解這些設定各自的語義和值範圍,請參閱在工作階段中控制電源管理的相應政策。
 
@@ -1821,6 +1845,11 @@
 <translation id="3816312845600780067">啟用停止自動登入的鍵盤快速鍵</translation>
 <translation id="3817323252437541502">為加入進階保護計畫的使用者啟用額外防護功能</translation>
 <translation id="3821861026311587684">強制登出帳戶驗證狀態失效的使用者</translation>
+<translation id="3823381379309653965">你可以透過這項政策,指定向裝置管理服務查詢裝置政策資訊的時間範圍 (以毫秒為單位)。有效值範圍介於 1,800,000 (30 分鐘) 到 86,400,000 (1 天) 之間。系統會將超出範圍的值調整成接近的上限值或下限值。
+
+      如果未設定這項政策,<ph name="PRODUCT_OS_NAME" />會使用 3 小時的預設值。
+
+      注意:政策通知會在政策變更時強制重新整理,因此系統不需要時常重新整理。如果平台支援這類通知,重新整理延遲時間會是 24 小時 (系統會忽略預設值以及這項政策的值)。</translation>
 <translation id="382476126209906314">為遠端存取主機設定 TalkGadget 前置詞</translation>
 <translation id="3824972131618513497">控管電源管理和重新啟動的相關設定。</translation>
 <translation id="3825873934240606959">禁止本機裝置探索</translation>
@@ -1950,6 +1979,7 @@
 <translation id="3956686688560604829">使用 Internet Explorer 的 SiteList 政策取得舊版瀏覽器支援。</translation>
 <translation id="3958586912393694012">允許使用 Smart Lock</translation>
 <translation id="3962445567482559878">使用 Google 助理入門使用體驗的 EDU 模式</translation>
+<translation id="396261881101930204">向使用者隱藏媒體推薦內容</translation>
 <translation id="3963602271515417124">如果設為 true,裝置即可從遠端證明身分,且系統會自動產生憑證並上傳到裝置管理伺服器。
 
           如果設為 false 或未設定,則不會產生憑證,且 enterprise.platformKeys 擴充功能 API 呼叫作業將會失敗。</translation>
@@ -2041,6 +2071,7 @@
       這項政策只會影響透過 SAML 進行驗證的使用者。</translation>
 <translation id="4105989332710272578">不針對列出的網址強制執行憑證透明化政策</translation>
 <translation id="4121350739760194865">阻止應用程式宣傳資訊在新分頁上顯示</translation>
+<translation id="4122473079291425973">如果系統可以取得與卡片相關的網頁內容,新分頁就會顯示卡片,但使用者可以變更這項設定</translation>
 <translation id="412697421478384751">允許使用者設定強度不足的螢幕鎖定 PIN 碼</translation>
 <translation id="4138655880188755661">時間限制</translation>
 <translation id="4147818922357566987">僅啟用與重大修正項目相關的變化版本</translation>
@@ -2540,6 +2571,15 @@
 
       如果將這項政策設為停用,系統會禁止 <ph name="PRODUCT_NAME" /> 傳送這類查詢。</translation>
 <translation id="504116558738617678">只有在裝置未受管理或只有一位使用者時,才顯示磁碟空間不足的警告</translation>
+<translation id="5052278640307929670">當所選政策的來源不同,但具有相同的範圍和層級時,你可以透過這項政策允許合併。
+
+        如果清單中的某項政策發生來源衝突:
+
+      * 當不同的來源具有相同的範圍和層級時,政策值會合併為新的政策清單。
+
+      * 當不同的來源具有不同的範圍或層級時,系統會套用優先順序最高的政策。
+
+      如果某項政策不在清單中,但發生來源、範圍或層級衝突,系統會套用優先順序最高的政策。</translation>
 <translation id="5056708224511062314">已停用螢幕放大鏡</translation>
 <translation id="5058573563327660283">選取自動清理時用來釋出磁碟空間的策略 (已不適用)</translation>
 <translation id="5061114193960158745">你可以透過這項政策,控管一律不觸發瀏覽器切換的網站清單。系統會將每個項目視為規則。相符的規則不會開啟替代瀏覽器。這項政策與 <ph name="URL_LIST_POLICY_NAME" /> 政策的不同之處在於,規則為雙向適用。如果 <ph name="IE_PRODUCT_NAME" /> 增益集已啟用,這項政策也會控管 <ph name="IE_PRODUCT_NAME" /> 是否應在 <ph name="PRODUCT_NAME" /> 中開啟這些網址。
@@ -2909,11 +2949,20 @@
       如果將這項政策設為 False,<ph name="PRODUCT_NAME" /> 無法以整個分頁顯示產品資訊。
 
       你可以透過這項政策控制歡迎頁面的顯示形式,協助使用者登入 <ph name="PRODUCT_NAME" />、將 <ph name="PRODUCT_NAME" /> 設為使用者的預設瀏覽器,或是向使用者介紹產品功能。</translation>
+<translation id="544654037134815017">這項政策可控管新分頁上的卡片顯示設定。卡片會根據使用者的瀏覽行為,針對使用者經常造訪的網站,顯示可啟動這類網站的進入點。
+
+      如果將這項政策設為啟用,且系統可以取得與卡片相關的網頁內容,新分頁就會顯示卡片。
+
+      如果將這項設定設為停用,新分頁就不會顯示卡片。
+
+      如果未設定這項政策,使用者可控管卡片顯示設定。預設值為可顯示卡片。
+      </translation>
 <translation id="5457065417344056871">在瀏覽器中啟用訪客模式</translation>
 <translation id="5457387982448145430">如果將這項政策設為啟用,瀏覽器會在首次執行時,從先前的預設瀏覽器中匯入已儲存的密碼。如果將這項政策設為停用或不設定,瀏覽器首次執行時就不會匯入任何已儲存的密碼。
 
       使用者可以觸發匯入對話方塊,瀏覽器將根據這項政策的值,勾選或取消勾選已儲存密碼的核取方塊。</translation>
 <translation id="5457924070961220141">允許你在安裝「<ph name="PRODUCT_FRAME_NAME" />」之後,設定預設的 HTML 算繪器。如果未設定這項政策,系統就會使用預設設定,允許主機瀏覽器進行算繪,但是你可以覆寫這項預設,改由「<ph name="PRODUCT_FRAME_NAME" />」算繪 HTML 網頁。</translation>
+<translation id="5460797984317417682">啟用全螢幕警示</translation>
 <translation id="5464816904705580310">為管理化環境下的使用者調整設定。</translation>
 <translation id="5466596281866046569">回報應用程式資訊</translation>
 <translation id="546726650689747237">在 AC 供電環境下執行時的螢幕調暗延遲時間</translation>
@@ -3219,6 +3268,11 @@
 <translation id="5946329690214660966">自訂檢查更新的時間表</translation>
 <translation id="5951418260805607969">當磁碟空間不足時顯示通知</translation>
 <translation id="5958746038080720143">啟用「網路 Proxy 自動探索」(WPAD) 最佳化功能</translation>
+<translation id="5959428851851090097">如果將這項政策設為啟用,當雲端政策與平台政策發生衝突時,系統會優先採用雲端政策。
+
+      如果將這項政策設為停用或不設定,當平台政策與雲端政策發生衝突時,系統會優先採用平台政策。
+
+      這項強制政策會影響裝置範圍內的雲端政策。</translation>
 <translation id="5961137303188584693">裝置內建的 NIC MAC 位址</translation>
 <translation id="5966615072639944554">允許擴充功能使用 Remote Attestation API</translation>
 <translation id="5975765799383881158">如果將這項政策設為啟用或不設定,使用者可以將意見回饋傳送給 Google,方法是依序按一下「選單」圖示 &gt; [說明] &gt; [回報問題],或是按下按鍵組合。
@@ -3312,6 +3366,8 @@
 
       網址格式必須符合 https://www.chromium.org/administrators/url-blacklist-filter-format 的規定。不過,判定憑證是否有效與網址配置、通訊埠或路徑皆無關,因此 <ph name="PRODUCT_NAME" /> 只會檢視網址的主機名稱部分 (不支援含萬用字元的主機名稱)。</translation>
 <translation id="6111936128861357925">允許 Dinosaur Easter Egg Game (恐龍復活節彩蛋遊戲)</translation>
+<translation id="6123052603197028610">不允許向 Google 伺服器發送擷取時間戳記的查詢</translation>
+<translation id="6132506775968708399">封鎖第三方 Cookie</translation>
 <translation id="6133088669883929098">允許所有網站使用金鑰產生功能</translation>
 <translation id="6135398260575578389">已啟用強化模式中的安全瀏覽功能。這個模式可提供更完善的安全防護機制,但使用者必須提供更多瀏覽資訊給 Google。</translation>
 <translation id="6138636318340561140">即時檢查網址的安全瀏覽狀態</translation>
@@ -3324,6 +3380,11 @@
       否則系統會透過 mDNS 主機名稱隱藏本機 IP 位址。
       請注意,如果系統管理員必須使用此政策,此政策將降低系統對本機 IP 的保護程度。</translation>
 <translation id="614662973812186053">這項政策也可以控制 Android 使用資料和診斷資料的收集設定。</translation>
+<translation id="6148540081388423836">如果將這項政策設為啟用,系統會強制要求註冊 <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />。如果註冊失敗,系統會封鎖 <ph name="PRODUCT_NAME" /> 啟動程序。
+
+      如果將這項政策設為停用或不設定,使用者可選擇性地註冊 <ph name="CHROME_BROWSER_CLOUSE_MANAGEMENT_NAME" />。如果註冊失敗,系統不會封鎖 <ph name="PRODUCT_NAME" /> 啟動程序。
+
+      在桌面註冊裝置範圍雲端政策時會使用這項政策。詳情請參閱 https://support.google.com/chrome/a/answer/9301891?ref_topic=9301744。</translation>
 <translation id="6155350825868160236">允許使用者選擇是否要使用 Google 網路服務來解決拼字錯誤</translation>
 <translation id="6155936611791017817">設定大型游標在登入畫面的預設狀態</translation>
 <translation id="6157537876488211233">以逗號間隔的 Proxy 略過規則清單</translation>
@@ -3398,6 +3459,7 @@
           這項政策的每個清單項目都是一行字串,其中包含以分號 (<ph name="SEMICOLON" />) 區隔的擴充功能 ID 和「更新」網址 (選用)。擴充功能 ID 為 32 個字母的字串,如需查看範例,請在開發人員模式下前往 <ph name="CHROME_EXTENSIONS_LINK" />。「更新」網址 (如有指定) 應指向更新資訊清單 XML 文件,如 <ph name="LINK_TO_EXTENSION_DOC1" /> 所述。根據預設,系統會使用 Chrome 線上應用程式商店的更新網址 (目前為「https://clients2.google.com/service/update2/crx」)。請注意,這項政策設定的「更新」網址僅適用於初次安裝,後續的擴充功能更新將採用擴充功能資訊清單指定的更新網址。
 
       舉例來說,<ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" /> 會從標準的 Chrome 線上應用程式商店「更新」網址安裝「<ph name="SMART_CARD_CONNECTOR_APP_NAME" />」應用程式。如要進一步瞭解如何代管擴充功能,請參閱以下連結:<ph name="LINK_TO_EXTENSION_DOC2" />。</translation>
+<translation id="6275497712828649588">在使用具有安全疑慮的指令列旗標時,隱藏安全性警告。</translation>
 <translation id="6275833043726517413">使用舊版 <ph name="CORS" /> 模式,而不使用新版 <ph name="CORS" />。
 
       如果將這項政策設為 True,系統會使用舊版模式,該模式應與先前的版本相容。
@@ -3417,6 +3479,7 @@
 
       注意:如果用戶端長時間處於離線狀態,即使已經過了指定天數,密碼也可能不會變更。</translation>
 <translation id="6281043242780654992">設定內建訊息傳遞政策。如要允許列入黑名單的內建訊息傳遞主機,必須將其加入許可清單。</translation>
+<translation id="6282524907402492171">顯示 <ph name="CLOUD_PRINT_NAME" />淘汰警告訊息</translation>
 <translation id="6282799760374509080">允許或拒絕擷取音訊</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
 <translation id="6310223829319187614">允許在使用者登入過程中以自動完成功能填入網域名稱</translation>
@@ -3427,6 +3490,15 @@
 <translation id="631183702829488873">啟用這項功能後,你會在登入畫面和鎖定畫面上看到允許顯示密碼的按鈕。
           這個按鈕會在密碼文字欄位中顯示為眼睛圖示。如果停用這項功能,此按鈕就不會顯示。
       </translation>
+<translation id="6313170479290171718">這項政策已遭淘汰,請改用 <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" /> 政策。
+
+      將這項政策設為 True,即可在登入時啟用螢幕小鍵盤。將這項政策設為 False,即可在登入時停用螢幕小鍵盤。
+
+      如果設定這項政策,使用者可暫時啟用或停用螢幕小鍵盤。當登入畫面重新載入或閒置達一分鐘時,螢幕小鍵盤會還原成原始狀態。
+
+      如果未設定,系統會在登入畫面上停用螢幕小鍵盤。使用者隨時可以啟用放大鏡,而且所有使用者在登入畫面上的螢幕小鍵盤狀態會保持一致。
+
+       注意:如果指定 <ph name="DEVICE_LOGIN_SCREEN_VIRTUAL_KEYBOARD_ENABLED_POLICY_NAME" />,這項政策會遭到覆寫。</translation>
 <translation id="6319198883324703402">設定第一次通知使用者重新啟動的時間</translation>
 <translation id="6330882599388782338">允許網站存取感應器</translation>
 <translation id="6331167725613770725">請注意,這項政策已遭淘汰,並將在 <ph name="PRODUCT_OS_NAME" />第 85 版中移除。請改用 <ph name="POWER_MANAGEMENT_IDLE_SETTINGS_POLICY_NAME" />。
@@ -3577,6 +3649,7 @@
 
       如果未設定、設為讓使用者決定或設為 None,使用者將可透過 chrome://settings 中的一般控制項來控制自動偵測時區的功能。</translation>
 <translation id="6532769014584932288">允許使用 Wake Lock</translation>
+<translation id="6536444379078076149">連線時,啟用或停用主機桌面上的連線相關 UI 顯示。</translation>
 <translation id="6536600139108165863">裝置關機時自動重新啟動</translation>
 <translation id="6539246272469751178">這項政策對 Android 應用程式沒有影響。Android 應用程式會一律使用預設的下載目錄,無法存取任何由 <ph name="PRODUCT_OS_NAME" />下載到非預設下載目錄的檔案。</translation>
 <translation id="654303922206238013">eCryptfs 遷移策略</translation>
@@ -3639,6 +3712,7 @@
 
       如果是 Active Directory 管理的裝置,這項政策支援將 <ph name="MACHINE_NAME_VARIABLE" /> 擴充為 Active Directory 電腦名稱或其子字串。舉例來說,如果電腦名稱為 <ph name="MACHINE_NAME_EXAMPLE" />,則系統會以第 6 個字元後的 4 個字元取代 <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" />,也就是 <ph name="MACHINE_NAME_PART_EXAMPLE" />。請注意,字元序數從 0 開始計算。
       </translation>
+<translation id="6584541828182430328">停用顯示全螢幕警示的功能</translation>
 <translation id="6588522781970773591">你可以透過這項政策控管 <ph name="PRODUCT_NAME" /> 的擴充功能管理設定,包括由現有擴充功能相關政策所控管的任何設定。這項政策會取代任何可供設定的舊版政策。
 
       這項政策只可將擴充功能 ID 或更新網址對應到其特定的設定。你可以設定特殊 ID <ph name="DEFAULT_SCOPE" /> 的預設設定,所有未透過這項政策自訂設定的擴充功能一律會套用預設設定。如果你指定了更新網址,系統會根據擴充功能資訊清單提供的確切更新網址,將設定套用至擴充功能 ( http://support.google.com/chrome/a?p=Configure_ExtensionSettings_policy )。
@@ -4272,6 +4346,7 @@
 <translation id="7448430478749155471">在登入畫面上啟用隨選朗讀功能</translation>
 <translation id="7458437477941640506">如果作業系統版本比目標版本還新,則不復原至目標版本,且一併停用更新。</translation>
 <translation id="7459601923199346224">控管憑證管理的使用者和裝置政策。</translation>
+<translation id="7459633275230216698">允許顯示檔案選取對話方塊</translation>
 <translation id="7464991223784276288">將來自相符網址的 Cookie 限制在目前的工作階段中</translation>
 <translation id="7468182772656807573">你可以透過這項政策,決定監控網路封包的傳送頻率 (以毫秒為單位)。間隔範圍須介於 30 秒到 24 小時之間。系統會將超出範圍的值調整到範圍內。
 
@@ -4326,6 +4401,9 @@
       如果相關裝置可以使用 Wilco DTC,且這項政策設為 True,那麼系統就會開啟遙測和診斷資料的收集、處理和回報功能。</translation>
 <translation id="7519251620064708155">允許在這些網站上使用金鑰產生功能</translation>
 <translation id="7529144158022474049">自動更新分散係數</translation>
+<translation id="7529332889403151669">指定當裝置自休眠或深色螢幕狀態回到一般使用狀態時,是否要顯示全螢幕警示。
+
+      如果未設定這項政策或設為 True,系統將顯示警示,提醒使用者先結束全螢幕模式再輸入密碼。如果將這項政策設為 False,系統不會顯示警示。</translation>
 <translation id="7529963829662387349">你可以透過這項政策,讓使用者為 <ph name="PRODUCT_OS_NAME" />工作階段選擇你指定的其中一種輸入法 (鍵盤配置)。
 
        如果未設定或設為空白清單,使用者可以選取任何支援的輸入法。
@@ -4333,6 +4411,7 @@
       注意:如果系統不支援目前的輸入法,則會將輸入法切換至硬體鍵盤配置 (如果允許的話),或是這份清單中的第一個有效項目。系統會忽略無效或不支援的輸入法。</translation>
 <translation id="7534199150025803530">這項政策對 Android Google 雲端硬碟應用程式沒有影響。如要禁止透過行動網路連線使用 Google 雲端硬碟,則必須禁止安裝 Android Google 雲端硬碟應用程式。</translation>
 <translation id="7540622499178214923">允許使用 wilco 診斷與遙測控制器</translation>
+<translation id="7540826630642174841">如果設定這項政策,系統會在指定的時間間隔內忽略特定裝置政策,並使用這類政策的預設設定。<ph name="PRODUCT_NAME" /> 會在這項政策所設定的期間開始或結束時重新套用裝置政策。當此期間變更或裝置政策設定變更時 (例如,當使用者以禁止使用的帳戶登入時),系統會通知使用者並將其強制登出。</translation>
 <translation id="7547549430720182663">合併</translation>
 <translation id="7553535237300701827">設定這項政策後,系統會根據設定值採用下列其中一種登入驗證流程:
 
@@ -4418,6 +4497,7 @@
 <translation id="7643883929273267746">限制在 <ph name="PRODUCT_NAME" /> 中顯示的帳戶</translation>
 <translation id="7648907905084499629">對所有網站上的 Cookie 使用 <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" /> 行為</translation>
 <translation id="7657261947024629645">效能最佳化。</translation>
+<translation id="7666228839913571182">允許第三方 Cookie</translation>
 <translation id="7668830462800981702">如果將這項政策設為啟用,當使用者在網址列中輸入非網址的文字時,系統會執行預設搜尋。如要指定預設搜尋引擎,請設定其餘的預設搜尋政策。如果將其餘的預設搜尋政策保留空白,使用者就可以選擇預設搜尋引擎。如果將這項政策設為停用,使用者在網址列中輸入非網址的文字時,系統不會執行任何搜尋。
 
       如果設定這項政策,使用者將無法在 <ph name="PRODUCT_NAME" /> 中進行變更。如果未設定,系統會啟用預設搜尋引擎,且使用者可以設定搜尋引擎清單。
@@ -4461,6 +4541,8 @@
 
       注意:目前只有在顯示登入畫面或 Kiosk 應用程式工作階段運作時,才能啟用自動重新啟動。這種情況會在日後變更,而且無論任何特定類型的工作階段是否正在運作,政策都會一律適用。</translation>
 <translation id="7701341006446125684">設定應用程式和擴充功能快取大小 (以位元組為單位)</translation>
+<translation id="7703737669292992839">禁止顯示檔案選取對話方塊</translation>
+<translation id="7709470712369261710">不要使用 Google 服務提供自動產生的圖片說明</translation>
 <translation id="7710950688502974809">指定要套用至 <ph name="ON_BULK_DATA_ENTRY_ENTERPRISE_CONNECTOR" /> Enterprise Connector 的 Chrome Enterprise Connectors 服務設定清單,在 Chrome 中透過剪貼簿或拖曳網頁內容的方式輸入資料時會觸發這份清單。
 
       在特定網頁中輸入資料時,系統會使用 <ph name="ENTERPRISE_CONNECTOR_URL_LIST_FIELD" />、<ph name="ENTERPRISE_CONNECTOR_TAGS_FIELD" />、<ph name="ENTERPRISE_CONNECTOR_ENABLE_FIELD" />、<ph name="ENTERPRISE_CONNECTOR_DISABLE_FIELD" /> 欄位來判斷連接器是否要傳送資料進行分析,以及要在該資料的分析要求中加入哪些標記。系統會比對標記對應的模式,如果頁面網址符合與該標記相關聯的「啟用」模式,系統就會將該標記加入分析要求中 (但若有頁面網址與此標記中的「停用」模式符合的情況則除外)。如果在要求中加入至少 1 個標記,系統就會進行分析。
@@ -4504,6 +4586,11 @@
       如果將這項政策設為停用,使用者無法點閱任何警告頁面。</translation>
 <translation id="7750991880413385988">開啟新分頁</translation>
 <translation id="7754704193130578113">下載每個檔案前先詢問儲存位置</translation>
+<translation id="7754893969683595513">你可以透過這項政策,指定向裝置管理服務查詢使用者政策資訊的時間範圍 (以毫秒為單位)。有效值範圍介於 1,800,000 (30 分鐘) 到 86,400,000 (1 天) 之間。系統會將超出範圍的值調整成接近的上限值或下限值。
+
+      如果未設定這項政策,系統會使用 3 小時的預設值。
+
+      注意:政策通知會在政策變更時強制重新整理,因此系統不需要時常重新整理。如果平台支援這類通知,重新整理延遲時間會是 24 小時 (系統會忽略預設值以及這項政策的值)。</translation>
 <translation id="7758378441185523981">為設定檔類型啟用背景驗證。</translation>
 <translation id="776110834126722255">已淘汰</translation>
 <translation id="7763614521440615342">在新分頁顯示內容建議</translation>
@@ -4594,6 +4681,7 @@
 
       如果將這項政策設為停用或不設定,系統產生 Kerberos SPN 時,CNAME 查詢會決定伺服器的標準名稱。</translation>
 <translation id="7912255076272890813">設定允許的應用程式/擴充功能類型</translation>
+<translation id="791267408364877739">在使用具有安全疑慮的指令列旗標時,顯示安全性警告。</translation>
 <translation id="7922358664346625612">讓 Chrome 中的最後一個分頁保持開啟。</translation>
 <translation id="793134539373873765">指定是否使用 P2P 更新裝載作業系統。如果設為 True,裝置將會在 LAN 上共用並嘗試使用更新裝載,藉此降低網際網路頻寬用量及減輕壅塞。如果 LAN 上未提供更新裝載,裝置將回歸至更新伺服器進行下載。如果設為 False 或未設定,則不會使用 P2P。</translation>
 <translation id="7933141401888114454">啟用建立受監管使用者的功能</translation>
@@ -4649,6 +4737,9 @@
 <translation id="8006219716745491366">如果已啟用 <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> 政策,你可以設定 <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> 政策來指定替代網址清單,這份清單中的替代網址會從搜尋引擎中擷取搜尋字詞。網址應包含字串 <ph name="SEARCH_TERM_MARKER" />。
 
       如果未設定 <ph name="DEFAULT_SEARCH_PROVIDER_ALTERNATE_URLS_POLICY_NAME" /> 政策,系統不會使用任何替代網址擷取搜尋字詞。</translation>
+<translation id="8006921530139404577">如果停用這項政策,系統不會針對未遮蔽的遠端存取連線顯示連線相關 UI (例如中斷連線視窗)。這項政策不會影響已遮蔽的遠端存取工作階段和遠端支援工作階段。
+
+          如果設為 True、保留空白或不設定,這項政策就不會生效。</translation>
 <translation id="8011935490612940798">控管 <ph name="PRODUCT_NAME" /> 功能。</translation>
 <translation id="802147957407376460">將畫面旋轉 0 度</translation>
 <translation id="8027265928215448940">指定要套用至 <ph name="ON_FILE_DOWNLOADED_ENTERPRISE_CONNECTOR" /> Enterprise Connector 的 Chrome Enterprise Connectors 服務設定清單,在 Chrome 中下載檔案時會觸發這份清單。
@@ -4688,6 +4779,7 @@
 <translation id="8053580360728293758">覆寫預設列印色彩模式。如果設定的模式不適用,系統會忽略這項政策。</translation>
 <translation id="8056237304861875584">允許啟用 Phone Hub 工作接續</translation>
 <translation id="8059164285174960932">遠端存取用戶端取得驗證憑證的來源網址</translation>
+<translation id="8062485064082966327">使用去識別化的 Google 服務,針對無標籤圖片提供自動產生的說明</translation>
 <translation id="8076521374016204899">如果將這項政策設為啟用或不設定,系統會透過使用密碼驗證的使用者鎖定螢幕。
 
       如果將這項政策設為停用,使用者將無法鎖定螢幕,只能從使用者工作階段登出。</translation>
@@ -4767,8 +4859,10 @@
 <translation id="816783746144552109">設定裝置的 Chrome 作業系統最低版本限制。</translation>
 <translation id="8171924760436219650">在登入畫面上將滑鼠的主要按鈕切換為右鍵</translation>
 <translation id="8176035528522326671">僅允許企業使用者成為多重設定檔的主要使用者 (受企業管理的使用者的預設行為)</translation>
+<translation id="8179161412673077784">禁止具有濫用行為的網站開啟新視窗或新分頁</translation>
 <translation id="8183108371184777472">禁止啟動瀏覽器視窗</translation>
 <translation id="8186911565834244165">允許使用者意見回饋功能</translation>
+<translation id="8195133650230097559">忽略電源管理的 Wake Lock 要求</translation>
 <translation id="8196558469954193908">這項政策可在用戶端憑證已有人使用的情況下,允許 HTTP/2 連線合併。如要合併,要建立新連線的主機名稱和現有連線的主機名稱必須與這項政策中的一或多個模式相符。這項政策所設定的主機清單採用「<ph name="URL_BLOCKLIST_POLICY_NAME" />」篩選器格式:「example.com」和其所有子網域 (例如「sub.example.com」) 均符合「example.com」這項篩選條件,而「.example.net」則與「example.net」完全相符。
 
       如果透過使用用戶端憑證的連線,將傳送給不同主機的要求合併,可能會導致安全性和隱私權問題,這是因為即便使用者並未明確授權,系統仍會將周遭授權傳送給所有的要求。這項政策僅是暫時性措施,我們會在日後版本中予以移除。詳情請參閱 https://crbug.com/855690。
@@ -4813,6 +4907,17 @@
 這些設定不需手動配置!你可以在 <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" /> 下載簡單易用的範本,直接在 Windows、Mac 和 Linux 系統中使用。
 
 你仍可在已加入 <ph name="MS_AD_NAME" /> 網域的 Windows 執行個體透過登錄檔佈建政策,但我們建議你在 Windows 透過 GPO 設定政策。</translation>
+<translation id="8261874086461353268">當所選政策的來源不同,但具有相同的範圍和層級時,你可以透過這項政策允許合併。
+
+        合併方式是將各個來源字典的第一層金鑰合併。系統會首先採用優先順序最高的來源所提供的金鑰。
+
+      如果清單中的某項政策發生來源衝突:
+
+      * 當不同的來源具有相同的範圍和層級時,政策值會合併為新的政策字典。
+
+      * 當不同的來源具有不同的範圍或層級時,系統會套用優先順序最高的政策。
+
+      如果某項政策不在清單中,但發生來源、範圍或層級衝突,系統會套用優先順序最高的政策。</translation>
 <translation id="8266778278542911985">如果將這項政策設為 3,網站將可要求存取序列埠。如果將這項政策設為 2,網站將無法存取序列埠。
 
       如果不設定,網站可要求存取序列埠,但使用者可以變更這項設定。</translation>
@@ -4916,6 +5021,9 @@
 
       如果將這項政策設為 True 或不予設定,系統會將 Crostini 容器的 Root 權限授予這位使用者。
       如果將這項政策設為 False,系統不會將現有或新 Crostini 容器的 Root 權限授予這位使用者。</translation>
+<translation id="8415953438346821074">如果啟用這項設定,儲存在 <ph name="PRODUCT_NAME" /> 設定檔中的設定 (例如書籤、自動填入資料、密碼等) 將會一併寫入漫遊使用者設定檔資料夾中儲存的檔案,系統管理員也可以透過 <ph name="ROAMING_PROFILE_LOCATION_POLICY_NAME" /> 政策指定這個檔案儲存的位置。啟用這項政策會停用雲端同步處理功能。
+
+      如果停用或不設定這項政策,系統只會使用一般本機設定檔。</translation>
 <translation id="8417305981081876834">設定螢幕鎖定 PIN 碼的長度上限</translation>
 <translation id="8417750118762775739">如果將這項政策設為停用,系統會允許以 <ph name="BLANK_PAGE_NAME" /> 為目標的彈出式視窗透過 JavaScript 存取要求開啟彈出式視窗的網頁。
 
@@ -5094,6 +5202,7 @@
        根據預設,<ph name="PRODUCT_NAME" /> 不會自動播放媒體。不過,你可以針對特定網址模式,使用 <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME" /> 政策來變更這項設定。
 
       如果這項政策在 <ph name="PRODUCT_NAME" /> 執行時有所變動,變更只會套用到新開啟的分頁。</translation>
+<translation id="8685748277907759932">禁止使用「輕觸搜尋」功能</translation>
 <translation id="8687958770985542440">重新啟用 Web Components v0 API,直到 M84 版為止。</translation>
 <translation id="8693243869659262736">使用內建的 DNS 用戶端</translation>
 <translation id="8698286761337647563">當 SAML 使用者的密碼即將到期,系統要提前幾天通知</translation>
@@ -5186,7 +5295,12 @@
       這項政策的每個清單項目都是一行字串,其中包含以分號 (;) 區隔的擴充功能 ID 和「更新」網址 (選用)。擴充功能 ID 為 32 個字母的字串,你可以在開發人員模式下前往 chrome://extensions 等位置查看這類字串。「更新」網址 (如有指定) 應指向更新資訊清單 XML 文件 ( https://developer.chrome.com/extensions/autoupdate )。根據預設,系統會使用 Chrome 線上應用程式商店的更新網址。這項政策設定的「更新」網址僅適用於初次安裝,後續的擴充功能更新將使用擴充功能資訊清單中的更新網址。
 
        注意:這項政策不適用於無痕模式。請前往以下頁面,參閱有關代管擴充功能的資訊:https://developer.chrome.com/extensions/hosting。</translation>
+<translation id="8832829916385857156">如果系統可以取得與卡片相關的網頁內容,新分頁就會顯示卡片</translation>
 <translation id="8833109046074170275">透過預設的 GAIA 流程進行驗證</translation>
+<translation id="8834641112681661892">你可以透過這項政策,指定從收到政策無效通知到從裝置管理服務擷取新政策的最長延遲時間 (以毫秒為單位)。有效值範圍介於 1,000 (1 秒) 到 300,000 (5 分鐘) 之間。系統會將超出範圍的值調整成接近的上限值或下限值。
+
+      如果不設定這項政策,<ph name="PRODUCT_NAME" /> 會使用 10 秒的預設值。</translation>
+<translation id="885147810817138322">向使用者顯示媒體推薦內容</translation>
 <translation id="8852579753940989645">啟用轉譯器程式碼完整性功能</translation>
 <translation id="8854571659927427063">如果將這項政策設為啟用,瀏覽器會在首次執行時,從先前的預設瀏覽器中匯入書籤。如果將這項政策設為停用或不設定,瀏覽器首次執行時不會匯入任何書籤。
 
@@ -5219,6 +5333,7 @@
           如果網域上的 Cookie 不符合此處指定的模式,系統會根據 <ph name="LEGACY_SAMESITE_COOKIE_BEHAVIOR_ENABLED_POLICY_NAME" /> 政策 (如有設定) 或使用者的個人設定,對 Cookie 套用全域預設值。如果不設定這項政策,系統也會為所有 Cookie 採用這種做法。
 
           請注意,系統會將你在這裡列出的模式視為網域而非網址,因此你不應指定網址架構或通訊埠。</translation>
+<translation id="8890438048579188548">隱藏 <ph name="CLOUD_PRINT_NAME" />淘汰警告訊息</translation>
 <translation id="8892286064305622118"><ph name="PLUGIN_VM_NAME" /> 需要的可用磁碟空間</translation>
 <translation id="8904721489610046109">你可以透過這項政策開啟或關閉網路節流功能,這表示系統則會根據提供的上傳和下載速率 (KB/秒) 啟用節流功能。這項設定將會套用至這部裝置的所有使用者。</translation>
 <translation id="8906768759089290519">啟用訪客模式</translation>
@@ -5352,6 +5467,7 @@
       如果設定這項政策,無論使用者是否指定 --disk-cache-size 旗標,<ph name="PRODUCT_NAME" /> 都會使用你提供的快取大小 (MB 以下的值會進位為 MB)。
 
       如果未設定,<ph name="PRODUCT_NAME" /> 會使用預設大小,使用者可透過 --disk-cache-size 旗標來變更這項設定。</translation>
+<translation id="9055866143096316150">將螢幕 Wake Lock 使用要求降級為系統 Wake Lock 使用要求</translation>
 <translation id="9057444687284972605">你可以設定網址模式清單,用於指定在 SAML 流程代管架構的登入畫面中,如果網站要求憑證,系統會自動選取用戶端憑證的網站。實際應用範例:設定要提供給 SAML IdP 的裝置通用憑證。
 
       政策的值是字串化的 JSON 條目陣列,每個條目的格式都是 <ph name="AUTO_SELECT_CERTIFICATE_FOR_URLS_EXAMPLE" />,其中 <ph name="URL_PATTERN_PLACEHOLDER" /> 是內容設定格式。<ph name="FILTER_PLACEHOLDER" /> 會限制瀏覽器可自動選取的用戶端憑證。無論是否設定篩選器,瀏覽器都只會選取符合伺服器憑證要求的憑證。
diff --git a/components/reading_list/features/reading_list_switches.cc b/components/reading_list/features/reading_list_switches.cc
index 4823ece..bbbc2a5d 100644
--- a/components/reading_list/features/reading_list_switches.cc
+++ b/components/reading_list/features/reading_list_switches.cc
@@ -10,6 +10,7 @@
 
 namespace reading_list {
 namespace switches {
+
 // Allow users to save tabs for later. Enables a new button and menu for
 // accessing tabs saved for later. https://crbug.com/1109316
 const base::Feature kReadLater{"ReadLater", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -21,5 +22,12 @@
   return base::FeatureList::IsEnabled(kReadLater);
 #endif
 }
+
+#ifdef OS_ANDROID
+// Feature flag used for enabling read later reminder notification.
+const base::Feature kReadLaterReminderNotification{
+    "ReadLaterReminderNotification", base::FEATURE_DISABLED_BY_DEFAULT};
+#endif
+
 }  // namespace switches
 }  // namespace reading_list
diff --git a/components/reading_list/features/reading_list_switches.h b/components/reading_list/features/reading_list_switches.h
index 7896db6c..d79c266 100644
--- a/components/reading_list/features/reading_list_switches.h
+++ b/components/reading_list/features/reading_list_switches.h
@@ -9,10 +9,17 @@
 
 namespace reading_list {
 namespace switches {
+
 // Feature flag used for enabling Read later on desktop and Android.
 extern const base::Feature kReadLater;
 // Whether Reading List is enabled on this device.
 bool IsReadingListEnabled();
+
+#ifdef OS_ANDROID
+// Feature flag used for enabling read later reminder notification.
+extern const base::Feature kReadLaterReminderNotification;
+#endif
+
 }  // namespace switches
 }  // namespace reading_list
 
diff --git a/components/strings/components_strings_af.xtb b/components/strings/components_strings_af.xtb
index 7cc10a1..7f73d09d 100644
--- a/components/strings/components_strings_af.xtb
+++ b/components/strings/components_strings_af.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google Veiligblaai het onlangs <ph name="BEGIN_LINK" />skadelike programme<ph name="END_LINK" /> op <ph name="SITE" /> gevind.</translation>
 <translation id="2355395290879513365">Aanvallers sal dalk die prente kan sien waarna jy op hierdie werf kyk en jou mislei deur hulle te wysig.</translation>
 <translation id="2356070529366658676">Vra</translation>
+<translation id="2357481397660644965">Jou toestel word deur <ph name="DEVICE_MANAGER" /> bestuur en jou rekening word deur <ph name="ACCOUNT_MANAGER" /> bestuur.</translation>
 <translation id="2359629602545592467">Veelvuldige</translation>
 <translation id="2359808026110333948">Gaan voort</translation>
 <translation id="2360873523816792727">Skakel sinkronisering aan om jou kaarte op al jou toestelle te gebruik.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Kon nie antwoord dekodeer nie</translation>
 <translation id="3150653042067488994">Tydelike bedienerfout</translation>
 <translation id="3154506275960390542">Hierdie bladsy bevat 'n vorm wat dalk nie veilig is om in te dien nie. Data wat jy stuur, kan deur ander bekyk word terwyl dit op pad is of kan dalk deur 'n aanvaller gewysig word om die data te verander wat deur die bediener ontvang word.</translation>
+<translation id="315504272643575312">Jou rekening word bestuur deur <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Stel terug</translation>
 <translation id="3162559335345991374">Die Wi-Fi wat jy gebruik, kan vereis dat jy sy aanmeldbladsy besoek.</translation>
 <translation id="3167968892399408617">Bladsye wat jy in incognito-oortjies bekyk, sal nie in jou blaaier se geskiedenis, webkoekiewinkel of soekgeskiedenis wys nadat jy al jou incognito-oortjies toegemaak het nie. Enige lêers wat jy aflaai of boekmerk, sal gehou word.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, antwoord, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Die webbladsy by <ph name="PAGE" /> kon nie gelaai word nie, want:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Jou toestel en rekening word deur <ph name="MANAGER" /> bestuur.</translation>
 <translation id="8688672835843460752">Beskikbaar</translation>
 <translation id="868922510921656628">Bladsye per stel</translation>
 <translation id="869891660844655955">Vervaldatum</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">Jy is nou incognito.</translation>
 <translation id="8730621377337864115">Gedoen</translation>
 <translation id="8731544501227493793">Bestuur Wagwoorde-knoppie; druk Enter om jou wagwoorde in Chrome-instellings te bekyk en te bestuur</translation>
+<translation id="8734529307927223492">Jou <ph name="DEVICE_TYPE" /> word bestuur deur <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, druk Tab en dan Enter om 'n nuwe incognitovenster oop te maak om privaat te blaai</translation>
 <translation id="8738058698779197622">Om 'n veilige verbinding te maak, moet jou horlosie reg gestel wees. Die rede hiervoor is omdat sertifikate wat webwerwe gebruik om hulself te identifiseer, net vir sekere tydperke beskikbaar is. Chromium kan nie hierdie sertifikate verifieer nie, omdat jou toestel se horlosie nie reg gestel is nie.</translation>
 <translation id="8740359287975076522"><ph name="HOST_NAME" /> se &lt;abbr id="dnsDefinition"&gt;DNS-adres&lt;/abbr&gt; kon nie gevind word nie. Diagnoseer tans die probleem.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">Laai 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> gebruik gewoonlik enkripsie om jou inligting te beskerm. Toe Chromium hierdie keer aan <ph name="SITE" /> probeer koppel het, het die webwerf ongewone en verkeerde eiebewyse teruggestuur. Dit kan gebeur wanneer 'n aanvaller probeer voorgee om <ph name="SITE" /> te wees, óf wanneer 'n Wi-Fi-aanmeldskerm die verbinding onderbreek het. Jou inligting is steeds veilig, want Chromium het die verbinding gestaak voordat enige data uitgeruil is.</translation>
 <translation id="9106062320799175032">Voeg faktureringadres by</translation>
+<translation id="9107467864910557787">Jou blaaier word bestuur deur <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Bevestig tans kaart …</translation>
 <translation id="9114581008513152754">Hierdie blaaier word nie deur 'n maatskappy of ander organisasie bestuur nie. Aktiwiteit op hierdie toestel kan buite Chrome bestuur word. <ph name="BEGIN_LINK" />Kom meer te wete<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Opgelaai</translation>
diff --git a/components/strings/components_strings_as.xtb b/components/strings/components_strings_as.xtb
index 392a15a..db38e62 100644
--- a/components/strings/components_strings_as.xtb
+++ b/components/strings/components_strings_as.xtb
@@ -1242,6 +1242,7 @@
 <translation id="5901630391730855834">হালধীয়া</translation>
 <translation id="5905445707201418379"><ph name="ORIGIN" />ৰ মূল নীতি অনুযায়ী অৱৰোধ কৰা হৈছে।</translation>
 <translation id="5908541034548427511"><ph name="TYPE_1" /> (ছিংক কৰা আছে)</translation>
+<translation id="5913377024445952699">স্ক্ৰীন কেপচাৰ সুবিধাটো পজ কৰা হ'ল</translation>
 <translation id="59174027418879706">সক্ষম কৰা আছে</translation>
 <translation id="5919090499915321845">B10</translation>
 <translation id="5921185718311485855">অন</translation>
@@ -1910,6 +1911,7 @@
 <translation id="8622948367223941507">লিগেল-অতিৰিক্ত</translation>
 <translation id="8623885649813806493">মিলা কোনো পাছৱৰ্ড নাই। ছেভ হৈ থকা সকলো পাছৱৰ্ড দেখুৱাওক।</translation>
 <translation id="8625384913736129811">এই ডিভাইচটোত এই কাৰ্ডখন ছেভ কৰক</translation>
+<translation id="8627040765059109009">স্ক্ৰীন কেপচাৰ কৰাৰ সুবিধাটো পুনৰ আৰম্ভ কৰা হৈছে</translation>
 <translation id="8657078576661269990">আপোনাৰ প্ৰশাসকে <ph name="ORIGIN_NAME" />ৰ পৰা <ph name="VM_NAME_1" /> আৰু <ph name="VM_NAME_2" />লৈ শ্বেয়াৰ কৰাটো অৱৰোধ কৰিছে</translation>
 <translation id="8663226718884576429">অৰ্ডাৰৰ সাৰাংশ, <ph name="TOTAL_LABEL" />, অধিক বিৱৰণ</translation>
 <translation id="867224526087042813">চহী</translation>
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb
index 8a6f715..1e16eac 100644
--- a/components/strings/components_strings_bs.xtb
+++ b/components/strings/components_strings_bs.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Usluga Sigurno pregledanje na Googleu je nedavno <ph name="BEGIN_LINK" />pronašla štetne aplikacije <ph name="END_LINK" /> na web lokaciji <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Napadači mogu vidjeti slike koje gledate na ovoj web lokaciji i navesti vas da ih izmijenite.</translation>
 <translation id="2356070529366658676">Pitaj</translation>
+<translation id="2357481397660644965">Vašim uređajem upravlja <ph name="DEVICE_MANAGER" />, a vašim računom upravlja <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Veći broj</translation>
 <translation id="2359808026110333948">Nastavi</translation>
 <translation id="2360873523816792727">Da koristite svoje kartice na svim uređajima, uključite sinhronizaciju.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Dekodiranje odgovora nije uspjelo</translation>
 <translation id="3150653042067488994">Privremena greška na serveru</translation>
 <translation id="3154506275960390542">Ova stranica sadrži obrazac čije slanje može biti nesigurno. Tokom prijenosa, drugi će moći vidjeti podatke koje šaljete, a prije nego što ih primi server može ih izmijeniti napadač.</translation>
+<translation id="315504272643575312">Vašim računom upravlja <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Vrati</translation>
 <translation id="3162559335345991374">WiFi koji koristite može tražiti da posjetite njegovu stranicu za prijavu.</translation>
 <translation id="3167968892399408617">Stranice koje pregledate u anonimnim karticama neće ostati u historiji preglednika ili historiji prikazivanja nakon što zatvorite sve anonimne kartice. Zadržat će se svi fajlovi koje preuzmete ili oznake koje kreirate.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odgovor, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Web stranica na <ph name="PAGE" /> nije učitana zbog sljedećeg:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Vašim uređajem i računom upravlja <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Dostupno</translation>
 <translation id="868922510921656628">Broj stranica po skupu</translation>
 <translation id="869891660844655955">Datum isteka</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">Ušli ste u anonimni način rada</translation>
 <translation id="8730621377337864115">Gotovo</translation>
 <translation id="8731544501227493793">Dugme Upravljaj lozinkama, pritisnite Enter da pregledate lozinke i upravljate njima u postavkama Chromea</translation>
+<translation id="8734529307927223492">Uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />. Pritisnite Tab, a zatim Enter da otvorite novi anonimni prozor i da privatno pregledate</translation>
 <translation id="8738058698779197622">Ispravno podesite sat da uspostavite sigurnu vezu. Razlog tome je taj što su certifikati koji web lokacije koriste da se identificiraju valjane samo na određeni period. Kako sat na vašem uređaju nije ispravan, Chromium ne može provjeriti ove certifikate.</translation>
 <translation id="8740359287975076522">Nije moguće pronaći &lt;abbr id="dnsDefinition"&gt;DNS adresu&lt;/abbr&gt; host računara <ph name="HOST_NAME" />. Dijagnosticiranje problema.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">Ladica 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> obično koristi šifriranje za zaštitu vaših informacija. Kada se Chromium ovaj put pokušao povezati s web lokacijom <ph name="SITE" />, web lokacija je vratila neobične i netačne akreditive. To se može dogoditi kada se napadač pokušava predstaviti kao web lokacija <ph name="SITE" /> ili kada vezu prekine ekran za prijavu na WiFi. Vaše informacije su i dalje sigurne jer je Chromium prekinuo vezu prije bilo kakve razmjene podataka.</translation>
 <translation id="9106062320799175032">Dodaj adresu za naplatu</translation>
+<translation id="9107467864910557787">Vašim preglednikom upravlja <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Potvrđivanje kartice...</translation>
 <translation id="9114581008513152754">Ovim preglednikom ne upravlja kompanija ili neka druga organizacija. Aktivnostima na ovom uređaju se može upravljati van Chromea. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Otpremljeno</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index d6125ad6..f7540e3 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -365,6 +365,7 @@
 <translation id="2354430244986887761">Recentment, Navegació segura de Google <ph name="BEGIN_LINK" />ha trobat aplicacions perjudicials<ph name="END_LINK" /> a <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">És possible que els atacants puguin veure les imatges que miris en aquest lloc i que les modifiquin per enganyar-te.</translation>
 <translation id="2356070529366658676">Pregunta-ho</translation>
+<translation id="2357481397660644965">El dispositiu està gestionat per <ph name="DEVICE_MANAGER" /> i el compte està gestionat per <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Diverses</translation>
 <translation id="2359808026110333948">Continua</translation>
 <translation id="2360873523816792727">Per utilitzar les targetes en tots els dispositius, activa la sincronització.</translation>
@@ -542,6 +543,7 @@
 <translation id="3145945101586104090">No s'ha pogut descodificar la resposta</translation>
 <translation id="3150653042067488994">Error temporal del servidor</translation>
 <translation id="3154506275960390542">Aquesta pàgina inclou un formulari que pot ser que no s'enviï de manera segura. La resta d'usuaris poden veure les dades que enviïs mentre estiguin en trànsit o un atacant podria modificar-les per canviar el contingut que rep el servidor.</translation>
+<translation id="315504272643575312">El teu compte està gestionat per <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Restaura</translation>
 <translation id="3162559335345991374">És possible que la xarxa Wi-Fi que esteu fent servir requereixi que visiteu la seva pàgina d'inici de sessió.</translation>
 <translation id="3167968892399408617">Les pàgines que consulteu en pestanyes d'incògnit no s'emmagatzemaran a l'historial del navegador, al magatzem de galetes ni a l'historial de cerques després d'haver tancat totes les pestanyes d'incògnit. Els fitxers que baixeu i les adreces d'interès que creeu sí que es desaran.</translation>
@@ -1918,6 +1920,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, resposta, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">La pàgina web <ph name="PAGE" /> no s'ha pogut carregar pels motius següents:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">El dispositiu i el compte estan gestionats per <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Disponible</translation>
 <translation id="868922510921656628">Pàgines per conjunt</translation>
 <translation id="869891660844655955">Data de caducitat</translation>
@@ -1932,6 +1935,7 @@
 <translation id="8728672262656704056">Has passat al mode d'incògnit</translation>
 <translation id="8730621377337864115">Fet</translation>
 <translation id="8731544501227493793">Botó Gestiona les contrasenyes; prem Retorn per veure i gestionar les teves contrasenyes a la configuració de Chrome</translation>
+<translation id="8734529307927223492">El teu dispositiu <ph name="DEVICE_TYPE" /> està gestionat per <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />; prem Tab i després Retorn per obrir una finestra d'incògnit nova i navegar en privat</translation>
 <translation id="8738058698779197622">Per establir una connexió segura, el rellotge ha d'estar ben ajustat, perquè els certificats que els llocs web fan servir per identificar-se només són vàlids per a períodes de temps concrets. Com que el rellotge del dispositiu no està ben ajustat, Chromium no pot verificar aquests certificats.</translation>
 <translation id="8740359287975076522">No s'ha trobat l'&lt;abbr id="dnsDefinition"&gt;adreça DNS&lt;/abbr&gt; de <ph name="HOST_NAME" />. S'està diagnosticant el problema.</translation>
@@ -2021,6 +2025,7 @@
 <translation id="9101630580131696064">Safata 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> utilitza normalment l'encriptació per protegir la vostra informació. En aquesta ocasió, quan Chromium ha provat de connectar-se a <ph name="SITE" />, el lloc web ha enviat credencials poc comunes i incorrectes. Pot ser que un atacant estigui provant de fer-se passar per <ph name="SITE" /> o que una pantalla d'inici de sessió a la xarxa Wi-Fi hagi interromput la connexió. En qualsevol cas, la vostra informació continua estant segura, perquè Chromium ha aturat la connexió abans no s'intercanviés cap dada.</translation>
 <translation id="9106062320799175032">Afegeix una adreça de facturació</translation>
+<translation id="9107467864910557787">El navegador està gestionat per <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">S'està confirmant la targeta...</translation>
 <translation id="9114581008513152754">Cap empresa ni cap altra organització no gestiona aquest navegador. És possible que l'activitat d'aquest dispositiu es gestioni fora de Chrome. <ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Penjat</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb
index a10728cb..d1525f44 100644
--- a/components/strings/components_strings_cs.xtb
+++ b/components/strings/components_strings_cs.xtb
@@ -365,6 +365,7 @@
 <translation id="2354430244986887761">Bezpečné prohlížení Google na webu <ph name="SITE" /> nedávno <ph name="BEGIN_LINK" />nalezlo škodlivé aplikace<ph name="END_LINK" />.</translation>
 <translation id="2355395290879513365">Útočníci mohou vidět obrázky, které si na tomto webu prohlížíte, a oklamat vás tím, že tyto obrázky upraví.</translation>
 <translation id="2356070529366658676">Zeptat se</translation>
+<translation id="2357481397660644965">Vaše zařízení spravuje doména <ph name="DEVICE_MANAGER" /> a váš účet spravuje doména <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Několik</translation>
 <translation id="2359808026110333948">Pokračovat</translation>
 <translation id="2360873523816792727">Chcete-li své karty používat na všech zařízeních, zapněte synchronizaci.</translation>
@@ -542,6 +543,7 @@
 <translation id="3145945101586104090">Dekódování odpovědi se nezdařilo</translation>
 <translation id="3150653042067488994">Dočasná chyba serveru</translation>
 <translation id="3154506275960390542">Tato stránka obsahuje formulář, který zřejmě nebude možné bezpečně odeslat. Odeslaná data mohou při přenosu zobrazit jiní uživatelé a případný útočník je může změnit, a server tudíž přijme něco jiného, než jste odeslali.</translation>
+<translation id="315504272643575312">Váš účet je spravován doménou <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Obnovit</translation>
 <translation id="3162559335345991374">Síť Wi-Fi, kterou používáte, může vyžadovat, abyste navštívili její stránku přihlášení.</translation>
 <translation id="3167968892399408617">Stránky, které otevřete na anonymních kartách, po zavření všech anonymních karet nezanechají žádné stopy v historii prohlížeče, v úložišti souborů cookie ani v historii vyhledávání. Zachovány však zůstanou všechny stažené soubory a vytvořené záložky.</translation>
@@ -1913,6 +1915,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odpověď, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Webovou stránku <ph name="PAGE" /> nelze načíst, protože:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Vaše zařízení a účet spravuje doména <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Dostupné</translation>
 <translation id="868922510921656628">Počet stránek na sadu</translation>
 <translation id="869891660844655955">Datum vypršení platnosti</translation>
@@ -1927,6 +1930,7 @@
 <translation id="8728672262656704056">Jste v anonymním režimu</translation>
 <translation id="8730621377337864115">Hotovo</translation>
 <translation id="8731544501227493793">Tlačítko Spravovat hesla, stisknutím klávesy Enter můžete zobrazit a spravovat hesla v nastavení Chromu</translation>
+<translation id="8734529307927223492">Váš <ph name="DEVICE_TYPE" /> spravuje doména <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, stisknutím klávesy Tab a poté Enter otevřete nové anonymní okno, abyste mohli prohlížet v soukromí</translation>
 <translation id="8738058698779197622">Aby bylo možné navázat zabezpečené spojení, hodiny musejí být nastaveny správně. Důvodem je, že certifikáty, pomocí kterých se weby identifikují, platí pouze pro pevně daná období. Jelikož hodiny v zařízení nejsou nastaveny správně, prohlížeč Chromium tyto certifikáty nemůže ověřit.</translation>
 <translation id="8740359287975076522">&lt;abbr id="dnsDefinition"&gt;Adresu DNS&lt;/abbr&gt; webu <ph name="HOST_NAME" /> nelze najít. Diagnostikování problému…</translation>
@@ -2016,6 +2020,7 @@
 <translation id="9101630580131696064">Přihrádka 1</translation>
 <translation id="9103872766612412690">Web <ph name="SITE" /> vaše informace běžně chrání šifrováním. Když se prohlížeč Chromium k webu <ph name="SITE" /> pokusil připojit tentokrát, web vrátil neobvyklé a nesprávné identifikační údaje. K tomuto problému může dojít, pokud se za web <ph name="SITE" /> pokouší vydávat nějaký útočník nebo pokud bylo připojení přerušeno přihlašovací obrazovkou sítě Wi-Fi. Vaše informace jsou i nadále v bezpečí, protože prohlížeč Chromium připojení přerušil dříve, než došlo k odeslání jakýchkoliv dat.</translation>
 <translation id="9106062320799175032">Přidání fakturační adresy</translation>
+<translation id="9107467864910557787">Prohlížeč je spravován doménou <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Ověřování karty...</translation>
 <translation id="9114581008513152754">Tento prohlížeč není spravován administrátorem ani jinou organizací. Aktivita na tomto zařízení může být spravována mimo Chrome. <ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Nahráno</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index 4eaff013..4056564 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google Beskyttet browsing har for nylig <ph name="BEGIN_LINK" />fundet skadelige apps<ph name="END_LINK" /> på <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Hackere kan muligvis se de billeder, du kigger på på dette website, og narre dig ved at ændre dem.</translation>
 <translation id="2356070529366658676">Spørg</translation>
+<translation id="2357481397660644965">Din enhed administreres af <ph name="DEVICE_MANAGER" />, og din konto administreres af <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Flere</translation>
 <translation id="2359808026110333948">Fortsæt</translation>
 <translation id="2360873523816792727">Aktivér synkronisering for at bruge dine kort på alle enheder.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Svaret kunne ikke afkodes</translation>
 <translation id="3150653042067488994">Midlertidig serverfejl</translation>
 <translation id="3154506275960390542">Denne side indeholder en formular, der muligvis ikke kan indsendes sikkert. Dine indsendte data kan ses af andre eller kan blive ændret af en hacker, så serveren, du sender til, modtager forkerte oplysninger.</translation>
+<translation id="315504272643575312">Din konto administreres af <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Gendan</translation>
 <translation id="3162559335345991374">Det Wi-Fi-netværk, du bruger, kan kræve, at du går til netværkets loginside.</translation>
 <translation id="3167968892399408617">Når du har lukket alle dine inkognitofaner, gemmes der hverken cookies, browser- eller søgehistorik for de sider, du besøger i inkognitotilstand. Dog gemmes alle de filer, du downloader, og bogmærker, du opretter.</translation>
@@ -1930,6 +1932,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, svar, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Websiden på <ph name="PAGE" /> kunne ikke indlæses, fordi:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Din enhed og konto administreres af <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Tilgængelig</translation>
 <translation id="868922510921656628">Sider pr. sæt</translation>
 <translation id="869891660844655955">Udløbsdato</translation>
@@ -1944,6 +1947,7 @@
 <translation id="8728672262656704056">Du er nu i inkognito</translation>
 <translation id="8730621377337864115">Udfør</translation>
 <translation id="8731544501227493793">Knappen Administrer adgangskoder – tryk på Enter for at se og administrere dine adgangskoder i Chrome-indstillingerne</translation>
+<translation id="8734529307927223492">Din <ph name="DEVICE_TYPE" /> administreres af <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" /> – tryk på Tab-tasten efterfulgt af Enter for at åbne et nyt inkognitovindue, så du kan browse privat</translation>
 <translation id="8738058698779197622">For at kunne oprette en sikker forbindelse skal dit ur være indstillet korrekt. Det er vigtigt, da de certifikater, som websites bruger til at identificere sig selv, kun er gyldige i bestemte tidsperioder. Da uret på din enhed går forkert, kan Chromium ikke bekræfte disse certifikater.</translation>
 <translation id="8740359287975076522">&lt;abbr id="dnsDefinition"&gt;DNS-adressen&lt;/abbr&gt; for <ph name="HOST_NAME" /> blev ikke fundet. Diagnosticerer problemet.</translation>
@@ -2033,6 +2037,7 @@
 <translation id="9101630580131696064">Bakke 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> bruger normalt kryptering til at beskytte dine oplysninger. Da Chromium forsøgte at oprette forbindelse til <ph name="SITE" /> denne gang, returnerede websitet usædvanlige og forkerte loginoplysninger. Dette kan skyldes, at en hacker forsøger at udgive sig for at være <ph name="SITE" />, eller at en Wi-Fi-loginskærm har forstyrret forbindelsen. Dine oplysninger er stadig sikre, idet Chromium afbrød forbindelsen, inden der blev udvekslet data.</translation>
 <translation id="9106062320799175032">Tilføj faktureringsadresse</translation>
+<translation id="9107467864910557787">Din browser administreres af <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Bekræfter kort...</translation>
 <translation id="9114581008513152754">Denne browser administreres ikke af en virksomhed eller en anden organisation. Aktivitet på denne enhed administreres muligvis uden for Chrome. <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Uploadet</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 7bb30ac5..c7b4c1024 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Η Ασφαλής περιήγηση Google πρόσφατα <ph name="BEGIN_LINK" />εντόπισε επιβλαβείς εφαρμογές<ph name="END_LINK" /> στον ιστότοπο <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Οι εισβολείς ενδέχεται να έχουν τη δυνατότητα να δουν τις εικόνες που προβάλετε σε αυτόν τον ιστότοπο και να σας εξαπατήσουν τροποποιώντας τες.</translation>
 <translation id="2356070529366658676">Να γίνεται ερώτηση</translation>
+<translation id="2357481397660644965">Η διαχείριση της συσκευής σας γίνεται από τον τομέα <ph name="DEVICE_MANAGER" /> και του λογαριασμού σας από τον τομέα <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Πολλά</translation>
 <translation id="2359808026110333948">Συνέχεια</translation>
 <translation id="2360873523816792727">Για να χρησιμοποιείτε τις κάρτες σας σε όλες τις συσκευές, ενεργοποιήστε τον συγχρονισμό.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Αποτυχία αποκωδικοποίησης απόκρισης</translation>
 <translation id="3150653042067488994">Προσωρινό σφάλμα διακομιστή</translation>
 <translation id="3154506275960390542">Αυτή η σελίδα περιέχει μια φόρμα η οποία πιθανώς να μην υποβληθεί με ασφάλεια. Τα δεδομένα που στέλνετε μπορούν να προβληθούν από άλλους κατά την αποστολή ή μπορούν να τροποποιηθούν από κάποιον εισβολέα ώστε να αλλάξει το περιεχόμενο που θα λάβει ο διακομιστής.</translation>
+<translation id="315504272643575312">Η διαχείριση του λογαριασμού σας γίνεται από τον τομέα <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Επαναφορά</translation>
 <translation id="3162559335345991374">Το Wi-Fi που χρησιμοποιείτε ενδέχεται να σας ζητήσει να επισκεφτείτε τη σελίδα σύνδεσής του.</translation>
 <translation id="3167968892399408617">Οι σελίδες που προβάλλετε στις καρτέλες της ανώνυμης περιήγησης δεν διατηρούνται στο ιστορικό του προγράμματος περιήγησης, στα cookie ή στο ιστορικό αναζήτησης, αφού κλείσετε όλες τις καρτέλες της ανώνυμης περιήγησης. Τα αρχεία που κατεβάζετε ή οι σελιδοδείκτες που δημιουργείτε θα διατηρούνται.</translation>
@@ -1931,6 +1933,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, απάντηση, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Η φόρτωση της ιστοσελίδας στη διεύθυνση <ph name="PAGE" /> δεν ήταν δυνατή επειδή:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Η διαχείριση της συσκευής και του λογαριασμού γίνεται από τον τομέα <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Διαθέσιμο</translation>
 <translation id="868922510921656628">Σελίδες ανά δευτερόλεπτο</translation>
 <translation id="869891660844655955">Ημερομηνία λήξης</translation>
@@ -1945,6 +1948,7 @@
 <translation id="8728672262656704056">Πραγματοποιείτε ανώνυμη περιήγηση</translation>
 <translation id="8730621377337864115">Ολοκληρώθηκε</translation>
 <translation id="8731544501227493793">Κουμπί διαχείρισης κωδικών πρόσβασης, πατήστε Enter για προβολή και διαχείριση των κωδικών πρόσβασής σας στις ρυθμίσεις του Chrome</translation>
+<translation id="8734529307927223492">Η διαχείριση της συσκευής <ph name="DEVICE_TYPE" /> γίνεται από τον τομέα <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε Tab και έπειτα Enter για να ανοίξετε ένα νέο παράθυρο για ανώνυμη περιήγηση.</translation>
 <translation id="8738058698779197622">Για την επίτευξη μιας ασφαλούς σύνδεσης, θα πρέπει να γίνει σωστή ρύθμιση του ρολογιού σας. Αυτό οφείλεται στο γεγονός ότι τα πιστοποιητικά που χρησιμοποιούν οι ιστότοποι για την ταυτοποίησή τους είναι έγκυρα μόνο για συγκεκριμένες χρονικές περιόδους. Εφόσον το ρολόι της συσκευής σας δεν είναι σωστά ρυθμισμένο, το Chromium δεν μπορεί να επαληθεύσει αυτά τα πιστοποιητικά.</translation>
 <translation id="8740359287975076522">Δεν ήταν δυνατός ο εντοπισμός της &lt;abbr id="dnsDefinition"&gt;διεύθυνσης DNS&lt;/abbr&gt; του κεντρικού υπολογιστή <ph name="HOST_NAME" />. Γίνεται διάγνωση του προβλήματος.</translation>
@@ -2034,6 +2038,7 @@
 <translation id="9101630580131696064">Δίσκος 1</translation>
 <translation id="9103872766612412690">Κανονικά, ο ιστότοπος <ph name="SITE" /> χρησιμοποιεί κρυπτογράφηση για να προστατεύει τα στοιχεία σας. Όταν το Chromium επιχείρησε πρόσφατα να συνδεθεί στο <ph name="SITE" />, ο ιστότοπος ανταποκρίθηκε δημιουργώντας ασυνήθιστα και εσφαλμένα διαπιστευτήρια. Αυτό μπορεί να συμβεί όταν κάποιος εισβολέας προσπαθεί να υποκριθεί ότι είναι ο ιστότοπος <ph name="SITE" /> ή όταν κάποια οθόνη σύνδεσης Wi-Fi έχει διακόψει τη σύνδεσή σας. Τα στοιχεία σας εξακολουθούν να είναι ασφαλή επειδή το Chromium διέκοψε τη σύνδεση πριν από την ανταλλαγή δεδομένων.</translation>
 <translation id="9106062320799175032">Προσθήκη διεύθυνσης χρέωσης</translation>
+<translation id="9107467864910557787">Η διαχείριση του προγράμματος περιήγησής σας γίνεται από τον τομέα <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Επιβεβαίωση κάρτας…</translation>
 <translation id="9114581008513152754">Αυτός ο ιστότοπος δεν είναι διαχειριζόμενος από κάποια εταιρεία ή άλλον οργανισμό. Η διαχείριση της δραστηριότητας σε αυτήν τη συσκευή μπορεί να πραγματοποιηθεί εκτός Chrome. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Έγινε μεταφόρτωση</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb
index 9bee6b7..72e1c07 100644
--- a/components/strings/components_strings_en-GB.xtb
+++ b/components/strings/components_strings_en-GB.xtb
@@ -368,6 +368,7 @@
 <translation id="2354430244986887761">Google Safe Browsing recently <ph name="BEGIN_LINK" />found harmful apps<ph name="END_LINK" /> on <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Attackers might be able to see the images that you’re looking at on this site and trick you by modifying them.</translation>
 <translation id="2356070529366658676">Ask</translation>
+<translation id="2357481397660644965">Your device is managed by <ph name="DEVICE_MANAGER" /> and your account is managed by <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Multiple</translation>
 <translation id="2359808026110333948">Continue</translation>
 <translation id="2360873523816792727">To use your cards on all devices, turn on sync.</translation>
@@ -547,6 +548,7 @@
 <translation id="3145945101586104090">Failed to decode response</translation>
 <translation id="3150653042067488994">Temporary server error</translation>
 <translation id="3154506275960390542">This page includes a form that may not submit securely. Data that you send can be viewed by others while in transit or could be modified by an attacker to change what the server receives.</translation>
+<translation id="315504272643575312">Your account is managed by <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Restore</translation>
 <translation id="3162559335345991374">The Wi-Fi that you are using may require you to visit its login page.</translation>
 <translation id="3167968892399408617">Pages that you view in incognito tabs won’t stick around in your browser’s history, cookie store or search history after you’ve closed all of your incognito tabs. Any files you download or bookmarks you create will be kept.</translation>
@@ -1928,6 +1930,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, answer, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">The web page at <ph name="PAGE" /> could not be loaded because:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Your device and account are managed by <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Available</translation>
 <translation id="868922510921656628">Pages per set</translation>
 <translation id="869891660844655955">Expiry date</translation>
@@ -1942,6 +1945,7 @@
 <translation id="8728672262656704056">You’ve gone incognito</translation>
 <translation id="8730621377337864115">Done</translation>
 <translation id="8731544501227493793">Manage passwords button; press enter to view and manage your passwords in Chrome settings</translation>
+<translation id="8734529307927223492">Your <ph name="DEVICE_TYPE" /> is managed by <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to open a new incognito window to browse privately</translation>
 <translation id="8738058698779197622">To establish a secure connection, your clock needs to be set correctly. This is because the certificates that websites use to identify themselves are only valid for specific periods of time. Since your device's clock is incorrect, Chromium cannot verify these certificates.</translation>
 <translation id="8740359287975076522"><ph name="HOST_NAME" />’s &lt;abbr id="dnsDefinition"&gt;DNS address&lt;/abbr&gt; could not be found. Diagnosing the problem.</translation>
@@ -2031,6 +2035,7 @@
 <translation id="9101630580131696064">Tray 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> normally uses encryption to protect your information. When Chromium tried to connect to <ph name="SITE" /> this time, the website sent back unusual and incorrect credentials. This may happen when an attacker is trying to pretend to be <ph name="SITE" />, or a Wi-Fi sign-in screen has interrupted the connection. Your information is still secure because Chromium stopped the connection before any data was exchanged.</translation>
 <translation id="9106062320799175032">Add Billing Address</translation>
+<translation id="9107467864910557787">Your browser is managed by <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Confirming card...</translation>
 <translation id="9114581008513152754">This browser is not managed by a company or other organisation. Activity on this device may be managed outside of Chrome. <ph name="BEGIN_LINK" />Learn more<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Uploaded</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index d5d7ec5..5030d54 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -301,6 +301,7 @@
 <translation id="2102495993840063010">Apps de Android</translation>
 <translation id="2107021941795971877">Compatibilidades de la impresora</translation>
 <translation id="2108755909498034140">Reinicia la computadora.</translation>
+<translation id="2111166930115883695">Presiona la barra espaciadora para jugar</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">Tarjeta</translation>
 <translation id="2114841414352855701">Se ignoró porque fue anulada por <ph name="POLICY_NAME" /> .</translation>
@@ -515,6 +516,7 @@
 <translation id="3010559122411665027">Entrada de lista "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Bloqueado de forma automática</translation>
 <translation id="3016780570757425217">Determinar tu ubicación</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, presiona la tecla de tabulación y, luego, Intro para quitar la sugerencia.</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">Tipo de política incorrecto</translation>
 <translation id="3037605927509011580">¡Oh, no!</translation>
@@ -756,6 +758,7 @@
 <translation id="4056223980640387499">Sepia</translation>
 <translation id="4058922952496707368">Clave "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (Envelope)</translation>
+<translation id="4067669230157909013">Se reanudó la captura de pantalla.</translation>
 <translation id="4067947977115446013">Agregar una dirección válida</translation>
 <translation id="4072486802667267160">Se produjo un error al procesar tu pedido. Vuelve a intentarlo.</translation>
 <translation id="4075732493274867456">El cliente y el servidor no admiten un conjunto de cifrado o una versión de protocolo SSL en común.</translation>
@@ -835,6 +838,7 @@
 <translation id="4297502707443874121">Miniatura para la página <ph name="THUMBNAIL_PAGE" /></translation>
 <translation id="42981349822642051">Expandir</translation>
 <translation id="4300675098767811073">Perforaciones múltiples a la derecha</translation>
+<translation id="4302514097724775343">Presiona el dinosaurio para jugar</translation>
 <translation id="4302965934281694568">Chou3 (Envelope)</translation>
 <translation id="4305666528087210886">No se pudo acceder a tu archivo</translation>
 <translation id="4305817255990598646">Cambiar</translation>
@@ -1246,6 +1250,7 @@
 <translation id="5963413905009737549">Sección</translation>
 <translation id="5967592137238574583">Editar la información de contacto</translation>
 <translation id="5967867314010545767">Eliminar del historial</translation>
+<translation id="5968793460449681917">En cada visita</translation>
 <translation id="5975083100439434680">Alejar</translation>
 <translation id="5979084224081478209">Revisar contraseñas</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1460,6 +1465,7 @@
 <translation id="6895330447102777224">Tu tarjeta se confirmó</translation>
 <translation id="6897140037006041989">User agent</translation>
 <translation id="6898699227549475383">Organización (O)</translation>
+<translation id="6907293445143367439">Permitir a <ph name="SITE_NAME" />:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> desea obtener el control total de tus dispositivos MIDI</translation>
 <translation id="6915804003454593391">Usuario:</translation>
 <translation id="6934672428414710184">Este nombre es de tu Cuenta de Google</translation>
@@ -1896,6 +1902,7 @@
 <translation id="858637041960032120">Agregar teléfono
 </translation>
 <translation id="8589998999637048520">Mejor calidad</translation>
+<translation id="8600271352425265729">Solo esta vez</translation>
 <translation id="860043288473659153">Nombre del titular de la tarjeta</translation>
 <translation id="8606726445206553943">Usar tus dispositivos MIDI</translation>
 <translation id="8612761427948161954">Hola <ph name="USERNAME" />:
@@ -2053,6 +2060,7 @@
 <translation id="939736085109172342">Nueva carpeta</translation>
 <translation id="945855313015696284">Comprueba la información que se muestra a continuación y borra las tarjetas que no sean válidas</translation>
 <translation id="950736567201356821">Perforación triple en la parte superior</translation>
+<translation id="951941430552851965">El administrador pausó la captura de pantalla debido al contenido que se muestra en la pantalla.</translation>
 <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>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index 61b67d9..7bcb6086 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -305,6 +305,7 @@
 <translation id="2102495993840063010">Aplicaciones de Android</translation>
 <translation id="2107021941795971877">Soportes de impresión</translation>
 <translation id="2108755909498034140">Reinicia el ordenador</translation>
+<translation id="2111166930115883695">Pulsa la barra espaciadora para jugar</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">Tarjeta</translation>
 <translation id="2114841414352855701">Se ha ignorado la política porque la anula <ph name="POLICY_NAME" />.</translation>
@@ -521,6 +522,7 @@
 <translation id="3010559122411665027">Entrada de lista "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Bloqueado automáticamente</translation>
 <translation id="3016780570757425217">Conocer tu ubicación</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, pulsa Tabulador y, a continuación, Intro para quitar la sugerencia.</translation>
 <translation id="3023071826883856138">You4 (sobre)</translation>
 <translation id="3024663005179499861">Tipo de política incorrecto</translation>
 <translation id="3037605927509011580">¡Vaya!</translation>
@@ -762,6 +764,7 @@
 <translation id="4056223980640387499">Sepia</translation>
 <translation id="4058922952496707368">Clave "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (sobre)</translation>
+<translation id="4067669230157909013">Se ha reanudado la captura de pantalla.</translation>
 <translation id="4067947977115446013">Añade una dirección válida</translation>
 <translation id="4072486802667267160">Se ha producido un error al procesar el pedido. Vuelve a intentarlo.</translation>
 <translation id="4075732493274867456">El cliente y el servidor no son compatibles con la misma versión de protocolo SSL o de cifrado.</translation>
@@ -845,6 +848,7 @@
 <translation id="4297502707443874121">Miniatura de la página <ph name="THUMBNAIL_PAGE" /></translation>
 <translation id="42981349822642051">Mostrar</translation>
 <translation id="4300675098767811073">Perforado múltiple en la parte derecha</translation>
+<translation id="4302514097724775343">Toca el dinosaurio para jugar</translation>
 <translation id="4302965934281694568">Chou3 (sobre)</translation>
 <translation id="4305666528087210886">No se ha podido acceder al archivo</translation>
 <translation id="4305817255990598646">Cambiar</translation>
@@ -1256,6 +1260,7 @@
 <translation id="5963413905009737549">Etiqueta de sección</translation>
 <translation id="5967592137238574583">Edita la información de contacto</translation>
 <translation id="5967867314010545767">Eliminar del historial</translation>
+<translation id="5968793460449681917">En cada visita</translation>
 <translation id="5975083100439434680">Reducir</translation>
 <translation id="5979084224081478209">Comprobar contraseñas</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1470,6 +1475,7 @@
 <translation id="6895330447102777224">Tu tarjeta se ha confirmado</translation>
 <translation id="6897140037006041989">User-agent</translation>
 <translation id="6898699227549475383">Organización (O)</translation>
+<translation id="6907293445143367439">Permitir a <ph name="SITE_NAME" />:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> quiere obtener un control absoluto de tus dispositivos MIDI</translation>
 <translation id="6915804003454593391">Usuario:</translation>
 <translation id="6934672428414710184">Este nombre proviene de tu cuenta de Google</translation>
@@ -1905,6 +1911,7 @@
 <translation id="8574899947864779331">Usa Touch ID para confirmar tarjetas más rápido</translation>
 <translation id="858637041960032120">Añade un teléfono</translation>
 <translation id="8589998999637048520">Mejor calidad</translation>
+<translation id="8600271352425265729">Solo esta vez</translation>
 <translation id="860043288473659153">Nombre del titular de la tarjeta</translation>
 <translation id="8606726445206553943">Utilizar tus dispositivos MIDI</translation>
 <translation id="8612761427948161954">Hola, <ph name="USERNAME" />:
@@ -2062,6 +2069,7 @@
 <translation id="939736085109172342">Nueva carpeta</translation>
 <translation id="945855313015696284">Comprueba la información que aparece a continuación y elimina las tarjetas no válidas</translation>
 <translation id="950736567201356821">Perforado triple en la parte superior</translation>
+<translation id="951941430552851965">El administrador ha pausado la captura de pantalla debido al contenido que se muestra en tu pantalla.</translation>
 <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>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index bb065916..759a3a8d 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -368,6 +368,7 @@
 <translation id="2354430244986887761">Google'i ohutu sirvimine leidis hiljuti saidilt <ph name="SITE" /> <ph name="BEGIN_LINK" />ohtlikke rakendusi<ph name="END_LINK" />.</translation>
 <translation id="2355395290879513365">Ründajad võivad näha pilte, mida sellel saidil vaatate, ja teid neid pilte muutes petta.</translation>
 <translation id="2356070529366658676">Küsi</translation>
+<translation id="2357481397660644965">Teie seadet haldab <ph name="DEVICE_MANAGER" /> ja teie kontot haldab <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Mitu</translation>
 <translation id="2359808026110333948">Jätka</translation>
 <translation id="2360873523816792727">Kõigis seadmetes kaartide kasutamiseks lülitage sünkroonimine sisse.</translation>
@@ -547,6 +548,7 @@
 <translation id="3145945101586104090">Vastuse dekodeerimine ebaõnnestus</translation>
 <translation id="3150653042067488994">Serveris ilmnes ajutine viga</translation>
 <translation id="3154506275960390542">See leht sisaldab vormi, mille esitamine ei pruugi olla turvaline. Teised võivad andmete edastamisel neid vaadata või ründaja võib serverile saadetavaid andmeid muuta.</translation>
+<translation id="315504272643575312">Teie kontot haldab <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Taasta</translation>
 <translation id="3162559335345991374">WiFi-võrk, mida kasutate, võib nõuda sisselogimislehe külastamist.</translation>
 <translation id="3167968892399408617">Inkognito vahelehtedel kuvatavaid lehti ei talletata pärast vahelehtede sulgemist brauseri ajalukku, küpsistefailide salve ega otsinguajalukku. Allalaaditavad failid ja järjehoidjatesse lisatud sisu säilitatakse.</translation>
@@ -1928,6 +1930,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, vastus, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Veebilehte <ph name="PAGE" /> ei saanud laadida järgmisel põhjusel.</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Teie seadet ja kontot haldab <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Saadaval</translation>
 <translation id="868922510921656628">Lehekülgi komplekti kohta</translation>
 <translation id="869891660844655955">Aegumiskuupäev</translation>
@@ -1942,6 +1945,7 @@
 <translation id="8728672262656704056">Olete inkognito režiimis</translation>
 <translation id="8730621377337864115">Valmis</translation>
 <translation id="8731544501227493793">Nupp Paroolide haldamine, vajutage Chrome'i seadetes paroolide vaatamiseks ja haldamiseks sisestusklahvi</translation>
+<translation id="8734529307927223492">Teie seadet <ph name="DEVICE_TYPE" /> haldab <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, vajutage privaatse sirvimise jaoks uue inkognito akna avamiseks tabulaatorit ja seejärel sisestusklahvi</translation>
 <translation id="8738058698779197622">Turvalise ühenduse loomiseks peab kell olema õigesti seadistatud. See on nii, kuna sertifikaadid, mida veebisaidid kasutavad enda tuvastamiseks, kehtivad ainult teatud perioodi jooksul. Kuna teie seadme kell on vale, ei saa Chromium neid sertifikaate kinnitada.</translation>
 <translation id="8740359287975076522">Hosti <ph name="HOST_NAME" /> &lt;abbr id="dnsDefinition"&gt;DNS-aadressi&lt;/abbr&gt; ei leitud. Probleemi diagnoositakse.</translation>
@@ -2031,6 +2035,7 @@
 <translation id="9101630580131696064">Salv 1</translation>
 <translation id="9103872766612412690">Sait <ph name="SITE" /> kasutab teie teabe kaitsmiseks tavaliselt krüpteerimist. Kui Chromium püüdis seekord saidiga <ph name="SITE" /> ühendust luua, tagastas veebisait ebatavalised ja valed mandaadid. See võib juhtuda siis, kui ründaja proovib teeselda, et on sait <ph name="SITE" />, või WiFi sisselogimisekraan on ühenduse katkestanud. Teie teave on endiselt kaitstud, sest Chromium peatas ühenduse enne andmevahetust.</translation>
 <translation id="9106062320799175032">Arveldusaadressi lisamine</translation>
+<translation id="9107467864910557787">Teie brauserit haldab <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Kaardi kinnitamine …</translation>
 <translation id="9114581008513152754">Seda brauserit ei halda ettevõte ega muu organisatsioon. Selle seadme tegevusi võidakse hallata ka väljaspool Chrome'i. <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Üles laaditud</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb
index b4b252e..d4a5e00 100644
--- a/components/strings/components_strings_eu.xtb
+++ b/components/strings/components_strings_eu.xtb
@@ -365,6 +365,7 @@
 <translation id="2354430244986887761">Google-ren Arakatze seguruak <ph name="BEGIN_LINK" />aplikazio kaltegarriak aurkitu ditu<ph name="END_LINK" /> <ph name="SITE" /> webgunean.</translation>
 <translation id="2355395290879513365">Baliteke erasotzaileak webgune honetan zer irudi ikusi dituzun hautemateko eta, haiek aldatuz, zu engainatzeko gai izatea.</translation>
 <translation id="2356070529366658676">Galdetu</translation>
+<translation id="2357481397660644965"><ph name="DEVICE_MANAGER" /> domeinuak kudeatzen du gailua; <ph name="ACCOUNT_MANAGER" /> domeinuak, berriz, kontua.</translation>
 <translation id="2359629602545592467">Bat baino gehiago</translation>
 <translation id="2359808026110333948">Jarraitu</translation>
 <translation id="2360873523816792727">Txartelak gailu guztietan erabiltzeko, aktibatu sinkronizazioa.</translation>
@@ -542,6 +543,7 @@
 <translation id="3145945101586104090">Ezin izan da deskodetu erantzuna</translation>
 <translation id="3150653042067488994">Aldi baterako zerbitzariko errorea</translation>
 <translation id="3154506275960390542">Orri honetan dagoen inprimaki bat agian ez da bidaliko segurtasunez. Datuak bidean dauden bitartean beste pertsona batzuek ikus ditzakete eta erasotzaileek aldatu egin ditzakete zerbitzariak beste zerbait jaso dezan.</translation>
+<translation id="315504272643575312"><ph name="MANAGER" /> domeinuak kudeatzen du kontua.</translation>
 <translation id="3157931365184549694">Leheneratu</translation>
 <translation id="3162559335345991374">Baliteke darabilzun Wi-Fi konexioaren saio-hasierako orrira joan behar izatea.</translation>
 <translation id="3167968892399408617">Ezkutuko moduko fitxetan ikusten dituzun orriak ez dira geratuko arakatzailearen historian, cookieen biltegian edo bilaketa-historian, ezkutuko moduko fitxa guztiak itxi ondoren. Deskargatutako fitxategiak edo sortutako laster-markak mantendu egingo dira.</translation>
@@ -1913,6 +1915,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, erantzuna, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Ezin izan da kargatu <ph name="PAGE" /> helbideko web-orria, arrazoi honengatik:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002"><ph name="MANAGER" /> domeinuak kudeatzen ditu gailua eta kontua.</translation>
 <translation id="8688672835843460752">Erabilgarri</translation>
 <translation id="868922510921656628">Multzo bakoitzeko orri kopurua</translation>
 <translation id="869891660844655955">Iraungitze-data</translation>
@@ -1927,6 +1930,7 @@
 <translation id="8728672262656704056">Ezkutuko moduan zaude</translation>
 <translation id="8730621377337864115">Eginda</translation>
 <translation id="8731544501227493793">"Kudeatu pasahitzak" botoia: sakatu "Sartu"·pasahitzak ikusi eta kudeatzeko Chrome-ren ezarpenetan</translation>
+<translation id="8734529307927223492"><ph name="MANAGER" /> domeinuak kudeatzen du <ph name="DEVICE_TYPE" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />: sakatu tabuladorea ezkutuko moduko leiho bat irekitzeko, modu pribatuan arakatu ahal izateko</translation>
 <translation id="8738058698779197622">Konexio segurua ezartzeko, erlojuak behar bezala ezarrita egon behar du, webguneek beren burua identifikatzeko erabiltzen dituzten ziurtagiriek denboraldi jakinetarako bakarrik balio dutelako. Gailuaren erlojua oker ezarrita dagoenez, Chromium-ek ezin ditu ziurtagiri horiek egiaztatu.</translation>
 <translation id="8740359287975076522">Ezin izan da aurkitu <ph name="HOST_NAME" /> webgunearen &lt;abbr id="dnsDefinition"&gt;DNS helbidea&lt;/abbr&gt;. Arazoaren diagnostikoa egiten ari gara.</translation>
@@ -2016,6 +2020,7 @@
 <translation id="9101630580131696064">1. erretilua</translation>
 <translation id="9103872766612412690">Eskuarki, <ph name="SITE" /> webguneak enkriptatzea erabiltzen du informazioa babesteko. Chromium <ph name="SITE" /> webgunera konektatzen saiatu denean, webguneak kredentzial desegokiak eta ezohikoak bidali ditu. Erasotzaile bat <ph name="SITE" /> webgunearen plantak egiten ari delako gerta daiteke hori, edo Wi-Fi sarean saioa hasteko pantailak konexioa eten duelako. Zure informazioa seguru dago, datuak trukatu aurretik eten baitu Chromium-ek konexioa.</translation>
 <translation id="9106062320799175032">Gehitu fakturazio-helbidea</translation>
+<translation id="9107467864910557787"><ph name="MANAGER" /> domeinuak kudeatzen du arakatzailea</translation>
 <translation id="9114524666733003316">Txartela berresten…</translation>
 <translation id="9114581008513152754">Arakatzailea ez du enpresa edo erakunde batek kudeatzen. Baliteke gailu honetako jarduerak Chrome-tik kanpo kudeatzea. <ph name="BEGIN_LINK" />Lortu informazio gehiago<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Kargatuta</translation>
diff --git a/components/strings/components_strings_fr-CA.xtb b/components/strings/components_strings_fr-CA.xtb
index d627390..15f6015 100644
--- a/components/strings/components_strings_fr-CA.xtb
+++ b/components/strings/components_strings_fr-CA.xtb
@@ -301,6 +301,7 @@
 <translation id="2102495993840063010">Applications Android</translation>
 <translation id="2107021941795971877">Supports d'impression</translation>
 <translation id="2108755909498034140">Redémarrer l'ordinateur</translation>
+<translation id="2111166930115883695">Appuyez sur la barre d'espacement pour jouer</translation>
 <translation id="2111256659903765347">Super A</translation>
 <translation id="2113977810652731515">Carte</translation>
 <translation id="2114841414352855701">Politique sans effet, car remplacée par <ph name="POLICY_NAME" />.</translation>
@@ -515,6 +516,7 @@
 <translation id="3010559122411665027">Élément de liste « <ph name="ENTRY_INDEX" /> » : <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Bloquée automatiquement</translation>
 <translation id="3016780570757425217">Connaître votre emplacement</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, appuyez sur la touche Tabulation, puis sur la touche Entrée pour retirer la suggestion.</translation>
 <translation id="3023071826883856138">Enveloppe You4</translation>
 <translation id="3024663005179499861">Type de politique incorrect</translation>
 <translation id="3037605927509011580">Aïe aïe aïe!</translation>
@@ -755,6 +757,7 @@
 <translation id="4056223980640387499">Sépia</translation>
 <translation id="4058922952496707368">Clé « <ph name="SUBKEY" /> » : <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">Enveloppe C1</translation>
+<translation id="4067669230157909013">La capture d'écran a repris.</translation>
 <translation id="4067947977115446013">Ajouter une adresse valide</translation>
 <translation id="4072486802667267160">Une erreur s'est produite lors du traitement de votre commande. Veuillez réessayer.</translation>
 <translation id="4075732493274867456">Le client et le serveur ne prennent pas en charge une version habituelle du protocole SSL et de la suite de chiffrement.</translation>
@@ -834,6 +837,7 @@
 <translation id="4297502707443874121">Miniature pour la page <ph name="THUMBNAIL_PAGE" /></translation>
 <translation id="42981349822642051">Développer</translation>
 <translation id="4300675098767811073">Multiple perforation à droite</translation>
+<translation id="4302514097724775343">Touchez le dinosaure pour jouer</translation>
 <translation id="4302965934281694568">Enveloppe Chou3</translation>
 <translation id="4305666528087210886">Impossible d'accéder à votre fichier</translation>
 <translation id="4305817255990598646">Changer</translation>
@@ -1245,6 +1249,7 @@
 <translation id="5963413905009737549">Section</translation>
 <translation id="5967592137238574583">Modifier les coordonnées</translation>
 <translation id="5967867314010545767">Supprimer de l'historique</translation>
+<translation id="5968793460449681917">Chaque visite</translation>
 <translation id="5975083100439434680">Zoom arrière</translation>
 <translation id="5979084224081478209">Vérifier les mots de passe</translation>
 <translation id="5980920751713728343">Fiche, 3 po x 5 po</translation>
@@ -1459,6 +1464,7 @@
 <translation id="6895330447102777224">Votre carte est confirmée</translation>
 <translation id="6897140037006041989">Agent utilisateur</translation>
 <translation id="6898699227549475383">Organisation (O)</translation>
+<translation id="6907293445143367439">Accorder les autorisations suivantes à <ph name="SITE_NAME" /> :</translation>
 <translation id="6910240653697687763">L'URL <ph name="URL" /> veut obtenir le plein contrôle de vos appareils MIDI</translation>
 <translation id="6915804003454593391">Utilisateur :</translation>
 <translation id="6934672428414710184">Ce nom provient de votre compte Google</translation>
@@ -1894,6 +1900,7 @@
 <translation id="8574899947864779331">Utiliser Touch ID pour vérifier les cartes plus rapidement</translation>
 <translation id="858637041960032120">Ajouter un numéro de téléphone</translation>
 <translation id="8589998999637048520">Meilleure qualité</translation>
+<translation id="8600271352425265729">Uniquement cette fois-ci</translation>
 <translation id="860043288473659153">Nom du titulaire de la carte</translation>
 <translation id="8606726445206553943">Utiliser vos appareils MIDI</translation>
 <translation id="8612761427948161954">Bonjour <ph name="USERNAME" />,
@@ -2051,6 +2058,7 @@
 <translation id="939736085109172342">Nouveau dossier</translation>
 <translation id="945855313015696284">Vérifiez les renseignements ci-dessous et supprimez les cartes incorrectes</translation>
 <translation id="950736567201356821">Triple perforation en haut</translation>
+<translation id="951941430552851965">La capture d'écran a été interrompue par votre administrateur en raison du contenu affiché sur votre écran.</translation>
 <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>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb
index ce973e7..88a7ba7 100644
--- a/components/strings/components_strings_fr.xtb
+++ b/components/strings/components_strings_fr.xtb
@@ -305,6 +305,7 @@
 <translation id="2102495993840063010">Applications Android</translation>
 <translation id="2107021941795971877">Supports d'impression</translation>
 <translation id="2108755909498034140">Redémarrez l'ordinateur</translation>
+<translation id="2111166930115883695">Appuyez sur la barre d'espace pour jouer</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">Carte</translation>
 <translation id="2114841414352855701">Ignorée parce que remplacée par <ph name="POLICY_NAME" />.</translation>
@@ -519,6 +520,7 @@
 <translation id="3010559122411665027">Entrée de la liste "<ph name="ENTRY_INDEX" />" : <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Bloquée automatiquement</translation>
 <translation id="3016780570757425217">Connaître votre position</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, appuyez sur Tabulation, puis sur Entrée pour supprimer la suggestion.</translation>
 <translation id="3023071826883856138">You4 (enveloppe)</translation>
 <translation id="3024663005179499861">Type de règle incorrect.</translation>
 <translation id="3037605927509011580">Aïe aïe aïe</translation>
@@ -760,6 +762,7 @@
 <translation id="4056223980640387499">Sépia</translation>
 <translation id="4058922952496707368">Clé "<ph name="SUBKEY" />" : <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (enveloppe)</translation>
+<translation id="4067669230157909013">La capture d'écran a repris.</translation>
 <translation id="4067947977115446013">Ajouter une adresse valide</translation>
 <translation id="4072486802667267160">Une erreur s'est produite lors du traitement de votre commande. Veuillez réessayer.</translation>
 <translation id="4075732493274867456">Le client et le serveur ne sont pas compatibles avec une version de protocole ou une méthode de chiffrement SSL commune.</translation>
@@ -843,6 +846,7 @@
 <translation id="4297502707443874121">Vignette de la page <ph name="THUMBNAIL_PAGE" /></translation>
 <translation id="42981349822642051">Développer</translation>
 <translation id="4300675098767811073">Multiple perforation à droite</translation>
+<translation id="4302514097724775343">Appuyez sur le dinosaure pour jouer</translation>
 <translation id="4302965934281694568">Chou3 (enveloppe)</translation>
 <translation id="4305666528087210886">Impossible d'accéder à votre fichier</translation>
 <translation id="4305817255990598646">Changer</translation>
@@ -1254,6 +1258,7 @@
 <translation id="5963413905009737549">Section</translation>
 <translation id="5967592137238574583">Modifier les coordonnées</translation>
 <translation id="5967867314010545767">Supprimer de l'historique</translation>
+<translation id="5968793460449681917">À chaque visite</translation>
 <translation id="5975083100439434680">Zoom arrière</translation>
 <translation id="5979084224081478209">Vérifier les mots de passe</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1468,6 +1473,7 @@
 <translation id="6895330447102777224">Carte validée</translation>
 <translation id="6897140037006041989">Agent utilisateur</translation>
 <translation id="6898699227549475383">Organisation (O)</translation>
+<translation id="6907293445143367439">Autoriser le site "<ph name="SITE_NAME" />" à :</translation>
 <translation id="6910240653697687763"><ph name="URL" /> souhaite obtenir le contrôle total de vos appareils MIDI</translation>
 <translation id="6915804003454593391">Utilisateur : </translation>
 <translation id="6934672428414710184">Ce nom provient de votre compte Google</translation>
@@ -1903,6 +1909,7 @@
 <translation id="8574899947864779331">Utiliser Touch ID pour confirmer les cartes plus rapidement</translation>
 <translation id="858637041960032120">Saisir num tél</translation>
 <translation id="8589998999637048520">Qualité optimale</translation>
+<translation id="8600271352425265729">Uniquement cette fois-ci</translation>
 <translation id="860043288473659153">Nom du titulaire de la carte</translation>
 <translation id="8606726445206553943">Utiliser vos appareils MIDI</translation>
 <translation id="8612761427948161954">Bonjour <ph name="USERNAME" />,
@@ -2060,6 +2067,7 @@
 <translation id="939736085109172342">Nouveau dossier</translation>
 <translation id="945855313015696284">Vérifiez les informations ci-dessous et supprimez les cartes non valides</translation>
 <translation id="950736567201356821">Triple perforation en haut</translation>
+<translation id="951941430552851965">Votre administrateur a suspendu la capture de l'écran en raison du contenu qui y est affiché.</translation>
 <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>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index 6ef0e5fa..d8bbc562 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google sigurno pregledavanje nedavno je <ph name="BEGIN_LINK" />pronašlo štetne aplikacije<ph name="END_LINK" /> na web-lokaciji <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Napadači možda mogu vidjeti slike koje gledate na ovoj web-lokaciji i izmijeniti ih kako bi vas prevarili.</translation>
 <translation id="2356070529366658676">Upitaj</translation>
+<translation id="2357481397660644965">Vašim uređajem upravlja <ph name="DEVICE_MANAGER" />, a vašim računom upravlja <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Veći broj</translation>
 <translation id="2359808026110333948">Nastavi</translation>
 <translation id="2360873523816792727">Da biste upotrebljavali kartice na svim uređajima, uključite sinkronizaciju.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Dekodiranje odgovora nije uspjelo</translation>
 <translation id="3150653042067488994">Privremena pogreška poslužitelja</translation>
 <translation id="3154506275960390542">Ova stranica sadrži obrazac koji se možda neće poslati na siguran način. Podaci koje šaljete mogu biti vidljivi drugima tijekom prijenosa ili bi ih mogao izmijeniti napadač prije nego što ih primi poslužitelj.</translation>
+<translation id="315504272643575312">Vašim računom upravlja <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Vrati</translation>
 <translation id="3162559335345991374">Za Wi-Fi koji upotrebljavate možda ćete morati posjetiti stranicu za prijavu.</translation>
 <translation id="3167968892399408617">Stranice koje pregledavate na anonimnim karticama ne zadržavaju se u povijesti preglednika, pohrani kolačića ili povijesti pretraživanja nakon što zatvorite sve anonimne kartice, ali će se zadržati sve datoteke koje preuzmete ili oznake koje napravite.</translation>
@@ -1930,6 +1932,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odgovor, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Web-stranica na <ph name="PAGE" /> ne može se učitati zbog sljedećih razloga:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Vašim uređajem i računom upravlja <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Dostupno</translation>
 <translation id="868922510921656628">Stranica po skupu</translation>
 <translation id="869891660844655955">Datum isteka</translation>
@@ -1944,6 +1947,7 @@
 <translation id="8728672262656704056">Radite u anonimnom načinu</translation>
 <translation id="8730621377337864115">Gotovo</translation>
 <translation id="8731544501227493793">Gumb Upravljajte zaporkama, pritisnite Enter da biste vidjeli zaporke u Chromeovim postavkama i upravljali njima</translation>
+<translation id="8734529307927223492">Vašim uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste otvorili novi anonimni prozor i pregledavali u privatnosti</translation>
 <translation id="8738058698779197622">Za uspostavu sigurne veze sat mora biti točno postavljen. To je zato što certifikati koje web-lokacije upotrebljavaju za međusobnu identifikaciju vrijede samo određeno vrijeme. Budući da sat na vašem uređaju nije točan, Chromium ne može potvrditi te certifikate.</translation>
 <translation id="8740359287975076522">&lt;abbr id="dnsDefinition"&gt;DNS adresa&lt;/abbr&gt; hosta <ph name="HOST_NAME" /> nije pronađena. U tijeku je dijagnosticiranje problema.</translation>
@@ -2034,6 +2038,7 @@
 <translation id="9103872766612412690"><ph name="SITE" /> obično upotrebljava enkripciju radi zaštite vaših podataka. Prilikom ovog pokušaja povezivanja Chromiuma s web-lokacijom <ph name="SITE" /> ta je web-lokacija vratila neuobičajene
 i netočne vjerodajnice. To može značiti da se neki napadač pokušava predstaviti kao <ph name="SITE" /> ili je zaslon za prijavu na Wi-Fi prekinuo vezu. Vaši su podaci još uvijek sigurni jer je Chromium zaustavio povezivanje prije razmjene podataka.</translation>
 <translation id="9106062320799175032">Dodajte adresu za naplatu</translation>
+<translation id="9107467864910557787">Vašim preglednikom upravlja <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Potvrđivanje kartice...</translation>
 <translation id="9114581008513152754">Preglednikom ne upravlja tvrtka ili neka druga organizacija. Aktivnostima na ovom uređaju možda se upravlja izvan Chromea. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Preneseno</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb
index e64e3986..f9d75d44 100644
--- a/components/strings/components_strings_is.xtb
+++ b/components/strings/components_strings_is.xtb
@@ -370,6 +370,7 @@
 <translation id="2354430244986887761">Örugg vefnotkun Google <ph name="BEGIN_LINK" />fann skaðleg forrit<ph name="END_LINK" /> á <ph name="SITE" /> nýlega.</translation>
 <translation id="2355395290879513365">Tölvuþrjótar gætu séð myndirnar sem þú skoðar á þessu vefsvæði og gabbað þig með því að breyta þeim.</translation>
 <translation id="2356070529366658676">Spyrja</translation>
+<translation id="2357481397660644965"><ph name="DEVICE_MANAGER" /> hefur umsjón með tækinu þínu og <ph name="ACCOUNT_MANAGER" /> hefur umsjón með reikningnum þínum.</translation>
 <translation id="2359629602545592467">Margir</translation>
 <translation id="2359808026110333948">Halda áfram</translation>
 <translation id="2360873523816792727">Kveiktu á samstillingu til að nota kortin þín í öllum tækjum.</translation>
@@ -549,6 +550,7 @@
 <translation id="3145945101586104090">Mistókst að afkóða svar</translation>
 <translation id="3150653042067488994">Tímabundin villa á þjóni</translation>
 <translation id="3154506275960390542">Á þessari síðu er eyðublað sem gæti verið sent á óöruggan máta. Gögn sem þú sendir kunna að vera skoðuð af öðrum meðan á sendingu stendur eða tölvuþrjótur gæti breytt því sem þjónninn móttekur.</translation>
+<translation id="315504272643575312"><ph name="MANAGER" /> hefur umsjón með reikningnum þínum.</translation>
 <translation id="3157931365184549694">Endurheimta</translation>
 <translation id="3162559335345991374">Wi-Fi netið sem þú notar kann að fara fram á að þú farir á innskráningarsíðu þess.</translation>
 <translation id="3167968892399408617">Síður sem þú skoðar í huliðsflipum verða ekki áfram í vafraferlinum, fótsporageymslunni eða leitarferlinum eftir að þú hefur lokað öllum huliðsflipum. Skrár sem þú sækir eða bókamerki sem þú býrð til verða áfram til staðar.</translation>
@@ -1930,6 +1932,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, svar, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Ekki var hægt að hlaða vefsíðuna á <ph name="PAGE" /> vegna þess að:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002"><ph name="MANAGER" /> hefur umsjón með tækinu þínu og reikningnum.</translation>
 <translation id="8688672835843460752">Laust</translation>
 <translation id="868922510921656628">Síður í setti</translation>
 <translation id="869891660844655955">Lokadagsetning</translation>
@@ -1944,6 +1947,7 @@
 <translation id="8728672262656704056">Þú ferð nú huldu höfði</translation>
 <translation id="8730621377337864115">Lokið</translation>
 <translation id="8731544501227493793">Hnappurinn Stjórna aðgangsorðum, ýttu á Enter til að skoða og stjórna aðgangsorðunum þínum í stillingum Chrome</translation>
+<translation id="8734529307927223492"><ph name="DEVICE_TYPE" /> er í umsjón <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að opna nýjan huliðsglugga og fara huldu höfði</translation>
 <translation id="8738058698779197622">Klukka tölvunnar þarf að vera rétt til að hægt sé að koma á öruggri nettengingu. Þetta er vegna þess að vottorðin sem vefsvæði nota til að auðkenna sig eru aðeins gild í tiltekinn tíma. Chromium getur ekki kannað vottorðin þar sem klukka tækisins er röng.</translation>
 <translation id="8740359287975076522">&lt;abbr id="dnsDefinition"&gt;DNS-slóð&lt;/abbr&gt; <ph name="HOST_NAME" /> fannst ekki. Vandamálið er í greiningu.</translation>
@@ -2033,6 +2037,7 @@
 <translation id="9101630580131696064">Bakki 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> notast yfirleitt við dulkóðun til að vernda upplýsingarnar þínar. Þegar Chromium reyndi að tengjast <ph name="SITE" /> í þetta skiptið sendi vefsvæðið óvenjuleg og röng skilríki til baka. Þetta getur gerst þegar tölvuþrjótur reynir að þykjast vera <ph name="SITE" /> eða innskráningarskjár fyrir Wi-Fi hefur truflað tenginguna. Upplýsingarnar þínar eru enn öruggar vegna þess að Chromium sleit tengingunni áður en skipst var á gögnum.</translation>
 <translation id="9106062320799175032">Bæta við heimilisfangi greiðanda</translation>
+<translation id="9107467864910557787"><ph name="MANAGER" /> hefur umsjón með vafranum þínum</translation>
 <translation id="9114524666733003316">Staðfestir kort...</translation>
 <translation id="9114581008513152754">Þessi vafri er ekki í umsjón fyrirtækis eða annarrar stofnunar. Hægt er að hafa umsjón með aðgerðum í þessu tæki utan Chrome. <ph name="BEGIN_LINK" />Frekari upplýsingar<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Sent</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb
index 6d935d3d..cf1a92c 100644
--- a/components/strings/components_strings_it.xtb
+++ b/components/strings/components_strings_it.xtb
@@ -1451,7 +1451,7 @@
 <translation id="6775759552199460396">JIS B2</translation>
 <translation id="67862343314499040">Lilla</translation>
 <translation id="6786747875388722282">Estensioni</translation>
-<translation id="6790428901817661496">Play</translation>
+<translation id="6790428901817661496">Riproduci</translation>
 <translation id="679355240208270552">Ignorato perché la ricerca predefinita non è attiva secondo la norma.</translation>
 <translation id="6794951432696553238">Verifica più velocemente le tue carte usando Windows Hello d'ora in poi</translation>
 <translation id="681021252041861472">Campo obbligatorio</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb
index 8d25cfc..357f8957 100644
--- a/components/strings/components_strings_ka.xtb
+++ b/components/strings/components_strings_ka.xtb
@@ -365,6 +365,7 @@
 <translation id="2354430244986887761">Google Safe Browsing-მა ახლახან <ph name="BEGIN_LINK" />აღმოაჩინა საზიანო აპები<ph name="END_LINK" /> საიტზე: <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">თავდამსხმელებს შეუძლიათ იმ სურათების ნახვა, რომლებსაც ამ საიტზე ათვალიერებთ, და მათი შეცვლის მეშვეობით, თქვენი შეცდომაში შეყვანა.</translation>
 <translation id="2356070529366658676">მკითხე</translation>
+<translation id="2357481397660644965">თქვენს მოწყობილობას მართავს <ph name="DEVICE_MANAGER" />, ხოლო თქვენს ანგარიშს — <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">რამდენიმე</translation>
 <translation id="2359808026110333948">გაგრძელება</translation>
 <translation id="2360873523816792727">თქვენი ბარათების ნებისმიერ მოწყობილობაზე გამოსაყენებლად ჩართეთ სინქრონიზაცია.</translation>
@@ -542,6 +543,7 @@
 <translation id="3145945101586104090">პასუხის გაშიფვრა ვერ მოხერხდა</translation>
 <translation id="3150653042067488994">სერვერის დროებითი შეცდომა</translation>
 <translation id="3154506275960390542">ეს გვერდი შეიცავს ფორმას, რომელიც დაცულად ვერ გადაიგზავნება. თქვენ მიერ გაგზავნილი მონაცემები შეიძლება იხილონ სხვებმა, ან შეიცვალოს თავდამსხმელის მიერ, რათა სერვერმა სხვა ინფორმაცია მიიღოს.</translation>
+<translation id="315504272643575312">თქვენს ანგარიშს მართავს <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">აღდგენა</translation>
 <translation id="3162559335345991374">Wi-Fi-მ, რომელსაც თქვენ იყენებთ, შეიძლება მოითხოვოს თქვენი სტუმრობა მის ავტორიზაციის გვერდზე.</translation>
 <translation id="3167968892399408617">ყველა ინკოგნიტო ჩანართის დახურვის შემდეგ, თქვენ მიერ ინკოგნიტო ჩანართების მეშვეობით მონახულებული გვერდები არ დარჩება თქვენი ბრაუზერის ისტორიაში, ქუქი-ჩანაწერების საცავში თუ ძიების ისტორიაში. თუმცა, თქვენ მიერ ჩამოტვირთული ფაილები თუ შექმნილი სანიშნეები მაინც შეინახება.</translation>
@@ -1918,6 +1920,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, პასუხი, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054"><ph name="PAGE" />-ზე არსებული ვებგვერდის ჩატვირთვა ვერ ხერხდება, რადგან:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">თქვენს მოწყობილობასა და ანგარიშს მართავს <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">ხელმისაწვდომი</translation>
 <translation id="868922510921656628">გვერდების რაოდენობა ნაკრებში</translation>
 <translation id="869891660844655955">ვადის გასვლის თარიღი</translation>
@@ -1932,6 +1935,7 @@
 <translation id="8728672262656704056">თქვენ გადახვედით ინკოგნიტო რეჟიმზე</translation>
 <translation id="8730621377337864115">მზადაა</translation>
 <translation id="8731544501227493793">პაროლების მართვის ღილაკი, Chrome-ის პარამეტრებიდან თქვენი პაროლების სანახავად და სამართავად დააჭირეთ კლავიშს Enter</translation>
+<translation id="8734529307927223492">თქვენი <ph name="DEVICE_TYPE" /> იმართება <ph name="MANAGER" />-ის მიერ</translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, ვების კონფიდენციალურად დასათვალიერებლად ახალი ინკოგნიტო ფანჯრის გასახსნელად დააჭირეთ კლავიშს Tab, შემდეგ კი Enter-ს</translation>
 <translation id="8738058698779197622">უსაფრთხო კავშირის დასამყარებლად, საჭიროა საათის გასწორება. ამის მიზეზია ის, რომ სერტიფიკატები, რომლებსაც ვებსაიტები იყენებენ იდენტიფიცირების მიზნით, მოქმედებს მხოლოდ გარკვეული პერიოდის განმავლობაში. რადგან თქვენი მოწყობილობის საათი არასწორია, Chromium ვერ დაადასტურებს ამ სერტიფიკატებს.</translation>
 <translation id="8740359287975076522"><ph name="HOST_NAME" />-ის &lt;abbr id="dnsDefinition"&gt;DNS მისამართი&lt;/abbr&gt; ვერ მოიძებნა. მიმდინარეობს პრობლემის დიაგნოსტიკა.</translation>
@@ -2021,6 +2025,7 @@
 <translation id="9101630580131696064">ლანგარი 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> დაშიფვრას, ჩვეულებრივ, თქვენი ინფორმაციის დაცვის მიზნით იყენებს. Chromium-ის მიერ <ph name="SITE" />-თან დაკავშირების მცდელობისას, ვებსაიტმა ამჯერად უჩვეულო და არასწორი ავტორიზაციის მონაცემები გამოგზავნა. ეს შეიძლება მოხდეს მაშინ, როცა თავდამსხმელი თავს <ph name="SITE" />-ად ასაღებს, ან დაკავშირების შეფერხების მიზეზი Wi-Fi შესვლის ეკრანი გახდა. თქვენი ინფორმაცია დაცულია, რადგან Chromium-მა დაკავშირება მონაცემების მიმოცვლამდე შეწყვიტა.</translation>
 <translation id="9106062320799175032">დაამატეთ ბილინგის მისამართი</translation>
+<translation id="9107467864910557787">თქვენს ბრაუზერს მართავს <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">მიმდინარეობს ბარათის დადასტურება...</translation>
 <translation id="9114581008513152754">ამ ბრაუზერს არ მართავს კომპანია თუ სხვა ორგანიზაცია. ამ მოწყობილობაზე აქტივობა შეიძლება იმართებოდეს Chrome-ს მიღმა. <ph name="BEGIN_LINK" />შეიტყვეთ მეტი<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">ატვირთულია</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index 603e68b..ccba7c9 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">„Google“ saugaus naršymo technologija svetainėje <ph name="SITE" /> neseniai <ph name="BEGIN_LINK" />aptiko kenkėjiškų programų<ph name="END_LINK" />.</translation>
 <translation id="2355395290879513365">Užpuolikai galbūt galės matyti, kuriuos šios svetainės vaizdus peržiūrite, ir juos pakeis siekdami jus suklaidinti.</translation>
 <translation id="2356070529366658676">Paklausti</translation>
+<translation id="2357481397660644965">Jūsų įrenginį valdo <ph name="DEVICE_MANAGER" />, o paskyrą – <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Kelios</translation>
 <translation id="2359808026110333948">Tęskite</translation>
 <translation id="2360873523816792727">Norėdami naudoti korteles visuose įrenginiuose, įjunkite sinchronizavimą.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Iššifruojant atsakymą įvyko klaida</translation>
 <translation id="3150653042067488994">Laikina serverio klaida</translation>
 <translation id="3154506275960390542">Šiame puslapyje yra forma, kurios negalima saugiai pateikti. Siunčiamus duomenis gali peržiūrėti kiti asmenys juos perduodant arba juos gali modifikuoti atakuojanti programa, siekianti pakeisti serverio gaunamą informaciją.</translation>
+<translation id="315504272643575312">Jūsų paskyrą tvarko <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Atkurti</translation>
 <translation id="3162559335345991374">Naudojant šį „Wi-Fi“ tinklą gali būti prašoma apsilankyti prisijungimo puslapyje.</translation>
 <translation id="3167968892399408617">Puslapiai, kuriuos peržiūrite inkognito skirtukų lapuose, nebus rodomi naršyklės istorijoje, slapukų saugykloje ar paieškos istorijoje, kai uždarysite visus inkognito skirtukų lapus. Visi atsisiųsti failai ar sukurtos žymės išliks.</translation>
@@ -1931,6 +1933,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, atsakymas, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Tinklalapio adresu <ph name="PAGE" /> nepavyko įkelti, nes:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Jūsų įrenginį ir paskyrą valdo <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Galima</translation>
 <translation id="868922510921656628">Puslapių skaičius rinkinyje</translation>
 <translation id="869891660844655955">Galiojimo data</translation>
@@ -1945,6 +1948,7 @@
 <translation id="8728672262656704056">Veikia inkognito režimas</translation>
 <translation id="8730621377337864115">Atlikta</translation>
 <translation id="8731544501227493793">Mygtukas „Tvarkyti slaptažodžius“, paspauskite „Enter“, jei norite peržiūrėti ir tvarkyti slaptažodžius „Chrome“ nustatymuose</translation>
+<translation id="8734529307927223492">Jūsų „<ph name="DEVICE_TYPE" />“ tvarko <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, paspauskite tabuliavimo klavišą, tada – „Enter“, kad būtų atidarytas naujas privataus naršymo inkognito langas</translation>
 <translation id="8738058698779197622">Jei norite užmegzti saugų ryšį, turėsite tinkamai nustatyti laikrodį. To reikalaujama todėl, kad svetainių tapatybei įrodyti naudojami sertifikatai galioja tik tam tikrą laikotarpį. Kadangi įrenginio laikrodis nustatytas netinkamai, „Chromium“ negali tinkamai patvirtinti sertifikatų.</translation>
 <translation id="8740359287975076522">Nepavyko rasti <ph name="HOST_NAME" /> &lt;abbr id="dnsDefinition"&gt;DNS adreso&lt;/abbr&gt;. Nustatoma problema.</translation>
@@ -2034,6 +2038,7 @@
 <translation id="9101630580131696064">1 dėklas</translation>
 <translation id="9103872766612412690">Svetainėje <ph name="SITE" /> įprastai naudojama šifruotė informacijai apsaugoti. Šį kartą „Chromium“ bandant prisijungti prie <ph name="SITE" />, ji pateikė neįprastus ir netinkamus prisijungimo duomenis. Gali būti, kad užpuolėjas bando apsimesti svetaine <ph name="SITE" /> arba „Wi-Fi“ prisijungimo ekrane nutrūko ryšys. Jūsų informacija vis tiek liko apsaugota, nes „Chromium“ sustabdė prisijungimą prieš apsikeitimą bet kokiais duomenimis.</translation>
 <translation id="9106062320799175032">Atsiskaitymo adreso pridėjimas</translation>
+<translation id="9107467864910557787">Jūsų naršyklę tvarko <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Kortelė patvirtinama...</translation>
 <translation id="9114581008513152754">Šios naršyklės netvarko įmonė ar kita organizacija. Veiklą šiame įrenginyje galima tvarkyti ne naršyklėje „Chrome“. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Įkelta</translation>
diff --git a/components/strings/components_strings_mk.xtb b/components/strings/components_strings_mk.xtb
index d040cac..d6993ddc 100644
--- a/components/strings/components_strings_mk.xtb
+++ b/components/strings/components_strings_mk.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google Safe Browsing неодамна <ph name="BEGIN_LINK" />најде штетни апликации<ph name="END_LINK" /> на <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Напаѓачите можеби ќе можат да ги видат сликите што ги гледате на сајтов и да ве измамат со тоа што ќе ги модифицираат.</translation>
 <translation id="2356070529366658676">Прашај</translation>
+<translation id="2357481397660644965"><ph name="DEVICE_MANAGER" /> управува со уредот, а <ph name="ACCOUNT_MANAGER" /> управува со сметката.</translation>
 <translation id="2359629602545592467">Повеќе</translation>
 <translation id="2359808026110333948">Продолжи</translation>
 <translation id="2360873523816792727">За да ги користите картичките на сите уреди, вклучете ја синхронизацијата.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Не успеа да дешифрира одговор</translation>
 <translation id="3150653042067488994">Привремена грешка на серверот</translation>
 <translation id="3154506275960390542">Формуларот што го содржи страницава може да не се испрати безбедно. При преносот, податоците што ги испраќате може да ги гледаат други лица или да ги менува напаѓач за да го измени она што треба да го добие серверот.</translation>
+<translation id="315504272643575312"><ph name="MANAGER" /> управува со вашата сметка.</translation>
 <translation id="3157931365184549694">Обнови</translation>
 <translation id="3162559335345991374">Wi-Fi што го користите може да бара да ја посетите страницата за најавување.</translation>
 <translation id="3167968892399408617">Страниците што ги гледате во инкогнито-картичките нема да се задржат во историјата на прелистувачот, во продавницата на колачиња или во историјата на пребарување откако ќе ги затворите сите ваши инкогнито-картички. Сите преземени датотеки или создадени обележувачи ќе се задржат.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, одговор, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Веб-страницата на <ph name="PAGE" /> не може да се вчита бидејќи:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002"><ph name="MANAGER" /> управува со уредот и сметката.</translation>
 <translation id="8688672835843460752">Достапно</translation>
 <translation id="868922510921656628">Страници по група</translation>
 <translation id="869891660844655955">Рок на важност</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">Се наоѓате во режим инкогнито</translation>
 <translation id="8730621377337864115">Готово</translation>
 <translation id="8731544501227493793">Копче „Управувајте со лозинките“, притиснете Enter за да ги прегледувате и да управувате со вашите лозинки во поставките за Chrome</translation>
+<translation id="8734529307927223492"><ph name="MANAGER" /> управува со вашиот <ph name="DEVICE_TYPE" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, притиснете Tab, а потоа Enter за да отворите нов прозорец „Инкогнито“ и да прелистувате приватно</translation>
 <translation id="8738058698779197622">За воспоставување безбедна врска, вашиот часовник треба да биде правилно поставен. Ова е така затоа што сертификатите кои веб-локациите ги користат за да се идентификуваат важат само определени периоди на време. Бидејќи часовникот на вашиот уред не е точен, Chromium не може да ги потврди овие сертификати.</translation>
 <translation id="8740359287975076522">&lt;abbr id="dnsDefinition"&gt;DNS-адресата&lt;/abbr&gt; на <ph name="HOST_NAME" /> не може да се пронајде. Го дијагностицираме проблемот.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">Фиока 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> обично користи шифрирање за да ги заштити вашите информации. Кога Chromium овој пат се обиде да се поврзе на <ph name="SITE" />, веб-сајтот врати невообичаени и неточни акредитиви. Ова може да се случи кога напаѓач се преправа дека е <ph name="SITE" /> или кога екран за најавување на Wi-Fi го прекинува поврзувањето. Вашите информации сѐ уште се безбедни, затоа што Chromium го запре поврзувањето пред да се разменат податоци.</translation>
 <translation id="9106062320799175032">Додајте адреса за наплата</translation>
+<translation id="9107467864910557787"><ph name="MANAGER" /> управува со прелистувачот</translation>
 <translation id="9114524666733003316">Се потврдува картичката…</translation>
 <translation id="9114581008513152754">Прелистувачов не е управуван од компанија или друга организација. Активноста на уредов можеби се управува надвор од Chrome. <ph name="BEGIN_LINK" />Дознајте повеќе<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Прикачен</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index 39d7b56..2b66c14 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -368,6 +368,7 @@
 <translation id="2354430244986887761">Google സുരക്ഷിത ബ്രൗസിംഗ് ഈയിടെ <ph name="SITE" /> എന്നതിൽ <ph name="BEGIN_LINK" />ദോഷകരമായ  ആപ്പുകൾ കണ്ടെത്തി<ph name="END_LINK" />.</translation>
 <translation id="2355395290879513365">നിങ്ങൾ ഈ സൈറ്റിൽ തിരയുന്ന ചിത്രങ്ങൾ കാണാനും അവയിൽ മാറ്റം വരുത്തി നിങ്ങളെ കബളിപ്പിക്കാനും അക്രമകാരികൾക്ക് കഴിഞ്ഞേക്കാം.</translation>
 <translation id="2356070529366658676">ചോദിക്കുക</translation>
+<translation id="2357481397660644965">നിങ്ങളുടെ ഉപകരണം <ph name="DEVICE_MANAGER" />-ഉം അക്കൗണ്ട് <ph name="ACCOUNT_MANAGER" />-ഉം മാനേജ് ചെയ്യുന്നു.</translation>
 <translation id="2359629602545592467">ഒന്നിലധികം</translation>
 <translation id="2359808026110333948">തുടരുക</translation>
 <translation id="2360873523816792727">എല്ലാ ഉപകരണങ്ങളിലും നിങ്ങളുടെ കാർഡുകൾ ഉപയോഗിക്കുന്നതിന്, സമന്വയിപ്പിക്കൽ ഓണാക്കുക.</translation>
@@ -545,6 +546,7 @@
 <translation id="3145945101586104090">പ്രതികരണം ഡീകോഡ് ചെയ്യുന്നത് പരാജയപ്പെട്ടു</translation>
 <translation id="3150653042067488994">താൽക്കാലികമായ സെർവർ പിശക്</translation>
 <translation id="3154506275960390542">സുരക്ഷിതമായി സമർപ്പിക്കാൻ സാധിക്കാത്ത ഒരു ഫോം ഈ പേജിൽ ഉ‌ണ്ട്. അയയ്ക്കുന്ന സമയത്ത് നിങ്ങളുടെ ഡാറ്റ മറ്റുള്ളവര്‍‌ക്ക് കാണാനാകും, അല്ലെങ്കിൽ സെർവറിലേക്ക് എത്തും ‌മുമ്പ് ‌ഒരു അക്രമിക്ക് പരിഷ്‌ക്കരിക്കാൻ കഴിയും.</translation>
+<translation id="315504272643575312">നിങ്ങളുടെ അക്കൗണ്ട് മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്.</translation>
 <translation id="3157931365184549694">പുനഃസ്ഥാപിക്കുക</translation>
 <translation id="3162559335345991374">നിങ്ങൾ ഉപയോഗിക്കുന്ന Wi-Fi അതിന്റെ ലോഗിൻ പേജ് സന്ദർശിക്കാൻ നിങ്ങളോട് ആവശ്യപ്പെടാം.</translation>
 <translation id="3167968892399408617">അദൃശ്യ ടാബുകളിൽ നിങ്ങൾ കാണുന്ന പേജുകൾ, അദൃശ്യ ടാബുകൾ എല്ലാം അടച്ചതിനുശേഷം ബ്രൗസർ ചരിത്രത്തിലോ കുക്കി സ്റ്റോറിലോ തിരയൽ ചരിത്രത്തിലോ ഉണ്ടാകില്ല. നിങ്ങൾ ഡൗൺലോഡ് ചെയ്യുന്ന ഫയലുകളോ സൃഷ്‌ടിക്കുന്ന ബുക്ക്‌മാർക്കുകളോ എല്ലാം സൂക്ഷിക്കും.</translation>
@@ -1921,6 +1923,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, ഉത്തരം, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">ഇനിപ്പറയുന്ന കാരണങ്ങളാൽ <ph name="PAGE" /> എന്നതിലെ വെബ്‌പേജ് ലോഡ് ചെയ്യാനായില്ല:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">നിങ്ങളുടെ ഉപകരണവും അക്കൗണ്ടും മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്.</translation>
 <translation id="8688672835843460752">ലഭ്യമാണ്</translation>
 <translation id="868922510921656628">ഓരോ സെറ്റിലെയും പേജുകൾ</translation>
 <translation id="869891660844655955">കാലഹരണപ്പെടല്‍‌ തീയതി</translation>
@@ -1935,6 +1938,7 @@
 <translation id="8728672262656704056">നിങ്ങൾ അദൃശ്യ വിൻഡോയിലാണ്</translation>
 <translation id="8730621377337864115">പൂർത്തിയാക്കി</translation>
 <translation id="8731544501227493793">'പാസ്‌വേഡുകൾ മാനേജ് ചെയ്യുക' ബട്ടൺ, Chrome ക്രമീകരണത്തിൽ നിങ്ങളുടെ പാസ്‌വേഡുകൾ കാണാനും മാനേജ് ചെയ്യാനും 'Enter' അമർത്തുക</translation>
+<translation id="8734529307927223492">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്</translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, സ്വകാര്യമായി ബ്രൗസ് ചെയ്യാൻ ഒരു പുതിയ അദൃശ്യ വിൻഡോ തുറക്കുന്നതിന്, 'Tab' അമർത്തുക, തുടർന്ന് 'Enter' അമർത്തുക</translation>
 <translation id="8738058698779197622">സുരക്ഷിത കണക്ഷൻ സ്ഥാപിക്കുന്നതിന്, നിങ്ങളുടെ ക്ലോക്ക് ശരിയായി സജ്ജീകരിക്കേണ്ടതുണ്ട്. വെബ്‌സൈറ്റുകൾ സ്വയം തിരിച്ചറിയുന്നതിന് ഉപയോഗിക്കുന്ന സർട്ടിഫിക്കറ്റുകൾ, നിർദ്ദിഷ്‌ട സമയ പരിധിയ്‌ക്ക് മാത്രമായി സാധുതയുള്ളതിനാലാണിത്. നിങ്ങളുടെ ഉപകരണത്തിന്റെ ക്ലോക്ക് തെറ്റായിരിക്കുന്നതിനാൽ, Chromium-ന് ഈ സർട്ടിഫിക്കറ്റുകൾ പരിശോധിച്ചുറപ്പിക്കാനാവില്ല.</translation>
 <translation id="8740359287975076522"><ph name="HOST_NAME" /> ഹോസ്‌റ്റിന്‍റെ &lt;abbr id="dnsDefinition"&gt;DNS വിലാസം&lt;/abbr&gt; കണ്ടെത്താനായില്ല. പ്രശ്‌നം നിർണ്ണയിക്കുന്നു.</translation>
@@ -2024,6 +2028,7 @@
 <translation id="9101630580131696064">ട്രേ 1</translation>
 <translation id="9103872766612412690">നിങ്ങളുടെ വിവരങ്ങൾ പരിരക്ഷിക്കാൻ സാധാരണയായി <ph name="SITE" />, എൻക്രിപ്‌ഷൻ ഉപയോഗിക്കുന്നു. ഇപ്പോൾ <ph name="SITE" /> സൈറ്റിലേക്ക് കണക്‌റ്റ് ചെയ്യാൻ Chromium ശ്രമിച്ചപ്പോൾ, അസാധാരണമായതും തെറ്റായതുമായ ക്രെഡൻഷ്യലുകൾ വെബ്‌സൈറ്റ് തിരികെ അയച്ചു. ഒരു ആക്രമണകാരി <ph name="SITE" /> എന്നതായി ഭാവിക്കാൻ ശ്രമിക്കുമ്പോഴോ Wi-Fi സൈൻ ഇൻ സ്‌ക്രീൻ, കണക്ഷനെ തടസ്സപ്പെടുത്തുമ്പോഴോ ആണ് ഇങ്ങനെ സംഭവിക്കാനിടയുള്ളത്. ഏതെങ്കിലും ഡാറ്റ കൈമാറുന്നതിനുമുമ്പ് Chromium കണക്ഷൻ അവസാനിപ്പിച്ചതിനാൽ, നിങ്ങളുടെ വിവരങ്ങൾ തുടർന്നും സുരക്ഷിതമായിരിക്കും.</translation>
 <translation id="9106062320799175032">ബില്ലിംഗ് വിലാസം ചേർക്കുക</translation>
+<translation id="9107467864910557787">നിങ്ങളുടെ ബ്രൗസർ മാനേജ് ചെയ്യുന്നത് <ph name="MANAGER" /> ആണ്</translation>
 <translation id="9114524666733003316">കാർഡ് സ്ഥിരീകരിക്കുന്നു...</translation>
 <translation id="9114581008513152754">കമ്പനിയോ മറ്റേതെങ്കിലും സ്ഥാപനമോ മാനേജ് ചെയ്യുന്നതല്ല ഈ ബ്രൗസർ. ഈ ഉപകരണത്തിലെ ആക്‌റ്റിവിറ്റി Chrome-ന് പുറത്ത് മാനേജ് ചെയ്തേക്കാം. <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">അപ്‌ലോഡ് ചെയ്തു</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index 6f47061..84ba2ef 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -305,7 +305,7 @@
 <translation id="2102495993840063010">Android अ‍ॅप्स</translation>
 <translation id="2107021941795971877">प्रिंट सपोर्ट</translation>
 <translation id="2108755909498034140">तुमचा कॉंप्युटर रीस्टार्ट करा</translation>
-<translation id="2111166930115883695">खेळण्यासाठी space दाबा</translation>
+<translation id="2111166930115883695">खेळण्यासाठी स्पेस दाबा</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">कार्ड</translation>
 <translation id="2114841414352855701">दुर्लक्ष केले कारण ते <ph name="POLICY_NAME" /> कडून अधिलिखित झाले होते.</translation>
@@ -522,7 +522,7 @@
 <translation id="3010559122411665027">सूची प्रविष्टी "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">आपोआप ब्लॉक केलेले</translation>
 <translation id="3016780570757425217">तुमचे स्थान जाणून घ्या</translation>
-<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, सूचना काढून टाकण्यासाठी Tab त्यानंतर Enter दाबा.</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, सूचना काढून टाकण्यासाठी टॅब त्यानंतर एंटर दाबा.</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">चुकीचा धोरण प्रकार</translation>
 <translation id="3037605927509011580">च्चक!</translation>
diff --git a/components/strings/components_strings_ne.xtb b/components/strings/components_strings_ne.xtb
index f3bd28b..239471a 100644
--- a/components/strings/components_strings_ne.xtb
+++ b/components/strings/components_strings_ne.xtb
@@ -305,6 +305,7 @@
 <translation id="2102495993840063010">Android एपहरू</translation>
 <translation id="2107021941795971877">मुद्रणसम्बन्धी सहायता प्रदान गर्ने सेवा</translation>
 <translation id="2108755909498034140">आफ्नो कम्प्युटर पुनः सुरु गर्नुहोस्</translation>
+<translation id="2111166930115883695">प्ले गर्न space थिच्नुहोस्</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">कार्ड</translation>
 <translation id="2114841414352855701">यसलाई <ph name="POLICY_NAME" /> द्वारा ओभरराइड गरिएको हुनाले उपेक्षा गरियो।</translation>
@@ -521,6 +522,7 @@
 <translation id="3010559122411665027">सूची प्रविष्टि "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">स्वतः रोक लगाइयो</translation>
 <translation id="3016780570757425217">तपाईँको स्थान जान्नुहोस्</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, सुझाव हटाउन Tab थिच्नुहोस् अनि Enter थिच्नुहोस्।</translation>
 <translation id="3023071826883856138">You4 (Envelope)</translation>
 <translation id="3024663005179499861">गलत नीति प्रकार</translation>
 <translation id="3037605927509011580">हरे, स्न्याप!</translation>
@@ -759,6 +761,7 @@
 <translation id="4056223980640387499">सेपिया</translation>
 <translation id="4058922952496707368">कुञ्जी "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (Envelope)</translation>
+<translation id="4067669230157909013">स्क्रिन क्याप्चर गर्ने कार्य सुचारु भएको छ।</translation>
 <translation id="4067947977115446013">मान्य ठेगाना थप्नुहोस्</translation>
 <translation id="4072486802667267160">तपाईंको भुक्तानीको प्रक्रियालाई अघि बढाउँदा कुनै त्रुटि भयो, कृपया फेरि प्रयास गर्नुहोस्।</translation>
 <translation id="4075732493274867456">ग्राहक र सर्भरले एउटा साधारण SSL प्रोटोकल संस्करण वा साइफर सुइटलाई समर्थन गर्दैनन्।</translation>
@@ -841,6 +844,7 @@
 <translation id="4297502707443874121">पृष्ठ <ph name="THUMBNAIL_PAGE" /> को थम्बनेल</translation>
 <translation id="42981349822642051">विस्तृत गर्नुहोस्</translation>
 <translation id="4300675098767811073">दायाँपट्टि एकभन्दा बढी प्वाल</translation>
+<translation id="4302514097724775343">प्ले गर्न dino मा ट्याप गर्नुहोस्</translation>
 <translation id="4302965934281694568">Chou3 (Envelope)</translation>
 <translation id="4305666528087210886">तपाईंको फाइल हेर्न र प्रयोग गर्न सकिएन</translation>
 <translation id="4305817255990598646">स्विच</translation>
@@ -1239,6 +1243,7 @@
 <translation id="5901630391730855834">पहेँलो</translation>
 <translation id="5905445707201418379"><ph name="ORIGIN" /> को मूल नीतिका आधारमा रोक लगाइयो।</translation>
 <translation id="5908541034548427511"><ph name="TYPE_1" /> (सिंक गरिएको)</translation>
+<translation id="5913377024445952699">स्क्रिन क्याप्चर गर्ने सुविधा पज गरियो</translation>
 <translation id="59174027418879706">सक्षम गरिएको</translation>
 <translation id="5919090499915321845">B10</translation>
 <translation id="5921185718311485855">सक्रिय छ</translation>
@@ -1251,6 +1256,7 @@
 <translation id="5963413905009737549">खण्ड</translation>
 <translation id="5967592137238574583">सम्पर्कसम्बन्धी जानकारी सम्पादन गर्नुहोस्</translation>
 <translation id="5967867314010545767">इतिहासबाट हटाउनुहोस्</translation>
+<translation id="5968793460449681917">साइट खोल्दैपिच्छे</translation>
 <translation id="5975083100439434680">जुम आउट</translation>
 <translation id="5979084224081478209">पासवर्डहरूको जाँच गर्नुहोस्</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1465,6 +1471,7 @@
 <translation id="6895330447102777224">तपाईंको कार्डको पुष्टि भयो</translation>
 <translation id="6897140037006041989">प्रयोगकर्ता एजेन्ट</translation>
 <translation id="6898699227549475383">संगठन (सं)</translation>
+<translation id="6907293445143367439"><ph name="SITE_NAME" /> लाई निम्न कार्यहरू गर्न दिनुहोस्:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> तपाईंका MIDI यन्त्रहरूमाथि पूर्ण नियन्त्रण प्राप्त गर्न चाहन्छ</translation>
 <translation id="6915804003454593391">प्रयोगकर्ता:</translation>
 <translation id="6934672428414710184">यो नाम तपाईंको Google खाताबाट लिइएको हो</translation>
@@ -1900,6 +1907,7 @@
 <translation id="8574899947864779331">कार्डहरू अझ छिटो पुष्टि गर्न Touch ID प्रयोग गर्नुहोस्</translation>
 <translation id="858637041960032120">फोन नम्बर थप्नुहोस्</translation>
 <translation id="8589998999637048520">उत्कृष्ट गुणस्तर</translation>
+<translation id="8600271352425265729">यो बेला मात्र</translation>
 <translation id="860043288473659153">कार्डवालाको नाम</translation>
 <translation id="8606726445206553943">तपाईँका MIDI यन्त्रहरू प्रयोग गर्नुहोस्</translation>
 <translation id="8612761427948161954">नमस्ते <ph name="USERNAME" />,
@@ -1909,6 +1917,7 @@
 <translation id="8622948367223941507">Legal-Extra</translation>
 <translation id="8623885649813806493">मिल्दो पासवर्ड फेला परेन। सुरक्षित गरिएका सबै पासवर्डहरू देखाउनुहोस्।</translation>
 <translation id="8625384913736129811">यो कार्डलाई यस यन्त्रमा सुरक्षित गर्नुहोस्</translation>
+<translation id="8627040765059109009">स्क्रिनसट खिच्ने सुविधा सुचारु गरिएको छ</translation>
 <translation id="8657078576661269990">तपाईंका एड्मिनले <ph name="ORIGIN_NAME" /> बाट <ph name="VM_NAME_1" /> र <ph name="VM_NAME_2" /> मा सेयर गर्ने रोक लगाउनुभएको छ</translation>
 <translation id="8663226718884576429">अर्डरको सारांश, <ph name="TOTAL_LABEL" />, थप विवरण</translation>
 <translation id="867224526087042813">हस्ताक्षर</translation>
@@ -2056,6 +2065,7 @@
 <translation id="939736085109172342">नयाँ फोल्डर</translation>
 <translation id="945855313015696284">तल दिइएको जानकारीको जाँच गर्नुहोस् र सबै अमान्य कार्ड मेट्नुहोस्</translation>
 <translation id="950736567201356821">सिरानमा तीन प्वाल</translation>
+<translation id="951941430552851965">तपाईंको स्क्रिनमा गोप्य सामग्री भएका कारण तपाईंका एड्मिनले स्क्रिन क्याप्चर गर्ने कार्य अस्थायी रूपमा रोक्का गर्नुभएको छ।</translation>
 <translation id="961663415146723894">फेदको बाइन्ड</translation>
 <translation id="962484866189421427">यो सामग्रीले आफूलाई अर्कै रूपमा प्रस्तुत गर्ने भ्रामक अनुप्रयोगहरूको स्थापना गर्न वा तपाईंलाई ट्र्याक गर्ने कार्यमा प्रयोग गर्न सकिने डेटाको सङ्कलन गर्ने प्रयास गर्न सक्छ। <ph name="BEGIN_LINK" />जे भए पनि देखाउनुहोस्<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">आधिकारिक निर्माण</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb
index 528ab8a..b241d54 100644
--- a/components/strings/components_strings_nl.xtb
+++ b/components/strings/components_strings_nl.xtb
@@ -1303,7 +1303,7 @@
 <translation id="6165508094623778733">Meer informatie</translation>
 <translation id="6177128806592000436">Je verbinding met deze site is niet beveiligd</translation>
 <translation id="6180316780098470077">Interval voor nieuwe poging</translation>
-<translation id="6196640612572343990">Indirecte cookies blokkeren</translation>
+<translation id="6196640612572343990">Cookies van derden blokkeren</translation>
 <translation id="6203231073485539293">Controleer je internetverbinding</translation>
 <translation id="6218753634732582820">Adres verwijderen uit Chromium?</translation>
 <translation id="622039917539443112">Parallelvouw</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index 88e73dc..9c08ddb 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google Safe Browsing har nylig <ph name="BEGIN_LINK" />funnet skadelige apper<ph name="END_LINK" /> på <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Angripere kan kanskje se bildene du ser på dette nettstedet, og lure deg ved å endre dem.</translation>
 <translation id="2356070529366658676">Spør</translation>
+<translation id="2357481397660644965">Enheten administreres av <ph name="DEVICE_MANAGER" />, og kontoen administreres av <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Flere</translation>
 <translation id="2359808026110333948">Fortsett</translation>
 <translation id="2360873523816792727">For å bruke kortene dine på alle enheter, slå på synkronisering.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Kunne ikke avkode responsen</translation>
 <translation id="3150653042067488994">Midlertidig tjenerfeil</translation>
 <translation id="3154506275960390542">Denne siden inneholder et skjema som kanskje ikke sendes på en sikker måte. Data du sender, kan bli sett av andre mens de overføres, eller de kan endres av en angriper slik at tjeneren mottar noe annet enn det du sender.</translation>
+<translation id="315504272643575312">Kontoen din administreres av <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Gjenopprett</translation>
 <translation id="3162559335345991374">Det kan hende at Wi-Fi-nettverket du bruker, krever at du besøker en påloggingsside.</translation>
 <translation id="3167968892399408617">Sider du går til i inkognitofaner, blir ikke værende i nettleserloggen, lageret for informasjonskapsler eller søkeloggen etter at du har lukket alle inkognitofanene. Filer du laster ned eller bokmerker du oppretter, blir lagret.</translation>
@@ -1928,6 +1930,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, svar, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Nettsiden på <ph name="PAGE" /> kunne ikke lastes inn fordi</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Enheten og kontoen din administreres av <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Tilgjengelig</translation>
 <translation id="868922510921656628">Sider pr. sett</translation>
 <translation id="869891660844655955">Utløpsdato</translation>
@@ -1942,6 +1945,7 @@
 <translation id="8728672262656704056">Du er nå i inkognitomodus</translation>
 <translation id="8730621377337864115">Ferdig</translation>
 <translation id="8731544501227493793">Knappen «Administrer passord» – trykk på Enter for å se og administrere passord i Chrome-innstillingene</translation>
+<translation id="8734529307927223492"><ph name="DEVICE_TYPE" /> administreres av <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" /> – trykk på Tab og deretter på Enter for å åpne et nytt inkognitovindu for privat surfing</translation>
 <translation id="8738058698779197622">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 Chromium kontrollere disse sertifikatene.</translation>
 <translation id="8740359287975076522">&lt;abbr id="dnsDefinition"&gt;DNS-adressen&lt;/abbr&gt; til <ph name="HOST_NAME" /> ble ikke funnet. Problemet diagnostiseres.</translation>
@@ -2031,6 +2035,7 @@
 <translation id="9101630580131696064">Skuff 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> bruker vanligvis kryptering for å beskytte informasjonen din. Da Chromium prøvde å koble til <ph name="SITE" /> denne gangen, sendte nettstedet tilbake uvanlig og feil legitimasjon. Dette kan skje hvis en angriper prøver å utgi seg for å være <ph name="SITE" />, eller hvis en Wi-Fi-påloggingsskjerm har avbrutt tilkoblingen. Informasjonen din er likevel sikker fordi Chromium stoppet tilkoblingen før det ble utvekslet noen data.</translation>
 <translation id="9106062320799175032">Legg til faktureringsadresse</translation>
+<translation id="9107467864910557787">Nettleseren administreres av <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Bekrefter kortet …</translation>
 <translation id="9114581008513152754">Denne nettleseren administreres ikke av et selskap eller en annen organisasjon. Aktiviteten på denne enheten kan bli administrert utenfor Chrome. <ph name="BEGIN_LINK" />Finn ut mer<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Opplastet</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index 3c0572a1..23e657b 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -301,6 +301,7 @@
 <translation id="2102495993840063010">Android ਐਪਾਂ</translation>
 <translation id="2107021941795971877">ਪ੍ਰਿੰਟ ਸੰਬੰਧੀ ਸਹਾਇਤਾਵਾਂ</translation>
 <translation id="2108755909498034140">ਆਪਣੇ ਕੰਪਿਊਟਰ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ</translation>
+<translation id="2111166930115883695">ਖੇਡਣ ਲਈ space ਦੱਬੋ</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">ਕਾਰਡ</translation>
 <translation id="2114841414352855701">ਅਣਡਿੱਠ ਕੀਤਾ ਕਿਉਂਕਿ ਇਹ <ph name="POLICY_NAME" /> ਵੱਲੋਂ ਓਵਰਰਾਈਡ ਕੀਤਾ ਸੀ।</translation>
@@ -516,6 +517,7 @@
 <translation id="3010559122411665027">ਸੂਚੀ ਐਂਟਰੀ "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਬਲੌਕ ਕੀਤੀ ਗਈ</translation>
 <translation id="3016780570757425217">ਆਪਣੇ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਬਾਰੇ ਜਾਣੋ</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, Tab ਦਬਾਓ ਫਿਰ ਸੁਝਾਅ ਨੂੰ ਹਟਾਉਣ ਲਈ Enter ਦਬਾਓ।</translation>
 <translation id="3023071826883856138">You4 (ਲਿਫ਼ਾਫ਼ਾ)</translation>
 <translation id="3024663005179499861">ਨੀਤੀ ਦੀ ਗਲਤ ਕਿਸਮ</translation>
 <translation id="3037605927509011580">ਆਹ, ਸਨੈਪ!</translation>
@@ -753,6 +755,7 @@
 <translation id="4056223980640387499">Sepia</translation>
 <translation id="4058922952496707368">ਕੁੰਜੀ "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (ਲਿਫ਼ਾਫ਼ਾ)</translation>
+<translation id="4067669230157909013">ਸਕ੍ਰੀਨ ਕੈਪਚਰ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="4067947977115446013">ਵੈਧ ਪਤਾ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="4072486802667267160">ਤੁਹਾਡੇ ਆਰਡਰ 'ਤੇ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੌਰਾਨ ਗੜਬੜ ਹੋਈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="4075732493274867456">ਗਾਹਕ ਅਤੇ ਸਰਵਰ ਇੱਕ ਆਮ SSL ਪ੍ਰੋਟੋਕੋਲ ਵਰਜਨ ਜਾਂ ਸਿਫ਼ਰ ਸੁਈਟ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ ਹਨ।</translation>
@@ -832,6 +835,7 @@
 <translation id="4297502707443874121">ਪੰਨਾ <ph name="THUMBNAIL_PAGE" /> ਲਈ ਲਘੂ-ਚਿੱਤਰ</translation>
 <translation id="42981349822642051">ਵਿਸਤਾਰ ਕਰੋ</translation>
 <translation id="4300675098767811073">ਸੱਜੇ ਪਾਸੇ ਇੱਕ ਤੋਂ ਵੱਧ ਮੋਰੀਆਂ</translation>
+<translation id="4302514097724775343">ਖੇਡਣ ਲਈ dino 'ਤੇ ਟੈਪ ਕਰੋ</translation>
 <translation id="4302965934281694568">Chou3 (ਲਿਫ਼ਾਫ਼ਾ)</translation>
 <translation id="4305666528087210886">ਤੁਹਾਡੀ ਫ਼ਾਈਲ 'ਤੇ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ</translation>
 <translation id="4305817255990598646">ਸਵਿੱਚ ਕਰੋ</translation>
@@ -1243,6 +1247,7 @@
 <translation id="5963413905009737549">ਭਾਗ</translation>
 <translation id="5967592137238574583">ਸੰਪਰਕ ਜਾਣਕਾਰੀ ਦਾ ਸੰਪਾਦਨ ਕਰੋ</translation>
 <translation id="5967867314010545767">ਇਤਿਹਾਸ ਵਿੱਚੋਂ ਹਟਾਓ</translation>
+<translation id="5968793460449681917">ਹਰੇਕ ਫੇਰੀ 'ਤੇ</translation>
 <translation id="5975083100439434680">ਜ਼ੂਮ ਘਟਾਓ</translation>
 <translation id="5979084224081478209">ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰੋ</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1456,6 +1461,7 @@
 <translation id="6895330447102777224">ਤੁਹਾਡੇ ਕਾਰਡ ਦੀ ਪੁਸ਼ਟੀ ਹੋ ਗਈ ਹੈ</translation>
 <translation id="6897140037006041989">ਵਰਤੋਂਕਾਰ ਏਜੰਟ</translation>
 <translation id="6898699227549475383">ਕੰਪਨੀ (O)</translation>
+<translation id="6907293445143367439"><ph name="SITE_NAME" /> ਨੂੰ ਇਹ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> ਦੀ ਤੁਹਾਡੇ MIDI ਡੀਵਾਈਸਾਂ 'ਤੇ ਪੂਰਾ ਕੰਟਰੋਲ ਕਰਨ ਦੀ ਇੱਛਾ ਹੈ</translation>
 <translation id="6915804003454593391">ਵਰਤੋਂਕਾਰ:</translation>
 <translation id="6934672428414710184">ਇਹ ਨਾਮ ਤੁਹਾਡੇ Google ਖਾਤੇ ਤੋਂ ਲਿਆ ਗਿਆ ਹੈ</translation>
@@ -1891,6 +1897,7 @@
 <translation id="8574899947864779331">ਕਾਰਡਾਂ ਦੀ ਤੇਜ਼ੀ ਨਾਲ ਤਸਦੀਕ ਕਰਨ ਲਈ ਸਪਰਸ਼ ਆਈਡੀ ਵਰਤੋ</translation>
 <translation id="858637041960032120">ਫ਼ੋਨ ਨੰਬਰ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="8589998999637048520">ਬਿਹਤਰੀਨ ਕੁਆਲਿਟੀ</translation>
+<translation id="8600271352425265729">ਸਿਰਫ਼ ਇਸ ਵਾਰ</translation>
 <translation id="860043288473659153">ਕਾਰਡਧਾਰਕ ਦਾ ਨਾਮ</translation>
 <translation id="8606726445206553943">ਆਪਣੀਆਂ MIDI ਡਿਵਾਈਸਾਂ ਵਰਤੋ</translation>
 <translation id="8612761427948161954">ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ <ph name="USERNAME" />,
@@ -2048,6 +2055,7 @@
 <translation id="939736085109172342">ਨਵਾਂ ਫੋਲਡਰ</translation>
 <translation id="945855313015696284">ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਦੀ ਜਾਂਚ ਕਰਕੇ ਕੋਈ ਵੀ ਅਵੈਧ ਕਾਰਡ ਮਿਟਾਓ</translation>
 <translation id="950736567201356821">ਉੱਪਰ ਤਿੰਨ ਮੋਰੀਆਂ</translation>
+<translation id="951941430552851965">ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ 'ਤੇ ਸਮੱਗਰੀ ਦੇ ਕਾਰਨ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਸਕ੍ਰੀਨ ਕੈਪਚਰ ਨੂੰ ਰੋਕਿਆ ਗਿਆ।</translation>
 <translation id="961663415146723894">ਹੇਠਾਂ ਜਿਲਦਬੰਦ</translation>
 <translation id="962484866189421427">ਇਹ ਸਮੱਗਰੀ ਭਰਮਪੂਰਨ ਐਪਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰ ਸਕਦੀ ਹੈ, ਜੋ ਕੁਝ ਹੋਰ ਹੋਣ ਦਾ ਦਾਅਵਾ ਕਰਦੀਆਂ ਹਨ ਜਾਂ ਅਜਿਹਾ ਡਾਟਾ ਇਕੱਠਾ ਕਰਦੀਆਂ ਹਨ ਜਿਸਦੀ ਵਰਤੋਂ ਨਾਲ ਤੁਹਾਡੇ 'ਤੇ ਨਜ਼ਰ ਰੱਖੀ ਜਾ ਸਕਦੀ ਹੈ। <ph name="BEGIN_LINK" />ਫਿਰ ਵੀ ਦਿਖਾਓ<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">ਅਧਿਕਾਰਿਤ ਬਿਲਡ</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index 228f637..a9091b2 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -365,6 +365,7 @@
 <translation id="2354430244986887761">Funkcja Bezpieczne przeglądanie Google niedawno <ph name="BEGIN_LINK" />wykryła szkodliwe aplikacje<ph name="END_LINK" /> na <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Osoby dokonujące ataków mogą widzieć te same obrazy w witrynie co Ty i zmodyfikować je, by Cię oszukać.</translation>
 <translation id="2356070529366658676">Pytaj</translation>
+<translation id="2357481397660644965">Twoim urządzeniem zarządza <ph name="DEVICE_MANAGER" />, a Twoim kontem – <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Różne</translation>
 <translation id="2359808026110333948">Dalej</translation>
 <translation id="2360873523816792727">Aby używać swoich kart na wszystkich urządzeniach, włącz synchronizację.</translation>
@@ -518,7 +519,7 @@
 <translation id="3010559122411665027">Pozycja listy „<ph name="ENTRY_INDEX" />”: <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Automatycznie zablokowane</translation>
 <translation id="3016780570757425217">Sprawdzanie Twojej lokalizacji</translation>
-<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />. Naciśnij Tab, a potem Enter, by usunąć sugestię.</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />. Aby usunąć sugestię, naciśnij Tab, a potem Enter.</translation>
 <translation id="3023071826883856138">You4 (koperta)</translation>
 <translation id="3024663005179499861">Nieprawidłowy typ zasady</translation>
 <translation id="3037605927509011580">Kurza twarz!</translation>
@@ -544,6 +545,7 @@
 <translation id="3145945101586104090">Dekodowanie odpowiedzi nie powiodło się</translation>
 <translation id="3150653042067488994">Tymczasowy błąd serwera</translation>
 <translation id="3154506275960390542">Strona zawiera formularz, którego nie można przesłać bezpiecznie. Podczas przesyłania dane mogą zobaczyć inni użytkownicy, a hakerzy mogą je zmodyfikować, by na serwer dotarły zmienione dane.</translation>
+<translation id="315504272643575312">Tym kontem zarządza <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Przywróć</translation>
 <translation id="3162559335345991374">Sieć Wi-Fi, której używasz, może wymagać otwarcia strony logowania.</translation>
 <translation id="3167968892399408617">Po zamknięciu wszystkich kart incognito wyświetlane na nich strony nie pozostawią żadnych śladów w historii przeglądarki, magazynie plików cookie ani historii wyszukiwania. Pobrane pliki i utworzone zakładki zostaną jednak zachowane.</translation>
@@ -1466,7 +1468,7 @@
 <translation id="6895330447102777224">Karta została potwierdzona</translation>
 <translation id="6897140037006041989">Klient</translation>
 <translation id="6898699227549475383">Organizacja (O)</translation>
-<translation id="6907293445143367439">Zezwól aplikacji <ph name="SITE_NAME" /> na:</translation>
+<translation id="6907293445143367439">Zezwól stronie <ph name="SITE_NAME" /> na:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> chce mieć pełny dostęp do sterowania urządzeniami MIDI</translation>
 <translation id="6915804003454593391">Użytkownik:</translation>
 <translation id="6934672428414710184">To imię i nazwisko pochodzi z Twojego konta Google</translation>
@@ -1920,6 +1922,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odpowiedź, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Nie można załadować strony <ph name="PAGE" />, ponieważ:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Twoim urządzeniem i kontem zarządza <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Dostępne</translation>
 <translation id="868922510921656628">Strony na zestaw</translation>
 <translation id="869891660844655955">Data wygaśnięcia</translation>
@@ -1934,6 +1937,7 @@
 <translation id="8728672262656704056">Jesteś w trybie incognito</translation>
 <translation id="8730621377337864115">Gotowe</translation>
 <translation id="8731544501227493793">Przycisk zarządzania hasłami. Naciśnij Enter, by wyświetlić hasła i zarządzać nimi w ustawieniach Chrome.</translation>
+<translation id="8734529307927223492">Twoim urządzeniem <ph name="DEVICE_TYPE" /> zarządza <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />. Naciśnij Tab, a potem Enter, by otworzyć nowe okno incognito i przeglądać prywatnie.</translation>
 <translation id="8738058698779197622">Aby nawiązać bezpieczne połączenie, Twój zegar musi mieć ustawioną prawidłową godzinę. Jest to wymagane, ponieważ certyfikaty używane do identyfikacji stron internetowych są ważne tylko przez określony czas. Ponieważ zegar Twojego urządzenia nie jest ustawiony prawidłowo, Chromium nie może zweryfikować tych certyfikatów.</translation>
 <translation id="8740359287975076522">Nie znaleziono &lt;abbr id="dnsDefinition"&gt;adresu DNS&lt;/abbr&gt; serwera <ph name="HOST_NAME" />. Diagnozujemy problem.</translation>
@@ -2023,6 +2027,7 @@
 <translation id="9101630580131696064">Taca 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> zazwyczaj używa szyfrowania do ochrony Twoich informacji. Gdy tym razem przeglądarka Chromium próbowała połączyć się ze stroną <ph name="SITE" />, odesłała ona nietypowe i nieprawidłowe dane logowania. Może się tak zdarzyć, gdy pod stronę <ph name="SITE" /> podszywa się osoba atakująca albo gdy ekran logowania do sieci Wi-Fi przerwie połączenie. Twoje informacje są nadal bezpieczne, bo połączenie w Chromium zakończyło się przed wymianą jakichkolwiek danych.</translation>
 <translation id="9106062320799175032">Dodaj adres rozliczeniowy</translation>
+<translation id="9107467864910557787">Twoją przeglądarką zarządza <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Sprawdzam kartę…</translation>
 <translation id="9114581008513152754">Ta przeglądarka nie jest zarządzana przez firmę ani inną organizację. Aktywność na tym urządzeniu może być zarządzana poza Chrome. <ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Przesłano</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index a15bc44..6ef39be2 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">A Navegação segura do Google <ph name="BEGIN_LINK" />encontrou aplicações prejudiciais<ph name="END_LINK" /> recentemente em <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Os atacantes podem ver as imagens que está a visualizar neste site e enganá-lo ao modificá-las.</translation>
 <translation id="2356070529366658676">Perguntar</translation>
+<translation id="2357481397660644965">O seu dispositivo é gerido por <ph name="DEVICE_MANAGER" /> e a sua conta é gerida por <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Várias</translation>
 <translation id="2359808026110333948">Continuar</translation>
 <translation id="2360873523816792727">Para utilizar os seus cartões em todos os dispositivos, ative a sincronização.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Falha ao descodificar resposta</translation>
 <translation id="3150653042067488994">Erro temporário do servidor</translation>
 <translation id="3154506275960390542">Esta página inclui um formulário que pode não ser enviado em segurança. Os dados que enviar podem ser vistos por outros utilizadores em trânsito ou podem ser modificados por um utilizador mal intencionado para alterar o que é recebido pelo servidor.</translation>
+<translation id="315504272643575312">A sua conta é gerida por <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Restaurar</translation>
 <translation id="3162559335345991374">A rede Wi-Fi que está a utilizar pode exigir que visite a respetiva página de início de sessão.</translation>
 <translation id="3167968892399408617">As páginas que visualizar em separadores de navegação anónima não são memorizadas no histórico do navegador, no armazenamento de cookies ou no histórico de pesquisas depois de fechar todos os separadores de navegação anónima. Todos os ficheiros transferidos ou os marcadores criados são guardados.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, resposta, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Não foi possível carregar a página Web em <ph name="PAGE" /> porque:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">O seu dispositivo e conta são geridos por <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Disponível</translation>
 <translation id="868922510921656628">Páginas por conjunto</translation>
 <translation id="869891660844655955">Data de expiração</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">Está anónimo</translation>
 <translation id="8730621377337864115">Concluído</translation>
 <translation id="8731544501227493793">Botão Gerir palavras-passe; prima Enter para ver e gerir as suas palavras-passes nas Definições do Chrome.</translation>
+<translation id="8734529307927223492">O seu <ph name="DEVICE_TYPE" /> é gerido por <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para abrir uma nova janela de navegação anónima para navegar em privado.</translation>
 <translation id="8738058698779197622">Para estabelecer uma ligação segura, o relógio tem de ser definido corretamente. Isto deve-se ao facto de os certificados que os Sites utilizam para se identificarem serem apenas válidos para períodos de tempo específicos. Uma vez que o relógio do seu dispositivo está incorreto, o Chromium não consegue validar estes certificados.</translation>
 <translation id="8740359287975076522">Não foi possível encontrar o &lt;abbr id="dnsDefinition"&gt;endereço DNS&lt;/abbr&gt; de <ph name="HOST_NAME" />. Estamos a diagnosticar o problema.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">Tabuleiro 1</translation>
 <translation id="9103872766612412690">Normalmente, o site <ph name="SITE" /> utiliza a encriptação para proteger as suas informações. Quando o Chromium tentou estabelecer ligação a <ph name="SITE" /> desta vez, o Website devolveu credenciais invulgares e incorretas. Isto pode acontecer quando um utilizador mal intencionado tenta simular ser <ph name="SITE" /> ou quando um ecrã de início de sessão Wi-Fi interrompe a ligação. As suas informações continuam seguras porque o Chromium interrompeu a ligação antes de qualquer troca de dados.</translation>
 <translation id="9106062320799175032">Adicionar endereço de faturação</translation>
+<translation id="9107467864910557787">O navegador é gerido por <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">A confirmar o cartão…</translation>
 <translation id="9114581008513152754">Este navegador não é gerido por uma empresa ou outra entidade. A atividade neste dispositivo pode ser gerida fora do Chrome. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Carregado</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index edaad33..aafd723 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -301,6 +301,7 @@
 <translation id="2102495993840063010">Приложения для Android</translation>
 <translation id="2107021941795971877">Поддержка печати</translation>
 <translation id="2108755909498034140">Перезагрузите компьютер.</translation>
+<translation id="2111166930115883695">Чтобы начать игру, нажмите Пробел.</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">Карта</translation>
 <translation id="2114841414352855701">Игнорируется, так как правило <ph name="POLICY_NAME" /> имеет приоритет.</translation>
@@ -515,6 +516,7 @@
 <translation id="3010559122411665027">Элемент списка "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Заблокировано автоматически</translation>
 <translation id="3016780570757425217">доступ к данным о вашем местоположении</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />. Чтобы удалить подсказку, нажмите Tab, а затем Ввод.</translation>
 <translation id="3023071826883856138">You4 (конверт)</translation>
 <translation id="3024663005179499861">Неверный тип политики</translation>
 <translation id="3037605927509011580">Опаньки...</translation>
@@ -754,6 +756,7 @@
 <translation id="4056223980640387499">Сепия</translation>
 <translation id="4058922952496707368">Ключ "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (конверт)</translation>
+<translation id="4067669230157909013">Демонстрация экрана возобновлена.</translation>
 <translation id="4067947977115446013">Введите действительный адрес</translation>
 <translation id="4072486802667267160">При обработке заказа произошла ошибка. Повторите попытку.</translation>
 <translation id="4075732493274867456">Клиент и сервер поддерживают разные версии протокола SSL или набора шифров.</translation>
@@ -833,6 +836,7 @@
 <translation id="4297502707443874121">Уменьшенное изображение страницы <ph name="THUMBNAIL_PAGE" /></translation>
 <translation id="42981349822642051">Развернуть</translation>
 <translation id="4300675098767811073">Несколько отверстий справа</translation>
+<translation id="4302514097724775343">Чтобы начать игру, нажмите на динозаврика.</translation>
 <translation id="4302965934281694568">Chou3 (конверт)</translation>
 <translation id="4305666528087210886">Не удалось получить доступ к файлу</translation>
 <translation id="4305817255990598646">Переключиться</translation>
@@ -1244,6 +1248,7 @@
 <translation id="5963413905009737549">Раздел</translation>
 <translation id="5967592137238574583">Измените контактную информацию</translation>
 <translation id="5967867314010545767">Удалить из истории</translation>
+<translation id="5968793460449681917">Всегда</translation>
 <translation id="5975083100439434680">Уменьшить</translation>
 <translation id="5979084224081478209">Проверить пароли</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1458,6 +1463,7 @@
 <translation id="6895330447102777224">Ваша карта подтверждена</translation>
 <translation id="6897140037006041989">User Agent</translation>
 <translation id="6898699227549475383">Организация (O)</translation>
+<translation id="6907293445143367439">Предоставьте сайту <ph name="SITE_NAME" /> следующие разрешения:</translation>
 <translation id="6910240653697687763">Сайт <ph name="URL" /> запрашивает полный контроль над MIDI-устройствами.</translation>
 <translation id="6915804003454593391">Пользователь:</translation>
 <translation id="6934672428414710184">Это имя из вашего аккаунта Google</translation>
@@ -1893,6 +1899,7 @@
 <translation id="8574899947864779331">Использовать Touch ID для быстрого подтверждения карт</translation>
 <translation id="858637041960032120">Добавьте номер</translation>
 <translation id="8589998999637048520">Лучшее качество</translation>
+<translation id="8600271352425265729">Только в этот раз</translation>
 <translation id="860043288473659153">Имя владельца карты</translation>
 <translation id="8606726445206553943">использование MIDI-устройств</translation>
 <translation id="8612761427948161954">Здравствуйте, <ph name="USERNAME" />!
@@ -2050,6 +2057,7 @@
 <translation id="939736085109172342">Новая папка</translation>
 <translation id="945855313015696284">Проверьте данные и удалите недействительные карты.</translation>
 <translation id="950736567201356821">Три отверстия сверху</translation>
+<translation id="951941430552851965">Администратор приостановил демонстрацию экрана из-за отображаемого контента.</translation>
 <translation id="961663415146723894">Скрепление снизу</translation>
 <translation id="962484866189421427">Переход на эту страницу может привести к установке вредоносных приложений, маскирующихся под безопасные программы или собирающих данные, по которым вас можно отследить. <ph name="BEGIN_LINK" />Все равно продолжить<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">Официальная сборка</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb
index b657480..0d129a68 100644
--- a/components/strings/components_strings_sl.xtb
+++ b/components/strings/components_strings_sl.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google Varno brskanje je nedavno <ph name="BEGIN_LINK" />našlo škodljive aplikacije<ph name="END_LINK" /> na spletnem mestu <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Napadalci morda vidijo slike, ki si jih ogledujete na tem spletnem mestu, in vas ukanijo, tako da jih spremenijo.</translation>
 <translation id="2356070529366658676">Vprašaj</translation>
+<translation id="2357481397660644965">Vašo napravo upravlja domena <ph name="DEVICE_MANAGER" /> in vaš račun upravlja domena <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Več valut</translation>
 <translation id="2359808026110333948">Naprej</translation>
 <translation id="2360873523816792727">Če želite uporabljati kartice v vseh napravah, vklopite sinhronizacijo.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Dekodiranje odziva ni uspelo</translation>
 <translation id="3150653042067488994">Začasna napaka strežnika</translation>
 <translation id="3154506275960390542">Na tej strani je tudi obrazec, ki morda ne bo poslan varno. Podatke, ki jih pošljete, si lahko med prenosom ogledujejo drugi, ali pa jih lahko spremeni morebitni napadalec, tako da strežnik prejme spremenjene podatke.</translation>
+<translation id="315504272643575312">Vaš račun upravlja <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Obnovi</translation>
 <translation id="3162559335345991374">Omrežje Wi-Fi, ki ga uporabljate, morda zahteva, da obiščete stran za prijavo.</translation>
 <translation id="3167968892399408617">Strani, ki si jih ogledujete na zavihkih brez beleženja zgodovine, se ne bodo ohranile v zgodovini brskalnika, hrambi piškotkov ali zgodovini iskanja, ko boste zaprli vse zavihke brez beleženja zgodovine. Datoteke, ki jih prenesete, ali zaznamki, ki jih ustvarite, se bodo ohranili.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odgovor, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Spletne strani na naslovu <ph name="PAGE" /> ni bilo mogoče naložiti zaradi teh razlogov:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Vašo napravo in račun upravlja domena <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Na voljo</translation>
 <translation id="868922510921656628">Strani na niz</translation>
 <translation id="869891660844655955">Datum izteka</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">Uporabljate način brez beleženja zgodovine</translation>
 <translation id="8730621377337864115">Končano</translation>
 <translation id="8731544501227493793">Gumb za upravljanje gesel, pritisnite Enter, če si želite ogledati in upravljati gesla v Chromovih nastavitvah</translation>
+<translation id="8734529307927223492">Vašo napravo <ph name="DEVICE_TYPE" /> upravlja domena <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite tabulatorko, nato Enter, če želite odpreti novo okno brez beleženja dejavnosti za zasebno brskanje</translation>
 <translation id="8738058698779197622">Če želite vzpostaviti varno povezavo, mora biti ura pravilno nastavljena. Potrdila, ki jih uporabljajo spletna mesta za prepoznavanje, namreč veljajo samo določen čas. Ker je ura sistema nepravilna, Chromium teh potrdil ne more preveriti.</translation>
 <translation id="8740359287975076522">&lt;abbr id="dnsDefinition"&gt;Naslova DNS&lt;/abbr&gt; spletnega mesta <ph name="HOST_NAME" /> ni bilo mogoče najti. Poteka diagnosticiranje težave.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">Pladenj 1</translation>
 <translation id="9103872766612412690">Spletno mesto <ph name="SITE" /> za zaščito vaših podatkov običajno uporablja šifriranje. Ko se je Chromium tokrat poskusil povezati s spletnim mestom <ph name="SITE" />, je to vrnilo nenavadne in nepravilne poverilnice. Do tega lahko pride, če se napadalec lažno predstavlja za spletno mesto <ph name="SITE" /> ali če je povezavo prekinil zaslon za prijavo v omrežje Wi-Fi. Vaši podatki so še vedno varni, saj je Chromium pred izmenjavo podatkov prekinil povezavo.</translation>
 <translation id="9106062320799175032">Dodajanje naslova za izstavitev računa</translation>
+<translation id="9107467864910557787">Vaš brskalnik upravlja domena <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Potrjevanje kartice …</translation>
 <translation id="9114581008513152754">Tega brskalnika ne upravlja podjetje ali druga organizacija. Dejavnost v tej napravi morda upravljajo zunaj Chroma. <ph name="BEGIN_LINK" />Več o tem<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Naloženo</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb
index 1ae5839..345f01a 100644
--- a/components/strings/components_strings_sr-Latn.xtb
+++ b/components/strings/components_strings_sr-Latn.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google bezbedno pregledanje je nedavno <ph name="BEGIN_LINK" />otkrilo štetne aplikacije<ph name="END_LINK" /> na <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Napadači će moći da vide slike koje gledate na ovom sajtu i da ih izmene kako bi vas prevarili.</translation>
 <translation id="2356070529366658676">Pitaj</translation>
+<translation id="2357481397660644965">Uređajem upravlja <ph name="DEVICE_MANAGER" />, a nalogom <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Više</translation>
 <translation id="2359808026110333948">Nastavite</translation>
 <translation id="2360873523816792727">Da biste koristili kartice na svim uređajima, uključite sinhronizaciju.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Dekodiranje odgovora nije uspelo</translation>
 <translation id="3150653042067488994">Privremena greška na serveru</translation>
 <translation id="3154506275960390542">Ova stranica sadrži obrazac čije slanje može da bude nebezbedno. Podatke koje pošaljete mogu da vide i drugi dok su u prolazu i napadač može da ih izmeni da bi promenio sadržaj koji server prima.</translation>
+<translation id="315504272643575312">Vašim nalogom upravlja <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Ponovo otvori</translation>
 <translation id="3162559335345991374">WiFi mreža koju koristite će možda zahtevati da posetite stranicu za prijavljivanje.</translation>
 <translation id="3167968892399408617">Stranice koje pregledate na karticama bez arhiviranja se neće zadržavati u istoriji pregledača, skladištu kolačića ili istoriji pretrage kada zatvorite sve kartice bez arhiviranja. Sačuvaćemo sve preuzete datoteke ili napravljene obeleživače.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odgovor, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Veb-stranica na adresi <ph name="PAGE" /> ne može da se učita iz sledećih razloga:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Uređajem i nalogom upravlja <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Dostupno</translation>
 <translation id="868922510921656628">Stranice po skupu</translation>
 <translation id="869891660844655955">Datum isteka</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">Prešli ste u režim Bez arhiviranja</translation>
 <translation id="8730621377337864115">Gotovo</translation>
 <translation id="8731544501227493793">Dugme Upravljaj lozinkama, pritisnite Enter da biste pregledali lozinke i upravljali njima u podešavanjima Chrome-a</translation>
+<translation id="8734529307927223492"><ph name="DEVICE_TYPE" />-om upravlja <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, pa Enter da biste otvorili nov prozor bez arhiviranja i pregledali privatno</translation>
 <translation id="8738058698779197622">Da biste uspostavili bezbednu vezu, sat na uređaju mora da bude tačan. To je zato što sertifikati koje veb-sajtovi koriste za identifikaciju važe samo određeni vremenski period. Pošto sat na vašem uređaju nije tačan, Chromium ne može da verifikuje ove sertifikate.</translation>
 <translation id="8740359287975076522">Nismo uspeli da pronađemo &lt;abbr id="dnsDefinition"&gt;DNS adresu&lt;/abbr&gt; hosta <ph name="HOST_NAME" />. Pokušavamo da utvrdimo u čemu je problem.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">1. fioka</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> obično koristi šifrovanje da bi zaštitio informacije. Kada je Chromium ovog puta pokušao da se poveže sa <ph name="SITE" />, veb-sajt je vratio neobične i netačne akreditive. Ili napadač pokušava da se predstavi kao <ph name="SITE" /> ili je ekran za WiFi prijavljivanje prekinuo vezu. Informacije su i dalje bezbedne zato što je Chromium prekinuo vezu pre nego što su razmenjeni bilo kakvi podaci.</translation>
 <translation id="9106062320799175032">Dodajte adresu za obračun</translation>
+<translation id="9107467864910557787">Pregledačem upravlja <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Kartica se potvrđuje...</translation>
 <translation id="9114581008513152754">Ovim pregledačem ne upravlja kompanija niti druga organizacija. Aktivnostima na ovom uređaju se možda upravlja van Chrome-a. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Otpremljeno</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 9f105e0..15213edc 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">Google безбедно прегледање је недавно <ph name="BEGIN_LINK" />открило штетне апликације<ph name="END_LINK" /> на <ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Нападачи ће моћи да виде слике које гледате на овом сајту и да их измене како би вас преварили.</translation>
 <translation id="2356070529366658676">Питај</translation>
+<translation id="2357481397660644965">Уређајем управља <ph name="DEVICE_MANAGER" />, а налогом <ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Више</translation>
 <translation id="2359808026110333948">Наставите</translation>
 <translation id="2360873523816792727">Да бисте користили картице на свим уређајима, укључите синхронизацију.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Декодирање одговора није успело</translation>
 <translation id="3150653042067488994">Привремена грешка на серверу</translation>
 <translation id="3154506275960390542">Ова страница садржи образац чије слање може да буде небезбедно. Податке које пошаљете могу да виде и други док су у пролазу и нападач може да их измени да би променио садржај који сервер прима.</translation>
+<translation id="315504272643575312">Вашим налогом управља <ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Поново отвори</translation>
 <translation id="3162559335345991374">WiFi мрежа коју користите ће можда захтевати да посетите страницу за пријављивање.</translation>
 <translation id="3167968892399408617">Странице које прегледате на картицама без архивирања се неће задржавати у историји прегледача, складишту колачића или историји претраге када затворите све картице без архивирања. Сачуваћемо све преузете датотеке или направљене обележиваче.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, одговор, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Веб-страница на адреси <ph name="PAGE" /> не може да се учита из следећих разлога:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Уређајем и налогом управља <ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Доступно</translation>
 <translation id="868922510921656628">Странице по скупу</translation>
 <translation id="869891660844655955">Датум истека</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">Прешли сте у режим Без архивирања</translation>
 <translation id="8730621377337864115">Готово</translation>
 <translation id="8731544501227493793">Дугме Управљај лозинкама, притисните Enter да бисте прегледали лозинке и управљали њима у подешавањима Chrome-а</translation>
+<translation id="8734529307927223492"><ph name="DEVICE_TYPE" />-ом управља <ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, притисните Tab, па Enter да бисте отворили нов прозор без архивирања и прегледали приватно</translation>
 <translation id="8738058698779197622">Да бисте успоставили безбедну везу, сат на уређају мора да буде тачан. То је зато што сертификати које веб-сајтови користе за идентификацију важе само одређени временски период. Пошто сат на вашем уређају није тачан, Chromium не може да верификује ове сертификате.</translation>
 <translation id="8740359287975076522">Нисмо успели да пронађемо &lt;abbr id="dnsDefinition"&gt;DNS адресу&lt;/abbr&gt; хоста <ph name="HOST_NAME" />. Покушавамо да утврдимо у чему је проблем.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">1. фиока</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> обично користи шифровање да би заштитио информације. Када је Chromium овог пута покушао да се повеже са <ph name="SITE" />, веб-сајт је вратио необичне и нетачне акредитиве. Или нападач покушава да се представи као <ph name="SITE" /> или је екран за WiFi пријављивање прекинуо везу. Информације су и даље безбедне зато што је Chromium прекинуо везу пре него што су размењени било какви подаци.</translation>
 <translation id="9106062320799175032">Додајте адресу за обрачун</translation>
+<translation id="9107467864910557787">Прегледачем управља <ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Картица се потврђује...</translation>
 <translation id="9114581008513152754">Овим прегледачем не управља компанија нити друга организација. Активностима на овом уређају се можда управља ван Chrome-а. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Отпремљено</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb
index 80b11d80..6caf131 100644
--- a/components/strings/components_strings_ta.xtb
+++ b/components/strings/components_strings_ta.xtb
@@ -305,6 +305,7 @@
 <translation id="2102495993840063010">Android ஆப்ஸ்</translation>
 <translation id="2107021941795971877">உதவித் தோற்றமைப்புகளை அச்சிடுதல்</translation>
 <translation id="2108755909498034140">கம்ப்யூட்டரை மீண்டும் தொடங்கவும்</translation>
+<translation id="2111166930115883695">விளையாடத் தொடங்க ஸ்பேஸ் விசையை அழுத்தவும்</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">கார்டு</translation>
 <translation id="2114841414352855701"><ph name="POLICY_NAME" /> ஆல் கொள்கை மேலெழுதப்பட்டுள்ளதால் புறக்கணிக்கப்பட்டது.</translation>
@@ -519,6 +520,7 @@
 <translation id="3010559122411665027">பட்டியல் உள்ளீடு "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">தானாகத் தடுக்கப்பட்டது</translation>
 <translation id="3016780570757425217">உங்கள் இருப்பிடத்தை அறியும்</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, பரிந்துரையை அகற்ற Tab விசையை அழுத்தியபிறகு Enter விசையை அழுத்துங்கள்.</translation>
 <translation id="3023071826883856138">You4 (என்வலப்)</translation>
 <translation id="3024663005179499861">தவறான கொள்கை வகை</translation>
 <translation id="3037605927509011580">அச்சச்சோ!</translation>
@@ -756,6 +758,7 @@
 <translation id="4056223980640387499">செபியா</translation>
 <translation id="4058922952496707368">விசை "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (என்வலப்)</translation>
+<translation id="4067669230157909013">திரையின் ஸ்கிரீன்ஷாட் எடுப்பது மீண்டும் தொடங்கப்பட்டது.</translation>
 <translation id="4067947977115446013">சரியான முகவரியைச் சேர்க்கவும்</translation>
 <translation id="4072486802667267160">ஆர்டரைச் செயல்படுத்துவதில் பிழை ஏற்பட்டது. பிறகு முயலவும்.</translation>
 <translation id="4075732493274867456">க்ளையன்ட்டும் சேவையகமும் பொதுவான SSL நெறிமுறைப் பதிப்பையோ சைஃபர் பொதியையோ ஆதரிக்கவில்லை.</translation>
@@ -839,6 +842,7 @@
 <translation id="4297502707443874121"><ph name="THUMBNAIL_PAGE" /> பக்கத்தின் சிறு படம்</translation>
 <translation id="42981349822642051">விரி</translation>
 <translation id="4300675098767811073">மல்டிப்பில் பஞ்ச் ரைட்</translation>
+<translation id="4302514097724775343">விளையாட டைனோவைத் தட்டுங்கள்</translation>
 <translation id="4302965934281694568">Chou3 (என்வலப்)</translation>
 <translation id="4305666528087210886">உங்கள் கோப்பினை அணுக முடியவில்லை</translation>
 <translation id="4305817255990598646">மாறு</translation>
@@ -1249,6 +1253,7 @@
 <translation id="5963413905009737549">பிரிவு</translation>
 <translation id="5967592137238574583">தொடர்புத் தகவலைத் திருத்தவும்</translation>
 <translation id="5967867314010545767">வரலாற்றிலிருந்து அகற்று</translation>
+<translation id="5968793460449681917">ஒவ்வொரு முறை வரும்போதும்</translation>
 <translation id="5975083100439434680">சிறிதாக்கு</translation>
 <translation id="5979084224081478209">கடவுச்சொற்களைச் சோதித்துப் பார்க்கவும்</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1462,6 +1467,7 @@
 <translation id="6895330447102777224">கார்டு உறுதிசெய்யப்பட்டது</translation>
 <translation id="6897140037006041989">பயனர் ஏஜெண்ட்</translation>
 <translation id="6898699227549475383">நிறுவனம் (O)</translation>
+<translation id="6907293445143367439"><ph name="SITE_NAME" /> இவற்றை அணுக அனுமதிக்கவும்:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> MIDI சாதனங்களின் முழுக் கட்டுப்பாடையும் பெற விரும்புகிறது</translation>
 <translation id="6915804003454593391">பயனர்:</translation>
 <translation id="6934672428414710184">இந்தப் பெயர் உங்கள் ‘Google கணக்கிலிருந்து’ பெறப்பட்டது</translation>
@@ -1897,6 +1903,7 @@
 <translation id="8574899947864779331">கார்டுகளை மேலும் விரைவாக உறுதிப்படுத்த Touch IDயைப் பயன்படுத்துங்கள்</translation>
 <translation id="858637041960032120">ஃபோன் எண்ணைச் சேர்</translation>
 <translation id="8589998999637048520">சிறந்த தரம்</translation>
+<translation id="8600271352425265729">இப்போது மட்டும்</translation>
 <translation id="860043288473659153">கார்டு உரிமையாளரின் பெயர்</translation>
 <translation id="8606726445206553943">MIDI சாதனங்களைப் பயன்படுத்தவும்</translation>
 <translation id="8612761427948161954">வணக்கம் <ph name="USERNAME" />,
@@ -2054,6 +2061,7 @@
 <translation id="939736085109172342">புதிய கோப்புறை</translation>
 <translation id="945855313015696284">கீழுள்ள தகவல்களைச் சரிபார்த்து, செல்லுபடியாகாத கார்டுகள் ஏதேனும் இருந்தால் அவற்றை நீக்கவும்.</translation>
 <translation id="950736567201356821">டிரிப்பில் பஞ்ச் டாப்</translation>
+<translation id="951941430552851965">திரையில் தோன்றும் உள்ளடக்கம் காரணமாக ஸ்கிரீன்ஷாட் எடுப்பதை உங்கள் நிர்வாகி இடைநிறுத்தியுள்ளார்.</translation>
 <translation id="961663415146723894">பைண்டு பாட்டம்</translation>
 <translation id="962484866189421427">இந்த உள்ளடக்கம், வேறொரு பிரபல ஆப்ஸ் போலத் தோற்றமளிக்கக்கூடிய அல்லது உங்களைக் கண்காணிக்கப் பயன்படுத்தக்கூடிய தரவைச் சேகரிக்கும் போலியான ஆப்ஸை நிறுவ முயலலாம். <ph name="BEGIN_LINK" />பரவாயில்லை, பக்கத்தைக் காட்டு<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">அதிகாரப்பூர்வ கட்டமைப்பு</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb
index 64976aa7..30581ee 100644
--- a/components/strings/components_strings_te.xtb
+++ b/components/strings/components_strings_te.xtb
@@ -371,6 +371,7 @@
 <translation id="2354430244986887761">Google సురక్షిత బ్రౌజింగ్ ఇటీవల <ph name="SITE" />లో <ph name="BEGIN_LINK" />హానికర యాప్‌లను కనుగొంది<ph name="END_LINK" />.</translation>
 <translation id="2355395290879513365">దాడికి పాల్పడేవారు ఈ సైట్‌లో మీరు చూస్తున్న చిత్రాలను చూడగలరు, వాటిని సవరించడం ద్వారా మిమ్మల్ని మోసగించవచ్చు.</translation>
 <translation id="2356070529366658676">అడుగు</translation>
+<translation id="2357481397660644965"><ph name="DEVICE_MANAGER" /> మీ పరికరాన్ని మేనేజ్ చేస్తోంది, <ph name="ACCOUNT_MANAGER" /> మీ ఖాతాను మేనేజ్ చేస్తోంది.</translation>
 <translation id="2359629602545592467">అనేకం</translation>
 <translation id="2359808026110333948">కొనసాగించు</translation>
 <translation id="2360873523816792727">మీ కార్డ్‌ల‌ను అన్ని పరికరాలలో ఉపయోగించాలంటే, సమకాలీకరణను ఆన్ చేయండి.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">ప్రతిస్పందనను డీకోడ్ చేయడంలో విఫలమైంది</translation>
 <translation id="3150653042067488994">తాత్కాలిక సర్వర్ లోపం</translation>
 <translation id="3154506275960390542">ఈ పేజీలో ఉన్న ఫారమ్‌ను సురక్షితంగా సమర్పించలేకపోవచ్చు. బదిలీ చేయబడే సమయంలో మీరు పంపే డేటాని ఇతరులు వీక్షించవచ్చు లేదా సర్వర్ స్వీకరించే డేటాను మార్చడం కోసం హ్యాకర్‌లు దీనిని సవరించవచ్చు.</translation>
+<translation id="315504272643575312"><ph name="MANAGER" /> మీ ఖాతాను మేనేజ్ చేస్తోంది.</translation>
 <translation id="3157931365184549694">పునరుద్ధరించు</translation>
 <translation id="3162559335345991374">మీరు ఉపయోగిస్తున్న Wi-Fiకి మీరు దాని లాగిన్ పేజీని సందర్శించడం అవసరం.</translation>
 <translation id="3167968892399408617">మీరు అజ్ఞాత ట్యాబ్‌ల్లో వీక్షించిన పేజీలు- మీ అన్ని అజ్ఞాత ట్యాబ్‌లను మూసివేసిన అనంతరం- మీ బ్రౌజర్ చరిత్ర, కుక్కీ స్టోర్ లేదా శోధన చరిత్రలో ఉంచబడవు. మీరు డౌన్‌లోడ్ చేసే ఏవైనా ఫైల్స్ లేదా మీరు సృష్టించే ఏవైనా బుక్‌మార్క్‌లు అలాగే ఉంచబడతాయి.</translation>
@@ -1929,6 +1931,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, సమాధానం, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054"><ph name="PAGE" />లోని వెబ్‌పేజీ ఈ కారణంగా లోడ్ కాలేదు:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002"><ph name="MANAGER" /> మీ పరికరాన్ని, ఖాతాను మేనేజ్ చేస్తోంది.</translation>
 <translation id="8688672835843460752">అందుబాటులో ఉంది</translation>
 <translation id="868922510921656628">ఒక సెట్‌లో ఉన్న పేజీలు</translation>
 <translation id="869891660844655955">గడువు తేదీ</translation>
@@ -1943,6 +1946,7 @@
 <translation id="8728672262656704056">మీరు ఇప్పుడు అజ్ఞాత మోడ్‌లో ఉన్నారు</translation>
 <translation id="8730621377337864115">పూర్తయింది</translation>
 <translation id="8731544501227493793">'పాస్‌వర్డ్‌లు మేనేజ్ చేయి' బటన్, Chrome సెట్టింగ్‌లలో మీ పాస్‌వర్డ్‌లు చూసి, మేనేజ్ చేయడానికి 'Enter' నొక్కండి</translation>
+<translation id="8734529307927223492"><ph name="MANAGER" />, మీ <ph name="DEVICE_TYPE" />ను మేనేజ్ చేస్తోంది</translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, ప్రైవేట్‌గా బ్రౌజ్ చేసుకునేందుకు కొత్త అజ్ఞాత విండోను తెరవడానికి ముందు 'Tab'ను నొక్కి, ఆపై 'Enter'ను నొక్కండి</translation>
 <translation id="8738058698779197622">సురక్షిత కనెక్షన్‌ను ఏర్పాటు చేయడానికి, మీ గడియారాన్ని సరైన సమయానికి సెట్ చేయాలి. ఎందుకంటే వెబ్‌సైట్‌లు వాటిని గుర్తించడానికి ఉపయోగించే సర్టిఫికెట్‌లు నిర్దిష్ట కాలవ్యవధులలో మాత్రమే చెల్లుబాటు అవుతాయి. మీ పరికరం యొక్క గడియారం సమయం తప్పుగా ఉన్నందున, Chromium ఈ సర్టిఫికెట్‌లను ధృవీకరించలేకపోయింది.</translation>
 <translation id="8740359287975076522"><ph name="HOST_NAME" /> &lt;abbr id="dnsDefinition"&gt;DNS చిరునామా&lt;/abbr&gt; కనుగొనబడలేదు. సమస్యను నిర్ధారిస్తోంది.</translation>
@@ -2032,6 +2036,7 @@
 <translation id="9101630580131696064">ట్రే 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> సాధారణంగా మీ సమాచారాన్ని రక్షించడానికి ఎన్‌క్రిప్ష‌న్‌ను ఉపయోగిస్తుంది. Chromium ఈసారి <ph name="SITE" />‌ను కనెక్ట్ చేయడానికి ప్రయత్నించినప్పుడు, వెబ్‌సైట్ అసాధారణ మరియు తప్పు ఆధారాలు అని ప్రతిస్పందించింది. దాడి చేసే వ్యక్తి <ph name="SITE" />గా వ్యవహరించి మోసగించడానికి ప్రయత్నిస్తున్నప్పుడు లేదా Wi-Fi సైన్-ఇన్ స్క్రీన్ కనెక్షన్‌కు అంతరాయం కలిగించినప్పుడు ఇలా జరగవచ్చు. ఎలాంటి డేటా వినిమయం సంభవించక ముందే Chromium, కనెక్షన్‌ను ఆపివేసినందున మీ సమాచారం ఇప్పటికీ సురక్షితంగానే ఉంది.</translation>
 <translation id="9106062320799175032">బిల్లింగ్ చిరునామాను జోడించండి</translation>
+<translation id="9107467864910557787"><ph name="MANAGER" />, మీ బ్రౌజర్‌ను మేనేజ్ చేస్తోంది</translation>
 <translation id="9114524666733003316">కార్డ్‌ నిర్ధారించబడుతోంది...</translation>
 <translation id="9114581008513152754">ఈ బ్రౌజర్ ఒక కంపెనీ లేదా ఇతర సంస్థ ద్వారా మేనేజ్ చేయబడదు. ఈ పరికరంలోని యాక్టివిటీని Chrome వెలుపల మేనేజ్ చేస్తుండవచ్చు. <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">అప్‌లోడ్ చేయబడింది</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb
index b93ddef..82dc79a 100644
--- a/components/strings/components_strings_tr.xtb
+++ b/components/strings/components_strings_tr.xtb
@@ -302,6 +302,7 @@
 <translation id="2102495993840063010">Android uygulamaları</translation>
 <translation id="2107021941795971877">Yazdırma destekleri</translation>
 <translation id="2108755909498034140">Bilgisayarınızı yeniden başlatın</translation>
+<translation id="2111166930115883695">Oynamak için boşluk tuşuna basın</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">Kart</translation>
 <translation id="2114841414352855701"><ph name="POLICY_NAME" /> tarafından geçersiz kılındığı için yoksayıldı.</translation>
@@ -516,6 +517,7 @@
 <translation id="3010559122411665027">Liste girişi "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Otomatik olarak engellendi</translation>
 <translation id="3016780570757425217">Konumunuzu bilme</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, Öneriyi Kaldırmak için Sekme'ye, sonra Enter tuşuna basın.</translation>
 <translation id="3023071826883856138">You4 (Zarf)</translation>
 <translation id="3024663005179499861">Yanlış politika türü</translation>
 <translation id="3037605927509011580">Hay aksi!</translation>
@@ -756,6 +758,7 @@
 <translation id="4056223980640387499">Sepya Tonu</translation>
 <translation id="4058922952496707368">"<ph name="SUBKEY" />" anahtarı: <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (Zarf)</translation>
+<translation id="4067669230157909013">Ekran görüntüsü alma devam ettirildi.</translation>
 <translation id="4067947977115446013">Geçerli Adres Ekleyin</translation>
 <translation id="4072486802667267160">Ödemeniz işlenirken bir hata oluştu. Lütfen tekrar deneyin.</translation>
 <translation id="4075732493274867456">İstemci ve sunucu, ortak bir SSL protokolü sürümünü veya şifre setini desteklemiyor.</translation>
@@ -836,6 +839,7 @@
 <translation id="4297502707443874121"><ph name="THUMBNAIL_PAGE" />. sayfanın küçük resmi</translation>
 <translation id="42981349822642051">Genişlet</translation>
 <translation id="4300675098767811073">Sağda çoklu delik</translation>
+<translation id="4302514097724775343">Oynamak için dinozora dokunun</translation>
 <translation id="4302965934281694568">Chou3 (Zarf)</translation>
 <translation id="4305666528087210886">Dosyanıza erişilemedi</translation>
 <translation id="4305817255990598646">Anahtar</translation>
@@ -1247,6 +1251,7 @@
 <translation id="5963413905009737549">Bölüm</translation>
 <translation id="5967592137238574583">İletişim Bilgilerini Düzenleyin</translation>
 <translation id="5967867314010545767">Geçmişten kaldır.</translation>
+<translation id="5968793460449681917">Her ziyarette</translation>
 <translation id="5975083100439434680">Uzaklaştır</translation>
 <translation id="5979084224081478209">Şifreleri kontrol et</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1461,6 +1466,7 @@
 <translation id="6895330447102777224">Kartınız onaylandı</translation>
 <translation id="6897140037006041989">Kullanıcı Aracısı</translation>
 <translation id="6898699227549475383">Kuruluş (O)</translation>
+<translation id="6907293445143367439"><ph name="SITE_NAME" /> sitesine şunlar için izin ver:</translation>
 <translation id="6910240653697687763"><ph name="URL" />, MIDI cihazlarınız üzerinde tam denetim istiyor</translation>
 <translation id="6915804003454593391">Kullanıcı:</translation>
 <translation id="6934672428414710184">Bu ad Google Hesabınızdan gelmektedir</translation>
@@ -1897,6 +1903,7 @@
 <translation id="858637041960032120">Telefon no ekle
 </translation>
 <translation id="8589998999637048520">En iyi kalite</translation>
+<translation id="8600271352425265729">Yalnız bu sefer</translation>
 <translation id="860043288473659153">Kart sahibinin adı</translation>
 <translation id="8606726445206553943">MIDI cihazlarınızı kullanma</translation>
 <translation id="8612761427948161954">Merhaba <ph name="USERNAME" />,
@@ -2054,6 +2061,7 @@
 <translation id="939736085109172342">Yeni klasör</translation>
 <translation id="945855313015696284">Aşağıdaki bilgileri kontrol edin ve geçersiz kartları silin</translation>
 <translation id="950736567201356821">Üstte üçlü delik</translation>
+<translation id="951941430552851965">Ekran görüntüsü alma, ekranınızdaki içerik nedeniyle yöneticiniz tarafından duraklatıldı.</translation>
 <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>
diff --git a/components/strings/components_strings_uz.xtb b/components/strings/components_strings_uz.xtb
index c02e73e..df23c6a 100644
--- a/components/strings/components_strings_uz.xtb
+++ b/components/strings/components_strings_uz.xtb
@@ -368,6 +368,7 @@
 <translation id="2354430244986887761">Google saytlar xavfsizligini tekshirish tizimi yaqinda <ph name="SITE" /> saytida <ph name="BEGIN_LINK" />zararli ilovalarni topdi<ph name="END_LINK" />.</translation>
 <translation id="2355395290879513365">Firibgarlar bu saytda siz ochgan rasmlarni ko‘rishi va bu rasmlarni qalbakilashtirib, o‘zgartirishi mumkin.</translation>
 <translation id="2356070529366658676">So‘ralsin</translation>
+<translation id="2357481397660644965">Qurilma <ph name="DEVICE_MANAGER" /> domenida va hisobingiz <ph name="ACCOUNT_MANAGER" /> tomonidan boshqariladi.</translation>
 <translation id="2359629602545592467">Bir nechta</translation>
 <translation id="2359808026110333948">Davom etish</translation>
 <translation id="2360873523816792727">Kartalaringizni barcha qurilmalarda ishlatish uchun sinxronizatsiyani yoqing.</translation>
@@ -547,6 +548,7 @@
 <translation id="3145945101586104090">Javobni dekodlab bo‘lmadi</translation>
 <translation id="3150653042067488994">Server vaqtinchalik xatosi</translation>
 <translation id="3154506275960390542">Bu sahifada himoyalanmagan forma mavjud. Unga to‘ldiriluvchi axborot boshqalarga ko‘rinishi va firibgarlar tomonidan o‘zgartirilishi mumkin.</translation>
+<translation id="315504272643575312">Hisobingiz <ph name="MANAGER" /> domenida boshqariladi.</translation>
 <translation id="3157931365184549694">Qayta tiklash</translation>
 <translation id="3162559335345991374">Siz ulangan Wi-Fi tarmog‘i tizimga kirishingizni talab qilishi mumkin.</translation>
 <translation id="3167968892399408617">Inkognito rejimida ochilgan sahifalar brauzer yoki qidiruv tarixida saqlanmaydi. Barcha inkognito sahifalari yopilganda qurilmangizda cookie-fayllar kabi izlar qolmaydi. Siz ko‘chirib olgan fayllar va qo‘shilgan xatcho‘plar saqlanib qoladi.</translation>
@@ -1923,6 +1925,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, javob, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054"><ph name="PAGE" /> veb-sahifasi quyidagi sabablarga ko‘ra yuklanmadi:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Qurilmangiz va hisobingiz <ph name="MANAGER" /> domeni tomonidan boshqariladi.</translation>
 <translation id="8688672835843460752">Bo‘sh</translation>
 <translation id="868922510921656628">Majmuadagi sahifalar soni</translation>
 <translation id="869891660844655955">Tugash muddati</translation>
@@ -1937,6 +1940,7 @@
 <translation id="8728672262656704056">Siz inkognito rejimiga o‘tdingiz</translation>
 <translation id="8730621377337864115">Tayyor</translation>
 <translation id="8731544501227493793">Parollarni boshqarish tugmasi, Chrome sozlamalari orqali parollarni koʻrish va boshqarish uchun Enter tugmasini bosing</translation>
+<translation id="8734529307927223492"><ph name="DEVICE_TYPE" /> qurilmangiz <ph name="MANAGER" /> domenida boshqariladi</translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, yangi Inkognito oynasini ochib internetni kuzatuvsiz kezish uchun avval Tab, keyin esa Enter tugmasini bosing</translation>
 <translation id="8738058698779197622">Tezkor havfsiz aloqa o‘rnatish uchun tizim soati to‘g‘ri sozlangan bo‘lishi kerak. Chunki sertifikatlar saytlarda haqiqiylik tekshiruvi uchun muddat cheklamalariga ega. Agar qurilmadagi vaqt noto‘g‘ri bo‘lsa, Chromium sertifikatlardan hali ham foydalanish mumkinligini tekshira olmaydi.</translation>
 <translation id="8740359287975076522"><ph name="HOST_NAME" /> saytining &lt;abbr id="dnsDefinition"&gt;DNS manzili&lt;/abbr&gt; topilmadi. Muammo o‘rganilmoqda.</translation>
@@ -2026,6 +2030,7 @@
 <translation id="9101630580131696064">Tarnov 1</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> sayti ma’lumotlaringizni himoyalash uchun shifrlashdan foydalanadi, lekin hozir Chromium <ph name="SITE" /> saytiga ulanish uchun uringanda, ushbu sayt shubhali va noto‘g‘ri tasdiqlash ma’lumotlarini qaytarmoqda. Bunday holat zararli sayt o‘zini <ph name="SITE" /> o‘rnida ko‘rsatayotganda yoki Wi-Fi ulanishi uzilib qolganda yuz berishi mumkin. Shaxsiy ma’lumotlaringizga hech qanday xavf tug‘ilgani yo‘q, chunki Chromium aloqani ma’lumotlar almashinuvidan oldin uzib qo‘ydi.</translation>
 <translation id="9106062320799175032">To‘lov manzilini kiriting</translation>
+<translation id="9107467864910557787">Brauzeringiz <ph name="MANAGER" /> tomonidan boshqariladi</translation>
 <translation id="9114524666733003316">Karta tasdiqlanmoqda...</translation>
 <translation id="9114581008513152754">Bu brauzer kompaniya yoki tashkilot boshqaruvida emas. Bu qurilmadagi amallar Chromedan tashqarida boshqarilishi mumkin. <ph name="BEGIN_LINK" />Batafsil<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Yuklangan</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index a6dcebfd..a3acf8e 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -305,6 +305,7 @@
 <translation id="2102495993840063010">Ứng dụng Android</translation>
 <translation id="2107021941795971877">Hỗ trợ in</translation>
 <translation id="2108755909498034140">Khởi động lại máy tính của bạn</translation>
+<translation id="2111166930115883695">Nhấn phím cách để chơi</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">Thẻ</translation>
 <translation id="2114841414352855701">Bỏ qua vì đã bị <ph name="POLICY_NAME" /> ghi đè.</translation>
@@ -521,6 +522,7 @@
 <translation id="3010559122411665027">Mục nhập danh sách "<ph name="ENTRY_INDEX" />": <ph name="ERROR" /></translation>
 <translation id="301521992641321250">Tự động bị chặn</translation>
 <translation id="3016780570757425217">Biết vị trí của bạn</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, nhấn phím Tab rồi nhấn phím Enter để loại bỏ nội dung đề xuất.</translation>
 <translation id="3023071826883856138">You4 (Phong bì)</translation>
 <translation id="3024663005179499861">Loại chính sách sai</translation>
 <translation id="3037605927509011580">Ôi, hỏng! </translation>
@@ -762,6 +764,7 @@
 <translation id="4056223980640387499">Màu nâu đỏ</translation>
 <translation id="4058922952496707368">Khóa "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (Phong bì)</translation>
+<translation id="4067669230157909013">Tính năng chụp ảnh màn hình đã được tiếp tục.</translation>
 <translation id="4067947977115446013">Thêm địa chỉ hợp lệ</translation>
 <translation id="4072486802667267160">Đã xảy ra lỗi khi xử lý đơn đặt hàng của bạn. Vui lòng thử lại.</translation>
 <translation id="4075732493274867456">Ứng dụng và máy chủ không hỗ trợ bộ mã hóa hoặc phiên bản giao thức SSL thông thường.</translation>
@@ -845,6 +848,7 @@
 <translation id="4297502707443874121">Hình thu nhỏ của trang <ph name="THUMBNAIL_PAGE" /></translation>
 <translation id="42981349822642051">Mở rộng</translation>
 <translation id="4300675098767811073">Đục nhiều lỗ bên phải</translation>
+<translation id="4302514097724775343">Nhấn vào hình khủng long để chơi</translation>
 <translation id="4302965934281694568">Chou3 (Phong bì)</translation>
 <translation id="4305666528087210886">Không thể truy cập vào tệp của bạn</translation>
 <translation id="4305817255990598646">Chuyển</translation>
@@ -1256,6 +1260,7 @@
 <translation id="5963413905009737549">Phần</translation>
 <translation id="5967592137238574583">Chỉnh sửa thông tin liên hệ</translation>
 <translation id="5967867314010545767">Xóa khỏi lịch sử</translation>
+<translation id="5968793460449681917">Vào mỗi lần truy cập</translation>
 <translation id="5975083100439434680">Thu nhỏ</translation>
 <translation id="5979084224081478209">Kiểm tra mật khẩu</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1470,6 +1475,7 @@
 <translation id="6895330447102777224">Thẻ của bạn đã được xác nhận</translation>
 <translation id="6897140037006041989">Tác nhân Người dùng</translation>
 <translation id="6898699227549475383">Tổ chức (O)</translation>
+<translation id="6907293445143367439">Cho phép <ph name="SITE_NAME" />:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> muốn có quyền kiểm soát toàn bộ thiết bị MIDI của bạn</translation>
 <translation id="6915804003454593391">Người dùng:</translation>
 <translation id="6934672428414710184">Tên này lấy từ Tài khoản Google của bạn</translation>
@@ -1906,6 +1912,7 @@
 <translation id="858637041960032120">Thêm số đ.thoại
 </translation>
 <translation id="8589998999637048520">Chất lượng tốt nhất</translation>
+<translation id="8600271352425265729">Chỉ lần này</translation>
 <translation id="860043288473659153">Tên chủ thẻ</translation>
 <translation id="8606726445206553943">Sử dụng các thiết bị MIDI của bạn</translation>
 <translation id="8612761427948161954">Chào <ph name="USERNAME" />!
@@ -2063,6 +2070,7 @@
 <translation id="939736085109172342">Thư mục mới</translation>
 <translation id="945855313015696284">Kiểm tra thông tin bên dưới và xóa mọi thẻ không hợp lệ</translation>
 <translation id="950736567201356821">Đục 3 lỗ trên cùng</translation>
+<translation id="951941430552851965">Quản trị viên đã tạm dừng tính năng chụp ảnh màn hình do có nội dung không được phép chụp hình.</translation>
 <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>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index f6ea21b..2112e49 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -301,6 +301,7 @@
 <translation id="2102495993840063010">Android 應用程式</translation>
 <translation id="2107021941795971877">列印支援</translation>
 <translation id="2108755909498034140">重新啟動電腦</translation>
+<translation id="2111166930115883695">按下空格鍵即可開始遊戲</translation>
 <translation id="2111256659903765347">Super-A</translation>
 <translation id="2113977810652731515">信用卡</translation>
 <translation id="2114841414352855701">由於政策被「<ph name="POLICY_NAME" />」覆寫了,因此遭到略過。</translation>
@@ -515,6 +516,7 @@
 <translation id="3010559122411665027">清單項目「<ph name="ENTRY_INDEX" />」:<ph name="ERROR" /></translation>
 <translation id="301521992641321250">已自動封鎖</translation>
 <translation id="3016780570757425217">存取您的位置資訊</translation>
+<translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />,按下 Tab 鍵再按下 Enter 鍵即可移除建議項目。</translation>
 <translation id="3023071826883856138">You4 (信封)</translation>
 <translation id="3024663005179499861">政策類型有誤</translation>
 <translation id="3037605927509011580">糟糕!</translation>
@@ -755,6 +757,7 @@
 <translation id="4056223980640387499">深褐色調</translation>
 <translation id="4058922952496707368">鍵「<ph name="SUBKEY" />」:<ph name="ERROR" /></translation>
 <translation id="4067263367174615723">C1 (信封)</translation>
+<translation id="4067669230157909013">已繼續擷取螢幕畫面。</translation>
 <translation id="4067947977115446013">新增有效的地址</translation>
 <translation id="4072486802667267160">處理你的訂單時發生錯誤,請再試一次。</translation>
 <translation id="4075732493274867456">用戶端和伺服器不支援一般 SSL 通訊協定版本或加密套件。</translation>
@@ -834,6 +837,7 @@
 <translation id="4297502707443874121">第 <ph name="THUMBNAIL_PAGE" /> 頁的縮圖</translation>
 <translation id="42981349822642051">展開</translation>
 <translation id="4300675098767811073">多孔 (右側)</translation>
+<translation id="4302514097724775343">輕觸恐龍即可開始遊戲</translation>
 <translation id="4302965934281694568">Chou3 (信封)</translation>
 <translation id="4305666528087210886">無法存取你的檔案</translation>
 <translation id="4305817255990598646">切換</translation>
@@ -1245,6 +1249,7 @@
 <translation id="5963413905009737549">區段</translation>
 <translation id="5967592137238574583">編輯聯絡資訊</translation>
 <translation id="5967867314010545767">從記錄中移除</translation>
+<translation id="5968793460449681917">每次造訪</translation>
 <translation id="5975083100439434680">縮小</translation>
 <translation id="5979084224081478209">檢查密碼</translation>
 <translation id="5980920751713728343">Index-3x5</translation>
@@ -1459,6 +1464,7 @@
 <translation id="6895330447102777224">您的信用卡已通過驗證</translation>
 <translation id="6897140037006041989">使用者代理程式</translation>
 <translation id="6898699227549475383">組織 (O)</translation>
+<translation id="6907293445143367439">允許 <ph name="SITE_NAME" /> 執行下列操作:</translation>
 <translation id="6910240653697687763"><ph name="URL" /> 要求取得 MIDI 裝置的完整控制權限</translation>
 <translation id="6915804003454593391">使用者:</translation>
 <translation id="6934672428414710184">這是你在 Google 帳戶中設定的名稱</translation>
@@ -1894,6 +1900,7 @@
 <translation id="8574899947864779331">使用 Touch ID 加快卡片驗證速度</translation>
 <translation id="858637041960032120">新增電話號碼</translation>
 <translation id="8589998999637048520">最佳畫質</translation>
+<translation id="8600271352425265729">僅限這次</translation>
 <translation id="860043288473659153">持卡人姓名</translation>
 <translation id="8606726445206553943">使用您的 MIDI 裝置</translation>
 <translation id="8612761427948161954"><ph name="USERNAME" />,你好:
@@ -2051,6 +2058,7 @@
 <translation id="939736085109172342">新增資料夾</translation>
 <translation id="945855313015696284">查看下方資訊並刪除所有無效的卡片</translation>
 <translation id="950736567201356821">三孔 (頂端)</translation>
+<translation id="951941430552851965">系統管理員因為螢幕上的內容,已暫停擷取螢幕畫面。</translation>
 <translation id="961663415146723894">裝訂 (底部)</translation>
 <translation id="962484866189421427">這項內容可能會試圖讓你安裝身分不實的欺騙性應用程式,或是收集可用於追蹤你的資料。<ph name="BEGIN_LINK" />仍要顯示<ph name="END_LINK" /></translation>
 <translation id="969892804517981540">正式版本</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb
index cb7890d..f202625 100644
--- a/components/strings/components_strings_zu.xtb
+++ b/components/strings/components_strings_zu.xtb
@@ -369,6 +369,7 @@
 <translation id="2354430244986887761">I-Google Safe Browsing isanda <ph name="BEGIN_LINK" />kuthola izinhlelo zokuseebenza eziyingozi<ph name="END_LINK" /> ku-<ph name="SITE" />.</translation>
 <translation id="2355395290879513365">Abahlaseli kungenzeka bakwazi ukubona izithombe ozibonayo kuleli sayithi baphinde bakukhohlise ngokuzilungisa.</translation>
 <translation id="2356070529366658676">Buza</translation>
+<translation id="2357481397660644965">Idivayisi yakho iphethwe yi-<ph name="DEVICE_MANAGER" /> futhi i-akhawunti yakho iphethwe yi-<ph name="ACCOUNT_MANAGER" />.</translation>
 <translation id="2359629602545592467">Okuningi</translation>
 <translation id="2359808026110333948">Qhubeka</translation>
 <translation id="2360873523816792727">Ukuze usebenzise amakhadi akho kuwo wonke amadivayisi, vula ukuvumelanisa.</translation>
@@ -548,6 +549,7 @@
 <translation id="3145945101586104090">Yehlulekile ukukhipha ikhodi impendulo</translation>
 <translation id="3150653042067488994">Iphutha lesikhashana leseva</translation>
 <translation id="3154506275960390542">Leli khasi lifaka ifomu okungenzeka lingathumeli ngokuphephile. Idatha oyithumelayo ingabukwa abanye ngenkathi isendleleni noma ingashintshwa umhlaseli ukuze ishintshe ukuthi iseva ithola ini.</translation>
+<translation id="315504272643575312">I-akhawunti yakho iphethwe i-<ph name="MANAGER" />.</translation>
 <translation id="3157931365184549694">Buyisela</translation>
 <translation id="3162559335345991374">I-Wi-Fi oyisebenzisayo ingadinga ukuthi uvakashele ikhasi layo lokungena ngemvume.</translation>
 <translation id="3167968892399408617">Amakhasi owabukayo kumathebhu we-incognito ngeke ahlale akhona kumlando wesiphequluli sakho, amakhukhi, noma umlando wokubuka ngemuva uvale wonke amathebhu we-incognito. Noma yimaphi amafayela owalandayo noma amabhukhimakhi owadalayo azogcinwa.</translation>
@@ -1926,6 +1928,7 @@
 <translation id="8680536109547170164">I-<ph name="QUERY" />, phendula, <ph name="ANSWER" /></translation>
 <translation id="8681531050781943054">Ikhesi lewebhu ku-<ph name="PAGE" /> alikwazanga ukulayishwa ngoba:</translation>
 <translation id="8685155993131031756">Prc-16K</translation>
+<translation id="8687429322371626002">Idivayisi yakho ne-akhawunti ziphethwe i-<ph name="MANAGER" />.</translation>
 <translation id="8688672835843460752">Kuyatholakala</translation>
 <translation id="868922510921656628">Amakhasi ngesethi ngayinye</translation>
 <translation id="869891660844655955">Idethi yokuphelelwa yisikhathi</translation>
@@ -1940,6 +1943,7 @@
 <translation id="8728672262656704056">Usuye ku-incognito</translation>
 <translation id="8730621377337864115">Kwenziwe</translation>
 <translation id="8731544501227493793">Inkinobho yokuphatha amaphasiwedi, cindezela u-Enter ukuze ubuke futhi uphathe amaphasiwedi akho kumasethingi e-Chrome</translation>
+<translation id="8734529307927223492">I-<ph name="DEVICE_TYPE" /> yakho iphethwe ngu-<ph name="MANAGER" /></translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, cindezela u-Tab bese u-Enter ukuze uvule iwindi le-incognito elisha lokuphequlula ngokuyimfihlo</translation>
 <translation id="8738058698779197622">Ukuze usungule ukuxhumeka okuvikelekile, iwashi lakho lidinga ukusethwa ngokulungile. Lokhu yingenxa yokuthi izitifiketi ezisetshenziswa ngamawebhusayithi ukuzikhomba zivumeleke ngezikhathi ezithile kuphela. Njengoba iwashi ledivayisi yakho lingalungile, i-Chromium ayikwazi ukuqinisekisa lezi zitifiketi.</translation>
 <translation id="8740359287975076522">Ikheli le-<ph name="HOST_NAME" /> &lt;abbr id="dnsDefinition"&gt;le-DNS&lt;/abbr&gt; alikwazanga ukutholwa. Xilonga inkinga.</translation>
@@ -2029,6 +2033,7 @@
 <translation id="9101630580131696064">Ithileyi elingu-1</translation>
 <translation id="9103872766612412690">I-<ph name="SITE" /> ngokuvamile isebenzisa ukubethela ukuvikela ulwazi lwakho. Uma i-Chromium izame ukuxhuma ku-<ph name="SITE" /> ngalesi sikhathi, iwebhusayithi ithumele emuva imininingwane engavamile nengalungile. Lokhu kungenzeka uma umhlaseli ezama ukuzenza i-<ph name="SITE" />, noma isikrini sokungena se-Wi-Fi siphazamise uxhumo. Ulwazi lwakho lusaphephile ngoba i-Chromium imise uxhumo ngaphambi kokuthi idatha ishintshwe.</translation>
 <translation id="9106062320799175032">Engeza ikheli lokukhokha</translation>
+<translation id="9107467864910557787">Isiphequluli sakho siphethwe yi-<ph name="MANAGER" /></translation>
 <translation id="9114524666733003316">Iqinisekisa ikhadi...</translation>
 <translation id="9114581008513152754">Lesi siphequluli asiphethwe inkampani noma enye inhlangano. Umsebenzi kule divayisi ungaphathwa ngaphandle kwe-Chrome. <ph name="BEGIN_LINK" />Funda kabanzi<ph name="END_LINK" /></translation>
 <translation id="9119042192571987207">Kulayishiwe</translation>
diff --git a/components/subresource_filter/content/browser/ads_intervention_manager.cc b/components/subresource_filter/content/browser/ads_intervention_manager.cc
index 92ef688e..e7fdffb 100644
--- a/components/subresource_filter/content/browser/ads_intervention_manager.cc
+++ b/components/subresource_filter/content/browser/ads_intervention_manager.cc
@@ -41,6 +41,17 @@
 
 }  // namespace
 
+// static
+base::TimeDelta AdsInterventionManager::GetInterventionDuration(
+    mojom::AdsViolation violation) {
+  switch (violation) {
+    case mojom::AdsViolation::kHeavyAdsInterventionAtHostLimit:
+      return base::TimeDelta::FromDays(1);
+    default:
+      return kAdsInterventionDuration.Get();
+  }
+}
+
 AdsInterventionManager::AdsInterventionManager(
     SubresourceFilterContentSettingsManager* settings_manager)
     : settings_manager_(settings_manager),
@@ -105,11 +116,17 @@
   // ads.
   bool current_activation_status =
       settings_manager_->GetSiteActivationFromMetadata(url);
-  bool has_active_ads_intervention =
-      last_intervention &&
-      last_intervention->duration_since <
-          subresource_filter::kAdsInterventionDuration.Get();
+  bool has_active_ads_intervention = false;
+
+  // TODO(crbug.com/1131971): If a host triggers multiple times on a single
+  // navigate and the durations don't match, we'll use the last duration rather
+  // than the longest. The metadata should probably store the activation with
+  // the longest duration.
   if (last_intervention) {
+    has_active_ads_intervention =
+        last_intervention->duration_since <
+        AdsInterventionManager::GetInterventionDuration(
+            last_intervention->ads_violation);
     UMA_HISTOGRAM_COUNTS_1000(kTimeSinceAdsInterventionTriggeredHistogramName,
                               last_intervention->duration_since.InHours());
 
diff --git a/components/subresource_filter/content/browser/ads_intervention_manager.h b/components/subresource_filter/content/browser/ads_intervention_manager.h
index 95fb4d6..0561bfb52 100644
--- a/components/subresource_filter/content/browser/ads_intervention_manager.h
+++ b/components/subresource_filter/content/browser/ads_intervention_manager.h
@@ -64,6 +64,10 @@
     mojom::AdsViolation ads_violation;
   };
 
+  // Gets the duration for the |violation| given, as different violations may
+  // have different durations associated with them.
+  static base::TimeDelta GetInterventionDuration(mojom::AdsViolation violation);
+
   // The content_settings_manager should outlive the ads intervention manager.
   // This is satisfied as the SubresourceFilterContentSettingsManager and the
   // AdsInterventionManager are both bound to the profile.
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.h b/components/subresource_filter/core/browser/subresource_filter_features.h
index cc73b58..61a9f5ef 100644
--- a/components/subresource_filter/core/browser/subresource_filter_features.h
+++ b/components/subresource_filter/core/browser/subresource_filter_features.h
@@ -189,7 +189,12 @@
 // Enables the blocking of ads on sites that have ads violations.
 extern const base::Feature kAdsInterventionsEnforced;
 
-// The duration that an ads intervention is active for.
+// The maximum duration that an ads intervention is active for.
+// TODO(crbug.com/1131971): This currently is the default delay.
+// We should move to an approach where each intervention has a duration that is
+// attainable separately as a parameter for that intervention. Right now this is
+// overridden explicitly in a switch for interventions that require a different
+// default duration.
 extern const base::FeatureParam<base::TimeDelta> kAdsInterventionDuration;
 
 // Name/values of the variation parameter controlling maximum activation level.
diff --git a/components/subresource_filter/core/mojom/subresource_filter.mojom b/components/subresource_filter/core/mojom/subresource_filter.mojom
index 7231e4a0..4b79ce6 100644
--- a/components/subresource_filter/core/mojom/subresource_filter.mojom
+++ b/components/subresource_filter/core/mojom/subresource_filter.mojom
@@ -13,8 +13,12 @@
 };
 
 // Enumerates which ads violations are recorded for a page.
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused. Please update the enum named
+// AdsViolations in enums.xml when adding a new entry here.
 enum AdsViolation {
     kMobileAdDensityByHeightAbove30,
+    kHeavyAdsInterventionAtHostLimit,
 };
 
 struct ActivationState {
diff --git a/components/sync/engine_impl/model_type_worker.cc b/components/sync/engine_impl/model_type_worker.cc
index fa317f67..5fef5c8a 100644
--- a/components/sync/engine_impl/model_type_worker.cc
+++ b/components/sync/engine_impl/model_type_worker.cc
@@ -6,15 +6,16 @@
 
 #include <stdint.h>
 
-#include <map>
+#include <set>
 #include <utility>
-#include <vector>
 
 #include "base/bind.h"
 #include "base/format_macros.h"
 #include "base/guid.h"
 #include "base/logging.h"
 #include "base/metrics/histogram_functions.h"
+#include "base/stl_util.h"
+#include "base/strings/strcat.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/threading/thread_restrictions.h"
@@ -37,6 +38,9 @@
 
 namespace {
 
+const char kTimeUntilEncryptionKeyFoundHistogramPrefix[] =
+    "Sync.ModelTypeTimeUntilEncryptionKeyFound.";
+
 void AdaptClientTagForFullUpdateData(ModelType model_type,
                                      syncer::EntityData* data) {
   // Server does not send any client tags for wallet data entities or offer data
@@ -64,6 +68,25 @@
   }
 }
 
+// Returns empty string if |entity| is not encrypted.
+// TODO(crbug.com/1109221): Consider moving this to a util file and converting
+// UpdateResponseData::encryption_key_name into a method that calls it. Consider
+// returning a struct containing also the encrypted blob, which would make the
+// code of PopulateUpdateResponseData() simpler.
+std::string GetEncryptionKeyName(const sync_pb::SyncEntity& entity) {
+  if (entity.deleted()) {
+    return std::string();
+  }
+  // Passwords use their own legacy encryption scheme.
+  if (entity.specifics().password().has_encrypted()) {
+    return entity.specifics().password().encrypted().key_name();
+  }
+  if (entity.specifics().has_encrypted()) {
+    return entity.specifics().encrypted().key_name();
+  }
+  return std::string();
+}
+
 }  // namespace
 
 ModelTypeWorker::ModelTypeWorker(
@@ -202,6 +225,10 @@
         // Cannot decrypt now, copy the sync entity for later decryption.
         entries_pending_decryption_[update_entity->id_string()] =
             *update_entity;
+        // If there's no entry for this unknown encryption key, create one.
+        DCHECK(!response_data.encryption_key_name.empty());
+        unknown_encryption_keys_by_name_.emplace(
+            response_data.encryption_key_name, UnknownEncryptionKeyInfo());
         SyncRecordModelTypeUpdateDropReason(
             UpdateDropReason::kDecryptionPending, type_);
         break;
@@ -213,6 +240,16 @@
     }
   }
 
+  // Some updates pending decryption might have been overwritten by decryptable
+  // ones. So some encryption keys may no longer fit the definition of unknown.
+  RemoveKeysNoLongerUnknown();
+
+  if (!cryptographer_ || cryptographer_->CanEncrypt()) {
+    for (auto& key_and_info : unknown_encryption_keys_by_name_) {
+      key_and_info.second.gu_responses_while_should_have_been_known++;
+    }
+  }
+
   return SyncerError(SyncerError::SYNCER_OK);
 }
 
@@ -233,6 +270,7 @@
                               : update_entity.specifics();
   bool specifics_were_encrypted = false;
 
+  response_data->encryption_key_name = GetEncryptionKeyName(update_entity);
   if (specifics.password().has_encrypted()) {
     // Passwords use their own legacy encryption scheme.
     DCHECK(cryptographer);
@@ -248,8 +286,6 @@
     if (!DecryptPasswordSpecifics(*cryptographer, specifics, &data.specifics)) {
       return FAILED_TO_DECRYPT;
     }
-    response_data->encryption_key_name =
-        specifics.password().encrypted().key_name();
     specifics_were_encrypted = true;
   } else if (specifics.has_encrypted()) {
     // Check if specifics are encrypted and try to decrypt if so.
@@ -263,7 +299,6 @@
     if (!DecryptSpecifics(*cryptographer, specifics, &data.specifics)) {
       return FAILED_TO_DECRYPT;
     }
-    response_data->encryption_key_name = specifics.encrypted().key_name();
     specifics_were_encrypted = true;
   } else {
     // No encryption.
@@ -505,6 +540,21 @@
         break;
     }
   }
+
+  // Note this can perfectly contain keys that were encrypting corrupt updates
+  // (FAILED_TO_DECRYPT above); all that matters is the key was found.
+  const std::vector<UnknownEncryptionKeyInfo> newly_found_keys =
+      RemoveKeysNoLongerUnknown();
+  for (const UnknownEncryptionKeyInfo& newly_found_key : newly_found_keys) {
+    // Don't record UMA for the dominant case where the key was only unknown
+    // while the cryptographer was pending external interaction.
+    if (newly_found_key.gu_responses_while_should_have_been_known > 0) {
+      base::UmaHistogramCounts1000(
+          base::StrCat({kTimeUntilEncryptionKeyFoundHistogramPrefix,
+                        ModelTypeToString(GetModelType())}),
+          newly_found_key.gu_responses_while_should_have_been_known);
+    }
+  }
 }
 
 void ModelTypeWorker::DeduplicatePendingUpdatesBasedOnServerId() {
@@ -626,6 +676,28 @@
   return true;
 }
 
+std::vector<ModelTypeWorker::UnknownEncryptionKeyInfo>
+ModelTypeWorker::RemoveKeysNoLongerUnknown() {
+  std::set<std::string> keys_blocking_updates;
+  for (const auto& id_and_update : entries_pending_decryption_) {
+    const std::string key_name = GetEncryptionKeyName(id_and_update.second);
+    DCHECK(!key_name.empty());
+    keys_blocking_updates.insert(key_name);
+  }
+
+  std::vector<ModelTypeWorker::UnknownEncryptionKeyInfo> removed_keys;
+  base::EraseIf(
+      unknown_encryption_keys_by_name_, [&](const auto& key_and_info) {
+        if (base::Contains(keys_blocking_updates, key_and_info.first)) {
+          return false;
+        }
+        removed_keys.push_back(key_and_info.second);
+        return true;
+      });
+
+  return removed_keys;
+}
+
 GetLocalChangesRequest::GetLocalChangesRequest(
     CancelationSignal* cancelation_signal)
     : cancelation_signal_(cancelation_signal),
diff --git a/components/sync/engine_impl/model_type_worker.h b/components/sync/engine_impl/model_type_worker.h
index 5e3fb18..ae7f00b80 100644
--- a/components/sync/engine_impl/model_type_worker.h
+++ b/components/sync/engine_impl/model_type_worker.h
@@ -10,6 +10,7 @@
 #include <map>
 #include <memory>
 #include <string>
+#include <vector>
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
@@ -119,6 +120,12 @@
   base::WeakPtr<ModelTypeWorker> AsWeakPtr();
 
  private:
+  struct UnknownEncryptionKeyInfo {
+    // Not increased if the cryptographer knows it's in a pending state
+    // (cf. Cryptographer::CanEncrypt()).
+    int gu_responses_while_should_have_been_known = 0;
+  };
+
   // Attempts to decrypt the given specifics and return them in the |out|
   // parameter. The cryptographer must know the decryption key, i.e.
   // cryptographer.CanDecrypt(specifics.encrypted()) must return true.
@@ -197,6 +204,10 @@
   // response body.
   void OnFullCommitFailure(SyncCommitError commit_error);
 
+  // Removes |unknown_encryption_keys_| that no longer fit the definition of
+  // an unknown key, and returns their info.
+  std::vector<UnknownEncryptionKeyInfo> RemoveKeysNoLongerUnknown();
+
   ModelType type_;
 
   // State that applies to the entire model type.
@@ -220,8 +231,16 @@
   // A map of sync entities, keyed by server_id. Holds updates encrypted with
   // pending keys. Entries are stored in a map for de-duplication (applying only
   // the latest).
+  // TODO(crbug.com/1109221): Use a name mentioning "updates" and "server id".
   std::map<std::string, sync_pb::SyncEntity> entries_pending_decryption_;
 
+  // A key is unknown if it encrypts a subset of |entries_pending_decryption_|.
+  // It'll be added here when the worker receives the first update entity
+  // encrypted with it.
+  // TODO(crbug.com/1109221): Enlarge this concept to cover ignored keys.
+  std::map<std::string, UnknownEncryptionKeyInfo>
+      unknown_encryption_keys_by_name_;
+
   // Accumulates all the updates from a single GetUpdates cycle in memory so
   // they can all be sent to the processor at once.
   UpdateResponseDataList pending_updates_;
diff --git a/components/sync/engine_impl/model_type_worker_unittest.cc b/components/sync/engine_impl/model_type_worker_unittest.cc
index f60a7c3..87db94a 100644
--- a/components/sync/engine_impl/model_type_worker_unittest.cc
+++ b/components/sync/engine_impl/model_type_worker_unittest.cc
@@ -1321,6 +1321,46 @@
   EXPECT_TRUE(processor()->HasUpdateResponse(kHash1));
 }
 
+TEST_F(ModelTypeWorkerTest, TimeUntilEncryptionKeyFoundMetric) {
+  base::HistogramTester histogram_tester;
+  NormalInitialize();
+  int gu_responses_while_should_have_been_known = 0;
+
+  // Send a GetUpdatesResponse containing data encrypted with an unknown key.
+  // The cryptographer doesn't have pending keys, so in theory this key should
+  // have been known.
+  SetUpdateEncryptionFilter(1);
+  TriggerUpdateFromServer(10, kTag1, kValue1);
+  gu_responses_while_should_have_been_known++;
+
+  // Send empty GetUpdatesResponse. Again, the cryptographer isn't in a pending
+  // state, so increase |gu_responses_while_should_have_been_known|.
+  worker()->ProcessGetUpdatesResponse(
+      server()->GetProgress(), server()->GetContext(), {}, status_controller());
+  gu_responses_while_should_have_been_known++;
+
+  // Send the Nigori containing the missing key. The key isn't available yet
+  // though.
+  AddPendingKey();
+
+  // Another empty GetUpdatesResponse. This one shouldn't be counted, since the
+  // cryptographer now knows it's lacking some keys.
+  worker()->ProcessGetUpdatesResponse(
+      server()->GetProgress(), server()->GetContext(), {}, status_controller());
+
+  // Double check the histogram hasn't been recorded so far.
+  const std::string histogram_name =
+      std::string("Sync.ModelTypeTimeUntilEncryptionKeyFound.") +
+      ModelTypeToString(worker()->GetModelType());
+  EXPECT_TRUE(histogram_tester.GetAllSamples(histogram_name).empty());
+
+  // Make the key available. The correct number of GetUpdatesResponse should
+  // have been recorded.
+  DecryptPendingKey();
+  histogram_tester.ExpectUniqueSample(
+      histogram_name, gu_responses_while_should_have_been_known, 1);
+}
+
 // Test that processor has been disconnected from Sync when worker got
 // disconnected.
 TEST_F(ModelTypeWorkerTest, DisconnectProcessorFromSyncTest) {
diff --git a/components/test/data/autofill/heuristics/output/097_register_alaskaair.com.out b/components/test/data/autofill/heuristics/output/097_register_alaskaair.com.out
index 94ca9d3..96e5d5ec 100644
--- a/components/test/data/autofill/heuristics/output/097_register_alaskaair.com.out
+++ b/components/test/data/autofill/heuristics/output/097_register_alaskaair.com.out
@@ -23,17 +23,17 @@
 ADDRESS_HOME_STATE | FormUserControl$_mailingAddress$_stateMX | Mexican States |  | FormUserControl$_guardianInformation$_lastName$_name_3-default
 ADDRESS_HOME_STATE | FormUserControl$_mailingAddress$_stateXX | State/Province Other |  | FormUserControl$_guardianInformation$_lastName$_name_3-default
 ADDRESS_HOME_ZIP | FormUserControl$_mailingAddress$_zip | Zip/Postal Code* |  | FormUserControl$_guardianInformation$_lastName$_name_3-default
-ADDRESS_HOME_COUNTRY | FormUserControl$_contactInformation$_phoneNumber$_countryCode | Country Code | 1 | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-PHONE_HOME_WHOLE_NUMBER | FormUserControl$_contactInformation$_phoneNumber$_phoneNumberTextBox | Country Code |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-PHONE_HOME_EXTENSION | FormUserControl$_contactInformation$_phoneNumber$_extensionTextBox | Ext. |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-EMAIL_ADDRESS | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox | Email Address* |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_userIdPassword$_userId$_userId | Create a User ID* |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_userIdPassword$_password$_password | Create a Password |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_userIdPassword$_reEnterPassword$_password | Re-enter Password |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_secretQuestion$_question | Secret Question* |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_secretQuestion$_answer | Please choose a secret question and provide the answer. You will need to answer the question again in case you forget your password. Make sure you choose a question and answer that are easy for you to remember, but difficult for other people to know.Secret Question* Answer* |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_subscriptionsOffers$_insiderNewsletter$_subscriptionCheckBox | Insider NewsletterA weekly email personalized to provide you with an insider glimpse of the best deals we have to offer - across the board. | on | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-ADDRESS_HOME_CITY | FormUserControl$_subscriptionsOffers$_primaryDepartureCity$_primaryDepartureCity$_city | Primary Departure City |  | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_subscriptionsOffers$_eStatements$_subscriptionCheckBox | Mileage Plan E-Statements and Partner OffersA monthly recap of your Mileage Plan activity along with program news, exclusive partner offers, and countless ways to earn free travel faster. | on | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_subscriptionsOffers$_asQXAnnouncements$_subscriptionCheckBox | Alaska AnnouncementsOccasional email that puts you "in the know" about sales, promotions, and other important travel information. | on | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
-UNKNOWN_TYPE | FormUserControl$_mpTermsAndConditions$_iAgree | Mileage Plan™ Terms & Conditions* I acknowledge that I have reviewed these Mileage Plan Terms and Conditions | on | FormUserControl$_contactInformation$_phoneNumber$_countryCode_4-default
+PHONE_HOME_COUNTRY_CODE | FormUserControl$_contactInformation$_phoneNumber$_countryCode | Country Code | 1 | FormUserControl$_guardianInformation$_lastName$_name_3-default
+PHONE_HOME_CITY_AND_NUMBER | FormUserControl$_contactInformation$_phoneNumber$_phoneNumberTextBox | Country Code |  | FormUserControl$_guardianInformation$_lastName$_name_3-default
+PHONE_HOME_EXTENSION | FormUserControl$_contactInformation$_phoneNumber$_extensionTextBox | Ext. |  | FormUserControl$_guardianInformation$_lastName$_name_3-default
+EMAIL_ADDRESS | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox | Email Address* |  | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_userIdPassword$_userId$_userId | Create a User ID* |  | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_userIdPassword$_password$_password | Create a Password |  | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_userIdPassword$_reEnterPassword$_password | Re-enter Password |  | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_secretQuestion$_question | Secret Question* |  | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_secretQuestion$_answer | Please choose a secret question and provide the answer. You will need to answer the question again in case you forget your password. Make sure you choose a question and answer that are easy for you to remember, but difficult for other people to know.Secret Question* Answer* |  | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_subscriptionsOffers$_insiderNewsletter$_subscriptionCheckBox | Insider NewsletterA weekly email personalized to provide you with an insider glimpse of the best deals we have to offer - across the board. | on | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+ADDRESS_HOME_CITY | FormUserControl$_subscriptionsOffers$_primaryDepartureCity$_primaryDepartureCity$_city | Primary Departure City |  | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_subscriptionsOffers$_eStatements$_subscriptionCheckBox | Mileage Plan E-Statements and Partner OffersA monthly recap of your Mileage Plan activity along with program news, exclusive partner offers, and countless ways to earn free travel faster. | on | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_subscriptionsOffers$_asQXAnnouncements$_subscriptionCheckBox | Alaska AnnouncementsOccasional email that puts you "in the know" about sales, promotions, and other important travel information. | on | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
+UNKNOWN_TYPE | FormUserControl$_mpTermsAndConditions$_iAgree | Mileage Plan™ Terms & Conditions* I acknowledge that I have reviewed these Mileage Plan Terms and Conditions | on | FormUserControl$_contactInformation$_emailAddress$_emailAddressTextBox_4-default
diff --git a/components/viz/service/display_embedder/output_presenter_fuchsia.cc b/components/viz/service/display_embedder/output_presenter_fuchsia.cc
index 9d3da014..6e8c662 100644
--- a/components/viz/service/display_embedder/output_presenter_fuchsia.cc
+++ b/components/viz/service/display_embedder/output_presenter_fuchsia.cc
@@ -256,7 +256,7 @@
   // the ImagePipe.
   fuchsia::sysmem::BufferCollectionTokenSyncPtr collection_token;
   sysmem_allocator_->AllocateSharedCollection(collection_token.NewRequest());
-  collection_token->SetName(100u, "ChromiumOutput");
+  collection_token->SetName(100u, "ChromiumPrimaryPlaneOutput");
   collection_token->SetDebugClientInfo("vulkan", 0u);
 
   fuchsia::sysmem::BufferCollectionTokenSyncPtr token_for_scenic;
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index bc308f42..62eb798 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -1073,6 +1073,8 @@
     "media/flinging_renderer.h",
     "media/forwarding_audio_stream_factory.cc",
     "media/forwarding_audio_stream_factory.h",
+    "media/frameless_media_interface_proxy.cc",
+    "media/frameless_media_interface_proxy.h",
     "media/hardware_key_media_controller.cc",
     "media/hardware_key_media_controller.h",
     "media/media_devices_permission_checker.cc",
@@ -1120,8 +1122,6 @@
     "media/system_media_controls_notifier.h",
     "media/url_provision_fetcher.cc",
     "media/url_provision_fetcher.h",
-    "media/video_decoder_proxy.cc",
-    "media/video_decoder_proxy.h",
     "media/webaudio/audio_context_manager_impl.cc",
     "media/webaudio/audio_context_manager_impl.h",
     "media_session/media_session_service.cc",
diff --git a/content/browser/accessibility/accessibility_event_recorder_mac.mm b/content/browser/accessibility/accessibility_event_recorder_mac.mm
index 6efa579..cdf4f8f8 100644
--- a/content/browser/accessibility/accessibility_event_recorder_mac.mm
+++ b/content/browser/accessibility/accessibility_event_recorder_mac.mm
@@ -6,6 +6,7 @@
 
 #import <Cocoa/Cocoa.h>
 
+#include <algorithm>
 #include <string>
 
 #include "base/logging.h"
@@ -15,6 +16,7 @@
 #include "base/strings/sys_string_conversions.h"
 #include "content/browser/accessibility/accessibility_tools_utils_mac.h"
 #include "content/browser/accessibility/browser_accessibility_manager.h"
+#include "ui/accessibility/platform/ax_private_webkit_constants_mac.h"
 
 namespace content {
 
@@ -28,7 +30,11 @@
   ~AccessibilityEventRecorderMac() override;
 
   // Callback executed every time we receive an event notification.
-  void EventReceived(AXUIElementRef element, CFStringRef notification);
+  void EventReceived(AXUIElementRef element,
+                     CFStringRef notification,
+                     CFDictionaryRef user_info);
+  static std::string SerializeTextSelectionChangedProperties(
+      CFDictionaryRef user_info);
 
  private:
   // Add one notification to the list of notifications monitored by our
@@ -54,10 +60,11 @@
 static void EventReceivedThunk(AXObserverRef observer_ref,
                                AXUIElementRef element,
                                CFStringRef notification,
+                               CFDictionaryRef user_info,
                                void* refcon) {
   AccessibilityEventRecorderMac* this_ptr =
       static_cast<AccessibilityEventRecorderMac*>(refcon);
-  this_ptr->EventReceived(element, notification);
+  this_ptr->EventReceived(element, notification, user_info);
 }
 
 // static
@@ -95,8 +102,9 @@
     base::ProcessId pid,
     AXUIElementRef node)
     : AccessibilityEventRecorder(manager), observer_run_loop_source_(NULL) {
-  if (kAXErrorSuccess != AXObserverCreate(pid, EventReceivedThunk,
-                                          observer_ref_.InitializeInto())) {
+  if (kAXErrorSuccess !=
+      AXObserverCreateWithInfoCallback(pid, EventReceivedThunk,
+                                       observer_ref_.InitializeInto())) {
     LOG(FATAL) << "Failed to create AXObserverRef";
   }
 
@@ -157,7 +165,8 @@
 }
 
 void AccessibilityEventRecorderMac::EventReceived(AXUIElementRef element,
-                                                  CFStringRef notification) {
+                                                  CFStringRef notification,
+                                                  CFDictionaryRef user_info) {
   std::string notification_str = base::SysCFStringRefToUTF8(notification);
   std::string role = GetAXAttributeValue(element, NSAccessibilityRoleAttribute);
   if (role.empty())
@@ -180,7 +189,49 @@
   if (!value.empty())
     log += base::StringPrintf(" AXValue=\"%s\"", value.c_str());
 
+  if (notification_str ==
+      base::SysNSStringToUTF8(NSAccessibilitySelectedTextChangedNotification))
+    log += " " + SerializeTextSelectionChangedProperties(user_info);
+
   OnEvent(log);
 }
 
+std::string
+AccessibilityEventRecorderMac::SerializeTextSelectionChangedProperties(
+    CFDictionaryRef user_info) {
+  std::vector<std::string> serialized_info;
+  CFDictionaryApplyFunction(
+      user_info,
+      [](const void* raw_key, const void* raw_value, void* context) {
+        auto* key = static_cast<NSString*>(raw_key);
+        auto* value = static_cast<NSObject*>(raw_value);
+        auto* serialized_info = static_cast<std::vector<std::string>*>(context);
+        std::string value_string;
+        if ([key isEqual:ui::NSAccessibilityTextStateChangeTypeKey]) {
+          value_string = ToString(static_cast<ui::AXTextStateChangeType>(
+              [static_cast<NSNumber*>(value) intValue]));
+        } else if ([key isEqual:ui::NSAccessibilityTextSelectionDirection]) {
+          value_string = ToString(static_cast<ui::AXTextSelectionDirection>(
+              [static_cast<NSNumber*>(value) intValue]));
+        } else if ([key isEqual:ui::NSAccessibilityTextSelectionGranularity]) {
+          value_string = ToString(static_cast<ui::AXTextSelectionGranularity>(
+              [static_cast<NSNumber*>(value) intValue]));
+        } else if ([key isEqual:ui::NSAccessibilityTextEditType]) {
+          value_string = ToString(static_cast<ui::AXTextEditType>(
+              [static_cast<NSNumber*>(value) intValue]));
+        } else {
+          return;
+        }
+        serialized_info->push_back(base::SysNSStringToUTF8(key) + "=" +
+                                   value_string);
+      },
+      &serialized_info);
+
+  // Always sort the info so that we don't depend on CFDictionary for
+  // consistent output ordering.
+  std::sort(serialized_info.begin(), serialized_info.end());
+
+  return base::JoinString(serialized_info, " ");
+}
+
 }  // namespace content
diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.h b/content/browser/accessibility/browser_accessibility_manager_mac.h
index b4043f5..925bfe1 100644
--- a/content/browser/accessibility/browser_accessibility_manager_mac.h
+++ b/content/browser/accessibility/browser_accessibility_manager_mac.h
@@ -54,7 +54,8 @@
                               const std::vector<Change>& changes) override;
 
   // Returns an autoreleased object.
-  NSDictionary* GetUserInfoForSelectedTextChangedNotification();
+  NSDictionary* GetUserInfoForSelectedTextChangedNotification(
+      bool focus_changed);
 
   // Returns an autoreleased object.
   NSDictionary* GetUserInfoForValueChangedNotification(
diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
index 62c3914c..d77365d 100644
--- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
+++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
@@ -19,91 +19,13 @@
 #include "content/public/browser/web_contents.h"
 #include "ui/accelerated_widget_mac/accelerated_widget_mac.h"
 #include "ui/accessibility/ax_role_properties.h"
+#include "ui/accessibility/platform/ax_private_webkit_constants_mac.h"
 
 namespace {
 
 // Use same value as in Safari's WebKit.
 const int kLiveRegionChangeIntervalMS = 20;
 
-// Declare undocumented accessibility constants and enums only present in
-// WebKit.
-
-enum AXTextStateChangeType {
-  AXTextStateChangeTypeUnknown,
-  AXTextStateChangeTypeEdit,
-  AXTextStateChangeTypeSelectionMove,
-  AXTextStateChangeTypeSelectionExtend
-};
-
-enum AXTextSelectionDirection {
-  AXTextSelectionDirectionUnknown,
-  AXTextSelectionDirectionBeginning,
-  AXTextSelectionDirectionEnd,
-  AXTextSelectionDirectionPrevious,
-  AXTextSelectionDirectionNext,
-  AXTextSelectionDirectionDiscontiguous
-};
-
-enum AXTextSelectionGranularity {
-  AXTextSelectionGranularityUnknown,
-  AXTextSelectionGranularityCharacter,
-  AXTextSelectionGranularityWord,
-  AXTextSelectionGranularityLine,
-  AXTextSelectionGranularitySentence,
-  AXTextSelectionGranularityParagraph,
-  AXTextSelectionGranularityPage,
-  AXTextSelectionGranularityDocument,
-  AXTextSelectionGranularityAll
-};
-
-enum AXTextEditType {
-  AXTextEditTypeUnknown,
-  AXTextEditTypeDelete,
-  AXTextEditTypeInsert,
-  AXTextEditTypeTyping,
-  AXTextEditTypeDictation,
-  AXTextEditTypeCut,
-  AXTextEditTypePaste,
-  AXTextEditTypeAttributesChange
-};
-
-// Native mac notifications fired.
-NSString* const NSAccessibilityAutocorrectionOccurredNotification =
-    @"AXAutocorrectionOccurred";
-NSString* const NSAccessibilityLoadCompleteNotification = @"AXLoadComplete";
-NSString* const NSAccessibilityInvalidStatusChangedNotification =
-    @"AXInvalidStatusChanged";
-NSString* const NSAccessibilityLiveRegionCreatedNotification =
-    @"AXLiveRegionCreated";
-NSString* const NSAccessibilityLiveRegionChangedNotification =
-    @"AXLiveRegionChanged";
-NSString* const NSAccessibilityExpandedChanged = @"AXExpandedChanged";
-NSString* const NSAccessibilityMenuItemSelectedNotification =
-    @"AXMenuItemSelected";
-
-// The following native mac notifications are not fired:
-// AXLayoutComplete: Voiceover does not use this, it is considered too spammy.
-
-// Attributes used for NSAccessibilitySelectedTextChangedNotification and
-// NSAccessibilityValueChangedNotification.
-NSString* const NSAccessibilityTextStateChangeTypeKey =
-    @"AXTextStateChangeType";
-NSString* const NSAccessibilityTextStateSyncKey = @"AXTextStateSync";
-NSString* const NSAccessibilityTextSelectionDirection =
-    @"AXTextSelectionDirection";
-NSString* const NSAccessibilityTextSelectionGranularity =
-    @"AXTextSelectionGranularity";
-NSString* const NSAccessibilityTextSelectionChangedFocus =
-    @"AXTextSelectionChangedFocus";
-NSString* const NSAccessibilityTextChangeElement = @"AXTextChangeElement";
-NSString* const NSAccessibilityTextEditType = @"AXTextEditType";
-NSString* const NSAccessibilityTextChangeValue = @"AXTextChangeValue";
-NSString* const NSAccessibilityChangeValueStartMarker =
-    @"AXTextChangeValueStartMarker";
-NSString* const NSAccessibilityTextChangeValueLength =
-    @"AXTextChangeValueLength";
-NSString* const NSAccessibilityTextChangeValues = @"AXTextChangeValues";
-
 }  // namespace
 
 namespace content {
@@ -164,7 +86,7 @@
   NSString* mac_notification = nullptr;
   switch (event_type) {
     case ax::mojom::Event::kAutocorrectionOccured:
-      mac_notification = NSAccessibilityAutocorrectionOccurredNotification;
+      mac_notification = ui::NSAccessibilityAutocorrectionOccurredNotification;
       break;
     default:
       return;
@@ -203,6 +125,8 @@
   auto native_node = ToBrowserAccessibilityCocoa(node);
   DCHECK(native_node);
 
+  bool focus_changed = GetFocus() != GetLastFocusedNode();
+
   // Refer to |AXObjectCache::postPlatformNotification| in WebKit source code.
   NSString* mac_notification = nullptr;
   switch (event_type) {
@@ -223,7 +147,7 @@
       break;
     case ui::AXEventGenerator::Event::ALERT:
       NSAccessibilityPostNotification(
-          native_node, NSAccessibilityLiveRegionCreatedNotification);
+          native_node, ui::NSAccessibilityLiveRegionCreatedNotification);
       // Voiceover requires a live region changed notification to actually
       // announce the live region.
       FireGeneratedEvent(ui::AXEventGenerator::Event::LIVE_REGION_CHANGED,
@@ -242,7 +166,7 @@
           node->GetRole() == ax::mojom::Role::kTreeItem) {
         mac_notification = NSAccessibilityRowCollapsedNotification;
       } else {
-        mac_notification = NSAccessibilityExpandedChanged;
+        mac_notification = ui::NSAccessibilityExpandedChanged;
       }
       break;
     case ui::AXEventGenerator::Event::DOCUMENT_SELECTION_CHANGED: {
@@ -259,7 +183,7 @@
         // API has been present on versions of OS X since 10.7 but doesn't
         // appear to be needed by Voiceover before version 10.11.
         NSDictionary* user_info =
-            GetUserInfoForSelectedTextChangedNotification();
+            GetUserInfoForSelectedTextChangedNotification(focus_changed);
 
         BrowserAccessibilityManager* root_manager = GetRootManager();
         if (!root_manager)
@@ -284,11 +208,11 @@
           node->GetRole() == ax::mojom::Role::kTreeItem) {
         mac_notification = NSAccessibilityRowExpandedNotification;
       } else {
-        mac_notification = NSAccessibilityExpandedChanged;
+        mac_notification = ui::NSAccessibilityExpandedChanged;
       }
       break;
     case ui::AXEventGenerator::Event::INVALID_STATUS_CHANGED:
-      mac_notification = NSAccessibilityInvalidStatusChangedNotification;
+      mac_notification = ui::NSAccessibilityInvalidStatusChangedNotification;
       break;
     case ui::AXEventGenerator::Event::LIVE_REGION_CHANGED: {
       // Voiceover seems to drop live region changed notifications if they come
@@ -297,7 +221,7 @@
 
       if (never_suppress_or_delay_events_for_testing_) {
         NSAccessibilityPostNotification(
-            native_node, NSAccessibilityLiveRegionChangedNotification);
+            native_node, ui::NSAccessibilityLiveRegionChangedNotification);
         return;
       }
 
@@ -321,7 +245,7 @@
               [](base::scoped_nsobject<BrowserAccessibilityCocoa> node) {
                 if (node && [node instanceActive]) {
                   NSAccessibilityPostNotification(
-                      node, NSAccessibilityLiveRegionChangedNotification);
+                      node, ui::NSAccessibilityLiveRegionChangedNotification);
                 }
               },
               std::move(retained_node)),
@@ -329,7 +253,7 @@
       return;
     }
     case ui::AXEventGenerator::Event::LIVE_REGION_CREATED:
-      mac_notification = NSAccessibilityLiveRegionCreatedNotification;
+      mac_notification = ui::NSAccessibilityLiveRegionCreatedNotification;
       break;
     case ui::AXEventGenerator::Event::LOAD_COMPLETE:
       // On MacOS 10.15, firing AXLoadComplete causes focus to move to the
@@ -343,7 +267,7 @@
       // |NSAccessibilityLoadCompleteNotification| should only be fired on the
       // top document and when the document is not Chrome's new tab page.
       if (IsRootTree() && !IsChromeNewTabPage()) {
-        mac_notification = NSAccessibilityLoadCompleteNotification;
+        mac_notification = ui::NSAccessibilityLoadCompleteNotification;
       } else {
         // Voiceover moves focus to the web content when it receives an
         // AXLoadComplete event. On Chrome's new tab page, focus should stay
@@ -353,7 +277,7 @@
       }
       break;
     case ui::AXEventGenerator::Event::MENU_ITEM_SELECTED:
-      mac_notification = NSAccessibilityMenuItemSelectedNotification;
+      mac_notification = ui::NSAccessibilityMenuItemSelectedNotification;
       break;
     case ui::AXEventGenerator::Event::RANGE_VALUE_CHANGED:
       DCHECK(node->GetData().IsRangeValueSupported());
@@ -532,18 +456,32 @@
   }
 }
 
-NSDictionary* BrowserAccessibilityManagerMac::
-    GetUserInfoForSelectedTextChangedNotification() {
+NSDictionary*
+BrowserAccessibilityManagerMac::GetUserInfoForSelectedTextChangedNotification(
+    bool focus_changed) {
   NSMutableDictionary* user_info =
       [[[NSMutableDictionary alloc] init] autorelease];
-  [user_info setObject:@YES forKey:NSAccessibilityTextStateSyncKey];
-  [user_info setObject:@(AXTextStateChangeTypeUnknown)
-                forKey:NSAccessibilityTextStateChangeTypeKey];
-  [user_info setObject:@(AXTextSelectionDirectionUnknown)
-                forKey:NSAccessibilityTextSelectionDirection];
-  [user_info setObject:@(AXTextSelectionGranularityUnknown)
-                forKey:NSAccessibilityTextSelectionGranularity];
-  [user_info setObject:@YES forKey:NSAccessibilityTextSelectionChangedFocus];
+  [user_info setObject:@YES forKey:ui::NSAccessibilityTextStateSyncKey];
+  [user_info setObject:@(ui::AXTextSelectionDirectionUnknown)
+                forKey:ui::NSAccessibilityTextSelectionDirection];
+  [user_info setObject:@(ui::AXTextSelectionGranularityUnknown)
+                forKey:ui::NSAccessibilityTextSelectionGranularity];
+  [user_info setObject:@YES
+                forKey:ui::NSAccessibilityTextSelectionChangedFocus];
+
+  // Try to detect when the text selection changes due to a focus change.
+  // This is necessary so that VoiceOver also anounces information about the
+  // element that contains this selection.
+  // TODO(mrobinson): Determine definitively what the type of this text
+  // selection change is. This requires passing this information here from
+  // blink.
+  if (focus_changed) {
+    [user_info setObject:@(ui::AXTextStateChangeTypeSelectionMove)
+                  forKey:ui::NSAccessibilityTextStateChangeTypeKey];
+  } else {
+    [user_info setObject:@(ui::AXTextStateChangeTypeUnknown)
+                  forKey:ui::NSAccessibilityTextStateChangeTypeKey];
+  }
 
   int32_t focus_id = ax_tree()->GetUnignoredSelection().focus_object_id;
   BrowserAccessibility* focus_object = GetFromID(focus_id);
@@ -552,7 +490,7 @@
     auto native_focus_object = ToBrowserAccessibilityCocoa(focus_object);
     if (native_focus_object && [native_focus_object instanceActive]) {
       [user_info setObject:native_focus_object
-                    forKey:NSAccessibilityTextChangeElement];
+                    forKey:ui::NSAccessibilityTextChangeElement];
 
       id selected_text = [native_focus_object selectedTextMarkerRange];
       if (selected_text) {
@@ -581,38 +519,39 @@
   if (!deleted_text.empty()) {
     NSMutableDictionary* change =
         [NSMutableDictionary dictionaryWithDictionary:@{
-          NSAccessibilityTextEditType : @(AXTextEditTypeDelete),
-          NSAccessibilityTextChangeValueLength : @(deleted_text.length()),
-          NSAccessibilityTextChangeValue :
+          ui::NSAccessibilityTextEditType : @(ui::AXTextEditTypeDelete),
+          ui::NSAccessibilityTextChangeValueLength : @(deleted_text.length()),
+          ui::NSAccessibilityTextChangeValue :
               base::SysUTF16ToNSString(deleted_text)
         }];
     if (edit_text_marker) {
-      change[NSAccessibilityChangeValueStartMarker] = edit_text_marker;
+      change[ui::NSAccessibilityChangeValueStartMarker] = edit_text_marker;
     }
     [changes addObject:change];
   }
   if (!inserted_text.empty()) {
     // TODO(nektar): Figure out if this is a paste, insertion or typing.
     // Changes to Blink would be required. A heuristic is currently used.
-    auto edit_type = inserted_text.length() > 1 ? @(AXTextEditTypeInsert)
-                                                : @(AXTextEditTypeTyping);
+    auto edit_type = inserted_text.length() > 1 ? @(ui::AXTextEditTypeInsert)
+                                                : @(ui::AXTextEditTypeTyping);
     NSMutableDictionary* change =
         [NSMutableDictionary dictionaryWithDictionary:@{
-          NSAccessibilityTextEditType : edit_type,
-          NSAccessibilityTextChangeValueLength : @(inserted_text.length()),
-          NSAccessibilityTextChangeValue :
+          ui::NSAccessibilityTextEditType : edit_type,
+          ui::NSAccessibilityTextChangeValueLength : @(inserted_text.length()),
+          ui::NSAccessibilityTextChangeValue :
               base::SysUTF16ToNSString(inserted_text)
         }];
     if (edit_text_marker) {
-      change[NSAccessibilityChangeValueStartMarker] = edit_text_marker;
+      change[ui::NSAccessibilityChangeValueStartMarker] = edit_text_marker;
     }
     [changes addObject:change];
   }
 
   return @{
-    NSAccessibilityTextStateChangeTypeKey : @(AXTextStateChangeTypeEdit),
-    NSAccessibilityTextChangeValues : changes,
-    NSAccessibilityTextChangeElement : native_node
+    ui::
+    NSAccessibilityTextStateChangeTypeKey : @(ui::AXTextStateChangeTypeEdit),
+    ui::NSAccessibilityTextChangeValues : changes,
+    ui::NSAccessibilityTextChangeElement : native_node
   };
 }
 
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
index 1cfdf6d7..22e46b05 100644
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -1640,9 +1640,16 @@
         // BrowsingInstances are registered in the process. Allow this for now,
         // to maintain legacy behavior, until we rule out all the ways it can
         // happen.
-        failure_reason =
-            base::StringPrintf("no BrowsingInstanceIds (max count %d)",
-                               security_state->max_browsing_instance_count());
+        // Since |security_state| is non-null (see above), and if it's not in
+        // the list |security_state_|, then it must have been moved to
+        // |pending_remove_state_| which indicates the associated process is
+        // being shut down.
+        bool shutting_down =
+            security_state_.find(child_id) == security_state_.end();
+        failure_reason = base::StringPrintf(
+            "no BrowsingInstanceIds (max count %d) shutdown:%s",
+            security_state->max_browsing_instance_count(),
+            shutting_down ? "y" : "n");
         LogCanAccessDataForOriginCrashKeys(
             expected_process_lock.ToString(),
             GetKilledProcessOriginLock(security_state), url.GetOrigin().spec(),
diff --git a/content/browser/media/video_decoder_proxy.cc b/content/browser/media/frameless_media_interface_proxy.cc
similarity index 65%
rename from content/browser/media/video_decoder_proxy.cc
rename to content/browser/media/frameless_media_interface_proxy.cc
index fb898a0..161e2437 100644
--- a/content/browser/media/video_decoder_proxy.cc
+++ b/content/browser/media/frameless_media_interface_proxy.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "content/browser/media/video_decoder_proxy.h"
+#include "content/browser/media/frameless_media_interface_proxy.h"
 
 #include "base/bind.h"
 #include "base/logging.h"
@@ -13,16 +13,16 @@
 
 namespace content {
 
-VideoDecoderProxy::VideoDecoderProxy() {
+FramelessMediaInterfaceProxy::FramelessMediaInterfaceProxy() {
   DVLOG(1) << __func__;
 }
 
-VideoDecoderProxy::~VideoDecoderProxy() {
+FramelessMediaInterfaceProxy::~FramelessMediaInterfaceProxy() {
   DVLOG(1) << __func__;
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
 }
 
-void VideoDecoderProxy::Add(
+void FramelessMediaInterfaceProxy::Add(
     mojo::PendingReceiver<media::mojom::InterfaceFactory> receiver) {
   DVLOG(1) << __func__;
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
@@ -30,10 +30,16 @@
   receivers_.Add(this, std::move(receiver));
 }
 
-void VideoDecoderProxy::CreateAudioDecoder(
-    mojo::PendingReceiver<media::mojom::AudioDecoder> receiver) {}
+void FramelessMediaInterfaceProxy::CreateAudioDecoder(
+    mojo::PendingReceiver<media::mojom::AudioDecoder> receiver) {
+  DVLOG(2) << __func__;
+  DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+  InterfaceFactory* factory = GetMediaInterfaceFactory();
+  if (factory)
+    factory->CreateAudioDecoder(std::move(receiver));
+}
 
-void VideoDecoderProxy::CreateVideoDecoder(
+void FramelessMediaInterfaceProxy::CreateVideoDecoder(
     mojo::PendingReceiver<media::mojom::VideoDecoder> receiver) {
   DVLOG(2) << __func__;
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
@@ -42,24 +48,24 @@
     factory->CreateVideoDecoder(std::move(receiver));
 }
 
-void VideoDecoderProxy::CreateDefaultRenderer(
+void FramelessMediaInterfaceProxy::CreateDefaultRenderer(
     const std::string& audio_device_id,
     mojo::PendingReceiver<media::mojom::Renderer> receiver) {}
 
 #if BUILDFLAG(ENABLE_CAST_RENDERER)
-void VideoDecoderProxy::CreateCastRenderer(
+void FramelessMediaInterfaceProxy::CreateCastRenderer(
     const base::UnguessableToken& overlay_plane_id,
     mojo::PendingReceiver<media::mojom::Renderer> receiver) {}
 #endif  // BUILDFLAG(ENABLE_CAST_RENDERER)
 
 #if defined(OS_ANDROID)
-void VideoDecoderProxy::CreateFlingingRenderer(
+void FramelessMediaInterfaceProxy::CreateFlingingRenderer(
     const std::string& audio_device_id,
     mojo::PendingRemote<media::mojom::FlingingRendererClientExtension>
         client_extenion,
     mojo::PendingReceiver<media::mojom::Renderer> receiver) {}
 
-void VideoDecoderProxy::CreateMediaPlayerRenderer(
+void FramelessMediaInterfaceProxy::CreateMediaPlayerRenderer(
     mojo::PendingRemote<media::mojom::MediaPlayerRendererClientExtension>
         client_extension_remote,
     mojo::PendingReceiver<media::mojom::Renderer> receiver,
@@ -67,14 +73,15 @@
         renderer_extension_receiver) {}
 #endif  // defined(OS_ANDROID)
 
-void VideoDecoderProxy::CreateCdm(const std::string& key_system,
-                                  const media::CdmConfig& cdm_config,
-                                  CreateCdmCallback callback) {
+void FramelessMediaInterfaceProxy::CreateCdm(const std::string& key_system,
+                                             const media::CdmConfig& cdm_config,
+                                             CreateCdmCallback callback) {
   std::move(callback).Run(mojo::NullRemote(), base::nullopt, mojo::NullRemote(),
                           "CDM creation not supported");
 }
 
-media::mojom::InterfaceFactory* VideoDecoderProxy::GetMediaInterfaceFactory() {
+media::mojom::InterfaceFactory*
+FramelessMediaInterfaceProxy::GetMediaInterfaceFactory() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
 
   if (!interface_factory_remote_)
@@ -83,7 +90,7 @@
   return interface_factory_remote_.get();
 }
 
-void VideoDecoderProxy::ConnectToMediaService() {
+void FramelessMediaInterfaceProxy::ConnectToMediaService() {
   DVLOG(1) << __func__;
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   DCHECK(!interface_factory_remote_);
@@ -94,12 +101,12 @@
   GetMediaService().CreateInterfaceFactory(
       interface_factory_remote_.BindNewPipeAndPassReceiver(),
       std::move(interfaces));
-  interface_factory_remote_.set_disconnect_handler(
-      base::BindOnce(&VideoDecoderProxy::OnMediaServiceConnectionError,
-                     base::Unretained(this)));
+  interface_factory_remote_.set_disconnect_handler(base::BindOnce(
+      &FramelessMediaInterfaceProxy::OnMediaServiceConnectionError,
+      base::Unretained(this)));
 }
 
-void VideoDecoderProxy::OnMediaServiceConnectionError() {
+void FramelessMediaInterfaceProxy::OnMediaServiceConnectionError() {
   DVLOG(1) << __func__;
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
 
diff --git a/content/browser/media/video_decoder_proxy.h b/content/browser/media/frameless_media_interface_proxy.h
similarity index 84%
rename from content/browser/media/video_decoder_proxy.h
rename to content/browser/media/frameless_media_interface_proxy.h
index d41b8fa5..bdb094bd 100644
--- a/content/browser/media/video_decoder_proxy.h
+++ b/content/browser/media/frameless_media_interface_proxy.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CONTENT_BROWSER_MEDIA_VIDEO_DECODER_PROXY_H_
-#define CONTENT_BROWSER_MEDIA_VIDEO_DECODER_PROXY_H_
+#ifndef CONTENT_BROWSER_MEDIA_FRAMELESS_MEDIA_INTERFACE_PROXY_H_
+#define CONTENT_BROWSER_MEDIA_FRAMELESS_MEDIA_INTERFACE_PROXY_H_
 
 #include <string>
 
@@ -24,14 +24,13 @@
 namespace content {
 
 // This implements the media::mojom::InterfaceFactory interface for a
-// RenderProcessHostImpl. Unlike MediaInterfaceProxy, only
-// CreateVideoDecoder() is implemented. This allows WebRTC to create
-// MojoVideoDecoder instances without a RenderFrame.
-class CONTENT_EXPORT VideoDecoderProxy final
+// RenderProcessHostImpl. It does not support creating services that require a
+// frame context (ie. CDMs and renderers).
+class CONTENT_EXPORT FramelessMediaInterfaceProxy final
     : public media::mojom::InterfaceFactory {
  public:
-  VideoDecoderProxy();
-  ~VideoDecoderProxy() final;
+  FramelessMediaInterfaceProxy();
+  ~FramelessMediaInterfaceProxy() final;
 
   void Add(mojo::PendingReceiver<media::mojom::InterfaceFactory> receiver);
 
@@ -77,9 +76,9 @@
   mojo::ReceiverSet<media::mojom::InterfaceFactory> receivers_;
 
   THREAD_CHECKER(thread_checker_);
-  DISALLOW_COPY_AND_ASSIGN(VideoDecoderProxy);
+  DISALLOW_COPY_AND_ASSIGN(FramelessMediaInterfaceProxy);
 };
 
 }  // namespace content
 
-#endif  // CONTENT_BROWSER_MEDIA_VIDEO_DECODER_PROXY_H_
+#endif  // CONTENT_BROWSER_MEDIA_FRAMELESS_MEDIA_INTERFACE_PROXY_H_
diff --git a/content/browser/process_internals/process_internals.mojom b/content/browser/process_internals/process_internals.mojom
index 1a9498e7..7109cb1f 100644
--- a/content/browser/process_internals/process_internals.mojom
+++ b/content/browser/process_internals/process_internals.mojom
@@ -27,6 +27,7 @@
 // Basic information describing a frame and all of its subframes.
 struct FrameInfo {
   int32 routing_id;
+  int32 agent_scheduling_group_id;
   int32 process_id;
 
   SiteInstanceInfo site_instance;
diff --git a/content/browser/process_internals/process_internals_handler_impl.cc b/content/browser/process_internals/process_internals_handler_impl.cc
index ad8b19e..5eed173 100644
--- a/content/browser/process_internals/process_internals_handler_impl.cc
+++ b/content/browser/process_internals/process_internals_handler_impl.cc
@@ -11,6 +11,7 @@
 #include "base/strings/string_piece.h"
 #include "content/browser/child_process_security_policy_impl.h"
 #include "content/browser/process_internals/process_internals.mojom.h"
+#include "content/browser/renderer_host/agent_scheduling_group_host.h"
 #include "content/browser/renderer_host/back_forward_cache_impl.h"
 #include "content/browser/renderer_host/navigation_controller_impl.h"
 #include "content/browser/renderer_host/navigation_entry_impl.h"
@@ -32,6 +33,8 @@
   auto frame_info = ::mojom::FrameInfo::New();
 
   frame_info->routing_id = frame->GetRoutingID();
+  frame_info->agent_scheduling_group_id =
+      frame->agent_scheduling_group().id_for_debugging();
   frame_info->process_id = frame->GetProcess()->GetID();
   frame_info->last_committed_url =
       frame->GetLastCommittedURL().is_valid()
diff --git a/content/browser/renderer_host/agent_scheduling_group_host.cc b/content/browser/renderer_host/agent_scheduling_group_host.cc
index 492dfe5c..7954769a 100644
--- a/content/browser/renderer_host/agent_scheduling_group_host.cc
+++ b/content/browser/renderer_host/agent_scheduling_group_host.cc
@@ -72,6 +72,11 @@
   return agent_group;
 }
 
+int32_t AgentSchedulingGroupHost::GetNextID() {
+  static int32_t next_id = 0;
+  return next_id++;
+}
+
 AgentSchedulingGroupHost::AgentSchedulingGroupHost(RenderProcessHost& process)
     : process_(process),
       association_mode_(base::FeatureList::IsEnabled(
diff --git a/content/browser/renderer_host/agent_scheduling_group_host.h b/content/browser/renderer_host/agent_scheduling_group_host.h
index db4e4d71..6993ca0 100644
--- a/content/browser/renderer_host/agent_scheduling_group_host.h
+++ b/content/browser/renderer_host/agent_scheduling_group_host.h
@@ -63,6 +63,8 @@
   // Returns |false| if any part of the initialization failed.
   bool Init();
 
+  int32_t id_for_debugging() const { return id_for_debugging_; }
+
   // IPC and mojo messages to be forwarded to the RenderProcessHost, for now. In
   // the future they will be handled directly by the AgentSchedulingGroupHost.
   // IPC:
@@ -136,6 +138,8 @@
 
   IPC::Listener* GetListener(int32_t routing_id);
 
+  static int32_t GetNextID();
+
   // The RenderProcessHost this AgentSchedulingGroup is assigned to.
   RenderProcessHost& process_;
 
@@ -152,6 +156,8 @@
   };
   const IPCAssociationMode association_mode_;
 
+  int32_t id_for_debugging_{GetNextID()};
+
   // This AgentSchedulingGroup's legacy IPC channel. Will only be used in
   // `kUnassociated` mode.
   std::unique_ptr<IPC::ChannelProxy> channel_;
diff --git a/content/browser/renderer_host/render_frame_host_delegate.cc b/content/browser/renderer_host/render_frame_host_delegate.cc
index e0c4e3d..bd009ae 100644
--- a/content/browser/renderer_host/render_frame_host_delegate.cc
+++ b/content/browser/renderer_host/render_frame_host_delegate.cc
@@ -35,7 +35,8 @@
     blink::mojom::ConsoleMessageLevel log_level,
     const base::string16& message,
     int32_t line_no,
-    const base::string16& source_id) {
+    const base::string16& source_id,
+    const base::Optional<base::string16>& untrusted_stack_trace) {
   return false;
 }
 
diff --git a/content/browser/renderer_host/render_frame_host_delegate.h b/content/browser/renderer_host/render_frame_host_delegate.h
index b021f59..6c064ca1 100644
--- a/content/browser/renderer_host/render_frame_host_delegate.h
+++ b/content/browser/renderer_host/render_frame_host_delegate.h
@@ -148,13 +148,16 @@
   // description of the semantics.
   virtual const GURL& GetMainFrameLastCommittedURL();
 
-  // A message was added to to the console.
+  // A message was added to to the console. |source_id| is a URL.
+  // |untrusted_stack_trace| is not present for most messages; only when
+  // requested in advance and only for exceptions.
   virtual bool DidAddMessageToConsole(
       RenderFrameHost* source_frame,
       blink::mojom::ConsoleMessageLevel log_level,
       const base::string16& message,
       int32_t line_no,
-      const base::string16& source_id);
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace);
 
   // Called when a RenderFrame for |render_frame_host| is created in the
   // renderer process. Use |RenderFrameDeleted| to listen for when this
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index f3b6d8f..25a84a7 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -2536,9 +2536,10 @@
     blink::mojom::ConsoleMessageLevel log_level,
     const base::string16& message,
     int32_t line_no,
-    const base::string16& source_id) {
+    const base::string16& source_id,
+    const base::Optional<base::string16>& untrusted_stack_trace) {
   if (delegate_->DidAddMessageToConsole(this, log_level, message, line_no,
-                                        source_id)) {
+                                        source_id, untrusted_stack_trace)) {
     return;
   }
 
diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h
index cacde05..3864910 100644
--- a/content/browser/renderer_host/render_frame_host_impl.h
+++ b/content/browser/renderer_host/render_frame_host_impl.h
@@ -2093,10 +2093,12 @@
   void CancelInitialHistoryLoad() override;
   void UpdateEncoding(const std::string& encoding) override;
   void FrameSizeChanged(const gfx::Size& frame_size) override;
-  void DidAddMessageToConsole(blink::mojom::ConsoleMessageLevel log_level,
-                              const base::string16& message,
-                              int32_t line_no,
-                              const base::string16& source_id) override;
+  void DidAddMessageToConsole(
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& message,
+      int32_t line_no,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) override;
   void UpdateState(const blink::PageState& state) override;
   void OpenURL(mojom::OpenURLParamsPtr params) override;
   void DidStopLoading() override;
diff --git a/content/browser/renderer_host/render_frame_host_manager_browsertest.cc b/content/browser/renderer_host/render_frame_host_manager_browsertest.cc
index 1580c002..37b5582 100644
--- a/content/browser/renderer_host/render_frame_host_manager_browsertest.cc
+++ b/content/browser/renderer_host/render_frame_host_manager_browsertest.cc
@@ -31,6 +31,7 @@
 #include "build/build_config.h"
 #include "components/network_session_configurator/common/network_switches.h"
 #include "content/browser/child_process_security_policy_impl.h"
+#include "content/browser/renderer_host/frame_tree_node.h"
 #include "content/browser/renderer_host/navigation_request.h"
 #include "content/browser/renderer_host/render_frame_host_impl.h"
 #include "content/browser/renderer_host/render_frame_proxy_host.h"
@@ -300,6 +301,8 @@
   }
 
  protected:
+  void AssertCanRemoveSubframeInUnload(bool same_site);
+
   std::string foo_com_;
   GURL::Replacements replace_host_;
   net::HostPortPair foo_host_port_;
@@ -9078,6 +9081,62 @@
   ASSERT_TRUE(NavigateToURL(shell2->web_contents(), url));
 }
 
+// With RenderDocument for subframes, removing a frame while it is executing
+// its own unload handler caused a crash. https://crbug.com/1148793
+IN_PROC_BROWSER_TEST_P(RenderFrameHostManagerTest,
+                       RemoveSubframeInUnload_SameSite) {
+  // TODO(https://crbug.com/1148793): Remove this early return.
+  if (ShouldCreateNewHostForSameSiteSubframe())
+    return;
+  AssertCanRemoveSubframeInUnload(/*same_site=*/true);
+}
+
+// See RemoveSubframeInUnload_SameSite
+IN_PROC_BROWSER_TEST_P(RenderFrameHostManagerTest,
+                       RemoveSubframeInUnload_CrossSite) {
+  AssertCanRemoveSubframeInUnload(/*same_site=*/false);
+}
+
+// See RemoveSubframeInUnload_SameSite
+void RenderFrameHostManagerTest::AssertCanRemoveSubframeInUnload(
+    bool same_site) {
+  StartEmbeddedServer();
+
+  // Create a page with a subframe.
+  GURL frame_url(embedded_test_server()->GetURL(
+      "a.com", "/cross_site_iframe_factory.html?a(a)"));
+  ASSERT_TRUE(NavigateToURL(shell(), frame_url));
+
+  // Set up the subframe's unload handler to remove the subframe.
+  ASSERT_TRUE(ExecuteScript(shell(), R"(
+    const subframe = document.getElementById("child-0");
+    subframe.contentWindow.onunload = () => {
+      subframe.remove();
+    }
+  )"));
+
+  // Navigate the subframe, triggering unload.
+  WebContentsImpl* web_contents =
+      static_cast<WebContentsImpl*>(shell()->web_contents());
+
+  FrameTreeNode* subframe = web_contents->GetMainFrame()->child_at(0);
+  RenderFrameDeletedObserver observer(
+      subframe->render_manager()->current_frame_host());
+
+  GURL other_url(embedded_test_server()->GetURL(same_site ? "a.com" : "b.com",
+                                                "/title1.html"));
+  // The navigation will remove the frame that was navigating. Various Navigate
+  // helpers run into problems with this because there is no successful commit
+  // nor is there a DidStopLoading (because the destination frame should not
+  // load at all). So instead we start the Navigation and just wait for the
+  // deletion.
+  ASSERT_TRUE(ExecJs(subframe, JsReplace("location = $1", other_url)));
+  observer.WaitUntilDeleted();
+
+  // The subframe has been removed.
+  EXPECT_EQ(0UL, web_contents->GetMainFrame()->child_count());
+}
+
 INSTANTIATE_TEST_SUITE_P(All,
                          RenderFrameHostManagerTest,
                          testing::ValuesIn(RenderDocumentFeatureLevelValues()));
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 111e5768..c695b50 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -2480,7 +2480,7 @@
 
   AddUIThreadInterface(
       registry.get(),
-      base::BindRepeating(&RenderProcessHostImpl::BindVideoDecoderService,
+      base::BindRepeating(&RenderProcessHostImpl::BindMediaInterfaceProxy,
                           weak_factory_.GetWeakPtr()));
 
   AddUIThreadInterface(
@@ -2560,11 +2560,11 @@
   }
 }
 
-void RenderProcessHostImpl::BindVideoDecoderService(
+void RenderProcessHostImpl::BindMediaInterfaceProxy(
     mojo::PendingReceiver<media::mojom::InterfaceFactory> receiver) {
-  if (!video_decoder_proxy_)
-    video_decoder_proxy_.reset(new VideoDecoderProxy());
-  video_decoder_proxy_->Add(std::move(receiver));
+  if (!media_interface_proxy_)
+    media_interface_proxy_ = std::make_unique<FramelessMediaInterfaceProxy>();
+  media_interface_proxy_->Add(std::move(receiver));
 }
 
 void RenderProcessHostImpl::BindWebDatabaseHostImpl(
diff --git a/content/browser/renderer_host/render_process_host_impl.h b/content/browser/renderer_host/render_process_host_impl.h
index b2f3224..8a2dea9 100644
--- a/content/browser/renderer_host/render_process_host_impl.h
+++ b/content/browser/renderer_host/render_process_host_impl.h
@@ -33,8 +33,8 @@
 #include "build/chromeos_buildflags.h"
 #include "content/browser/child_process_launcher.h"
 #include "content/browser/dom_storage/session_storage_namespace_impl.h"
+#include "content/browser/media/frameless_media_interface_proxy.h"
 #include "content/browser/media/media_internals.h"
-#include "content/browser/media/video_decoder_proxy.h"
 #include "content/browser/renderer_host/embedded_frame_sink_provider_impl.h"
 #include "content/browser/renderer_host/media/aec_dump_manager_impl.h"
 #include "content/browser/tracing/tracing_service_controller.h"
@@ -773,7 +773,7 @@
       mojo::PendingReceiver<blink::mojom::CodeCacheHost> receiver);
   void CreateRendererHost(
       mojo::PendingAssociatedReceiver<mojom::RendererHost> receiver);
-  void BindVideoDecoderService(
+  void BindMediaInterfaceProxy(
       mojo::PendingReceiver<media::mojom::InterfaceFactory> receiver);
   void BindWebDatabaseHostImpl(
       mojo::PendingReceiver<blink::mojom::WebDatabaseHost> receiver);
@@ -1117,7 +1117,7 @@
 
   std::unique_ptr<AgentMetricsCollectorHost> agent_metrics_collector_host_;
 
-  std::unique_ptr<VideoDecoderProxy> video_decoder_proxy_;
+  std::unique_ptr<FramelessMediaInterfaceProxy> media_interface_proxy_;
 
   // Forwards messages between WebRTCInternals in the browser process
   // and PeerConnectionTracker in the renderer process.
diff --git a/content/browser/resources/process/process_internals.html b/content/browser/resources/process/process_internals.html
index fdebf2b..21ba2fe 100644
--- a/content/browser/resources/process/process_internals.html
+++ b/content/browser/resources/process/process_internals.html
@@ -45,7 +45,7 @@
       <div id="tree-view-container">
         <button id="refresh-button">Refresh</button>
         <div>Legend:</div>
-        <div>Frame[<i>process_id</i>:<i>routing_id</i>]:
+        <div>Frame[<i>process_id</i>:<i>routing_id</i>:<i>agent_scheduling_group_id</i>]:
           SI:<i>site_instance_id</i>, <i>whether process is locked to a
             site</i>, site: <i>site_url</i> | url:
           <i>last_committed_url</i>
diff --git a/content/browser/resources/process/process_internals.js b/content/browser/resources/process/process_internals.js
index 782f193..af659f7 100644
--- a/content/browser/resources/process/process_internals.js
+++ b/content/browser/resources/process/process_internals.js
@@ -87,7 +87,8 @@
  */
 function frameToTreeItem(frame) {
   // Compose the string which will appear in the entry for this frame.
-  let itemLabel = `Frame[${frame.processId}:${frame.routingId}]:`;
+  let itemLabel = `Frame[${frame.processId}:${frame.routingId}:${
+    frame.agentSchedulingGroupId}]:`;
   if (frame.isBfcached) {
     itemLabel += ` bfcached`;
   }
diff --git a/content/browser/service_worker/service_worker_registry.cc b/content/browser/service_worker/service_worker_registry.cc
index 12dedd8..3cd00f4 100644
--- a/content/browser/service_worker/service_worker_registry.cc
+++ b/content/browser/service_worker/service_worker_registry.cc
@@ -22,7 +22,6 @@
 #include "content/common/service_worker/service_worker_utils.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
-#include "mojo/public/cpp/bindings/callback_helpers.h"
 #include "storage/browser/quota/quota_manager_proxy.h"
 #include "storage/browser/quota/special_storage_policy.h"
 #include "third_party/blink/public/common/service_worker/service_worker_scope_match.h"
@@ -93,6 +92,21 @@
 
 }  // namespace
 
+using Invoker = base::RepeatingCallback<void(ServiceWorkerRegistry*)>;
+
+class ServiceWorkerRegistry::InflightCallWithInvoker
+    : public ServiceWorkerRegistry::InflightCall {
+ public:
+  explicit InflightCallWithInvoker(Invoker invoker)
+      : invoker_(std::move(invoker)) {}
+  ~InflightCallWithInvoker() override = default;
+
+  void Run(ServiceWorkerRegistry* registry) override { invoker_.Run(registry); }
+
+ private:
+  Invoker invoker_;
+};
+
 // A helper class that runs on the IO thread to observe storage policy updates.
 class ServiceWorkerRegistry::StoragePolicyObserver
     : public storage::SpecialStoragePolicy::Observer {
@@ -232,61 +246,14 @@
     int64_t registration_id,
     const url::Origin& origin,
     FindRegistrationCallback callback) {
-  DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
-  // Registration lookup is expected to abort when storage is disabled.
-  if (is_storage_disabled_) {
-    CompleteFindNow(nullptr, blink::ServiceWorkerStatusCode::kErrorAbort,
-                    std::move(callback));
-    return;
-  }
-
-  // Lookup live registration first.
-  base::Optional<scoped_refptr<ServiceWorkerRegistration>> registration =
-      FindFromLiveRegistrationsForId(registration_id);
-  if (registration) {
-    blink::ServiceWorkerStatusCode status =
-        registration.value() ? blink::ServiceWorkerStatusCode::kOk
-                             : blink::ServiceWorkerStatusCode::kErrorNotFound;
-    CompleteFindNow(std::move(registration.value()), status,
-                    std::move(callback));
-    return;
-  }
-
-  GetRemoteStorageControl()->FindRegistrationForId(
-      registration_id, origin,
-      base::BindOnce(&ServiceWorkerRegistry::DidFindRegistrationForId,
-                     weak_factory_.GetWeakPtr(), registration_id,
-                     std::move(callback)));
+  FindRegistrationForIdInternal(registration_id, origin, std::move(callback));
 }
 
 void ServiceWorkerRegistry::FindRegistrationForIdOnly(
     int64_t registration_id,
     FindRegistrationCallback callback) {
-  DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
-  // Registration lookup is expected to abort when storage is disabled.
-  if (is_storage_disabled_) {
-    CompleteFindNow(nullptr, blink::ServiceWorkerStatusCode::kErrorAbort,
-                    std::move(callback));
-    return;
-  }
-
-  // Lookup live registration first.
-  base::Optional<scoped_refptr<ServiceWorkerRegistration>> registration =
-      FindFromLiveRegistrationsForId(registration_id);
-  if (registration) {
-    blink::ServiceWorkerStatusCode status =
-        registration.value() ? blink::ServiceWorkerStatusCode::kOk
-                             : blink::ServiceWorkerStatusCode::kErrorNotFound;
-    CompleteFindNow(std::move(registration.value()), status,
-                    std::move(callback));
-    return;
-  }
-
-  GetRemoteStorageControl()->FindRegistrationForId(
-      registration_id, /*origin=*/base::nullopt,
-      base::BindOnce(&ServiceWorkerRegistry::DidFindRegistrationForId,
-                     weak_factory_.GetWeakPtr(), registration_id,
-                     std::move(callback)));
+  FindRegistrationForIdInternal(registration_id, /*origin=*/base::nullopt,
+                                std::move(callback));
 }
 
 void ServiceWorkerRegistry::GetRegistrationsForOrigin(
@@ -303,17 +270,11 @@
     const url::Origin& origin,
     GetStorageUsageForOriginCallback callback) {
   DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
-  // TODO(crbug.com/1133143): Consider handling disconnection error without
-  // using WrapCallbackWithDefaultInvokeIfNotRun() as it can easily lead to
-  // surprising behavior in the destructor.
-  GetRemoteStorageControl()->GetUsageForOrigin(
-      origin,
-      mojo::WrapCallbackWithDefaultInvokeIfNotRun(
-          base::BindOnce(&ServiceWorkerRegistry::DidGetStorageUsageForOrigin,
-                         weak_factory_.GetWeakPtr(), std::move(callback)),
-          storage::mojom::ServiceWorkerDatabaseStatus::
-              kErrorStorageDisconnected,
-          /*usage=*/0));
+  CreateInvokerAndStartRemoteCall(
+      &storage::mojom::ServiceWorkerStorageControl::GetUsageForOrigin,
+      base::BindRepeating(&ServiceWorkerRegistry::DidGetStorageUsageForOrigin,
+                          weak_factory_.GetWeakPtr(), base::Passed(&callback)),
+      origin);
 }
 
 void ServiceWorkerRegistry::GetAllRegistrationsInfos(
@@ -693,6 +654,37 @@
   }
 }
 
+void ServiceWorkerRegistry::FindRegistrationForIdInternal(
+    int64_t registration_id,
+    const base::Optional<url::Origin>& origin,
+    FindRegistrationCallback callback) {
+  DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
+  // Registration lookup is expected to abort when storage is disabled.
+  if (is_storage_disabled_) {
+    CompleteFindNow(nullptr, blink::ServiceWorkerStatusCode::kErrorAbort,
+                    std::move(callback));
+    return;
+  }
+
+  // Lookup live registration first.
+  base::Optional<scoped_refptr<ServiceWorkerRegistration>> registration =
+      FindFromLiveRegistrationsForId(registration_id);
+  if (registration) {
+    blink::ServiceWorkerStatusCode status =
+        registration.value() ? blink::ServiceWorkerStatusCode::kOk
+                             : blink::ServiceWorkerStatusCode::kErrorNotFound;
+    CompleteFindNow(std::move(registration.value()), status,
+                    std::move(callback));
+    return;
+  }
+
+  GetRemoteStorageControl()->FindRegistrationForId(
+      registration_id, origin,
+      base::BindOnce(&ServiceWorkerRegistry::DidFindRegistrationForId,
+                     weak_factory_.GetWeakPtr(), registration_id,
+                     std::move(callback)));
+}
+
 ServiceWorkerRegistration*
 ServiceWorkerRegistry::FindInstallingRegistrationForClientUrl(
     const GURL& client_url) {
@@ -1077,8 +1069,11 @@
 
 void ServiceWorkerRegistry::DidGetStorageUsageForOrigin(
     GetStorageUsageForOriginCallback callback,
+    uint64_t call_id,
     storage::mojom::ServiceWorkerDatabaseStatus database_status,
     int64_t usage) {
+  DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
+  FinishRemoteCall(call_id);
   blink::ServiceWorkerStatusCode status =
       DatabaseStatusToStatusCode(database_status);
   std::move(callback).Run(status, usage);
@@ -1385,8 +1380,58 @@
 
   recovery_retry_counts_ = 0;
   connection_state_ = ConnectionState::kNormal;
-  // TODO(crbug.com/1133143): Retry mojo method calls which are invoked during
-  // recovery steps.
+
+  // Retry inflight calls.
+  if (inflight_calls_.size() > 0)
+    inflight_calls_.begin()->second->Run(this);
+}
+
+uint64_t ServiceWorkerRegistry::GetNextCallId() {
+  return next_call_id_++;
+}
+
+void ServiceWorkerRegistry::StartRemoteCall(
+    uint64_t call_id,
+    std::unique_ptr<InflightCall> call) {
+  DCHECK(!base::Contains(inflight_calls_, call_id));
+  inflight_calls_[call_id] = std::move(call);
+  if (connection_state_ == ConnectionState::kNormal &&
+      inflight_calls_.size() == 1) {
+    // There are no inflight calls. Start the current one.
+    inflight_calls_.begin()->second->Run(this);
+  }
+}
+
+void ServiceWorkerRegistry::FinishRemoteCall(uint64_t call_id) {
+  DCHECK(base::Contains(inflight_calls_, call_id));
+  inflight_calls_.erase(call_id);
+  // Start the next call if any.
+  if (inflight_calls_.size() > 0)
+    inflight_calls_.begin()->second->Run(this);
+}
+
+template <typename T>
+using PassingType = std::conditional_t<std::is_scalar<T>::value, T, T&&>;
+
+template <typename Functor, typename... Args, typename... CallbackArgs>
+void ServiceWorkerRegistry::CreateInvokerAndStartRemoteCall(
+    Functor f,
+    base::RepeatingCallback<void(CallbackArgs...)> callback,
+    Args&&... args) {
+  uint64_t call_id = GetNextCallId();
+  auto callback_with_id = base::BindRepeating(std::move(callback), call_id);
+  auto invoker = base::BindRepeating(
+      [](Functor f, decltype(callback_with_id) callback_with_id,
+         PassingType<Args>... args, ServiceWorkerRegistry* registry) {
+        DCHECK(registry);
+        DCHECK(registry->GetRemoteStorageControl().is_connected());
+        auto* storage_control = registry->GetRemoteStorageControl().get();
+        ((*storage_control).*f)(std::forward<Args>(args)..., callback_with_id);
+      },
+      f, std::move(callback_with_id), std::forward<Args>(args)...);
+
+  StartRemoteCall(
+      call_id, std::make_unique<InflightCallWithInvoker>(std::move(invoker)));
 }
 
 }  // namespace content
diff --git a/content/browser/service_worker/service_worker_registry.h b/content/browser/service_worker/service_worker_registry.h
index d1ad3ea..16e533f 100644
--- a/content/browser/service_worker/service_worker_registry.h
+++ b/content/browser/service_worker/service_worker_registry.h
@@ -7,6 +7,7 @@
 
 #include <memory>
 
+#include "base/containers/flat_map.h"
 #include "base/files/file_path.h"
 #include "base/memory/scoped_refptr.h"
 #include "base/threading/sequence_bound.h"
@@ -251,6 +252,10 @@
 
   void Start();
 
+  void FindRegistrationForIdInternal(int64_t registration_id,
+                                     const base::Optional<url::Origin>& origin,
+                                     FindRegistrationCallback callback);
+
   ServiceWorkerRegistration* FindInstallingRegistrationForClientUrl(
       const GURL& client_url);
   ServiceWorkerRegistration* FindInstallingRegistrationForScope(
@@ -300,6 +305,7 @@
       RegistrationList registration_data_list);
   void DidGetStorageUsageForOrigin(
       GetStorageUsageForOriginCallback callback,
+      uint64_t call_id,
       storage::mojom::ServiceWorkerDatabaseStatus database_status,
       int64_t usage);
 
@@ -367,6 +373,51 @@
 
   void DidRecover();
 
+  // Represents an inflight mojo remote call. Used to support retry.
+  class InflightCall {
+   public:
+    virtual ~InflightCall() = default;
+
+    virtual void Run(ServiceWorkerRegistry* registry) = 0;
+  };
+
+  // An InflightCall implementation which uses a base::RepeatingClosure. Used to
+  // represent a mojo remote call of which parameters are copyable.
+  class InflightCallWithInvoker;
+
+  uint64_t GetNextCallId();
+  void StartRemoteCall(uint64_t call_id, std::unique_ptr<InflightCall> call);
+  void FinishRemoteCall(uint64_t call_id);
+
+  // A helper function to call a mojo remote call of which arguments are
+  // copyable. Creates an InflightCallWithInvoker and starts the call.
+  // `callback` will receive the associated call id and it needs to call
+  // FinishRemoteCall() with the call id.
+  // Example:
+  //
+  //   (in mojom)
+  //   Foo(int64 arg1, int64 arg2) => (ServiceWorkerDatabaseStatus status);
+  //
+  //   CreateInvokerAndStartRemoteCall(
+  //       &storage::mojom::ServiceWorkerStorageControl::Foo,
+  //       base::BindRepeating(&ServiceWorkerRegistry::DidFoo,
+  //                            weak_factory_.GetWeakPtr(),
+  //                            base::Passed(&callback)),
+  //       arg1, arg2);
+  //
+  //   void ServiceWorkerRegistry::DidFoo(
+  //       FooCallback callback,
+  //       uint64_t call_id,
+  //       storage::mojom::ServiceWorkerDatabaseStatus status) {
+  //     FinishRemoteCall(call_id);
+  //     // ...
+  //   }
+  template <typename Functor, typename... Args, typename... CallbackArgs>
+  void CreateInvokerAndStartRemoteCall(
+      Functor f,
+      base::RepeatingCallback<void(CallbackArgs...)> callback,
+      Args&&... args);
+
   // The ServiceWorkerContextCore object must outlive this.
   ServiceWorkerContextCore* const context_;
 
@@ -412,6 +463,9 @@
   ConnectionState connection_state_ = ConnectionState::kNormal;
   size_t recovery_retry_counts_ = 0;
 
+  uint64_t next_call_id_ = 0;
+  base::flat_map<uint64_t, std::unique_ptr<InflightCall>> inflight_calls_;
+
   base::WeakPtrFactory<ServiceWorkerRegistry> weak_factory_{this};
 };
 
diff --git a/content/browser/service_worker/service_worker_registry_unittest.cc b/content/browser/service_worker/service_worker_registry_unittest.cc
index 6cb3776..3be92f5 100644
--- a/content/browser/service_worker/service_worker_registry_unittest.cc
+++ b/content/browser/service_worker/service_worker_registry_unittest.cc
@@ -1263,11 +1263,10 @@
   // This will disconnect mojo connection of the remote storage.
   registry()->SimulateStorageRestartForTesting();
 
+  // The connection should be recovered and inflight calls should be retried
+  // automatically.
   result = GetStorageUsageForOrigin(kOrigin);
-  ASSERT_EQ(result.status,
-            blink::ServiceWorkerStatusCode::kErrorStorageDisconnected);
-
-  // The connection should be recovered automatically.
+  ASSERT_EQ(result.status, blink::ServiceWorkerStatusCode::kOk);
   result = GetStorageUsageForOrigin(kOrigin);
   ASSERT_EQ(result.status, blink::ServiceWorkerStatusCode::kOk);
 }
diff --git a/content/browser/speech/speech_synthesis_impl.cc b/content/browser/speech/speech_synthesis_impl.cc
index e46103b..a3514be 100644
--- a/content/browser/speech/speech_synthesis_impl.cc
+++ b/content/browser/speech/speech_synthesis_impl.cc
@@ -129,7 +129,7 @@
   tts_utterance->SetText(utterance->text);
   tts_utterance->SetLang(utterance->lang);
   tts_utterance->SetVoiceName(utterance->voice);
-  tts_utterance->SetCanEnqueue(true);
+  tts_utterance->SetShouldClearQueue(false);
   tts_utterance->SetContinuousParameters(utterance->rate, utterance->pitch,
                                          utterance->volume);
 
diff --git a/content/browser/speech/tts_controller_impl.cc b/content/browser/speech/tts_controller_impl.cc
index 84967c5..4ed83ff 100644
--- a/content/browser/speech/tts_controller_impl.cc
+++ b/content/browser/speech/tts_controller_impl.cc
@@ -133,25 +133,23 @@
   // engine implementation. Every utterances are postponed until the platform
   // specific implementation is loaded to avoid racy behaviors.
   if (TtsPlatformLoading()) {
-    bool can_enqueue = utterance->GetCanEnqueue();
-    if (!can_enqueue)
+    if (utterance->GetShouldClearQueue())
       ClearUtteranceQueue(true);
 
     utterance_list_.emplace_back(std::move(utterance));
-
     return;
   }
 
   // If we're paused and we get an utterance that can't be queued,
   // flush the queue but stay in the paused state.
-  if (paused_ && !utterance->GetCanEnqueue()) {
+  if (paused_ && utterance->GetShouldClearQueue()) {
     Stop();
     utterance_list_.emplace_back(std::move(utterance));
     paused_ = true;
     return;
   }
 
-  if (paused_ || (IsSpeaking() && utterance->GetCanEnqueue())) {
+  if (paused_ || (IsSpeaking() && !utterance->GetShouldClearQueue())) {
     utterance_list_.emplace_back(std::move(utterance));
   } else {
     Stop();
diff --git a/content/browser/speech/tts_controller_unittest.cc b/content/browser/speech/tts_controller_unittest.cc
index b84fe3e0..c1d7ae168 100644
--- a/content/browser/speech/tts_controller_unittest.cc
+++ b/content/browser/speech/tts_controller_unittest.cc
@@ -232,12 +232,12 @@
 
 TEST_F(TtsControllerTest, TestTtsControllerShutdown) {
   std::unique_ptr<TtsUtterance> utterance1 = TtsUtterance::Create();
-  utterance1->SetCanEnqueue(true);
+  utterance1->SetShouldClearQueue(false);
   utterance1->SetSrcId(1);
   controller()->SpeakOrEnqueue(std::move(utterance1));
 
   std::unique_ptr<TtsUtterance> utterance2 = TtsUtterance::Create();
-  utterance2->SetCanEnqueue(true);
+  utterance2->SetShouldClearQueue(false);
   utterance2->SetSrcId(2);
   controller()->SpeakOrEnqueue(std::move(utterance2));
 
@@ -259,7 +259,7 @@
   std::unique_ptr<TtsUtterance> utterance1 =
       TtsUtterance::Create(browser_context());
   utterance1->SetEngineId("x");
-  utterance1->SetCanEnqueue(true);
+  utterance1->SetShouldClearQueue(false);
   utterance1->SetSrcId(1);
   controller()->SpeakOrEnqueue(std::move(utterance1));
 
@@ -271,7 +271,7 @@
   std::unique_ptr<TtsUtterance> utterance2 =
       TtsUtterance::Create(browser_context());
   utterance2->SetEngineId("x");
-  utterance2->SetCanEnqueue(true);
+  utterance2->SetShouldClearQueue(false);
   utterance2->SetSrcId(2);
   controller()->SpeakOrEnqueue(std::move(utterance2));
 
@@ -487,7 +487,7 @@
   void* raw_utterance1 = utterance1.get();
   std::unique_ptr<TtsUtteranceImpl> utterance2 =
       CreateUtteranceImpl(web_contents2.get());
-  utterance2->SetCanEnqueue(true);
+  utterance2->SetShouldClearQueue(false);
   void* raw_utterance2 = utterance2.get();
 
   controller()->SpeakOrEnqueue(std::move(utterance1));
@@ -514,8 +514,8 @@
   std::unique_ptr<TtsUtteranceImpl> utterance3 =
       CreateUtteranceImpl(web_contents2.get());
   void* raw_utterance3 = utterance3.get();
-  utterance2->SetCanEnqueue(true);
-  utterance3->SetCanEnqueue(true);
+  utterance2->SetShouldClearQueue(false);
+  utterance3->SetShouldClearQueue(false);
 
   controller()->SpeakOrEnqueue(std::move(utterance1));
   controller()->SpeakOrEnqueue(std::move(utterance2));
@@ -566,7 +566,7 @@
   const int utterance1_id = utterance1->GetId();
   std::unique_ptr<TtsUtteranceImpl> utterance2 =
       CreateUtteranceImpl(web_contents2.get());
-  utterance2->SetCanEnqueue(true);
+  utterance2->SetShouldClearQueue(false);
 
   controller()->SpeakOrEnqueue(std::move(utterance1));
   EXPECT_TRUE(TtsControllerCurrentUtterance());
@@ -600,7 +600,7 @@
   std::unique_ptr<WebContents> web_contents = CreateWebContents();
   std::unique_ptr<TtsUtteranceImpl> utterance =
       CreateUtteranceImpl(web_contents.get());
-  utterance->SetCanEnqueue(true);
+  utterance->SetShouldClearQueue(false);
 
   // Start speaking an utterance.
   controller()->SpeakOrEnqueue(std::move(utterance));
@@ -640,7 +640,7 @@
   std::unique_ptr<WebContents> web_contents = CreateWebContents();
   std::unique_ptr<TtsUtteranceImpl> utterance =
       CreateUtteranceImpl(web_contents.get());
-  utterance->SetCanEnqueue(true);
+  utterance->SetShouldClearQueue(false);
 
   // Pause the controller.
   controller()->Pause();
@@ -676,7 +676,7 @@
   std::unique_ptr<WebContents> web_contents = CreateWebContents();
   std::unique_ptr<TtsUtteranceImpl> utterance1 =
       CreateUtteranceImpl(web_contents.get());
-  utterance1->SetCanEnqueue(false);
+  utterance1->SetShouldClearQueue(true);
 
   // Pause the controller.
   controller()->Pause();
@@ -693,7 +693,7 @@
   // and the second utterance must be queued with the first also queued.
   std::unique_ptr<TtsUtteranceImpl> utterance2 =
       CreateUtteranceImpl(web_contents.get());
-  utterance2->SetCanEnqueue(true);
+  utterance2->SetShouldClearQueue(false);
 
   controller()->SpeakOrEnqueue(std::move(utterance2));
   EXPECT_TRUE(controller()->IsPausedForTesting());
@@ -705,7 +705,7 @@
   // enqueue the new utterance.
   std::unique_ptr<TtsUtteranceImpl> utterance3 =
       CreateUtteranceImpl(web_contents.get());
-  utterance3->SetCanEnqueue(false);
+  utterance3->SetShouldClearQueue(true);
 
   controller()->SpeakOrEnqueue(std::move(utterance3));
   EXPECT_TRUE(controller()->IsPausedForTesting());
@@ -722,7 +722,7 @@
   std::unique_ptr<WebContents> web_contents = CreateWebContents();
   std::unique_ptr<TtsUtteranceImpl> utterance =
       CreateUtteranceImpl(web_contents.get());
-  utterance->SetCanEnqueue(true);
+  utterance->SetShouldClearQueue(false);
 
   // Speak an utterance while controller is paused. The utterance is queued.
   controller()->SpeakOrEnqueue(std::move(utterance));
@@ -747,7 +747,7 @@
   std::unique_ptr<WebContents> web_contents = CreateWebContents();
   std::unique_ptr<TtsUtteranceImpl> utterance =
       CreateUtteranceImpl(web_contents.get());
-  utterance->SetCanEnqueue(true);
+  utterance->SetShouldClearQueue(false);
 
   // Pause the controller.
   controller()->Pause();
@@ -796,7 +796,7 @@
   std::unique_ptr<WebContents> web_contents = CreateWebContents();
   std::unique_ptr<TtsUtteranceImpl> utterance =
       CreateUtteranceImpl(web_contents.get());
-  utterance->SetCanEnqueue(true);
+  utterance->SetShouldClearQueue(false);
 
   // Speak an utterance while platform is loading, the utterance should be
   // queued.
diff --git a/content/browser/speech/tts_utterance_impl.cc b/content/browser/speech/tts_utterance_impl.cc
index 20d442a..a30b374 100644
--- a/content/browser/speech/tts_utterance_impl.cc
+++ b/content/browser/speech/tts_utterance_impl.cc
@@ -63,7 +63,7 @@
       was_created_with_web_contents_(web_contents != nullptr),
       id_(next_utterance_id_++),
       src_id_(-1),
-      can_enqueue_(false),
+      should_clear_queue_(true),
       char_index_(0),
       finished_(false) {
   options_.reset(new base::DictionaryValue());
@@ -155,12 +155,12 @@
   return continuous_parameters_;
 }
 
-void TtsUtteranceImpl::SetCanEnqueue(bool can_enqueue) {
-  can_enqueue_ = can_enqueue;
+void TtsUtteranceImpl::SetShouldClearQueue(bool value) {
+  should_clear_queue_ = value;
 }
 
-bool TtsUtteranceImpl::GetCanEnqueue() {
-  return can_enqueue_;
+bool TtsUtteranceImpl::GetShouldClearQueue() {
+  return should_clear_queue_;
 }
 
 void TtsUtteranceImpl::SetRequiredEventTypes(
diff --git a/content/browser/speech/tts_utterance_impl.h b/content/browser/speech/tts_utterance_impl.h
index 2b54961..80f3e11 100644
--- a/content/browser/speech/tts_utterance_impl.h
+++ b/content/browser/speech/tts_utterance_impl.h
@@ -62,8 +62,8 @@
                                const double volume) override;
   const UtteranceContinuousParameters& GetContinuousParameters() override;
 
-  void SetCanEnqueue(bool can_enqueue) override;
-  bool GetCanEnqueue() override;
+  void SetShouldClearQueue(bool value) override;
+  bool GetShouldClearQueue() override;
 
   void SetRequiredEventTypes(const std::set<TtsEventType>& types) override;
   const std::set<TtsEventType>& GetRequiredEventTypes() override;
@@ -123,7 +123,7 @@
   std::string voice_name_;
   std::string lang_;
   UtteranceContinuousParameters continuous_parameters_;
-  bool can_enqueue_;
+  bool should_clear_queue_;
   std::set<TtsEventType> required_event_types_;
   std::set<TtsEventType> desired_event_types_;
 
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 5316137..9712955 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -7525,13 +7525,15 @@
     blink::mojom::ConsoleMessageLevel log_level,
     const base::string16& message,
     int32_t line_no,
-    const base::string16& source_id) {
+    const base::string16& source_id,
+    const base::Optional<base::string16>& untrusted_stack_trace) {
   OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::DidAddMessageToConsole",
                         "message", base::trace_event::ValueToString(message));
 
   observers_.ForEachObserver([&](WebContentsObserver* observer) {
     observer->OnDidAddMessageToConsole(source_frame, log_level, message,
-                                       line_no, source_id);
+                                       line_no, source_id,
+                                       untrusted_stack_trace);
   });
 
   if (!delegate_)
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 42d5594..657521fc 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -784,11 +784,13 @@
                             int error_code) override;
   void RenderViewDeleted(RenderViewHost* render_view_host) override;
   void Close(RenderViewHost* render_view_host) override;
-  bool DidAddMessageToConsole(RenderFrameHost* source_frame,
-                              blink::mojom::ConsoleMessageLevel log_level,
-                              const base::string16& message,
-                              int32_t line_no,
-                              const base::string16& source_id) override;
+  bool DidAddMessageToConsole(
+      RenderFrameHost* source_frame,
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& message,
+      int32_t line_no,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) override;
   const blink::RendererPreferences& GetRendererPrefs() const override;
   void DidReceiveInputEvent(RenderWidgetHostImpl* render_widget_host,
                             const blink::WebInputEvent& event) override;
diff --git a/content/browser/webauth/authenticator_impl_unittest.cc b/content/browser/webauth/authenticator_impl_unittest.cc
index e2c9da60..eac83138 100644
--- a/content/browser/webauth/authenticator_impl_unittest.cc
+++ b/content/browser/webauth/authenticator_impl_unittest.cc
@@ -1568,20 +1568,16 @@
 #endif  // defined(OS_WIN)
 
 #if defined(OS_CHROMEOS)
+// TODO(crbug/1150681): Better testing, e.g. use a mock/fake u2fd proxy here.
 TEST_F(AuthenticatorImplTest, IsUVPAA) {
   NavigateAndCommit(GURL(kTestOrigin1));
-  for (const bool flag_enabled : {false, true}) {
-    SCOPED_TRACE(::testing::Message() << "flag_enabled=" << flag_enabled);
-    base::test::ScopedFeatureList scoped_feature_list;
-    scoped_feature_list.InitWithFeatureState(
-        device::kWebAuthCrosPlatformAuthenticator, flag_enabled);
-    mojo::Remote<blink::mojom::Authenticator> authenticator =
-        ConnectToAuthenticator();
-    TestIsUvpaaCallback cb;
-    authenticator->IsUserVerifyingPlatformAuthenticatorAvailable(cb.callback());
-    cb.WaitForCallback();
-    EXPECT_EQ(flag_enabled, cb.value());
-  }
+  mojo::Remote<blink::mojom::Authenticator> authenticator =
+      ConnectToAuthenticator();
+  TestIsUvpaaCallback cb;
+  authenticator->IsUserVerifyingPlatformAuthenticatorAvailable(cb.callback());
+  cb.WaitForCallback();
+  // There's no u2fd DBus proxy in tests so not available.
+  EXPECT_FALSE(cb.value());
 }
 #endif  // defined(OS_CHROMEOS)
 
diff --git a/content/browser/webauth/is_uvpaa.cc b/content/browser/webauth/is_uvpaa.cc
index 6dddddf..e7843ad2 100644
--- a/content/browser/webauth/is_uvpaa.cc
+++ b/content/browser/webauth/is_uvpaa.cc
@@ -17,6 +17,10 @@
 #include "device/fido/win/webauthn_api.h"
 #endif
 
+#if defined(OS_CHROMEOS)
+#include "device/fido/cros/authenticator.h"
+#endif
+
 namespace content {
 
 #if defined(OS_MAC)
@@ -37,7 +41,8 @@
 #elif defined(OS_CHROMEOS)
 bool IsUVPlatformAuthenticatorAvailable() {
   return base::FeatureList::IsEnabled(
-      device::kWebAuthCrosPlatformAuthenticator);
+             device::kWebAuthCrosPlatformAuthenticator) &&
+         device::ChromeOSAuthenticator::IsUVPlatformAuthenticatorAvailable();
 }
 
 #else
diff --git a/content/browser/webui/web_ui_main_frame_observer.cc b/content/browser/webui/web_ui_main_frame_observer.cc
index 6ab3f79..1d3cf131 100644
--- a/content/browser/webui/web_ui_main_frame_observer.cc
+++ b/content/browser/webui/web_ui_main_frame_observer.cc
@@ -47,7 +47,8 @@
     blink::mojom::ConsoleMessageLevel log_level,
     const base::string16& message,
     int32_t line_no,
-    const base::string16& source_id) {
+    const base::string16& source_id,
+    const base::Optional<base::string16>& untrusted_stack_trace) {
   VLOG(3) << "OnDidAddMessageToConsole called for " << message;
   if (log_level != blink::mojom::ConsoleMessageLevel::kError) {
     VLOG(3) << "Message not reported, not an error";
@@ -94,6 +95,9 @@
   report.message = base::UTF16ToUTF8(message);
   report.line_number = line_no;
   report.url = std::move(redacted_url);
+  if (untrusted_stack_trace) {
+    report.stack_trace = base::UTF16ToUTF8(*untrusted_stack_trace);
+  }
   report.send_to_production_servers =
       features::kWebUIJavaScriptErrorReportsSendToProductionParam.Get();
 
diff --git a/content/browser/webui/web_ui_main_frame_observer.h b/content/browser/webui/web_ui_main_frame_observer.h
index 8927e55..ab33a7b 100644
--- a/content/browser/webui/web_ui_main_frame_observer.h
+++ b/content/browser/webui/web_ui_main_frame_observer.h
@@ -44,11 +44,13 @@
   // On official Google builds, capture and report JavaScript error messages on
   // WebUI surfaces back to Google. This allows us to fix JavaScript errors and
   // exceptions.
-  void OnDidAddMessageToConsole(RenderFrameHost* source_frame,
-                                blink::mojom::ConsoleMessageLevel log_level,
-                                const base::string16& message,
-                                int32_t line_no,
-                                const base::string16& source_id) override;
+  void OnDidAddMessageToConsole(
+      RenderFrameHost* source_frame,
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& message,
+      int32_t line_no,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) override;
 #endif  // defined(OS_LINUX) || defined(OS_CHROMEOS)
 
  private:
diff --git a/content/browser/webui/web_ui_main_frame_observer_unittest.cc b/content/browser/webui/web_ui_main_frame_observer_unittest.cc
index a7bdf8d..00ad0eb 100644
--- a/content/browser/webui/web_ui_main_frame_observer_unittest.cc
+++ b/content/browser/webui/web_ui_main_frame_observer_unittest.cc
@@ -27,6 +27,8 @@
 namespace content {
 
 namespace {
+using testing::Eq;
+using testing::Optional;
 
 class FakeJsErrorReportProcessor : public JsErrorReportProcessor {
  public:
@@ -113,13 +115,15 @@
   // Calls observer_->OnDidAddMessageToConsole with the given arguments. This
   // is just here so that we don't need to FRIEND_TEST_ALL_PREFIXES for each
   // and every test.
-  void CallOnDidAddMessageToConsole(RenderFrameHost* source_frame,
-                                    blink::mojom::ConsoleMessageLevel log_level,
-                                    const base::string16& message,
-                                    int32_t line_no,
-                                    const base::string16& source_id) {
+  void CallOnDidAddMessageToConsole(
+      RenderFrameHost* source_frame,
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& message,
+      int32_t line_no,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& stack_trace) {
     observer_->OnDidAddMessageToConsole(source_frame, log_level, message,
-                                        line_no, source_id);
+                                        line_no, source_id, stack_trace);
   }
 
  protected:
@@ -134,39 +138,54 @@
   const base::string16 kMessage16 = base::UTF8ToUTF16(kMessage8);
   static constexpr char kSourceURL8[] = "chrome://here.is.error/";
   const base::string16 kSourceId16 = base::UTF8ToUTF16(kSourceURL8);
+  static constexpr char kStackTrace8[] =
+      "at badFunction (chrome://page/my.js:20:30)\n"
+      "at poorCaller (chrome://page/my.js:50:10)\n";
+  const base::string16 kStackTrace16 = base::UTF8ToUTF16(kStackTrace8);
 };
 
 constexpr char WebUIMainFrameObserverTest::kMessage8[];
 constexpr char WebUIMainFrameObserverTest::kSourceURL8[];
+constexpr char WebUIMainFrameObserverTest::kStackTrace8[];
 
 TEST_F(WebUIMainFrameObserverTest, ErrorReported) {
   CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
                                blink::mojom::ConsoleMessageLevel::kError,
-                               kMessage16, 5, kSourceId16);
+                               kMessage16, 5, kSourceId16, kStackTrace16);
   task_environment()->RunUntilIdle();
   EXPECT_EQ(processor_->error_report_count(), 1);
   EXPECT_EQ(processor_->last_error_report().message, kMessage8);
   EXPECT_EQ(processor_->last_error_report().url, kSourceURL8);
+  EXPECT_THAT(processor_->last_error_report().stack_trace,
+              Optional(Eq(kStackTrace8)));
   // WebUI should use default product & version.
   EXPECT_EQ(processor_->last_error_report().product, "");
   EXPECT_EQ(processor_->last_error_report().version, "");
   EXPECT_EQ(*processor_->last_error_report().line_number, 5);
   EXPECT_FALSE(processor_->last_error_report().column_number);
-  EXPECT_FALSE(processor_->last_error_report().stack_trace);
   EXPECT_FALSE(processor_->last_error_report().app_locale);
   EXPECT_TRUE(processor_->last_error_report().send_to_production_servers);
 }
 
+TEST_F(WebUIMainFrameObserverTest, NoStackTrace) {
+  CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
+                               blink::mojom::ConsoleMessageLevel::kError,
+                               kMessage16, 5, kSourceId16, base::nullopt);
+  task_environment()->RunUntilIdle();
+  EXPECT_EQ(processor_->error_report_count(), 1);
+  EXPECT_EQ(processor_->last_error_report().stack_trace, base::nullopt);
+}
+
 TEST_F(WebUIMainFrameObserverTest, NonErrorsIgnored) {
   CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
                                blink::mojom::ConsoleMessageLevel::kWarning,
-                               kMessage16, 5, kSourceId16);
+                               kMessage16, 5, kSourceId16, kStackTrace16);
   CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
                                blink::mojom::ConsoleMessageLevel::kInfo,
-                               kMessage16, 5, kSourceId16);
+                               kMessage16, 5, kSourceId16, kStackTrace16);
   CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
                                blink::mojom::ConsoleMessageLevel::kVerbose,
-                               kMessage16, 5, kSourceId16);
+                               kMessage16, 5, kSourceId16, kStackTrace16);
   task_environment()->RunUntilIdle();
   EXPECT_EQ(processor_->error_report_count(), 0);
 }
@@ -175,7 +194,7 @@
   FakeJsErrorReportProcessor::SetDefault(nullptr);
   CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
                                blink::mojom::ConsoleMessageLevel::kError,
-                               kMessage16, 5, kSourceId16);
+                               kMessage16, 5, kSourceId16, kStackTrace16);
   task_environment()->RunUntilIdle();
 }
 
@@ -185,15 +204,15 @@
       features::kSendWebUIJavaScriptErrorReports);
   CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
                                blink::mojom::ConsoleMessageLevel::kError,
-                               kMessage16, 5, kSourceId16);
+                               kMessage16, 5, kSourceId16, kStackTrace16);
   task_environment()->RunUntilIdle();
   EXPECT_EQ(processor_->error_report_count(), 0);
 }
 
 TEST_F(WebUIMainFrameObserverTest, NotSentIfInvalidURL) {
-  CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
-                               blink::mojom::ConsoleMessageLevel::kError,
-                               kMessage16, 5, base::UTF8ToUTF16("invalid URL"));
+  CallOnDidAddMessageToConsole(
+      web_ui_->frame_host_for_test(), blink::mojom::ConsoleMessageLevel::kError,
+      kMessage16, 5, base::UTF8ToUTF16("invalid URL"), kStackTrace16);
   task_environment()->RunUntilIdle();
   EXPECT_EQ(processor_->error_report_count(), 0);
 }
@@ -239,7 +258,8 @@
     int previous_count = processor_->error_report_count();
     CallOnDidAddMessageToConsole(web_ui_->frame_host_for_test(),
                                  blink::mojom::ConsoleMessageLevel::kError,
-                                 kMessage16, 5, base::UTF8ToUTF16(test.input));
+                                 kMessage16, 5, base::UTF8ToUTF16(test.input),
+                                 kStackTrace16);
     task_environment()->RunUntilIdle();
     EXPECT_EQ(processor_->error_report_count(), previous_count + 1)
         << "for " << test.input;
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index 239d572..5bca0426 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -541,12 +541,18 @@
   [EnableIf=is_android]
   UpdateUserGestureCarryoverInfo();
 
-  // Blink and JavaScript error messages to log to the console or debugger UI.
+  // Blink and JavaScript error messages to log to the console, debugger UI, or
+  // error reporting service. |source_id| is usually a URL.
+  // |untrusted_stack_trace| should only be printed or sent to other services;
+  // it's untrusted and should not be parsed to get a structured stack trace.
+  // The stack trace is only present if the message is from an exception and
+  // only if Frame.SetWantExceptionStackTrace has been called for this frame.
   DidAddMessageToConsole(
       blink.mojom.ConsoleMessageLevel log_level,
       mojo_base.mojom.BigString16 msg,
       int32 line_number,
-      mojo_base.mojom.String16 source_id);
+      mojo_base.mojom.String16 source_id,
+      mojo_base.mojom.BigString16? untrusted_stack_trace);
 
   // Notifies the browser that this frame has new session history information.
   //
diff --git a/content/public/browser/tts_controller.h b/content/public/browser/tts_controller.h
index ced4805..04934c6 100644
--- a/content/public/browser/tts_controller.h
+++ b/content/public/browser/tts_controller.h
@@ -87,10 +87,11 @@
   // Returns true if we're currently speaking an utterance.
   virtual bool IsSpeaking() = 0;
 
-  // Speak the given utterance. If the utterance's can_enqueue flag is true
-  // and another utterance is in progress, adds it to the end of the queue.
-  // Otherwise, interrupts any current utterance and speaks this one
-  // immediately.
+  // Speak the given utterance. If the utterance's should_flush_queue flag is
+  // true, clears the speech queue including the currently speaking utterance
+  // (if one exists), and starts processing the speech queue by speaking the new
+  // utterance immediately. Otherwise, enqueues the new utterance and triggers
+  // continued processing of the speech queue.
   virtual void SpeakOrEnqueue(std::unique_ptr<TtsUtterance> utterance) = 0;
 
   // Stop all utterances and flush the queue. Implies leaving pause mode
diff --git a/content/public/browser/tts_utterance.h b/content/public/browser/tts_utterance.h
index 601574c5..774266a9 100644
--- a/content/public/browser/tts_utterance.h
+++ b/content/public/browser/tts_utterance.h
@@ -107,8 +107,10 @@
                                        const double volume) = 0;
   virtual const UtteranceContinuousParameters& GetContinuousParameters() = 0;
 
-  virtual void SetCanEnqueue(bool can_enqueue) = 0;
-  virtual bool GetCanEnqueue() = 0;
+  // Prior to processing this utterance, determines whether the utterance queue
+  // gets cleared.
+  virtual void SetShouldClearQueue(bool value) = 0;
+  virtual bool GetShouldClearQueue() = 0;
 
   virtual void SetRequiredEventTypes(const std::set<TtsEventType>& types) = 0;
   virtual const std::set<TtsEventType>& GetRequiredEventTypes() = 0;
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
index 9eecc62a..9ab0a26 100644
--- a/content/public/browser/web_contents_observer.h
+++ b/content/public/browser/web_contents_observer.h
@@ -533,12 +533,15 @@
 
   // Called when a message is added to the console of the WebContents. This is
   // invoked before forwarding the message to the WebContents' delegate.
+  // |source_id| is a URL. |untrusted_stack_trace| is not present for most
+  // messages; only when requested in advance and only for exceptions.
   virtual void OnDidAddMessageToConsole(
       RenderFrameHost* source_frame,
       blink::mojom::ConsoleMessageLevel log_level,
       const base::string16& message,
       int32_t line_no,
-      const base::string16& source_id) {}
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) {}
 
   // Invoked when media is playing or paused.  |id| is unique per player and per
   // RenderFrameHost.  There may be multiple players within a RenderFrameHost
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc
index ea6354c..655f297 100644
--- a/content/public/test/browser_test_utils.cc
+++ b/content/public/test/browser_test_utils.cc
@@ -3095,7 +3095,8 @@
     blink::mojom::ConsoleMessageLevel log_level,
     const base::string16& message_contents,
     int32_t line_no,
-    const base::string16& source_id) {
+    const base::string16& source_id,
+    const base::Optional<base::string16>& untrusted_stack_trace) {
   Message message(
       {source_frame, log_level, message_contents, line_no, source_id});
   if (filter_ && !filter_.Run(message))
diff --git a/content/public/test/browser_test_utils.h b/content/public/test/browser_test_utils.h
index 8a4b23a..c1c5d88 100644
--- a/content/public/test/browser_test_utils.h
+++ b/content/public/test/browser_test_utils.h
@@ -1652,11 +1652,13 @@
 
  private:
   // WebContentsObserver:
-  void OnDidAddMessageToConsole(RenderFrameHost* source_frame,
-                                blink::mojom::ConsoleMessageLevel log_level,
-                                const base::string16& message,
-                                int32_t line_no,
-                                const base::string16& source_id) override;
+  void OnDidAddMessageToConsole(
+      RenderFrameHost* source_frame,
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& message,
+      int32_t line_no,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) override;
 
   Filter filter_;
   std::string pattern_;
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 3792922..24ed1a0 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -4138,9 +4138,9 @@
     }
   }
 
-  GetFrameHost()->DidAddMessageToConsole(message.level, message.text.Utf16(),
-                                         static_cast<int32_t>(source_line),
-                                         source_name.Utf16());
+  GetFrameHost()->DidAddMessageToConsole(
+      message.level, message.text.Utf16(), static_cast<int32_t>(source_line),
+      source_name.Utf16(), blink::WebString::ToOptionalString16(stack_trace));
 }
 
 void RenderFrameImpl::WillSendSubmitEvent(const blink::WebFormElement& form) {
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index c1c157b..51366db 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -632,10 +632,6 @@
 
 // blink::WebWidgetClient ----------------------------------------------------
 
-bool RenderViewImpl::CanHandleGestureEvent() {
-  return true;
-}
-
 void RenderViewImpl::OnPageVisibilityChanged(PageVisibilityState visibility) {
 #if defined(OS_ANDROID)
   SuspendVideoCaptureDevices(visibility != PageVisibilityState::kVisible);
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index 85e7f06..15c592d 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -199,7 +199,6 @@
   blink::WebString AcceptLanguages() override;
   int HistoryBackListCount() override;
   int HistoryForwardListCount() override;
-  bool CanHandleGestureEvent() override;
   void OnPageVisibilityChanged(PageVisibilityState visibility) override;
   void OnPageFrozenChanged(bool frozen) override;
   void DidUpdateRendererPreferences() override;
diff --git a/content/test/data/accessibility/event/aria-combo-box-focus-expected-mac.txt b/content/test/data/accessibility/event/aria-combo-box-focus-expected-mac.txt
index ad5e2bf2..67e07a89 100644
--- a/content/test/data/accessibility/event/aria-combo-box-focus-expected-mac.txt
+++ b/content/test/data/accessibility/event/aria-combo-box-focus-expected-mac.txt
@@ -1,3 +1,3 @@
 AXFocusedUIElementChanged on AXStaticText AXValue="Apple not selected"
-AXSelectedTextChanged on AXStaticText AXValue="Apple not selected"
-AXSelectedTextChanged on AXWebArea
\ No newline at end of file
+AXSelectedTextChanged on AXStaticText AXValue="Apple not selected" AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeSelectionMove
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeSelectionMove
diff --git a/content/test/data/accessibility/event/caret-browsing-disabled-expected-mac.txt b/content/test/data/accessibility/event/caret-browsing-disabled-expected-mac.txt
index ec0b74d9..87447c5 100644
--- a/content/test/data/accessibility/event/caret-browsing-disabled-expected-mac.txt
+++ b/content/test/data/accessibility/event/caret-browsing-disabled-expected-mac.txt
@@ -1,5 +1,5 @@
-AXSelectedTextChanged on AXWebArea
-AXSelectedTextChanged on AXWebArea
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
 === Start Continuation ===
-AXSelectedTextChanged on AXWebArea
-AXSelectedTextChanged on AXWebArea
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
diff --git a/content/test/data/accessibility/event/caret-browsing-enabled-expected-mac.txt b/content/test/data/accessibility/event/caret-browsing-enabled-expected-mac.txt
index ec0b74d9..87447c5 100644
--- a/content/test/data/accessibility/event/caret-browsing-enabled-expected-mac.txt
+++ b/content/test/data/accessibility/event/caret-browsing-enabled-expected-mac.txt
@@ -1,5 +1,5 @@
-AXSelectedTextChanged on AXWebArea
-AXSelectedTextChanged on AXWebArea
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
 === Start Continuation ===
-AXSelectedTextChanged on AXWebArea
-AXSelectedTextChanged on AXWebArea
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
diff --git a/content/test/data/accessibility/event/text-selection-changed-expected-mac.txt b/content/test/data/accessibility/event/text-selection-changed-expected-mac.txt
new file mode 100644
index 0000000..9213c87
--- /dev/null
+++ b/content/test/data/accessibility/event/text-selection-changed-expected-mac.txt
@@ -0,0 +1,10 @@
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeUnknown
+=== Start Continuation ===
+AXFocusedUIElementChanged on AXTextField AXDescription="input" AXValue="input"
+AXSelectedTextChanged on AXTextField AXDescription="input" AXValue="input" AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeSelectionMove
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeSelectionMove
+=== Start Continuation ===
+AXFocusedUIElementChanged on AXTextArea AXDescription="textarea"
+AXSelectedTextChanged on AXTextArea AXDescription="textarea" AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeSelectionMove
+AXSelectedTextChanged on AXWebArea AXTextSelectionDirection=AXTextSelectionDirectionUnknown AXTextSelectionGranularity=AXTextSelectionGranularityUnknown AXTextStateChangeType=AXTextStateChangeTypeSelectionMove
diff --git a/content/test/gpu/gold_inexact_matching/determine_gold_inexact_parameters.py b/content/test/gpu/determine_gold_inexact_parameters.py
similarity index 92%
rename from content/test/gpu/gold_inexact_matching/determine_gold_inexact_parameters.py
rename to content/test/gpu/determine_gold_inexact_parameters.py
index f49b177..9b4f38d 100755
--- a/content/test/gpu/gold_inexact_matching/determine_gold_inexact_parameters.py
+++ b/content/test/gpu/determine_gold_inexact_parameters.py
@@ -43,13 +43,12 @@
   parser = argparse.ArgumentParser(
       formatter_class=argparse.ArgumentDefaultsHelpFormatter)
   script_parser = parser.add_argument_group('Script Arguments')
-  script_parser.add_argument(
-      '-v',
-      '--verbose',
-      dest='verbose_count',
-      default=0,
-      action='count',
-      help='Verbose level (multiple times for more')
+  script_parser.add_argument('-v',
+                             '--verbose',
+                             dest='verbose_count',
+                             default=0,
+                             action='count',
+                             help='Verbose level (multiple times for more')
 
   subparsers = parser.add_subparsers(help='Optimization algorithm')
 
diff --git a/content/test/gpu/gold_inexact_matching/base_parameter_optimizer.py b/content/test/gpu/gold_inexact_matching/base_parameter_optimizer.py
index 8534399a..396b0403 100644
--- a/content/test/gpu/gold_inexact_matching/base_parameter_optimizer.py
+++ b/content/test/gpu/gold_inexact_matching/base_parameter_optimizer.py
@@ -47,7 +47,9 @@
     self._goldctl_binary = None
     self._working_dir = None
     self._expectations = None
-    self._gold_url = 'https://%s-gold.skia.org' % args.gold_instance
+    # TODO(skbug.com/10610): Switch away from the public instance once
+    # authentication is fixed for the non-public instance.
+    self._gold_url = 'https://%s-public-gold.skia.org' % args.gold_instance
     self._pool = multiprocessing.Pool()
     # A map of strings, denoting a resolution or trace, to an iterable of
     # strings, denoting images that are that dimension or belong to that
@@ -79,10 +81,9 @@
         help='The name of a test to find parameter values for, as reported in '
         'the Skia Gold UI. Can be passed multiple times to run optimizations '
         'for multiple tests.')
-    common_group.add_argument(
-        '--gold-instance',
-        default='chrome-gpu',
-        help='The Skia Gold instance to interact with.')
+    common_group.add_argument('--gold-instance',
+                              default='chrome',
+                              help='The Skia Gold instance to interact with.')
     common_group.add_argument(
         '--corpus',
         default='chrome-gpu',
diff --git a/content/test/test_render_frame.cc b/content/test/test_render_frame.cc
index 7ae063666..bdb12951 100644
--- a/content/test/test_render_frame.cc
+++ b/content/test/test_render_frame.cc
@@ -210,10 +210,12 @@
 
   void DidStopLoading() override {}
 
-  void DidAddMessageToConsole(blink::mojom::ConsoleMessageLevel log_level,
-                              const base::string16& msg,
-                              int32_t line_number,
-                              const base::string16& source_id) override {
+  void DidAddMessageToConsole(
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& msg,
+      int32_t line_number,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) override {
     if (did_add_message_to_console_callback_) {
       std::move(did_add_message_to_console_callback_).Run(msg);
     }
diff --git a/device/fido/cros/authenticator.cc b/device/fido/cros/authenticator.cc
index 3c2afb00..66c43cc3a 100644
--- a/device/fido/cros/authenticator.cc
+++ b/device/fido/cros/authenticator.cc
@@ -39,6 +39,7 @@
 
 namespace {
 
+// DBus timeout for method calls that doesn't involve user interaction.
 constexpr int kShortTimeoutMs = 3000;
 
 AuthenticatorSupportedOptions ChromeOSAuthenticatorOptions() {
@@ -373,6 +374,42 @@
   current_request_id_ = 0u;
 }
 
+// static
+bool ChromeOSAuthenticator::IsUVPlatformAuthenticatorAvailable() {
+  dbus::Bus::Options dbus_options;
+  dbus_options.bus_type = dbus::Bus::SYSTEM;
+  scoped_refptr<dbus::Bus> bus = new dbus::Bus(dbus_options);
+  dbus::ObjectProxy* u2f_proxy = bus->GetObjectProxy(
+      u2f::kU2FServiceName, dbus::ObjectPath(u2f::kU2FServicePath));
+
+  if (!u2f_proxy) {
+    FIDO_LOG(ERROR) << "Couldn't get u2f proxy";
+    return false;
+  }
+
+  u2f::IsUvpaaRequest req;
+  dbus::MethodCall method_call(u2f::kU2FInterface, u2f::kU2FIsUvpaa);
+  dbus::MessageWriter writer(&method_call);
+  writer.AppendProtoAsArrayOfBytes(req);
+
+  std::unique_ptr<dbus::Response> dbus_response =
+      u2f_proxy->CallMethodAndBlock(&method_call, kShortTimeoutMs);
+
+  if (!dbus_response) {
+    FIDO_LOG(ERROR) << "IsUvpaa dbus call had no response or timed out";
+    return false;
+  }
+
+  dbus::MessageReader reader(dbus_response.get());
+  u2f::IsUvpaaResponse resp;
+  if (!reader.PopArrayOfBytesAsProto(&resp)) {
+    FIDO_LOG(ERROR) << "Failed to parse reply for call to IsUvpaa";
+    return false;
+  }
+
+  return resp.available();
+}
+
 bool ChromeOSAuthenticator::IsInPairingMode() const {
   return false;
 }
diff --git a/device/fido/cros/authenticator.h b/device/fido/cros/authenticator.h
index c016662..e91bf91 100644
--- a/device/fido/cros/authenticator.h
+++ b/device/fido/cros/authenticator.h
@@ -31,6 +31,8 @@
   bool HasCredentialForGetAssertionRequest(
       const CtapGetAssertionRequest& request);
 
+  static bool IsUVPlatformAuthenticatorAvailable();
+
   // FidoAuthenticator
   void InitializeAuthenticator(base::OnceClosure callback) override;
   void MakeCredential(CtapMakeCredentialRequest request,
diff --git a/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc b/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc
index 5ac5bb4f..8e1fe9d 100644
--- a/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc
+++ b/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.cc
@@ -12,12 +12,12 @@
 #include "base/callback.h"
 #include "base/callback_helpers.h"
 #include "base/check_op.h"
-#include "base/containers/span.h"
 #include "base/feature_list.h"
 #include "base/files/file_util.h"
 #include "base/json/json_reader.h"
 #include "base/json/json_string_value_serializer.h"
 #include "base/memory/ptr_util.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
@@ -27,21 +27,16 @@
 #include "base/values.h"
 #include "content/public/browser/browser_context.h"
 #include "extensions/browser/api/declarative_net_request/constants.h"
-#include "extensions/browser/api/declarative_net_request/flat_ruleset_indexer.h"
-#include "extensions/browser/api/declarative_net_request/indexed_rule.h"
 #include "extensions/browser/api/declarative_net_request/parse_info.h"
 #include "extensions/browser/api/declarative_net_request/utils.h"
 #include "extensions/common/api/declarative_net_request.h"
 #include "extensions/common/api/declarative_net_request/dnr_manifest_data.h"
 #include "extensions/common/api/declarative_net_request/utils.h"
 #include "extensions/common/error_utils.h"
-#include "extensions/common/extension.h"
-#include "extensions/common/extension_resource.h"
 #include "extensions/common/file_util.h"
 #include "extensions/common/install_warning.h"
 #include "services/data_decoder/public/cpp/data_decoder.h"
 #include "tools/json_schema_compiler/util.h"
-#include "url/gurl.h"
 
 namespace extensions {
 namespace declarative_net_request {
@@ -436,55 +431,16 @@
 
 ParseInfo FileBackedRulesetSource::IndexAndPersistRules(
     std::vector<dnr_api::Rule> rules) const {
-  DCHECK_LE(rules.size(), rule_count_limit());
-  DCHECK(IsAPIAvailable());
+  ParseInfo info = IndexRules(std::move(rules));
+  if (info.has_error())
+    return info;
 
-  FlatRulesetIndexer indexer;
-
-  size_t rules_count = 0;
-  size_t regex_rules_count = 0;
-  int ruleset_checksum = -1;
-  std::vector<int> large_regex_rule_ids;
-  {
-    std::set<int> id_set;  // Ensure all ids are distinct.
-    const GURL base_url = Extension::GetBaseURLFromExtensionId(extension_id());
-    for (auto& rule : rules) {
-      int rule_id = rule.id;
-      bool inserted = id_set.insert(rule_id).second;
-      if (!inserted)
-        return ParseInfo(ParseResult::ERROR_DUPLICATE_IDS, &rule_id);
-
-      IndexedRule indexed_rule;
-      ParseResult parse_result = IndexedRule::CreateIndexedRule(
-          std::move(rule), base_url, &indexed_rule);
-
-      if (parse_result == ParseResult::ERROR_REGEX_TOO_LARGE) {
-        large_regex_rule_ids.push_back(rule_id);
-        continue;
-      }
-
-      if (parse_result != ParseResult::SUCCESS)
-        return ParseInfo(parse_result, &rule_id);
-
-      indexer.AddUrlRule(indexed_rule);
-      rules_count++;
-
-      if (indexed_rule.url_pattern_type ==
-          url_pattern_index::flat::UrlPatternType_REGEXP) {
-        regex_rules_count++;
-      }
-    }
-  }
-  flatbuffers::DetachedBuffer buffer = indexer.FinishAndReleaseBuffer();
-  if (!PersistIndexedRuleset(indexed_path_,
-                             base::make_span(buffer.data(), buffer.size()),
-                             &ruleset_checksum)) {
+  if (!PersistIndexedRuleset(indexed_path_, info.GetBuffer())) {
     return ParseInfo(ParseResult::ERROR_PERSISTING_RULESET,
                      nullptr /* rule_id */);
   }
 
-  return ParseInfo(rules_count, regex_rules_count, ruleset_checksum,
-                   std::move(large_regex_rule_ids));
+  return info;
 }
 
 ReadJSONRulesResult FileBackedRulesetSource::ReadJSONRulesUnsafe() const {
@@ -536,6 +492,40 @@
          data_size;
 }
 
+LoadRulesetResult FileBackedRulesetSource::CreateVerifiedMatcher(
+    int expected_ruleset_checksum,
+    std::unique_ptr<RulesetMatcher>* matcher) const {
+  DCHECK(matcher);
+
+  base::ElapsedTimer timer;
+
+  if (!base::PathExists(indexed_path()))
+    return LoadRulesetResult::kErrorInvalidPath;
+
+  std::string ruleset_data;
+  if (!base::ReadFileToString(indexed_path(), &ruleset_data))
+    return LoadRulesetResult::kErrorCannotReadFile;
+
+  if (!StripVersionHeaderAndParseVersion(&ruleset_data))
+    return LoadRulesetResult::kErrorVersionMismatch;
+
+  if (expected_ruleset_checksum !=
+      GetChecksum(
+          base::make_span(reinterpret_cast<const uint8_t*>(ruleset_data.data()),
+                          ruleset_data.size()))) {
+    return LoadRulesetResult::kErrorChecksumMismatch;
+  }
+
+  LoadRulesetResult result =
+      RulesetSource::CreateVerifiedMatcher(std::move(ruleset_data), matcher);
+  if (result == LoadRulesetResult::kSuccess) {
+    UMA_HISTOGRAM_TIMES(
+        "Extensions.DeclarativeNetRequest.CreateVerifiedMatcherTime",
+        timer.Elapsed());
+  }
+  return result;
+}
+
 FileBackedRulesetSource::FileBackedRulesetSource(base::FilePath json_path,
                                                  base::FilePath indexed_path,
                                                  RulesetID id,
diff --git a/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.h b/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.h
index 8d2a600..58541957 100644
--- a/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.h
+++ b/extensions/browser/api/declarative_net_request/file_backed_ruleset_source.h
@@ -13,7 +13,6 @@
 #include "base/files/file_path.h"
 #include "base/time/time.h"
 #include "extensions/browser/api/declarative_net_request/ruleset_source.h"
-#include "extensions/common/api/declarative_net_request.h"
 #include "extensions/common/api/declarative_net_request/dnr_manifest_data.h"
 
 namespace content {
@@ -36,6 +35,7 @@
 
 namespace declarative_net_request {
 class ParseInfo;
+class RulesetMatcher;
 
 struct IndexAndPersistJSONRulesetResult {
  public:
@@ -134,7 +134,9 @@
   DISALLOW_COPY_AND_ASSIGN(ReadJSONRulesResult);
 };
 
-// A Ruleset source which is backed on disk.
+// A Ruleset source which is backed on disk. The indexed version of such a
+// ruleset undergoes checksum verification on each load and also includes a
+// header to recognise the indexed schema version.
 class FileBackedRulesetSource : public RulesetSource {
  public:
   // Creates FileBackedRulesetSources corresponding to the static rulesets in
@@ -204,6 +206,13 @@
   bool WriteRulesToJSON(
       const std::vector<api::declarative_net_request::Rule>& rules) const;
 
+  // Creates a verified RulesetMatcher corresponding to indexed ruleset on disk.
+  // Returns kSuccess on success along with the ruleset |matcher|. Must be
+  // called on a sequence which supports file IO.
+  LoadRulesetResult CreateVerifiedMatcher(
+      int expected_ruleset_checksum,
+      std::unique_ptr<RulesetMatcher>* matcher) const;
+
  private:
   FileBackedRulesetSource(base::FilePath json_path,
                           base::FilePath indexed_path,
diff --git a/extensions/browser/api/declarative_net_request/file_sequence_helper.cc b/extensions/browser/api/declarative_net_request/file_sequence_helper.cc
index 3fe942c..9abd7c6 100644
--- a/extensions/browser/api/declarative_net_request/file_sequence_helper.cc
+++ b/extensions/browser/api/declarative_net_request/file_sequence_helper.cc
@@ -353,8 +353,8 @@
   // returns true, we should already have a valid RulesetMatcher.
   DCHECK(!did_load_successfully());
 
-  load_ruleset_result_ = RulesetMatcher::CreateVerifiedMatcher(
-      source_, *expected_checksum_, &matcher_);
+  load_ruleset_result_ =
+      source_.CreateVerifiedMatcher(*expected_checksum_, &matcher_);
 }
 
 LoadRequestData::LoadRequestData(ExtensionId extension_id)
diff --git a/extensions/browser/api/declarative_net_request/parse_info.cc b/extensions/browser/api/declarative_net_request/parse_info.cc
index 7c0c147..4b79d794 100644
--- a/extensions/browser/api/declarative_net_request/parse_info.cc
+++ b/extensions/browser/api/declarative_net_request/parse_info.cc
@@ -177,13 +177,15 @@
 
 ParseInfo::ParseInfo(size_t rules_count,
                      size_t regex_rules_count,
-                     int ruleset_checksum,
-                     std::vector<int> regex_limit_exceeded_rules)
+                     std::vector<int> regex_limit_exceeded_rules,
+                     flatbuffers::DetachedBuffer buffer,
+                     int ruleset_checksum)
     : has_error_(false),
       rules_count_(rules_count),
       regex_rules_count_(regex_rules_count),
-      ruleset_checksum_(ruleset_checksum),
-      regex_limit_exceeded_rules_(std::move(regex_limit_exceeded_rules)) {}
+      regex_limit_exceeded_rules_(std::move(regex_limit_exceeded_rules)),
+      buffer_(std::move(buffer)),
+      ruleset_checksum_(ruleset_checksum) {}
 
 ParseInfo::ParseInfo(ParseResult error_reason, const int* rule_id)
     : has_error_(true),
diff --git a/extensions/browser/api/declarative_net_request/parse_info.h b/extensions/browser/api/declarative_net_request/parse_info.h
index 2d2124a5..54658a9 100644
--- a/extensions/browser/api/declarative_net_request/parse_info.h
+++ b/extensions/browser/api/declarative_net_request/parse_info.h
@@ -10,8 +10,10 @@
 #include <vector>
 
 #include "base/check.h"
+#include "base/containers/span.h"
 #include "base/optional.h"
 #include "extensions/browser/api/declarative_net_request/constants.h"
+#include "third_party/flatbuffers/src/include/flatbuffers/flatbuffers.h"
 
 namespace extensions {
 namespace declarative_net_request {
@@ -22,8 +24,9 @@
   // Constructor to be used on success.
   ParseInfo(size_t rules_count,
             size_t regex_rules_count,
-            int ruleset_checksum,
-            std::vector<int> regex_limit_exceeded_rules);
+            std::vector<int> regex_limit_exceeded_rules,
+            flatbuffers::DetachedBuffer buffer,
+            int ruleset_checksum);
 
   // Constructor to be used on error.
   ParseInfo(ParseResult error_reason, const int* rule_id);
@@ -65,6 +68,10 @@
     return ruleset_checksum_;
   }
 
+  base::span<const uint8_t> GetBuffer() const {
+    return base::make_span(buffer_.data(), buffer_.size());
+  }
+
  private:
   bool has_error_ = false;
 
@@ -75,8 +82,9 @@
   // Only valid iff |has_error_| is false.
   size_t rules_count_ = 0;
   size_t regex_rules_count_ = 0;
-  int ruleset_checksum_ = -1;
   std::vector<int> regex_limit_exceeded_rules_;
+  flatbuffers::DetachedBuffer buffer_;
+  int ruleset_checksum_ = -1;
 };
 
 }  // namespace declarative_net_request
diff --git a/extensions/browser/api/declarative_net_request/ruleset_matcher.cc b/extensions/browser/api/declarative_net_request/ruleset_matcher.cc
index 905459a..425e36e 100644
--- a/extensions/browser/api/declarative_net_request/ruleset_matcher.cc
+++ b/extensions/browser/api/declarative_net_request/ruleset_matcher.cc
@@ -9,12 +9,8 @@
 
 #include "base/check.h"
 #include "base/containers/span.h"
-#include "base/files/file_util.h"
 #include "base/memory/ptr_util.h"
-#include "base/metrics/histogram_macros.h"
-#include "base/timer/elapsed_timer.h"
 #include "extensions/browser/api/declarative_net_request/constants.h"
-#include "extensions/browser/api/declarative_net_request/file_backed_ruleset_source.h"
 #include "extensions/browser/api/declarative_net_request/request_action.h"
 #include "extensions/browser/api/declarative_net_request/utils.h"
 #include "extensions/common/api/declarative_net_request/utils.h"
@@ -22,44 +18,20 @@
 namespace extensions {
 namespace declarative_net_request {
 
-// static
-LoadRulesetResult RulesetMatcher::CreateVerifiedMatcher(
-    const FileBackedRulesetSource& source,
-    int expected_ruleset_checksum,
-    std::unique_ptr<RulesetMatcher>* matcher) {
-  DCHECK(matcher);
-  DCHECK(IsAPIAvailable());
-
-  base::ElapsedTimer timer;
-
-  if (!base::PathExists(source.indexed_path()))
-    return LoadRulesetResult::kErrorInvalidPath;
-
-  std::string ruleset_data;
-  if (!base::ReadFileToString(source.indexed_path(), &ruleset_data))
-    return LoadRulesetResult::kErrorCannotReadFile;
-
-  if (!StripVersionHeaderAndParseVersion(&ruleset_data))
-    return LoadRulesetResult::kErrorVersionMismatch;
-
-  // This guarantees that no memory access will end up outside the buffer.
-  if (!IsValidRulesetData(
-          base::make_span(reinterpret_cast<const uint8_t*>(ruleset_data.data()),
-                          ruleset_data.size()),
-          expected_ruleset_checksum)) {
-    return LoadRulesetResult::kErrorChecksumMismatch;
-  }
-
-  UMA_HISTOGRAM_TIMES(
-      "Extensions.DeclarativeNetRequest.CreateVerifiedMatcherTime",
-      timer.Elapsed());
-
-  // Using WrapUnique instead of make_unique since this class has a private
-  // constructor.
-  *matcher = base::WrapUnique(new RulesetMatcher(
-      std::move(ruleset_data), source.id(), source.extension_id()));
-  return LoadRulesetResult::kSuccess;
-}
+RulesetMatcher::RulesetMatcher(std::string ruleset_data,
+                               RulesetID id,
+                               const ExtensionId& extension_id)
+    : ruleset_data_(std::move(ruleset_data)),
+      root_(flat::GetExtensionIndexedRuleset(ruleset_data_.data())),
+      id_(id),
+      url_pattern_index_matcher_(extension_id,
+                                 id,
+                                 root_->index_list(),
+                                 root_->extension_metadata()),
+      regex_matcher_(extension_id,
+                     id,
+                     root_->regex_rules(),
+                     root_->extension_metadata()) {}
 
 RulesetMatcher::~RulesetMatcher() = default;
 
@@ -124,20 +96,5 @@
       regex_matcher_.GetAllowlistedFrameActionForTesting(host));
 }
 
-RulesetMatcher::RulesetMatcher(std::string ruleset_data,
-                               RulesetID id,
-                               const ExtensionId& extension_id)
-    : ruleset_data_(std::move(ruleset_data)),
-      root_(flat::GetExtensionIndexedRuleset(ruleset_data_.data())),
-      id_(id),
-      url_pattern_index_matcher_(extension_id,
-                                 id,
-                                 root_->index_list(),
-                                 root_->extension_metadata()),
-      regex_matcher_(extension_id,
-                     id,
-                     root_->regex_rules(),
-                     root_->extension_metadata()) {}
-
 }  // namespace declarative_net_request
 }  // namespace extensions
diff --git a/extensions/browser/api/declarative_net_request/ruleset_matcher.h b/extensions/browser/api/declarative_net_request/ruleset_matcher.h
index d47ba691..5866192 100644
--- a/extensions/browser/api/declarative_net_request/ruleset_matcher.h
+++ b/extensions/browser/api/declarative_net_request/ruleset_matcher.h
@@ -21,8 +21,6 @@
 namespace extensions {
 
 namespace declarative_net_request {
-class FileBackedRulesetSource;
-enum class LoadRulesetResult;
 
 namespace flat {
 struct ExtensionIndexedRuleset;
@@ -36,14 +34,9 @@
 // inherits from RulesetMatcherBase.
 class RulesetMatcher {
  public:
-  // Factory function to create a verified RulesetMatcher for |source|. Must be
-  // called on a sequence where file IO is allowed. Returns kSuccess on
-  // success along with the ruleset |matcher|.
-  static LoadRulesetResult CreateVerifiedMatcher(
-      const FileBackedRulesetSource& source,
-      int expected_ruleset_checksum,
-      std::unique_ptr<RulesetMatcher>* matcher);
-
+  RulesetMatcher(std::string ruleset_data,
+                 RulesetID id,
+                 const ExtensionId& extension_id);
   ~RulesetMatcher();
 
   base::Optional<RequestAction> GetBeforeRequestAction(
@@ -73,10 +66,6 @@
       content::RenderFrameHost* host) const;
 
  private:
-  explicit RulesetMatcher(std::string ruleset_data,
-                          RulesetID id,
-                          const ExtensionId& extension_id);
-
   const std::string ruleset_data_;
 
   const flat::ExtensionIndexedRuleset* const root_;
diff --git a/extensions/browser/api/declarative_net_request/ruleset_matcher_unittest.cc b/extensions/browser/api/declarative_net_request/ruleset_matcher_unittest.cc
index 5c6974cc..c6986e0 100644
--- a/extensions/browser/api/declarative_net_request/ruleset_matcher_unittest.cc
+++ b/extensions/browser/api/declarative_net_request/ruleset_matcher_unittest.cc
@@ -166,8 +166,7 @@
   ASSERT_EQ(static_cast<int>(data.size()),
             base::WriteFile(source.indexed_path(), data.c_str(), data.size()));
   EXPECT_EQ(LoadRulesetResult::kErrorVersionMismatch,
-            RulesetMatcher::CreateVerifiedMatcher(source, expected_checksum,
-                                                  &matcher));
+            source.CreateVerifiedMatcher(expected_checksum, &matcher));
 
   // Now, persist invalid data to the ruleset file, while maintaining the
   // correct version header. Ensure that it fails verification due to checksum
@@ -176,8 +175,7 @@
   ASSERT_EQ(static_cast<int>(data.size()),
             base::WriteFile(source.indexed_path(), data.c_str(), data.size()));
   EXPECT_EQ(LoadRulesetResult::kErrorChecksumMismatch,
-            RulesetMatcher::CreateVerifiedMatcher(source, expected_checksum,
-                                                  &matcher));
+            source.CreateVerifiedMatcher(expected_checksum, &matcher));
 }
 
 TEST_F(RulesetMatcherTest, ModifyHeaders_IsExtraHeaderMatcher) {
diff --git a/extensions/browser/api/declarative_net_request/ruleset_source.cc b/extensions/browser/api/declarative_net_request/ruleset_source.cc
index cc33e47..9f0f11e5 100644
--- a/extensions/browser/api/declarative_net_request/ruleset_source.cc
+++ b/extensions/browser/api/declarative_net_request/ruleset_source.cc
@@ -4,6 +4,21 @@
 
 #include "extensions/browser/api/declarative_net_request/ruleset_source.h"
 
+#include <utility>
+
+#include "base/containers/span.h"
+#include "extensions/browser/api/declarative_net_request/constants.h"
+#include "extensions/browser/api/declarative_net_request/flat_ruleset_indexer.h"
+#include "extensions/browser/api/declarative_net_request/indexed_rule.h"
+#include "extensions/browser/api/declarative_net_request/parse_info.h"
+#include "extensions/browser/api/declarative_net_request/ruleset_matcher.h"
+#include "extensions/browser/api/declarative_net_request/utils.h"
+#include "extensions/common/api/declarative_net_request/constants.h"
+#include "extensions/common/api/declarative_net_request/utils.h"
+#include "extensions/common/extension.h"
+#include "third_party/flatbuffers/src/include/flatbuffers/flatbuffers.h"
+#include "url/gurl.h"
+
 namespace extensions {
 namespace declarative_net_request {
 
@@ -20,5 +35,72 @@
 RulesetSource::RulesetSource(RulesetSource&&) = default;
 RulesetSource& RulesetSource::operator=(RulesetSource&&) = default;
 
+ParseInfo RulesetSource::IndexRules(
+    std::vector<api::declarative_net_request::Rule> rules) const {
+  DCHECK_LE(rules.size(), rule_count_limit_);
+
+  FlatRulesetIndexer indexer;
+
+  size_t rules_count = 0;
+  size_t regex_rules_count = 0;
+  std::vector<int> large_regex_rule_ids;
+  {
+    std::set<int> id_set;  // Ensure all ids are distinct.
+    const GURL base_url = Extension::GetBaseURLFromExtensionId(extension_id_);
+    for (auto& rule : rules) {
+      int rule_id = rule.id;
+      bool inserted = id_set.insert(rule_id).second;
+      if (!inserted)
+        return ParseInfo(ParseResult::ERROR_DUPLICATE_IDS, &rule_id);
+
+      IndexedRule indexed_rule;
+      ParseResult parse_result = IndexedRule::CreateIndexedRule(
+          std::move(rule), base_url, &indexed_rule);
+
+      if (parse_result == ParseResult::ERROR_REGEX_TOO_LARGE) {
+        large_regex_rule_ids.push_back(rule_id);
+        continue;
+      }
+
+      if (parse_result != ParseResult::SUCCESS)
+        return ParseInfo(parse_result, &rule_id);
+
+      indexer.AddUrlRule(indexed_rule);
+      rules_count++;
+
+      if (indexed_rule.url_pattern_type ==
+          url_pattern_index::flat::UrlPatternType_REGEXP) {
+        regex_rules_count++;
+      }
+    }
+  }
+
+  flatbuffers::DetachedBuffer buffer = indexer.FinishAndReleaseBuffer();
+  int ruleset_checksum =
+      GetChecksum(base::make_span(buffer.data(), buffer.size()));
+  return ParseInfo(rules_count, regex_rules_count,
+                   std::move(large_regex_rule_ids), std::move(buffer),
+                   ruleset_checksum);
+}
+
+LoadRulesetResult RulesetSource::CreateVerifiedMatcher(
+    std::string data,
+    std::unique_ptr<RulesetMatcher>* matcher) const {
+  DCHECK(matcher);
+
+  flatbuffers::Verifier verifier(reinterpret_cast<const uint8_t*>(data.data()),
+                                 data.size());
+
+  // TODO(karandeepb): This should use a different LoadRulesetResult since it's
+  // not a checksum mismatch.
+  // This guarantees that no memory access will end up outside the buffer.
+  if (!flat::VerifyExtensionIndexedRulesetBuffer(verifier))
+    return LoadRulesetResult::kErrorChecksumMismatch;
+
+  *matcher =
+      std::make_unique<RulesetMatcher>(std::move(data), id(), extension_id());
+  return LoadRulesetResult::kSuccess;
+}
+
 }  // namespace declarative_net_request
 }  // namespace extensions
diff --git a/extensions/browser/api/declarative_net_request/ruleset_source.h b/extensions/browser/api/declarative_net_request/ruleset_source.h
index e58735a..6f07729f 100644
--- a/extensions/browser/api/declarative_net_request/ruleset_source.h
+++ b/extensions/browser/api/declarative_net_request/ruleset_source.h
@@ -5,11 +5,18 @@
 #ifndef EXTENSIONS_BROWSER_API_DECLARATIVE_NET_REQUEST_RULESET_SOURCE_H_
 #define EXTENSIONS_BROWSER_API_DECLARATIVE_NET_REQUEST_RULESET_SOURCE_H_
 
+#include <memory>
+#include <string>
+
+#include "extensions/browser/api/declarative_net_request/constants.h"
+#include "extensions/common/api/declarative_net_request.h"
 #include "extensions/common/api/declarative_net_request/constants.h"
 #include "extensions/common/extension_id.h"
 
 namespace extensions {
 namespace declarative_net_request {
+class ParseInfo;
+class RulesetMatcher;
 
 // Encapsulates information for a single extension ruleset.
 class RulesetSource {
@@ -37,6 +44,16 @@
   // manifest for a static ruleset). Always true for a dynamic ruleset.
   bool enabled_by_default() const { return enabled_by_default_; }
 
+  // Indexes the given |rules| in indexed/flatbuffer format.
+  ParseInfo IndexRules(
+      std::vector<api::declarative_net_request::Rule> rules) const;
+
+  // Creates a verified RulesetMatcher corresponding to the buffer in |data|.
+  // Returns kSuccess on success along with the ruleset |matcher|.
+  LoadRulesetResult CreateVerifiedMatcher(
+      std::string data,
+      std::unique_ptr<RulesetMatcher>* matcher) const;
+
  private:
   RulesetID id_;
   size_t rule_count_limit_;
diff --git a/extensions/browser/api/declarative_net_request/test_utils.cc b/extensions/browser/api/declarative_net_request/test_utils.cc
index 8513a9bf..26080dfe 100644
--- a/extensions/browser/api/declarative_net_request/test_utils.cc
+++ b/extensions/browser/api/declarative_net_request/test_utils.cc
@@ -317,7 +317,7 @@
       FileBackedRulesetSource::CreateStatic(extension);
 
   const ExtensionPrefs* prefs = ExtensionPrefs::Get(browser_context);
-  for (FileBackedRulesetSource& source : sources) {
+  for (const auto& source : sources) {
     if (prefs->ShouldIgnoreDNRRuleset(extension.id(), source.id()))
       continue;
 
@@ -328,8 +328,7 @@
     }
 
     std::unique_ptr<RulesetMatcher> matcher;
-    if (RulesetMatcher::CreateVerifiedMatcher(std::move(source),
-                                              expected_checksum, &matcher) !=
+    if (source.CreateVerifiedMatcher(expected_checksum, &matcher) !=
         LoadRulesetResult::kSuccess) {
       return false;
     }
@@ -365,9 +364,8 @@
   if (expected_checksum)
     *expected_checksum = result.ruleset_checksum;
 
-  // Create verified matcher.
-  LoadRulesetResult load_result = RulesetMatcher::CreateVerifiedMatcher(
-      source, result.ruleset_checksum, matcher);
+  LoadRulesetResult load_result =
+      source.CreateVerifiedMatcher(result.ruleset_checksum, matcher);
   return load_result == LoadRulesetResult::kSuccess;
 }
 
diff --git a/extensions/browser/api/declarative_net_request/utils.cc b/extensions/browser/api/declarative_net_request/utils.cc
index 99346b9..0eda6b5 100644
--- a/extensions/browser/api/declarative_net_request/utils.cc
+++ b/extensions/browser/api/declarative_net_request/utils.cc
@@ -80,12 +80,6 @@
 
 }  // namespace
 
-bool IsValidRulesetData(base::span<const uint8_t> data, int expected_checksum) {
-  flatbuffers::Verifier verifier(data.data(), data.size());
-  return expected_checksum == GetChecksum(data) &&
-         flat::VerifyExtensionIndexedRulesetBuffer(verifier);
-}
-
 std::string GetVersionHeaderForTesting() {
   return GetVersionHeader();
 }
@@ -129,10 +123,7 @@
 }
 
 bool PersistIndexedRuleset(const base::FilePath& path,
-                           base::span<const uint8_t> data,
-                           int* ruleset_checksum) {
-  DCHECK(ruleset_checksum);
-
+                           base::span<const uint8_t> data) {
   // Create the directory corresponding to |path| if it does not exist.
   if (!base::CreateDirectory(path.DirName()))
     return false;
@@ -159,7 +150,6 @@
     return false;
   }
 
-  *ruleset_checksum = GetChecksum(data);
   return true;
 }
 
diff --git a/extensions/browser/api/declarative_net_request/utils.h b/extensions/browser/api/declarative_net_request/utils.h
index 320e0d2..d195c59d 100644
--- a/extensions/browser/api/declarative_net_request/utils.h
+++ b/extensions/browser/api/declarative_net_request/utils.h
@@ -31,10 +31,6 @@
 namespace declarative_net_request {
 class CompositeMatcher;
 
-// Returns true if |data| represents a valid data buffer containing indexed
-// ruleset data with |expected_checksum|.
-bool IsValidRulesetData(base::span<const uint8_t> data, int expected_checksum);
-
 // Returns the version header used for indexed ruleset files. Only exposed for
 // testing.
 std::string GetVersionHeaderForTesting();
@@ -62,12 +58,9 @@
 
 // Helper function to persist the indexed ruleset |data| at the given |path|.
 // The ruleset is composed of a version header corresponding to the current
-// ruleset format version, followed by the actual ruleset data. Note: The
-// checksum only corresponds to this ruleset data and does not include the
-// version header.
+// ruleset format version, followed by the actual ruleset data.
 bool PersistIndexedRuleset(const base::FilePath& path,
-                           base::span<const uint8_t> data,
-                           int* ruleset_checksum);
+                           base::span<const uint8_t> data);
 
 // Helper to clear each renderer's in-memory cache the next time it navigates.
 void ClearRendererCacheOnNavigation();
diff --git a/extensions/browser/guest_view/web_view/web_view_guest.cc b/extensions/browser/guest_view/web_view/web_view_guest.cc
index 52a429d..65ef9b1 100644
--- a/extensions/browser/guest_view/web_view/web_view_guest.cc
+++ b/extensions/browser/guest_view/web_view/web_view_guest.cc
@@ -1050,7 +1050,8 @@
     blink::mojom::ConsoleMessageLevel log_level,
     const base::string16& message,
     int32_t line_no,
-    const base::string16& source_id) {
+    const base::string16& source_id,
+    const base::Optional<base::string16>& untrusted_stack_trace) {
   auto args = std::make_unique<base::DictionaryValue>();
   // Log levels are from base/logging.h: LogSeverity.
   args->SetInteger(webview::kLevel,
diff --git a/extensions/browser/guest_view/web_view/web_view_guest.h b/extensions/browser/guest_view/web_view/web_view_guest.h
index 79ed24c..f059694 100644
--- a/extensions/browser/guest_view/web_view/web_view_guest.h
+++ b/extensions/browser/guest_view/web_view/web_view_guest.h
@@ -279,11 +279,13 @@
   void FrameNameChanged(content::RenderFrameHost* render_frame_host,
                         const std::string& name) final;
   void OnAudioStateChanged(bool audible) final;
-  void OnDidAddMessageToConsole(content::RenderFrameHost* source_frame,
-                                blink::mojom::ConsoleMessageLevel log_level,
-                                const base::string16& message,
-                                int32_t line_no,
-                                const base::string16& source_id) final;
+  void OnDidAddMessageToConsole(
+      content::RenderFrameHost* source_frame,
+      blink::mojom::ConsoleMessageLevel log_level,
+      const base::string16& message,
+      int32_t line_no,
+      const base::string16& source_id,
+      const base::Optional<base::string16>& untrusted_stack_trace) final;
 
   // Informs the embedder of a frame name change.
   void ReportFrameNameChange(const std::string& name);
diff --git a/extensions/browser/script_executor.cc b/extensions/browser/script_executor.cc
index 7279542..96cc1f3 100644
--- a/extensions/browser/script_executor.cc
+++ b/extensions/browser/script_executor.cc
@@ -70,6 +70,9 @@
       content::RenderFrameHost* frame =
           ExtensionApiFrameIdMap::GetRenderFrameHostById(web_contents,
                                                          frame_id);
+      if (!frame)
+        continue;
+
       DCHECK(!base::Contains(pending_render_frames_, frame));
       if (frame->IsRenderFrameLive())
         pending_render_frames_.push_back(frame);
@@ -168,6 +171,7 @@
     size_t erased = base::Erase(pending_render_frames_, render_frame_host);
     DCHECK_EQ(1u, erased);
     bool is_root_frame = root_rfh_ == render_frame_host;
+    finished_any_execution_ = true;
 
     // Set the result, if there is one.
     const base::Value* script_value = nullptr;
@@ -196,6 +200,9 @@
       root_frame_error_ =
           root_is_main_frame_ ? kRendererDestroyed : kFrameRemoved;
       results_.Clear();
+    } else if (!finished_any_execution_) {
+      // We never executed in any frame.
+      root_frame_error_ = kFrameRemoved;
     }
 
     if (observer_ && root_frame_error_.empty() &&
@@ -224,6 +231,9 @@
   // Whether |root_rfh_| is the main frame of a tab.
   bool root_is_main_frame_ = false;
 
+  // Whether execution has finished in any frame.
+  bool finished_any_execution_ = false;
+
   // The hosts of the still-running injections. Note: this is a vector because
   // order matters (some tests - and therefore perhaps some extensions - rely on
   // the execution mirroring the frame tree hierarchy). The contents, however,
diff --git a/gpu/command_buffer/service/service_transfer_cache.cc b/gpu/command_buffer/service/service_transfer_cache.cc
index 5e474e4..323d64e1 100644
--- a/gpu/command_buffer/service/service_transfer_cache.cc
+++ b/gpu/command_buffer/service/service_transfer_cache.cc
@@ -17,7 +17,6 @@
 #include "cc/paint/image_transfer_cache_entry.h"
 #include "gpu/command_buffer/service/service_discardable_manager.h"
 #include "third_party/skia/include/core/SkImage.h"
-#include "third_party/skia/include/core/SkYUVAIndex.h"
 #include "third_party/skia/include/gpu/GrBackendSurface.h"
 #include "ui/gl/trace_util.h"
 
@@ -280,7 +279,8 @@
     ServiceDiscardableHandle handle,
     GrDirectContext* context,
     std::vector<sk_sp<SkImage>> plane_images,
-    cc::YUVDecodeFormat plane_images_format,
+    SkYUVAInfo::PlaneConfig plane_config,
+    SkYUVAInfo::Subsampling subsampling,
     SkYUVColorSpace yuv_color_space,
     size_t buffer_byte_size,
     bool needs_mips) {
@@ -292,7 +292,7 @@
   // Create the service-side image transfer cache entry.
   auto entry = std::make_unique<cc::ServiceImageTransferCacheEntry>();
   if (!entry->BuildFromHardwareDecodedImage(
-          context, std::move(plane_images), plane_images_format,
+          context, std::move(plane_images), plane_config, subsampling,
           yuv_color_space, buffer_byte_size, needs_mips)) {
     return false;
   }
diff --git a/gpu/command_buffer/service/service_transfer_cache.h b/gpu/command_buffer/service/service_transfer_cache.h
index e63656bcc..1eb48f7 100644
--- a/gpu/command_buffer/service/service_transfer_cache.h
+++ b/gpu/command_buffer/service/service_transfer_cache.h
@@ -21,6 +21,7 @@
 #include "gpu/gpu_gles2_export.h"
 #include "third_party/skia/include/core/SkImageInfo.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
+#include "third_party/skia/include/core/SkYUVAInfo.h"
 
 class GrDirectContext;
 class SkImage;
@@ -74,7 +75,8 @@
       ServiceDiscardableHandle handle,
       GrDirectContext* context,
       std::vector<sk_sp<SkImage>> plane_images,
-      cc::YUVDecodeFormat plane_images_format,
+      SkYUVAInfo::PlaneConfig plane_config,
+      SkYUVAInfo::Subsampling subsampling,
       SkYUVColorSpace yuv_color_space,
       size_t buffer_byte_size,
       bool needs_mips);
diff --git a/gpu/ipc/service/image_decode_accelerator_stub.cc b/gpu/ipc/service/image_decode_accelerator_stub.cc
index caef591..11ce1fd 100644
--- a/gpu/ipc/service/image_decode_accelerator_stub.cc
+++ b/gpu/ipc/service/image_decode_accelerator_stub.cc
@@ -406,6 +406,10 @@
       cache_use.emplace(gr_shader_cache,
                         base::strict_cast<int32_t>(channel_->client_id()));
     DCHECK(shared_context_state->transfer_cache());
+    SkYUVAInfo::PlaneConfig plane_config =
+        completed_decode->buffer_format == gfx::BufferFormat::YVU_420
+            ? SkYUVAInfo::PlaneConfig::kY_V_U
+            : SkYUVAInfo::PlaneConfig::kY_UV;
     // TODO(andrescj): |params.target_color_space| is not needed because Skia
     // knows where it's drawing, so it can handle color space conversion without
     // us having to specify the target color space. However, we are currently
@@ -421,9 +425,7 @@
                                           params.discardable_handle_shm_offset,
                                           params.discardable_handle_shm_id),
                  shared_context_state->gr_context(), std::move(plane_sk_images),
-                 completed_decode->buffer_format == gfx::BufferFormat::YVU_420
-                     ? cc::YUVDecodeFormat::kYVU3
-                     : cc::YUVDecodeFormat::kYUV2,
+                 plane_config, SkYUVAInfo::Subsampling::k420,
                  completed_decode->yuv_color_space,
                  completed_decode->buffer_byte_size, params.needs_mips)) {
       DLOG(ERROR) << "Could not create and insert the transfer cache entry";
diff --git a/infra/config/generated/commit-queue.cfg b/infra/config/generated/commit-queue.cfg
index 71bc7e2..7fe7323 100644
--- a/infra/config/generated/commit-queue.cfg
+++ b/infra/config/generated/commit-queue.cfg
@@ -247,7 +247,6 @@
       }
       builders {
         name: "chromium/try/android-marshmallow-x86-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 c535022..4d7805e 100644
--- a/infra/config/generated/cq-builders.md
+++ b/infra/config/generated/cq-builders.md
@@ -23,6 +23,8 @@
 
 * [android-marshmallow-arm64-rel](https://ci.chromium.org/p/chromium/builders/try/android-marshmallow-arm64-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+android-marshmallow-arm64-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+android-marshmallow-arm64-rel))
 
+* [android-marshmallow-x86-rel](https://ci.chromium.org/p/chromium/builders/try/android-marshmallow-x86-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+android-marshmallow-x86-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+android-marshmallow-x86-rel))
+
 * [android-pie-arm64-rel](https://ci.chromium.org/p/chromium/builders/try/android-pie-arm64-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+android-pie-arm64-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+android-pie-arm64-rel))
 
 * [android_compile_dbg](https://ci.chromium.org/p/chromium/builders/try/android_compile_dbg) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+android_compile_dbg)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+android_compile_dbg))
@@ -371,9 +373,6 @@
 by CQ. These are often used to test new configurations before they are added
 as required builders.
 
-* [android-marshmallow-x86-rel](https://ci.chromium.org/p/chromium/builders/try/android-marshmallow-x86-rel) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+android-marshmallow-x86-rel)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+android-marshmallow-x86-rel))
-  * Experiment percentage: 100
-
 * [ios-simulator-coverage-exp](https://ci.chromium.org/p/chromium/builders/try/ios-simulator-coverage-exp) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+ios-simulator-coverage-exp)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+ios-simulator-coverage-exp))
   * Experiment percentage: 3
 
diff --git a/infra/config/generated/cr-buildbucket.cfg b/infra/config/generated/cr-buildbucket.cfg
index 7ea7361..d6a3862 100644
--- a/infra/config/generated/cr-buildbucket.cfg
+++ b/infra/config/generated/cr-buildbucket.cfg
@@ -39,7 +39,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -86,7 +86,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -133,7 +133,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -180,7 +180,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -227,7 +227,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -274,7 +274,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -321,7 +321,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -368,7 +368,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -415,7 +415,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -462,7 +462,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -509,7 +509,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -556,7 +556,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -603,7 +603,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -650,7 +650,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -697,7 +697,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -744,7 +744,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -791,7 +791,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -838,7 +838,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -885,7 +885,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -932,7 +932,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -979,7 +979,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1026,7 +1026,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1073,7 +1073,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1120,7 +1120,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1167,7 +1167,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1214,7 +1214,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1261,7 +1261,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1308,7 +1308,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1355,7 +1355,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1402,7 +1402,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1449,7 +1449,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1496,7 +1496,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1543,7 +1543,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1590,7 +1590,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1637,7 +1637,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1684,7 +1684,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1731,7 +1731,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1778,7 +1778,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1825,7 +1825,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1872,7 +1872,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1919,7 +1919,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -1966,7 +1966,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2013,7 +2013,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2060,7 +2060,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2107,7 +2107,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2154,7 +2154,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2201,7 +2201,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2248,7 +2248,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2295,7 +2295,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2342,7 +2342,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2387,7 +2387,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2432,7 +2432,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2479,7 +2479,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2526,7 +2526,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2573,7 +2573,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2620,7 +2620,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2667,7 +2667,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2714,7 +2714,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2761,7 +2761,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2808,7 +2808,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2855,7 +2855,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2902,7 +2902,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2949,7 +2949,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -2996,7 +2996,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3043,7 +3043,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3090,7 +3090,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3137,7 +3137,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3184,7 +3184,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3231,7 +3231,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3278,7 +3278,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3325,7 +3325,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3372,7 +3372,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3419,7 +3419,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3466,7 +3466,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3513,7 +3513,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3560,7 +3560,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3607,7 +3607,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3654,7 +3654,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3701,7 +3701,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3748,7 +3748,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3793,7 +3793,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3838,7 +3838,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3883,7 +3883,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3930,7 +3930,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -3977,7 +3977,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4024,7 +4024,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4071,7 +4071,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4118,7 +4118,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4165,7 +4165,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4212,7 +4212,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4259,7 +4259,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4306,7 +4306,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4353,7 +4353,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4400,7 +4400,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4447,7 +4447,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4492,7 +4492,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4537,7 +4537,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4584,7 +4584,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4631,7 +4631,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4678,7 +4678,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4725,7 +4725,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4772,7 +4772,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4819,7 +4819,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4866,7 +4866,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4912,7 +4912,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -4959,7 +4959,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5006,7 +5006,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5053,7 +5053,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5100,7 +5100,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5147,7 +5147,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5194,7 +5194,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5240,7 +5240,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5286,7 +5286,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5333,7 +5333,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5380,7 +5380,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5427,7 +5427,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5474,7 +5474,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5521,7 +5521,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5568,7 +5568,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5615,7 +5615,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5662,7 +5662,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5709,7 +5709,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5756,7 +5756,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5803,7 +5803,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5850,7 +5850,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5897,7 +5897,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5944,7 +5944,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -5991,7 +5991,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6038,7 +6038,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6085,7 +6085,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6132,7 +6132,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6179,7 +6179,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6226,7 +6226,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6273,7 +6273,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6320,7 +6320,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6367,7 +6367,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6414,7 +6414,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6461,7 +6461,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6508,7 +6508,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6555,7 +6555,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6602,7 +6602,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6649,7 +6649,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6696,7 +6696,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6743,7 +6743,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6790,7 +6790,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6837,7 +6837,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6884,7 +6884,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6931,7 +6931,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -6978,7 +6978,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7025,7 +7025,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7072,7 +7072,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7119,7 +7119,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7166,7 +7166,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7213,7 +7213,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7401,7 +7401,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7448,7 +7448,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7495,7 +7495,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7542,7 +7542,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7588,7 +7588,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7634,7 +7634,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7679,7 +7679,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7725,7 +7725,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7770,7 +7770,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7815,7 +7815,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7906,7 +7906,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -7953,7 +7953,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8000,7 +8000,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8047,7 +8047,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8094,7 +8094,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8139,7 +8139,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8186,7 +8186,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8233,7 +8233,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8280,7 +8280,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8327,7 +8327,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8374,7 +8374,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8421,7 +8421,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8466,7 +8466,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8513,7 +8513,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8560,7 +8560,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8607,7 +8607,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8654,7 +8654,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8701,7 +8701,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8748,7 +8748,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8885,7 +8885,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8932,7 +8932,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -8979,7 +8979,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9026,7 +9026,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9073,7 +9073,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9120,7 +9120,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9167,7 +9167,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9214,7 +9214,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9261,7 +9261,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9308,7 +9308,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9355,7 +9355,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9402,7 +9402,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9449,7 +9449,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9495,7 +9495,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9542,7 +9542,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9589,7 +9589,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9636,7 +9636,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9730,7 +9730,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9777,7 +9777,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9824,7 +9824,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9871,7 +9871,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9918,7 +9918,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -9965,7 +9965,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10012,7 +10012,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10059,7 +10059,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10106,7 +10106,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10153,7 +10153,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10200,7 +10200,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10247,7 +10247,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10293,7 +10293,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10340,7 +10340,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10387,7 +10387,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10434,7 +10434,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10481,7 +10481,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10528,7 +10528,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10575,7 +10575,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10622,7 +10622,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10669,7 +10669,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10716,7 +10716,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10763,7 +10763,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10810,7 +10810,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10857,7 +10857,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10904,7 +10904,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10951,7 +10951,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -10998,7 +10998,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11045,7 +11045,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11092,7 +11092,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11142,7 +11142,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11192,7 +11192,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11239,7 +11239,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11286,7 +11286,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11333,7 +11333,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11427,7 +11427,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11474,7 +11474,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11521,7 +11521,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11567,7 +11567,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11659,7 +11659,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11705,7 +11705,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11751,7 +11751,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11797,7 +11797,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11843,7 +11843,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11889,7 +11889,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11936,7 +11936,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -11983,7 +11983,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12030,7 +12030,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12077,7 +12077,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12124,7 +12124,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12171,7 +12171,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12218,7 +12218,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12265,7 +12265,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12312,7 +12312,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12359,7 +12359,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12406,7 +12406,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12453,7 +12453,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12500,7 +12500,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12547,7 +12547,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12594,7 +12594,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12641,7 +12641,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12688,7 +12688,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12734,7 +12734,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12780,7 +12780,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12919,7 +12919,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -12966,7 +12966,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13012,7 +13012,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13059,7 +13059,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13106,7 +13106,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13153,7 +13153,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13200,7 +13200,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13247,7 +13247,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13294,7 +13294,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13340,7 +13340,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13386,7 +13386,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13432,7 +13432,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13479,7 +13479,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13526,7 +13526,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13573,7 +13573,7 @@
       service_account: "chromium-cipd-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13620,7 +13620,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13667,7 +13667,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13714,7 +13714,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13761,7 +13761,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13808,7 +13808,7 @@
       service_account: "chromium-cipd-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13855,7 +13855,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -13902,7 +13902,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14043,7 +14043,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14090,7 +14090,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14137,7 +14137,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14184,7 +14184,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14231,7 +14231,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14278,7 +14278,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14325,7 +14325,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14372,7 +14372,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14416,7 +14416,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14463,7 +14463,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14510,7 +14510,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14557,7 +14557,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14604,7 +14604,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14651,7 +14651,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14698,7 +14698,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14745,7 +14745,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14792,7 +14792,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14839,7 +14839,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14886,7 +14886,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -14933,7 +14933,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15168,7 +15168,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15215,7 +15215,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15262,7 +15262,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15309,7 +15309,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15356,7 +15356,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15403,7 +15403,7 @@
       service_account: "chromium-cipd-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15450,7 +15450,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15497,7 +15497,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15544,7 +15544,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15591,7 +15591,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15638,7 +15638,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15685,7 +15685,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15732,7 +15732,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15779,7 +15779,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15873,7 +15873,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15920,7 +15920,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -15967,7 +15967,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16014,7 +16014,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16061,7 +16061,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16296,7 +16296,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16343,7 +16343,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16390,7 +16390,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16488,7 +16488,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16537,7 +16537,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16685,7 +16685,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -16783,7 +16783,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -17171,7 +17171,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -17218,7 +17218,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -17312,7 +17312,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -17547,7 +17547,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -17641,7 +17641,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -17876,7 +17876,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18017,7 +18017,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18111,7 +18111,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18157,7 +18157,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18204,7 +18204,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18298,7 +18298,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18345,7 +18345,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18392,7 +18392,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18439,7 +18439,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18486,7 +18486,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18533,7 +18533,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18580,7 +18580,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18627,7 +18627,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18721,7 +18721,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -18959,7 +18959,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19005,7 +19005,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19050,7 +19050,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19097,7 +19097,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19236,7 +19236,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19281,7 +19281,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19373,7 +19373,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19418,7 +19418,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19463,7 +19463,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19556,7 +19556,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19603,7 +19603,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19650,7 +19650,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19697,7 +19697,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19744,7 +19744,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19791,7 +19791,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19838,7 +19838,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19885,7 +19885,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -19932,7 +19932,7 @@
       service_account: "component-mapping-updater@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20025,7 +20025,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20071,7 +20071,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20118,7 +20118,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20164,7 +20164,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20210,7 +20210,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20256,7 +20256,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20582,7 +20582,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20629,7 +20629,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20676,7 +20676,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20723,7 +20723,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20770,7 +20770,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20817,7 +20817,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20864,7 +20864,7 @@
       service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20911,7 +20911,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -20958,7 +20958,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21145,7 +21145,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21191,7 +21191,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21237,7 +21237,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21283,7 +21283,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21375,7 +21375,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21422,7 +21422,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21469,7 +21469,7 @@
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21537,7 +21537,7 @@
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21589,7 +21589,7 @@
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21641,7 +21641,7 @@
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21693,7 +21693,7 @@
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21745,7 +21745,7 @@
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -21797,7 +21797,7 @@
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -23982,7 +23982,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24037,7 +24037,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24092,7 +24092,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24147,7 +24147,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24202,7 +24202,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24257,7 +24257,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24312,7 +24312,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24367,7 +24367,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24422,7 +24422,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24477,7 +24477,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24532,7 +24532,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24562,8 +24562,8 @@
       name: "android-marshmallow-arm64-rel"
       swarming_host: "chromium-swarm.appspot.com"
       swarming_tags: "vpython:native-python-wrapper"
-      dimensions: "builderless:1"
-      dimensions: "cores:16"
+      dimensions: "builder:android-marshmallow-arm64-rel"
+      dimensions: "cores:32"
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-16.04"
       dimensions: "pool:luci.chromium.try"
@@ -24587,7 +24587,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24642,7 +24642,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24697,7 +24697,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24752,7 +24752,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24807,7 +24807,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24862,7 +24862,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24917,7 +24917,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -24972,7 +24972,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25027,7 +25027,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25082,7 +25082,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25137,7 +25137,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25192,7 +25192,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25247,7 +25247,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25302,7 +25302,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25357,7 +25357,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25412,7 +25412,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25467,7 +25467,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25521,7 +25521,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25575,7 +25575,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25629,7 +25629,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25683,7 +25683,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25737,7 +25737,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25791,7 +25791,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25846,7 +25846,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25901,7 +25901,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -25956,7 +25956,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26011,7 +26011,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26066,7 +26066,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26120,7 +26120,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26175,7 +26175,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26230,7 +26230,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26284,7 +26284,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26339,7 +26339,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26394,7 +26394,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26448,7 +26448,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26503,7 +26503,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26557,7 +26557,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26612,7 +26612,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26666,7 +26666,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26721,7 +26721,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26776,7 +26776,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26831,7 +26831,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26886,7 +26886,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26941,7 +26941,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -26996,7 +26996,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27051,7 +27051,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27106,7 +27106,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27159,7 +27159,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27212,7 +27212,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27265,7 +27265,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27318,7 +27318,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27371,7 +27371,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27424,7 +27424,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27478,7 +27478,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27533,7 +27533,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27588,7 +27588,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27643,7 +27643,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27698,7 +27698,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27753,7 +27753,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27808,7 +27808,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27863,7 +27863,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27918,7 +27918,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -27973,7 +27973,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28028,7 +28028,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28083,7 +28083,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28137,7 +28137,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28191,7 +28191,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28245,7 +28245,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28299,7 +28299,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28353,7 +28353,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28407,7 +28407,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28461,7 +28461,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28515,7 +28515,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28569,7 +28569,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28623,7 +28623,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28677,7 +28677,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28731,7 +28731,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28785,7 +28785,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28839,7 +28839,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28893,7 +28893,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -28947,7 +28947,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29001,7 +29001,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29055,7 +29055,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29109,7 +29109,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29163,7 +29163,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29217,7 +29217,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29271,7 +29271,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29325,7 +29325,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29379,7 +29379,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29433,7 +29433,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29487,7 +29487,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29541,7 +29541,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29594,7 +29594,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29647,7 +29647,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29700,7 +29700,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29753,7 +29753,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29806,7 +29806,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29859,7 +29859,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29912,7 +29912,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -29965,7 +29965,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30018,7 +30018,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30071,7 +30071,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30124,7 +30124,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30177,7 +30177,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30230,7 +30230,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30283,7 +30283,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30336,7 +30336,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30390,7 +30390,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30444,7 +30444,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30498,7 +30498,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30552,7 +30552,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30606,7 +30606,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30660,7 +30660,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30714,7 +30714,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30768,7 +30768,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30822,7 +30822,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30876,7 +30876,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30930,7 +30930,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -30984,7 +30984,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31038,7 +31038,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31092,7 +31092,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31146,7 +31146,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31200,7 +31200,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31254,7 +31254,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31308,7 +31308,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31362,7 +31362,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31416,7 +31416,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31470,7 +31470,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31523,7 +31523,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31576,7 +31576,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31630,7 +31630,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31687,7 +31687,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31744,7 +31744,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31801,7 +31801,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31858,7 +31858,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31915,7 +31915,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -31972,7 +31972,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32029,7 +32029,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32086,7 +32086,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32143,7 +32143,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32200,7 +32200,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32257,7 +32257,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32314,7 +32314,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32371,7 +32371,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32426,7 +32426,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32481,7 +32481,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32535,7 +32535,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32590,7 +32590,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32645,7 +32645,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32700,7 +32700,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32755,7 +32755,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32810,7 +32810,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32865,7 +32865,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32920,7 +32920,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -32975,7 +32975,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33029,7 +33029,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33084,7 +33084,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33138,7 +33138,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33193,7 +33193,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33248,7 +33248,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33301,7 +33301,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33356,7 +33356,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33411,7 +33411,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33466,7 +33466,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33521,7 +33521,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33576,7 +33576,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33631,7 +33631,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33686,7 +33686,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33741,7 +33741,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33796,7 +33796,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33851,7 +33851,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33906,7 +33906,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -33961,7 +33961,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34015,7 +34015,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34070,7 +34070,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34125,7 +34125,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34180,7 +34180,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34235,7 +34235,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34290,7 +34290,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34345,7 +34345,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34400,7 +34400,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34455,7 +34455,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34510,7 +34510,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34565,7 +34565,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34620,7 +34620,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34675,7 +34675,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34730,7 +34730,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34785,7 +34785,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34840,7 +34840,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34894,7 +34894,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -34948,7 +34948,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35003,7 +35003,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35058,7 +35058,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35113,7 +35113,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35168,7 +35168,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35223,7 +35223,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35278,7 +35278,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35333,7 +35333,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35388,7 +35388,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35443,7 +35443,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35501,7 +35501,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35556,7 +35556,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35615,7 +35615,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35670,7 +35670,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35725,7 +35725,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35780,7 +35780,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35835,7 +35835,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35890,7 +35890,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -35945,7 +35945,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36000,7 +36000,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36054,7 +36054,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36109,7 +36109,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36164,7 +36164,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36217,7 +36217,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36271,7 +36271,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36324,7 +36324,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36377,7 +36377,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36431,7 +36431,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36485,7 +36485,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36538,7 +36538,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36591,7 +36591,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36644,7 +36644,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36698,7 +36698,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36752,7 +36752,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36806,7 +36806,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36860,7 +36860,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36914,7 +36914,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -36968,7 +36968,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37022,7 +37022,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37076,7 +37076,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37130,7 +37130,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37184,7 +37184,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37238,7 +37238,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37292,7 +37292,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37346,7 +37346,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37400,7 +37400,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37454,7 +37454,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37508,7 +37508,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37561,7 +37561,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37615,7 +37615,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37670,7 +37670,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37725,7 +37725,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37780,7 +37780,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37835,7 +37835,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37889,7 +37889,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37943,7 +37943,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -37997,7 +37997,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38051,7 +38051,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38106,7 +38106,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38161,7 +38161,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38216,7 +38216,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38269,7 +38269,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38323,7 +38323,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38378,7 +38378,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38433,7 +38433,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38488,7 +38488,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38543,7 +38543,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38598,7 +38598,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38653,7 +38653,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38708,7 +38708,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38763,7 +38763,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38818,7 +38818,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38873,7 +38873,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38928,7 +38928,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -38983,7 +38983,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39037,7 +39037,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39092,7 +39092,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39147,7 +39147,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39201,7 +39201,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39256,7 +39256,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39311,7 +39311,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39366,7 +39366,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39421,7 +39421,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39476,7 +39476,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39531,7 +39531,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39586,7 +39586,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39641,7 +39641,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39696,7 +39696,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39751,7 +39751,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39805,7 +39805,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
@@ -39860,7 +39860,7 @@
       }
       experiments {
         key: "chromium.resultdb.result_sink"
-        value: 80
+        value: 100
       }
       experiments {
         key: "luci.use_realms"
diff --git a/infra/config/lib/ci.star b/infra/config/lib/ci.star
index 8621b85af..bc75d2a 100644
--- a/infra/config/lib/ci.star
+++ b/infra/config/lib/ci.star
@@ -406,9 +406,9 @@
     ]
     merged_resultdb_bigquery_exports.extend(resultdb_bigquery_exports or [])
 
-    # Enable "chromium.resultdb.result_sink" on ci builders at 80%.
+    # Enable "chromium.resultdb.result_sink" on ci builders.
     experiments = experiments or {}
-    experiments.setdefault("chromium.resultdb.result_sink", 80)
+    experiments.setdefault("chromium.resultdb.result_sink", 100)
 
     # Define the builder first so that any validation of luci.builder arguments
     # (e.g. bucket) occurs before we try to use it
diff --git a/infra/config/lib/try.star b/infra/config/lib/try.star
index cee54d0..5291558 100644
--- a/infra/config/lib/try.star
+++ b/infra/config/lib/try.star
@@ -163,9 +163,9 @@
     if not branches.matches(branch_selector):
         return
 
-    # Enable "chromium.resultdb.result_sink" on try builders at 80%.
+    # Enable "chromium.resultdb.result_sink" on try builders.
     experiments = experiments or {}
-    experiments.setdefault("chromium.resultdb.result_sink", 80)
+    experiments.setdefault("chromium.resultdb.result_sink", 100)
 
     merged_resultdb_bigquery_exports = [
         resultdb.export_test_results(
diff --git a/infra/config/subprojects/chromium/try.star b/infra/config/subprojects/chromium/try.star
index 458a0d1..d947ca4 100644
--- a/infra/config/subprojects/chromium/try.star
+++ b/infra/config/subprojects/chromium/try.star
@@ -337,7 +337,8 @@
 try_.chromium_android_builder(
     name = "android-marshmallow-arm64-rel",
     branch_selector = branches.STANDARD_MILESTONE,
-    cores = 16,
+    builderless = not settings.is_master,
+    cores = 32,
     goma_jobs = goma.jobs.J300,
     main_list_view = "try",
     ssd = True,
@@ -352,9 +353,7 @@
     cores = 16,
     goma_jobs = goma.jobs.J300,
     ssd = True,
-    tryjob = try_.job(
-        experiment_percentage = 100,
-    ),
+    tryjob = try_.job(),
 )
 
 try_.chromium_android_builder(
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_es-419.xtb
index 6a530f17..3fe494c 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_es-419.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium no puede usar tu cámara ahora</translation>
 <translation id="2195025571279539885">¿Quieres que Google Chrome te ofrezca traducir las páginas de este sitio que estén en <ph name="LANGUAGE_NAME" /> la próxima vez?</translation>
 <translation id="2590893390871230428">Sincronizar tus datos de Chromium</translation>
+<translation id="259614951763923692">Si permites que Chromium conozca tu ubicación, Chromium la enviará a tu motor de búsqueda predeterminado y a los sitios a los que les des permiso. Es posible que los sitios soliciten tu ubicación cuando tienen información local para mostrarte, como noticias o tiendas cercanas.</translation>
 <translation id="2650312721222849884">Para ver tus pestañas donde sea que uses Chromium, activa la sincronización</translation>
 <translation id="2730884209570016437">Chromium no puede utilizar tu cámara porque la está usando otra aplicación</translation>
 <translation id="2915596697727466327">Chromium usa Face ID para garantizar el acceso autorizado a tus contraseñas.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb
index 819d388..768dae3 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium no puede usar la cámara en este momento</translation>
 <translation id="2195025571279539885">¿Quieres que Chromium te ofrezca la posibilidad de traducir las páginas en <ph name="LANGUAGE_NAME" /> de este sitio web la próxima vez?</translation>
 <translation id="2590893390871230428">Sincronizar tus datos de Chromium</translation>
+<translation id="259614951763923692">Si permites que Chromium conozca tu ubicación, la enviará a tu buscador predeterminado y a los sitios que permitas. Los sitios podrían solicitar conocer tu ubicación si tienen información local que mostrarte, como tiendas cercanas o noticias.</translation>
 <translation id="2650312721222849884">Activa la sincronización para ver tus pestañas dondequiera que uses Chromium</translation>
 <translation id="2730884209570016437">Chromium no puede utilizar la cámara porque la está usando otra aplicación</translation>
 <translation id="2915596697727466327">Chromium usa Face ID para garantizar el acceso autorizado a tus contraseñas.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_fr-CA.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_fr-CA.xtb
index 0062f09..7d59261 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_fr-CA.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_fr-CA.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium ne peut pas utiliser votre appareil photo pour le moment</translation>
 <translation id="2195025571279539885">Souhaitez-vous que Chromium vous propose de traduire les pages de ce site rédigées en <ph name="LANGUAGE_NAME" /> lors de votre prochaine visite?</translation>
 <translation id="2590893390871230428">Synchroniser vos données Chromium</translation>
+<translation id="259614951763923692">Si vous autorisez l'utilisation de votre position, Chromium l'envoie à votre moteur de recherche par défaut et aux sites que vous autorisez. Les sites peuvent vous demander votre position lorsqu'ils ont de l'information locale à vous présenter, comme des magasins à proximité ou des actualités.</translation>
 <translation id="2650312721222849884">Pour voir vos onglets partout où vous utilisez Chromium, activez la synchronisation</translation>
 <translation id="2730884209570016437">Chromium ne peut pas utiliser votre appareil photo, car il est utilisé par une autre application</translation>
 <translation id="2915596697727466327">Chromium utilise Face ID pour assurer un accès autorisé à vos mots de passe.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb
index 38dafbe3..cc335e83 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium ne peut pas utiliser votre appareil photo pour le moment</translation>
 <translation id="2195025571279539885">Souhaitez-vous que Chromium vous propose de traduire les pages de ce site rédigées en <ph name="LANGUAGE_NAME" /> lors de votre prochaine visite ?</translation>
 <translation id="2590893390871230428">Synchroniser vos données Chromium</translation>
+<translation id="259614951763923692">Si vous l'autorisez à connaître votre position, Chromium la communique à votre moteur de recherche par défaut ainsi qu'à tous les sites que vous autorisez. Certains sites peuvent demander votre position lorsqu'ils souhaitent vous montrer des informations locales, comme des magasins à proximité ou des actualités.</translation>
 <translation id="2650312721222849884">Pour retrouver vos onglets Chromium quel que soit l'appareil utilisé, activez la synchronisation</translation>
 <translation id="2730884209570016437">Chromium ne peut pas utiliser l'appareil photo, car celui-ci est utilisé par une autre application</translation>
 <translation id="2915596697727466327">Chromium utilise Face ID pour autoriser l'accès à vos mots de passe.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ne.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ne.xtb
index 7f216994..84fb2fef 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ne.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ne.xtb
@@ -17,6 +17,7 @@
 <translation id="2178608107313874732">Chromium ले अहिले तपाईँको क्यामेरा प्रयोग गर्न सक्दैन</translation>
 <translation id="2195025571279539885">तपाइँ Chromiumलाई अर्को पटक यस साइटबाट <ph name="LANGUAGE_NAME" />का पृष्ठहरू अनुवाद गर्न प्रस्ताव गर्न चाहनुहुन्छ?</translation>
 <translation id="2590893390871230428">Chromium को आफ्नो डेटा सिंक गर्नुहोस्</translation>
+<translation id="259614951763923692">तपाईंले Chromium लाई आफ्नो स्थानसम्बन्धी जानकारी हेर्ने अनुमति दिनुभयो भने Chromium ले उक्त जानकारी तपाईंको पूर्वनिर्धारित सर्च इन्जिन तथा तपाईंले सो अनुमति दिनुभएका सबै साइटहरूमा पठाउने छ। साइटहरूसँग तपाईंलाई देखाउन सकिने स्थानीय जानकारी भएका खण्डमा तिनले तपाईंसँग तपाईंको स्थानसम्बन्धी जानकारी माग्न सक्छन्। स्थानीय जानकारीअन्तर्गत छेउछाउका पसलसम्बन्धी जानकारी वा समाचार जस्ता कुराहरू पर्छन्।</translation>
 <translation id="2650312721222849884">आफूले Chromium प्रयोग गर्ने सबै यन्त्रमा खोलिएका ट्याबहरू हेर्न सिंक गर्ने सुविधा अन गर्नुहोस्</translation>
 <translation id="2730884209570016437">अर्को अनुप्रयोगले तपाईँको क्यामेराको प्रयोग गरिरहेको हुनाले Chromium ले उक्त क्यामेराको प्रयोग गर्न सक्दैन</translation>
 <translation id="2915596697727466327">Chromium ले तपाईंका पासवर्डहरूको अधिकृत पहुँच सुनिश्चित गर्न Face ID को प्रयोग गर्छ।</translation>
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 b0ed6aa..6b0ed44d 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_pa.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium ਇਸ ਸਮੇਂ ਤੁਹਾਡੇ ਕੈਮਰੇ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="2195025571279539885">ਕੀ ਤੁਸੀਂ ਚਾਹੋਗੇ ਕਿ Chromium ਅਗਲੀ ਵਾਰ ਇਸ ਸਾਈਟ ਦੇ <ph name="LANGUAGE_NAME" /> ਪੰਨਿਆਂ ਦਾ ਅਨੁਵਾਦ ਕਰਨ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰੇ?</translation>
 <translation id="2590893390871230428">ਆਪਣੇ Chromium ਡਾਟੇ ਦਾ ਸਮਕਾਲੀਕਰਨ ਕਰੋ</translation>
+<translation id="259614951763923692">ਜੇ ਤੁਸੀਂ Chromium ਨੂੰ ਤੁਹਾਡੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਜਾਣਨ ਦਿੰਦੇ ਹੋ, ਤਾਂ Chromium ਇਸਨੂੰ ਤੁਹਾਡੇ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਖੋਜ ਇੰਜਣ ਅਤੇ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਵਾਲੀ ਕਿਸੇ ਵੀ ਸਾਈਟ ਨੂੰ ਭੇਜੇਗਾ। ਸਾਈਟਾਂ ਕੋਲ ਤੁਹਾਨੂੰ ਦਿਖਾਉਣ ਲਈ ਨਜ਼ਦੀਕੀ ਦੁਕਾਨਾਂ ਜਾਂ ਖਬਰਾਂ ਵਰਗੀ ਮੌਜੂਦ ਸਥਾਨਕ ਜਾਣਕਾਰੀ ਹੋਣ 'ਤੇ ਤੁਹਾਡੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਮੰਗ ਸਕਦੀਆਂ ਹਨ।</translation>
 <translation id="2650312721222849884">ਜਿਸ ਡੀਵਾਈਸ 'ਤੇ ਵੀ ਤੁਸੀਂ Chromium ਵਰਤਦੇ ਹੋ, ਉੱਥੇ ਆਪਣੀਆਂ ਟੈਬਾਂ ਦੇਖਣ ਲਈ ਸਮਕਾਲੀਕਰਨ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="2730884209570016437">ਤੁਹਾਡੇ ਕੈਮਰੇ ਦੀ ਕਿਸੇ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੱਲੋਂ ਵਰਤੋਂ ਕੀਤੇ ਜਾਣ ਕਾਰਨ Chromium ਤੁਹਾਡੇ ਕੈਮਰੇ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="2915596697727466327">ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਤੱਕ ਅਧਿਕਾਰਿਤ ਪਹੁੰਚ ਨੂੰ ਪੱਕਾ ਕਰਨ ਲਈ Chromium ਚਿਹਰਾ ਆਈ.ਡੀ. ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
index 4bb7674..d9571c7 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
@@ -18,7 +18,7 @@
 <translation id="2178608107313874732">Chromium nie może teraz użyć aparatu</translation>
 <translation id="2195025571279539885">Czy następnym razem Chromium ma zaproponować Ci tłumaczenie stron tej witryny, których język to <ph name="LANGUAGE_NAME" />?</translation>
 <translation id="2590893390871230428">Synchronizuj dane Chromium</translation>
-<translation id="259614951763923692">Jeśli zezwolisz na dostęp do Twojej lokalizacji, Chromium będzie wysyłać ją do domyślnej wyszukiwarki oraz witryn, którym przyznasz dostęp. O dostęp do Twojej lokalizacji mogą prosić witryny pokazujące treści lokalne, np. wiadomości z regionu czy informacje o sklepach w pobliżu.</translation>
+<translation id="259614951763923692">Jeśli zezwolisz na dostęp do swojej lokalizacji, Chromium będzie wysyłać ją do domyślnej wyszukiwarki oraz witryn, którym przyznasz dostęp. O dostęp do Twojej lokalizacji mogą prosić witryny pokazujące treści lokalne, np. wiadomości z regionu czy informacje o sklepach w pobliżu.</translation>
 <translation id="2650312721222849884">Aby widzieć swoje karty zawsze, kiedy korzystasz z Chromium, włącz synchronizację</translation>
 <translation id="2730884209570016437">Chromium nie może użyć aparatu, bo używa go już inna aplikacja</translation>
 <translation id="2915596697727466327">Chromium używa Face ID do autoryzacji dostępu do Twoich haseł.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb
index 52450f0..b1846d18 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium не может получить доступ к камере.</translation>
 <translation id="2195025571279539885">Хотите, чтобы Chromium всегда предлагал перевести этот сайт, когда обнаружит на его страницах <ph name="LANGUAGE_NAME" />?</translation>
 <translation id="2590893390871230428">Синхронизировать данные Chromium</translation>
+<translation id="259614951763923692">Получив разрешение на использование геоданных, Chromium передаст их поисковой системе, установленной на устройстве по умолчанию, а также одобренным вами сайтам. Сайты могут запрашивать данные о вашем местоположении, чтобы показывать актуальную информацию, например местные новости или магазины поблизости.</translation>
 <translation id="2650312721222849884">Чтобы ваши вкладки всегда были доступны вам при работе с Chromium, включите синхронизацию.</translation>
 <translation id="2730884209570016437">Chromium не может получить доступ к камере, поскольку она используется другим приложением.</translation>
 <translation id="2915596697727466327">Чтобы исключить несанкционированный доступ к паролям, Chromium использует функцию Face ID.</translation>
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 a23d91d..4a8623e9 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ta.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium தற்போது உங்கள் கேமராவைப் பயன்படுத்த முடியாது</translation>
 <translation id="2195025571279539885">அடுத்த முறை இந்தத் தளத்தின் <ph name="LANGUAGE_NAME" /> பக்கங்களை மொழிபெயர்க்கவா என்று Chromium கேட்க வேண்டுமென விரும்புகிறீர்களா?</translation>
 <translation id="2590893390871230428">Chromium தரவை ஒத்திசை</translation>
+<translation id="259614951763923692">உங்கள் இருப்பிடத்தை Chromium அறிந்துகொள்ள அனுமதித்தால் இயல்பான தேடல் இன்ஜினுக்கும் நீங்கள் அனுமதிக்கும் தளங்களுக்கும் Chromium அதை அனுப்பும். அருகிலுள்ள கடைகள் அல்லது செய்திகள் போன்ற உள்ளூர் தகவல்களைக் காட்ட வேண்டிய சூழ்நிலைகளில் உங்கள் இருப்பிடத்தைத் தளங்கள் கேட்கக்கூடும்.</translation>
 <translation id="2650312721222849884">நீங்கள் Chromiumமைப் பயன்படுத்தும் சாதனங்களில் உங்கள் தாவல்களைப் பார்க்க, ஒத்திசைவை இயக்கவும்</translation>
 <translation id="2730884209570016437">கேமராவை மற்றொரு ஆப்ஸ் உபயோகிப்பதால், Chromium அதைப் பயன்படுத்த முடியாது</translation>
 <translation id="2915596697727466327">உங்கள் கடவுச்சொற்களை அணுக அங்கீகரிக்கப்பட்டவர்களை மட்டும் அனுமதிப்பதற்காக Face IDயை Chromium பயன்படுத்துகிறது.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_tr.xtb
index 3ff69b96..9621498 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_tr.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium şu anda kameranızı kullanamıyor</translation>
 <translation id="2195025571279539885">Chromium'un bir dahaki sefere bu siteden <ph name="LANGUAGE_NAME" /> dilindeki sayfaları çevirmeyi önermesini ister misiniz?</translation>
 <translation id="2590893390871230428">Chromium Verilerimi Senkronize Et</translation>
+<translation id="259614951763923692">Chromium'un konumunuzu bilmesine izin verirseniz Chromium, konumunuzunu varsayılan arama motorunuza ve izin verdiğiniz tüm sitelere gönderir. Siteler, yakındaki mağazalar veya haberler gibi size gösterecek yerel bilgileri olduğunda konumunuza erişmek isteyebilir.</translation>
 <translation id="2650312721222849884">Chromium kullandığınız her yerde sekmelerinizi görmek için senkronizasyonu açın.</translation>
 <translation id="2730884209570016437">Kameranız başka bir uygulama tarafından kullanıldığından Chromium, kameranızı kullanamıyor.</translation>
 <translation id="2915596697727466327">Chromium, şifrelerinize yetkili erişim sağlanması için Face ID kullanır.</translation>
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 e3606f2..571c961 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ur.xtb
@@ -18,7 +18,7 @@
 <translation id="2178608107313874732">‏Chromium ابھی آپ کا کیمرا استعمال نہیں کر سکتا ہے</translation>
 <translation id="2195025571279539885">‏کیا آپ چاہیں گے کہ Chromium اگلی بار اس سائٹ سے <ph name="LANGUAGE_NAME" /> صفحات کا ترجمہ کرنے کی پیشکش کرے؟</translation>
 <translation id="2590893390871230428">‏اپنے Chromium ڈیٹا کو مطابقت پذیر بنائیں</translation>
-<translation id="259614951763923692">‏اگر آپ Chromium کو اپنا مقام جاننے کی اجازت دیتے ہیں تو Chromium اسے آپ کے ڈیفالٹ سرچ انجن اور کسی بھی اس سائٹ کو بھیجتا ہے جسے آپ اجازت دیتے ہیں۔ سائٹس کے پاس آپ کو دکھانے کے لیے مقامی معلومات، جیسے قریبی دکانیں یا خبریں ہو تو وہ آپ کے مقام کے بارے میں پوچھ سکتی ہیں۔</translation>
+<translation id="259614951763923692">‏اگر آپ Chromium کو اپنا مقام جاننے کی اجازت دیتے ہیں تو Chromium اسے آپ کے ڈیفالٹ سرچ انجن اور کسی بھی اس سائٹ کو بھیجتا ہے جسے آپ اجازت دیتے ہیں۔ سائٹس کے پاس آپ کو دکھانے کے لیے مقامی معلومات، جیسے قریبی دکانیں یا خبریں ہوں تو وہ آپ کے مقام کے بارے میں پوچھ سکتی ہیں۔</translation>
 <translation id="2650312721222849884">‏اپنے ٹیبز کو دیکھنے کے لئے جہاں بھی آپ Chromium استعمال کرتے ہیں، سِنک کو آن کریں</translation>
 <translation id="2730884209570016437">‏Chromium آپ کا کیمرا استعمال نہیں کر سکتا ہے کیونکہ یہ کسی دوسری ایپلیکیشن کے زیر استعمال ہے</translation>
 <translation id="2915596697727466327">‏Chromium آپ کے پاس ورڈز تک مجاز رسائی کو یقینی بنانے کیلئے Face ID کا استعمال کرتا ہے۔</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb
index bc29fee3..b25773f3 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium hiện không thể dùng máy ảnh</translation>
 <translation id="2195025571279539885">Bạn có muốn Chromium đề xuất dịch các trang <ph name="LANGUAGE_NAME" /> của trang web này vào lần tiếp theo không?</translation>
 <translation id="2590893390871230428">Đồng bộ hóa dữ liệu của bạn trên Chromium</translation>
+<translation id="259614951763923692">Nếu bạn để cho Chromium biết vị trí của mình, Chromium sẽ gửi thông tin vị trí đó đến công cụ tìm kiếm mặc định và mọi trang web mà bạn cho phép. Khi có thông tin địa phương để hiển thị cho bạn, các trang web có thể yêu cầu thông tin vị trí, chẳng hạn như tin tức hoặc cửa hàng ở gần.</translation>
 <translation id="2650312721222849884">Để xem các thẻ của bạn trên bất cứ thiết bị nào mà bạn có dùng Chromium, hãy bật tính năng đồng bộ hóa</translation>
 <translation id="2730884209570016437">Chromium không thể sử dụng máy ảnh của bạn do một ứng dụng khác đang dùng máy ảnh.</translation>
 <translation id="2915596697727466327">Chromium sử dụng Face ID để đảm bảo rằng chỉ những người được ủy quyền mới có thể truy cập vào mật khẩu của bạn.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb
index 435cf81..54f56e0 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb
@@ -18,6 +18,7 @@
 <translation id="2178608107313874732">Chromium 目前無法使用你的相機</translation>
 <translation id="2195025571279539885">下次造訪這個網站時,需要 Chromium 為您翻譯其中的<ph name="LANGUAGE_NAME" />網頁嗎?</translation>
 <translation id="2590893390871230428">同步處理你的 Chromium 資料</translation>
+<translation id="259614951763923692">當你允許 Chromium 取得位置資訊時,Chromium 會將該資訊傳送至你的預設搜尋引擎,以及你允許存取這項資訊的網站。當網站要向你顯示當地資訊時 (例如附近商家或新聞),可能會要求你提供位置資訊。</translation>
 <translation id="2650312721222849884">開啟同步功能後,不論從何處使用 Chromium 都能查看你的分頁</translation>
 <translation id="2730884209570016437">另一個應用程式正在使用你的相機,因此 Chromium 無法使用</translation>
 <translation id="2915596697727466327">Chromium 會使用 Face ID 來確保只有經過授權的使用者才能存取你的密碼。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_es-419.xtb
index 78af8940..385334e 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_es-419.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">Algunos complementos causan bloqueos en Chrome. Prueba a desinstalarlos.</translation>
 <translation id="8459495907675268833">Los datos seleccionados se quitaron de Chrome y los dispositivos sincronizados. Es posible que tu cuenta de Google tenga otros formularios del historial de navegación, como las búsquedas y la actividad de otros servicios de Google en history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">Si permites que Chrome conozca tu ubicación, Chrome la enviará a tu motor de búsqueda predeterminado y a los sitios a los que les des permiso. Es posible que los sitios soliciten tu ubicación cuando tienen información local para mostrarte, como noticias o tiendas cercanas.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb
index 82b14a524..48b38af 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">Algunos complementos hacen que Chrome falle. Prueba a desinstalarlos.</translation>
 <translation id="8459495907675268833">Los datos seleccionados se han eliminado de Chrome y de los dispositivos sincronizados. Es posible que tu cuenta de Google tenga otras formas del historial de navegación, como las búsquedas o la actividad de otros servicios de Google en la página history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">Si permites que Chrome conozca tu ubicación, la enviará a tu buscador predeterminado y a los sitios que permitas. Los sitios podrían solicitar conocer tu ubicación si tienen información local que mostrarte, como tiendas cercanas o noticias.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr-CA.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr-CA.xtb
index 6fbeb9d..785e56b8 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr-CA.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr-CA.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">Certains modules complémentaires provoquent le plantage de Chrome. Veuillez essayer de les désinstaller.</translation>
 <translation id="8459495907675268833">Les données sélectionnées ont été supprimées de Chrome et des appareils synchronisés. D'autres formes d'historique de navigation, telles que les recherches et l'activité d'autres services Google, peuvent exister sur votre compte Google. Plus de détails à history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">Si vous autorisez l'utilisation de votre position, Chrome l'envoie à votre moteur de recherche par défaut et aux sites que vous autorisez. Les sites peuvent vous demander votre position lorsqu'ils ont de l'information locale à vous présenter, comme des magasins à proximité ou des actualités.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr.xtb
index da7f81ea..de0d3a8 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fr.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">Certains modules complémentaires entraînent le plantage de Chrome. Veuillez essayer de les désinstaller.</translation>
 <translation id="8459495907675268833">Les données sélectionnées ont été supprimées de Chrome et des appareils synchronisés. Votre compte Google conserve peut-être d'autres formes d'historique de navigation sur la page history.google.com concernant, par exemple, vos recherches ou vos activités via d'autres services Google.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">Si vous l'autorisez à connaître votre position, Chrome la communique à votre moteur de recherche par défaut ainsi qu'à tous les sites que vous autorisez. Certains sites peuvent demander votre position lorsqu'ils souhaitent vous montrer des informations locales, comme des magasins à proximité ou des actualités.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ne.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ne.xtb
index 3a2424e8..75fa5424 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ne.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ne.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">केही एड्-अन हरूले गर्दा Chrome क्र्याश हुन्छ। कृपया तिनीहरूलाई विस्थापन गर्न प्रयास गर्नुहोस्।</translation>
 <translation id="8459495907675268833">चयन गरिएको डेटालाई Chrome र सिंक गरिएका यन्त्रहरूबाट हटाइएको छ। तपाईँको Google खातामा तपाईँका अन्य Google सेवाहरूका खोज र गतिविधि जस्ता ब्राउजिङ सम्बन्धी इतिहासका अन्य ढाँचाहरू हुन सक्छन्।</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">तपाईंले Chrome लाई आफ्नो स्थानसम्बन्धी जानकारी हेर्ने अनुमति दिनुभयो भने Chrome ले उक्त जानकारी तपाईंको पूर्वनिर्धारित सर्च इन्जिन तथा तपाईंले सो अनुमति दिनुभएका सबै साइटहरूमा पठाउने छ। साइटहरूसँग तपाईंलाई देखाउन सकिने स्थानीय जानकारी भएका खण्डमा तिनले तपाईंसँग तपाईंको स्थानसम्बन्धी जानकारी माग्न सक्छन्। स्थानीय जानकारीअन्तर्गत छेउछाउका पसलसम्बन्धी जानकारी वा समाचार जस्ता कुराहरू पर्छन्।</translation>
 </translationbundle>
\ No newline at end of file
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 37bdf3a0..66fe920 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
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">ਕੁਝ ਐਡ-ਆਨ ਨਾਲ Chrome ਕ੍ਰੈਸ਼ ਹੋ ਜਾਂਦਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਉਨ੍ਹਾਂ ਨੂੰ ਅਣਸਥਾਪਤ ਕਰਕੇ ਦੇਖੋ:</translation>
 <translation id="8459495907675268833">ਚੁਣਿਆ ਗਿਆ ਡਾਟਾ Chrome ਅਤੇ ਸਮਕਾਲੀਕਿਰਤ ਕੀਤੇ ਡੀਵਾਈਸਾਂ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਾ ਹੈ। ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ history.google.com 'ਤੇ ਹੋਰ ਸੇਵਾਵਾਂ ਤੋਂ ਖੋਜਾਂ ਅਤੇ ਸਰਗਰਮੀ ਵਰਗਾ ਹੋਰ ਪ੍ਰਕਾਰ ਦਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਵੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ।</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">ਜੇ ਤੁਸੀਂ Chrome ਨੂੰ ਤੁਹਾਡੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਜਾਣਨ ਦਿੰਦੇ ਹੋ, ਤਾਂ Chrome ਇਸਨੂੰ ਤੁਹਾਡੇ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਖੋਜ ਇੰਜਣ ਅਤੇ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਵਾਲੀ ਕਿਸੇ ਵੀ ਸਾਈਟ ਨੂੰ ਭੇਜੇਗਾ। ਸਾਈਟਾਂ ਕੋਲ ਤੁਹਾਨੂੰ ਦਿਖਾਉਣ ਲਈ ਨਜ਼ਦੀਕੀ ਦੁਕਾਨਾਂ ਜਾਂ ਖਬਰਾਂ ਵਰਗੀ ਮੌਜੂਦ ਸਥਾਨਕ ਜਾਣਕਾਰੀ ਹੋਣ 'ਤੇ ਤੁਹਾਡੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਮੰਗ ਸਕਦੀਆਂ ਹਨ।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
index 4cfdfe9..dd68b01f 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
@@ -76,5 +76,5 @@
 <translation id="840168496893712993">Niektóre dodatki mogą powodować awarie Chrome. Spróbuj je odinstalować.</translation>
 <translation id="8459495907675268833">Wybrane dane zostały usunięte z Chrome i synchronizowanych urządzeń. Inne rodzaje historii przeglądania, takie jak wyszukiwania i aktywność w innych usługach Google, mogą być nadal dostępne na Twoim koncie Google na history.google.com</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
-<translation id="9135668017386497357">Jeśli zezwolisz na dostęp do Twojej lokalizacji, Chrome będzie wysyłać ją do domyślnej wyszukiwarki oraz witryn, którym przyznasz dostęp. O dostęp do Twojej lokalizacji mogą prosić witryny pokazujące treści lokalne, np. wiadomości z regionu czy informacje o sklepach w pobliżu.</translation>
+<translation id="9135668017386497357">Jeśli zezwolisz na dostęp do swojej lokalizacji, Chrome będzie wysyłać ją do domyślnej wyszukiwarki oraz witryn, którym przyznasz dostęp. O dostęp do Twojej lokalizacji mogą prosić witryny pokazujące treści lokalne, np. wiadomości z regionu czy informacje o sklepach w pobliżu.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ru.xtb
index 2a0415f..d4c8dd8 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ru.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">Некоторые дополнения вызывают сбой Chrome. Попробуйте удалить их.</translation>
 <translation id="8459495907675268833">Выбранные данные удалены из Chrome и с синхронизированных устройств. Остальная история ваших действий в Интернете может храниться в аккаунте Google, например в виде поисковых запросов и сведений из наших сервисов. Она доступна на странице history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">Получив разрешение на использование геоданных, Chrome передаст их поисковой системе, установленной на устройстве по умолчанию, а также одобренным вами сайтам. Сайты могут запрашивать данные о вашем местоположении, чтобы показывать актуальную информацию, например местные новости или магазины поблизости.</translation>
 </translationbundle>
\ No newline at end of file
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 4f62dd7..b98fc7850 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
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">சில செருகு நிரல்களினால் Chrome சிதைவுக்குட்படுகிறது. அவற்றை நிறுவல் நீக்கம் செய்ய முயற்சிக்கவும்.</translation>
 <translation id="8459495907675268833">தேர்ந்தெடுத்த தரவு Chrome மற்றும் ஒத்திசைக்கப்பட்ட சாதனங்களிலிருந்து அகற்றப்பட்டது. உங்கள் Google கணக்கு history.google.com எனும் தளத்தில் பிற Google சேவைகளிலிருந்து தேடல்கள், செயல்பாடு போன்ற உலாவல் வரலாறு தொடர்பான பிற தகவல்களைக் கொண்டிருக்கலாம்.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">உங்கள் இருப்பிடத்தை Chrome அறிந்துகொள்ள அனுமதித்தால் இயல்பான தேடல் இன்ஜினுக்கும் நீங்கள் அனுமதிக்கும் தளங்களுக்கும் Chrome அதை அனுப்பும். அருகிலுள்ள கடைகள் அல்லது செய்திகள் போன்ற உள்ளூர் தகவல்களைக் காட்ட வேண்டிய சூழ்நிலைகளில் உங்கள் இருப்பிடத்தைத் தளங்கள் கேட்கக்கூடும்.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_tr.xtb
index 742ebb8..93e3aaf 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_tr.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">Bazı eklentiler Chrome'un kilitlenmesine neden oluyor. Lütfen bunların yüklemesini kaldırmayı deneyin.</translation>
 <translation id="8459495907675268833">Seçilen veriler Chrome'dan ve senkronize edilen cihazlardan kaldırıldı. Diğer Google hizmetlerinden yapılan aramalar ve etkinlikler gibi Google Hesabınızla ilişkili başka biçimlerde tarama geçmişi history.google.com adresinde bulunabilir.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">Chrome'un konumunuzu bilmesine izin verirseniz Chrome, konumunuzu varsayılan arama motorunuza ve izin verdiğiniz tüm sitelere gönderir. Siteler, yakındaki mağazalar veya haberler gibi size gösterecek yerel bilgileri olduğunda konumunuza erişmek isteyebilir.</translation>
 </translationbundle>
\ No newline at end of file
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 5597865..47d2830a 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
@@ -76,5 +76,5 @@
 <translation id="840168496893712993">‏کچھ اضافے Chrome کو کریش کر دیتے ہیں۔ براہ کرم ان کو اَن انسٹال کرنے کی کوشش کریں۔</translation>
 <translation id="8459495907675268833">‏Chrome اور مطابقت پذیر آلات سے منتخب ڈیٹا کو ہٹا دیا گیا ہے۔ ممکن ہے کہ history.google.com پر آپ کے Google اکاؤنٹ میں دیگر Google سروسز سے تلاشیں اور سرگرمی جیسی براؤزنگ کی سرگزشت کی دیگر شکلیں موجود ہوں۔l</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
-<translation id="9135668017386497357">‏اگر آپ Chrome کو اپنا مقام جاننے کی اجازت دیتے ہیں تو Chrome اسے آپ کے ڈیفالٹ سرچ انجن اور کسی بھی اس سائٹ کو بھیجتا ہے جسے آپ اجازت دیتے ہیں۔ سائٹس کے پاس آپ کو دکھانے کے لیے مقامی معلومات، جیسے قریبی دکانیں یا خبریں ہو تو وہ آپ کے مقام کے بارے میں پوچھ سکتی ہیں۔</translation>
+<translation id="9135668017386497357">‏اگر آپ Chrome کو اپنا مقام جاننے کی اجازت دیتے ہیں تو Chrome اسے آپ کے ڈیفالٹ سرچ انجن اور کسی بھی اس سائٹ کو بھیجتا ہے جسے آپ اجازت دیتے ہیں۔ سائٹس کے پاس آپ کو دکھانے کے لیے مقامی معلومات، جیسے قریبی دکانیں یا خبریں ہوں تو وہ آپ کے مقام کے بارے میں پوچھ سکتی ہیں۔</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb
index 54af17f..75b581f 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">Một số tiện ích bổ sung khiến Chrome trục trặc. Hãy thử gỡ cài đặt chúng.</translation>
 <translation id="8459495907675268833">Dữ liệu được chọn đã bị xóa khỏi Chrome và các thiết bị được đồng bộ hóa. Tài khoản Google của bạn có thể có các dạng lịch sử duyệt web khác, chẳng hạn như tìm kiếm và hoạt động từ các dịch vụ khác của Google tại history.google.com.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">Nếu bạn để cho Chrome biết thông tin vị trí của mình, thì Chrome sẽ gửi thông tin đó đến công cụ tìm kiếm mặc định và mọi trang web mà bạn cho phép. Khi có thông tin địa phương để hiển thị cho bạn, các trang web có thể yêu cầu thông tin vị trí, chẳng hạn như tin tức hoặc cửa hàng ở gần.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb
index 1f7bcc7..89f44c8 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb
@@ -76,4 +76,5 @@
 <translation id="840168496893712993">部分外掛程式造成 Chrome 當機,請解除安裝這些外掛程式。</translation>
 <translation id="8459495907675268833">系統已將您所選取的資料從 Chrome 和其他同步的裝置中移除。您的 Google 帳戶仍可能保留了其他類型的瀏覽記錄,例如其他 Google 服務中的搜尋和活動記錄 (可前往 history.google.com 查詢)。</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
+<translation id="9135668017386497357">當你允許 Chrome 取得位置資訊時,Chrome 會將該資訊傳送至你的預設搜尋引擎,以及你允許存取這項資訊的網站。當網站要向你顯示當地資訊時 (例如附近商家或新聞),可能會要求你提供位置資訊。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_strings_eu.xtb b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
index 92110ed7..f9d4d84e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_eu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
@@ -535,7 +535,7 @@
 <translation id="6657585470893396449">Pasahitza</translation>
 <translation id="6668619169535738264">Editatu laster-marka</translation>
 <translation id="667999046851023355">Dokumentua</translation>
-<translation id="6691331417640343772">Kudeatu sinkronizatutako datuak Google Panela atalean</translation>
+<translation id="6691331417640343772">Kudeatu sinkronizatutako datuak Google-ren Panela atalean</translation>
 <translation id="6713747756340119864">Google Apps</translation>
 <translation id="6730682669179532099">Ezin dira esportatu pasahitzak</translation>
 <translation id="6748108480210050150">Igorlea</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kk.xtb b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
index ee6a0825..9638b5c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
@@ -314,7 +314,7 @@
 <translation id="4375040482473363939">QR кодын іздеу</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4389019817280890563">Тілді өзгерту үшін түртіңіз.</translation>
-<translation id="441868831736628555">Құпиялылық туралы хабарлама</translation>
+<translation id="441868831736628555">Құпиялылық мәлімдемесі</translation>
 <translation id="4454246407045105932">Тілді қосу</translation>
 <translation id="4469418912670346607">Реттеуді жалғастыру</translation>
 <translation id="4476574785019001431">Параметрлер</translation>
diff --git a/ios/chrome/browser/autofill/form_structure_browsertest.mm b/ios/chrome/browser/autofill/form_structure_browsertest.mm
index 3ce264b..c20605b 100644
--- a/ios/chrome/browser/autofill/form_structure_browsertest.mm
+++ b/ios/chrome/browser/autofill/form_structure_browsertest.mm
@@ -140,6 +140,8 @@
           autofill::features::kAutofillNameSectionsWithRendererIds,
           // TODO(crbug.com/1076175) Remove once launched.
           autofill::features::kAutofillUseNewSectioningMethod,
+          // TODO(crbug.com/1150890) Remove once launched
+          autofill::features::kAutofillEnableAugmentedPhoneCountryCode,
       },
       // Disabled
       {autofill::features::kAutofillRestrictUnownedFieldsToFormlessCheckout});
diff --git a/ios/chrome/browser/policy/reporting/browser_report_generator_ios.mm b/ios/chrome/browser/policy/reporting/browser_report_generator_ios.mm
index 19024662..bcaddbbd 100644
--- a/ios/chrome/browser/policy/reporting/browser_report_generator_ios.mm
+++ b/ios/chrome/browser/policy/reporting/browser_report_generator_ios.mm
@@ -52,7 +52,7 @@
         report->add_chrome_user_profile_infos();
     profile->set_id(entry->GetStatePath().AsUTF8Unsafe());
     profile->set_name(entry->GetStatePath().BaseName().AsUTF8Unsafe());
-    profile->set_is_available(false);
+    profile->set_is_detail_available(false);
   }
 }
 
diff --git a/ios/chrome/browser/policy/reporting/browser_report_generator_ios_unittest.mm b/ios/chrome/browser/policy/reporting/browser_report_generator_ios_unittest.mm
index 91be7c23..d9f384c7 100644
--- a/ios/chrome/browser/policy/reporting/browser_report_generator_ios_unittest.mm
+++ b/ios/chrome/browser/policy/reporting/browser_report_generator_ios_unittest.mm
@@ -64,7 +64,7 @@
               EXPECT_EQ(kProfilePath.AsUTF8Unsafe(), profile.id());
               EXPECT_EQ(kProfilePath.BaseName().AsUTF8Unsafe(), profile.name());
 
-              EXPECT_FALSE(profile.is_available());
+              EXPECT_FALSE(profile.is_detail_available());
 
               EXPECT_EQ(0, report->plugins_size());
 
diff --git a/ios/chrome/browser/policy/reporting/profile_report_generator_ios_unittest.mm b/ios/chrome/browser/policy/reporting/profile_report_generator_ios_unittest.mm
index fb64103..e5303ec 100644
--- a/ios/chrome/browser/policy/reporting/profile_report_generator_ios_unittest.mm
+++ b/ios/chrome/browser/policy/reporting/profile_report_generator_ios_unittest.mm
@@ -109,7 +109,7 @@
 
     EXPECT_EQ(kProfilePath.BaseName().AsUTF8Unsafe(), report->name());
     EXPECT_EQ(kProfilePath.AsUTF8Unsafe(), report->id());
-    EXPECT_TRUE(report->is_available());
+    EXPECT_TRUE(report->is_detail_available());
 
     return report;
   }
diff --git a/ios/chrome/browser/policy/reporting/report_generator_ios_unittest.mm b/ios/chrome/browser/policy/reporting/report_generator_ios_unittest.mm
index 002f031..a32626d 100644
--- a/ios/chrome/browser/policy/reporting/report_generator_ios_unittest.mm
+++ b/ios/chrome/browser/policy/reporting/report_generator_ios_unittest.mm
@@ -164,8 +164,8 @@
   auto profile_info = browser_report.chrome_user_profile_infos(0);
   EXPECT_EQ(kProfilePath.AsUTF8Unsafe(), profile_info.id());
   EXPECT_EQ(kProfilePath.BaseName().AsUTF8Unsafe(), profile_info.name());
-  EXPECT_TRUE(profile_info.has_is_available());
-  EXPECT_TRUE(profile_info.is_available());
+  EXPECT_TRUE(profile_info.has_is_detail_available());
+  EXPECT_TRUE(profile_info.is_detail_available());
   EXPECT_EQ(2, profile_info.chrome_policies_size());
 }
 
diff --git a/ios/chrome/browser/widget_kit/widget_metrics_util.mm b/ios/chrome/browser/widget_kit/widget_metrics_util.mm
index 3ebcda9..38c7541 100644
--- a/ios/chrome/browser/widget_kit/widget_metrics_util.mm
+++ b/ios/chrome/browser/widget_kit/widget_metrics_util.mm
@@ -6,6 +6,7 @@
 
 #include "base/metrics/histogram_functions.h"
 #include "base/notreached.h"
+#include "base/strings/sys_string_conversions.h"
 #import "ios/chrome/browser/widget_kit/widget_kit_swift.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
@@ -17,13 +18,15 @@
 namespace {
 
 // Values of the UMA IOS.WidgetKit.Install, IOS.WidgetKit.Uninstall and
-// IOS.WidgetKit.Current histograms. These values are persisted to logs. Entries
-// should not be renumbered and numeric values should never be reused.
+// IOS.WidgetKit.Current histograms. Must be kept up to date with
+// IOSWidgetKitExtensionKind in enums.xml. These values are persisted to logs.
+// Entries should not be renumbered and numeric values should never be reused.
 enum class WidgetKitExtensionKind {
   kDino = 0,
   kSearch = 1,
   kQuickActions = 2,
-  kMaxValue = kQuickActions,
+  kObsolete = 3,
+  kMaxValue = kObsolete,
 };
 
 WidgetKitExtensionKind UMAKindForWidgetKind(NSString* kind) {
@@ -39,8 +42,8 @@
   if ([kind isEqualToString:@"QuickActionsWidget"]) {
     return WidgetKitExtensionKind::kQuickActions;
   }
-  NOTREACHED();
-  return WidgetKitExtensionKind::kDino;
+  NOTREACHED() << base::SysNSStringToUTF8(kind);
+  return WidgetKitExtensionKind::kObsolete;
 }
 
 }  // namespace
diff --git a/ios/chrome/widget_kit_extension/dino_game_widget.swift b/ios/chrome/widget_kit_extension/dino_game_widget.swift
index a12b8f9..ce940681 100644
--- a/ios/chrome/widget_kit_extension/dino_game_widget.swift
+++ b/ios/chrome/widget_kit_extension/dino_game_widget.swift
@@ -7,6 +7,8 @@
 import WidgetKit
 
 struct DinoGameWidget: Widget {
+  // Changing |kind| or deleting this widget will cause all installed instances of this widget to
+  // stop updating and show the placeholder state.
   let kind: String = "DinoGameWidget"
   var body: some WidgetConfiguration {
     StaticConfiguration(kind: kind, provider: Provider()) { entry in
diff --git a/ios/chrome/widget_kit_extension/quick_actions_widget.swift b/ios/chrome/widget_kit_extension/quick_actions_widget.swift
index 3fec4f7a..f97f786 100644
--- a/ios/chrome/widget_kit_extension/quick_actions_widget.swift
+++ b/ios/chrome/widget_kit_extension/quick_actions_widget.swift
@@ -7,6 +7,8 @@
 import WidgetKit
 
 struct QuickActionsWidget: Widget {
+  // Changing |kind| or deleting this widget will cause all installed instances of this widget to
+  // stop updating and show the placeholder state.
   let kind: String = "QuickActionsWidget"
 
   var body: some WidgetConfiguration {
diff --git a/ios/chrome/widget_kit_extension/search_widget.swift b/ios/chrome/widget_kit_extension/search_widget.swift
index e35ef82d..cbf4f7b 100644
--- a/ios/chrome/widget_kit_extension/search_widget.swift
+++ b/ios/chrome/widget_kit_extension/search_widget.swift
@@ -7,6 +7,8 @@
 import WidgetKit
 
 struct SearchWidget: Widget {
+  // Changing |kind| or deleting this widget will cause all installed instances of this widget to
+  // stop updating and show the placeholder state.
   let kind: String = "SearchWidget"
   var body: some WidgetConfiguration {
     StaticConfiguration(kind: kind, provider: Provider()) { entry in
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.arm64.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.arm64.zip.sha1
index a93e383..96acab2 100644
--- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.arm64.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.arm64.zip.sha1
@@ -1 +1 @@
-26979bcf0d19d138a063fe6fab48f0c657365e0b
\ No newline at end of file
+568e65b4d5ae393d8e5173265e3b96c77f49c91e
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.x64.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.x64.zip.sha1
index 54b39c3..2a61e4c 100644
--- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.x64.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.x64.zip.sha1
@@ -1 +1 @@
-022c8e31fb3ee45bb6b4c8ae69a840003866dfb8
\ No newline at end of file
+c22c4739988cfc574f242c43622ec74ee3809b8c
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.arm64.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.arm64.zip.sha1
index 7cc48c8d..667efff9 100644
--- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.arm64.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.arm64.zip.sha1
@@ -1 +1 @@
-55c1bbe82a84c13c6777596e0e17ae59cb0ac6e5
\ No newline at end of file
+1b9c1bff61754fcfb22952d8c525043668a4c492
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.x64.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.x64.zip.sha1
index dd2b44f..506b1570 100644
--- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.x64.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.x64.zip.sha1
@@ -1 +1 @@
-cf0b633d574f8b72f5bf36010c9930c44c53d620
\ No newline at end of file
+df61a7be4b3748ca153e4bc04960beb00c9ab0a0
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.arm64.zip.sha1 b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.arm64.zip.sha1
index 172d7d1..715bbff 100644
--- a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.arm64.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.arm64.zip.sha1
@@ -1 +1 @@
-55c43a0483c98af9243d5d865b3697e6e650fc4c
\ No newline at end of file
+1b099f20e5e9f6bc3ef2717d6b9192b300f931a0
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.x64.zip.sha1 b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.x64.zip.sha1
index 5744086..71fb5b8 100644
--- a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.x64.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.x64.zip.sha1
@@ -1 +1 @@
-f2ba28cd0dd0dc460888c29da67e49e85ba626ec
\ No newline at end of file
+727c22b25da50875d70beb901972994549a42c5b
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.arm64.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.arm64.zip.sha1
index 00c22a0..c1214d5 100644
--- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.arm64.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.arm64.zip.sha1
@@ -1 +1 @@
-970f849925d41e57aad5e3d2efac01c33e6d794d
\ No newline at end of file
+8ca08952d8c19e7d17190f7ae0c99d2ae18d5555
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.x64.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.x64.zip.sha1
index 54ad483..fd1e2b3 100644
--- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.x64.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.x64.zip.sha1
@@ -1 +1 @@
-bc157e84255033852e33eeacbce45753a37351ea
\ No newline at end of file
+ef940976575c3f8964151794af12868e0f0a8b47
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.arm64.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.arm64.zip.sha1
index 4642ab5..253cb18 100644
--- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.arm64.zip.sha1
+++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.arm64.zip.sha1
@@ -1 +1 @@
-90d5e95b9def022d2b69256b495408839980ee50
\ No newline at end of file
+37362cc3c2850f72332f04ef6f1998eb36bb5b7f
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.x64.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.x64.zip.sha1
index 1ddaa07..9433a29 100644
--- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.x64.zip.sha1
+++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.x64.zip.sha1
@@ -1 +1 @@
-1b5a6780d2d6fb7a5874b73db2320f9ad3b4c816
\ No newline at end of file
+376c0759e27e40e34666b5cb1b6c1dbb44c0cad8
\ No newline at end of file
diff --git a/media/filters/fuchsia/fuchsia_video_decoder.cc b/media/filters/fuchsia/fuchsia_video_decoder.cc
index cf51022..8bd8cec1 100644
--- a/media/filters/fuchsia/fuchsia_video_decoder.cc
+++ b/media/filters/fuchsia/fuchsia_video_decoder.cc
@@ -765,14 +765,18 @@
   fuchsia::sysmem::BufferCollectionTokenPtr collection_token;
   sysmem_allocator_.raw()->AllocateSharedCollection(
       collection_token.NewRequest());
+  collection_token->SetName(100u, "ChromiumVideoDecoderOutput");
+  collection_token->SetDebugClientInfo("chromium_video_decoder", 0u);
 
   // Create sysmem tokens for the gpu process and the codec.
   fuchsia::sysmem::BufferCollectionTokenPtr collection_token_for_codec;
   collection_token->Duplicate(ZX_RIGHT_SAME_RIGHTS,
                               collection_token_for_codec.NewRequest());
+  collection_token_for_codec->SetDebugClientInfo("codec", 0u);
   fuchsia::sysmem::BufferCollectionTokenPtr collection_token_for_gpu;
   collection_token->Duplicate(ZX_RIGHT_SAME_RIGHTS,
                               collection_token_for_gpu.NewRequest());
+  collection_token_for_gpu->SetDebugClientInfo("chromium_gpu", 0u);
 
   // Convert the token to a BufferCollection connection.
   sysmem_allocator_.raw()->BindSharedCollection(
diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
index 37215e8e..50a0bb5 100644
--- a/media/gpu/vaapi/BUILD.gn
+++ b/media/gpu/vaapi/BUILD.gn
@@ -123,6 +123,7 @@
     ]
 
     deps += [
+      "//chromeos/components/cdm_factory_daemon:cdm_factory_daemon_gpu",
       "//components/chromeos_camera:jpeg_encode_accelerator",
       "//components/chromeos_camera:mjpeg_decode_accelerator",
     ]
diff --git a/media/gpu/vaapi/DEPS b/media/gpu/vaapi/DEPS
index 25f64c72..c9f1ca2 100644
--- a/media/gpu/vaapi/DEPS
+++ b/media/gpu/vaapi/DEPS
@@ -1,4 +1,5 @@
 include_rules = [
+  "+chromeos/components/cdm_factory_daemon",
   "+third_party/libva_protected_content/va_protected_content.h",
 ]
 
diff --git a/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
index 2d2b191..7ee00c27 100644
--- a/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
+++ b/media/gpu/vaapi/av1_vaapi_video_decoder_delegate.cc
@@ -714,7 +714,10 @@
 AV1VaapiVideoDecoderDelegate::AV1VaapiVideoDecoderDelegate(
     DecodeSurfaceHandler<VASurface>* const vaapi_dec,
     scoped_refptr<VaapiWrapper> vaapi_wrapper)
-    : VaapiVideoDecoderDelegate(vaapi_dec, std::move(vaapi_wrapper)) {}
+    : VaapiVideoDecoderDelegate(vaapi_dec,
+                                std::move(vaapi_wrapper),
+                                base::DoNothing(),
+                                nullptr) {}
 
 AV1VaapiVideoDecoderDelegate::~AV1VaapiVideoDecoderDelegate() = default;
 
diff --git a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc
index e27f39b..7d171ad 100644
--- a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc
+++ b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc
@@ -8,6 +8,7 @@
 
 #include "base/stl_util.h"
 #include "base/trace_event/trace_event.h"
+#include "media/base/cdm_context.h"
 #include "media/gpu/decode_surface_handler.h"
 #include "media/gpu/h264_dpb.h"
 #include "media/gpu/macros.h"
@@ -38,8 +39,13 @@
 
 H264VaapiVideoDecoderDelegate::H264VaapiVideoDecoderDelegate(
     DecodeSurfaceHandler<VASurface>* const vaapi_dec,
-    scoped_refptr<VaapiWrapper> vaapi_wrapper)
-    : VaapiVideoDecoderDelegate(vaapi_dec, std::move(vaapi_wrapper)) {}
+    scoped_refptr<VaapiWrapper> vaapi_wrapper,
+    ProtectedSessionUpdateCB on_protected_session_update_cb,
+    CdmContext* cdm_context)
+    : VaapiVideoDecoderDelegate(vaapi_dec,
+                                std::move(vaapi_wrapper),
+                                std::move(on_protected_session_update_cb),
+                                cdm_context) {}
 
 H264VaapiVideoDecoderDelegate::~H264VaapiVideoDecoderDelegate() = default;
 
@@ -185,6 +191,23 @@
     const std::vector<SubsampleEntry>& subsamples) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   TRACE_EVENT0("media,gpu", "H264VaapiVideoDecoderDelegate::SubmitSlice");
+  bool uses_crypto = false;
+  VAEncryptionParameters crypto_params;
+  if (!subsamples.empty() && subsamples[0].cypher_bytes) {
+    // If there is only one clear byte, then this is CENC v1, full sample
+    // encryption (i.e. only the NALU header is unencrypted).
+    ProtectedSessionState state =
+        SetupDecryptDecode(subsamples[0].clear_bytes == 1, &crypto_params,
+                           &encryption_segment_info_, subsamples);
+    if (state == ProtectedSessionState::kFailed) {
+      LOG(ERROR) << "SubmitSlice fails because we couldn't setup the protected "
+                    "session";
+      return DecodeStatus::kFail;
+    } else if (state != ProtectedSessionState::kCreated) {
+      return DecodeStatus::kTryAgain;
+    }
+    uses_crypto = true;
+  }
   VASliceParameterBufferH264 slice_param;
   memset(&slice_param, 0, sizeof(slice_param));
 
@@ -273,10 +296,16 @@
       FillVAPicture(&slice_param.RefPicList1[i], ref_pic_list1[i]);
   }
 
-  const bool success = vaapi_wrapper_->SubmitBuffers(
-      {{VASliceParameterBufferType, sizeof(slice_param), &slice_param},
-       {VASliceDataBufferType, size, data}});
-  return success ? DecodeStatus::kOk : DecodeStatus::kFail;
+  if (uses_crypto &&
+      !vaapi_wrapper_->SubmitBuffer(VAEncryptionParameterBufferType,
+                                    sizeof(crypto_params), &crypto_params)) {
+    return DecodeStatus::kFail;
+  }
+  return vaapi_wrapper_->SubmitBuffers(
+             {{VASliceParameterBufferType, sizeof(slice_param), &slice_param},
+              {VASliceDataBufferType, size, data}})
+             ? DecodeStatus::kOk
+             : DecodeStatus::kFail;
 }
 
 DecodeStatus H264VaapiVideoDecoderDelegate::SubmitDecode(
@@ -286,6 +315,7 @@
 
   const bool success = vaapi_wrapper_->ExecuteAndDestroyPendingBuffers(
       pic->AsVaapiH264Picture()->va_surface()->id());
+  encryption_segment_info_.clear();
   return success ? DecodeStatus::kOk : DecodeStatus::kFail;
 }
 
@@ -302,9 +332,20 @@
 
 void H264VaapiVideoDecoderDelegate::Reset() {
   DETACH_FROM_SEQUENCE(sequence_checker_);
+  encryption_segment_info_.clear();
   vaapi_wrapper_->DestroyPendingBuffers();
 }
 
+DecodeStatus H264VaapiVideoDecoderDelegate::SetStream(
+    base::span<const uint8_t> /*stream*/,
+    const DecryptConfig* decrypt_config) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  if (!decrypt_config)
+    return Status::kOk;
+  return SetDecryptConfig(decrypt_config->Clone()) ? Status::kOk
+                                                   : Status::kFail;
+}
+
 void H264VaapiVideoDecoderDelegate::FillVAPicture(
     VAPictureH264* va_pic,
     scoped_refptr<H264Picture> pic) {
diff --git a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.h b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.h
index d196678b..236951c4 100644
--- a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.h
+++ b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.h
@@ -16,13 +16,18 @@
 
 namespace media {
 
+class CdmContext;
 class H264Picture;
 
 class H264VaapiVideoDecoderDelegate : public H264Decoder::H264Accelerator,
                                       public VaapiVideoDecoderDelegate {
  public:
-  H264VaapiVideoDecoderDelegate(DecodeSurfaceHandler<VASurface>* vaapi_dec,
-                                scoped_refptr<VaapiWrapper> vaapi_wrapper);
+  H264VaapiVideoDecoderDelegate(
+      DecodeSurfaceHandler<VASurface>* vaapi_dec,
+      scoped_refptr<VaapiWrapper> vaapi_wrapper,
+      ProtectedSessionUpdateCB on_protected_session_update_cb =
+          base::DoNothing(),
+      CdmContext* cdm_context = nullptr);
   ~H264VaapiVideoDecoderDelegate() override;
 
   // H264Decoder::H264Accelerator implementation.
@@ -45,6 +50,8 @@
   Status SubmitDecode(scoped_refptr<H264Picture> pic) override;
   bool OutputPicture(scoped_refptr<H264Picture> pic) override;
   void Reset() override;
+  Status SetStream(base::span<const uint8_t> stream,
+                   const DecryptConfig* decrypt_config) override;
 
  private:
   void FillVAPicture(VAPictureH264* va_pic, scoped_refptr<H264Picture> pic);
@@ -52,6 +59,11 @@
                              VAPictureH264* va_pics,
                              int num_pics);
 
+  // We need to hold onto this memory here because it's referenced by the
+  // mapped buffer in libva across calls. It is filled in SubmitSlice() and
+  // stays alive until SubmitDecode() or Reset().
+  std::vector<VAEncryptionSegmentInfo> encryption_segment_info_;
+
   DISALLOW_COPY_AND_ASSIGN(H264VaapiVideoDecoderDelegate);
 };
 
diff --git a/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.cc
index fca887e..604ee8c 100644
--- a/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.cc
+++ b/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.cc
@@ -39,7 +39,10 @@
 H265VaapiVideoDecoderDelegate::H265VaapiVideoDecoderDelegate(
     DecodeSurfaceHandler<VASurface>* const vaapi_dec,
     scoped_refptr<VaapiWrapper> vaapi_wrapper)
-    : VaapiVideoDecoderDelegate(vaapi_dec, std::move(vaapi_wrapper)) {
+    : VaapiVideoDecoderDelegate(vaapi_dec,
+                                std::move(vaapi_wrapper),
+                                base::DoNothing(),
+                                nullptr) {
   ref_pic_list_pocs_.reserve(kMaxRefIdxActive);
 }
 
diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
index abaee7b..57bd89e7 100644
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
@@ -169,8 +169,8 @@
 
     vda_.decoder_thread_task_runner_ = decoder_thread_.task_runner();
 
-    decoder_delegate_ =
-        std::make_unique<VaapiVideoDecoderDelegate>(&vda_, mock_vaapi_wrapper_);
+    decoder_delegate_ = std::make_unique<VaapiVideoDecoderDelegate>(
+        &vda_, mock_vaapi_wrapper_, base::DoNothing(), nullptr);
 
     // Plug in all the mocks and ourselves as the |client_|.
     vda_.decoder_.reset(mock_decoder_);
diff --git a/media/gpu/vaapi/vaapi_video_decoder.cc b/media/gpu/vaapi/vaapi_video_decoder.cc
index 34fcca48..f3caf51 100644
--- a/media/gpu/vaapi/vaapi_video_decoder.cc
+++ b/media/gpu/vaapi/vaapi_video_decoder.cc
@@ -680,8 +680,11 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
   if (profile_ >= H264PROFILE_MIN && profile_ <= H264PROFILE_MAX) {
-    auto accelerator =
-        std::make_unique<H264VaapiVideoDecoderDelegate>(this, vaapi_wrapper_);
+    auto accelerator = std::make_unique<H264VaapiVideoDecoderDelegate>(
+        this, vaapi_wrapper_,
+        BindToCurrentLoop(base::BindRepeating(
+            &VaapiVideoDecoder::ProtectedSessionUpdate, weak_this_)),
+        cdm_context_);
     decoder_delegate_ = accelerator.get();
 
     decoder_.reset(
diff --git a/media/gpu/vaapi/vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/vaapi_video_decoder_delegate.cc
index d69f3250..565ac34 100644
--- a/media/gpu/vaapi/vaapi_video_decoder_delegate.cc
+++ b/media/gpu/vaapi/vaapi_video_decoder_delegate.cc
@@ -4,19 +4,37 @@
 
 #include "media/gpu/vaapi/vaapi_video_decoder_delegate.h"
 
+#include "base/bind.h"
+#include "base/logging.h"
+#include "media/base/bind_to_current_loop.h"
+#include "media/base/cdm_context.h"
 #include "media/gpu/decode_surface_handler.h"
 #include "media/gpu/vaapi/va_surface.h"
 #include "media/gpu/vaapi/vaapi_wrapper.h"
 
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+#include "chromeos/components/cdm_factory_daemon/chromeos_cdm_factory.h"
+#endif
+
 namespace media {
 
 VaapiVideoDecoderDelegate::VaapiVideoDecoderDelegate(
     DecodeSurfaceHandler<VASurface>* const vaapi_dec,
-    scoped_refptr<VaapiWrapper> vaapi_wrapper)
-    : vaapi_dec_(vaapi_dec), vaapi_wrapper_(std::move(vaapi_wrapper)) {
+    scoped_refptr<VaapiWrapper> vaapi_wrapper,
+    ProtectedSessionUpdateCB on_protected_session_update_cb,
+    CdmContext* cdm_context)
+    : vaapi_dec_(vaapi_dec),
+      vaapi_wrapper_(std::move(vaapi_wrapper)),
+      on_protected_session_update_cb_(
+          std::move(on_protected_session_update_cb)),
+      protected_session_state_(ProtectedSessionState::kNotCreated) {
   DCHECK(vaapi_wrapper_);
   DCHECK(vaapi_dec_);
   DETACH_FROM_SEQUENCE(sequence_checker_);
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  if (cdm_context)
+    chromeos_cdm_context_ = cdm_context->GetChromeOsCdmContext();
+#endif
 }
 
 VaapiVideoDecoderDelegate::~VaapiVideoDecoderDelegate() {
@@ -28,8 +46,190 @@
     scoped_refptr<VaapiWrapper> vaapi_wrapper) {
   DETACH_FROM_SEQUENCE(sequence_checker_);
   vaapi_wrapper_ = std::move(vaapi_wrapper);
+  protected_session_state_ = ProtectedSessionState::kNotCreated;
 }
 
 void VaapiVideoDecoderDelegate::OnVAContextDestructionSoon() {}
 
+bool VaapiVideoDecoderDelegate::SetDecryptConfig(
+    std::unique_ptr<DecryptConfig> decrypt_config) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  // It is possible to switch between clear and encrypted (and vice versa), but
+  // we should not be changing encryption schemes across encrypted portions.
+  if (decrypt_config_) {
+    if (!decrypt_config)
+      return true;
+    // TODO(jkardatzke): Handle changing encryption modes midstream, the latest
+    // OEMCrypto spec allows this, although we won't hit it in reality for now.
+    // Check to make sure they are compatible.
+    if (decrypt_config_->encryption_scheme() !=
+        decrypt_config->encryption_scheme()) {
+      LOG(ERROR) << "Cannot change encryption modes midstream";
+      return false;
+    }
+  }
+  decrypt_config_ = std::move(decrypt_config);
+  return true;
+}
+
+VaapiVideoDecoderDelegate::ProtectedSessionState
+VaapiVideoDecoderDelegate::SetupDecryptDecode(
+    bool full_sample,
+    VAEncryptionParameters* crypto_params,
+    std::vector<VAEncryptionSegmentInfo>* segments,
+    const std::vector<SubsampleEntry>& subsamples) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  DCHECK(crypto_params);
+  DCHECK(segments);
+  DCHECK(decrypt_config_);
+  if (protected_session_state_ == ProtectedSessionState::kInProcess ||
+      protected_session_state_ == ProtectedSessionState::kFailed) {
+    return protected_session_state_;
+  }
+  if (protected_session_state_ == ProtectedSessionState::kNotCreated) {
+    if (!decrypt_config_ || !chromeos_cdm_context_) {
+      LOG(ERROR) << "Cannot create protected session w/out "
+                    "DecryptConfig/ChromeOsCdmContext";
+      protected_session_state_ = ProtectedSessionState::kFailed;
+      return protected_session_state_;
+    }
+    full_sample_ = full_sample;
+    // We need to start the creation of this, first part requires getting the
+    // hw config data from the daemon.
+    chromeos::ChromeOsCdmFactory::GetHwConfigData(BindToCurrentLoop(
+        base::BindOnce(&VaapiVideoDecoderDelegate::OnGetHwConfigData,
+                       weak_factory_.GetWeakPtr())));
+    protected_session_state_ = ProtectedSessionState::kInProcess;
+    return protected_session_state_;
+  }
+
+  DCHECK_EQ(protected_session_state_, ProtectedSessionState::kCreated);
+  if (full_sample_ != full_sample) {
+    LOG(ERROR) << "Cannot switch between full/subsample mid session";
+    protected_session_state_ = ProtectedSessionState::kFailed;
+    return protected_session_state_;
+  }
+
+  // We also need to make sure we have the key data for the active
+  // DecryptConfig now that the protected session exists.
+  if (!hw_key_data_map_.count(decrypt_config_->key_id())) {
+    DVLOG(1) << "Looking up the key data for: " << decrypt_config_->key_id();
+    chromeos_cdm_context_->GetHwKeyData(
+        decrypt_config_.get(), hw_identifier_,
+        base::BindOnce(&VaapiVideoDecoderDelegate::OnGetHwKeyData,
+                       weak_factory_.GetWeakPtr(), decrypt_config_->key_id()));
+    // Don't change our state here because we are created, but we just return
+    // kInProcess for now to trigger a wait/retry state.
+    return ProtectedSessionState::kInProcess;
+  }
+
+  memset(crypto_params, 0, sizeof(*crypto_params));
+  if (decrypt_config_->encryption_scheme() == EncryptionScheme::kCenc) {
+    crypto_params->encryption_type =
+        full_sample_ ? VA_ENCRYPTION_TYPE_CENC_CTR : VA_ENCRYPTION_TYPE_CTR_128;
+  } else {
+    crypto_params->encryption_type = VA_ENCRYPTION_TYPE_CBC;
+  }
+
+  crypto_params->num_segments = subsamples.size();
+  // For multi-slice, we may already have segment info in the vector.
+  const size_t segment_vec_offset = segments->size();
+  if (decrypt_config_->HasPattern()) {
+    if (subsamples.size() != 1) {
+      LOG(ERROR) << "Need single subsample for encryption pattern";
+      protected_session_state_ = ProtectedSessionState::kFailed;
+      return protected_session_state_;
+    }
+    // TODO(jkardatzke): Fix pattern based encryption after Intel updates their
+    // API.
+    VAEncryptionSegmentInfo segment_info;
+    segment_info.segment_start_offset = subsamples[0].clear_bytes;
+    segment_info.segment_length =
+        DecryptConfig::kDecryptionKeySize *
+        (decrypt_config_->encryption_pattern()->skip_byte_block() +
+         decrypt_config_->encryption_pattern()->crypt_byte_block());
+    segment_info.partial_aes_block_size = 0;
+    segment_info.init_byte_length =
+        DecryptConfig::kDecryptionKeySize *
+        decrypt_config_->encryption_pattern()->skip_byte_block();
+    memcpy(segment_info.aes_cbc_iv_or_ctr, decrypt_config_->iv().data(),
+           DecryptConfig::kDecryptionKeySize);
+    segments->emplace_back(std::move(segment_info));
+  } else {
+    size_t offset = 0;
+    for (const auto& entry : subsamples) {
+      VAEncryptionSegmentInfo segment_info;
+      segment_info.segment_start_offset = offset;
+      segment_info.segment_length = entry.clear_bytes + entry.cypher_bytes;
+      segment_info.partial_aes_block_size = 0;
+      segment_info.init_byte_length = entry.clear_bytes;
+      memcpy(segment_info.aes_cbc_iv_or_ctr, decrypt_config_->iv().data(),
+             DecryptConfig::kDecryptionKeySize);
+      segments->emplace_back(std::move(segment_info));
+      offset += entry.clear_bytes + entry.cypher_bytes;
+    }
+  }
+
+  memcpy(crypto_params->wrapped_decrypt_blob,
+         hw_key_data_map_[decrypt_config_->key_id()].data(),
+         DecryptConfig::kDecryptionKeySize);
+  crypto_params->segment_info = &segments->at(segment_vec_offset);
+#else  // if BUILDFLAG(IS_CHROMEOS_ASH)
+  protected_session_state_ = ProtectedSessionState::kFailed;
+#endif
+  return protected_session_state_;
+}
+
+void VaapiVideoDecoderDelegate::OnGetHwConfigData(
+    bool success,
+    const std::vector<uint8_t>& config_data) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  if (!success) {
+    protected_session_state_ = ProtectedSessionState::kFailed;
+    on_protected_session_update_cb_.Run(false);
+    return;
+  }
+
+  hw_identifier_.clear();
+  if (!vaapi_wrapper_->CreateProtectedSession(
+          decrypt_config_->encryption_scheme(), full_sample_, config_data,
+          &hw_identifier_)) {
+    LOG(ERROR) << "Failed to setup protected session";
+    protected_session_state_ = ProtectedSessionState::kFailed;
+    on_protected_session_update_cb_.Run(false);
+    return;
+  }
+
+  protected_session_state_ = ProtectedSessionState::kCreated;
+  on_protected_session_update_cb_.Run(true);
+}
+
+void VaapiVideoDecoderDelegate::OnGetHwKeyData(
+    const std::string& key_id,
+    Decryptor::Status status,
+    const std::vector<uint8_t>& key_data) {
+  if (status != Decryptor::Status::kSuccess) {
+    // If it's a failure, then indicate so, otherwise if it's waiting for a key,
+    // then we don't do anything since we will get called again when there's a
+    // message about key availability changing.
+    if (status == Decryptor::Status::kNoKey) {
+      DVLOG(1) << "HW did not have key information, keep waiting for it";
+      return;
+    }
+    LOG(ERROR) << "Failure getting the key data, fail overall";
+    protected_session_state_ = ProtectedSessionState::kFailed;
+    on_protected_session_update_cb_.Run(false);
+    return;
+  }
+  if (key_data.size() != DecryptConfig::kDecryptionKeySize) {
+    LOG(ERROR) << "Invalid key size returned of: " << key_data.size();
+    protected_session_state_ = ProtectedSessionState::kFailed;
+    on_protected_session_update_cb_.Run(false);
+    return;
+  }
+  hw_key_data_map_[key_id] = key_data;
+  on_protected_session_update_cb_.Run(true);
+}
+
 }  // namespace media
diff --git a/media/gpu/vaapi/vaapi_video_decoder_delegate.h b/media/gpu/vaapi/vaapi_video_decoder_delegate.h
index 56d9a43..664c37a 100644
--- a/media/gpu/vaapi/vaapi_video_decoder_delegate.h
+++ b/media/gpu/vaapi/vaapi_video_decoder_delegate.h
@@ -5,23 +5,51 @@
 #ifndef MEDIA_GPU_VAAPI_VAAPI_VIDEO_DECODER_DELEGATE_H_
 #define MEDIA_GPU_VAAPI_VAAPI_VIDEO_DECODER_DELEGATE_H_
 
+#include <map>
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/callback.h"
+#include "base/callback_helpers.h"
 #include "base/memory/scoped_refptr.h"
+#include "base/memory/weak_ptr.h"
 #include "base/sequence_checker.h"
+#include "build/chromeos_buildflags.h"
+#include "media/base/decryptor.h"
+#include "media/base/subsample_entry.h"
+#include "third_party/libva_protected_content/va_protected_content.h"
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+#include "chromeos/components/cdm_factory_daemon/chromeos_cdm_context.h"
+#endif
 
 namespace media {
 
+class CdmContext;
 template <class T>
 class DecodeSurfaceHandler;
+class DecryptConfig;
 class VaapiWrapper;
 class VASurface;
 
 // The common part of each AcceleratedVideoDecoder's Accelerator for VA-API.
 // This class allows clients to reset VaapiWrapper in case of a profile change.
 // DecodeSurfaceHandler must stay alive for the lifetime of this class.
+// This also handles all of the shared functionality relating to protected
+// sessions in VA-API.
 class VaapiVideoDecoderDelegate {
  public:
-  VaapiVideoDecoderDelegate(DecodeSurfaceHandler<VASurface>* const vaapi_dec,
-                            scoped_refptr<VaapiWrapper> vaapi_wrapper);
+  // Callback when using protected mode to indicate that if waiting, the
+  // decoder should resume again. If |success| is false, then decoding should
+  // fail.
+  using ProtectedSessionUpdateCB = base::RepeatingCallback<void(bool success)>;
+
+  VaapiVideoDecoderDelegate(
+      DecodeSurfaceHandler<VASurface>* const vaapi_dec,
+      scoped_refptr<VaapiWrapper> vaapi_wrapper,
+      ProtectedSessionUpdateCB on_protected_session_update_cb,
+      CdmContext* cdm_context);
   virtual ~VaapiVideoDecoderDelegate();
 
   void set_vaapi_wrapper(scoped_refptr<VaapiWrapper> vaapi_wrapper);
@@ -32,11 +60,55 @@
       delete;
 
  protected:
+  // Sets the |decrypt_config| currently active for this stream. Returns true if
+  // that config is compatible with the existing one (for example, you can't
+  // change encryption schemes midstream).
+  bool SetDecryptConfig(std::unique_ptr<DecryptConfig> decrypt_config);
+
+  enum class ProtectedSessionState {
+    kNotCreated,
+    kInProcess,
+    kCreated,
+    kFailed
+  };
+
+  // Ensures we have a protected session setup and attached to the active
+  // |vaapi_wrapper_| we are using. We are in the corresponding state returned
+  // when this call returns. |full_sample| indicates if we are using full sample
+  // encryption or not and must remain consistent for a session. If everything
+  // is setup for a protected session, it will fill in the |crypto_params|.
+  // |segments| must retain its memory until the frame is submitted.
+  // |subsamples| is for the current slice.
+  VaapiVideoDecoderDelegate::ProtectedSessionState SetupDecryptDecode(
+      bool full_sample,
+      VAEncryptionParameters* crypto_params,
+      std::vector<VAEncryptionSegmentInfo>* segments,
+      const std::vector<SubsampleEntry>& subsamples);
+
   // Both owned by caller.
   DecodeSurfaceHandler<VASurface>* const vaapi_dec_;
   scoped_refptr<VaapiWrapper> vaapi_wrapper_;
 
   SEQUENCE_CHECKER(sequence_checker_);
+
+ private:
+  void OnGetHwConfigData(bool success, const std::vector<uint8_t>& config_data);
+  void OnGetHwKeyData(const std::string& key_id,
+                      Decryptor::Status status,
+                      const std::vector<uint8_t>& key_data);
+
+  // All members below pertain to protected content playback.
+  ProtectedSessionUpdateCB on_protected_session_update_cb_;
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  chromeos::ChromeOsCdmContext* chromeos_cdm_context_{nullptr};  // Not owned.
+#endif
+  ProtectedSessionState protected_session_state_;
+  std::unique_ptr<DecryptConfig> decrypt_config_;
+  bool full_sample_;
+  std::vector<uint8_t> hw_identifier_;
+  std::map<std::string, std::vector<uint8_t>> hw_key_data_map_;
+
+  base::WeakPtrFactory<VaapiVideoDecoderDelegate> weak_factory_{this};
 };
 
 }  // namespace media
diff --git a/media/gpu/vaapi/vp8_vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/vp8_vaapi_video_decoder_delegate.cc
index e9e2150..6553199 100644
--- a/media/gpu/vaapi/vp8_vaapi_video_decoder_delegate.cc
+++ b/media/gpu/vaapi/vp8_vaapi_video_decoder_delegate.cc
@@ -16,7 +16,10 @@
 VP8VaapiVideoDecoderDelegate::VP8VaapiVideoDecoderDelegate(
     DecodeSurfaceHandler<VASurface>* const vaapi_dec,
     scoped_refptr<VaapiWrapper> vaapi_wrapper)
-    : VaapiVideoDecoderDelegate(vaapi_dec, std::move(vaapi_wrapper)) {}
+    : VaapiVideoDecoderDelegate(vaapi_dec,
+                                std::move(vaapi_wrapper),
+                                base::DoNothing(),
+                                nullptr) {}
 
 VP8VaapiVideoDecoderDelegate::~VP8VaapiVideoDecoderDelegate() {
   DCHECK(!iq_matrix_);
diff --git a/media/gpu/vaapi/vp9_vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/vp9_vaapi_video_decoder_delegate.cc
index 19087ffb5..5527066 100644
--- a/media/gpu/vaapi/vp9_vaapi_video_decoder_delegate.cc
+++ b/media/gpu/vaapi/vp9_vaapi_video_decoder_delegate.cc
@@ -19,7 +19,10 @@
 VP9VaapiVideoDecoderDelegate::VP9VaapiVideoDecoderDelegate(
     DecodeSurfaceHandler<VASurface>* const vaapi_dec,
     scoped_refptr<VaapiWrapper> vaapi_wrapper)
-    : VaapiVideoDecoderDelegate(vaapi_dec, std::move(vaapi_wrapper)) {}
+    : VaapiVideoDecoderDelegate(vaapi_dec,
+                                std::move(vaapi_wrapper),
+                                base::DoNothing(),
+                                nullptr) {}
 
 VP9VaapiVideoDecoderDelegate::~VP9VaapiVideoDecoderDelegate() {
   DCHECK(!picture_params_);
diff --git a/mojo/public/cpp/test_support/test_utils.h b/mojo/public/cpp/test_support/test_utils.h
index 790df11..9273757 100644
--- a/mojo/public/cpp/test_support/test_utils.h
+++ b/mojo/public/cpp/test_support/test_utils.h
@@ -11,13 +11,18 @@
 #include "base/macros.h"
 #include "base/run_loop.h"
 #include "mojo/public/cpp/bindings/message.h"
+#include "mojo/public/cpp/bindings/struct_ptr.h"
 #include "mojo/public/cpp/system/core.h"
 
 namespace mojo {
 namespace test {
 
-template <typename MojomType, typename UserType>
-bool SerializeAndDeserialize(UserType* input, UserType* output) {
+// This overload is used for mojom structures with struct traits. The C++
+// structure type is given as an input, and returned as an output.
+template <typename MojomType,
+          typename UserStructType,
+          std::enable_if_t<!std::is_enum<UserStructType>::value, int> = 0>
+bool SerializeAndDeserialize(UserStructType* input, UserStructType* output) {
   mojo::Message message = MojomType::SerializeAsMessage(input);
 
   // This accurately simulates full serialization to ensure that all attached
@@ -30,6 +35,38 @@
   return MojomType::DeserializeFromMessage(std::move(message), output);
 }
 
+// This overload is used for mojom structures with struct traits, but here they
+// are serialized from a manually constructed StructPtr instead of from the C++
+// structure using the struct traits. This allows malformed data to be put in
+// the StructPtr<MojomType>, in order to verify the behaviour of deserialization
+// back to the C++ structure type.
+template <typename MojomType,
+          typename UserStructType,
+          std::enable_if_t<!std::is_enum<UserStructType>::value, int> = 0>
+bool SerializeAndDeserialize(mojo::StructPtr<MojomType>* input,
+                             UserStructType* output) {
+  mojo::Message message = MojomType::SerializeAsMessage(input);
+
+  // This accurately simulates full serialization to ensure that all attached
+  // handles are serialized as well. Necessary for DeserializeFromMessage to
+  // work properly.
+  mojo::ScopedMessageHandle handle = message.TakeMojoMessage();
+  message = mojo::Message::CreateFromMessageHandle(&handle);
+  DCHECK(!message.IsNull());
+
+  return MojomType::DeserializeFromMessage(std::move(message), output);
+}
+
+// This overload is used for mojom enums. The C++ enum type is given as an
+// input, and returned as an output.
+template <typename MojomType,
+          typename UserEnumType,
+          std::enable_if_t<std::is_enum<UserEnumType>::value, int> = 0>
+bool SerializeAndDeserialize(UserEnumType* input, UserEnumType* output) {
+  MojomType mode = mojo::EnumTraits<MojomType, UserEnumType>::ToMojom(*input);
+  return mojo::EnumTraits<MojomType, UserEnumType>::FromMojom(mode, output);
+}
+
 // Writes a message to |handle| with message data |text|. Returns true on
 // success.
 bool WriteTextMessage(const MessagePipeHandle& handle, const std::string& text);
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
index dc9b813..a5d08112 100644
--- a/net/android/java/src/org/chromium/net/X509Util.java
+++ b/net/android/java/src/org/chromium/net/X509Util.java
@@ -214,12 +214,6 @@
     private static final Object sLock = new Object();
 
     /**
-     * Allow disabling recording histograms for the certificate changes. Java unit tests do not load
-     * native libraries which prevent this from succeeding.
-     */
-    private static boolean sDisableNativeCodeForTest;
-
-    /**
      * Ensures that the trust managers and certificate factory are initialized.
      */
     private static void ensureInitialized() throws CertificateException,
@@ -579,10 +573,6 @@
         }
     }
 
-    public static void setDisableNativeCodeForTest(boolean disabled) {
-        sDisableNativeCodeForTest = disabled;
-    }
-
     @NativeMethods
     interface Natives {
         /**
diff --git a/net/android/javatests/src/org/chromium/net/AndroidProxySelectorTest.java b/net/android/javatests/src/org/chromium/net/AndroidProxySelectorTest.java
index 5a4c1958..845bfa5 100644
--- a/net/android/javatests/src/org/chromium/net/AndroidProxySelectorTest.java
+++ b/net/android/javatests/src/org/chromium/net/AndroidProxySelectorTest.java
@@ -18,12 +18,14 @@
 
 import androidx.test.filters.SmallTest;
 
+import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.Feature;
 
 import java.net.Proxy;
@@ -34,6 +36,7 @@
 import java.util.Properties;
 
 @RunWith(BaseJUnit4ClassRunner.class)
+@Batch(Batch.PER_CLASS)
 public class AndroidProxySelectorTest {
     Properties mProperties;
 
@@ -47,6 +50,11 @@
         System.setProperties(mProperties);
     }
 
+    @After
+    public void tearDown() {
+        System.setProperties(mProperties);
+    }
+
     static String toString(Proxy proxy) {
         if (proxy.equals(Proxy.NO_PROXY)) return "DIRECT";
         // java.net.Proxy only knows about http and socks proxies.
@@ -319,4 +327,3 @@
         checkMapping("http://example.com/", "PROXY defaultproxy.com:80");
     }
 }
-
diff --git a/net/android/javatests/src/org/chromium/net/MimeTypeFilterTest.java b/net/android/javatests/src/org/chromium/net/MimeTypeFilterTest.java
index 728d54a..847c414 100644
--- a/net/android/javatests/src/org/chromium/net/MimeTypeFilterTest.java
+++ b/net/android/javatests/src/org/chromium/net/MimeTypeFilterTest.java
@@ -13,6 +13,7 @@
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.util.Batch;
 
 import java.util.ArrayList;
 
@@ -20,6 +21,7 @@
  * Tests for MimeTypeFilter.
  */
 @RunWith(BaseJUnit4ClassRunner.class)
+@Batch(Batch.UNIT_TESTS)
 public class MimeTypeFilterTest {
     @Test
     @SmallTest
diff --git a/net/android/javatests/src/org/chromium/net/NetErrorsTest.java b/net/android/javatests/src/org/chromium/net/NetErrorsTest.java
index b986ce37..d9398290 100644
--- a/net/android/javatests/src/org/chromium/net/NetErrorsTest.java
+++ b/net/android/javatests/src/org/chromium/net/NetErrorsTest.java
@@ -15,9 +15,11 @@
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.Feature;
 
 @RunWith(BaseJUnit4ClassRunner.class)
+@Batch(Batch.UNIT_TESTS)
 public class NetErrorsTest {
     // These are manually copied and should be kept in sync with net_error_list.h.
     private static final int IO_PENDING_ERROR = -1;
diff --git a/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierNoNativeTest.java b/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierNoNativeTest.java
index b015692..18bac8ef 100644
--- a/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierNoNativeTest.java
+++ b/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierNoNativeTest.java
@@ -20,6 +20,7 @@
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 
 /**
@@ -27,6 +28,7 @@
  * does not have a setUp() method that loads native libraries.
  */
 @RunWith(BaseJUnit4ClassRunner.class)
+@Batch(Batch.PER_CLASS)
 @SuppressLint("NewApi")
 public class NetworkChangeNotifierNoNativeTest {
     @After
diff --git a/net/android/javatests/src/org/chromium/net/X509UtilTest.java b/net/android/javatests/src/org/chromium/net/X509UtilTest.java
index 3ba38f6c..f9c2f9b 100644
--- a/net/android/javatests/src/org/chromium/net/X509UtilTest.java
+++ b/net/android/javatests/src/org/chromium/net/X509UtilTest.java
@@ -8,12 +8,13 @@
 
 import androidx.test.filters.MediumTest;
 
+import org.junit.After;
 import org.junit.Assert;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.util.Batch;
 import org.chromium.net.test.util.CertTestUtil;
 
 import java.io.IOException;
@@ -25,6 +26,7 @@
  * Tests for org.chromium.net.X509Util.
  */
 @RunWith(BaseJUnit4ClassRunner.class)
+@Batch(Batch.UNIT_TESTS)
 public class X509UtilTest {
     private static final String BAD_EKU_TEST_ROOT = "eku-test-root.pem";
     private static final String CRITICAL_CODE_SIGNING_EE = "crit-codeSigning-chain.pem";
@@ -44,9 +46,13 @@
         return bytes;
     }
 
-    @Before
-    public void setUp() {
-        X509Util.setDisableNativeCodeForTest(true);
+    @After
+    public void tearDown() {
+        try {
+            X509Util.clearTestRootCertificates();
+        } catch (Exception e) {
+            Assert.fail("Could not clear test root certificates: " + e.toString());
+        }
     }
 
     @Test
@@ -66,12 +72,5 @@
 
         Assert.assertTrue(X509Util.verifyKeyUsage(X509Util.createCertificateFromBytes(
                 CertTestUtil.pemToDer(CERTS_DIRECTORY + OK_CERT))));
-
-        try {
-            X509Util.clearTestRootCertificates();
-        } catch (Exception e) {
-            Assert.fail("Could not clear test root certificates: " + e.toString());
-        }
     }
 }
-
diff --git a/net/quic/quic_chromium_client_stream.cc b/net/quic/quic_chromium_client_stream.cc
index 1b216909..e999602 100644
--- a/net/quic/quic_chromium_client_stream.cc
+++ b/net/quic/quic_chromium_client_stream.cc
@@ -557,8 +557,9 @@
 
 bool QuicChromiumClientStream::WriteStreamData(absl::string_view data,
                                                bool fin) {
-  // Must not be called when data is buffered.
-  DCHECK(!HasBufferedData());
+  // For gQUIC, this must not be called when data is buffered because headers
+  // are sent on the dedicated header stream.
+  DCHECK(!HasBufferedData() || VersionUsesHttp3(quic_version_));
   // Writes the data, or buffers it.
   WriteOrBufferBody(data, fin);
   return !HasBufferedData();  // Was all data written?
diff --git a/remoting/host/BUILD.gn b/remoting/host/BUILD.gn
index 2b2a652..9424348 100644
--- a/remoting/host/BUILD.gn
+++ b/remoting/host/BUILD.gn
@@ -625,7 +625,7 @@
                 [ "REMOTING_HOST_BINARY=BINARY_REMOTING_START_HOST" ]
 
       deps += [
-        "//build/win:default_exe_manifest",
+        "//remoting/host/win:elevated_exe_manifest",
         "//remoting/host/win:remoting_core",
         "//remoting/host/win:remoting_windows_resources",
       ]
diff --git a/remoting/host/heartbeat_sender.cc b/remoting/host/heartbeat_sender.cc
index cf17cb2..8032e9c 100644
--- a/remoting/host/heartbeat_sender.cc
+++ b/remoting/host/heartbeat_sender.cc
@@ -136,12 +136,11 @@
 void HeartbeatSender::HeartbeatClientImpl::Heartbeat(
     std::unique_ptr<apis::v1::HeartbeatRequest> request,
     HeartbeatResponseCallback callback) {
-  std::string host_offline_reason_or_empty_log =
+  std::string host_offline_reason =
       request->has_host_offline_reason()
-          ? (", host_offline_reason: " + request->host_offline_reason())
+          ? (" host_offline_reason: " + request->host_offline_reason())
           : "";
-  HOST_LOG << "Sending outgoing heartbeat. tachyon_id: "
-           << request->tachyon_id() << host_offline_reason_or_empty_log;
+  HOST_LOG << "Sending outgoing heartbeat." << host_offline_reason;
 
   auto request_config =
       std::make_unique<ProtobufHttpRequestConfig>(kTrafficAnnotation);
diff --git a/remoting/host/win/BUILD.gn b/remoting/host/win/BUILD.gn
index 205351e..75ff9f4c 100644
--- a/remoting/host/win/BUILD.gn
+++ b/remoting/host/win/BUILD.gn
@@ -30,6 +30,16 @@
     "//remoting/host/win/enable_uiaccess_require_admin.manifest"
 
 # Depending on this target gives a default executable manifest with the addition
+# of the requestedExecutionLevel of requireAdministrator.
+windows_manifest("elevated_exe_manifest") {
+  sources = [
+    common_controls_manifest,
+    default_compatibility_manifest,
+    require_administrator_manifest,
+  ]
+}
+
+# Depending on this target gives a default executable manifest with the addition
 # of the DPI aware tag.
 windows_manifest("dpi_aware_exe_manifest") {
   sources = [
diff --git a/services/device/BUILD.gn b/services/device/BUILD.gn
index 30451f3..73cf227 100644
--- a/services/device/BUILD.gn
+++ b/services/device/BUILD.gn
@@ -358,6 +358,7 @@
       "geolocation/win/fake_status_changed_event_args_winrt.cc",
       "geolocation/win/fake_status_changed_event_args_winrt.h",
       "geolocation/win/location_provider_winrt_unittest.cc",
+      "hid/hid_preparsed_data_unittest.cc",
     ]
 
     # Needed for "generic_sensor/platform_sensor_and_provider_unittest_win.cc"
diff --git a/services/device/hid/BUILD.gn b/services/device/hid/BUILD.gn
index c8e78bc..d42c3120 100644
--- a/services/device/hid/BUILD.gn
+++ b/services/device/hid/BUILD.gn
@@ -53,6 +53,8 @@
     sources += [
       "hid_connection_win.cc",
       "hid_connection_win.h",
+      "hid_preparsed_data.cc",
+      "hid_preparsed_data.h",
       "hid_service_win.cc",
       "hid_service_win.h",
     ]
diff --git a/services/device/hid/hid_preparsed_data.cc b/services/device/hid/hid_preparsed_data.cc
new file mode 100644
index 0000000..76df71dba
--- /dev/null
+++ b/services/device/hid/hid_preparsed_data.cc
@@ -0,0 +1,307 @@
+// 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.
+
+#include "services/device/hid/hid_preparsed_data.h"
+
+#include <cstddef>
+#include <cstdint>
+
+#include "base/debug/dump_without_crashing.h"
+#include "base/memory/ptr_util.h"
+#include "base/notreached.h"
+#include "components/device_event_log/device_event_log.h"
+
+namespace device {
+
+namespace {
+
+// Windows parses HID report descriptors into opaque _HIDP_PREPARSED_DATA
+// objects. The internal structure of _HIDP_PREPARSED_DATA is reserved for
+// internal system use. The structs below are inferred and may be wrong or
+// incomplete.
+// https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/preparsed-data
+//
+// _HIDP_PREPARSED_DATA begins with a fixed-sized header containing information
+// about a single top-level HID collection. The header is followed by a
+// variable-sized array describing the fields that make up each report.
+//
+// Input report items appear first in the array, followed by output report items
+// and feature report items. The number of items of each type is given by
+// |input_item_count|, |output_item_count| and |feature_item_count|. The sum of
+// these counts should equal |item_count|. The total size in bytes of all report
+// items is |size_bytes|.
+#pragma pack(push, 1)
+struct PreparsedDataHeader {
+  // Unknown constant value. _HIDP_PREPARSED_DATA identifier?
+  uint64_t magic;
+
+  // Top-level collection usage information.
+  uint16_t usage;
+  uint16_t usage_page;
+
+  uint16_t unknown[3];
+
+  // Number of report items for input reports.
+  uint16_t input_item_count;
+
+  uint16_t unknown2;
+
+  // Maximum input report size, in bytes. Includes the report ID byte. Zero if
+  // there are no input reports.
+  uint16_t input_report_byte_length;
+
+  uint16_t unknown3;
+
+  // Number of report items for output reports.
+  uint16_t output_item_count;
+
+  uint16_t unknown4;
+
+  // Maximum output report size, in bytes. Includes the report ID byte. Zero if
+  // there are no output reports.
+  uint16_t output_report_byte_length;
+
+  uint16_t unknown5;
+
+  // Number of report items for feature reports.
+  uint16_t feature_item_count;
+
+  // Total number of report items (input, output, and feature).
+  uint16_t item_count;
+
+  // Maximum feature report size, in bytes. Includes the report ID byte. Zero if
+  // there are no feature reports.
+  uint16_t feature_report_byte_length;
+
+  // Total size of all report items, in bytes.
+  uint16_t size_bytes;
+
+  uint16_t unknown6;
+};
+#pragma pack(pop)
+static_assert(sizeof(PreparsedDataHeader) == 44,
+              "PreparsedDataHeader has incorrect size");
+
+#pragma pack(push, 1)
+struct PreparsedDataItem {
+  // Usage page for |usage_minimum| and |usage_maximum|.
+  uint16_t usage_page;
+
+  // Report ID for the report containing this item.
+  uint8_t report_id;
+
+  // Bit offset from |byte_index|.
+  uint8_t bit_index;
+
+  // Bit width of a single field defined by this item.
+  uint16_t bit_size;
+
+  // The number of fields defined by this item.
+  uint16_t report_count;
+
+  // Byte offset from the start of the report containing this item, including
+  // the report ID byte.
+  uint16_t byte_index;
+
+  // The total number of bits for all fields defined by this item.
+  uint16_t bit_count;
+
+  // The bit field for the corresponding main item in the HID report. This bit
+  // field is defined in the Device Class Definition for HID v1.11 section
+  // 6.2.2.5.
+  // https://www.usb.org/document-library/device-class-definition-hid-111
+  uint32_t bit_field;
+
+  uint32_t unknown;
+
+  // Usage information for the collection containing this item.
+  uint16_t link_usage_page;
+  uint16_t link_usage;
+
+  uint32_t unknown2[9];
+
+  // The usage range for this item.
+  uint16_t usage_minimum;
+  uint16_t usage_maximum;
+
+  // The string descriptor index range associated with this item. If the item
+  // has no string descriptors, |string_minimum| and |string_maximum| are set to
+  // zero.
+  uint16_t string_minimum;
+  uint16_t string_maximum;
+
+  // The designator index range associated with this item. If the item has no
+  // designators, |designator_minimum| and |designator_maximum| are set to zero.
+  uint16_t designator_minimum;
+  uint16_t designator_maximum;
+
+  // The data index range associated with this item.
+  uint16_t data_index_minimum;
+  uint16_t data_index_maximum;
+
+  uint32_t unknown3;
+
+  // The range of fields defined by this item in logical units.
+  int32_t logical_minimum;
+  int32_t logical_maximum;
+
+  // The range of fields defined by this item in units defined by |unit| and
+  // |unit_exponent|. If this item does not use physical units,
+  // |physical_minimum| and |physical_maximum| are set to zero.
+  int32_t physical_minimum;
+  int32_t physical_maximum;
+
+  // The unit definition for this item. The format for this definition is
+  // described in the Device Class Definition for HID v1.11 section 6.2.2.7.
+  // https://www.usb.org/document-library/device-class-definition-hid-111
+  uint32_t unit;
+  uint32_t unit_exponent;
+};
+#pragma pack(pop)
+static_assert(sizeof(PreparsedDataItem) == 104,
+              "PreparsedDataItem has incorrect size");
+
+bool ValidatePreparsedDataHeader(const PreparsedDataHeader& header) {
+  static bool has_dumped_without_crashing = false;
+
+  // _HIDP_PREPARSED_DATA objects are expected to start with a known constant
+  // value.
+  constexpr uint64_t kHidPreparsedDataMagic = 0x52444B2050646948;
+
+  // Require a matching magic value. The details of _HIDP_PREPARSED_DATA are
+  // proprietary and the magic constant may change. If DCHECKS are on, trigger
+  // a CHECK failure and crash. Otherwise, generate a non-crash dump.
+  DCHECK_EQ(header.magic, kHidPreparsedDataMagic);
+  if (header.magic != kHidPreparsedDataMagic) {
+    HID_LOG(ERROR) << "Unexpected magic value.";
+    if (has_dumped_without_crashing) {
+      base::debug::DumpWithoutCrashing();
+      has_dumped_without_crashing = true;
+    }
+    return false;
+  }
+
+  if (header.input_report_byte_length == 0 && header.input_item_count > 0)
+    return false;
+  if (header.output_report_byte_length == 0 && header.output_item_count > 0)
+    return false;
+  if (header.feature_report_byte_length == 0 && header.feature_item_count > 0)
+    return false;
+  if (header.input_item_count + header.output_item_count +
+          header.feature_item_count !=
+      header.item_count) {
+    return false;
+  }
+  if (header.item_count * sizeof(PreparsedDataItem) != header.size_bytes)
+    return false;
+  return true;
+}
+
+bool ValidatePreparsedDataItem(const PreparsedDataItem& item) {
+  // Check that the item does not overlap with the report ID byte.
+  if (item.byte_index == 0)
+    return false;
+
+  // Check that the bit index does not exceed the maximum bit index in one byte.
+  if (item.bit_index >= CHAR_BIT)
+    return false;
+
+  // Check that the item occupies at least one bit in the report.
+  if (item.report_count == 0 || item.bit_size == 0 || item.bit_count == 0)
+    return false;
+
+  return true;
+}
+
+HidServiceWin::PreparsedData::ReportItem MakeReportItemFromPreparsedData(
+    const PreparsedDataItem& item) {
+  size_t bit_index = (item.byte_index - 1) * CHAR_BIT + item.bit_index;
+  return {item.report_id,          item.bit_field,
+          item.bit_size,           item.report_count,
+          item.usage_page,         item.usage_minimum,
+          item.usage_maximum,      item.designator_minimum,
+          item.designator_maximum, item.string_minimum,
+          item.string_maximum,     item.logical_minimum,
+          item.logical_maximum,    item.physical_minimum,
+          item.physical_maximum,   item.unit,
+          item.unit_exponent,      bit_index};
+}
+
+}  // namespace
+
+// static
+std::unique_ptr<HidPreparsedData> HidPreparsedData::Create(
+    HANDLE device_handle) {
+  PHIDP_PREPARSED_DATA preparsed_data;
+  if (!HidD_GetPreparsedData(device_handle, &preparsed_data) ||
+      !preparsed_data) {
+    HID_PLOG(EVENT) << "Failed to get device data";
+    return nullptr;
+  }
+
+  HIDP_CAPS capabilities;
+  if (HidP_GetCaps(preparsed_data, &capabilities) != HIDP_STATUS_SUCCESS) {
+    HID_PLOG(EVENT) << "Failed to get device capabilities";
+    HidD_FreePreparsedData(preparsed_data);
+    return nullptr;
+  }
+
+  return base::WrapUnique(new HidPreparsedData(preparsed_data, capabilities));
+}
+
+HidPreparsedData::HidPreparsedData(PHIDP_PREPARSED_DATA preparsed_data,
+                                   HIDP_CAPS capabilities)
+    : preparsed_data_(preparsed_data), capabilities_(capabilities) {
+  DCHECK(preparsed_data_);
+}
+
+HidPreparsedData::~HidPreparsedData() {
+  HidD_FreePreparsedData(preparsed_data_);
+}
+
+const HIDP_CAPS& HidPreparsedData::GetCaps() const {
+  return capabilities_;
+}
+
+std::vector<HidServiceWin::PreparsedData::ReportItem>
+HidPreparsedData::GetReportItems(HIDP_REPORT_TYPE report_type) const {
+  const auto& header =
+      *reinterpret_cast<const PreparsedDataHeader*>(preparsed_data_);
+  if (!ValidatePreparsedDataHeader(header))
+    return {};
+
+  size_t min_index;
+  size_t item_count;
+  switch (report_type) {
+    case HidP_Input:
+      min_index = 0;
+      item_count = header.input_item_count;
+      break;
+    case HidP_Output:
+      min_index = header.input_item_count;
+      item_count = header.output_item_count;
+      break;
+    case HidP_Feature:
+      min_index = header.input_item_count + header.output_item_count;
+      item_count = header.feature_item_count;
+      break;
+    default:
+      return {};
+  }
+  if (item_count == 0)
+    return {};
+
+  const auto* data = reinterpret_cast<const uint8_t*>(preparsed_data_);
+  const auto* items = reinterpret_cast<const PreparsedDataItem*>(
+      data + sizeof(PreparsedDataHeader));
+  std::vector<ReportItem> report_items;
+  for (size_t i = min_index; i < min_index + item_count; ++i) {
+    if (ValidatePreparsedDataItem(items[i]))
+      report_items.push_back(MakeReportItemFromPreparsedData(items[i]));
+  }
+
+  return report_items;
+}
+
+}  // namespace device
diff --git a/services/device/hid/hid_preparsed_data.h b/services/device/hid/hid_preparsed_data.h
new file mode 100644
index 0000000..27552a16
--- /dev/null
+++ b/services/device/hid/hid_preparsed_data.h
@@ -0,0 +1,50 @@
+// 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.
+
+#ifndef SERVICES_DEVICE_HID_HID_PREPARSED_DATA_H_
+#define SERVICES_DEVICE_HID_HID_PREPARSED_DATA_H_
+
+#include <windows.h>
+
+// NOTE: <hidsdi.h> must be included before <hidpi.h>. clang-format will want to
+// reorder them.
+// clang-format off
+extern "C" {
+#include <hidsdi.h>
+#include <hidpi.h>
+}
+// clang-format on
+
+#include <memory>
+#include <vector>
+
+#include "services/device/hid/hid_service_win.h"
+
+namespace device {
+
+class HidPreparsedData : public HidServiceWin::PreparsedData {
+ public:
+  // Return a HidPreparsedData constructed from an open |device_handle|, or
+  // nullptr if the handle is invalid or the device data could not be read.
+  static std::unique_ptr<HidPreparsedData> Create(HANDLE device_handle);
+
+  HidPreparsedData(const HidPreparsedData&) = delete;
+  HidPreparsedData& operator=(const HidPreparsedData&) = delete;
+  ~HidPreparsedData() override;
+
+  // HidServiceWin::PreparsedData implementation.
+  const HIDP_CAPS& GetCaps() const override;
+  std::vector<ReportItem> GetReportItems(
+      HIDP_REPORT_TYPE report_type) const override;
+
+ private:
+  HidPreparsedData(PHIDP_PREPARSED_DATA preparsed_data, HIDP_CAPS capabilities);
+
+  const PHIDP_PREPARSED_DATA preparsed_data_;
+  const HIDP_CAPS capabilities_;
+};
+
+}  // namespace device
+
+#endif  // SERVICES_DEVICE_HID_HID_PREPARSED_DATA_H_
diff --git a/services/device/hid/hid_preparsed_data_unittest.cc b/services/device/hid/hid_preparsed_data_unittest.cc
new file mode 100644
index 0000000..e50a12a
--- /dev/null
+++ b/services/device/hid/hid_preparsed_data_unittest.cc
@@ -0,0 +1,980 @@
+// 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.
+
+#include "services/device/hid/hid_service_win.h"
+
+#include <vector>
+
+#include "services/device/public/mojom/hid.mojom.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace device {
+
+namespace {
+
+using ::testing::ElementsAre;
+using ::testing::NiceMock;
+using ::testing::Return;
+using ::testing::ReturnRef;
+
+using ReportItem = HidServiceWin::PreparsedData::ReportItem;
+
+// Report IDs.
+constexpr uint8_t kNoReportId = 0x00;
+constexpr uint8_t kReportId01 = 0x01;
+constexpr uint8_t kReportId02 = 0x02;
+
+// HID usage page constants.
+constexpr uint16_t kPageButton = mojom::kPageButton;
+constexpr uint16_t kPageGenericDesktop = mojom::kPageGenericDesktop;
+
+// HID usage constants.
+constexpr uint16_t kUsageMouse = mojom::kGenericDesktopMouse;
+constexpr uint16_t kUsageX = mojom::kGenericDesktopX;
+constexpr uint16_t kUsageY = mojom::kGenericDesktopY;
+constexpr uint16_t kUsage00 = 0x00;
+constexpr uint16_t kUsage01 = 0x01;
+constexpr uint16_t kUsage02 = 0x02;
+constexpr uint16_t kUsage03 = 0x03;
+constexpr uint16_t kUsage04 = 0x04;
+constexpr uint16_t kUsage05 = 0x05;
+constexpr uint16_t kUsage06 = 0x06;
+constexpr uint16_t kUsage07 = 0x07;
+constexpr uint16_t kUsage08 = 0x08;
+constexpr uint16_t kUsageFF = 0xff;
+
+// Data, Array, Abs, No Wrap, Linear, Preferred State, No Null Position.
+constexpr uint16_t kBitFieldArray = 0x0000;
+
+// Data, Var, Abs, No Wrap, Linear, Preferred State, No Null Position.
+constexpr uint16_t kBitFieldVariable = 0x0002;
+
+class MockPreparsedData : public NiceMock<HidServiceWin::PreparsedData> {
+ public:
+  MockPreparsedData() {
+    ON_CALL(*this, GetReportItems)
+        .WillByDefault(Return(std::vector<ReportItem>()));
+  }
+  ~MockPreparsedData() override = default;
+
+  MOCK_CONST_METHOD0(GetCaps, const HIDP_CAPS&());
+  MOCK_CONST_METHOD1(GetReportItems, std::vector<ReportItem>(HIDP_REPORT_TYPE));
+};
+
+ReportItem SimpleButtonItem(uint16_t usage_page,
+                            uint16_t usage,
+                            uint8_t report_id,
+                            size_t bit_index) {
+  return {report_id,
+          kBitFieldVariable,
+          /*report_size=*/1,
+          /*report_count=*/1,
+          usage_page,
+          /*usage_min=*/usage,
+          /*usage_max=*/usage,
+          /*designator_minimum=*/0,
+          /*designator_maximum=*/0,
+          /*string_minimum=*/0,
+          /*string_maximum=*/0,
+          /*logical_minimum=*/0,
+          /*logical_maximum=*/1,
+          /*physical_minimum=*/0,
+          /*physical_maximum=*/0,
+          /*unit=*/0,
+          /*unit_exponent=*/0,
+          bit_index};
+}
+
+ReportItem RangeButtonItem(uint16_t usage_page,
+                           uint16_t usage_min,
+                           uint16_t usage_max,
+                           uint8_t report_id,
+                           size_t bit_index) {
+  uint16_t report_count = usage_max - usage_min + 1;
+  return {report_id,
+          kBitFieldVariable,
+          /*report_size=*/1,
+          report_count,
+          usage_page,
+          usage_min,
+          usage_max,
+          /*designator_minimum=*/0,
+          /*designator_maximum=*/0,
+          /*string_minimum=*/0,
+          /*string_maximum=*/0,
+          /*logical_minimum=*/0,
+          /*logical_maximum=*/1,
+          /*physical_minimum=*/0,
+          /*physical_maximum=*/0,
+          /*unit=*/0,
+          /*unit_exponent=*/0,
+          bit_index};
+}
+
+ReportItem ArrayItem(uint16_t usage_page,
+                     uint16_t usage_min,
+                     uint16_t usage_max,
+                     uint8_t report_id,
+                     uint16_t report_count,
+                     size_t bit_index) {
+  return {report_id,
+          kBitFieldArray,
+          /*report_size=*/8,
+          report_count,
+          usage_page,
+          usage_min,
+          usage_max,
+          /*designator_minimum=*/0,
+          /*designator_maximum=*/0,
+          /*string_minimum=*/0,
+          /*string_maximum=*/0,
+          /*logical_minimum=*/usage_min,
+          /*logical_maximum=*/usage_max,
+          /*physical_minimum=*/0,
+          /*physical_maximum=*/0,
+          /*unit=*/0,
+          /*unit_exponent=*/0,
+          bit_index};
+}
+
+ReportItem SimpleValueItem(uint16_t usage_page,
+                           uint16_t usage,
+                           uint8_t report_id,
+                           size_t bit_index) {
+  return {report_id,
+          kBitFieldVariable,
+          /*report_size=*/8,
+          /*report_count=*/1,
+          usage_page,
+          /*usage_min=*/usage,
+          /*usage_max=*/usage,
+          /*designator_minimum=*/0,
+          /*designator_maximum=*/0,
+          /*string_minimum=*/0,
+          /*string_maximum=*/0,
+          /*logical_minimum=*/0x00,
+          /*logical_maximum=*/0xff,
+          /*physical_minimum=*/0,
+          /*physical_maximum=*/0,
+          /*unit=*/0,
+          /*unit_exponent=*/0,
+          bit_index};
+}
+
+ReportItem RangeValueItem(uint16_t usage_page,
+                          uint16_t usage_min,
+                          uint16_t usage_max,
+                          uint16_t report_count,
+                          uint8_t report_id,
+                          size_t bit_index) {
+  return {report_id,
+          kBitFieldVariable,
+          /*report_size=*/8,
+          report_count,
+          usage_page,
+          usage_min,
+          usage_max,
+          /*designator_minimum=*/0,
+          /*designator_maximum=*/0,
+          /*string_minimum=*/0,
+          /*string_maximum=*/0,
+          /*logical_minimum=*/0x00,
+          /*logical_maximum=*/0xff,
+          /*physical_minimum=*/0,
+          /*physical_maximum=*/0,
+          /*unit=*/0,
+          /*unit_exponent=*/0,
+          bit_index};
+}
+
+}  // namespace
+
+TEST(HidPreparsedDataTest, NoReportItems) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_TRUE(collection->report_ids.empty());
+  EXPECT_TRUE(collection->input_reports.empty());
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, OneButtonItemWithNoReportId) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputButtonCaps = 1;
+  std::vector<ReportItem> input_items = {
+      SimpleButtonItem(kPageButton, kUsage01, kNoReportId, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_TRUE(collection->report_ids.empty());
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kNoReportId);
+  ASSERT_EQ(report->items.size(), 2U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsage01);
+  EXPECT_EQ(report->items[0]->report_size, 1U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_TRUE(report->items[1]->is_constant);
+  EXPECT_EQ(report->items[1]->report_size, 7U);
+  EXPECT_EQ(report->items[1]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, OneButtonItemWithReportId) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputButtonCaps = 1;
+  std::vector<ReportItem> input_items = {
+      SimpleButtonItem(kPageButton, kUsage01, kReportId01, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 2U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsage01);
+  EXPECT_EQ(report->items[0]->report_size, 1U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_TRUE(report->items[1]->is_constant);
+  EXPECT_EQ(report->items[1]->report_size, 7U);
+  EXPECT_EQ(report->items[1]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ButtonItemWithUsageRange) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {RangeButtonItem(
+      kPageButton, kUsage01, kUsage08, kReportId01, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_TRUE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage, kUsage01);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage, kUsage08);
+  EXPECT_EQ(report->items[0]->report_size, 1U);
+  EXPECT_EQ(report->items[0]->report_count, 8U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ArrayItemWithReportCount1) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      ArrayItem(kPageButton, kUsage00, kUsageFF, kReportId01,
+                /*report_count=*/1, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_TRUE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_FALSE(report->items[0]->is_variable);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage, kUsage00);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage, kUsageFF);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ArrayItemWithReportCount2) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 3;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      ArrayItem(kPageButton, kUsage00, kUsageFF, kReportId01,
+                /*report_count=*/2, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_TRUE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_FALSE(report->items[0]->is_variable);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage, kUsage00);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage, kUsageFF);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 2U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ArrayItemWithNoValidUsages) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      ArrayItem(kPageButton, kUsage00, kUsage00, kReportId01,
+                /*report_count=*/1, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  EXPECT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_FALSE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsage00);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ValueItemWithNoReportId) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {SimpleValueItem(
+      kPageGenericDesktop, kUsageX, kNoReportId, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_TRUE(collection->report_ids.empty());
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kNoReportId);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ValueItemWithReportId) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {SimpleValueItem(
+      kPageGenericDesktop, kUsageX, kReportId01, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, TwoValueItemsWithMatchingReportIds) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 3;
+  capabilities.NumberInputValueCaps = 2;
+  std::vector<ReportItem> input_items = {
+      SimpleValueItem(kPageGenericDesktop, kUsageX, kReportId01,
+                      /*bit_index=*/0),
+      SimpleValueItem(kPageGenericDesktop, kUsageY, kReportId01,
+                      /*bit_index=*/8),
+  };
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 2U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_FALSE(report->items[1]->is_range);
+  EXPECT_FALSE(report->items[1]->is_constant);
+  EXPECT_TRUE(report->items[1]->is_variable);
+  ASSERT_EQ(report->items[1]->usages.size(), 1U);
+  EXPECT_EQ(report->items[1]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[1]->usages[0]->usage, kUsageY);
+  EXPECT_EQ(report->items[1]->report_size, 8U);
+  EXPECT_EQ(report->items[1]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, TwoValueItemsWithDifferentReportIds) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.NumberInputValueCaps = 2;
+  std::vector<ReportItem> input_items = {
+      SimpleValueItem(kPageGenericDesktop, kUsageX, kReportId01,
+                      /*bit_index=*/0),
+      SimpleValueItem(kPageGenericDesktop, kUsageY, kReportId02,
+                      /*bit_index=*/0),
+  };
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01, kReportId02));
+  ASSERT_EQ(collection->input_reports.size(), 2U);
+  const auto& report01 = collection->input_reports[0];
+  EXPECT_EQ(report01->report_id, kReportId01);
+  ASSERT_EQ(report01->items.size(), 1U);
+  EXPECT_FALSE(report01->items[0]->is_range);
+  EXPECT_FALSE(report01->items[0]->is_constant);
+  EXPECT_TRUE(report01->items[0]->is_variable);
+  ASSERT_EQ(report01->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report01->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report01->items[0]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report01->items[0]->report_size, 8U);
+  EXPECT_EQ(report01->items[0]->report_count, 1U);
+  const auto& report02 = collection->input_reports[1];
+  EXPECT_EQ(report02->report_id, kReportId02);
+  ASSERT_EQ(report02->items.size(), 1U);
+  EXPECT_FALSE(report02->items[0]->is_range);
+  EXPECT_FALSE(report02->items[0]->is_constant);
+  EXPECT_TRUE(report02->items[0]->is_variable);
+  ASSERT_EQ(report02->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report02->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report02->items[0]->usages[0]->usage, kUsageY);
+  EXPECT_EQ(report02->items[0]->report_size, 8U);
+  EXPECT_EQ(report02->items[0]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, TwoValueItemsWithDifferentReportTypes) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 2;
+  capabilities.OutputReportByteLength = 2;
+  capabilities.NumberInputValueCaps = 1;
+  capabilities.NumberOutputValueCaps = 1;
+  std::vector<ReportItem> input_items = {SimpleValueItem(
+      kPageGenericDesktop, kUsageX, kReportId01, /*bit_index=*/0)};
+  std::vector<ReportItem> output_items = {SimpleValueItem(
+      kPageGenericDesktop, kUsageY, kReportId01, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(output_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& in_report = collection->input_reports[0];
+  EXPECT_EQ(in_report->report_id, kReportId01);
+  ASSERT_EQ(in_report->items.size(), 1U);
+  EXPECT_FALSE(in_report->items[0]->is_range);
+  EXPECT_FALSE(in_report->items[0]->is_constant);
+  EXPECT_TRUE(in_report->items[0]->is_variable);
+  ASSERT_EQ(in_report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(in_report->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(in_report->items[0]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(in_report->items[0]->report_size, 8U);
+  EXPECT_EQ(in_report->items[0]->report_count, 1U);
+  ASSERT_EQ(collection->output_reports.size(), 1U);
+  const auto& out_report = collection->output_reports[0];
+  EXPECT_EQ(out_report->report_id, kReportId01);
+  ASSERT_EQ(out_report->items.size(), 1U);
+  EXPECT_FALSE(out_report->items[0]->is_range);
+  EXPECT_FALSE(out_report->items[0]->is_constant);
+  EXPECT_TRUE(out_report->items[0]->is_variable);
+  ASSERT_EQ(out_report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(out_report->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(out_report->items[0]->usages[0]->usage, kUsageY);
+  EXPECT_EQ(out_report->items[0]->report_size, 8U);
+  EXPECT_EQ(out_report->items[0]->report_count, 1U);
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ValueItemWithUsageRange) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 3;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      RangeValueItem(kPageGenericDesktop, kUsageX, kUsageY, /*report_count=*/2,
+                     kReportId01, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_TRUE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage, kUsageX);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage, kUsageY);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 2U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ValueItemWithUsageRangeAndRepeatedUsageValue) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 3;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      RangeValueItem(kPageGenericDesktop, kUsageX, kUsageX, /*report_count=*/2,
+                     kReportId01, /*bit_index=*/0)};
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 1U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report->items[0]->report_size, 8U);
+  EXPECT_EQ(report->items[0]->report_count, 2U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ButtonAndValueItemsInSameReport) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 3;
+  capabilities.NumberInputButtonCaps = 1;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      RangeButtonItem(kPageButton, kUsage01, kUsage08, kReportId01,
+                      /*bit_index=*/0),
+      SimpleValueItem(kPageGenericDesktop, kUsageX, kReportId01,
+                      /*bit_index=*/8),
+  };
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 2U);
+  EXPECT_TRUE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_minimum->usage, kUsage01);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usage_maximum->usage, kUsage08);
+  EXPECT_EQ(report->items[0]->report_size, 1U);
+  EXPECT_EQ(report->items[0]->report_count, 8U);
+  EXPECT_FALSE(report->items[1]->is_range);
+  EXPECT_FALSE(report->items[1]->is_constant);
+  EXPECT_TRUE(report->items[1]->is_variable);
+  ASSERT_EQ(report->items[1]->usages.size(), 1U);
+  EXPECT_EQ(report->items[1]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[1]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report->items[1]->report_size, 8U);
+  EXPECT_EQ(report->items[1]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ButtonAndValueItemsInSameReportWithGap) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 3;
+  capabilities.NumberInputButtonCaps = 1;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      SimpleButtonItem(kPageButton, kUsage01, kReportId01, /*bit_index=*/0),
+      SimpleValueItem(kPageGenericDesktop, kUsageX, kReportId01,
+                      /*bit_index=*/8),
+  };
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_TRUE(collection->usage);
+  EXPECT_EQ(collection->usage->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(collection->usage->usage, kUsageMouse);
+  EXPECT_THAT(collection->report_ids, ElementsAre(kReportId01));
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 3U);
+  EXPECT_FALSE(report->items[0]->is_range);
+  EXPECT_FALSE(report->items[0]->is_constant);
+  EXPECT_TRUE(report->items[0]->is_variable);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsage01);
+  EXPECT_EQ(report->items[0]->report_size, 1U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  EXPECT_TRUE(report->items[1]->is_constant);
+  EXPECT_EQ(report->items[1]->report_size, 7U);
+  EXPECT_EQ(report->items[1]->report_count, 1U);
+  EXPECT_FALSE(report->items[2]->is_range);
+  EXPECT_FALSE(report->items[2]->is_constant);
+  EXPECT_TRUE(report->items[2]->is_variable);
+  ASSERT_EQ(report->items[2]->usages.size(), 1U);
+  EXPECT_EQ(report->items[2]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[2]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report->items[2]->report_size, 8U);
+  EXPECT_EQ(report->items[2]->report_count, 1U);
+  EXPECT_TRUE(collection->output_reports.empty());
+  EXPECT_TRUE(collection->feature_reports.empty());
+  EXPECT_TRUE(collection->children.empty());
+}
+
+TEST(HidPreparsedDataTest, ButtonAndValueItemsInWrongOrderAndOffByteAlignment) {
+  HIDP_CAPS capabilities = {0};
+  capabilities.UsagePage = kPageGenericDesktop;
+  capabilities.Usage = kUsageMouse;
+  capabilities.InputReportByteLength = 3;
+  capabilities.NumberInputButtonCaps = 1;
+  capabilities.NumberInputValueCaps = 1;
+  std::vector<ReportItem> input_items = {
+      SimpleButtonItem(kPageButton, kUsage01, kReportId01, /*bit_index=*/15),
+      SimpleButtonItem(kPageButton, kUsage02, kReportId01, /*bit_index=*/14),
+      SimpleButtonItem(kPageButton, kUsage03, kReportId01, /*bit_index=*/13),
+      SimpleButtonItem(kPageButton, kUsage04, kReportId01, /*bit_index=*/12),
+      SimpleButtonItem(kPageButton, kUsage05, kReportId01, /*bit_index=*/3),
+      SimpleButtonItem(kPageButton, kUsage06, kReportId01, /*bit_index=*/2),
+      SimpleButtonItem(kPageButton, kUsage07, kReportId01, /*bit_index=*/1),
+      SimpleButtonItem(kPageButton, kUsage08, kReportId01, /*bit_index=*/0),
+      SimpleValueItem(kPageGenericDesktop, kUsageX, kReportId01,
+                      /*bit_index=*/4),
+  };
+
+  MockPreparsedData preparsed_data;
+  ON_CALL(preparsed_data, GetCaps).WillByDefault(ReturnRef(capabilities));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Input))
+      .WillOnce(Return(input_items));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Output))
+      .WillOnce(Return(std::vector<ReportItem>()));
+  EXPECT_CALL(preparsed_data, GetReportItems(HidP_Feature))
+      .WillOnce(Return(std::vector<ReportItem>()));
+
+  const auto collection = preparsed_data.CreateHidCollectionInfo();
+  ASSERT_EQ(collection->input_reports.size(), 1U);
+  const auto& report = collection->input_reports[0];
+  EXPECT_EQ(report->report_id, kReportId01);
+  ASSERT_EQ(report->items.size(), 9U);
+  ASSERT_EQ(report->items[0]->usages.size(), 1U);
+  EXPECT_EQ(report->items[0]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[0]->usages[0]->usage, kUsage08);
+  EXPECT_EQ(report->items[0]->report_size, 1U);
+  EXPECT_EQ(report->items[0]->report_count, 1U);
+  ASSERT_EQ(report->items[1]->usages.size(), 1U);
+  EXPECT_EQ(report->items[1]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[1]->usages[0]->usage, kUsage07);
+  EXPECT_EQ(report->items[1]->report_size, 1U);
+  EXPECT_EQ(report->items[1]->report_count, 1U);
+  ASSERT_EQ(report->items[2]->usages.size(), 1U);
+  EXPECT_EQ(report->items[2]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[2]->usages[0]->usage, kUsage06);
+  EXPECT_EQ(report->items[2]->report_size, 1U);
+  EXPECT_EQ(report->items[2]->report_count, 1U);
+  ASSERT_EQ(report->items[3]->usages.size(), 1U);
+  EXPECT_EQ(report->items[3]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[3]->usages[0]->usage, kUsage05);
+  EXPECT_EQ(report->items[3]->report_size, 1U);
+  EXPECT_EQ(report->items[3]->report_count, 1U);
+  ASSERT_EQ(report->items[4]->usages.size(), 1U);
+  EXPECT_EQ(report->items[4]->usages[0]->usage_page, kPageGenericDesktop);
+  EXPECT_EQ(report->items[4]->usages[0]->usage, kUsageX);
+  EXPECT_EQ(report->items[4]->report_size, 8U);
+  EXPECT_EQ(report->items[4]->report_count, 1U);
+  ASSERT_EQ(report->items[5]->usages.size(), 1U);
+  EXPECT_EQ(report->items[5]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[5]->usages[0]->usage, kUsage04);
+  EXPECT_EQ(report->items[5]->report_size, 1U);
+  EXPECT_EQ(report->items[5]->report_count, 1U);
+  ASSERT_EQ(report->items[6]->usages.size(), 1U);
+  EXPECT_EQ(report->items[6]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[6]->usages[0]->usage, kUsage03);
+  EXPECT_EQ(report->items[6]->report_size, 1U);
+  EXPECT_EQ(report->items[6]->report_count, 1U);
+  ASSERT_EQ(report->items[7]->usages.size(), 1U);
+  EXPECT_EQ(report->items[7]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[7]->usages[0]->usage, kUsage02);
+  EXPECT_EQ(report->items[7]->report_size, 1U);
+  EXPECT_EQ(report->items[7]->report_count, 1U);
+  ASSERT_EQ(report->items[8]->usages.size(), 1U);
+  EXPECT_EQ(report->items[8]->usages[0]->usage_page, kPageButton);
+  EXPECT_EQ(report->items[8]->usages[0]->usage, kUsage01);
+  EXPECT_EQ(report->items[8]->report_size, 1U);
+  EXPECT_EQ(report->items[8]->report_count, 1U);
+}
+
+}  // namespace device
diff --git a/services/device/hid/hid_service_win.cc b/services/device/hid/hid_service_win.cc
index ca4bd47..f0d7e939 100644
--- a/services/device/hid/hid_service_win.cc
+++ b/services/device/hid/hid_service_win.cc
@@ -13,7 +13,10 @@
 #include <wdmguid.h>
 #include <winioctl.h>
 
+#include <algorithm>
+#include <limits>
 #include <memory>
+#include <set>
 #include <utility>
 
 #include "base/bind.h"
@@ -31,11 +34,39 @@
 #include "components/device_event_log/device_event_log.h"
 #include "services/device/hid/hid_connection_win.h"
 #include "services/device/hid/hid_device_info.h"
+#include "services/device/hid/hid_preparsed_data.h"
 
 namespace device {
 
 namespace {
 
+// Flags for the BitField member of HIDP_BUTTON_CAPS and HIDP_VALUE_CAPS. This
+// bitfield is defined in the Device Class Definition for HID v1.11 section
+// 6.2.2.5.
+// https://www.usb.org/document-library/device-class-definition-hid-111
+constexpr uint16_t kBitFieldFlagConstant = 1 << 0;
+constexpr uint16_t kBitFieldFlagVariable = 1 << 1;
+constexpr uint16_t kBitFieldFlagRelative = 1 << 2;
+constexpr uint16_t kBitFieldFlagWrap = 1 << 3;
+constexpr uint16_t kBitFieldFlagNonLinear = 1 << 4;
+constexpr uint16_t kBitFieldFlagNoPreferredState = 1 << 5;
+constexpr uint16_t kBitFieldFlagHasNullPosition = 1 << 6;
+constexpr uint16_t kBitFieldFlagVolatile = 1 << 7;
+constexpr uint16_t kBitFieldFlagBufferedBytes = 1 << 8;
+
+// Unpacks |bit_field| into the corresponding members of |item|.
+void UnpackBitField(uint16_t bit_field, mojom::HidReportItem* item) {
+  item->is_constant = bit_field & kBitFieldFlagConstant;
+  item->is_variable = bit_field & kBitFieldFlagVariable;
+  item->is_relative = bit_field & kBitFieldFlagRelative;
+  item->wrap = bit_field & kBitFieldFlagWrap;
+  item->is_non_linear = bit_field & kBitFieldFlagNonLinear;
+  item->no_preferred_state = bit_field & kBitFieldFlagNoPreferredState;
+  item->has_null_position = bit_field & kBitFieldFlagHasNullPosition;
+  item->is_volatile = bit_field & kBitFieldFlagVolatile;
+  item->is_buffered_bytes = bit_field & kBitFieldFlagBufferedBytes;
+}
+
 // Looks up the value of a GUID-type device property specified by |property| for
 // the device described by |device_info_data|. On success, returns true and sets
 // |property_buffer| to the property value. Returns false if the property is not
@@ -126,8 +157,184 @@
   return device_info_set;
 }
 
+mojom::HidReportItemPtr CreateHidReportItem(
+    const HidServiceWin::PreparsedData::ReportItem& item) {
+  auto hid_report_item = mojom::HidReportItem::New();
+  UnpackBitField(item.bit_field, hid_report_item.get());
+  if (item.usage_minimum == item.usage_maximum) {
+    hid_report_item->is_range = false;
+    hid_report_item->usages.push_back(
+        mojom::HidUsageAndPage::New(item.usage_minimum, item.usage_page));
+    hid_report_item->usage_minimum = mojom::HidUsageAndPage::New(0, 0);
+    hid_report_item->usage_maximum = mojom::HidUsageAndPage::New(0, 0);
+  } else {
+    hid_report_item->is_range = true;
+    hid_report_item->usage_minimum =
+        mojom::HidUsageAndPage::New(item.usage_minimum, item.usage_page);
+    hid_report_item->usage_maximum =
+        mojom::HidUsageAndPage::New(item.usage_maximum, item.usage_page);
+  }
+  hid_report_item->designator_minimum = item.designator_minimum;
+  hid_report_item->designator_maximum = item.designator_maximum;
+  hid_report_item->string_minimum = item.string_minimum;
+  hid_report_item->string_maximum = item.string_maximum;
+  hid_report_item->logical_minimum = item.logical_minimum;
+  hid_report_item->logical_maximum = item.logical_maximum;
+  hid_report_item->physical_minimum = item.physical_minimum;
+  hid_report_item->physical_maximum = item.physical_maximum;
+  hid_report_item->unit_exponent = item.unit_exponent;
+  hid_report_item->unit = item.unit;
+  hid_report_item->report_size = item.report_size;
+  hid_report_item->report_count = item.report_count;
+  return hid_report_item;
+}
+
+// Returns a mojom::HidReportItemPtr representing a constant (zero) field within
+// a report. |bit_size| is the bit width of the constant field.
+mojom::HidReportItemPtr CreateConstHidReportItem(uint16_t bit_size) {
+  auto hid_report_item = mojom::HidReportItem::New();
+  hid_report_item->is_constant = true;
+  hid_report_item->report_count = 1;
+  hid_report_item->report_size = bit_size;
+  hid_report_item->usage_minimum = mojom::HidUsageAndPage::New(0, 0);
+  hid_report_item->usage_maximum = mojom::HidUsageAndPage::New(0, 0);
+  return hid_report_item;
+}
+
+// Returns a vector of mojom::HidReportDescriptionPtr constructed from the
+// information about the top-level collection described by |preparsed_data|.
+// The returned vector contains information about all reports of type
+// |report_type|.
+std::vector<mojom::HidReportDescriptionPtr> CreateReportDescriptions(
+    const HidServiceWin::PreparsedData& preparsed_data,
+    HIDP_REPORT_TYPE report_type) {
+  auto report_items = preparsed_data.GetReportItems(report_type);
+
+  // Sort items by |report_id| and |bit_index|.
+  base::ranges::sort(report_items, [](const auto& a, const auto& b) {
+    if (a.report_id < b.report_id)
+      return true;
+    if (a.report_id == b.report_id)
+      return a.bit_index < b.bit_index;
+    return false;
+  });
+
+  std::vector<mojom::HidReportDescriptionPtr> reports;
+  mojom::HidReportDescription* current_report = nullptr;
+  mojom::HidReportItem* current_item = nullptr;
+  size_t current_bit_index = 0;
+  size_t next_bit_index = 0;
+  for (const auto& item : report_items) {
+    if (!current_report || current_report->report_id != item.report_id) {
+      reports.push_back(mojom::HidReportDescription::New());
+      current_report = reports.back().get();
+      current_report->report_id = item.report_id;
+      current_item = nullptr;
+      current_bit_index = 0;
+      next_bit_index = 0;
+    }
+    // If |item| occupies the same bit index as |current_item| then they must be
+    // merged into a single HidReportItem. This can occur when a report item is
+    // defined with a list of usages instead of a usage range.
+    if (current_item && current_bit_index == item.bit_index) {
+      // Usage ranges cannot be merged into a single item. Ensure that both
+      // |item| and |current_item| are single-usage items. If either has a usage
+      // range, omit |item| from the report.
+      if (!current_item->is_range && item.usage_minimum == item.usage_maximum) {
+        current_item->usages.push_back(
+            mojom::HidUsageAndPage::New(item.usage_minimum, item.usage_page));
+      }
+      continue;
+    }
+    // If there is a gap between the last bit of |current_item| and the first
+    // bit of |item|, insert a constant item for padding.
+    if (next_bit_index < item.bit_index) {
+      size_t pad_bits = item.bit_index - next_bit_index;
+      current_report->items.push_back(CreateConstHidReportItem(pad_bits));
+    }
+    current_report->items.push_back(CreateHidReportItem(item));
+    current_item = current_report->items.back().get();
+    current_bit_index = item.bit_index;
+    next_bit_index = item.bit_index + item.report_size * item.report_count;
+  }
+
+  // Compute the size of each report and, if needed, add a final constant item
+  // to pad the report to the expected report byte length.
+  const size_t report_byte_length =
+      preparsed_data.GetReportByteLength(report_type);
+  for (auto& report : reports) {
+    size_t bit_length = 0;
+    for (auto& item : report->items)
+      bit_length += item->report_size * item->report_count;
+    DCHECK_LE(bit_length, report_byte_length * CHAR_BIT);
+    size_t pad_bits = report_byte_length * CHAR_BIT - bit_length;
+    if (pad_bits > 0)
+      report->items.push_back(CreateConstHidReportItem(pad_bits));
+  }
+
+  return reports;
+}
+
 }  // namespace
 
+mojom::HidCollectionInfoPtr
+HidServiceWin::PreparsedData::CreateHidCollectionInfo() const {
+  const HIDP_CAPS& caps = GetCaps();
+  auto collection_info = mojom::HidCollectionInfo::New();
+  collection_info->usage =
+      mojom::HidUsageAndPage::New(caps.Usage, caps.UsagePage);
+  collection_info->input_reports = CreateReportDescriptions(*this, HidP_Input);
+  collection_info->output_reports =
+      CreateReportDescriptions(*this, HidP_Output);
+  collection_info->feature_reports =
+      CreateReportDescriptions(*this, HidP_Feature);
+
+  // Collect and de-duplicate report IDs.
+  std::set<uint8_t> report_ids;
+  for (const auto& report : collection_info->input_reports) {
+    if (report->report_id)
+      report_ids.insert(report->report_id);
+  }
+  for (const auto& report : collection_info->output_reports) {
+    if (report->report_id)
+      report_ids.insert(report->report_id);
+  }
+  for (const auto& report : collection_info->feature_reports) {
+    if (report->report_id)
+      report_ids.insert(report->report_id);
+  }
+  collection_info->report_ids.insert(collection_info->report_ids.end(),
+                                     report_ids.begin(), report_ids.end());
+
+  return collection_info;
+}
+
+uint16_t HidServiceWin::PreparsedData::GetReportByteLength(
+    HIDP_REPORT_TYPE report_type) const {
+  uint16_t report_length = 0;
+  switch (report_type) {
+    case HidP_Input:
+      report_length = GetCaps().InputReportByteLength;
+      break;
+    case HidP_Output:
+      report_length = GetCaps().OutputReportByteLength;
+      break;
+    case HidP_Feature:
+      report_length = GetCaps().FeatureReportByteLength;
+      break;
+    default:
+      NOTREACHED();
+      break;
+  }
+  // Whether or not the device includes report IDs in its reports the size
+  // of the report ID is included in the value provided by Windows. This
+  // appears contrary to the MSDN documentation.
+  if (report_length)
+    return report_length - 1;
+
+  return 0;
+}
+
 HidServiceWin::HidServiceWin()
     : task_runner_(base::SequencedTaskRunnerHandle::Get()),
       blocking_task_runner_(
@@ -143,7 +350,7 @@
                                 weak_factory_.GetWeakPtr(), task_runner_));
 }
 
-HidServiceWin::~HidServiceWin() {}
+HidServiceWin::~HidServiceWin() = default;
 
 void HidServiceWin::Connect(const std::string& device_guid,
                             ConnectCallback callback) {
@@ -218,48 +425,6 @@
 }
 
 // static
-void HidServiceWin::CollectInfoFromButtonCaps(
-    PHIDP_PREPARSED_DATA preparsed_data,
-    HIDP_REPORT_TYPE report_type,
-    USHORT button_caps_length,
-    mojom::HidCollectionInfo* collection_info) {
-  if (button_caps_length > 0) {
-    std::unique_ptr<HIDP_BUTTON_CAPS[]> button_caps(
-        new HIDP_BUTTON_CAPS[button_caps_length]);
-    if (HidP_GetButtonCaps(report_type, &button_caps[0], &button_caps_length,
-                           preparsed_data) == HIDP_STATUS_SUCCESS) {
-      for (size_t i = 0; i < button_caps_length; i++) {
-        int report_id = button_caps[i].ReportID;
-        if (report_id != 0) {
-          collection_info->report_ids.push_back(report_id);
-        }
-      }
-    }
-  }
-}
-
-// static
-void HidServiceWin::CollectInfoFromValueCaps(
-    PHIDP_PREPARSED_DATA preparsed_data,
-    HIDP_REPORT_TYPE report_type,
-    USHORT value_caps_length,
-    mojom::HidCollectionInfo* collection_info) {
-  if (value_caps_length > 0) {
-    std::unique_ptr<HIDP_VALUE_CAPS[]> value_caps(
-        new HIDP_VALUE_CAPS[value_caps_length]);
-    if (HidP_GetValueCaps(report_type, &value_caps[0], &value_caps_length,
-                          preparsed_data) == HIDP_STATUS_SUCCESS) {
-      for (size_t i = 0; i < value_caps_length; i++) {
-        int report_id = value_caps[i].ReportID;
-        if (report_id != 0) {
-          collection_info->report_ids.push_back(report_id);
-        }
-      }
-    }
-  }
-}
-
-// static
 void HidServiceWin::AddDeviceBlocking(
     base::WeakPtr<HidServiceWin> service,
     scoped_refptr<base::SequencedTaskRunner> task_runner,
@@ -277,57 +442,9 @@
     return;
   }
 
-  PHIDP_PREPARSED_DATA preparsed_data = nullptr;
-  if (!HidD_GetPreparsedData(device_handle.Get(), &preparsed_data) ||
-      !preparsed_data) {
-    HID_LOG(EVENT) << "Failed to get device data.";
+  auto preparsed_data = HidPreparsedData::Create(device_handle.Get());
+  if (!preparsed_data)
     return;
-  }
-
-  HIDP_CAPS capabilities = {0};
-  if (HidP_GetCaps(preparsed_data, &capabilities) != HIDP_STATUS_SUCCESS) {
-    HID_LOG(EVENT) << "Failed to get device capabilities.";
-    HidD_FreePreparsedData(preparsed_data);
-    return;
-  }
-
-  // Whether or not the device includes report IDs in its reports the size
-  // of the report ID is included in the value provided by Windows. This
-  // appears contrary to the MSDN documentation.
-  size_t max_input_report_size = 0;
-  size_t max_output_report_size = 0;
-  size_t max_feature_report_size = 0;
-  if (capabilities.InputReportByteLength > 0) {
-    max_input_report_size = capabilities.InputReportByteLength - 1;
-  }
-  if (capabilities.OutputReportByteLength > 0) {
-    max_output_report_size = capabilities.OutputReportByteLength - 1;
-  }
-  if (capabilities.FeatureReportByteLength > 0) {
-    max_feature_report_size = capabilities.FeatureReportByteLength - 1;
-  }
-
-  auto collection_info = mojom::HidCollectionInfo::New();
-  collection_info->usage =
-      mojom::HidUsageAndPage::New(capabilities.Usage, capabilities.UsagePage);
-  CollectInfoFromButtonCaps(preparsed_data, HidP_Input,
-                            capabilities.NumberInputButtonCaps,
-                            collection_info.get());
-  CollectInfoFromButtonCaps(preparsed_data, HidP_Output,
-                            capabilities.NumberOutputButtonCaps,
-                            collection_info.get());
-  CollectInfoFromButtonCaps(preparsed_data, HidP_Feature,
-                            capabilities.NumberFeatureButtonCaps,
-                            collection_info.get());
-  CollectInfoFromValueCaps(preparsed_data, HidP_Input,
-                           capabilities.NumberInputValueCaps,
-                           collection_info.get());
-  CollectInfoFromValueCaps(preparsed_data, HidP_Output,
-                           capabilities.NumberOutputValueCaps,
-                           collection_info.get());
-  CollectInfoFromValueCaps(preparsed_data, HidP_Feature,
-                           capabilities.NumberFeatureValueCaps,
-                           collection_info.get());
 
   // 1023 characters plus NULL terminator is more than enough for a USB string
   // descriptor which is limited to 126 characters.
@@ -347,14 +464,16 @@
   // This populates the HidDeviceInfo instance without a raw report descriptor.
   // The descriptor is unavailable on Windows because HID devices are exposed to
   // user-space as individual top-level collections.
-  scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo(
-      device_path, physical_device_id, attrib.VendorID, attrib.ProductID,
-      product_name, serial_number,
-      // TODO(reillyg): Detect Bluetooth. crbug.com/443335
-      mojom::HidBusType::kHIDBusTypeUSB, std::move(collection_info),
-      max_input_report_size, max_output_report_size, max_feature_report_size));
+  scoped_refptr<HidDeviceInfo> device_info(
+      new HidDeviceInfo(device_path, physical_device_id, attrib.VendorID,
+                        attrib.ProductID, product_name, serial_number,
+                        // TODO(crbug.com/443335): Detect Bluetooth.
+                        mojom::HidBusType::kHIDBusTypeUSB,
+                        preparsed_data->CreateHidCollectionInfo(),
+                        preparsed_data->GetReportByteLength(HidP_Input),
+                        preparsed_data->GetReportByteLength(HidP_Output),
+                        preparsed_data->GetReportByteLength(HidP_Feature)));
 
-  HidD_FreePreparsedData(preparsed_data);
   task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceWin::AddDevice,
                                                   service, device_info));
 }
diff --git a/services/device/hid/hid_service_win.h b/services/device/hid/hid_service_win.h
index 5477951..0e99fe41 100644
--- a/services/device/hid/hid_service_win.h
+++ b/services/device/hid/hid_service_win.h
@@ -10,7 +10,7 @@
 // Must be after windows.h.
 #include <hidclass.h>
 
-// NOTE: <hidsdi.h> must be included beore <hidpi.h>. clang-format will want to
+// NOTE: <hidsdi.h> must be included before <hidpi.h>. clang-format will want to
 // reorder them.
 // clang-format off
 extern "C" {
@@ -19,13 +19,14 @@
 }
 // clang-format on
 
-#include "base/macros.h"
+#include <string>
+#include <vector>
+
 #include "base/memory/weak_ptr.h"
 #include "base/scoped_observer.h"
 #include "base/strings/string16.h"
 #include "base/win/scoped_handle.h"
 #include "device/base/device_monitor_win.h"
-#include "services/device/hid/hid_device_info.h"
 #include "services/device/hid/hid_service.h"
 
 namespace base {
@@ -36,7 +37,96 @@
 
 class HidServiceWin : public HidService, public DeviceMonitorWin::Observer {
  public:
+  // Interface for accessing information contained in the opaque
+  // HIDP_PREPARSED_DATA object. A PreparsedData instance represents a single
+  // HID top-level collection.
+  class PreparsedData {
+   public:
+    struct ReportItem {
+      // The report ID, or zero if the device does not use report IDs.
+      uint8_t report_id;
+
+      // The bit field for the corresponding main item in the HID report. This
+      // bit field is defined in the Device Class Definition for HID v1.11
+      // section 6.2.2.5.
+      // https://www.usb.org/document-library/device-class-definition-hid-111
+      uint32_t bit_field;
+
+      // The size of one field defined by this item, in bits.
+      uint16_t report_size;
+
+      // The number of report fields defined by this item.
+      uint16_t report_count;
+
+      // The usage page for this item.
+      uint16_t usage_page;
+
+      // The usage range for this item. If the item has a single usage instead
+      // of a range, |usage_min| and |usage_max| are set to the same usage ID.
+      // Both usage IDs must be from the same |usage_page|.
+      uint16_t usage_minimum;
+      uint16_t usage_maximum;
+
+      // The designator index range for this item. If the item does not have any
+      // designators, both |designator_min| and |designator_max| are set to
+      // zero.
+      uint16_t designator_minimum;
+      uint16_t designator_maximum;
+
+      // The string descriptor index range for this item. If the item does not
+      // have any associated string descriptors, both |string_min| and
+      // |string_max| are set to zero.
+      uint16_t string_minimum;
+      uint16_t string_maximum;
+
+      // The range for report fields defined by this item in logical units.
+      int32_t logical_minimum;
+      int32_t logical_maximum;
+
+      // The range for report fields defined by this item in physical units. May
+      // be zero if the item does not define physical units.
+      int32_t physical_minimum;
+      int32_t physical_maximum;
+
+      // The unit definition for this item. The format for this definition is
+      // described in the Device Class Definition for HID v1.11 section 6.2.2.7.
+      // https://www.usb.org/document-library/device-class-definition-hid-111
+      uint32_t unit;
+      uint32_t unit_exponent;
+
+      // The index of the first bit of this item within the containing report,
+      // omitting the report ID byte. The bit index follows HID report packing
+      // order. (Increasing byte index, and least-signficiant bit to
+      // most-significant bit within each byte.)
+      size_t bit_index;
+    };
+
+    virtual ~PreparsedData() = default;
+
+    // Creates a new mojom::HidCollectionInfoPtr representing the top-level HID
+    // collection described by this PreparsedData.
+    mojom::HidCollectionInfoPtr CreateHidCollectionInfo() const;
+
+    // Returns the maximum length in bytes of reports of type |report_type|.
+    // The returned length does not include the report ID byte.
+    uint16_t GetReportByteLength(HIDP_REPORT_TYPE report_type) const;
+
+    // Returns information about the top-level collection described by this
+    // PreparsedData.
+    //
+    // See the HIDP_CAPS documentation for more information.
+    // https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/hidpi/ns-hidpi-_hidp_caps
+    virtual const HIDP_CAPS& GetCaps() const = 0;
+
+    // Returns a vector of ReportItems describing the fields that make up
+    // reports of type |report_type|.
+    virtual std::vector<ReportItem> GetReportItems(
+        HIDP_REPORT_TYPE report_type) const = 0;
+  };
+
   HidServiceWin();
+  HidServiceWin(const HidServiceWin&) = delete;
+  HidServiceWin& operator=(const HidServiceWin&) = delete;
   ~HidServiceWin() override;
 
   void Connect(const std::string& device_id, ConnectCallback callback) override;
@@ -46,16 +136,6 @@
   static void EnumerateBlocking(
       base::WeakPtr<HidServiceWin> service,
       scoped_refptr<base::SequencedTaskRunner> task_runner);
-  static void CollectInfoFromButtonCaps(
-      PHIDP_PREPARSED_DATA preparsed_data,
-      HIDP_REPORT_TYPE report_type,
-      USHORT button_caps_length,
-      mojom::HidCollectionInfo* collection_info);
-  static void CollectInfoFromValueCaps(
-      PHIDP_PREPARSED_DATA preparsed_data,
-      HIDP_REPORT_TYPE report_type,
-      USHORT value_caps_length,
-      mojom::HidCollectionInfo* collection_info);
   static void AddDeviceBlocking(
       base::WeakPtr<HidServiceWin> service,
       scoped_refptr<base::SequencedTaskRunner> task_runner,
@@ -75,8 +155,6 @@
   const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
   ScopedObserver<DeviceMonitorWin, DeviceMonitorWin::Observer> device_observer_;
   base::WeakPtrFactory<HidServiceWin> weak_factory_{this};
-
-  DISALLOW_COPY_AND_ASSIGN(HidServiceWin);
 };
 
 }  // namespace device
diff --git a/services/device/usb/usb_context.cc b/services/device/usb/usb_context.cc
index 304be8f1..3ace951 100644
--- a/services/device/usb/usb_context.cc
+++ b/services/device/usb/usb_context.cc
@@ -8,6 +8,7 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/threading/simple_thread.h"
+#include "base/threading/thread_restrictions.h"
 #include "services/device/usb/usb_error.h"
 #include "third_party/libusb/src/libusb/interrupt.h"
 #include "third_party/libusb/src/libusb/libusb.h"
@@ -69,6 +70,13 @@
 
 UsbContext::~UsbContext() {
   event_handler_->Stop();
+
+  // Temporary workaround for https://crbug.com/1150182 until the libusb backend
+  // is removed in https://crbug.com/1096743. The last outstanding transfer can
+  // cause this class to be released on a worker thread where blocking is not
+  // typically allowed. Make an exception here as this will only occur during
+  // shutdown.
+  base::ScopedAllowBaseSyncPrimitives allow_sync;
   event_handler_->Join();
 }
 
diff --git a/skia/public/mojom/test/mojom_traits_unittest.cc b/skia/public/mojom/test/mojom_traits_unittest.cc
index b611cbd..8123e633 100644
--- a/skia/public/mojom/test/mojom_traits_unittest.cc
+++ b/skia/public/mojom/test/mojom_traits_unittest.cc
@@ -47,32 +47,6 @@
   return mojom_bitmap;
 }
 
-// mojo::test::SerializeAndDeserialize() doesn't work for a raw enum, so roll
-// our own.
-bool SerializeAndDeserialize(SkBlurImageFilter::TileMode* input,
-                             SkBlurImageFilter::TileMode* output) {
-  skia::mojom::BlurTileMode mode =
-      mojo::EnumTraits<skia::mojom::BlurTileMode,
-                       SkBlurImageFilter::TileMode>::ToMojom(*input);
-  return mojo::EnumTraits<skia::mojom::BlurTileMode,
-                          SkBlurImageFilter::TileMode>::FromMojom(mode, output);
-}
-
-template <typename MojomType, typename UserType>
-bool SerializeAndDeserializeFromMojom(mojo::StructPtr<MojomType>* input,
-                                      UserType* output) {
-  mojo::Message message = MojomType::SerializeAsMessage(input);
-
-  // This accurately simulates full serialization to ensure that all attached
-  // handles are serialized as well. Necessary for DeserializeFromMessage to
-  // work properly.
-  mojo::ScopedMessageHandle handle = message.TakeMojoMessage();
-  message = mojo::Message::CreateFromMessageHandle(&handle);
-  DCHECK(!message.IsNull());
-
-  return MojomType::DeserializeFromMessage(std::move(message), output);
-}
-
 TEST(StructTraitsTest, ImageInfo) {
   SkImageInfo input = SkImageInfo::Make(
       34, 56, SkColorType::kGray_8_SkColorType,
@@ -182,7 +156,7 @@
 
   SkBitmap output;
   bool ok =
-      SerializeAndDeserializeFromMojom<skia::mojom::Bitmap>(&input, &output);
+      mojo::test::SerializeAndDeserialize<skia::mojom::Bitmap>(&input, &output);
   EXPECT_TRUE(ok);
 }
 
@@ -192,7 +166,7 @@
 
   SkBitmap output;
   bool ok =
-      SerializeAndDeserializeFromMojom<skia::mojom::Bitmap>(&input, &output);
+      mojo::test::SerializeAndDeserialize<skia::mojom::Bitmap>(&input, &output);
   EXPECT_TRUE(ok);
   // The row_bytes field is ignored, and the minRowBytes() is always used.
   EXPECT_EQ(4u, output.rowBytes());
@@ -204,7 +178,7 @@
 
   SkBitmap output;
   bool ok =
-      SerializeAndDeserializeFromMojom<skia::mojom::Bitmap>(&input, &output);
+      mojo::test::SerializeAndDeserialize<skia::mojom::Bitmap>(&input, &output);
   EXPECT_FALSE(ok);
 }
 
@@ -214,7 +188,7 @@
 
   SkBitmap output;
   bool ok =
-      SerializeAndDeserializeFromMojom<skia::mojom::Bitmap>(&input, &output);
+      mojo::test::SerializeAndDeserialize<skia::mojom::Bitmap>(&input, &output);
   EXPECT_FALSE(ok);
 }
 
@@ -224,20 +198,23 @@
 
   SkBitmap output;
   bool ok =
-      SerializeAndDeserializeFromMojom<skia::mojom::Bitmap>(&input, &output);
+      mojo::test::SerializeAndDeserialize<skia::mojom::Bitmap>(&input, &output);
   EXPECT_FALSE(ok);
 }
 
 TEST(StructTraitsTest, BlurImageFilterTileMode) {
   SkBlurImageFilter::TileMode input(SkBlurImageFilter::kClamp_TileMode);
   SkBlurImageFilter::TileMode output;
-  ASSERT_TRUE(SerializeAndDeserialize(&input, &output));
+  ASSERT_TRUE(mojo::test::SerializeAndDeserialize<skia::mojom::BlurTileMode>(
+      &input, &output));
   EXPECT_EQ(input, output);
   input = SkBlurImageFilter::kRepeat_TileMode;
-  ASSERT_TRUE(SerializeAndDeserialize(&input, &output));
+  ASSERT_TRUE(mojo::test::SerializeAndDeserialize<skia::mojom::BlurTileMode>(
+      &input, &output));
   EXPECT_EQ(input, output);
   input = SkBlurImageFilter::kClampToBlack_TileMode;
-  ASSERT_TRUE(SerializeAndDeserialize(&input, &output));
+  ASSERT_TRUE(mojo::test::SerializeAndDeserialize<skia::mojom::BlurTileMode>(
+      &input, &output));
   EXPECT_EQ(input, output);
 }
 
@@ -313,7 +290,7 @@
       ConstructInlineBitmap(SkImageInfo::MakeN32Premul(1, 1), {1, 2, 3, 4});
 
   SkBitmap output;
-  bool ok = SerializeAndDeserializeFromMojom<skia::mojom::InlineBitmap>(
+  bool ok = mojo::test::SerializeAndDeserialize<skia::mojom::InlineBitmap>(
       &input, &output);
   EXPECT_TRUE(ok);
 }
@@ -323,7 +300,7 @@
       ConstructInlineBitmap(SkImageInfo::MakeN32Premul(2, 1), {1, 2, 3, 4});
 
   SkBitmap output;
-  bool ok = SerializeAndDeserializeFromMojom<skia::mojom::InlineBitmap>(
+  bool ok = mojo::test::SerializeAndDeserialize<skia::mojom::InlineBitmap>(
       &input, &output);
   EXPECT_FALSE(ok);
 }
@@ -333,7 +310,7 @@
       SkImageInfo::MakeN32Premul(1, 1), {1, 2, 3, 4, 5, 6, 7, 8});
 
   SkBitmap output;
-  bool ok = SerializeAndDeserializeFromMojom<skia::mojom::InlineBitmap>(
+  bool ok = mojo::test::SerializeAndDeserialize<skia::mojom::InlineBitmap>(
       &input, &output);
   EXPECT_FALSE(ok);
 }
diff --git a/testing/buildbot/chromium.android.json b/testing/buildbot/chromium.android.json
index b18b3052..b023900f 100644
--- a/testing/buildbot/chromium.android.json
+++ b/testing/buildbot/chromium.android.json
@@ -24586,53 +24586,6 @@
             "--bucket",
             "chromium-result-details",
             "--test-name",
-            "content_browsertests"
-          ],
-          "script": "//build/android/pylib/results/presentation/test_results_presentation.py"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/luci/logdog/butler/${platform}",
-              "location": "bin",
-              "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "device_os": "LMY48M",
-              "device_os_type": "userdebug",
-              "device_type": "hammerhead",
-              "os": "Android"
-            }
-          ],
-          "output_links": [
-            {
-              "link": [
-                "https://luci-logdog.appspot.com/v/?s",
-                "=android%2Fswarming%2Flogcats%2F",
-                "${TASK_ID}%2F%2B%2Funified_logcats"
-              ],
-              "name": "shard #${SHARD_INDEX} logcats"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 15
-        },
-        "test": "content_browsertests",
-        "test_id_prefix": "ninja://content/test:content_browsertests/"
-      },
-      {
-        "args": [
-          "--gs-results-bucket=chromium-result-details",
-          "--recover-devices"
-        ],
-        "merge": {
-          "args": [
-            "--bucket",
-            "chromium-result-details",
-            "--test-name",
             "content_shell_test_apk"
           ],
           "script": "//build/android/pylib/results/presentation/test_results_presentation.py"
diff --git a/testing/buildbot/chromium.gpu.fyi.json b/testing/buildbot/chromium.gpu.fyi.json
index 72663fd..6296b35 100644
--- a/testing/buildbot/chromium.gpu.fyi.json
+++ b/testing/buildbot/chromium.gpu.fyi.json
@@ -1812,7 +1812,8 @@
         "args": [
           "angle_end2end_tests",
           "--gtest_filter=-*Vulkan_SwiftShader*",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -1887,7 +1888,8 @@
       {
         "args": [
           "angle_white_box_tests",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -3068,6 +3070,36 @@
       },
       {
         "args": [
+          "angle_deqp_khr_gles32_tests",
+          "--use-angle=vulkan",
+          "-v",
+          "--shard-timeout=500"
+        ],
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "angle_deqp_khr_gles32_vulkan_tests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "containment_type": "AUTO",
+          "dimension_sets": [
+            {
+              "device_os": "Q",
+              "device_os_type": "userdebug",
+              "device_type": "walleye",
+              "os": "Android",
+              "pool": "chromium.tests.gpu"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "angle_deqp_khr_gles32_tests",
+        "test_id_prefix": "ninja://third_party/angle/src/tests:angle_deqp_khr_gles32_tests/",
+        "use_isolated_scripts_api": true
+      },
+      {
+        "args": [
           "angle_deqp_khr_gles3_tests",
           "--use-angle=vulkan",
           "-v",
@@ -3458,6 +3490,36 @@
       },
       {
         "args": [
+          "angle_deqp_khr_gles32_tests",
+          "--use-angle=vulkan",
+          "-v",
+          "--shard-timeout=500"
+        ],
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "angle_deqp_khr_gles32_vulkan_tests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "containment_type": "AUTO",
+          "dimension_sets": [
+            {
+              "device_os": "Q",
+              "device_os_type": "userdebug",
+              "device_type": "walleye",
+              "os": "Android",
+              "pool": "chromium.tests.gpu"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "angle_deqp_khr_gles32_tests",
+        "test_id_prefix": "ninja://third_party/angle/src/tests:angle_deqp_khr_gles32_tests/",
+        "use_isolated_scripts_api": true
+      },
+      {
+        "args": [
           "angle_deqp_khr_gles3_tests",
           "--use-angle=vulkan",
           "-v",
@@ -14713,6 +14775,33 @@
       },
       {
         "args": [
+          "angle_deqp_khr_gles32_tests",
+          "--use-angle=vulkan",
+          "--bot-mode"
+        ],
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "angle_deqp_khr_gles32_vulkan_tests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "containment_type": "AUTO",
+          "dimension_sets": [
+            {
+              "gpu": "10de:1cb3-418.56",
+              "os": "Ubuntu-19.04",
+              "pool": "chromium.tests.gpu"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "angle_deqp_khr_gles32_tests",
+        "test_id_prefix": "ninja://third_party/angle/src/tests:angle_deqp_khr_gles32_tests/",
+        "use_isolated_scripts_api": true
+      },
+      {
+        "args": [
           "angle_deqp_khr_gles3_tests",
           "--use-angle=vulkan",
           "--bot-mode"
@@ -25463,7 +25552,8 @@
         "args": [
           "angle_end2end_tests",
           "--gtest_filter=-*Vulkan_SwiftShader*",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -25514,7 +25604,8 @@
       {
         "args": [
           "angle_white_box_tests",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -27440,7 +27531,8 @@
         "args": [
           "angle_end2end_tests",
           "--gtest_filter=-*Vulkan_SwiftShader*",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -27518,7 +27610,8 @@
       {
         "args": [
           "angle_white_box_tests",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -30326,7 +30419,8 @@
         "args": [
           "angle_end2end_tests",
           "--gtest_filter=-*Vulkan_SwiftShader*",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -30401,7 +30495,8 @@
       {
         "args": [
           "angle_white_box_tests",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -31307,7 +31402,8 @@
         "args": [
           "angle_end2end_tests",
           "--gtest_filter=-*Vulkan_SwiftShader*",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -31385,7 +31481,8 @@
       {
         "args": [
           "angle_white_box_tests",
-          "--bot-mode"
+          "--bot-mode",
+          "--max-processes=1"
         ],
         "merge": {
           "args": [],
@@ -34983,6 +35080,33 @@
       },
       {
         "args": [
+          "angle_deqp_khr_gles32_tests",
+          "--use-angle=vulkan",
+          "--bot-mode"
+        ],
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "angle_deqp_khr_gles32_vulkan_tests",
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "containment_type": "AUTO",
+          "dimension_sets": [
+            {
+              "gpu": "10de:1cb3-27.21.14.5148",
+              "os": "Windows-10-18363",
+              "pool": "chromium.tests.gpu"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "angle_deqp_khr_gles32_tests",
+        "test_id_prefix": "ninja://third_party/angle/src/tests:angle_deqp_khr_gles32_tests/",
+        "use_isolated_scripts_api": true
+      },
+      {
+        "args": [
           "angle_deqp_khr_gles3_tests",
           "--use-angle=vulkan",
           "--bot-mode"
diff --git a/testing/buildbot/chromium.linux.json b/testing/buildbot/chromium.linux.json
index 19cc3e5..7686a87 100644
--- a/testing/buildbot/chromium.linux.json
+++ b/testing/buildbot/chromium.linux.json
@@ -11911,7 +11911,9 @@
       },
       {
         "args": [
-          "--extra-browser-args=--enable-crashpad"
+          "--extra-browser-args=--enable-crashpad",
+          "--xvfb",
+          "--jobs=1"
         ],
         "isolate_name": "telemetry_perf_unittests",
         "isolate_profile_data": true,
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index d67c7454..b7136a2e 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -14584,7 +14584,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 20
+          "shards": 30
         },
         "test": "browser_tests",
         "test_id_prefix": "ninja://chrome/test:browser_tests/"
diff --git a/testing/buildbot/gn_isolate_map.pyl b/testing/buildbot/gn_isolate_map.pyl
index d5ca3c1a..f39543d2 100644
--- a/testing/buildbot/gn_isolate_map.pyl
+++ b/testing/buildbot/gn_isolate_map.pyl
@@ -151,6 +151,11 @@
     "type": "script",
     "script": "//third_party/angle/scripts/run_gtest_angle_test.py",
   },
+  "angle_deqp_khr_gles32_tests": {
+    "label": "//third_party/angle/src/tests:angle_deqp_khr_gles32_tests",
+    "type": "script",
+    "script": "//third_party/angle/scripts/run_gtest_angle_test.py",
+  },
   "angle_deqp_gles3_rotate180_tests": {
     "label": "//third_party/angle/src/tests:angle_deqp_gles3_rotate180_tests",
     "type": "script",
diff --git a/testing/buildbot/test_suite_exceptions.pyl b/testing/buildbot/test_suite_exceptions.pyl
index cfad4e8..c832349 100644
--- a/testing/buildbot/test_suite_exceptions.pyl
+++ b/testing/buildbot/test_suite_exceptions.pyl
@@ -85,6 +85,34 @@
       # Temporarily disabled due to bad NVIDIA driver upgrade crbug.com/950542
       'Linux FYI Debug (NVIDIA)',
     ],
+    'modifications': {
+      # anglebug.com/5328 suspecting blue screen caused by multiprocess
+      'ANGLE GPU Win10 x64 Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Optional Win10 x64 Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Win10 FYI x64 Exp Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Win10 FYI x64 Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Win10 FYI x64 Release (Intel UHD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+    },
   },
   'angle_perftests': {
     'remove_from': [
@@ -109,6 +137,34 @@
       # https://crbug.com/1094629
       'Linux FYI Release (AMD R7 240)',
     ],
+    'modifications': {
+      # anglebug.com/5328 suspecting blue screen caused by multiprocess
+      'ANGLE GPU Win10 x64 Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Optional Win10 x64 Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Win10 FYI x64 Exp Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Win10 FYI x64 Release (Intel HD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+      'Win10 FYI x64 Release (Intel UHD 630)': {
+        'args': [
+          '--max-processes=1',
+        ],
+      },
+    },
   },
   'blink_platform_unittests': {
     'modifications': {
@@ -504,7 +560,7 @@
               'cores': '8',
             }
           ],
-          'shards': 20,
+          'shards': 30,
         },
       },
       'Mac10.13 Tests (dbg)': {
@@ -941,6 +997,7 @@
     'remove_from': [
       'CrWinAsan(dll)', # https://crbug.com/935598
       'android-code-coverage-native', # crbug/1018434
+      'android-lollipop-arm-rel', # crbug.com/1133002
       # http://crbug.com/1060245#c30: due to low utility and capacity.
       'android-marshmallow-arm64-rel',
     ],
@@ -1030,11 +1087,6 @@
           'shards': 20,
         },
       },
-      'android-lollipop-arm-rel': {
-        'swarming': {
-          'shards': 15,
-        },
-      },
       'android-marshmallow-arm64-rel': {
         'swarming': {
           'shards': 16,
@@ -2582,6 +2634,13 @@
           '--jobs=1',
         ],
       },
+      # TODO crbug.com/1143924: Remove when experimentation is complete
+      'Linux Tests Robocrop': {
+        'args': [
+          '--xvfb',
+          '--jobs=1',
+        ],
+      },
       # Disable parallelism on all Mac bots.
       'Mac10.10 Tests': {
         'args': [
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl
index d60cd23..27f7e05 100644
--- a/testing/buildbot/test_suites.pyl
+++ b/testing/buildbot/test_suites.pyl
@@ -2134,6 +2134,24 @@
       },
     },
 
+    'gpu_angle_deqp_khr_gles32_vulkan_gtests': {
+      'angle_deqp_khr_gles32_vulkan_tests': {
+        'args': [
+          'angle_deqp_khr_gles32_tests',
+          '--use-angle=vulkan',
+        ],
+        'android_args': [
+          '-v',
+          '--shard-timeout=500',
+        ],
+        'desktop_args': [
+          '--bot-mode',
+        ],
+        'test': 'angle_deqp_khr_gles32_tests',
+        'use_isolated_scripts_api': True,
+      },
+    },
+
     'gpu_angle_deqp_khr_gles3_vulkan_gtests': {
       'angle_deqp_khr_gles3_vulkan_tests': {
         'args': [
@@ -5459,6 +5477,7 @@
       'gpu_angle_deqp_gles3_vulkan_gtests',
       'gpu_angle_deqp_khr_gles2_vulkan_gtests',
       'gpu_angle_deqp_khr_gles31_vulkan_gtests',
+      'gpu_angle_deqp_khr_gles32_vulkan_gtests',
       'gpu_angle_deqp_khr_gles3_vulkan_gtests',
     ],
 
@@ -5479,6 +5498,7 @@
       'gpu_angle_deqp_gles3_vulkan_rotate90_gtests',
       'gpu_angle_deqp_khr_gles2_vulkan_gtests',
       'gpu_angle_deqp_khr_gles31_vulkan_gtests',
+      'gpu_angle_deqp_khr_gles32_vulkan_gtests',
       'gpu_angle_deqp_khr_gles3_vulkan_gtests',
     ],
 
@@ -5528,6 +5548,7 @@
       'gpu_angle_deqp_gles3_vulkan_rotate90_gtests',
       'gpu_angle_deqp_khr_gles2_vulkan_gtests',
       'gpu_angle_deqp_khr_gles31_vulkan_gtests',
+      'gpu_angle_deqp_khr_gles32_vulkan_gtests',
       'gpu_angle_deqp_khr_gles3_vulkan_gtests',
     ],
 
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index cee160d..20d25a2 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -720,6 +720,26 @@
             ]
         }
     ],
+    "AutofillEnableAugmentedPhoneCountryCode": [
+        {
+            "platforms": [
+                "android",
+                "chromeos",
+                "ios",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "AutofillEnableAugmentedPhoneCountryCode",
+                    "enable_features": [
+                        "AutofillEnableAugmentedPhoneCountryCode"
+                    ]
+                }
+            ]
+        }
+    ],
     "AutofillEnableCardNicknameManagementAndUpstream": [
         {
             "platforms": [
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
index c31217b..d7c3cda 100644
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -201,7 +201,7 @@
 
 # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
 android_aar_prebuilt("androidx_appcompat_appcompat_resources_java") {
-  aar_path = "libs/androidx_appcompat_appcompat_resources/appcompat-resources-1.2.0-beta01.aar"
+  aar_path = "libs/androidx_appcompat_appcompat_resources/appcompat-resources-1.2.0.aar"
   info_path = "libs/androidx_appcompat_appcompat_resources/androidx_appcompat_appcompat_resources.info"
   deps = [
     ":androidx_annotation_annotation_java",
@@ -527,12 +527,11 @@
 
 # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
 android_aar_prebuilt("androidx_media_media_java") {
-  aar_path = "libs/androidx_media_media/media-1.0.0.aar"
+  aar_path = "libs/androidx_media_media/media-1.2.0.aar"
   info_path = "libs/androidx_media_media/androidx_media_media.info"
   deps = [
-    ":androidx_annotation_annotation_java",
+    ":androidx_collection_collection_java",
     ":androidx_core_core_java",
-    ":androidx_versionedparcelable_versionedparcelable_java",
   ]
   resource_overlay = true
 
@@ -542,13 +541,16 @@
 
 # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
 android_aar_prebuilt("androidx_mediarouter_mediarouter_java") {
-  aar_path = "libs/androidx_mediarouter_mediarouter/mediarouter-1.0.0.aar"
+  aar_path =
+      "libs/androidx_mediarouter_mediarouter/mediarouter-1.3.0-SNAPSHOT.aar"
   info_path = "libs/androidx_mediarouter_mediarouter/androidx_mediarouter_mediarouter.info"
   deps = [
     ":androidx_appcompat_appcompat_java",
+    ":androidx_appcompat_appcompat_resources_java",
     ":androidx_media_media_java",
     ":androidx_palette_palette_java",
     ":androidx_recyclerview_recyclerview_java",
+    ":com_google_guava_listenablefuture_java",
   ]
   resource_overlay = true
 
diff --git a/third_party/android_deps/build.gradle b/third_party/android_deps/build.gradle
index f7c42c38..879b93e 100644
--- a/third_party/android_deps/build.gradle
+++ b/third_party/android_deps/build.gradle
@@ -72,7 +72,7 @@
     compile "androidx.leanback:leanback-preference:${androidXSupportLibVersion}"
     compile "androidx.localbroadcastmanager:localbroadcastmanager:1.1.0-SNAPSHOT"
     compile "androidx.media:media:${androidXSupportLibVersion}"
-    compile "androidx.mediarouter:mediarouter:${androidXSupportLibVersion}"
+    compile "androidx.mediarouter:mediarouter:1.3.0-SNAPSHOT"
     compile "androidx.preference:preference:1.1.1"
     compile "androidx.slice:slice-core:${androidXSupportLibVersion}"
     compile "androidx.slice:slice-builders:${androidXSupportLibVersion}"
diff --git a/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/README.chromium b/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/README.chromium
index 31d9156..89f47bed 100644
--- a/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/README.chromium
+++ b/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/README.chromium
@@ -1,7 +1,7 @@
 Name: Android Resources Library
 Short Name: appcompat-resources
 URL: https://developer.android.com/jetpack/androidx
-Version: 1.2.0-beta01
+Version: 1.2.0
 License: Apache Version 2.0
 License File: LICENSE
 Security Critical: yes
diff --git a/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/cipd.yaml b/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/cipd.yaml
index 5bc4af39..0c04b7ed 100644
--- a/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/cipd.yaml
+++ b/third_party/android_deps/libs/androidx_appcompat_appcompat_resources/cipd.yaml
@@ -3,8 +3,8 @@
 # found in the LICENSE file.
 
 # To create CIPD package run the following command.
-# cipd create --pkg-def cipd.yaml -tag version:1.2.0-beta01-cr0
+# cipd create --pkg-def cipd.yaml -tag version:1.2.0-cr0
 package: chromium/third_party/android_deps/libs/androidx_appcompat_appcompat_resources
 description: "Android Resources Library"
 data:
-- file: appcompat-resources-1.2.0-beta01.aar
+- file: appcompat-resources-1.2.0.aar
diff --git a/third_party/android_deps/libs/androidx_media_media/README.chromium b/third_party/android_deps/libs/androidx_media_media/README.chromium
index 2cf823a..ab284c1 100644
--- a/third_party/android_deps/libs/androidx_media_media/README.chromium
+++ b/third_party/android_deps/libs/androidx_media_media/README.chromium
@@ -1,7 +1,7 @@
 Name: Android Support Library media compat
 Short Name: media
-URL: http://developer.android.com/tools/extras/support-library.html
-Version: 1.0.0
+URL: https://developer.android.com/jetpack/androidx/releases/media#1.2.0
+Version: 1.2.0
 License: Apache Version 2.0
 License File: LICENSE
 Security Critical: yes
diff --git a/third_party/android_deps/libs/androidx_media_media/cipd.yaml b/third_party/android_deps/libs/androidx_media_media/cipd.yaml
index e2f86409..d7dafdf 100644
--- a/third_party/android_deps/libs/androidx_media_media/cipd.yaml
+++ b/third_party/android_deps/libs/androidx_media_media/cipd.yaml
@@ -3,8 +3,8 @@
 # found in the LICENSE file.
 
 # To create CIPD package run the following command.
-# cipd create --pkg-def cipd.yaml -tag version:1.0.0-cr0
+# cipd create --pkg-def cipd.yaml -tag version:1.2.0-cr0
 package: chromium/third_party/android_deps/libs/androidx_media_media
 description: "Android Support Library media compat"
 data:
-- file: media-1.0.0.aar
+- file: media-1.2.0.aar
diff --git a/third_party/android_deps/libs/androidx_mediarouter_mediarouter/README.chromium b/third_party/android_deps/libs/androidx_mediarouter_mediarouter/README.chromium
index 4de4f64..4654012 100644
--- a/third_party/android_deps/libs/androidx_mediarouter_mediarouter/README.chromium
+++ b/third_party/android_deps/libs/androidx_mediarouter_mediarouter/README.chromium
@@ -1,7 +1,7 @@
 Name: Android MediaRouter Support Library
 Short Name: mediarouter
-URL: http://developer.android.com/tools/extras/support-library.html
-Version: 1.0.0
+URL: https://developer.android.com/jetpack/androidx/releases/mediarouter#1.3.0-SNAPSHOT
+Version: 1.3.0-SNAPSHOT
 License: Apache Version 2.0
 License File: LICENSE
 Security Critical: yes
diff --git a/third_party/android_deps/libs/androidx_mediarouter_mediarouter/androidx_mediarouter_mediarouter.info b/third_party/android_deps/libs/androidx_mediarouter_mediarouter/androidx_mediarouter_mediarouter.info
index bf6c530..1c1c393f 100644
--- a/third_party/android_deps/libs/androidx_mediarouter_mediarouter/androidx_mediarouter_mediarouter.info
+++ b/third_party/android_deps/libs/androidx_mediarouter_mediarouter/androidx_mediarouter_mediarouter.info
@@ -5,7 +5,7 @@
 assets = []
 has_classes_jar = true
 has_native_libraries = false
-has_proguard_flags = false
+has_proguard_flags = true
 has_r_text_file = true
 is_manifest_empty = true
 manifest_package = "androidx.mediarouter"
@@ -15,7 +15,15 @@
   "res/drawable/mr_button_connecting_dark.xml",
   "res/drawable/mr_button_connecting_light.xml",
   "res/drawable/mr_button_dark.xml",
+  "res/drawable/mr_button_dark_static.xml",
   "res/drawable/mr_button_light.xml",
+  "res/drawable/mr_button_light_static.xml",
+  "res/drawable/mr_cast_checkbox.xml",
+  "res/drawable/mr_cast_group_seekbar_track.xml",
+  "res/drawable/mr_cast_mute_button.xml",
+  "res/drawable/mr_cast_route_seekbar_track.xml",
+  "res/drawable/mr_cast_stop.xml",
+  "res/drawable/mr_cast_thumb.xml",
   "res/drawable/mr_dialog_close_dark.xml",
   "res/drawable/mr_dialog_close_light.xml",
   "res/drawable/mr_dialog_material_background_dark.xml",
@@ -30,8 +38,13 @@
   "res/drawable/mr_media_stop_light.xml",
   "res/drawable/mr_vol_type_audiotrack_dark.xml",
   "res/drawable/mr_vol_type_audiotrack_light.xml",
+  "res/drawable-anydpi-v21/ic_checked_checkbox.xml",
+  "res/drawable-anydpi-v21/ic_unchecked_checkbox.xml",
+  "res/drawable-anydpi-v21/ic_vol_mute.xml",
+  "res/drawable-anydpi-v21/ic_vol_unmute.xml",
   "res/drawable-hdpi-v4/ic_audiotrack_dark.png",
   "res/drawable-hdpi-v4/ic_audiotrack_light.png",
+  "res/drawable-hdpi-v4/ic_checked_checkbox.png",
   "res/drawable-hdpi-v4/ic_dialog_close_dark.png",
   "res/drawable-hdpi-v4/ic_dialog_close_light.png",
   "res/drawable-hdpi-v4/ic_media_pause_dark.png",
@@ -45,14 +58,22 @@
   "res/drawable-hdpi-v4/ic_mr_button_disconnected_dark.png",
   "res/drawable-hdpi-v4/ic_mr_button_disconnected_light.png",
   "res/drawable-hdpi-v4/ic_mr_button_grey.png",
+  "res/drawable-hdpi-v4/ic_unchecked_checkbox.png",
+  "res/drawable-hdpi-v4/ic_vol_mute.png",
   "res/drawable-hdpi-v4/ic_vol_type_speaker_dark.png",
   "res/drawable-hdpi-v4/ic_vol_type_speaker_group_dark.png",
   "res/drawable-hdpi-v4/ic_vol_type_speaker_group_light.png",
   "res/drawable-hdpi-v4/ic_vol_type_speaker_light.png",
   "res/drawable-hdpi-v4/ic_vol_type_tv_dark.png",
   "res/drawable-hdpi-v4/ic_vol_type_tv_light.png",
+  "res/drawable-hdpi-v4/ic_vol_unmute.png",
+  "res/drawable-ldpi-v4/ic_checked_checkbox.png",
+  "res/drawable-ldpi-v4/ic_unchecked_checkbox.png",
+  "res/drawable-ldpi-v4/ic_vol_mute.png",
+  "res/drawable-ldpi-v4/ic_vol_unmute.png",
   "res/drawable-mdpi-v4/ic_audiotrack_dark.png",
   "res/drawable-mdpi-v4/ic_audiotrack_light.png",
+  "res/drawable-mdpi-v4/ic_checked_checkbox.png",
   "res/drawable-mdpi-v4/ic_dialog_close_dark.png",
   "res/drawable-mdpi-v4/ic_dialog_close_light.png",
   "res/drawable-mdpi-v4/ic_media_pause_dark.png",
@@ -66,14 +87,18 @@
   "res/drawable-mdpi-v4/ic_mr_button_disconnected_dark.png",
   "res/drawable-mdpi-v4/ic_mr_button_disconnected_light.png",
   "res/drawable-mdpi-v4/ic_mr_button_grey.png",
+  "res/drawable-mdpi-v4/ic_unchecked_checkbox.png",
+  "res/drawable-mdpi-v4/ic_vol_mute.png",
   "res/drawable-mdpi-v4/ic_vol_type_speaker_dark.png",
   "res/drawable-mdpi-v4/ic_vol_type_speaker_group_dark.png",
   "res/drawable-mdpi-v4/ic_vol_type_speaker_group_light.png",
   "res/drawable-mdpi-v4/ic_vol_type_speaker_light.png",
   "res/drawable-mdpi-v4/ic_vol_type_tv_dark.png",
   "res/drawable-mdpi-v4/ic_vol_type_tv_light.png",
+  "res/drawable-mdpi-v4/ic_vol_unmute.png",
   "res/drawable-xhdpi-v4/ic_audiotrack_dark.png",
   "res/drawable-xhdpi-v4/ic_audiotrack_light.png",
+  "res/drawable-xhdpi-v4/ic_checked_checkbox.png",
   "res/drawable-xhdpi-v4/ic_dialog_close_dark.png",
   "res/drawable-xhdpi-v4/ic_dialog_close_light.png",
   "res/drawable-xhdpi-v4/ic_media_pause_dark.png",
@@ -211,14 +236,18 @@
   "res/drawable-xhdpi-v4/ic_mr_button_disconnected_dark.png",
   "res/drawable-xhdpi-v4/ic_mr_button_disconnected_light.png",
   "res/drawable-xhdpi-v4/ic_mr_button_grey.png",
+  "res/drawable-xhdpi-v4/ic_unchecked_checkbox.png",
+  "res/drawable-xhdpi-v4/ic_vol_mute.png",
   "res/drawable-xhdpi-v4/ic_vol_type_speaker_dark.png",
   "res/drawable-xhdpi-v4/ic_vol_type_speaker_group_dark.png",
   "res/drawable-xhdpi-v4/ic_vol_type_speaker_group_light.png",
   "res/drawable-xhdpi-v4/ic_vol_type_speaker_light.png",
   "res/drawable-xhdpi-v4/ic_vol_type_tv_dark.png",
   "res/drawable-xhdpi-v4/ic_vol_type_tv_light.png",
+  "res/drawable-xhdpi-v4/ic_vol_unmute.png",
   "res/drawable-xxhdpi-v4/ic_audiotrack_dark.png",
   "res/drawable-xxhdpi-v4/ic_audiotrack_light.png",
+  "res/drawable-xxhdpi-v4/ic_checked_checkbox.png",
   "res/drawable-xxhdpi-v4/ic_dialog_close_dark.png",
   "res/drawable-xxhdpi-v4/ic_dialog_close_light.png",
   "res/drawable-xxhdpi-v4/ic_media_pause_dark.png",
@@ -356,12 +385,16 @@
   "res/drawable-xxhdpi-v4/ic_mr_button_disconnected_dark.png",
   "res/drawable-xxhdpi-v4/ic_mr_button_disconnected_light.png",
   "res/drawable-xxhdpi-v4/ic_mr_button_grey.png",
+  "res/drawable-xxhdpi-v4/ic_unchecked_checkbox.png",
+  "res/drawable-xxhdpi-v4/ic_vol_mute.png",
   "res/drawable-xxhdpi-v4/ic_vol_type_speaker_dark.png",
   "res/drawable-xxhdpi-v4/ic_vol_type_speaker_group_dark.png",
   "res/drawable-xxhdpi-v4/ic_vol_type_speaker_group_light.png",
   "res/drawable-xxhdpi-v4/ic_vol_type_speaker_light.png",
   "res/drawable-xxhdpi-v4/ic_vol_type_tv_dark.png",
   "res/drawable-xxhdpi-v4/ic_vol_type_tv_light.png",
+  "res/drawable-xxhdpi-v4/ic_vol_unmute.png",
+  "res/drawable-xxxhdpi-v4/ic_checked_checkbox.png",
   "res/drawable-xxxhdpi-v4/ic_group_collapse_00.png",
   "res/drawable-xxxhdpi-v4/ic_group_collapse_01.png",
   "res/drawable-xxxhdpi-v4/ic_group_collapse_02.png",
@@ -395,19 +428,23 @@
   "res/drawable-xxxhdpi-v4/ic_group_expand_14.png",
   "res/drawable-xxxhdpi-v4/ic_group_expand_15.png",
   "res/drawable-xxxhdpi-v4/ic_mr_button_grey.png",
+  "res/drawable-xxxhdpi-v4/ic_unchecked_checkbox.png",
+  "res/drawable-xxxhdpi-v4/ic_vol_mute.png",
+  "res/drawable-xxxhdpi-v4/ic_vol_unmute.png",
   "res/interpolator/mr_fast_out_slow_in.xml",
   "res/interpolator/mr_linear_out_slow_in.xml",
   "res/layout/mr_cast_dialog.xml",
   "res/layout/mr_cast_group_item.xml",
   "res/layout/mr_cast_group_volume_item.xml",
+  "res/layout/mr_cast_header_item.xml",
   "res/layout/mr_cast_media_metadata.xml",
   "res/layout/mr_cast_route_item.xml",
   "res/layout/mr_chooser_dialog.xml",
   "res/layout/mr_chooser_list_item.xml",
   "res/layout/mr_controller_material_dialog_b.xml",
   "res/layout/mr_controller_volume_item.xml",
-  "res/layout/mr_dialog_header_item.xml",
   "res/layout/mr_picker_dialog.xml",
+  "res/layout/mr_picker_header_item.xml",
   "res/layout/mr_picker_route_item.xml",
   "res/layout/mr_playback_control.xml",
   "res/layout/mr_volume_control.xml",
@@ -415,6 +452,7 @@
   "res/values-af/values-af.xml",
   "res/values-am/values-am.xml",
   "res/values-ar/values-ar.xml",
+  "res/values-as/values-as.xml",
   "res/values-az/values-az.xml",
   "res/values-b+sr+Latn/values-b+sr+Latn.xml",
   "res/values-be/values-be.xml",
@@ -469,6 +507,7 @@
   "res/values-nb/values-nb.xml",
   "res/values-ne/values-ne.xml",
   "res/values-nl/values-nl.xml",
+  "res/values-or/values-or.xml",
   "res/values-pa/values-pa.xml",
   "res/values-pl/values-pl.xml",
   "res/values-pt/values-pt.xml",
diff --git a/third_party/android_deps/libs/androidx_mediarouter_mediarouter/cipd.yaml b/third_party/android_deps/libs/androidx_mediarouter_mediarouter/cipd.yaml
index 841e2af..5b8eb41f 100644
--- a/third_party/android_deps/libs/androidx_mediarouter_mediarouter/cipd.yaml
+++ b/third_party/android_deps/libs/androidx_mediarouter_mediarouter/cipd.yaml
@@ -3,8 +3,8 @@
 # found in the LICENSE file.
 
 # To create CIPD package run the following command.
-# cipd create --pkg-def cipd.yaml -tag version:1.0.0-cr0
+# cipd create --pkg-def cipd.yaml -tag version:1.3.0-SNAPSHOT-cr0
 package: chromium/third_party/android_deps/libs/androidx_mediarouter_mediarouter
 description: "Android MediaRouter Support Library"
 data:
-- file: mediarouter-1.0.0.aar
+- file: mediarouter-1.3.0-SNAPSHOT.aar
diff --git a/third_party/blink/public/strings/translations/blink_strings_es-419.xtb b/third_party/blink/public/strings/translations/blink_strings_es-419.xtb
index e338a679..f0f19f7 100644
--- a/third_party/blink/public/strings/translations/blink_strings_es-419.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_es-419.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">Elegir archivos</translation>
 <translation id="1650423536718072820">cita inicial</translation>
 <translation id="1681022320378710418">hora actual</translation>
+<translation id="1727839386348365796">Gotero</translation>
 <translation id="1727886345390570319">oculta el menú de subtítulos opcionales</translation>
 <translation id="1729654308190250600">Ingresa una dirección de correo electrónico que no esté vacía.</translation>
 <translation id="1758486001363313524">Otra...</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_es.xtb b/third_party/blink/public/strings/translations/blink_strings_es.xtb
index 5b42d1fb..f0c0d68 100644
--- a/third_party/blink/public/strings/translations/blink_strings_es.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_es.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">Elegir archivos</translation>
 <translation id="1650423536718072820">cita</translation>
 <translation id="1681022320378710418">hora actual</translation>
+<translation id="1727839386348365796">Cuentagotas</translation>
 <translation id="1727886345390570319">ocultar menú de subtítulos</translation>
 <translation id="1729654308190250600">Introduce una dirección de correo electrónico que no esté vacía.</translation>
 <translation id="1758486001363313524">Otra...</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb b/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb
index 3de3e37..e09c4bc 100644
--- a/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">Sélect. fichiers</translation>
 <translation id="1650423536718072820">accroche</translation>
 <translation id="1681022320378710418">Heure actuelle</translation>
+<translation id="1727839386348365796">Pipette</translation>
 <translation id="1727886345390570319">masquer le menu des sous-titres</translation>
 <translation id="1729654308190250600">Veuillez entrer une adresse de courriel.</translation>
 <translation id="1758486001363313524">Autres...</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_fr.xtb b/third_party/blink/public/strings/translations/blink_strings_fr.xtb
index 5aebe2e..ed3b9df 100644
--- a/third_party/blink/public/strings/translations/blink_strings_fr.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_fr.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">Sélect. fichiers</translation>
 <translation id="1650423536718072820">témoignage</translation>
 <translation id="1681022320378710418">heure actuelle</translation>
+<translation id="1727839386348365796">Pipette</translation>
 <translation id="1727886345390570319">masquer le menu des sous-titres</translation>
 <translation id="1729654308190250600">Veuillez saisir une adresse e-mail dans le champ correspondant.</translation>
 <translation id="1758486001363313524">Autre…</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_it.xtb b/third_party/blink/public/strings/translations/blink_strings_it.xtb
index 48f98b1..4190303 100644
--- a/third_party/blink/public/strings/translations/blink_strings_it.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_it.xtb
@@ -203,7 +203,7 @@
 <translation id="6709093583001123835">Il valore deve essere <ph name="VALUE" />.</translation>
 <translation id="6709570249143506788">Scarsa qualità di riproduzione</translation>
 <translation id="6755330956360078551">descrizione comando</translation>
-<translation id="6790428901817661496">Play</translation>
+<translation id="6790428901817661496">Riproduci</translation>
 <translation id="6820355525329141109">Impossibile caricare il plug-in</translation>
 <translation id="6820615603175220800">riferimento bibliografico</translation>
 <translation id="6831465880655513317">Selettore colori con dispositivo di scorrimento bidimensionale per selezionare saturazione e luminosità</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ne.xtb b/third_party/blink/public/strings/translations/blink_strings_ne.xtb
index bea133d..a652814 100644
--- a/third_party/blink/public/strings/translations/blink_strings_ne.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_ne.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">फाइलहरू छान्नुहोस्</translation>
 <translation id="1650423536718072820">उद्धरण</translation>
 <translation id="1681022320378710418">हालको समय</translation>
+<translation id="1727839386348365796">आइड्रपर</translation>
 <translation id="1727886345390570319">उपशीर्षकहरूको मेनु लुकाउनुहोस्</translation>
 <translation id="1729654308190250600">कृपया एउटा खाली नभएको इमेल ठेगाना प्रविष्टि गर्नुहोस्।</translation>
 <translation id="1758486001363313524">अन्य ...</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_pa.xtb b/third_party/blink/public/strings/translations/blink_strings_pa.xtb
index fe16ff598..ec1b44f 100644
--- a/third_party/blink/public/strings/translations/blink_strings_pa.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_pa.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">ਫਾਈਲਾਂ ਚੁਣੋ</translation>
 <translation id="1650423536718072820">ਪੁਲਕੋਟ</translation>
 <translation id="1681022320378710418">ਮੌਜੂਦਾ ਸਮਾਂ</translation>
+<translation id="1727839386348365796">ਰੰਗ ਚੋਣਕਾਰ</translation>
 <translation id="1727886345390570319">ਬੰਦ ਸੁਰਖੀਆਂ ਵਾਲਾ ਮੀਨੂ ਲੁਕਾਓ</translation>
 <translation id="1729654308190250600">ਕਿਰਪਾ ਕਰਰਕੇ ਇੱਕ ਗ਼ੈਰ-ਖਾਲੀ ਈਮੇਲ ਪਤਾ ਦਰਜ ਕਰੋ।</translation>
 <translation id="1758486001363313524">ਹੋਰ...</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ru.xtb b/third_party/blink/public/strings/translations/blink_strings_ru.xtb
index 83631fc..16bd5f1 100644
--- a/third_party/blink/public/strings/translations/blink_strings_ru.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_ru.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">Выбрать файлы</translation>
 <translation id="1650423536718072820">цитата в виде врезки</translation>
 <translation id="1681022320378710418">текущее время</translation>
+<translation id="1727839386348365796">Пипетка</translation>
 <translation id="1727886345390570319">скрыть меню субтитров</translation>
 <translation id="1729654308190250600">Введите адрес электронной почты.</translation>
 <translation id="1758486001363313524">Другое…</translation>
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 ffc99c9..1a718baed 100644
--- a/third_party/blink/public/strings/translations/blink_strings_ta.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_ta.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">கோப்புகளைத் தேர்வுசெய்க</translation>
 <translation id="1650423536718072820">pullquote</translation>
 <translation id="1681022320378710418">தற்போதைய நேரம்</translation>
+<translation id="1727839386348365796">ஐ-டிராப்பர்</translation>
 <translation id="1727886345390570319">விரிவான வசனங்கள் மெனுவை மறைக்கும்</translation>
 <translation id="1729654308190250600">காலி அல்லாத மின்னஞ்சல் முகவரியை உள்ளிடவும்.</translation>
 <translation id="1758486001363313524">மற்றவை…</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_tr.xtb b/third_party/blink/public/strings/translations/blink_strings_tr.xtb
index 9da9143..27be33c 100644
--- a/third_party/blink/public/strings/translations/blink_strings_tr.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_tr.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">Dosyaları Seç</translation>
 <translation id="1650423536718072820">alıntı</translation>
 <translation id="1681022320378710418">şu anki saat</translation>
+<translation id="1727839386348365796">Damlalık</translation>
 <translation id="1727886345390570319">altyazı menüsünü gizle</translation>
 <translation id="1729654308190250600">Lütfen e-posta adresini boş bırakmayın.</translation>
 <translation id="1758486001363313524">Diğer...</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_vi.xtb b/third_party/blink/public/strings/translations/blink_strings_vi.xtb
index f8ba46d..8f3216e 100644
--- a/third_party/blink/public/strings/translations/blink_strings_vi.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_vi.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">Chọn tệp</translation>
 <translation id="1650423536718072820">đoạn trích dẫn</translation>
 <translation id="1681022320378710418">thời gian hiện tại</translation>
+<translation id="1727839386348365796">Dụng cụ nhỏ giọt</translation>
 <translation id="1727886345390570319">ẩn menu phụ đề chi tiết</translation>
 <translation id="1729654308190250600">Vui lòng nhập địa chỉ email không trống.</translation>
 <translation id="1758486001363313524">Khác...</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb b/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb
index afa8eac..e71d852d 100644
--- a/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb
@@ -24,6 +24,7 @@
 <translation id="1637811476055996098">選擇檔案</translation>
 <translation id="1650423536718072820">重要引述</translation>
 <translation id="1681022320378710418">目前時間</translation>
+<translation id="1727839386348365796">滴管</translation>
 <translation id="1727886345390570319">不要顯示隱藏式輔助字幕選單</translation>
 <translation id="1729654308190250600">請輸入電子郵件地址。</translation>
 <translation id="1758486001363313524">其他...</translation>
diff --git a/third_party/blink/public/web/web_view_client.h b/third_party/blink/public/web/web_view_client.h
index ad959e1..bbfda99 100644
--- a/third_party/blink/public/web/web_view_client.h
+++ b/third_party/blink/public/web/web_view_client.h
@@ -162,10 +162,6 @@
   virtual void DidUpdateInspectorSetting(const WebString& key,
                                          const WebString& value) {}
 
-  // Gestures -------------------------------------------------------------
-
-  virtual bool CanHandleGestureEvent() { return false; }
-
   // History -------------------------------------------------------------
   virtual void OnSetHistoryOffsetAndLength(int history_offset,
                                            int history_length) {}
diff --git a/third_party/blink/renderer/core/dom/events/event_dispatcher.cc b/third_party/blink/renderer/core/dom/events/event_dispatcher.cc
index 52a3c1d..f0d37c90 100644
--- a/third_party/blink/renderer/core/dom/events/event_dispatcher.cc
+++ b/third_party/blink/renderer/core/dom/events/event_dispatcher.cc
@@ -38,6 +38,7 @@
 #include "third_party/blink/renderer/core/dom/events/window_event_context.h"
 #include "third_party/blink/renderer/core/events/keyboard_event.h"
 #include "third_party/blink/renderer/core/events/mouse_event.h"
+#include "third_party/blink/renderer/core/events/pointer_event.h"
 #include "third_party/blink/renderer/core/frame/ad_tracker.h"
 #include "third_party/blink/renderer/core/frame/deprecation.h"
 #include "third_party/blink/renderer/core/frame/local_dom_window.h"
@@ -52,6 +53,30 @@
 #include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
 
 namespace blink {
+namespace {
+Event* CreateEvent(const AtomicString& event_type,
+                   Node& node,
+                   const Event* underlying_event,
+                   SimulatedClickCreationScope creation_scope) {
+  DCHECK(event_type == event_type_names::kClick ||
+         event_type == event_type_names::kMousedown ||
+         event_type == event_type_names::kMouseup ||
+         event_type == event_type_names::kMouseover);
+  if (RuntimeEnabledFeatures::ClickPointerEventEnabled() &&
+      event_type == event_type_names::kClick) {
+    // TODO (crbug.com/1150979) Figure out if we can fire pointer events
+    // instead of mousedown/mouseup/mouseover or if we need to fire both pointer
+    // events and mouse events at the same time. The mouse events are used for
+    // accessibility.
+    return PointerEvent::Create(event_type_names::kClick,
+                                node.GetDocument().domWindow(),
+                                underlying_event, creation_scope);
+  } else {
+    return MouseEvent::Create(event_type, node.GetDocument().domWindow(),
+                              underlying_event, creation_scope);
+  }
+}
+}  // namespace
 
 DispatchEventResult EventDispatcher::DispatchEvent(Node& node, Event& event) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("blink.debug"),
@@ -97,23 +122,21 @@
 
   nodes_dispatching_simulated_clicks->insert(&node);
 
-  if (mouse_event_options == kSendMouseOverUpDownEvents)
-    EventDispatcher(node, *MouseEvent::Create(event_type_names::kMouseover,
-                                              node.GetDocument().domWindow(),
-                                              underlying_event, creation_scope))
+  if (mouse_event_options == kSendMouseOverUpDownEvents) {
+    EventDispatcher(node, *CreateEvent(event_type_names::kMouseover, node,
+                                       underlying_event, creation_scope))
         .Dispatch();
+  }
 
   Element* element = DynamicTo<Element>(node);
   if (mouse_event_options != kSendNoEvents) {
-    EventDispatcher(node, *MouseEvent::Create(event_type_names::kMousedown,
-                                              node.GetDocument().domWindow(),
-                                              underlying_event, creation_scope))
+    EventDispatcher(node, *CreateEvent(event_type_names::kMousedown, node,
+                                       underlying_event, creation_scope))
         .Dispatch();
     if (element)
       element->SetActive(true);
-    EventDispatcher(node, *MouseEvent::Create(event_type_names::kMouseup,
-                                              node.GetDocument().domWindow(),
-                                              underlying_event, creation_scope))
+    EventDispatcher(node, *CreateEvent(event_type_names::kMouseup, node,
+                                       underlying_event, creation_scope))
         .Dispatch();
   }
   // Some elements (e.g. the color picker) may set active state to true before
@@ -122,9 +145,8 @@
     element->SetActive(false);
 
   // always send click
-  EventDispatcher(node, *MouseEvent::Create(event_type_names::kClick,
-                                            node.GetDocument().domWindow(),
-                                            underlying_event, creation_scope))
+  EventDispatcher(node, *CreateEvent(event_type_names::kClick, node,
+                                     underlying_event, creation_scope))
       .Dispatch();
 
   nodes_dispatching_simulated_clicks->erase(&node);
diff --git a/third_party/blink/renderer/core/events/mouse_event.cc b/third_party/blink/renderer/core/events/mouse_event.cc
index fab28aa5..039cf57 100644
--- a/third_party/blink/renderer/core/events/mouse_event.cc
+++ b/third_party/blink/renderer/core/events/mouse_event.cc
@@ -128,22 +128,21 @@
       menu_source_type);
 }
 
-MouseEvent* MouseEvent::Create(const AtomicString& event_type,
-                               AbstractView* view,
-                               const Event* underlying_event,
-                               SimulatedClickCreationScope creation_scope) {
+void MouseEvent::PopulateMouseEventInit(
+    const AtomicString& event_type,
+    AbstractView* view,
+    const Event* underlying_event,
+    SimulatedClickCreationScope creation_scope,
+    MouseEventInit* initializer) {
   WebInputEvent::Modifiers modifiers = WebInputEvent::kNoModifiers;
   if (const UIEventWithKeyState* key_state_event =
           FindEventWithKeyState(underlying_event)) {
     modifiers = key_state_event->GetModifiers();
   }
 
-  SyntheticEventType synthetic_type = kPositionless;
-  MouseEventInit* initializer = MouseEventInit::Create();
   if (const auto* mouse_event = DynamicTo<MouseEvent>(underlying_event)) {
-    synthetic_type = kRealOrIndistinguishable;
-    initializer->setScreenX(mouse_event->screenX());
-    initializer->setScreenY(mouse_event->screenY());
+    initializer->setScreenX(mouse_event->screen_location_.X());
+    initializer->setScreenY(mouse_event->screen_location_.Y());
     initializer->setSourceCapabilities(
         view ? view->GetInputDeviceCapabilities()->FiresTouchEvents(false)
              : nullptr);
@@ -156,7 +155,19 @@
   UIEventWithKeyState::SetFromWebInputEventModifiers(initializer, modifiers);
   initializer->setButtons(
       MouseEvent::WebInputEventModifiersToButtons(modifiers));
+}
 
+MouseEvent* MouseEvent::Create(const AtomicString& event_type,
+                               AbstractView* view,
+                               const Event* underlying_event,
+                               SimulatedClickCreationScope creation_scope) {
+  MouseEventInit* initializer = MouseEventInit::Create();
+  MouseEvent::PopulateMouseEventInit(event_type, view, underlying_event,
+                                     creation_scope, initializer);
+  SyntheticEventType synthetic_type = kPositionless;
+  if (const auto* mouse_event = DynamicTo<MouseEvent>(underlying_event)) {
+    synthetic_type = kRealOrIndistinguishable;
+  }
   base::TimeTicks timestamp = underlying_event
                                   ? underlying_event->PlatformTimeStamp()
                                   : base::TimeTicks::Now();
@@ -168,8 +179,8 @@
   created_event->SetUnderlyingEvent(underlying_event);
   if (synthetic_type == kRealOrIndistinguishable) {
     auto* mouse_event = To<MouseEvent>(created_event->UnderlyingEvent());
-    created_event->InitCoordinates(mouse_event->clientX(),
-                                   mouse_event->clientY());
+    created_event->InitCoordinates(mouse_event->client_location_.X(),
+                                   mouse_event->client_location_.Y());
   }
 
   return created_event;
diff --git a/third_party/blink/renderer/core/events/mouse_event.h b/third_party/blink/renderer/core/events/mouse_event.h
index 838ca84c..c088d63 100644
--- a/third_party/blink/renderer/core/events/mouse_event.h
+++ b/third_party/blink/renderer/core/events/mouse_event.h
@@ -56,6 +56,7 @@
 
   static MouseEvent* Create() { return MakeGarbageCollected<MouseEvent>(); }
 
+  // TODO(mustaq): looks like we don't need so many variations of Create() here
   static MouseEvent* Create(const AtomicString& event_type,
                             const MouseEventInit*,
                             base::TimeTicks platform_time_stamp,
@@ -71,6 +72,12 @@
                             const Event* underlying_event,
                             SimulatedClickCreationScope);
 
+  static void PopulateMouseEventInit(const AtomicString& event_type,
+                                     AbstractView* view,
+                                     const Event* underlying_event,
+                                     SimulatedClickCreationScope creation_scope,
+                                     MouseEventInit* initializer);
+
   MouseEvent(const AtomicString& type,
              const MouseEventInit*,
              base::TimeTicks platform_time_stamp,
@@ -200,6 +207,8 @@
 
   void ComputeRelativePosition();
 
+  void InitCoordinates(const double client_x, const double client_y);
+
   bool has_cached_relative_position_ = false;
 
  private:
@@ -218,8 +227,6 @@
                               InputDeviceCapabilities* source_capabilities,
                               uint16_t buttons = 0);
 
-  void InitCoordinates(const double client_x, const double client_y);
-
   void ComputePageLocation();
 
   DoublePoint movement_delta_;
diff --git a/third_party/blink/renderer/core/events/pointer_event.cc b/third_party/blink/renderer/core/events/pointer_event.cc
index 103fb50e..6d69c300 100644
--- a/third_party/blink/renderer/core/events/pointer_event.cc
+++ b/third_party/blink/renderer/core/events/pointer_event.cc
@@ -12,6 +12,36 @@
 #include "third_party/blink/renderer/platform/wtf/math_extras.h"
 
 namespace blink {
+
+PointerEvent* PointerEvent::Create(const AtomicString& event_type,
+                                   AbstractView* view,
+                                   const Event* underlying_event,
+                                   SimulatedClickCreationScope creation_scope) {
+  PointerEventInit* initializer = PointerEventInit::Create();
+  MouseEvent::PopulateMouseEventInit(event_type, view, underlying_event,
+                                     creation_scope, initializer);
+  base::TimeTicks timestamp = underlying_event
+                                  ? underlying_event->PlatformTimeStamp()
+                                  : base::TimeTicks::Now();
+  SyntheticEventType synthetic_type = kPositionless;
+  if (const auto* mouse_event = DynamicTo<MouseEvent>(underlying_event)) {
+    synthetic_type = kRealOrIndistinguishable;
+  }
+  PointerEvent* created_event = MakeGarbageCollected<PointerEvent>(
+      event_type, initializer, timestamp, synthetic_type, kMenuSourceNone);
+  created_event->SetTrusted(creation_scope ==
+                            SimulatedClickCreationScope::kFromUserAgent);
+  created_event->SetUnderlyingEvent(underlying_event);
+
+  if (synthetic_type == kRealOrIndistinguishable) {
+    auto* mouse_event = To<MouseEvent>(created_event->UnderlyingEvent());
+    created_event->InitCoordinates(mouse_event->client_location_.X(),
+                                   mouse_event->client_location_.Y());
+  }
+
+  return created_event;
+}
+
 PointerEvent::PointerEvent(const AtomicString& type,
                            const PointerEventInit* initializer,
                            base::TimeTicks platform_time_stamp,
diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_party/blink/renderer/core/events/pointer_event.h
index 96e7860..198a4493 100644
--- a/third_party/blink/renderer/core/events/pointer_event.h
+++ b/third_party/blink/renderer/core/events/pointer_event.h
@@ -34,6 +34,11 @@
     return PointerEvent::Create(type, initializer, base::TimeTicks::Now());
   }
 
+  static PointerEvent* Create(const AtomicString& event_type,
+                              AbstractView*,
+                              const Event* underlying_event,
+                              SimulatedClickCreationScope);
+
   PointerEvent(const AtomicString&,
                const PointerEventInit*,
                base::TimeTicks platform_time_stamp,
diff --git a/third_party/blink/renderer/core/exported/web_view_test.cc b/third_party/blink/renderer/core/exported/web_view_test.cc
index 8ad2bf3f..9ba8e9f 100644
--- a/third_party/blink/renderer/core/exported/web_view_test.cc
+++ b/third_party/blink/renderer/core/exported/web_view_test.cc
@@ -2761,7 +2761,16 @@
       WebLocalFrame::CreateMainFrame(web_view, &web_frame_client, nullptr,
                                      base::UnguessableToken::Create(), nullptr);
   web_frame_client.Bind(local_frame);
-  CreateWidgetForMainFrame(&web_widget_client, local_frame);
+  WebFrameWidget* widget =
+      CreateWidgetForMainFrame(&web_widget_client, local_frame);
+  cc::LayerTreeSettings layer_tree_settings =
+      frame_test_helpers::GetSynchronousSingleThreadLayerTreeSettings();
+  web_widget_client.set_layer_tree_host(widget->InitializeCompositing(
+      web_widget_client.main_thread_scheduler(),
+      web_widget_client.task_graph_runner(), ScreenInfo(),
+      std::make_unique<cc::TestUkmRecorderFactory>(), &layer_tree_settings));
+  widget->SetCompositorVisible(true);
+  web_view->DidAttachLocalMainFrame();
 
   WebGestureEvent event(WebInputEvent::Type::kGestureTap,
                         WebInputEvent::kNoModifiers,
diff --git a/third_party/blink/renderer/core/frame/frame_test_helpers.h b/third_party/blink/renderer/core/frame/frame_test_helpers.h
index 2cbfbd1..e625f242 100644
--- a/third_party/blink/renderer/core/frame/frame_test_helpers.h
+++ b/third_party/blink/renderer/core/frame/frame_test_helpers.h
@@ -291,7 +291,6 @@
   void DestroyChildViews();
 
   // WebViewClient overrides.
-  bool CanHandleGestureEvent() override { return true; }
   bool CanUpdateLayout() override { return true; }
   WebView* CreateView(WebLocalFrame* opener,
                       const WebURLRequest&,
diff --git a/third_party/blink/renderer/core/frame/web_view_frame_widget.cc b/third_party/blink/renderer/core/frame/web_view_frame_widget.cc
index 8e9e17ec..25a17a0 100644
--- a/third_party/blink/renderer/core/frame/web_view_frame_widget.cc
+++ b/third_party/blink/renderer/core/frame/web_view_frame_widget.cc
@@ -98,10 +98,6 @@
 
 WebInputEventResult WebViewFrameWidget::HandleGestureEvent(
     const WebGestureEvent& event) {
-  if (!web_view_->Client() || !web_view_->Client()->CanHandleGestureEvent()) {
-    return WebInputEventResult::kNotHandled;
-  }
-
   // TODO(https://crbug.com/1148346): We need to figure out why MainFrameImpl is
   // null but LocalRootImpl isn't.
   CHECK(LocalRootImpl());
diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_party/blink/renderer/core/input/event_handler.cc
index 37089a4b..9299015 100644
--- a/third_party/blink/renderer/core/input/event_handler.cc
+++ b/third_party/blink/renderer/core/input/event_handler.cc
@@ -786,6 +786,10 @@
       PhysicalOffset(FlooredIntPoint(mouse_event.PositionInRootFrame())));
   MouseEventWithHitTestResults mev = GetMouseEventTarget(request, mouse_event);
   if (!mev.InnerNode()) {
+    // An anonymous box can be scrollable.
+    if (PassMousePressEventToScrollbar(mev))
+      return WebInputEventResult::kHandledSystem;
+
     mouse_event_manager_->InvalidateClick();
     return WebInputEventResult::kNotHandled;
   }
diff --git a/third_party/blink/renderer/core/input/scroll_manager.cc b/third_party/blink/renderer/core/input/scroll_manager.cc
index 445804adc..9e97ed5 100644
--- a/third_party/blink/renderer/core/input/scroll_manager.cc
+++ b/third_party/blink/renderer/core/input/scroll_manager.cc
@@ -1080,7 +1080,7 @@
 
   Node* event_target = nullptr;
   if (layout_box->GetDocument().GetFrame() == frame_) {
-    event_target = scrollable_area->GetLayoutBox()->GetNode();
+    event_target = scrollable_area->EventTargetNode();
   } else {
     // The targeted ScrollableArea may not belong to this frame. If that
     // is the case, target its ancestor HTMLFrameOwnerElement that exists
diff --git a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
index 97ee48a4..a496619 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
@@ -635,10 +635,13 @@
     return other.rare_data_->IsInitialForMaySkipLayout();
   }
 
-  // Returns true if the size constraints (shrink-to-fit, fixed-inline-size)
-  // are equal.
-  bool AreSizeConstraintsEqual(const NGConstraintSpace& other) const {
-    return bitfields_.AreSizeConstraintsEqual(other.bitfields_);
+  // Returns true if the size constraints (stretch-block-size,
+  // fixed-inline-size) are equal.
+  bool AreInlineSizeConstraintsEqual(const NGConstraintSpace& other) const {
+    return bitfields_.AreInlineSizeConstraintsEqual(other.bitfields_);
+  }
+  bool AreBlockSizeConstraintsEqual(const NGConstraintSpace& other) const {
+    return bitfields_.AreBlockSizeConstraintsEqual(other.bitfields_);
   }
 
   bool AreSizesEqual(const NGConstraintSpace& other) const {
@@ -1313,10 +1316,12 @@
              baseline_algorithm_type == other.baseline_algorithm_type;
     }
 
-    bool AreSizeConstraintsEqual(const Bitfields& other) const {
+    bool AreInlineSizeConstraintsEqual(const Bitfields& other) const {
       return stretch_inline_size_if_auto == other.stretch_inline_size_if_auto &&
-             stretch_block_size_if_auto == other.stretch_block_size_if_auto &&
-             is_fixed_inline_size == other.is_fixed_inline_size &&
+             is_fixed_inline_size == other.is_fixed_inline_size;
+    }
+    bool AreBlockSizeConstraintsEqual(const Bitfields& other) const {
+      return stretch_block_size_if_auto == other.stretch_block_size_if_auto &&
              is_fixed_block_size == other.is_fixed_block_size &&
              is_fixed_block_size_indefinite ==
                  other.is_fixed_block_size_indefinite &&
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc
index 1b2ff30..7d00f2e 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_result_caching_test.cc
@@ -1836,5 +1836,42 @@
   EXPECT_NE(result.get(), measure.get());
 }
 
+TEST_F(NGLayoutResultCachingTest, MissTablePercent) {
+  ScopedLayoutNGTableForTest table_ng(true);
+
+  SetBodyInnerHTML(R"HTML(
+    <style>
+      .bfc { display: flow-root; width: 100px; }
+      table { height: 100%; }
+      caption { height: 50px; }
+    </style>
+    <div class="bfc" style="height: 50px;">
+      <table id="test">
+        <caption></caption>
+        <td></td>
+      </table>
+    </div>
+    <div class="bfc" style="height: 100px;">
+      <table id="src">
+        <caption></caption>
+        <td></td>
+      </table>
+    </div>
+  )HTML");
+
+  auto* test = To<LayoutBlock>(GetLayoutObjectByElementId("test"));
+  auto* src = To<LayoutBlock>(GetLayoutObjectByElementId("src"));
+
+  NGLayoutCacheStatus cache_status;
+  base::Optional<NGFragmentGeometry> fragment_geometry;
+  const NGConstraintSpace& space =
+      src->GetCachedLayoutResult()->GetConstraintSpaceForCaching();
+  scoped_refptr<const NGLayoutResult> result = test->CachedLayoutResult(
+      space, nullptr, nullptr, &fragment_geometry, &cache_status);
+
+  EXPECT_EQ(cache_status, NGLayoutCacheStatus::kNeedsLayout);
+  EXPECT_EQ(result.get(), nullptr);
+}
+
 }  // namespace
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc
index 50b700a..788f0cc 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc
@@ -72,6 +72,46 @@
   return false;
 }
 
+bool BlockSizeMayChange(const NGBlockNode& node,
+                        const NGConstraintSpace& new_space,
+                        const NGConstraintSpace& old_space,
+                        const NGLayoutResult& layout_result) {
+  DCHECK_EQ(new_space.IsFixedBlockSize(), old_space.IsFixedBlockSize());
+  DCHECK_EQ(new_space.IsFixedBlockSizeIndefinite(),
+            old_space.IsFixedBlockSizeIndefinite());
+  DCHECK_EQ(new_space.StretchBlockSizeIfAuto(),
+            old_space.StretchBlockSizeIfAuto());
+  DCHECK_EQ(new_space.TableCellChildLayoutMode(),
+            old_space.TableCellChildLayoutMode());
+
+  if (node.IsQuirkyAndFillsViewport())
+    return true;
+
+  if (new_space.IsFixedBlockSize()) {
+    if (new_space.AvailableSize().block_size !=
+        old_space.AvailableSize().block_size)
+      return true;
+  } else {
+    const ComputedStyle& style = node.Style();
+    if (BlockLengthMayChange(style.LogicalHeight(), new_space, old_space) ||
+        BlockLengthMayChange(style.LogicalMinHeight(), new_space, old_space) ||
+        BlockLengthMayChange(style.LogicalMaxHeight(), new_space, old_space))
+      return true;
+    // We only need to check if the PercentageResolutionBlockSizes match if the
+    // layout result has explicitly marked itself as dependent.
+    if (layout_result.PhysicalFragment().DependsOnPercentageBlockSize()) {
+      if (new_space.PercentageResolutionBlockSize() !=
+          old_space.PercentageResolutionBlockSize())
+        return true;
+      if (new_space.ReplacedPercentageResolutionBlockSize() !=
+          old_space.ReplacedPercentageResolutionBlockSize())
+        return true;
+    }
+  }
+
+  return false;
+}
+
 // Return true if it's possible (but not necessarily guaranteed) that the new
 // constraint space will give a different size compared to the old one, when
 // computed style and child content remain unchanged.
@@ -79,19 +119,9 @@
                    const NGConstraintSpace& new_space,
                    const NGConstraintSpace& old_space,
                    const NGLayoutResult& layout_result) {
-  if (node.IsQuirkyAndFillsViewport())
-    return true;
-
   DCHECK_EQ(new_space.IsFixedInlineSize(), old_space.IsFixedInlineSize());
-  DCHECK_EQ(new_space.IsFixedBlockSize(), old_space.IsFixedBlockSize());
-  DCHECK_EQ(new_space.IsFixedBlockSizeIndefinite(),
-            old_space.IsFixedBlockSizeIndefinite());
   DCHECK_EQ(new_space.StretchInlineSizeIfAuto(),
             old_space.StretchInlineSizeIfAuto());
-  DCHECK_EQ(new_space.StretchBlockSizeIfAuto(),
-            old_space.StretchBlockSizeIfAuto());
-  DCHECK_EQ(new_space.TableCellChildLayoutMode(),
-            old_space.TableCellChildLayoutMode());
 
   const ComputedStyle& style = node.Style();
 
@@ -122,27 +152,6 @@
       return true;
   }
 
-  if (new_space.IsFixedBlockSize()) {
-    if (new_space.AvailableSize().block_size !=
-        old_space.AvailableSize().block_size)
-      return true;
-  } else {
-    if (BlockLengthMayChange(style.LogicalHeight(), new_space, old_space) ||
-        BlockLengthMayChange(style.LogicalMinHeight(), new_space, old_space) ||
-        BlockLengthMayChange(style.LogicalMaxHeight(), new_space, old_space))
-      return true;
-    // We only need to check if the PercentageResolutionBlockSizes match if the
-    // layout result has explicitly marked itself as dependent.
-    if (layout_result.PhysicalFragment().DependsOnPercentageBlockSize()) {
-      if (new_space.PercentageResolutionBlockSize() !=
-          old_space.PercentageResolutionBlockSize())
-        return true;
-      if (new_space.ReplacedPercentageResolutionBlockSize() !=
-          old_space.ReplacedPercentageResolutionBlockSize())
-        return true;
-    }
-  }
-
   if (style.MayHavePadding() &&
       new_space.PercentageResolutionInlineSize() !=
           old_space.PercentageResolutionInlineSize()) {
@@ -155,7 +164,7 @@
       return true;
   }
 
-  return false;
+  return BlockSizeMayChange(node, new_space, old_space, layout_result);
 }
 
 // Given the pre-computed |fragment_geometry| calcuates the
@@ -181,6 +190,23 @@
   if (fragment_geometry.border_box_size.inline_size != fragment.InlineSize())
     return NGLayoutCacheStatus::kNeedsLayout;
 
+  if (style.MayHavePadding() && fragment_geometry.padding != fragment.Padding())
+    return NGLayoutCacheStatus::kNeedsLayout;
+
+  // Tables are special - we can't determine the final block-size ahead of time
+  // (or based on the previous intrinsic size).
+  // Instead if the block-size *may* change, force a layout. If we definitely
+  // know the block-size won't change (the size constraints haven't changed) we
+  // can hit the cache.
+  //
+  // *NOTE* - any logic below this branch shouldn't apply to tables.
+  if (node.IsTable()) {
+    if (!new_space.AreBlockSizeConstraintsEqual(old_space) ||
+        BlockSizeMayChange(node, new_space, old_space, layout_result))
+      return NGLayoutCacheStatus::kNeedsLayout;
+    return NGLayoutCacheStatus::kHit;
+  }
+
   LayoutUnit block_size = fragment_geometry.border_box_size.block_size;
   bool is_initial_block_size_indefinite = block_size == kIndefiniteSize;
   if (is_initial_block_size_indefinite) {
@@ -325,9 +351,6 @@
     }
   }
 
-  if (style.MayHavePadding() && fragment_geometry.padding != fragment.Padding())
-    return NGLayoutCacheStatus::kNeedsLayout;
-
   // Table-cells with vertical alignment might shift their contents if the
   // block-size changes.
   if (new_space.IsTableCell()) {
@@ -383,6 +406,7 @@
   // If we've reached here we know that we can potentially "stretch"/"shrink"
   // ourselves without affecting any of our children.
   // In that case we may be able to perform "simplified" layout.
+  DCHECK(!node.IsTable());
   return is_block_size_equal ? NGLayoutCacheStatus::kHit
                              : NGLayoutCacheStatus::kNeedsSimplifiedLayout;
 }
@@ -424,7 +448,8 @@
   if (!new_space.MaySkipLayout(old_space))
     return NGLayoutCacheStatus::kNeedsLayout;
 
-  if (new_space.AreSizeConstraintsEqual(old_space)) {
+  if (new_space.AreInlineSizeConstraintsEqual(old_space) &&
+      new_space.AreBlockSizeConstraintsEqual(old_space)) {
     // It is possible that our intrinsic size has changed, check for that here.
     // TODO(cbiesinger): Investigate why this check doesn't apply to
     // |MaySkipLegacyLayout|.
@@ -460,7 +485,10 @@
   if (!new_space.MaySkipLayout(old_space))
     return false;
 
-  if (!new_space.AreSizeConstraintsEqual(old_space))
+  if (!new_space.AreInlineSizeConstraintsEqual(old_space))
+    return false;
+
+  if (!new_space.AreBlockSizeConstraintsEqual(old_space))
     return false;
 
   if (new_space.AreSizesEqual(old_space))
diff --git a/third_party/blink/renderer/core/paint/box_painter_base.cc b/third_party/blink/renderer/core/paint/box_painter_base.cc
index 1eae222..d52f8a8 100644
--- a/third_party/blink/renderer/core/paint/box_painter_base.cc
+++ b/third_party/blink/renderer/core/paint/box_painter_base.cc
@@ -655,17 +655,16 @@
       node && node->ComputedStyleRef().HasFilterInducingProperty(),
       composite_op, info.respect_image_orientation);
 
-  if (info.image && info.image->IsImageResource()) {
+  if (node && info.image && info.image->IsImageResource()) {
     PaintTimingDetector::NotifyBackgroundImagePaint(
-        node, image, To<StyleFetchedImage>(info.image),
+        *node, *image, To<StyleFetchedImage>(*info.image),
         paint_info.context.GetPaintController().CurrentPaintChunkProperties(),
         RoundedIntRect(image_border.Rect()));
-  }
-  if (node && info.image && info.image->IsImageResource()) {
+
     LocalDOMWindow* window = node->GetDocument().domWindow();
     DCHECK(window);
     ImageElementTiming::From(*window).NotifyBackgroundImagePainted(
-        node, To<StyleFetchedImage>(info.image),
+        *node, To<StyleFetchedImage>(*info.image),
         context.GetPaintController().CurrentPaintChunkProperties(),
         RoundedIntRect(image_border.Rect()));
   }
@@ -797,17 +796,16 @@
         FloatSize(geometry.SpaceSize()),
         node && node->ComputedStyleRef().HasFilterInducingProperty(),
         info.respect_image_orientation);
-    if (info.image && info.image->IsImageResource()) {
+    if (node && info.image && info.image->IsImageResource()) {
       PaintTimingDetector::NotifyBackgroundImagePaint(
-          node, image, To<StyleFetchedImage>(info.image),
+          *node, *image, To<StyleFetchedImage>(*info.image),
           context.GetPaintController().CurrentPaintChunkProperties(),
           EnclosingIntRect(geometry.SnappedDestRect()));
-    }
-    if (node && info.image && info.image->IsImageResource()) {
+
       LocalDOMWindow* window = node->GetDocument().domWindow();
       DCHECK(window);
       ImageElementTiming::From(*window).NotifyBackgroundImagePainted(
-          node, To<StyleFetchedImage>(info.image),
+          *node, To<StyleFetchedImage>(*info.image),
           context.GetPaintController().CurrentPaintChunkProperties(),
           EnclosingIntRect(geometry.SnappedDestRect()));
     }
diff --git a/third_party/blink/renderer/core/paint/image_element_timing.cc b/third_party/blink/renderer/core/paint/image_element_timing.cc
index 18089bb..904e2d1 100644
--- a/third_party/blink/renderer/core/paint/image_element_timing.cc
+++ b/third_party/blink/renderer/core/paint/image_element_timing.cc
@@ -23,9 +23,8 @@
 
 // "CORE_EXPORT" is needed to make this function visible to tests.
 bool CORE_EXPORT
-IsExplicitlyRegisteredForTiming(const LayoutObject* layout_object) {
-  DCHECK(layout_object);
-  const auto* element = DynamicTo<Element>(layout_object->GetNode());
+IsExplicitlyRegisteredForTiming(const LayoutObject& layout_object) {
+  const auto* element = DynamicTo<Element>(layout_object.GetNode());
   if (!element)
     return false;
 
@@ -63,7 +62,7 @@
 void ImageElementTiming::NotifyImageFinished(
     const LayoutObject& layout_object,
     const ImageResourceContent* cached_image) {
-  if (!internal::IsExplicitlyRegisteredForTiming(&layout_object))
+  if (!internal::IsExplicitlyRegisteredForTiming(layout_object))
     return;
 
   const auto& insertion_result = images_notified_.insert(
@@ -86,28 +85,28 @@
 }
 
 void ImageElementTiming::NotifyImagePainted(
-    const LayoutObject* layout_object,
-    const ImageResourceContent* cached_image,
+    const LayoutObject& layout_object,
+    const ImageResourceContent& cached_image,
     const PropertyTreeStateOrAlias& current_paint_chunk_properties,
     const IntRect& image_border) {
-  DCHECK(layout_object);
-
   if (!internal::IsExplicitlyRegisteredForTiming(layout_object))
     return;
 
-  auto it = images_notified_.find(std::make_pair(layout_object, cached_image));
+  auto it =
+      images_notified_.find(std::make_pair(&layout_object, &cached_image));
   // It is possible that the pair is not in |images_notified_|. See
   // https://crbug.com/1027948
-  if (it != images_notified_.end() && !it->value.is_painted_ && cached_image) {
+  if (it != images_notified_.end() && !it->value.is_painted_) {
     it->value.is_painted_ = true;
-    NotifyImagePaintedInternal(layout_object->GetNode(), *layout_object,
-                               *cached_image, current_paint_chunk_properties,
+    DCHECK(layout_object.GetNode());
+    NotifyImagePaintedInternal(*layout_object.GetNode(), layout_object,
+                               cached_image, current_paint_chunk_properties,
                                it->value.load_time_, image_border);
   }
 }
 
 void ImageElementTiming::NotifyImagePaintedInternal(
-    Node* node,
+    Node& node,
     const LayoutObject& layout_object,
     const ImageResourceContent& cached_image,
     const PropertyTreeStateOrAlias& current_paint_chunk_properties,
@@ -115,7 +114,6 @@
     const IntRect& image_border) {
   LocalFrame* frame = GetSupplementable()->GetFrame();
   DCHECK(frame == layout_object.GetDocument().GetFrame());
-  DCHECK(node);
   // Background images could cause |node| to not be an element. For example,
   // style applied to body causes this node to be a Document Node. Therefore,
   // bail out if that is the case.
@@ -127,7 +125,7 @@
   // something once the discussions at
   // https://github.com/WICG/element-timing/issues/3 and
   // https://github.com/w3c/webcomponents/issues/816 have been resolved.
-  if (node->IsInShadowTree())
+  if (node.IsInShadowTree())
     return;
 
   // Do not expose elements which should have effective zero opacity.
@@ -189,25 +187,22 @@
 }
 
 void ImageElementTiming::NotifyBackgroundImagePainted(
-    Node* node,
-    const StyleFetchedImage* background_image,
+    Node& node,
+    const StyleFetchedImage& background_image,
     const PropertyTreeStateOrAlias& current_paint_chunk_properties,
     const IntRect& image_border) {
-  DCHECK(node);
-  DCHECK(background_image);
-
-  const LayoutObject* layout_object = node->GetLayoutObject();
+  const LayoutObject* layout_object = node.GetLayoutObject();
   if (!layout_object)
     return;
 
-  if (!internal::IsExplicitlyRegisteredForTiming(layout_object))
+  if (!internal::IsExplicitlyRegisteredForTiming(*layout_object))
     return;
 
-  const ImageResourceContent* cached_image = background_image->CachedImage();
+  const ImageResourceContent* cached_image = background_image.CachedImage();
   if (!cached_image || !cached_image->IsLoaded())
     return;
 
-  auto it = background_image_timestamps_.find(background_image);
+  auto it = background_image_timestamps_.find(&background_image);
   DCHECK(it != background_image_timestamps_.end());
 
   ImageInfo& info =
@@ -216,9 +211,9 @@
           .stored_value->value;
   if (!info.is_painted_) {
     info.is_painted_ = true;
-    NotifyImagePaintedInternal(layout_object->GetNode(), *layout_object,
-                               *cached_image, current_paint_chunk_properties,
-                               it->value, image_border);
+    NotifyImagePaintedInternal(node, *layout_object, *cached_image,
+                               current_paint_chunk_properties, it->value,
+                               image_border);
   }
 }
 
diff --git a/third_party/blink/renderer/core/paint/image_element_timing.h b/third_party/blink/renderer/core/paint/image_element_timing.h
index 0dbb052fe..a73542e 100644
--- a/third_party/blink/renderer/core/paint/image_element_timing.h
+++ b/third_party/blink/renderer/core/paint/image_element_timing.h
@@ -50,14 +50,14 @@
   // Called when the LayoutObject has been painted. This method might queue a
   // swap promise to compute and report paint timestamps.
   void NotifyImagePainted(
-      const LayoutObject*,
-      const ImageResourceContent* cached_image,
+      const LayoutObject&,
+      const ImageResourceContent& cached_image,
       const PropertyTreeStateOrAlias& current_paint_chunk_properties,
       const IntRect& image_border);
 
   void NotifyBackgroundImagePainted(
-      Node*,
-      const StyleFetchedImage* background_image,
+      Node&,
+      const StyleFetchedImage& background_image,
       const PropertyTreeStateOrAlias& current_paint_chunk_properties,
       const IntRect& image_border);
 
@@ -70,7 +70,7 @@
   friend class ImageElementTimingTest;
 
   void NotifyImagePaintedInternal(
-      Node*,
+      Node&,
       const LayoutObject&,
       const ImageResourceContent& cached_image,
       const PropertyTreeStateOrAlias& current_paint_chunk_properties,
diff --git a/third_party/blink/renderer/core/paint/image_element_timing_test.cc b/third_party/blink/renderer/core/paint/image_element_timing_test.cc
index 9cff06c..87050f8 100644
--- a/third_party/blink/renderer/core/paint/image_element_timing_test.cc
+++ b/third_party/blink/renderer/core/paint/image_element_timing_test.cc
@@ -18,9 +18,7 @@
 namespace blink {
 
 namespace internal {
-
-extern bool IsExplicitlyRegisteredForTiming(const LayoutObject* layout_object);
-
+extern bool IsExplicitlyRegisteredForTiming(const LayoutObject& layout_object);
 }
 
 class ImageElementTimingTest : public testing::Test,
@@ -126,25 +124,25 @@
       base_url_);
 
   LayoutObject* without_attribute = GetLayoutObjectById("missing-attribute");
-  bool actual = internal::IsExplicitlyRegisteredForTiming(without_attribute);
+  bool actual = internal::IsExplicitlyRegisteredForTiming(*without_attribute);
   EXPECT_FALSE(actual) << "Nodes without an 'elementtiming' attribute should "
                           "not be explicitly registered.";
 
   LayoutObject* with_undefined_attribute =
       GetLayoutObjectById("unset-attribute");
-  actual = internal::IsExplicitlyRegisteredForTiming(with_undefined_attribute);
+  actual = internal::IsExplicitlyRegisteredForTiming(*with_undefined_attribute);
   EXPECT_TRUE(actual) << "Nodes with undefined 'elementtiming' attribute "
                          "should be explicitly registered.";
 
   LayoutObject* with_empty_attribute = GetLayoutObjectById("empty-attribute");
-  actual = internal::IsExplicitlyRegisteredForTiming(with_empty_attribute);
+  actual = internal::IsExplicitlyRegisteredForTiming(*with_empty_attribute);
   EXPECT_TRUE(actual) << "Nodes with an empty 'elementtiming' attribute "
                          "should be explicitly registered.";
 
   LayoutObject* with_explicit_element_timing =
       GetLayoutObjectById("valid-attribute");
   actual =
-      internal::IsExplicitlyRegisteredForTiming(with_explicit_element_timing);
+      internal::IsExplicitlyRegisteredForTiming(*with_explicit_element_timing);
   EXPECT_TRUE(actual) << "Nodes with a non-empty 'elementtiming' attribute "
                          "should be explicitly registered.";
 }
diff --git a/third_party/blink/renderer/core/paint/image_painter.cc b/third_party/blink/renderer/core/paint/image_painter.cc
index 682461ae..68c9e2fd 100644
--- a/third_party/blink/renderer/core/paint/image_painter.cc
+++ b/third_party/blink/renderer/core/paint/image_painter.cc
@@ -267,19 +267,21 @@
                     layout_image_.StyleRef().HasFilterInducingProperty(),
                     SkBlendMode::kSrcOver, respect_orientation);
 
-  if ((IsA<HTMLImageElement>(node) || IsA<HTMLVideoElement>(node)) &&
-      image_content && image_content->IsLoaded()) {
-    LocalDOMWindow* window = layout_image_.GetDocument().domWindow();
-    DCHECK(window);
-    ImageElementTiming::From(*window).NotifyImagePainted(
-        &layout_image_, image_content,
+  if (image_content) {
+    if ((IsA<HTMLImageElement>(node) || IsA<HTMLVideoElement>(node)) &&
+        image_content->IsLoaded()) {
+      LocalDOMWindow* window = layout_image_.GetDocument().domWindow();
+      DCHECK(window);
+      ImageElementTiming::From(*window).NotifyImagePainted(
+          layout_image_, *image_content,
+          context.GetPaintController().CurrentPaintChunkProperties(),
+          pixel_snapped_dest_rect);
+    }
+    PaintTimingDetector::NotifyImagePaint(
+        layout_image_, image->Size(), *image_content,
         context.GetPaintController().CurrentPaintChunkProperties(),
         pixel_snapped_dest_rect);
   }
-  PaintTimingDetector::NotifyImagePaint(
-      layout_image_, image->Size(), image_content,
-      context.GetPaintController().CurrentPaintChunkProperties(),
-      pixel_snapped_dest_rect);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
index ad4c65a2..705745d 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
@@ -1477,6 +1477,8 @@
         doc_element->GetLayoutObject()->StyleRef().HasPseudoElementStyle(
             kPseudoIdScrollbar))
       return *doc_element->GetLayoutObject();
+  } else if (!layout_box.GetNode() && layout_box.Parent()) {
+    return *layout_box.Parent();
   }
 
   return layout_box;
diff --git a/third_party/blink/renderer/core/paint/paint_timing_detector.cc b/third_party/blink/renderer/core/paint/paint_timing_detector.cc
index a6b74a0..027ef84 100644
--- a/third_party/blink/renderer/core/paint/paint_timing_detector.cc
+++ b/third_party/blink/renderer/core/paint/paint_timing_detector.cc
@@ -104,16 +104,13 @@
 
 // static
 void PaintTimingDetector::NotifyBackgroundImagePaint(
-    const Node* node,
-    const Image* image,
-    const StyleFetchedImage* style_image,
+    const Node& node,
+    const Image& image,
+    const StyleFetchedImage& style_image,
     const PropertyTreeStateOrAlias& current_paint_chunk_properties,
     const IntRect& image_border) {
-  DCHECK(image);
-  DCHECK(style_image->CachedImage());
-  if (!node)
-    return;
-  LayoutObject* object = node->GetLayoutObject();
+  DCHECK(style_image.CachedImage());
+  LayoutObject* object = node.GetLayoutObject();
   if (!object)
     return;
   LocalFrameView* frame_view = object->GetFrameView();
@@ -122,18 +119,18 @@
   PaintTimingDetector& detector = frame_view->GetPaintTimingDetector();
   if (!detector.GetImagePaintTimingDetector())
     return;
-  if (!IsBackgroundImageContentful(*object, *image))
+  if (!IsBackgroundImageContentful(*object, image))
     return;
   detector.GetImagePaintTimingDetector()->RecordImage(
-      *object, image->Size(), *style_image->CachedImage(),
-      current_paint_chunk_properties, style_image, image_border);
+      *object, image.Size(), *style_image.CachedImage(),
+      current_paint_chunk_properties, &style_image, image_border);
 }
 
 // static
 void PaintTimingDetector::NotifyImagePaint(
     const LayoutObject& object,
     const IntSize& intrinsic_size,
-    const ImageResourceContent* cached_image,
+    const ImageResourceContent& cached_image,
     const PropertyTreeStateOrAlias& current_paint_chunk_properties,
     const IntRect& image_border) {
   if (IgnorePaintTimingScope::ShouldIgnore())
@@ -141,13 +138,11 @@
   LocalFrameView* frame_view = object.GetFrameView();
   if (!frame_view)
     return;
-  if (!cached_image)
-    return;
   PaintTimingDetector& detector = frame_view->GetPaintTimingDetector();
   if (!detector.GetImagePaintTimingDetector())
     return;
   detector.GetImagePaintTimingDetector()->RecordImage(
-      object, intrinsic_size, *cached_image, current_paint_chunk_properties,
+      object, intrinsic_size, cached_image, current_paint_chunk_properties,
       nullptr, image_border);
 }
 
diff --git a/third_party/blink/renderer/core/paint/paint_timing_detector.h b/third_party/blink/renderer/core/paint/paint_timing_detector.h
index 701deaf..65f32f6 100644
--- a/third_party/blink/renderer/core/paint/paint_timing_detector.h
+++ b/third_party/blink/renderer/core/paint/paint_timing_detector.h
@@ -119,15 +119,15 @@
   PaintTimingDetector(LocalFrameView*);
 
   static void NotifyBackgroundImagePaint(
-      const Node*,
-      const Image*,
-      const StyleFetchedImage*,
+      const Node&,
+      const Image&,
+      const StyleFetchedImage&,
       const PropertyTreeStateOrAlias& current_paint_chunk_properties,
       const IntRect& image_border);
   static void NotifyImagePaint(
       const LayoutObject&,
       const IntSize& intrinsic_size,
-      const ImageResourceContent* cached_image,
+      const ImageResourceContent& cached_image,
       const PropertyTreeStateOrAlias& current_paint_chunk_properties,
       const IntRect& image_border);
   inline static void NotifyTextPaint(const IntRect& text_visual_rect);
diff --git a/third_party/blink/renderer/core/paint/svg_image_painter.cc b/third_party/blink/renderer/core/paint/svg_image_painter.cc
index 6b4370d3..0f917eb0 100644
--- a/third_party/blink/renderer/core/paint/svg_image_painter.cc
+++ b/third_party/blink/renderer/core/paint/svg_image_painter.cc
@@ -98,20 +98,21 @@
       image.get(), decode_mode, dest_rect, &src_rect,
       layout_svg_image_.StyleRef().HasFilterInducingProperty(),
       SkBlendMode::kSrcOver, respect_orientation);
-  if (image_content && image_content->IsLoaded()) {
-    LocalDOMWindow* window = layout_svg_image_.GetDocument().domWindow();
-    DCHECK(window);
-    DCHECK(paint_info.PaintContainer());
-    ImageElementTiming::From(*window).NotifyImagePainted(
-        &layout_svg_image_, image_content,
+  if (image_content) {
+    if (image_content->IsLoaded()) {
+      LocalDOMWindow* window = layout_svg_image_.GetDocument().domWindow();
+      DCHECK(window);
+      DCHECK(paint_info.PaintContainer());
+      ImageElementTiming::From(*window).NotifyImagePainted(
+          layout_svg_image_, *image_content,
+          paint_info.context.GetPaintController().CurrentPaintChunkProperties(),
+          EnclosingIntRect(dest_rect));
+    }
+    PaintTimingDetector::NotifyImagePaint(
+        layout_svg_image_, image->Size(), *image_content,
         paint_info.context.GetPaintController().CurrentPaintChunkProperties(),
         EnclosingIntRect(dest_rect));
   }
-
-  PaintTimingDetector::NotifyImagePaint(
-      layout_svg_image_, image->Size(), image_content,
-      paint_info.context.GetPaintController().CurrentPaintChunkProperties(),
-      EnclosingIntRect(dest_rect));
   PaintTiming& timing = PaintTiming::From(
       layout_svg_image_.GetElement()->GetDocument().TopDocument());
   timing.MarkFirstContentfulPaint();
diff --git a/third_party/blink/renderer/core/scroll/scrollable_area.h b/third_party/blink/renderer/core/scroll/scrollable_area.h
index 2183c435..f39a6ea 100644
--- a/third_party/blink/renderer/core/scroll/scrollable_area.h
+++ b/third_party/blink/renderer/core/scroll/scrollable_area.h
@@ -535,6 +535,11 @@
   // PaintLayerScrollableArea (which can be null) is returned.
   static ScrollableArea* GetForScrolling(const LayoutBox* layout_box);
 
+  // Returns a Node at which 'scroll' events should be dispatched.
+  // For <fieldset>, a ScrollableArea is associated to its internal anonymous
+  // box. GetLayoutBox()->GetNode() doesn't work in this case.
+  Node* EventTargetNode() const;
+
  protected:
   // Deduces the mojom::blink::ScrollBehavior based on the
   // element style and the parameter set by programmatic scroll into either
@@ -568,10 +573,6 @@
 
   bool HasBeenDisposed() const { return has_been_disposed_; }
 
-  // Returns a Node at which 'scroll' events should be dispatched.
-  // For <fieldset>, a ScrollableArea is associated to its internal anonymous
-  // box. GetLayoutBox()->GetNode() doesn't work in this case.
-  Node* EventTargetNode() const;
   virtual const Document* GetDocument() const;
 
   // Resolves into un-zoomed physical pixels a scroll |delta| based on its
diff --git a/third_party/blink/renderer/modules/buckets/BUILD.gn b/third_party/blink/renderer/modules/buckets/BUILD.gn
index 51127af..b8dbaf9 100644
--- a/third_party/blink/renderer/modules/buckets/BUILD.gn
+++ b/third_party/blink/renderer/modules/buckets/BUILD.gn
@@ -8,7 +8,5 @@
   sources = [
     "bucket_manager.cc",
     "bucket_manager.h",
-    "navigator_storage_buckets.cc",
-    "navigator_storage_buckets.h",
   ]
 }
diff --git a/third_party/blink/renderer/modules/buckets/bucket_manager.cc b/third_party/blink/renderer/modules/buckets/bucket_manager.cc
index 0fdeb5c4..7d1591a 100644
--- a/third_party/blink/renderer/modules/buckets/bucket_manager.cc
+++ b/third_party/blink/renderer/modules/buckets/bucket_manager.cc
@@ -4,9 +4,24 @@
 
 #include "third_party/blink/renderer/modules/buckets/bucket_manager.h"
 
+#include "third_party/blink/renderer/core/execution_context/navigator_base.h"
+
 namespace blink {
 
-BucketManager::BucketManager() = default;
+const char BucketManager::kSupplementName[] = "BucketManager";
+
+BucketManager::BucketManager(NavigatorBase& navigator)
+    : Supplement<NavigatorBase>(navigator) {}
+
+BucketManager* BucketManager::storageBuckets(NavigatorBase& navigator,
+                                             ExceptionState& exception_state) {
+  auto* supplement = Supplement<NavigatorBase>::From<BucketManager>(navigator);
+  if (!supplement) {
+    supplement = MakeGarbageCollected<BucketManager>(navigator);
+    Supplement<NavigatorBase>::ProvideTo(navigator, supplement);
+  }
+  return supplement;
+}
 
 ScriptPromise BucketManager::openOrCreate(ScriptState* script_state,
                                           const String& name,
@@ -41,6 +56,7 @@
 
 void BucketManager::Trace(Visitor* visitor) const {
   ScriptWrappable::Trace(visitor);
+  Supplement<NavigatorBase>::Trace(visitor);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/buckets/bucket_manager.h b/third_party/blink/renderer/modules/buckets/bucket_manager.h
index 9f2dee84..ba4870a 100644
--- a/third_party/blink/renderer/modules/buckets/bucket_manager.h
+++ b/third_party/blink/renderer/modules/buckets/bucket_manager.h
@@ -8,17 +8,25 @@
 #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
+#include "third_party/blink/renderer/platform/supplementable.h"
 #include "third_party/blink/renderer/platform/wtf/vector.h"
 
 namespace blink {
 
 class ExceptionState;
+class NavigatorBase;
 
-class MODULES_EXPORT BucketManager final : public ScriptWrappable {
+class MODULES_EXPORT BucketManager final : public ScriptWrappable,
+                                           public Supplement<NavigatorBase> {
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  BucketManager();
+  static const char kSupplementName[];
+
+  // Web-exposed as navigator.storageBuckets
+  static BucketManager* storageBuckets(NavigatorBase&, ExceptionState&);
+
+  explicit BucketManager(NavigatorBase&);
   ~BucketManager() override = default;
 
   ScriptPromise openOrCreate(ScriptState* script_state,
diff --git a/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.cc b/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.cc
deleted file mode 100644
index f9ddba0..0000000
--- a/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.cc
+++ /dev/null
@@ -1,88 +0,0 @@
-// 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.
-//
-#include "third_party/blink/renderer/modules/buckets/navigator_storage_buckets.h"
-
-#include "third_party/blink/renderer/core/execution_context/security_context.h"
-#include "third_party/blink/renderer/core/frame/navigator.h"
-#include "third_party/blink/renderer/core/workers/worker_navigator.h"
-#include "third_party/blink/renderer/modules/buckets/bucket_manager.h"
-#include "third_party/blink/renderer/platform/bindings/exception_state.h"
-#include "third_party/blink/renderer/platform/bindings/name_client.h"
-#include "third_party/blink/renderer/platform/bindings/script_state.h"
-#include "third_party/blink/renderer/platform/supplementable.h"
-
-namespace blink {
-
-namespace {
-
-template <typename T>
-class NavigatorStorageBucketsImpl final
-    : public GarbageCollected<NavigatorStorageBucketsImpl<T>>,
-      public Supplement<T>,
-      public NameClient {
- public:
-  static const char kSupplementName[];
-
-  static NavigatorStorageBucketsImpl& From(T& navigator) {
-    NavigatorStorageBucketsImpl* supplement =
-        static_cast<NavigatorStorageBucketsImpl*>(
-            Supplement<T>::template From<NavigatorStorageBucketsImpl>(
-                navigator));
-    if (!supplement) {
-      supplement = MakeGarbageCollected<NavigatorStorageBucketsImpl>(navigator);
-      Supplement<T>::ProvideTo(navigator, supplement);
-    }
-    return *supplement;
-  }
-
-  explicit NavigatorStorageBucketsImpl(T& navigator)
-      : Supplement<T>(navigator) {}
-
-  BucketManager* GetBucketManager() const {
-    if (!buckets_) {
-      buckets_ = MakeGarbageCollected<BucketManager>();
-    }
-    return buckets_.Get();
-  }
-
-  void Trace(blink::Visitor* visitor) const override {
-    visitor->Trace(buckets_);
-    Supplement<T>::Trace(visitor);
-  }
-
-  const char* NameInHeapSnapshot() const override {
-    return "NavigatorStorageBucketsImpl";
-  }
-
- private:
-  mutable Member<BucketManager> buckets_;
-};
-
-// static
-template <typename T>
-const char NavigatorStorageBucketsImpl<T>::kSupplementName[] =
-    "NavigatorStorageBucketsImpl";
-
-}  // namespace
-
-BucketManager* NavigatorStorageBuckets::storageBuckets(
-    ScriptState* script_state,
-    Navigator& navigator,
-    ExceptionState& exception_state) {
-  DCHECK(ExecutionContext::From(script_state)->IsContextThread());
-  return NavigatorStorageBucketsImpl<Navigator>::From(navigator)
-      .GetBucketManager();
-}
-
-BucketManager* NavigatorStorageBuckets::storageBuckets(
-    ScriptState* script_state,
-    WorkerNavigator& navigator,
-    ExceptionState& exception_state) {
-  DCHECK(ExecutionContext::From(script_state)->IsContextThread());
-  return NavigatorStorageBucketsImpl<WorkerNavigator>::From(navigator)
-      .GetBucketManager();
-}
-
-}  // namespace blink
diff --git a/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.h b/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.h
deleted file mode 100644
index e247926c..0000000
--- a/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// 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.
-
-#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_BUCKETS_NAVIGATOR_STORAGE_BUCKETS_H_
-#define THIRD_PARTY_BLINK_RENDERER_MODULES_BUCKETS_NAVIGATOR_STORAGE_BUCKETS_H_
-
-#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
-
-namespace blink {
-
-class BucketManager;
-class ExceptionState;
-class Navigator;
-class WorkerNavigator;
-class ScriptState;
-
-class NavigatorStorageBuckets final {
-  STATIC_ONLY(NavigatorStorageBuckets);
-
- public:
-  static BucketManager* storageBuckets(ScriptState*,
-                                       Navigator&,
-                                       ExceptionState&);
-  static BucketManager* storageBuckets(ScriptState*,
-                                       WorkerNavigator&,
-                                       ExceptionState&);
-};
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_BUCKETS_NAVIGATOR_STORAGE_BUCKETS_H_
diff --git a/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.idl b/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.idl
index 29d8604..beaea428 100644
--- a/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.idl
+++ b/third_party/blink/renderer/modules/buckets/navigator_storage_buckets.idl
@@ -6,8 +6,8 @@
 
 [
     SecureContext,
-    ImplementedAs=NavigatorStorageBuckets
+    ImplementedAs=BucketManager,
+    RuntimeEnabled=StorageBuckets
 ] partial interface Navigator {
-    [CallWith=ScriptState, RaisesException, RuntimeEnabled=StorageBuckets]
-      readonly attribute BucketManager storageBuckets;
+    [RaisesException] readonly attribute BucketManager storageBuckets;
 };
diff --git a/third_party/blink/renderer/modules/buckets/worker_navigator_storage_buckets.idl b/third_party/blink/renderer/modules/buckets/worker_navigator_storage_buckets.idl
index 20ded70..26430423 100644
--- a/third_party/blink/renderer/modules/buckets/worker_navigator_storage_buckets.idl
+++ b/third_party/blink/renderer/modules/buckets/worker_navigator_storage_buckets.idl
@@ -6,12 +6,8 @@
 
 [
     SecureContext,
-    ImplementedAs=NavigatorStorageBuckets,
+    ImplementedAs=BucketManager,
     RuntimeEnabled=StorageBuckets
 ] partial interface WorkerNavigator {
-    [
-      CallWith=ScriptState,
-      RaisesException,
-      RuntimeEnabled=StorageBuckets
-    ] readonly attribute BucketManager storageBuckets;
+    [RaisesException] readonly attribute BucketManager storageBuckets;
 };
diff --git a/third_party/blink/renderer/modules/cookie_store/BUILD.gn b/third_party/blink/renderer/modules/cookie_store/BUILD.gn
index 412a1c4..60687c8 100644
--- a/third_party/blink/renderer/modules/cookie_store/BUILD.gn
+++ b/third_party/blink/renderer/modules/cookie_store/BUILD.gn
@@ -16,8 +16,6 @@
     "extendable_cookie_change_event.h",
     "global_cookie_store.cc",
     "global_cookie_store.h",
-    "service_worker_registration_cookies.cc",
-    "service_worker_registration_cookies.h",
   ]
 
   deps = [ "//third_party/blink/renderer/platform" ]
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.cc
index dda14e4..bf3a569 100644
--- a/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.cc
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.cc
@@ -85,15 +85,31 @@
 
 }  // namespace
 
-CookieStoreManager::CookieStoreManager(
-    ServiceWorkerRegistration* registration,
-    HeapMojoRemote<mojom::blink::CookieStore,
-                   HeapMojoWrapperMode::kWithoutContextObserver> backend)
-    : registration_(registration),
-      backend_(std::move(backend)),
-      default_cookie_url_(DefaultCookieURL(registration)) {
-  DCHECK(registration_);
-  DCHECK(backend_.is_bound());
+// static
+const char CookieStoreManager::kSupplementName[] = "CookieStoreManager";
+
+// static
+CookieStoreManager* CookieStoreManager::cookies(
+    ServiceWorkerRegistration& registration) {
+  auto* supplement =
+      Supplement<ServiceWorkerRegistration>::From<CookieStoreManager>(
+          registration);
+  if (!supplement) {
+    supplement = MakeGarbageCollected<CookieStoreManager>(registration);
+    ProvideTo(registration, supplement);
+  }
+  return supplement;
+}
+
+CookieStoreManager::CookieStoreManager(ServiceWorkerRegistration& registration)
+    : Supplement<ServiceWorkerRegistration>(registration),
+      registration_(&registration),
+      backend_(registration.GetExecutionContext()),
+      default_cookie_url_(DefaultCookieURL(&registration)) {
+  auto* execution_context = registration.GetExecutionContext();
+  execution_context->GetBrowserInterfaceBroker().GetInterface(
+      backend_.BindNewPipeAndPassReceiver(
+          execution_context->GetTaskRunner(TaskType::kDOMManipulation)));
 }
 
 ScriptPromise CookieStoreManager::subscribe(
@@ -166,6 +182,7 @@
 void CookieStoreManager::Trace(Visitor* visitor) const {
   visitor->Trace(registration_);
   visitor->Trace(backend_);
+  Supplement<ServiceWorkerRegistration>::Trace(visitor);
   ScriptWrappable::Trace(visitor);
 }
 
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.h b/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.h
index d42c09d..ffbc4f9 100644
--- a/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.h
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.h
@@ -12,6 +12,7 @@
 #include "third_party/blink/renderer/platform/heap/handle.h"
 #include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
 #include "third_party/blink/renderer/platform/mojo/heap_mojo_wrapper_mode.h"
+#include "third_party/blink/renderer/platform/supplementable.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl.h"
 #include "third_party/blink/renderer/platform/wtf/vector.h"
 
@@ -22,14 +23,17 @@
 class ScriptPromiseResolver;
 class ScriptState;
 
-class CookieStoreManager final : public ScriptWrappable {
+class CookieStoreManager final : public ScriptWrappable,
+                                 public Supplement<ServiceWorkerRegistration> {
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  CookieStoreManager(
-      ServiceWorkerRegistration* registration,
-      HeapMojoRemote<mojom::blink::CookieStore,
-                     HeapMojoWrapperMode::kWithoutContextObserver> backend);
+  static const char kSupplementName[];
+  // Web Exposed as registration.cookies
+  static CookieStoreManager* cookies(ServiceWorkerRegistration& registration);
+
+  explicit CookieStoreManager(ServiceWorkerRegistration& registration);
+
   ~CookieStoreManager() override = default;
 
   ScriptPromise subscribe(
diff --git a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.cc b/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.cc
deleted file mode 100644
index 71eccd4..0000000
--- a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.cc
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2019 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/modules/cookie_store/service_worker_registration_cookies.h"
-
-#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
-#include "third_party/blink/renderer/modules/cookie_store/cookie_store_manager.h"
-#include "third_party/blink/renderer/modules/service_worker/service_worker_registration.h"
-#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
-#include "third_party/blink/renderer/platform/mojo/heap_mojo_wrapper_mode.h"
-
-namespace blink {
-
-namespace {
-
-class ServiceWorkerRegistrationCookiesImpl final
-    : public GarbageCollected<ServiceWorkerRegistrationCookiesImpl>,
-      public Supplement<ServiceWorkerRegistration> {
- public:
-  static const char kSupplementName[];
-
-  static ServiceWorkerRegistrationCookiesImpl& From(
-      ServiceWorkerRegistration& registration) {
-    ServiceWorkerRegistrationCookiesImpl* supplement =
-        Supplement<ServiceWorkerRegistration>::From<
-            ServiceWorkerRegistrationCookiesImpl>(registration);
-    if (!supplement) {
-      supplement = MakeGarbageCollected<ServiceWorkerRegistrationCookiesImpl>(
-          registration);
-      ProvideTo(registration, supplement);
-    }
-    return *supplement;
-  }
-
-  explicit ServiceWorkerRegistrationCookiesImpl(
-      ServiceWorkerRegistration& registration)
-      : registration_(&registration) {}
-
-  ~ServiceWorkerRegistrationCookiesImpl() = default;
-
-  CookieStoreManager* GetCookieStoreManager() {
-    if (!cookie_store_manager_) {
-      ExecutionContext* execution_context =
-          registration_->GetExecutionContext();
-      DCHECK(execution_context);
-
-      HeapMojoRemote<mojom::blink::CookieStore,
-                     HeapMojoWrapperMode::kWithoutContextObserver>
-          backend(execution_context);
-      execution_context->GetBrowserInterfaceBroker().GetInterface(
-          backend.BindNewPipeAndPassReceiver(
-              execution_context->GetTaskRunner(TaskType::kDOMManipulation)));
-      cookie_store_manager_ = MakeGarbageCollected<CookieStoreManager>(
-          registration_, std::move(backend));
-    }
-    return cookie_store_manager_.Get();
-  }
-
-  void Trace(Visitor* visitor) const override {
-    visitor->Trace(registration_);
-    visitor->Trace(cookie_store_manager_);
-    Supplement<ServiceWorkerRegistration>::Trace(visitor);
-  }
-
- private:
-  Member<ServiceWorkerRegistration> registration_;
-  Member<CookieStoreManager> cookie_store_manager_;
-
-  DISALLOW_COPY_AND_ASSIGN(ServiceWorkerRegistrationCookiesImpl);
-};
-
-const char ServiceWorkerRegistrationCookiesImpl::kSupplementName[] =
-    "ServiceWorkerRegistrationCookies";
-
-}  // namespace
-
-// static
-CookieStoreManager* ServiceWorkerRegistrationCookies::cookies(
-    ServiceWorkerRegistration& registration) {
-  return ServiceWorkerRegistrationCookiesImpl::From(registration)
-      .GetCookieStoreManager();
-}
-
-}  // namespace blink
diff --git a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.h b/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.h
deleted file mode 100644
index 034a6e2..0000000
--- a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.h
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2019 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_MODULES_COOKIE_STORE_SERVICE_WORKER_REGISTRATION_COOKIES_H_
-#define THIRD_PARTY_BLINK_RENDERER_MODULES_COOKIE_STORE_SERVICE_WORKER_REGISTRATION_COOKIES_H_
-
-#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
-
-namespace blink {
-
-class CookieStoreManager;
-class ServiceWorkerRegistration;
-
-class ServiceWorkerRegistrationCookies final {
-  STATIC_ONLY(ServiceWorkerRegistrationCookies);
-
- public:
-  static CookieStoreManager* cookies(ServiceWorkerRegistration& registration);
-};
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_COOKIE_STORE_SERVICE_WORKER_REGISTRATION_COOKIES_H_
diff --git a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.idl b/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.idl
index 40bed0e1..d602e4d 100644
--- a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.idl
+++ b/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.idl
@@ -5,7 +5,7 @@
 [
   Exposed=(ServiceWorker,Window),
   RuntimeEnabled=CookieStoreWorker,
-  ImplementedAs=ServiceWorkerRegistrationCookies
+  ImplementedAs=CookieStoreManager
 ] partial interface ServiceWorkerRegistration {
   [SameObject] readonly attribute CookieStoreManager cookies;
 };
diff --git a/third_party/blink/renderer/modules/webtransport/quic_transport.cc b/third_party/blink/renderer/modules/webtransport/quic_transport.cc
index 70ed2ec..5e38b55 100644
--- a/third_party/blink/renderer/modules/webtransport/quic_transport.cc
+++ b/third_party/blink/renderer/modules/webtransport/quic_transport.cc
@@ -31,6 +31,7 @@
 #include "third_party/blink/renderer/modules/webtransport/bidirectional_stream.h"
 #include "third_party/blink/renderer/modules/webtransport/receive_stream.h"
 #include "third_party/blink/renderer/modules/webtransport/send_stream.h"
+#include "third_party/blink/renderer/modules/webtransport/web_transport_close_info.h"
 #include "third_party/blink/renderer/modules/webtransport/web_transport_stream.h"
 #include "third_party/blink/renderer/platform/bindings/exception_code.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
diff --git a/third_party/blink/renderer/platform/bindings/to_v8.h b/third_party/blink/renderer/platform/bindings/to_v8.h
index c3388be..68f112f 100644
--- a/third_party/blink/renderer/platform/bindings/to_v8.h
+++ b/third_party/blink/renderer/platform/bindings/to_v8.h
@@ -355,15 +355,19 @@
 }
 
 // Only declare ToV8(void*,...) for checking function overload mismatch.
-// This ToV8(void*,...) should be never used. So we will find mismatch
-// because of "unresolved external symbol".
+// This ToV8(void*,...) should be never used.
 // Without ToV8(void*, ...), call to toV8 with T* will match with
 // ToV8(bool, ...) if T is not a subclass of ScriptWrappable or if T is
 // declared but not defined (so it's not clear that T is a subclass of
 // ScriptWrappable).
 // This hack helps detect such unwanted implicit conversions from T* to bool.
 v8::Local<v8::Value> ToV8(void* value,
-                          v8::Local<v8::Object> creation_context,
+                          v8::Local<v8::Object>,
+                          v8::Isolate*) = delete;
+// Similarly, this helps detect unwanted implicit conversion from const T* to
+// bool, e.g. ToV8(const Element*).
+v8::Local<v8::Value> ToV8(const void* value,
+                          v8::Local<v8::Object>,
                           v8::Isolate*) = delete;
 
 }  // 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 6606f7d..d797662 100644
--- a/third_party/blink/renderer/platform/graphics/image_frame_generator.cc
+++ b/third_party/blink/renderer/platform/graphics/image_frame_generator.cc
@@ -34,7 +34,6 @@
 #include "third_party/blink/renderer/platform/image-decoders/image_decoder.h"
 #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
 #include "third_party/skia/include/core/SkData.h"
-#include "third_party/skia/include/core/SkYUVASizeInfo.h"
 
 namespace blink {
 
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 d2ca0537..71afa00c 100644
--- a/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
+++ b/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
@@ -199,7 +199,13 @@
   // SkMatrices are 3x3, so they have a concept of "perspective" in the bottom
   // row. blink::AffineTransform is a 2x3 matrix that can encode 2d rotations,
   // skew and translation, but has no perspective. Those parameters are set to
-  // zero here.
+  // zero here. i.e.:
+
+  //   INPUT           OUTPUT
+  // | a c e |       | a c e |
+  // | b d f | ----> | b d f |
+  //                 | 0 0 1 |
+
   SkMatrix result;
 
   result.setScaleX(WebCoreDoubleToSkScalar(source.A()));
@@ -218,8 +224,16 @@
 }
 
 SkMatrix TransformationMatrixToSkMatrix(const TransformationMatrix& source) {
-  // For now this just encodes to a 2x3 transform, like the above function
-  // TODO(aaronhk) use the perspective properly crbug.com/1140535
+  // SkMatrix is 3x3, TransformationMatrix is 4x4, this function encodes
+  // assuming that a 2D-transformation with perspective is what's desired,
+  // throwing out the z-dimension values. i.e.:
+
+  //        INPUT                  OUTPUT
+  // | m11 m21 m31 m41 |       | m11 m21 m41 |
+  // | m12 m22 m32 m42 | ----> | m12 m22 m42 |
+  // | m13 m23 m33 m43 |       | m14 m24 m44 |
+  // | m14 m24 m34 m44 |
+
   SkMatrix result;
 
   result.setScaleX(WebCoreDoubleToSkScalar(source.M11()));
@@ -230,9 +244,9 @@
   result.setSkewY(WebCoreDoubleToSkScalar(source.M12()));
   result.setTranslateY(WebCoreDoubleToSkScalar(source.M42()));
 
-  result.setPerspX(0);
-  result.setPerspY(0);
-  result.set(SkMatrix::kMPersp2, SK_Scalar1);
+  result.setPerspX(source.M14());
+  result.setPerspY(source.M24());
+  result.set(SkMatrix::kMPersp2, source.M44());
 
   return result;
 }
diff --git a/third_party/blink/web_tests/NeverFixTests b/third_party/blink/web_tests/NeverFixTests
index e7456c6d..ea8e9cb 100644
--- a/third_party/blink/web_tests/NeverFixTests
+++ b/third_party/blink/web_tests/NeverFixTests
@@ -2179,6 +2179,7 @@
 external/wpt/native-file-system/showSaveFilePicker-manual.https.html [ Skip ]
 
 # These tests require a physical device connected.
+wpt_internal/hid/hidDevice_collections-manual.https.html [ Skip ]
 wpt_internal/serial/serialPort_loopback-manual.https.html [ Skip ]
 wpt_internal/serial/serialPort_disconnect-manual.https.html [ Skip ]
 
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 7269f22..4a890995 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -80,6 +80,10 @@
 crbug.com/901056 virtual/synchronous_html_parser/http/tests/inspector-protocol/issues/content-security-policy-issue-creation-img.js [ Failure Pass ]
 crbug.com/901056 virtual/synchronous_html_parser/http/tests/preload/meta-csp.html [ Failure ]
 crbug.com/901056 virtual/synchronous_html_parser/http/tests/inspector-protocol/issues/mixed-content-issue-creation-js-within-oopif.js [ Timeout ]
+
+crbug.com/901056 virtual/synchronous_html_parser/fast/css/focus-display-block-inline.html [ Failure Pass ]
+crbug.com/901056 virtual/synchronous_html_parser/fast/css/fontfaceset-multiple-families.html [ Failure Pass ]
+
 # ====== Site Isolation failures from here ======
 # See also third_party/blink/web_tests/virtual/not-site-per-process/README.md
 # Tests temporarily disabled with Site Isolation - uninvestigated bugs:
@@ -1671,7 +1675,7 @@
 crbug.com/846656 external/wpt/css/selectors/focus-visible-002-manual.html [ Pass Timeout ]
 crbug.com/1135405 http/tests/devtools/sources/debugger-pause/debugger-pause-infinite-loop.js [ Pass Timeout ]
 crbug.com/1097094 external/wpt/window-segments/getWindowSegments-iframes.tentative.sub.html [ Pass Timeout ]
-crbug.com/747751 [ Mac ] http/tests/devtools/application-panel/storage-view-reports-quota.js [ Pass Timeout ]
+crbug.com/1150992 http/tests/devtools/application-panel/storage-view-reports-quota.js [ Pass Timeout ]
 crbug.com/954998 [ Mac ] http/tests/devtools/tracing/timeline-js/timeline-js-line-level-profile-end-to-end.js [ Pass Timeout ]
 crbug.com/1018064 [ Mac ] virtual/threaded/http/tests/devtools/tracing/timeline-js/timeline-js-line-level-profile-end-to-end.js [ Pass Timeout ]
 crbug.com/1034789 [ Mac ] http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change-async.html [ Pass Timeout ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
index 2f4d21a..d98ca815 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -60743,7 +60743,7 @@
       ]
      ],
      "css-flexbox-row-reverse-wrap-reverse.html": [
-      "3d0d6a5fa21a4131eccac0ebea4cdfbff1bc6053",
+      "4aa864b8ffab1cc719636938aa9733db7dec05ed",
       [
        null,
        [
@@ -60756,7 +60756,7 @@
       ]
      ],
      "css-flexbox-row-reverse-wrap.html": [
-      "8242f221597a0d397826319eccd879058b39c077",
+      "41550e0dc2457ac299c5b9c445a3f00e50bdd137",
       [
        null,
        [
@@ -60769,7 +60769,7 @@
       ]
      ],
      "css-flexbox-row-reverse.html": [
-      "d5a857eaf252ed3e3fa46cd75e368fffb4f12bac",
+      "1b36e7e0621ceda4a936e719be7520ab1be49e2c",
       [
        null,
        [
@@ -60782,7 +60782,7 @@
       ]
      ],
      "css-flexbox-row-wrap-reverse.html": [
-      "94d4346ba5e7fa2e349cbb36f2a054097a8424e4",
+      "01048564df6efd31cfe60bfc766bfe7bed3fd98c",
       [
        null,
        [
@@ -60795,7 +60795,7 @@
       ]
      ],
      "css-flexbox-row-wrap.html": [
-      "22ed901ba8882070b64e150ab46d2f9dd20dc6e5",
+      "0cbc469c8fde1812ac4c16d6eb03c888923aa667",
       [
        null,
        [
@@ -60808,7 +60808,7 @@
       ]
      ],
      "css-flexbox-row.html": [
-      "15f4f69c3ba0e680f7679fccc499279ec444151e",
+      "f34b7aa10bd68ae9676f3d090876b612e75e1de6",
       [
        null,
        [
@@ -182872,7 +182872,7 @@
       []
      ],
      "css-flexbox-row-ref.html": [
-      "91eb06c19a680371ea93aa910ba23a9a40a651ce",
+      "21e7a010c7e63ef35c48c3da272daea2fa7f19b7",
       []
      ],
      "css-flexbox-test1-ref.html": [
@@ -240555,7 +240555,13 @@
     "test-iframe.html": [
      "42b982324b4e37633be7bccb037cff8f534b5712",
      []
-    ]
+    ],
+    "textcontrols": {
+     "selectionchange.tentative-expected.txt": [
+      "980de0015cf919a9f43274de34fdcd9633c0d51c",
+      []
+     ]
+    }
    },
    "serial": {
     "idlharness.https.any-expected.txt": [
@@ -405008,6 +405014,15 @@
       {}
      ]
     ],
+    "textcontrols": {
+     "selectionchange.tentative.html": [
+      "061d21f20466eefdf573a76ba3a911c10e36eb69",
+      [
+       null,
+       {}
+      ]
+     ]
+    },
     "toString-ff-bug-001.html": [
      "985be73b5ca2baba2e8f85d12b806805dbf556ff",
      [
@@ -418023,7 +418038,7 @@
     ],
     "interface": {
      "click-event.htm": [
-      "2f9b483b94c9c2b648cc180c1bb643826913f710",
+      "8542f98cb13ea53426af1eb9f6025c4c5c8b7f58",
       [
        null,
        {}
diff --git a/third_party/blink/web_tests/external/wpt/selection/textcontrols/selectionchange.tentative-expected.txt b/third_party/blink/web_tests/external/wpt/selection/textcontrols/selectionchange.tentative-expected.txt
new file mode 100644
index 0000000..980de00
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/selection/textcontrols/selectionchange.tentative-expected.txt
@@ -0,0 +1,18 @@
+This is a testharness.js-based test.
+FAIL Modifying selectionStart value of the textarea element assert_equals: expected 1 but got 0
+FAIL Modifying selectionEnd value of the textarea element assert_equals: expected 1 but got 0
+FAIL Calling setSelectionRange() on the textarea element assert_equals: expected 1 but got 0
+FAIL Calling select() on the input element assert_equals: expected 1 but got 0
+FAIL Calling select() on the textarea element assert_equals: expected 1 but got 0
+PASS Setting initial zero selectionStart value on the input element
+PASS Setting initial zero selectionEnd value on the input element
+PASS Setting initial zero selectionStart value on the textarea element
+FAIL Setting the same selectionStart value twice on the textarea element assert_equals: expected 1 but got 0
+PASS Setting initial zero selectionEnd value on the textarea element
+FAIL Setting the same selectionEnd value twice on the textarea element assert_equals: expected 1 but got 0
+PASS Setting initial zero selection range on the textarea element
+FAIL Setting the same selection range twice on the textarea element assert_equals: expected 1 but got 0
+FAIL Calling select() twice on the input element assert_equals: expected 1 but got 0
+FAIL Calling select() twice on the textarea element assert_equals: expected 1 but got 0
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/selection/textcontrols/selectionchange.tentative.html b/third_party/blink/web_tests/external/wpt/selection/textcontrols/selectionchange.tentative.html
new file mode 100644
index 0000000..061d21f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/selection/textcontrols/selectionchange.tentative.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test selectionchange events from text controls</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="stylesheet" href="/fonts/ahem.css">
+<style>
+  input,
+  textarea {
+    font: 16px/1 Ahem;
+  }
+</style>
+
+<input id="input" value="XXXXXXXXXXXXXXXXXXX" width="200"><br>
+<textarea id="textarea" width="200">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</textarea>
+
+<script>
+  class SelectionChangeCollector {
+    constructor(target) {
+      this.events = [];
+      target.addEventListener("selectionchange", ev => {
+        this.events.push(ev);
+      });
+    }
+    clear() {
+      this.events.length = 0;
+    }
+  }
+
+  const data = {
+    input: new SelectionChangeCollector(input),
+    textarea: new SelectionChangeCollector(textarea),
+    async initialize() {
+      input.blur();
+      textarea.blur();
+      input.selectionStart = input.selectionEnd = 0;
+      textarea.selectionStart = textarea.selectionEnd = 0;
+      await this.spin();
+      this.input.clear();
+      this.textarea.clear();
+    },
+    spin() {
+      return new Promise(setTimeout);
+    },
+    async assert_empty_spin() {
+      // firing selectionchange must be asynchronous
+      assert_equals(this.input.events.length, 0);
+      assert_equals(this.textarea.events.length, 0);
+      await this.spin();
+    }
+  };
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.selectionStart = 1;
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Modifying selectionStart value of the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.selectionEnd = 1;
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Modifying selectionEnd value of the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.setSelectionRange(0, 4);
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Calling setSelectionRange() on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    input.select();
+
+    await data.assert_empty_spin();
+    assert_equals(data.input.events.length, 1);
+  }, "Calling select() on the input element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.select();
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Calling select() on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    input.selectionStart = 0;
+
+    await data.assert_empty_spin();
+    assert_equals(data.input.events.length, 0);
+  }, "Setting initial zero selectionStart value on the input element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    input.selectionEnd = 0;
+
+    await data.assert_empty_spin();
+    assert_equals(data.input.events.length, 0);
+  }, "Setting initial zero selectionEnd value on the input element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.selectionStart = 0;
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 0);
+  }, "Setting initial zero selectionStart value on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.selectionStart = 2;
+    textarea.selectionStart = 2;
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Setting the same selectionStart value twice on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.selectionEnd = 0;
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 0);
+  }, "Setting initial zero selectionEnd value on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.selectionEnd = 2;
+    textarea.selectionEnd = 2;
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Setting the same selectionEnd value twice on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.setSelectionRange(0, 0);
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 0);
+  }, "Setting initial zero selection range on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.setSelectionRange(3, 3);
+    textarea.setSelectionRange(3, 3);
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Setting the same selection range twice on the textarea element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    input.select();
+    input.select();
+
+    await data.assert_empty_spin();
+    assert_equals(data.input.events.length, 1);
+  }, "Calling select() twice on the input element");
+
+  promise_test(async () => {
+    await data.initialize();
+
+    textarea.select();
+    textarea.select();
+
+    await data.assert_empty_spin();
+    assert_equals(data.textarea.events.length, 1);
+  }, "Calling select() twice on the textarea element");
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/uievents/interface/click-event.htm b/third_party/blink/web_tests/external/wpt/uievents/interface/click-event.htm
index 2f9b483..8542f98 100644
--- a/third_party/blink/web_tests/external/wpt/uievents/interface/click-event.htm
+++ b/third_party/blink/web_tests/external/wpt/uievents/interface/click-event.htm
@@ -1,7 +1,8 @@
 <!doctype html>
 <html>
   <head>
-    <title>Click event is a MouseEvent</title>
+    <title>Click event is a PointerEvent</title>
+    <link rel="help" href="https://github.com/w3c/pointerevents/pull/317">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
   </head>
@@ -10,10 +11,14 @@
     <div id="log"></div>
     <script type="text/javascript">
     var clicktarget = document.querySelector("#clicktarget");
-    var t = async_test("synthetic click event is a MouseEvent");
+    var t = async_test("synthetic click event is a PointerEvent");
     clicktarget.addEventListener('click', t.step_func(function (e) {
-      assert_equals(e.constructor, window.MouseEvent);
-      assert_true(e instanceof window.MouseEvent);
+      assert_equals(e.constructor, window.PointerEvent);
+      assert_true(e instanceof window.PointerEvent);
+      // Since this click is not generated by a pointing device, pointerId and
+      // pointerType must have default values (0 and empty string)
+      assert_equals(e.pointerId, 0);
+      assert_equals(e.pointerType, "");
       t.done();
     }));
     document.querySelector('#clicktarget').click();
diff --git a/third_party/blink/web_tests/fast/forms/fieldset/fieldset-custom-scrollbar-expected.html b/third_party/blink/web_tests/fast/forms/fieldset/fieldset-custom-scrollbar-expected.html
new file mode 100644
index 0000000..029a445
--- /dev/null
+++ b/third_party/blink/web_tests/fast/forms/fieldset/fieldset-custom-scrollbar-expected.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<style>
+.fieldset::-webkit-scrollbar {
+  width: 30px;
+  background: lime;
+}
+.fieldset::-webkit-scrollbar-thumb {
+  background: red;
+  border-radius: 12px;
+}
+
+.fieldset {
+  height: 300px;
+  width: 500px;
+  overflow: scroll;
+  margin: 0;
+  padding: 0;
+  border: 2px solid gray;
+}
+</style>
+<div class="fieldset">
+<div style="height: 600px; width: 400px;"></div>
+</div>
+<script>
+testRunner.waitUntilDone();
+const fieldset = document.querySelector('.fieldset');
+const rect = fieldset.getBoundingClientRect();
+const clickX = rect.right - 20;
+const clickY = rect.top + 20;
+chrome.gpuBenchmarking.pointerActionSequence([{
+  source: 'mouse',
+  actions: [
+    {name:'pointerDown', x:clickX, y:clickY},
+    {name:'pointerMove', x:clickX, y:clickY + 100},
+    {name:'pointerUp'}
+  ]}], () => { testRunner.notifyDone(); });
+</script>
+
diff --git a/third_party/blink/web_tests/fast/forms/fieldset/fieldset-custom-scrollbar.html b/third_party/blink/web_tests/fast/forms/fieldset/fieldset-custom-scrollbar.html
new file mode 100644
index 0000000..c19e015
--- /dev/null
+++ b/third_party/blink/web_tests/fast/forms/fieldset/fieldset-custom-scrollbar.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<title>Check if fieldset's scrollbars are customized, and the vertical scroll
+position is not initial.</title>
+<style>
+fieldset::-webkit-scrollbar {
+  width: 30px;
+  background: lime;
+}
+fieldset::-webkit-scrollbar-thumb {
+  background: red;
+  border-radius: 12px;
+}
+
+fieldset {
+  height: 300px;
+  width: 500px;
+  overflow: scroll;
+  margin: 0;
+  padding: 0;
+  border: 2px solid gray;
+}
+</style>
+<fieldset>
+<div style="height: 600px; width: 400px;"></div>
+</fieldset>
+<script>
+testRunner.waitUntilDone();
+const fieldset = document.querySelector('fieldset');
+const rect = fieldset.getBoundingClientRect();
+const clickX = rect.right - 20;
+const clickY = rect.top + 20;
+chrome.gpuBenchmarking.pointerActionSequence([{
+  source: 'mouse',
+  actions: [
+    {name:'pointerDown', x:clickX, y:clickY},
+    {name:'pointerMove', x:clickX, y:clickY + 100},
+    {name:'pointerUp'}
+  ]}], () => { testRunner.notifyDone(); });
+</script>
+
diff --git a/third_party/blink/web_tests/wpt_internal/hid/hidDevice_collections-manual.https.html b/third_party/blink/web_tests/wpt_internal/hid/hidDevice_collections-manual.https.html
new file mode 100644
index 0000000..c87b151
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/hid/hidDevice_collections-manual.https.html
@@ -0,0 +1,670 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <title></title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="resources/manual.js"></script>
+  </head>
+  <body>
+    <p>
+      These tests require a supported HID device:
+    </p>
+    <ul>
+      <li>Sony DS4 Wireless Controller v2 (054c:09cc) [USB]
+      <li>Sony DualSense Wireless Controller (054c:0ce6) [USB]
+      <li>Nintendo Switch Pro Controller (0573:2009) [USB]
+      <li>Philips Speech Mike III (0911:0fa0) [USB]
+      <li>Jabra Evolve 65 Stereo Headset with Link (0b0e:0306) [USB]
+      <li>Google Stadia Controller (18d1:9400) [USB]
+    </ul>
+    <script>
+      // Formats a 32-bit integer |value| in hexadecimal with leading zeros.
+      const hex32 = value => {
+        return ('00000000' + value.toString(16)).substr(-8);
+      };
+
+      // Finds the item in |report| with matching |usage|, computes its bit
+      // index within the report map, and checks against the |expectedBitIndex|
+      // and |expectedBitWidth|. If a usage is reused for multiple fields within
+      // a report, only the first field is considered.
+      const checkReportUsage =
+          (report, usage, expectedBitIndex, expectedBitWidth) => {
+        const itemIndex = report.items.findIndex(item => {
+          if (item.isRange)
+            return item.usageMinimum <= usage && usage <= item.usageMaximum;
+          return item.usages.includes(usage);
+        });
+        assert_greater_than_equal(
+            itemIndex, 0,
+            'No report item matching usage 0x' + hex32(usage) + '.');
+        if (itemIndex < 0)
+          return null;
+
+        let bitIndex = 0;
+        for (let i = 0; i < itemIndex; ++i)
+          bitIndex += report.items[i].reportSize * report.items[i].reportCount;
+
+        const item = report.items[itemIndex];
+        if (!item.isArray) {
+          if (item.isRange) {
+            bitIndex += (usage - item.usageMinimum) * item.reportSize;
+          } else {
+            const usageIndex = item.usages.indexOf(usage);
+            bitIndex += usageIndex * item.reportSize;
+          }
+        }
+
+        assert_equals(bitIndex, expectedBitIndex,
+                      'Incorrect bit index for usage 0x' + hex32(usage) + '.');
+        assert_equals(item.reportSize, expectedBitWidth,
+                      'Incorrect bit width for usage 0x' + hex32(usage) + '.');
+      };
+
+      // Returns the first device in |devices| with a top-level collection
+      // matching |usagePage| and |usage|, or undefined if no matching device
+      // was found.
+      const getDeviceByCollectionUsage = (devices, usagePage, usage) => {
+        return devices.find(d => {
+          return d.collections.find(c => {
+            return c.usagePage == usagePage && c.usage == usage;
+          }) !== undefined;
+        });
+      }
+
+      // Returns the first report in |devices| with matching |reportType| and
+      // |reportId|, or undefined if no matching report was found.
+      const getReport = (devices, reportType, reportId) => {
+        for (const d of devices) {
+          for (const c of d.collections) {
+            let reports = [];
+            if (reportType == 'input')
+              reports = c.inputReports;
+            else if (reportType == 'output')
+              reports = c.outputReports;
+            else if (reportType == 'feature')
+              reports = c.featureReports;
+
+            const r = reports.find(r => { return r.reportId == reportId; });
+            if (r !== undefined)
+              return r;
+          }
+        }
+        return undefined;
+      };
+
+      // Returns true if |devices| contains a device with matching |vendorId|
+      // and |productId|.
+      const hasDeviceIds = (devices, vendorId, productId) => {
+        return devices.find(d => {
+          return d.vendorId == vendorId && d.productId == productId;
+        }) !== undefined;
+      };
+
+      const checkReportMapDualshock4 = devices => {
+        // Input report
+        const input01 = getReport(devices, 'input', 0x01);
+        assert_not_equals(input01, undefined, 'input report 0x01');
+        checkReportUsage(input01, 0x00010030, 0, 8);
+        checkReportUsage(input01, 0x00010031, 8, 8);
+        checkReportUsage(input01, 0x00010032, 16, 8);
+        checkReportUsage(input01, 0x00010035, 24, 8);
+        checkReportUsage(input01, 0x00010039, 32, 4);
+        checkReportUsage(input01, 0x00090001, 36, 1);
+        checkReportUsage(input01, 0x00090002, 37, 1);
+        checkReportUsage(input01, 0x00090003, 38, 1);
+        checkReportUsage(input01, 0x00090004, 39, 1);
+        checkReportUsage(input01, 0x00090005, 40, 1);
+        checkReportUsage(input01, 0x00090006, 41, 1);
+        checkReportUsage(input01, 0x00090007, 42, 1);
+        checkReportUsage(input01, 0x00090008, 43, 1);
+        checkReportUsage(input01, 0x00090009, 44, 1);
+        checkReportUsage(input01, 0x0009000a, 45, 1);
+        checkReportUsage(input01, 0x0009000b, 46, 1);
+        checkReportUsage(input01, 0x0009000c, 47, 1);
+        checkReportUsage(input01, 0x0009000d, 48, 1);
+        checkReportUsage(input01, 0x0009000e, 49, 1);
+        checkReportUsage(input01, 0xff000020, 50, 6);
+        checkReportUsage(input01, 0x00010033, 56, 8);
+        checkReportUsage(input01, 0x00010034, 64, 8);
+
+        // Output report
+        const output05 = getReport(devices, 'output', 0x05);
+        assert_not_equals(output05, undefined, 'output report 0x05');
+        checkReportUsage(output05, 0xff000022, 0, 8);
+
+        // Feature reports
+        const feature02 = getReport(devices, 'feature', 0x02);
+        assert_not_equals(feature02, undefined, 'feature report 0x02');
+        checkReportUsage(feature02, 0xff000024, 0, 8);
+        const feature04 = getReport(devices, 'feature', 0x04);
+        assert_not_equals(feature04, undefined, 'feature report 0x04');
+        checkReportUsage(feature04, 0xff000023, 0, 8);
+        const feature08 = getReport(devices, 'feature', 0x08);
+        assert_not_equals(feature08, undefined, 'feature report 0x08');
+        checkReportUsage(feature08, 0xff000025, 0, 8);
+        const feature10 = getReport(devices, 'feature', 0x10);
+        assert_not_equals(feature10, undefined, 'feature report 0x10');
+        checkReportUsage(feature10, 0xff000026, 0, 8);
+        const feature11 = getReport(devices, 'feature', 0x11);
+        assert_not_equals(feature11, undefined, 'feature report 0x11');
+        checkReportUsage(feature11, 0xff000027, 0, 8);
+        const feature12 = getReport(devices, 'feature', 0x12);
+        assert_not_equals(feature12, undefined, 'feature report 0x12');
+        checkReportUsage(feature12, 0xff020021, 0, 8);
+        const feature13 = getReport(devices, 'feature', 0x13);
+        assert_not_equals(feature13, undefined, 'feature report 0x13');
+        checkReportUsage(feature13, 0xff020022, 0, 8);
+        const feature14 = getReport(devices, 'feature', 0x14);
+        assert_not_equals(feature14, undefined, 'feature report 0x14');
+        checkReportUsage(feature14, 0xff050020, 0, 8);
+        const feature15 = getReport(devices, 'feature', 0x15);
+        assert_not_equals(feature15, undefined, 'feature report 0x15');
+        checkReportUsage(feature15, 0xff050021, 0, 8);
+        const feature80 = getReport(devices, 'feature', 0x80);
+        assert_not_equals(feature80, undefined, 'feature report 0x80');
+        checkReportUsage(feature80, 0xff800020, 0, 8);
+        const feature81 = getReport(devices, 'feature', 0x81);
+        assert_not_equals(feature81, undefined, 'feature report 0x81');
+        checkReportUsage(feature81, 0xff800021, 0, 8);
+        const feature82 = getReport(devices, 'feature', 0x82);
+        assert_not_equals(feature82, undefined, 'feature report 0x82');
+        checkReportUsage(feature82, 0xff800022, 0, 8);
+        const feature83 = getReport(devices, 'feature', 0x83);
+        assert_not_equals(feature83, undefined, 'feature report 0x83');
+        checkReportUsage(feature83, 0xff800023, 0, 8);
+        const feature84 = getReport(devices, 'feature', 0x84);
+        assert_not_equals(feature84, undefined, 'feature report 0x84');
+        checkReportUsage(feature84, 0xff800024, 0, 8);
+        const feature85 = getReport(devices, 'feature', 0x85);
+        assert_not_equals(feature85, undefined, 'feature report 0x85');
+        checkReportUsage(feature85, 0xff800025, 0, 8);
+        const feature86 = getReport(devices, 'feature', 0x86);
+        assert_not_equals(feature86, undefined, 'feature report 0x86');
+        checkReportUsage(feature86, 0xff800026, 0, 8);
+        const feature87 = getReport(devices, 'feature', 0x87);
+        assert_not_equals(feature87, undefined, 'feature report 0x87');
+        checkReportUsage(feature87, 0xff800027, 0, 8);
+        const feature88 = getReport(devices, 'feature', 0x88);
+        assert_not_equals(feature88, undefined, 'feature report 0x88');
+        checkReportUsage(feature88, 0xff800028, 0, 8);
+        const feature89 = getReport(devices, 'feature', 0x89);
+        assert_not_equals(feature89, undefined, 'feature report 0x89');
+        checkReportUsage(feature89, 0xff800029, 0, 8);
+        const feature90 = getReport(devices, 'feature', 0x90);
+        assert_not_equals(feature90, undefined, 'feature report 0x90');
+        checkReportUsage(feature90, 0xff800030, 0, 8);
+        const feature91 = getReport(devices, 'feature', 0x91);
+        assert_not_equals(feature91, undefined, 'feature report 0x91');
+        checkReportUsage(feature91, 0xff800031, 0, 8);
+        const feature92 = getReport(devices, 'feature', 0x92);
+        assert_not_equals(feature92, undefined, 'feature report 0x92');
+        checkReportUsage(feature92, 0xff800032, 0, 8);
+        const feature93 = getReport(devices, 'feature', 0x93);
+        assert_not_equals(feature93, undefined, 'feature report 0x93');
+        checkReportUsage(feature93, 0xff800033, 0, 8);
+        const feature94 = getReport(devices, 'feature', 0x94);
+        assert_not_equals(feature94, undefined, 'feature report 0x94');
+        checkReportUsage(feature94, 0xff800034, 0, 8);
+        const featurea0 = getReport(devices, 'feature', 0xa0);
+        assert_not_equals(featurea0, undefined, 'feature report 0xa0');
+        checkReportUsage(featurea0, 0xff800040, 0, 8);
+        const featurea1 = getReport(devices, 'feature', 0xa1);
+        assert_not_equals(featurea1, undefined, 'feature report 0xa1');
+        checkReportUsage(featurea1, 0xff800041, 0, 8);
+        const featurea2 = getReport(devices, 'feature', 0xa2);
+        assert_not_equals(featurea2, undefined, 'feature report 0xa2');
+        checkReportUsage(featurea2, 0xff800042, 0, 8);
+        const featurea3 = getReport(devices, 'feature', 0xa3);
+        assert_not_equals(featurea3, undefined, 'feature report 0xa3');
+        checkReportUsage(featurea3, 0xff800043, 0, 8);
+        const featurea4 = getReport(devices, 'feature', 0xa4);
+        assert_not_equals(featurea4, undefined, 'feature report 0xa4');
+        checkReportUsage(featurea4, 0xff800044, 0, 8);
+        const featurea7 = getReport(devices, 'feature', 0xa7);
+        assert_not_equals(featurea7, undefined, 'feature report 0xa7');
+        checkReportUsage(featurea7, 0xff80004a, 0, 8);
+        const featurea8 = getReport(devices, 'feature', 0xa8);
+        assert_not_equals(featurea8, undefined, 'feature report 0xa8');
+        checkReportUsage(featurea8, 0xff80004b, 0, 8);
+        const featurea9 = getReport(devices, 'feature', 0xa9);
+        assert_not_equals(featurea9, undefined, 'feature report 0xa9');
+        checkReportUsage(featurea9, 0xff80004c, 0, 8);
+        const featureaa = getReport(devices, 'feature', 0xaa);
+        assert_not_equals(featureaa, undefined, 'feature report 0xaa');
+        checkReportUsage(featureaa, 0xff80004e, 0, 8);
+        const featureab = getReport(devices, 'feature', 0xab);
+        assert_not_equals(featureab, undefined, 'feature report 0xab');
+        checkReportUsage(featureab, 0xff80004f, 0, 8);
+        const featureac = getReport(devices, 'feature', 0xac);
+        assert_not_equals(featureac, undefined, 'feature report 0xac');
+        checkReportUsage(featureac, 0xff800050, 0, 8);
+        const featuread = getReport(devices, 'feature', 0xad);
+        assert_not_equals(featuread, undefined, 'feature report 0xad');
+        checkReportUsage(featuread, 0xff800051, 0, 8);
+        const featureae = getReport(devices, 'feature', 0xae);
+        assert_not_equals(featureae, undefined, 'feature report 0xae');
+        checkReportUsage(featureae, 0xff800052, 0, 8);
+        const featureaf = getReport(devices, 'feature', 0xaf);
+        assert_not_equals(featureaf, undefined, 'feature report 0xaf');
+        checkReportUsage(featureaf, 0xff800053, 0, 8);
+        const featureb0 = getReport(devices, 'feature', 0xb0);
+        assert_not_equals(featureb0, undefined, 'feature report 0xb0');
+        checkReportUsage(featureb0, 0xff800054, 0, 8);
+        const featureb3 = getReport(devices, 'feature', 0xb3);
+        assert_not_equals(featureb3, undefined, 'feature report 0xb3');
+        checkReportUsage(featureb3, 0xff800055, 0, 8);
+        const featureb4 = getReport(devices, 'feature', 0xb4);
+        assert_not_equals(featureb4, undefined, 'feature report 0xb4');
+        checkReportUsage(featureb4, 0xff800055, 0, 8);
+        const featureb5 = getReport(devices, 'feature', 0xb5);
+        assert_not_equals(featureb5, undefined, 'feature report 0xb5');
+        checkReportUsage(featureb5, 0xff800056, 0, 8);
+        const featured0 = getReport(devices, 'feature', 0xd0);
+        assert_not_equals(featured0, undefined, 'feature report 0xd0');
+        checkReportUsage(featured0, 0xff800058, 0, 8);
+        const featured4 = getReport(devices, 'feature', 0xd4);
+        assert_not_equals(featured4, undefined, 'feature report 0xd4');
+        checkReportUsage(featured4, 0xff800059, 0, 8);
+        const featuree0 = getReport(devices, 'feature', 0xe0);
+        assert_not_equals(featuree0, undefined, 'feature report 0xe0');
+        checkReportUsage(featuree0, 0xff800057, 0, 8);
+        const featuref0 = getReport(devices, 'feature', 0xf0);
+        assert_not_equals(featuref0, undefined, 'feature report 0xf0');
+        checkReportUsage(featuref0, 0xff800047, 0, 8);
+        const featuref1 = getReport(devices, 'feature', 0xf1);
+        assert_not_equals(featuref1, undefined, 'feature report 0xf1');
+        checkReportUsage(featuref1, 0xff800048, 0, 8);
+        const featuref2 = getReport(devices, 'feature', 0xf2);
+        assert_not_equals(featuref2, undefined, 'feature report 0xf2');
+        checkReportUsage(featuref2, 0xff800049, 0, 8);
+      };
+
+      checkReportMapDualSense = devices => {
+        // Input report
+        const input01 = getReport(devices, 'input', 0x01);
+        assert_not_equals(input01, undefined, 'input report 0x01');
+        checkReportUsage(input01, 0x00010030, 0, 8);
+        checkReportUsage(input01, 0x00010031, 8, 8);
+        checkReportUsage(input01, 0x00010032, 16, 8);
+        checkReportUsage(input01, 0x00010035, 24, 8);
+        checkReportUsage(input01, 0x00010033, 32, 8);
+        checkReportUsage(input01, 0x00010034, 40, 8);
+        checkReportUsage(input01, 0xff000020, 48, 8);
+        checkReportUsage(input01, 0x00010039, 56, 4);
+        checkReportUsage(input01, 0x00090001, 60, 1);
+        checkReportUsage(input01, 0x00090002, 61, 1);
+        checkReportUsage(input01, 0x00090003, 62, 1);
+        checkReportUsage(input01, 0x00090004, 63, 1);
+        checkReportUsage(input01, 0x00090005, 64, 1);
+        checkReportUsage(input01, 0x00090006, 65, 1);
+        checkReportUsage(input01, 0x00090007, 66, 1);
+        checkReportUsage(input01, 0x00090008, 67, 1);
+        checkReportUsage(input01, 0x00090009, 68, 1);
+        checkReportUsage(input01, 0x0009000a, 69, 1);
+        checkReportUsage(input01, 0x0009000b, 70, 1);
+        checkReportUsage(input01, 0x0009000c, 71, 1);
+        checkReportUsage(input01, 0x0009000d, 72, 1);
+        checkReportUsage(input01, 0x0009000e, 73, 1);
+        checkReportUsage(input01, 0x0009000f, 74, 1);
+        checkReportUsage(input01, 0xff000021, 75, 1);
+        checkReportUsage(input01, 0xff000022, 88, 8);
+
+        // Output report
+        const output02 = getReport(devices, 'output', 0x02);
+        assert_not_equals(output02, undefined, 'output report 0x02');
+        checkReportUsage(output02, 0xff000023, 0, 8);
+
+        // Feature reports
+        const feature05 = getReport(devices, 'feature', 0x05);
+        assert_not_equals(feature05, undefined, 'feature report 0x05');
+        checkReportUsage(feature05, 0xff000033, 0, 8);
+        const feature08 = getReport(devices, 'feature', 0x08);
+        assert_not_equals(feature08, undefined, 'feature report 0x08');
+        checkReportUsage(feature08, 0xff000034, 0, 8);
+        const feature09 = getReport(devices, 'feature', 0x09);
+        assert_not_equals(feature09, undefined, 'feature report 0x09');
+        checkReportUsage(feature09, 0xff000024, 0, 8);
+        const feature0a = getReport(devices, 'feature', 0x0a);
+        assert_not_equals(feature0a, undefined, 'feature report 0x0a');
+        checkReportUsage(feature0a, 0xff000025, 0, 8);
+        const feature20 = getReport(devices, 'feature', 0x20);
+        assert_not_equals(feature20, undefined, 'feature report 0x20');
+        checkReportUsage(feature20, 0xff000026, 0, 8);
+        const feature21 = getReport(devices, 'feature', 0x21);
+        assert_not_equals(feature21, undefined, 'feature report 0x21');
+        checkReportUsage(feature21, 0xff000027, 0, 8);
+        const feature22 = getReport(devices, 'feature', 0x22);
+        assert_not_equals(feature22, undefined, 'feature report 0x22');
+        checkReportUsage(feature22, 0xff000040, 0, 8);
+        const feature80 = getReport(devices, 'feature', 0x80);
+        assert_not_equals(feature80, undefined, 'feature report 0x80');
+        checkReportUsage(feature80, 0xff000028, 0, 8);
+        const feature81 = getReport(devices, 'feature', 0x81);
+        assert_not_equals(feature81, undefined, 'feature report 0x81');
+        checkReportUsage(feature81, 0xff000029, 0, 8);
+        const feature82 = getReport(devices, 'feature', 0x82);
+        assert_not_equals(feature82, undefined, 'feature report 0x82');
+        checkReportUsage(feature82, 0xff00002a, 0, 8);
+        const feature83 = getReport(devices, 'feature', 0x83);
+        assert_not_equals(feature83, undefined, 'feature report 0x83');
+        checkReportUsage(feature83, 0xff00002b, 0, 8);
+        const feature84 = getReport(devices, 'feature', 0x84);
+        assert_not_equals(feature84, undefined, 'feature report 0x84');
+        checkReportUsage(feature84, 0xff00002c, 0, 8);
+        const feature85 = getReport(devices, 'feature', 0x85);
+        assert_not_equals(feature85, undefined, 'feature report 0x85');
+        checkReportUsage(feature85, 0xff00002d, 0, 8);
+        const featurea0 = getReport(devices, 'feature', 0xa0);
+        assert_not_equals(featurea0, undefined, 'feature report 0xa0');
+        checkReportUsage(featurea0, 0xff00002e, 0, 8);
+        const featuree0 = getReport(devices, 'feature', 0xe0);
+        assert_not_equals(featuree0, undefined, 'feature report 0xe0');
+        checkReportUsage(featuree0, 0xff00002f, 0, 8);
+        const featuref0 = getReport(devices, 'feature', 0xf0);
+        assert_not_equals(featuref0, undefined, 'feature report 0xf0');
+        checkReportUsage(featuref0, 0xff000030, 0, 8);
+        const featuref1 = getReport(devices, 'feature', 0xf1);
+        assert_not_equals(featuref1, undefined, 'feature report 0xf1');
+        checkReportUsage(featuref1, 0xff000031, 0, 8);
+        const featuref2 = getReport(devices, 'feature', 0xf2);
+        assert_not_equals(featuref2, undefined, 'feature report 0xf2');
+        checkReportUsage(featuref2, 0xff000032, 0, 8);
+        const featuref4 = getReport(devices, 'feature', 0xf4);
+        assert_not_equals(featuref4, undefined, 'feature report 0xf4');
+        checkReportUsage(featuref4, 0xff000035, 0, 8);
+        const featuref5 = getReport(devices, 'feature', 0xf5);
+        assert_not_equals(featuref5, undefined, 'feature report 0xf5');
+        checkReportUsage(featuref5, 0xff000036, 0, 8);
+      };
+
+      checkReportMapSwitchPro = devices => {
+        // Input reports
+        const input30 = getReport(devices, 'input', 0x30);
+        assert_not_equals(input30, undefined, 'input report 0x30');
+        checkReportUsage(input30, 0x00090001, 0, 1);
+        checkReportUsage(input30, 0x00090002, 1, 1);
+        checkReportUsage(input30, 0x00090003, 2, 1);
+        checkReportUsage(input30, 0x00090004, 3, 1);
+        checkReportUsage(input30, 0x00090005, 4, 1);
+        checkReportUsage(input30, 0x00090006, 5, 1);
+        checkReportUsage(input30, 0x00090007, 6, 1);
+        checkReportUsage(input30, 0x00090008, 7, 1);
+        checkReportUsage(input30, 0x00090009, 8, 1);
+        checkReportUsage(input30, 0x0009000a, 9, 1);
+        checkReportUsage(input30, 0x0009000b, 10, 1);
+        checkReportUsage(input30, 0x0009000c, 11, 1);
+        checkReportUsage(input30, 0x0009000d, 12, 1);
+        checkReportUsage(input30, 0x0009000e, 13, 1);
+        checkReportUsage(input30, 0x00010030, 16, 16);
+        checkReportUsage(input30, 0x00010031, 32, 16);
+        checkReportUsage(input30, 0x00010032, 48, 16);
+        checkReportUsage(input30, 0x00010035, 64, 16);
+        checkReportUsage(input30, 0x00010039, 80, 4);
+        checkReportUsage(input30, 0x0009000f, 84, 1);
+        checkReportUsage(input30, 0x00090010, 85, 1);
+        checkReportUsage(input30, 0x00090011, 86, 1);
+        checkReportUsage(input30, 0x00090012, 87, 1);
+
+        const input21 = getReport(devices, 'input', 0x21);
+        assert_not_equals(input21, undefined, 'input report 0x21');
+        checkReportUsage(input21, 0xff000001, 0, 8);
+
+        const input81 = getReport(devices, 'input', 0x81);
+        assert_not_equals(input81, undefined, 'input report 0x81');
+        checkReportUsage(input81, 0xff000002, 0, 8);
+
+        // Output reports
+        const output01 = getReport(devices, 'output', 0x01);
+        assert_not_equals(output01, undefined, 'output report 0x01');
+        checkReportUsage(output01, 0xff000003, 0, 8);
+
+        const output10 = getReport(devices, 'output', 0x10);
+        assert_not_equals(output10, undefined, 'output report 0x10');
+        checkReportUsage(output10, 0xff000004, 0, 8);
+
+        const output80 = getReport(devices, 'output', 0x80);
+        assert_not_equals(output80, undefined, 'output report 0x80');
+        checkReportUsage(output80, 0xff000005, 0, 8);
+
+        const output82 = getReport(devices, 'output', 0x82);
+        assert_not_equals(output82, undefined, 'output report 0x82');
+        checkReportUsage(output82, 0xff000006, 0, 8);
+      };
+
+      checkReportMapSpeechMike = devices => {
+        // Speech Mike exposes five HID interfaces, two of which are blocked by
+        // WebHID. None of the interfaces use report IDs. Distinguish the
+        // interfaces by their top-level collection usage information.
+        const device0 = getDeviceByCollectionUsage(devices, 0xffa0, 0x0001);
+        assert_not_equals(device0, undefined, 'vendor device');
+        const device1 = getDeviceByCollectionUsage(devices, 0x000c, 0x0001);
+        assert_not_equals(device1, undefined, 'consumer device');
+        const device2 = getDeviceByCollectionUsage(devices, 0x0001, 0x0004);
+        assert_not_equals(device2, undefined, 'joystick device');
+
+        // These devices should be blocked by WebHID.
+        const device3 = getDeviceByCollectionUsage(devices, 0x0001, 0x0002);
+        assert_equals(device3, undefined, 'mouse device');
+        const device4 = getDeviceByCollectionUsage(devices, 0x0001, 0x0006);
+        assert_equals(device4, undefined, 'keyboard device');
+
+        const device0Input = getReport([device0], 'input', 0x00);
+        assert_not_equals(device0Input, undefined, 'vendor input report');
+        checkReportUsage(device0Input, 0xffa10003, 0, 8);
+        checkReportUsage(device0Input, 0xffa10004, 8, 8);
+
+        const device0Output = getReport([device0], 'output', 0x00);
+        assert_not_equals(device0Input, undefined, 'vendor output report');
+        checkReportUsage(device0Output, 0xffa10005, 0, 8);
+        checkReportUsage(device0Output, 0xffa10006, 8, 8);
+
+        const device1Input = getReport([device1], 'input', 0x00);
+        assert_not_equals(device1Input, undefined, 'consumer input report');
+        checkReportUsage(device1Input, 0x000c00e9, 0, 1);
+        checkReportUsage(device1Input, 0x000c00ea, 1, 1);
+
+        const device2Input = getReport([device2], 'input', 0x00);
+        assert_not_equals(device2Input, undefined, 'joystick input report');
+        checkReportUsage(device2Input, 0x00090001, 0, 1);
+        checkReportUsage(device2Input, 0x00090002, 1, 1);
+        checkReportUsage(device2Input, 0x00090003, 2, 1);
+        checkReportUsage(device2Input, 0x00090004, 3, 1);
+        checkReportUsage(device2Input, 0x00090005, 4, 1);
+        checkReportUsage(device2Input, 0x00090006, 5, 1);
+        checkReportUsage(device2Input, 0x00090007, 6, 1);
+        checkReportUsage(device2Input, 0x00090008, 7, 1);
+        checkReportUsage(device2Input, 0x00090009, 8, 1);
+        checkReportUsage(device2Input, 0x0009000a, 9, 1);
+        checkReportUsage(device2Input, 0x0009000b, 10, 1);
+        checkReportUsage(device2Input, 0x0009000c, 11, 1);
+        checkReportUsage(device2Input, 0x0009000d, 12, 1);
+        checkReportUsage(device2Input, 0x0009000e, 13, 1);
+        checkReportUsage(device2Input, 0x0009000f, 14, 1);
+        checkReportUsage(device2Input, 0x00090010, 15, 1);
+        checkReportUsage(device2Input, 0x00090011, 16, 1);
+        checkReportUsage(device2Input, 0x00090012, 17, 1);
+        checkReportUsage(device2Input, 0x00090013, 18, 1);
+        checkReportUsage(device2Input, 0x00090014, 19, 1);
+        checkReportUsage(device2Input, 0x00010030, 24, 8);
+        checkReportUsage(device2Input, 0x00010031, 32, 8);
+      };
+
+      checkReportMapEvolveLink = devices => {
+        // Input reports
+        const input01 = getReport(devices, 'input', 0x01);
+        assert_not_equals(input01, undefined, 'input report 0x01');
+
+        const input02 = getReport(devices, 'input', 0x02);
+        assert_not_equals(input02, undefined, 'input report 0x02');
+        checkReportUsage(input02, 0x000b0020, 0, 1);
+        checkReportUsage(input02, 0x000b0097, 1, 1);
+        checkReportUsage(input02, 0x000b002f, 2, 1);
+        checkReportUsage(input02, 0x000b0021, 3, 1);
+        checkReportUsage(input02, 0x000b0024, 4, 1);
+        checkReportUsage(input02, 0x000b0050, 5, 1);
+
+        // The following item is buggy in a way that causes it to differ by
+        // platform. Here is the relevant portion of the report descriptor:
+        //
+        // 0x05, 0x0B,        //   Usage Page (Telephony)
+        // ...  (some irrelevant items omitted)
+        // 0x09, 0x07,        //   Usage (Programmable Button)
+        // 0x05, 0x09,        //   Usage Page (Button)
+        // 0x75, 0x01,        //   Report Size (1)
+        // 0x95, 0x01,        //   Report Count (1)
+        // 0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,...)
+        //
+        // The Input item on the last line emits a 1-bit report field. The usage
+        // is defined by the preceding Usage Page and Usage items. Usage Page
+        // items are global, meaning the page set by the first Usage Page item
+        // persists until it is overridden by a following Usage Page item.
+        // According to the HID specification for the Usage Page item, "Any
+        // usage that follows which is defined as 16 bits or less is interpreted
+        // as a Usage ID and concatenated with the Usage Page to form a 32 bit
+        // Usage." This means the Usage should be concatenated with the
+        // preceding Usage Page (Telephony) and not the following Usage Page
+        // (Button).
+        //
+        // On platforms where we parse the raw HID report descriptor, we
+        // correctly use the preceding Usage Page (Telephony). On Windows,
+        // report descriptor information is parsed by the operating system and
+        // provided to applications as "preparsed data". This parser incorrectly
+        // applies the following Usage Page (Button).
+        //
+        // To avoid platform dependency, skip verifying this item.
+
+        //checkReportUsage(input02, 0x000b0007, 6, 1);
+        checkReportUsage(input02, 0x000b00b0, 7, 4);
+        checkReportUsage(input02, 0x000b00b1, 7, 4);
+        checkReportUsage(input02, 0x000b00b2, 7, 4);
+        checkReportUsage(input02, 0x000b00b3, 7, 4);
+        checkReportUsage(input02, 0x000b00b4, 7, 4);
+        checkReportUsage(input02, 0x000b00b5, 7, 4);
+        checkReportUsage(input02, 0x000b00b6, 7, 4);
+        checkReportUsage(input02, 0x000b00b7, 7, 4);
+        checkReportUsage(input02, 0x000b00b8, 7, 4);
+        checkReportUsage(input02, 0x000b00b9, 7, 4);
+        checkReportUsage(input02, 0x000b00ba, 7, 4);
+        checkReportUsage(input02, 0x000b00bb, 7, 4);
+
+        const input04 = getReport(devices, 'input', 0x04);
+        assert_not_equals(input04, undefined, 'input report 0x04');
+        checkReportUsage(input04, 0xff300020, 0, 1);
+        checkReportUsage(input04, 0xff300097, 1, 1);
+        checkReportUsage(input04, 0xff30002f, 2, 1);
+        checkReportUsage(input04, 0xff300021, 3, 1);
+        checkReportUsage(input04, 0xff300024, 4, 1);
+        checkReportUsage(input04, 0xff30fffd, 5, 1);
+        checkReportUsage(input04, 0xff300050, 6, 1);
+        checkReportUsage(input04, 0xff3000b0, 7, 4);
+        checkReportUsage(input04, 0xff3000b1, 7, 4);
+        checkReportUsage(input04, 0xff3000b2, 7, 4);
+        checkReportUsage(input04, 0xff3000b3, 7, 4);
+        checkReportUsage(input04, 0xff3000b4, 7, 4);
+        checkReportUsage(input04, 0xff3000b5, 7, 4);
+        checkReportUsage(input04, 0xff3000b6, 7, 4);
+        checkReportUsage(input04, 0xff3000b7, 7, 4);
+        checkReportUsage(input04, 0xff3000b8, 7, 4);
+        checkReportUsage(input04, 0xff3000b9, 7, 4);
+        checkReportUsage(input04, 0xff3000ba, 7, 4);
+        checkReportUsage(input04, 0xff3000bb, 7, 4);
+
+        const input05 = getReport(devices, 'input', 0x05);
+        assert_not_equals(input05, undefined, 'input report 0x05');
+        checkReportUsage(input05, 0xff000001, 0, 8);
+
+        const input08 = getReport(devices, 'input', 0x08);
+        assert_not_equals(input08, undefined, 'input report 0x08');
+        checkReportUsage(input08, 0xff600002, 0, 1);
+
+        // Output reports
+        const output02 = getReport(devices, 'output', 0x02);
+        assert_not_equals(output02, undefined, 'output report 0x02');
+        checkReportUsage(output02, 0x00080017, 0, 1);
+        checkReportUsage(output02, 0x00080009, 1, 1);
+        checkReportUsage(output02, 0x00080018, 2, 1);
+        checkReportUsage(output02, 0x00080020, 3, 1);
+        checkReportUsage(output02, 0x00080021, 4, 1);
+        checkReportUsage(output02, 0x000b009e, 5, 1);
+
+        const output04 = getReport(devices, 'output', 0x04);
+        assert_not_equals(output04, undefined, 'output report 0x04');
+        checkReportUsage(output04, 0xff400017, 0, 1);
+        checkReportUsage(output04, 0xff400009, 1, 1);
+        checkReportUsage(output04, 0xff400018, 2, 1);
+        checkReportUsage(output04, 0xff400020, 3, 1);
+        checkReportUsage(output04, 0xff400021, 4, 1);
+        checkReportUsage(output04, 0xff30009e, 5, 1);
+
+        const output05 = getReport(devices, 'output', 0x05);
+        assert_not_equals(output05, undefined, 'output report 0x05');
+        checkReportUsage(output05, 0xff000001, 0, 8);
+
+        // Feature report 0x08
+        const feature08 = getReport(devices, 'feature', 0x08);
+        assert_not_equals(feature08, undefined, 'feature report 0x08');
+        checkReportUsage(feature08, 0xff600002, 0, 1);
+      };
+
+      checkReportMapStadiaController = devices => {
+        // Input report 0x03
+        const input03 = getReport(devices, 'input', 0x03);
+        assert_not_equals(input03, undefined, 'input report 0x03');
+        checkReportUsage(input03, 0x00010039, 0, 4);
+        checkReportUsage(input03, 0x00090012, 8, 1);
+        checkReportUsage(input03, 0x00090011, 9, 1);
+        checkReportUsage(input03, 0x00090014, 10, 1);
+        checkReportUsage(input03, 0x00090013, 11, 1);
+        checkReportUsage(input03, 0x0009000d, 12, 1);
+        checkReportUsage(input03, 0x0009000c, 13, 1);
+        checkReportUsage(input03, 0x0009000b, 14, 1);
+        checkReportUsage(input03, 0x0009000f, 15, 1);
+        checkReportUsage(input03, 0x0009000e, 16, 1);
+        checkReportUsage(input03, 0x00090008, 17, 1);
+        checkReportUsage(input03, 0x00090007, 18, 1);
+        checkReportUsage(input03, 0x00090005, 19, 1);
+        checkReportUsage(input03, 0x00090004, 20, 1);
+        checkReportUsage(input03, 0x00090002, 21, 1);
+        checkReportUsage(input03, 0x00090001, 22, 1);
+        checkReportUsage(input03, 0x00010030, 24, 8);
+        checkReportUsage(input03, 0x00010031, 32, 8);
+        checkReportUsage(input03, 0x00010032, 40, 8);
+        checkReportUsage(input03, 0x00010035, 48, 8);
+        checkReportUsage(input03, 0x000200c5, 56, 8);
+        checkReportUsage(input03, 0x000200c4, 64, 8);
+        checkReportUsage(input03, 0x000c00e9, 72, 1);
+        checkReportUsage(input03, 0x000c00ea, 73, 1);
+        checkReportUsage(input03, 0x000c00cd, 74, 1);
+
+        // Output report 0x05
+        const output05 = getReport(devices, 'output', 0x05);
+        assert_not_equals(output05, undefined, 'output report 0x05');
+        checkReportUsage(output05, 0x000f0097, 0, 16);
+      };
+
+      // The content of the HIDDevice.collections member can differ by platform,
+      // so this test aims to only test the properties that are expected to
+      // remain consistent. In particular, the test verifies that all reports
+      // are present and that each report field with an assigned usage appears
+      // at the correct bit index and has the correct field bit width.
+      manual_hid_test(async (t, devices) => {
+        if (hasDeviceIds(devices, 0x054c, 0x09cc))
+          checkReportMapDualshock4(devices);
+        else if (hasDeviceIds(devices, 0x054c, 0x0ce6))
+          checkReportMapDualSense(devices);
+        else if (hasDeviceIds(devices, 0x057e, 0x2009))
+          checkReportMapSwitchPro(devices);
+        else if (hasDeviceIds(devices, 0x0911, 0x0fa0))
+          checkReportMapSpeechMike(devices);
+        else if (hasDeviceIds(devices, 0x0b0e, 0x0306))
+          checkReportMapEvolveLink(devices);
+        else if (hasDeviceIds(devices, 0x18d1, 0x9400))
+          checkReportMapStadiaController(devices);
+        else
+          assert_unreached('Select a supported device.');
+      }, 'Collection info matches the expected report map.');
+    </script>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/wpt_internal/hid/resources/manual.js b/third_party/blink/web_tests/wpt_internal/hid/resources/manual.js
new file mode 100644
index 0000000..10226cd
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/hid/resources/manual.js
@@ -0,0 +1,41 @@
+let manualTestDevices = [];
+
+navigator.hid.addEventListener('disconnect', (e) => {
+  if (manualTestDevices.includes(e.device)) {
+    manualTestDevices = [];
+  }
+})
+
+async function getDeviceForManualTest() {
+  if (manualTestDevices.length > 0) {
+    return manualTestDevices;
+  }
+
+  const button = document.createElement('button');
+  button.textContent = 'Click to connect to a HID device';
+  button.style.display = 'block';
+  button.style.fontSize = '20px';
+  button.style.padding = '10px';
+
+  await new Promise((resolve) => {
+    button.onclick = () => {
+      document.body.removeChild(button);
+      resolve();
+    };
+    document.body.appendChild(button);
+  });
+
+  manualTestDevices = await navigator.hid.requestDevice({filters: []});
+  assert_greater_than(manualTestDevices.length, 0);
+  for (const d of manualTestDevices) {
+    assert_true(d instanceof HIDDevice);
+  }
+
+  return manualTestDevices;
+}
+
+function manual_hid_test(func, name, properties) {
+  promise_test(async (test) => {
+    await func(test, await getDeviceForManualTest());
+  }, name, properties);
+}
diff --git a/third_party/webxr_test_pages/webxr-samples/proposals/lighting-estimation.html b/third_party/webxr_test_pages/webxr-samples/proposals/lighting-estimation.html
index 40381162..a4e435fc 100644
--- a/third_party/webxr_test_pages/webxr-samples/proposals/lighting-estimation.html
+++ b/third_party/webxr_test_pages/webxr-samples/proposals/lighting-estimation.html
@@ -19,6 +19,7 @@
 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 -->
+
 <html>
   <head>
     <meta charset="utf-8">
@@ -26,8 +27,7 @@
     <meta name='mobile-web-app-capable' content='yes'>
     <meta name='apple-mobile-web-app-capable' content='yes'>
 
-    <!-- Origin Trial Token, feature = WebXR Device API, origin = https://immersive-web.github.io, expires = 2018-08-28 -->
-    <meta http-equiv="origin-trial" data-feature="WebXR Device API" data-expires="2018-08-28" content="AnNpu7ceXvLew05ccD8Zr1OZsdZiB2hLQKK82kTTMDwF7oRKtP3QEJ4RzkeHrmB8Sq0vSV6ZNmszpBCZ0I8p9gAAAABceyJvcmlnaW4iOiJodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvOjQ0MyIsImZlYXR1cmUiOiJXZWJYUkRldmljZSIsImV4cGlyeSI6MTUzNTQxNDQwMH0=">
+    <meta http-equiv="origin-trial" data-expires="2020-12-29" content="AhFJp7RFfvuQzvUzm2kjagna4L0VlVOlX7AR/M1/uyG5E9SpAPzGqQ7XxHrR3+UbOEjWEJ9fMtpkHMaXKf+OAQsAAABkeyJvcmlnaW4iOiJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb206NDQzIiwiZmVhdHVyZSI6IldlYlhSTGlnaHRFc3RpbWF0aW9uIiwiZXhwaXJ5IjoxNjA5MjgyODIwfQ==">
     <link href='../css/common.css' rel='stylesheet'>
 
     <!--The polyfill is not needed for browser that have native API support,
diff --git a/tools/android/modularization/owners/owners_git.py b/tools/android/modularization/owners/owners_git.py
index 32444f3..d448582 100644
--- a/tools/android/modularization/owners/owners_git.py
+++ b/tools/android/modularization/owners/owners_git.py
@@ -41,7 +41,7 @@
 def _run_ls_files_command(subdirectory: Optional[str],
                           git_src: str) -> List[str]:
   command = _build_ls_files_command(subdirectory)
-  filepath_str = run_command(_build_ls_files_command(subdirectory), cwd=git_src)
+  filepath_str = run_command(command, cwd=git_src)
   return [filepath for filepath in filepath_str.split('\n') if filepath]
 
 
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index 8498dc83..48f78ad 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -38,7 +38,7 @@
 # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md
 # Reverting problematic clang rolls is safe, though.
 # This is the output of `git describe` and is usable as a commit-ish.
-CLANG_REVISION = 'llvmorg-12-init-11780-g6ef07111'
+CLANG_REVISION = 'llvmorg-12-init-12083-g94e4ec64'
 CLANG_SUB_REVISION = 1
 
 PACKAGE_VERSION = '%s-%s' % (CLANG_REVISION, CLANG_SUB_REVISION)
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index c8e61c92..a3aaaf3 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -1280,6 +1280,7 @@
 
 <enum name="AdsViolations">
   <int value="0" label="kMobileAdDensityByHeightAbove30"/>
+  <int value="1" label="kHeavyAdsInterventionAtHostLimit"/>
 </enum>
 
 <enum name="AdUserActivationStatus">
@@ -1386,7 +1387,11 @@
 </enum>
 
 <enum name="AmbientModePhotoSource">
-  <int value="0" label="Default"/>
+  <int value="0" label="Default">
+    This is when user clicked on the top level Screen Saver toggle but did not
+    click on any of photo source categories. The system will default show Art
+    Gallery with a default list of art sub categories.
+  </int>
   <int value="1" label="Art Gallery"/>
   <int value="2" label="Google Photos Recent Highlights Only"/>
   <int value="3" label="Google Photos Personal Albums Only"/>
@@ -39409,6 +39414,7 @@
   <int value="0" label="Dino game widget"/>
   <int value="1" label="Search widget"/>
   <int value="2" label="Quick actions widget"/>
+  <int value="3" label="A widget that has become obsolete"/>
 </enum>
 
 <enum name="IOSWKWebViewLinkPreviewAction">
@@ -67837,6 +67843,7 @@
   <int value="11" label="Abort: no browser window"/>
   <int value="12" label="Abort: password update"/>
   <int value="13" label="Abort: password update pending"/>
+  <int value="14" label="Abort: user declined new profile for this account"/>
 </enum>
 
 <enum name="SigninInterceptResult">
diff --git a/tools/metrics/histograms/histograms_xml/android/histograms.xml b/tools/metrics/histograms/histograms_xml/android/histograms.xml
index bbb9276..c64926b 100644
--- a/tools/metrics/histograms/histograms_xml/android/histograms.xml
+++ b/tools/metrics/histograms/histograms_xml/android/histograms.xml
@@ -2410,6 +2410,9 @@
 
 <histogram name="Android.WebView.ExtraHeaders.Valid" enum="BooleanValid"
     expires_after="2021-01-14">
+  <obsolete>
+    Removed Nov 2020; experiment is done and the data isn't useful.
+  </obsolete>
   <owner>torne@chromium.org</owner>
   <owner>src/android_webview/OWNERS</owner>
   <summary>
diff --git a/tools/metrics/histograms/histograms_xml/ash/histograms.xml b/tools/metrics/histograms/histograms_xml/ash/histograms.xml
index 11ce469..3e44d11 100644
--- a/tools/metrics/histograms/histograms_xml/ash/histograms.xml
+++ b/tools/metrics/histograms/histograms_xml/ash/histograms.xml
@@ -1169,6 +1169,10 @@
 
 <histogram name="Ash.PhoneHub.InterstitialScreenEvent.{Screen}"
     enum="PhoneHubInterstitialScreenEvent" expires_after="2021-10-31">
+  <obsolete>
+    Moved to tools/metrics/histograms/histograms_xml/phonehub/histograms.xml.
+    Removed 11/2020 in M89.
+  </obsolete>
   <owner>tengs@chromium.org</owner>
   <owner>khorimoto@chromium.org</owner>
   <summary>
@@ -1203,6 +1207,10 @@
 
 <histogram name="Ash.PhoneHub.NotificationCount" units="notifications"
     expires_after="2021-10-31">
+  <obsolete>
+    Moved to tools/metrics/histograms/histograms_xml/phonehub/histograms.xml.
+    Removed 11/2020 in M89.
+  </obsolete>
   <owner>tengs@chromium.org</owner>
   <owner>khorimoto@chromium.org</owner>
   <summary>
@@ -1213,6 +1221,10 @@
 
 <histogram name="Ash.PhoneHub.NotificationOptInEvents"
     enum="PhoneHubInterstitialScreenEvent" expires_after="2021-10-31">
+  <obsolete>
+    Moved to tools/metrics/histograms/histograms_xml/phonehub/histograms.xml.
+    Removed 11/2020 in M89.
+  </obsolete>
   <owner>tengs@chromium.org</owner>
   <owner>khorimoto@chromium.org</owner>
   <summary>Events for the given notification opt-in prompt.</summary>
@@ -1220,6 +1232,10 @@
 
 <histogram name="Ash.PhoneHub.QuickActionClicked" enum="PhoneHubQuickAction"
     expires_after="2021-10-31">
+  <obsolete>
+    Moved to tools/metrics/histograms/histograms_xml/phonehub/histograms.xml.
+    Removed 11/2020 in M89.
+  </obsolete>
   <owner>tengs@chromium.org</owner>
   <owner>khorimoto@chromium.org</owner>
   <summary>Event logged after the user clicks on a quick action.</summary>
@@ -1227,6 +1243,10 @@
 
 <histogram name="Ash.PhoneHub.ScreenOnSettingsButtonClicked"
     enum="PhoneHubScreen" expires_after="2021-10-31">
+  <obsolete>
+    Moved to tools/metrics/histograms/histograms_xml/phonehub/histograms.xml.
+    Removed 11/2020 in M89.
+  </obsolete>
   <owner>tengs@chromium.org</owner>
   <owner>khorimoto@chromium.org</owner>
   <summary>
@@ -1237,6 +1257,10 @@
 
 <histogram name="Ash.PhoneHub.ScreenOn{BubbleEvent}" enum="PhoneHubScreen"
     expires_after="2021-10-31">
+  <obsolete>
+    Moved to tools/metrics/histograms/histograms_xml/phonehub/histograms.xml.
+    Removed 11/2020 in M89.
+  </obsolete>
   <owner>tengs@chromium.org</owner>
   <owner>khorimoto@chromium.org</owner>
   <summary>
@@ -1251,6 +1275,10 @@
 
 <histogram name="Ash.PhoneHub.TabContinuationChipClicked" units="tab index"
     expires_after="2021-10-31">
+  <obsolete>
+    Moved to tools/metrics/histograms/histograms_xml/phonehub/histograms.xml.
+    Removed 11/2020 in M89.
+  </obsolete>
   <owner>tengs@chromium.org</owner>
   <owner>khorimoto@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/histograms_xml/blink/histograms.xml b/tools/metrics/histograms/histograms_xml/blink/histograms.xml
index ba11ca8..203a14e7 100644
--- a/tools/metrics/histograms/histograms_xml/blink/histograms.xml
+++ b/tools/metrics/histograms/histograms_xml/blink/histograms.xml
@@ -1069,7 +1069,7 @@
 </histogram>
 
 <histogram name="Blink.KeyboardLock.MethodCalled" enum="KeyboardLockMethods"
-    expires_after="2020-12-31">
+    expires_after="2021-03-31">
   <owner>joedow@chromium.org</owner>
   <owner>garykac@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/histograms_xml/histogram_suffixes_list.xml b/tools/metrics/histograms/histograms_xml/histogram_suffixes_list.xml
index 5963664..f028b2a0 100644
--- a/tools/metrics/histograms/histograms_xml/histogram_suffixes_list.xml
+++ b/tools/metrics/histograms/histograms_xml/histogram_suffixes_list.xml
@@ -11303,6 +11303,7 @@
   <suffix name="__Test__" label=""/>
   <suffix name="ChromeUpdate" label=""/>
   <suffix name="Prefetch" label=""/>
+  <suffix name="ReadingList" label=""/>
   <suffix name="Unknown" label=""/>
   <suffix name="WebUI" label=""/>
   <affected-histogram name="Notifications.Scheduler.IhnrActionButtonEvent"/>
@@ -18347,6 +18348,7 @@
   <affected-histogram name="Sync.ModelTypeErrorSite"/>
   <affected-histogram name="Sync.ModelTypeMemoryKB"/>
   <affected-histogram name="Sync.ModelTypeStoreCommitWriteBatchOutcome"/>
+  <affected-histogram name="Sync.ModelTypeTimeUntilEncryptionKeyFound"/>
   <affected-histogram name="Sync.NonReflectionUpdateFreshnessPossiblySkewed">
     <obsolete>
       Deprecated 06/2019. Replaced by
diff --git a/tools/metrics/histograms/histograms_xml/phonehub/histograms.xml b/tools/metrics/histograms/histograms_xml/phonehub/histograms.xml
index 1efe632..29d214b 100644
--- a/tools/metrics/histograms/histograms_xml/phonehub/histograms.xml
+++ b/tools/metrics/histograms/histograms_xml/phonehub/histograms.xml
@@ -64,6 +64,83 @@
   <summary>The success rate of connecting to the Phone.</summary>
 </histogram>
 
+<histogram name="PhoneHub.InterstitialScreenEvent.{Screen}"
+    enum="PhoneHubInterstitialScreenEvent" expires_after="2021-10-31">
+  <owner>tengs@chromium.org</owner>
+  <owner>khorimoto@chromium.org</owner>
+  <summary>Events for the given PhoneHub interstitial screen.</summary>
+<!-- The entries below should be a subset of the PhoneHubScreen enum -->
+
+  <token key="Screen">
+    <variant name="BluetoothOrWifiDisabled"/>
+    <variant name="InitialConnecting"/>
+    <variant name="Onboarding.ExistingMultideviceUser"/>
+    <variant name="Onboarding.NewMultideviceUser"/>
+    <variant name="OnboardingDismissPrompt"/>
+    <variant name="PhoneConnecting"/>
+    <variant name="PhoneDisconnected"/>
+  </token>
+</histogram>
+
+<histogram name="PhoneHub.NotificationCount" units="notifications"
+    expires_after="2021-10-31">
+  <owner>tengs@chromium.org</owner>
+  <owner>khorimoto@chromium.org</owner>
+  <summary>
+    The number of PhoneHub notifications, logged each time a notification is
+    added or removed.
+  </summary>
+</histogram>
+
+<histogram name="PhoneHub.NotificationOptInEvents"
+    enum="PhoneHubInterstitialScreenEvent" expires_after="2021-10-31">
+  <owner>tengs@chromium.org</owner>
+  <owner>khorimoto@chromium.org</owner>
+  <summary>Events for the given notification opt-in prompt.</summary>
+</histogram>
+
+<histogram name="PhoneHub.QuickActionClicked" enum="PhoneHubQuickAction"
+    expires_after="2021-10-31">
+  <owner>tengs@chromium.org</owner>
+  <owner>khorimoto@chromium.org</owner>
+  <summary>Event logged after the user clicks on a quick action.</summary>
+</histogram>
+
+<histogram name="PhoneHub.ScreenOnSettingsButtonClicked" enum="PhoneHubScreen"
+    expires_after="2021-10-31">
+  <owner>tengs@chromium.org</owner>
+  <owner>khorimoto@chromium.org</owner>
+  <summary>
+    Logs the current screen when the settings button is clicked in the tray
+    bubble.
+  </summary>
+</histogram>
+
+<histogram name="PhoneHub.ScreenOn{BubbleEvent}" enum="PhoneHubScreen"
+    expires_after="2021-10-31">
+  <owner>tengs@chromium.org</owner>
+  <owner>khorimoto@chromium.org</owner>
+  <summary>
+    Logs the current screen for the PhoneHub tray given bubble event (i.e. on
+    bubble open or close).
+  </summary>
+  <token key="BubbleEvent">
+    <variant name="BubbleClose"/>
+    <variant name="BubbleOpen"/>
+  </token>
+</histogram>
+
+<histogram name="PhoneHub.TabContinuationChipClicked" units="tab index"
+    expires_after="2021-10-31">
+  <owner>tengs@chromium.org</owner>
+  <owner>khorimoto@chromium.org</owner>
+  <summary>
+    After a tab continuation chip is clicked, the index of the tab is logged.
+    Tab indices are ordered left-to-right, top-to-bottom in a standard LTR
+    locale.
+  </summary>
+</histogram>
+
 <histogram name="PhoneHub.Usage.SentMessageTypeCount"
     enum="PhoneHubMessageType" expires_after="M98">
   <owner>khorimoto@chromium.org</owner>
diff --git a/tools/metrics/histograms/histograms_xml/sync/histograms.xml b/tools/metrics/histograms/histograms_xml/sync/histograms.xml
index 7e6bc30e..c3eaa02 100644
--- a/tools/metrics/histograms/histograms_xml/sync/histograms.xml
+++ b/tools/metrics/histograms/histograms_xml/sync/histograms.xml
@@ -577,6 +577,19 @@
   </summary>
 </histogram>
 
+<histogram base="true" name="Sync.ModelTypeTimeUntilEncryptionKeyFound"
+    units="GetUpdatesResponses" expires_after="2021-05-18">
+  <owner>victorvianna@google.com</owner>
+  <owner>mastiz@chromium.org</owner>
+  <summary>
+    Records how long it took from the moment the first update encrypted with
+    this key was received by ModelTypeWorker, to the moment where the key was
+    available to the Cryptographer. The time is measured by the number of
+    GetUpdatesResponse received by the worker *while* the Cryptographer didn't
+    have pending keys (and thus the key should have been known in theory).
+  </summary>
+</histogram>
+
 <histogram base="true" name="Sync.ModelTypeUpdateDrop" enum="SyncModelTypes"
     expires_after="2021-05-01">
 <!-- Name completed by histogram_suffixes name="SyncModelTypeUpdateDrop" -->
diff --git a/tools/metrics/histograms/histograms_xml/windows/histograms.xml b/tools/metrics/histograms/histograms_xml/windows/histograms.xml
index b9901488..d3edc879 100644
--- a/tools/metrics/histograms/histograms_xml/windows/histograms.xml
+++ b/tools/metrics/histograms/histograms_xml/windows/histograms.xml
@@ -31,6 +31,17 @@
   </summary>
 </histogram>
 
+<histogram name="Windows.CetAvailable" enum="BooleanAvailable"
+    expires_after="2021-12-01">
+  <owner>ajgo@chromium.org</owner>
+  <owner>wfh@chromium.org</owner>
+  <summary>
+    Records if CET (Control-flow Enforcement Technology / Hardware Enforced
+    Shadow Stack) is available, based on IsUserCetAvailableInEnvironment().
+    Reported once per browser session, on startup.
+  </summary>
+</histogram>
+
 <histogram name="Windows.ChromeDllPrefetchResult" enum="FilePrefetchResult"
     expires_after="2021-07-01">
   <owner>brucedawson@chromium.org</owner>
diff --git a/tools/perf/core/tbmv3/run_tbmv3_metric_unittest.py b/tools/perf/core/tbmv3/run_tbmv3_metric_unittest.py
index 210c236..41c5c66e 100644
--- a/tools/perf/core/tbmv3/run_tbmv3_metric_unittest.py
+++ b/tools/perf/core/tbmv3/run_tbmv3_metric_unittest.py
@@ -74,3 +74,15 @@
             '--metric', name,
             '--outfile', self.outfile_path,
         ])
+
+  def testRunInternalTBMv3Metric(self):
+    """Run metric that is compiled into Trace Processor."""
+    # This won't produce any histograms because trace_metadata proto is not
+    # annotated. Check only that it doesn't throw errors. 'trace_metadata'
+    # metric is relatively unlikely to be removed from Perfetto, but if it
+    # is, we will have to pick a different metric.
+    run_tbmv3_metric.Main([
+        '--trace', self.trace_path,
+        '--metric', 'trace_metadata',
+        '--outfile', self.outfile_path,
+    ])
diff --git a/tools/perf/core/tbmv3/trace_processor.py b/tools/perf/core/tbmv3/trace_processor.py
index 6b98dfb..19808bc 100644
--- a/tools/perf/core/tbmv3/trace_processor.py
+++ b/tools/perf/core/tbmv3/trace_processor.py
@@ -21,7 +21,7 @@
                                              'metrics'))
 POWER_PROFILE_SQL = 'power_profile.sql'
 
-MetricFiles = namedtuple('MetricFiles', ('sql', 'proto'))
+MetricFiles = namedtuple('MetricFiles', ('sql', 'proto', 'internal_metric'))
 
 
 class InvalidTraceProcessorOutput(Exception):
@@ -69,15 +69,18 @@
 
 
 def _CreateMetricFiles(metric_name):
-  # Currently assuming all metric files live in tbmv3/metrics directory. We will
-  # revise this decision later.
-  metric_files = MetricFiles(
-      sql=os.path.join(METRICS_PATH, metric_name + '.sql'),
-      proto=os.path.join(METRICS_PATH, metric_name + '.proto'))
-  for filetype, path in metric_files._asdict().iteritems():
-    if not os.path.isfile(path):
-      raise RuntimeError('metric %s file not found at %s' % (filetype, path))
-  return metric_files
+  # Currently assuming all metric files live in tbmv3/metrics directory unless
+  # the metrics are compiled into trace processor. We will revise this decision
+  # later.
+  sql_file = os.path.join(METRICS_PATH, metric_name + '.sql')
+  proto_file = os.path.join(METRICS_PATH, metric_name + '.proto')
+  internal_metric = False
+  if not (os.path.isfile(sql_file) and os.path.isfile(proto_file)):
+    # Metric files not found - metric may be compiled into trace processor.
+    internal_metric = True
+  return MetricFiles(sql=sql_file,
+                     proto=proto_file,
+                     internal_metric=internal_metric)
 
 
 def _ScopedHistogramName(metric_name, histogram_name):
@@ -200,9 +203,13 @@
   """
   trace_processor_path = _EnsureTraceProcessor(trace_processor_path)
   metric_files = _CreateMetricFiles(metric_name)
+  if metric_files.internal_metric:
+    metric_name_arg = metric_name
+  else:
+    metric_name_arg = metric_files.sql
   command_args = [
       trace_processor_path,
-      '--run-metrics', metric_files.sql,
+      '--run-metrics', metric_name_arg,
       '--metrics-output', 'json',
       trace_file,
   ]
diff --git a/tools/privacy_budget/blink_apis/generate_blink_api_db_entrypoint.py b/tools/privacy_budget/blink_apis/generate_blink_api_db_entrypoint.py
index 13232f0..7e62f3ae 100755
--- a/tools/privacy_budget/blink_apis/generate_blink_api_db_entrypoint.py
+++ b/tools/privacy_budget/blink_apis/generate_blink_api_db_entrypoint.py
@@ -7,8 +7,9 @@
 import os
 
 if __name__ == "__main__":
+  shell = (os.name == 'nt')
   subprocess.call([
       "vpython",
       os.path.join(os.path.dirname(os.path.realpath(__file__)),
                    "generate_blink_api_db.py")
-  ] + sys.argv[1:])
+  ] + sys.argv[1:], shell=shell)
diff --git a/ui/accessibility/platform/BUILD.gn b/ui/accessibility/platform/BUILD.gn
index 99df759..47d57fcf 100644
--- a/ui/accessibility/platform/BUILD.gn
+++ b/ui/accessibility/platform/BUILD.gn
@@ -118,6 +118,8 @@
         "ax_event_intent_mac.mm",
         "ax_platform_node_mac.h",
         "ax_platform_node_mac.mm",
+        "ax_private_webkit_constants_mac.h",
+        "ax_private_webkit_constants_mac.mm",
       ]
 
       frameworks = [
diff --git a/ui/accessibility/platform/ax_private_webkit_constants_mac.h b/ui/accessibility/platform/ax_private_webkit_constants_mac.h
new file mode 100644
index 0000000..5f1776a3
--- /dev/null
+++ b/ui/accessibility/platform/ax_private_webkit_constants_mac.h
@@ -0,0 +1,96 @@
+// 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.
+
+#ifndef UI_ACCESSIBILITY_PLATFORM_AX_PRIVATE_WEBKIT_CONSTANTS_MAC_H_
+#define UI_ACCESSIBILITY_PLATFORM_AX_PRIVATE_WEBKIT_CONSTANTS_MAC_H_
+
+#import <Cocoa/Cocoa.h>
+#include "ui/accessibility/ax_export.h"
+
+namespace ui {
+
+enum AXTextStateChangeType {
+  AXTextStateChangeTypeUnknown,
+  AXTextStateChangeTypeEdit,
+  AXTextStateChangeTypeSelectionMove,
+  AXTextStateChangeTypeSelectionExtend
+};
+
+enum AXTextSelectionDirection {
+  AXTextSelectionDirectionUnknown,
+  AXTextSelectionDirectionBeginning,
+  AXTextSelectionDirectionEnd,
+  AXTextSelectionDirectionPrevious,
+  AXTextSelectionDirectionNext,
+  AXTextSelectionDirectionDiscontiguous
+};
+
+enum AXTextSelectionGranularity {
+  AXTextSelectionGranularityUnknown,
+  AXTextSelectionGranularityCharacter,
+  AXTextSelectionGranularityWord,
+  AXTextSelectionGranularityLine,
+  AXTextSelectionGranularitySentence,
+  AXTextSelectionGranularityParagraph,
+  AXTextSelectionGranularityPage,
+  AXTextSelectionGranularityDocument,
+  AXTextSelectionGranularityAll
+};
+
+enum AXTextEditType {
+  AXTextEditTypeUnknown,
+  AXTextEditTypeDelete,
+  AXTextEditTypeInsert,
+  AXTextEditTypeTyping,
+  AXTextEditTypeDictation,
+  AXTextEditTypeCut,
+  AXTextEditTypePaste,
+  AXTextEditTypeAttributesChange
+};
+
+// Native mac notifications fired.
+NSString* const NSAccessibilityAutocorrectionOccurredNotification =
+    @"AXAutocorrectionOccurred";
+NSString* const NSAccessibilityLoadCompleteNotification = @"AXLoadComplete";
+NSString* const NSAccessibilityInvalidStatusChangedNotification =
+    @"AXInvalidStatusChanged";
+NSString* const NSAccessibilityLiveRegionCreatedNotification =
+    @"AXLiveRegionCreated";
+NSString* const NSAccessibilityLiveRegionChangedNotification =
+    @"AXLiveRegionChanged";
+NSString* const NSAccessibilityExpandedChanged = @"AXExpandedChanged";
+NSString* const NSAccessibilityMenuItemSelectedNotification =
+    @"AXMenuItemSelected";
+
+// The following native mac notifications are not fired:
+// AXLayoutComplete: Voiceover does not use this, it is considered too spammy.
+
+// Attributes used for NSAccessibilitySelectedTextChangedNotification and
+// NSAccessibilityValueChangedNotification.
+NSString* const NSAccessibilityTextStateChangeTypeKey =
+    @"AXTextStateChangeType";
+NSString* const NSAccessibilityTextStateSyncKey = @"AXTextStateSync";
+NSString* const NSAccessibilityTextSelectionDirection =
+    @"AXTextSelectionDirection";
+NSString* const NSAccessibilityTextSelectionGranularity =
+    @"AXTextSelectionGranularity";
+NSString* const NSAccessibilityTextSelectionChangedFocus =
+    @"AXTextSelectionChangedFocus";
+NSString* const NSAccessibilityTextChangeElement = @"AXTextChangeElement";
+NSString* const NSAccessibilityTextEditType = @"AXTextEditType";
+NSString* const NSAccessibilityTextChangeValue = @"AXTextChangeValue";
+NSString* const NSAccessibilityChangeValueStartMarker =
+    @"AXTextChangeValueStartMarker";
+NSString* const NSAccessibilityTextChangeValueLength =
+    @"AXTextChangeValueLength";
+NSString* const NSAccessibilityTextChangeValues = @"AXTextChangeValues";
+
+AX_EXPORT const char* ToString(AXTextStateChangeType);
+AX_EXPORT const char* ToString(AXTextSelectionDirection);
+AX_EXPORT const char* ToString(AXTextSelectionGranularity);
+AX_EXPORT const char* ToString(AXTextEditType);
+
+}  // namespace ui
+
+#endif  // UI_ACCESSIBILITY_PLATFORM_AX_PRIVATE_WEBKIT_CONSTANTS_MAC_H_
diff --git a/ui/accessibility/platform/ax_private_webkit_constants_mac.mm b/ui/accessibility/platform/ax_private_webkit_constants_mac.mm
new file mode 100644
index 0000000..7de31a4
--- /dev/null
+++ b/ui/accessibility/platform/ax_private_webkit_constants_mac.mm
@@ -0,0 +1,91 @@
+// 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.
+
+#include "ui/accessibility/platform/ax_private_webkit_constants_mac.h"
+
+namespace ui {
+
+const char* ToString(AXTextStateChangeType type) {
+  switch (type) {
+    case AXTextStateChangeTypeUnknown:
+      return "AXTextStateChangeTypeUnknown";
+    case AXTextStateChangeTypeEdit:
+      return "AXTextStateChangeTypeEdit";
+    case AXTextStateChangeTypeSelectionMove:
+      return "AXTextStateChangeTypeSelectionMove";
+    case AXTextStateChangeTypeSelectionExtend:
+      return "AXTextStateChangeTypeSelectionExtend";
+  }
+
+  return "";
+}
+
+const char* ToString(AXTextSelectionDirection direction) {
+  switch (direction) {
+    case AXTextSelectionDirectionUnknown:
+      return "AXTextSelectionDirectionUnknown";
+    case AXTextSelectionDirectionBeginning:
+      return "AXTextSelectionDirectionBeginning";
+    case AXTextSelectionDirectionEnd:
+      return "AXTextSelectionDirectionEnd";
+    case AXTextSelectionDirectionPrevious:
+      return "AXTextSelectionDirectionPrevious";
+    case AXTextSelectionDirectionNext:
+      return "AXTextSelectionDirectionNext";
+    case AXTextSelectionDirectionDiscontiguous:
+      return "AXTextSelectionDirectionDiscontiguous";
+  }
+
+  return "";
+}
+
+const char* ToString(AXTextSelectionGranularity granularity) {
+  switch (granularity) {
+    case AXTextSelectionGranularityUnknown:
+      return "AXTextSelectionGranularityUnknown";
+    case AXTextSelectionGranularityCharacter:
+      return "AXTextSelectionGranularityCharacter";
+    case AXTextSelectionGranularityWord:
+      return "AXTextSelectionGranularityWord";
+    case AXTextSelectionGranularityLine:
+      return "AXTextSelectionGranularityLine";
+    case AXTextSelectionGranularitySentence:
+      return "AXTextSelectionGranularitySentence";
+    case AXTextSelectionGranularityParagraph:
+      return "AXTextSelectionGranularityParagraph";
+    case AXTextSelectionGranularityPage:
+      return "AXTextSelectionGranularityPage";
+    case AXTextSelectionGranularityDocument:
+      return "AXTextSelectionGranularityDocument";
+    case AXTextSelectionGranularityAll:
+      return "AXTextSelectionGranularityAll";
+  }
+
+  return "";
+}
+
+const char* ToString(AXTextEditType type) {
+  switch (type) {
+    case AXTextEditTypeUnknown:
+      return "AXTextEditTypeUnknown";
+    case AXTextEditTypeDelete:
+      return "AXTextEditTypeDelete";
+    case AXTextEditTypeInsert:
+      return "AXTextEditTypeInsert";
+    case AXTextEditTypeTyping:
+      return "AXTextEditTypeTyping";
+    case AXTextEditTypeDictation:
+      return "AXTextEditTypeDictation";
+    case AXTextEditTypeCut:
+      return "AXTextEditTypeCut";
+    case AXTextEditTypePaste:
+      return "AXTextEditTypePaste";
+    case AXTextEditTypeAttributesChange:
+      return "AXTextEditTypeAttributesChange";
+  }
+
+  return "";
+}
+
+}  // namespace ui
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 21f6ba7..4a34008 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -719,6 +719,7 @@
       "accelerators/test_accelerator_target.h",
       "test/mock_base_window.cc",
       "test/mock_base_window.h",
+      "test/test_dialog_model_host.h",
       "test/ui_controls.h",
       "test/view_tree_validator.h",
     ]
@@ -966,6 +967,7 @@
       "accelerators/accelerator_unittest.cc",
       "accelerators/menu_label_accelerator_util_unittest.cc",
       "accelerators/system_media_controls_media_keys_listener_unittest.cc",
+      "models/dialog_model_unittest.cc",
       "models/list_model_unittest.cc",
       "models/list_selection_model_unittest.cc",
       "models/tree_node_model_unittest.cc",
diff --git a/ui/base/models/dialog_model.cc b/ui/base/models/dialog_model.cc
index 6d07b494..ceccc11 100644
--- a/ui/base/models/dialog_model.cc
+++ b/ui/base/models/dialog_model.cc
@@ -120,7 +120,7 @@
     if (field->unique_id_ == unique_id)
       return field.get();
   }
-  NOTREACHED();
+  NOTREACHED() << "No field with unique_id: " << unique_id;
   return nullptr;
 }
 
diff --git a/ui/base/models/dialog_model_field.h b/ui/base/models/dialog_model_field.h
index bb4955f..98774ba 100644
--- a/ui/base/models/dialog_model_field.h
+++ b/ui/base/models/dialog_model_field.h
@@ -7,6 +7,7 @@
 
 #include "base/callback.h"
 #include "base/containers/flat_set.h"
+#include "base/gtest_prod_util.h"
 #include "base/strings/string16.h"
 #include "base/types/pass_key.h"
 #include "ui/base/accelerators/accelerator.h"
@@ -138,6 +139,7 @@
 
  private:
   friend class DialogModel;
+  FRIEND_TEST_ALL_PREFIXES(DialogModelButtonTest, UsesParamsUniqueId);
 
   DialogModel* const model_;
   const Type type_;
diff --git a/ui/base/models/dialog_model_unittest.cc b/ui/base/models/dialog_model_unittest.cc
new file mode 100644
index 0000000..83b8a0e
--- /dev/null
+++ b/ui/base/models/dialog_model_unittest.cc
@@ -0,0 +1,164 @@
+// 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.
+
+#include "ui/base/models/dialog_model.h"
+
+#include "base/strings/utf_string_conversions.h"
+#include "base/test/bind.h"
+#include "testing/gmock/include/gmock/gmock-matchers.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/test/test_dialog_model_host.h"
+#include "ui/events/event.h"
+
+namespace ui {
+
+class DialogModelButtonTest : public testing::Test {};
+
+TEST_F(DialogModelButtonTest, UsesParamsUniqueId) {
+  constexpr int kUniqueId = 42;
+  // TODO(pbos): Replace AddOkButton() with AddButton() once buttons in dialogs
+  // are supported.
+  std::unique_ptr<DialogModel> model =
+      DialogModel::Builder()
+          .AddOkButton(base::OnceClosure(), base::string16(),
+                       DialogModelButton::Params().SetUniqueId(kUniqueId))
+          .Build();
+  EXPECT_EQ(kUniqueId,
+            model->ok_button(TestDialogModelHost::GetPassKey())->unique_id_);
+}
+
+TEST_F(DialogModelButtonTest, UsesParamsAccelerators) {
+  const Accelerator accelerator_1;
+  const Accelerator accelerator_2(VKEY_Z, EF_SHIFT_DOWN | EF_CONTROL_DOWN);
+
+  // TODO(pbos): Replace AddOkButton() with AddButton() once buttons in dialogs
+  // are supported.
+  std::unique_ptr<DialogModel> model =
+      DialogModel::Builder()
+          .AddOkButton(base::OnceClosure(), base::string16(),
+                       DialogModelButton::Params()
+                           .AddAccelerator(accelerator_1)
+                           .AddAccelerator(accelerator_2))
+          .Build();
+  EXPECT_THAT(model->ok_button(TestDialogModelHost::GetPassKey())
+                  ->accelerators(TestDialogModelHost::GetPassKey()),
+              testing::UnorderedElementsAre(accelerator_1, accelerator_2));
+}
+
+TEST_F(DialogModelButtonTest, UsesCallback) {
+  int callback_count = 0;
+  std::unique_ptr<KeyEvent> last_event;
+  // TODO(pbos): Replace AddExtraButton() with AddButton() once buttons in
+  // dialogs are supported.
+  std::unique_ptr<DialogModel> model =
+      DialogModel::Builder()
+          .AddDialogExtraButton(
+              base::BindLambdaForTesting([&](const Event& event) {
+                ++callback_count;
+                last_event = std::make_unique<KeyEvent>(*event.AsKeyEvent());
+              }),
+              base::string16())
+          .Build();
+  DialogModelButton* const button =
+      model->extra_button(TestDialogModelHost::GetPassKey());
+
+  KeyEvent first_event(ET_KEY_PRESSED, VKEY_RETURN, EF_NONE);
+  button->OnPressed(TestDialogModelHost::GetPassKey(), first_event);
+  EXPECT_EQ(1, callback_count);
+  EXPECT_EQ(first_event.key_code(), last_event->key_code());
+
+  KeyEvent second_event(ET_KEY_PRESSED, VKEY_SPACE, EF_NONE);
+  button->OnPressed(TestDialogModelHost::GetPassKey(), second_event);
+  EXPECT_EQ(2, callback_count);
+  EXPECT_EQ(second_event.key_code(), last_event->key_code());
+}
+
+class DialogModelDialogButtonTest : public testing::Test {
+ public:
+  enum DialogButtonId {
+    kCancelButton,
+    kExtraButton,
+    kOkButton,
+  };
+
+  void DialogButtonUsesArguments(DialogButtonId button_id) {
+    DialogModel::Builder builder;
+
+    // Callback to verify that the first parameter is used.
+    bool callback_called = false;
+    base::OnceClosure callback = base::BindRepeating(
+        [](bool* callback_called) { *callback_called = true; },
+        &callback_called);
+
+    // Label to verify the second parameter.
+    base::string16 label = base::ASCIIToUTF16("my cool button");
+
+    // The presence of an accelerator in |params| will be used to verify that
+    // |params| are forwarded correctly to the DialogModelButton constructor.
+    DialogModelButton::Params params;
+    Accelerator accelerator(VKEY_Z, EF_SHIFT_DOWN | EF_CONTROL_DOWN);
+    params.AddAccelerator(accelerator);
+
+    switch (button_id) {
+      case kCancelButton:
+        builder.AddCancelButton(std::move(callback), label, params);
+        break;
+      case kExtraButton:
+        // Wrap the callback into a repeating callback that'll only be called
+        // once so the same verification can be used for the extra button.
+        builder.AddDialogExtraButton(
+            base::BindRepeating(
+                [](base::OnceClosure* callback, const Event& event) {
+                  std::move(*callback).Run();
+                },
+                &callback),
+            label, params);
+        break;
+      case kOkButton:
+        builder.AddOkButton(std::move(callback), label, params);
+        break;
+    }
+    std::unique_ptr<DialogModel> model = builder.Build();
+
+    // Get the DialogModelButton and trigger the corresponding callback.
+    DialogModelButton* button = nullptr;
+    switch (button_id) {
+      case kCancelButton:
+        button = model->cancel_button(TestDialogModelHost::GetPassKey());
+        model->OnDialogCancelled(TestDialogModelHost::GetPassKey());
+        break;
+      case kExtraButton:
+        button = model->extra_button(TestDialogModelHost::GetPassKey());
+        button->OnPressed(TestDialogModelHost::GetPassKey(),
+                          KeyEvent(ET_KEY_PRESSED, VKEY_RETURN, EF_NONE));
+        break;
+      case kOkButton:
+        button = model->ok_button(TestDialogModelHost::GetPassKey());
+        model->OnDialogAccepted(TestDialogModelHost::GetPassKey());
+        break;
+    }
+    ASSERT_TRUE(button);
+
+    EXPECT_TRUE(callback_called) << "The callback parameter wasn't used.";
+    EXPECT_EQ(label, button->label(TestDialogModelHost::GetPassKey()))
+        << "The label parameter wasn't used.";
+    EXPECT_THAT(button->accelerators(TestDialogModelHost::GetPassKey()),
+                testing::UnorderedElementsAre(accelerator))
+        << "The params parameter wasn't used.";
+  }
+};
+
+TEST_F(DialogModelDialogButtonTest, OkButtonUsesArguments) {
+  DialogButtonUsesArguments(kOkButton);
+}
+
+TEST_F(DialogModelDialogButtonTest, ExtraButtonUsesArguments) {
+  DialogButtonUsesArguments(kExtraButton);
+}
+
+TEST_F(DialogModelDialogButtonTest, CancelButtonUsesArguments) {
+  DialogButtonUsesArguments(kCancelButton);
+}
+
+}  // namespace ui
\ No newline at end of file
diff --git a/ui/base/test/test_dialog_model_host.h b/ui/base/test/test_dialog_model_host.h
new file mode 100644
index 0000000..ed3958d7
--- /dev/null
+++ b/ui/base/test/test_dialog_model_host.h
@@ -0,0 +1,19 @@
+// 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.
+
+#ifndef UI_BASE_TEST_TEST_DIALOG_MODEL_HOST_H_
+#define UI_BASE_TEST_TEST_DIALOG_MODEL_HOST_H_
+
+#include "ui/base/models/dialog_model_host.h"
+
+namespace ui {
+
+class TestDialogModelHost : public DialogModelHost {
+ public:
+  using DialogModelHost::GetPassKey;
+};
+
+}  // namespace ui
+
+#endif  // UI_BASE_TEST_TEST_DIALOG_MODEL_HOST_H_
\ No newline at end of file
diff --git a/ui/chromeos/translations/ui_chromeos_strings_af.xtb b/ui/chromeos/translations/ui_chromeos_strings_af.xtb
index add2cd0f..b09a4ac 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_af.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_af.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Jaar opgeneem</translation>
 <translation id="3353984535370177728">Kies 'n vouer om op te laai</translation>
 <translation id="3356580349448036450">Voltooi</translation>
+<translation id="3369522691271417561">Sorani-Koerdies met sleutelbord wat op Arabies gegrond is</translation>
 <translation id="3414856743105198592">Die formatering van verwyderbare media gaan alle data uitvee. Wil jy voortgaan?</translation>
 <translation id="3437801641691368414">Tyd geskep</translation>
 <translation id="3466147780910026086">Skandeer tans jou mediatoestel …</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ar.xtb b/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
index fe7029e0..93b231a 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
@@ -151,7 +151,7 @@
 <translation id="2664412712123763093">موقع الملف</translation>
 <translation id="2672394958563893062">حدث خطأ. انقر لإعادة التشغيل من البداية.</translation>
 <translation id="2676946222714718093">التشغيل بواسطة</translation>
-<translation id="2718873684053049373">‏الصينية باستخدام لوحة مفاتيح Dayi</translation>
+<translation id="2718873684053049373">‏الصينية باستخدام نظام Dayi</translation>
 <translation id="2735623501230989521">‏يمكنك منح نظام Parallels Desktop الإذن للوصول إلى الملفات في مجلد <ph name="FOLDER_NAME" />.</translation>
 <translation id="2771816809568414714">جبن</translation>
 <translation id="2781645665747935084">البلجيكية</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_as.xtb b/ui/chromeos/translations/ui_chromeos_strings_as.xtb
index 9cb40ca..a517090d 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_as.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_as.xtb
@@ -2,11 +2,14 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="as">
 <translation id="1000498691615767391">খুলিবলৈ কোনো ফ’ল্ডাৰ বাছনি কৰক</translation>
+<translation id="1016731229041675999">আৰৱী লিপ্যন্তৰণ</translation>
+<translation id="102325055885714714">তামিল লিপ্যন্তৰণ</translation>
 <translation id="1035094536595558507">শ্লাইড ভিউ</translation>
 <translation id="1047956942837015229"><ph name="COUNT" />টা বস্তু মচি থকা হৈছে…</translation>
 <translation id="1049926623896334335">Word দস্তাবেজ</translation>
 <translation id="1060368002126861100"><ph name="APP_NAME" />ৰ জৰিয়তে ফাইলসমূহ খুলিবলৈ প্ৰথমে সেইসমূহ Windowsৰ ফাইলসমূহৰ ফ’ল্ডাৰটোলৈ স্থানান্তৰ কৰক।</translation>
 <translation id="1062407476771304334">সাল সলনি কৰক</translation>
+<translation id="1082570120854863773">চীনা (পৰম্পৰাগত) পিনয়িন</translation>
 <translation id="1119069657431255176">Bzip2 সংকুচিত কৰা টাৰ আর্কাইভ</translation>
 <translation id="1120073797882051782">হাংগুল ৰ’মাজা</translation>
 <translation id="1148097584170732637"><ph name="FILE_COUNT" />টা ফাইল বিচাৰি পোৱা হৈছে।
@@ -41,10 +44,13 @@
 <translation id="1378727793141957596">Google Driveলৈ স্বাগতম!</translation>
 <translation id="1383876407941801731">Search</translation>
 <translation id="1395262318152388157">ছীক স্লাইডাৰ</translation>
+<translation id="1411401459521499147">Standard কীব'ৰ্ডৰ সৈতে ৰোমানিয়ান</translation>
+<translation id="14286271616944851">পাৰ্ছিয়ান</translation>
 <translation id="1430915738399379752">প্ৰিণ্ট কৰক</translation>
 <translation id="1435838927755162558">Parallels Desktopৰ জৰিয়তে ফ’ল্ডাৰটো শ্বেয়াৰ কৰক</translation>
 <translation id="1439494416798956626"><ph name="FOLDER_NAME" />লৈ স্থানান্তৰ কৰা হ’ল।</translation>
 <translation id="1464724975715666883">১টা আসোঁৱাহ।</translation>
+<translation id="1466220122465387403">কীব'ৰ্ডৰ সৈতে ছ’ৰানি কুৰ্ডিশ্ব</translation>
 <translation id="1467432559032391204">বাওঁফালে</translation>
 <translation id="1472351751615457820">গ্ৰীক লিপ্যন্তৰণ</translation>
 <translation id="1474339897586437869">"<ph name="FILENAME" />" আপল'ড কৰা হোৱা নাই। Google Driveত পর্যাপ্ত পৰিমাণৰ খালী ঠাই নাই।</translation>
@@ -59,6 +65,7 @@
 <translation id="1620510694547887537">কেমেৰা</translation>
 <translation id="1622022025445651011">ফৰাচী (ফ্ৰান্স)</translation>
 <translation id="1646019627374511909"><ph name="NUMBER_OF_ITEMS" /> টা ফাইল অফলাইনত উপলব্ধ কৰি থকা হৈছে</translation>
+<translation id="1649464394998806860">ফ’নেটিক AATSEEL কীব’ৰ্ডৰ সৈতে ৰাছিয়ান</translation>
 <translation id="164969095109328410">Chrome ডিভাইচ</translation>
 <translation id="1665611772925418501">ফাইলটো সংশোধন কৰিব পৰা নগ’ল।</translation>
 <translation id="1673103856845176271">নিৰপত্তাজনিত কাৰণত ফাইলটো এক্সেছ কৰিব পৰা নগ'ল।</translation>
@@ -89,9 +96,11 @@
 <translation id="1995337122023280937">ফাইলৰ অৱস্থানলৈ যাওক</translation>
 <translation id="2001796770603320721">ড্ৰাইভত পৰিচালনা কৰক</translation>
 <translation id="2009067268969781306">এটা ড্ৰাইভ ফর্মেট কৰা কার্যই ড্ৰাইভটোত ষ্ট'ৰ কৰি ৰখা সকলো ডেটা মচিব। এই কাৰ্যটো আনডু কৰিব নোৱাৰি।</translation>
+<translation id="2016165510591645686">চীনা পিনইন</translation>
 <translation id="2028997212275086731">RAR আৰ্কাইভ</translation>
 <translation id="2046702855113914483">ৰামেন</translation>
 <translation id="2060251957438343874">জাৰ্মান (জাৰ্মানী)</translation>
+<translation id="2060392775416297569">চীনা কেঞ্জি</translation>
 <translation id="2066433303065022982">হিব্ৰু লিপ্যন্তৰণ</translation>
 <translation id="2070909990982335904">ডটেৰে আৰম্ভ হোৱা নাম ছিষ্টেমৰ বাবে সংৰক্ষণ কৰা হয়। অনুগ্ৰহ কৰি বেলেগ এটা নাম বাছনি কৰক।</translation>
 <translation id="2079545284768500474">আনডু কৰক</translation>
@@ -123,11 +132,13 @@
 <translation id="2453576648990281505">ফাইলটো ইতিমধ্যে আছেই</translation>
 <translation id="2464079411014186876">আইচক্ৰীম</translation>
 <translation id="2468402215065996499">Tamagotchi</translation>
+<translation id="2484472280211296077">তামিল ফ’নেটিক</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2534155362429831547"><ph name="NUMBER_OF_ITEMS" /> টা সমল মচা হ’ল</translation>
 <translation id="2541377937973966830">এই ফ’ল্ডাৰটোৰ সমলবোৰ কেৱল পঢ়িব পৰা। কিছুমান কাৰ্যকলাপ সমৰ্থিত নহয়।</translation>
 <translation id="2542049655219295786">Google তালিকা</translation>
 <translation id="2547921442987553570"><ph name="EXTENSION_NAME" />ত যোগ কৰক</translation>
+<translation id="255285553751745003">ভিয়েটনামিজ টেলেক্স</translation>
 <translation id="255937426064304553">US আন্তৰ্জাতিক</translation>
 <translation id="2562685439590298522">Docs</translation>
 <translation id="2563185590376525700">ভেকুলী</translation>
@@ -140,11 +151,14 @@
 <translation id="2664412712123763093">ফাইলৰ অৱস্থান</translation>
 <translation id="2672394958563893062">কোনো আসোঁৱাহ হৈছে। আৰম্ভণিৰে পৰা পুনৰাৰম্ভ কৰিবলৈ ক্লিক কৰক৷</translation>
 <translation id="2676946222714718093">ইয়াত প্লে’ কৰি থকা হৈছে</translation>
+<translation id="2718873684053049373">চীনা ডে'য়ি</translation>
 <translation id="2735623501230989521">Parallels Desktopক <ph name="FOLDER_NAME" /> ফ’ল্ডাৰটোত থকা ফাইল এক্সেছ কৰিবলৈ অনুমতি দিয়ক</translation>
 <translation id="2771816809568414714">চ্চীজ</translation>
 <translation id="2781645665747935084">বেলজিয়ান</translation>
 <translation id="2782104745158847185">Linux এপ্লিকেশ্বন ইনষ্টল কৰোঁতে কিবা আসোঁৱাহ হ’ল</translation>
 <translation id="2787047795752739979">প্ৰকৃত ফাইলটো অ'ভাৰৰাইট কৰক</translation>
+<translation id="2798201218072736543">পৰ্টুগীজ (ব্ৰাজিল)</translation>
+<translation id="2822854841007275488">আৰবী</translation>
 <translation id="2843806747483486897">ডিফ’ল্ট কার্য সলনি কৰক...</translation>
 <translation id="2850124913210091882">বেকআপ লওক</translation>
 <translation id="288024221176729610">ছেক</translation>
@@ -166,12 +180,14 @@
 <translation id="3003633581067744647">থাম্বনেইল ভিউ ব্যৱহাৰ কৰক</translation>
 <translation id="3007214526293698309">অনুপাত নিৰ্দিষ্ট কৰক</translation>
 <translation id="303198083543495566">ভূগোল</translation>
+<translation id="3040867506619073727">সিংহলী</translation>
 <translation id="3057861065630527966">আপোনাৰ ফট’ আৰু ভিডিঅ’সমূহ বেক আপ কৰক</translation>
 <translation id="3067790092342515856">Windows ফাইলসমূহ</translation>
 <translation id="3078461028045006476"><ph name="EXTENSION_NAME" />ৰ জৰিয়তে শ্বেয়াৰ কৰক</translation>
 <translation id="3083975830683400843">Chromebits</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3144126448740580210">কৰা হ’ল</translation>
+<translation id="3171711500892772766">তেলেগু ফ’নেটিক</translation>
 <translation id="3182237543071236785">ইংৰাজী (যুক্তৰাজ্য)</translation>
 <translation id="3188257591659621405">মোৰ ফাইলসমূহ</translation>
 <translation id="3197563288998582412">গ্ৰে‘ট ব্ৰিটেইন ড‘ভৰাক</translation>
@@ -209,6 +225,7 @@
 <translation id="357479282490346887">লিথুৱানিয়ান</translation>
 <translation id="3603385196401704894">কানাডিয়ান ফ্রেন্স</translation>
 <translation id="3606220979431771195">টুৰ্কিছ-F</translation>
+<translation id="3608699648194837100">তামিল ITRANS</translation>
 <translation id="3609785682760573515">ছিংক কৰি থকা হৈছে...</translation>
 <translation id="3616113530831147358">অডিঅ’</translation>
 <translation id="3619115746895587757">কেপ’চিনো</translation>
@@ -219,6 +236,7 @@
 <translation id="3645531960514756307">ফ’ল্ডাৰ আনপিন কৰক</translation>
 <translation id="3685122418104378273">ডিফ’ল্ট অনুসৰি ম’বাইল ডেটা ব্যৱহাৰ কৰাৰ সময়ত Google Drive ছিংক অক্ষম কৰা হৈছে।</translation>
 <translation id="3689865792480713551"><ph name="ACTIVITY_DESCRIPTION" /> বাতিল কৰক।</translation>
+<translation id="3717701509378976246">আৰ্মেনিয়ান</translation>
 <translation id="3726463242007121105">এই ডিভাইচটোৰ ফাইলছিষ্টেম সমৰ্থিত নহয় বাবে এইটো খুলিব নোৱাৰি।</translation>
 <translation id="3741243925913727067">Google Driveত আপোনাৰ মিডিয়া ডিভাইচৰ ফট’ আৰু ভিডিঅ’সমূহৰ বেক আপ লওক।</translation>
 <translation id="3749289110408117711">ফাইলৰ নাম</translation>
@@ -256,6 +274,7 @@
 <translation id="4261901459838235729">Googleৰ উপস্থাপন</translation>
 <translation id="4290535918735525311">Linuxৰ মাধ্যমেৰে ১টা ফল্ডা’ৰ শ্বেয়াৰ কৰা হৈছে</translation>
 <translation id="4299729908419173967">ব্ৰাজিলিয়ান</translation>
+<translation id="4305486654020746131">পাঞ্জাবী</translation>
 <translation id="4309915981827077375">সাধাৰণ তথ্য</translation>
 <translation id="4315949787858895817">ডাচ্চ (বেলজিয়াম)</translation>
 <translation id="4326192123064055915">কফি</translation>
@@ -263,6 +282,7 @@
 <translation id="4364327530094270451">মেল’ন</translation>
 <translation id="4372884569765913867">১x১</translation>
 <translation id="4394214039309501350">বাহ্যিক লিংক</translation>
+<translation id="4406790547322756995">TCVN কীব'ৰ্ডৰ সৈতে ভিয়েটনামিজ</translation>
 <translation id="4425149324548788773">মোৰ ড্ৰাইভ</translation>
 <translation id="4470564870223067757">হাংগুল ২ ছেট</translation>
 <translation id="4477219268485577442">বুলগেৰিয়ান ফ’নেটিক</translation>
@@ -281,8 +301,10 @@
 <translation id="4603392156942865207"><ph name="FILE_NAME" /> ফাইলটো <ph name="FOLDER_NAME" />লৈ প্ৰতিলিপি কৰি থকা হৈছে</translation>
 <translation id="4627439232948440198">সংস্কৃত</translation>
 <translation id="4631887759990505102">শিল্পী</translation>
+<translation id="463813589602055304">চীনা উবি</translation>
 <translation id="4656293982926141856">এই কম্পিউটাৰত</translation>
 <translation id="4669606053856530811">’<ph name="SOURCE_NAME" />’ৰ সদস্যসকলে তেতিয়ালৈকে এক্সেছ নাপাব যেতিয়ালৈকে তেওঁলোকৰ সৈতে এই বস্তুবোৰ শ্বেয়াৰ কৰা নহয়।</translation>
+<translation id="4669979276126590335">ছাৰ্বিয়ান লিপ্যন্তৰণ</translation>
 <translation id="4690246192099372265">ছুইডিশ্ব</translation>
 <translation id="4693155481716051732">ছুশ্বি</translation>
 <translation id="4694604912444486114">বান্দৰ</translation>
@@ -293,8 +315,10 @@
 <translation id="4724850507808590449"><ph name="FILE_COUNT" /> খন ফট‘ৰ বেক আপ লোৱা হ‘ল</translation>
 <translation id="4725511304875193254">কৰ্গি</translation>
 <translation id="4732760563705710320">দুঃখিত, এই ভিডিঅ’টো আপোনাৰ কাষ্ট ডিভাইচৰ দ্বাৰা সমৰ্থিত নহয়।</translation>
+<translation id="4733240808404733495">TIS 820-2531 কীব'ৰ্ডৰ সৈতে থাই</translation>
 <translation id="4734518477988699048">দিয়া মানটো অমান্য।</translation>
 <translation id="4737050008115666127">লেণ্ড হৈ আছে</translation>
+<translation id="4738570502598323051">InScript কীব’ৰ্ডৰ সৈতে তামিল</translation>
 <translation id="4747271164117300400">Macedonian</translation>
 <translation id="4759238208242260848">ডাউনল'ডসমূহ</translation>
 <translation id="4763055924467562718">কানাড়া ফ’নেটিক</translation>
@@ -306,6 +330,7 @@
 <translation id="4804827417948292437">এভ‘কাড‘</translation>
 <translation id="4823651846660089135">ডিভাইচটো কেৱল পঢ়িব পৰা</translation>
 <translation id="4839847978919684242"><ph name="SELCTED_FILES_COUNT" />টা বস্তু বাছনি কৰা হ’ল</translation>
+<translation id="4842306555839940112">তেলেগু লিপ্যন্তৰণ</translation>
 <translation id="4843566743023903107">Chromebases</translation>
 <translation id="4849981557599196363">জাৰ্মান (বেলজিয়াম)</translation>
 <translation id="4850886885716139402">চাওক</translation>
@@ -379,6 +404,7 @@
 <translation id="5368191757080475556">Linuxৰ মাধ্যমেৰে ফ'ল্ডাৰ শ্বেয়াৰ কৰক</translation>
 <translation id="5402367795255837559">ব্ৰেইলি</translation>
 <translation id="5418923334382419584">ম্যানমাৰ কীব’ৰ্ড</translation>
+<translation id="5427022459704612663">ভিয়েটনামিজ VIQR</translation>
 <translation id="5428105026674456456">স্পেনিশ্ব</translation>
 <translation id="5438282218546237410"><ph name="SEARCH_TERM" />ৰ কোনো ফলাফল নাই।</translation>
 <translation id="5449551289610225147">অমান্য পাছৱৰ্ড</translation>
@@ -394,6 +420,7 @@
 <translation id="5534520101572674276">আকাৰ গণনা কৰি থকা হৈছে</translation>
 <translation id="5551831234974556292">মল্টিজ</translation>
 <translation id="5583640892426849032">বেকস্পেচ</translation>
+<translation id="5601917305267643189">স্পেনিচ (স্পেইন)</translation>
 <translation id="5605830556594064952">ইউ.এছ. ডভ’ৰাক</translation>
 <translation id="5623849870004487514">ফ’নেটিক কীব’ৰ্ডৰ সৈতে নেপালী</translation>
 <translation id="5649768706273821470">শুনক</translation>
@@ -418,6 +445,7 @@
 <translation id="5833610766403489739">এই ফাইলৰ অৱস্থান হৈছে। অনুগ্ৰহ কৰি আপোনাৰ ডাউনল'ড অৱস্থানৰ ছেটিং পৰীক্ষা কৰক।</translation>
 <translation id="5838451609423551646">বাছনিৰ পৰা সকলো প্ৰবিষ্টি আঁতৰৰোৱা হৈছে।</translation>
 <translation id="5838825566232597749">ইউ.এছ. ৱর্কমেন ইণ্টাৰনেশ্বনেল</translation>
+<translation id="5846013392911797712">Kedmanee কীব'ৰ্ডৰ সৈতে থাই</translation>
 <translation id="5850516540536751549">এইধৰণৰ ফাইল সমৰ্থিত নহয়। অনুগ্ৰহ কৰি <ph name="BEGIN_LINK" />Chrome Web Store<ph name="END_LINK" />লৈ গৈ এপটো বিচাৰক যাতে এপটোৱে এইধৰণৰ ফাইল খুলিব পাৰে।
     <ph name="BEGIN_LINK_HELP" />অধিক জানক<ph name="END_LINK_HELP" /></translation>
 <translation id="5851063901794976166">ইয়াত চাবলৈ একো নাই...</translation>
@@ -435,6 +463,7 @@
 <translation id="60357267506638014">ছেক QWERTY</translation>
 <translation id="604001903249547235">ক্লাউড বেকআপ</translation>
 <translation id="6040143037577758943">বন্ধ কৰক</translation>
+<translation id="6041767187407754614">চীনা ক্ষিপ্ৰ</translation>
 <translation id="6074825444536523002">Google ফর্ম</translation>
 <translation id="6096979789310008754">সন্ধান কৰা পাঠ মচা হৈছে, সকলো ফাইল আৰু ফ'ল্ডাৰ প্ৰদর্শন কৰি থকা হৈছে।</translation>
 <translation id="610101264611565198"><ph name="FILE_NAME" /> ফাইলটো <ph name="FOLDER_NAME" />লৈ স্থানান্তৰ কৰি থকা হৈছে</translation>
@@ -491,6 +520,7 @@
 <translation id="6795884519221689054">পাণ্ডা</translation>
 <translation id="6806699711453372963">Linuxৰ শ্বেয়াৰিং পৰিচালনা কৰক</translation>
 <translation id="6808193438228982088">শিয়াল</translation>
+<translation id="6819938753873901684">টিগ্ৰিনিয়া</translation>
 <translation id="6820687829547641339">Gzip সংকুচিত কৰা টাৰ আৰ্কাইভ</translation>
 <translation id="6823166707458800069">এই ফ’ল্ডাৰটোত ছেভ হৈ থকা সকলো ফাইল স্বয়ংক্ৰিয়ভাৱে অনলাইনত বেক আপ কৰা হয়।</translation>
 <translation id="6825883775269213504">ৰাছিয়ান</translation>
@@ -499,6 +529,7 @@
 <translation id="6862635236584086457">এই ফ'ল্ডাৰত ছেভ কৰি থোৱা সকলো ফাইল স্বয়ংক্ৰিয়ভাৱে অনলাইন আপডে'ট হয়</translation>
 <translation id="6876155724392614295">বাইক</translation>
 <translation id="6878261347041253038">দেৱনাগৰী কীব’ৰ্ড (উচ্চাৰণগত)</translation>
+<translation id="6878301034829092662">ফ’নেটিক YaZHert কীব'ৰ্ডৰ সৈতে ৰাছিয়ান</translation>
 <translation id="6885780034956018177">শামুক</translation>
 <translation id="6896758677409633944">প্ৰতিলিপি কৰক</translation>
 <translation id="6898028766943174120">অধিক ছাব-ফ'ল্ডাৰ...</translation>
@@ -526,10 +557,14 @@
 <translation id="7106346894903675391">ষ্ট’ৰ কৰাৰ অধিক ঠাই কিনক...</translation>
 <translation id="7126604456862387217">’&lt;b&gt;<ph name="SEARCH_STRING" />&lt;/b&gt;’ - &lt;em&gt;সন্ধানৰ ড্ৰাইভ&lt;/em&gt;</translation>
 <translation id="714034171374937760">Chromebase</translation>
+<translation id="714369685015246514">চীনা বিন্যাস</translation>
+<translation id="7169438078134535111">F-কীব'ৰ্ডৰ সৈতে তুৰ্কী</translation>
 <translation id="7170467426996704624">লিপ্যন্তৰণ (salam → ሰላም)</translation>
+<translation id="7173380554947442031">ভিয়েটনামিজ VNI</translation>
 <translation id="7180611975245234373">ৰিফ্ৰেশ্ব কৰক</translation>
 <translation id="7189874332498648577"><ph name="NUMBER_OF_GB" /> জি.বি.</translation>
 <translation id="7191454237977785534">ফাইল ছেভ কৰাৰ বিকল্প</translation>
+<translation id="7221999925319694720">চীনা জুয়িন</translation>
 <translation id="7238097264433196391">ড্ৰাইভৰ নাম</translation>
 <translation id="7248671827512403053">এপ্লিকেশ্বন</translation>
 <translation id="7268659760406822741">উপলব্ধ সেৱাসমূহ</translation>
@@ -595,6 +630,7 @@
 <translation id="7881969471599061635">ছাবটাইটেল অক্ষম কৰক</translation>
 <translation id="78946041517601018">শ্বেয়াৰ কৰা ড্ৰাইভসমূহ</translation>
 <translation id="7898607018410277265">গুজৰাটী কীব’র্ড (নতুন উচ্চাৰণগত)</translation>
+<translation id="7908150161525408421">স্পেনিচ (লেটিন আমেৰিকা)</translation>
 <translation id="7908793776359722643">এটা বিভাজন ফৰ্মেট কৰা কাৰ্যই তাত ষ্ট'ৰ কৰি ৰখা সকলো ডেটা মচিব। এই কাৰ্যটো আনডু কৰিব নোৱাৰি।</translation>
 <translation id="7925686952655276919">ছিংক কৰিবলৈ ম'বাইল ডেটা ব্যৱহাৰ নকৰিব</translation>
 <translation id="7928710562641958568">ডিভাইচ এৰুৱাওক</translation>
@@ -602,6 +638,7 @@
 <translation id="7953739707111622108">এই ডিভাইচটো খুলিব পৰা নাযায় কাৰণ ইয়াৰ ফাইলছিষ্টেমটো চিনাক্ত কৰিব পৰা নাই।</translation>
 <translation id="7969525169268594403">শ্ল'ভেনিয়ান</translation>
 <translation id="7982283708762922719">উচ্চতা</translation>
+<translation id="7988940501536183135">ফ’নেটিক কীব’ৰ্ডৰ সৈতে ৰাছিয়ান</translation>
 <translation id="8008366997883261463">কুকুৰ</translation>
 <translation id="8028993641010258682">আকাৰ</translation>
 <translation id="803771048473350947">ফাইল</translation>
@@ -620,8 +657,10 @@
 <translation id="8154842056504218462">বাছনি কৰা সকলো প্ৰবিষ্টি।</translation>
 <translation id="8157684860301034423">এপৰ তথ্য পুনৰুদ্ধাৰ কৰিব পৰা নগ'ল।</translation>
 <translation id="8157939133946352716">৭x৫</translation>
+<translation id="8159982522558068586">Typewriter কীব'ৰ্ডৰ সৈতে তামিল</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8193175696669055101">ডিভাইচৰ মডেল</translation>
+<translation id="8196481879028929035">পৰ্টুগীজ (পৰ্টুগাল)</translation>
 <translation id="8208580316430297579">শিল্পকৰ্ম</translation>
 <translation id="8223479393428528563">এই ফাইলবোৰ অফলাইন অৱস্থাত ব্যৱহাৰ কৰাৰ বাবে ছেভ কৰিবলৈ অনলাইন হওক আৰু তাৰপিছত ফাইলত সোঁফালে ক্লিক কৰি <ph name="OFFLINE_CHECKBOX_NAME" /> বিকল্পটো বাছনি কৰক।</translation>
 <translation id="8249296373107784235">নিষ্ফল কৰক</translation>
@@ -654,6 +693,10 @@
 <translation id="8579285237314169903"><ph name="NUMBER_OF_FILES" />টা বস্তু ছিংক কৰি থকা হৈছে...</translation>
 <translation id="8600173386174225982">ফাইলৰ সূচীখন থাম্বনেইল ভিউ ম'ডলৈ সলনি কৰা হৈছে।</translation>
 <translation id="8601932370724196034">Crostini প্ৰতিচ্ছবিৰ ফাইল</translation>
+<translation id="8608272065177710825">ফ’নেটিক কীব’ৰ্ডৰ সৈতে বুলগেৰিয়ান</translation>
+<translation id="8619608420536266892">Tamil99 কীব'ৰ্ডৰ সৈতে তামিল</translation>
+<translation id="863846969551842412">কেণ্টনীজ</translation>
+<translation id="8669047053197791123">Pattachote কীব'ৰ্ডৰ সৈতে থাই</translation>
 <translation id="8669949407341943408">স্থানান্তৰ কৰি থকা হৈছে...</translation>
 <translation id="8688649574682805922">জাৰ্মান (ছুইজাৰলেণ্ড)</translation>
 <translation id="8694836330346852143">উৰ্দু</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_bs.xtb b/ui/chromeos/translations/ui_chromeos_strings_bs.xtb
index fb246c1..393c1f1 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_bs.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_bs.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Godina snimanja</translation>
 <translation id="3353984535370177728">Odaberite folder za otpremanje</translation>
 <translation id="3356580349448036450">Završi</translation>
+<translation id="3369522691271417561">centralnokurdski s arapskom tastaturom</translation>
 <translation id="3414856743105198592">Formatiranjem izmjenjivih medija izbrisat će se svi podaci. Želite li nastaviti?</translation>
 <translation id="3437801641691368414">Vrijeme kreiranja</translation>
 <translation id="3466147780910026086">Skeniranje vašeg medijskog uređaja...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ca.xtb b/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
index 53fbd17..1fc18ca 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Any de gravació</translation>
 <translation id="3353984535370177728">Seleccioneu una carpeta per penjar</translation>
 <translation id="3356580349448036450">Completada</translation>
+<translation id="3369522691271417561">Kurd central amb teclat basat en l'àrab</translation>
 <translation id="3414856743105198592">Si formateu els suports extraïbles esborrareu totes les dades. Voleu continuar?</translation>
 <translation id="3437801641691368414">Hora de creació</translation>
 <translation id="3466147780910026086">S'està analitzant el dispositiu multimèdia...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_cs.xtb b/ui/chromeos/translations/ui_chromeos_strings_cs.xtb
index 8940d079..5681aa6 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_cs.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_cs.xtb
@@ -96,7 +96,7 @@
 <translation id="1995337122023280937">Přejít do umístění souboru</translation>
 <translation id="2001796770603320721">Spravovat na Disku</translation>
 <translation id="2009067268969781306">Naformátováním jednotky smažete všechna na ní uložená data. Tuto akci nelze vrátit zpět.</translation>
-<translation id="2016165510591645686">čínský pchin-jin</translation>
+<translation id="2016165510591645686">čínština (pchin-jin)</translation>
 <translation id="2028997212275086731">Archiv ve formátu RAR</translation>
 <translation id="2046702855113914483">Polévka ramen</translation>
 <translation id="2060251957438343874">němčina (Německo)</translation>
@@ -138,7 +138,7 @@
 <translation id="2541377937973966830">Obsah této složky je pouze ke čtení. Některé aktivity nejsou podporovány.</translation>
 <translation id="2542049655219295786">Tabulka Google</translation>
 <translation id="2547921442987553570">Přidat do rozšíření <ph name="EXTENSION_NAME" /></translation>
-<translation id="255285553751745003">vietnamský telex</translation>
+<translation id="255285553751745003">vietnamština (telex)</translation>
 <translation id="255937426064304553">Americká klávesnice (mezinárodní)</translation>
 <translation id="2562685439590298522">Dokumenty</translation>
 <translation id="2563185590376525700">Žába</translation>
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Rok nahrávky</translation>
 <translation id="3353984535370177728">Vyberte složku pro nahrání</translation>
 <translation id="3356580349448036450">Dokončeno</translation>
+<translation id="3369522691271417561">Kurdština sorání s arabskou klávesnicí</translation>
 <translation id="3414856743105198592">Formátování vyměnitelného média vymaže všechna data. Chcete pokračovat?</translation>
 <translation id="3437801641691368414">Čas vytvoření</translation>
 <translation id="3466147780910026086">Prohledávání mediálního zařízení...</translation>
@@ -317,7 +318,7 @@
 <translation id="4724850507808590449">Počet zálohovaných fotek: <ph name="FILE_COUNT" /></translation>
 <translation id="4725511304875193254">Pes corgi</translation>
 <translation id="4732760563705710320">Je nám líto, ale vaše zařízení pro streamování obsahu toto video nepodporuje.</translation>
-<translation id="4733240808404733495">Thajština s klávesnicí TIS 820-2531</translation>
+<translation id="4733240808404733495">thajština s klávesnicí TIS 820-2531</translation>
 <translation id="4734518477988699048">Hodnota vstupu je neplatná.</translation>
 <translation id="4737050008115666127">Přistání</translation>
 <translation id="4738570502598323051">tamilština s klávesnicí InScript</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_da.xtb b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
index 404ee99..0c35cab 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_da.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">År, det blev optaget</translation>
 <translation id="3353984535370177728">Vælg en mappe, der skal uploades</translation>
 <translation id="3356580349448036450">Fuldført</translation>
+<translation id="3369522691271417561">Sorani-kurdisk med arabiskbaseret tastatur</translation>
 <translation id="3414856743105198592">Formatering af de flytbare medier kommer til at slette alle data. Vil du fortsætte?</translation>
 <translation id="3437801641691368414">Oprettelsestidspunkt</translation>
 <translation id="3466147780910026086">Din medieenhed scannes...</translation>
@@ -278,7 +279,7 @@
 <translation id="4299729908419173967">Brasiliansk</translation>
 <translation id="4305486654020746131">Punjabi</translation>
 <translation id="4309915981827077375">Generelle oplysninger</translation>
-<translation id="4315949787858895817">Hollandsk (Belgien)</translation>
+<translation id="4315949787858895817">Nederlandsk (Belgien)</translation>
 <translation id="4326192123064055915">Kaffe</translation>
 <translation id="4336032328163998280">Kopieringen mislykkedes. <ph name="ERROR_MESSAGE" /></translation>
 <translation id="4364327530094270451">Melon</translation>
@@ -515,7 +516,7 @@
 <translation id="6643016212128521049">Ryd</translation>
 <translation id="6650726141019353908">Lyserød sommerfugl</translation>
 <translation id="6657585470893396449">Adgangskode</translation>
-<translation id="6680841910911617814">Hollandsk (Holland)</translation>
+<translation id="6680841910911617814">Nederlandsk (Nederlandene)</translation>
 <translation id="6710213216561001401">Forrige</translation>
 <translation id="6718273304615422081">Komprimerer...</translation>
 <translation id="6751256176799620176">1 mappe er valgt</translation>
@@ -590,7 +591,7 @@
 <translation id="751507702149411736">Hviderussisk</translation>
 <translation id="7544830582642184299">Giv Linux-apps adgang til filer i Google Drev. Ændringer synkroniseres med dine andre enheder.</translation>
 <translation id="7544853251252956727">Bland</translation>
-<translation id="7547811415869834682">Hollandsk</translation>
+<translation id="7547811415869834682">Nederlandsk</translation>
 <translation id="7551643184018910560">Fastgør til hylde</translation>
 <translation id="7553492409867692754">Giv Linux-apps adgang til filer i mappen <ph name="FOLDER_NAME" /></translation>
 <translation id="7576032389798113292">6 x 4</translation>
@@ -710,7 +711,7 @@
 <translation id="8714406895390098252">Cykel</translation>
 <translation id="8719721339511222681"><ph name="ENTRY_NAME" /> er valgt.</translation>
 <translation id="872537912056138402">Kroatisk</translation>
-<translation id="8770002329960263418">Hollandsk (Holland) med amerikansk internationalt computertastatur</translation>
+<translation id="8770002329960263418">Nederlandsk (Nederlandene) med amerikansk internationalt computertastatur</translation>
 <translation id="8775404590947523323">Din ændringer gemmes automatisk.<ph name="BREAKS" />Hvis du gemmer en kopi af det oprindelige billede, skal du fjerne markeringen for "Overskriv originalen"</translation>
 <translation id="8808686172382650546">Kat</translation>
 <translation id="8810671769985673465">Komprimering mislykkedes, elementet findes: "<ph name="FILE_NAME" />"</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_el.xtb b/ui/chromeos/translations/ui_chromeos_strings_el.xtb
index c145eeb..b88c069 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_el.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_el.xtb
@@ -215,6 +215,7 @@
 <translation id="3335337277364016868">Έτος ηχογράφησης</translation>
 <translation id="3353984535370177728">Επιλέξτε έναν φάκελο για μεταφόρτωση</translation>
 <translation id="3356580349448036450">Ολοκληρώθηκε</translation>
+<translation id="3369522691271417561">Σορανί Κουρδικά με πληκτρολόγιο βασισμένο στα Αραβικά</translation>
 <translation id="3414856743105198592">Η μορφοποίηση του αφαιρούμενου μέσου θα διαγράψει όλα τα δεδομένα. Θέλετε να συνεχίσετε;</translation>
 <translation id="3437801641691368414">Ώρα δημιουργίας</translation>
 <translation id="3466147780910026086">Σάρωση της συσκευής μέσων σας…</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
index 91cf6ad2..e46abcb 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Year recorded</translation>
 <translation id="3353984535370177728">Select a folder to upload</translation>
 <translation id="3356580349448036450">Complete</translation>
+<translation id="3369522691271417561">Sorani Kurdish with Arabic-based keyboard</translation>
 <translation id="3414856743105198592">Formatting the removable media is going to erase all data. Do you wish to continue?</translation>
 <translation id="3437801641691368414">Created time</translation>
 <translation id="3466147780910026086">Scanning your media device...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb b/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb
index f10adbe3..2b57ae3 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb
@@ -9,7 +9,7 @@
 <translation id="1049926623896334335">Documento de Word</translation>
 <translation id="1060368002126861100">Para abrir archivos con <ph name="APP_NAME" />, primero debes moverlos a la carpeta de archivos de Windows.</translation>
 <translation id="1062407476771304334">Reemplazar</translation>
-<translation id="1082570120854863773">Chino (Tradicional) Pinyin</translation>
+<translation id="1082570120854863773">Chino tradicional (Pinyin)</translation>
 <translation id="1119069657431255176">Archivo tar comprimido en Bzip2</translation>
 <translation id="1120073797882051782">Hangul Romaja</translation>
 <translation id="1148097584170732637">Se encontró un total de <ph name="FILE_COUNT" />.
@@ -96,7 +96,7 @@
 <translation id="1995337122023280937">Ir a la ubicación del archivo</translation>
 <translation id="2001796770603320721">Administrar en Drive</translation>
 <translation id="2009067268969781306">Si formateas una unidad, se borrarán todos los datos almacenados en ella. No se puede deshacer esta acción.</translation>
-<translation id="2016165510591645686">Chino (pinyin)</translation>
+<translation id="2016165510591645686">Chino (Pinyin)</translation>
 <translation id="2028997212275086731">Archivo RAR</translation>
 <translation id="2046702855113914483">Ramen</translation>
 <translation id="2060251957438343874">Alemán (Alemania)</translation>
@@ -151,7 +151,7 @@
 <translation id="2664412712123763093">Ubicación del archivo</translation>
 <translation id="2672394958563893062">Ocurrió un error. Haz clic para reiniciar desde el principio.</translation>
 <translation id="2676946222714718093">Reproduciendo en</translation>
-<translation id="2718873684053049373">Chino Dayi</translation>
+<translation id="2718873684053049373">Chino (Dayi)</translation>
 <translation id="2735623501230989521">Permite que Parallels Desktop acceda a los archivos de la carpeta <ph name="FOLDER_NAME" />.</translation>
 <translation id="2771816809568414714">Queso</translation>
 <translation id="2781645665747935084">Belga</translation>
@@ -303,7 +303,7 @@
 <translation id="4603392156942865207">Copiando <ph name="FILE_NAME" /> a <ph name="FOLDER_NAME" /></translation>
 <translation id="4627439232948440198">Sánscrito</translation>
 <translation id="4631887759990505102">Artista</translation>
-<translation id="463813589602055304">Wubi chino</translation>
+<translation id="463813589602055304">Chino (Wubi)</translation>
 <translation id="4656293982926141856">Esta computadora</translation>
 <translation id="4669606053856530811">Los miembros de "<ph name="SOURCE_NAME" />" ya no tendrán acceso a estos elementos, a menos que se los comparta con ellos.</translation>
 <translation id="4669979276126590335">Serbio (transliteración)</translation>
@@ -332,7 +332,7 @@
 <translation id="4804827417948292437">Aguacate</translation>
 <translation id="4823651846660089135">El dispositivo es de solo lectura</translation>
 <translation id="4839847978919684242"><ph name="SELCTED_FILES_COUNT" /> elementos seleccionados</translation>
-<translation id="4842306555839940112">Telugu (transliteración)</translation>
+<translation id="4842306555839940112">Télugu (transliteración)</translation>
 <translation id="4843566743023903107">Las Chromebases</translation>
 <translation id="4849981557599196363">Alemán (Bélgica)</translation>
 <translation id="4850886885716139402">Ver</translation>
@@ -467,7 +467,7 @@
 <translation id="60357267506638014">Checo (QWERTY)</translation>
 <translation id="604001903249547235">Copia de seguridad en la nube</translation>
 <translation id="6040143037577758943">Cerrar</translation>
-<translation id="6041767187407754614">Chino con método rápido</translation>
+<translation id="6041767187407754614">Chino (rápido)</translation>
 <translation id="6074825444536523002">Formulario de Google</translation>
 <translation id="6096979789310008754">Busca texto borrado, con todos los archivos y carpetas.</translation>
 <translation id="610101264611565198">Moviendo <ph name="FILE_NAME" /> a <ph name="FOLDER_NAME" /></translation>
@@ -533,7 +533,7 @@
 <translation id="6862635236584086457">Se realiza automáticamente una copia de seguridad en línea de todos los archivos guardados en esta carpeta.</translation>
 <translation id="6876155724392614295">Bicicleta</translation>
 <translation id="6878261347041253038">Teclado devanagari (fonético)</translation>
-<translation id="6878301034829092662">Ruso con teclado fonético (YaZHert)</translation>
+<translation id="6878301034829092662">Ruso con teclado fonético YaZHert</translation>
 <translation id="6885780034956018177">Caracol</translation>
 <translation id="6896758677409633944">Copiar</translation>
 <translation id="6898028766943174120">Más subcarpetas…</translation>
@@ -561,8 +561,8 @@
 <translation id="7106346894903675391">Comprar más almacenamiento...</translation>
 <translation id="7126604456862387217">'&lt;b&gt;<ph name="SEARCH_STRING" />&lt;/b&gt;' - &lt;em&gt;unidad de búsqueda&lt;/em&gt;</translation>
 <translation id="714034171374937760">Chromebase</translation>
-<translation id="714369685015246514">Disposición en chino</translation>
-<translation id="7169438078134535111">Turco con teclado turco-F</translation>
+<translation id="714369685015246514">Chino (Array)</translation>
+<translation id="7169438078134535111">Turco con teclado Turco-F</translation>
 <translation id="7170467426996704624">Transliteración (salam → ሰላም)</translation>
 <translation id="7173380554947442031">Vietnamita (VNI)</translation>
 <translation id="7180611975245234373">Actualizar</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_et.xtb b/ui/chromeos/translations/ui_chromeos_strings_et.xtb
index a3239e9..c75229c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_et.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_et.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Salvestamisaasta</translation>
 <translation id="3353984535370177728">Valige kaust üleslaadimiseks</translation>
 <translation id="3356580349448036450">Lõpetatud</translation>
+<translation id="3369522691271417561">sorani kurdi, araabia keele põhise klaviatuuriga</translation>
 <translation id="3414856743105198592">Irdkandja vormindamine kustutab kõik andmed. Kas soovite jätkata?</translation>
 <translation id="3437801641691368414">Loomisaeg</translation>
 <translation id="3466147780910026086">Meediaseadme skannimine ...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_eu.xtb b/ui/chromeos/translations/ui_chromeos_strings_eu.xtb
index 8208a07..feddf39 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_eu.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_eu.xtb
@@ -44,7 +44,7 @@
 <translation id="1378727793141957596">Ongi etorri Google Drive-ra!</translation>
 <translation id="1383876407941801731">Bilaketa</translation>
 <translation id="1395262318152388157">Erreprodukzio-barra</translation>
-<translation id="1411401459521499147">Errumaniarra, teklatu estandarrarekin</translation>
+<translation id="1411401459521499147">Errumaniarra, teklatu arruntarekin</translation>
 <translation id="14286271616944851">Persiarra</translation>
 <translation id="1430915738399379752">Inprimatu</translation>
 <translation id="1435838927755162558">Partekatu karpeta Parallels Desktop aplikazioarekin</translation>
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Grabaketaren urtea</translation>
 <translation id="3353984535370177728">Hautatu kargatu nahi duzun karpeta</translation>
 <translation id="3356580349448036450">Osatuta</translation>
+<translation id="3369522691271417561">Soraniarra, arabieran oinarritutako teklatuarekin</translation>
 <translation id="3414856743105198592">Gailu aldagarria formateatzen baduzu, datu guztiak ezabatuko dira. Jarraitu nahi duzu?</translation>
 <translation id="3437801641691368414">Sortze-ordua</translation>
 <translation id="3466147780910026086">Multimedia-gailuan bilatzen…</translation>
@@ -642,7 +643,7 @@
 <translation id="7953739707111622108">Ezin da ireki gailua bere fitxategi-sistema ezezaguna delako.</translation>
 <translation id="7969525169268594403">Esloveniarra</translation>
 <translation id="7982283708762922719">Altuera</translation>
-<translation id="7988940501536183135">Errusiera, teklatu fonetikoarekin</translation>
+<translation id="7988940501536183135">Errusiarra, teklatu fonetikoarekin</translation>
 <translation id="8008366997883261463">Jack Russell Terrier arrazako zakurra</translation>
 <translation id="8028993641010258682">Tamaina</translation>
 <translation id="803771048473350947">Fitxategia</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_gl.xtb b/ui/chromeos/translations/ui_chromeos_strings_gl.xtb
index e02cf48e..81a6fec 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_gl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_gl.xtb
@@ -96,7 +96,7 @@
 <translation id="1995337122023280937">Ir á localización do ficheiro</translation>
 <translation id="2001796770603320721">Xestionar contido en Drive</translation>
 <translation id="2009067268969781306">Ao formatar unha unidade, eliminaranse todos os datos que conteña. Esta acción non se pode desfacer.</translation>
-<translation id="2016165510591645686">Pinyin de chinés</translation>
+<translation id="2016165510591645686">Chinés (pinyin)</translation>
 <translation id="2028997212275086731">Arquivo RAR</translation>
 <translation id="2046702855113914483">Ramen</translation>
 <translation id="2060251957438343874">Alemán (Alemaña)</translation>
@@ -567,7 +567,7 @@
 <translation id="7180611975245234373">Actualizar</translation>
 <translation id="7189874332498648577"><ph name="NUMBER_OF_GB" /> GB</translation>
 <translation id="7191454237977785534">Gardar ficheiro como</translation>
-<translation id="7221999925319694720">Zhuyin de chinés</translation>
+<translation id="7221999925319694720">Chinés (zhuyin)</translation>
 <translation id="7238097264433196391">Nome da unidade</translation>
 <translation id="7248671827512403053">Aplicación</translation>
 <translation id="7268659760406822741">Servizos dispoñibles</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_hr.xtb b/ui/chromeos/translations/ui_chromeos_strings_hr.xtb
index aadf221..a6d9f880 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_hr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_hr.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Godina snimanja</translation>
 <translation id="3353984535370177728">Odaberite mapu za prijenos</translation>
 <translation id="3356580349448036450">Dovršeno</translation>
+<translation id="3369522691271417561">Soransko-kurdski s tipkovnicom temeljenom na arapskom</translation>
 <translation id="3414856743105198592">Formatiranjem izmjenjivih medija izbrisat će se svi podaci. Želite li nastaviti?</translation>
 <translation id="3437801641691368414">Vrijeme izrade</translation>
 <translation id="3466147780910026086">Pretraživanje medijskog uređaja...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_is.xtb b/ui/chromeos/translations/ui_chromeos_strings_is.xtb
index 093e08b0..31ac5f9ce 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_is.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_is.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Upptökuár</translation>
 <translation id="3353984535370177728">Veldu möppu til að hlaða inn</translation>
 <translation id="3356580349448036450">Ljúka</translation>
+<translation id="3369522691271417561">Sorani-kúrdíska með lyklaborði á arabískum grunni</translation>
 <translation id="3414856743105198592">Ef lausi geymslumiðillinn er forsniðinn eru öll gögn hreinsuð af honum. Viltu halda áfram?</translation>
 <translation id="3437801641691368414">Búin til</translation>
 <translation id="3466147780910026086">Skannar geymslumiðilinn þinn...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_it.xtb b/ui/chromeos/translations/ui_chromeos_strings_it.xtb
index d12a7a1..20c15f6 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_it.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_it.xtb
@@ -519,7 +519,7 @@
 <translation id="6718273304615422081">Compressione...</translation>
 <translation id="6751256176799620176">1 cartella selezionata</translation>
 <translation id="6767296108234383966">Traslitterazione malayalam</translation>
-<translation id="6790428901817661496">Play</translation>
+<translation id="6790428901817661496">Riproduci</translation>
 <translation id="6795884519221689054">Panda</translation>
 <translation id="6806699711453372963">Gestisci condivisione con Linux</translation>
 <translation id="6808193438228982088">Volpe</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ja.xtb b/ui/chromeos/translations/ui_chromeos_strings_ja.xtb
index b2e99ca..30a9896 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ja.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ja.xtb
@@ -561,7 +561,7 @@
 <translation id="7106346894903675391">追加容量を購入...</translation>
 <translation id="7126604456862387217">「&lt;b&gt;<ph name="SEARCH_STRING" />&lt;/b&gt;」 - &lt;em&gt;&lt;/em&gt;ドライブを検索</translation>
 <translation id="714034171374937760">Chromebase</translation>
-<translation id="714369685015246514">中国語(配列)</translation>
+<translation id="714369685015246514">中国語(行列)</translation>
 <translation id="7169438078134535111">トルコ語(F)キーボード</translation>
 <translation id="7170467426996704624">文字変換(salam → ሰላም)</translation>
 <translation id="7173380554947442031">ベトナム語(VNI)</translation>
@@ -643,7 +643,7 @@
 <translation id="7953739707111622108">ファイルシステムが認識されなかったため、このデバイスを開くことはできません。</translation>
 <translation id="7969525169268594403">スロベニア語</translation>
 <translation id="7982283708762922719">高さ</translation>
-<translation id="7988940501536183135">ネパール語(表音)キーボード</translation>
+<translation id="7988940501536183135">ロシア語(表音)キーボード</translation>
 <translation id="8008366997883261463">犬</translation>
 <translation id="8028993641010258682">サイズ</translation>
 <translation id="803771048473350947">ファイル</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ka.xtb b/ui/chromeos/translations/ui_chromeos_strings_ka.xtb
index 59c323fc..84434b99 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ka.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ka.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">ჩაწერის წელი</translation>
 <translation id="3353984535370177728">აირჩიეთ საქაღალდე ატვირთვისთვის</translation>
 <translation id="3356580349448036450">დასრულებულია</translation>
+<translation id="3369522691271417561">ცენტრალურქურთული არაბულზე დაფუძნებული კლავიატურით</translation>
 <translation id="3414856743105198592">ამოღებადი მედიის ფორმატირების შემთხვევაში მთლიანი მონაცემები წაიშლება. გსურთ გააგრძელოთ?</translation>
 <translation id="3437801641691368414">შექმნის დრო</translation>
 <translation id="3466147780910026086">მიმდინარეობს მედია მოწყობილობის სკანერება…</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_lt.xtb b/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
index 65e7074..2fe3fbfa 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Įrašymo metai</translation>
 <translation id="3353984535370177728">Pasirinkite norimą įkelti aplanką</translation>
 <translation id="3356580349448036450">Baigta</translation>
+<translation id="3369522691271417561">Soranių kurdų su arabų k. klaviatūra</translation>
 <translation id="3414856743105198592">Formatuojant keičiamąją mediją visi duomenys bus ištrinti. Ar norite tęsti?</translation>
 <translation id="3437801641691368414">Sukūrimo laikas</translation>
 <translation id="3466147780910026086">Nuskaitomas medijos įrenginys...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_mk.xtb b/ui/chromeos/translations/ui_chromeos_strings_mk.xtb
index 81fe35a..862b269c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_mk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_mk.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Година на снимање</translation>
 <translation id="3353984535370177728">Избери папка за поставување</translation>
 <translation id="3356580349448036450">Завршено</translation>
+<translation id="3369522691271417561">сорани курдски со тастатура заснована на арапски</translation>
 <translation id="3414856743105198592">Со форматирање на преносливиот медиум ќе се избришат сите податоци. Дали сакате да продолжите?</translation>
 <translation id="3437801641691368414">Време на создавање</translation>
 <translation id="3466147780910026086">Се скенира преносливиот уред...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ml.xtb b/ui/chromeos/translations/ui_chromeos_strings_ml.xtb
index a420a0db..2470213 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ml.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ml.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">റെക്കോർഡ് ചെയ്‌ത വർഷം</translation>
 <translation id="3353984535370177728">അപ്‌ലോഡുചെയ്യുന്നതിന് ഒരു ഫോൾഡർ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="3356580349448036450">പൂര്‍ത്തിയാക്കൂ</translation>
+<translation id="3369522691271417561">അറബി അധിഷ്‌ഠിത കീബോർഡ് ഉള്ള സൊറാനി കുർദ്ദിഷ്</translation>
 <translation id="3414856743105198592">നീക്കം ചെയ്യാവുന്ന മീഡിയയിലെ ഫോർമാറ്റിംഗ് എല്ലാ ഡാറ്റയും മായ്‍ക്കും. തുടരാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?</translation>
 <translation id="3437801641691368414">സൃഷ്‌ടിച്ച സമയം</translation>
 <translation id="3466147780910026086">നിങ്ങളുടെ മീഡിയാ ഉപകരണം സ്‌‌കാൻ ചെയ്യുന്നു...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ne.xtb b/ui/chromeos/translations/ui_chromeos_strings_ne.xtb
index e2af3ec..0e31229 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ne.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ne.xtb
@@ -2,11 +2,14 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="ne">
 <translation id="1000498691615767391">खोल्नको लागि एउटा फोल्डर चयन गर्नुहोस्</translation>
+<translation id="1016731229041675999">अरबी लिपि रूपान्तरण</translation>
+<translation id="102325055885714714">तमिल लिपि रूपान्तरण</translation>
 <translation id="1035094536595558507">स्लाईड दृष्टि</translation>
 <translation id="1047956942837015229"><ph name="COUNT" /> वस्तुहरू मेटाउँदै...</translation>
 <translation id="1049926623896334335">शब्द कागजात</translation>
 <translation id="1060368002126861100"><ph name="APP_NAME" /> मार्फत फाइलहरू खोल्न सर्वप्रथम ती फाइलहरू सारेर 'Windows फाइलहरू' फोल्डरमा लैजानुहोस्।</translation>
 <translation id="1062407476771304334">बदल्नुहोस्</translation>
+<translation id="1082570120854863773">चिनियाँ (परम्परागत) पिनयिन</translation>
 <translation id="1119069657431255176">Bzip2 खाँदिएको टार सङ्ग्रह</translation>
 <translation id="1120073797882051782">हंगुल रोमाजा</translation>
 <translation id="1148097584170732637"><ph name="FILE_COUNT" /> फेला पर्‍यो।
@@ -41,10 +44,13 @@
 <translation id="1378727793141957596">Google ड्राइभ मा स्वागत छ!</translation>
 <translation id="1383876407941801731">खोज्नुहोस्</translation>
 <translation id="1395262318152388157">सिक स्लाइडर</translation>
+<translation id="1411401459521499147">रोमानियाली स्टान्डर्ड किबोर्ड</translation>
+<translation id="14286271616944851">फारसी</translation>
 <translation id="1430915738399379752">प्रिन्ट गर्नुहोस्</translation>
 <translation id="1435838927755162558">Parallels Desktop सँग फोल्डर सेयर गर्नुहोस्</translation>
 <translation id="1439494416798956626"><ph name="FOLDER_NAME" />मा सारियो।</translation>
 <translation id="1464724975715666883">1 त्रुटि।</translation>
+<translation id="1466220122465387403">सोरानी कुर्दिशसहितको अङ्ग्रेजीमा आधारित किबोर्ड</translation>
 <translation id="1467432559032391204">बाँया</translation>
 <translation id="1472351751615457820">ग्रिक लिपि रूपान्तरण</translation>
 <translation id="1474339897586437869">"<ph name="FILENAME" />"अपलोड गरिएको थिएन। तपाईँको Google ड्राइभमा पर्याप्त खाली ठाउँ छैन।</translation>
@@ -59,6 +65,7 @@
 <translation id="1620510694547887537">क्यामेरा</translation>
 <translation id="1622022025445651011">फ्रान्सेली (फ्रान्स)</translation>
 <translation id="1646019627374511909"><ph name="NUMBER_OF_ITEMS" /> वटा फाइल अफलाइन उपलब्ध गराइँदै छन्</translation>
+<translation id="1649464394998806860">रसियाली फोनेटिक AATSEEL किबोर्ड</translation>
 <translation id="164969095109328410">Chrome यन्त्र</translation>
 <translation id="1665611772925418501">फाइल परिमार्जन गर्न सकिएन।</translation>
 <translation id="1673103856845176271">सुरक्षाको कारणले यो फाइल पहुँच गर्न सकिएन।</translation>
@@ -89,9 +96,11 @@
 <translation id="1995337122023280937">फाइल रहेको स्थानमा जानुहोस्</translation>
 <translation id="2001796770603320721">ड्राइभमा व्यवस्थित गर्नुहोस्</translation>
 <translation id="2009067268969781306">ड्राइभ फर्म्याट गर्नुले यसमा भण्डार गरिएका सम्पूर्ण डेटा मेट्ने छ। यो कार्य उल्टाउन सकिँदैन।</translation>
+<translation id="2016165510591645686">चिनियाँ पिनयिन</translation>
 <translation id="2028997212275086731">RAR सङ्ग्रह</translation>
 <translation id="2046702855113914483">रामेन</translation>
 <translation id="2060251957438343874">जर्मन (जर्मनी)</translation>
+<translation id="2060392775416297569">चिनियाँ क्यान्जी</translation>
 <translation id="2066433303065022982">हिब्रू लिपि रूपान्तरण</translation>
 <translation id="2070909990982335904">विन्दुबाट सुरु हुने नामहरू प्रणालीको लागि आरक्षित छन्। कृपया अर्को नाम छान्नुहोस्।</translation>
 <translation id="2079545284768500474">अन्डू गर्नुहोस्</translation>
@@ -123,11 +132,13 @@
 <translation id="2453576648990281505">फाइल पहिले नै अवस्थित छ</translation>
 <translation id="2464079411014186876">आइसक्रिम</translation>
 <translation id="2468402215065996499">तामागोची</translation>
+<translation id="2484472280211296077">तमिल फोनेटिक</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2534155362429831547"><ph name="NUMBER_OF_ITEMS" /> वस्तुहरू मेटाइए</translation>
 <translation id="2541377937973966830">यो फोल्डरका सामग्री रिड गर्न मात्र मिल्छ। केही क्रियाकलापहरू गर्न मिल्दैन।</translation>
 <translation id="2542049655219295786">Google तालिका</translation>
 <translation id="2547921442987553570"><ph name="EXTENSION_NAME" /> मा थप्नुहोस्</translation>
+<translation id="255285553751745003">भियतनामी टेलेक्स</translation>
 <translation id="255937426064304553">यु.एस. अन्तर्राष्ट्रिय</translation>
 <translation id="2562685439590298522">कागजातहरू</translation>
 <translation id="2563185590376525700">भ्यागुतो</translation>
@@ -140,11 +151,13 @@
 <translation id="2664412712123763093">फाइल रहेको स्थान</translation>
 <translation id="2672394958563893062">एउटा त्रुटि देखापर्‍यो। सुरुदेखि पुन: सुरु गर्न क्लिक गर्नुहोस्।</translation>
 <translation id="2676946222714718093">प्ले गर्दै</translation>
+<translation id="2718873684053049373">चिनियाँ दायी</translation>
 <translation id="2735623501230989521">Parallels Desktop लाई <ph name="FOLDER_NAME" /> फोल्डरमा रहेका फाइलहरूमाथि पहुँच राख्ने अनुमति दिनुहोस्</translation>
 <translation id="2771816809568414714">चिज</translation>
 <translation id="2781645665747935084">बेल्गियम</translation>
 <translation id="2782104745158847185">Linux एप स्थापना गर्ने क्रममा त्रुटि भयो</translation>
 <translation id="2787047795752739979">मूललाई अधिलेखन गर्नुहोस्</translation>
+<translation id="2798201218072736543">पोर्तुगाली (ब्राजिल)</translation>
 <translation id="2822854841007275488">अरेबी</translation>
 <translation id="2843806747483486897">पूर्वनिर्धारित परिवर्तन गर्नुहोस्...</translation>
 <translation id="2850124913210091882">जगेडा गर्नुहोस्</translation>
@@ -167,12 +180,14 @@
 <translation id="3003633581067744647">थम्बनेल दृश्यमा बदल्नुहोस्‌</translation>
 <translation id="3007214526293698309">अनुपात सही गर्नुहोस्</translation>
 <translation id="303198083543495566">भूगोल</translation>
+<translation id="3040867506619073727">सिन्हाला</translation>
 <translation id="3057861065630527966">तपाईँको तस्बिर र भिडियोहरू जगेडा गर्नुहोस्</translation>
 <translation id="3067790092342515856">Windows फाइलहरू</translation>
 <translation id="3078461028045006476"><ph name="EXTENSION_NAME" /> मार्फत सेयर गर्नुहोस्</translation>
 <translation id="3083975830683400843">Chromebit</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3144126448740580210">सम्पन्न  भयो</translation>
+<translation id="3171711500892772766">तेलगू फोनेटिक</translation>
 <translation id="3182237543071236785">अङ्ग्रेजी (संयुक्त अधिराज्य) इनपुट विधि</translation>
 <translation id="3188257591659621405">मेरा फाइलहरू</translation>
 <translation id="3197563288998582412">बेलायत ड्भोराक</translation>
@@ -211,6 +226,7 @@
 <translation id="357479282490346887">लिथुएनियन</translation>
 <translation id="3603385196401704894">क्यानाडाली फ्रान्सेली</translation>
 <translation id="3606220979431771195">टर्किस-एफ</translation>
+<translation id="3608699648194837100">तमिल ITRANS</translation>
 <translation id="3609785682760573515">समक्रमण हुँदै...</translation>
 <translation id="3616113530831147358">अडियो</translation>
 <translation id="3619115746895587757">कापाचिनो</translation>
@@ -221,6 +237,7 @@
 <translation id="3645531960514756307">फोल्डर अनपिन गर्नुहोस्</translation>
 <translation id="3685122418104378273">Google ड्राइभ सिंक पूर्वनिर्धारित रूपमा अक्षम गरिएको हुन्छ, मोबाइल डेटाको प्रयोग गर्ने क्रममा।</translation>
 <translation id="3689865792480713551"><ph name="ACTIVITY_DESCRIPTION" /> रद्द गर्नुहोस्।</translation>
+<translation id="3717701509378976246">आर्मेनियाली</translation>
 <translation id="3726463242007121105">यो यन्त्रलाई खोल्न सकिँदैन किनभने यसको फाइल सिस्टम समर्थित छैन।</translation>
 <translation id="3741243925913727067">Google ड्राइभमा तपाईँको मिडिया यन्त्रको तस्बिर र भिडियोहरू जगेडा गर्नुहोस्।</translation>
 <translation id="3749289110408117711">फाइल नाम</translation>
@@ -259,6 +276,7 @@
 <translation id="4261901459838235729">Google प्रस्तुती</translation>
 <translation id="4290535918735525311">Linux सँग १ फोल्डर आदान प्रदान गरियो</translation>
 <translation id="4299729908419173967">ब्राजिलियन</translation>
+<translation id="4305486654020746131">पञ्जाबी</translation>
 <translation id="4309915981827077375">सामान्य जानकारी</translation>
 <translation id="4315949787858895817">डच (बेल्जियम)</translation>
 <translation id="4326192123064055915">कफी</translation>
@@ -266,6 +284,7 @@
 <translation id="4364327530094270451">खरबुजो</translation>
 <translation id="4372884569765913867">1x1</translation>
 <translation id="4394214039309501350">बाह्य लिंक</translation>
+<translation id="4406790547322756995">भियतनामी TCVN किबोर्ड</translation>
 <translation id="4425149324548788773">मेरो ड्राइभ</translation>
 <translation id="4470564870223067757">हंगुल 2 सेट</translation>
 <translation id="4477219268485577442">बुल्गेरियन फोनेटिक</translation>
@@ -284,8 +303,10 @@
 <translation id="4603392156942865207"><ph name="FOLDER_NAME" /> मा <ph name="FILE_NAME" /> कपी गरिँदै छ</translation>
 <translation id="4627439232948440198">संस्कृत</translation>
 <translation id="4631887759990505102">कलाकार</translation>
+<translation id="463813589602055304">चिनियाँ वुबी</translation>
 <translation id="4656293982926141856">यो कम्प्युटर</translation>
 <translation id="4669606053856530811">यी वस्तुहरूलाई '<ph name="SOURCE_NAME" />' का सदस्यहरूसँग आदान प्रदान नगरेसम्म तिनीहरू ले यी वस्तुहरूमाथिको पहुँच गुमाउनुहुनेछन्।</translation>
+<translation id="4669979276126590335">सर्बियाली लिपि रूपान्तरण</translation>
 <translation id="4690246192099372265">&amp;#2360;&amp;#2381;&amp;#2357;&amp;#2367;&amp;#2337;&amp;#2367;&amp;#2358;</translation>
 <translation id="4693155481716051732">सुसी</translation>
 <translation id="4694604912444486114">बाँदर</translation>
@@ -296,8 +317,10 @@
 <translation id="4724850507808590449"><ph name="FILE_COUNT" /> तस्बिरहरू जगेडा गरियो</translation>
 <translation id="4725511304875193254">कोर्गी</translation>
 <translation id="4732760563705710320">माफ गर्नुहोस्, यो भिडियो तपाइँको कास्ट यन्त्रद्वारा समर्थन गरिएको छैन।</translation>
+<translation id="4733240808404733495">थाई TIS 820-2531 किबोर्ड</translation>
 <translation id="4734518477988699048">इनपुटको मान अमान्य छ।</translation>
 <translation id="4737050008115666127">ल्यान्डिङ</translation>
+<translation id="4738570502598323051">तमिल इनस्क्रिप्ट किबोर्ड</translation>
 <translation id="4747271164117300400">म्यासेडोनेयाली</translation>
 <translation id="4759238208242260848">डाउनलोडहरू</translation>
 <translation id="4763055924467562718">कन्नड फोनेटिक</translation>
@@ -309,6 +332,7 @@
 <translation id="4804827417948292437">अभोकाडो</translation>
 <translation id="4823651846660089135">यन्त्र पढ्ने-मात्र मोडमा छ</translation>
 <translation id="4839847978919684242"><ph name="SELCTED_FILES_COUNT" /> वस्तुहरू चयन गरियो</translation>
+<translation id="4842306555839940112">तेलगू लिपि रूपान्तरण</translation>
 <translation id="4843566743023903107">Chromebase</translation>
 <translation id="4849981557599196363">जर्मन (बेल्जियम)</translation>
 <translation id="4850886885716139402">हेर्नुहोस्</translation>
@@ -383,6 +407,7 @@
 <translation id="5368191757080475556">Linux सँग फोल्डर सेयर गर्नुहोस्</translation>
 <translation id="5402367795255837559">ब्रेल</translation>
 <translation id="5418923334382419584">म्यानमार किबोर्ड</translation>
+<translation id="5427022459704612663">भियतनामी VIQR</translation>
 <translation id="5428105026674456456">स्पेनिस</translation>
 <translation id="5438282218546237410"><ph name="SEARCH_TERM" /> सम्बन्धी कुनै पनि परिणाम छैन।</translation>
 <translation id="5449551289610225147">अमान्य पासवर्ड</translation>
@@ -398,6 +423,7 @@
 <translation id="5534520101572674276">परिमाण हिसाब गर्दै</translation>
 <translation id="5551831234974556292">माल्टिज</translation>
 <translation id="5583640892426849032">ब्याकस्पेस</translation>
+<translation id="5601917305267643189">स्पेनिस (स्पेन)</translation>
 <translation id="5605830556594064952">युएस ड्भोराक</translation>
 <translation id="5623849870004487514">नेपाली फोनेटिक किबोर्ड</translation>
 <translation id="5649768706273821470">सुन्नुहोस्</translation>
@@ -422,6 +448,7 @@
 <translation id="5833610766403489739">यो फाइल कतै अलमलिएको छ। कृपया तपाईंको डाउनलोड स्थान सेटिङ जाँच्नुहोस् र पुन: प्रयास गर्नुहोस्।</translation>
 <translation id="5838451609423551646">चयनबाट सबै प्रविष्टिहरू हटाइए।</translation>
 <translation id="5838825566232597749">US Workman अन्तर्राष्ट्रिय</translation>
+<translation id="5846013392911797712">थाई केडमानी किबोर्ड</translation>
 <translation id="5850516540536751549">यो फाइल प्रकार समर्थित छैन। यो फाइल प्रकारलाई खोल्न सक्ने एप फेला पार्नको लागि कृपया <ph name="BEGIN_LINK" />Chrome वेब स्टोर<ph name="END_LINK" /> को भ्रमण गर्नुहोस्।
     <ph name="BEGIN_LINK_HELP" />थप जान्नुहोस्<ph name="END_LINK_HELP" /></translation>
 <translation id="5851063901794976166">यहाँ हेर्ने कुरा केही छैन ...</translation>
@@ -439,6 +466,7 @@
 <translation id="60357267506638014">चेक QWERTY</translation>
 <translation id="604001903249547235">क्लाउड जगेडा</translation>
 <translation id="6040143037577758943">बन्द गर्नुहोस्</translation>
+<translation id="6041767187407754614">चिनियाँ क्विक</translation>
 <translation id="6074825444536523002">Google फारम</translation>
 <translation id="6096979789310008754">खोज पाठ मेटाइयो, सबै फाइल र फोल्डरहरू देखाउँदै।</translation>
 <translation id="610101264611565198"><ph name="FOLDER_NAME" /> मा <ph name="FILE_NAME" /> सारिँदै छ</translation>
@@ -495,6 +523,7 @@
 <translation id="6795884519221689054">पान्डा</translation>
 <translation id="6806699711453372963">Linux सँग आदान प्रदान गरिने कुराहरू व्यवस्थापन गर्नुहोस्</translation>
 <translation id="6808193438228982088">स्याल</translation>
+<translation id="6819938753873901684">तिग्रीन्या</translation>
 <translation id="6820687829547641339">Gzip द्वारा खाँदिएको टार सङ्ग्रह</translation>
 <translation id="6823166707458800069">यो फोल्डरमा सुरक्षित गरिएका सबै फाइलहरू स्वतः अनलाइनमा ब्याकअप गरिन्छ।</translation>
 <translation id="6825883775269213504">रसियाली</translation>
@@ -503,6 +532,7 @@
 <translation id="6862635236584086457">यस फोल्डरमा बचत गरिएका सबै फाइलहरूलाई स्वचालित रूपमा अनलाइन जगेडा गरिन्छ</translation>
 <translation id="6876155724392614295">साइकल</translation>
 <translation id="6878261347041253038">देवनागरी किबोर्ड (ध्वन्यात्मक)</translation>
+<translation id="6878301034829092662">रसियाली फोनेटिक YaZHert किबोर्ड</translation>
 <translation id="6885780034956018177">चिप्लेकिरो</translation>
 <translation id="6896758677409633944">प्रतिलिपि गर्नुहोस्</translation>
 <translation id="6898028766943174120">थप उप फोल्डरहरू...</translation>
@@ -530,10 +560,14 @@
 <translation id="7106346894903675391">थप भण्डारण खरिद गर्नुहोस्...</translation>
 <translation id="7126604456862387217">'&lt;b&gt;<ph name="SEARCH_STRING" />&lt;/b&gt;' - &lt;em&gt;ड्राइभमा खोज्नुहोस्&lt;/em&gt;</translation>
 <translation id="714034171374937760">Chromebase</translation>
+<translation id="714369685015246514">चिनियाँ एरे</translation>
+<translation id="7169438078134535111">तुर्किस F-किबोर्ड</translation>
 <translation id="7170467426996704624">ट्रान्सलिटेरेशन (सलाम → ሰላም)</translation>
+<translation id="7173380554947442031">भियतनामी VNI</translation>
 <translation id="7180611975245234373">ताजा गर्नुहोस्</translation>
 <translation id="7189874332498648577"><ph name="NUMBER_OF_GB" /> जि.बि.</translation>
 <translation id="7191454237977785534">यसको रूपमा फाइल बचत गर्नुहोस्</translation>
+<translation id="7221999925319694720">चिनियाँ झुयिन</translation>
 <translation id="7238097264433196391">यन्त्रको नाम</translation>
 <translation id="7248671827512403053">एप</translation>
 <translation id="7268659760406822741">उपलब्ध सेवाहरू</translation>
@@ -600,6 +634,7 @@
 <translation id="7881969471599061635">उपशीर्षकहरूलाई असक्षम गर्नुहोस्</translation>
 <translation id="78946041517601018">साझा ड्राइभहरू</translation>
 <translation id="7898607018410277265">गुजराती किबोर्ड (नयाँ फोनेटिक)</translation>
+<translation id="7908150161525408421">स्पेनिस (ल्याटिन अमेरिका)</translation>
 <translation id="7908793776359722643">तपाईंले कुनै पार्टिसन फर्म्याट गर्नुभयो भने उक्त पार्टिसनमा भण्डारण गरिएको सम्पूर्ण डेटा मेटिने छ। यो कार्य अन्डू गर्न सकिँदैन।</translation>
 <translation id="7925686952655276919">समक्रमणको लागि मोबाइल डाटा प्रयोग नगर्नुहोस्</translation>
 <translation id="7928710562641958568">यन्त्र निकाल्नुहोस्</translation>
@@ -607,6 +642,7 @@
 <translation id="7953739707111622108">यो यन्त्र खोलिन सकिँदैन किनभने त्यसको फाइलप्रणाली पहिचान गर्न सकिएन।</translation>
 <translation id="7969525169268594403">स्लोभेनियन</translation>
 <translation id="7982283708762922719">उचाइ</translation>
+<translation id="7988940501536183135">रसियाली फोनेटिक किबोर्ड</translation>
 <translation id="8008366997883261463">ज्याक रसल टेरियर</translation>
 <translation id="8028993641010258682">आकार</translation>
 <translation id="803771048473350947">फाइल</translation>
@@ -626,8 +662,10 @@
 <translation id="8154842056504218462">सबै प्रविष्टिहरू चयन गरिए।</translation>
 <translation id="8157684860301034423">अनुप्रयोगसम्बन्धी जानकारी भेट्टाउन सकिएन।</translation>
 <translation id="8157939133946352716">7x5</translation>
+<translation id="8159982522558068586">तमिल टाइपराइटर किबोर्ड</translation>
 <translation id="8179976553408161302">प्रविष्टि गर्नुहोस्</translation>
 <translation id="8193175696669055101">यन्त्र मोडल</translation>
+<translation id="8196481879028929035">पोर्तुगाली (पोर्तुगाल)</translation>
 <translation id="8208580316430297579">कलाकृति</translation>
 <translation id="8223479393428528563">अफलाइन प्रयोगको लागि यी फाइलहरू सुरक्षित गर्न, अनलाइनमा फिर्ता जानुहोस्, फाइलमा दायाँ क्लिक गर्नुहोस्, र <ph name="OFFLINE_CHECKBOX_NAME" /> विकल्प चयन गर्नुहोस्।</translation>
 <translation id="8249296373107784235">रद्द गर्नुहोस्</translation>
@@ -660,6 +698,10 @@
 <translation id="8579285237314169903"><ph name="NUMBER_OF_FILES" /> वस्तुहरू समक्रमण गर्दै...</translation>
 <translation id="8600173386174225982">फाइलको सूचीको दृश्य परिवर्तन गरी थम्बनेल दृश्य बनाइयो।</translation>
 <translation id="8601932370724196034">Crostini छवि फाइल</translation>
+<translation id="8608272065177710825">बुल्गेरियन फोनेटिक किबोर्ड</translation>
+<translation id="8619608420536266892">तमिल Tamil99 किबोर्ड</translation>
+<translation id="863846969551842412">क्यान्टोनिज</translation>
+<translation id="8669047053197791123">थाई पत्ताचोते किबोर्ड</translation>
 <translation id="8669949407341943408">सारिँदै छ...</translation>
 <translation id="8688649574682805922">जर्मन (स्विट्जरल्यान्ड)</translation>
 <translation id="8694836330346852143">उर्दू</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_nl.xtb b/ui/chromeos/translations/ui_chromeos_strings_nl.xtb
index 4c7eb86..3c93a38 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_nl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_nl.xtb
@@ -9,7 +9,7 @@
 <translation id="1049926623896334335">Word-document</translation>
 <translation id="1060368002126861100">Als je bestanden wilt openen met <ph name="APP_NAME" />, verplaats je ze eerst naar de bestandsmap van Windows.</translation>
 <translation id="1062407476771304334">Vervangen</translation>
-<translation id="1082570120854863773">Chinees Pinyin (traditioneel)</translation>
+<translation id="1082570120854863773">Chinees (traditioneel, Pinyin)</translation>
 <translation id="1119069657431255176">Tot bzip2 gecomprimeerd tar-archief</translation>
 <translation id="1120073797882051782">Hangul Romaja</translation>
 <translation id="1148097584170732637"><ph name="FILE_COUNT" /> gevonden.
@@ -44,13 +44,13 @@
 <translation id="1378727793141957596">Welkom bij Google Drive!</translation>
 <translation id="1383876407941801731">Zoeken</translation>
 <translation id="1395262318152388157">Zoekbalk</translation>
-<translation id="1411401459521499147">Roemeens met standaard toetsenbord</translation>
+<translation id="1411401459521499147">Roemeens (met standaard toetsenbord)</translation>
 <translation id="14286271616944851">Perzisch</translation>
 <translation id="1430915738399379752">Afdrukken</translation>
 <translation id="1435838927755162558">Map delen met Parallels Desktop</translation>
 <translation id="1439494416798956626">Verplaatst naar <ph name="FOLDER_NAME" />.</translation>
 <translation id="1464724975715666883">1 fout.</translation>
-<translation id="1466220122465387403">Koerdisch Sorani met Engels toetsenbord</translation>
+<translation id="1466220122465387403">Koerdisch Sorani (met Engels toetsenbord)</translation>
 <translation id="1467432559032391204">Links</translation>
 <translation id="1472351751615457820">Grieks (transliteratie)</translation>
 <translation id="1474339897586437869">'<ph name="FILENAME" />' is niet geüpload. Er is onvoldoende ruimte beschikbaar in je Google Drive.</translation>
@@ -65,7 +65,7 @@
 <translation id="1620510694547887537">Camera</translation>
 <translation id="1622022025445651011">Frans (Frankrijk)</translation>
 <translation id="1646019627374511909"><ph name="NUMBER_OF_ITEMS" /> bestanden offline beschikbaar maken</translation>
-<translation id="1649464394998806860">Russisch met fonetisch AATSEEL-toetsenbord</translation>
+<translation id="1649464394998806860">Russisch (met fonetisch AATSEEL-toetsenbord)</translation>
 <translation id="164969095109328410">Chrome-apparaat</translation>
 <translation id="1665611772925418501">Het bestand kan niet worden aangepast.</translation>
 <translation id="1673103856845176271">Uit veiligheidsoverwegingen kan het bestand niet worden geopend.</translation>
@@ -96,7 +96,7 @@
 <translation id="1995337122023280937">Naar bestandslocatie</translation>
 <translation id="2001796770603320721">Beheren in Drive</translation>
 <translation id="2009067268969781306">Tijdens het formatteren van een schijf worden alle opgeslagen gegevens verwijderd. Deze actie kan niet ongedaan worden gemaakt.</translation>
-<translation id="2016165510591645686">Chinees Pinyin</translation>
+<translation id="2016165510591645686">Chinees (Pinyin)</translation>
 <translation id="2028997212275086731">RAR-archief</translation>
 <translation id="2046702855113914483">Noedelsoep</translation>
 <translation id="2060251957438343874">Duits (Duitsland)</translation>
@@ -138,7 +138,7 @@
 <translation id="2541377937973966830">De inhoud van deze map is alleen-lezen. Sommige activiteiten worden niet ondersteund.</translation>
 <translation id="2542049655219295786">Google-tabel</translation>
 <translation id="2547921442987553570">Toevoegen aan <ph name="EXTENSION_NAME" /></translation>
-<translation id="255285553751745003">Vietnamees Telex</translation>
+<translation id="255285553751745003">Vietnamees (Telex)</translation>
 <translation id="255937426064304553">Verenigde Staten (internationaal)</translation>
 <translation id="2562685439590298522">Documenten</translation>
 <translation id="2563185590376525700">Kikker</translation>
@@ -151,7 +151,7 @@
 <translation id="2664412712123763093">Bestandslocatie</translation>
 <translation id="2672394958563893062">Er is een fout opgetreden. Klik om opnieuw te starten vanaf het begin.</translation>
 <translation id="2676946222714718093">Wordt afgespeeld op</translation>
-<translation id="2718873684053049373">Chinees Dayi</translation>
+<translation id="2718873684053049373">Chinees (Dayi)</translation>
 <translation id="2735623501230989521">Parallels Desktop toegang geven tot bestanden in de map <ph name="FOLDER_NAME" /></translation>
 <translation id="2771816809568414714">Kaas</translation>
 <translation id="2781645665747935084">Belgisch</translation>
@@ -226,7 +226,7 @@
 <translation id="357479282490346887">Litouws</translation>
 <translation id="3603385196401704894">Canadees Frans</translation>
 <translation id="3606220979431771195">Turks-F</translation>
-<translation id="3608699648194837100">Tamil ITRANS</translation>
+<translation id="3608699648194837100">Tamil (ITRANS)</translation>
 <translation id="3609785682760573515">Synchroniseren...</translation>
 <translation id="3616113530831147358">Audio</translation>
 <translation id="3619115746895587757">Cappuccino</translation>
@@ -284,7 +284,7 @@
 <translation id="4364327530094270451">Meloen</translation>
 <translation id="4372884569765913867">1x1</translation>
 <translation id="4394214039309501350">Externe link</translation>
-<translation id="4406790547322756995">Vietnamees met TCVN-toetsenbord</translation>
+<translation id="4406790547322756995">Vietnamees (met TCVN-toetsenbord)</translation>
 <translation id="4425149324548788773">Mijn Drive</translation>
 <translation id="4470564870223067757">Hangul 2 Set</translation>
 <translation id="4477219268485577442">Bulgaars fonetisch</translation>
@@ -303,7 +303,7 @@
 <translation id="4603392156942865207"><ph name="FILE_NAME" /> kopiëren naar <ph name="FOLDER_NAME" /></translation>
 <translation id="4627439232948440198">Sanskriet</translation>
 <translation id="4631887759990505102">Artiest</translation>
-<translation id="463813589602055304">Chinees Wubi</translation>
+<translation id="463813589602055304">Chinees (Wubi)</translation>
 <translation id="4656293982926141856">Deze computer</translation>
 <translation id="4669606053856530811">Leden van '<ph name="SOURCE_NAME" />' hebben geen toegang meer, tenzij deze items met ze zijn gedeeld.</translation>
 <translation id="4669979276126590335">Servisch (transliteratie)</translation>
@@ -317,10 +317,10 @@
 <translation id="4724850507808590449">Er is een back-up van <ph name="FILE_COUNT" /> foto's gemaakt</translation>
 <translation id="4725511304875193254">Corgi</translation>
 <translation id="4732760563705710320">Sorry, deze video wordt niet ondersteund door je cast-apparaat.</translation>
-<translation id="4733240808404733495">Thai met TIS 820-2531-toetsenbord</translation>
+<translation id="4733240808404733495">Thai (met TIS 820-2531-toetsenbord)</translation>
 <translation id="4734518477988699048">Invoerwaarde is ongeldig.</translation>
 <translation id="4737050008115666127">Landen</translation>
-<translation id="4738570502598323051">Tamil met InScript-toetsenbord</translation>
+<translation id="4738570502598323051">Tamil (met InScript-toetsenbord)</translation>
 <translation id="4747271164117300400">Macedonisch</translation>
 <translation id="4759238208242260848">Downloads</translation>
 <translation id="4763055924467562718">Kannada (fonetisch)</translation>
@@ -409,7 +409,7 @@
 <translation id="5368191757080475556">Map delen met Linux</translation>
 <translation id="5402367795255837559">Braille</translation>
 <translation id="5418923334382419584">Birmaans toetsenbord</translation>
-<translation id="5427022459704612663">Vietnamees VIQR</translation>
+<translation id="5427022459704612663">Vietnamees (VIQR)</translation>
 <translation id="5428105026674456456">Spaans</translation>
 <translation id="5438282218546237410">Geen resultaten voor <ph name="SEARCH_TERM" />.</translation>
 <translation id="5449551289610225147">Ongeldig wachtwoord</translation>
@@ -450,7 +450,7 @@
 <translation id="5833610766403489739">Dit bestand staat ergens anders. Controleer je downloadlocatie-instelling en probeer het opnieuw.</translation>
 <translation id="5838451609423551646">Alle items uit selectie zijn verwijderd.</translation>
 <translation id="5838825566232597749">Amerikaans Workman (internationaal)</translation>
-<translation id="5846013392911797712">Thai met Kedmanee-toetsenbord</translation>
+<translation id="5846013392911797712">Thai (met Kedmanee-toetsenbord)</translation>
 <translation id="5850516540536751549">Dit bestandstype wordt niet ondersteund. Ga naar de <ph name="BEGIN_LINK" />Chrome Web Store<ph name="END_LINK" /> om een app te vinden die dit type bestand kan openen.
     <ph name="BEGIN_LINK_HELP" />Meer informatie<ph name="END_LINK_HELP" /></translation>
 <translation id="5851063901794976166">Er is hier niets te zien…</translation>
@@ -534,7 +534,7 @@
 <translation id="6862635236584086457">Er wordt automatisch online een back-up gemaakt van alle bestanden die in deze map zijn opgeslagen</translation>
 <translation id="6876155724392614295">Fiets</translation>
 <translation id="6878261347041253038">Devanagari toetsenbord (fonetisch)</translation>
-<translation id="6878301034829092662">Russisch met fonetisch YaZHert-toetsenbord</translation>
+<translation id="6878301034829092662">Russisch (met fonetisch YaZHert-toetsenbord)</translation>
 <translation id="6885780034956018177">Slak</translation>
 <translation id="6896758677409633944">Kopieer</translation>
 <translation id="6898028766943174120">Meer submappen…</translation>
@@ -562,14 +562,14 @@
 <translation id="7106346894903675391">Meer opslagruimte kopen...</translation>
 <translation id="7126604456862387217">'&lt;b&gt;<ph name="SEARCH_STRING" />&lt;/b&gt;' - &lt;em&gt;zoeken in Google Drive&lt;/em&gt;</translation>
 <translation id="714034171374937760">Chromebase</translation>
-<translation id="714369685015246514">Chinees Array</translation>
-<translation id="7169438078134535111">Turks met F-toetsenbord</translation>
+<translation id="714369685015246514">Chinees (Array)</translation>
+<translation id="7169438078134535111">Turks (met F-toetsenbord)</translation>
 <translation id="7170467426996704624">Transliteratie (salam → ሰላም)</translation>
-<translation id="7173380554947442031">Vietnamees VNI</translation>
+<translation id="7173380554947442031">Vietnamees (VNI)</translation>
 <translation id="7180611975245234373">Vernieuwen</translation>
 <translation id="7189874332498648577"><ph name="NUMBER_OF_GB" /> GB</translation>
 <translation id="7191454237977785534">Bestand opslaan als</translation>
-<translation id="7221999925319694720">Chinees Zhuyin</translation>
+<translation id="7221999925319694720">Chinees (Zhuyin)</translation>
 <translation id="7238097264433196391">Drive-naam</translation>
 <translation id="7248671827512403053">Applicatie</translation>
 <translation id="7268659760406822741">Beschikbare services</translation>
@@ -644,7 +644,7 @@
 <translation id="7953739707111622108">Dit apparaat kan niet worden geopend omdat het bijbehorende bestandssysteem niet wordt herkend.</translation>
 <translation id="7969525169268594403">Sloveens</translation>
 <translation id="7982283708762922719">Hoogte</translation>
-<translation id="7988940501536183135">Russisch met fonetisch toetsenbord</translation>
+<translation id="7988940501536183135">Russisch (met fonetisch toetsenbord)</translation>
 <translation id="8008366997883261463">Jack Russell-terriër</translation>
 <translation id="8028993641010258682">Grootte</translation>
 <translation id="803771048473350947">Archief</translation>
@@ -664,7 +664,7 @@
 <translation id="8154842056504218462">Alle items zijn geselecteerd.</translation>
 <translation id="8157684860301034423">Het ophalen van app-informatie is mislukt.</translation>
 <translation id="8157939133946352716">7x5</translation>
-<translation id="8159982522558068586">Tamil met Typewriter-toetsenbord</translation>
+<translation id="8159982522558068586">Tamil (met Typewriter-toetsenbord)</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8193175696669055101">Apparaatmodel</translation>
 <translation id="8196481879028929035">Portugees (Portugal)</translation>
@@ -700,10 +700,10 @@
 <translation id="8579285237314169903"><ph name="NUMBER_OF_FILES" /> items synchroniseren...</translation>
 <translation id="8600173386174225982">Bestandslijst is gewijzigd naar miniatuurweergave.</translation>
 <translation id="8601932370724196034">Crostini-afbeeldingsbestand</translation>
-<translation id="8608272065177710825">Bulgaars met fonetisch toetsenbord</translation>
-<translation id="8619608420536266892">Tamil met Tamil99-toetsenbord</translation>
+<translation id="8608272065177710825">Bulgaars (met fonetisch toetsenbord)</translation>
+<translation id="8619608420536266892">Tamil (met Tamil99-toetsenbord)</translation>
 <translation id="863846969551842412">Kantonees</translation>
-<translation id="8669047053197791123">Thai met Pattachote-toetsenbord</translation>
+<translation id="8669047053197791123">Thai (met Pattachote-toetsenbord)</translation>
 <translation id="8669949407341943408">Verplaatsen…</translation>
 <translation id="8688649574682805922">Duits (Zwitserland)</translation>
 <translation id="8694836330346852143">Urdu</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_no.xtb b/ui/chromeos/translations/ui_chromeos_strings_no.xtb
index d039e353..f36ea1c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_no.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_no.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Innspillingsår</translation>
 <translation id="3353984535370177728">Velg mappen du vil laste opp</translation>
 <translation id="3356580349448036450">Fullført</translation>
+<translation id="3369522691271417561">Sorani-kurdisk med arabisk-basert tastatur</translation>
 <translation id="3414856743105198592">Hvis du formaterer den flyttbare medieenheten, blir alle dataene slettet. Vil du fortsette?</translation>
 <translation id="3437801641691368414">Opprettet</translation>
 <translation id="3466147780910026086">Skanner medieenheten din ...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pl.xtb b/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
index b6701af..228d881ca8 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Rok nagrania</translation>
 <translation id="3353984535370177728">Wybierz folder do przesłania</translation>
 <translation id="3356580349448036450">Zakończone</translation>
+<translation id="3369522691271417561">Kurdyjski sorani z klawiaturą arabską</translation>
 <translation id="3414856743105198592">Formatowanie nośnika wymiennego spowoduje usunięcie wszystkich danych. Czy chcesz kontynuować?</translation>
 <translation id="3437801641691368414">Godzina utworzenia</translation>
 <translation id="3466147780910026086">Skanuję nośnik danych...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb b/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb
index cd33934..123a895c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Ano de gravação</translation>
 <translation id="3353984535370177728">Selecionar uma pasta a carregar</translation>
 <translation id="3356580349448036450">Concluído</translation>
+<translation id="3369522691271417561">Curdo sorani com teclado baseado no árabe</translation>
 <translation id="3414856743105198592">A formatação do suporte de dados amovível apagará todos os dados. Pretende continuar?</translation>
 <translation id="3437801641691368414">Hora de criação</translation>
 <translation id="3466147780910026086">A analisar o dispositivo multimédia...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
index 508b19e6..04e957f0 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Leto snemanja</translation>
 <translation id="3353984535370177728">Izberite mapo za prenos</translation>
 <translation id="3356580349448036450">Dokončano</translation>
+<translation id="3369522691271417561">soranska kurdščina s tipkovnico na arabski osnovi</translation>
 <translation id="3414856743105198592">S formatiranjem izmenljivega medija boste izbrisali vse podatke. Ali želite nadaljevati?</translation>
 <translation id="3437801641691368414">Čas ustvarjanja</translation>
 <translation id="3466147780910026086">Pregledovanje predstavnostne naprave ...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb b/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb
index 2d982ee..6efe946 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Godina snimanja</translation>
 <translation id="3353984535370177728">Izbor direktorijuma za otpremanje</translation>
 <translation id="3356580349448036450">Završeno</translation>
+<translation id="3369522691271417561">sorani kurdski sa tastaturom zasnovanom na arapskom</translation>
 <translation id="3414856743105198592">Formatiranjem uklonjivih medija brišete sve podatke. Da li želite da nastavite?</translation>
 <translation id="3437801641691368414">Vreme pravljenja</translation>
 <translation id="3466147780910026086">Medijski uređaj se skenira...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sr.xtb b/ui/chromeos/translations/ui_chromeos_strings_sr.xtb
index a76a0b7..ae1f733 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sr.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Година снимања</translation>
 <translation id="3353984535370177728">Избор директоријума за отпремање</translation>
 <translation id="3356580349448036450">Завршено</translation>
+<translation id="3369522691271417561">сорани курдски са тастатуром заснованом на арапском</translation>
 <translation id="3414856743105198592">Форматирањем уклоњивих медија бришете све податке. Да ли желите да наставите?</translation>
 <translation id="3437801641691368414">Време прављења</translation>
 <translation id="3466147780910026086">Медијски уређај се скенира...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_te.xtb b/ui/chromeos/translations/ui_chromeos_strings_te.xtb
index 48323df..427f3a8 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_te.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_te.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">రికార్డ్ చేసిన సంవత్సరం</translation>
 <translation id="3353984535370177728">అప్‌లోడ్ చేయడానికి ఫోల్టర్‌ను ఎంచుకోండి</translation>
 <translation id="3356580349448036450">పూర్తయింది</translation>
+<translation id="3369522691271417561">అరబిక్-ఆధారిత కీబోర్డ్‌తో సొరానీ కురిడిష్</translation>
 <translation id="3414856743105198592">తొలగించగల మీడియాను ఫార్మాట్ చేయడం వలన మొత్తం డేటా తుడిచి వేయబడుతుంది. మీరు కొనసాగించాలనుకుంటున్నారా?</translation>
 <translation id="3437801641691368414">సృష్టించిన సమయం</translation>
 <translation id="3466147780910026086">మీ మీడియా పరికరాన్ని స్కాన్ చేస్తోంది...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_uz.xtb b/ui/chromeos/translations/ui_chromeos_strings_uz.xtb
index 4fbb041e..e31bbeae7 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_uz.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_uz.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Yozilgan yili</translation>
 <translation id="3353984535370177728">Yuklash uchun jildni tanlang</translation>
 <translation id="3356580349448036450">Tayyor</translation>
+<translation id="3369522691271417561">Soran (Kurd) va Arab yozuvidagi klaviatura</translation>
 <translation id="3414856743105198592">Tashqi xotira qurilmasini formatlash undagi barcha ma’lumotlarni tozalaydi. Davom etasizmi?</translation>
 <translation id="3437801641691368414">Yaratilgan vaqti</translation>
 <translation id="3466147780910026086">Media qurilmasi tekshirilmoqda...</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_vi.xtb b/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
index 224225f..dbb1a2c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
@@ -2,8 +2,8 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="vi">
 <translation id="1000498691615767391">Chọn thư mục để mở</translation>
-<translation id="1016731229041675999">Chuyển tự tiếng Ả Rập</translation>
-<translation id="102325055885714714">Chuyển tự tiếng Tamil</translation>
+<translation id="1016731229041675999">Tiếng Ả Rập (chuyển tự)</translation>
+<translation id="102325055885714714">Tiếng Tamil (chuyển tự)</translation>
 <translation id="1035094536595558507">Chế độ xem trang trình bày</translation>
 <translation id="1047956942837015229">Đang xóa <ph name="COUNT" /> mục...</translation>
 <translation id="1049926623896334335">Tài liệu Word</translation>
@@ -100,7 +100,7 @@
 <translation id="2028997212275086731">Lưu trữ RAR</translation>
 <translation id="2046702855113914483">Mỳ tôm</translation>
 <translation id="2060251957438343874">Tiếng Đức (Đức)</translation>
-<translation id="2060392775416297569">Thương Hiệt tiếng Trung</translation>
+<translation id="2060392775416297569">Tiếng Trung (Thương Hiệt)</translation>
 <translation id="2066433303065022982">Chuyển tự tiếng Do Thái</translation>
 <translation id="2070909990982335904">Các tên bắt đầu với dấu chấm được dành riêng cho hệ thống. Vui lòng chọn tên khác.</translation>
 <translation id="2079545284768500474">Hoàn tác</translation>
@@ -151,7 +151,7 @@
 <translation id="2664412712123763093">Vị trí tệp</translation>
 <translation id="2672394958563893062">Đã xảy ra lỗi. Nhấp để khởi động lại từ đầu.</translation>
 <translation id="2676946222714718093">Đang phát trên</translation>
-<translation id="2718873684053049373">Dayi tiếng Trung</translation>
+<translation id="2718873684053049373">Tiếng Trung (Dayi)</translation>
 <translation id="2735623501230989521">Cho phép ứng dụng Parallels Desktop truy cập vào các tệp trong thư mục <ph name="FOLDER_NAME" /></translation>
 <translation id="2771816809568414714">Pho mát</translation>
 <translation id="2781645665747935084">Tiếng Bỉ</translation>
@@ -187,7 +187,7 @@
 <translation id="3083975830683400843">Chromebit</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3144126448740580210">XONG</translation>
-<translation id="3171711500892772766">Phiên âm tiếng Telugu</translation>
+<translation id="3171711500892772766">Tiếng Telugu (phiên âm)</translation>
 <translation id="3182237543071236785">Tiếng Anh (Anh)</translation>
 <translation id="3188257591659621405">Tệp của tôi</translation>
 <translation id="3197563288998582412">Dvorak Vương quốc Anh</translation>
@@ -306,7 +306,7 @@
 <translation id="463813589602055304">Tiếng Trung Ngũ bút</translation>
 <translation id="4656293982926141856">Máy tính này</translation>
 <translation id="4669606053856530811">Thành viên của '<ph name="SOURCE_NAME" />' sẽ mất quyền truy cập trừ khi bạn chia sẻ các mục này với họ.</translation>
-<translation id="4669979276126590335">Chuyển tự tiếng Serbia</translation>
+<translation id="4669979276126590335">Tiếng Serbia (chuyển tự)</translation>
 <translation id="4690246192099372265">Tiếng Thuỵ Điển</translation>
 <translation id="4693155481716051732">Sushi</translation>
 <translation id="4694604912444486114">Khỉ</translation>
@@ -467,7 +467,7 @@
 <translation id="60357267506638014">QWERTY tiếng Séc</translation>
 <translation id="604001903249547235">Sao lưu đám mây</translation>
 <translation id="6040143037577758943">Đóng</translation>
-<translation id="6041767187407754614">Nhập nhanh bằng tiếng Trung</translation>
+<translation id="6041767187407754614">Tiếng Trung (bộ gõ Quick)</translation>
 <translation id="6074825444536523002">Biểu mẫu Google</translation>
 <translation id="6096979789310008754">Đã xóa nội dung tìm kiếm, đang hiển thị tất cả các tệp và thư mục.</translation>
 <translation id="610101264611565198">Đang di chuyển <ph name="FILE_NAME" /> sang <ph name="FOLDER_NAME" /></translation>
@@ -561,7 +561,7 @@
 <translation id="7106346894903675391">Mua thêm dung lượng lưu trữ...</translation>
 <translation id="7126604456862387217">'&lt;b&gt;<ph name="SEARCH_STRING" />&lt;/b&gt;' - &lt;em&gt;tìm kiếm trong Drive&lt;/em&gt;</translation>
 <translation id="714034171374937760">Chromebase</translation>
-<translation id="714369685015246514">Mảng tiếng Trung</translation>
+<translation id="714369685015246514">Tiếng Trung (bộ gõ Array)</translation>
 <translation id="7169438078134535111">Tiếng Thổ Nhĩ Kỳ bằng bàn phím F</translation>
 <translation id="7170467426996704624">Chuyển ngữ (salam → ሰላም)</translation>
 <translation id="7173380554947442031">Tiếng Việt VNI</translation>
@@ -663,7 +663,7 @@
 <translation id="8154842056504218462">Đã chọn tất cả các mục.</translation>
 <translation id="8157684860301034423">Không truy xuất được thông tin ứng dụng.</translation>
 <translation id="8157939133946352716">7x5</translation>
-<translation id="8159982522558068586">Tiếng Tamil bằng bàn phím có cách bố trí giống Máy đánh chữ</translation>
+<translation id="8159982522558068586">Tiếng Tamil bằng bàn phím dạng Máy đánh chữ</translation>
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8193175696669055101">Mẫu thiết bị</translation>
 <translation id="8196481879028929035">Tiếng Bồ Đào Nha (Bồ Đào Nha)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_zu.xtb b/ui/chromeos/translations/ui_chromeos_strings_zu.xtb
index de38880..e16aa33 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_zu.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_zu.xtb
@@ -209,6 +209,7 @@
 <translation id="3335337277364016868">Unyaka okurekhodwe ngawo</translation>
 <translation id="3353984535370177728">Khetha ifolda okumele uyilayishe</translation>
 <translation id="3356580349448036450">Qedile</translation>
+<translation id="3369522691271417561">Isi-Sorani Kurdish esinekhibhodi esekelwe ku-Arabic</translation>
 <translation id="3414856743105198592">Ukufometha imidiya engasuswa kuzosula yonke idatha. Ingabe ufisa ukuqhubeka?</translation>
 <translation id="3437801641691368414">Isikhathi okudalwe ngaso</translation>
 <translation id="3466147780910026086">Iskena idivayisi yakho yemidiya...</translation>
diff --git a/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.html b/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.html
index a5102d5..c8e1972 100644
--- a/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.html
+++ b/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.html
@@ -19,6 +19,7 @@
         min-width: 128px;
         outline: none;
         padding: 0;
+        position: absolute;
       }
 
       :host dialog::backdrop {
diff --git a/ui/webui/resources/cr_elements/cr_link_row/cr_link_row.html b/ui/webui/resources/cr_elements/cr_link_row/cr_link_row.html
index e5e4121..7b5da7e 100644
--- a/ui/webui/resources/cr_elements/cr_link_row/cr_link_row.html
+++ b/ui/webui/resources/cr_elements/cr_link_row/cr_link_row.html
@@ -80,8 +80,9 @@
     </div>
     <slot></slot>
     <cr-icon-button id="icon" iron-icon="[[getIcon_(external)]]" role="link"
-        aria-roledescription$="[[roleDescription]]" aria-describedby="subLabel"
-        aria-labelledby="label" disabled="[[disabled]]"></cr-icon-button>
+        aria-roledescription$="[[roleDescription]]"
+        aria-labelledby="label subLabel" disabled="[[disabled]]">
+    </cr-icon-button>
   </template>
   <script src="cr_link_row.js"></script>
 </dom-module>
diff --git a/weblayer/browser/android/javatests/BUILD.gn b/weblayer/browser/android/javatests/BUILD.gn
index e2da9b8..d7efa1d 100644
--- a/weblayer/browser/android/javatests/BUILD.gn
+++ b/weblayer/browser/android/javatests/BUILD.gn
@@ -26,6 +26,7 @@
     "src/org/chromium/weblayer/test/FullscreenSizeTest.java",
     "src/org/chromium/weblayer/test/GoogleAccountsTest.java",
     "src/org/chromium/weblayer/test/InputTypesTest.java",
+    "src/org/chromium/weblayer/test/MediaSessionTest.java",
     "src/org/chromium/weblayer/test/NavigationTest.java",
     "src/org/chromium/weblayer/test/NewTabCallbackTest.java",
     "src/org/chromium/weblayer/test/OnTabRemovedTabListCallbackImpl.java",
diff --git a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/MediaCaptureTest.java b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/MediaCaptureTest.java
index a010cb3..d596ff5b 100644
--- a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/MediaCaptureTest.java
+++ b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/MediaCaptureTest.java
@@ -25,7 +25,6 @@
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Criteria;
 import org.chromium.base.test.util.CriteriaHelper;
-import org.chromium.base.test.util.DisableIf;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 import org.chromium.weblayer.MediaCaptureCallback;
@@ -87,10 +86,7 @@
      */
     @Test
     @MediumTest
-    @DisableIf.Build(sdk_is_greater_than = 20, sdk_is_less_than = 24,
-            message = "Failing on {Lollipop,Marshmallow} Tablet Tester. https://crbug.com/1107380")
-    public void
-    testMediaCapture_basic() throws Throwable {
+    public void basic() throws Throwable {
         mActivityTestRule.navigateAndWait(
                 mActivityTestRule.getTestServer().getURL("/weblayer/test/data/getusermedia.html"));
 
@@ -119,10 +115,7 @@
      */
     @Test
     @MediumTest
-    @DisableIf.Build(sdk_is_greater_than = 20, sdk_is_less_than = 24,
-            message = "Failing on {Lollipop,Marshmallow} Tablet Tester. https://crbug.com/1107380")
-    public void
-    testMediaCapture_rememberPermission() throws Throwable {
+    public void rememberPermission() throws Throwable {
         mActivityTestRule.navigateAndWait(
                 mActivityTestRule.getTestServer().getURL("/weblayer/test/data/getusermedia.html"));
 
@@ -151,10 +144,7 @@
      */
     @Test
     @MediumTest
-    @DisableIf.Build(sdk_is_greater_than = 20, sdk_is_less_than = 24,
-            message = "Failing on {Lollipop,Marshmallow} Tablet Tester. https://crbug.com/1107380")
-    public void
-    testMediaCapture_twoStreams() throws Throwable {
+    public void twoStreams() throws Throwable {
         mActivityTestRule.navigateAndWait(
                 mActivityTestRule.getTestServer().getURL("/weblayer/test/data/getusermedia2.html"));
 
@@ -182,10 +172,7 @@
     @Test
     @MediumTest
     @MinAndroidSdkLevel(Build.VERSION_CODES.M)
-    @DisableIf.Build(sdk_is_greater_than = 20, sdk_is_less_than = 24,
-            message = "Failing on {Lollipop,Marshmallow} Tablet Tester. https://crbug.com/1107380")
-    public void
-    testMediaCapture_twoStreamsNotification() throws Throwable {
+    public void twoStreamsNotification() throws Throwable {
         mActivityTestRule.navigateAndWait(
                 mActivityTestRule.getTestServer().getURL("/weblayer/test/data/getusermedia2.html"));
 
diff --git a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/MediaSessionTest.java b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/MediaSessionTest.java
new file mode 100644
index 0000000..30f6cc6
--- /dev/null
+++ b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/MediaSessionTest.java
@@ -0,0 +1,71 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.weblayer.test;
+
+import static org.chromium.weblayer.R.id.weblayer_media_session_notification;
+
+import android.annotation.TargetApi;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.Build;
+import android.service.notification.StatusBarNotification;
+
+import androidx.test.filters.MediumTest;
+
+import org.hamcrest.Matchers;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.Criteria;
+import org.chromium.base.test.util.CriteriaHelper;
+import org.chromium.base.test.util.MinAndroidSdkLevel;
+import org.chromium.weblayer.shell.InstrumentationActivity;
+
+/**
+ * Tests that MediaSession works as expected.
+ */
+@CommandLineFlags.Add({"ignore-certificate-errors"})
+@RunWith(WebLayerJUnit4ClassRunner.class)
+public final class MediaSessionTest {
+    @Rule
+    public InstrumentationActivityTestRule mActivityTestRule =
+            new InstrumentationActivityTestRule();
+
+    private InstrumentationActivity mActivity;
+
+    @Test
+    @MediumTest
+    @MinAndroidSdkLevel(Build.VERSION_CODES.M)
+    public void basic() throws Throwable {
+        mActivity = mActivityTestRule.launchShellWithUrl(
+                mActivityTestRule.getTestDataURL("media_session.html"));
+        EventUtils.simulateTouchCenterOfView(mActivity.getWindow().getDecorView());
+
+        CriteriaHelper.pollInstrumentationThread(() -> {
+            Criteria.checkThat(getMediaSessionNotification(), Matchers.notNullValue());
+        });
+    }
+
+    /**
+     * Retrieves the active media session notification, or null if none exists.
+     * {@link NotificationManager#getActiveNotifications()} is only available from M.
+     */
+    @TargetApi(Build.VERSION_CODES.M)
+    private Notification getMediaSessionNotification() {
+        StatusBarNotification notifications[] =
+                ((NotificationManager) mActivity.getApplicationContext().getSystemService(
+                         Context.NOTIFICATION_SERVICE))
+                        .getActiveNotifications();
+        for (StatusBarNotification statusBarNotification : notifications) {
+            if (statusBarNotification.getId() == weblayer_media_session_notification) {
+                return statusBarNotification.getNotification();
+            }
+        }
+        return null;
+    }
+}
diff --git a/weblayer/browser/java/translations/weblayer_strings_as.xtb b/weblayer/browser/java/translations/weblayer_strings_as.xtb
index db63c41..dd8a366 100644
--- a/weblayer/browser/java/translations/weblayer_strings_as.xtb
+++ b/weblayer/browser/java/translations/weblayer_strings_as.xtb
@@ -1,5 +1,6 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="as">
+<translation id="3345071039229881713"><ph name="PUBLISHER_ORIGIN" /> – Googleএ ডেলিভাৰী কৰা</translation>
 <translation id="8298278839890148234">ৱেব ব্ৰাউজাৰৰ কার্যকলাপ</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/weblayer/browser/java/translations/weblayer_strings_eu.xtb b/weblayer/browser/java/translations/weblayer_strings_eu.xtb
index f99ee5e..eb7e1037 100644
--- a/weblayer/browser/java/translations/weblayer_strings_eu.xtb
+++ b/weblayer/browser/java/translations/weblayer_strings_eu.xtb
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="eu">
-<translation id="3345071039229881713">Jatorria: <ph name="PUBLISHER_ORIGIN" /> (Google-k erakutsita)</translation>
+<translation id="3345071039229881713"><ph name="PUBLISHER_ORIGIN" /> (Google-k ostatatua)</translation>
 <translation id="8298278839890148234">Sareko arakatze-jarduerak</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/weblayer/browser/java/translations/weblayer_strings_ne.xtb b/weblayer/browser/java/translations/weblayer_strings_ne.xtb
index 06ec47e4..07a9ef4 100644
--- a/weblayer/browser/java/translations/weblayer_strings_ne.xtb
+++ b/weblayer/browser/java/translations/weblayer_strings_ne.xtb
@@ -1,5 +1,6 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="ne">
+<translation id="3345071039229881713"><ph name="PUBLISHER_ORIGIN" /> – Google ले होस्ट गर्छ</translation>
 <translation id="8298278839890148234">ब्राउजर प्रयोग गरी गरिएको क्रियाकलाप</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/weblayer/test/data/media_session.html b/weblayer/test/data/media_session.html
new file mode 100644
index 0000000..c5df6e5
--- /dev/null
+++ b/weblayer/test/data/media_session.html
@@ -0,0 +1,13 @@
+<html>
+  <body>
+    <p></p>
+  </body>
+  <script>
+    let audio = document.createElement('audio');
+    function playAudio() {
+      audio.src = 'test_audio.ogg';
+      audio.play();
+    }
+    document.addEventListener('touchend', function(e) { playAudio(); }, false);
+  </script>
+</html>
diff --git a/weblayer/test/data/test_audio.ogg b/weblayer/test/data/test_audio.ogg
new file mode 100644
index 0000000..39c302aa
--- /dev/null
+++ b/weblayer/test/data/test_audio.ogg
Binary files differ